@esfaenza/forms-and-validations 13.3.3 → 13.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -98,7 +98,10 @@ export class FormSelectComponent extends BaseFormControl {
98
98
  }
99
99
  }
100
100
  detatchPreviousAndRetatchNext(doStuff) {
101
- this.Form.removeControl(this.validationControl);
101
+ if (this.validationControl)
102
+ this.Form.removeControl(this.validationControl);
103
+ else
104
+ console.log("Nothing to detatch");
102
105
  setTimeout(() => {
103
106
  doStuff(() => {
104
107
  if (this.validationControl)
@@ -150,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
150
153
  }], ShowValidationSymbol: [{
151
154
  type: Input
152
155
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFFckU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQStCcEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBUyxFQUF1QixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUI7UUFDOVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEM0IsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFsQ2xFOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFbEM7Ozs7V0FJRztRQUNNLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUNNLHdCQUFtQixHQUFXLElBQUksQ0FBQztRQUU1Qzs7OztXQUlHO1FBQ00sb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFFeEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBWSxJQUFJLENBQUM7SUFTOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUztZQUNWLE9BQU87UUFFWCxJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQ2xDLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFbkMsNEdBQTRHO1FBQzVHLElBQUksQ0FBQyxJQUFJO1lBQ0wsT0FBTztRQUVYLDBJQUEwSTtRQUMxSSx1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLElBQUk7WUFDTCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWQsb0RBQW9EO1FBQ3BELCtFQUErRTtRQUMvRSwyS0FBMks7UUFDM0ssSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xIOzs7Ozs7O2VBT0c7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUUzQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ1osSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7d0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUV2QyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQzthQUNOOztnQkFFRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN2QyxDQUFDLENBQUMsQ0FBQztZQUVQLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU8sNkJBQTZCLENBQUMsT0FBaUI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxJQUFJLENBQUMsaUJBQWlCO29CQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztxQkFFN0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2lCQUNoRDs7b0JBRUcsT0FBTyxDQUFDLEtBQUssQ0FBQyw0REFBNEQsSUFBSSxDQUFDLGFBQWEsNERBQTRELENBQUMsQ0FBQTtZQUNySyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7Z0hBbEhwQixtQkFBbUIsMklBb0NzRyxhQUFhLGlJQUErSCxhQUFhO29HQXBDbFIsbUJBQW1CLGtQQUpqQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLHNFQ2xCbkYscW1IQTREYzsyRkR0Q0QsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGFBQWEsYUFDWixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLG1CQUU5RCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFzQ3NCLFFBQVE7OzBCQUFJLElBQUk7OEJBQXlFLEtBQUs7MEJBQXBELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzRDQS9CbFIsV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLXNlbGVjdC5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgc2VsZXppb25hcmUgdW4gdmFsb3JlIGRhIHVuYSBsaXN0YSBkaSB2YWxvcmkgZGlzcG9uaWJpbGlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1zZWxlY3RcIixcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBpbCB0ZXN0byBkZWxsYSBMYWJlbCBmbG90dGFudGUgbWF0ZXJpYWwtc3R5bGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VsZWN0TGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBhbCBjb21wb25lbnRlIGRpIGNvbnNpZGVyYXJlIHF1ZXN0byB2YWxvcmUgY29tZSBcInZhbG9yZSBwbGFjZWhvbGRlclwiXHJcbiAgICAgKiBcclxuICAgICAqIFNpIGNvbnNpZ2xpYSBkaSBtYW50ZW5lcmUgaWwgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBQbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIE92ZXJyaWRlIGRlbCBwbGFjZWhvbGRlciBwZXIgc2VsZWN0IHJlcXVyaWVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFJlcXVpcmVkUGxhY2Vob2xkZXI6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBhbCBjb21wb25lbnRlIGRpIGNvbnNpZGVyYXJlIHF1ZXN0byB2YWxvcmUgY29tZSBcInZhbG9yZSB2dW90b1wiXHJcbiAgICAgKiBcclxuICAgICAqIFNpIGNvbnNpZ2xpYSBkaSBtYW50ZW5lcmUgaWwgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBFbXB0eUZpZWxkVmFsdWU6IHN0cmluZyA9ICctMic7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZSAqKnRydWUqKiByaW11b3ZlIGlsIHNpbWJvbGlubyBkaSB2YWxpZGF6aW9uZSAoY3JvY2Ugcm9zc2EgbyB0aWNrIHZlcmRlKVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTaG93VmFsaWRhdGlvblN5bWJvbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBsZXQgbmV3U291cmNlID0gY2hhbmdlc1tcIlNvdXJjZVwiXTtcclxuICAgICAgICBpZiAoIW5ld1NvdXJjZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBsZXQgY3VyciA9IG5ld1NvdXJjZS5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgbGV0IHByZXYgPSBuZXdTb3VyY2UucHJldmlvdXNWYWx1ZTtcclxuXHJcbiAgICAgICAgLy8gU2UgbWFuY2EgY3VyciB2dW9sIGRpcmUgY2hlIG5vbiBobyB1biB2YWxvcmUgZSBwb3NzbyBpZ25vcmFyZSAoYWxsYSBwZWdnaW8gZGV2ZSBhcnJpdmFybWkgdW4gYXJyYXkgdnVvdG8pXHJcbiAgICAgICAgaWYgKCFjdXJyKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vIFNlIG1hbmNhIHByZXYgdnVvbCBkaXJlIGNoZSDDqCBsYSBwcmltYSBhc3NlZ25hemlvbmUsIGxvIGNvbnNpZGVybyB1biBhcnJheSB2dW90byBlIHByb3NlZ3VvLi4uIG9nbmkgdGFudG8gdmllbmUgY2hpYW1hdG8gdW5hIHNvbGEgdm9sdGFcclxuICAgICAgICAvLyBvZ25pIHRhbnRvIHZpZW5lIGNoaWFtYXRvIGR1ZSB2b2x0ZS4uLiDDqCB1biBwZWxvIGFyYml0cmFyaW8gbWEgdmFiYsOoXHJcbiAgICAgICAgaWYgKCFwcmV2KVxyXG4gICAgICAgICAgICBwcmV2ID0gW107XHJcblxyXG4gICAgICAgIC8vIENvbnNpZGVybyBkaSBhdmVyIHJpY2V2dXRvIHVuYSBudW92YSBzb3JnZW50ZSBzZTpcclxuICAgICAgICAvLyAxOiBMYSBzb3JnZW50ZSBudW92YSBoYSB1biBudW1lcm8gZGkgZWxlbWVudGkgZGl2ZXJzbyBkYWxsYSBzb3JnZW50ZSB2ZWNjaGlhXHJcbiAgICAgICAgLy8gMjogU2lhIGxhIHNvcmdlbnRlIG51b3ZhIGNoZSB2ZWNjaGlhIGhhbm5vIGFsbWVubyB1biBlbGVtZW50byBlIGwnaWQgZGVsIHByaW1vIGVsZW1lbnRvIGRlbGxhIHNvcmdlbnRlIG51b3ZhIMOoIGRpdmVyc28gZGFsbCdpZCBkZWwgcHJpbW8gZWxlbWVudG8gZGVsbGEgc29yZ2VudGUgdmVjY2hpYVxyXG4gICAgICAgIGlmIChuZXdTb3VyY2UgJiYgKGN1cnIubGVuZ3RoICE9IHByZXYubGVuZ3RoIHx8IChjdXJyLmxlbmd0aCA+IDAgJiYgY3VyclswXVt0aGlzLklkRmllbGRdICE9IHByZXZbMF1bdGhpcy5JZEZpZWxkXSkpKSB7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAqIE5HQlVHOlxyXG4gICAgICAgICAgICAgKiBVc28gcXVlc3RvIGVzY2Ftb3RhZ2UgcGVyIGRpc3RydWdnZXJlIGlsIHZhbC1zZWxlY3QgZSByaWNyZWFybG9cclxuICAgICAgICAgICAgICogUHVydHJvcHBvIHVuYSB2b2x0YSBiaW5kYXRvIGEgdW5hIHNvcmdlbnRlLCBjYW1iaWFyZ2xpZWxhIHNvdHRvIHNpZ25pZmljYSBtYW5kYXJlIGluIHBhbGxhIG1hdGVyaWFsXHJcbiAgICAgICAgICAgICAqIGNoZSBzaSBtZXR0ZSBhIGZhciBmbG9hdHRhcmUgbGEgbGFiZWwgYW5jaGUgc2UgaWwgdmFsb3JlIGUnIHZ1b3RvXHJcbiAgICAgICAgICAgICAqIERpc3RydWdnZW5kbyBpbCBjb21wb25lbnRlIGUgcmljcmVhbmRvbG8gbWF0ZXJpYWwgcmlwYXJ0ZSBkYSAwIGUgbm9uIGRhJyBwcm9ibGVtaS5cclxuICAgICAgICAgICAgICogT3Z2aWFtZW50ZSBsbyBmYWNjaW8gc29sbyBxdWFuZG8gaG8gdW5hIFNlbGVjdExhYmVsLCBhbHRyaW1lbnRpIG5vbiBobyBwcm9ibGVtaSBkaSBmbG9hdHRhbWVudGlcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5Tb3VyY2VGaXJzdEJpbmQgJiYgdGhpcy5TZWxlY3RMYWJlbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoKGFmdGVyU3R1ZmYpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkJvdW5kU291cmNlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBhZnRlclN0dWZmKCk7IH0pXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhdGNoUHJldmlvdXNBbmRSZXRhdGNoTmV4dCgoYWZ0ZXJTdHVmZikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IGFmdGVyU3R1ZmYoKTsgfSlcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoZG9TdHVmZjogRnVuY3Rpb24pIHtcclxuICAgICAgICB0aGlzLkZvcm0ucmVtb3ZlQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZG9TdHVmZigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uQ29udHJvbClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZvcm0uYWRkQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uQ29udHJvbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkZvcm0uYWRkQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIGlsIGNvbXBvbmVudGUgZGkgdmFsaWRhYXppb25lIHBlciAke3RoaXMuR2VuZXJhdGVkTmFtZX0sIGxlIHZhbGlkYXppb25pIHBvdHJlYmJlcm8gZnVuemlvbmFyZSBpbiBtYW5pZXJhIGVycmF0aWNhYClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhRm9ybUxheW91dFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmIEJvdW5kU291cmNlXCIgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyB7e0Zvcm1Hcm91cENsYXNzfX1cIiBbY2xhc3MuYXBwLW1hcmdpbi1ib3R0b20tMF09XCJMYXN0XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbWQte3tMYWJlbENvbFdpZHRofX0gbS10LTVcIj57e0xhYmVsfX17e1JlcXVpcmVkID8gJyonIDogJyd9fTo8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC17e0lucHV0Q29sV2lkdGh9fVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250cm9sVGVtcGxhdGU+XHJcblxyXG4gICAgPCEtLSBTZWxlY3QgdnVvdGEgcGVyIHF1YW5kbyBub24gaG8gU29yZ2VudGkgZGF0aSBkYSBjdWkgc2VsZXppb25hcmUuIFVndWFsZSBpZGVudGljYSBhbGxhIHBpZW5hIG1hIHNlbnphIG9wdGlvblxyXG4gICAgUHVydHJvcHBvIGRldm9ubyBlc3NlcmUgZHVlIGNvbXBvbmVudGkgZGlzdGludGkgcGVyY2jDqSB1bmEgc2VsZWN0IHVuYSB2b2x0YSBjcmVhdGEgbm9uIHJpZXNjZSBwacO5IGFkIGFkYXR0YXJzaSBhaSBjYW1iaSBkaSBvcHRpb25zIC0tPlxyXG4gICAgPHZhbC1zZWxlY3QgKm5nSWY9XCIhQm91bmRTb3VyY2UgfHwgQm91bmRTb3VyY2UubGVuZ3RoID09IDBcIlxyXG4gICAgICAgICAgICAgICAgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiUmVxdWlyZWQgPyAncmVxdWlyZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbbm9WYWxpZGF0ZV09XCIhVmFsaWRhdGlvblwiXHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgW2ZvcmNlSW52YWxpZF09XCJGb3JjZWRFcnJvclwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiU2VsZWN0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRpb25GYWlsZWRdPVwiRmFpbGVkVmFsaWRhdGlvbk1lc3NhZ2VcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlJlcXVpcmVkID8gKChSZXF1aXJlZFBsYWNlaG9sZGVyICE9IG51bGwgPyBSZXF1aXJlZFBsYWNlaG9sZGVyIDogKCdTZWxlY3QnIHwgbG9jYWxpemUgOiBsYykgKyAnLi4uJykpICA6IFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlclZhbHVlXT1cIlBsYWNlaG9sZGVyVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW3N1Ym1pdHRlZF09XCJGb3JtPy5zdWJtaXR0ZWRcIlxyXG4gICAgICAgICAgICAgICAgW2VtcHR5RmllbGRWYWx1ZV09XCJSZXF1aXJlZCB8fCBQbGFjZWhvbGRlciB8fCBTZWxlY3RMYWJlbCA/IEVtcHR5RmllbGRWYWx1ZSA6ICcnXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uU3ltYm9sXT1cIlNob3dWYWxpZGF0aW9uU3ltYm9sXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJHZW5lcmF0ZWROYW1lXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fV96ZXJvXCJcclxuICAgICAgICAgICAgICAgIChpbnB1dENoYW5nZSk9XCJNb2RlbCA9ICRldmVudCA9PSBFbXB0eUZpZWxkVmFsdWUgPyAoUmVxdWlyZWQ/IFBsYWNlaG9sZGVyVmFsdWUgOiAnJykgOiAkZXZlbnQ7IGNoYW5nZWQoKTtcIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgICAjdmFsaWRhdGlvbkNvbnRyb2w9XCJuZ01vZGVsXCI+XHJcbiAgICA8L3ZhbC1zZWxlY3Q+XHJcblxyXG4gICAgPCEtLSBTZWxlY3QgdmVyYSBlIHByb3ByaWEgcGVyIHF1YW5kbyBhcnJpdmFubyBpIGRhdGkgLS0+XHJcbiAgICA8dmFsLXNlbGVjdCAqbmdJZj1cIkJvdW5kU291cmNlICYmIEJvdW5kU291cmNlLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgICAgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiUmVxdWlyZWQgPyAncmVxdWlyZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbbm9WYWxpZGF0ZV09XCIhVmFsaWRhdGlvblwiXHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgW2ZvcmNlSW52YWxpZF09XCJGb3JjZWRFcnJvclwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiU2VsZWN0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRpb25GYWlsZWRdPVwiRmFpbGVkVmFsaWRhdGlvbk1lc3NhZ2VcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uU3ltYm9sXT1cIlNob3dWYWxpZGF0aW9uU3ltYm9sXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJSZXF1aXJlZCA/ICgoUmVxdWlyZWRQbGFjZWhvbGRlciAhPSBudWxsID8gUmVxdWlyZWRQbGFjZWhvbGRlciA6ICgnU2VsZWN0JyB8IGxvY2FsaXplIDogbGMpICsgJy4uLicpKSA6IFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlclZhbHVlXT1cIlBsYWNlaG9sZGVyVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW3N1Ym1pdHRlZF09XCJGb3JtPy5zdWJtaXR0ZWRcIlxyXG4gICAgICAgICAgICAgICAgW2VtcHR5RmllbGRWYWx1ZV09XCJSZXF1aXJlZCB8fCBQbGFjZWhvbGRlciB8fCBTZWxlY3RMYWJlbCA/IEVtcHR5RmllbGRWYWx1ZSA6ICcnXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIkdlbmVyYXRlZE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7R2VuZXJhdGVkTmFtZX19X2ZpbGxlZFwiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiTW9kZWwgPSAkZXZlbnQgPT0gRW1wdHlGaWVsZFZhbHVlID8gKFJlcXVpcmVkPyBQbGFjZWhvbGRlclZhbHVlIDogJycpIDogJGV2ZW50OyBjaGFuZ2VkKCk7XCJcclxuICAgICAgICAgICAgICAgIChpbnB1dEZvY3VzKT1cImZvY3VzZWQoJGV2ZW50KTtcIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0RmluYWxpemVkKT1cImZpbmFsaXplZCgpXCJcclxuICAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIj5cclxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvYmogb2YgQm91bmRTb3VyY2VcIiBbdmFsdWVdPVwib2JqLmlkXCI+e3tvYmouZGVzY3JpcHRpb259fTwvb3B0aW9uPlxyXG4gICAgPC92YWwtc2VsZWN0PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFFckU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQStCcEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBUyxFQUF1QixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUI7UUFDOVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEM0IsT0FBRSxHQUFGLEVBQUUs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aUIsQ0FBQyxDQUFDO2lCQUNoRDs7b0JBRUcsT0FBTyxDQUFDLEtBQUssQ0FBQyw0REFBNEQsSUFBSSxDQUFDLGFBQWEsNERBQTRELENBQUMsQ0FBQTtZQUNySyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7Z0hBckhwQixtQkFBbUIsMklBb0NzRyxhQUFhLGlJQUErSCxhQUFhO29HQXBDbFIsbUJBQW1CLGtQQUpqQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLHNFQ2xCbkYscW1IQTREYzsyRkR0Q0QsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGFBQWEsYUFDWixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLG1CQUU5RCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFzQ3NCLFFBQVE7OzBCQUFJLElBQUk7OEJBQXlFLEtBQUs7MEJBQXBELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzRDQS9CbFIsV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLXNlbGVjdC5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgc2VsZXppb25hcmUgdW4gdmFsb3JlIGRhIHVuYSBsaXN0YSBkaSB2YWxvcmkgZGlzcG9uaWJpbGlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1zZWxlY3RcIixcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBpbCB0ZXN0byBkZWxsYSBMYWJlbCBmbG90dGFudGUgbWF0ZXJpYWwtc3R5bGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VsZWN0TGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBhbCBjb21wb25lbnRlIGRpIGNvbnNpZGVyYXJlIHF1ZXN0byB2YWxvcmUgY29tZSBcInZhbG9yZSBwbGFjZWhvbGRlclwiXHJcbiAgICAgKiBcclxuICAgICAqIFNpIGNvbnNpZ2xpYSBkaSBtYW50ZW5lcmUgaWwgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBQbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIE92ZXJyaWRlIGRlbCBwbGFjZWhvbGRlciBwZXIgc2VsZWN0IHJlcXVyaWVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFJlcXVpcmVkUGxhY2Vob2xkZXI6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBhbCBjb21wb25lbnRlIGRpIGNvbnNpZGVyYXJlIHF1ZXN0byB2YWxvcmUgY29tZSBcInZhbG9yZSB2dW90b1wiXHJcbiAgICAgKiBcclxuICAgICAqIFNpIGNvbnNpZ2xpYSBkaSBtYW50ZW5lcmUgaWwgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBFbXB0eUZpZWxkVmFsdWU6IHN0cmluZyA9ICctMic7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZSAqKnRydWUqKiByaW11b3ZlIGlsIHNpbWJvbGlubyBkaSB2YWxpZGF6aW9uZSAoY3JvY2Ugcm9zc2EgbyB0aWNrIHZlcmRlKVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTaG93VmFsaWRhdGlvblN5bWJvbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBsZXQgbmV3U291cmNlID0gY2hhbmdlc1tcIlNvdXJjZVwiXTtcclxuICAgICAgICBpZiAoIW5ld1NvdXJjZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBsZXQgY3VyciA9IG5ld1NvdXJjZS5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgbGV0IHByZXYgPSBuZXdTb3VyY2UucHJldmlvdXNWYWx1ZTtcclxuXHJcbiAgICAgICAgLy8gU2UgbWFuY2EgY3VyciB2dW9sIGRpcmUgY2hlIG5vbiBobyB1biB2YWxvcmUgZSBwb3NzbyBpZ25vcmFyZSAoYWxsYSBwZWdnaW8gZGV2ZSBhcnJpdmFybWkgdW4gYXJyYXkgdnVvdG8pXHJcbiAgICAgICAgaWYgKCFjdXJyKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vIFNlIG1hbmNhIHByZXYgdnVvbCBkaXJlIGNoZSDDqCBsYSBwcmltYSBhc3NlZ25hemlvbmUsIGxvIGNvbnNpZGVybyB1biBhcnJheSB2dW90byBlIHByb3NlZ3VvLi4uIG9nbmkgdGFudG8gdmllbmUgY2hpYW1hdG8gdW5hIHNvbGEgdm9sdGFcclxuICAgICAgICAvLyBvZ25pIHRhbnRvIHZpZW5lIGNoaWFtYXRvIGR1ZSB2b2x0ZS4uLiDDqCB1biBwZWxvIGFyYml0cmFyaW8gbWEgdmFiYsOoXHJcbiAgICAgICAgaWYgKCFwcmV2KVxyXG4gICAgICAgICAgICBwcmV2ID0gW107XHJcblxyXG4gICAgICAgIC8vIENvbnNpZGVybyBkaSBhdmVyIHJpY2V2dXRvIHVuYSBudW92YSBzb3JnZW50ZSBzZTpcclxuICAgICAgICAvLyAxOiBMYSBzb3JnZW50ZSBudW92YSBoYSB1biBudW1lcm8gZGkgZWxlbWVudGkgZGl2ZXJzbyBkYWxsYSBzb3JnZW50ZSB2ZWNjaGlhXHJcbiAgICAgICAgLy8gMjogU2lhIGxhIHNvcmdlbnRlIG51b3ZhIGNoZSB2ZWNjaGlhIGhhbm5vIGFsbWVubyB1biBlbGVtZW50byBlIGwnaWQgZGVsIHByaW1vIGVsZW1lbnRvIGRlbGxhIHNvcmdlbnRlIG51b3ZhIMOoIGRpdmVyc28gZGFsbCdpZCBkZWwgcHJpbW8gZWxlbWVudG8gZGVsbGEgc29yZ2VudGUgdmVjY2hpYVxyXG4gICAgICAgIGlmIChuZXdTb3VyY2UgJiYgKGN1cnIubGVuZ3RoICE9IHByZXYubGVuZ3RoIHx8IChjdXJyLmxlbmd0aCA+IDAgJiYgY3VyclswXVt0aGlzLklkRmllbGRdICE9IHByZXZbMF1bdGhpcy5JZEZpZWxkXSkpKSB7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAqIE5HQlVHOlxyXG4gICAgICAgICAgICAgKiBVc28gcXVlc3RvIGVzY2Ftb3RhZ2UgcGVyIGRpc3RydWdnZXJlIGlsIHZhbC1zZWxlY3QgZSByaWNyZWFybG9cclxuICAgICAgICAgICAgICogUHVydHJvcHBvIHVuYSB2b2x0YSBiaW5kYXRvIGEgdW5hIHNvcmdlbnRlLCBjYW1iaWFyZ2xpZWxhIHNvdHRvIHNpZ25pZmljYSBtYW5kYXJlIGluIHBhbGxhIG1hdGVyaWFsXHJcbiAgICAgICAgICAgICAqIGNoZSBzaSBtZXR0ZSBhIGZhciBmbG9hdHRhcmUgbGEgbGFiZWwgYW5jaGUgc2UgaWwgdmFsb3JlIGUnIHZ1b3RvXHJcbiAgICAgICAgICAgICAqIERpc3RydWdnZW5kbyBpbCBjb21wb25lbnRlIGUgcmljcmVhbmRvbG8gbWF0ZXJpYWwgcmlwYXJ0ZSBkYSAwIGUgbm9uIGRhJyBwcm9ibGVtaS5cclxuICAgICAgICAgICAgICogT3Z2aWFtZW50ZSBsbyBmYWNjaW8gc29sbyBxdWFuZG8gaG8gdW5hIFNlbGVjdExhYmVsLCBhbHRyaW1lbnRpIG5vbiBobyBwcm9ibGVtaSBkaSBmbG9hdHRhbWVudGlcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5Tb3VyY2VGaXJzdEJpbmQgJiYgdGhpcy5TZWxlY3RMYWJlbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoKGFmdGVyU3R1ZmYpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkJvdW5kU291cmNlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBhZnRlclN0dWZmKCk7IH0pXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhdGNoUHJldmlvdXNBbmRSZXRhdGNoTmV4dCgoYWZ0ZXJTdHVmZikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IGFmdGVyU3R1ZmYoKTsgfSlcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoZG9TdHVmZjogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZih0aGlzLnZhbGlkYXRpb25Db250cm9sKVxyXG4gICAgICAgICAgICB0aGlzLkZvcm0ucmVtb3ZlQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTm90aGluZyB0byBkZXRhdGNoXCIpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBkb1N0dWZmKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25Db250cm9sKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRm9ybS5hZGRDb250cm9sKHRoaXMudmFsaWRhdGlvbkNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25Db250cm9sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRm9ybS5hZGRDb250cm9sKHRoaXMudmFsaWRhdGlvbkNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEltcG9zc2liaWxlIGFnZ2l1bmdlcmUgaWwgY29tcG9uZW50ZSBkaSB2YWxpZGFhemlvbmUgcGVyICR7dGhpcy5HZW5lcmF0ZWROYW1lfSwgbGUgdmFsaWRhemlvbmkgcG90cmViYmVybyBmdW56aW9uYXJlIGluIG1hbmllcmEgZXJyYXRpY2FgKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFGb3JtTGF5b3V0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiAqbmdJZj1cIkZvcm1MYXlvdXQgJiYgQm91bmRTb3VyY2VcIiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IHt7Rm9ybUdyb3VwQ2xhc3N9fVwiIFtjbGFzcy5hcHAtbWFyZ2luLWJvdHRvbS0wXT1cIkxhc3RcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17e0xhYmVsQ29sV2lkdGh9fSBtLXQtNVwiPnt7TGFiZWx9fXt7UmVxdWlyZWQgPyAnKicgOiAnJ319OjwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLXt7SW5wdXRDb2xXaWR0aH19XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cclxuXHJcbiAgICA8IS0tIFNlbGVjdCB2dW90YSBwZXIgcXVhbmRvIG5vbiBobyBTb3JnZW50aSBkYXRpIGRhIGN1aSBzZWxlemlvbmFyZS4gVWd1YWxlIGlkZW50aWNhIGFsbGEgcGllbmEgbWEgc2VuemEgb3B0aW9uXHJcbiAgICBQdXJ0cm9wcG8gZGV2b25vIGVzc2VyZSBkdWUgY29tcG9uZW50aSBkaXN0aW50aSBwZXJjaMOpIHVuYSBzZWxlY3QgdW5hIHZvbHRhIGNyZWF0YSBub24gcmllc2NlIHBpw7kgYWQgYWRhdHRhcnNpIGFpIGNhbWJpIGRpIG9wdGlvbnMgLS0+XHJcbiAgICA8dmFsLXNlbGVjdCAqbmdJZj1cIiFCb3VuZFNvdXJjZSB8fCBCb3VuZFNvdXJjZS5sZW5ndGggPT0gMFwiXHJcbiAgICAgICAgICAgICAgICBbRm9jdXNTdWJqZWN0XT1cIkZvY3VzU3ViamVjdFwiIFtGaWVsZEFwcGVhcmVuY2VdPVwiRmllbGRBcHBlYXJlbmNlXCJcclxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJSZXF1aXJlZCA/ICdyZXF1aXJlZCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbZm9yY2VJbnZhbGlkXT1cIkZvcmNlZEVycm9yXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJTZWxlY3RMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiUmVxdWlyZWQgPyAoKFJlcXVpcmVkUGxhY2Vob2xkZXIgIT0gbnVsbCA/IFJlcXVpcmVkUGxhY2Vob2xkZXIgOiAoJ1NlbGVjdCcgfCBsb2NhbGl6ZSA6IGxjKSArICcuLi4nKSkgIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyVmFsdWVdPVwiUGxhY2Vob2xkZXJWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc3VibWl0dGVkXT1cIkZvcm0/LnN1Ym1pdHRlZFwiXHJcbiAgICAgICAgICAgICAgICBbZW1wdHlGaWVsZFZhbHVlXT1cIlJlcXVpcmVkIHx8IFBsYWNlaG9sZGVyIHx8IFNlbGVjdExhYmVsID8gRW1wdHlGaWVsZFZhbHVlIDogJydcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25TeW1ib2xdPVwiU2hvd1ZhbGlkYXRpb25TeW1ib2xcIlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIkdlbmVyYXRlZE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7R2VuZXJhdGVkTmFtZX19X3plcm9cIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cIk1vZGVsID0gJGV2ZW50ID09IEVtcHR5RmllbGRWYWx1ZSA/IChSZXF1aXJlZD8gUGxhY2Vob2xkZXJWYWx1ZSA6ICcnKSA6ICRldmVudDsgY2hhbmdlZCgpO1wiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXRGb2N1cyk9XCJmb2N1c2VkKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIj5cclxuICAgIDwvdmFsLXNlbGVjdD5cclxuXHJcbiAgICA8IS0tIFNlbGVjdCB2ZXJhIGUgcHJvcHJpYSBwZXIgcXVhbmRvIGFycml2YW5vIGkgZGF0aSAtLT5cclxuICAgIDx2YWwtc2VsZWN0ICpuZ0lmPVwiQm91bmRTb3VyY2UgJiYgQm91bmRTb3VyY2UubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAgICBbRm9jdXNTdWJqZWN0XT1cIkZvY3VzU3ViamVjdFwiIFtGaWVsZEFwcGVhcmVuY2VdPVwiRmllbGRBcHBlYXJlbmNlXCJcclxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJSZXF1aXJlZCA/ICdyZXF1aXJlZCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbZm9yY2VJbnZhbGlkXT1cIkZvcmNlZEVycm9yXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJTZWxlY3RMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25TeW1ib2xdPVwiU2hvd1ZhbGlkYXRpb25TeW1ib2xcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlJlcXVpcmVkID8gKChSZXF1aXJlZFBsYWNlaG9sZGVyICE9IG51bGwgPyBSZXF1aXJlZFBsYWNlaG9sZGVyIDogKCdTZWxlY3QnIHwgbG9jYWxpemUgOiBsYykgKyAnLi4uJykpIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyVmFsdWVdPVwiUGxhY2Vob2xkZXJWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc3VibWl0dGVkXT1cIkZvcm0/LnN1Ym1pdHRlZFwiXHJcbiAgICAgICAgICAgICAgICBbZW1wdHlGaWVsZFZhbHVlXT1cIlJlcXVpcmVkIHx8IFBsYWNlaG9sZGVyIHx8IFNlbGVjdExhYmVsID8gRW1wdHlGaWVsZFZhbHVlIDogJydcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiR2VuZXJhdGVkTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwie3tHZW5lcmF0ZWROYW1lfX1fZmlsbGVkXCJcclxuICAgICAgICAgICAgICAgIChpbnB1dENoYW5nZSk9XCJNb2RlbCA9ICRldmVudCA9PSBFbXB0eUZpZWxkVmFsdWUgPyAoUmVxdWlyZWQ/IFBsYWNlaG9sZGVyVmFsdWUgOiAnJykgOiAkZXZlbnQ7IGNoYW5nZWQoKTtcIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXRGaW5hbGl6ZWQpPVwiZmluYWxpemVkKClcIlxyXG4gICAgICAgICAgICAgICAgI3ZhbGlkYXRpb25Db250cm9sPVwibmdNb2RlbFwiPlxyXG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9iaiBvZiBCb3VuZFNvdXJjZVwiIFt2YWx1ZV09XCJvYmouaWRcIj57e29iai5kZXNjcmlwdGlvbn19PC9vcHRpb24+XHJcbiAgICA8L3ZhbC1zZWxlY3Q+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -3045,7 +3045,10 @@ class FormSelectComponent extends BaseFormControl {
3045
3045
  }
3046
3046
  }
3047
3047
  detatchPreviousAndRetatchNext(doStuff) {
3048
- this.Form.removeControl(this.validationControl);
3048
+ if (this.validationControl)
3049
+ this.Form.removeControl(this.validationControl);
3050
+ else
3051
+ console.log("Nothing to detatch");
3049
3052
  setTimeout(() => {
3050
3053
  doStuff(() => {
3051
3054
  if (this.validationControl)