@3kles/kles-material-dynamicforms 17.8.7 → 17.9.0
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/directive/dynamic-field.directive.mjs +2 -3
- package/esm2022/lib/fields/field.abstract.mjs +11 -1
- package/esm2022/lib/fields/input.component.mjs +6 -5
- package/esm2022/lib/fields/select.component.mjs +5 -3
- package/esm2022/lib/fields/select.search.component.mjs +5 -3
- package/esm2022/lib/interfaces/field.config.interface.mjs +1 -1
- package/fesm2022/3kles-kles-material-dynamicforms.mjs +24 -10
- package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/fields/field.abstract.d.ts +2 -0
- package/lib/interfaces/field.config.interface.d.ts +2 -0
- package/package.json +1 -1
|
@@ -58,8 +58,7 @@ export class KlesDynamicFieldDirective {
|
|
|
58
58
|
this.componentRef.instance.siblingFields = this.siblingFields;
|
|
59
59
|
}
|
|
60
60
|
createComponentRef(injector) {
|
|
61
|
-
const componentRef = this.container.createComponent(this.field.component
|
|
62
|
-
|| componentMapper.find(element => element.type === this.field.type)?.component, { injector, projectableNodes: [this.subComponents.map(sub => sub.location.nativeElement)] });
|
|
61
|
+
const componentRef = this.container.createComponent(componentMapper.find(element => element.type === this.field.type)?.component || this.field.component, { injector, projectableNodes: [this.subComponents.map(sub => sub.location.nativeElement)] });
|
|
63
62
|
if (this.field.hostClass) {
|
|
64
63
|
if (Array.isArray(this.field.hostClass)) {
|
|
65
64
|
componentRef.location.nativeElement.classList.add(...this.field.hostClass);
|
|
@@ -92,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
92
91
|
}], siblingFields: [{
|
|
93
92
|
type: Input
|
|
94
93
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLEtBQUssRUFBcUYsUUFBUSxFQUNoSCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVFsQyxZQUFzQixTQUEyQixFQUFVLFFBQWtCO1FBQXZELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY3RSxrQkFBYSxHQUEwQixFQUFFLENBQUM7SUFFdUMsQ0FBQztJQUVsRixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDM0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxD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bnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIFR5cGUsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBLbGVzRm9ybUNsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzL2NsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2xlc0R5bmFtaWNGaWVsZF0nXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNEeW5hbWljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBmaWVsZDogSUtsZXNGaWVsZENvbmZpZztcbiAgICBASW5wdXQoKSBncm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBzaWJsaW5nRmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW107XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHN1YkNvbXBvbmVudHM6IChDb21wb25lbnRSZWY8YW55PilbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwID0gY2hhbmdlcy5ncm91cC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBjaGFuZ2VzLmZpZWxkLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW107XG4gICAgICAgICAgICBwYXJlbnQ/OiBJbmplY3RvcjtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMgPyBbXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMuYWRhcHRlciA/IFt7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdGhpcy5maWVsZC5kYXRlT3B0aW9ucy5hZGFwdGVyLmNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmFkYXB0ZXIuZGVwcyB8fCBbXSxcbiAgICAgICAgICAgICAgICB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMubGFuZ3VhZ2UgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmRhdGVGb3JtYXQgfSxcbiAgICAgICAgICAgIF0gOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvc2FudCA9IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHRoaXMuZmllbGQuY2xlYXJhYmxlQ29tcG9uZW50IHx8IEtsZXNGb3JtQ2xlYXJDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLnB1c2goY29tcG9zYW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5zdWJDb21wb25lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMucHVzaCguLi50aGlzLmZpZWxkLnN1YkNvbXBvbmVudHMubWFwKChzdWJDb21wb25lbnQpID0+IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHN1YkNvbXBvbmVudCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3IpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaWJsaW5nRmllbGRzID0gdGhpcy5zaWJsaW5nRmllbGRzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZpZWxkLmNvbXBvbmVudFxuICAgICAgICAgICAgfHwgY29tcG9uZW50TWFwcGVyLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09IHRoaXMuZmllbGQudHlwZSk/LmNvbXBvbmVudCxcbiAgICAgICAgICAgIHsgaW5qZWN0b3IsIHByb2plY3RhYmxlTm9kZXM6IFt0aGlzLnN1YkNvbXBvbmVudHMubWFwKHN1YiA9PiBzdWIubG9jYXRpb24ubmF0aXZlRWxlbWVudCldIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmhvc3RDbGFzcykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC5ob3N0Q2xhc3MpKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi50aGlzLmZpZWxkLmhvc3RDbGFzcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5maWVsZC5ob3N0Q2xhc3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU3ViQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IENvbXBvbmVudFJlZjxhbnk+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUpO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2Uuc2libGluZ0ZpZWxkcyA9IHRoaXMuc2libGluZ0ZpZWxkcztcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG59XG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLEtBQUssRUFBcUYsUUFBUSxFQUNoSCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVFsQyxZQUFzQixTQUEyQixFQUFVLFFBQWtCO1FBQXZELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY3RSxrQkFBYSxHQUEwQixFQUFFLENBQUM7SUFFdUMsQ0FBQztJQUVsRixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDM0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxD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bnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIFR5cGUsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBLbGVzRm9ybUNsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzL2NsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2xlc0R5bmFtaWNGaWVsZF0nXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNEeW5hbWljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBmaWVsZDogSUtsZXNGaWVsZENvbmZpZztcbiAgICBASW5wdXQoKSBncm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBzaWJsaW5nRmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW107XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHN1YkNvbXBvbmVudHM6IChDb21wb25lbnRSZWY8YW55PilbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwID0gY2hhbmdlcy5ncm91cC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBjaGFuZ2VzLmZpZWxkLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW107XG4gICAgICAgICAgICBwYXJlbnQ/OiBJbmplY3RvcjtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMgPyBbXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMuYWRhcHRlciA/IFt7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdGhpcy5maWVsZC5kYXRlT3B0aW9ucy5hZGFwdGVyLmNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmFkYXB0ZXIuZGVwcyB8fCBbXSxcbiAgICAgICAgICAgICAgICB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMubGFuZ3VhZ2UgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmRhdGVGb3JtYXQgfSxcbiAgICAgICAgICAgIF0gOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvc2FudCA9IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHRoaXMuZmllbGQuY2xlYXJhYmxlQ29tcG9uZW50IHx8IEtsZXNGb3JtQ2xlYXJDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLnB1c2goY29tcG9zYW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5zdWJDb21wb25lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMucHVzaCguLi50aGlzLmZpZWxkLnN1YkNvbXBvbmVudHMubWFwKChzdWJDb21wb25lbnQpID0+IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHN1YkNvbXBvbmVudCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3IpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaWJsaW5nRmllbGRzID0gdGhpcy5zaWJsaW5nRmllbGRzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBlci5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSB0aGlzLmZpZWxkLnR5cGUpPy5jb21wb25lbnQgfHwgdGhpcy5maWVsZC5jb21wb25lbnQsXG4gICAgICAgICAgICB7IGluamVjdG9yLCBwcm9qZWN0YWJsZU5vZGVzOiBbdGhpcy5zdWJDb21wb25lbnRzLm1hcChzdWIgPT4gc3ViLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXSB9KTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5ob3N0Q2xhc3MpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZmllbGQuaG9zdENsYXNzKSkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4udGhpcy5maWVsZC5ob3N0Q2xhc3MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuZmllbGQuaG9zdENsYXNzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVN1YkNvbXBvbmVudChjb21wb25lbnRUeXBlOiBUeXBlPGFueT4pOiBDb21wb25lbnRSZWY8YW55PiB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLnNpYmxpbmdGaWVsZHMgPSB0aGlzLnNpYmxpbmdGaWVsZHM7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxufVxuIl19
|
|
@@ -66,6 +66,16 @@ export class KlesFieldAbstract {
|
|
|
66
66
|
isPending() {
|
|
67
67
|
return (this.group.controls[this.field.name].pending || this.field.pending);
|
|
68
68
|
}
|
|
69
|
+
onFocus() {
|
|
70
|
+
if (this.field?.onFocus) {
|
|
71
|
+
this.field.onFocus(this.field, this.group);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
onBlur() {
|
|
75
|
+
if (this.field?.onBlur) {
|
|
76
|
+
this.field.onBlur(this.field, this.group);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
69
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesFieldAbstract, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
80
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: KlesFieldAbstract, host: { properties: { "attr.klesDirective": "this.directive" } }, ngImport: i0 }); }
|
|
71
81
|
}
|
|
@@ -75,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
75
85
|
type: HostBinding,
|
|
76
86
|
args: ['attr.klesDirective']
|
|
77
87
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy9maWVsZC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQW9DLFNBQVMsRUFBb0IsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUczQyxNQUFNLE9BQWdCLGlCQUFpQjtJQVNyQyxZQUFzQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUZyQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUkzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7U0FDaEM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVk7YUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDM0IsSUFBSSxDQUFDLEtB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T0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQzsrR0ExRm1CLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTO3FGQU0yQixTQUFTO3NCQUEzQyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElLbGVzRmllbGQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIElLbGVzRmllbGQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgZmllbGQ6IElLbGVzRmllbGRDb25maWc7XG4gIGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBzaWJsaW5nRmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW107XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmtsZXNEaXJlY3RpdmUnKSBkaXJlY3RpdmU7XG5cbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5maWVsZC5hcHBlYXJhbmNlKSB7XG4gICAgICB0aGlzLmZpZWxkLmFwcGVhcmFuY2UgPSAnZmlsbCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlQ2hhbmdlcykge1xuICAgICAgdGhpcy5maWVsZC52YWx1ZUNoYW5nZXModGhpcy5maWVsZCwgdGhpcy5ncm91cCwgdGhpcy5zaWJsaW5nRmllbGRzKTtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlQ2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuZmllbGQudmFsdWVDaGFuZ2VzKHRoaXMuZmllbGQsIHRoaXMuZ3JvdXAsIHRoaXMuc2libGluZ0ZpZWxkcywgdmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5maWVsZC5kaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuZGlyZWN0aXZlID0gbmV3IHRoaXMuZmllbGQuZGlyZWN0aXZlKHRoaXMudmlld1JlZiwgdGhpcyk7XG4gICAgICB0aGlzLmRpcmVjdGl2ZS5uZ09uSW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXJlY3RpdmUgJiYgdGhpcy5kaXJlY3RpdmUubmdBZnRlclZpZXdJbml0KSB7XG4gICAgICB0aGlzLmRpcmVjdGl2ZT8ubmdBZnRlclZpZXdJbml0KCk7XG4gICAgfVxuXG5cbiAgICBpZiAodGhpcy5maWVsZC5hdXRvZm9jdXMpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAoPGFueT50aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0pPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlyZWN0aXZlPy5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBhcHBseVBpcGVUcmFuc2Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5maWVsZCkge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXTtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQucGlwZVRyYW5zZm9ybSkge1xuICAgICAgICAgIHRoaXMuZmllbGQucGlwZVRyYW5zZm9ybS5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAgICAgbGV0IHBpcGVWYWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgaWYgKHAub3B0aW9ucykge1xuICAgICAgICAgICAgICBwLm9wdGlvbnMuZm9yRWFjaChvcHQgPT4ge1xuICAgICAgICAgICAgICAgIHBpcGVWYWwgPSBwLnBpcGUudHJhbnNmb3JtKHZhbCwgb3B0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwaXBlVmFsID0gcC5waXBlLnRyYW5zZm9ybSh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKHBpcGVWYWwsIHsgb25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuICh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ucGVuZGluZyB8fCB0aGlzLmZpZWxkLnBlbmRpbmcpO1xuICB9XG5cbiAgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5maWVsZD8ub25Gb2N1cykge1xuICAgICAgdGhpcy5maWVsZC5vbkZvY3VzKHRoaXMuZmllbGQsIHRoaXMuZ3JvdXApO1xuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5maWVsZD8ub25CbHVyKSB7XG4gICAgICB0aGlzLmZpZWxkLm9uQmx1cih0aGlzLmZpZWxkLCB0aGlzLmdyb3VwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -79,6 +79,7 @@ let KlesFormInputComponent = class KlesFormInputComponent extends KlesFieldAbstr
|
|
|
79
79
|
if (this.field.autocomplete && this.field.lazy) {
|
|
80
80
|
this.isFocused.next(true);
|
|
81
81
|
}
|
|
82
|
+
super.onFocus();
|
|
82
83
|
}
|
|
83
84
|
filterData(value, options) {
|
|
84
85
|
let filterValue;
|
|
@@ -118,7 +119,7 @@ let KlesFormInputComponent = class KlesFormInputComponent extends KlesFieldAbstr
|
|
|
118
119
|
<input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [formControlName]="field.name" [placeholder]="field.placeholder | translate" [type]="field.inputType"
|
|
119
120
|
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step"
|
|
120
121
|
[matAutocomplete]="auto"
|
|
121
|
-
(focus)="onFocus()">
|
|
122
|
+
(focus)="onFocus()" (blur)="onBlur()" >
|
|
122
123
|
|
|
123
124
|
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn.bind(this)" [panelWidth]="this.field.panelWidth">
|
|
124
125
|
@if(filteredOption$ | async; as filteredOption){
|
|
@@ -152,7 +153,7 @@ let KlesFormInputComponent = class KlesFormInputComponent extends KlesFieldAbstr
|
|
|
152
153
|
}
|
|
153
154
|
@else {
|
|
154
155
|
<input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [formControlName]="field.name" [placeholder]="field.placeholder | translate" [type]="field.inputType"
|
|
155
|
-
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step">
|
|
156
|
+
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step" (focus)="onFocus()" (blur)="onBlur()">
|
|
156
157
|
}
|
|
157
158
|
@if (field.hint) {
|
|
158
159
|
<mat-hint>{{field.hint}}</mat-hint>
|
|
@@ -191,7 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
191
192
|
<input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [formControlName]="field.name" [placeholder]="field.placeholder | translate" [type]="field.inputType"
|
|
192
193
|
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step"
|
|
193
194
|
[matAutocomplete]="auto"
|
|
194
|
-
(focus)="onFocus()">
|
|
195
|
+
(focus)="onFocus()" (blur)="onBlur()" >
|
|
195
196
|
|
|
196
197
|
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn.bind(this)" [panelWidth]="this.field.panelWidth">
|
|
197
198
|
@if(filteredOption$ | async; as filteredOption){
|
|
@@ -225,7 +226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
225
226
|
}
|
|
226
227
|
@else {
|
|
227
228
|
<input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [formControlName]="field.name" [placeholder]="field.placeholder | translate" [type]="field.inputType"
|
|
228
|
-
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step">
|
|
229
|
+
[maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step" (focus)="onFocus()" (blur)="onBlur()">
|
|
229
230
|
}
|
|
230
231
|
@if (field.hint) {
|
|
231
232
|
<mat-hint>{{field.hint}}</mat-hint>
|
|
@@ -248,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
248
249
|
</mat-form-field>
|
|
249
250
|
`, styles: [".suffix{display:flex;align-items:center}\n", ".field-bottom .mat-mdc-form-field-bottom-align:before{content:none!important}\n", ".loadingSelect{display:flex;flex-direction:row;justify-content:space-between;align-items:center}\n", "mat-form-field{width:100%}\n"] }]
|
|
250
251
|
}] });
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQVUsU0FBUyxFQUFhLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFtQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBK0V6RCxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLGlCQUFpQjtJQUF0RDs7UUFJSyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUMzQyxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBK0c3QjtJQTdHRyxRQUFRO1FBRUosSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUMvQixvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUNoQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxT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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUVUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcbmltcG9ydCB7IE9uSW5pdCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHdpdGhMYXRlc3RGcm9tLCB0YWtlVW50aWwsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4uL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBGaWVsZE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcblxuQEZpZWxkTWFwcGVyKHsgdHlwZTogRW51bVR5cGUuaW5wdXQgfSlcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLWlucHV0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbG9yXT1cImZpZWxkLmNvbG9yXCIgW3N1YnNjcmlwdFNpemluZ109XCJmaWVsZC5zdWJzY3JpcHRTaXppbmdcIiBjbGFzcz1cImZvcm0tZWxlbWVudFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIiBjbGFzcz1cImZpZWxkLWJvdHRvbVwiPlxuICAgICAgICBAaWYgKGZpZWxkLmxhYmVsKSB7XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZmllbGQubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChmaWVsZC5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbdHlwZV09XCJmaWVsZC5pbnB1dFR5cGVcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW3N0ZXBdPVwiZmllbGQuc3RlcFwiXG4gICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiPlxuXG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm4uYmluZCh0aGlzKVwiIFtwYW5lbFdpZHRoXT1cInRoaXMuZmllbGQucGFuZWxXaWR0aFwiPlxuICAgICAgICAgICAgICAgIEBpZihmaWx0ZXJlZE9wdGlvbiQgfCBhc3luYzsgYXMgZmlsdGVyZWRPcHRpb24pe1xuICAgICAgICAgICAgICAgICAgICBAaWYoZmlsdGVyZWRPcHRpb24ubG9hZGluZyl7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjIwXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uLm9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2ZpZWxkLnByb3BlcnR5ID8gb3B0aW9uW2ZpZWxkLnByb3BlcnR5XSA6IG9wdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uLm9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwib3B0aW9uXCIgW2ZpZWxkXT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbdHlwZV09XCJmaWVsZC5pbnB1dFR5cGVcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW3N0ZXBdPVwiZmllbGQuc3RlcFwiPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZmllbGQuaGludCkge1xuICAgICAgICAgICAgPG1hdC1oaW50Pnt7ZmllbGQuaGludH19PC9tYXQtaGludD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZmllbGQuc3ViQ29tcG9uZW50cyB8fCBmaWVsZC5jbGVhcmFibGUgfHwgaXNQZW5kaW5nKCkpIHtcbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4XCI+XG4gICAgICAgICAgICAgICAgQGlmKGlzUGVuZGluZygpKXtcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgZGlhbWV0ZXI9XCIyMVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZihmaWVsZC5zdWJDb21wb25lbnRzIHx8IGZpZWxkLmNsZWFyYWJsZSl7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxtYXQtZXJyb3IgbWF0RXJyb3JNZXNzYWdlIFt2YWxpZGF0aW9uc109XCJmaWVsZC52YWxpZGF0aW9uc1wiIFthc3luY1ZhbGlkYXRpb25zXT1cImZpZWxkLmFzeW5jVmFsaWRhdGlvbnNcIj48L21hdC1lcnJvcj5cbiAgXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICBgLFxuICAgIHN0eWxlczogWydtYXQtZm9ybS1maWVsZCB7d2lkdGg6IGNhbGMoMTAwJSl9J10sXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuLi9zdHlsZXMvbWF0LXN1ZmZpeC5zdHlsZS5zY3NzJyxcbiAgICAgICAgJy4uL3N0eWxlcy9tYXQtZmllbGQtYm90dG9tLnN0eWxlLnNjc3MnLFxuICAgICAgICAnLi4vc3R5bGVzL2xvYWRpbmctc2VsZWN0LnN0eWxlLnNjc3MnLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1JbnB1dENvbXBvbmVudCBleHRlbmRzIEtsZXNGaWVsZEFic3RyYWN0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgZmlsdGVyZWRPcHRpb24kOiBPYnNlcnZhYmxlPHsgbG9hZGluZzogYm9vbGVhbiwgb3B0aW9uczogYW55W10gfT47XG4gICAgb3B0aW9ucyQ6IE9ic2VydmFibGU8eyBsb2FkaW5nOiBib29sZWFuLCBvcHRpb25zOiBhbnlbXSB9PjtcbiAgICBwcml2YXRlIGlzRm9jdXNlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmxhenkpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLmlzRm9jdXNlZC5waXBlKFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChpc0ZvY3VzZWQpID0+IGlzRm9jdXNlZCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpc0ZvY3VzZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRm9jdXNlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9icyQ6IE9ic2VydmFibGU8YW55W10+O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnMkID0gdGhpcy5maWVsZC5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnMkID0gdGhpcy5maWVsZC5vcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnMkID0gb2YodGhpcy5maWVsZC5vcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25jYXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YoeyBsb2FkaW5nOiB0cnVlLCBvcHRpb25zOiBbXSB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgob3B0aW9uczogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoeyBsb2FkaW5nOiBmYWxzZSwgb3B0aW9uczogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zJCA9IGNvbmNhdChcbiAgICAgICAgICAgICAgICAgICAgb2YoeyBsb2FkaW5nOiB0cnVlLCBvcHRpb25zOiBbXSB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBjb25jYXQob2YoeyBsb2FkaW5nOiB0cnVlLCBvcHRpb25zOiBbXSB9KSwgdGhpcy5maWVsZC5vcHRpb25zKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChvcHRpb25zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBvZih7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zOiB0aGlzLmZpZWxkLm9wdGlvbnMgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb24kID0gY29uY2F0KFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5ncm91cC5nZXQodGhpcy5maWVsZC5uYW1lKS52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKSwgdGhpcy5vcHRpb25zJF0pXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW2RhdGEsIHJlc3BvbnNlXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zOiAoKGRhdGEgJiYgcmVzcG9uc2Uub3B0aW9ucykgPyB0aGlzLmZpbHRlckRhdGEoZGF0YSwgcmVzcG9uc2Uub3B0aW9ucykgOiByZXNwb25zZS5vcHRpb25zKSB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICk7XG5cblxuICAgICAgICBpZiAoIXRoaXMuZmllbGQubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLm1heExlbmd0aCA9IDUyNDI4ODsgLy8gTWF4IGRlZmF1bHQgaW5wdXQgVzNDXG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5hdXRvY29tcGxldGUgJiYgdGhpcy5maWVsZC5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJEYXRhKHZhbHVlOiBhbnksIG9wdGlvbnM6IGFueVtdKTogYW55W10ge1xuICAgICAgICBsZXQgZmlsdGVyVmFsdWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgU3RyaW5nXScpIHtcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID0gdmFsdWVbdGhpcy5maWVsZC5wcm9wZXJ0eV0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnByb3BlcnR5KSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvblt0aGlzLmZpZWxkLnByb3BlcnR5XS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyVmFsdWUpID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyVmFsdWUpID09PSAwKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4odmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5kaXNwbGF5V2l0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQuZGlzcGxheVdpdGgodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVt0aGlzLmZpZWxkLnByb3BlcnR5XSA/IHZhbHVlW3RoaXMuZmllbGQucHJvcGVydHldIDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQVUsU0FBUyxFQUFhLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFtQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBK0V6RCxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLGlCQUFpQjtJQUF0RDs7UUFJSyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUMzQyxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBaUg3QjtJQS9HRyxRQUFRO1FBRUosSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUMvQixvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUNoQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxT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QkEzRWxDLFNBQVM7K0JBQ0ksaUJBQWlCLFlBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWlFVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBPbkluaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBjb25jYXQsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIG1hcCwgc3dpdGNoTWFwLCB0YWtlLCB3aXRoTGF0ZXN0RnJvbSwgdGFrZVVudGlsLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuLi9lbnVtcy90eXBlLmVudW0nO1xuaW1wb3J0IHsgRmllbGRNYXBwZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5cbkBGaWVsZE1hcHBlcih7IHR5cGU6IEVudW1UeXBlLmlucHV0IH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS1pbnB1dCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb2xvcl09XCJmaWVsZC5jb2xvclwiIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgY2xhc3M9XCJmb3JtLWVsZW1lbnRcIiBbYXBwZWFyYW5jZV09XCJmaWVsZC5hcHBlYXJhbmNlXCIgY2xhc3M9XCJmaWVsZC1ib3R0b21cIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZmllbGQuYXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbWF0VG9vbHRpcD1cInt7ZmllbGQudG9vbHRpcH19XCIgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgW3R5cGVdPVwiZmllbGQuaW5wdXRUeXBlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCIgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiIFtzdGVwXT1cImZpZWxkLnN0ZXBcIlxuICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiID5cblxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuLmJpbmQodGhpcylcIiBbcGFuZWxXaWR0aF09XCJ0aGlzLmZpZWxkLnBhbmVsV2lkdGhcIj5cbiAgICAgICAgICAgICAgICBAaWYoZmlsdGVyZWRPcHRpb24kIHwgYXN5bmM7IGFzIGZpbHRlcmVkT3B0aW9uKXtcbiAgICAgICAgICAgICAgICAgICAgQGlmKGZpbHRlcmVkT3B0aW9uLmxvYWRpbmcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmdTZWxlY3RcIj57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZX19Li4uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgZGlhbWV0ZXI9XCIyMFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbi5vcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWVsZC5wcm9wZXJ0eSA/IG9wdGlvbltmaWVsZC5wcm9wZXJ0eV0gOiBvcHRpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbi5vcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIm9wdGlvblwiIFtmaWVsZF09XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbWF0VG9vbHRpcD1cInt7ZmllbGQudG9vbHRpcH19XCIgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgW3R5cGVdPVwiZmllbGQuaW5wdXRUeXBlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCIgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiIFtzdGVwXT1cImZpZWxkLnN0ZXBcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgKGJsdXIpPVwib25CbHVyKClcIj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGZpZWxkLmhpbnQpIHtcbiAgICAgICAgICAgIDxtYXQtaGludD57e2ZpZWxkLmhpbnR9fTwvbWF0LWhpbnQ+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGZpZWxkLnN1YkNvbXBvbmVudHMgfHwgZmllbGQuY2xlYXJhYmxlIHx8IGlzUGVuZGluZygpKSB7XG4gICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cInN1ZmZpeFwiPlxuICAgICAgICAgICAgICAgIEBpZihpc1BlbmRpbmcoKSl7XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGRpYW1ldGVyPVwiMjFcIj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYoZmllbGQuc3ViQ29tcG9uZW50cyB8fCBmaWVsZC5jbGVhcmFibGUpe1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LWVycm9yIG1hdEVycm9yTWVzc2FnZSBbdmFsaWRhdGlvbnNdPVwiZmllbGQudmFsaWRhdGlvbnNcIiBbYXN5bmNWYWxpZGF0aW9uc109XCJmaWVsZC5hc3luY1ZhbGlkYXRpb25zXCI+PC9tYXQtZXJyb3I+XG4gIFxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfSddLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi4vc3R5bGVzL21hdC1zdWZmaXguc3R5bGUuc2NzcycsXG4gICAgICAgICcuLi9zdHlsZXMvbWF0LWZpZWxkLWJvdHRvbS5zdHlsZS5zY3NzJyxcbiAgICAgICAgJy4uL3N0eWxlcy9sb2FkaW5nLXNlbGVjdC5zdHlsZS5zY3NzJyxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIGZpbHRlcmVkT3B0aW9uJDogT2JzZXJ2YWJsZTx7IGxvYWRpbmc6IGJvb2xlYW4sIG9wdGlvbnM6IGFueVtdIH0+O1xuICAgIG9wdGlvbnMkOiBPYnNlcnZhYmxlPHsgbG9hZGluZzogYm9vbGVhbiwgb3B0aW9uczogYW55W10gfT47XG4gICAgcHJpdmF0ZSBpc0ZvY3VzZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5pc0ZvY3VzZWQucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoaXNGb2N1c2VkKSA9PiBpc0ZvY3VzZWQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoaXNGb2N1c2VkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYnMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzJCA9IHRoaXMuZmllbGQub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzJCA9IHRoaXMuZmllbGQub3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzJCA9IG9mKHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uY2F0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mKHsgbG9hZGluZzogdHJ1ZSwgb3B0aW9uczogW10gfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBsb2FkaW5nOiBmYWxzZSwgb3B0aW9ucyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnM6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBjb25jYXQoXG4gICAgICAgICAgICAgICAgICAgIG9mKHsgbG9hZGluZzogdHJ1ZSwgb3B0aW9uczogW10gfSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChvcHRpb25zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gY29uY2F0KG9mKHsgbG9hZGluZzogdHJ1ZSwgb3B0aW9uczogW10gfSksIHRoaXMuZmllbGQub3B0aW9ucygpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgob3B0aW9uczogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zIH07XG4gICAgICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gb2YoeyBsb2FkaW5nOiBmYWxzZSwgb3B0aW9uczogdGhpcy5maWVsZC5vcHRpb25zIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uJCA9IGNvbmNhdChcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSkudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksIHRoaXMub3B0aW9ucyRdKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFtkYXRhLCByZXNwb25zZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBsb2FkaW5nOiBmYWxzZSwgb3B0aW9uczogKChkYXRhICYmIHJlc3BvbnNlLm9wdGlvbnMpID8gdGhpcy5maWx0ZXJEYXRhKGRhdGEsIHJlc3BvbnNlLm9wdGlvbnMpIDogcmVzcG9uc2Uub3B0aW9ucykgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG5cbiAgICAgICAgaWYgKCF0aGlzLmZpZWxkLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5maWVsZC5tYXhMZW5ndGggPSA1MjQyODg7IC8vIE1heCBkZWZhdWx0IGlucHV0IFczQ1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgb25Gb2N1cygpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuYXV0b2NvbXBsZXRlICYmIHRoaXMuZmllbGQubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckRhdGEodmFsdWU6IGFueSwgb3B0aW9uczogYW55W10pOiBhbnlbXSB7XG4gICAgICAgIGxldCBmaWx0ZXJWYWx1ZTtcblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBTdHJpbmddJykge1xuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSB2YWx1ZVt0aGlzLmZpZWxkLnByb3BlcnR5XS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQucHJvcGVydHkpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uW3RoaXMuZmllbGQucHJvcGVydHldLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPT09IDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPT09IDApO1xuICAgIH1cblxuICAgIGRpc3BsYXlGbih2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5kaXNwbGF5V2l0aCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlW3RoaXMuZmllbGQucHJvcGVydHldID8gdmFsdWVbdGhpcy5maWVsZC5wcm9wZXJ0eV0gOiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlIDogJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -124,7 +124,8 @@ let KlesFormSelectComponent = class KlesFormSelectComponent extends KlesFieldAbs
|
|
|
124
124
|
}
|
|
125
125
|
<mat-select matTooltip="{{field.tooltip}}" [attr.id]="field.id"
|
|
126
126
|
(openedChange)="openChange($event)" [compareWith]="compareFn" [panelWidth]="field.panelWidth || 'auto'"
|
|
127
|
-
[ngClass]="field.ngClass" [placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple"
|
|
127
|
+
[ngClass]="field.ngClass" [placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple"
|
|
128
|
+
(focus)="onFocus()" (blur)="onBlur()">
|
|
128
129
|
|
|
129
130
|
@if (field.triggerComponent) {
|
|
130
131
|
<mat-select-trigger>
|
|
@@ -242,7 +243,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
242
243
|
}
|
|
243
244
|
<mat-select matTooltip="{{field.tooltip}}" [attr.id]="field.id"
|
|
244
245
|
(openedChange)="openChange($event)" [compareWith]="compareFn" [panelWidth]="field.panelWidth || 'auto'"
|
|
245
|
-
[ngClass]="field.ngClass" [placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple"
|
|
246
|
+
[ngClass]="field.ngClass" [placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple"
|
|
247
|
+
(focus)="onFocus()" (blur)="onBlur()">
|
|
246
248
|
|
|
247
249
|
@if (field.triggerComponent) {
|
|
248
250
|
<mat-select-trigger>
|
|
@@ -353,4 +355,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
353
355
|
type: ViewChildren,
|
|
354
356
|
args: [MatOption]
|
|
355
357
|
}] } });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBcUIsU0FBUyxFQUFnQyxTQUFTLEVBQUUsWUFBWSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQTJIOUMsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBd0IsU0FBUSxpQkFBaUI7SUFXMUQsWUFBc0IsT0FBeUIsRUFBWSxHQUFzQjtRQUM3RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFERyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSmpGLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBK0ZyQyxjQUFTLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENB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QUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZpZWxkTWFwcGVyIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi4vZW51bXMvdHlwZS5lbnVtJztcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5cbkBGaWVsZE1hcHBlcih7IHR5cGU6IEVudW1UeXBlLnNlbGVjdCB9KVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbGVzLWZvcm0tc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cImZpZWxkLnN1YnNjcmlwdFNpemluZ1wiIGNsYXNzPVwibWFyZ2luLXRvcFwiIFtjb2xvcl09XCJmaWVsZC5jb2xvclwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbYXBwZWFyYW5jZV09XCJmaWVsZC5hcHBlYXJhbmNlXCIgY2xhc3M9XCJmaWVsZC1ib3R0b21cIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICA8bWF0LXNlbGVjdCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiXG4gICAgICAgIChvcGVuZWRDaGFuZ2UpPVwib3BlbkNoYW5nZSgkZXZlbnQpXCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiIFtwYW5lbFdpZHRoXT1cImZpZWxkLnBhbmVsV2lkdGggfHwgJ2F1dG8nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZmllbGQubmdDbGFzc1wiIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiPlxuXG4gICAgICAgIEBpZiAoZmllbGQudHJpZ2dlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC50cmlnZ2VyQ29tcG9uZW50XCIgW3ZhbHVlXT1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoIWZpZWxkLnZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIEBpZiAoIWlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCI+e3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9ucyQgfCBhc3luYzsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwiaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJoaWRlLWNoZWNrYm94XCIgZGlzYWJsZWQ+PGRpdiBjbGFzcz1cImxvYWRpbmdTZWxlY3RcIj57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZX19Li4uIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjIwXCI+PC9tYXQtc3Bpbm5lcj48L2Rpdj48L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cImZpZWxkLml0ZW1TaXplIHx8IDUwXCIgW3N0eWxlLmhlaWdodC5weF09NSo0OD5cbiAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIG9wdGlvbnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiICBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7KGZpZWxkLnByb3BlcnR5ID8gaXRlbVtmaWVsZC5wcm9wZXJ0eV0gOiBpdGVtKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJoaWRlLWNoZWNrYm94XCIgZGlzYWJsZWQ+PGRpdiBjbGFzcz1cImxvYWRpbmdTZWxlY3RcIj57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZX19Li4uIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjIwXCI+PC9tYXQtc3Bpbm5lcj48L2Rpdj48L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlIHwgc2xpY2U6MDozMDsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5tdWx0aXBsZSAmJiBncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBbZ3JvdXA/LmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy52YWx1ZV07IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7KGZpZWxkLnByb3BlcnR5ID8gaXRlbVtmaWVsZC5wcm9wZXJ0eV0gOiBpdGVtKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIG9wdGlvbnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJoaWRlLWNoZWNrYm94XCIgZGlzYWJsZWQ+PGRpdiBjbGFzcz1cImxvYWRpbmdTZWxlY3RcIj57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZX19Li4uIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjIwXCI+PC9tYXQtc3Bpbm5lcj48L2Rpdj48L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlIHwgc2xpY2U6MDozMDsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5tdWx0aXBsZSAmJiBncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBbZ3JvdXA/LmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy52YWx1ZV07IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgIH1cblxuICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgQGlmIChmaWVsZC5oaW50KSB7XG4gICAgICAgICAgICA8bWF0LWhpbnQ+e3tmaWVsZC5oaW50fX08L21hdC1oaW50PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChmaWVsZC5zdWJDb21wb25lbnRzIHx8IGZpZWxkLmNsZWFyYWJsZSkge1xuICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LWVycm9yIG1hdEVycm9yTWVzc2FnZSBbdmFsaWRhdGlvbnNdPVwiZmllbGQudmFsaWRhdGlvbnNcIiBbYXN5bmNWYWxpZGF0aW9uc109XCJmaWVsZC5hc3luY1ZhbGlkYXRpb25zXCI+PC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbmAsXG4gICAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogY2FsYygxMDAlKX0nLFxuICAgICAgICBgOjpuZy1kZWVwIC5oaWRlLWNoZWNrYm94IC5tYXQtcHNldWRvLWNoZWNrYm94IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAgfWBdLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi4vc3R5bGVzL2xvYWRpbmctc2VsZWN0LnN0eWxlLnNjc3MnLFxuICAgICAgICAnLi4vc3R5bGVzL21hdC1maWVsZC1ib3R0b20uc3R5bGUuc2NzcydcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gICAgQFZpZXdDaGlsZHJlbihNYXRPcHRpb24pIG9wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+O1xuXG4gICAgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gICAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICBvcGVuQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIodmlld1JlZik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmxhenkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oQXJyYXkuaXNBcnJheSh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUpID8gdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogW3RoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZSRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoaXNPcGVuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5vcHRpb25zLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQub3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKEFycmF5LmlzQXJyYXkodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgOiBbdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlXSkgOiBbXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5vcHRpb25zJCBhcyBCZWhhdmlvclN1YmplY3Q8YW55W10+KS5uZXh0KG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLmZpZWxkLm9wdGlvbnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLmZpZWxkLm9wdGlvbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBvZih0aGlzLmZpZWxkLm9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgb3BlbkNoYW5nZSgkZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlJC5uZXh0KCRldmVudCk7XG4gICAgICAgICAgICAvLyBpZiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAvLyAgICAgaWYgKCEodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgKHRoaXMub3B0aW9ucyQgYXMgQmVoYXZpb3JTdWJqZWN0PGFueVtdPikubmV4dCh0aGlzLmZpZWxkLm9wdGlvbnMpO1xuICAgICAgICAgICAgLy8gICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgKHRoaXMub3B0aW9ucyQgYXMgQmVoYXZpb3JTdWJqZWN0PGFueVtdPikubmV4dChvcHRpb25zKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgIC8vICAgICAodGhpcy5vcHRpb25zJCBhcyBCZWhhdmlvclN1YmplY3Q8YW55W10+KVxuICAgICAgICAgICAgLy8gICAgICAgICAubmV4dCh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IHVuZGVmaW5lZCA/IFt0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVdIDogW10pO1xuICAgICAgICAgICAgLy8gICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgLy8gICAgIC8vIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zY3JvbGxUb0luZGV4KDApO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wYXJlRm4gPSAobzE6IGFueSwgbzI6IGFueSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wZXJ0eSAmJiBvMSAmJiBvMikge1xuICAgICAgICAgICAgcmV0dXJuIG8xW3RoaXMuZmllbGQucHJvcGVydHldID09PSBvMlt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgIH1cbn1cbiJdfQ==
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBcUIsU0FBUyxFQUFnQyxTQUFTLEVBQUUsWUFBWSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQTRIOUMsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBd0IsU0FBUSxpQkFBaUI7SUFXMUQsWUFBc0IsT0FBeUIsRUFBWSxHQUFzQjtRQUM3RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFERyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSmpGLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBK0ZyQyxjQUFTLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENB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LFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmllbGRNYXBwZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuLi9lbnVtcy90eXBlLmVudW0nO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcblxuQEZpZWxkTWFwcGVyKHsgdHlwZTogRW51bVR5cGUuc2VsZWN0IH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgY2xhc3M9XCJtYXJnaW4tdG9wXCIgW2NvbG9yXT1cImZpZWxkLmNvbG9yXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIiBjbGFzcz1cImZpZWxkLWJvdHRvbVwiPlxuICAgICAgICBAaWYgKGZpZWxkLmxhYmVsKSB7XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZmllbGQubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICB9XG4gICAgICAgIDxtYXQtc2VsZWN0IG1hdFRvb2x0aXA9XCJ7e2ZpZWxkLnRvb2x0aXB9fVwiIFthdHRyLmlkXT1cImZpZWxkLmlkXCJcbiAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvcGVuQ2hhbmdlKCRldmVudClcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCIgW3BhbmVsV2lkdGhdPVwiZmllbGQucGFuZWxXaWR0aCB8fCAnYXV0bydcIlxuICAgICAgICBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiIChibHVyKT1cIm9uQmx1cigpXCI+XG5cbiAgICAgICAgQGlmIChmaWVsZC50cmlnZ2VyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLnRyaWdnZXJDb21wb25lbnRcIiBbdmFsdWVdPVwiZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWVcIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICghZmllbGQudmlydHVhbFNjcm9sbCkge1xuICAgICAgICAgICAgQGlmICghZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9ucyQgfCBhc3luYzsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj57eyhmaWVsZC5wcm9wZXJ0eSA/IGl0ZW1bZmllbGQucHJvcGVydHldIDogaXRlbSkgfCBrbGVzVHJhbnNmb3JtOmZpZWxkLnBpcGVUcmFuc2Zvcm19fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwiaGlkZS1jaGVja2JveFwiIGRpc2FibGVkPjxkaXYgY2xhc3M9XCJsb2FkaW5nU2VsZWN0XCI+e3snbG9hZGluZycgfCB0cmFuc2xhdGV9fS4uLiA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgZGlhbWV0ZXI9XCIyMFwiPjwvbWF0LXNwaW5uZXI+PC9kaXY+PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFpc0xvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBvcHRpb25zJCB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwiZmllbGQuaXRlbVNpemUgfHwgNTBcIiBbc3R5bGUuaGVpZ2h0LnB4XT01KjQ4PlxuICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFpc0xvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtXCIgIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmllbGQubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUgfCBzbGljZTowOjMwOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyhmaWVsZC5wcm9wZXJ0eSA/IGl0ZW1bZmllbGQucHJvcGVydHldIDogaXRlbSkgfCBrbGVzVHJhbnNmb3JtOmZpZWxkLnBpcGVUcmFuc2Zvcm19fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLm11bHRpcGxlICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIFtncm91cD8uY29udHJvbHNbZmllbGQubmFtZV0/LnZhbHVlXTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFpc0xvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmllbGQubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUgfCBzbGljZTowOjMwOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwiaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLm11bHRpcGxlICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIFtncm91cD8uY29udHJvbHNbZmllbGQubmFtZV0/LnZhbHVlXTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICAgICAgfVxuXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICBAaWYgKGZpZWxkLmhpbnQpIHtcbiAgICAgICAgICAgIDxtYXQtaGludD57e2ZpZWxkLmhpbnR9fTwvbWF0LWhpbnQ+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGZpZWxkLnN1YkNvbXBvbmVudHMgfHwgZmllbGQuY2xlYXJhYmxlKSB7XG4gICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxtYXQtZXJyb3IgbWF0RXJyb3JNZXNzYWdlIFt2YWxpZGF0aW9uc109XCJmaWVsZC52YWxpZGF0aW9uc1wiIFthc3luY1ZhbGlkYXRpb25zXT1cImZpZWxkLmFzeW5jVmFsaWRhdGlvbnNcIj48L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfScsXG4gICAgICAgIGA6Om5nLWRlZXAgLmhpZGUtY2hlY2tib3ggLm1hdC1wc2V1ZG8tY2hlY2tib3ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7ICB9YF0sXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuLi9zdHlsZXMvbG9hZGluZy1zZWxlY3Quc3R5bGUuc2NzcycsXG4gICAgICAgICcuLi9zdHlsZXMvbWF0LWZpZWxkLWJvdHRvbS5zdHlsZS5zY3NzJ1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgICBAVmlld0NoaWxkcmVuKE1hdE9wdGlvbikgb3B0aW9uczogUXVlcnlMaXN0PE1hdE9wdGlvbj47XG5cbiAgICBvcHRpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG5cbiAgICBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIG9wZW5DaGFuZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcih2aWV3UmVmKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihBcnJheS5pc0FycmF5KHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSkgPyB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgOiBbdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpc09wZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5vcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5maWVsZC5vcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoQXJyYXkuaXNBcnJheSh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSA6IFt0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVdKSA6IFtdKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLm9wdGlvbnMkIGFzIEJlaGF2aW9yU3ViamVjdDxhbnlbXT4pLm5leHQob3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zJCA9IHRoaXMuZmllbGQub3B0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zJCA9IHRoaXMuZmllbGQub3B0aW9ucygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zJCA9IG9mKHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBvcGVuQ2hhbmdlKCRldmVudDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5DaGFuZ2UkLm5leHQoJGV2ZW50KTtcbiAgICAgICAgICAgIC8vIGlmICgkZXZlbnQpIHtcbiAgICAgICAgICAgIC8vICAgICBpZiAoISh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSkge1xuICAgICAgICAgICAgLy8gICAgICAgICAodGhpcy5vcHRpb25zJCBhcyBCZWhhdmlvclN1YmplY3Q8YW55W10+KS5uZXh0KHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICAgICAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLmZpZWxkLm9wdGlvbnMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAodGhpcy5vcHRpb25zJCBhcyBCZWhhdmlvclN1YmplY3Q8YW55W10+KS5uZXh0KG9wdGlvbnMpO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgLy8gICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gICAgICh0aGlzLm9wdGlvbnMkIGFzIEJlaGF2aW9yU3ViamVjdDxhbnlbXT4pXG4gICAgICAgICAgICAvLyAgICAgICAgIC5uZXh0KHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSAhPT0gdW5kZWZpbmVkID8gW3RoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZV0gOiBbXSk7XG4gICAgICAgICAgICAvLyAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAvLyAgICAgLy8gdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQudmlydHVhbFNjcm9sbCkge1xuICAgICAgICAgICAgaWYgKCRldmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBhcmVGbiA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnByb3BlcnR5ICYmIG8xICYmIG8yKSB7XG4gICAgICAgICAgICByZXR1cm4gbzFbdGhpcy5maWVsZC5wcm9wZXJ0eV0gPT09IG8yW3RoaXMuZmllbGQucHJvcGVydHldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvMSA9PT0gbzI7XG4gICAgfVxufVxuIl19
|
|
@@ -206,7 +206,8 @@ export class KlesFormSelectSearchComponent extends KlesFieldAbstract {
|
|
|
206
206
|
|
|
207
207
|
<mat-select matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
|
|
208
208
|
(openedChange)="openChange($event)" [compareWith]="compareFn" [panelWidth]="field.panelWidth || 'auto'"
|
|
209
|
-
[placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple" (selectionChange)="selectionChange($event)"
|
|
209
|
+
[placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple" (selectionChange)="selectionChange($event)"
|
|
210
|
+
(focus)="onFocus()" (blur)="onBlur()">
|
|
210
211
|
@if (field.triggerComponent) {
|
|
211
212
|
<mat-select-trigger>
|
|
212
213
|
<ng-container klesComponent [component]="field.triggerComponent" [value]="group.controls[field.name].value" [field]="field"></ng-container>
|
|
@@ -339,7 +340,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
339
340
|
|
|
340
341
|
<mat-select matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
|
|
341
342
|
(openedChange)="openChange($event)" [compareWith]="compareFn" [panelWidth]="field.panelWidth || 'auto'"
|
|
342
|
-
[placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple" (selectionChange)="selectionChange($event)"
|
|
343
|
+
[placeholder]="field.placeholder | translate" [formControlName]="field.name" [multiple]="field.multiple" (selectionChange)="selectionChange($event)"
|
|
344
|
+
(focus)="onFocus()" (blur)="onBlur()">
|
|
343
345
|
@if (field.triggerComponent) {
|
|
344
346
|
<mat-select-trigger>
|
|
345
347
|
<ng-container klesComponent [component]="field.triggerComponent" [value]="group.controls[field.name].value" [field]="field"></ng-container>
|
|
@@ -468,4 +470,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
468
470
|
type: ViewChildren,
|
|
469
471
|
args: [MatOption]
|
|
470
472
|
}] } });
|
|
471
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy9zZWxlY3Quc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQXFCLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2pLLE9BQU8sRUFBMEIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBK0lyRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsaUJBQWlCO0lBa0JsRSxZQUFzQixPQUF5QixFQUFZLEdBQXNCO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQmpGLGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakQsY0FBUyxHQUFH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWlJWDtxSEF3QnNDLHdCQUF3QjtzQkFBNUQsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBQ1YsT0FBTztzQkFBL0IsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0LCBzaWduYWwsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2xlcy1mb3JtLXNlbGVjdC1zZWFyY2gnLFxuICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cImZpZWxkLnN1YnNjcmlwdFNpemluZ1wiIGNsYXNzPVwibWFyZ2luLXRvcFwiIFtjb2xvcl09XCJmaWVsZC5jb2xvclwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbYXBwZWFyYW5jZV09XCJmaWVsZC5hcHBlYXJhbmNlXCIgY2xhc3M9XCJmaWVsZC1ib3R0b21cIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxtYXQtc2VsZWN0IG1hdFRvb2x0aXA9XCJ7e2ZpZWxkLnRvb2x0aXB9fVwiIFthdHRyLmlkXT1cImZpZWxkLmlkXCIgW25nQ2xhc3NdPVwiZmllbGQubmdDbGFzc1wiXG4gICAgICAgIChvcGVuZWRDaGFuZ2UpPVwib3BlbkNoYW5nZSgkZXZlbnQpXCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiIFtwYW5lbFdpZHRoXT1cImZpZWxkLnBhbmVsV2lkdGggfHwgJ2F1dG8nXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCIgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgQGlmIChmaWVsZC50cmlnZ2VyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLnRyaWdnZXJDb21wb25lbnRcIiBbdmFsdWVdPVwiZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWVcIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChmaWVsZC52aXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckxhYmVsPVwiXCIgbm9FbnRyaWVzRm91bmRMYWJlbCA9XCJcIj48L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwiZmllbGQuaXRlbVNpemUgfHwgNTBcIiBbc3R5bGUuaGVpZ2h0LnB4XT00KjQ4PlxuICAgICAgICAgICAgICAgIEBpZiAoIWlzTG9hZGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmllbGQubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJzZWxlY3RBbGwgbWF0LW1kYy1vcHRpb24gbWRjLWxpc3QtaXRlbVwiIFtmb3JtQ29udHJvbF09XCJzZWxlY3RBbGxDb250cm9sXCIgKGNoYW5nZSk9XCJ0b2dnbGVBbGxTZWxlY3Rpb24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J3NlbGVjdEFsbCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc0ZpbHRlcmVkJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj57eyhmaWVsZC5wcm9wZXJ0eSA/IGl0ZW1bZmllbGQucHJvcGVydHldIDogaXRlbSkgfCBrbGVzVHJhbnNmb3JtOmZpZWxkLnBpcGVUcmFuc2Zvcm19fTwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUgfCBzbGljZTowOjMwOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7KGZpZWxkLnByb3BlcnR5ID8gaXRlbVtmaWVsZC5wcm9wZXJ0eV0gOiBpdGVtKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLm11bHRpcGxlICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBbZ3JvdXA/LmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy52YWx1ZV07IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNGaWx0ZXJlZCQgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUgfCBzbGljZTowOjMwOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLm11bHRpcGxlICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBbZ3JvdXA/LmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy52YWx1ZV07IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwiaGlkZS1jaGVja2JveFwiIGRpc2FibGVkPjxkaXYgY2xhc3M9XCJsb2FkaW5nU2VsZWN0XCI+e3snbG9hZGluZycgfCB0cmFuc2xhdGV9fS4uLiA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgZGlhbWV0ZXI9XCIyMFwiPjwvbWF0LXNwaW5uZXI+PC9kaXY+PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2ggW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyTGFiZWw9XCJcIiBub0VudHJpZXNGb3VuZExhYmVsID1cIlwiPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICBAaWYgKCFpc0xvYWRpbmcoKSkge1xuICAgICAgICAgICAgICAgIEBpZiAoZmllbGQubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInNlbGVjdEFsbCBtYXQtbWRjLW9wdGlvbiBtZGMtbGlzdC1pdGVtXCIgW2Zvcm1Db250cm9sXT1cInNlbGVjdEFsbENvbnRyb2xcIiAoY2hhbmdlKT1cInRvZ2dsZUFsbFNlbGVjdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydzZWxlY3RBbGwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uc0ZpbHRlcmVkJCB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiPnt7KGZpZWxkLnByb3BlcnR5ID8gaXRlbVtmaWVsZC5wcm9wZXJ0eV0gOiBpdGVtKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBvcHRpb25zRmlsdGVyZWQkIHwgYXN5bmM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eU9wdGlvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImhpZGUtY2hlY2tib3hcIiBkaXNhYmxlZD48ZGl2IGNsYXNzPVwibG9hZGluZ1NlbGVjdFwiPnt7J2xvYWRpbmcnIHwgdHJhbnNsYXRlfX0uLi4gPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMjBcIj48L21hdC1zcGlubmVyPjwvZGl2PjwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cblxuICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgQGlmIChmaWVsZC5oaW50KSB7XG4gICAgICAgICAgICA8bWF0LWhpbnQ+e3tmaWVsZC5oaW50fX08L21hdC1oaW50PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChmaWVsZC5zdWJDb21wb25lbnRzIHx8IGZpZWxkLmNsZWFyYWJsZSB8fCBpc1BlbmRpbmcoKSkge1xuICAgICAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4XCI+XG4gICAgICAgICAgICAgIEBpZihpc1BlbmRpbmcoKSl7XG4gICAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBkaWFtZXRlcj1cIjIxXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYoZmllbGQuc3ViQ29tcG9uZW50cyB8fCBmaWVsZC5jbGVhcmFibGUpe1xuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICB9ICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICAgIDxtYXQtZXJyb3IgbWF0RXJyb3JNZXNzYWdlIFt2YWxpZGF0aW9uc109XCJmaWVsZC52YWxpZGF0aW9uc1wiIFthc3luY1ZhbGlkYXRpb25zXT1cImZpZWxkLmFzeW5jVmFsaWRhdGlvbnNcIj48L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuYCxcbiAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogY2FsYygxMDAlKX0nLFxuICAgICc6Om5nLWRlZXAgLnNlbGVjdEFsbCB7cGFkZGluZzogMCAxNnB4IDAgNXB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDt9JyxcbiAgICAnOjpuZy1kZWVwIC5zZWxlY3RBbGwgLm1kYy1mb3JtLWZpZWxkIHt3aWR0aDogMTAwJTt9JyxcbiAgICAnOjpuZy1kZWVwIC5zZWxlY3RBbGwgLm1kYy1mb3JtLWZpZWxkIC5tZGMtbGFiZWwge3dpZHRoOiAxMDAlOyAgbWluLWhlaWdodDogNDhweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZGlzcGxheTogZmxleDt9JyxcbiAgICAnOjpuZy1kZWVwIC5zZWxlY3RBbGwgLm1kYy1mb3JtLWZpZWxkIC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30nLFxuICAgIGA6Om5nLWRlZXAgLmhpZGUtY2hlY2tib3ggLm1hdC1wc2V1ZG8tY2hlY2tib3ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7ICB9YF0sXG4gIHN0eWxlVXJsczogWycuLi9zdHlsZXMvbG9hZGluZy1zZWxlY3Quc3R5bGUuc2NzcycsICcuLi9zdHlsZXMvbWF0LXN1ZmZpeC5zdHlsZS5zY3NzJywgJy4uL3N0eWxlcy9tYXQtZmllbGQtYm90dG9tLnN0eWxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNlbGVjdFNlYXJjaENvbXBvbmVudCBleHRlbmRzIEtsZXNGaWVsZEFic3RyYWN0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHNlYXJjaENvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIHNlbGVjdEFsbENvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZhbHNlKTtcblxuICBpc0xvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0ZpbHRlcmVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueVtdPigxKTtcblxuICBvcGVuQ2hhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBvcGVuQ2xvc2VkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gcHJpdmF0ZSBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gIEBWaWV3Q2hpbGRyZW4oTWF0T3B0aW9uKSBvcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcih2aWV3UmVmKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBpZiAodGhpcy5maWVsZC5sYXp5KSB7XG4gICAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICBpZiAodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihBcnJheS5pc0FycmF5KHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSkgPyB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgOiBbdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlXSk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9wZW5DaGFuZ2VFdmVudCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zJCA9IHRoaXMuZmllbGQub3B0aW9ucygpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyQgPSBvZih0aGlzLmZpZWxkLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub3B0aW9ucyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSkuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICB0aGlzLm9wdGlvbnNGaWx0ZXJlZCQubmV4dChvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZmllbGQuZGVib3VuY2VUaW1lIHx8IDApLFxuICAgICAgc3RhcnRXaXRoKHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSksXG4gICAgICBzd2l0Y2hNYXAodmFsdWUgPT4ge1xuICAgICAgICByZXR1cm4gY29uY2F0KFxuICAgICAgICAgIG9mKHsgbG9hZGluZzogdHJ1ZSwgb3B0aW9uczogW10gfSksXG4gICAgICAgICAgdGhpcy5vblNlYXJjaENoYW5nZSh2YWx1ZSkucGlwZSh0YWtlKDEpLCBtYXAoKG9wdGlvbnMpID0+ICh7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zIH0pKSlcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgoeyBsb2FkaW5nLCBvcHRpb25zIH0pID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChsb2FkaW5nKTtcbiAgICAgIHRoaXMub3B0aW9uc0ZpbHRlcmVkJC5uZXh0KG9wdGlvbnMpO1xuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5maWVsZC5tdWx0aXBsZSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RBbGxDb250cm9sKHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSk7XG5cbiAgICAgICh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0gYXMgRm9ybUNvbnRyb2wpLnJlZ2lzdGVyT25DaGFuZ2UoKHZhbHVlcywgZW1pdFZpZXdUb01vZGVsQ2hhbmdlKSA9PiB7XG4gICAgICAgIGlmIChlbWl0Vmlld1RvTW9kZWxDaGFuZ2UpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdEFsbENvbnRyb2wodmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9wZW5DbG9zZWQkLm5leHQoKTtcbiAgICB0aGlzLm9wZW5DbG9zZWQkLmNvbXBsZXRlKCk7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG5cbiAgdG9nZ2xlQWxsU2VsZWN0aW9uKHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMub3B0aW9uc0ZpbHRlcmVkJC5waXBlKHRha2UoMSksIG1hcCgob3B0aW9ucykgPT4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gIW9wdGlvbj8uZGlzYWJsZWQpKSkuc3Vic2NyaWJlKG9wdGlvbnMgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnBhdGNoVmFsdWUob3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS5wYXRjaFZhbHVlKFtdKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIG9wZW5DaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5DaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSksXG4gICAgICAgIHN3aXRjaE1hcCgoaXNPcGVuKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMub25PcGVuQ2hhbmdlKGlzT3Blbik7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICh0aGlzLm9wdGlvbnMkIGFzIEJlaGF2aW9yU3ViamVjdDxhbnlbXT4pLm5leHQob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9uc0ZpbHRlcmVkJC5uZXh0KG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uT3BlbkNoYW5nZShpc09wZW46IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgaWYgKGlzT3Blbikge1xuXG4gICAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMucGlwZSh0YWtlVW50aWwodGhpcy5vcGVuQ2xvc2VkJCkpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5vcHRpb25zKCkucGlwZSh0YWtlVW50aWwodGhpcy5vcGVuQ2xvc2VkJCkpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLmZpZWxkLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlICE9PSBudWxsXG4gICAgICAgID8gKEFycmF5LmlzQXJyYXkodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlKSA/XG4gICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlIDogW3RoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZV0pIDogW10pXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU2VhcmNoQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBzZWFyY2ggPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucyQucGlwZShtYXAob3B0aW9ucyA9PiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zXG4gICAgICAgICAgLmZpbHRlcihvcHRpb24gPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQuc2VhcmNoS2V5cyAmJiB0aGlzLmZpZWxkLnNlYXJjaEtleXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLnNlYXJjaEtleXMuc29tZShzZWFyY2hLZXkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25bc2VhcmNoS2V5XSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbltzZWFyY2hLZXldPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfSkgfHwgKHRoaXMuZmllbGQucHJvcGVydHkgP1xuICAgICAgICAgICAgICAgIG9wdGlvblt0aGlzLmZpZWxkLnByb3BlcnR5XT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xIDogZmFsc2UpO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25bdGhpcy5maWVsZC5wcm9wZXJ0eV0/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbj8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xO1xuICAgICAgICAgIH0pO1xuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zJDtcbiAgICB9XG4gIH1cblxuICBvcGVuQ2hhbmdlKCRldmVudDogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmZpZWxkLmxhenkpIHtcbiAgICAgIGlmICghJGV2ZW50KSB7XG4gICAgICAgIHRoaXMub3BlbkNsb3NlZCQubmV4dCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuQ2hhbmdlJC5uZXh0KCRldmVudCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmllbGQudmlydHVhbFNjcm9sbCkge1xuICAgICAgaWYgKCRldmVudCkge1xuICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zY3JvbGxUb0luZGV4KDApO1xuICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbiA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgaWYgKHRoaXMuZmllbGQucHJvcGVydHkgJiYgbzEgJiYgbzIpIHtcbiAgICAgIHJldHVybiBvMVt0aGlzLmZpZWxkLnByb3BlcnR5XSA9PT0gbzJbdGhpcy5maWVsZC5wcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiBvMSA9PT0gbzI7XG4gIH1cblxuICBzZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7XG4gICAgaWYgKHRoaXMuZmllbGQubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0QWxsQ29udHJvbChzZWxlY3Rpb24udmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgdXBkYXRlU2VsZWN0QWxsQ29udHJvbCh2YWx1ZXMpOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9ICgodGhpcy5maWVsZC5wcm9wZXJ0eSAmJiB2YWx1ZXMpID8gdmFsdWVzPy5tYXAocyA9PiBzW3RoaXMuZmllbGQucHJvcGVydHldKSA6IHZhbHVlcyk7XG4gICAgICB0aGlzLm9wdGlvbnNGaWx0ZXJlZCQucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKChvcHRpb25zKSA9PiBvcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT4gIW9wdGlvbj8uZGlzYWJsZWQpLm1hcCgob3B0aW9uKSA9PiAodGhpcy5maWVsZC5wcm9wZXJ0eSA/IG9wdGlvblt0aGlzLmZpZWxkLnByb3BlcnR5XSA6IG9wdGlvbikpKSxcbiAgICAgICAgbWFwKG9wdGlvbnMgPT4ge1xuICAgICAgICAgIGlmICghc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPCBzZWxlY3RlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmxlbmd0aCA+IDAgJiYgb3B0aW9ucy5ldmVyeShvID0+IHNlbGVjdGVkLmluY2x1ZGVzKG8pKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zLmxlbmd0aCA9PT0gc2VsZWN0ZWQubGVuZ3RoICYmIHNlbGVjdGVkLmV2ZXJ5KHMgPT4gb3B0aW9ucy5pbmNsdWRlcyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSkuc3Vic2NyaWJlKGlzQ2hlY2tlZCA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxDb250cm9sLnNldFZhbHVlKGlzQ2hlY2tlZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgfVxufVxuIl19
|
|
473
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy9zZWxlY3Quc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQXFCLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2pLLE9BQU8sRUFBMEIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0pyRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsaUJBQWlCO0lBa0JsRSxZQUFzQixPQUF5QixFQUFZLEdBQXNCO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQmpGLGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakQsY0FBUyxHQUFH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0lYO3FIQXdCc0Msd0JBQXdCO3NCQUE1RCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFDVixPQUFPO3NCQUEvQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIHNpZ25hbCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29uY2F0LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbGVzLWZvcm0tc2VsZWN0LXNlYXJjaCcsXG4gIC8vIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgY2xhc3M9XCJtYXJnaW4tdG9wXCIgW2NvbG9yXT1cImZpZWxkLmNvbG9yXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIiBjbGFzcz1cImZpZWxkLWJvdHRvbVwiPlxuICAgICAgICBAaWYgKGZpZWxkLmxhYmVsKSB7XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZmllbGQubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgPG1hdC1zZWxlY3QgbWF0VG9vbHRpcD1cInt7ZmllbGQudG9vbHRpcH19XCIgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCJcbiAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvcGVuQ2hhbmdlKCRldmVudClcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCIgW3BhbmVsV2lkdGhdPVwiZmllbGQucGFuZWxXaWR0aCB8fCAnYXV0bydcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIiAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiPlxuICAgICAgICBAaWYgKGZpZWxkLnRyaWdnZXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQudHJpZ2dlckNvbXBvbmVudFwiIFt2YWx1ZV09XCJncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXS52YWx1ZVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGZpZWxkLnZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2ggW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyTGFiZWw9XCJcIiBub0VudHJpZXNGb3VuZExhYmVsID1cIlwiPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJmaWVsZC5pdGVtU2l6ZSB8fCA1MFwiIFtzdHlsZS5oZWlnaHQucHhdPTQqNDg+XG4gICAgICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInNlbGVjdEFsbCBtYXQtbWRjLW9wdGlvbiBtZGMtbGlzdC1pdGVtXCIgW2Zvcm1Db250cm9sXT1cInNlbGVjdEFsbENvbnRyb2xcIiAoY2hhbmdlKT1cInRvZ2dsZUFsbFNlbGVjdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3snc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zRmlsdGVyZWQkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiPnt7KGZpZWxkLnByb3BlcnR5ID8gaXRlbVtmaWVsZC5wcm9wZXJ0eV0gOiBpdGVtKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19PC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXS52YWx1ZSB8IHNsaWNlOjA6MzA7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghZmllbGQubXVsdGlwbGUgJiYgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIFtncm91cD8uY29udHJvbHNbZmllbGQubmFtZV0/LnZhbHVlXTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyhmaWVsZC5wcm9wZXJ0eSA/IGl0ZW1bZmllbGQucHJvcGVydHldIDogaXRlbSkgfCBrbGVzVHJhbnNmb3JtOmZpZWxkLnBpcGVUcmFuc2Zvcm19fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc0ZpbHRlcmVkJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwiaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXS52YWx1ZSB8IHNsaWNlOjA6MzA7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghZmllbGQubXVsdGlwbGUgJiYgZ3JvdXAuY29udHJvbHNbZmllbGQubmFtZV0udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIFtncm91cD8uY29udHJvbHNbZmllbGQubmFtZV0/LnZhbHVlXTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwiaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJoaWRlLWNoZWNrYm94XCIgZGlzYWJsZWQ+PGRpdiBjbGFzcz1cImxvYWRpbmdTZWxlY3RcIj57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZX19Li4uIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjIwXCI+PC9tYXQtc3Bpbm5lcj48L2Rpdj48L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgPG1hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJMYWJlbD1cIlwiIG5vRW50cmllc0ZvdW5kTGFiZWwgPVwiXCI+PC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgIEBpZiAoIWlzTG9hZGluZygpKSB7XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwic2VsZWN0QWxsIG1hdC1tZGMtb3B0aW9uIG1kYy1saXN0LWl0ZW1cIiBbZm9ybUNvbnRyb2xdPVwic2VsZWN0QWxsQ29udHJvbFwiIChjaGFuZ2UpPVwidG9nZ2xlQWxsU2VsZWN0aW9uKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J3NlbGVjdEFsbCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBvcHRpb25zRmlsdGVyZWQkIHwgYXN5bmM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW2Rpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCI+e3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnNGaWx0ZXJlZCQgfCBhc3luYzsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGtsZXNDb21wb25lbnQgW2NvbXBvbmVudF09XCJmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnRcIiBbdmFsdWVdPVwiaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwiaGlkZS1jaGVja2JveFwiIGRpc2FibGVkPjxkaXYgY2xhc3M9XCJsb2FkaW5nU2VsZWN0XCI+e3snbG9hZGluZycgfCB0cmFuc2xhdGV9fS4uLiA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgZGlhbWV0ZXI9XCIyMFwiPjwvbWF0LXNwaW5uZXI+PC9kaXY+PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5T3B0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwiaGlkZS1jaGVja2JveFwiIGRpc2FibGVkPjxkaXYgY2xhc3M9XCJsb2FkaW5nU2VsZWN0XCI+e3snbG9hZGluZycgfCB0cmFuc2xhdGV9fS4uLiA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgZGlhbWV0ZXI9XCIyMFwiPjwvbWF0LXNwaW5uZXI+PC9kaXY+PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICBAaWYgKGZpZWxkLmhpbnQpIHtcbiAgICAgICAgICAgIDxtYXQtaGludD57e2ZpZWxkLmhpbnR9fTwvbWF0LWhpbnQ+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGZpZWxkLnN1YkNvbXBvbmVudHMgfHwgZmllbGQuY2xlYXJhYmxlIHx8IGlzUGVuZGluZygpKSB7XG4gICAgICAgICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXhcIj5cbiAgICAgICAgICAgICAgQGlmKGlzUGVuZGluZygpKXtcbiAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGRpYW1ldGVyPVwiMjFcIj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZihmaWVsZC5zdWJDb21wb25lbnRzIHx8IGZpZWxkLmNsZWFyYWJsZSl7XG4gICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIH0gICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgICAgPG1hdC1lcnJvciBtYXRFcnJvck1lc3NhZ2UgW3ZhbGlkYXRpb25zXT1cImZpZWxkLnZhbGlkYXRpb25zXCIgW2FzeW5jVmFsaWRhdGlvbnNdPVwiZmllbGQuYXN5bmNWYWxpZGF0aW9uc1wiPjwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5gLFxuICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfScsXG4gICAgJzo6bmctZGVlcCAuc2VsZWN0QWxsIHtwYWRkaW5nOiAwIDE2cHggMCA1cHggIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O30nLFxuICAgICc6Om5nLWRlZXAgLnNlbGVjdEFsbCAubWRjLWZvcm0tZmllbGQge3dpZHRoOiAxMDAlO30nLFxuICAgICc6Om5nLWRlZXAgLnNlbGVjdEFsbCAubWRjLWZvcm0tZmllbGQgLm1kYy1sYWJlbCB7d2lkdGg6IDEwMCU7ICBtaW4taGVpZ2h0OiA0OHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBkaXNwbGF5OiBmbGV4O30nLFxuICAgICc6Om5nLWRlZXAgLnNlbGVjdEFsbCAubWRjLWZvcm0tZmllbGQgLm1kYy1jaGVja2JveF9fcmlwcGxlIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fScsXG4gICAgYDo6bmctZGVlcCAuaGlkZS1jaGVja2JveCAubWF0LXBzZXVkby1jaGVja2JveCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgIH1gXSxcbiAgc3R5bGVVcmxzOiBbJy4uL3N0eWxlcy9sb2FkaW5nLXNlbGVjdC5zdHlsZS5zY3NzJywgJy4uL3N0eWxlcy9tYXQtc3VmZml4LnN0eWxlLnNjc3MnLCAnLi4vc3R5bGVzL21hdC1maWVsZC1ib3R0b20uc3R5bGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtU2VsZWN0U2VhcmNoQ29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc2VhcmNoQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgc2VsZWN0QWxsQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZmFsc2UpO1xuXG4gIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xuICBvcHRpb25zRmlsdGVyZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8YW55W10+KDEpO1xuXG4gIG9wZW5DaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIG9wZW5DbG9zZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBwcml2YXRlIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgQFZpZXdDaGlsZHJlbihNYXRPcHRpb24pIG9wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKHZpZXdSZWYpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGlmICh0aGlzLmZpZWxkLmxhenkpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgIGlmICh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KEFycmF5LmlzQXJyYXkodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlKSA/IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZSA6IFt0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVdKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub3BlbkNoYW5nZUV2ZW50KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLmZpZWxkLm9wdGlvbnM7XG4gICAgICB9XG4gICAgICBlbHNlIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zKCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5vcHRpb25zJCA9IG9mKHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgIHRoaXMub3B0aW9uc0ZpbHRlcmVkJC5uZXh0KG9wdGlvbnMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSksXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5maWVsZC5kZWJvdW5jZVRpbWUgfHwgMCksXG4gICAgICBzdGFydFdpdGgodGhpcy5zZWFyY2hDb250cm9sLnZhbHVlKSxcbiAgICAgIHN3aXRjaE1hcCh2YWx1ZSA9PiB7XG4gICAgICAgIHJldHVybiBjb25jYXQoXG4gICAgICAgICAgb2YoeyBsb2FkaW5nOiB0cnVlLCBvcHRpb25zOiBbXSB9KSxcbiAgICAgICAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlKHZhbHVlKS5waXBlKHRha2UoMSksIG1hcCgob3B0aW9ucykgPT4gKHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnMgfSkpKVxuICAgICAgICApXG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKCh7IGxvYWRpbmcsIG9wdGlvbnMgfSkgPT4ge1xuICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGxvYWRpbmcpO1xuICAgICAgdGhpcy5vcHRpb25zRmlsdGVyZWQkLm5leHQob3B0aW9ucyk7XG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmZpZWxkLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdEFsbENvbnRyb2wodGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlKTtcblxuICAgICAgKHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXSBhcyBGb3JtQ29udHJvbCkucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWVzLCBlbWl0Vmlld1RvTW9kZWxDaGFuZ2UpID0+IHtcbiAgICAgICAgaWYgKGVtaXRWaWV3VG9Nb2RlbENoYW5nZSkge1xuICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0QWxsQ29udHJvbCh2YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMub3BlbkNsb3NlZCQubmV4dCgpO1xuICAgIHRoaXMub3BlbkNsb3NlZCQuY29tcGxldGUoKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cblxuICB0b2dnbGVBbGxTZWxlY3Rpb24oc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuY2hlY2tlZCkge1xuICAgICAgdGhpcy5vcHRpb25zRmlsdGVyZWQkLnBpcGUodGFrZSgxKSwgbWFwKChvcHRpb25zKSA9PiBvcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiAhb3B0aW9uPy5kaXNhYmxlZCkpKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnBhdGNoVmFsdWUoW10pO1xuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgb3BlbkNoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkNoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcbiAgICAgICAgc3dpdGNoTWFwKChpc09wZW4pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5vbk9wZW5DaGFuZ2UoaXNPcGVuKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgKHRoaXMub3B0aW9ucyQgYXMgQmVoYXZpb3JTdWJqZWN0PGFueVtdPikubmV4dChvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zRmlsdGVyZWQkLm5leHQob3B0aW9ucyk7XG4gICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25PcGVuQ2hhbmdlKGlzT3BlbjogYm9vbGVhbik6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG5cbiAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQub3B0aW9ucy5waXBlKHRha2VVbnRpbCh0aGlzLm9wZW5DbG9zZWQkKSk7XG4gICAgICB9XG4gICAgICBlbHNlIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMoKS5waXBlKHRha2VVbnRpbCh0aGlzLm9wZW5DbG9zZWQkKSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuZmllbGQub3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgIT09IG51bGxcbiAgICAgICAgPyAoQXJyYXkuaXNBcnJheSh0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUpID9cbiAgICAgICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWUgOiBbdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnZhbHVlXSkgOiBbXSlcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25TZWFyY2hDaGFuZ2UodmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zJC5waXBlKG1hcChvcHRpb25zID0+IHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5zZWFyY2hLZXlzICYmIHRoaXMuZmllbGQuc2VhcmNoS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQuc2VhcmNoS2V5cy5zb21lKHNlYXJjaEtleSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbltzZWFyY2hLZXldKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uW3NlYXJjaEtleV0/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9KSB8fCAodGhpcy5maWVsZC5wcm9wZXJ0eSA/XG4gICAgICAgICAgICAgICAgb3B0aW9uW3RoaXMuZmllbGQucHJvcGVydHldPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTEgOiBmYWxzZSk7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLmZpZWxkLnByb3BlcnR5XT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTE7XG4gICAgICAgICAgfSk7XG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5DaGFuZ2UoJGV2ZW50OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZmllbGQubGF6eSkge1xuICAgICAgaWYgKCEkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5vcGVuQ2xvc2VkJC5uZXh0KCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW5DaGFuZ2UkLm5leHQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWVsZC52aXJ0dWFsU2Nyb2xsKSB7XG4gICAgICBpZiAoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoMCk7XG4gICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29tcGFyZUZuID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICBpZiAodGhpcy5maWVsZC5wcm9wZXJ0eSAmJiBvMSAmJiBvMikge1xuICAgICAgcmV0dXJuIG8xW3RoaXMuZmllbGQucHJvcGVydHldID09PSBvMlt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICB9XG4gICAgcmV0dXJuIG8xID09PSBvMjtcbiAgfVxuXG4gIHNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHtcbiAgICBpZiAodGhpcy5maWVsZC5tdWx0aXBsZSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RBbGxDb250cm9sKHNlbGVjdGlvbi52YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICB1cGRhdGVTZWxlY3RBbGxDb250cm9sKHZhbHVlcyk6IHZvaWQge1xuICAgIGlmICh2YWx1ZXMpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gKCh0aGlzLmZpZWxkLnByb3BlcnR5ICYmIHZhbHVlcykgPyB2YWx1ZXM/Lm1hcChzID0+IHNbdGhpcy5maWVsZC5wcm9wZXJ0eV0pIDogdmFsdWVzKTtcbiAgICAgIHRoaXMub3B0aW9uc0ZpbHRlcmVkJC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBtYXAoKG9wdGlvbnMpID0+IG9wdGlvbnM/LmZpbHRlcigob3B0aW9uKSA9PiAhb3B0aW9uPy5kaXNhYmxlZCkubWFwKChvcHRpb24pID0+ICh0aGlzLmZpZWxkLnByb3BlcnR5ID8gb3B0aW9uW3RoaXMuZmllbGQucHJvcGVydHldIDogb3B0aW9uKSkpLFxuICAgICAgICBtYXAob3B0aW9ucyA9PiB7XG4gICAgICAgICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA8IHNlbGVjdGVkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zLmV2ZXJ5KG8gPT4gc2VsZWN0ZWQuaW5jbHVkZXMobykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5sZW5ndGggPiAwICYmIG9wdGlvbnMubGVuZ3RoID09PSBzZWxlY3RlZC5sZW5ndGggJiYgc2VsZWN0ZWQuZXZlcnkocyA9PiBvcHRpb25zLmluY2x1ZGVzKHMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKS5zdWJzY3JpYmUoaXNDaGVja2VkID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbENvbnRyb2wuc2V0VmFsdWUoaXNDaGVja2VkLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi4vZW51bXMvdHlwZS5lbnVtJztcbmltcG9ydCB7IElLbGVzRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVudW1CdXR0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9lbnVtcy9idXR0b24tYXR0cmlidXRlLmVudW0nO1xuaW1wb3J0IHsgU3Vic2NyaXB0U2l6aW5nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtsZXNGaWVsZENvbmZpZyB7XG4gIHR5cGU/OiBFbnVtVHlwZTsvLyBNYXBwZXIgdHlwZSBpZih0eXBlICYmICFjb21wb25lbnQpPT50eXBlXG4gIG5hbWU6IHN0cmluZzsvLyBOYW1lIEZpZWxkIChrZXkgZm9yIEZvcm1Db250cm9sTmFtZSlcbiAgY29tcG9uZW50PzogVHlwZTxhbnk+O1xuICBpZD86IHN0cmluZzsvLyBBdHRyaWJ1dCBodG1sIGlkXG4gIGxhYmVsPzogc3RyaW5nOy8vIExhYmVsIGZpZWxkXG4gIHBsYWNlaG9sZGVyPzogYW55Oy8vIFBsYWNlaG9sZGVyIGZpZWxkXG4gIHRvb2x0aXA/OiBzdHJpbmc7Ly8gVG9vbHRpcCBmaWVsZFxuICBpbnB1dFR5cGU/OiAndGV4dCcgfCAnYnV0dG9uJyB8ICdjaGVja2JveCcgfCAnY29sb3InIHwgJ2RhdGUnIHwgJ2RhdGV0aW1lLWxvY2FsJyB8ICdlbWFpbCcgfCAnZmlsZScgfCAnaGlkZGVuJyB8ICdpbWFnZScgfCAnbW9udGgnIHwgJ251bWJlcicgfCAncGFzc3dvcmQnIHwgJ3JhZGlvJyB8ICdyYW5nZScgfCAncmVzZXQnIHwgJ3NlYXJjaCcgfCAnc3VibWl0JyB8ICd0ZWwnIHwgJ3RpbWUnIHwgJ3VybCcgfCAnd2Vlayc7Ly8gVHlwZVxuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiBhbnlbXSB8IFN1YmplY3Q8YW55W10+IHwgT2JzZXJ2YWJsZTxhbnlbXT4gfCAoKHZhbHVlPzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueVtdPik7IC8vIExpc3Qgb3B0aW9ucyBmb3IgbGlzdCBjb21wb25lbnRcbiAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnk7IH0gLy8gbmdjbGFzcyBmb3IgaG9zdCBmaWVsZFxuICBuZ0NsYXNzPzogYW55OyAvLyBuZ2NsYXNzIGZvciBmaWVsZFxuICBuZ1N0eWxlPzogYW55OyAvLyBuZ1N0eWxlIGZvciBmaWVsZFxuICBwcm9wZXJ0eT86IHN0cmluZzsvLyBQcm9wZXJ0eSBmb3IgZmllbGRcbiAgY29sbGVjdGlvbnM/OiBhbnk7Ly8gQ29sbGVjdGlvbnMgZm9yIHN1YmZpZWxkXG4gIHZhbHVlPzogYW55Oy8vIFZhbHVlIGZpZWxkXG4gIGFzeW5jVmFsdWU/OiBPYnNlcnZhYmxlPGFueT47Ly8gVmFsdWUgZmllbGRcbiAgbXVsdGlwbGU/OiBib29sZWFuOy8vIE11bHRpcGxlIHNlbGVjdGlvbiBmaWVsZFxuICBkaXNhYmxlZD86IGJvb2xlYW47Ly8gRGlzYWJsZWQgZmllbGRcbiAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjsvLyBBdXRvY29tcGxldGUgaW5wdXQgZmllbGRcbiAgYXV0b2NvbXBsZXRlQ29tcG9uZW50PzogVHlwZTxhbnk+Oy8vQXV0b2NvbXBsZXRlIGNvbXBvbmVudCB0byBkaXNwbGF5IGluIGxpc3Qgb3B0aW9uXG4gIGRpc3BsYXlXaXRoPzogKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpIHwgbnVsbDsgLy8gQXV0b2NvbXBsZXRlIGRpc3BsYXkgZm9ybWF0XG4gIHBhbmVsV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7Ly9XaXRoIGZvciBwYW5lbCBsaXN0IG9wdGlvblxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjsvLyBJbmRldGVybWluYXRlIGNoZWNrYWJsZSBjb21wb25lbnRcbiAgY29sb3I/OiBzdHJpbmc7IC8vTWF0ZXJpYWwgY29sb3JcbiAgaWNvbj86IHN0cmluZzsvL01hdGVyaWFsIGljb25cbiAgaWNvblN2Zz86IHN0cmluZzsvL1N2ZyBJY29uXG4gIHRleHRhcmVhQXV0b1NpemU/OiB7IG1pblJvd3M/OiBudW1iZXI7IG1heFJvd3M/OiBudW1iZXIgfVxuICB2YWxpZGF0aW9ucz86IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdO1xuICBhc3luY1ZhbGlkYXRpb25zPzogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXTtcbiAgcGlwZVRyYW5zZm9ybT86IHtcbiAgICBwaXBlOiBQaXBlVHJhbnNmb3JtLFxuICAgIG9wdGlvbnM/OiBhbnlbXVxuICB9W107XG4gIGRpcmVjdGlvbj86ICdjb2x1bW4nIHwgJ3JvdycgfCAnZ3JpZCcgfCAnaW5saW5lLWdyaWQnO1xuICB2YWx1ZUNoYW5nZXM/OiAoKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnLCBncm91cDogVW50eXBlZEZvcm1Hcm91cCwgc2libGluZ0ZpZWxkPzogSUtsZXNGaWVsZENvbmZpZ1tdLCB2YWx1ZUNoYW5nZWQ/OiBhbnkpID0+IHZvaWQpO1xuICB0cmlnZ2VyQ29tcG9uZW50PzogVHlwZTxhbnk+OyAvL3RyaWdnZXIgY29tcG9uZW50IHRvIGN1c3RvbWl6ZSB0cmlnZ2VyIGxhYmVsIGluIHNlbGVjdFxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjsgLy9UbyBhY3RpdmF0ZSB2aXJ0dWFsIHNjcm9sbFxuICBpdGVtU2l6ZT86IG51bWJlcjsgLy8gaXRlbVNpemUgZm9yIHZpcnR1YWwgc2Nyb2xsIHZpZXdwb3J0XG4gIHBlbmRpbmc/OiBib29sZWFuO1xuICBzZWFyY2hLZXlzPzogc3RyaW5nW107IC8vbGlzdCBvZiBrZXlzIGZvciBtdWx0aXBsZSBzZWFyY2hlc1xuICB1cGRhdGVPbj86ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCc7XG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcbiAgZGlyZWN0aXZlPzogKG5ldyAocmVmOiBWaWV3Q29udGFpbmVyUmVmLCBmaWVsZDogSUtsZXNGaWVsZCkgPT4gSUtsZXNEaXJlY3RpdmUpO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgbGF6eT86IGJvb2xlYW47XG4gIGJ1dHRvblR5cGU/OiAnc3VibWl0JyB8ICdidXR0b24nIHwgJ3Jlc2V0JztcbiAgYWNjZXB0Pzogc3RyaW5nO1xuICBkYXRlT3B0aW9ucz86IHtcbiAgICBhZGFwdGVyPzoge1xuICAgICAgY2xhc3M6IFR5cGU8RGF0ZUFkYXB0ZXI8YW55Pj4sXG4gICAgICBkZXBzPzogYW55W11cbiAgICB9LFxuICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgZGF0ZUZvcm1hdDogTWF0RGF0ZUZvcm1hdHNcbiAgfSxcbiAgaGludD86IHN0cmluZztcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjsgICAgLyphY3RpdmUgZGVmYXVsdCBjbGVhciBjb21wb25lbnQqL1xuICBjbGVhcmFibGVDb21wb25lbnQ/OiBUeXBlPGFueT47IC8qT3ZlcnJpZGUgZGVmYXVsdCBjbGVhciBjb21wb25lbnQqL1xuICBzdWJDb21wb25lbnRzPzogVHlwZTxhbnk+W107XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIGF0dHJpYnV0ZT86IEVudW1CdXR0b25BdHRyaWJ1dGU7XG4gIHN1YnNjcmlwdFNpemluZz86IFN1YnNjcmlwdFNpemluZztcbiAgbm9uTnVsbGFibGU/OiBib29sZWFuO1xuICBhcHBlYXJhbmNlPzogJ2ZpbGwnIHwgJ291dGxpbmUnIC8vIE1hdEZvcm0gZmllbGQgYXBwZWFyYW5jZVxuICBjb2xvck9wdGlvbj86IHtcbiAgICBkaXNhYmxlPzogYm9vbGVhbixcbiAgICBwb3NpdGlvbj86ICdhdXRvJyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tcmlnaHQnLFxuICAgIHBvc2l0aW9uT2Zmc2V0Pzogc3RyaW5nO1xuICAgIG1vZGU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi4vZW51bXMvdHlwZS5lbnVtJztcbmltcG9ydCB7IElLbGVzRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVudW1CdXR0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9lbnVtcy9idXR0b24tYXR0cmlidXRlLmVudW0nO1xuaW1wb3J0IHsgU3Vic2NyaXB0U2l6aW5nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtsZXNGaWVsZENvbmZpZyB7XG4gIHR5cGU/OiBFbnVtVHlwZTsvLyBNYXBwZXIgdHlwZSBpZih0eXBlICYmICFjb21wb25lbnQpPT50eXBlXG4gIG5hbWU6IHN0cmluZzsvLyBOYW1lIEZpZWxkIChrZXkgZm9yIEZvcm1Db250cm9sTmFtZSlcbiAgY29tcG9uZW50PzogVHlwZTxhbnk+O1xuICBpZD86IHN0cmluZzsvLyBBdHRyaWJ1dCBodG1sIGlkXG4gIGxhYmVsPzogc3RyaW5nOy8vIExhYmVsIGZpZWxkXG4gIHBsYWNlaG9sZGVyPzogYW55Oy8vIFBsYWNlaG9sZGVyIGZpZWxkXG4gIHRvb2x0aXA/OiBzdHJpbmc7Ly8gVG9vbHRpcCBmaWVsZFxuICBpbnB1dFR5cGU/OiAndGV4dCcgfCAnYnV0dG9uJyB8ICdjaGVja2JveCcgfCAnY29sb3InIHwgJ2RhdGUnIHwgJ2RhdGV0aW1lLWxvY2FsJyB8ICdlbWFpbCcgfCAnZmlsZScgfCAnaGlkZGVuJyB8ICdpbWFnZScgfCAnbW9udGgnIHwgJ251bWJlcicgfCAncGFzc3dvcmQnIHwgJ3JhZGlvJyB8ICdyYW5nZScgfCAncmVzZXQnIHwgJ3NlYXJjaCcgfCAnc3VibWl0JyB8ICd0ZWwnIHwgJ3RpbWUnIHwgJ3VybCcgfCAnd2Vlayc7Ly8gVHlwZVxuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiBhbnlbXSB8IFN1YmplY3Q8YW55W10+IHwgT2JzZXJ2YWJsZTxhbnlbXT4gfCAoKHZhbHVlPzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueVtdPik7IC8vIExpc3Qgb3B0aW9ucyBmb3IgbGlzdCBjb21wb25lbnRcbiAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnk7IH0gLy8gbmdjbGFzcyBmb3IgaG9zdCBmaWVsZFxuICBuZ0NsYXNzPzogYW55OyAvLyBuZ2NsYXNzIGZvciBmaWVsZFxuICBuZ1N0eWxlPzogYW55OyAvLyBuZ1N0eWxlIGZvciBmaWVsZFxuICBwcm9wZXJ0eT86IHN0cmluZzsvLyBQcm9wZXJ0eSBmb3IgZmllbGRcbiAgY29sbGVjdGlvbnM/OiBhbnk7Ly8gQ29sbGVjdGlvbnMgZm9yIHN1YmZpZWxkXG4gIHZhbHVlPzogYW55Oy8vIFZhbHVlIGZpZWxkXG4gIGFzeW5jVmFsdWU/OiBPYnNlcnZhYmxlPGFueT47Ly8gVmFsdWUgZmllbGRcbiAgbXVsdGlwbGU/OiBib29sZWFuOy8vIE11bHRpcGxlIHNlbGVjdGlvbiBmaWVsZFxuICBkaXNhYmxlZD86IGJvb2xlYW47Ly8gRGlzYWJsZWQgZmllbGRcbiAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjsvLyBBdXRvY29tcGxldGUgaW5wdXQgZmllbGRcbiAgYXV0b2NvbXBsZXRlQ29tcG9uZW50PzogVHlwZTxhbnk+Oy8vQXV0b2NvbXBsZXRlIGNvbXBvbmVudCB0byBkaXNwbGF5IGluIGxpc3Qgb3B0aW9uXG4gIGRpc3BsYXlXaXRoPzogKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpIHwgbnVsbDsgLy8gQXV0b2NvbXBsZXRlIGRpc3BsYXkgZm9ybWF0XG4gIHBhbmVsV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7Ly9XaXRoIGZvciBwYW5lbCBsaXN0IG9wdGlvblxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjsvLyBJbmRldGVybWluYXRlIGNoZWNrYWJsZSBjb21wb25lbnRcbiAgY29sb3I/OiBzdHJpbmc7IC8vTWF0ZXJpYWwgY29sb3JcbiAgaWNvbj86IHN0cmluZzsvL01hdGVyaWFsIGljb25cbiAgaWNvblN2Zz86IHN0cmluZzsvL1N2ZyBJY29uXG4gIHRleHRhcmVhQXV0b1NpemU/OiB7IG1pblJvd3M/OiBudW1iZXI7IG1heFJvd3M/OiBudW1iZXIgfVxuICB2YWxpZGF0aW9ucz86IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdO1xuICBhc3luY1ZhbGlkYXRpb25zPzogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXTtcbiAgcGlwZVRyYW5zZm9ybT86IHtcbiAgICBwaXBlOiBQaXBlVHJhbnNmb3JtLFxuICAgIG9wdGlvbnM/OiBhbnlbXVxuICB9W107XG4gIGRpcmVjdGlvbj86ICdjb2x1bW4nIHwgJ3JvdycgfCAnZ3JpZCcgfCAnaW5saW5lLWdyaWQnO1xuICB2YWx1ZUNoYW5nZXM/OiAoKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnLCBncm91cDogVW50eXBlZEZvcm1Hcm91cCwgc2libGluZ0ZpZWxkPzogSUtsZXNGaWVsZENvbmZpZ1tdLCB2YWx1ZUNoYW5nZWQ/OiBhbnkpID0+IHZvaWQpO1xuICB0cmlnZ2VyQ29tcG9uZW50PzogVHlwZTxhbnk+OyAvL3RyaWdnZXIgY29tcG9uZW50IHRvIGN1c3RvbWl6ZSB0cmlnZ2VyIGxhYmVsIGluIHNlbGVjdFxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjsgLy9UbyBhY3RpdmF0ZSB2aXJ0dWFsIHNjcm9sbFxuICBpdGVtU2l6ZT86IG51bWJlcjsgLy8gaXRlbVNpemUgZm9yIHZpcnR1YWwgc2Nyb2xsIHZpZXdwb3J0XG4gIHBlbmRpbmc/OiBib29sZWFuO1xuICBzZWFyY2hLZXlzPzogc3RyaW5nW107IC8vbGlzdCBvZiBrZXlzIGZvciBtdWx0aXBsZSBzZWFyY2hlc1xuICB1cGRhdGVPbj86ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCc7XG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcbiAgZGlyZWN0aXZlPzogKG5ldyAocmVmOiBWaWV3Q29udGFpbmVyUmVmLCBmaWVsZDogSUtsZXNGaWVsZCkgPT4gSUtsZXNEaXJlY3RpdmUpO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgbGF6eT86IGJvb2xlYW47XG4gIGJ1dHRvblR5cGU/OiAnc3VibWl0JyB8ICdidXR0b24nIHwgJ3Jlc2V0JztcbiAgYWNjZXB0Pzogc3RyaW5nO1xuICBkYXRlT3B0aW9ucz86IHtcbiAgICBhZGFwdGVyPzoge1xuICAgICAgY2xhc3M6IFR5cGU8RGF0ZUFkYXB0ZXI8YW55Pj4sXG4gICAgICBkZXBzPzogYW55W11cbiAgICB9LFxuICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgZGF0ZUZvcm1hdDogTWF0RGF0ZUZvcm1hdHNcbiAgfSxcbiAgaGludD86IHN0cmluZztcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjsgICAgLyphY3RpdmUgZGVmYXVsdCBjbGVhciBjb21wb25lbnQqL1xuICBjbGVhcmFibGVDb21wb25lbnQ/OiBUeXBlPGFueT47IC8qT3ZlcnJpZGUgZGVmYXVsdCBjbGVhciBjb21wb25lbnQqL1xuICBzdWJDb21wb25lbnRzPzogVHlwZTxhbnk+W107XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIGF0dHJpYnV0ZT86IEVudW1CdXR0b25BdHRyaWJ1dGU7XG4gIHN1YnNjcmlwdFNpemluZz86IFN1YnNjcmlwdFNpemluZztcbiAgbm9uTnVsbGFibGU/OiBib29sZWFuO1xuICBhcHBlYXJhbmNlPzogJ2ZpbGwnIHwgJ291dGxpbmUnIC8vIE1hdEZvcm0gZmllbGQgYXBwZWFyYW5jZVxuICBjb2xvck9wdGlvbj86IHtcbiAgICBkaXNhYmxlPzogYm9vbGVhbixcbiAgICBwb3NpdGlvbj86ICdhdXRvJyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tcmlnaHQnLFxuICAgIHBvc2l0aW9uT2Zmc2V0Pzogc3RyaW5nO1xuICAgIG1vZGU/OiAnY29sb3InIHwgJ2dyYXlzY2FsZScgfCAncHJlc2V0cycsXG4gICAgZm9ybWF0PzogJ2F1dG8nIHwgJ2hleCcgfCAncmdiYScgfCAnaHNsYSdcbiAgfSxcbiAgb25Gb2N1cz86ICgoZmllbGQ6IElLbGVzRmllbGRDb25maWcsIGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB2b2lkKTtcbiAgb25CbHVyPzogKChmaWVsZDogSUtsZXNGaWVsZENvbmZpZywgZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHZvaWQpO1xufVxuIl19
|