@esfaenza/forms-and-validations 11.2.51 → 11.2.54

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.
Files changed (32) hide show
  1. package/bundles/esfaenza-forms-and-validations.umd.js +146 -27
  2. package/bundles/esfaenza-forms-and-validations.umd.js.map +1 -1
  3. package/esfaenza-forms-and-validations.metadata.json +1 -1
  4. package/esm2015/lib/forms/base-form-control.js +28 -2
  5. package/esm2015/lib/forms/form-adaptive/form-adaptive.component.js +22 -8
  6. package/esm2015/lib/forms/form-autocomplete/form-autocomplete.component.js +2 -2
  7. package/esm2015/lib/forms/form-checkbox/form-checkbox.component.js +2 -2
  8. package/esm2015/lib/forms/form-date/form-date.component.js +2 -2
  9. package/esm2015/lib/forms/form-datetime/form-datetime.component.js +2 -2
  10. package/esm2015/lib/forms/form-input/form-input.component.js +2 -2
  11. package/esm2015/lib/forms/form-multiselect/form-multiselect.component.js +2 -1
  12. package/esm2015/lib/forms/form-select/form-select.component.js +2 -2
  13. package/esm2015/lib/forms/form-textarea/form-textarea.component.js +2 -2
  14. package/esm2015/lib/validations/base-validation.js +37 -2
  15. package/esm2015/lib/validations/validation-autocomplete/validation-autocomplete.component.js +7 -7
  16. package/esm2015/lib/validations/validation-currency/validation-currency.component.js +14 -2
  17. package/esm2015/lib/validations/validation-date/validation-date.component.js +9 -2
  18. package/esm2015/lib/validations/validation-datetime/validation-datetime.component.js +9 -2
  19. package/esm2015/lib/validations/validation-input/validation-input.component.js +4 -2
  20. package/esm2015/lib/validations/validation-select/validation-select.component.js +4 -2
  21. package/esm2015/lib/validations/validation-text-area/validation-text-area.component.js +14 -2
  22. package/fesm2015/esfaenza-forms-and-validations.js +145 -27
  23. package/fesm2015/esfaenza-forms-and-validations.js.map +1 -1
  24. package/lib/forms/base-form-control.d.ts +24 -0
  25. package/lib/forms/form-adaptive/form-adaptive.component.d.ts +8 -0
  26. package/lib/validations/base-validation.d.ts +35 -2
  27. package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +2 -3
  28. package/lib/validations/validation-currency/validation-currency.component.d.ts +8 -0
  29. package/lib/validations/validation-date/validation-date.component.d.ts +4 -0
  30. package/lib/validations/validation-datetime/validation-datetime.component.d.ts +4 -0
  31. package/lib/validations/validation-text-area/validation-text-area.component.d.ts +8 -0
  32. package/package.json +1 -1
@@ -26,7 +26,7 @@ export class FormCheckboxComponent extends BaseFormControl {
26
26
  FormCheckboxComponent.decorators = [
27
27
  { type: Component, args: [{
28
28
  selector: "form-checkbox",
29
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <input class=\"app-pointer\" [disabled]=\"Readonly ? true : null\" type=\"checkbox\" [(ngModel)]=\"Model\" id=\"{{GeneratedName}}\" name=\"{{GeneratedName}}\" #validationControl=\"ngModel\" (ngModelChange)=\"changed();\" (click)=\"focused($event)\" />\r\n</ng-template>",
29
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <input class=\"app-pointer\" [disabled]=\"Readonly ? true : null\" type=\"checkbox\" [(ngModel)]=\"Model\" id=\"{{GeneratedName}}\" name=\"{{GeneratedName}}\" #validationControl=\"ngModel\" (ngModelChange)=\"changed(); finalized()\" (click)=\"focused($event)\" />\r\n</ng-template>",
30
30
  changeDetection: ChangeDetectionStrategy.OnPush
31
31
  },] }
32
32
  ];
@@ -38,4 +38,4 @@ FormCheckboxComponent.ctorParameters = () => [
38
38
  { type: ComponentContext, decorators: [{ type: Optional }] },
39
39
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] }
40
40
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFFdEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBc0IsU0FBb0IsRUFBNkMsV0FBdUIsRUFBRSxFQUF3QixFQUFjLFVBQTRCLEVBQXFDLGFBQXNCO1FBQzNRLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsS0FBVyxDQUFDOzs7WUFuQmhDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsZzJCQUEyQztnQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQVRRLGlCQUFpQjtZQVJvQixTQUFTLHVCQXlCZCxRQUFRLFlBQUksSUFBSTtZQUFpRixLQUFLLHVCQUE1RCxRQUFRLFlBQUksSUFBSSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBdEJsSCxvQkFBb0I7WUFBRSxnQkFBZ0IsdUJBc0JrSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmLCBIb3N0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSByYXBwcmVzZW50YW50ZSB1bmEgY2hlY2tib3hcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBIb3N0KCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVkgOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LEFDT19DVVNUT01LRVksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG59Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFFdEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBc0IsU0FBb0IsRUFBNkMsV0FBdUIsRUFBRSxFQUF3QixFQUFjLFVBQTRCLEVBQXFDLGFBQXNCO1FBQzNRLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsS0FBVyxDQUFDOzs7WUFuQmhDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsNDJCQUEyQztnQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQVRRLGlCQUFpQjtZQVJvQixTQUFTLHVCQXlCZCxRQUFRLFlBQUksSUFBSTtZQUFpRixLQUFLLHVCQUE1RCxRQUFRLFlBQUksSUFBSSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBdEJsSCxvQkFBb0I7WUFBRSxnQkFBZ0IsdUJBc0JrSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmLCBIb3N0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSByYXBwcmVzZW50YW50ZSB1bmEgY2hlY2tib3hcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBIb3N0KCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVkgOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LEFDT19DVVNUT01LRVksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG59Il19
@@ -31,7 +31,7 @@ export class FormDateComponent extends BaseFormControl {
31
31
  FormDateComponent.decorators = [
32
32
  { type: Component, args: [{
33
33
  selector: "form-date",
34
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-date [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\"\r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-date>\r\n</ng-template>",
34
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-date [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\"\r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-date>\r\n</ng-template>",
35
35
  changeDetection: ChangeDetectionStrategy.OnPush
36
36
  },] }
37
37
  ];
@@ -46,4 +46,4 @@ FormDateComponent.ctorParameters = () => [
46
46
  FormDateComponent.propDecorators = {
47
47
  JsDates: [{ type: Input }]
48
48
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zL2Zvcm0tZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBT2xEOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFzQjtRQUMvUSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVh0RTs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHd3Q0FBdUM7Z0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFUUSxpQkFBaUI7WUFUb0IsU0FBUyx1QkErQmQsUUFBUSxZQUFJLElBQUk7WUFBeUUsS0FBSyx1QkFBcEQsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBM0IxRyxvQkFBb0IsdUJBMkJrSCxRQUFRO1lBM0J4SCxnQkFBZ0IsdUJBMkJzSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7OztzQkFQMVAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgZMOgIGFsbCd1dGVudGUgbGEgcG9zc2liaWxpdMOgIGRpIHNlbGV6aW9uYXJlIHVuYSBkYXRhXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tZGF0ZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1kYXRlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybURhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXp6YSBpbCBEYXRlIGRpIEphdmFzY3JpcHQgY29tZSBtb2RlbGxvIGluIHVzY2l0YS4gSWwgbW9kZWxsbyBpbiBlbnRyYXRhIHZlcnLDoCBjb211bnF1ZSByaWNvbmRvdHRvIGEgdW4gRGF5SnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgSnNEYXRlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmUgXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVkgOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zL2Zvcm0tZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBT2xEOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFzQjtRQUMvUSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVh0RTs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGc0Q0FBdUM7Z0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFUUSxpQkFBaUI7WUFUb0IsU0FBUyx1QkErQmQsUUFBUSxZQUFJLElBQUk7WUFBeUUsS0FBSyx1QkFBcEQsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBM0IxRyxvQkFBb0IsdUJBMkJrSCxRQUFRO1lBM0J4SCxnQkFBZ0IsdUJBMkJzSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7OztzQkFQMVAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgZMOgIGFsbCd1dGVudGUgbGEgcG9zc2liaWxpdMOgIGRpIHNlbGV6aW9uYXJlIHVuYSBkYXRhXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tZGF0ZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1kYXRlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybURhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXp6YSBpbCBEYXRlIGRpIEphdmFzY3JpcHQgY29tZSBtb2RlbGxvIGluIHVzY2l0YS4gSWwgbW9kZWxsbyBpbiBlbnRyYXRhIHZlcnLDoCBjb211bnF1ZSByaWNvbmRvdHRvIGEgdW4gRGF5SnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgSnNEYXRlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmUgXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVkgOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
@@ -31,7 +31,7 @@ export class FormDateTimeComponent extends BaseFormControl {
31
31
  FormDateTimeComponent.decorators = [
32
32
  { type: Component, args: [{
33
33
  selector: "form-datetime",
34
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-datetime [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [id]=\"GeneratedName\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-datetime>\r\n</ng-template>",
34
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-datetime [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [id]=\"GeneratedName\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-datetime>\r\n</ng-template>",
35
35
  changeDetection: ChangeDetectionStrategy.OnPush
36
36
  },] }
37
37
  ];
@@ -46,4 +46,4 @@ FormDateTimeComponent.ctorParameters = () => [
46
46
  FormDateTimeComponent.propDecorators = {
47
47
  JsDates: [{ type: Input }]
48
48
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWRhdGV0aW1lL2Zvcm0tZGF0ZXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBT3REOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFzQjtRQUMvUSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVh0RTs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGsxQ0FBMkM7Z0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFUUSxpQkFBaUI7WUFUb0IsU0FBUyx1QkErQmQsUUFBUSxZQUFJLElBQUk7WUFBeUUsS0FBSyx1QkFBcEQsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBM0IxRyxvQkFBb0IsdUJBMkJrSCxRQUFRO1lBM0J4SCxnQkFBZ0IsdUJBMkJzSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7OztzQkFQMVAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgZMOgIGFsbCd1dGVudGUgbGEgcG9zc2liaWxpdMOgIGRpIHNlbGV6aW9uYXJlIHVuYSBkYXRhIGluc2llbWUgYWQgdW4gb3JhcmlvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tZGF0ZXRpbWVcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogVXRpbGl6emEgaWwgRGF0ZSBkaSBKYXZhc2NyaXB0IGNvbWUgbW9kZWxsbyBpbiB1c2NpdGEuIElsIG1vZGVsbG8gaW4gZW50cmF0YSB2ZXJyw6AgY29tdW5xdWUgcmljb25kb3R0byBhIHVuIERheUpzXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEpzRGF0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZIDogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWRhdGV0aW1lL2Zvcm0tZGF0ZXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBT3REOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFzQjtRQUMvUSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVh0RTs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLCs4Q0FBMkM7Z0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFUUSxpQkFBaUI7WUFUb0IsU0FBUyx1QkErQmQsUUFBUSxZQUFJLElBQUk7WUFBeUUsS0FBSyx1QkFBcEQsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBM0IxRyxvQkFBb0IsdUJBMkJrSCxRQUFRO1lBM0J4SCxnQkFBZ0IsdUJBMkJzSSxRQUFRO3lDQUFrQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7OztzQkFQMVAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgZMOgIGFsbCd1dGVudGUgbGEgcG9zc2liaWxpdMOgIGRpIHNlbGV6aW9uYXJlIHVuYSBkYXRhIGluc2llbWUgYWQgdW4gb3JhcmlvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tZGF0ZXRpbWVcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogVXRpbGl6emEgaWwgRGF0ZSBkaSBKYXZhc2NyaXB0IGNvbWUgbW9kZWxsbyBpbiB1c2NpdGEuIElsIG1vZGVsbG8gaW4gZW50cmF0YSB2ZXJyw6AgY29tdW5xdWUgcmljb25kb3R0byBhIHVuIERheUpzXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEpzRGF0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZIDogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
@@ -54,7 +54,7 @@ export class FormInputComponent extends BaseFormControl {
54
54
  FormInputComponent.decorators = [
55
55
  { type: Component, args: [{
56
56
  selector: "form-input",
57
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-input [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n type=\"text\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n autocomplete=\"off\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [Password]=\"Password\">\r\n <ng-container *ngIf=\"HasSuffix\">\r\n <ng-template #suffix_internal>\r\n <button type=\"button\" class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-suffix\"\r\n matSuffix (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <ng-template #prefix_internal>\r\n <button type=\"button\" class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-prefix\"\r\n matPrefix (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </val-input>\r\n</ng-template>",
57
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-input [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n type=\"text\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n autocomplete=\"off\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [Password]=\"Password\">\r\n <ng-container *ngIf=\"HasSuffix\">\r\n <ng-template #suffix_internal>\r\n <button type=\"button\" class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-suffix\"\r\n matSuffix (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <ng-template #prefix_internal>\r\n <button type=\"button\" class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-prefix\"\r\n matPrefix (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </val-input>\r\n</ng-template>",
58
58
  changeDetection: ChangeDetectionStrategy.OnPush
59
59
  },] }
60
60
  ];
@@ -73,4 +73,4 @@ FormInputComponent.propDecorators = {
73
73
  suffix: [{ type: ContentChild, args: ["suffix", { static: false },] }],
74
74
  prefix: [{ type: ContentChild, args: ["prefix", { static: false },] }]
75
75
  };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBcUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUI7UUFDOVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUMsYUFBYSxDQUFDLENBQUM7UUF6Q3JFOztXQUVHO1FBQ2EsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQzs7V0FFRztRQUNPLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEU7O1dBRUc7UUFDTyxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBWXhFOztXQUVHO1FBQ0ksY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVsQzs7V0FFRztRQUNJLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixLQUFXLENBQUM7OztZQTlEaEMsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiw4MEVBQXdDO2dCQUN4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBVFEsaUJBQWlCO1lBUm9CLFNBQVMsdUJBNERkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXREMUcsb0JBQW9CLHVCQXNEa0gsUUFBUTtZQXREeEgsZ0JBQWdCLHVCQXNEc0ksUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzs7dUJBckMxUCxLQUFLOzZCQUtMLE1BQU07NkJBS04sTUFBTTtxQkFLTixZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFLeEMsWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIFNlbXBsaWNlIGNvbXBvbmVudGUgZGkgSW5wdXQgdGVzdHVhbGUsIGNvbiBldmVudHVhbGUgcHJlZmlzc28vc3VmZmlzc29cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1pbnB1dFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBsJ2lucHV0IHJlbGF0aXZvIMOoIGRpIHRpcG8gUGFzc3dvcmRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIFBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWxlZ2F0byBwZXIgbCdlc2VjdXppb25lIGRpIHVuJ29wZXJhemlvbmUgYWwgY2xpY2sgZGVsIHN1ZmZpc3NvXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvblN1ZmZpeEFjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVsZWdhdG8gcGVyIGwnZXNlY3V6aW9uZSBkaSB1bidvcGVyYXppb25lIGFsIGNsaWNrIGRlbCBwcmVmaXNzb1xyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25QcmVmaXhBY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVsZW1lbnRvIGNoZSBjb250aWVuZSBsYSBwcm9pZXppb25lIGRlbGwnSFRNTCBkZWwgc3VmZmlzc29cclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZChcInN1ZmZpeFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgc3VmZml4O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWxlbWVudG8gY2hlIGNvbnRpZW5lIGxhIHByb2llemlvbmUgZGVsbCdIVE1MIGRlbCBwcmVmaXNzb1xyXG4gICAgICovXHJcbiAgICBAQ29udGVudENoaWxkKFwicHJlZml4XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwcmVmaXg7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcHJlc2VuemEgbyBtZW5vIGRpIHVuIHN1ZmZpc3NvLCBzaSBiYXNhIHN1bGxhIFwidHJ1dGhpbmVzc1wiIGRlbGxhIHByb2llemlvbmUgKipzdWZmaXgqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSGFzU3VmZml4OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcHJlc2VuemEgbyBtZW5vIGRpIHVuIHByZWZpc3NvLCBzaSBiYXNhIHN1bGxhIFwidHJ1dGhpbmVzc1wiIGRlbGxhIHByb2llemlvbmUgKipwcmVmaXgqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSGFzUHJlZml4OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCxBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuSGFzU3VmZml4ID0gISF0aGlzLnN1ZmZpeDtcclxuICAgICAgICB0aGlzLkhhc1ByZWZpeCA9ICEhdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBcUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUI7UUFDOVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUMsYUFBYSxDQUFDLENBQUM7UUF6Q3JFOztXQUVHO1FBQ2EsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQzs7V0FFRztRQUNPLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEU7O1dBRUc7UUFDTyxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBWXhFOztXQUVHO1FBQ0ksY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVsQzs7V0FFRztRQUNJLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFTbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixLQUFXLENBQUM7OztZQTlEaEMsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0Qix5OUVBQXdDO2dCQUN4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBVFEsaUJBQWlCO1lBUm9CLFNBQVMsdUJBNERkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXREMUcsb0JBQW9CLHVCQXNEa0gsUUFBUTtZQXREeEgsZ0JBQWdCLHVCQXNEc0ksUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzs7dUJBckMxUCxLQUFLOzZCQUtMLE1BQU07NkJBS04sTUFBTTtxQkFLTixZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFLeEMsWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIFNlbXBsaWNlIGNvbXBvbmVudGUgZGkgSW5wdXQgdGVzdHVhbGUsIGNvbiBldmVudHVhbGUgcHJlZmlzc28vc3VmZmlzc29cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1pbnB1dFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBsJ2lucHV0IHJlbGF0aXZvIMOoIGRpIHRpcG8gUGFzc3dvcmRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIFBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWxlZ2F0byBwZXIgbCdlc2VjdXppb25lIGRpIHVuJ29wZXJhemlvbmUgYWwgY2xpY2sgZGVsIHN1ZmZpc3NvXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvblN1ZmZpeEFjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVsZWdhdG8gcGVyIGwnZXNlY3V6aW9uZSBkaSB1bidvcGVyYXppb25lIGFsIGNsaWNrIGRlbCBwcmVmaXNzb1xyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25QcmVmaXhBY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVsZW1lbnRvIGNoZSBjb250aWVuZSBsYSBwcm9pZXppb25lIGRlbGwnSFRNTCBkZWwgc3VmZmlzc29cclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZChcInN1ZmZpeFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgc3VmZml4O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWxlbWVudG8gY2hlIGNvbnRpZW5lIGxhIHByb2llemlvbmUgZGVsbCdIVE1MIGRlbCBwcmVmaXNzb1xyXG4gICAgICovXHJcbiAgICBAQ29udGVudENoaWxkKFwicHJlZml4XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwcmVmaXg7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcHJlc2VuemEgbyBtZW5vIGRpIHVuIHN1ZmZpc3NvLCBzaSBiYXNhIHN1bGxhIFwidHJ1dGhpbmVzc1wiIGRlbGxhIHByb2llemlvbmUgKipzdWZmaXgqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSGFzU3VmZml4OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcHJlc2VuemEgbyBtZW5vIGRpIHVuIHByZWZpc3NvLCBzaSBiYXNhIHN1bGxhIFwidHJ1dGhpbmVzc1wiIGRlbGxhIHByb2llemlvbmUgKipwcmVmaXgqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgSGFzUHJlZml4OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCxBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuSGFzU3VmZml4ID0gISF0aGlzLnN1ZmZpeDtcclxuICAgICAgICB0aGlzLkhhc1ByZWZpeCA9ICEhdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
@@ -126,6 +126,7 @@ export class FormMultiSelectComponent extends BaseFormControl {
126
126
  else
127
127
  toEmit = this.Model.map(m => ({ id: m.id, description: m.itemName }));
128
128
  super.changed(toEmit);
129
+ super.finalized();
129
130
  }
130
131
  }
131
132
  FormMultiSelectComponent.decorators = [
@@ -151,4 +152,4 @@ FormMultiSelectComponent.propDecorators = {
151
152
  SelectLabel: [{ type: Input }],
152
153
  UseKeyValues: [{ type: Input }]
153
154
  };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLW11bHRpc2VsZWN0L2Zvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBd0IsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxEOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUE2QnpEOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQVMsRUFBdUIsRUFBc0IsU0FBb0IsRUFBcUMsV0FBdUIsRUFBYyxFQUF3QixFQUFjLFVBQTRCLEVBQXFDLGFBQXFCO1FBQzlTLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEs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bnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEZvcm1NdWx0aVNlbGVjdENvbXBvbmVudExvYyB9IGZyb20gXCIuL2Zvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50LmxvY1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgZWZmZXR0dWFyZSB1bmEgc2VsZXppb25lIG11bHRpcGxhIGZyYSBnbGkgb2dnZXR0aSBwYXNzYXRpIG5lbGwnSW5wdXQgKipTb3VyY2UqKlxyXG4gKiBcclxuICogTi5COiBBbCBjb250cmFyaW8gZGVnbGkgYWx0cmkgY29tcG9uZW50aSBmb3JtLSogcXVlc3RvIHZpZW5lIHRlbnV0byBjb24gKipjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQqKiBpbiBxdWFudG8gaWwgY29tcG9uZW50ZSBcclxuICogdXRpbGl6emF0byBpbnRlcm5hbWVudGUgKGFuZ3VsYXIyLW11bHRpc2VsZWN0KSBub24gw6ggc3RhdG8gYXNzb2x1dGFtZW50ZSBwZW5zYXRvIHBlciBlc3NlcmUgdXNhdG8gY29uICoqQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoKipcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1tdWx0aXNlbGVjdFwiLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEZvcm1NdWx0aVNlbGVjdENvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzXCJdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybU11bHRpU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kZWxsbyB0ZW1wb3JhbmVvICoqTk9OKiogY29tcGF0aWJpbGUgaW4gbWFuaWVyYSBkaXJldHRhIGNvbiBpbCBjb21wb25lbnRlICoqYW5ndWxhcjItbXVsdGlzZWxlY3QqKiB1c2F0byBpbnRlcm5hbWVudGVcclxuICAgICAqIFxyXG4gICAgICogU2VydmUgZGEgYXBwb2dnaW8gcGVyIGVmZmV0dHVhcmUgdW4gcmUtYmluZCBxdWFsb3JhIGxhIHNvcmdlbnRlIGNhbWJpYXNzZSBlIHF1YWxvcmEgKipSZWJpbmRNb2RlbEFmdGVyU291cmNlKiogZm9zc2UgdHJ1ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIFRtcE1vZGVsOiBzdHJpbmdbXSB8IHtpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nfVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgbGEgcHJvc3NpbWEgbW9kaWZpY2EgYWxsYSBTb3VyY2UgZGV2ZSBhbmNoZSBlZmZldHR1YXJlIHVuIHJlLWJpbmQgZGVsIG1vZGVsbG8uIFNlcnZlIHNlIGxhICoqQm91bmRTb3VyY2UqKiBwYXNzYSBkYSBub24gYXZlcmUgb2dnZXR0aSBhZCBhdmVybmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBSZWJpbmRNb2RlbEFmdGVyU291cmNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBpbCB0ZXN0byBkZWxsYSBMYWJlbCBmbG90dGFudGUgbWF0ZXJpYWwtc3R5bGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VsZWN0TGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJtZXR0ZSBhbCBjb21wb25lbnRlIGRpIGdlc3RpcmUgY29tZSBtb2RlbGxvIG5vbiB1bmEgbGlzdGEgZGkgY2hpYXZpLCBtYSB1bmEgbGlzdGEgZGkgS2V5VmFsdWVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgVXNlS2V5VmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhemlvbmkgZGVsIGNvbXBvbmVudGUgaW50ZXJubyAqKmFuZ3VsYXIyLW11bHRpc2VsZWN0KipcclxuICAgICAqL1xyXG4gICAgcHVibGljIFNldHRpbmdzOiB7IHNlbGVjdEFsbFRleHQ6IHN0cmluZywgdW5TZWxlY3RBbGxUZXh0OiBzdHJpbmcsIHRleHQ6IHN0cmluZywgZW5hYmxlQ2hlY2tBbGw6IGJvb2xlYW4sIGRpc2FibGVkOiBib29sZWFuLCBsYWJlbEtleTogc3RyaW5nLCB0YWdUb0JvZHk6IGJvb2xlYW4gfSA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZKTtcclxuXHJcbiAgICAgICAgLy8gRGVmYXVsdCBkZWkgc2V0dGluZ3MgcGVyIGV2aXRhcmUgY2hlIHNpYW5vIG1haSBudWxsaSwgYWx0cmltZW50aSBpbCBjYXp6byBkaSBDdXBwYUxhYiBzYWx0YSBpbiBhcmFpYSBjaGUgw6ggdmVyYW1lbnRlIHVuYSBiZWxsZXp6YVxyXG4gICAgICAgIHRoaXMuZXZhbHVhdGVTZXR0aW5ncyhmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgY29uc3QgbmV3U291cmNlID0gY2hhbmdlc1tcIlNvdXJjZVwiXTtcclxuICAgICAgICBpZiAobmV3U291cmNlKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5SZWJpbmRNb2RlbEFmdGVyU291cmNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5UbXBNb2RlbCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlJlYmluZE1vZGVsQWZ0ZXJTb3VyY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcmVhZG9ubHkgPSBjaGFuZ2VzW1wiUmVhZG9ubHlcIl07XHJcbiAgICAgICAgdGhpcy5ldmFsdWF0ZVNldHRpbmdzKHJlYWRvbmx5ID8gcmVhZG9ubHkuY3VycmVudFZhbHVlID8/IGZhbHNlIDogdGhpcy5SZWFkb25seSA/PyBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTY3JpdmUgaSBudW92aSBzZXR0aW5ncyBwZXIgaWwgY29tcG9uZW50ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVkIEluZGljYSBzZSBpbCBjb21wb25lbnRlIGRldidlc3NlcmUgZGlzYWJpbGl0YXRvIG8gbWVub1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV2YWx1YXRlU2V0dGluZ3MoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLlNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBzZWxlY3RBbGxUZXh0OiB0aGlzLmxjLmxvYyhcIlNlbGVjdCBldmVyeXRoaW5nXCIpLFxyXG4gICAgICAgICAgICB1blNlbGVjdEFsbFRleHQ6IHRoaXMubGMubG9jKFwiRGVzZWxlY3QgZXZlcnl0aGluZ1wiKSxcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5TZWxlY3RMYWJlbCB8fCB0aGlzLmxjLmxvYyhcIlNlbGVjdCBvbmUgb3IgbW9yZSB2YWx1ZXMuLi5cIiksXHJcbiAgICAgICAgICAgIGVuYWJsZUNoZWNrQWxsOiB0cnVlLFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgICAgIGxhYmVsS2V5OiBcImRlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIHRhZ1RvQm9keTogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGlsIGNvbW9wbmVudGUgaW4gcXVlc3Rpb25lIMOoIGluIGdyYWRvIGRpIGdlc3RpcmUgbmdDb250cm9sIG51bGxpLiBcclxuICAgICAqIEluIHF1ZXN0byBjb21wb25lbnRlIMOoIG5vcm1hbGUgY2hlIHNpYSBjb3PDrCBxdWluZGkgcmVzdGl0dWlzY2Ugc2VtcGxpY2VtZW50ZSAqKnRydWUqKlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gKip0cnVlKiogc2UgZ2VzdGlzY28gbmdDb250cm9sIG51bGxpLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBoYW5kbGVOdWxsTmdDb250cm9sKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSBPdmVycmlkZSBwZXIgZ2VzdGlyZSBpbnB1dCBpbiBpbmdyZXNzb1xyXG4gICAgICovXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLlRtcE1vZGVsID0gb2JqO1xyXG4gICAgICAgIGxldCB0b1Bhc3M6IHsgaWQ6IHN0cmluZywgaXRlbU5hbWU6IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICAgICAgLy9RdWkgYXJyaXZhbm8gc29sbyBnbGkgaWQsIG8ge2lkOiB4LCBkZXNjcmlwdGlvbjogeX0gaW4gY2FzbyBzb25vIGluIFVzZUtleVZhbHVlcywgXHJcbiAgICAgICAgLy9kZXZvIHRpcmFyZSBmdW9yaSBnbGkgb2dnZXR0aSByZWxhdGl2aSBlIHBpYXp6YXJsaSBjb21lIGxpc3RhIHBlciBpbCBNb2RlbFxyXG4gICAgICAgIGlmIChvYmogJiYgb2JqLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgb2JqLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IHRoaXMuQm91bmRTb3VyY2UuZmluZChvID0+IG8uaWQgPT0gKHRoaXMuVXNlS2V5VmFsdWVzID8gdC5pZCA6IHQpKTtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtKVxyXG4gICAgICAgICAgICAgICAgICAgIHRvUGFzcy5wdXNoKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaXRlbSkpKTtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLkJvdW5kU291cmNlIHx8IHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5SZWJpbmRNb2RlbEFmdGVyU291cmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHRvUGFzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIE92ZXJyaWRlIHBlciBnZXN0aXJlIGlucHV0IGluIHVzY2l0YVxyXG4gICAgICovXHJcbiAgICBjaGFuZ2VkKCkge1xyXG4gICAgICAgIGxldCB0b0VtaXQgPSBudWxsO1xyXG4gICAgICAgIGlmICghdGhpcy5Vc2VLZXlWYWx1ZXMpXHJcbiAgICAgICAgICAgIHRvRW1pdCA9ICg8YW55W10+dGhpcy5Nb2RlbCkubWFwKG0gPT4gbS5pZCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0b0VtaXQgPSAoPGFueVtdPnRoaXMuTW9kZWwpLm1hcChtID0+ICh7IGlkOiBtLmlkLCBkZXNjcmlwdGlvbjogbS5pdGVtTmFtZSB9KSk7XHJcblxyXG4gICAgICAgIHN1cGVyLmNoYW5nZWQodG9FbWl0KTtcclxuICAgIH1cclxufSJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLW11bHRpc2VsZWN0L2Zvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBd0IsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxEOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUE2QnpEOzs7O09BSUc7SUFDSCxZQUFZLEdBQXNCLEVBQVMsRUFBdUIsRUFBc0IsU0FBb0IsRUFBcUMsV0FBdUIsRUFBYyxFQUF3QixFQUFjLFVBQTRCLEVBQXFDLGFBQXFCO1FBQzlTLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEs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LEtBQUs7MkJBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLW11bHRpc2VsZWN0LmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgY2hlIHBlcm1ldHRlIGRpIGVmZmV0dHVhcmUgdW5hIHNlbGV6aW9uZSBtdWx0aXBsYSBmcmEgZ2xpIG9nZ2V0dGkgcGFzc2F0aSBuZWxsJ0lucHV0ICoqU291cmNlKipcclxuICogXHJcbiAqIE4uQjogQWwgY29udHJhcmlvIGRlZ2xpIGFsdHJpIGNvbXBvbmVudGkgZm9ybS0qIHF1ZXN0byB2aWVuZSB0ZW51dG8gY29uICoqY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0KiogaW4gcXVhbnRvIGlsIGNvbXBvbmVudGUgXHJcbiAqIHV0aWxpenphdG8gaW50ZXJuYW1lbnRlIChhbmd1bGFyMi1tdWx0aXNlbGVjdCkgbm9uIMOoIHN0YXRvIGFzc29sdXRhbWVudGUgcGVuc2F0byBwZXIgZXNzZXJlIHVzYXRvIGNvbiAqKkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCoqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tbXVsdGlzZWxlY3RcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnRMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcImZvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50LmNzc1wiXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHRcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vZGVsbG8gdGVtcG9yYW5lbyAqKk5PTioqIGNvbXBhdGliaWxlIGluIG1hbmllcmEgZGlyZXR0YSBjb24gaWwgY29tcG9uZW50ZSAqKmFuZ3VsYXIyLW11bHRpc2VsZWN0KiogdXNhdG8gaW50ZXJuYW1lbnRlXHJcbiAgICAgKiBcclxuICAgICAqIFNlcnZlIGRhIGFwcG9nZ2lvIHBlciBlZmZldHR1YXJlIHVuIHJlLWJpbmQgcXVhbG9yYSBsYSBzb3JnZW50ZSBjYW1iaWFzc2UgZSBxdWFsb3JhICoqUmViaW5kTW9kZWxBZnRlclNvdXJjZSoqIGZvc3NlIHRydWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBUbXBNb2RlbDogc3RyaW5nW10gfCB7aWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZ31bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGxhIHByb3NzaW1hIG1vZGlmaWNhIGFsbGEgU291cmNlIGRldmUgYW5jaGUgZWZmZXR0dWFyZSB1biByZS1iaW5kIGRlbCBtb2RlbGxvLiBTZXJ2ZSBzZSBsYSAqKkJvdW5kU291cmNlKiogcGFzc2EgZGEgbm9uIGF2ZXJlIG9nZ2V0dGkgYWQgYXZlcm5lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgUmViaW5kTW9kZWxBZnRlclNvdXJjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgaWwgdGVzdG8gZGVsbGEgTGFiZWwgZmxvdHRhbnRlIG1hdGVyaWFsLXN0eWxlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFNlbGVjdExhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgYWwgY29tcG9uZW50ZSBkaSBnZXN0aXJlIGNvbWUgbW9kZWxsbyBub24gdW5hIGxpc3RhIGRpIGNoaWF2aSwgbWEgdW5hIGxpc3RhIGRpIEtleVZhbHVlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFVzZUtleVZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YXppb25pIGRlbCBjb21wb25lbnRlIGludGVybm8gKiphbmd1bGFyMi1tdWx0aXNlbGVjdCoqXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBTZXR0aW5nczogeyBzZWxlY3RBbGxUZXh0OiBzdHJpbmcsIHVuU2VsZWN0QWxsVGV4dDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGVuYWJsZUNoZWNrQWxsOiBib29sZWFuLCBkaXNhYmxlZDogYm9vbGVhbiwgbGFiZWxLZXk6IHN0cmluZywgdGFnVG9Cb2R5OiBib29sZWFuIH0gPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmUgXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSk7XHJcblxyXG4gICAgICAgIC8vIERlZmF1bHQgZGVpIHNldHRpbmdzIHBlciBldml0YXJlIGNoZSBzaWFubyBtYWkgbnVsbGksIGFsdHJpbWVudGkgaWwgY2F6em8gZGkgQ3VwcGFMYWIgc2FsdGEgaW4gYXJhaWEgY2hlIMOoIHZlcmFtZW50ZSB1bmEgYmVsbGV6emFcclxuICAgICAgICB0aGlzLmV2YWx1YXRlU2V0dGluZ3MoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGNvbnN0IG5ld1NvdXJjZSA9IGNoYW5nZXNbXCJTb3VyY2VcIl07XHJcbiAgICAgICAgaWYgKG5ld1NvdXJjZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuUmViaW5kTW9kZWxBZnRlclNvdXJjZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuVG1wTW9kZWwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5SZWJpbmRNb2RlbEFmdGVyU291cmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gY2hhbmdlc1tcIlJlYWRvbmx5XCJdO1xyXG4gICAgICAgIHRoaXMuZXZhbHVhdGVTZXR0aW5ncyhyZWFkb25seSA/IHJlYWRvbmx5LmN1cnJlbnRWYWx1ZSA/PyBmYWxzZSA6IHRoaXMuUmVhZG9ubHkgPz8gZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2NyaXZlIGkgbnVvdmkgc2V0dGluZ3MgcGVyIGlsIGNvbXBvbmVudGVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBkaXNhYmxlZCBJbmRpY2Egc2UgaWwgY29tcG9uZW50ZSBkZXYnZXNzZXJlIGRpc2FiaWxpdGF0byBvIG1lbm9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBldmFsdWF0ZVNldHRpbmdzKGRpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5TZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgc2VsZWN0QWxsVGV4dDogdGhpcy5sYy5sb2MoXCJTZWxlY3QgZXZlcnl0aGluZ1wiKSxcclxuICAgICAgICAgICAgdW5TZWxlY3RBbGxUZXh0OiB0aGlzLmxjLmxvYyhcIkRlc2VsZWN0IGV2ZXJ5dGhpbmdcIiksXHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuU2VsZWN0TGFiZWwgfHwgdGhpcy5sYy5sb2MoXCJTZWxlY3Qgb25lIG9yIG1vcmUgdmFsdWVzLi4uXCIpLFxyXG4gICAgICAgICAgICBlbmFibGVDaGVja0FsbDogdHJ1ZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICAgICAgICBsYWJlbEtleTogXCJkZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICB0YWdUb0JvZHk6IGZhbHNlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBpbCBjb21vcG5lbnRlIGluIHF1ZXN0aW9uZSDDqCBpbiBncmFkbyBkaSBnZXN0aXJlIG5nQ29udHJvbCBudWxsaS4gXHJcbiAgICAgKiBJbiBxdWVzdG8gY29tcG9uZW50ZSDDqCBub3JtYWxlIGNoZSBzaWEgY29zw6wgcXVpbmRpIHJlc3RpdHVpc2NlIHNlbXBsaWNlbWVudGUgKip0cnVlKipcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIGdlc3Rpc2NvIG5nQ29udHJvbCBudWxsaSwgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgaGFuZGxlTnVsbE5nQ29udHJvbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUgT3ZlcnJpZGUgcGVyIGdlc3RpcmUgaW5wdXQgaW4gaW5ncmVzc29cclxuICAgICAqL1xyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueVtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5UbXBNb2RlbCA9IG9iajtcclxuICAgICAgICBsZXQgdG9QYXNzOiB7IGlkOiBzdHJpbmcsIGl0ZW1OYW1lOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gICAgICAgIC8vUXVpIGFycml2YW5vIHNvbG8gZ2xpIGlkLCBvIHtpZDogeCwgZGVzY3JpcHRpb246IHl9IGluIGNhc28gc29ubyBpbiBVc2VLZXlWYWx1ZXMsIFxyXG4gICAgICAgIC8vZGV2byB0aXJhcmUgZnVvcmkgZ2xpIG9nZ2V0dGkgcmVsYXRpdmkgZSBwaWF6emFybGkgY29tZSBsaXN0YSBwZXIgaWwgTW9kZWxcclxuICAgICAgICBpZiAob2JqICYmIG9iai5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIG9iai5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLkJvdW5kU291cmNlLmZpbmQobyA9PiBvLmlkID09ICh0aGlzLlVzZUtleVZhbHVlcyA/IHQuaWQgOiB0KSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSlcclxuICAgICAgICAgICAgICAgICAgICB0b1Bhc3MucHVzaChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW0pKSk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICghdGhpcy5Cb3VuZFNvdXJjZSB8fCB0aGlzLkJvdW5kU291cmNlLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmViaW5kTW9kZWxBZnRlclNvdXJjZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh0b1Bhc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSBPdmVycmlkZSBwZXIgZ2VzdGlyZSBpbnB1dCBpbiB1c2NpdGFcclxuICAgICAqL1xyXG4gICAgY2hhbmdlZCgpIHtcclxuICAgICAgICBsZXQgdG9FbWl0ID0gbnVsbDtcclxuICAgICAgICBpZiAoIXRoaXMuVXNlS2V5VmFsdWVzKVxyXG4gICAgICAgICAgICB0b0VtaXQgPSAoPGFueVtdPnRoaXMuTW9kZWwpLm1hcChtID0+IG0uaWQpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdG9FbWl0ID0gKDxhbnlbXT50aGlzLk1vZGVsKS5tYXAobSA9PiAoeyBpZDogbS5pZCwgZGVzY3JpcHRpb246IG0uaXRlbU5hbWUgfSkpO1xyXG5cclxuICAgICAgICBzdXBlci5jaGFuZ2VkKHRvRW1pdCk7XHJcbiAgICAgICAgc3VwZXIuZmluYWxpemVkKCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -91,7 +91,7 @@ FormSelectComponent.decorators = [
91
91
  { type: Component, args: [{
92
92
  selector: "form-select",
93
93
  providers: [{ provide: LocalizationService, useClass: FormSelectComponentLoc }],
94
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && BoundSource\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n\r\n <!-- Select vuota per quando non ho Sorgenti dati da cui selezionare. Uguale identica alla piena ma senza option\r\n Purtroppo devono essere due componenti distinti perch\u00E9 una select una volta creata non riesce pi\u00F9 ad adattarsi ai cambi di options -->\r\n <val-select *ngIf=\"!BoundSource || BoundSource.length == 0\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n #validationControl=\"ngModel\">\r\n </val-select>\r\n\r\n <!-- Select vera e propria per quando arrivano i dati -->\r\n <val-select *ngIf=\"BoundSource && BoundSource.length > 0\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n #validationControl=\"ngModel\">\r\n <option *ngFor=\"let obj of BoundSource\" [value]=\"obj.id\">{{obj.description}}</option>\r\n </val-select>\r\n</ng-template>",
94
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && BoundSource\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n\r\n <!-- Select vuota per quando non ho Sorgenti dati da cui selezionare. Uguale identica alla piena ma senza option\r\n Purtroppo devono essere due componenti distinti perch\u00E9 una select una volta creata non riesce pi\u00F9 ad adattarsi ai cambi di options -->\r\n <val-select *ngIf=\"!BoundSource || BoundSource.length == 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n #validationControl=\"ngModel\">\r\n </val-select>\r\n\r\n <!-- Select vera e propria per quando arrivano i dati -->\r\n <val-select *ngIf=\"BoundSource && BoundSource.length > 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n #validationControl=\"ngModel\">\r\n <option *ngFor=\"let obj of BoundSource\" [value]=\"obj.id\">{{obj.description}}</option>\r\n </val-select>\r\n</ng-template>",
95
95
  changeDetection: ChangeDetectionStrategy.OnPush
96
96
  },] }
97
97
  ];
@@ -111,4 +111,4 @@ FormSelectComponent.propDecorators = {
111
111
  EmptyFieldValue: [{ type: Input }],
112
112
  ShowValidationSymbol: [{ type: Input }]
113
113
  };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBK0JwRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQjtRQUM5UyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQzQixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQWxDbEU7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUVsQzs7OztXQUlHO1FBQ00scUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ00sd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBRTVDOzs7O1dBSUc7UUFDTSxvQkFBZSxHQUFXLElBQUksQ0FBQztRQUV4Qzs7V0FFRztRQUNNLHlCQUFvQixHQUFZLElBQUksQ0FBQztJQVM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUcsQ0FBQyxTQUFTO1lBQ1QsT0FBTztRQUVYLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDbEMsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUVuQyw0R0FBNEc7UUFDNUcsSUFBSSxDQUFDLElBQUk7WUFDTCxPQUFPO1FBRVgsMElBQTBJO1FBQzFJLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsSUFBSTtZQUNMLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZCxvREFBb0Q7UUFDcEQsK0VBQStFO1FBQy9FLDJLQUEySztRQUMzSyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEg7Ozs7Ozs7ZUFPRztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEY7O2dCQUVHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRWhDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsS0FBVyxDQUFDOzs7WUE1RmhDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7Z0JBQy9FLDYzR0FBeUM7Z0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFwQjBGLGlCQUFpQjtZQUluRyxtQkFBbUI7WUFIa0IsU0FBUyx1QkF3RGtCLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXBEMUksb0JBQW9CLHVCQW9Ea0osUUFBUTtZQXBEeEosZ0JBQWdCLHVCQW9Ec0ssUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzs7MEJBL0IxUixLQUFLOytCQU9MLEtBQUs7a0NBS0wsS0FBSzs4QkFPTCxLQUFLO21DQUtMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgRm9ybVNlbGVjdENvbXBvbmVudExvYyB9IGZyb20gXCIuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGNoZSBwZXJtZXR0ZSBkaSBzZWxlemlvbmFyZSB1biB2YWxvcmUgZGEgdW5hIGxpc3RhIGRpIHZhbG9yaSBkaXNwb25pYmlsaVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLXNlbGVjdFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRm9ybVNlbGVjdENvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGlsIHRlc3RvIGRlbGxhIExhYmVsIGZsb3R0YW50ZSBtYXRlcmlhbC1zdHlsZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHBsYWNlaG9sZGVyXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFBsYWNlaG9sZGVyVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3ZlcnJpZGUgZGVsIHBsYWNlaG9sZGVyIHBlciBzZWxlY3QgcmVxdXJpZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHZ1b3RvXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEVtcHR5RmllbGRWYWx1ZTogc3RyaW5nID0gJy0yJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlICoqdHJ1ZSoqIHJpbXVvdmUgaWwgc2ltYm9saW5vIGRpIHZhbGlkYXppb25lIChjcm9jZSByb3NzYSBvIHRpY2sgdmVyZGUpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFNob3dWYWxpZGF0aW9uU3ltYm9sOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZykge1xyXG4gICAgICAgIHN1cGVyKGNkciwgbmdDb250cm9sLCBfdmFsaWRhdG9ycywgYWMsIEFwcENvbnRleHQsIEFDT19DVVNUT01LRVkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiU291cmNlXCJdO1xyXG4gICAgICAgIGlmKCFuZXdTb3VyY2UpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgbGV0IGN1cnIgPSBuZXdTb3VyY2UuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGxldCBwcmV2ID0gbmV3U291cmNlLnByZXZpb3VzVmFsdWU7XHJcblxyXG4gICAgICAgIC8vIFNlIG1hbmNhIGN1cnIgdnVvbCBkaXJlIGNoZSBub24gaG8gdW4gdmFsb3JlIGUgcG9zc28gaWdub3JhcmUgKGFsbGEgcGVnZ2lvIGRldmUgYXJyaXZhcm1pIHVuIGFycmF5IHZ1b3RvKVxyXG4gICAgICAgIGlmICghY3VycilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvLyBTZSBtYW5jYSBwcmV2IHZ1b2wgZGlyZSBjaGUgw6ggbGEgcHJpbWEgYXNzZWduYXppb25lLCBsbyBjb25zaWRlcm8gdW4gYXJyYXkgdnVvdG8gZSBwcm9zZWd1by4uLiBvZ25pIHRhbnRvIHZpZW5lIGNoaWFtYXRvIHVuYSBzb2xhIHZvbHRhXHJcbiAgICAgICAgLy8gb2duaSB0YW50byB2aWVuZSBjaGlhbWF0byBkdWUgdm9sdGUuLi4gw6ggdW4gcGVsbyBhcmJpdHJhcmlvIG1hIHZhYmLDqFxyXG4gICAgICAgIGlmICghcHJldilcclxuICAgICAgICAgICAgcHJldiA9IFtdO1xyXG5cclxuICAgICAgICAvLyBDb25zaWRlcm8gZGkgYXZlciByaWNldnV0byB1bmEgbnVvdmEgc29yZ2VudGUgc2U6XHJcbiAgICAgICAgLy8gMTogTGEgc29yZ2VudGUgbnVvdmEgaGEgdW4gbnVtZXJvIGRpIGVsZW1lbnRpIGRpdmVyc28gZGFsbGEgc29yZ2VudGUgdmVjY2hpYVxyXG4gICAgICAgIC8vIDI6IFNpYSBsYSBzb3JnZW50ZSBudW92YSBjaGUgdmVjY2hpYSBoYW5ubyBhbG1lbm8gdW4gZWxlbWVudG8gZSBsJ2lkIGRlbCBwcmltbyBlbGVtZW50byBkZWxsYSBzb3JnZW50ZSBudW92YSDDqCBkaXZlcnNvIGRhbGwnaWQgZGVsIHByaW1vIGVsZW1lbnRvIGRlbGxhIHNvcmdlbnRlIHZlY2NoaWFcclxuICAgICAgICBpZiAobmV3U291cmNlICYmIChjdXJyLmxlbmd0aCAhPSBwcmV2Lmxlbmd0aCB8fCAoY3Vyci5sZW5ndGggPiAwICYmIGN1cnJbMF1bdGhpcy5JZEZpZWxkXSAhPSBwcmV2WzBdW3RoaXMuSWRGaWVsZF0pKSkge1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBOR0JVRzpcclxuICAgICAgICAgICAgICogVXNvIHF1ZXN0byBlc2NhbW90YWdlIHBlciBkaXN0cnVnZ2VyZSBpbCB2YWwtc2VsZWN0IGUgcmljcmVhcmxvXHJcbiAgICAgICAgICAgICAqIFB1cnRyb3BwbyB1bmEgdm9sdGEgYmluZGF0byBhIHVuYSBzb3JnZW50ZSwgY2FtYmlhcmdsaWVsYSBzb3R0byBzaWduaWZpY2EgbWFuZGFyZSBpbiBwYWxsYSBtYXRlcmlhbFxyXG4gICAgICAgICAgICAgKiBjaGUgc2kgbWV0dGUgYSBmYXIgZmxvYXR0YXJlIGxhIGxhYmVsIGFuY2hlIHNlIGlsIHZhbG9yZSBlJyB2dW90b1xyXG4gICAgICAgICAgICAgKiBEaXN0cnVnZ2VuZG8gaWwgY29tcG9uZW50ZSBlIHJpY3JlYW5kb2xvIG1hdGVyaWFsIHJpcGFydGUgZGEgMCBlIG5vbiBkYScgcHJvYmxlbWkuXHJcbiAgICAgICAgICAgICAqIE92dmlhbWVudGUgbG8gZmFjY2lvIHNvbG8gcXVhbmRvIGhvIHVuYSBTZWxlY3RMYWJlbCwgYWx0cmltZW50aSBub24gaG8gcHJvYmxlbWkgZGkgZmxvYXR0YW1lbnRpXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuU291cmNlRmlyc3RCaW5kICYmIHRoaXMuU2VsZWN0TGFiZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQm91bmRTb3VyY2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTsgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBK0JwRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQjtRQUM5UyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQzQixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQWxDbEU7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUVsQzs7OztXQUlHO1FBQ00scUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ00sd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBRTVDOzs7O1dBSUc7UUFDTSxvQkFBZSxHQUFXLElBQUksQ0FBQztRQUV4Qzs7V0FFRztRQUNNLHlCQUFvQixHQUFZLElBQUksQ0FBQztJQVM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUcsQ0FBQyxTQUFTO1lBQ1QsT0FBTztRQUVYLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDbEMsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUVuQyw0R0FBNEc7UUFDNUcsSUFBSSxDQUFDLElBQUk7WUFDTCxPQUFPO1FBRVgsMElBQTBJO1FBQzFJLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsSUFBSTtZQUNMLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZCxvREFBb0Q7UUFDcEQsK0VBQStFO1FBQy9FLDJLQUEySztRQUMzSyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEg7Ozs7Ozs7ZUFPRztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEY7O2dCQUVHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRWhDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsS0FBVyxDQUFDOzs7WUE1RmhDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7Z0JBQy9FLG1tSEFBeUM7Z0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFwQjBGLGlCQUFpQjtZQUluRyxtQkFBbUI7WUFIa0IsU0FBUyx1QkF3RGtCLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXBEMUksb0JBQW9CLHVCQW9Ea0osUUFBUTtZQXBEeEosZ0JBQWdCLHVCQW9Ec0ssUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzs7MEJBL0IxUixLQUFLOytCQU9MLEtBQUs7a0NBS0wsS0FBSzs4QkFPTCxLQUFLO21DQUtMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgRm9ybVNlbGVjdENvbXBvbmVudExvYyB9IGZyb20gXCIuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGNoZSBwZXJtZXR0ZSBkaSBzZWxlemlvbmFyZSB1biB2YWxvcmUgZGEgdW5hIGxpc3RhIGRpIHZhbG9yaSBkaXNwb25pYmlsaVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLXNlbGVjdFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRm9ybVNlbGVjdENvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGlsIHRlc3RvIGRlbGxhIExhYmVsIGZsb3R0YW50ZSBtYXRlcmlhbC1zdHlsZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHBsYWNlaG9sZGVyXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFBsYWNlaG9sZGVyVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3ZlcnJpZGUgZGVsIHBsYWNlaG9sZGVyIHBlciBzZWxlY3QgcmVxdXJpZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHZ1b3RvXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEVtcHR5RmllbGRWYWx1ZTogc3RyaW5nID0gJy0yJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlICoqdHJ1ZSoqIHJpbXVvdmUgaWwgc2ltYm9saW5vIGRpIHZhbGlkYXppb25lIChjcm9jZSByb3NzYSBvIHRpY2sgdmVyZGUpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFNob3dWYWxpZGF0aW9uU3ltYm9sOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZykge1xyXG4gICAgICAgIHN1cGVyKGNkciwgbmdDb250cm9sLCBfdmFsaWRhdG9ycywgYWMsIEFwcENvbnRleHQsIEFDT19DVVNUT01LRVkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiU291cmNlXCJdO1xyXG4gICAgICAgIGlmKCFuZXdTb3VyY2UpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgbGV0IGN1cnIgPSBuZXdTb3VyY2UuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGxldCBwcmV2ID0gbmV3U291cmNlLnByZXZpb3VzVmFsdWU7XHJcblxyXG4gICAgICAgIC8vIFNlIG1hbmNhIGN1cnIgdnVvbCBkaXJlIGNoZSBub24gaG8gdW4gdmFsb3JlIGUgcG9zc28gaWdub3JhcmUgKGFsbGEgcGVnZ2lvIGRldmUgYXJyaXZhcm1pIHVuIGFycmF5IHZ1b3RvKVxyXG4gICAgICAgIGlmICghY3VycilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvLyBTZSBtYW5jYSBwcmV2IHZ1b2wgZGlyZSBjaGUgw6ggbGEgcHJpbWEgYXNzZWduYXppb25lLCBsbyBjb25zaWRlcm8gdW4gYXJyYXkgdnVvdG8gZSBwcm9zZWd1by4uLiBvZ25pIHRhbnRvIHZpZW5lIGNoaWFtYXRvIHVuYSBzb2xhIHZvbHRhXHJcbiAgICAgICAgLy8gb2duaSB0YW50byB2aWVuZSBjaGlhbWF0byBkdWUgdm9sdGUuLi4gw6ggdW4gcGVsbyBhcmJpdHJhcmlvIG1hIHZhYmLDqFxyXG4gICAgICAgIGlmICghcHJldilcclxuICAgICAgICAgICAgcHJldiA9IFtdO1xyXG5cclxuICAgICAgICAvLyBDb25zaWRlcm8gZGkgYXZlciByaWNldnV0byB1bmEgbnVvdmEgc29yZ2VudGUgc2U6XHJcbiAgICAgICAgLy8gMTogTGEgc29yZ2VudGUgbnVvdmEgaGEgdW4gbnVtZXJvIGRpIGVsZW1lbnRpIGRpdmVyc28gZGFsbGEgc29yZ2VudGUgdmVjY2hpYVxyXG4gICAgICAgIC8vIDI6IFNpYSBsYSBzb3JnZW50ZSBudW92YSBjaGUgdmVjY2hpYSBoYW5ubyBhbG1lbm8gdW4gZWxlbWVudG8gZSBsJ2lkIGRlbCBwcmltbyBlbGVtZW50byBkZWxsYSBzb3JnZW50ZSBudW92YSDDqCBkaXZlcnNvIGRhbGwnaWQgZGVsIHByaW1vIGVsZW1lbnRvIGRlbGxhIHNvcmdlbnRlIHZlY2NoaWFcclxuICAgICAgICBpZiAobmV3U291cmNlICYmIChjdXJyLmxlbmd0aCAhPSBwcmV2Lmxlbmd0aCB8fCAoY3Vyci5sZW5ndGggPiAwICYmIGN1cnJbMF1bdGhpcy5JZEZpZWxkXSAhPSBwcmV2WzBdW3RoaXMuSWRGaWVsZF0pKSkge1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBOR0JVRzpcclxuICAgICAgICAgICAgICogVXNvIHF1ZXN0byBlc2NhbW90YWdlIHBlciBkaXN0cnVnZ2VyZSBpbCB2YWwtc2VsZWN0IGUgcmljcmVhcmxvXHJcbiAgICAgICAgICAgICAqIFB1cnRyb3BwbyB1bmEgdm9sdGEgYmluZGF0byBhIHVuYSBzb3JnZW50ZSwgY2FtYmlhcmdsaWVsYSBzb3R0byBzaWduaWZpY2EgbWFuZGFyZSBpbiBwYWxsYSBtYXRlcmlhbFxyXG4gICAgICAgICAgICAgKiBjaGUgc2kgbWV0dGUgYSBmYXIgZmxvYXR0YXJlIGxhIGxhYmVsIGFuY2hlIHNlIGlsIHZhbG9yZSBlJyB2dW90b1xyXG4gICAgICAgICAgICAgKiBEaXN0cnVnZ2VuZG8gaWwgY29tcG9uZW50ZSBlIHJpY3JlYW5kb2xvIG1hdGVyaWFsIHJpcGFydGUgZGEgMCBlIG5vbiBkYScgcHJvYmxlbWkuXHJcbiAgICAgICAgICAgICAqIE92dmlhbWVudGUgbG8gZmFjY2lvIHNvbG8gcXVhbmRvIGhvIHVuYSBTZWxlY3RMYWJlbCwgYWx0cmltZW50aSBub24gaG8gcHJvYmxlbWkgZGkgZmxvYXR0YW1lbnRpXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuU291cmNlRmlyc3RCaW5kICYmIHRoaXMuU2VsZWN0TGFiZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQm91bmRTb3VyY2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTsgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iXX0=
@@ -26,7 +26,7 @@ export class FormTextareaComponent extends BaseFormControl {
26
26
  FormTextareaComponent.decorators = [
27
27
  { type: Component, args: [{
28
28
  selector: "form-textarea",
29
- template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && BoundSource\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-textarea \r\n [noValidate]=\"!Validation\" \r\n [submitted]=\"Form?.submitted\" \r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\" \r\n [rows]=\"Rows\" \r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey app-no-resize' : 'app-no-resize'\" \r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\" \r\n autocomplete=\"off\" \r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\" \r\n #validationControl=\"ngModel\" \r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n >\r\n </val-textarea>\r\n</ng-template>",
29
+ template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && BoundSource\" class=\"form-group row {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">{{Label}}{{Required ? '*' : ''}}:</label>\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n\r\n<ng-template #controlTemplate>\r\n <val-textarea \r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [noValidate]=\"!Validation\" \r\n [submitted]=\"Form?.submitted\" \r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\" \r\n [rows]=\"Rows\" \r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey app-no-resize' : 'app-no-resize'\" \r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\" \r\n autocomplete=\"off\" \r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\" \r\n #validationControl=\"ngModel\" \r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n >\r\n </val-textarea>\r\n</ng-template>",
30
30
  changeDetection: ChangeDetectionStrategy.OnPush
31
31
  },] }
32
32
  ];
@@ -41,4 +41,4 @@ FormTextareaComponent.ctorParameters = () => [
41
41
  FormTextareaComponent.propDecorators = {
42
42
  Rows: [{ type: Input }]
43
43
  };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFPdEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBc0IsU0FBb0IsRUFBcUMsV0FBdUIsRUFBYyxFQUF3QixFQUFjLFVBQTRCLEVBQW9DLGFBQWE7UUFDclEsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLG95Q0FBMkM7Z0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFoQmlDLGlCQUFpQjtZQURMLFNBQVMsdUJBOEJkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXZCMUcsb0JBQW9CLHVCQXVCa0gsUUFBUTtZQXZCeEgsZ0JBQWdCLHVCQXVCc0ksUUFBUTs0Q0FBa0MsUUFBUSxZQUFHLE1BQU0sU0FBQyxhQUFhOzs7bUJBUHpQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcHJlc2VudGEgdW5hIGNhc2VsbGEgZGkgdGVzdG8gdGlwaWNhbWVudGUgdXRpbGl6emF0YSBwZXIgc2NyaXZlcmUgZGVsbGUgbm90ZSBvIGRlbCBsb2cgYnJldmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS10ZXh0YXJlYVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1UZXh0YXJlYUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWVybyBkaSByaWdoZSBkYSB2aXN1YWxpenphcmUgZGkgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSb3dzOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCxBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFPdEQ7Ozs7T0FJRztJQUNILFlBQVksR0FBc0IsRUFBc0IsU0FBb0IsRUFBcUMsV0FBdUIsRUFBYyxFQUF3QixFQUFjLFVBQTRCLEVBQW9DLGFBQWE7UUFDclEsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEtBQVcsQ0FBQzs7O1lBeEJoQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGk2Q0FBMkM7Z0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2xEOzs7WUFoQmlDLGlCQUFpQjtZQURMLFNBQVMsdUJBOEJkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQXZCMUcsb0JBQW9CLHVCQXVCa0gsUUFBUTtZQXZCeEgsZ0JBQWdCLHVCQXVCc0ksUUFBUTs0Q0FBa0MsUUFBUSxZQUFHLE1BQU0sU0FBQyxhQUFhOzs7bUJBUHpQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcHJlc2VudGEgdW5hIGNhc2VsbGEgZGkgdGVzdG8gdGlwaWNhbWVudGUgdXRpbGl6emF0YSBwZXIgc2NyaXZlcmUgZGVsbGUgbm90ZSBvIGRlbCBsb2cgYnJldmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS10ZXh0YXJlYVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1UZXh0YXJlYUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWVybyBkaSByaWdoZSBkYSB2aXN1YWxpenphcmUgZGkgZGVmYXVsdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSb3dzOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZSBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCxBQ09fQ1VTVE9NS0VZKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
@@ -24,6 +24,10 @@ export class BaseValidation {
24
24
  * un eventuale pattern validator scriverà che il formato dell'input è invalido
25
25
  */
26
26
  this.InferErrorMessages = true;
27
+ /**
28
+ * Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
29
+ */
30
+ this.FieldAppearence = "outline";
27
31
  /**
28
32
  * Messaggio da mostrare se la validazione fallisce.
29
33
  *
@@ -75,9 +79,13 @@ export class BaseValidation {
75
79
  */
76
80
  this.inputChange = new EventEmitter();
77
81
  /**
78
- * Evento che sostituisce l'ngModelChange facendolo funzionare in maniera un po' più consistente
82
+ * Evento che indica il focus avvenuto su un controllo
79
83
  */
80
84
  this.inputFocus = new EventEmitter();
85
+ /**
86
+ * Evento che indica la finalizzazione del valore avvenuta su un controllo
87
+ */
88
+ this.inputFinalized = new EventEmitter();
81
89
  /**
82
90
  * @ignore
83
91
  */
@@ -197,6 +205,29 @@ export class BaseValidation {
197
205
  onFocus(toEmit) {
198
206
  this.inputFocus.emit(toEmit);
199
207
  }
208
+ /**
209
+ * Finalizzazione Input
210
+ */
211
+ onFinalize() {
212
+ this.inputFinalized.emit();
213
+ }
214
+ /**
215
+ * Registra il Subject per ricevere le richieste di Focus dall'esterno
216
+ */
217
+ registerFocusRequest() {
218
+ if (!this.FocusSubject)
219
+ return;
220
+ this.observable = this.FocusSubject.subscribe(t => {
221
+ this.htmlInput.nativeElement.focus();
222
+ });
223
+ }
224
+ /**
225
+ * Deregistra il Subject delle richieste di focus
226
+ */
227
+ deregisterFocusRequest() {
228
+ if (this.observable)
229
+ this.observable.unsubscribe();
230
+ }
200
231
  }
201
232
  BaseValidation.decorators = [
202
233
  { type: Directive }
@@ -204,9 +235,12 @@ BaseValidation.decorators = [
204
235
  BaseValidation.propDecorators = {
205
236
  tooltip: [{ type: ViewChild, args: [TooltipDirective, { static: false },] }],
206
237
  tooltip_static: [{ type: ViewChild, args: [TooltipDirective, { static: true },] }],
238
+ htmlInput: [{ type: ViewChild, args: ['htmlInput', { static: false },] }],
207
239
  baseInput: [{ type: ViewChild, args: ["baseInput", { static: false },] }],
208
240
  baseInput_static: [{ type: ViewChild, args: ["baseInput", { static: true },] }],
241
+ FocusSubject: [{ type: Input }],
209
242
  InferErrorMessages: [{ type: Input }],
243
+ FieldAppearence: [{ type: Input }],
210
244
  validationFailed: [{ type: Input }],
211
245
  readonly: [{ type: Input }],
212
246
  widthPx: [{ type: Input }],
@@ -220,7 +254,8 @@ BaseValidation.propDecorators = {
220
254
  id: [{ type: Input }],
221
255
  inputChange: [{ type: Output }],
222
256
  inputFocus: [{ type: Output }],
257
+ inputFinalized: [{ type: Output }],
223
258
  submitted: [{ type: Input, args: ["submitted",] }],
224
259
  forceInvalid: [{ type: Input }]
225
260
  };
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdmFsaWRhdGlvbnMvYmFzZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1sRixrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsY0FBYztJQURwQztRQWFJOztXQUVHO1FBQ08sa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFekM7O1dBRUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBOEJqQzs7Ozs7V0FLRztRQUNNLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUU1Qzs7OztXQUlHO1FBQ00scUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUNNLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUU1Qjs7V0FFRztRQUNNLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFOUI7O1dBRUc7UUFDTSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRXJDOztXQUVHO1FBQ00saUJBQVksR0FBVyxLQUFLLENBQUM7UUFFdEM7O1dBRUc7UUFDTSxPQUFFLEdBQVcsRUFBRSxDQUFDO1FB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QUFLO29CQUtMLEtBQUs7b0JBS0wsS0FBSztzQkFLTCxLQUFLO3lCQUtMLEtBQUs7MkJBS0wsS0FBSztpQkFLTCxLQUFLOzBCQUtMLE1BQU07eUJBS04sTUFBTTt3QkFPTixLQUFLLFNBQUMsV0FBVzsyQkFpQmpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBEaXJlY3RpdmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC90b29sdGlwXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGFzdHJhdHRhIGJhc2UgY2hlIGNvbnRpZW5lIGxlIGxvZ2ljaGUgLyBwcm9wcmlldMOgIGluIGNvbXVuZSBhIHR1dHRpIGkgdmFsaWRhdG9yaVxyXG4gKiBcclxuICogTm90YSBiZW5lOiBJIHRvb2x0aXAgcmFsbGVudGFubyB0YW50aXNzaW1vIGxhIHBhZ2luYSBwZXJjaMOpIGlsIHRpemlvIGNoZSBoYSBmYXR0byBuZ3ggYm9vdHN0cmFwIG5vbiDDqCBjYXBhY2VcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVZhbGlkYXRpb24ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2Vydml6aW8gZGkgbG9jYWxpenphemlvbmUgZGVsIENvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFyaWFiaWxlIHBlciB0ZW5lcmUgaW4gbWVtb3JpYSBsbyBzdGF0byBkaSBzdWJtaXQgZGkgcXVlc3RvIGNvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9zdWJtaXR0ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYXJpYWJpbGUgcGVyIHRlbmVyZSBpbiBtZW1vcmlhIGlsIGZhdHRvIGNoZSBpbCBjb21wb25lbnRlIMOoIGZvcnphdG8gYSBpbnZhbGlkbyBvIG5vXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfZm9yY2VJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWwgdmFsb3JlIMOoIG9iYmxpZ2F0b3JpbyBvIG9wemlvbmFsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFF1ZXJ5IGNoZSByYWNjb2dsaWUgaWwgdG9vbHRpcCBpbiBtYW5pZXJhIHN0YXRpY2EgKHNvbG8gYWxsJ2luaXppbylcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChUb29sdGlwRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvdGVjdGVkIHRvb2x0aXA6IFRvb2x0aXBEaXJlY3RpdmU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBRdWVyeSBjaGUgcmFjY29nbGllIGlsIHRvb2x0aXAgaW4gbWFuaWVyYSBkaW5hbWljYSAoYWQgb2duaSBjaGFuZ2UgZGV0ZWN0aW9uKVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge1Rvb2x0aXBEaXJlY3RpdmV9IGNvbXAgRWxlbWVudG8gSFRNTCBhIGN1aSDDqCBhcHBsaWNhdGEgbGEgZGlyZXR0aXZhIGRlbCB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoVG9vbHRpcERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgc2V0IHRvb2x0aXBfc3RhdGljKGNvbXA6IFRvb2x0aXBEaXJlY3RpdmUpIHtcclxuICAgICAgICBpZiAoY29tcCkgeyB0aGlzLnRvb2x0aXAgPSBjb21wOyB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUXVlcnkgY2hlIHJhY2NvZ2xpZSBsJ2lucHV0IG8gZGlyZXR0aXZhIGNoZSBjb250aWVuZSBpbCB2YWxvcmUgaW4gbWFuaWVyYSBzdGF0aWNhIChzb2xvIGFsbCdpbml6aW8pXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoXCJiYXNlSW5wdXRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGJhc2VJbnB1dDogTmdNb2RlbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFF1ZXJ5IGNoZSByYWNjb2dsaWUgbCdpbnB1dCBvIGRpcmV0dGl2YSBjaGUgY29udGllbmUgaWwgdmFsb3JlIGluIG1hbmllcmEgZGluYW1pY2EgKGFkIG9nbmkgY2hhbmdlIGRldGVjdGlvbilcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtOZ01vZGVsfSBjb21wIEVsZW1lbnRvIEhUTUwgYXNzb2NpYXRvIGFsIG5nTW9kZWwgZGVsIGNvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChcImJhc2VJbnB1dFwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZXQgYmFzZUlucHV0X3N0YXRpYyhjb21wOiBOZ01vZGVsKSB7XHJcbiAgICAgICAgaWYgKGNvbXApIHsgdGhpcy5iYXNlSW5wdXQgPSBjb21wOyB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGRpIGRlZmF1bHQgZGV2ZSB2YWx1dGFyZSBpbCBtZXNzYWdnaW8gZGkgZXJyb3JlIGluIGJhc2UgYWwgdmFsaWRhdG9yZSBjaGUgZmFsbGlzY2UuXHJcbiAgICAgKiBcclxuICAgICAqIFNlIGZhbGxpc2NlIGlsIHJlcXVpcmVkIHZhbGlkYXRvciBzY3JpdmVyw6AgY2hlIGwnaW5wdXQgw6ggb2JibGlnYXRvcmlvLCBzZSBpbnZlY2UgZmFsbGlzY2UgXHJcbiAgICAgKiB1biBldmVudHVhbGUgcGF0dGVybiB2YWxpZGF0b3Igc2NyaXZlcsOgIGNoZSBpbCBmb3JtYXRvIGRlbGwnaW5wdXQgw6ggaW52YWxpZG9cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgSW5mZXJFcnJvck1lc3NhZ2VzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBzZSBsYSB2YWxpZGF6aW9uZSBmYWxsaXNjZS4gXHJcbiAgICAgKiBcclxuICAgICAqIFNlIHF1ZXN0byDDqCB2YWxvcml6emF0bywgaWwgbWVzc2FnZ2lvIG5vbiB2aWVuZSB2YWx1dGF0byBpbiBhdXRvbWF0aWNvIG5vbnN0YW50ZSAqKkluZmVyRXJyb3JNZXNzYWdlcyoqIHNpYSAqKnRydWUqKlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB2YWxpZGF0aW9uRmFpbGVkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGlsIGNvbXBvbmVudGUgw6ggaW4gc29sYSBsZXR0dXJhXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBkZWwgY29tcG9uZW50ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB3aWR0aFB4OiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGlsIGNvbXBvbmVudGUgw6ggZGlzYWJpbGl0YXRvIG8gbm8gKHBpw7kgbyBtZW5vIHN0ZXNzbyBjb25jZXR0byBkZWwgcmVhZG9ubHkpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudHVhbGUgcGxhY2Vob2xkZXIgZGEgbW9zdHJhcmUgYWwgcG9zdG8gZGVsIHZhbG9yZSBxdWFuZG8gaWwgdmFsb3JlIMOoIG51bGxvIC8gdnVvdG9cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsIGNvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdGlsaSBkYSBhcHBsaWNhcmUgYWwgY29tcG9uZW50ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdHlsZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdHRlcm4gZGkgdmFsaWRhemlvbmUgZGVsbCdpbnB1dFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGRpIG5vbiB2YWxpZGFyZSBpbCBjb21wb25lbnRlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG5vVmFsaWRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBhYmlsaXRhcmUgbyBtZW5vIGwnYXV0b2NvbXBsZXRhbWVudG8gZGkgZGVmYXVsdCBkZWwgYnJvd3NlclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZyA9IFwib2ZmXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZCBkZWxsJ2lucHV0LiDDiCBpbXBvcnRhbnRlIGltcG9zdGFybG8gc29wcmF0dHV0dG8gc2UgbCdpbnRlcmZhY2NpYSBnZW5lcmF0YSBkZXYnZXNzZXJlIHRlc3RhdGFcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gY2hlIHNvc3RpdHVpc2NlIGwnbmdNb2RlbENoYW5nZSBmYWNlbmRvbG8gZnVuemlvbmFyZSBpbiBtYW5pZXJhIHVuIHBvJyBwacO5IGNvbnNpc3RlbnRlXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBjaGUgc29zdGl0dWlzY2UgbCduZ01vZGVsQ2hhbmdlIGZhY2VuZG9sbyBmdW56aW9uYXJlIGluIG1hbmllcmEgdW4gcG8nIHBpw7kgY29uc2lzdGVudGVcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGlucHV0Rm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBpbCBjb21wb25lbnRlIGNvbWUgXCJzdWJtaXR0ZWRcIiBzY2F0ZW5hbmRvbmUgbGUgdmFsaWRhemlvbmkgZWQgZXZlbnR1YWxtZW50ZSBsYSB2aXN1YWxpenphemlvbmUgZGVsIHRvb2x0aXAgZGkgZXJyb3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gdmFsICoqdHJ1ZSoqIHNlIHNpIHZ1b2xlIGltcG9zdGFyZSBxdWVzdG8gY29udHJvbGxvIGNvbWUgc3VibWl0dGVkLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoXCJzdWJtaXR0ZWRcIikgc2V0IHN1Ym1pdHRlZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zdWJtaXR0ZWQgPSB2YWw7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJhc2VJbnB1dClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodmFsKVxyXG4gICAgICAgICAgICB0aGlzLmJhc2VJbnB1dC5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYmFzZUlucHV0LmNvbnRyb2wuc3RhdHVzID09PSBcIklOVkFMSURcIiAmJiB2YWwpXHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXBXaXRoTWVzc2FnZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgaWwgY29tcG9uZW50ZSBjb21lIFwiaW52YWxpZFwiIGEgcHJlc2NpbmRlcmUgZGFpIHZhbGlkYXRvcmlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2V0IGZvcmNlSW52YWxpZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9mb3JjZUludmFsaWQgPSB2YWw7XHJcblxyXG4gICAgICAgIGlmICh2YWwpXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5iYXNlSW5wdXQuY29udHJvbC5zZXRFcnJvcnMoeyBmb3JjZWR0b2ludmFsaWQ6IHRydWUgfSkpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VJbnB1dC5jb250cm9sLnNldEVycm9ycyh7IGZvcmNlZHRvaW52YWxpZDogbnVsbCB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZUlucHV0LmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgY2hlIGNvbnRyb2xsYSBzZSBpbCB0b29sdGlwIGRldmUgZXNzZXJlIG1vc3RyYXRvIG8gbWVubywgXHJcbiAgICAgKiByaWNoaWFtYXRvIGRpcmV0dGFtZW50ZSBkYWxsJ0hUTUwgZGVpIGNvbXBvbmVudGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoZWNrVG9vbHRpcCgpIHtcclxuICAgICAgICBpZiAoKHRoaXMuYmFzZUlucHV0LmludmFsaWQgJiYgdGhpcy5iYXNlSW5wdXQudG91Y2hlZCkpXHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXBXaXRoTWVzc2FnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGNoZSBjYWxjb2xhIGlsIG1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBuZWwgdG9vbHRpcCBjaGUgYW5kcsOgIGFkIGFwcmlyZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNob3dUb29sdGlwV2l0aE1lc3NhZ2UoKSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdGhpcy52YWxpZGF0aW9uRmFpbGVkID8gdGhpcy52YWxpZGF0aW9uRmFpbGVkIDogdGhpcy5JbmZlckVycm9yTWVzc2FnZXMgPyB0aGlzLmluZmVyTWVzc2FnZSgpIDogXCJcIjtcclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uRmFpbGVkKVxyXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY29sYSBpbCBtZXNzYWdnaW8gZGEgbW9zdHJhcmUgaW4gYmFzZSBhbCB2YWxvcmUuXHJcbiAgICAgKiBcclxuICAgICAqIEVudHJhcmUgaW4gcXVlc3RhIGZ1bnppb25lIHNpZ25pZmljYSBjaGUgbG8gc3RhdG8gZGkgdmFsaWRhemlvbmUgw6ggZmFsbGl0bywgcGVyIHF1ZXN0byBzaSBjb21wb3J0YSBzZW1wbGljZW1lbnRlIGluIG1hbmllcmEgZXNjbHVzaXZhLCBlIGNpb8OoOlxyXG4gICAgICogXHJcbiAgICAgKiAxKSBTZSBlcm8gcmVxdWlyZWQgZSBzb25vIHNlbnphIHZhbG9yZSAtLT4gSW5wdXQgcmljaGllc3RvXHJcbiAgICAgKiBcclxuICAgICAqIDIpIEFsdHJpbWVudGkgc2UgaG8gdW4gdmFsb3JlIC0tPiBEaSBzaWN1cm8gaWwgZm9ybWF0byDDqCBlcnJhdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpbmZlck1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy5iYXNlSW5wdXQudmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxjLmxvYyhcIlJlcXVpcmVkIElucHV0XCIpXHJcblxyXG4gICAgICAgIGlmICh0aGlzLmJhc2VJbnB1dC52YWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGMubG9jKFwiSW52YWxpZCBJbnB1dCBGb3JtYXRcIilcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcnphIGxhIGNoaXVzdXJhIGRlbCB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIGNsb3NlVG9vbHRpcCgpIHtcclxuICAgICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbGxhIHNlIGlsIGNvbnRyb2xsbyDDqCB2YWxpZG8gZSBpbiBjYXNvIGxvIHNpYSBjaGl1ZGUgaWwgdG9vbHRpcFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgQ2hlY2tWYWxpZGl0eSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuYmFzZUlucHV0LnN0YXR1c0NoYW5nZXMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5iYXNlSW5wdXQuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgPT09IFwiVkFMSURcIilcclxuICAgICAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpc0Rpc2FibGVkID8gdGhpcy5iYXNlSW5wdXQuY29udHJvbC5kaXNhYmxlKCkgOiB0aGlzLmJhc2VJbnB1dC5jb250cm9sLmVuYWJsZSgpO1xyXG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTCdlbWl0IGRlbCBmb2N1cyBkZWxsJ2VsZW1lbnRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSB0b0VtaXQgdmFsb3JlIGRhIHByb3BhZ2FyZSBhbGwnZXN0ZXJub1xyXG4gICAgICovXHJcbiAgICBvbkZvY3VzKHRvRW1pdCkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRGb2N1cy5lbWl0KHRvRW1pdCk7XHJcbiAgICB9XHJcbn0iXX0=
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdmFsaWRhdGlvbnMvYmFzZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQU05RixrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHekQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsY0FBYztJQURwQztRQWFJOztXQUVHO1FBQ08sa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFekM7O1dBRUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBd0NqQzs7Ozs7V0FLRztRQUNNLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUU1Qzs7V0FFRztRQUNNLG9CQUFlLEdBQStDLFNBQVMsQ0FBQztRQUVqRjs7OztXQUlHO1FBQ00scUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUNNLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUU1Qjs7V0FFRztRQUNNLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFOUI7O1dBRUc7UUFDTSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRXJDOztXQUVHO1FBQ00saUJBQVksR0FBVyxLQUFLLENBQUM7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LEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7O1lBL1JKLFNBQVM7OztzQkEwQkwsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs2QkFPN0MsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt3QkFPNUMsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBS3hDLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOytCQU94QyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTsyQkFPdkMsS0FBSztpQ0FRTCxLQUFLOzhCQUtMLEtBQUs7K0JBT0wsS0FBSzt1QkFLTCxLQUFLO3NCQUtMLEtBQUs7dUJBS0wsS0FBSzswQkFLTCxLQUFLO29CQUtMLEtBQUs7b0JBS0wsS0FBSztzQkFLTCxLQUFLO3lCQUtMLEtBQUs7MkJBS0wsS0FBSztpQkFLTCxLQUFLOzBCQUtMLE1BQU07eUJBS04sTUFBTTs2QkFLTixNQUFNO3dCQU9OLEtBQUssU0FBQyxXQUFXOzJCQWlCakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGFzdHJhdHRhIGJhc2UgY2hlIGNvbnRpZW5lIGxlIGxvZ2ljaGUgLyBwcm9wcmlldMOgIGluIGNvbXVuZSBhIHR1dHRpIGkgdmFsaWRhdG9yaVxyXG4gKiBcclxuICogTm90YSBiZW5lOiBJIHRvb2x0aXAgcmFsbGVudGFubyB0YW50aXNzaW1vIGxhIHBhZ2luYSBwZXJjaMOpIGlsIHRpemlvIGNoZSBoYSBmYXR0byBuZ3ggYm9vdHN0cmFwIG5vbiDDqCBjYXBhY2VcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVZhbGlkYXRpb24ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2Vydml6aW8gZGkgbG9jYWxpenphemlvbmUgZGVsIENvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFyaWFiaWxlIHBlciB0ZW5lcmUgaW4gbWVtb3JpYSBsbyBzdGF0byBkaSBzdWJtaXQgZGkgcXVlc3RvIGNvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9zdWJtaXR0ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYXJpYWJpbGUgcGVyIHRlbmVyZSBpbiBtZW1vcmlhIGlsIGZhdHRvIGNoZSBpbCBjb21wb25lbnRlIMOoIGZvcnphdG8gYSBpbnZhbGlkbyBvIG5vXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfZm9yY2VJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWwgdmFsb3JlIMOoIG9iYmxpZ2F0b3JpbyBvIG9wemlvbmFsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFF1ZXJ5IGNoZSByYWNjb2dsaWUgaWwgdG9vbHRpcCBpbiBtYW5pZXJhIHN0YXRpY2EgKHNvbG8gYWxsJ2luaXppbylcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChUb29sdGlwRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvdGVjdGVkIHRvb2x0aXA6IFRvb2x0aXBEaXJlY3RpdmU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBRdWVyeSBjaGUgcmFjY29nbGllIGlsIHRvb2x0aXAgaW4gbWFuaWVyYSBkaW5hbWljYSAoYWQgb2duaSBjaGFuZ2UgZGV0ZWN0aW9uKVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge1Rvb2x0aXBEaXJlY3RpdmV9IGNvbXAgRWxlbWVudG8gSFRNTCBhIGN1aSDDqCBhcHBsaWNhdGEgbGEgZGlyZXR0aXZhIGRlbCB0b29sdGlwXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoVG9vbHRpcERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgc2V0IHRvb2x0aXBfc3RhdGljKGNvbXA6IFRvb2x0aXBEaXJlY3RpdmUpIHtcclxuICAgICAgICBpZiAoY29tcCkgeyB0aGlzLnRvb2x0aXAgPSBjb21wOyB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWxlbWVudG8gSFRNTCByYXBwcmVzZW50YW50ZSBsJ0lucHV0XHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoJ2h0bWxJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBodG1sSW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBRdWVyeSBjaGUgcmFjY29nbGllIGwnaW5wdXQgbyBkaXJldHRpdmEgY2hlIGNvbnRpZW5lIGlsIHZhbG9yZSBpbiBtYW5pZXJhIHN0YXRpY2EgKHNvbG8gYWxsJ2luaXppbylcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChcImJhc2VJbnB1dFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgYmFzZUlucHV0OiBOZ01vZGVsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUXVlcnkgY2hlIHJhY2NvZ2xpZSBsJ2lucHV0IG8gZGlyZXR0aXZhIGNoZSBjb250aWVuZSBpbCB2YWxvcmUgaW4gbWFuaWVyYSBkaW5hbWljYSAoYWQgb2duaSBjaGFuZ2UgZGV0ZWN0aW9uKVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge05nTW9kZWx9IGNvbXAgRWxlbWVudG8gSFRNTCBhc3NvY2lhdG8gYWwgbmdNb2RlbCBkZWwgY29tcG9uZW50ZVxyXG4gICAgICovXHJcbiAgICBAVmlld0NoaWxkKFwiYmFzZUlucHV0XCIsIHsgc3RhdGljOiB0cnVlIH0pIHNldCBiYXNlSW5wdXRfc3RhdGljKGNvbXA6IE5nTW9kZWwpIHtcclxuICAgICAgICBpZiAoY29tcCkgeyB0aGlzLmJhc2VJbnB1dCA9IGNvbXA7IH1cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWJqZWN0IGEgY3VpIGwnb2dnZXR0byBpbnRlcm5vIHNpIGNvbGxlZ2EgcGVyIGVmZmV0dHVhcmUgaWwgZm9jdXMgZGVsbCdlbGVtZW50byBpbnB1dCBzb3R0b3N0YW50ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBGb2N1c1N1YmplY3Q6IFN1YmplY3Q8dm9pZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgZGkgZGVmYXVsdCBkZXZlIHZhbHV0YXJlIGlsIG1lc3NhZ2dpbyBkaSBlcnJvcmUgaW4gYmFzZSBhbCB2YWxpZGF0b3JlIGNoZSBmYWxsaXNjZS5cclxuICAgICAqIFxyXG4gICAgICogU2UgZmFsbGlzY2UgaWwgcmVxdWlyZWQgdmFsaWRhdG9yIHNjcml2ZXLDoCBjaGUgbCdpbnB1dCDDqCBvYmJsaWdhdG9yaW8sIHNlIGludmVjZSBmYWxsaXNjZSBcclxuICAgICAqIHVuIGV2ZW50dWFsZSBwYXR0ZXJuIHZhbGlkYXRvciBzY3JpdmVyw6AgY2hlIGlsIGZvcm1hdG8gZGVsbCdpbnB1dCDDqCBpbnZhbGlkb1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBJbmZlckVycm9yTWVzc2FnZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kYWxpdMOgIGluIGN1aSB2aWVuZSBtb3N0cmF0byBpbCBjYW1wbywgMS0xIHJpc3BldHRvIGFsbGUgZGVmaW5pemlvbmkgZGkgQW5ndWxhciBNYXRlcmlhbCBcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgRmllbGRBcHBlYXJlbmNlOiBcImxlZ2FjeVwiIHwgXCJzdGFuZGFyZFwiIHwgXCJmaWxsXCIgfCBcIm91dGxpbmVcIiA9IFwib3V0bGluZVwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIHNlIGxhIHZhbGlkYXppb25lIGZhbGxpc2NlLiBcclxuICAgICAqIFxyXG4gICAgICogU2UgcXVlc3RvIMOoIHZhbG9yaXp6YXRvLCBpbCBtZXNzYWdnaW8gbm9uIHZpZW5lIHZhbHV0YXRvIGluIGF1dG9tYXRpY28gbm9uc3RhbnRlICoqSW5mZXJFcnJvck1lc3NhZ2VzKiogc2lhICoqdHJ1ZSoqXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHZhbGlkYXRpb25GYWlsZWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWwgY29tcG9uZW50ZSDDqCBpbiBzb2xhIGxldHR1cmFcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBsZSBkaW1lbnNpb25pIGRlbCBjb21wb25lbnRlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHdpZHRoUHg6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWwgY29tcG9uZW50ZSDDqCBkaXNhYmlsaXRhdG8gbyBubyAocGnDuSBvIG1lbm8gc3Rlc3NvIGNvbmNldHRvIGRlbCByZWFkb25seSlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50dWFsZSBwbGFjZWhvbGRlciBkYSBtb3N0cmFyZSBhbCBwb3N0byBkZWwgdmFsb3JlIHF1YW5kbyBpbCB2YWxvcmUgw6ggbnVsbG8gLyB2dW90b1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENsYXNzaSBkYSBhcHBsaWNhcmUgYWwgY29tcG9uZW50ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0aWxpIGRhIGFwcGxpY2FyZSBhbCBjb21wb25lbnRlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0eWxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0dGVybiBkaSB2YWxpZGF6aW9uZSBkZWxsJ2lucHV0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHBhdHRlcm46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgZGkgbm9uIHZhbGlkYXJlIGlsIGNvbXBvbmVudGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgbm9WYWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGFiaWxpdGFyZSBvIG1lbm8gbCdhdXRvY29tcGxldGFtZW50byBkaSBkZWZhdWx0IGRlbCBicm93c2VyXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gXCJvZmZcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElkIGRlbGwnaW5wdXQuIMOIIGltcG9ydGFudGUgaW1wb3N0YXJsbyBzb3ByYXR0dXR0byBzZSBsJ2ludGVyZmFjY2lhIGdlbmVyYXRhIGRldidlc3NlcmUgdGVzdGF0YVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBjaGUgc29zdGl0dWlzY2UgbCduZ01vZGVsQ2hhbmdlIGZhY2VuZG9sbyBmdW56aW9uYXJlIGluIG1hbmllcmEgdW4gcG8nIHBpw7kgY29uc2lzdGVudGVcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGlucHV0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIGNoZSBpbmRpY2EgaWwgZm9jdXMgYXZ2ZW51dG8gc3UgdW4gY29udHJvbGxvXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbnB1dEZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIGNoZSBpbmRpY2EgbGEgZmluYWxpenphemlvbmUgZGVsIHZhbG9yZSBhdnZlbnV0YSBzdSB1biBjb250cm9sbG9cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGlucHV0RmluYWxpemVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgaWwgY29tcG9uZW50ZSBjb21lIFwic3VibWl0dGVkXCIgc2NhdGVuYW5kb25lIGxlIHZhbGlkYXppb25pIGVkIGV2ZW50dWFsbWVudGUgbGEgdmlzdWFsaXp6YXppb25lIGRlbCB0b29sdGlwIGRpIGVycm9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbCAqKnRydWUqKiBzZSBzaSB2dW9sZSBpbXBvc3RhcmUgcXVlc3RvIGNvbnRyb2xsbyBjb21lIHN1Ym1pdHRlZCwgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgQElucHV0KFwic3VibWl0dGVkXCIpIHNldCBzdWJtaXR0ZWQodmFsOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gdmFsO1xyXG4gICAgICAgIGlmICghdGhpcy5iYXNlSW5wdXQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHZhbClcclxuICAgICAgICAgICAgdGhpcy5iYXNlSW5wdXQuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmJhc2VJbnB1dC5jb250cm9sLnN0YXR1cyA9PT0gXCJJTlZBTElEXCIgJiYgdmFsKVxyXG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwV2l0aE1lc3NhZ2UoKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGlsIGNvbXBvbmVudGUgY29tZSBcImludmFsaWRcIiBhIHByZXNjaW5kZXJlIGRhaSB2YWxpZGF0b3JpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBmb3JjZUludmFsaWQodmFsOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZm9yY2VJbnZhbGlkID0gdmFsO1xyXG5cclxuICAgICAgICBpZiAodmFsKVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYmFzZUlucHV0LmNvbnRyb2wuc2V0RXJyb3JzKHsgZm9yY2VkdG9pbnZhbGlkOiB0cnVlIH0pKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlSW5wdXQuY29udHJvbC5zZXRFcnJvcnMoeyBmb3JjZWR0b2ludmFsaWQ6IG51bGwgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VJbnB1dC5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGNoZSBjb250cm9sbGEgc2UgaWwgdG9vbHRpcCBkZXZlIGVzc2VyZSBtb3N0cmF0byBvIG1lbm8sIFxyXG4gICAgICogcmljaGlhbWF0byBkaXJldHRhbWVudGUgZGFsbCdIVE1MIGRlaSBjb21wb25lbnRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGVja1Rvb2x0aXAoKSB7XHJcbiAgICAgICAgaWYgKCh0aGlzLmJhc2VJbnB1dC5pbnZhbGlkICYmIHRoaXMuYmFzZUlucHV0LnRvdWNoZWQpKVxyXG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwV2l0aE1lc3NhZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgY2FsY29sYSBpbCBtZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsIHRvb2x0aXAgY2hlIGFuZHLDoCBhZCBhcHJpcmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzaG93VG9vbHRpcFdpdGhNZXNzYWdlKCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IHRoaXMudmFsaWRhdGlvbkZhaWxlZCA/IHRoaXMudmFsaWRhdGlvbkZhaWxlZCA6IHRoaXMuSW5mZXJFcnJvck1lc3NhZ2VzID8gdGhpcy5pbmZlck1lc3NhZ2UoKSA6IFwiXCI7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbkZhaWxlZClcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwLnNob3coKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGNvbGEgaWwgbWVzc2FnZ2lvIGRhIG1vc3RyYXJlIGluIGJhc2UgYWwgdmFsb3JlLlxyXG4gICAgICogXHJcbiAgICAgKiBFbnRyYXJlIGluIHF1ZXN0YSBmdW56aW9uZSBzaWduaWZpY2EgY2hlIGxvIHN0YXRvIGRpIHZhbGlkYXppb25lIMOoIGZhbGxpdG8sIHBlciBxdWVzdG8gc2kgY29tcG9ydGEgc2VtcGxpY2VtZW50ZSBpbiBtYW5pZXJhIGVzY2x1c2l2YSwgZSBjaW/DqDpcclxuICAgICAqIFxyXG4gICAgICogMSkgU2UgZXJvIHJlcXVpcmVkIGUgc29ubyBzZW56YSB2YWxvcmUgLS0+IElucHV0IHJpY2hpZXN0b1xyXG4gICAgICogXHJcbiAgICAgKiAyKSBBbHRyaW1lbnRpIHNlIGhvIHVuIHZhbG9yZSAtLT4gRGkgc2ljdXJvIGlsIGZvcm1hdG8gw6ggZXJyYXRvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaW5mZXJNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuYmFzZUlucHV0LnZhbHVlKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYy5sb2MoXCJSZXF1aXJlZCBJbnB1dFwiKVxyXG5cclxuICAgICAgICBpZiAodGhpcy5iYXNlSW5wdXQudmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxjLmxvYyhcIkludmFsaWQgSW5wdXQgRm9ybWF0XCIpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3J6YSBsYSBjaGl1c3VyYSBkZWwgdG9vbHRpcFxyXG4gICAgICovXHJcbiAgICBjbG9zZVRvb2x0aXAoKSB7XHJcbiAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2xsYSBzZSBpbCBjb250cm9sbG8gw6ggdmFsaWRvIGUgaW4gY2FzbyBsbyBzaWEgY2hpdWRlIGlsIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIENoZWNrVmFsaWRpdHkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJhc2VJbnB1dC5zdGF0dXNDaGFuZ2VzKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuYmFzZUlucHV0LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSBcIlZBTElEXCIpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaXNEaXNhYmxlZCA/IHRoaXMuYmFzZUlucHV0LmNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5iYXNlSW5wdXQuY29udHJvbC5lbmFibGUoKTtcclxuICAgICAgICB0aGlzLnJlYWRvbmx5ID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEwnZW1pdCBkZWwgZm9jdXMgZGVsbCdlbGVtZW50b1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gdG9FbWl0IHZhbG9yZSBkYSBwcm9wYWdhcmUgYWxsJ2VzdGVybm9cclxuICAgICAqL1xyXG4gICAgb25Gb2N1cyh0b0VtaXQpIHtcclxuICAgICAgICB0aGlzLmlucHV0Rm9jdXMuZW1pdCh0b0VtaXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluYWxpenphemlvbmUgSW5wdXRcclxuICAgICAqL1xyXG4gICAgb25GaW5hbGl6ZSgpIHtcclxuICAgICAgICB0aGlzLmlucHV0RmluYWxpemVkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN1YnNjcmlwdGlvbiBhbGxlIHJpY2hpZXN0ZSBkaSBmb2N1c1xyXG4gICAgICovXHJcbiAgICBvYnNlcnZhYmxlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWdpc3RyYSBpbCBTdWJqZWN0IHBlciByaWNldmVyZSBsZSByaWNoaWVzdGUgZGkgRm9jdXMgZGFsbCdlc3Rlcm5vXHJcbiAgICAgKi9cclxuICAgIHJlZ2lzdGVyRm9jdXNSZXF1ZXN0KCk6IGFueSB7XHJcbiAgICAgICAgaWYoIXRoaXMuRm9jdXNTdWJqZWN0KVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlID0gdGhpcy5Gb2N1c1N1YmplY3Quc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmh0bWxJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXJlZ2lzdHJhIGlsIFN1YmplY3QgZGVsbGUgcmljaGllc3RlIGRpIGZvY3VzXHJcbiAgICAgKi9cclxuICAgIGRlcmVnaXN0ZXJGb2N1c1JlcXVlc3QoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMub2JzZXJ2YWJsZSlcclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZhYmxlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn0iXX0=