@esfaenza/forms-and-validations 15.2.57 → 16.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/{esm2020 → esm2022}/lib/forms/base-form-control.mjs +6 -4
  2. package/{esm2020 → esm2022}/lib/forms/form-adaptive/form-adaptive.component.loc.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/forms/form-adaptive/form-adaptive.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/forms/form-autocomplete/form-autocomplete.component.loc.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/forms/form-autocomplete/form-autocomplete.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/forms/form-checkbox/form-checkbox.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/forms/form-date/form-date.component.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/forms/form-datetime/form-datetime.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/forms/form-empty/form-empty.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/forms/form-error/form-error.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/forms/form-file/form-file.component.loc.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/forms/form-file/form-file.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/forms/form-info/form-info.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/forms/form-input/form-input.component.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/forms/form-multiselect/form-multiselect.component.loc.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/forms/form-multiselect/form-multiselect.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/forms/form-select/form-select.component.loc.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/forms/form-select/form-select.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/forms/form-template/form-template.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/forms/form-textarea/form-textarea.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/forms/form-time/form-time.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/forms-and-validations.module.mjs +64 -64
  23. package/{esm2020 → esm2022}/lib/models/dayjs-adapter/dayjs-date-adapter.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/validations/base-validation.loc.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/validations/base-validation.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/validations/customValidators/CustomRequiredDirective.mjs +4 -4
  27. package/esm2022/lib/validations/validation-autocomplete/validation-autocomplete.component.mjs +147 -0
  28. package/esm2022/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.mjs +240 -0
  29. package/esm2022/lib/validations/validation-currency/validation-currency.component.mjs +75 -0
  30. package/esm2022/lib/validations/validation-date/validation-date.component.mjs +183 -0
  31. package/esm2022/lib/validations/validation-datetime/validation-datetime.component.mjs +212 -0
  32. package/esm2022/lib/validations/validation-input/validation-input.component.mjs +218 -0
  33. package/esm2022/lib/validations/validation-select/validation-select.component.mjs +183 -0
  34. package/esm2022/lib/validations/validation-text-area/validation-text-area.component.mjs +78 -0
  35. package/{fesm2020 → fesm2022}/esfaenza-forms-and-validations.mjs +227 -223
  36. package/fesm2022/esfaenza-forms-and-validations.mjs.map +1 -0
  37. package/lib/forms/base-form-control.d.ts +3 -1
  38. package/lib/forms/form-adaptive/form-adaptive.component.d.ts +1 -1
  39. package/lib/forms/form-autocomplete/form-autocomplete.component.d.ts +1 -1
  40. package/lib/forms/form-checkbox/form-checkbox.component.d.ts +1 -1
  41. package/lib/forms/form-date/form-date.component.d.ts +1 -1
  42. package/lib/forms/form-datetime/form-datetime.component.d.ts +1 -1
  43. package/lib/forms/form-empty/form-empty.component.d.ts +1 -1
  44. package/lib/forms/form-error/form-error.component.d.ts +1 -1
  45. package/lib/forms/form-file/form-file.component.d.ts +1 -1
  46. package/lib/forms/form-info/form-info.component.d.ts +1 -1
  47. package/lib/forms/form-input/form-input.component.d.ts +1 -1
  48. package/lib/forms/form-multiselect/form-multiselect.component.d.ts +1 -1
  49. package/lib/forms/form-select/form-select.component.d.ts +1 -1
  50. package/lib/forms/form-template/form-template.component.d.ts +1 -1
  51. package/lib/forms/form-textarea/form-textarea.component.d.ts +1 -1
  52. package/lib/forms/form-time/form-time.component.d.ts +1 -1
  53. package/lib/validations/base-validation.d.ts +1 -1
  54. package/lib/validations/customValidators/CustomRequiredDirective.d.ts +1 -1
  55. package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +1 -1
  56. package/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.d.ts +1 -1
  57. package/lib/validations/validation-currency/validation-currency.component.d.ts +1 -1
  58. package/lib/validations/validation-date/validation-date.component.d.ts +1 -1
  59. package/lib/validations/validation-datetime/validation-datetime.component.d.ts +1 -1
  60. package/lib/validations/validation-input/validation-input.component.d.ts +2 -2
  61. package/lib/validations/validation-select/validation-select.component.d.ts +1 -1
  62. package/lib/validations/validation-text-area/validation-text-area.component.d.ts +1 -1
  63. package/package.json +20 -26
  64. package/esm2020/lib/validations/validation-autocomplete/validation-autocomplete.component.mjs +0 -147
  65. package/esm2020/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.mjs +0 -240
  66. package/esm2020/lib/validations/validation-currency/validation-currency.component.mjs +0 -75
  67. package/esm2020/lib/validations/validation-date/validation-date.component.mjs +0 -183
  68. package/esm2020/lib/validations/validation-datetime/validation-datetime.component.mjs +0 -212
  69. package/esm2020/lib/validations/validation-input/validation-input.component.mjs +0 -216
  70. package/esm2020/lib/validations/validation-select/validation-select.component.mjs +0 -183
  71. package/esm2020/lib/validations/validation-text-area/validation-text-area.component.mjs +0 -78
  72. package/fesm2015/esfaenza-forms-and-validations.mjs +0 -4310
  73. package/fesm2015/esfaenza-forms-and-validations.mjs.map +0 -1
  74. package/fesm2020/esfaenza-forms-and-validations.mjs.map +0 -1
  75. /package/{esm2020 → esm2022}/esfaenza-forms-and-validations.mjs +0 -0
  76. /package/{esm2020 → esm2022}/lib/models/AppFile.mjs +0 -0
  77. /package/{esm2020 → esm2022}/lib/models/ChangeEvent.mjs +0 -0
  78. /package/{esm2020 → esm2022}/lib/models/FormsAndValidationsModuleConfig.mjs +0 -0
  79. /package/{esm2020 → esm2022}/lib/tokens.mjs +0 -0
  80. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -236,10 +236,10 @@ export class FormAutocompleteComponent extends BaseFormControl {
236
236
  //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
237
237
  this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
238
238
  }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
240
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormAutocompleteComponent, selector: "form-autocomplete", inputs: { SelectLabel: "SelectLabel", SearchFunctionContext: "SearchFunctionContext", SearchFunction: "SearchFunction", MinChars: "MinChars", HideChoicesOnSelection: "HideChoicesOnSelection", RequiredPlaceholder: "RequiredPlaceholder", CaseSensitive: "CaseSensitive", Multi: "Multi", MultiElementsThreshold: "MultiElementsThreshold", UnboundMode: "UnboundMode" }, providers: [{ provide: LocalizationService, useClass: FormAutocompleteComponentLoc }], usesInheritance: true, usesOnChanges: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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<!-- Form-Model: {{Model}} -->\r\n<ng-template #controlTemplate>\r\n <val-autocomplete *ngIf=\"!Multi\" [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [Readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n type=\"text\"\r\n [(ngModel)]=\"Model\"\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 : (('Seleziona' | 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\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\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 [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 : (('Seleziona' | localize : lc) + '...'))) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\"\r\n [UnboundMode]=\"UnboundMode\">\r\n\r\n </val-autocomplete-multi>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationAutocompleteComponent, selector: "val-autocomplete", inputs: ["FilteredSource", "value", "label"], outputs: ["optionChange"] }, { kind: "component", type: i6.ValidationAutocompleteMultiComponent, selector: "val-autocomplete-multi", inputs: ["ChipThreshold", "FilteredSource", "UnboundMode", "value", "label", "HideChoicesOnSelection"], outputs: ["optionChange"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
239
241
  }
240
- FormAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
241
- FormAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormAutocompleteComponent, selector: "form-autocomplete", inputs: { SelectLabel: "SelectLabel", SearchFunctionContext: "SearchFunctionContext", SearchFunction: "SearchFunction", MinChars: "MinChars", HideChoicesOnSelection: "HideChoicesOnSelection", RequiredPlaceholder: "RequiredPlaceholder", CaseSensitive: "CaseSensitive", Multi: "Multi", MultiElementsThreshold: "MultiElementsThreshold", UnboundMode: "UnboundMode" }, providers: [{ provide: LocalizationService, useClass: FormAutocompleteComponentLoc }], usesInheritance: true, usesOnChanges: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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<!-- Form-Model: {{Model}} -->\r\n<ng-template #controlTemplate>\r\n <val-autocomplete *ngIf=\"!Multi\" [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [Readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n type=\"text\"\r\n [(ngModel)]=\"Model\"\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 : (('Seleziona' | 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\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\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 [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 : (('Seleziona' | localize : lc) + '...'))) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\"\r\n [UnboundMode]=\"UnboundMode\">\r\n\r\n </val-autocomplete-multi>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationAutocompleteComponent, selector: "val-autocomplete", inputs: ["FilteredSource", "value", "label"], outputs: ["optionChange"] }, { kind: "component", type: i6.ValidationAutocompleteMultiComponent, selector: "val-autocomplete-multi", inputs: ["ChipThreshold", "FilteredSource", "UnboundMode", "value", "label", "HideChoicesOnSelection"], outputs: ["optionChange"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormAutocompleteComponent, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormAutocompleteComponent, decorators: [{
243
243
  type: Component,
244
244
  args: [{ selector: "form-autocomplete", providers: [{ provide: LocalizationService, useClass: FormAutocompleteComponentLoc }], changeDetection: ChangeDetectionStrategy.OnPush, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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<!-- Form-Model: {{Model}} -->\r\n<ng-template #controlTemplate>\r\n <val-autocomplete *ngIf=\"!Multi\" [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [Readonly]=\"Readonly\"\r\n [label]=\"SelectLabel\"\r\n type=\"text\"\r\n [(ngModel)]=\"Model\"\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 : (('Seleziona' | 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\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\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 [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 : (('Seleziona' | localize : lc) + '...'))) : Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [FilteredSource]=\"FilteredBoundSource\"\r\n [UnboundMode]=\"UnboundMode\">\r\n\r\n </val-autocomplete-multi>\r\n</ng-template>" }]
245
245
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i2.NgControl, decorators: [{
@@ -286,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
286
286
  }], UnboundMode: [{
287
287
  type: Input
288
288
  }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXFCLElBQUksRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUF3QixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSTdELGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7QUFFakYseUVBQXlFO0FBT3pFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxlQUFlO0lBeUMxRCwyQkFBMkI7SUFDM0IsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUFzQyxjQUF1QjtRQUMzVyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUs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QyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7c0hBM1FRLHlCQUF5QiwySUEwQ2dHLGFBQWEsaUlBQStILGFBQWEsNkJBQTZDLGNBQWM7MEdBMUM3VSx5QkFBeUIsd1pBSHZCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsc0VDckJ6Rix5aEpBZ0VjOzJGRHhDRCx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBRWxCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsbUJBQ3BFLHVCQUF1QixDQUFDLE1BQU07OzBCQTRDc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQXZDN1UsV0FBVztzQkFBbkIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3RvclJlZiwgU2VsZiwgU2ltcGxlQ2hhbmdlcywgSG9zdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudExvYyB9IGZyb20gXCIuL2Zvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGRpIGlucHV0IGNoZSBzaSBhdXRvLWNvbXBsZXRhIGluIGJhc2UgYWwgdmFsb3JlIGF0dHVhbGUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLWF1dG9jb21wbGV0ZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEZvcm1BdXRvY29tcGxldGVDb21wb25lbnRMb2MgfV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogUGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgaWwgdGVzdG8gZGVsbGEgTGFiZWwgZmxvdHRhbnRlIG1hdGVyaWFsLXN0eWxlICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogQ29udGVzdG8gcGVyIGxhIGZ1bnppb25lIGRpIHJpY2VyY2EgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEZ1bmN0aW9uQ29udGV4dDogYW55O1xyXG5cclxuICAgIC8qKiBGdW56aW9uZSBkaSByaWNlcmNhIGNoZSB2ZXJyw6AgY2hpYW1hdGEgZGFsIGNvbXBvbmVudGUgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEZ1bmN0aW9uOiAoc2VhcmNoOiBzdHJpbmcsIGJ5aWQ6IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpID0+IE9ic2VydmFibGU8eyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXT4gPSBudWxsO1xyXG5cclxuICAgIC8qKiBOdW1lcm8gbWluaW1vIGRpIGNhcmF0dGVyaSBjb24gY3VpIGNlcmNhcmUgKi9cclxuICAgIEBJbnB1dCgpIE1pbkNoYXJzOiBudW1iZXIgPSAzO1xyXG5cclxuICAgIC8qKiBEZWZpbmlzY2UgY2hlIGFkIG9nbmkgc2VsZXppb25lIGRldmUgY2hpdWRlcmUgbGEgdGVuZGluYSAqL1xyXG4gICAgQElucHV0KCkgSGlkZUNob2ljZXNPblNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBkZWwgcGxhY2Vob2xkZXIgcGVyIHNlbGVjdCByZXF1cmllZCAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGkgY29udHJvbGxpIGRldm9ubyBlc3NlcmUgZWZmZXR0dWF0aSB0ZW5lbmRvIGNvbnRvIGRlbCBDYXNlIG8gbWVuby4gVmFsZSBzb2xvIHF1YWxvcmEgbGEgKipTb3VyY2UqKiBmb3NzZSBmb3JuaXRhICovXHJcbiAgICBASW5wdXQoKSBDYXNlU2Vuc2l0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1c2FyZSBsYSBtb2RhbGl0w6AgbXVsdGlzZWxlemlvbmUgbyBubyAqL1xyXG4gICAgQElucHV0KCkgTXVsdGk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHVzYXJlIGxhIG1vZGFsaXTDoCBtdWx0aXNlbGV6aW9uZSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBNdWx0aUVsZW1lbnRzVGhyZXNob2xkOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAvKiogSW5kaWNhIGlsIGZhdHRvIGNoZSBub24gYyfDqCB1bmEgU291cmNlIGRhIGN1aSBzY2VnbGllcmUgKi9cclxuICAgIEBJbnB1dCgpIFVuYm91bmRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWdub3JhcmUgaWwgcHJvc3NpbW8gZXZlbnRvIHdyaXRlVmFsdWUgY2hlIG5vcm1hbG1lbnRlIGRvdnJlYmJlIHJpY2hpZWRlcmUgbGEgbnVvdmEgc291cmNlLiBTZXJ2ZSBwZXIgcXVhbmRvIGwndXRlbnRlIHNlbGV6aW9uYSB1biBlbGVtZW50bzpcclxuICAgICAqIFN1Yml0byBkb3BvIHBhcnRpcmViYmUgdW4gYWx0cm8gZXZlbnRvIG1vZGVsQ2hhbmdlIGNoZSByaWNhcmljaGVyZWJiZSBudW92YW1lbnRlIGxhIHNvdXJjZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlnbm9yZU5leHRXcml0ZVZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIFNvcmdlbnRlIEJpbmRhdGEgRmlsdHJhdGEgaW4gYmFzZSBhbCBjb250ZW51dG8gZGVsbGEgY2FzZWxsYSBkaSB0ZXN0byAqL1xyXG4gICAgcHVibGljIEZpbHRlcmVkQm91bmRTb3VyY2U6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREU6IGJvb2xlYW4pIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24gJiYgIXRoaXMuVW5ib3VuZE1vZGUpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZG9TZWFyY2hQcm90ZWN0ZWQodmFsdWUsIHRydWUsIHRoaXMuU2VhcmNoRnVuY3Rpb25Db250ZXh0LCAodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Tb3VyY2UgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZmluYWxpemVWYWx1ZSh2YWx1ZSk7IH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICB0aGlzLmZpbmFsaXplVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGF0byB1biB2YWxvcmUgdmVyaWZpY2Egc2UgcHXDsiByZXN0aXR1aXJlIGxlIGluZm9ybWF6aW9uaSB0cm92YXRlIGluICoqU291cmNlKiogY29uIGlkIHVndWFsZSBhICoqdmFsdWUqKiBvIHNlIGRldmUgcmVzdGl0dWlyZSBpbCB2YWxvcmUgaW4gc2VcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlIFZhbG9yZSBzY3JpdHRvIG5lbGwnaW5wdXQgZGkgdGVzdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmaW5hbGl6ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB2YXIgdmFsID0gdGhpcy5VbmJvdW5kTW9kZSA/IG51bGwgOiB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHZhbHVlKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWwgPyB2YWwuaWQgOiB2YWx1ZSk7XHJcblxyXG4gICAgICAgIC8vIEFsb3IuLi4gcHJhdGljYW1lbnRlIHF1aSBwb3RyZWJiZXJvIGFycml2YXJlIGRlZ2xpIHN3aXRjaGVyb25pIGluIGN1aSBpbCBNb2RlbCDDqCB1Z3VhbGUgYWxsJ2luaXppbyBlIGFsbGEgZmluZSBkZWxsbyBzdGFjaywgcGVyIHF1YWxjaGUgbW90aXZvXHJcbiAgICAgICAgLy8gcXVpbmRpIHBlciBhc3NpY3VyYXJtaSBjaGUgaWwgdmFsb3JlIHZlbmdhIHByZXNvIGNvcnJldHRhbWVudGUgZmFjY2lvIGlsIGNsYXNzaWNvIG1ldHRpIGEgbnVsbCBwb2kgbWV0dGkgc3VcclxuICAgICAgICAvLyBOb3RhcmUgY2hlIG1ldHRlcmUgaWwgbW9kZWxsbyBhIG51bGwgc2NhdGVuYSBpIHdyaXRldmFsdWUgbWEgdHV0dGkgaSB3cml0ZXZhbHVlIGNoZSBzaSBjb2xsZWdhbyBhIHF1ZXN0byBnaXJvIGRvdnJlYmJlcm8gZXNzZXJlIE5PT1Agc3UgbnVsbFxyXG4gICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gdmFsID8gdmFsLmRlc2NyaXB0aW9uIDogdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFF1YW5kbyB2aWVuZSBzY3JpdHRvIHVuIG51b3ZvIHZhbG9yZSBiaXNvZ25hIGNvbnRyb2xsYXJlIHNlIHBlciBib3R0YSBkaSBjdWxvIGZvc3NlIHVuIGlkLCBpbiB0YWwgY2FzbyBkZXYnZXNzZXJlIHJpZWZmZXR0dWF0byBpbCBiaW5kXHJcbiAgICAgKiBwZXIgbW9zdHJhcmUgc29sbyBsYSBkZXNjcml6aW9uZSBuZWxsJ2F1dG9jb21wbGV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZXZhbHVhdGVJZFJlc2VhcmNoKG9uRmFpbHVyZTogRnVuY3Rpb24pIHtcclxuICAgICAgICBsZXQgdG1wTW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKHRoaXMuVW5ib3VuZE1vZGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKCF0bXBNb2RlbCB8fCAhdGhpcy5TZWFyY2hGdW5jdGlvbikge1xyXG4gICAgICAgICAgICBvbkZhaWx1cmU/LigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBlbnF1ZXVlXCIpO1xyXG4gICAgICAgIHRoaXMudGhyb3R0bGEoXCJmaWx0ZXJzb3VyY2VcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmRvU2VhcmNoUHJvdGVjdGVkKHRtcE1vZGVsLCB0cnVlLCB0aGlzLlNlYXJjaEZ1bmN0aW9uQ29udGV4dCwgKHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0ICYmIHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU291cmNlID0gdDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5maW5hbGl6ZVZhbHVlKHRtcE1vZGVsKTsgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBvbkZhaWx1cmU/LigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCA0MDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIGRpIGZpbHRybyBkZWxsYSBzb3JnZW50ZSBkYXRpIGluIGJhc2UgYWxsJ2lucHV0IHV0ZW50ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnQgSW5wdXQgdXRlbnRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmaWx0ZXJTb3VyY2UoZXZlbnQ6IHN0cmluZykge1xyXG5cclxuICAgICAgICAvLyBDb250b3JsbG8gcHJpbWEgZGkgdHV0dG8gc2Ugw6ggdW4gSUQuIGluIGNhc28gY29udHJhcmlvIGVmZmV0dHVvIGxhIHJpY2VyY2FcclxuICAgICAgICB0aGlzLmV2YWx1YXRlSWRSZXNlYXJjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9GaWx0ZXJTb3VyY2UoZXZlbnQpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgZG9GaWx0ZXJTb3VyY2UoZXZlbnQ6IHN0cmluZyl7XHJcbiAgICAgICAgaWYgKHRoaXMuVW5ib3VuZE1vZGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pZ25vcmVOZXh0V3JpdGVWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBRdWFuZG8gZmlsdHJvIGxhIHNvdXJjZSwgc2Ugbm9uIGRldm8gaWdub3JhcmUgbCdldmVudG8gZGV2byBjb211bnF1ZSBhc3NpY3VyYXJtaSBkaSBpbXBvc3RhcmUgaWwgdmFsb3JlIHNlbGV6aW9uYXRvIGEgbnVsbFxyXG4gICAgICAgIGlmICghdGhpcy5NdWx0aSlcclxuICAgICAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsKTtcclxuXHJcbiAgICAgICAgaWYgKCFldmVudCAmJiB0aGlzLk1pbkNoYXJzID09IDAgJiYgIXRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gdGhpcy5Cb3VuZFNvdXJjZTtcclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghZXZlbnQgfHwgZXZlbnQubGVuZ3RoIDwgdGhpcy5NaW5DaGFycykge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcInNlYXJjaCBldmVudCBpZ25vcmVkOiBcIiArIGV2ZW50KTtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuU2VhcmNoRnVuY3Rpb24gJiYgKCF0aGlzLlNvdXJjZSB8fCB0aGlzLlNvdXJjZS5sZW5ndGggPT0gMCkpXHJcbiAgICAgICAgICAgIHRocm93IFwiSW1wb3NzaWJpbGUgZmlsdHJhcmUgZ2xpIGVsZW1lbnRpIHNlbnphIHVuYSBmdW56aW9uZSBkaSByaWNlcmNhIGNoZSByZXN0aXR1aXNjYSB1bmEgbGlzdGEgZGkgeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1cIjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2coXCJmaWx0ZXJzb3VyY2UgZW5xdWV1ZVwiKTtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb1NlYXJjaFByb3RlY3RlZChldmVudCwgZmFsc2UsIHRoaXMuU2VhcmNoRnVuY3Rpb25Db250ZXh0LCAodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nKFwiZmlsdGVyc291cmNlIHJlY2VpdmVkIEFQSSByZXNwb25zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvdXJjZSA9IHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEluIHF1ZXN0byBjYXNvIMOoIGdpw6AgZmlsdHJhdGEgZGFsbGEgU2VhcmNoRnVuY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRTb3VyY2VPbkRlc2NyaXB0aW9uU2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgLy8gSW4gcXVlc3RvIGNhc28gZGV2byBmaWx0cmFyZSBpbyBpbiBtZW1vcmlhXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlLmZpbHRlcih0ID0+ICh0aGlzLkNhc2VTZW5zaXRpdmUgJiYgdC5kZXNjcmlwdGlvbi5pbmNsdWRlcyhldmVudCkpIHx8ICghdGhpcy5DYXNlU2Vuc2l0aXZlICYmIHQuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXJlZFNvdXJjZU9uRGVzY3JpcHRpb25TZWxlY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aW1lciA9IG51bGw7XHJcbiAgICBtYXhDYWxsc1BlclNlY29uZCA9IDQ7XHJcbiAgICBjYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzID0gMDtcclxuXHJcbiAgICAvLyBQZXJtZXR0byBhbCBtYXNzaW1vIDQgY2hpYW1hdGUgb2duaSAzIHNlY29uZGksIHNlIG5lbGwnYXJjbyBkaSAzIHNlY29uZGkgY2kgc29ubyBwacO5IGRpIDQgY2hpYW1hdGUsIGlnbm9ybyBsZSBlY2NlZGVudGlcclxuICAgIHByaXZhdGUgZG9TZWFyY2hQcm90ZWN0ZWQoc2VhcmNoOiBzdHJpbmcsIGJ5aWQ6IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnksIG9uUmVzPzogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZiAoIXRoaXMudGltZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzID0gMDtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xyXG4gICAgICAgICAgICB9LCAzMDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNhbGxzRG9uZVRoaXNUaHJlZVNlY29uZHMgPj0gdGhpcy5tYXhDYWxsc1BlclNlY29uZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcIklnbm9yaW5nIGV4Y2Vzc2l2ZSBjYWxsc1wiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzKys7XHJcbiAgICAgICAgdGhpcy5sb2coXCJTZWFyY2ggZnVuY3Rpb24gYmVpbmcgY2FsbGVkLi4uXCIpO1xyXG4gICAgICAgIHRoaXMuU2VhcmNoRnVuY3Rpb24oc2VhcmNoLCBieWlkLCBjb250ZXh0KS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIG9uUmVzKHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHJlbW92ZUZpbHRlcmVkU291cmNlT25EZXNjcmlwdGlvblNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlLmxlbmd0aCA9PSAxICYmICh0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2VbMF0uZGVzY3JpcHRpb24gPT09IHRoaXMuTW9kZWwpICYmICF0aGlzLk11bHRpKSB7XHJcbiAgICAgICAgICAgIGxldCBtb2RlbCA9IHRoaXMuQm91bmRTb3VyY2VbMF0uaWRcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZVswXS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmZpbmFsaXplVmFsdWUobW9kZWwpOyB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1NvdXJjZSA9IGNoYW5nZXNbXCJTb3VyY2VcIl07XHJcbiAgICAgICAgaWYgKG5ld1NvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcblxyXG4gICAgICAgICAgICAvLyBQcmltYSBhc3NlZ25hemlvbmUgc2UgY2FtYmlhIGxhIHNvdXJjZSBzb3R0byAocXVpbmRpIHNlIHZpZW5lIGJpbmRhdGEgZGlyZXR0YW1lbnRlIGRhIEhUTUwpXHJcbiAgICAgICAgICAgIGlmICgodGhpcy5Nb2RlbD8ubGVuZ3RoIHx8IDApID49IHRoaXMuTWluQ2hhcnMgJiYgIXRoaXMuU2VhcmNoRnVuY3Rpb24pXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSBbXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBPdmVycmlkZSBjaGUgbWFyY2EgYW5jaGUgaWwgcHJvc3NpbW8gZXZlbnRvIGRpIGZpbHRlclNvdXJjZSBkYSBpZ25vcmFyZSAqL1xyXG4gICAgY2hhbmdlZChmb3JjZWRWYWx1ZTogYW55ID0gbnVsbCwgbWFya0ZvckNoZWNrOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoZm9yY2VkVmFsdWUgPT0gXCJcIiAmJiB0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIHNlbGVjdGVkczogc3RyaW5nW10gPSBmb3JjZWRWYWx1ZSA/IFtmb3JjZWRWYWx1ZV0gOiB0aGlzLk1vZGVsID8gKHRoaXMuTW9kZWwuTXVsdGkgPyB0aGlzLk1vZGVsLnNwbGl0KCcsJykgOiBbdGhpcy5Nb2RlbF0pIDogW107XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHNlbGVjdGVkcy5tYXAocyA9PiB0aGlzLkJvdW5kU291cmNlICYmIHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID4gMCA/IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gcyk/LmRlc2NyaXB0aW9uIDogdGhpcy5VbmJvdW5kTW9kZSA/IHMgOiBcIlwiKS5qb2luKCcsICcpO1xyXG5cclxuICAgICAgICBzdXBlci5jaGFuZ2VkKGZvcmNlZFZhbHVlLCBtYXJrRm9yQ2hlY2spO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKiogRnVuemlvbmUgZGkgdGhyb3R0bGluZyBwZXIgbm9uIHNwYW1tYXJlIHJpY2hpZXN0ZSBpbiBjYXNvIGRpIGFuaW1hemlvbmkgYXR0aXZhdGVcclxuICAgIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIGV4ZWN1dGlvblRpbWVyczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSB0aHJvdHRsYShpZDogc3RyaW5nLCBmdW5jOiBGdW5jdGlvbiwgdGhyb3R0bGVUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSlcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSk7XHJcblxyXG4gICAgICAgIC8vUmljcmVvIGlsIHRpbWVvdXQgcGVyIGVzZWd1aXJlIHF1ZWxsYSBmdW56aW9uZSBkb3BvIHRocm90dGxlVGltZSBtaWxsaXNlY29uZGlcclxuICAgICAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gICAgfVxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqXHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319e3tMYWJlbCA/IFwiOlwiIDogXCJcIn19PC9sYWJlbD5cclxuICAgIDxzcGFuICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBJbmxpbmVTZXBhcmF0b3IgIT0gJydcIj57e0lubGluZVNlcGFyYXRvcn19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC17e0Rpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtaW5saW5lLWJsb2NrJyA6IElucHV0Q29sV2lkdGh9fVwiPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgIURpc3BsYXlNb2RlVGVtcGxhdGVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9kaXY+XHJcbjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcbjwhLS0gRm9ybS1Nb2RlbDoge3tNb2RlbH19IC0tPlxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cclxuICAgIDx2YWwtYXV0b2NvbXBsZXRlICpuZ0lmPVwiIU11bHRpXCIgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbU2V0VmFsaWRhdGlvblN1YmplY3RdPVwiU2V0VmFsaWRhdGlvblN1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgW3N1Ym1pdHRlZF09XCJGb3JtPy5zdWJtaXR0ZWRcIlxyXG4gICAgICAgICAgICAgICBbUmVhZG9ubHldPVwiUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICBbbGFiZWxdPVwiU2VsZWN0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbaWRdPVwiR2VuZXJhdGVkTmFtZVwiXHJcbiAgICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiZmlsdGVyU291cmNlKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJSZXF1aXJlZCA/ICgoUmVxdWlyZWRQbGFjZWhvbGRlciAhPSBudWxsID8gUmVxdWlyZWRQbGFjZWhvbGRlciA6ICgoJ1NlbGV6aW9uYScgfCBsb2NhbGl6ZSA6IGxjKSArICcuLi4nKSkpIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgIFtGaWx0ZXJlZFNvdXJjZV09XCJGaWx0ZXJlZEJvdW5kU291cmNlXCI+XHJcbiAgICA8L3ZhbC1hdXRvY29tcGxldGU+XHJcblxyXG4gICAgPHZhbC1hdXRvY29tcGxldGUtbXVsdGkgKm5nSWY9XCJNdWx0aVwiIFtGb2N1c1N1YmplY3RdPVwiRm9jdXNTdWJqZWN0XCIgW1NldFZhbGlkYXRpb25TdWJqZWN0XT1cIlNldFZhbGlkYXRpb25TdWJqZWN0XCIgW0ZpZWxkQXBwZWFyZW5jZV09XCJGaWVsZEFwcGVhcmVuY2VcIiBbbm9WYWxpZGF0ZV09XCIhVmFsaWRhdGlvblwiXHJcbiAgICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICAgW1JlYWRvbmx5XT1cIlJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgW2xhYmVsXT1cIlNlbGVjdExhYmVsXCJcclxuICAgICAgICAgICAgICAgW0NoaXBUaHJlc2hvbGRdPVwiTXVsdGlFbGVtZW50c1RocmVzaG9sZFwiXHJcbiAgICAgICAgICAgICAgIFtIaWRlQ2hvaWNlc09uU2VsZWN0aW9uXT1cIkhpZGVDaG9pY2VzT25TZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbaWRdPVwiR2VuZXJhdGVkTmFtZVwiXHJcbiAgICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiZmlsdGVyU291cmNlKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJSZXF1aXJlZCA/ICgoUmVxdWlyZWRQbGFjZWhvbGRlciAhPSBudWxsID8gUmVxdWlyZWRQbGFjZWhvbGRlciA6ICgoJ1NlbGV6aW9uYScgfCBsb2NhbGl6ZSA6IGxjKSArICcuLi4nKSkpIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgIFtGaWx0ZXJlZFNvdXJjZV09XCJGaWx0ZXJlZEJvdW5kU291cmNlXCJcclxuICAgICAgICAgICAgICAgW1VuYm91bmRNb2RlXT1cIlVuYm91bmRNb2RlXCI+XHJcblxyXG4gICAgPC92YWwtYXV0b2NvbXBsZXRlLW11bHRpPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1hdXRvY29tcGxldGUvZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXFCLElBQUksRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUF3QixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSTdELGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7QUFFakYseUVBQXlFO0FBT3pFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxlQUFlO0lBeUMxRCwyQkFBMkI7SUFDM0IsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUFzQyxjQUF1QjtRQUMzVyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUs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QyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUcsQ0FBQzsrR0EzUVEseUJBQXlCLDJJQTBDZ0csYUFBYSxpSUFBK0gsYUFBYSw2QkFBNkMsY0FBYzttR0ExQzdVLHlCQUF5Qix3WkFIdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxzRUNyQnpGLHloSkFnRWM7OzRGRHhDRCx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBRWxCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsbUJBQ3BFLHVCQUF1QixDQUFDLE1BQU07OzBCQTRDc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQXZDN1UsV0FBVztzQkFBbkIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3RvclJlZiwgU2VsZiwgU2ltcGxlQ2hhbmdlcywgSG9zdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudExvYyB9IGZyb20gXCIuL2Zvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGRpIGlucHV0IGNoZSBzaSBhdXRvLWNvbXBsZXRhIGluIGJhc2UgYWwgdmFsb3JlIGF0dHVhbGUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLWF1dG9jb21wbGV0ZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEZvcm1BdXRvY29tcGxldGVDb21wb25lbnRMb2MgfV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogUGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgaWwgdGVzdG8gZGVsbGEgTGFiZWwgZmxvdHRhbnRlIG1hdGVyaWFsLXN0eWxlICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogQ29udGVzdG8gcGVyIGxhIGZ1bnppb25lIGRpIHJpY2VyY2EgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEZ1bmN0aW9uQ29udGV4dDogYW55O1xyXG5cclxuICAgIC8qKiBGdW56aW9uZSBkaSByaWNlcmNhIGNoZSB2ZXJyw6AgY2hpYW1hdGEgZGFsIGNvbXBvbmVudGUgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEZ1bmN0aW9uOiAoc2VhcmNoOiBzdHJpbmcsIGJ5aWQ6IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpID0+IE9ic2VydmFibGU8eyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXT4gPSBudWxsO1xyXG5cclxuICAgIC8qKiBOdW1lcm8gbWluaW1vIGRpIGNhcmF0dGVyaSBjb24gY3VpIGNlcmNhcmUgKi9cclxuICAgIEBJbnB1dCgpIE1pbkNoYXJzOiBudW1iZXIgPSAzO1xyXG5cclxuICAgIC8qKiBEZWZpbmlzY2UgY2hlIGFkIG9nbmkgc2VsZXppb25lIGRldmUgY2hpdWRlcmUgbGEgdGVuZGluYSAqL1xyXG4gICAgQElucHV0KCkgSGlkZUNob2ljZXNPblNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBkZWwgcGxhY2Vob2xkZXIgcGVyIHNlbGVjdCByZXF1cmllZCAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGkgY29udHJvbGxpIGRldm9ubyBlc3NlcmUgZWZmZXR0dWF0aSB0ZW5lbmRvIGNvbnRvIGRlbCBDYXNlIG8gbWVuby4gVmFsZSBzb2xvIHF1YWxvcmEgbGEgKipTb3VyY2UqKiBmb3NzZSBmb3JuaXRhICovXHJcbiAgICBASW5wdXQoKSBDYXNlU2Vuc2l0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1c2FyZSBsYSBtb2RhbGl0w6AgbXVsdGlzZWxlemlvbmUgbyBubyAqL1xyXG4gICAgQElucHV0KCkgTXVsdGk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHVzYXJlIGxhIG1vZGFsaXTDoCBtdWx0aXNlbGV6aW9uZSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBNdWx0aUVsZW1lbnRzVGhyZXNob2xkOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAvKiogSW5kaWNhIGlsIGZhdHRvIGNoZSBub24gYyfDqCB1bmEgU291cmNlIGRhIGN1aSBzY2VnbGllcmUgKi9cclxuICAgIEBJbnB1dCgpIFVuYm91bmRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWdub3JhcmUgaWwgcHJvc3NpbW8gZXZlbnRvIHdyaXRlVmFsdWUgY2hlIG5vcm1hbG1lbnRlIGRvdnJlYmJlIHJpY2hpZWRlcmUgbGEgbnVvdmEgc291cmNlLiBTZXJ2ZSBwZXIgcXVhbmRvIGwndXRlbnRlIHNlbGV6aW9uYSB1biBlbGVtZW50bzpcclxuICAgICAqIFN1Yml0byBkb3BvIHBhcnRpcmViYmUgdW4gYWx0cm8gZXZlbnRvIG1vZGVsQ2hhbmdlIGNoZSByaWNhcmljaGVyZWJiZSBudW92YW1lbnRlIGxhIHNvdXJjZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlnbm9yZU5leHRXcml0ZVZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIFNvcmdlbnRlIEJpbmRhdGEgRmlsdHJhdGEgaW4gYmFzZSBhbCBjb250ZW51dG8gZGVsbGEgY2FzZWxsYSBkaSB0ZXN0byAqL1xyXG4gICAgcHVibGljIEZpbHRlcmVkQm91bmRTb3VyY2U6IHsgaWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREU6IGJvb2xlYW4pIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24gJiYgIXRoaXMuVW5ib3VuZE1vZGUpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZG9TZWFyY2hQcm90ZWN0ZWQodmFsdWUsIHRydWUsIHRoaXMuU2VhcmNoRnVuY3Rpb25Db250ZXh0LCAodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Tb3VyY2UgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZmluYWxpemVWYWx1ZSh2YWx1ZSk7IH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICB0aGlzLmZpbmFsaXplVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGF0byB1biB2YWxvcmUgdmVyaWZpY2Egc2UgcHXDsiByZXN0aXR1aXJlIGxlIGluZm9ybWF6aW9uaSB0cm92YXRlIGluICoqU291cmNlKiogY29uIGlkIHVndWFsZSBhICoqdmFsdWUqKiBvIHNlIGRldmUgcmVzdGl0dWlyZSBpbCB2YWxvcmUgaW4gc2VcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlIFZhbG9yZSBzY3JpdHRvIG5lbGwnaW5wdXQgZGkgdGVzdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmaW5hbGl6ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB2YXIgdmFsID0gdGhpcy5VbmJvdW5kTW9kZSA/IG51bGwgOiB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHZhbHVlKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWwgPyB2YWwuaWQgOiB2YWx1ZSk7XHJcblxyXG4gICAgICAgIC8vIEFsb3IuLi4gcHJhdGljYW1lbnRlIHF1aSBwb3RyZWJiZXJvIGFycml2YXJlIGRlZ2xpIHN3aXRjaGVyb25pIGluIGN1aSBpbCBNb2RlbCDDqCB1Z3VhbGUgYWxsJ2luaXppbyBlIGFsbGEgZmluZSBkZWxsbyBzdGFjaywgcGVyIHF1YWxjaGUgbW90aXZvXHJcbiAgICAgICAgLy8gcXVpbmRpIHBlciBhc3NpY3VyYXJtaSBjaGUgaWwgdmFsb3JlIHZlbmdhIHByZXNvIGNvcnJldHRhbWVudGUgZmFjY2lvIGlsIGNsYXNzaWNvIG1ldHRpIGEgbnVsbCBwb2kgbWV0dGkgc3VcclxuICAgICAgICAvLyBOb3RhcmUgY2hlIG1ldHRlcmUgaWwgbW9kZWxsbyBhIG51bGwgc2NhdGVuYSBpIHdyaXRldmFsdWUgbWEgdHV0dGkgaSB3cml0ZXZhbHVlIGNoZSBzaSBjb2xsZWdhbyBhIHF1ZXN0byBnaXJvIGRvdnJlYmJlcm8gZXNzZXJlIE5PT1Agc3UgbnVsbFxyXG4gICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gdmFsID8gdmFsLmRlc2NyaXB0aW9uIDogdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFF1YW5kbyB2aWVuZSBzY3JpdHRvIHVuIG51b3ZvIHZhbG9yZSBiaXNvZ25hIGNvbnRyb2xsYXJlIHNlIHBlciBib3R0YSBkaSBjdWxvIGZvc3NlIHVuIGlkLCBpbiB0YWwgY2FzbyBkZXYnZXNzZXJlIHJpZWZmZXR0dWF0byBpbCBiaW5kXHJcbiAgICAgKiBwZXIgbW9zdHJhcmUgc29sbyBsYSBkZXNjcml6aW9uZSBuZWxsJ2F1dG9jb21wbGV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZXZhbHVhdGVJZFJlc2VhcmNoKG9uRmFpbHVyZTogRnVuY3Rpb24pIHtcclxuICAgICAgICBsZXQgdG1wTW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKHRoaXMuVW5ib3VuZE1vZGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKCF0bXBNb2RlbCB8fCAhdGhpcy5TZWFyY2hGdW5jdGlvbikge1xyXG4gICAgICAgICAgICBvbkZhaWx1cmU/LigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBlbnF1ZXVlXCIpO1xyXG4gICAgICAgIHRoaXMudGhyb3R0bGEoXCJmaWx0ZXJzb3VyY2VcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmRvU2VhcmNoUHJvdGVjdGVkKHRtcE1vZGVsLCB0cnVlLCB0aGlzLlNlYXJjaEZ1bmN0aW9uQ29udGV4dCwgKHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0ICYmIHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU291cmNlID0gdDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5maW5hbGl6ZVZhbHVlKHRtcE1vZGVsKTsgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBvbkZhaWx1cmU/LigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCA0MDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIGRpIGZpbHRybyBkZWxsYSBzb3JnZW50ZSBkYXRpIGluIGJhc2UgYWxsJ2lucHV0IHV0ZW50ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnQgSW5wdXQgdXRlbnRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmaWx0ZXJTb3VyY2UoZXZlbnQ6IHN0cmluZykge1xyXG5cclxuICAgICAgICAvLyBDb250b3JsbG8gcHJpbWEgZGkgdHV0dG8gc2Ugw6ggdW4gSUQuIGluIGNhc28gY29udHJhcmlvIGVmZmV0dHVvIGxhIHJpY2VyY2FcclxuICAgICAgICB0aGlzLmV2YWx1YXRlSWRSZXNlYXJjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9GaWx0ZXJTb3VyY2UoZXZlbnQpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgZG9GaWx0ZXJTb3VyY2UoZXZlbnQ6IHN0cmluZyl7XHJcbiAgICAgICAgaWYgKHRoaXMuVW5ib3VuZE1vZGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pZ25vcmVOZXh0V3JpdGVWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBRdWFuZG8gZmlsdHJvIGxhIHNvdXJjZSwgc2Ugbm9uIGRldm8gaWdub3JhcmUgbCdldmVudG8gZGV2byBjb211bnF1ZSBhc3NpY3VyYXJtaSBkaSBpbXBvc3RhcmUgaWwgdmFsb3JlIHNlbGV6aW9uYXRvIGEgbnVsbFxyXG4gICAgICAgIGlmICghdGhpcy5NdWx0aSlcclxuICAgICAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsKTtcclxuXHJcbiAgICAgICAgaWYgKCFldmVudCAmJiB0aGlzLk1pbkNoYXJzID09IDAgJiYgIXRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gdGhpcy5Cb3VuZFNvdXJjZTtcclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghZXZlbnQgfHwgZXZlbnQubGVuZ3RoIDwgdGhpcy5NaW5DaGFycykge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcInNlYXJjaCBldmVudCBpZ25vcmVkOiBcIiArIGV2ZW50KTtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuU2VhcmNoRnVuY3Rpb24gJiYgKCF0aGlzLlNvdXJjZSB8fCB0aGlzLlNvdXJjZS5sZW5ndGggPT0gMCkpXHJcbiAgICAgICAgICAgIHRocm93IFwiSW1wb3NzaWJpbGUgZmlsdHJhcmUgZ2xpIGVsZW1lbnRpIHNlbnphIHVuYSBmdW56aW9uZSBkaSByaWNlcmNhIGNoZSByZXN0aXR1aXNjYSB1bmEgbGlzdGEgZGkgeyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1cIjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2coXCJmaWx0ZXJzb3VyY2UgZW5xdWV1ZVwiKTtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb1NlYXJjaFByb3RlY3RlZChldmVudCwgZmFsc2UsIHRoaXMuU2VhcmNoRnVuY3Rpb25Db250ZXh0LCAodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nKFwiZmlsdGVyc291cmNlIHJlY2VpdmVkIEFQSSByZXNwb25zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvdXJjZSA9IHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlCaW5kU291cmNlRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEluIHF1ZXN0byBjYXNvIMOoIGdpw6AgZmlsdHJhdGEgZGFsbGEgU2VhcmNoRnVuY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRTb3VyY2VPbkRlc2NyaXB0aW9uU2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcImZpbHRlcnNvdXJjZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZyhcImZpbHRlcnNvdXJjZSBmaXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgLy8gSW4gcXVlc3RvIGNhc28gZGV2byBmaWx0cmFyZSBpbyBpbiBtZW1vcmlhXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlLmZpbHRlcih0ID0+ICh0aGlzLkNhc2VTZW5zaXRpdmUgJiYgdC5kZXNjcmlwdGlvbi5pbmNsdWRlcyhldmVudCkpIHx8ICghdGhpcy5DYXNlU2Vuc2l0aXZlICYmIHQuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXJlZFNvdXJjZU9uRGVzY3JpcHRpb25TZWxlY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aW1lciA9IG51bGw7XHJcbiAgICBtYXhDYWxsc1BlclNlY29uZCA9IDQ7XHJcbiAgICBjYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzID0gMDtcclxuXHJcbiAgICAvLyBQZXJtZXR0byBhbCBtYXNzaW1vIDQgY2hpYW1hdGUgb2duaSAzIHNlY29uZGksIHNlIG5lbGwnYXJjbyBkaSAzIHNlY29uZGkgY2kgc29ubyBwacO5IGRpIDQgY2hpYW1hdGUsIGlnbm9ybyBsZSBlY2NlZGVudGlcclxuICAgIHByaXZhdGUgZG9TZWFyY2hQcm90ZWN0ZWQoc2VhcmNoOiBzdHJpbmcsIGJ5aWQ6IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnksIG9uUmVzPzogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZiAoIXRoaXMudGltZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzID0gMDtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xyXG4gICAgICAgICAgICB9LCAzMDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNhbGxzRG9uZVRoaXNUaHJlZVNlY29uZHMgPj0gdGhpcy5tYXhDYWxsc1BlclNlY29uZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZyhcIklnbm9yaW5nIGV4Y2Vzc2l2ZSBjYWxsc1wiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jYWxsc0RvbmVUaGlzVGhyZWVTZWNvbmRzKys7XHJcbiAgICAgICAgdGhpcy5sb2coXCJTZWFyY2ggZnVuY3Rpb24gYmVpbmcgY2FsbGVkLi4uXCIpO1xyXG4gICAgICAgIHRoaXMuU2VhcmNoRnVuY3Rpb24oc2VhcmNoLCBieWlkLCBjb250ZXh0KS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIG9uUmVzKHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHJlbW92ZUZpbHRlcmVkU291cmNlT25EZXNjcmlwdGlvblNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlLmxlbmd0aCA9PSAxICYmICh0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2VbMF0uZGVzY3JpcHRpb24gPT09IHRoaXMuTW9kZWwpICYmICF0aGlzLk11bHRpKSB7XHJcbiAgICAgICAgICAgIGxldCBtb2RlbCA9IHRoaXMuQm91bmRTb3VyY2VbMF0uaWRcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZVswXS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJlZEJvdW5kU291cmNlID0gW107XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmZpbmFsaXplVmFsdWUobW9kZWwpOyB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1NvdXJjZSA9IGNoYW5nZXNbXCJTb3VyY2VcIl07XHJcbiAgICAgICAgaWYgKG5ld1NvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcblxyXG4gICAgICAgICAgICAvLyBQcmltYSBhc3NlZ25hemlvbmUgc2UgY2FtYmlhIGxhIHNvdXJjZSBzb3R0byAocXVpbmRpIHNlIHZpZW5lIGJpbmRhdGEgZGlyZXR0YW1lbnRlIGRhIEhUTUwpXHJcbiAgICAgICAgICAgIGlmICgodGhpcy5Nb2RlbD8ubGVuZ3RoIHx8IDApID49IHRoaXMuTWluQ2hhcnMgJiYgIXRoaXMuU2VhcmNoRnVuY3Rpb24pXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSB0aGlzLkJvdW5kU291cmNlO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZpbHRlcmVkQm91bmRTb3VyY2UgPSBbXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBPdmVycmlkZSBjaGUgbWFyY2EgYW5jaGUgaWwgcHJvc3NpbW8gZXZlbnRvIGRpIGZpbHRlclNvdXJjZSBkYSBpZ25vcmFyZSAqL1xyXG4gICAgY2hhbmdlZChmb3JjZWRWYWx1ZTogYW55ID0gbnVsbCwgbWFya0ZvckNoZWNrOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMuTXVsdGkpXHJcbiAgICAgICAgICAgIHRoaXMuaWdub3JlTmV4dFdyaXRlVmFsdWUgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoZm9yY2VkVmFsdWUgPT0gXCJcIiAmJiB0aGlzLk11bHRpKVxyXG4gICAgICAgICAgICB0aGlzLk1vZGVsID0gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIHNlbGVjdGVkczogc3RyaW5nW10gPSBmb3JjZWRWYWx1ZSA/IFtmb3JjZWRWYWx1ZV0gOiB0aGlzLk1vZGVsID8gKHRoaXMuTW9kZWwuTXVsdGkgPyB0aGlzLk1vZGVsLnNwbGl0KCcsJykgOiBbdGhpcy5Nb2RlbF0pIDogW107XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHNlbGVjdGVkcy5tYXAocyA9PiB0aGlzLkJvdW5kU291cmNlICYmIHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID4gMCA/IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gcyk/LmRlc2NyaXB0aW9uIDogdGhpcy5VbmJvdW5kTW9kZSA/IHMgOiBcIlwiKS5qb2luKCcsICcpO1xyXG5cclxuICAgICAgICBzdXBlci5jaGFuZ2VkKGZvcmNlZFZhbHVlLCBtYXJrRm9yQ2hlY2spO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBvbk5vdE51bGxWYWx1ZVNldCgpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKiogRnVuemlvbmUgZGkgdGhyb3R0bGluZyBwZXIgbm9uIHNwYW1tYXJlIHJpY2hpZXN0ZSBpbiBjYXNvIGRpIGFuaW1hemlvbmkgYXR0aXZhdGVcclxuICAgIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIGV4ZWN1dGlvblRpbWVyczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSB0aHJvdHRsYShpZDogc3RyaW5nLCBmdW5jOiBGdW5jdGlvbiwgdGhyb3R0bGVUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSlcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSk7XHJcblxyXG4gICAgICAgIC8vUmljcmVvIGlsIHRpbWVvdXQgcGVyIGVzZWd1aXJlIHF1ZWxsYSBmdW56aW9uZSBkb3BvIHRocm90dGxlVGltZSBtaWxsaXNlY29uZGlcclxuICAgICAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gICAgfVxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqXHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319e3tMYWJlbCA/IFwiOlwiIDogXCJcIn19PC9sYWJlbD5cclxuICAgIDxzcGFuICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBJbmxpbmVTZXBhcmF0b3IgIT0gJydcIj57e0lubGluZVNlcGFyYXRvcn19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC17e0Rpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtaW5saW5lLWJsb2NrJyA6IElucHV0Q29sV2lkdGh9fVwiPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgIURpc3BsYXlNb2RlVGVtcGxhdGVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9kaXY+XHJcbjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcbjwhLS0gRm9ybS1Nb2RlbDoge3tNb2RlbH19IC0tPlxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cclxuICAgIDx2YWwtYXV0b2NvbXBsZXRlICpuZ0lmPVwiIU11bHRpXCIgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbU2V0VmFsaWRhdGlvblN1YmplY3RdPVwiU2V0VmFsaWRhdGlvblN1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgW3N1Ym1pdHRlZF09XCJGb3JtPy5zdWJtaXR0ZWRcIlxyXG4gICAgICAgICAgICAgICBbUmVhZG9ubHldPVwiUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICBbbGFiZWxdPVwiU2VsZWN0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbaWRdPVwiR2VuZXJhdGVkTmFtZVwiXHJcbiAgICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiZmlsdGVyU291cmNlKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJSZXF1aXJlZCA/ICgoUmVxdWlyZWRQbGFjZWhvbGRlciAhPSBudWxsID8gUmVxdWlyZWRQbGFjZWhvbGRlciA6ICgoJ1NlbGV6aW9uYScgfCBsb2NhbGl6ZSA6IGxjKSArICcuLi4nKSkpIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgIFtGaWx0ZXJlZFNvdXJjZV09XCJGaWx0ZXJlZEJvdW5kU291cmNlXCI+XHJcbiAgICA8L3ZhbC1hdXRvY29tcGxldGU+XHJcblxyXG4gICAgPHZhbC1hdXRvY29tcGxldGUtbXVsdGkgKm5nSWY9XCJNdWx0aVwiIFtGb2N1c1N1YmplY3RdPVwiRm9jdXNTdWJqZWN0XCIgW1NldFZhbGlkYXRpb25TdWJqZWN0XT1cIlNldFZhbGlkYXRpb25TdWJqZWN0XCIgW0ZpZWxkQXBwZWFyZW5jZV09XCJGaWVsZEFwcGVhcmVuY2VcIiBbbm9WYWxpZGF0ZV09XCIhVmFsaWRhdGlvblwiXHJcbiAgICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICAgW1JlYWRvbmx5XT1cIlJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgW2xhYmVsXT1cIlNlbGVjdExhYmVsXCJcclxuICAgICAgICAgICAgICAgW0NoaXBUaHJlc2hvbGRdPVwiTXVsdGlFbGVtZW50c1RocmVzaG9sZFwiXHJcbiAgICAgICAgICAgICAgIFtIaWRlQ2hvaWNlc09uU2VsZWN0aW9uXT1cIkhpZGVDaG9pY2VzT25TZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbaWRdPVwiR2VuZXJhdGVkTmFtZVwiXHJcbiAgICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiZmlsdGVyU291cmNlKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwiZm9jdXNlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpO1wiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJSZXF1aXJlZCA/ICgoUmVxdWlyZWRQbGFjZWhvbGRlciAhPSBudWxsID8gUmVxdWlyZWRQbGFjZWhvbGRlciA6ICgoJ1NlbGV6aW9uYScgfCBsb2NhbGl6ZSA6IGxjKSArICcuLi4nKSkpIDogUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgIFtGaWx0ZXJlZFNvdXJjZV09XCJGaWx0ZXJlZEJvdW5kU291cmNlXCJcclxuICAgICAgICAgICAgICAgW1VuYm91bmRNb2RlXT1cIlVuYm91bmRNb2RlXCI+XHJcblxyXG4gICAgPC92YWwtYXV0b2NvbXBsZXRlLW11bHRpPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -36,10 +36,10 @@ export class FormCheckboxComponent extends BaseFormControl {
36
36
  }
37
37
  /** @ignore */
38
38
  onNotNullValueSet() { }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormCheckboxComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_SLIDER_MODE, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormCheckboxComponent, selector: "form-checkbox", inputs: { SliderMode: "SliderMode" }, usesInheritance: true, ngImport: i0, 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' && InlineSeparator != ''\">{{InlineSeparator}}</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>", 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;position:absolute;border-radius:100px;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.toggler-wrapper .toggler-knob{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% - 22px)}.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:19px;height:19px;border-radius:50%;left:3px;top:3px;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
41
  }
40
- FormCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormCheckboxComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_SLIDER_MODE, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
41
- FormCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormCheckboxComponent, selector: "form-checkbox", inputs: { SliderMode: "SliderMode" }, usesInheritance: true, ngImport: i0, 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' && InlineSeparator != ''\">{{InlineSeparator}}</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>", 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;position:absolute;border-radius:100px;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.toggler-wrapper .toggler-knob{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% - 22px)}.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:19px;height:19px;border-radius:50%;left:3px;top:3px;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormCheckboxComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormCheckboxComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: "form-checkbox", changeDetection: ChangeDetectionStrategy.OnPush, 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' && InlineSeparator != ''\">{{InlineSeparator}}</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>", 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;position:absolute;border-radius:100px;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.toggler-wrapper .toggler-knob{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% - 22px)}.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:19px;height:19px;border-radius:50%;left:3px;top:3px;background-color:#fff}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.NgControl, decorators: [{
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
71
71
  }] }]; }, propDecorators: { SliderMode: [{
72
72
  type: Input
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1jaGVja2JveC9mb3JtLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQVEsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXhHLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFJOUUsNkNBQTZDO0FBTzdDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBS3RELDJCQUEyQjtJQUMzQixZQUFvQixFQUF1QixFQUFFLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQUUsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUErQyxlQUF3QixFQUFzQyxjQUF1QjtRQUN2YSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFEbEUsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBMlMsb0JBQWUsR0FBZixlQUFlLENBQVM7UUFKOVcseURBQXlEO1FBQ2hELGVBQVUsR0FBWSxJQUFJLENBQUM7SUFLcEMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLEdBQVE7UUFDZixHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxpQkFBaUIsS0FBVyxDQUFDOztrSEE5QnBCLHFCQUFxQiwySUFNcUcsYUFBYSxpSEFBbUgsYUFBYSw2QkFBNkMsZUFBZSw2QkFBd0QsY0FBYztzR0FOelkscUJBQXFCLGtIQ25CbEMsaW1HQXFDYzsyRkRsQkQscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBUXVCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUEwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUFzRCxRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFBcUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUh6WSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgU2VsZiwgSG9zdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUsIEZBVl9TTElERVJfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIGNoZWNrYm94ICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCJmb3JtLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogTW9zdHJhIGwnaW5wdXQgY2hlY2tib3ggY29uIGxvIHN0aWxlIGRpIHVubyBzbGlkZXIgKi9cclxuICAgIEBJbnB1dCgpIFNsaWRlck1vZGU6IGJvb2xlYW4gPSBudWxsO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfU0xJREVSX01PREUpIHByaXZhdGUgRkFWX1NMSURFUl9NT0RFOiBib29sZWFuLCBAT3B0aW9uYWwoKSBASW5qZWN0KEZBVl9ERUJVR19NT0RFKSBGQVZfREVCVUdfTU9ERTogYm9vbGVhbikge1xyXG4gICAgICAgIHN1cGVyKGNkciwgbmdDb250cm9sLCBfdmFsaWRhdG9ycywgYWMsIEFwcENvbnRleHQsIEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLlNsaWRlck1vZGUgPT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5TbGlkZXJNb2RlID0gdGhpcy5GQVZfU0xJREVSX01PREU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBvYmogPSBvYmogPyAob2JqID09PSB0cnVlIHx8IG9iai50b0xvd2VyQ2FzZSgpID09IFwidHJ1ZVwiKSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLmxjLmxvYyhvYmogPyAnU8OsJyA6ICdObycpO1xyXG5cclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5sYy5sb2ModGhpcy5Nb2RlbCA/ICdTw6wnIDogJ05vJyk7XHJcbiAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCIgY2xhc3M9XCJhcHAtaW5saW5lLWJsb2NrXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319OjwvbGFiZWw+XHJcbiAgICA8c3BhbiAqbmdJZj1cIkRpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgJiYgSW5saW5lU2VwYXJhdG9yICE9ICcnXCI+e3tJbmxpbmVTZXBhcmF0b3J9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQte3tEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWlubGluZS1ibG9jaycgOiBJbnB1dENvbFdpZHRofX1cIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmICFEaXNwbGF5TW9kZVRlbXBsYXRlXCI+e3sgRXZhbHVhdGVkTW9kZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgW2hpZGRlbl09XCJEaXNwbGF5TW9kZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250cm9sVGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2xpZGVyTW9kZVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInRvZ2dsZXItd3JhcHBlciBzbGlkZXItY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJSZWFkb25seSA/IHRydWUgOiBudWxsXCIgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJNb2RlbFwiIGlkPVwie3tHZW5lcmF0ZWROYW1lfX1cIiBuYW1lPVwie3tHZW5lcmF0ZWROYW1lfX1cIiAjdmFsaWRhdGlvbkNvbnRyb2w9XCJuZ01vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpOyBmaW5hbGl6ZWQoKVwiIChjbGljayk9XCJmb2N1c2VkKCRldmVudClcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVyLXNsaWRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVyLWtub2JcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhU2xpZGVyTW9kZVwiPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImFwcC1wb2ludGVyXCIgW2Rpc2FibGVkXT1cIlJlYWRvbmx5ID8gdHJ1ZSA6IG51bGxcIiB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cIk1vZGVsXCIgaWQ9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKCk7IGZpbmFsaXplZCgpXCIgKGNsaWNrKT1cImZvY3VzZWQoJGV2ZW50KVwiLz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1jaGVja2JveC9mb3JtLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQVEsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXhHLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFJOUUsNkNBQTZDO0FBTzdDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBS3RELDJCQUEyQjtJQUMzQixZQUFvQixFQUF1QixFQUFFLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQUUsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUErQyxlQUF3QixFQUFzQyxjQUF1QjtRQUN2YSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFEbEUsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBMlMsb0JBQWUsR0FBZixlQUFlLENBQVM7UUFKOVcseURBQXlEO1FBQ2hELGVBQVUsR0FBWSxJQUFJLENBQUM7SUFLcEMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLEdBQVE7UUFDZixHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxpQkFBaUIsS0FBVyxDQUFDOytHQTlCcEIscUJBQXFCLDJJQU1xRyxhQUFhLGlIQUFtSCxhQUFhLDZCQUE2QyxlQUFlLDZCQUF3RCxjQUFjO21HQU56WSxxQkFBcUIsa0hDbkJsQyxpbUdBcUNjOzs0RkRsQkQscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBUXVCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUEwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUFzRCxRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFBcUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUh6WSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgU2VsZiwgSG9zdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sJztcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUsIEZBVl9TTElERVJfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIGNoZWNrYm94ICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCJmb3JtLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogTW9zdHJhIGwnaW5wdXQgY2hlY2tib3ggY29uIGxvIHN0aWxlIGRpIHVubyBzbGlkZXIgKi9cclxuICAgIEBJbnB1dCgpIFNsaWRlck1vZGU6IGJvb2xlYW4gPSBudWxsO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfU0xJREVSX01PREUpIHByaXZhdGUgRkFWX1NMSURFUl9NT0RFOiBib29sZWFuLCBAT3B0aW9uYWwoKSBASW5qZWN0KEZBVl9ERUJVR19NT0RFKSBGQVZfREVCVUdfTU9ERTogYm9vbGVhbikge1xyXG4gICAgICAgIHN1cGVyKGNkciwgbmdDb250cm9sLCBfdmFsaWRhdG9ycywgYWMsIEFwcENvbnRleHQsIEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLlNsaWRlck1vZGUgPT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5TbGlkZXJNb2RlID0gdGhpcy5GQVZfU0xJREVSX01PREU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBvYmogPSBvYmogPyAob2JqID09PSB0cnVlIHx8IG9iai50b0xvd2VyQ2FzZSgpID09IFwidHJ1ZVwiKSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLmxjLmxvYyhvYmogPyAnU8OsJyA6ICdObycpO1xyXG5cclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5sYy5sb2ModGhpcy5Nb2RlbCA/ICdTw6wnIDogJ05vJyk7XHJcbiAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCIgY2xhc3M9XCJhcHAtaW5saW5lLWJsb2NrXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319OjwvbGFiZWw+XHJcbiAgICA8c3BhbiAqbmdJZj1cIkRpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgJiYgSW5saW5lU2VwYXJhdG9yICE9ICcnXCI+e3tJbmxpbmVTZXBhcmF0b3J9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQte3tEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWlubGluZS1ibG9jaycgOiBJbnB1dENvbFdpZHRofX1cIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmICFEaXNwbGF5TW9kZVRlbXBsYXRlXCI+e3sgRXZhbHVhdGVkTW9kZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgW2hpZGRlbl09XCJEaXNwbGF5TW9kZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250cm9sVGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2xpZGVyTW9kZVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInRvZ2dsZXItd3JhcHBlciBzbGlkZXItY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJSZWFkb25seSA/IHRydWUgOiBudWxsXCIgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJNb2RlbFwiIGlkPVwie3tHZW5lcmF0ZWROYW1lfX1cIiBuYW1lPVwie3tHZW5lcmF0ZWROYW1lfX1cIiAjdmFsaWRhdGlvbkNvbnRyb2w9XCJuZ01vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpOyBmaW5hbGl6ZWQoKVwiIChjbGljayk9XCJmb2N1c2VkKCRldmVudClcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVyLXNsaWRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVyLWtub2JcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhU2xpZGVyTW9kZVwiPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImFwcC1wb2ludGVyXCIgW2Rpc2FibGVkXT1cIlJlYWRvbmx5ID8gdHJ1ZSA6IG51bGxcIiB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cIk1vZGVsXCIgaWQ9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiICN2YWxpZGF0aW9uQ29udHJvbD1cIm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKCk7IGZpbmFsaXplZCgpXCIgKGNsaWNrKT1cImZvY3VzZWQoJGV2ZW50KVwiLz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -34,10 +34,10 @@ export class FormDateComponent extends BaseFormControl {
34
34
  }
35
35
  /** @ignore */
36
36
  onNotNullValueSet() { }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormDateComponent, deps: [{ token: i1.DateService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormDateComponent, selector: "form-date", inputs: { JsDates: "JsDates" }, usesInheritance: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-date [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [id]=\"GeneratedName\"\r\n [Readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-date>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationDateComponent, selector: "val-date", inputs: ["useJsDates"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
39
  }
38
- FormDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormDateComponent, deps: [{ token: i1.DateService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
39
- FormDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormDateComponent, selector: "form-date", inputs: { JsDates: "JsDates" }, usesInheritance: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-date [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [id]=\"GeneratedName\"\r\n [Readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-date>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationDateComponent, selector: "val-date", inputs: ["useJsDates"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormDateComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormDateComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: "form-date", changeDetection: ChangeDetectionStrategy.OnPush, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-date [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [id]=\"GeneratedName\"\r\n [Readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-date>\r\n</ng-template>" }]
43
43
  }], ctorParameters: function () { return [{ type: i1.DateService }, { type: i0.ChangeDetectorRef }, { type: i2.NgControl, decorators: [{
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
66
66
  }] }]; }, propDecorators: { JsDates: [{
67
67
  type: Input
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zL2Zvcm0tZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUF3QixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBR3ZELDBFQUEwRTtBQU0xRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUtsRCwyQkFBMkI7SUFDM0IsWUFBb0IsU0FBc0IsRUFBRSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUIsRUFBc0MsY0FBdUI7UUFDM1csS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRGxFLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFKMUMsd0hBQXdIO1FBQy9HLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLbEMsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpHLHVJQUF1STtRQUN2SSxJQUFJLG1CQUFtQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQTtZQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7OzhHQTNCcEIsaUJBQWlCLG1JQU13RyxhQUFhLGlJQUErSCxhQUFhLDZCQUE2QyxjQUFjO2tHQU43VSxpQkFBaUIsd0dDbkI5Qixzb0dBMENjOzJGRHZCRCxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNOzswQkFRc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUg3VSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBkw6AgYWxsJ3V0ZW50ZSBsYSBwb3NzaWJpbGl0w6AgZGkgc2VsZXppb25hcmUgdW5hIGRhdGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLWRhdGVcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tZGF0ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EYXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIC8qKiBVdGlsaXp6YSBpbCBEYXRlIGRpIEphdmFzY3JpcHQgY29tZSBtb2RlbGxvIGluIHVzY2l0YS4gSWwgbW9kZWxsbyBpbiBlbnRyYXRhIHZlcnLDoCBjb211bnF1ZSByaWNvbmRvdHRvIGEgdW4gRGF5SnMgKi9cclxuICAgIEBJbnB1dCgpIEpzRGF0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZXNFeHRzOiBEYXRlU2VydmljZSwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREU6IGJvb2xlYW4pIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5kYXRlc0V4dHMuZ2V0Rm9ybWF0dGVkKG9iaiwgdHJ1ZSwgZmFsc2UpO1xyXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBuZXdseUV2YWx1YXRlZE1vZGVsID0gdGhpcy5Nb2RlbCA/IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZCh0aGlzLk1vZGVsLCB0cnVlLCBmYWxzZSkgOiAnJztcclxuXHJcbiAgICAgICAgLy8gRXZpdG8gY2hlIGwnaW5wdXRDaGFuZ2UgbGF0byBodG1sIG1pIGZhY2NpYSBzcGFyYXJlIGZ1b3JpIGRhaSBjaGFuZ2VkIGZpbnRpLiBMJ2lucHV0IGNhbWJpYSBzb2xvIHF1YW5kbyBjYW1iaWEgaWwgbW9kZWxsbyBwcmVzZW50YXRvXHJcbiAgICAgICAgaWYgKG5ld2x5RXZhbHVhdGVkTW9kZWwgIT0gdGhpcy5FdmFsdWF0ZWRNb2RlbCkge1xyXG4gICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gbmV3bHlFdmFsdWF0ZWRNb2RlbFxyXG4gICAgICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwsIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319e3tMYWJlbCA/IFwiOlwiIDogXCJcIn19PC9sYWJlbD5cclxuICAgIDxzcGFuICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBJbmxpbmVTZXBhcmF0b3IgIT0gJydcIj57e0lubGluZVNlcGFyYXRvcn19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC17e0Rpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtaW5saW5lLWJsb2NrJyA6IElucHV0Q29sV2lkdGh9fVwiPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgIURpc3BsYXlNb2RlVGVtcGxhdGVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9kaXY+XHJcbjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cclxuICAgIDx2YWwtZGF0ZSBbRm9jdXNTdWJqZWN0XT1cIkZvY3VzU3ViamVjdFwiIFtTZXRWYWxpZGF0aW9uU3ViamVjdF09XCJTZXRWYWxpZGF0aW9uU3ViamVjdFwiIFtGaWVsZEFwcGVhcmVuY2VdPVwiRmllbGRBcHBlYXJlbmNlXCIgW25vVmFsaWRhdGVdPVwiIVZhbGlkYXRpb25cIlxyXG4gICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICBbZm9yY2VJbnZhbGlkXT1cIkZvcmNlZEVycm9yXCIgXHJcbiAgICAgICAgICAgICAgW0Zsb2F0aW5nTGFiZWxdPVwiRmxvYXRpbmdMYWJlbFwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIkdlbmVyYXRlZE5hbWVcIlxyXG4gICAgICAgICAgICAgIFtSZWFkb25seV09XCJSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIlJlYWRvbmx5ID8gJ2FwcC1iZy1saWdodGdyZXknIDogJydcIlxyXG4gICAgICAgICAgICAgIFt1c2VKc0RhdGVzXT1cIkpzRGF0ZXNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgI3ZhbGlkYXRpb25Db250cm9sPVwibmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cImNoYW5nZWQoKTtcIlxyXG4gICAgICAgICAgICAgIChpbnB1dEZvY3VzKT1cImZvY3VzZWQoJGV2ZW50KTtcIlxyXG4gICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiPlxyXG4gICAgPC92YWwtZGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zL2Zvcm0tZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUF3QixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBR3ZELDBFQUEwRTtBQU0xRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUtsRCwyQkFBMkI7SUFDM0IsWUFBb0IsU0FBc0IsRUFBRSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBcUIsRUFBc0MsY0FBdUI7UUFDM1csS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRGxFLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFKMUMsd0hBQXdIO1FBQy9HLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLbEMsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpHLHVJQUF1STtRQUN2SSxJQUFJLG1CQUFtQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQTtZQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7K0dBM0JwQixpQkFBaUIsbUlBTXdHLGFBQWEsaUlBQStILGFBQWEsNkJBQTZDLGNBQWM7bUdBTjdVLGlCQUFpQix3R0NuQjlCLHNvR0EwQ2M7OzRGRHZCRCxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNOzswQkFRc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUg3VSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBkw6AgYWxsJ3V0ZW50ZSBsYSBwb3NzaWJpbGl0w6AgZGkgc2VsZXppb25hcmUgdW5hIGRhdGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLWRhdGVcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tZGF0ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EYXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIC8qKiBVdGlsaXp6YSBpbCBEYXRlIGRpIEphdmFzY3JpcHQgY29tZSBtb2RlbGxvIGluIHVzY2l0YS4gSWwgbW9kZWxsbyBpbiBlbnRyYXRhIHZlcnLDoCBjb211bnF1ZSByaWNvbmRvdHRvIGEgdW4gRGF5SnMgKi9cclxuICAgIEBJbnB1dCgpIEpzRGF0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZXNFeHRzOiBEYXRlU2VydmljZSwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREU6IGJvb2xlYW4pIHtcclxuICAgICAgICBzdXBlcihjZHIsIG5nQ29udHJvbCwgX3ZhbGlkYXRvcnMsIGFjLCBBcHBDb250ZXh0LCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5kYXRlc0V4dHMuZ2V0Rm9ybWF0dGVkKG9iaiwgdHJ1ZSwgZmFsc2UpO1xyXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBuZXdseUV2YWx1YXRlZE1vZGVsID0gdGhpcy5Nb2RlbCA/IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZCh0aGlzLk1vZGVsLCB0cnVlLCBmYWxzZSkgOiAnJztcclxuXHJcbiAgICAgICAgLy8gRXZpdG8gY2hlIGwnaW5wdXRDaGFuZ2UgbGF0byBodG1sIG1pIGZhY2NpYSBzcGFyYXJlIGZ1b3JpIGRhaSBjaGFuZ2VkIGZpbnRpLiBMJ2lucHV0IGNhbWJpYSBzb2xvIHF1YW5kbyBjYW1iaWEgaWwgbW9kZWxsbyBwcmVzZW50YXRvXHJcbiAgICAgICAgaWYgKG5ld2x5RXZhbHVhdGVkTW9kZWwgIT0gdGhpcy5FdmFsdWF0ZWRNb2RlbCkge1xyXG4gICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gbmV3bHlFdmFsdWF0ZWRNb2RlbFxyXG4gICAgICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwsIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG9uTm90TnVsbFZhbHVlU2V0KCk6IHZvaWQgeyB9XHJcbn0iLCI8IS0tIFVndWFsZSBpbiB0dXR0aSBpIGNvbXBvbmVudGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIUZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TGF5b3V0ID09ICdmb3JtJ1wiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2lubGluZSdcIiBjbGFzcz1cImFwcC1pbmxpbmVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheU1vZGVUZW1wbGF0ZVwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJEaXNwbGF5TW9kZVRlbXBsYXRlLCBjb250ZXh0OiB7ICRpbXBsaWNpdDogRXZhbHVhdGVkTW9kZWwgfVwiPjwvbmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgKm5nSWY9XCJGb3JtTGF5b3V0ICYmICghRGlzcGxheU1vZGUgfHwgKERpc3BsYXlMYXlvdXQgIT0gJ2hpZGRlbicgJiYgRGlzcGxheUNvbmRpdGlvbikpXCIgY2xhc3M9XCJ7e0Zvcm1Hcm91cENsYXNzICsgKExhc3QgPyAnIGFwcC1tYXJnaW4tYm90dG9tLTAgYXBwLW1hcmdpbi1yaWdodC0wICcgOiAnJykgKyAoRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBEaXNwbGF5TW9kZSA/ICgnIGFwcC1pbmxpbmUtYmxvY2sgJyArICghTGFzdCA/ICdhcHAtbWFyZ2luLXJpZ2h0LTEwJyA6ICcnKSkgOiAnIGZvcm0tZ3JvdXAgcm93Jyl9fVwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC17eyhEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnID8gJ25vbmUgYXBwLWJvbGQgYXBwLW1hcmdpbi1ib3R0b20tMCcgOiBMYWJlbENvbFdpZHRoKSArIChEaXNwbGF5TW9kZSA/ICcgYXBwLWJvbGQnIDogJyBtLXQtNScpIH19XCI+e3tMYWJlbH19e3tSZXF1aXJlZCAmJiAhRGlzcGxheU1vZGUgPyAnKicgOiAnJ319e3tMYWJlbCA/IFwiOlwiIDogXCJcIn19PC9sYWJlbD5cclxuICAgIDxzcGFuICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyAmJiBJbmxpbmVTZXBhcmF0b3IgIT0gJydcIj57e0lubGluZVNlcGFyYXRvcn19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC17e0Rpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtaW5saW5lLWJsb2NrJyA6IElucHV0Q29sV2lkdGh9fVwiPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRGlzcGxheU1vZGUgJiYgIURpc3BsYXlNb2RlVGVtcGxhdGVcIj57eyBFdmFsdWF0ZWRNb2RlbCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIkRpc3BsYXlNb2RlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9kaXY+XHJcbjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wbGF0ZT5cclxuICAgIDx2YWwtZGF0ZSBbRm9jdXNTdWJqZWN0XT1cIkZvY3VzU3ViamVjdFwiIFtTZXRWYWxpZGF0aW9uU3ViamVjdF09XCJTZXRWYWxpZGF0aW9uU3ViamVjdFwiIFtGaWVsZEFwcGVhcmVuY2VdPVwiRmllbGRBcHBlYXJlbmNlXCIgW25vVmFsaWRhdGVdPVwiIVZhbGlkYXRpb25cIlxyXG4gICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICBbZm9yY2VJbnZhbGlkXT1cIkZvcmNlZEVycm9yXCIgXHJcbiAgICAgICAgICAgICAgW0Zsb2F0aW5nTGFiZWxdPVwiRmxvYXRpbmdMYWJlbFwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIkdlbmVyYXRlZE5hbWVcIlxyXG4gICAgICAgICAgICAgIFtSZWFkb25seV09XCJSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIlJlYWRvbmx5ID8gJ2FwcC1iZy1saWdodGdyZXknIDogJydcIlxyXG4gICAgICAgICAgICAgIFt1c2VKc0RhdGVzXT1cIkpzRGF0ZXNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiTW9kZWxcIlxyXG4gICAgICAgICAgICAgIG5hbWU9XCJ7e0dlbmVyYXRlZE5hbWV9fVwiXHJcbiAgICAgICAgICAgICAgI3ZhbGlkYXRpb25Db250cm9sPVwibmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cImNoYW5nZWQoKTtcIlxyXG4gICAgICAgICAgICAgIChpbnB1dEZvY3VzKT1cImZvY3VzZWQoJGV2ZW50KTtcIlxyXG4gICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsaWRhdGlvbkZhaWxlZF09XCJGYWlsZWRWYWxpZGF0aW9uTWVzc2FnZVwiPlxyXG4gICAgPC92YWwtZGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -32,10 +32,10 @@ export class FormDateTimeComponent extends BaseFormControl {
32
32
  }
33
33
  /** @ignore */
34
34
  onNotNullValueSet() { }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormDateTimeComponent, deps: [{ token: i1.DateService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormDateTimeComponent, selector: "form-datetime", inputs: { JsDates: "JsDates" }, usesInheritance: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-datetime [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [Readonly]=\"Readonly\"\r\n [id]=\"GeneratedName\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-datetime>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationDateTimeComponent, selector: "val-datetime", inputs: ["useJsDates"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
37
  }
36
- FormDateTimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormDateTimeComponent, deps: [{ token: i1.DateService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }, { token: NG_VALIDATORS, optional: true }, { token: i3.AccessControlService, optional: true }, { token: i3.ComponentContext, optional: true }, { token: ACO_CUSTOMKEY, optional: true }, { token: FAV_DEBUG_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
37
- FormDateTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormDateTimeComponent, selector: "form-datetime", inputs: { JsDates: "JsDates" }, usesInheritance: true, ngImport: i0, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-datetime [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [Readonly]=\"Readonly\"\r\n [id]=\"GeneratedName\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-datetime>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ValidationDateTimeComponent, selector: "val-datetime", inputs: ["useJsDates"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormDateTimeComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormDateTimeComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: "form-datetime", changeDetection: ChangeDetectionStrategy.OnPush, 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 ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</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-datetime [FocusSubject]=\"FocusSubject\" [SetValidationSubject]=\"SetValidationSubject\" [FieldAppearence]=\"FieldAppearence\" [noValidate]=\"!Validation\"\r\n [submitted]=\"Form?.submitted\"\r\n [forceInvalid]=\"ForcedError\" \r\n [FloatingLabel]=\"FloatingLabel\"\r\n [Readonly]=\"Readonly\"\r\n [id]=\"GeneratedName\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey' : ''\"\r\n [useJsDates]=\"JsDates\"\r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\"\r\n #validationControl=\"ngModel\"\r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\">\r\n </val-datetime>\r\n</ng-template>" }]
41
41
  }], ctorParameters: function () { return [{ type: i1.DateService }, { type: i0.ChangeDetectorRef }, { type: i2.NgControl, decorators: [{
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
64
64
  }] }]; }, propDecorators: { JsDates: [{
65
65
  type: Input
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWRhdGV0aW1lL2Zvcm0tZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1kYXRldGltZS9mb3JtLWRhdGV0aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVEsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFHdkQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUt0RCwyQkFBMkI7SUFDM0IsWUFBb0IsU0FBc0IsRUFBRSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBc0IsRUFBc0MsY0FBd0I7UUFDN1csS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRGxFLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFKMUMsd0hBQXdIO1FBQy9HLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLbEMsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdGLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7O2tIQXRCcEIscUJBQXFCLG1JQU1vRyxhQUFhLGlJQUErSCxhQUFhLDZCQUE4QyxjQUFjO3NHQU45VSxxQkFBcUIsNEdDckJsQywwdEdBMENjOzJGRHJCRCxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksZUFBZSxtQkFFUix1QkFBdUIsQ0FBQyxNQUFNOzswQkFRc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUg5VSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGNoZSBkw6AgYWxsJ3V0ZW50ZSBsYSBwb3NzaWJpbGl0w6AgZGkgc2VsZXppb25hcmUgdW5hIGRhdGEgaW5zaWVtZSBhZCB1biBvcmFyaW9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1kYXRldGltZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1kYXRldGltZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EYXRlVGltZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIFxyXG4gICAgLyoqIFV0aWxpenphIGlsIERhdGUgZGkgSmF2YXNjcmlwdCBjb21lIG1vZGVsbG8gaW4gdXNjaXRhLiBJbCBtb2RlbGxvIGluIGVudHJhdGEgdmVycsOgIGNvbXVucXVlIHJpY29uZG90dG8gYSB1biBEYXlKcyAqL1xyXG4gICAgQElucHV0KCkgSnNEYXRlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlc0V4dHM6IERhdGVTZXJ2aWNlLCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWSA6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZChvYmosIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Nb2RlbCA/IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZCh0aGlzLk1vZGVsLCBmYWxzZSwgdHJ1ZSkgOiAnJztcclxuICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSIsIjwhLS0gVWd1YWxlIGluIHR1dHRpIGkgY29tcG9uZW50aSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhRm9ybUxheW91dCAmJiAoIURpc3BsYXlNb2RlIHx8IChEaXNwbGF5TGF5b3V0ICE9ICdoaWRkZW4nICYmIERpc3BsYXlDb25kaXRpb24pKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmICFEaXNwbGF5TW9kZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2Zvcm0nXCI+e3sgRXZhbHVhdGVkTW9kZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiRGlzcGxheUxheW91dCA9PSAnaW5saW5lJ1wiIGNsYXNzPVwiYXBwLWlubGluZVwiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IFtoaWRkZW5dPVwiRGlzcGxheU1vZGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiAqbmdJZj1cIkZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIiBjbGFzcz1cInt7Rm9ybUdyb3VwQ2xhc3MgKyAoTGFzdCA/ICcgYXBwLW1hcmdpbi1ib3R0b20tMCBhcHAtbWFyZ2luLXJpZ2h0LTAgJyA6ICcnKSArIChEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnICYmIERpc3BsYXlNb2RlID8gKCcgYXBwLWlubGluZS1ibG9jayAnICsgKCFMYXN0ID8gJ2FwcC1tYXJnaW4tcmlnaHQtMTAnIDogJycpKSA6ICcgZm9ybS1ncm91cCByb3cnKX19XCI+XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLXt7KERpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtYm9sZCBhcHAtbWFyZ2luLWJvdHRvbS0wJyA6IExhYmVsQ29sV2lkdGgpICsgKERpc3BsYXlNb2RlID8gJyBhcHAtYm9sZCcgOiAnIG0tdC01JykgfX1cIj57e0xhYmVsfX17e1JlcXVpcmVkICYmICFEaXNwbGF5TW9kZSA/ICcqJyA6ICcnfX17e0xhYmVsID8gXCI6XCIgOiBcIlwifX08L2xhYmVsPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnICYmIElubGluZVNlcGFyYXRvciAhPSAnJ1wiPnt7SW5saW5lU2VwYXJhdG9yfX08L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLXt7RGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyA/ICdub25lIGFwcC1pbmxpbmUtYmxvY2snIDogSW5wdXRDb2xXaWR0aH19XCI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmIERpc3BsYXlNb2RlVGVtcGxhdGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiRGlzcGxheU1vZGVUZW1wbGF0ZSwgY29udGV4dDogeyAkaW1wbGljaXQ6IEV2YWx1YXRlZE1vZGVsIH1cIj48L25nLWNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IFtoaWRkZW5dPVwiRGlzcGxheU1vZGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udHJvbFRlbXBsYXRlPlxyXG4gICAgPHZhbC1kYXRldGltZSAgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbU2V0VmFsaWRhdGlvblN1YmplY3RdPVwiU2V0VmFsaWRhdGlvblN1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICAgICAgIFtmb3JjZUludmFsaWRdPVwiRm9yY2VkRXJyb3JcIiBcclxuICAgICAgICAgICAgICAgICAgIFtGbG9hdGluZ0xhYmVsXT1cIkZsb2F0aW5nTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgW1JlYWRvbmx5XT1cIlJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJHZW5lcmF0ZWROYW1lXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJSZWFkb25seSA/ICdhcHAtYmctbGlnaHRncmV5JyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgIFt1c2VKc0RhdGVzXT1cIkpzRGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBuYW1lPVwie3tHZW5lcmF0ZWROYW1lfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgI3ZhbGlkYXRpb25Db250cm9sPVwibmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiY2hhbmdlZCgpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXRGb2N1cyk9XCJmb2N1c2VkKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgW3ZhbGlkYXRpb25GYWlsZWRdPVwiRmFpbGVkVmFsaWRhdGlvbk1lc3NhZ2VcIj5cclxuICAgIDwvdmFsLWRhdGV0aW1lPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWRhdGV0aW1lL2Zvcm0tZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1kYXRldGltZS9mb3JtLWRhdGV0aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVEsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFHdkQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUt0RCwyQkFBMkI7SUFDM0IsWUFBb0IsU0FBc0IsRUFBRSxHQUFzQixFQUFzQixTQUFvQixFQUFxQyxXQUF1QixFQUFjLEVBQXdCLEVBQWMsVUFBNEIsRUFBcUMsYUFBc0IsRUFBc0MsY0FBd0I7UUFDN1csS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRGxFLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFKMUMsd0hBQXdIO1FBQy9HLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLbEMsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdGLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7K0dBdEJwQixxQkFBcUIsbUlBTW9HLGFBQWEsaUlBQStILGFBQWEsNkJBQThDLGNBQWM7bUdBTjlVLHFCQUFxQiw0R0NyQmxDLDB0R0EwQ2M7OzRGRHJCRCxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksZUFBZSxtQkFFUix1QkFBdUIsQ0FBQyxNQUFNOzswQkFRc0IsUUFBUTs7MEJBQUksSUFBSTs7MEJBQTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQTRCLFFBQVE7OzBCQUE4QixRQUFROzswQkFBa0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFBMkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQUg5VSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGNoZSBkw6AgYWxsJ3V0ZW50ZSBsYSBwb3NzaWJpbGl0w6AgZGkgc2VsZXppb25hcmUgdW5hIGRhdGEgaW5zaWVtZSBhZCB1biBvcmFyaW9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1kYXRldGltZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1kYXRldGltZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EYXRlVGltZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIFxyXG4gICAgLyoqIFV0aWxpenphIGlsIERhdGUgZGkgSmF2YXNjcmlwdCBjb21lIG1vZGVsbG8gaW4gdXNjaXRhLiBJbCBtb2RlbGxvIGluIGVudHJhdGEgdmVycsOgIGNvbXVucXVlIHJpY29uZG90dG8gYSB1biBEYXlKcyAqL1xyXG4gICAgQElucHV0KCkgSnNEYXRlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlc0V4dHM6IERhdGVTZXJ2aWNlLCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLCBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBAT3B0aW9uYWwoKSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWSA6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZChvYmosIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Nb2RlbCA/IHRoaXMuZGF0ZXNFeHRzLmdldEZvcm1hdHRlZCh0aGlzLk1vZGVsLCBmYWxzZSwgdHJ1ZSkgOiAnJztcclxuICAgICAgICBzdXBlci5jaGFuZ2VkKG51bGwsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSIsIjwhLS0gVWd1YWxlIGluIHR1dHRpIGkgY29tcG9uZW50aSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhRm9ybUxheW91dCAmJiAoIURpc3BsYXlNb2RlIHx8IChEaXNwbGF5TGF5b3V0ICE9ICdoaWRkZW4nICYmIERpc3BsYXlDb25kaXRpb24pKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmICFEaXNwbGF5TW9kZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlMYXlvdXQgPT0gJ2Zvcm0nXCI+e3sgRXZhbHVhdGVkTW9kZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiRGlzcGxheUxheW91dCA9PSAnaW5saW5lJ1wiIGNsYXNzPVwiYXBwLWlubGluZVwiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TW9kZVRlbXBsYXRlXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRpc3BsYXlNb2RlVGVtcGxhdGUsIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBFdmFsdWF0ZWRNb2RlbCB9XCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IFtoaWRkZW5dPVwiRGlzcGxheU1vZGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiAqbmdJZj1cIkZvcm1MYXlvdXQgJiYgKCFEaXNwbGF5TW9kZSB8fCAoRGlzcGxheUxheW91dCAhPSAnaGlkZGVuJyAmJiBEaXNwbGF5Q29uZGl0aW9uKSlcIiBjbGFzcz1cInt7Rm9ybUdyb3VwQ2xhc3MgKyAoTGFzdCA/ICcgYXBwLW1hcmdpbi1ib3R0b20tMCBhcHAtbWFyZ2luLXJpZ2h0LTAgJyA6ICcnKSArIChEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnICYmIERpc3BsYXlNb2RlID8gKCcgYXBwLWlubGluZS1ibG9jayAnICsgKCFMYXN0ID8gJ2FwcC1tYXJnaW4tcmlnaHQtMTAnIDogJycpKSA6ICcgZm9ybS1ncm91cCByb3cnKX19XCI+XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLXt7KERpc3BsYXlNb2RlICYmIERpc3BsYXlMYXlvdXQgPT0gJ2lubGluZScgPyAnbm9uZSBhcHAtYm9sZCBhcHAtbWFyZ2luLWJvdHRvbS0wJyA6IExhYmVsQ29sV2lkdGgpICsgKERpc3BsYXlNb2RlID8gJyBhcHAtYm9sZCcgOiAnIG0tdC01JykgfX1cIj57e0xhYmVsfX17e1JlcXVpcmVkICYmICFEaXNwbGF5TW9kZSA/ICcqJyA6ICcnfX17e0xhYmVsID8gXCI6XCIgOiBcIlwifX08L2xhYmVsPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiBEaXNwbGF5TGF5b3V0ID09ICdpbmxpbmUnICYmIElubGluZVNlcGFyYXRvciAhPSAnJ1wiPnt7SW5saW5lU2VwYXJhdG9yfX08L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLXt7RGlzcGxheU1vZGUgJiYgRGlzcGxheUxheW91dCA9PSAnaW5saW5lJyA/ICdub25lIGFwcC1pbmxpbmUtYmxvY2snIDogSW5wdXRDb2xXaWR0aH19XCI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEaXNwbGF5TW9kZSAmJiAhRGlzcGxheU1vZGVUZW1wbGF0ZVwiPnt7IEV2YWx1YXRlZE1vZGVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkRpc3BsYXlNb2RlICYmIERpc3BsYXlNb2RlVGVtcGxhdGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiRGlzcGxheU1vZGVUZW1wbGF0ZSwgY29udGV4dDogeyAkaW1wbGljaXQ6IEV2YWx1YXRlZE1vZGVsIH1cIj48L25nLWNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IFtoaWRkZW5dPVwiRGlzcGxheU1vZGVcIj48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udHJvbFRlbXBsYXRlPlxyXG4gICAgPHZhbC1kYXRldGltZSAgW0ZvY3VzU3ViamVjdF09XCJGb2N1c1N1YmplY3RcIiBbU2V0VmFsaWRhdGlvblN1YmplY3RdPVwiU2V0VmFsaWRhdGlvblN1YmplY3RcIiBbRmllbGRBcHBlYXJlbmNlXT1cIkZpZWxkQXBwZWFyZW5jZVwiIFtub1ZhbGlkYXRlXT1cIiFWYWxpZGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIFtzdWJtaXR0ZWRdPVwiRm9ybT8uc3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICAgICAgIFtmb3JjZUludmFsaWRdPVwiRm9yY2VkRXJyb3JcIiBcclxuICAgICAgICAgICAgICAgICAgIFtGbG9hdGluZ0xhYmVsXT1cIkZsb2F0aW5nTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgW1JlYWRvbmx5XT1cIlJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJHZW5lcmF0ZWROYW1lXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJSZWFkb25seSA/ICdhcHAtYmctbGlnaHRncmV5JyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgIFt1c2VKc0RhdGVzXT1cIkpzRGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBuYW1lPVwie3tHZW5lcmF0ZWROYW1lfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgI3ZhbGlkYXRpb25Db250cm9sPVwibmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiY2hhbmdlZCgpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXRGb2N1cyk9XCJmb2N1c2VkKCRldmVudCk7XCJcclxuICAgICAgICAgICAgICAgICAgIChpbnB1dEZpbmFsaXplZCk9XCJmaW5hbGl6ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgW3ZhbGlkYXRpb25GYWlsZWRdPVwiRmFpbGVkVmFsaWRhdGlvbk1lc3NhZ2VcIj5cclxuICAgIDwvdmFsLWRhdGV0aW1lPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -16,10 +16,10 @@ export class FormEmptyComponent {
16
16
  /** Valore placeholder da mostrare */
17
17
  this.PlaceholderModel = "Placeholder";
18
18
  }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormEmptyComponent, selector: "form-empty", inputs: { Last: "Last", FormGroupClass: "FormGroupClass" }, ngImport: i0, template: "<div class=\"form-group row app-hidden-view {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-4 m-t-5\">Placeholder:</label>\r\n <div class=\"col-md-8\">\r\n <val-input type=\"text\" [(ngModel)]=\"PlaceholderModel\" [ngModelOptions]=\"{standalone: true}\"></val-input>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ValidationInputComponent, selector: "val-input", inputs: ["Frozen", "Password", "showWarning", "warningTitle", "warningClass", "value", "Type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
21
  }
20
- FormEmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- FormEmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormEmptyComponent, selector: "form-empty", inputs: { Last: "Last", FormGroupClass: "FormGroupClass" }, ngImport: i0, template: "<div class=\"form-group row app-hidden-view {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-4 m-t-5\">Placeholder:</label>\r\n <div class=\"col-md-8\">\r\n <val-input type=\"text\" [(ngModel)]=\"PlaceholderModel\" [ngModelOptions]=\"{standalone: true}\"></val-input>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ValidationInputComponent, selector: "val-input", inputs: ["Frozen", "Password", "showWarning", "warningTitle", "warningClass", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormEmptyComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormEmptyComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: "form-empty", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group row app-hidden-view {{FormGroupClass}}\" [class.app-margin-bottom-0]=\"Last\">\r\n <label class=\"col-md-4 m-t-5\">Placeholder:</label>\r\n <div class=\"col-md-8\">\r\n <val-input type=\"text\" [(ngModel)]=\"PlaceholderModel\" [ngModelOptions]=\"{standalone: true}\"></val-input>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>" }]
25
25
  }], propDecorators: { Last: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
27
27
  }], FormGroupClass: [{
28
28
  type: Input
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbXB0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWVtcHR5L2Zvcm0tZW1wdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1lbXB0eS9mb3JtLWVtcHR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxRTs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0kseUZBQXlGO1FBQ2hGLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFL0IseUVBQXlFO1FBQ2hFLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBRXJDLHFDQUFxQztRQUM5QixxQkFBZ0IsR0FBVyxhQUFhLENBQUM7S0FDbkQ7OytHQVZZLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhHQ1ovQiw0WEFNTTsyRkRNTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUt0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgcGxhY2Vob2xkZXIgcGVyIGxhIGNyZWF6aW9uZSBkZWkgZm9ybSBjaGUgcmFwcHJlc2VudGEgdW4gYmxvY2NoZXR0byB2dW90bywgXHJcbiAqIGFsIHBvc3RvIGRlbCBxdWFsZSBwb3Nzb25vIHBvaSBjb21wYXJpcmUgZGVpIGNvbXBvbmVudGkgZm9ybSBzZW56YSBpbmNhc2luYXJlIGxhIGdyYWZpY2FcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1lbXB0eVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1lbXB0eS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1FbXB0eUNvbXBvbmVudCB7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSDDqCBsJ3VsdGltbyBjb21wb25lbnRlIGRpIHVuIGZvcm0gKHNlcnZlIHBlciByaW11b3ZlcmUgaWwgbWFyZ2luZSBmaW5hbGUpICovXHJcbiAgICBASW5wdXQoKSBMYXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIENsYXNzZSBleHRyYSBwZXIgaWwgZm9ybS1ncm91cCBpbiBjdWkgdmllbmUgd3JhcHBhdG8gbCdpbnB1dCBmaW50byAqL1xyXG4gICAgQElucHV0KCkgRm9ybUdyb3VwQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIFZhbG9yZSBwbGFjZWhvbGRlciBkYSBtb3N0cmFyZSAqL1xyXG4gICAgcHVibGljIFBsYWNlaG9sZGVyTW9kZWw6IHN0cmluZyA9IFwiUGxhY2Vob2xkZXJcIjtcclxufSIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBhcHAtaGlkZGVuLXZpZXcge3tGb3JtR3JvdXBDbGFzc319XCIgW2NsYXNzLmFwcC1tYXJnaW4tYm90dG9tLTBdPVwiTGFzdFwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLTQgbS10LTVcIj5QbGFjZWhvbGRlcjo8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XHJcbiAgICAgICAgPHZhbC1pbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiUGxhY2Vob2xkZXJNb2RlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIj48L3ZhbC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvZGl2PiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbXB0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWVtcHR5L2Zvcm0tZW1wdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1lbXB0eS9mb3JtLWVtcHR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxRTs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0kseUZBQXlGO1FBQ2hGLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFL0IseUVBQXlFO1FBQ2hFLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBRXJDLHFDQUFxQztRQUM5QixxQkFBZ0IsR0FBVyxhQUFhLENBQUM7S0FDbkQ7K0dBVlksa0JBQWtCO21HQUFsQixrQkFBa0IsOEdDWi9CLDRYQU1NOzs0RkRNTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUt0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgcGxhY2Vob2xkZXIgcGVyIGxhIGNyZWF6aW9uZSBkZWkgZm9ybSBjaGUgcmFwcHJlc2VudGEgdW4gYmxvY2NoZXR0byB2dW90bywgXHJcbiAqIGFsIHBvc3RvIGRlbCBxdWFsZSBwb3Nzb25vIHBvaSBjb21wYXJpcmUgZGVpIGNvbXBvbmVudGkgZm9ybSBzZW56YSBpbmNhc2luYXJlIGxhIGdyYWZpY2FcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZm9ybS1lbXB0eVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS1lbXB0eS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1FbXB0eUNvbXBvbmVudCB7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSDDqCBsJ3VsdGltbyBjb21wb25lbnRlIGRpIHVuIGZvcm0gKHNlcnZlIHBlciByaW11b3ZlcmUgaWwgbWFyZ2luZSBmaW5hbGUpICovXHJcbiAgICBASW5wdXQoKSBMYXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIENsYXNzZSBleHRyYSBwZXIgaWwgZm9ybS1ncm91cCBpbiBjdWkgdmllbmUgd3JhcHBhdG8gbCdpbnB1dCBmaW50byAqL1xyXG4gICAgQElucHV0KCkgRm9ybUdyb3VwQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIFZhbG9yZSBwbGFjZWhvbGRlciBkYSBtb3N0cmFyZSAqL1xyXG4gICAgcHVibGljIFBsYWNlaG9sZGVyTW9kZWw6IHN0cmluZyA9IFwiUGxhY2Vob2xkZXJcIjtcclxufSIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBhcHAtaGlkZGVuLXZpZXcge3tGb3JtR3JvdXBDbGFzc319XCIgW2NsYXNzLmFwcC1tYXJnaW4tYm90dG9tLTBdPVwiTGFzdFwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLTQgbS10LTVcIj5QbGFjZWhvbGRlcjo8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XHJcbiAgICAgICAgPHZhbC1pbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiUGxhY2Vob2xkZXJNb2RlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIj48L3ZhbC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvZGl2PiJdfQ==