@ardium-ui/ui 3.3.0-alpha.1 → 3.3.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_internal/focusable-component.mjs +7 -5
- package/esm2022/lib/_internal/form-field-component.mjs +5 -3
- package/esm2022/lib/_internal/selectable-list-component.mjs +6 -6
- package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
- package/esm2022/lib/form-field/form-field.component.mjs +3 -4
- package/esm2022/lib/form-field/horizontal-form-field.component.mjs +3 -4
- package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +12 -7
- package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +14 -4
- package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +23 -11
- package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
- package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +3 -3
- package/esm2022/lib/inputs/input/input.component.mjs +3 -3
- package/esm2022/lib/inputs/number-input/number-input.component.mjs +3 -3
- package/esm2022/lib/inputs/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +3 -3
- package/esm2022/lib/segment/segment.component.mjs +3 -3
- package/esm2022/lib/select/select.component.mjs +3 -3
- package/fesm2022/ardium-ui-ui.mjs +81 -52
- package/fesm2022/ardium-ui-ui.mjs.map +1 -1
- package/lib/_internal/focusable-component.d.ts +2 -1
- package/lib/_internal/form-field-component.d.ts +2 -1
- package/lib/form-field/form-field.component.d.ts +0 -1
- package/lib/form-field/horizontal-form-field.component.d.ts +0 -1
- package/lib/form-field-frame/form-field-frame.component.d.ts +3 -2
- package/lib/inputs/digit-input/digit-input.component.d.ts +5 -2
- package/lib/inputs/digit-input/digit-input.utils.d.ts +1 -0
- package/package.json +1 -1
- package/prebuilt-themes/default/chips.css.map +1 -1
- package/prebuilt-themes/default/form-field-frame.css +10 -4
- package/prebuilt-themes/default/form-field-frame.css.map +1 -1
- package/prebuilt-themes/default/form-field.css +12 -0
- package/prebuilt-themes/default/form-field.css.map +1 -1
- package/prebuilt-themes/default/inputs/digit-input.css +9 -3
- package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/file-input.css +0 -5
- package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/input.css +0 -5
- package/prebuilt-themes/default/inputs/input.css.map +1 -1
- package/prebuilt-themes/default/inputs/number-input.css +6 -3
- package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/simple-input.css +0 -5
- package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
- package/prebuilt-themes/default/segment.css +6 -3
- package/prebuilt-themes/default/segment.css.map +1 -1
- package/themes/default/_mixins.scss +6 -4
- package/themes/default/form-field-frame.scss +5 -1
- package/themes/default/form-field.scss +13 -0
- package/themes/default/inputs/digit-input.scss +5 -0
- package/themes/default/inputs/file-input.scss +0 -6
- package/themes/default/inputs/input.scss +1 -7
- package/themes/default/inputs/simple-input.scss +1 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, Directive, input, output, ViewChildren } from '@angular/core';
|
|
1
|
+
import { computed, Directive, input, output, signal, ViewChildren } from '@angular/core';
|
|
2
2
|
import { coerceNumberProperty } from '@ardium-ui/devkit';
|
|
3
3
|
import { _DisablableComponentBase, _disablableComponentDefaults } from './disablable-component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -31,7 +31,8 @@ export class _FocusableComponentBase extends _DisablableComponentBase {
|
|
|
31
31
|
/**
|
|
32
32
|
* Whether the component is currently focused.
|
|
33
33
|
*/
|
|
34
|
-
this.isFocused = false;
|
|
34
|
+
this.isFocused = signal(false);
|
|
35
|
+
this.wasTouched = signal(false);
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* Focuses the correct element in the component.
|
|
@@ -62,7 +63,7 @@ export class _FocusableComponentBase extends _DisablableComponentBase {
|
|
|
62
63
|
* @param event The focus event to emit.
|
|
63
64
|
*/
|
|
64
65
|
onFocus(event) {
|
|
65
|
-
this.isFocused
|
|
66
|
+
this.isFocused.set(true);
|
|
66
67
|
this.focusEvent.emit(event);
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
@@ -70,7 +71,8 @@ export class _FocusableComponentBase extends _DisablableComponentBase {
|
|
|
70
71
|
* @param event The focus event to emit.
|
|
71
72
|
*/
|
|
72
73
|
onBlur(event) {
|
|
73
|
-
this.
|
|
74
|
+
this.wasTouched.set(true);
|
|
75
|
+
this.isFocused.set(false);
|
|
74
76
|
this.blurEvent.emit(event);
|
|
75
77
|
}
|
|
76
78
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FocusableComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -82,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
82
84
|
type: ViewChildren,
|
|
83
85
|
args: ['focusableElement']
|
|
84
86
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL2ZvY3VzYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBZ0MsTUFBTSx3QkFBd0IsQ0FBQzs7QUFLOUgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWdDO0lBQ3RFLEdBQUcsNEJBQTRCO0lBQy9CLFFBQVEsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQUdGLE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEsd0JBQXdCO0lBRDlFOztRQWlDRSxZQUFZO1FBQ1o7O1dBRUc7UUFDTSxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRSxjQUFTLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQy9ELEtBQUssRUFBRSxVQUFVO1lBQ2pCLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsVUFBVTtRQUNWOztXQUVHO1FBQ00sZUFBVSxHQUFHLE1BQU0sQ0FBYSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdEOztXQUVHO1FBQ00sY0FBUyxHQUFHLE1BQU0sQ0FBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTNELHdCQUF3QjtRQUN4Qjs7V0FFRztRQUNNLGNBQVMsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbkMsZUFBVSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztLQW1COUM7SUF0RUM7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUNEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBOEJEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBNUVtQix1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4QkFNUyxpQkFBaUI7c0JBRGpDLFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5wdXQsIG91dHB1dCwgUXVlcnlMaXN0LCBzaWduYWwsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgX0Rpc2FibGFibGVDb21wb25lbnRCYXNlLCBfZGlzYWJsYWJsZUNvbXBvbmVudERlZmF1bHRzLCBfRGlzYWJsYWJsZUNvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9kaXNhYmxhYmxlLWNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIF9Gb2N1c2FibGVDb21wb25lbnREZWZhdWx0cyBleHRlbmRzIF9EaXNhYmxhYmxlQ29tcG9uZW50RGVmYXVsdHMge1xyXG4gIHRhYkluZGV4OiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGNvbnN0IF9mb2N1c2FibGVDb21wb25lbnREZWZhdWx0czogX0ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzID0ge1xyXG4gIC4uLl9kaXNhYmxhYmxlQ29tcG9uZW50RGVmYXVsdHMsXHJcbiAgdGFiSW5kZXg6IDAsXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIGV4dGVuZHMgX0Rpc2FibGFibGVDb21wb25lbnRCYXNlIHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX0ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzO1xyXG5cclxuICAvLyEgbWFrZSB0aGUgY29tcG9uZW50IGZvY3VzYWJsZSBwcm9ncmFtbWF0aWNhbGx5XHJcbiAgQFZpZXdDaGlsZHJlbignZm9jdXNhYmxlRWxlbWVudCcpXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNhYmxlRWxlbWVudCE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvY3VzZXMgdGhlIGNvcnJlY3QgZWxlbWVudCBpbiB0aGUgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQ/LmZpcnN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZvY3VzZXMgdGhlIGZpcnN0IG9mIGFsbCBhdmFpbGFibGUgZWxlbWVudHMgaW4gdGhlIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBwdWJsaWMgZm9jdXNGaXJzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRm9jdXNlcyB0aGUgbGFzdCBvZiBhbGwgYXZhaWxhYmxlIGVsZW1lbnRzIGluIHRoZSBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgcHVibGljIGZvY3VzTGFzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQ/Lmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQmx1cnMgYWxsIGZvY3VzYWJsZSBlbGVtZW50cyBpbiB0aGUgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZm9jdXNhYmxlRWxlbWVudD8uZm9yRWFjaChlbCA9PiBlbC5uYXRpdmVFbGVtZW50LmJsdXIoKSk7XHJcbiAgfVxyXG5cclxuICAvLyEgdGFiaW5kZXhcclxuICAvKipcclxuICAgKiBUaGUgY29tcG9uZW50J3Mgb3ZlcmFsbCB0YWIgaW5kZXguIElmIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQsIGl0IGlzIGFsd2F5cyBgLTFgLiBDb2VyY2libGUgaW50byBhIG51bWJlciwgZGVmYXVsdHMgdG8gYDBgLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHRhYkluZGV4ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuZGlzYWJsZWQoKSA/IC0xIDogdGhpcy5fdGFiSW5kZXgoKSkpO1xyXG4gIHJlYWRvbmx5IF90YWJJbmRleCA9IGlucHV0PG51bWJlciwgYW55Pih0aGlzLl9ERUZBVUxUUy50YWJJbmRleCwge1xyXG4gICAgYWxpYXM6ICd0YWJJbmRleCcsXHJcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgMCksXHJcbiAgfSk7XHJcblxyXG4gIC8vISBldmVudHNcclxuICAvKipcclxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBmb2N1c2AgZXZlbnRzLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGZvY3VzRXZlbnQgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oeyBhbGlhczogJ2ZvY3VzJyB9KTtcclxuICAvKipcclxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBibHVyYCBldmVudHMuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYmx1ckV2ZW50ID0gb3V0cHV0PEZvY3VzRXZlbnQ+KHsgYWxpYXM6ICdibHVyJyB9KTtcclxuXHJcbiAgLy8hIGZvY3VzIGV2ZW50IGhhbmRsZXJzXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBmb2N1c2VkLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGlzRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIHJlYWRvbmx5IHdhc1RvdWNoZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgd2hlbiBhbiBlbGVtZW50IGlzIGZvY3VzZWQuIFNldHMgYGlzRm9jdXNlZGAgYW5kIGZpcmVzIHRoZSBgZm9jdXNgIGV2ZW50LlxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZm9jdXMgZXZlbnQgdG8gZW1pdC5cclxuICAgKi9cclxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLmZvY3VzRXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB3aGVuIGFuIGVsZW1lbnQgaXMgYmx1cnJlZC4gU2V0cyBgaXNGb2N1c2VkYCBhbmQgZmlyZXMgdGhlIGBibHVyYCBldmVudC5cclxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGZvY3VzIGV2ZW50IHRvIGVtaXQuXHJcbiAgICovXHJcbiAgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XHJcbiAgICB0aGlzLndhc1RvdWNoZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZhbHNlKTtcclxuICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -29,12 +29,14 @@ export class _FormFieldComponentBase extends _NgModelComponentBase {
|
|
|
29
29
|
alias: 'hasError',
|
|
30
30
|
});
|
|
31
31
|
this._hasErrorInControl = signal(false);
|
|
32
|
-
this.hasError = computed(() => this._hasError() ?? this._hasErrorInControl());
|
|
32
|
+
this.hasError = computed(() => this._hasError() ?? (this.wasTouched() && this._hasErrorInControl()));
|
|
33
|
+
this.isSuccess = input(false, { transform: v => coerceBooleanProperty(v) });
|
|
33
34
|
}
|
|
34
35
|
ngOnInit() {
|
|
35
36
|
this._ngControl = this._injector.get(NgControl, null);
|
|
36
37
|
if (this._ngControl) {
|
|
37
38
|
this._ngControl.valueAccessor = this;
|
|
39
|
+
this._hasErrorInControl.set(this._ngControl.status === 'INVALID');
|
|
38
40
|
this._statusChangesSub = this._ngControl.statusChanges
|
|
39
41
|
?.pipe(map(v => v === 'INVALID'))
|
|
40
42
|
.subscribe(v => this._hasErrorInControl.set(v));
|
|
@@ -47,9 +49,9 @@ export class _FormFieldComponentBase extends _NgModelComponentBase {
|
|
|
47
49
|
this._statusChangesSub?.unsubscribe();
|
|
48
50
|
}
|
|
49
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FormFieldComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: _FormFieldComponentBase, inputs: { _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, _hasError: { classPropertyName: "_hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: _FormFieldComponentBase, inputs: { _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, _hasError: { classPropertyName: "_hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, isSuccess: { classPropertyName: "isSuccess", publicName: "isSuccess", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
51
53
|
}
|
|
52
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FormFieldComponentBase, decorators: [{
|
|
53
55
|
type: Directive
|
|
54
56
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9mb3JtLWZpZWxkLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLElBQUksTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBNkIseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNbEgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWdDO0lBQ3RFLEdBQUcseUJBQXlCO0lBQzVCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRjs7OztHQUlHO0FBRUgsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSxxQkFBcUI7SUFEM0U7O1FBSXFCLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFnQnRDLGVBQVUsR0FBcUIsSUFBSSxDQUFDO1FBRXJDLGNBQVMsR0FBRyxLQUFLLENBQTJCLFNBQVMsRUFBRTtZQUM5RCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7WUFDeEMsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQyxDQUFDO1FBS00sV0FBTSxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVwQyxjQUFTLEdBQUcsS0FBSyxDQUEyQixTQUFTLEVBQUU7WUFDOUQsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLEtBQUssRUFBRSxVQUFVO1NBQ2xCLENBQUMsQ0FBQztRQUNjLHVCQUFrQixHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwRCxhQUFRLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekcsY0FBUyxHQUFHLEtBQUssQ0FBZSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7S0FLL0Y7SUFyQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUVyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBRWxFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7Z0JBQ3BELEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztpQkFDaEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBT0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQWFELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQzsrR0ExQ21CLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3RvciwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBtYXAsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUYWtlQ2hhbmNlIGFzIFJhbmRvbSB9IGZyb20gJ3Rha2UtY2hhbmNlJztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIF9Gb3JtRmllbGRDb21wb25lbnREZWZhdWx0cyBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMge1xyXG4gIHJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgX2Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzOiBfRm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMgPSB7XHJcbiAgLi4uX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyxcclxuICByZXF1aXJlZDogdW5kZWZpbmVkLFxyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbW1vbiBjb2RlIGZvciBjb21wb25lbnRzIHdoaWNoIGltcGxlbWVudCB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IuXHJcbiAqXHJcbiAqICoqV2FybmluZyoqOiBgd3JpdGVWYWx1ZWAgZnVuY3Rpb24gc2hvdWxkIGJlIGltcGxlbWVudGVkIG9uIHRoZSBjaGlsZCBjb21wb25lbnQhXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX0Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuXHJcbiAgcHJpdmF0ZSBfc3RhdHVzQ2hhbmdlc1N1Yj86IFN1YnNjcmlwdGlvbjtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nQ29udHJvbCA9IHRoaXMuX2luamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG5cclxuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5fbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG5cclxuICAgICAgdGhpcy5faGFzRXJyb3JJbkNvbnRyb2wuc2V0KHRoaXMuX25nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyk7XHJcblxyXG4gICAgICB0aGlzLl9zdGF0dXNDaGFuZ2VzU3ViID0gdGhpcy5fbmdDb250cm9sLnN0YXR1c0NoYW5nZXNcclxuICAgICAgICA/LnBpcGUobWFwKHYgPT4gdiA9PT0gJ0lOVkFMSUQnKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHYgPT4gdGhpcy5faGFzRXJyb3JJbkNvbnRyb2wuc2V0KHYpKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJvdGVjdGVkIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSBudWxsO1xyXG5cclxuICByZWFkb25seSBfcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBhbnk+KHVuZGVmaW5lZCwge1xyXG4gICAgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSxcclxuICAgIGFsaWFzOiAncmVxdWlyZWQnLFxyXG4gIH0pO1xyXG4gIGdldCByZXF1aXJlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZCgpID8/ICEhdGhpcy5fbmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgX2hhc0Vycm9yID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYW55Pih1bmRlZmluZWQsIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodiksXHJcbiAgICBhbGlhczogJ2hhc0Vycm9yJyxcclxuICB9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9oYXNFcnJvckluQ29udHJvbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVhZG9ubHkgaGFzRXJyb3IgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB0aGlzLl9oYXNFcnJvcigpID8/ICh0aGlzLndhc1RvdWNoZWQoKSAmJiB0aGlzLl9oYXNFcnJvckluQ29udHJvbCgpKSk7XHJcblxyXG4gIHJlYWRvbmx5IGlzU3VjY2VzcyA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdGF0dXNDaGFuZ2VzU3ViPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -200,7 +200,7 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
_toggleHighlightedItems(event) {
|
|
203
|
-
if (!this.isFocused)
|
|
203
|
+
if (!this.isFocused())
|
|
204
204
|
return;
|
|
205
205
|
event.preventDefault();
|
|
206
206
|
const highlightedItems = this.highlightedItems();
|
|
@@ -212,28 +212,28 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
_highlightPrevious(event) {
|
|
215
|
-
if (!this.isFocused)
|
|
215
|
+
if (!this.isFocused())
|
|
216
216
|
return;
|
|
217
217
|
event.preventDefault();
|
|
218
218
|
this.isMouseBeingUsed.set(false);
|
|
219
219
|
this.itemStorage.highlightNextItem(-1, event.shiftKey);
|
|
220
220
|
}
|
|
221
221
|
_highlightNext(event) {
|
|
222
|
-
if (!this.isFocused)
|
|
222
|
+
if (!this.isFocused())
|
|
223
223
|
return;
|
|
224
224
|
event.preventDefault();
|
|
225
225
|
this.isMouseBeingUsed.set(false);
|
|
226
226
|
this.itemStorage.highlightNextItem(+1, event.shiftKey);
|
|
227
227
|
}
|
|
228
228
|
_highlightFirst(event) {
|
|
229
|
-
if (!this.isFocused)
|
|
229
|
+
if (!this.isFocused())
|
|
230
230
|
return;
|
|
231
231
|
event.preventDefault();
|
|
232
232
|
this.isMouseBeingUsed.set(false);
|
|
233
233
|
this.itemStorage.highlightFirstItem();
|
|
234
234
|
}
|
|
235
235
|
_highlightLast(event) {
|
|
236
|
-
if (!this.isFocused)
|
|
236
|
+
if (!this.isFocused())
|
|
237
237
|
return;
|
|
238
238
|
event.preventDefault();
|
|
239
239
|
this.isMouseBeingUsed.set(false);
|
|
@@ -270,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
270
270
|
type: HostListener,
|
|
271
271
|
args: ['keydown', ['$event']]
|
|
272
272
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUE2Qix5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVlsSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBcUM7SUFDaEYsR0FBRyx5QkFBeUI7SUFDNUIsU0FBUyxFQUFFLE9BQU87SUFDbEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsWUFBWSxFQUFFLFVBQVU7SUFDeEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsY0FBYyxFQUFFLEtBQUs7SUFDckIsZ0JBQWdCLEVBQUUsU0FBUztDQUM1QixDQUFDO0FBR0YsTUFBTSxPQUFnQiw0QkFDcEIsU0FBUSxxQkFBcUI7SUFGL0I7O1FBT0Usb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7UUFFckIsYUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFLbEIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpELDBCQUEwQjtRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsY0FBUyxHQUFHLEtBQUssQ0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsS0FBSyxDQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFhbEYsbUJBQW1CO1FBQ1Ysb0JBQWUsR0FBRyxLQUFLLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFRcEgscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFFcEUsaUJBQWlCO1FBQ1IsaUJBQVksR0FBRyxLQUFLLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUcsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFPMUYsc0JBQXNCO1FBQ2IsbUJBQWMsR0FBRyxLQUFLLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEgscUJBQWdCLEdBQUcsS0FBSyxDQUF3QixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFO1lBQ3hGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7U0FDbkQsQ0FBQyxDQUFDO1FBYUgsaUNBQWlDO1FBQ3hCLFlBQU8sR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFvQjFDLHlCQUF5QjtRQUNSLHNCQUFpQixHQUFHLE1BQU0sQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFnQnpFLFdBQVc7UUFDRixxQkFBZ0IsR0FBRyxRQUFRLENBQW9CLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLHlCQUFvQixHQUFHLFFBQVEsQ0FBNEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRyx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFpQjNFLGdCQUFXLEdBQUcsTUFBTSxFQUFTLENBQUM7UUFFdkMsaUJBQWlCO1FBQ1IsZ0JBQVcsR0FBRyxNQUFNLENBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRCxhQUFRLEdBQUcsTUFBTSxDQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxNQUFNLENBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQThCMUQsb0JBQW9CO1FBRVgscUJBQWdCLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBdUdwRDtJQXZQQyx1QkFBdUI7SUFDdkIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBS0QsSUFFSSw2QkFBNkI7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQVNELElBQ0ksMEJBQTBCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFRRCwwQkFBMEI7SUFDMUIsMkVBQTJFO0lBQ2xFLGdCQUFnQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBS0QsSUFDSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ1MsVUFBVTtRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxPQUFPO1FBRTNCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUlRLE9BQU8sQ0FBQyxLQUFpQjtRQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUFFLE9BQU87UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNRLE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBT0QscUJBQXFCO0lBQ3JCLGdCQUFnQixDQUFDLElBQXFCO1FBQ3BDLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUk7WUFDSixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QjtJQUN4QixJQUNJLEtBQUssQ0FBQyxRQUFhO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUFFLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFRRCwyQkFBMkI7SUFDM0IsVUFBVSxDQUFDLElBQXFCO1FBQzlCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQUUsT0FBTztZQUVwQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQUcsS0FBd0I7UUFDcEMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBRXJFLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0QsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFHLEtBQXdCO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQU1ELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxNQUF1QixFQUFFLEtBQWlCO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBdUIsRUFBRSxLQUFpQjtRQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLE1BQXVCLEVBQUUsS0FBaUI7UUFDcEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHNCQUFzQjtJQUV0QixVQUFVLENBQUMsS0FBb0I7UUFDN0IsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxPQUFPO1lBQ1QsQ0FBQztZQUNELEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDckIsT0FBTztnQkFDVCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ08sdUJBQXVCLENBQUMsS0FBb0I7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVqRCxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFDTyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRTVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDTyxjQUFjLENBQUMsS0FBb0I7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ08sZUFBZSxDQUFDLEtBQW9CO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFDTyxjQUFjLENBQUMsS0FBb0I7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7K0dBN1FtQiw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzs4QkEwQkosS0FBSztzQkFEUixLQUFLO2dCQWVGLDZCQUE2QjtzQkFGaEMsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBYWhDLDBCQUEwQjtzQkFEN0IsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBMEJsQyxxQkFBcUI7c0JBRHhCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQW1ENUIsS0FBSztzQkFEUixLQUFLO2dCQTRDTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkF1QnpCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xuaW1wb3J0IHsgQXJkT3B0aW9uU2ltcGxlLCBDb21wYXJlV2l0aEZuLCBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZSwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcbiAgdmFsdWVGcm9tOiBzdHJpbmc7XG4gIGxhYmVsRnJvbTogc3RyaW5nO1xuICBkaXNhYmxlZEZyb206IHN0cmluZztcbiAgY29tcGFyZVdpdGg6IE51bGxhYmxlPENvbXBhcmVXaXRoRm4+O1xuICBtdWx0aXNlbGVjdGFibGU6IGJvb2xlYW47XG4gIHJlcXVpcmVWYWx1ZTogYm9vbGVhbjtcbiAgaW52ZXJ0RGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1heFNlbGVjdGVkSXRlbXM6IE51bGxhYmxlPG51bWJlcj47XG59XG5leHBvcnQgY29uc3QgX3NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHM6IF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzID0ge1xuICAuLi5fbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLFxuICB2YWx1ZUZyb206ICd2YWx1ZScsXG4gIGxhYmVsRnJvbTogJ2xhYmVsJyxcbiAgZGlzYWJsZWRGcm9tOiAnZGlzYWJsZWQnLFxuICBjb21wYXJlV2l0aDogdW5kZWZpbmVkLFxuICBtdWx0aXNlbGVjdGFibGU6IGZhbHNlLFxuICByZXF1aXJlVmFsdWU6IGZhbHNlLFxuICBpbnZlcnREaXNhYmxlZDogZmFsc2UsXG4gIG1heFNlbGVjdGVkSXRlbXM6IHVuZGVmaW5lZCxcbn07XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudEJhc2VcbiAgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0XG57XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnREZWZhdWx0cztcblxuICAvLyEgcHVibGljIGNvbnN0YW50c1xuICByZWFkb25seSBpdGVtU3RvcmFnZSA9IG5ldyBTaW1wbGVJdGVtU3RvcmFnZSh0aGlzKTtcbiAgcmVhZG9ubHkgaHRtbElkID0gUmFuZG9tLmlkKCk7XG4gIHJlYWRvbmx5IGVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB0aGlzLl9ERUZBVUxUUztcblxuICBhYnN0cmFjdCByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8hIGJpbmRpbmctcmVsYXRlZCBpbnB1dHNcbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy52YWx1ZUZyb20pO1xuICByZWFkb25seSBsYWJlbEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLmxhYmVsRnJvbSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMuZGlzYWJsZWRGcm9tKTtcbiAgcmVhZG9ubHkgY29tcGFyZVdpdGggPSBpbnB1dDxOdWxsYWJsZTxDb21wYXJlV2l0aEZuPj4odGhpcy5fREVGQVVMVFMuY29tcGFyZVdpdGgpO1xuXG4gIC8vISBpdGVtcyBzZXR0ZXIvZ2V0dGVyXG4gIEBJbnB1dCgpXG4gIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVN0b3JhZ2UuaXRlbXMoKTtcbiAgfVxuICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLnNldEl0ZW1zKHZhbHVlKTtcbiAgfVxuXG4gIC8vISBtdWx0aXNlbGVjdGFibGVcbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5tdWx0aXNlbGVjdGFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1tdWx0aXNlbGVjdCcpXG4gIGdldCBfbXVsdGlzZWxlY3RhYmxlSG9zdEF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdGFibGUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHNpbmdsZXNlbGVjdGFibGUgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XG5cbiAgLy8hIHJlcXVpcmUgdmFsdWVcbiAgcmVhZG9ubHkgcmVxdWlyZVZhbHVlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5yZXF1aXJlVmFsdWUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBpc1ZhbHVlUmVxdWlyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVWYWx1ZSgpIHx8ICF0aGlzLm11bHRpc2VsZWN0YWJsZSgpKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1yZXF1aXJlLXZhbHVlJylcbiAgZ2V0IF9yZXF1aXJlVmFsdWVIb3N0QXR0cmlidXRlKCkge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVWYWx1ZSgpO1xuICB9XG5cbiAgLy8hIGNvZXJjZWQgcHJvcGVydGllc1xuICByZWFkb25seSBpbnZlcnREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuaW52ZXJ0RGlzYWJsZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcbiAgcmVhZG9ubHkgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcywge1xuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB1bmRlZmluZWQpLFxuICB9KTtcblxuICAvLyEgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxuICAvL292ZXJyaWRlIHRoZSB3cml0ZVZhbHVlIGFuZCBzZXREaXNhYmxlZFN0YXRlIGRlZmluZWQgaW4gX05nTW9kZWxDb21wb25lbnRcbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHN0YXRlKTtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICB3cml0ZVZhbHVlKG5nTW9kZWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU3RvcmFnZS53cml0ZVZhbHVlKG5nTW9kZWwpO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8hIGNoYW5nZSAmIHRvdWNoIGV2ZW50IGVtaXR0ZXJzXG4gIHJlYWRvbmx5IHRvdWNoZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXJkLXRvdWNoZWQnKVxuICBnZXQgX3RvdWNoZWRIb3N0QXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvdWNoZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaXRlbVN0b3JhZ2UudmFsdWUoKTtcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvdWNoZWQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XG4gICAgdGhpcy50b3VjaGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8vISBmb2N1cyAmIGJsdXIgaGFuZGxlcnNcbiAgcHJpdmF0ZSByZWFkb25seSBsYXN0Qmx1clRpbWVzdGFtcCA9IHNpZ25hbDxOdWxsYWJsZTxudW1iZXI+Pih1bmRlZmluZWQpO1xuICBvdmVycmlkZSBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25Gb2N1cyhldmVudCk7XG5cbiAgICBjb25zdCBsYnQgPSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wKCk7XG4gICAgaWYgKHRoaXMudG91Y2hlZCgpIHx8ICFsYnQgfHwgbGJ0ICsgMSA8IERhdGUubm93KCkpIHJldHVybjtcbiAgICB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChudWxsKTtcblxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XG5cbiAgICBpZiAoIXRoaXMudG91Y2hlZCgpKSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChEYXRlLm5vdygpKTtcbiAgfVxuXG4gIC8vISBnZXR0ZXJzXG4gIHJlYWRvbmx5IGhpZ2hsaWdodGVkSXRlbXMgPSBjb21wdXRlZDxBcmRPcHRpb25TaW1wbGVbXT4oKCkgPT4gdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRlZEl0ZW1zKCkpO1xuICByZWFkb25seSBmaXJzdEhpZ2hsaWdodGVkSXRlbSA9IGNvbXB1dGVkPE51bGxhYmxlPEFyZE9wdGlvblNpbXBsZT4+KCgpID0+IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpPy5maXJzdCgpKTtcbiAgcmVhZG9ubHkgaXNJdGVtTGltaXRSZWFjaGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtU3RvcmFnZS5pc0l0ZW1MaW1pdFJlYWNoZWQoKSk7XG5cbiAgLy8hIGNvbnRleHQgcHJvdmlkZXJzXG4gIGdldE9wdGlvbkNvbnRleHQoaXRlbTogQXJkT3B0aW9uU2ltcGxlKTogT3B0aW9uQ29udGV4dDxBcmRPcHRpb25TaW1wbGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgICAgaXRlbSxcbiAgICAgIGl0ZW1EYXRhOiBpdGVtLml0ZW1EYXRhKCksXG4gICAgfTtcbiAgfVxuXG4gIC8vISB2YWx1ZSBpbnB1dCAmIG91dHB1dFxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShuZXdWYWx1ZSkpIG5ld1ZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eShuZXdWYWx1ZSk7XG4gICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxhbnlbXT4oKTtcblxuICAvLyEgb3V0cHV0IGV2ZW50c1xuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ2NoYW5nZScgfSk7XG4gIHJlYWRvbmx5IGFkZEV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAnYWRkJyB9KTtcbiAgcmVhZG9ubHkgcmVtb3ZlRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdyZW1vdmUnIH0pO1xuXG4gIC8vISBpdGVtIHNlbGVjdGlvbiBoYW5kbGVyc1xuICB0b2dnbGVJdGVtKGl0ZW06IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xuICAgIGlmIChpdGVtLnNlbGVjdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLnNpbmdsZXNlbGVjdGFibGUoKSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLnVuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RJdGVtKGl0ZW0pO1xuICB9XG4gIHNlbGVjdEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvblNpbXBsZVtdKTogdm9pZCB7XG4gICAgY29uc3QgW3NlbGVjdGVkLCB1bnNlbGVjdGVkXSA9IHRoaXMuaXRlbVN0b3JhZ2Uuc2VsZWN0SXRlbSguLi5pdGVtcyk7XG5cbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XG5cbiAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hZGRFdmVudC5lbWl0KHNlbGVjdGVkKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cbiAgdW5zZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25TaW1wbGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IHVuc2VsZWN0ZWQgPSB0aGlzLml0ZW1TdG9yYWdlLnVuc2VsZWN0SXRlbSguLi5pdGVtcyk7XG5cbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XG5cbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICAvLyEgaGlnaGxpZ2gtcmVsYXRlZFxuXG4gIHJlYWRvbmx5IGlzTW91c2VCZWluZ1VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnKVxuICBvbk1vdXNlTW92ZSgpIHtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KHRydWUpO1xuICB9XG4gIG9uSXRlbU1vdXNlRW50ZXIob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodFNpbmdsZUl0ZW0ob3B0aW9uKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBvbkl0ZW1Nb3VzZUxlYXZlKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc01vdXNlQmVpbmdVc2VkKSByZXR1cm47XG4gICAgdGhpcy5pdGVtU3RvcmFnZS51bmhpZ2hsaWdodEl0ZW0ob3B0aW9uKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8vISBjbGljayBoYW5kbGVyc1xuICBvbkl0ZW1DbGljayhvcHRpb246IEFyZE9wdGlvblNpbXBsZSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZUl0ZW0ob3B0aW9uKTtcbiAgfVxuXG4gIC8vISBrZXkgcHJlc3MgaGFuZGxlcnNcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICB0aGlzLl90b2dnbGVIaWdobGlnaHRlZEl0ZW1zKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0TmV4dChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdIb21lJzoge1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRGaXJzdChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0VuZCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0TGFzdChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0tleUEnOiB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgdGhpcy5faGlnaGxpZ2h0QWxsKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3RvZ2dsZUhpZ2hsaWdodGVkSXRlbXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRJdGVtcyA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpO1xuXG4gICAgaWYgKGhpZ2hsaWdodGVkSXRlbXMuZXZlcnkoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKSkge1xuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSguLi5oaWdobGlnaHRlZEl0ZW1zKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgtMSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodE5leHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgrMSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodEZpcnN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcblxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TGFzdChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodExhc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0QWxsSXRlbXMoKTtcbiAgfVxufVxuIl19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUE2Qix5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVlsSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBcUM7SUFDaEYsR0FBRyx5QkFBeUI7SUFDNUIsU0FBUyxFQUFFLE9BQU87SUFDbEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsWUFBWSxFQUFFLFVBQVU7SUFDeEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsY0FBYyxFQUFFLEtBQUs7SUFDckIsZ0JBQWdCLEVBQUUsU0FBUztDQUM1QixDQUFDO0FBR0YsTUFBTSxPQUFnQiw0QkFDcEIsU0FBUSxxQkFBcUI7SUFGL0I7O1FBT0Usb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsRUFB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QXVCO2dCQWFoQywwQkFBMEI7c0JBRDdCLFdBQVc7dUJBQUMseUJBQXlCO2dCQTBCbEMscUJBQXFCO3NCQUR4QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFtRDVCLEtBQUs7c0JBRFIsS0FBSztnQkE0Q04sV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVc7Z0JBdUJ6QixVQUFVO3NCQURULFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUFycmF5UHJvcGVydHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBUYWtlQ2hhbmNlIGFzIFJhbmRvbSB9IGZyb20gJ3Rha2UtY2hhbmNlJztcbmltcG9ydCB7IEFyZE9wdGlvblNpbXBsZSwgQ29tcGFyZVdpdGhGbiwgT3B0aW9uQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuaW1wb3J0IHsgU2ltcGxlSXRlbVN0b3JhZ2UsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCB9IGZyb20gJy4vaXRlbS1zdG9yYWdlcy9zaW1wbGUtaXRlbS1zdG9yYWdlJztcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSwgX05nTW9kZWxDb21wb25lbnREZWZhdWx0cywgX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyB9IGZyb20gJy4vbmdtb2RlbC1jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzIGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnREZWZhdWx0cyB7XG4gIHZhbHVlRnJvbTogc3RyaW5nO1xuICBsYWJlbEZyb206IHN0cmluZztcbiAgZGlzYWJsZWRGcm9tOiBzdHJpbmc7XG4gIGNvbXBhcmVXaXRoOiBOdWxsYWJsZTxDb21wYXJlV2l0aEZuPjtcbiAgbXVsdGlzZWxlY3RhYmxlOiBib29sZWFuO1xuICByZXF1aXJlVmFsdWU6IGJvb2xlYW47XG4gIGludmVydERpc2FibGVkOiBib29sZWFuO1xuICBtYXhTZWxlY3RlZEl0ZW1zOiBOdWxsYWJsZTxudW1iZXI+O1xufVxuZXhwb3J0IGNvbnN0IF9zZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzOiBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnREZWZhdWx0cyA9IHtcbiAgLi4uX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyxcbiAgdmFsdWVGcm9tOiAndmFsdWUnLFxuICBsYWJlbEZyb206ICdsYWJlbCcsXG4gIGRpc2FibGVkRnJvbTogJ2Rpc2FibGVkJyxcbiAgY29tcGFyZVdpdGg6IHVuZGVmaW5lZCxcbiAgbXVsdGlzZWxlY3RhYmxlOiBmYWxzZSxcbiAgcmVxdWlyZVZhbHVlOiBmYWxzZSxcbiAgaW52ZXJ0RGlzYWJsZWQ6IGZhbHNlLFxuICBtYXhTZWxlY3RlZEl0ZW1zOiB1bmRlZmluZWQsXG59O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlXG4gIGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdFxue1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHM7XG5cbiAgLy8hIHB1YmxpYyBjb25zdGFudHNcbiAgcmVhZG9ubHkgaXRlbVN0b3JhZ2UgPSBuZXcgU2ltcGxlSXRlbVN0b3JhZ2UodGhpcyk7XG4gIHJlYWRvbmx5IGh0bWxJZCA9IFJhbmRvbS5pZCgpO1xuICByZWFkb25seSBlbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHJlYWRvbmx5IERFRkFVTFRTID0gdGhpcy5fREVGQVVMVFM7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudElkOiBzdHJpbmc7XG4gIGFic3RyYWN0IHJlYWRvbmx5IF9jb21wb25lbnROYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8vISBiaW5kaW5nLXJlbGF0ZWQgaW5wdXRzXG4gIHJlYWRvbmx5IHZhbHVlRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMudmFsdWVGcm9tKTtcbiAgcmVhZG9ubHkgbGFiZWxGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5sYWJlbEZyb20pO1xuICByZWFkb25seSBkaXNhYmxlZEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLmRpc2FibGVkRnJvbSk7XG4gIHJlYWRvbmx5IGNvbXBhcmVXaXRoID0gaW5wdXQ8TnVsbGFibGU8Q29tcGFyZVdpdGhGbj4+KHRoaXMuX0RFRkFVTFRTLmNvbXBhcmVXaXRoKTtcblxuICAvLyEgaXRlbXMgc2V0dGVyL2dldHRlclxuICBASW5wdXQoKVxuICBnZXQgaXRlbXMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1TdG9yYWdlLml0ZW1zKCk7XG4gIH1cbiAgc2V0IGl0ZW1zKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZSA9IGNvZXJjZUFycmF5UHJvcGVydHkodmFsdWUpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5zZXRJdGVtcyh2YWx1ZSk7XG4gIH1cblxuICAvLyEgbXVsdGlzZWxlY3RhYmxlXG4gIHJlYWRvbmx5IG11bHRpc2VsZWN0YWJsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMubXVsdGlzZWxlY3RhYmxlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm11bHRpcGxlJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hcmQtbXVsdGlzZWxlY3QnKVxuICBnZXQgX211bHRpc2VsZWN0YWJsZUhvc3RBdHRyaWJ1dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlzZWxlY3RhYmxlKCk7XG4gIH1cblxuICByZWFkb25seSBzaW5nbGVzZWxlY3RhYmxlID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMubXVsdGlzZWxlY3RhYmxlKCkpO1xuXG4gIC8vISByZXF1aXJlIHZhbHVlXG4gIHJlYWRvbmx5IHJlcXVpcmVWYWx1ZSA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMucmVxdWlyZVZhbHVlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgcmVhZG9ubHkgaXNWYWx1ZVJlcXVpcmVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXF1aXJlVmFsdWUoKSB8fCAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hcmQtcmVxdWlyZS12YWx1ZScpXG4gIGdldCBfcmVxdWlyZVZhbHVlSG9zdEF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlVmFsdWUoKTtcbiAgfVxuXG4gIC8vISBjb2VyY2VkIHByb3BlcnRpZXNcbiAgcmVhZG9ubHkgaW52ZXJ0RGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmludmVydERpc2FibGVkLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG4gIHJlYWRvbmx5IG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxOdWxsYWJsZTxudW1iZXI+LCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1heFNlbGVjdGVkSXRlbXMsIHtcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdW5kZWZpbmVkKSxcbiAgfSk7XG5cbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgLy9vdmVycmlkZSB0aGUgd3JpdGVWYWx1ZSBhbmQgc2V0RGlzYWJsZWRTdGF0ZSBkZWZpbmVkIGluIF9OZ01vZGVsQ29tcG9uZW50XG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChzdGF0ZSk7XG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgd3JpdGVWYWx1ZShuZ01vZGVsOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVN0b3JhZ2Uud3JpdGVWYWx1ZShuZ01vZGVsKTtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vISBjaGFuZ2UgJiB0b3VjaCBldmVudCBlbWl0dGVyc1xuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC10b3VjaGVkJylcbiAgZ2V0IF90b3VjaGVkSG9zdEF0dHJpYnV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b3VjaGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLml0ZW1TdG9yYWdlLnZhbHVlKCk7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX29uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b3VjaGVkKCkpIHJldHVybjtcblxuICAgIHRoaXMuX29uVG91Y2hlZFJlZ2lzdGVyZWQ/LigpO1xuICAgIHRoaXMudG91Y2hlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICAvLyEgZm9jdXMgJiBibHVyIGhhbmRsZXJzXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFzdEJsdXJUaW1lc3RhbXAgPSBzaWduYWw8TnVsbGFibGU8bnVtYmVyPj4odW5kZWZpbmVkKTtcbiAgb3ZlcnJpZGUgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHN1cGVyLm9uRm9jdXMoZXZlbnQpO1xuXG4gICAgY29uc3QgbGJ0ID0gdGhpcy5sYXN0Qmx1clRpbWVzdGFtcCgpO1xuICAgIGlmICh0aGlzLnRvdWNoZWQoKSB8fCAhbGJ0IHx8IGxidCArIDEgPCBEYXRlLm5vdygpKSByZXR1cm47XG4gICAgdGhpcy5sYXN0Qmx1clRpbWVzdGFtcC5zZXQobnVsbCk7XG5cbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuICBvdmVycmlkZSBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLnRvdWNoZWQoKSkgdGhpcy5sYXN0Qmx1clRpbWVzdGFtcC5zZXQoRGF0ZS5ub3coKSk7XG4gIH1cblxuICAvLyEgZ2V0dGVyc1xuICByZWFkb25seSBoaWdobGlnaHRlZEl0ZW1zID0gY29tcHV0ZWQ8QXJkT3B0aW9uU2ltcGxlW10+KCgpID0+IHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0ZWRJdGVtcygpKTtcbiAgcmVhZG9ubHkgZmlyc3RIaWdobGlnaHRlZEl0ZW0gPSBjb21wdXRlZDxOdWxsYWJsZTxBcmRPcHRpb25TaW1wbGU+PigoKSA9PiB0aGlzLmhpZ2hsaWdodGVkSXRlbXMoKT8uZmlyc3QoKSk7XG4gIHJlYWRvbmx5IGlzSXRlbUxpbWl0UmVhY2hlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbVN0b3JhZ2UuaXNJdGVtTGltaXRSZWFjaGVkKCkpO1xuXG4gIC8vISBjb250ZXh0IHByb3ZpZGVyc1xuICBnZXRPcHRpb25Db250ZXh0KGl0ZW06IEFyZE9wdGlvblNpbXBsZSk6IE9wdGlvbkNvbnRleHQ8QXJkT3B0aW9uU2ltcGxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogaXRlbSxcbiAgICAgIGl0ZW0sXG4gICAgICBpdGVtRGF0YTogaXRlbS5pdGVtRGF0YSgpLFxuICAgIH07XG4gIH1cblxuICAvLyEgdmFsdWUgaW5wdXQgJiBvdXRwdXRcbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSBuZXdWYWx1ZSA9IGNvZXJjZUFycmF5UHJvcGVydHkobmV3VmFsdWUpO1xuICAgIHRoaXMud3JpdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55W10+KCk7XG5cbiAgLy8hIG91dHB1dCBldmVudHNcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuICByZWFkb25seSBhZGRFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ2FkZCcgfSk7XG4gIHJlYWRvbmx5IHJlbW92ZUV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAncmVtb3ZlJyB9KTtcblxuICAvLyEgaXRlbSBzZWxlY3Rpb24gaGFuZGxlcnNcbiAgdG9nZ2xlSXRlbShpdGVtOiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5zZWxlY3RlZCgpKSB7XG4gICAgICBpZiAodGhpcy5zaW5nbGVzZWxlY3RhYmxlKCkpIHJldHVybjtcblxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oaXRlbSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0SXRlbShpdGVtKTtcbiAgfVxuICBzZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25TaW1wbGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgdW5zZWxlY3RlZF0gPSB0aGlzLml0ZW1TdG9yYWdlLnNlbGVjdEl0ZW0oLi4uaXRlbXMpO1xuXG4gICAgaWYgKHVuc2VsZWN0ZWQubGVuZ3RoID4gMCkgdGhpcy5yZW1vdmVFdmVudC5lbWl0KHVuc2VsZWN0ZWQpO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWRkRXZlbnQuZW1pdChzZWxlY3RlZCk7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIHVuc2VsZWN0SXRlbSguLi5pdGVtczogQXJkT3B0aW9uU2ltcGxlW10pOiB2b2lkIHtcbiAgICBjb25zdCB1bnNlbGVjdGVkID0gdGhpcy5pdGVtU3RvcmFnZS51bnNlbGVjdEl0ZW0oLi4uaXRlbXMpO1xuXG4gICAgaWYgKHVuc2VsZWN0ZWQubGVuZ3RoID4gMCkgdGhpcy5yZW1vdmVFdmVudC5lbWl0KHVuc2VsZWN0ZWQpO1xuXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgLy8hIGhpZ2hsaWdoLXJlbGF0ZWRcblxuICByZWFkb25seSBpc01vdXNlQmVpbmdVc2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJylcbiAgb25Nb3VzZU1vdmUoKSB7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldCh0cnVlKTtcbiAgfVxuICBvbkl0ZW1Nb3VzZUVudGVyKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc01vdXNlQmVpbmdVc2VkKSByZXR1cm47XG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRTaW5nbGVJdGVtKG9wdGlvbik7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgb25JdGVtTW91c2VMZWF2ZShvcHRpb246IEFyZE9wdGlvblNpbXBsZSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xuICAgIHRoaXMuaXRlbVN0b3JhZ2UudW5oaWdobGlnaHRJdGVtKG9wdGlvbik7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICAvLyEgY2xpY2sgaGFuZGxlcnNcbiAgb25JdGVtQ2xpY2sob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50b2dnbGVJdGVtKG9wdGlvbik7XG4gIH1cblxuICAvLyEga2V5IHByZXNzIGhhbmRsZXJzXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICBjYXNlICdTcGFjZSc6XG4gICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlSGlnaGxpZ2h0ZWRJdGVtcyhldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOiB7XG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodE5leHQoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOiB7XG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodFByZXZpb3VzKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnSG9tZSc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0Rmlyc3QoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdFbmQnOiB7XG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodExhc3QoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdLZXlBJzoge1xuICAgICAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodEFsbCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcml2YXRlIF90b2dnbGVIaWdobGlnaHRlZEl0ZW1zKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCgpKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRJdGVtcyA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpO1xuXG4gICAgaWYgKGhpZ2hsaWdodGVkSXRlbXMuZXZlcnkoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKSkge1xuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSguLi5oaWdobGlnaHRlZEl0ZW1zKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKCkpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodE5leHRJdGVtKC0xLCBldmVudC5zaGlmdEtleSk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TmV4dChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQoKSkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcblxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oKzEsIGV2ZW50LnNoaWZ0S2V5KTtcbiAgfVxuICBwcml2YXRlIF9oaWdobGlnaHRGaXJzdChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQoKSkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcblxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TGFzdChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQoKSkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcblxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0TGFzdEl0ZW0oKTtcbiAgfVxuICBwcml2YXRlIF9oaWdobGlnaHRBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRBbGxJdGVtcygpO1xuICB9XG59XG4iXX0=
|
|
@@ -81,7 +81,7 @@ export class ArdiumFileInputComponent extends _FileInputComponentBase {
|
|
|
81
81
|
useExisting: forwardRef(() => ArdiumFileInputComponent),
|
|
82
82
|
multi: true,
|
|
83
83
|
},
|
|
84
|
-
], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
84
|
+
], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused()\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
85
85
|
}
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFileInputComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
@@ -91,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
91
91
|
useExisting: forwardRef(() => ArdiumFileInputComponent),
|
|
92
92
|
multi: true,
|
|
93
93
|
},
|
|
94
|
-
], template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
|
|
94
|
+
], template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused()\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
|
|
95
95
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
96
96
|
type: Inject,
|
|
97
97
|
args: [ARD_FILE_INPUT_DEFAULTS]
|
|
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
122
122
|
read: TemplateRef,
|
|
123
123
|
}]
|
|
124
124
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN4QyxtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsK0NBQStDLEdBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUVuRSxZQUE2QyxRQUE4QjtRQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ2QsK0NBQStDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFB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LElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFLRCxnQkFBZ0I7c0JBSGYsWUFBWTt1QkFBQywrQ0FBK0MsRUFBRTt3QkFDN0QsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgQXJkRmlsZUlucHV0RGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuZGVmYXVsdHMnO1xuaW1wb3J0IHtcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkRmlsZUlucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTEnO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHRoaXMuX0RFRkFVTFRTLmlucHV0QXR0cnMpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHBsYWNlaG9sZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wbGFjZWhvbGRlcigpKSAmJiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8vISBjbGVhciBidXR0b25cbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jbGVhcmFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcblxuICBnZXQgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgfVxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgLy8hIGNsZWFyIGZ1bmN0aW9uXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGVhcmFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgY2xlYXJFdmVudCA9IG91dHB1dCh7IGFsaWFzOiAnY2xlYXInIH0pO1xuXG4gIC8vISBzdGF0ZVxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8hIHRlbXBsYXRlc1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgaWRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRCcm93c2VDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIGRyYWdvdmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0SWRsZUNvbnRleHQoKTogRmlsZUlucHV0QnJvd3NlQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IHRoaXMuX2RyYWdnZWRGaWxlcyEsXG4gICAgfTtcbiAgfVxuICBnZXRVcGxvYWRlZENvbnRleHQoKTogRmlsZUlucHV0RmlsZXNDb250ZXh0IHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGZpbGVzLFxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICBmaWxlcyxcbiAgICB9O1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICBbcHJlZml4VGVtcGxhdGVdPVwicHJlZml4VGVtcGxhdGVcIlxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGVcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnb3ZlcigkZXZlbnQpXCJcbiAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdsZWF2ZSgpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dFwiXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdmFsdWVcIj5cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdpZGxlJykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWRsZVRlbXBsYXRlID8/IGRlZmF1bHRJZGxlVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldElkbGVDb250ZXh0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdkcmFnb3ZlcicpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdvdmVyVGVtcGxhdGUgPz8gZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldERyYWdvdmVyQ29udGV4dCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAndXBsb2FkZWQnKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRVcGxvYWRlZENvbnRleHQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbikge1xuICAgICAgPGFyZC1jbGVhci1idXR0b25cbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgW3RpdGxlXT1cImNsZWFyQnV0dG9uVGl0bGUoKVwiXG4gICAgICAgIChtb3VzZXVwKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBpZiAoIXNob3VsZEJlQmxvY2tlZCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhcmQtYnJvd3NlLWJ1dHRvblwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuQnJvd3NlRGlhbG9nKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgPGFyZC1pY29uPmZvbGRlcjwvYXJkLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cblxuPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faW5wdXRcIlxuICB0eXBlPVwiZmlsZVwiXG4gIFtuYW1lXT1cIm5hbWUoKVwiXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcbiAgW2F0dHIuaWRdPVwiaHRtbElkKClcIlxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4vPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRJZGxlVGVtcGxhdGVcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2lkbGVcIj5cbiAgICBAaWYgKG11bHRpcGxlKCkpIHtcbiAgICAgIDxzcGFuPlVwbG9hZCBhIGZpbGU8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3Bhbj5VcGxvYWQgZmlsZXM8L3NwYW4+XG4gICAgfVxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHREcmFnb3ZlclRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+RHJvcCA8L3NwYW4+XG4gIEBpZiAobXVsdGlwbGUoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLWFtb3VudFwiPlxuICAgICAge3sgYW1vdW50IH19XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgfSBAZWxzZSB7XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+IGEgZmlsZSA8L3NwYW4+XG4gIH1cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItdGV4dFwiPiBoZXJlIHRvIHVwbG9hZCA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtYW1vdW50XCI+XG4gICAgICB7eyBhbW91bnQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkLXRleHRcIj4gdXBsb2FkZWQuPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN4QyxtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsK0NBQStDLEdBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUVuRSxZQUE2QyxRQUE4QjtRQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ2QsK0NBQStDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFB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LElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFLRCxnQkFBZ0I7c0JBSGYsWUFBWTt1QkFBQywrQ0FBK0MsRUFBRTt3QkFDN0QsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgQXJkRmlsZUlucHV0RGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuZGVmYXVsdHMnO1xuaW1wb3J0IHtcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkRmlsZUlucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTEnO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHRoaXMuX0RFRkFVTFRTLmlucHV0QXR0cnMpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHBsYWNlaG9sZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wbGFjZWhvbGRlcigpKSAmJiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8vISBjbGVhciBidXR0b25cbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jbGVhcmFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcblxuICBnZXQgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgfVxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgLy8hIGNsZWFyIGZ1bmN0aW9uXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGVhcmFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgY2xlYXJFdmVudCA9IG91dHB1dCh7IGFsaWFzOiAnY2xlYXInIH0pO1xuXG4gIC8vISBzdGF0ZVxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8hIHRlbXBsYXRlc1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgaWRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRCcm93c2VDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIGRyYWdvdmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0SWRsZUNvbnRleHQoKTogRmlsZUlucHV0QnJvd3NlQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IHRoaXMuX2RyYWdnZWRGaWxlcyEsXG4gICAgfTtcbiAgfVxuICBnZXRVcGxvYWRlZENvbnRleHQoKTogRmlsZUlucHV0RmlsZXNDb250ZXh0IHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGZpbGVzLFxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICBmaWxlcyxcbiAgICB9O1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWQoKVwiXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZVwiXG4gIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZVwiXG4gIChkcmFnb3Zlcik9XCJvbkRyYWdvdmVyKCRldmVudClcIlxuICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ2xlYXZlKClcIlxuICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gIChhcmRDbGlja091dHNpZGUpPVwib25EcmFnbGVhdmUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFyZC1maWxlLWlucHV0XCJcbiAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgQGlmIChzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwbGFjZWhvbGRlclRlbXBsYXRlIHx8IGRlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlXCIgLz5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWlucHV0X192YWx1ZVwiPlxuICAgICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2lkbGUnKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpZGxlVGVtcGxhdGUgPz8gZGVmYXVsdElkbGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0SWRsZUNvbnRleHQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ292ZXJUZW1wbGF0ZSA/PyBkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0RHJhZ292ZXJDb250ZXh0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICd1cGxvYWRlZCcpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZGVkVGVtcGxhdGUgPz8gZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFVwbG9hZGVkQ29udGV4dCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKSB7XG4gICAgICA8YXJkLWNsZWFyLWJ1dHRvblxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcbiAgICAgICAgKG1vdXNldXApPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGlmICghc2hvdWxkQmVCbG9ja2VkKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImFyZC1icm93c2UtYnV0dG9uXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Ccm93c2VEaWFsb2coKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxuICAgICAgICA8YXJkLWljb24+Zm9sZGVyPC9hcmQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPlxuXG48aW5wdXRcbiAgI2ZpbGVJbnB1dFxuICBjbGFzcz1cImFyZC1maWxlLWlucHV0X19pbnB1dFwiXG4gIHR5cGU9XCJmaWxlXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlKClcIlxuICBbYXR0ci5pZF09XCJodG1sSWQoKVwiXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdElkbGVUZW1wbGF0ZVxuICBsZXQtYnJvd3NlPVwiYnJvd3NlXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faWRsZVwiPlxuICAgIEBpZiAobXVsdGlwbGUoKSkge1xuICAgICAgPHNwYW4+VXBsb2FkIGEgZmlsZTwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxzcGFuPlVwbG9hZCBmaWxlczwvc3Bhbj5cbiAgICB9XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLXRleHRcIj5Ecm9wIDwvc3Bhbj5cbiAgQGlmIChtdWx0aXBsZSgpKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+XG4gICAgICB7eyBhbW91bnQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci1hbW91bnRcIj4gYSBmaWxlIDwvc3Bhbj5cbiAgfVxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+IGhlcmUgdG8gdXBsb2FkIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X191cGxvYWRlZC1hbW91bnRcIj5cbiAgICAgIHt7IGFtb3VudCB9fVxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdQbHVyYWxdPVwiYW1vdW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCI9MVwiPmZpbGU8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwib3RoZXJcIj5maWxlczwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtdGV4dFwiPiB1cGxvYWRlZC48L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -12,7 +12,6 @@ export class ArdiumFormFieldComponent {
|
|
|
12
12
|
this._DEFAULTS = inject(ARD_FORM_FIELD_DEFAULTS);
|
|
13
13
|
this.alignHintToLeftByDefault = this._DEFAULTS.defaultHintAlign === SimpleOneAxisAlignment.Left;
|
|
14
14
|
this.control = contentChild(_FormFieldComponentBase);
|
|
15
|
-
this.controlId = computed(() => this.control()?.htmlId());
|
|
16
15
|
this.label = contentChild(ArdiumLabelComponent);
|
|
17
16
|
this.hints = contentChildren(ArdiumHintDirective);
|
|
18
17
|
this.errors = contentChildren(ArdiumErrorDirective);
|
|
@@ -25,10 +24,10 @@ export class ArdiumFormFieldComponent {
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumFormFieldComponent, selector: "ard-form-field", inputs: { reserveHintLine: { classPropertyName: "reserveHintLine", publicName: "reserveHintLine", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "control", first: true, predicate: _FormFieldComponentBase, descendants: true, isSignal: true }, { propertyName: "label", first: true, predicate: ArdiumLabelComponent, descendants: true, isSignal: true }, { propertyName: "hints", predicate: ArdiumHintDirective, isSignal: true }, { propertyName: "errors", predicate: ArdiumErrorDirective, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n>\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumFormFieldComponent, selector: "ard-form-field", inputs: { reserveHintLine: { classPropertyName: "reserveHintLine", publicName: "reserveHintLine", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "control", first: true, predicate: _FormFieldComponentBase, descendants: true, isSignal: true }, { propertyName: "label", first: true, predicate: ArdiumLabelComponent, descendants: true, isSignal: true }, { propertyName: "hints", predicate: ArdiumHintDirective, isSignal: true }, { propertyName: "errors", predicate: ArdiumErrorDirective, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n [class.ard-form-field__is-success]=\"control()?.isSuccess()\"\r\n [class.ard-form-field__control-disabled]=\"control()?.disabled()\"\r\n>\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"control()?.htmlId()\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__error\">\r\n <ng-content select=\"ard-error, [ard-error]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.ard-form-field__hints{display:flex;justify-content:space-between}.ard-form-field__hints>*{display:flex;flex-direction:column}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
29
28
|
}
|
|
30
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFormFieldComponent, decorators: [{
|
|
31
30
|
type: Component,
|
|
32
|
-
args: [{ selector: 'ard-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n>\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"
|
|
31
|
+
args: [{ selector: 'ard-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n [class.ard-form-field__is-success]=\"control()?.isSuccess()\"\r\n [class.ard-form-field__control-disabled]=\"control()?.disabled()\"\r\n>\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"control()?.htmlId()\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__error\">\r\n <ng-content select=\"ard-error, [ard-error]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.ard-form-field__hints{display:flex;justify-content:space-between}.ard-form-field__hints>*{display:flex;flex-direction:column}\n"] }]
|
|
33
32
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFxQixjQUFTLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFL0MsNkJBQXdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFFbEcsWUFBTyxHQUFHLFlBQVksQ0FBMEIsdUJBQXVCLENBQUMsQ0FBQztRQUV6RSxVQUFLLEdBQUcsWUFBWSxDQUF1QixvQkFBb0IsQ0FBQyxDQUFDO1FBRWpFLFVBQUssR0FBRyxlQUFlLENBQXNCLG1CQUFtQixDQUFDLENBQUM7UUFDbEUsV0FBTSxHQUFHLGVBQWUsQ0FBdUIsb0JBQW9CLENBQUMsQ0FBQztRQUNyRSxnQkFBVyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLG9CQUFlLEdBQUcsS0FBSyxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBUzlIO0lBUEMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNiLDZHQUE2RyxDQUM5RyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBcEJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZQQUtzQix1QkFBdUIsd0ZBRTVCLG9CQUFvQiwyRUFFbEIsbUJBQW1CLHlEQUNqQixvQkFBb0IsNkNDcEM5RSxvK0NBd0NBOzs0RkRkYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgY29udGVudENoaWxkcmVuLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpbXBsZU9uZUF4aXNBbGlnbm1lbnQgfSBmcm9tICcuLy4uL3R5cGVzL2FsaWdubWVudC50eXBlcyc7XHJcbmltcG9ydCB7IEFyZGl1bUVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9lcnJvci9lcnJvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBUkRfRk9STV9GSUVMRF9ERUZBVUxUUyB9IGZyb20gJy4vZm9ybS1maWVsZC5kZWZhdWx0cyc7XHJcbmltcG9ydCB7IEFyZGl1bUhpbnREaXJlY3RpdmUgfSBmcm9tICcuL2hpbnQvaGludC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBcmRpdW1MYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbGFiZWwvbGFiZWwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWZvcm0tZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9ERUZBVUxUUyA9IGluamVjdChBUkRfRk9STV9GSUVMRF9ERUZBVUxUUyk7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBhbGlnbkhpbnRUb0xlZnRCeURlZmF1bHQgPSB0aGlzLl9ERUZBVUxUUy5kZWZhdWx0SGludEFsaWduID09PSBTaW1wbGVPbmVBeGlzQWxpZ25tZW50LkxlZnQ7XHJcblxyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBjb250ZW50Q2hpbGQ8X0Zvcm1GaWVsZENvbXBvbmVudEJhc2U+KF9Gb3JtRmllbGRDb21wb25lbnRCYXNlKTtcclxuXHJcbiAgcmVhZG9ubHkgbGFiZWwgPSBjb250ZW50Q2hpbGQ8QXJkaXVtTGFiZWxDb21wb25lbnQ+KEFyZGl1bUxhYmVsQ29tcG9uZW50KTtcclxuXHJcbiAgcmVhZG9ubHkgaGludHMgPSBjb250ZW50Q2hpbGRyZW48QXJkaXVtSGludERpcmVjdGl2ZT4oQXJkaXVtSGludERpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZXJyb3JzID0gY29udGVudENoaWxkcmVuPEFyZGl1bUVycm9yRGlyZWN0aXZlPihBcmRpdW1FcnJvckRpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgaGFzQW55RXJyb3IgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB0aGlzLmVycm9ycygpPy5sZW5ndGggPiAwKTtcclxuICByZWFkb25seSByZXNlcnZlSGludExpbmUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLnJlc2VydmVIaW50TGluZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKCkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBBUkQtRlQ1MTEwOiBGb3JtIGZpZWxkIGNvbXBvbmVudCByZXF1aXJlcyBhbnkgY29udHJvbCAoaW5wdXQpIHRvIGJlIHByZXNlbnQgd2l0aGluIHRoZSBlbGVtZW50LiBGb3VuZCBub25lLmBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiYXJkLWZvcm0tZmllbGRcIlxyXG4gIFtjbGFzcy5hcmQtZm9ybS1maWVsZF9fd2l0aC1lcnJvcl09XCJjb250cm9sKCk/Lmhhc0Vycm9yKClcIlxyXG4gIFtjbGFzcy5hcmQtZm9ybS1maWVsZF9faXMtc3VjY2Vzc109XCJjb250cm9sKCk/LmlzU3VjY2VzcygpXCJcclxuICBbY2xhc3MuYXJkLWZvcm0tZmllbGRfX2NvbnRyb2wtZGlzYWJsZWRdPVwiY29udHJvbCgpPy5kaXNhYmxlZCgpXCJcclxuPlxyXG4gIDxsYWJlbFxyXG4gICAgY2xhc3M9XCJhcmQtbGFiZWxcIlxyXG4gICAgW2F0dHIuZm9yXT1cImNvbnRyb2woKT8uaHRtbElkKClcIlxyXG4gID5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFyZC1sYWJlbCwgW2FyZC1sYWJlbF1cIiAvPlxyXG4gIDwvbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cImFyZC1mb3JtLWZpZWxkX19pbnB1dFwiPlxyXG4gICAgPG5nLWNvbnRlbnQgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImFyZC1mb3JtLWZpZWxkX19oaW50c1wiXHJcbiAgICBbY2xhc3MuYXJkLWZvcm0tZmllbGRfX3Jlc2VydmUtaGludC1saW5lXT1cInJlc2VydmVIaW50TGluZSgpXCJcclxuICAgIFtjbGFzcy5hcmQtZm9ybS1maWVsZF9faGludHMtZGVmYXVsdC1sZWZ0XT1cImFsaWduSGludFRvTGVmdEJ5RGVmYXVsdFwiXHJcbiAgPlxyXG4gICAgQGlmIChoYXNBbnlFcnJvcigpKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2Vycm9yXCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFyZC1lcnJvciwgW2FyZC1lcnJvcl1cIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9faGludHMtbGVmdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2RlZmF1bHQtaGludFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFyZC1oaW50Om5vdChbbGVmdF0pOm5vdChbcmlnaHRdKSwgW2FyZC1oaW50XTpub3QoW2xlZnRdKTpub3QoW3JpZ2h0XSlcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXJkLWhpbnRbbGVmdF0sIFthcmQtaGludF1bbGVmdF1cIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2hpbnRzLXJpZ2h0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9fZGVmYXVsdC1oaW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXJkLWhpbnQ6bm90KFtsZWZ0XSk6bm90KFtyaWdodF0pLCBbYXJkLWhpbnRdOm5vdChbbGVmdF0pOm5vdChbcmlnaHRdKVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhcmQtaGludFtyaWdodF0sIFthcmQtaGludF1bcmlnaHRdXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -12,7 +12,6 @@ export class ArdiumHorizontalFormFieldComponent {
|
|
|
12
12
|
this._DEFAULTS = inject(ARD_FORM_FIELD_DEFAULTS);
|
|
13
13
|
this.alignHintToLeftByDefault = this._DEFAULTS.defaultHintAlign === SimpleOneAxisAlignment.Left;
|
|
14
14
|
this.control = contentChild(_FormFieldComponentBase);
|
|
15
|
-
this.controlId = computed(() => this.control()?.htmlId());
|
|
16
15
|
this.label = contentChild(ArdiumLabelComponent);
|
|
17
16
|
this.hints = contentChildren(ArdiumHintDirective);
|
|
18
17
|
this.errors = contentChildren(ArdiumErrorDirective);
|
|
@@ -25,10 +24,10 @@ export class ArdiumHorizontalFormFieldComponent {
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumHorizontalFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumHorizontalFormFieldComponent, selector: "ard-horizontal-form-field", inputs: { reserveHintLine: { classPropertyName: "reserveHintLine", publicName: "reserveHintLine", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "control", first: true, predicate: _FormFieldComponentBase, descendants: true, isSignal: true }, { propertyName: "label", first: true, predicate: ArdiumLabelComponent, descendants: true, isSignal: true }, { propertyName: "hints", predicate: ArdiumHintDirective, isSignal: true }, { propertyName: "errors", predicate: ArdiumErrorDirective, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumHorizontalFormFieldComponent, selector: "ard-horizontal-form-field", inputs: { reserveHintLine: { classPropertyName: "reserveHintLine", publicName: "reserveHintLine", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "control", first: true, predicate: _FormFieldComponentBase, descendants: true, isSignal: true }, { propertyName: "label", first: true, predicate: ArdiumLabelComponent, descendants: true, isSignal: true }, { propertyName: "hints", predicate: ArdiumHintDirective, isSignal: true }, { propertyName: "errors", predicate: ArdiumErrorDirective, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n [class.ard-form-field__is-success]=\"control()?.isSuccess()\"\r\n [class.ard-form-field__control-disabled]=\"control()?.disabled()\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"control()?.htmlId()\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__error\">\r\n <ng-content select=\"ard-error, [ard-error]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints{display:flex;justify-content:space-between}.ard-form-field__hints>*{display:flex;flex-direction:column}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
29
28
|
}
|
|
30
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumHorizontalFormFieldComponent, decorators: [{
|
|
31
30
|
type: Component,
|
|
32
|
-
args: [{ selector: 'ard-horizontal-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"
|
|
31
|
+
args: [{ selector: 'ard-horizontal-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"control()?.hasError()\"\r\n [class.ard-form-field__is-success]=\"control()?.isSuccess()\"\r\n [class.ard-form-field__control-disabled]=\"control()?.disabled()\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-label\"\r\n [attr.for]=\"control()?.htmlId()\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__error\">\r\n <ng-content select=\"ard-error, [ard-error]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n </div>\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints{display:flex;justify-content:space-between}.ard-form-field__hints>*{display:flex;flex-direction:column}\n"] }]
|
|
33
32
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZm9ybS1maWVsZC9ob3Jpem9udGFsLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9mb3JtLWZpZWxkL2hvcml6b250YWwtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLGtDQUFrQztJQVAvQztRQVFxQixjQUFTLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFL0MsNkJBQXdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFFbEcsWUFBTyxHQUFHLFlBQVksQ0FBMEIsdUJBQXVCLENBQUMsQ0FBQztRQUV6RSxVQUFLLEdBQUcsWUFBWSxDQUF1QixvQkFBb0IsQ0FBQyxDQUFDO1FBRWpFLFVBQUssR0FBRyxlQUFlLENBQXNCLG1CQUFtQixDQUFDLENBQUM7UUFDbEUsV0FBTSxHQUFHLGVBQWUsQ0FBdUIsb0JBQW9CLENBQUMsQ0FBQztRQUNyRSxnQkFBVyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLG9CQUFlLEdBQUcsS0FBSyxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBUzlIO0lBUEMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNiLDZHQUE2RyxDQUM5RyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBcEJVLGtDQUFrQzttR0FBbEMsa0NBQWtDLHdRQUtZLHVCQUF1Qix3RkFFNUIsb0JBQW9CLDJFQUVsQixtQkFBbUIseURBQ2pCLG9CQUFvQiw2Q0NwQzlFLDZxREE0Q0E7OzRGRGxCYSxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgY29udGVudENoaWxkLFxyXG4gIGNvbnRlbnRDaGlsZHJlbixcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL2Zvcm0tZmllbGQtY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlT25lQXhpc0FsaWdubWVudCB9IGZyb20gJy4vLi4vdHlwZXMvYWxpZ25tZW50LnR5cGVzJztcclxuaW1wb3J0IHsgQXJkaXVtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuL2Vycm9yL2Vycm9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFSRF9GT1JNX0ZJRUxEX0RFRkFVTFRTIH0gZnJvbSAnLi9mb3JtLWZpZWxkLmRlZmF1bHRzJztcclxuaW1wb3J0IHsgQXJkaXVtSGludERpcmVjdGl2ZSB9IGZyb20gJy4vaGludC9oaW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFyZGl1bUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbC9sYWJlbC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtaG9yaXpvbnRhbC1mb3JtLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9yaXpvbnRhbC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaG9yaXpvbnRhbC1mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtSG9yaXpvbnRhbEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9ERUZBVUxUUyA9IGluamVjdChBUkRfRk9STV9GSUVMRF9ERUZBVUxUUyk7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBhbGlnbkhpbnRUb0xlZnRCeURlZmF1bHQgPSB0aGlzLl9ERUZBVUxUUy5kZWZhdWx0SGludEFsaWduID09PSBTaW1wbGVPbmVBeGlzQWxpZ25tZW50LkxlZnQ7XHJcblxyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBjb250ZW50Q2hpbGQ8X0Zvcm1GaWVsZENvbXBvbmVudEJhc2U+KF9Gb3JtRmllbGRDb21wb25lbnRCYXNlKTtcclxuXHJcbiAgcmVhZG9ubHkgbGFiZWwgPSBjb250ZW50Q2hpbGQ8QXJkaXVtTGFiZWxDb21wb25lbnQ+KEFyZGl1bUxhYmVsQ29tcG9uZW50KTtcclxuXHJcbiAgcmVhZG9ubHkgaGludHMgPSBjb250ZW50Q2hpbGRyZW48QXJkaXVtSGludERpcmVjdGl2ZT4oQXJkaXVtSGludERpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZXJyb3JzID0gY29udGVudENoaWxkcmVuPEFyZGl1bUVycm9yRGlyZWN0aXZlPihBcmRpdW1FcnJvckRpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgaGFzQW55RXJyb3IgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB0aGlzLmVycm9ycygpPy5sZW5ndGggPiAwKTtcclxuICByZWFkb25seSByZXNlcnZlSGludExpbmUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLnJlc2VydmVIaW50TGluZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKCkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBBUkQtRlQ1MTEwOiBGb3JtIGZpZWxkIGNvbXBvbmVudCByZXF1aXJlcyBhbnkgY29udHJvbCAoaW5wdXQpIHRvIGJlIHByZXNlbnQgd2l0aGluIHRoZSBlbGVtZW50LiBGb3VuZCBub25lLmBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiYXJkLWhvcml6b250YWwtZm9ybS1maWVsZFwiXHJcbiAgW2NsYXNzLmFyZC1mb3JtLWZpZWxkX193aXRoLWVycm9yXT1cImNvbnRyb2woKT8uaGFzRXJyb3IoKVwiXHJcbiAgW2NsYXNzLmFyZC1mb3JtLWZpZWxkX19pcy1zdWNjZXNzXT1cImNvbnRyb2woKT8uaXNTdWNjZXNzKClcIlxyXG4gIFtjbGFzcy5hcmQtZm9ybS1maWVsZF9fY29udHJvbC1kaXNhYmxlZF09XCJjb250cm9sKCk/LmRpc2FibGVkKClcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImFyZC1mb3JtLWZpZWxkX19sYWJlbC1jb250YWluZXJcIj5cclxuICAgIDxsYWJlbFxyXG4gICAgICBjbGFzcz1cImFyZC1sYWJlbFwiXHJcbiAgICAgIFthdHRyLmZvcl09XCJjb250cm9sKCk/Lmh0bWxJZCgpXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXJkLWxhYmVsLCBbYXJkLWxhYmVsXVwiIC8+XHJcbiAgICA8L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9fbm9uLWxhYmVsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2lucHV0XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9faGludHNcIlxyXG4gICAgICBbY2xhc3MuYXJkLWZvcm0tZmllbGRfX3Jlc2VydmUtaGludC1saW5lXT1cInJlc2VydmVIaW50TGluZSgpXCJcclxuICAgICAgW2NsYXNzLmFyZC1mb3JtLWZpZWxkX19oaW50cy1kZWZhdWx0LWxlZnRdPVwiYWxpZ25IaW50VG9MZWZ0QnlEZWZhdWx0XCJcclxuICAgID5cclxuICAgICAgQGlmIChoYXNBbnlFcnJvcigpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9fZXJyb3JcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhcmQtZXJyb3IsIFthcmQtZXJyb3JdXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2hpbnRzLWxlZnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGRfX2RlZmF1bHQtaGludFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXJkLWhpbnQ6bm90KFtsZWZ0XSk6bm90KFtyaWdodF0pLCBbYXJkLWhpbnRdOm5vdChbbGVmdF0pOm5vdChbcmlnaHRdKVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXJkLWhpbnRbbGVmdF0sIFthcmQtaGludF1bbGVmdF1cIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb3JtLWZpZWxkX19oaW50cy1yaWdodFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZF9fZGVmYXVsdC1oaW50XCI+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhcmQtaGludDpub3QoW2xlZnRdKTpub3QoW3JpZ2h0XSksIFthcmQtaGludF06bm90KFtsZWZ0XSk6bm90KFtyaWdodF0pXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhcmQtaGludFtyaWdodF0sIFthcmQtaGludF1bcmlnaHRdXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|