@esfaenza/forms-and-validations 11.2.103 → 11.2.106

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.
@@ -2,15 +2,14 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- export { BaseFormControl as ɵg } from './lib/forms/base-form-control';
6
- export { FormAdaptiveComponentLoc as ɵi } from './lib/forms/form-adaptive/form-adaptive.component.loc';
7
- export { FormAutocompleteComponentLoc as ɵm } from './lib/forms/form-autocomplete/form-autocomplete.component.loc';
8
- export { FormFileComponentLoc as ɵl } from './lib/forms/form-file/form-file.component.loc';
9
- export { FormMultiSelectComponent as ɵj } from './lib/forms/form-multiselect/form-multiselect.component';
10
- export { FormMultiSelectComponentLoc as ɵk } from './lib/forms/form-multiselect/form-multiselect.component.loc';
11
- export { FormSelectComponentLoc as ɵh } from './lib/forms/form-select/form-select.component.loc';
12
- export { ACO_CUSTOMKEY as ɵd, FAV_DEBUG_MODE as ɵe, FAV_LOCALE as ɵc } from './lib/tokens';
5
+ export { BaseFormControl as ɵd } from './lib/forms/base-form-control';
6
+ export { FormAdaptiveComponentLoc as ɵf } from './lib/forms/form-adaptive/form-adaptive.component.loc';
7
+ export { FormAutocompleteComponentLoc as ɵj } from './lib/forms/form-autocomplete/form-autocomplete.component.loc';
8
+ export { FormFileComponentLoc as ɵi } from './lib/forms/form-file/form-file.component.loc';
9
+ export { FormMultiSelectComponent as ɵg } from './lib/forms/form-multiselect/form-multiselect.component';
10
+ export { FormMultiSelectComponentLoc as ɵh } from './lib/forms/form-multiselect/form-multiselect.component.loc';
11
+ export { FormSelectComponentLoc as ɵe } from './lib/forms/form-select/form-select.component.loc';
13
12
  export { BaseValidation as ɵa } from './lib/validations/base-validation';
14
13
  export { BaseValidationLoc as ɵb } from './lib/validations/base-validation.loc';
15
- export { CustomRequiredDirective as ɵf } from './lib/validations/customValidators/CustomRequiredDirective';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNmYWVuemEtZm9ybXMtYW5kLXZhbGlkYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9lc2ZhZW56YS1mb3Jtcy1hbmQtdmFsaWRhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNyRyxPQUFPLEVBQUMsNEJBQTRCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDakgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDOUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2RixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QmFzZUZvcm1Db250cm9sIGFzIMm1Z30gZnJvbSAnLi9saWIvZm9ybXMvYmFzZS1mb3JtLWNvbnRyb2wnO1xuZXhwb3J0IHtGb3JtQWRhcHRpdmVDb21wb25lbnRMb2MgYXMgybVpfSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWFkYXB0aXZlL2Zvcm0tYWRhcHRpdmUuY29tcG9uZW50LmxvYyc7XG5leHBvcnQge0Zvcm1BdXRvY29tcGxldGVDb21wb25lbnRMb2MgYXMgybVtfSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWF1dG9jb21wbGV0ZS9mb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQubG9jJztcbmV4cG9ydCB7Rm9ybUZpbGVDb21wb25lbnRMb2MgYXMgybVsfSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWZpbGUvZm9ybS1maWxlLmNvbXBvbmVudC5sb2MnO1xuZXhwb3J0IHtGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLW11bHRpc2VsZWN0L2Zvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybU11bHRpU2VsZWN0Q29tcG9uZW50TG9jIGFzIMm1a30gZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1tdWx0aXNlbGVjdC9mb3JtLW11bHRpc2VsZWN0LmNvbXBvbmVudC5sb2MnO1xuZXhwb3J0IHtGb3JtU2VsZWN0Q29tcG9uZW50TG9jIGFzIMm1aH0gZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LmxvYyc7XG5leHBvcnQge0FDT19DVVNUT01LRVkgYXMgybVkLEZBVl9ERUJVR19NT0RFIGFzIMm1ZSxGQVZfTE9DQUxFIGFzIMm1Y30gZnJvbSAnLi9saWIvdG9rZW5zJztcbmV4cG9ydCB7QmFzZVZhbGlkYXRpb24gYXMgybVhfSBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy9iYXNlLXZhbGlkYXRpb24nO1xuZXhwb3J0IHtCYXNlVmFsaWRhdGlvbkxvYyBhcyDJtWJ9IGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL2Jhc2UtdmFsaWRhdGlvbi5sb2MnO1xuZXhwb3J0IHtDdXN0b21SZXF1aXJlZERpcmVjdGl2ZSBhcyDJtWZ9IGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL2N1c3RvbVZhbGlkYXRvcnMvQ3VzdG9tUmVxdWlyZWREaXJlY3RpdmUnOyJdfQ==
14
+ export { CustomRequiredDirective as ɵc } from './lib/validations/customValidators/CustomRequiredDirective';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNmYWVuemEtZm9ybXMtYW5kLXZhbGlkYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9lc2ZhZW56YS1mb3Jtcy1hbmQtdmFsaWRhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNyRyxPQUFPLEVBQUMsNEJBQTRCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDakgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDOUcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtCYXNlRm9ybUNvbnRyb2wgYXMgybVkfSBmcm9tICcuL2xpYi9mb3Jtcy9iYXNlLWZvcm0tY29udHJvbCc7XG5leHBvcnQge0Zvcm1BZGFwdGl2ZUNvbXBvbmVudExvYyBhcyDJtWZ9IGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tYWRhcHRpdmUvZm9ybS1hZGFwdGl2ZS5jb21wb25lbnQubG9jJztcbmV4cG9ydCB7Rm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudExvYyBhcyDJtWp9IGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tYXV0b2NvbXBsZXRlL2Zvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5sb2MnO1xuZXhwb3J0IHtGb3JtRmlsZUNvbXBvbmVudExvYyBhcyDJtWl9IGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tZmlsZS9mb3JtLWZpbGUuY29tcG9uZW50LmxvYyc7XG5leHBvcnQge0Zvcm1NdWx0aVNlbGVjdENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tbXVsdGlzZWxlY3QvZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtGb3JtTXVsdGlTZWxlY3RDb21wb25lbnRMb2MgYXMgybVofSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLW11bHRpc2VsZWN0L2Zvcm0tbXVsdGlzZWxlY3QuY29tcG9uZW50LmxvYyc7XG5leHBvcnQge0Zvcm1TZWxlY3RDb21wb25lbnRMb2MgYXMgybVlfSBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQubG9jJztcbmV4cG9ydCB7QmFzZVZhbGlkYXRpb24gYXMgybVhfSBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy9iYXNlLXZhbGlkYXRpb24nO1xuZXhwb3J0IHtCYXNlVmFsaWRhdGlvbkxvYyBhcyDJtWJ9IGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL2Jhc2UtdmFsaWRhdGlvbi5sb2MnO1xuZXhwb3J0IHtDdXN0b21SZXF1aXJlZERpcmVjdGl2ZSBhcyDJtWN9IGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL2N1c3RvbVZhbGlkYXRvcnMvQ3VzdG9tUmVxdWlyZWREaXJlY3RpdmUnOyJdfQ==
@@ -21,6 +21,8 @@ export class FormAutocompleteComponent extends BaseFormControl {
21
21
  this.SearchFunction = null;
22
22
  /** Numero minimo di caratteri con cui cercare */
23
23
  this.MinChars = 3;
24
+ /** Definisce che ad ogni selezione deve chiudere la tendina */
25
+ this.HideChoicesOnSelection = false;
24
26
  /** Override del placeholder per select requried */
25
27
  this.RequiredPlaceholder = null;
26
28
  /** Indica se i controlli devono essere effettuati tenendo conto del Case o meno. Vale solo qualora la **Source** fosse fornita */
@@ -175,7 +177,7 @@ export class FormAutocompleteComponent extends BaseFormControl {
175
177
  FormAutocompleteComponent.decorators = [
176
178
  { type: Component, args: [{
177
179
  selector: "form-autocomplete",
178
- template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\">&nbsp;</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <val-autocomplete *ngIf=\"!Multi\" [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n type=\"text\"\r\n [ngModel]=\"Model\"\r\n (ngModelChange)=\"Model = $event; evaluateIdResearch()\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"filterSource($event);\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n (optionChange)=\"changed($event);\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\">\r\n </val-autocomplete>\r\n\r\n <val-autocomplete-multi *ngIf=\"Multi\" [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n [ChipThreshold]=\"MultiElementsThreshold\"\r\n type=\"text\"\r\n [ngModel]=\"Model\"\r\n (ngModelChange)=\"Model = $event; evaluateIdResearch()\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"filterSource($event);\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n (optionChange)=\"changed($event);\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\">\r\n\r\n </val-autocomplete-multi>\r\n</ng-template>",
180
+ template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\">&nbsp;</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <val-autocomplete *ngIf=\"!Multi\" [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n type=\"text\"\r\n [ngModel]=\"Model\"\r\n (ngModelChange)=\"Model = $event; evaluateIdResearch()\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"filterSource($event);\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n (optionChange)=\"changed($event);\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\">\r\n </val-autocomplete>\r\n\r\n <val-autocomplete-multi *ngIf=\"Multi\" [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\"\r\n [readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n [ChipThreshold]=\"MultiElementsThreshold\"\r\n [HideChoicesOnSelection]=\"HideChoicesOnSelection\"\r\n type=\"text\"\r\n [ngModel]=\"Model\"\r\n (ngModelChange)=\"Model = $event; evaluateIdResearch()\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"filterSource($event);\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n (optionChange)=\"changed($event);\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\">\r\n\r\n </val-autocomplete-multi>\r\n</ng-template>",
179
181
  providers: [{ provide: LocalizationService, useClass: FormAutocompleteComponentLoc }],
180
182
  changeDetection: ChangeDetectionStrategy.OnPush
181
183
  },] }
@@ -194,9 +196,10 @@ FormAutocompleteComponent.propDecorators = {
194
196
  SelectLabel: [{ type: Input }],
195
197
  SearchFunction: [{ type: Input }],
196
198
  MinChars: [{ type: Input }],
199
+ HideChoicesOnSelection: [{ type: Input }],
197
200
  RequiredPlaceholder: [{ type: Input }],
198
201
  CaseSensitive: [{ type: Input }],
199
202
  Multi: [{ type: Input }],
200
203
  MultiElementsThreshold: [{ type: Input }]
201
204
  };
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJN0QsZ0JBQWdCO0FBQ2hCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpGLHlFQUF5RTtBQU96RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZUFBZTtJQWdDMUQsMkJBQTJCO0lBQzNCLFlBQVksR0FBc0IsRUFBUyxFQUF1QixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUIsRUFBc0MsY0FBd0I7UUFDNVcsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNB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QUFnQix1QkFpRHNLLFFBQVE7eUNBQWtDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTswQ0FBMEIsUUFBUSxZQUFJLE1BQU0sU0FBQyxjQUFjOzs7MEJBOUJyVixLQUFLOzZCQUdMLEtBQUs7dUJBR0wsS0FBSztrQ0FHTCxLQUFLOzRCQUdMLEtBQUs7b0JBR0wsS0FBSztxQ0FHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFNlbGYsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vL0xvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEZvcm1BdXRvY29tcGxldGVDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBkaSBpbnB1dCBjaGUgc2kgYXV0by1jb21wbGV0YSBpbiBiYXNlIGFsIHZhbG9yZSBhdHR1YWxlICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1hdXRvY29tcGxldGVcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50TG9jIH1dLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqIFBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGlsIHRlc3RvIGRlbGxhIExhYmVsIGZsb3R0YW50ZSBtYXRlcmlhbC1zdHlsZSAqL1xyXG4gICAgQElucHV0KCkgU2VsZWN0TGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIEZ1bnppb25lIGRpIHJpY2VyY2EgY2hlIHZlcnLDoCBjaGlhbWF0YSBkYWwgY29tcG9uZW50ZSAqL1xyXG4gICAgQElucHV0KCkgU2VhcmNoRnVuY3Rpb246IChzZWFyY2g6IHN0cmluZywgYnlpZDogYm9vbGVhbikgPT4gT2JzZXJ2YWJsZTx7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfVtdPiA9IG51bGw7XHJcblxyXG4gICAgLyoqIE51bWVybyBtaW5pbW8gZGkgY2FyYXR0ZXJpIGNvbiBjdWkgY2VyY2FyZSAqL1xyXG4gICAgQElucHV0KCkgTWluQ2hhcnM6IG51bWJlciA9IDM7XHJcblxyXG4gICAgLyoqIE92ZXJyaWRlIGRlbCBwbGFjZWhvbGRlciBwZXIgc2VsZWN0IHJlcXVyaWVkICovXHJcbiAgICBASW5wdXQoKSBSZXF1aXJlZFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgaSBjb250cm9sbGkgZGV2b25vIGVzc2VyZSBlZmZldHR1YXRpIHRlbmVuZG8gY29udG8gZGVsIENhc2UgbyBtZW5vLiBWYWxlIHNvbG8gcXVhbG9yYSBsYSAqKlNvdXJjZSoqIGZvc3NlIGZvcm5pdGEgKi9cclxuICAgIEBJbnB1dCgpIENhc2VTZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHVzYXJlIGxhIG1vZGFsaXTDoCBtdWx0aXNlbGV6aW9uZSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBNdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgdXNhcmUgbGEgbW9kYWxpdMOgIG11bHRpc2VsZXppb25lIG8gbm8gKi9cclxuICAgIEBJbnB1dCgpIE11bHRpRWxlbWVudHNUaHJlc2hvbGQ6IG51bWJlciA9IDEwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGlnbm9yYXJlIGlsIHByb3NzaW1vIGV2ZW50byB3cml0ZVZhbHVlIGNoZSBub3JtYWxtZW50ZSBkb3ZyZWJiZSByaWNoaWVkZXJlIGxhIG51b3ZhIHNvdXJjZS4gU2VydmUgcGVyIHF1YW5kbyBsJ3V0ZW50ZSBzZWxlemlvbmEgdW4gZWxlbWVudG86XHJcbiAgICAgKiBTdWJpdG8gZG9wbyBwYXJ0aXJlYmJlIHVuIGFsdHJvIGV2ZW50byBtb2RlbENoYW5nZSBjaGUgcmljYXJpY2hlcmViYmUgbnVvdmFtZW50ZSBsYSBzb3VyY2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpZ25vcmVOZXh0V3JpdGVWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBTb3JnZW50ZSBCaW5kYXRhIEZpbHRyYXRhIGluIGJhc2UgYWwgY29udGVudXRvIGRlbGxhIGNhc2VsbGEgZGkgdGVzdG8gKi9cclxuICAgIHB1YmxpYyBGaWx0ZXJlZEJvdW5kU291cmNlOiB7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgICovXHJcbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIGFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgQE9wdGlvbmFsKCkgQXBwQ29udGV4dDogQ29tcG9uZW50Q29udGV4dCwgQE9wdGlvbmFsKCkgQEluamVjdChBQ09fQ1VTVE9NS0VZKSBBQ09fQ1VTVE9NS0VZOiBzdHJpbmcsIEBPcHRpb25hbCgpIEBJbmplY3QoRkFWX0RFQlVHX01PREUpIEZBVl9ERUJVR19NT0RFIDogYm9vbGVhbikge1xyXG4gICAgICAgIHN1cGVyKGNkciwgbmdDb250cm9sLCBfdmFsaWRhdG9ycywgYWMsIEFwcENvbnRleHQsIEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5TZWFyY2hGdW5jdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLlNlYXJjaEZ1bmN0aW9uKHZhbHVlLCB0cnVlKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlNvdXJjZSA9IHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5maW5hbGl6ZVZhbHVlKHZhbHVlKTsgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5NdWx0aSlcclxuICAgICAgICAgICAgdGhpcy5maW5hbGl6ZVZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdG8gdW4gdmFsb3JlIHZlcmlmaWNhIHNlIHB1w7IgcmVzdGl0dWlyZSBsZSBpbmZvcm1hemlvbmkgdHJvdmF0ZSBpbiAqKlNvdXJjZSoqIGNvbiBpZCB1Z3VhbGUgYSAqKnZhbHVlKiogbyBzZSBkZXZlIHJlc3RpdHVpcmUgaWwgdmFsb3JlIGluIHNlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBWYWxvcmUgc2NyaXR0byBuZWxsJ2lucHV0IGRpIHRlc3RvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZmluYWxpemVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdmFyIHZhbCA9IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gdmFsdWUpO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbCA/IHZhbC5pZCA6IHZhbHVlKTtcclxuICAgICAgICB0aGlzLk1vZGVsID0gdmFsID8gdmFsLmRlc2NyaXB0aW9uIDogdmFsdWU7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuTW9kZWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBRdWFuZG8gdmllbmUgc2NyaXR0byB1biBudW92byB2YWxvcmUgYmlzb2duYSBjb250cm9sbGFyZSBzZSBwZXIgYm90dGEgZGkgY3VsbyBmb3NzZSB1biBpZCwgaW4gdGFsIGNhc28gZGV2J2Vzc2VyZSByaWVmZmV0dHVhdG8gaWwgYmluZFxyXG4gICAgICogcGVyIG1vc3RyYXJlIHNvbG8gbGEgZGVzY3JpemlvbmUgbmVsbCdhdXRvY29tcGxldGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGV2YWx1YXRlSWRSZXNlYXJjaCgpIHtcclxuICAgICAgICBpZighdGhpcy5Nb2RlbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLlNlYXJjaEZ1bmN0aW9uKHRoaXMuTW9kZWwsIHRydWUpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgaWYgKHQgJiYgdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlNvdXJjZSA9IHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZmluYWxpemVWYWx1ZSh0aGlzLk1vZGVsKTsgfSk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBkaSBmaWx0cm8gZGVsbGEgc29yZ2VudGUgZGF0aSBpbiBiYXNlIGFsbCdpbnB1dCB1dGVudGVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50IElucHV0IHV0ZW50ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsdGVyU291cmNlKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5pZ25vcmVOZXh0V3JpdGVWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlnbm9yZU5leHRXcml0ZVZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFF1YW5kbyBmaWx0cm8gbGEgc291cmNlLCBzZSBub24gZGV2byBpZ25vcmFyZSBsJ2V2ZW50byBkZXZvIGNvbXVucXVlIGFzc2ljdXJhcm1pIGRpIGltcG9zdGFyZSBpbCB2YWxvcmUgc2VsZXppb25hdG8gYSBudWxsXHJcbiAgICAgICAgaWYoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHN1cGVyLmNoYW5nZWQobnVsbCk7XHJcblxyXG4gICAgICAgIGlmICghZXZlbnQgJiYgdGhpcy5NaW5DaGFycyA9PSAwICYmICF0aGlzLlNlYXJjaEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IHRoaXMuQm91bmRTb3VyY2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCFldmVudCB8fCBldmVudC5sZW5ndGggPCB0aGlzLk1pbkNoYXJzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IFtdO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuU2VhcmNoRnVuY3Rpb24gJiYgKCF0aGlzLlNvdXJjZSB8fCB0aGlzLlNvdXJjZS5sZW5ndGggPT0gMCkpXHJcbiAgICAgICAgICAgIHRocm93IFwiSW1wb3NzaWJpbGUgZmlsdHJhcmUgZ2xpIGVsZW1lbnRpIHNlbnphIHVuYSBmdW56aW9uZSBkaSByaWNlcmNhIGNoZSByZXN0aXR1aXNjYSB1bmEgbGlzdGEgZGkgeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1cIjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlNlYXJjaEZ1bmN0aW9uKGV2ZW50LCBmYWxzZSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU291cmNlID0gdDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gcXVlc3RvIGNhc28gw6ggZ2nDoCBmaWx0cmF0YSBkYWxsYSBTZWFyY2hGdW5jdGlvblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IHRoaXMuQm91bmRTb3VyY2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXJlZFNvdXJjZU9uRGVzY3JpcHRpb25TZWxlY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBJbiBxdWVzdG8gY2FzbyBkZXZvIGZpbHRyYXJlIGlvIGluIG1lbW9yaWFcclxuICAgICAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IHRoaXMuQm91bmRTb3VyY2UuZmlsdGVyKHQgPT4gKHRoaXMuQ2FzZVNlbnNpdGl2ZSAmJiB0LmRlc2NyaXB0aW9uLmluY2x1ZGVzKGV2ZW50KSkgfHwgKCF0aGlzLkNhc2VTZW5zaXRpdmUgJiYgdC5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnRvTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUZpbHRlcmVkU291cmNlT25EZXNjcmlwdGlvblNlbGVjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHJlbW92ZUZpbHRlcmVkU291cmNlT25EZXNjcmlwdGlvblNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlLmxlbmd0aCA9PSAxICYmICh0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2VbMF0uZGVzY3JpcHRpb24gPT09IHRoaXMuTW9kZWwpICYmICF0aGlzLk11bHRpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSB0aGlzLkJvdW5kU291cmNlWzBdLmlkO1xyXG4gICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZVswXS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiU291cmNlXCJdO1xyXG4gICAgICAgIGlmIChuZXdTb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG5cclxuICAgICAgICAgICAgLy8gUHJpbWEgYXNzZWduYXppb25lIHNlIGNhbWJpYSBsYSBzb3VyY2Ugc290dG8gKHF1aW5kaSBzZSB2aWVuZSBiaW5kYXRhIGRpcmV0dGFtZW50ZSBkYSBIVE1MKVxyXG4gICAgICAgICAgICBpZiAoKHRoaXMuTW9kZWw/Lmxlbmd0aCB8fCAwKSA+PSB0aGlzLk1pbkNoYXJzICYmICF0aGlzLlNlYXJjaEZ1bmN0aW9uKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gdGhpcy5Cb3VuZFNvdXJjZTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgT3ZlcnJpZGUgY2hlIG1hcmNhIGFuY2hlIGlsIHByb3NzaW1vIGV2ZW50byBkaSBmaWx0ZXJTb3VyY2UgZGEgaWdub3JhcmUgKi9cclxuICAgIGNoYW5nZWQoZm9yY2VkVmFsdWU6IGFueSA9IG51bGwsIG1hcmtGb3JDaGVjazogYm9vbGVhbiA9IGZhbHNlKXtcclxuICAgICAgICBpZighdGhpcy5NdWx0aSlcclxuICAgICAgICAgICAgdGhpcy5pZ25vcmVOZXh0V3JpdGVWYWx1ZSA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmIChmb3JjZWRWYWx1ZSA9PSBcIlwiICYmIHRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBcIlwiO1xyXG5cclxuICAgICAgICB2YXIgc2VsZWN0ZWRzOiBzdHJpbmdbXSA9IHRoaXMuTW9kZWwgPyB0aGlzLk1vZGVsLnNwbGl0KCcsJykgOiBbXTtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gc2VsZWN0ZWRzLm1hcCh0ID0+IHRoaXMuQm91bmRTb3VyY2UgJiYgdGhpcy5Cb3VuZFNvdXJjZS5sZW5ndGggPiAwID8gdGhpcy5Cb3VuZFNvdXJjZS5maW5kKHQgPT4gdC5pZCA9PSB0aGlzLk1vZGVsKT8uZGVzY3JpcHRpb24gOiBcIlwiKS5qb2luKCcsICcpO1xyXG5cclxuICAgICAgICBzdXBlci5jaGFuZ2VkKGZvcmNlZFZhbHVlLCBtYXJrRm9yQ2hlY2spO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKiogRnVuemlvbmUgZGkgdGhyb3R0bGluZyBwZXIgbm9uIHNwYW1tYXJlIHJpY2hpZXN0ZSBpbiBjYXNvIGRpIGFuaW1hemlvbmkgYXR0aXZhdGVcclxuICAgIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIGV4ZWN1dGlvblRpbWVyczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSB0aHJvdHRsYShpZDogc3RyaW5nLCBmdW5jOiBGdW5jdGlvbiwgdGhyb3R0bGVUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSlcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSk7XHJcblxyXG4gICAgICAgIC8vUmljcmVvIGlsIHRpbWVvdXQgcGVyIGVzZWd1aXJlIHF1ZWxsYSBmdW56aW9uZSBkb3BvIHRocm90dGxlVGltZSBtaWxsaXNlY29uZGlcclxuICAgICAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gICAgfVxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqXHJcbn0iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJN0QsZ0JBQWdCO0FBQ2hCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpGLHlFQUF5RTtBQU96RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZUFBZTtJQW1DMUQsMkJBQTJCO0lBQzNCLFlBQVksR0FBc0IsRUFBUyxFQUF1QixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUIsRUFBc0MsY0FBd0I7UUFDNVcsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNB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YUFBYTtZQXBEMUksb0JBQW9CLHVCQW9Ea0osUUFBUTtZQXBEeEosZ0JBQWdCLHVCQW9Ec0ssUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzBDQUEwQixRQUFRLFlBQUksTUFBTSxTQUFDLGNBQWM7OzswQkFqQ3JWLEtBQUs7NkJBR0wsS0FBSzt1QkFHTCxLQUFLO3FDQUdMLEtBQUs7a0NBR0wsS0FBSzs0QkFHTCxLQUFLO29CQUdMLEtBQUs7cUNBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIENoYW5nZURldGVjdG9yUmVmLCBTZWxmLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLy9Mb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50TG9jIH0gZnJvbSBcIi4vZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LmxvY1wiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgZGkgaW5wdXQgY2hlIHNpIGF1dG8tY29tcGxldGEgaW4gYmFzZSBhbCB2YWxvcmUgYXR0dWFsZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tYXV0b2NvbXBsZXRlXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudExvYyB9XSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIC8qKiBQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBpbCB0ZXN0byBkZWxsYSBMYWJlbCBmbG90dGFudGUgbWF0ZXJpYWwtc3R5bGUgKi9cclxuICAgIEBJbnB1dCgpIFNlbGVjdExhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBGdW56aW9uZSBkaSByaWNlcmNhIGNoZSB2ZXJyw6AgY2hpYW1hdGEgZGFsIGNvbXBvbmVudGUgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEZ1bmN0aW9uOiAoc2VhcmNoOiBzdHJpbmcsIGJ5aWQ6IGJvb2xlYW4pID0+IE9ic2VydmFibGU8eyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXT4gPSBudWxsO1xyXG5cclxuICAgIC8qKiBOdW1lcm8gbWluaW1vIGRpIGNhcmF0dGVyaSBjb24gY3VpIGNlcmNhcmUgKi9cclxuICAgIEBJbnB1dCgpIE1pbkNoYXJzOiBudW1iZXIgPSAzO1xyXG5cclxuICAgIC8qKiBEZWZpbmlzY2UgY2hlIGFkIG9nbmkgc2VsZXppb25lIGRldmUgY2hpdWRlcmUgbGEgdGVuZGluYSAqL1xyXG4gICAgQElucHV0KCkgSGlkZUNob2ljZXNPblNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBkZWwgcGxhY2Vob2xkZXIgcGVyIHNlbGVjdCByZXF1cmllZCAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGkgY29udHJvbGxpIGRldm9ubyBlc3NlcmUgZWZmZXR0dWF0aSB0ZW5lbmRvIGNvbnRvIGRlbCBDYXNlIG8gbWVuby4gVmFsZSBzb2xvIHF1YWxvcmEgbGEgKipTb3VyY2UqKiBmb3NzZSBmb3JuaXRhICovXHJcbiAgICBASW5wdXQoKSBDYXNlU2Vuc2l0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1c2FyZSBsYSBtb2RhbGl0w6AgbXVsdGlzZWxlemlvbmUgbyBubyAqL1xyXG4gICAgQElucHV0KCkgTXVsdGk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHVzYXJlIGxhIG1vZGFsaXTDoCBtdWx0aXNlbGV6aW9uZSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBNdWx0aUVsZW1lbnRzVGhyZXNob2xkOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBpZ25vcmFyZSBpbCBwcm9zc2ltbyBldmVudG8gd3JpdGVWYWx1ZSBjaGUgbm9ybWFsbWVudGUgZG92cmViYmUgcmljaGllZGVyZSBsYSBudW92YSBzb3VyY2UuIFNlcnZlIHBlciBxdWFuZG8gbCd1dGVudGUgc2VsZXppb25hIHVuIGVsZW1lbnRvOlxyXG4gICAgICogU3ViaXRvIGRvcG8gcGFydGlyZWJiZSB1biBhbHRybyBldmVudG8gbW9kZWxDaGFuZ2UgY2hlIHJpY2FyaWNoZXJlYmJlIG51b3ZhbWVudGUgbGEgc291cmNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaWdub3JlTmV4dFdyaXRlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogU29yZ2VudGUgQmluZGF0YSBGaWx0cmF0YSBpbiBiYXNlIGFsIGNvbnRlbnV0byBkZWxsYSBjYXNlbGxhIGRpIHRlc3RvICovXHJcbiAgICBwdWJsaWMgRmlsdGVyZWRCb3VuZFNvdXJjZTogeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWTogc3RyaW5nLCBAT3B0aW9uYWwoKSBASW5qZWN0KEZBVl9ERUJVR19NT0RFKSBGQVZfREVCVUdfTU9ERSA6IGJvb2xlYW4pIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5TZWFyY2hGdW5jdGlvbih2YWx1ZSwgdHJ1ZSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Tb3VyY2UgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZmluYWxpemVWYWx1ZSh2YWx1ZSk7IH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHRoaXMuZmluYWxpemVWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEYXRvIHVuIHZhbG9yZSB2ZXJpZmljYSBzZSBwdcOyIHJlc3RpdHVpcmUgbGUgaW5mb3JtYXppb25pIHRyb3ZhdGUgaW4gKipTb3VyY2UqKiBjb24gaWQgdWd1YWxlIGEgKip2YWx1ZSoqIG8gc2UgZGV2ZSByZXN0aXR1aXJlIGlsIHZhbG9yZSBpbiBzZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgVmFsb3JlIHNjcml0dG8gbmVsbCdpbnB1dCBkaSB0ZXN0b1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGZpbmFsaXplVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHZhciB2YWwgPSB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHZhbHVlKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWwgPyB2YWwuaWQgOiB2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5Nb2RlbCA9IHZhbCA/IHZhbC5kZXNjcmlwdGlvbiA6IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUXVhbmRvIHZpZW5lIHNjcml0dG8gdW4gbnVvdm8gdmFsb3JlIGJpc29nbmEgY29udHJvbGxhcmUgc2UgcGVyIGJvdHRhIGRpIGN1bG8gZm9zc2UgdW4gaWQsIGluIHRhbCBjYXNvIGRldidlc3NlcmUgcmllZmZldHR1YXRvIGlsIGJpbmRcclxuICAgICAqIHBlciBtb3N0cmFyZSBzb2xvIGxhIGRlc2NyaXppb25lIG5lbGwnYXV0b2NvbXBsZXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBldmFsdWF0ZUlkUmVzZWFyY2goKSB7XHJcbiAgICAgICAgaWYoIXRoaXMuTW9kZWwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5TZWFyY2hGdW5jdGlvbih0aGlzLk1vZGVsLCB0cnVlKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0ICYmIHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Tb3VyY2UgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmZpbmFsaXplVmFsdWUodGhpcy5Nb2RlbCk7IH0pO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gZGkgZmlsdHJvIGRlbGxhIHNvcmdlbnRlIGRhdGkgaW4gYmFzZSBhbGwnaW5wdXQgdXRlbnRlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCBJbnB1dCB1dGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbHRlclNvdXJjZShldmVudDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pZ25vcmVOZXh0V3JpdGVWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBRdWFuZG8gZmlsdHJvIGxhIHNvdXJjZSwgc2Ugbm9uIGRldm8gaWdub3JhcmUgbCdldmVudG8gZGV2byBjb211bnF1ZSBhc3NpY3VyYXJtaSBkaSBpbXBvc3RhcmUgaWwgdmFsb3JlIHNlbGV6aW9uYXRvIGEgbnVsbFxyXG4gICAgICAgIGlmKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwpO1xyXG5cclxuICAgICAgICBpZiAoIWV2ZW50ICYmIHRoaXMuTWluQ2hhcnMgPT0gMCAmJiAhdGhpcy5TZWFyY2hGdW5jdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICghZXZlbnQgfHwgZXZlbnQubGVuZ3RoIDwgdGhpcy5NaW5DaGFycykge1xyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSBbXTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLlNlYXJjaEZ1bmN0aW9uICYmICghdGhpcy5Tb3VyY2UgfHwgdGhpcy5Tb3VyY2UubGVuZ3RoID09IDApKVxyXG4gICAgICAgICAgICB0aHJvdyBcIkltcG9zc2liaWxlIGZpbHRyYXJlIGdsaSBlbGVtZW50aSBzZW56YSB1bmEgZnVuemlvbmUgZGkgcmljZXJjYSBjaGUgcmVzdGl0dWlzY2EgdW5hIGxpc3RhIGRpIHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9XCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLlNlYXJjaEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGhyb3R0bGEoXCJmaWx0ZXJzb3VyY2VcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5TZWFyY2hGdW5jdGlvbihldmVudCwgZmFsc2UpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvdXJjZSA9IHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEluIHF1ZXN0byBjYXNvIMOoIGdpw6AgZmlsdHJhdGEgZGFsbGEgU2VhcmNoRnVuY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRTb3VyY2VPbkRlc2NyaXB0aW9uU2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSwgNDAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGhyb3R0bGEoXCJmaWx0ZXJzb3VyY2VcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gSW4gcXVlc3RvIGNhc28gZGV2byBmaWx0cmFyZSBpbyBpbiBtZW1vcmlhXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlLmZpbHRlcih0ID0+ICh0aGlzLkNhc2VTZW5zaXRpdmUgJiYgdC5kZXNjcmlwdGlvbi5pbmNsdWRlcyhldmVudCkpIHx8ICghdGhpcy5DYXNlU2Vuc2l0aXZlICYmIHQuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXJlZFNvdXJjZU9uRGVzY3JpcHRpb25TZWxlY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSByZW1vdmVGaWx0ZXJlZFNvdXJjZU9uRGVzY3JpcHRpb25TZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZS5sZW5ndGggPT0gMSAmJiAodGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlWzBdLmRlc2NyaXB0aW9uID09PSB0aGlzLk1vZGVsKSAmJiAhdGhpcy5NdWx0aSkge1xyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZVswXS5pZDtcclxuICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuQm91bmRTb3VyY2VbMF0uZGVzY3JpcHRpb247XHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBsZXQgbmV3U291cmNlID0gY2hhbmdlc1tcIlNvdXJjZVwiXTtcclxuICAgICAgICBpZiAobmV3U291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJ5QmluZFNvdXJjZURpc3BsYXkoKTtcclxuXHJcbiAgICAgICAgICAgIC8vIFByaW1hIGFzc2VnbmF6aW9uZSBzZSBjYW1iaWEgbGEgc291cmNlIHNvdHRvIChxdWluZGkgc2UgdmllbmUgYmluZGF0YSBkaXJldHRhbWVudGUgZGEgSFRNTClcclxuICAgICAgICAgICAgaWYgKCh0aGlzLk1vZGVsPy5sZW5ndGggfHwgMCkgPj0gdGhpcy5NaW5DaGFycyAmJiAhdGhpcy5TZWFyY2hGdW5jdGlvbilcclxuICAgICAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IHRoaXMuQm91bmRTb3VyY2U7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuRmlsdGVyZWRCb3VuZFNvdXJjZSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIE92ZXJyaWRlIGNoZSBtYXJjYSBhbmNoZSBpbCBwcm9zc2ltbyBldmVudG8gZGkgZmlsdGVyU291cmNlIGRhIGlnbm9yYXJlICovXHJcbiAgICBjaGFuZ2VkKGZvcmNlZFZhbHVlOiBhbnkgPSBudWxsLCBtYXJrRm9yQ2hlY2s6IGJvb2xlYW4gPSBmYWxzZSl7XHJcbiAgICAgICAgaWYoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoZm9yY2VkVmFsdWUgPT0gXCJcIiAmJiB0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIHNlbGVjdGVkczogc3RyaW5nW10gPSB0aGlzLk1vZGVsID8gdGhpcy5Nb2RlbC5zcGxpdCgnLCcpIDogW107XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHNlbGVjdGVkcy5tYXAodCA9PiB0aGlzLkJvdW5kU291cmNlICYmIHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID4gMCA/IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gdGhpcy5Nb2RlbCk/LmRlc2NyaXB0aW9uIDogXCJcIikuam9pbignLCAnKTtcclxuXHJcbiAgICAgICAgc3VwZXIuY2hhbmdlZChmb3JjZWRWYWx1ZSwgbWFya0ZvckNoZWNrKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKioqIEZ1bnppb25lIGRpIHRocm90dGxpbmcgcGVyIG5vbiBzcGFtbWFyZSByaWNoaWVzdGUgaW4gY2FzbyBkaSBhbmltYXppb25pIGF0dGl2YXRlXHJcbiAgICAvL1RPRE86IHNwb3N0YXJsYSBpbiB1biBtZXRvZG8gZGkgdXRpbGl0w6AgKGVzZmFlbnphL2V4dGVuc2lvbnMpXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSBleGVjdXRpb25UaW1lcnM6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgdGhyb3R0bGEoaWQ6IHN0cmluZywgZnVuYzogRnVuY3Rpb24sIHRocm90dGxlVGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgLy9TZSBobyBsYSBmdW56aW9uZSBjaGUgdnVvbGUgZXNlZ3VpcmUgcmlwdWxpc2NvIHF1ZWwgdGltZW91dFxyXG4gICAgICAgIGlmICh0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0pXHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0pO1xyXG5cclxuICAgICAgICAvL1JpY3JlbyBpbCB0aW1lb3V0IHBlciBlc2VndWlyZSBxdWVsbGEgZnVuemlvbmUgZG9wbyB0aHJvdHRsZVRpbWUgbWlsbGlzZWNvbmRpXHJcbiAgICAgICAgdGhpcy5leGVjdXRpb25UaW1lcnNbaWRdID0gc2V0VGltZW91dCgoKSA9PiB7IGZ1bmMoKTsgdGhpcy5leGVjdXRpb25UaW1lcnNbaWRdID0gbnVsbDsgfSwgdGhyb3R0bGVUaW1lKTtcclxuICAgIH1cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG59Il19
@@ -1,18 +1,25 @@
1
1
  // Angular
2
2
  import { NG_VALIDATORS, NgControl } from "@angular/forms";
3
- import { Component, Inject, Optional, Self, Host, ChangeDetectionStrategy } from "@angular/core";
3
+ import { Component, Inject, Optional, Self, Host, ChangeDetectionStrategy, Input } from "@angular/core";
4
4
  import { AccessControlService, ComponentContext } from '@esfaenza/access-control';
5
5
  // Applicazione
6
6
  import { BaseFormControl } from "../base-form-control";
7
- import { ACO_CUSTOMKEY } from '../../tokens';
7
+ import { ACO_CUSTOMKEY, FAV_SLIDER_MODE } from '../../tokens';
8
8
  import { ChangeDetectorRef } from "@angular/core";
9
9
  import { LocalizationService } from "@esfaenza/localizations";
10
10
  /** Componente rappresentante una checkbox */
11
11
  export class FormCheckboxComponent extends BaseFormControl {
12
12
  /** @ignore Costruttore */
13
- constructor(lc, cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY) {
13
+ constructor(lc, cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_SLIDER_MODE) {
14
14
  super(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, true);
15
15
  this.lc = lc;
16
+ this.FAV_SLIDER_MODE = FAV_SLIDER_MODE;
17
+ /** Mostra l'input checkbox con lo stile di uno slider */
18
+ this.SliderMode = null;
19
+ }
20
+ ngOnInit() {
21
+ if (this.SliderMode == null)
22
+ this.SliderMode = this.FAV_SLIDER_MODE;
16
23
  }
17
24
  /** @ignore */
18
25
  writeValue(obj) {
@@ -30,8 +37,9 @@ export class FormCheckboxComponent extends BaseFormControl {
30
37
  FormCheckboxComponent.decorators = [
31
38
  { type: Component, args: [{
32
39
  selector: "form-checkbox",
33
- template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\" class=\"app-inline-block\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\">&nbsp;</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\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>",
34
- changeDetection: ChangeDetectionStrategy.OnPush
40
+ template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\" class=\"app-inline-block\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\">&nbsp;</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <ng-container *ngIf=\"SliderMode\">\r\n <label class=\"toggler-wrapper slider-checkbox\">\r\n <input [disabled]=\"Readonly ? true : null\" type=\"checkbox\" [(ngModel)]=\"Model\" id=\"{{GeneratedName}}\" name=\"{{GeneratedName}}\" #validationControl=\"ngModel\" (ngModelChange)=\"changed(); finalized()\" (click)=\"focused($event)\" >\r\n <div class=\"toggler-slider\">\r\n <div class=\"toggler-knob\"></div>\r\n </div>\r\n </label>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!SliderMode\">\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-container>\r\n</ng-template>",
41
+ changeDetection: ChangeDetectionStrategy.OnPush,
42
+ styles: [".toggler-wrapper{display:block;width:45px;height:25px;cursor:pointer;position:relative}.toggler-wrapper input[type=checkbox]{display:none}.toggler-wrapper input[type=checkbox]:checked+.toggler-slider{background-color:#007bff}.toggler-wrapper .toggler-slider{background-color:#ccc;border-radius:100px;top:0;left:0;width:100%;height:100%}.toggler-wrapper .toggler-knob,.toggler-wrapper .toggler-slider{position:absolute;transition:all .3s ease}.slider-checkbox{margin-top:3px}.toggler-wrapper.slider-checkbox input[type=checkbox]:checked+.toggler-slider .toggler-knob{left:calc(100% - 19px - 3px)}.toggler-wrapper.slider-checkbox .toggler-slider:after{position:absolute;top:50%;right:-25px;transform:translateY(-50%);font-size:75%;text-transform:uppercase;font-weight:500;opacity:.7}.toggler-wrapper.slider-checkbox .toggler-knob{width:calc(25px - 6px);height:calc(25px - 6px);border-radius:50%;left:3px;top:3px;background-color:#fff}"]
35
43
  },] }
36
44
  ];
37
45
  FormCheckboxComponent.ctorParameters = () => [
@@ -41,6 +49,10 @@ FormCheckboxComponent.ctorParameters = () => [
41
49
  { type: Array, decorators: [{ type: Optional }, { type: Host }, { type: Inject, args: [NG_VALIDATORS,] }] },
42
50
  { type: AccessControlService },
43
51
  { type: ComponentContext, decorators: [{ type: Optional }] },
44
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] }
52
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] },
53
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [FAV_SLIDER_MODE,] }] }
45
54
  ];
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELDZDQUE2QztBQU03QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUV0RCwyQkFBMkI7SUFDM0IsWUFBb0IsRUFBdUIsRUFBRSxHQUFzQixFQUFzQixTQUFvQixFQUE2QyxXQUF1QixFQUFFLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBc0I7UUFDNVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRHZELE9BQUUsR0FBRixFQUFFLENBQXFCO0lBRTNDLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLEdBQVE7UUFDZixHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxpQkFBaUIsS0FBVyxDQUFDOzs7WUExQmhDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsZy9FQUEyQztnQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQVBRLG1CQUFtQjtZQURuQixpQkFBaUI7WUFSb0IsU0FBUyx1QkFvQm1CLFFBQVEsWUFBSSxJQUFJO1lBQWlGLEtBQUssdUJBQTVELFFBQVEsWUFBSSxJQUFJLFlBQUksTUFBTSxTQUFDLGFBQWE7WUFqQm5KLG9CQUFvQjtZQUFFLGdCQUFnQix1QkFpQm1LLFFBQVE7eUNBQWtDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIFNlbGYsIEhvc3QsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIGNoZWNrYm94ICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBIb3N0KCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVkgOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LEFDT19DVVNUT01LRVksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgb2JqID0gb2JqID8gKG9iaiA9PT0gdHJ1ZSB8fCBvYmoudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIikgOiBmYWxzZTtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5sYy5sb2Mob2JqID8gJ1llcycgOiAnTm8nKTtcclxuXHJcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMubGMubG9jKHRoaXMuTW9kZWwgPyAnWWVzJyA6ICdObycpO1xyXG4gICAgICAgIHN1cGVyLmNoYW5nZWQobnVsbCwgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG59Il19
55
+ FormCheckboxComponent.propDecorators = {
56
+ SliderMode: [{ type: Input }]
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEYsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsNkNBQTZDO0FBTzdDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBS3RELDJCQUEyQjtJQUMzQixZQUFvQixFQUF1QixFQUFFLEdBQXNCLEVBQXNCLFNBQW9CLEVBQTZDLFdBQXVCLEVBQUUsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUErQyxlQUF3QjtRQUNsWCxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFEeEQsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBbVQsb0JBQWUsR0FBZixlQUFlLENBQVM7UUFKdFgseURBQXlEO1FBQ2hELGVBQVUsR0FBWSxJQUFJLENBQUM7SUFLcEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsR0FBUTtRQUNmLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7OztZQW5DaEMsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6Qixxa0dBQTJDO2dCQUUzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVJRLG1CQUFtQjtZQURuQixpQkFBaUI7WUFSb0IsU0FBUyx1QkF3Qm1CLFFBQVEsWUFBSSxJQUFJO1lBQWlGLEtBQUssdUJBQTVELFFBQVEsWUFBSSxJQUFJLFlBQUksTUFBTSxTQUFDLGFBQWE7WUFyQm5KLG9CQUFvQjtZQUFFLGdCQUFnQix1QkFxQm1LLFFBQVE7eUNBQWtDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTswQ0FBMEIsUUFBUSxZQUFJLE1BQU0sU0FBQyxlQUFlOzs7eUJBSG5WLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmLCBIb3N0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9iYXNlLWZvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfU0xJREVSX01PREUgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIHJhcHByZXNlbnRhbnRlIHVuYSBjaGVja2JveCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tY2hlY2tib3hcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tY2hlY2tib3guY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiZm9ybS1jaGVja2JveC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqIE1vc3RyYSBsJ2lucHV0IGNoZWNrYm94IGNvbiBsbyBzdGlsZSBkaSB1bm8gc2xpZGVyICovXHJcbiAgICBASW5wdXQoKSBTbGlkZXJNb2RlOiBib29sZWFuID0gbnVsbDtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIEBIb3N0KCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfU0xJREVSX01PREUpIHByaXZhdGUgRkFWX1NMSURFUl9NT0RFOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuU2xpZGVyTW9kZSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLlNsaWRlck1vZGUgPSB0aGlzLkZBVl9TTElERVJfTU9ERTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIG9iaiA9IG9iaiA/IChvYmogPT09IHRydWUgfHwgb2JqLnRvTG93ZXJDYXNlKCkgPT0gXCJ0cnVlXCIpIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMubGMubG9jKG9iaiA/ICdZZXMnIDogJ05vJyk7XHJcblxyXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLmxjLmxvYyh0aGlzLk1vZGVsID8gJ1llcycgOiAnTm8nKTtcclxuICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
@@ -16,7 +16,7 @@ import { CurrencyMaskModule } from '@esfaenza/ngx-currency-mask';
16
16
  import { AngularMultiSelectModule } from "angular2-multiselect-dropdown";
17
17
  import { NgxMatDateAdapter, NgxMatDatetimePickerModule, NGX_MAT_DATE_FORMATS, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker';
18
18
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
19
- import { FAV_LOCALE, ACO_CUSTOMKEY, FAV_DEBUG_MODE } from './tokens';
19
+ import { FAV_LOCALE, ACO_CUSTOMKEY, FAV_DEBUG_MODE, FAV_SLIDER_MODE } from './tokens';
20
20
  import { CustomRequiredDirective } from './validations/customValidators/CustomRequiredDirective';
21
21
  import { NgxExpandedDayJsDateAdapter } from './models/dayjs-adapter/dayjs-date-adapter';
22
22
  // Validations
@@ -121,6 +121,7 @@ export class FormsAndValidationsModule {
121
121
  { provide: FAV_DEBUG_MODE, useValue: (config === null || config === void 0 ? void 0 : config.debugMode) != null ? config === null || config === void 0 ? void 0 : config.debugMode : false },
122
122
  { provide: ACO_CUSTOMKEY, useValue: (config === null || config === void 0 ? void 0 : config.acocustom) || null },
123
123
  { provide: NGX_MAT_DATE_FORMATS, useValue: formats_long },
124
+ { provide: FAV_SLIDER_MODE, useValue: (config === null || config === void 0 ? void 0 : config.sliderMode) != null ? config === null || config === void 0 ? void 0 : config.sliderMode : false },
124
125
  { provide: NgxMatDateAdapter, useClass: NgxExpandedDayJsDateAdapter },
125
126
  ]
126
127
  };
@@ -133,4 +134,4 @@ FormsAndValidationsModule.decorators = [
133
134
  exports: [...MODULES_TO_EXPORT, ...COMPONENTS]
134
135
  },] }
135
136
  ];
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsS0FBSztBQUNMLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzSixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXJFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXhGLGNBQWM7QUFDZCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUUzSSxRQUFRO0FBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILE1BQU0sWUFBWSxHQUFHO0lBQ25CLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtJQUMzQyxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsa0JBQWtCLEVBQUUsU0FBUztLQUM5QjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLCtCQUErQjtJQUMvQixvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sT0FBTyxHQUFHO0lBQ2QsWUFBWTtJQUNaLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGNBQWM7SUFDZCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUN2QixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLHdCQUF3QjtDQUN6QixDQUFDO0FBT0YsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXdDO1FBQ3JELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sS0FBSSxPQUFPLEVBQUU7Z0JBQzVELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsU0FBUyxLQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM1RixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsS0FBSSxJQUFJLEVBQUU7Z0JBQy9ELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7Z0JBQ3pELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRTthQUN0RTtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUFqQkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLENBQUM7Z0JBQzNDLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO2FBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuXHJcbi8vIEVzXHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBNYXREYXlqc0RhdGVNb2R1bGUgfSBmcm9tICdAZXNmYWVuemEvbWF0ZXJpYWwtZGF5anMtYWRhcHRlcic7XHJcbmltcG9ydCB7IEN1cnJlbmN5TWFza01vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9uZ3gtY3VycmVuY3ktbWFzayc7XHJcblxyXG4vLyBMaWJyZXJpZSAvIE1vZGVsbGlcclxuaW1wb3J0IHsgQW5ndWxhck11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSBcImFuZ3VsYXIyLW11bHRpc2VsZWN0LWRyb3Bkb3duXCI7XHJcbmltcG9ydCB7IE5neE1hdERhdGVBZGFwdGVyLCBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSwgTkdYX01BVF9EQVRFX0ZPUk1BVFMsIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgRkFWX0xPQ0FMRSwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUgfSBmcm9tICcuL3Rva2Vucyc7XHJcbmltcG9ydCB7IEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGVDb25maWcgfSBmcm9tICcuL21vZGVscy9Gb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnJztcclxuaW1wb3J0IHsgQ3VzdG9tUmVxdWlyZWREaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRpb25zL2N1c3RvbVZhbGlkYXRvcnMvQ3VzdG9tUmVxdWlyZWREaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ3hFeHBhbmRlZERheUpzRGF0ZUFkYXB0ZXIgfSBmcm9tICcuL21vZGVscy9kYXlqcy1hZGFwdGVyL2RheWpzLWRhdGUtYWRhcHRlcic7XHJcblxyXG4vLyBWYWxpZGF0aW9uc1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXNlbGVjdC92YWxpZGF0aW9uLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1kYXRlL3ZhbGlkYXRpb24tZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQ3VycmVuY3lDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tY3VycmVuY3kvdmFsaWRhdGlvbi1jdXJyZW5jeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tdGV4dC1hcmVhL3ZhbGlkYXRpb24tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1pbnB1dC92YWxpZGF0aW9uLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25EYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1kYXRldGltZS92YWxpZGF0aW9uLWRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BdXRvY29tcGxldGVNdWx0aUNvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50JztcclxuXHJcbi8vIEZvcm1zXHJcbmltcG9ydCB7IEZvcm1GaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWZpbGUvZm9ybS1maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1kYXRldGltZS9mb3JtLWRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1BZGFwdGl2ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1hZGFwdGl2ZS9mb3JtLWFkYXB0aXZlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1FbXB0eUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1lbXB0eS9mb3JtLWVtcHR5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS10ZW1wbGF0ZS9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWluZm8vZm9ybS1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1DaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1jaGVja2JveC9mb3JtLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWRhdGUvZm9ybS1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tc2VsZWN0L2Zvcm0tc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1tdWx0aXNlbGVjdC9mb3JtLW11bHRpc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS10ZXh0YXJlYS9mb3JtLXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tYXV0b2NvbXBsZXRlL2Zvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1UaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLXRpbWUvZm9ybS10aW1lLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogRm9ybWF0byBpbiBkaXNwbGF5IChtb2RhbGl0w6AgbHVuZ2EsIGNvbiBvcmUsIG1pbnV0aSBlIHNlY29uZGkpIGRlbGxlIGRhdGUgcGVyIHR1dHRpIGkgY29tcG9uZW50aSBjaGUgdXRpbGl6emlubyBpbnB1dCBkYXRhLlxyXG4gKiBcclxuICogRGEgY29udmVuemlvbmUgw6ggc2VtcHJlIHF1ZWxsbyBpdGFsaWFubyBxdWluZGkgdmllbmUgY2FibGF0b1xyXG4gKi9cclxuY29uc3QgZm9ybWF0c19sb25nID0ge1xyXG4gIHBhcnNlOiB7IGRhdGVJbnB1dDogJ0REL01NL1lZWVkgSEg6bW06c3MnIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ01NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0REL01NL1lZWVkgSEg6bW06c3MnLFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU0gWVlZWScsXHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGkgRGljaGlhcmF0aSBlZCBlc3BvcnRhdGkgZGFsbGEgbGlicmVyaWFcclxuICovXHJcbmNvbnN0IENPTVBPTkVOVFMgPSBbXHJcbiAgVmFsaWRhdGlvbklucHV0Q29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25TZWxlY3RDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkRhdGVDb21wb25lbnQsXHJcbiAgQ3VzdG9tUmVxdWlyZWREaXJlY3RpdmUsXHJcbiAgVmFsaWRhdGlvbkN1cnJlbmN5Q29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25UZXh0QXJlYUNvbXBvbmVudCxcclxuICBGb3JtQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgRm9ybURhdGVDb21wb25lbnQsXHJcbiAgRm9ybUVtcHR5Q29tcG9uZW50LFxyXG4gIEZvcm1JbnB1dENvbXBvbmVudCxcclxuICBGb3JtU2VsZWN0Q29tcG9uZW50LFxyXG4gIEZvcm1UZXh0YXJlYUNvbXBvbmVudCxcclxuICBGb3JtVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gIEZvcm1JbmZvQ29tcG9uZW50LFxyXG4gIEZvcm1BZGFwdGl2ZUNvbXBvbmVudCxcclxuICBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgRm9ybUZpbGVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQsXHJcbiAgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBGb3JtRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkRhdGVUaW1lQ29tcG9uZW50LFxyXG4gIEZvcm1UaW1lQ29tcG9uZW50XHJcbl07XHJcblxyXG4vKipcclxuICogTW9kdWxpIHV0aWxpenphdGkgc29sbyBkYWxsYSBsaWJyZXJpYVxyXG4gKi9cclxuY29uc3QgTU9EVUxFUyA9IFtcclxuICBDb21tb25Nb2R1bGUsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdENoaXBzTW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICBNYXREYXlqc0RhdGVNb2R1bGUsXHJcbiAgVG9vbHRpcE1vZHVsZSxcclxuICBDdXJyZW5jeU1hc2tNb2R1bGUsXHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxyXG4gIE5neE1hdFRpbWVwaWNrZXJNb2R1bGVcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBNb2R1bGkgdXRpbGl6emF0aSBkYWxsYSBsaWJyZXJpYSBlIGNoZSBkZXZvbm8gZXNzZXJlIGVzcG9zdGkgYWxsJ2VzdGVybm9cclxuICovXHJcbmNvbnN0IE1PRFVMRVNfVE9fRVhQT1JUID0gW1xyXG4gIEFuZ3VsYXJNdWx0aVNlbGVjdE1vZHVsZVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uTU9EVUxFU19UT19FWFBPUlRdLFxyXG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxyXG4gIGV4cG9ydHM6IFsuLi5NT0RVTEVTX1RPX0VYUE9SVCwgLi4uQ09NUE9ORU5UU11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEZBVl9MT0NBTEUsIHVzZVZhbHVlOiBjb25maWc/LmxvY2FsZSB8fCAnaXQtSVQnIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZz8uZGVidWdNb2RlICE9IG51bGwgPyBjb25maWc/LmRlYnVnTW9kZSA6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBBQ09fQ1VTVE9NS0VZLCB1c2VWYWx1ZTogY29uZmlnPy5hY29jdXN0b20gfHwgbnVsbCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzX2xvbmcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5neE1hdERhdGVBZGFwdGVyLCB1c2VDbGFzczogTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH0sXHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59Il19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsS0FBSztBQUNMLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzSixPQUFPLEVBQUUsYUFBYSxFQUFF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QU0sQ0FBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDL0YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLDJCQUEyQixFQUFFO2FBQ3RFO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQWxCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFDM0MsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLENBQUM7YUFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5cclxuLy8gRXNcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1hdERheWpzRGF0ZU1vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9tYXRlcmlhbC1kYXlqcy1hZGFwdGVyJztcclxuaW1wb3J0IHsgQ3VycmVuY3lNYXNrTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL25neC1jdXJyZW5jeS1tYXNrJztcclxuXHJcbi8vIExpYnJlcmllIC8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItbXVsdGlzZWxlY3QtZHJvcGRvd25cIjtcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIsIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOR1hfTUFUX0RBVEVfRk9STUFUUywgTmd4TWF0VGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBGQVZfTE9DQUxFLCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSwgRkFWX1NMSURFUl9NT0RFIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IEN1c3RvbVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0aW9ucy9jdXN0b21WYWxpZGF0b3JzL0N1c3RvbVJlcXVpcmVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH0gZnJvbSAnLi9tb2RlbHMvZGF5anMtYWRhcHRlci9kYXlqcy1kYXRlLWFkYXB0ZXInO1xyXG5cclxuLy8gVmFsaWRhdGlvbnNcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1zZWxlY3QvdmFsaWRhdGlvbi1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkRhdGVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZS92YWxpZGF0aW9uLWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWN1cnJlbmN5L3ZhbGlkYXRpb24tY3VycmVuY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXRleHQtYXJlYS92YWxpZGF0aW9uLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24taW5wdXQvdmFsaWRhdGlvbi1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZXRpbWUvdmFsaWRhdGlvbi1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpLmNvbXBvbmVudCc7XHJcblxyXG4vLyBGb3Jtc1xyXG5pbXBvcnQgeyBGb3JtRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1maWxlL2Zvcm0tZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZGF0ZXRpbWUvZm9ybS1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQWRhcHRpdmVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tYWRhcHRpdmUvZm9ybS1hZGFwdGl2ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZW1wdHkvZm9ybS1lbXB0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGVtcGxhdGUvZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1pbmZvL2Zvcm0taW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tY2hlY2tib3gvZm9ybS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tbXVsdGlzZWxlY3QvZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGV4dGFyZWEvZm9ybS10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWF1dG9jb21wbGV0ZS9mb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS10aW1lL2Zvcm0tdGltZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1hdG8gaW4gZGlzcGxheSAobW9kYWxpdMOgIGx1bmdhLCBjb24gb3JlLCBtaW51dGkgZSBzZWNvbmRpKSBkZWxsZSBkYXRlIHBlciB0dXR0aSBpIGNvbXBvbmVudGkgY2hlIHV0aWxpenppbm8gaW5wdXQgZGF0YS5cclxuICogXHJcbiAqIERhIGNvbnZlbnppb25lIMOoIHNlbXByZSBxdWVsbG8gaXRhbGlhbm8gcXVpbmRpIHZpZW5lIGNhYmxhdG9cclxuICovXHJcbmNvbnN0IGZvcm1hdHNfbG9uZyA9IHtcclxuICBwYXJzZTogeyBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyB9LFxyXG4gIGRpc3BsYXk6IHtcclxuICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVkgSEg6bW06c3MnLFxyXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTSBZWVlZJyxcclxuICAgIGRhdGVBMTF5TGFiZWw6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NIFlZWVknLFxyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRpIERpY2hpYXJhdGkgZWQgZXNwb3J0YXRpIGRhbGxhIGxpYnJlcmlhXHJcbiAqL1xyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gIFZhbGlkYXRpb25JbnB1dENvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uU2VsZWN0Q29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25EYXRlQ29tcG9uZW50LFxyXG4gIEN1c3RvbVJlcXVpcmVkRGlyZWN0aXZlLFxyXG4gIFZhbGlkYXRpb25DdXJyZW5jeUNvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgRm9ybUNoZWNrYm94Q29tcG9uZW50LFxyXG4gIEZvcm1EYXRlQ29tcG9uZW50LFxyXG4gIEZvcm1FbXB0eUNvbXBvbmVudCxcclxuICBGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgRm9ybVNlbGVjdENvbXBvbmVudCxcclxuICBGb3JtVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgRm9ybVRlbXBsYXRlQ29tcG9uZW50LFxyXG4gIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICBGb3JtSW5mb0NvbXBvbmVudCxcclxuICBGb3JtQWRhcHRpdmVDb21wb25lbnQsXHJcbiAgRm9ybU11bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gIEZvcm1GaWxlQ29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25BdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkF1dG9jb21wbGV0ZU11bHRpQ29tcG9uZW50LFxyXG4gIEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgRm9ybURhdGVUaW1lQ29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25EYXRlVGltZUNvbXBvbmVudCxcclxuICBGb3JtVGltZUNvbXBvbmVudFxyXG5dO1xyXG5cclxuLyoqXHJcbiAqIE1vZHVsaSB1dGlsaXp6YXRpIHNvbG8gZGFsbGEgbGlicmVyaWFcclxuICovXHJcbmNvbnN0IE1PRFVMRVMgPSBbXHJcbiAgQ29tbW9uTW9kdWxlLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICBNYXRJbnB1dE1vZHVsZSxcclxuICBNYXRDaGlwc01vZHVsZSxcclxuICBNYXRJY29uTW9kdWxlLFxyXG4gIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgTWF0RGF5anNEYXRlTW9kdWxlLFxyXG4gIFRvb2x0aXBNb2R1bGUsXHJcbiAgQ3VycmVuY3lNYXNrTW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcclxuICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlXHJcbl07XHJcblxyXG4vKipcclxuICogTW9kdWxpIHV0aWxpenphdGkgZGFsbGEgbGlicmVyaWEgZSBjaGUgZGV2b25vIGVzc2VyZSBlc3Bvc3RpIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5jb25zdCBNT0RVTEVTX1RPX0VYUE9SVCA9IFtcclxuICBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLk1PRFVMRVNfVE9fRVhQT1JUXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBleHBvcnRzOiBbLi4uTU9EVUxFU19UT19FWFBPUlQsIC4uLkNPTVBPTkVOVFNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRkFWX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWc/LmRlYnVnTW9kZSAhPSBudWxsID8gY29uZmlnPy5kZWJ1Z01vZGUgOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogQUNPX0NVU1RPTUtFWSwgdXNlVmFsdWU6IGNvbmZpZz8uYWNvY3VzdG9tIHx8IG51bGwgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZm9ybWF0c19sb25nIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfU0xJREVSX01PREUsIHVzZVZhbHVlOiBjb25maWc/LnNsaWRlck1vZGUgIT0gbnVsbCA/IGNvbmZpZz8uc2xpZGVyTW9kZSA6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBOZ3hNYXREYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE5neEV4cGFuZGVkRGF5SnNEYXRlQWRhcHRlciB9LFxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export class FormsAndValidationsModuleConfig {
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL21vZGVscy9Gb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtDQVUzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDbGFzc2UgZGkgY29uZmlndXJhemlvbmUgZGVsIG1vZHVsb1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGVDb25maWcge1xyXG5cclxuICAgIC8qKiBMb2NhbGUgZGVsIG1vZHVsby4gU29ubyBzdXBwb3J0YXRpIHNvbG8gJ2l0LUlUJyBlZCAnZW4tVVMnLCBkZWZhdWx0IGl0LUlUICovXHJcbiAgICBsb2NhbGU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIENoaWF2ZSBkZWkgcGVybWVzc2kgQ3VzdG9tIGluIGN1aSBjaSBzb25vIGxlIGluZm9ybWF6aW9uaSBkaSBPd25lcnNoaXAgKi9cclxuICAgIGFjb2N1c3RvbT86IHN0cmluZztcclxuXHJcbiAgICAvKiogQWJpbGl0YSBvIG1lbm8gbGEgbW9kYWxpdMOgIGRpIGRlYnVnICovXHJcbiAgICBkZWJ1Z01vZGU/OiBib29sZWFuO1xyXG59Il19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL21vZGVscy9Gb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtDQWEzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDbGFzc2UgZGkgY29uZmlndXJhemlvbmUgZGVsIG1vZHVsb1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGVDb25maWcge1xyXG5cclxuICAgIC8qKiBMb2NhbGUgZGVsIG1vZHVsby4gU29ubyBzdXBwb3J0YXRpIHNvbG8gJ2l0LUlUJyBlZCAnZW4tVVMnLCBkZWZhdWx0IGl0LUlUICovXHJcbiAgICBsb2NhbGU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIENoaWF2ZSBkZWkgcGVybWVzc2kgQ3VzdG9tIGluIGN1aSBjaSBzb25vIGxlIGluZm9ybWF6aW9uaSBkaSBPd25lcnNoaXAgKi9cclxuICAgIGFjb2N1c3RvbT86IHN0cmluZztcclxuXHJcbiAgICAvKiogQWJpbGl0YSBvIG1lbm8gbGEgbW9kYWxpdMOgIGRpIGRlYnVnICovXHJcbiAgICBkZWJ1Z01vZGU/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBBYmlsaXRhIG8gbWVubyBsYSBtb2RhbGl0w6Agc2xpZGVyIGRlbGxlIGNoZWNrYm94ICovXHJcbiAgICBzbGlkZXJNb2RlPzogYm9vbGVhbjtcclxufSJdfQ==
@@ -5,4 +5,6 @@ export const FAV_LOCALE = new InjectionToken('FAV_LOCALE');
5
5
  export const ACO_CUSTOMKEY = new InjectionToken('ACO_CUSTOMKEY');
6
6
  /** Token che indica la lingua da utilizzare, sono supportate "it-IT" ed "en-US" */
7
7
  export const FAV_DEBUG_MODE = new InjectionToken('FAV_DEBUG_MODE');
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBMkIsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFFM0YsMklBQTJJO0FBQzNJLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsSUFBSSxjQUFjLENBQVMsZUFBZSxDQUFDLENBQUM7QUFFakcsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBNEIsSUFBSSxjQUFjLENBQVUsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKiogVG9rZW4gY2hlIGluZGljYSBsYSBsaW5ndWEgZGEgdXRpbGl6emFyZSwgc29ubyBzdXBwb3J0YXRlIFwiaXQtSVRcIiBlZCBcImVuLVVTXCIgKi9cclxuZXhwb3J0IGNvbnN0IEZBVl9MT0NBTEU6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignRkFWX0xPQ0FMRScpO1xyXG5cclxuLyoqIENoaWF2ZSBjaGUgaW5kaWNhIGlsIHByZWZpc3NvIGRlaSBDb250ZXN0aSBBcHBsaWNhdGl2aSBwZXIgcGVybWV0dGVyZSBsJ2FiaWxpdGF6aW9uZS9kaXNhYmlsaXRhemlvbmUgZGkgaW5wdXQgaW4gbWFuaWVyYSBjb250ZXN0dWFsZSAqL1xyXG5leHBvcnQgY29uc3QgQUNPX0NVU1RPTUtFWTogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBQ09fQ1VTVE9NS0VZJyk7XHJcblxyXG4vKiogVG9rZW4gY2hlIGluZGljYSBsYSBsaW5ndWEgZGEgdXRpbGl6emFyZSwgc29ubyBzdXBwb3J0YXRlIFwiaXQtSVRcIiBlZCBcImVuLVVTXCIgKi9cclxuZXhwb3J0IGNvbnN0IEZBVl9ERUJVR19NT0RFOiBJbmplY3Rpb25Ub2tlbjxib29sZWFuPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignRkFWX0RFQlVHX01PREUnKTsiXX0=
8
+ /** Token che indica se far apparire l'input delle checkbox come slider o come input nativi */
9
+ export const FAV_SLIDER_MODE = new InjectionToken('FAV_SLIDER_MODE');
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBMkIsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFFM0YsMklBQTJJO0FBQzNJLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsSUFBSSxjQUFjLENBQVMsZUFBZSxDQUFDLENBQUM7QUFFakcsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBNEIsSUFBSSxjQUFjLENBQVUsZ0JBQWdCLENBQUMsQ0FBQztBQUVyRyw4RkFBOEY7QUFDOUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUE0QixJQUFJLGNBQWMsQ0FBVSxpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBUb2tlbiBjaGUgaW5kaWNhIGxhIGxpbmd1YSBkYSB1dGlsaXp6YXJlLCBzb25vIHN1cHBvcnRhdGUgXCJpdC1JVFwiIGVkIFwiZW4tVVNcIiAqL1xyXG5leHBvcnQgY29uc3QgRkFWX0xPQ0FMRTogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdGQVZfTE9DQUxFJyk7XHJcblxyXG4vKiogQ2hpYXZlIGNoZSBpbmRpY2EgaWwgcHJlZmlzc28gZGVpIENvbnRlc3RpIEFwcGxpY2F0aXZpIHBlciBwZXJtZXR0ZXJlIGwnYWJpbGl0YXppb25lL2Rpc2FiaWxpdGF6aW9uZSBkaSBpbnB1dCBpbiBtYW5pZXJhIGNvbnRlc3R1YWxlICovXHJcbmV4cG9ydCBjb25zdCBBQ09fQ1VTVE9NS0VZOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0FDT19DVVNUT01LRVknKTtcclxuXHJcbi8qKiBUb2tlbiBjaGUgaW5kaWNhIGxhIGxpbmd1YSBkYSB1dGlsaXp6YXJlLCBzb25vIHN1cHBvcnRhdGUgXCJpdC1JVFwiIGVkIFwiZW4tVVNcIiAqL1xyXG5leHBvcnQgY29uc3QgRkFWX0RFQlVHX01PREU6IEluamVjdGlvblRva2VuPGJvb2xlYW4+ID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdGQVZfREVCVUdfTU9ERScpO1xyXG5cclxuLyoqIFRva2VuIGNoZSBpbmRpY2Egc2UgZmFyIGFwcGFyaXJlIGwnaW5wdXQgZGVsbGUgY2hlY2tib3ggY29tZSBzbGlkZXIgbyBjb21lIGlucHV0IG5hdGl2aSAqL1xyXG5leHBvcnQgY29uc3QgRkFWX1NMSURFUl9NT0RFOiBJbmplY3Rpb25Ub2tlbjxib29sZWFuPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignRkFWX1NMSURFUl9NT0RFJyk7Il19
@@ -1,12 +1,12 @@
1
1
  // Angular
2
2
  import { NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, RequiredValidator } from "@angular/forms";
3
3
  import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Inject, Injector, Input, Optional, Output, ViewChild, ViewEncapsulation } from "@angular/core";
4
+ import { MatAutocompleteTrigger } from "@angular/material/autocomplete";
4
5
  // Configurazioni
5
6
  import { LocalizationService } from "@esfaenza/localizations";
6
7
  // Direttive, Componenti, Librerie
7
8
  import { BaseValidation } from "../base-validation";
8
9
  import { BaseValidationLoc } from '../base-validation.loc';
9
- import { MatAutocompleteTrigger } from "@angular/material/autocomplete";
10
10
  /**
11
11
  * Componente di validaizone per gli input di Autocompletamento
12
12
  */
@@ -25,6 +25,8 @@ export class ValidationAutocompleteMultiComponent extends BaseValidation {
25
25
  this.FilteredSource = [];
26
26
  /** Contenuto della label Floattante Material-Style */
27
27
  this.label = "";
28
+ /** Definisce che ad ogni selezione deve chiudere la tendina */
29
+ this.HideChoicesOnSelection = false;
28
30
  /** Evento che indica l'opzione selezionata dal componente. Il valore finale della selezione dovrà essere questo */
29
31
  this.optionChange = new EventEmitter();
30
32
  /** Elementi selezionati */
@@ -135,8 +137,15 @@ export class ValidationAutocompleteMultiComponent extends BaseValidation {
135
137
  const i = this.selectData.findIndex(value => value.id === data.id);
136
138
  this.selectData.splice(i, 1);
137
139
  }
138
- this.value = null;
139
140
  this.onModelChange(this.selectData.map(t => t.id).join(','), true);
141
+ if (this.HideChoicesOnSelection)
142
+ this.htmlInput.nativeElement.value = "";
143
+ else {
144
+ this.autoTrigger.closePanel();
145
+ requestAnimationFrame(() => {
146
+ this.autoTrigger.openPanel();
147
+ });
148
+ }
140
149
  this.onFinalize();
141
150
  }
142
151
  ;
@@ -144,7 +153,7 @@ export class ValidationAutocompleteMultiComponent extends BaseValidation {
144
153
  ValidationAutocompleteMultiComponent.decorators = [
145
154
  { type: Component, args: [{
146
155
  selector: "val-autocomplete-multi",
147
- template: "<mat-form-field appearance=\"{{FieldAppearence}}\" class=\"mat-full-width mat-no-border-top\" [style.width.px]=\"widthPx\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-chip-list #chipList>\r\n <ng-container *ngIf=\"selectData.length < ChipThreshold\" >\r\n <mat-chip *ngFor=\"let select of selectData\" class=\"cardinal-colors\" (click)=\"!(readonly || disabled) && removeChip(select)\">\r\n {{ select.description }}\r\n <mat-icon class=\"mat-chip-remove\">cancel</mat-icon>\r\n </mat-chip>\r\n </ng-container>\r\n\r\n <mat-chip *ngIf=\"selectData.length >= ChipThreshold\" class=\"cardinal-colors\" (click)=\"!(readonly || disabled) && removeChip(null)\">\r\n {{ selectData.length }} {{ 'Elements selected' | localize: lc }}\r\n <mat-icon class=\"mat-chip-remove\">cancel</mat-icon>\r\n </mat-chip>\r\n \r\n <input matInput\r\n [matChipInputFor]=\"chipList\"\r\n #htmlInput\r\n #baseInput='ngModel'\r\n type=\"text\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n [placeholder]=\"placeholder\"\r\n [matAutocomplete]=\"auto\"\r\n name=\"val-input\"\r\n id=\"{{id}}\"\r\n [(ngModel)]=\"value\"\r\n [tooltip]=\"tolTemplate\"\r\n [disabled]=\"readonly || disabled\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (click)=\"onFocus($event)\"\r\n (focus)=\"checkTooltip();\"\r\n (blur)=\"closeTooltip();\">\r\n </mat-chip-list>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let data of FilteredSource\">\r\n <div (click)=\"toggleSelection(data); $event.stopPropagation()\">\r\n <mat-checkbox [checked]=\"data.selected\" (change)=\"toggleSelection(data);\" (click)=\"$event.stopPropagation()\">\r\n {{ data.description }}\r\n </mat-checkbox>\r\n </div>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n\r\n<ng-template #tolTemplate>\r\n <div (click)=\"closeTooltip()\">\r\n <span>{{validationFailed}}</span>\r\n </div>\r\n</ng-template>",
156
+ template: "<mat-form-field appearance=\"{{FieldAppearence}}\" class=\"mat-full-width mat-no-border-top\" [style.width.px]=\"widthPx\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-chip-list #chipList>\r\n <ng-container *ngIf=\"selectData.length < ChipThreshold\" >\r\n <mat-chip *ngFor=\"let select of selectData\" class=\"cardinal-colors\" (click)=\"!(readonly || disabled) && removeChip(select)\">\r\n {{ select.description }}\r\n <mat-icon class=\"mat-chip-remove\">cancel</mat-icon>\r\n </mat-chip>\r\n </ng-container>\r\n\r\n <mat-chip *ngIf=\"selectData.length >= ChipThreshold\" class=\"cardinal-colors\" (click)=\"!(readonly || disabled) && removeChip(null)\">\r\n {{ selectData.length }} {{ 'Elements selected' | localize: lc }}\r\n <mat-icon class=\"mat-chip-remove\">cancel</mat-icon>\r\n </mat-chip>\r\n\r\n <input matInput\r\n [matChipInputFor]=\"chipList\"\r\n #htmlInput\r\n #baseInput='ngModel'\r\n type=\"text\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n [placeholder]=\"placeholder\"\r\n [matAutocomplete]=\"auto\"\r\n name=\"val-input\"\r\n id=\"{{id}}\"\r\n [(ngModel)]=\"value\"\r\n [tooltip]=\"tolTemplate\"\r\n [disabled]=\"readonly || disabled\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (click)=\"onFocus($event)\"\r\n (focus)=\"checkTooltip();\"\r\n (blur)=\"closeTooltip();\">\r\n </mat-chip-list>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let data of FilteredSource\">\r\n <div (click)=\"toggleSelection(data); !HideChoicesOnSelection && $event.stopPropagation()\">\r\n <mat-checkbox [checked]=\"data.selected\" (change)=\"toggleSelection(data);\" (click)=\"!HideChoicesOnSelection && $event.stopPropagation()\">\r\n {{ data.description }}\r\n </mat-checkbox>\r\n </div>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n\r\n<ng-template #tolTemplate>\r\n <div (click)=\"closeTooltip()\">\r\n <span>{{validationFailed}}</span>\r\n </div>\r\n</ng-template>",
148
157
  changeDetection: ChangeDetectionStrategy.OnPush,
149
158
  providers: [
150
159
  { provide: LocalizationService, useClass: BaseValidationLoc },
@@ -169,7 +178,8 @@ ValidationAutocompleteMultiComponent.propDecorators = {
169
178
  FilteredSource: [{ type: Input }],
170
179
  value: [{ type: Input }],
171
180
  label: [{ type: Input }],
181
+ HideChoicesOnSelection: [{ type: Input }],
172
182
  optionChange: [{ type: Output }],
173
183
  autoTrigger: [{ type: ViewChild, args: [MatAutocompleteTrigger,] }]
174
184
  };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXFDLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBaUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJMLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBZ0JILE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxjQUFjO0lBK0JwRSxjQUFjO0lBQ2QsWUFBdUQsV0FBdUIsRUFBbUQsZ0JBQTRCLEVBQVUsUUFBa0IsRUFBUyxFQUF1QjtRQUNyTixLQUFLLEVBQUUsQ0FBQztRQUQyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFtRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVk7UUFB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LENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFBQSxDQUFDOzs7WUE1S0wsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDh5RUFBMkQ7Z0JBQzNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO29CQUM3RDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO3dCQUNuRSxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFFeEM7OztZQWlDdUUsS0FBSyx1QkFBNUQsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhO1lBQXNHLEtBQUssdUJBQXZFLFFBQVEsWUFBSSxNQUFNLFNBQUMsbUJBQW1CO1lBN0Q1QyxRQUFRO1lBRzlFLG1CQUFtQjs7OzRCQStCdkIsS0FBSzs2QkFHTCxLQUFLO29CQUdMLEtBQUs7b0JBR0wsS0FBSzsyQkFHTCxNQUFNOzBCQUdOLFNBQVMsU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfQVNZTkNfVkFMSURBVE9SUywgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IEJhc2VWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL2Jhc2UtdmFsaWRhdGlvblwiO1xyXG5pbXBvcnQgeyBCYXNlVmFsaWRhdGlvbkxvYyB9IGZyb20gJy4uL2Jhc2UtdmFsaWRhdGlvbi5sb2MnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGkgdmFsaWRhaXpvbmUgcGVyIGdsaSBpbnB1dCBkaSBBdXRvY29tcGxldGFtZW50b1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ2YWwtYXV0b2NvbXBsZXRlLW11bHRpXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJ2YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS1tdWx0aS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBCYXNlVmFsaWRhdGlvbkxvYyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFZhbGlkYXRpb25BdXRvY29tcGxldGVNdWx0aUNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4uL3ZhbGlkYXRpb24tc3R5bGUuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkF1dG9jb21wbGV0ZU11bHRpQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZhbGlkYXRpb24gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgcHVibGljIGRpc3BsYXlGbiA9ICgpOiBzdHJpbmcgPT4gJyc7XHJcblxyXG4gICAgLyoqIE51bWVybyBtYXNzaW1vIGRpIGNoaXAgdmlzdWFsaXp6YXRlICovXHJcbiAgICBASW5wdXQoKSBDaGlwVGhyZXNob2xkOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAvKiogU29yZ2VudGUgZGEgY3VpIHNjZWdsaWVyZSB2YWxvcmkgZmlsdHJhdGEgaW4gYmFzZSBhIHF1ZWxsbyBjaGUgaGEgc2NyaXR0byBsJ3V0ZW50ZSAqL1xyXG4gICAgQElucHV0KCkgRmlsdGVyZWRTb3VyY2U6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICAvKiogVmFsb3JlIGRlbCBtb2RlbGxvICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IGFueTtcclxuXHJcbiAgICAvKiogQ29udGVudXRvIGRlbGxhIGxhYmVsIEZsb2F0dGFudGUgTWF0ZXJpYWwtU3R5bGUgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogRXZlbnRvIGNoZSBpbmRpY2EgbCdvcHppb25lIHNlbGV6aW9uYXRhIGRhbCBjb21wb25lbnRlLiBJbCB2YWxvcmUgZmluYWxlIGRlbGxhIHNlbGV6aW9uZSBkb3Zyw6AgZXNzZXJlIHF1ZXN0byAqL1xyXG4gICAgQE91dHB1dCgpIG9wdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICAvKiogVHJpZ2dlciBkZWxsJ2F1dG9jb21wbGV0ZSBwZXIgdGVuZXJsbyBhcGVydG8gKi9cclxuICAgIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgYXV0b1RyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XHJcbiAgICBcclxuICAgIC8qKiBTdWJzY3JpcHRpb24gZGVsIHRvb3RsdGlwIGRhIHJpcHVsaXJlIGFsbGEgZGlzdHJ1emlvbmUgZGVsIGNvbXBvbmVudGUgKi9cclxuICAgIHByaXZhdGUgdG9vbHRpcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIC8qKiBDb250cm9sbG8gZXNwb3N0byBvdHRlbnV0byB0cmFtaXRlIGluamVjdG9yICovXHJcbiAgICBwcml2YXRlIHBhcmVudENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICAgIC8qKiBFbGVtZW50aSBzZWxlemlvbmF0aSAqL1xyXG4gICAgcHVibGljIHNlbGVjdERhdGE6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBwcml2YXRlIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX0FTWU5DX1ZBTElEQVRPUlMpIHByaXZhdGUgX2FzeW5jVmFsaWRhdG9yczogQXJyYXk8YW55PiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJGb2N1c1JlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgLy9jb250cm9sbG8gc2Ugw6ggc2V0dGF0byB1biByZXF1aXJlZCBwZXIgZGVjaWRlcmUgaW4gbWFuaWVyYSBjb25kaXppb25hbGUgc2UgdXRpbGl6emFyZSBpbCB2YWxpZGF0b3JlIHJlcXVpcmVkIG5lbCBjb21wb25lbnRlIGludGVybm9cclxuICAgICAgICBpZiAodGhpcy5fdmFsaWRhdG9ycyAmJiAhdGhpcy5ub1ZhbGlkYXRlICYmIHRoaXMuX3ZhbGlkYXRvcnMuc29tZShlbGVtID0+IGVsZW0gaW5zdGFuY2VvZiBSZXF1aXJlZFZhbGlkYXRvcikpXHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlcmVnaXN0ZXJGb2N1c1JlcXVlc3QoKTtcclxuICAgICAgICBpZiAodGhpcy50b29sdGlwU3Vic2NyaXB0aW9uKSB0aGlzLnRvb2x0aXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMucG9zdEJpbmRpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogSW4gY2FzbyBhcnJpdmkgdW5hIG51b3ZhIHNvcmdlbnRlIGRldm8gcmVpbXBvc3RhcmUgbG8gc3RhdG8gZGkgc2VsZXppb25lIGNvbiBxdWVsbG8gYXR0dWFsZSAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBsZXQgbmV3U291cmNlID0gY2hhbmdlc1tcIkZpbHRlcmVkU291cmNlXCJdO1xyXG4gICAgICAgIGlmICghbmV3U291cmNlIHx8IG5ld1NvdXJjZS5maXJzdENoYW5nZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuRmlsdGVyZWRTb3VyY2UubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLkZpbHRlcmVkU291cmNlW2ldO1xyXG4gICAgICAgICAgICAoPGFueT5pdGVtKS5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0RGF0YS5maW5kKHQgPT4gdC5pZCA9PSBpdGVtLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldG9kbyBjaGUgc2kgb2NjdXBhIGRpIGNvbGxlZ2FyZSBpIHZhbGlkYXRvcmkgZSBsYSBmdW56aW9uZSBkaSByZXNldCBkYWwgKipDb250cm9sVmFsdWVBY2Nlc3NvcioqIHJhcHByZXNlbnRhdG8gXHJcbiAgICAgKiBkYSBxdWVzdG8gY29tcG9uZW50ZSBhbCAqKkNvbnRyb2xWYWx1ZUFjY2Vzc29yKiogcmFwcHJlc2VudGF0byBkYWxsJ2VmZmV0dGl2byBlbGVtZW50byBkaSBJbnB1dCBwcmVzZW50ZSBsYXRvIEhUTUxcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwb3N0QmluZGluZygpIHtcclxuICAgICAgICB0aGlzLkNoZWNrVmFsaWRpdHkoKTtcclxuICAgICAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICAgICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgICAgICAgIC8vc2UgbGEgdmFyaWFiaWxlIG5vdmFsaWRhdGUgw6ggdHJ1ZSwgZWxpbWlubyB0dXR0aSBpIHZhbGlkYXRvcmkgZXZlbnR1YWxtZW50ZSBpbnNlcml0aVxyXG4gICAgICAgICAgICBpZiAodGhpcy5ub1ZhbGlkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZUlucHV0LmNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuX2FzeW5jVmFsaWRhdG9ycyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VJbnB1dC5jb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5fdmFsaWRhdG9ycyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vZmFjY2lvIGluIG1vZG8gY2hlIHNlIGNoaWFtbyBpbCByZXNldCBkZWwgY29udHJvbGxvIChvIGRlbGxhIGZvcm0pIGRhbGwnZXN0ZXJubyBzaSByZXNldHRpIGFuY2hlIGlsIGNvbnRyb2xsbyBuYXRpdm9cclxuICAgICAgICAgICAgY29uc3Qgb3JpZ0Z1bmMgPSB0aGlzLnBhcmVudENvbnRyb2wucmVzZXQ7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Q29udHJvbC5yZXNldCA9ICgpID0+IHsgLy9mYWNjaW8gaW4gbW9kbyBjaGUgc2UgY2hpYW1vIGlsIHJlc2V0IGRlbCBjb250cm9sbG8gKG8gZGVsbGEgZm9ybSkgZGFsbCdlc3Rlcm5vIHNpIHJlc2V0dGkgYW5jaGUgaWwgY29udHJvbGxvIG5hdGl2b1xyXG4gICAgICAgICAgICAgICAgb3JpZ0Z1bmMuYXBwbHkodGhpcy5wYXJlbnRDb250cm9sKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZUlucHV0LmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHsgfTsgLy9wbGFjZWhvbGRlciBvbiB0b3VjaGVkIGZ1bmN0aW9uXHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSwgZmluYWxWYWx1ZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdmFyIHZhbCA9IHZhbHVlICYmIHRoaXMuRmlsdGVyZWRTb3VyY2UgPyB0aGlzLkZpbHRlcmVkU291cmNlLmZpbmQodCA9PiB0LmlkID09IHZhbHVlKSA6IG51bGw7XHJcbiAgICAgICAgaWYoZmluYWxWYWx1ZSkgdGhpcy5vcHRpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsID8gdmFsLmlkIDogdmFsdWUpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWwgPyB2YWwuZGVzY3JpcHRpb24gOiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEwnZW1pdCBkZWxsYSBtb2RpZmljYSBhbCB2YWxvcmUgdmllbmUgZ2VzdGl0byBzdSB1biBldmVudG8gY3VzdG9tICgqKmlucHV0Q2hhbmdlKiopIGNvbWUgd29ya2Fyb3VuZCBhbCBtYWxmdW56aW9uYW1lbnRvIGRlbGwnKipuZ01vZGVsQ2hhbmdlKiogbmF0aXZvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSB0b0VtaXQgdmFsb3JlIGRhIHByb3BhZ2FyZSBhbGwnZXN0ZXJub1xyXG4gICAgICovXHJcbiAgICBvbk1vZGVsQ2hhbmdlKHRvRW1pdCwgZmluYWxWYWx1ZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRvRW1pdCwgZmluYWxWYWx1ZSk7XHJcbiAgICAgICAgaWYoIWZpbmFsVmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh0b0VtaXQpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBSaW11b3ZlIHVuIGVsZW1lbnRvIHNlbGV6aW9uYXRvICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlQ2hpcChkYXRhOiB7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdERhdGEgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZFNvdXJjZS5mb3JFYWNoKGRhdGEgPT4gKDxhbnk+ZGF0YSkuc2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnNlbGVjdERhdGEubWFwKHQgPT4gdC5pZCkuam9pbignLCcpLCB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5vbkZpbmFsaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3Rpb24oZGF0YSk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKiBTZWxlemlvbmEgbyBkZXNlbGV6aW9uYSB1biBvZ2dldHRvICovXHJcbiAgICBwdWJsaWMgdG9nZ2xlU2VsZWN0aW9uKGRhdGE6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9KTogdm9pZCB7XHJcbiAgICAgICAgKDxhbnk+ZGF0YSkuc2VsZWN0ZWQgPSAhKDxhbnk+ZGF0YSkuc2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgIGlmICgoPGFueT5kYXRhKS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdERhdGEucHVzaChkYXRhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5zZWxlY3REYXRhLmZpbmRJbmRleCh2YWx1ZSA9PiB2YWx1ZS5pZCA9PT0gZGF0YS5pZCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5zZWxlY3REYXRhLm1hcCh0ID0+IHQuaWQpLmpvaW4oJywnKSwgdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5vbkZpbmFsaXplKCk7XHJcbiAgICB9O1xyXG59Il19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXFDLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBaUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JMLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzNEOztHQUVHO0FBZ0JILE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxjQUFjO0lBa0NwRSxjQUFjO0lBQ2QsWUFBdUQsV0FBdUIsRUFBbUQsZ0JBQTRCLEVBQVUsUUFBa0IsRUFBUyxFQUF1QjtRQUNyTixLQUFLLEVBQUUsQ0FBQztRQUQyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFtRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVk7UUFB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QkFBbUI7WUFoRTVDLFFBQVE7WUFJOUUsbUJBQW1COzs7NEJBOEJ2QixLQUFLOzZCQUdMLEtBQUs7b0JBR0wsS0FBSztvQkFHTCxLQUFLO3FDQUdMLEtBQUs7MkJBR0wsTUFBTTswQkFHTixTQUFTLFNBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX0FTWU5DX1ZBTElEQVRPUlMsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgeyBCYXNlVmFsaWRhdGlvbiB9IGZyb20gXCIuLi9iYXNlLXZhbGlkYXRpb25cIjtcclxuaW1wb3J0IHsgQmFzZVZhbGlkYXRpb25Mb2MgfSBmcm9tICcuLi9iYXNlLXZhbGlkYXRpb24ubG9jJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGRpIHZhbGlkYWl6b25lIHBlciBnbGkgaW5wdXQgZGkgQXV0b2NvbXBsZXRhbWVudG9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwidmFsLWF1dG9jb21wbGV0ZS1tdWx0aVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwidmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQmFzZVZhbGlkYXRpb25Mb2MgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuLi92YWxpZGF0aW9uLXN0eWxlLnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25BdXRvY29tcGxldGVNdWx0aUNvbXBvbmVudCBleHRlbmRzIEJhc2VWYWxpZGF0aW9uIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIHB1YmxpYyBkaXNwbGF5Rm4gPSAoKTogc3RyaW5nID0+ICcnO1xyXG5cclxuICAgIC8qKiBOdW1lcm8gbWFzc2ltbyBkaSBjaGlwIHZpc3VhbGl6emF0ZSAqL1xyXG4gICAgQElucHV0KCkgQ2hpcFRocmVzaG9sZDogbnVtYmVyID0gMTA7XHJcblxyXG4gICAgLyoqIFNvcmdlbnRlIGRhIGN1aSBzY2VnbGllcmUgdmFsb3JpIGZpbHRyYXRhIGluIGJhc2UgYSBxdWVsbG8gY2hlIGhhIHNjcml0dG8gbCd1dGVudGUgKi9cclxuICAgIEBJbnB1dCgpIEZpbHRlcmVkU291cmNlOiB7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gICAgLyoqIFZhbG9yZSBkZWwgbW9kZWxsbyAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHZhbHVlOiBhbnk7XHJcblxyXG4gICAgLyoqIENvbnRlbnV0byBkZWxsYSBsYWJlbCBGbG9hdHRhbnRlIE1hdGVyaWFsLVN0eWxlICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIERlZmluaXNjZSBjaGUgYWQgb2duaSBzZWxlemlvbmUgZGV2ZSBjaGl1ZGVyZSBsYSB0ZW5kaW5hICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgSGlkZUNob2ljZXNPblNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBFdmVudG8gY2hlIGluZGljYSBsJ29wemlvbmUgc2VsZXppb25hdGEgZGFsIGNvbXBvbmVudGUuIElsIHZhbG9yZSBmaW5hbGUgZGVsbGEgc2VsZXppb25lIGRvdnLDoCBlc3NlcmUgcXVlc3RvICovXHJcbiAgICBAT3V0cHV0KCkgb3B0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKiBUcmlnZ2VyIGRlbGwnYXV0b2NvbXBsZXRlIHBlciB0ZW5lcmxvIGFwZXJ0byAqL1xyXG4gICAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBhdXRvVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcclxuICAgIFxyXG4gICAgLyoqIFN1YnNjcmlwdGlvbiBkZWwgdG9vdGx0aXAgZGEgcmlwdWxpcmUgYWxsYSBkaXN0cnV6aW9uZSBkZWwgY29tcG9uZW50ZSAqL1xyXG4gICAgcHJpdmF0ZSB0b29sdGlwU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgLyoqIENvbnRyb2xsbyBlc3Bvc3RvIG90dGVudXRvIHRyYW1pdGUgaW5qZWN0b3IgKi9cclxuICAgIHByaXZhdGUgcGFyZW50Q29udHJvbDogRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgLyoqIEVsZW1lbnRpIHNlbGV6aW9uYXRpICovXHJcbiAgICBwdWJsaWMgc2VsZWN0RGF0YTogeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIHByaXZhdGUgX3ZhbGlkYXRvcnM6IEFycmF5PGFueT4sIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfQVNZTkNfVkFMSURBVE9SUykgcHJpdmF0ZSBfYXN5bmNWYWxpZGF0b3JzOiBBcnJheTxhbnk+LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvY3VzUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAvL2NvbnRyb2xsbyBzZSDDqCBzZXR0YXRvIHVuIHJlcXVpcmVkIHBlciBkZWNpZGVyZSBpbiBtYW5pZXJhIGNvbmRpemlvbmFsZSBzZSB1dGlsaXp6YXJlIGlsIHZhbGlkYXRvcmUgcmVxdWlyZWQgbmVsIGNvbXBvbmVudGUgaW50ZXJub1xyXG4gICAgICAgIGlmICh0aGlzLl92YWxpZGF0b3JzICYmICF0aGlzLm5vVmFsaWRhdGUgJiYgdGhpcy5fdmFsaWRhdG9ycy5zb21lKGVsZW0gPT4gZWxlbSBpbnN0YW5jZW9mIFJlcXVpcmVkVmFsaWRhdG9yKSlcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVyZWdpc3RlckZvY3VzUmVxdWVzdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBTdWJzY3JpcHRpb24pIHRoaXMudG9vbHRpcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5wb3N0QmluZGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbiBjYXNvIGFycml2aSB1bmEgbnVvdmEgc29yZ2VudGUgZGV2byByZWltcG9zdGFyZSBsbyBzdGF0byBkaSBzZWxlemlvbmUgY29uIHF1ZWxsbyBhdHR1YWxlICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiRmlsdGVyZWRTb3VyY2VcIl07XHJcbiAgICAgICAgaWYgKCFuZXdTb3VyY2UgfHwgbmV3U291cmNlLmZpcnN0Q2hhbmdlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5GaWx0ZXJlZFNvdXJjZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbSA9IHRoaXMuRmlsdGVyZWRTb3VyY2VbaV07XHJcbiAgICAgICAgICAgICg8YW55Pml0ZW0pLnNlbGVjdGVkID0gdGhpcy5zZWxlY3REYXRhLmZpbmQodCA9PiB0LmlkID09IGl0ZW0uaWQpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBzaSBvY2N1cGEgZGkgY29sbGVnYXJlIGkgdmFsaWRhdG9yaSBlIGxhIGZ1bnppb25lIGRpIHJlc2V0IGRhbCAqKkNvbnRyb2xWYWx1ZUFjY2Vzc29yKiogcmFwcHJlc2VudGF0byBcclxuICAgICAqIGRhIHF1ZXN0byBjb21wb25lbnRlIGFsICoqQ29udHJvbFZhbHVlQWNjZXNzb3IqKiByYXBwcmVzZW50YXRvIGRhbGwnZWZmZXR0aXZvIGVsZW1lbnRvIGRpIElucHV0IHByZXNlbnRlIGxhdG8gSFRNTFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHBvc3RCaW5kaW5nKCkge1xyXG4gICAgICAgIHRoaXMuQ2hlY2tWYWxpZGl0eSgpO1xyXG4gICAgICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgICAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Q29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sO1xyXG5cclxuICAgICAgICAgICAgLy9zZSBsYSB2YXJpYWJpbGUgbm92YWxpZGF0ZSDDqCB0cnVlLCBlbGltaW5vIHR1dHRpIGkgdmFsaWRhdG9yaSBldmVudHVhbG1lbnRlIGluc2VyaXRpXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm5vVmFsaWRhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Q29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Q29udHJvbC5jbGVhckFzeW5jVmFsaWRhdG9ycygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlSW5wdXQuY29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5fYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZUlucHV0LmNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLl92YWxpZGF0b3JzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9mYWNjaW8gaW4gbW9kbyBjaGUgc2UgY2hpYW1vIGlsIHJlc2V0IGRlbCBjb250cm9sbG8gKG8gZGVsbGEgZm9ybSkgZGFsbCdlc3Rlcm5vIHNpIHJlc2V0dGkgYW5jaGUgaWwgY29udHJvbGxvIG5hdGl2b1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnRnVuYyA9IHRoaXMucGFyZW50Q29udHJvbC5yZXNldDtcclxuICAgICAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLnJlc2V0ID0gKCkgPT4geyAvL2ZhY2NpbyBpbiBtb2RvIGNoZSBzZSBjaGlhbW8gaWwgcmVzZXQgZGVsIGNvbnRyb2xsbyAobyBkZWxsYSBmb3JtKSBkYWxsJ2VzdGVybm8gc2kgcmVzZXR0aSBhbmNoZSBpbCBjb250cm9sbG8gbmF0aXZvXHJcbiAgICAgICAgICAgICAgICBvcmlnRnVuYy5hcHBseSh0aGlzLnBhcmVudENvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlSW5wdXQuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4geyB9OyAvL3BsYWNlaG9sZGVyIG9uIHRvdWNoZWQgZnVuY3Rpb25cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55LCBmaW5hbFZhbHVlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgICAgICB2YXIgdmFsID0gdmFsdWUgJiYgdGhpcy5GaWx0ZXJlZFNvdXJjZSA/IHRoaXMuRmlsdGVyZWRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gdmFsdWUpIDogbnVsbDtcclxuICAgICAgICBpZihmaW5hbFZhbHVlKSB0aGlzLm9wdGlvbkNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWwgPyB2YWwuaWQgOiB2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbCA/IHZhbC5kZXNjcmlwdGlvbiA6IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTCdlbWl0IGRlbGxhIG1vZGlmaWNhIGFsIHZhbG9yZSB2aWVuZSBnZXN0aXRvIHN1IHVuIGV2ZW50byBjdXN0b20gKCoqaW5wdXRDaGFuZ2UqKikgY29tZSB3b3JrYXJvdW5kIGFsIG1hbGZ1bnppb25hbWVudG8gZGVsbCcqKm5nTW9kZWxDaGFuZ2UqKiBuYXRpdm9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHRvRW1pdCB2YWxvcmUgZGEgcHJvcGFnYXJlIGFsbCdlc3Rlcm5vXHJcbiAgICAgKi9cclxuICAgIG9uTW9kZWxDaGFuZ2UodG9FbWl0LCBmaW5hbFZhbHVlOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLndyaXRlVmFsdWUodG9FbWl0LCBmaW5hbFZhbHVlKTtcclxuICAgICAgICBpZighZmluYWxWYWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHRvRW1pdCk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFJpbXVvdmUgdW4gZWxlbWVudG8gc2VsZXppb25hdG8gKi9cclxuICAgIHB1YmxpYyByZW1vdmVDaGlwKGRhdGE6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcmVkU291cmNlLmZvckVhY2goZGF0YSA9PiAoPGFueT5kYXRhKS5zZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuc2VsZWN0RGF0YS5tYXAodCA9PiB0LmlkKS5qb2luKCcsJyksIHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uRmluYWxpemUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdGlvbihkYXRhKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqIFNlbGV6aW9uYSBvIGRlc2VsZXppb25hIHVuIG9nZ2V0dG8gKi9cclxuICAgIHB1YmxpYyB0b2dnbGVTZWxlY3Rpb24oZGF0YTogeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgICAgICAoPGFueT5kYXRhKS5zZWxlY3RlZCA9ICEoPGFueT5kYXRhKS5zZWxlY3RlZDtcclxuXHJcbiAgICAgICAgaWYgKCg8YW55PmRhdGEpLnNlbGVjdGVkID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0YS5wdXNoKGRhdGEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLnNlbGVjdERhdGEuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09PSBkYXRhLmlkKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuc2VsZWN0RGF0YS5tYXAodCA9PiB0LmlkKS5qb2luKCcsJyksIHRydWUpO1xyXG4gICAgICAgIGlmICh0aGlzLkhpZGVDaG9pY2VzT25TZWxlY3Rpb24pXHJcbiAgICAgICAgICAgIHRoaXMuaHRtbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9UcmlnZ2VyLmNsb3NlUGFuZWwoKTtcclxuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0b1RyaWdnZXIub3BlblBhbmVsKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uRmluYWxpemUoKTtcclxuICAgIH07XHJcbn0iXX0=
@@ -5,6 +5,7 @@
5
5
  export * from './lib/models/AppFile';
6
6
  export * from './lib/models/FormsAndValidationsModuleConfig';
7
7
  export * from './lib/models/dayjs-adapter/dayjs-date-adapter';
8
+ export * from './lib/tokens';
8
9
  //module
9
10
  export * from './lib/forms-and-validations.module';
10
11
  //validations
@@ -31,4 +32,4 @@ export * from './lib/forms/form-textarea/form-textarea.component';
31
32
  export * from './lib/forms/form-autocomplete/form-autocomplete.component';
32
33
  export * from './lib/forms/form-file/form-file.component';
33
34
  export * from './lib/forms/form-time/form-time.component';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILFFBQVE7QUFDUixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUU3RCxRQUFRO0FBQ1QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxhQUFhO0FBQ2IsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLHlGQUF5RixDQUFDO0FBR3hHLE9BQU87QUFDUCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZm9ybXMtYW5kLXZhbGlkYXRpb25zXHJcbiAqL1xyXG5cclxuLy9tb2RlbHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0FwcEZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXlqcy1hZGFwdGVyL2RheWpzLWRhdGUtYWRhcHRlcic7XHJcblxyXG4gLy9tb2R1bGVcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZSc7XHJcbi8vdmFsaWRhdGlvbnNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1kYXRldGltZS92YWxpZGF0aW9uLWRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24taW5wdXQvdmFsaWRhdGlvbi1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWRhdGUvdmFsaWRhdGlvbi1kYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tc2VsZWN0L3ZhbGlkYXRpb24tc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tdGV4dC1hcmVhL3ZhbGlkYXRpb24tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tY3VycmVuY3kvdmFsaWRhdGlvbi1jdXJyZW5jeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS1tdWx0aS92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS1tdWx0aS5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vZm9ybXNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1kYXRldGltZS9mb3JtLWRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tYWRhcHRpdmUvZm9ybS1hZGFwdGl2ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWVtcHR5L2Zvcm0tZW1wdHkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS10ZW1wbGF0ZS9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWluZm8vZm9ybS1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tY2hlY2tib3gvZm9ybS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWRhdGUvZm9ybS1kYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1maWxlL2Zvcm0tZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLXRpbWUvZm9ybS10aW1lLmNvbXBvbmVudCc7Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILFFBQVE7QUFDUixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGNBQWMsQ0FBQztBQUU1QixRQUFRO0FBQ1QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxhQUFhO0FBQ2IsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLHlGQUF5RixDQUFDO0FBR3hHLE9BQU87QUFDUCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZm9ybXMtYW5kLXZhbGlkYXRpb25zXHJcbiAqL1xyXG5cclxuLy9tb2RlbHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0FwcEZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXlqcy1hZGFwdGVyL2RheWpzLWRhdGUtYWRhcHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XHJcblxyXG4gLy9tb2R1bGVcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZSc7XHJcblxyXG4vL3ZhbGlkYXRpb25zXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZXRpbWUvdmFsaWRhdGlvbi1kYXRldGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWlucHV0L3ZhbGlkYXRpb24taW5wdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1kYXRlL3ZhbGlkYXRpb24tZGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXNlbGVjdC92YWxpZGF0aW9uLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXRleHQtYXJlYS92YWxpZGF0aW9uLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWN1cnJlbmN5L3ZhbGlkYXRpb24tY3VycmVuY3kuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkvdmFsaWRhdGlvbi1hdXRvY29tcGxldGUtbXVsdGkuY29tcG9uZW50JztcclxuXHJcblxyXG4vL2Zvcm1zXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tZGF0ZXRpbWUvZm9ybS1kYXRldGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWFkYXB0aXZlL2Zvcm0tYWRhcHRpdmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1lbXB0eS9mb3JtLWVtcHR5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tdGVtcGxhdGUvZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1pbmZvL2Zvcm0taW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS10ZXh0YXJlYS9mb3JtLXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tYXV0b2NvbXBsZXRlL2Zvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm0tZmlsZS9mb3JtLWZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZm9ybS10aW1lL2Zvcm0tdGltZS5jb21wb25lbnQnOyJdfQ==