@firestitch/form 14.0.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/app/components/confirm-unsaved/confirm-unsaved.component.d.ts +1 -1
  2. package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +1 -1
  3. package/app/components/form-template/form-template.component.d.ts +1 -1
  4. package/app/components/form-template-outlet/form-template-outlet.component.d.ts +1 -1
  5. package/app/directives/button.directive.d.ts +1 -1
  6. package/app/directives/form/form.directive.d.ts +1 -1
  7. package/app/directives/form-dialog-close.directive.d.ts +1 -1
  8. package/app/directives/form-template.directive.d.ts +1 -1
  9. package/app/directives/submit-button.directive.d.ts +1 -1
  10. package/app/directives/validators/compare.directive.d.ts +1 -1
  11. package/app/directives/validators/control.directive.d.ts +1 -1
  12. package/app/directives/validators/daterange.directive.d.ts +1 -1
  13. package/app/directives/validators/email.directive.d.ts +1 -1
  14. package/app/directives/validators/emails.directive.d.ts +1 -1
  15. package/app/directives/validators/function.directive.d.ts +1 -1
  16. package/app/directives/validators/greater-equal.directive.d.ts +1 -1
  17. package/app/directives/validators/greater.directive.d.ts +1 -1
  18. package/app/directives/validators/integer.directive.d.ts +1 -1
  19. package/app/directives/validators/lesser-equal.directive.d.ts +1 -1
  20. package/app/directives/validators/lesser.directive.d.ts +1 -1
  21. package/app/directives/validators/max.directive.d.ts +1 -1
  22. package/app/directives/validators/maxlength.directive.d.ts +1 -1
  23. package/app/directives/validators/min.directive.d.ts +1 -1
  24. package/app/directives/validators/minlength.directive.d.ts +1 -1
  25. package/app/directives/validators/no-fs-validators.directive.d.ts +1 -1
  26. package/app/directives/validators/numeric.directive.d.ts +1 -1
  27. package/app/directives/validators/pattern.directive.d.ts +1 -1
  28. package/app/directives/validators/phone.directive.d.ts +1 -1
  29. package/app/directives/validators/required.directive.d.ts +1 -1
  30. package/app/directives/validators/url.directive.d.ts +1 -1
  31. package/app/directives/validators/validate.directive.d.ts +1 -1
  32. package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +4 -4
  33. package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +4 -4
  34. package/esm2020/app/components/form-template/form-template.component.mjs +5 -5
  35. package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +5 -5
  36. package/esm2020/app/directives/button.directive.mjs +4 -4
  37. package/esm2020/app/directives/form/form.directive.mjs +10 -10
  38. package/esm2020/app/directives/form-dialog-close.directive.mjs +4 -4
  39. package/esm2020/app/directives/form-template.directive.mjs +4 -4
  40. package/esm2020/app/directives/submit-button.directive.mjs +4 -4
  41. package/esm2020/app/directives/validators/compare.directive.mjs +4 -4
  42. package/esm2020/app/directives/validators/control.directive.mjs +10 -10
  43. package/esm2020/app/directives/validators/daterange.directive.mjs +4 -4
  44. package/esm2020/app/directives/validators/email.directive.mjs +4 -4
  45. package/esm2020/app/directives/validators/emails.directive.mjs +4 -4
  46. package/esm2020/app/directives/validators/function.directive.mjs +4 -4
  47. package/esm2020/app/directives/validators/greater-equal.directive.mjs +4 -4
  48. package/esm2020/app/directives/validators/greater.directive.mjs +4 -4
  49. package/esm2020/app/directives/validators/integer.directive.mjs +4 -4
  50. package/esm2020/app/directives/validators/lesser-equal.directive.mjs +4 -4
  51. package/esm2020/app/directives/validators/lesser.directive.mjs +4 -4
  52. package/esm2020/app/directives/validators/max.directive.mjs +4 -4
  53. package/esm2020/app/directives/validators/maxlength.directive.mjs +4 -4
  54. package/esm2020/app/directives/validators/min.directive.mjs +4 -4
  55. package/esm2020/app/directives/validators/minlength.directive.mjs +4 -4
  56. package/esm2020/app/directives/validators/no-fs-validators.directive.mjs +4 -4
  57. package/esm2020/app/directives/validators/numeric.directive.mjs +4 -4
  58. package/esm2020/app/directives/validators/pattern.directive.mjs +4 -4
  59. package/esm2020/app/directives/validators/phone.directive.mjs +4 -4
  60. package/esm2020/app/directives/validators/required.directive.mjs +4 -4
  61. package/esm2020/app/directives/validators/url.directive.mjs +4 -4
  62. package/esm2020/app/directives/validators/validate.directive.mjs +4 -4
  63. package/esm2020/app/fs-form.module.mjs +5 -5
  64. package/esm2020/app/guards/form-deactivate.guard.mjs +4 -4
  65. package/esm2020/app/services/fsform.service.mjs +4 -4
  66. package/fesm2015/firestitch-form.mjs +114 -114
  67. package/fesm2015/firestitch-form.mjs.map +1 -1
  68. package/fesm2020/firestitch-form.mjs +117 -117
  69. package/fesm2020/firestitch-form.mjs.map +1 -1
  70. package/package.json +1 -1
@@ -17,5 +17,5 @@ export declare class ConfirmUnsavedComponent implements OnInit, OnDestroy {
17
17
  cancel(): void;
18
18
  ngOnDestroy(): void;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmUnsavedComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmUnsavedComponent, "ng-component", never, {}, {}, never, never, false>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmUnsavedComponent, "ng-component", never, {}, {}, never, never, false, never>;
21
21
  }
@@ -18,5 +18,5 @@ export declare class FsFormDialogActionsComponent implements OnInit, OnDestroy {
18
18
  ngOnInit(): void;
19
19
  ngOnDestroy(): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDialogActionsComponent, [{ optional: true; }, { optional: true; }, null]>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<FsFormDialogActionsComponent, "fs-form-dialog-actions", never, { "save": "save"; "create": "create"; "close": "close"; "done": "done"; "closeData": "closeData"; "name": "name"; }, {}, never, ["*"], false>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsFormDialogActionsComponent, "fs-form-dialog-actions", never, { "save": "save"; "create": "create"; "close": "close"; "done": "done"; "closeData": "closeData"; "name": "name"; }, {}, never, ["*"], false, never>;
22
22
  }
@@ -9,5 +9,5 @@ export declare class FsFormTemplateComponent implements AfterContentInit {
9
9
  ngOnInit(): void;
10
10
  constructor();
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormTemplateComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateComponent, "fs-form-template", never, { "formTemplate": "formTemplate"; }, {}, ["models"], ["*"], false>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateComponent, "fs-form-template", never, { "formTemplate": "formTemplate"; }, {}, ["models"], ["*"], false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormTemplateOutletComponent implements AfterContentInit,
9
9
  ngAfterContentInit(): void;
10
10
  constructor();
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormTemplateOutletComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateOutletComponent, "fs-form-template-outlet", never, { "formTemplate": "formTemplate"; }, {}, ["models"], never, false>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateOutletComponent, "fs-form-template-outlet", never, { "formTemplate": "formTemplate"; }, {}, ["models"], never, false, never>;
13
13
  }
@@ -31,5 +31,5 @@ export declare class FsButtonDirective implements OnInit, OnDestroy {
31
31
  private _resetClass;
32
32
  private _getSvg;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<FsButtonDirective, [{ optional: true; host: true; }, { optional: true; }, null, null]>;
34
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsButtonDirective, "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", never, { "name": "name"; "dirtySubmit": "dirtySubmit"; "form": "form"; }, {}, never, never, false>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsButtonDirective, "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", never, { "name": "name"; "dirtySubmit": "dirtySubmit"; "form": "form"; }, {}, never, never, false, never>;
35
35
  }
@@ -118,5 +118,5 @@ export declare class FsFormDirective implements OnInit, OnDestroy, AfterContentI
118
118
  private _registerCanDeactivateGuard;
119
119
  private _cleanupCanDeactivate;
120
120
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDirective, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
121
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDirective, "[fsForm]", ["fsForm"], { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "autocomplete": "autocomplete"; "shortcuts": "shortcuts"; "confirm": "confirm"; "confirmDialog": "confirmDialog"; "confirmDrawer": "confirmDrawer"; "confirmBrowser": "confirmBrowser"; "confirmTabs": "confirmTabs"; "dirtySubmitButton": "dirtySubmitButton"; "submit": "submit"; "successDelay": "successDelay"; "errorDelay": "errorDelay"; "tabGroup": "tabGroup"; "deactivationGuard": "deactivationGuard"; }, { "submitEvent": "fsForm"; "invalid": "invalid"; "valid": "valid"; "submitted": "submitted"; "reseted": "reseted"; "cleared": "cleared"; }, ["_tabGroups"], never, false>;
121
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDirective, "[fsForm]", ["fsForm"], { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "autocomplete": "autocomplete"; "shortcuts": "shortcuts"; "confirm": "confirm"; "confirmDialog": "confirmDialog"; "confirmDrawer": "confirmDrawer"; "confirmBrowser": "confirmBrowser"; "confirmTabs": "confirmTabs"; "dirtySubmitButton": "dirtySubmitButton"; "submit": "submit"; "successDelay": "successDelay"; "errorDelay": "errorDelay"; "tabGroup": "tabGroup"; "deactivationGuard": "deactivationGuard"; }, { "submitEvent": "fsForm"; "invalid": "invalid"; "valid": "valid"; "submitted": "submitted"; "reseted": "reseted"; "cleared": "cleared"; }, ["_tabGroups"], never, false, never>;
122
122
  }
@@ -12,5 +12,5 @@ export declare class FsFormDialogCloseDirective implements OnDestroy {
12
12
  closeClick(): void;
13
13
  ngOnDestroy(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDialogCloseDirective, [{ optional: true; }, { optional: true; }]>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDialogCloseDirective, "[fsFormDialogClose],[fs-form-dialog-close]", never, { "closeData": "closeData"; }, {}, never, never, false>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDialogCloseDirective, "[fsFormDialogClose],[fs-form-dialog-close]", never, { "closeData": "closeData"; }, {}, never, never, false, never>;
16
16
  }
@@ -6,5 +6,5 @@ export declare class FsFormTemplateDirective implements AfterContentInit {
6
6
  models: QueryList<NgModel>;
7
7
  ngAfterContentInit(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormTemplateDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormTemplateDirective, "[fsFormTemplate]", never, {}, {}, never, never, false>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormTemplateDirective, "[fsFormTemplate]", never, {}, {}, never, never, false, never>;
10
10
  }
@@ -2,5 +2,5 @@ import { FsButtonDirective } from './button.directive';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class FsSubmitButtonDirective extends FsButtonDirective {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<FsSubmitButtonDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsSubmitButtonDirective, "dummy-selector", never, {}, {}, never, never, false>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsSubmitButtonDirective, "dummy-selector", never, {}, {}, never, never, false, never>;
6
6
  }
@@ -11,5 +11,5 @@ export declare class FsFormCompareDirective extends FsControlDirective implement
11
11
  ngAfterViewInit(): void;
12
12
  ngOnDestroy(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormCompareDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormCompareDirective, "[fsFormCompare]", never, { "fsFormCompare": "fsFormCompare"; "validationMessage": "fsFormCompareMessage"; }, {}, never, never, false>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormCompareDirective, "[fsFormCompare]", never, { "fsFormCompare": "fsFormCompare"; "validationMessage": "fsFormCompareMessage"; }, {}, never, never, false, never>;
15
15
  }
@@ -45,5 +45,5 @@ export declare class FsControlDirective implements OnInit, AfterContentInit, OnD
45
45
  };
46
46
  private _setupValidators;
47
47
  static ɵfac: i0.ɵɵFactoryDeclaration<FsControlDirective, [null, null, null, { self: true; }, { optional: true; }, { optional: true; }]>;
48
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsControlDirective, "[fsFormControl]", never, { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "appendMessageClass": "appendMessageClass"; "appendLabelClass": "appendLabelClass"; "appendErrorClass": "appendErrorClass"; "appendHintClass": "appendHintClass"; "validateMessages": "validateMessages"; }, {}, never, never, false>;
48
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsControlDirective, "[fsFormControl]", never, { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "appendMessageClass": "appendMessageClass"; "appendLabelClass": "appendLabelClass"; "appendErrorClass": "appendErrorClass"; "appendHintClass": "appendHintClass"; "validateMessages": "validateMessages"; }, {}, never, never, false, never>;
49
49
  }
@@ -9,5 +9,5 @@ export declare class FsFormDateRangeDirective extends FsControlDirective impleme
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDateRangeDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDateRangeDirective, "[fsFormDateRange]", never, { "fsFormDateRange": "fsFormDateRange"; "validationMessage": "fsFormDateRangeMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDateRangeDirective, "[fsFormDateRange]", never, { "fsFormDateRange": "fsFormDateRange"; "validationMessage": "fsFormDateRangeMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormEmailDirective extends FsControlDirective implements
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormEmailDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailDirective, "[fsFormEmail]", never, { "fsFormEmail": "fsFormEmail"; "validationMessage": "fsFormEmailMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailDirective, "[fsFormEmail]", never, { "fsFormEmail": "fsFormEmail"; "validationMessage": "fsFormEmailMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormEmailsDirective extends FsControlDirective implements
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormEmailsDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailsDirective, "[fsFormEmails]", never, { "fsFormEmails": "fsFormEmails"; "validationMessage": "fsFormEmailsMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailsDirective, "[fsFormEmails]", never, { "fsFormEmails": "fsFormEmails"; "validationMessage": "fsFormEmailsMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -11,5 +11,5 @@ export declare class FsFormFunctionDirective extends FsControlDirective implemen
11
11
  ngOnChanges(): void;
12
12
  validateAsync(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormFunctionDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormFunctionDirective, "[fsFormFunction]", never, { "fsFormFunction": "fsFormFunction"; "fsFormFunctionData": "fsFormFunctionData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormFunctionDirective, "[fsFormFunction]", never, { "fsFormFunction": "fsFormFunction"; "fsFormFunctionData": "fsFormFunctionData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false, never>;
15
15
  }
@@ -9,5 +9,5 @@ export declare class FsFormGreaterEqualDirective extends FsControlDirective impl
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormGreaterEqualDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterEqualDirective, "[fsFormGreaterEqual]", never, { "fsFormGreaterEqual": "fsFormGreaterEqual"; "validationMessage": "fsFormGreaterEqualMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterEqualDirective, "[fsFormGreaterEqual]", never, { "fsFormGreaterEqual": "fsFormGreaterEqual"; "validationMessage": "fsFormGreaterEqualMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormGreaterDirective extends FsControlDirective implement
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormGreaterDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterDirective, "[fsFormGreater]", never, { "fsFormGreater": "fsFormGreater"; "validationMessage": "fsFormGreaterMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterDirective, "[fsFormGreater]", never, { "fsFormGreater": "fsFormGreater"; "validationMessage": "fsFormGreaterMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormIntegerDirective extends FsControlDirective implement
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormIntegerDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormIntegerDirective, "[fsFormInteger]", never, { "fsFormInteger": "fsFormInteger"; "validationMessage": "fsFormIntegerMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormIntegerDirective, "[fsFormInteger]", never, { "fsFormInteger": "fsFormInteger"; "validationMessage": "fsFormIntegerMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormLesserEqualDirective extends FsControlDirective imple
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormLesserEqualDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserEqualDirective, "[fsFormLesserEqual]", never, { "fsFormLesserEqual": "fsFormLesserEqual"; "validationMessage": "fsFormLesserEqualMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserEqualDirective, "[fsFormLesserEqual]", never, { "fsFormLesserEqual": "fsFormLesserEqual"; "validationMessage": "fsFormLesserEqualMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormLesserDirective extends FsControlDirective implements
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormLesserDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserDirective, "[fsFormLesser]", never, { "fsFormLesser": "fsFormLesser"; "validationMessage": "fsFormLesserMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserDirective, "[fsFormLesser]", never, { "fsFormLesser": "fsFormLesser"; "validationMessage": "fsFormLesserMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormMaxDirective extends FsControlDirective implements On
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMaxDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxDirective, "[fsFormMax]", never, { "fsFormMax": "fsFormMax"; "validationMessage": "fsFormMaxMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxDirective, "[fsFormMax]", never, { "fsFormMax": "fsFormMax"; "validationMessage": "fsFormMaxMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormMaxLengthDirective extends FsControlDirective impleme
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMaxLengthDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxLengthDirective, "[fsFormMaxLength]", never, { "fsFormMaxLength": "fsFormMaxLength"; "validationMessage": "fsFormMaxLengthMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxLengthDirective, "[fsFormMaxLength]", never, { "fsFormMaxLength": "fsFormMaxLength"; "validationMessage": "fsFormMaxLengthMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormMinDirective extends FsControlDirective implements On
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMinDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinDirective, "[fsFormMin]", never, { "fsFormMin": "fsFormMin"; "validationMessage": "fsFormMinMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinDirective, "[fsFormMin]", never, { "fsFormMin": "fsFormMin"; "validationMessage": "fsFormMinMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormMinLengthDirective extends FsControlDirective impleme
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMinLengthDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinLengthDirective, "[fsFormMinLength]", never, { "fsFormMinLength": "fsFormMinLength"; "validationMessage": "fsFormMinLengthMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinLengthDirective, "[fsFormMinLength]", never, { "fsFormMinLength": "fsFormMinLength"; "validationMessage": "fsFormMinLengthMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -10,5 +10,5 @@ export declare class FsFormNoFsValidatorsDirective extends FsControlDirective im
10
10
  ngOnChanges(): void;
11
11
  protected _subscribeToStatusChagnes(): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormNoFsValidatorsDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNoFsValidatorsDirective, "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])", never, {}, {}, never, never, false>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNoFsValidatorsDirective, "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])", never, {}, {}, never, never, false, never>;
14
14
  }
@@ -9,5 +9,5 @@ export declare class FsFormNumericDirective extends FsControlDirective implement
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormNumericDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNumericDirective, "[fsFormNumeric]", never, { "fsFormNumeric": "fsFormNumeric"; "validationMessage": "fsFormNumericMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNumericDirective, "[fsFormNumeric]", never, { "fsFormNumeric": "fsFormNumeric"; "validationMessage": "fsFormNumericMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormPatternDirective extends FsControlDirective implement
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormPatternDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPatternDirective, "[fsFormPattern]", never, { "fsFormPattern": "fsFormPattern"; "validationMessage": "fsFormPatternMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPatternDirective, "[fsFormPattern]", never, { "fsFormPattern": "fsFormPattern"; "validationMessage": "fsFormPatternMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -9,5 +9,5 @@ export declare class FsFormPhoneDirective extends FsControlDirective implements
9
9
  ngOnChanges(): void;
10
10
  validate(control: AbstractControl): ValidationErrors | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormPhoneDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPhoneDirective, "[fsFormPhone]", never, { "fsFormPhone": "fsFormPhone"; "validationMessage": "fsFormPhoneMessage"; }, {}, never, never, false>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPhoneDirective, "[fsFormPhone]", never, { "fsFormPhone": "fsFormPhone"; "validationMessage": "fsFormPhoneMessage"; }, {}, never, never, false, never>;
13
13
  }
@@ -12,5 +12,5 @@ export declare class FsFormRequiredDirective extends FsControlDirective implemen
12
12
  validate(control: AbstractControl): ValidationErrors | null;
13
13
  protected render(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormRequiredDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormRequiredDirective, "[fsFormRequired],[ngModel][required]", never, { "setFsFormRequired": "fsFormRequired"; "setRequired": "required"; "validationMessage": "fsFormRequiredMessage"; }, {}, never, never, false>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormRequiredDirective, "[fsFormRequired],[ngModel][required]", never, { "setFsFormRequired": "fsFormRequired"; "setRequired": "required"; "validationMessage": "fsFormRequiredMessage"; }, {}, never, never, false, never>;
16
16
  }
@@ -10,5 +10,5 @@ export declare class FsFormUrlDirective extends FsControlDirective implements On
10
10
  ngOnChanges(): void;
11
11
  validate(control: AbstractControl): ValidationErrors | null;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormUrlDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormUrlDirective, "[fsFormUrl]", never, { "fsFormUrl": "fsFormUrl"; "fsFormUrlProtocol": "fsFormUrlProtocol"; "validationMessage": "fsFormUrlMessage"; }, {}, never, never, false>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormUrlDirective, "[fsFormUrl]", never, { "fsFormUrl": "fsFormUrl"; "fsFormUrlProtocol": "fsFormUrlProtocol"; "validationMessage": "fsFormUrlMessage"; }, {}, never, never, false, never>;
14
14
  }
@@ -11,5 +11,5 @@ export declare class FsFormValidateDirective extends FsControlDirective implemen
11
11
  ngOnChanges(): void;
12
12
  validateAsync(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FsFormValidateDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormValidateDirective, "[validate]", never, { "validateFn": "validate"; "validateFnData": "validateData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormValidateDirective, "[validate]", never, { "validateFn": "validate"; "validateFnData": "validateData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false, never>;
15
15
  }
@@ -32,13 +32,13 @@ export class ConfirmUnsavedComponent {
32
32
  this._destroy$.complete();
33
33
  }
34
34
  }
35
- ConfirmUnsavedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmUnsavedComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
36
- ConfirmUnsavedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConfirmUnsavedComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>{{title}}</h1>\n <mat-dialog-content>\n {{message}}\n </mat-dialog-content> \n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n fsFormButtonStandalone\n mat-button>\n {{saveLabel}}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n fsFormButtonStandalone\n mat-button>\n {{discardLabel}}\n </button> \n <button\n type=\"button\"\n (click)=\"cancel()\"\n fsFormButtonStandalone\n mat-button>\n {{cancelLabel}}\n </button> \n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmUnsavedComponent, decorators: [{
35
+ ConfirmUnsavedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfirmUnsavedComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ ConfirmUnsavedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ConfirmUnsavedComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>{{title}}</h1>\n <mat-dialog-content>\n {{message}}\n </mat-dialog-content> \n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n fsFormButtonStandalone\n mat-button>\n {{saveLabel}}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n fsFormButtonStandalone\n mat-button>\n {{discardLabel}}\n </button> \n <button\n type=\"button\"\n (click)=\"cancel()\"\n fsFormButtonStandalone\n mat-button>\n {{cancelLabel}}\n </button> \n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfirmUnsavedComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>{{title}}</h1>\n <mat-dialog-content>\n {{message}}\n </mat-dialog-content> \n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n fsFormButtonStandalone\n mat-button>\n {{saveLabel}}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n fsFormButtonStandalone\n mat-button>\n {{discardLabel}}\n </button> \n <button\n type=\"button\"\n (click)=\"cancel()\"\n fsFormButtonStandalone\n mat-button>\n {{cancelLabel}}\n </button> \n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
40
40
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
41
41
  type: Inject,
42
42
  args: [MAT_DIALOG_DATA]
43
43
  }] }, { type: i1.MatDialogRef }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFDbUMsS0FBVSxFQUNuQyxVQUFpRDtRQUR4QixVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQXVDO1FBSm5ELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS3JDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOztvSEF0Q1UsdUJBQXVCLGtCQVd4QixlQUFlO3dHQVhkLHVCQUF1QixvRENacEMscXJCQThCQTsyRkRsQmEsdUJBQXVCO2tCQUxuQyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU07OzBCQWE1QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtVW5zYXZlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgc2F2ZUxhYmVsO1xuICBwdWJsaWMgZGlzY2FyZExhYmVsO1xuICBwdWJsaWMgY2FuY2VsTGFiZWw7XG4gIHB1YmxpYyBtZXNzYWdlO1xuICBwdWJsaWMgdGl0bGU7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtVW5zYXZlZENvbXBvbmVudD4sXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlTGFiZWwgPSB0aGlzLl9kYXRhLnNhdmVMYWJlbDtcbiAgICB0aGlzLmRpc2NhcmRMYWJlbCA9IHRoaXMuX2RhdGEuZGlzY2FyZExhYmVsO1xuICAgIHRoaXMuY2FuY2VsTGFiZWwgPSB0aGlzLl9kYXRhLmNhbmNlbExhYmVsO1xuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuX2RhdGEubWVzc2FnZTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5fZGF0YS50aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgnc2F2ZScpO1xuICB9XG5cbiAgcHVibGljIGRpc2NhcmQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCdkaXNjYXJkJyk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGZzLWRpYWxvZz5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3t0aXRsZX19PC9oMT5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICB7e21lc3NhZ2V9fVxuICA8L21hdC1kaWFsb2ctY29udGVudD4gIFxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgICBmc0Zvcm1CdXR0b25TdGFuZGFsb25lXG4gICAgICAgIG1hdC1idXR0b24+XG4gICAgICB7e3NhdmVMYWJlbH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImRpc2NhcmQoKVwiXG4gICAgICAgIGZzRm9ybUJ1dHRvblN0YW5kYWxvbmVcbiAgICAgICAgbWF0LWJ1dHRvbj5cbiAgICAgIHt7ZGlzY2FyZExhYmVsfX1cbiAgICA8L2J1dHRvbj4gIFxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgIGZzRm9ybUJ1dHRvblN0YW5kYWxvbmVcbiAgICAgICAgbWF0LWJ1dHRvbj5cbiAgICAgIHt7Y2FuY2VsTGFiZWx9fVxuICAgIDwvYnV0dG9uPiAgICBcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz5cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFDbUMsS0FBVSxFQUNuQyxVQUFpRDtRQUR4QixVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQXVDO1FBSm5ELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS3JDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOztxSEF0Q1UsdUJBQXVCLGtCQVd4QixlQUFlO3lHQVhkLHVCQUF1QixvRENacEMscXJCQThCQTs0RkRsQmEsdUJBQXVCO2tCQUxuQyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU07OzBCQWE1QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtVW5zYXZlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgc2F2ZUxhYmVsO1xuICBwdWJsaWMgZGlzY2FyZExhYmVsO1xuICBwdWJsaWMgY2FuY2VsTGFiZWw7XG4gIHB1YmxpYyBtZXNzYWdlO1xuICBwdWJsaWMgdGl0bGU7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtVW5zYXZlZENvbXBvbmVudD4sXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlTGFiZWwgPSB0aGlzLl9kYXRhLnNhdmVMYWJlbDtcbiAgICB0aGlzLmRpc2NhcmRMYWJlbCA9IHRoaXMuX2RhdGEuZGlzY2FyZExhYmVsO1xuICAgIHRoaXMuY2FuY2VsTGFiZWwgPSB0aGlzLl9kYXRhLmNhbmNlbExhYmVsO1xuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuX2RhdGEubWVzc2FnZTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5fZGF0YS50aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgnc2F2ZScpO1xuICB9XG5cbiAgcHVibGljIGRpc2NhcmQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCdkaXNjYXJkJyk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGZzLWRpYWxvZz5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3t0aXRsZX19PC9oMT5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICB7e21lc3NhZ2V9fVxuICA8L21hdC1kaWFsb2ctY29udGVudD4gIFxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgICBmc0Zvcm1CdXR0b25TdGFuZGFsb25lXG4gICAgICAgIG1hdC1idXR0b24+XG4gICAgICB7e3NhdmVMYWJlbH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImRpc2NhcmQoKVwiXG4gICAgICAgIGZzRm9ybUJ1dHRvblN0YW5kYWxvbmVcbiAgICAgICAgbWF0LWJ1dHRvbj5cbiAgICAgIHt7ZGlzY2FyZExhYmVsfX1cbiAgICA8L2J1dHRvbj4gIFxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgIGZzRm9ybUJ1dHRvblN0YW5kYWxvbmVcbiAgICAgICAgbWF0LWJ1dHRvbj5cbiAgICAgIHt7Y2FuY2VsTGFiZWx9fVxuICAgIDwvYnV0dG9uPiAgICBcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz5cbiJdfQ==
@@ -50,9 +50,9 @@ export class FsFormDialogActionsComponent {
50
50
  this._destroy$.complete();
51
51
  }
52
52
  }
53
- FsFormDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i2.MatDialogRef, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
54
- FsFormDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div class=\"form-buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save || create\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"close-button cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }, { kind: "directive", type: i6.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
53
+ FsFormDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i2.MatDialogRef, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
54
+ FsFormDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div class=\"form-buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save || create\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"close-button cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }, { kind: "directive", type: i6.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save || create\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"close-button cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
58
58
  }], ctorParameters: function () { return [{ type: i1.FsFormDirective, decorators: [{
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
72
72
  }], name: [{
73
73
  type: Input
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyw0QkFBNEI7SUFhdkMsWUFDc0IsS0FBc0IsRUFDdEIsVUFBNkIsRUFDekMsTUFBeUI7UUFGYixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWRuQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUcxQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNckMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZO2lCQUMzQixJQUFJLENBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztpQkFDakIsSUFBSSxDQUNILEtBQUssQ0FBQyxFQUFFLENBQUMsRUFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2lCQUNmLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7eUhBdkRVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDhLQ2hCekMsMjBDQXFEQTsyRkRyQ2EsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs7MEJBZ0I1QyxRQUFROzswQkFDUixRQUFROzRFQWJLLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmcy1mb3JtLWRpYWxvZy1hY3Rpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNhdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjcmVhdGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZG9uZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZURhdGEgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBkaXJ0eSA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtOiBGc0Zvcm1EaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCAgIFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5fZm9ybSkge1xyXG4gICAgICB0aGlzLl9mb3JtLm5nRm9ybS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZSggIFxyXG4gICAgICAgICAgZmlsdGVyKCgpID0+ICghdGhpcy5kaXJ0eSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRpcnR5ID0gdGhpcy5fZm9ybS5uZ0Zvcm0uZGlydHk7XHJcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX2Zvcm0uc3VibWl0dGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWxheSg1MCksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fZm9ybS5yZXNldGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiIFtuZ0NsYXNzXT1cInsgJ3NhdmUtY3JlYXRlJzogc2F2ZSB8fCBjcmVhdGUgfVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZSB8fCBjcmVhdGVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIj5cbiAgICAgIHt7Y3JlYXRlID8gJ0NyZWF0ZScgOiAnU2F2ZSd9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZS1idXR0b24gY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjbG9zZSAmJiAhZGlydHkgJiYgIWNyZWF0ZVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cbiAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9uZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZSB8fCBjcmVhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjbG9zZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZS1idXR0b25cIlxuICAgICAgICBmc0Zvcm1EaWFsb2dDbG9zZVxuICAgICAgICBbY2xvc2VEYXRhXT1cImNsb3NlRGF0YVwiXG4gICAgICAgIFtjb2xvcl09XCJkaXJ0eSA/ICdiYXNpYycgOiAncHJpbWFyeSdcIj5cbiAgICAgIENsb3NlXG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKHNhdmUgfHwgY3JlYXRlKVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyw0QkFBNEI7SUFhdkMsWUFDc0IsS0FBc0IsRUFDdEIsVUFBNkIsRUFDekMsTUFBeUI7UUFGYixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWRuQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUcxQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNckMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZO2lCQUMzQixJQUFJLENBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztpQkFDakIsSUFBSSxDQUNILEtBQUssQ0FBQyxFQUFFLENBQUMsRUFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2lCQUNmLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7MEhBdkRVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDhLQ2hCekMsMjBDQXFEQTs0RkRyQ2EsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs7MEJBZ0I1QyxRQUFROzswQkFDUixRQUFROzRFQWJLLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmcy1mb3JtLWRpYWxvZy1hY3Rpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNhdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjcmVhdGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZG9uZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZURhdGEgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBkaXJ0eSA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtOiBGc0Zvcm1EaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCAgIFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5fZm9ybSkge1xyXG4gICAgICB0aGlzLl9mb3JtLm5nRm9ybS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZSggIFxyXG4gICAgICAgICAgZmlsdGVyKCgpID0+ICghdGhpcy5kaXJ0eSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRpcnR5ID0gdGhpcy5fZm9ybS5uZ0Zvcm0uZGlydHk7XHJcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX2Zvcm0uc3VibWl0dGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWxheSg1MCksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fZm9ybS5yZXNldGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiIFtuZ0NsYXNzXT1cInsgJ3NhdmUtY3JlYXRlJzogc2F2ZSB8fCBjcmVhdGUgfVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZSB8fCBjcmVhdGVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIj5cbiAgICAgIHt7Y3JlYXRlID8gJ0NyZWF0ZScgOiAnU2F2ZSd9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZS1idXR0b24gY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjbG9zZSAmJiAhZGlydHkgJiYgIWNyZWF0ZVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cbiAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9uZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZSB8fCBjcmVhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjbG9zZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZS1idXR0b25cIlxuICAgICAgICBmc0Zvcm1EaWFsb2dDbG9zZVxuICAgICAgICBbY2xvc2VEYXRhXT1cImNsb3NlRGF0YVwiXG4gICAgICAgIFtjb2xvcl09XCJkaXJ0eSA/ICdiYXNpYycgOiAncHJpbWFyeSdcIj5cbiAgICAgIENsb3NlXG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKHNhdmUgfHwgY3JlYXRlKVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -2,7 +2,6 @@ import { Component, ChangeDetectionStrategy, Input, ContentChildren, QueryList,
2
2
  import { NgModel } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  export class FsFormTemplateComponent {
5
- constructor() { }
6
5
  ngAfterContentInit() {
7
6
  debugger;
8
7
  const x = this.models;
@@ -13,10 +12,11 @@ export class FsFormTemplateComponent {
13
12
  ngOnInit() {
14
13
  debugger;
15
14
  }
15
+ constructor() { }
16
16
  }
17
- FsFormTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- FsFormTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsFormTemplateComponent, selector: "fs-form-template", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef1"], descendants: true }], ngImport: i0, template: "<ng-template #templateRef1>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormTemplateComponent, decorators: [{
17
+ FsFormTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ FsFormTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FsFormTemplateComponent, selector: "fs-form-template", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef1"], descendants: true }], ngImport: i0, template: "<ng-template #templateRef1>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormTemplateComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'fs-form-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #templateRef1>\n <ng-content></ng-content>\n</ng-template>" }]
22
22
  }], ctorParameters: function () { return []; }, propDecorators: { templateRef: [{
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
28
28
  type: ContentChildren,
29
29
  args: [NgModel, { descendants: true }]
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS10ZW1wbGF0ZS9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlL2Zvcm0tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBb0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXpDLE1BQU0sT0FBTyx1QkFBdUI7SUFzQmxDLGdCQUVHLENBQUM7SUFkRyxrQkFBa0I7UUFDdkIsUUFBUSxDQUFDO1FBQ1QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxRQUFRLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sUUFBUSxDQUFDO0lBQ1gsQ0FBQzs7b0hBcEJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHlIQU9qQixPQUFPLDZKQ2hCMUIsMEVBRWM7MkZET0QsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNOzBFQUt4QyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGNBQWM7Z0JBR1QsWUFBWTtzQkFBM0IsS0FBSztnQkFHQyxNQUFNO3NCQURaLGVBQWU7dUJBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJDb250ZW50SW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1mb3JtLXRlbXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZjEnKSBcbiAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtVGVtcGxhdGU6IGFueTtcbiAgXG4gIEBDb250ZW50Q2hpbGRyZW4oTmdNb2RlbCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBcbiAgcHVibGljIG1vZGVsczogUXVlcnlMaXN0PE5nTW9kZWw+O1xuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgZGVidWdnZXI7XG4gICAgY29uc3QgeCA9IHRoaXMubW9kZWxzO1xuICAgIHRoaXMubW9kZWxzLmNoYW5nZXMuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICBkZWJ1Z2dlcjtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGRlYnVnZ2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICBcbiAgKSB7fVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmMT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS10ZW1wbGF0ZS9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlL2Zvcm0tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBb0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXpDLE1BQU0sT0FBTyx1QkFBdUI7SUFVM0Isa0JBQWtCO1FBQ3ZCLFFBQVEsQ0FBQztRQUNULE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsUUFBUSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsQ0FBQztJQUNYLENBQUM7SUFFRCxnQkFFRyxDQUFDOztxSEF4Qk8sdUJBQXVCO3lHQUF2Qix1QkFBdUIseUhBT2pCLE9BQU8sNkpDaEIxQiwwRUFFYzs0RkRPRCx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU07MEVBS3hDLFdBQVc7c0JBRGpCLFNBQVM7dUJBQUMsY0FBYztnQkFHVCxZQUFZO3NCQUEzQixLQUFLO2dCQUdDLE1BQU07c0JBRFosZUFBZTt1QkFBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZvcm0tdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1UZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmMScpIFxuICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1UZW1wbGF0ZTogYW55O1xuICBcbiAgQENvbnRlbnRDaGlsZHJlbihOZ01vZGVsLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIFxuICBwdWJsaWMgbW9kZWxzOiBRdWVyeUxpc3Q8TmdNb2RlbD47XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBkZWJ1Z2dlcjtcbiAgICBjb25zdCB4ID0gdGhpcy5tb2RlbHM7XG4gICAgdGhpcy5tb2RlbHMuY2hhbmdlcy5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIGRlYnVnZ2VyO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgZGVidWdnZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgIFxuICApIHt9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWYxPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -4,7 +4,6 @@ import { FsFormTemplateComponent } from '../../components';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  export class FsFormTemplateOutletComponent {
7
- constructor() { }
8
7
  ngOnChanges(changes) {
9
8
  if (changes.formTemplate?.currentValue) {
10
9
  }
@@ -15,10 +14,11 @@ export class FsFormTemplateOutletComponent {
15
14
  // debugger;
16
15
  // });
17
16
  }
17
+ constructor() { }
18
18
  }
19
- FsFormTemplateOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormTemplateOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- FsFormTemplateOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsFormTemplateOutletComponent, selector: "fs-form-template-outlet", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n{{formTemplate.templateRef|json}}\n\n<ng-container *ngIf=\"formTemplate\">\n <ng-container [ngTemplateOutlet]=\"formTemplate.templateRef\"></ng-container> \n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFormTemplateOutletComponent, decorators: [{
19
+ FsFormTemplateOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormTemplateOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ FsFormTemplateOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FsFormTemplateOutletComponent, selector: "fs-form-template-outlet", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n{{formTemplate.templateRef|json}}\n\n<ng-container *ngIf=\"formTemplate\">\n <ng-container [ngTemplateOutlet]=\"formTemplate.templateRef\"></ng-container> \n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsFormTemplateOutletComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'fs-form-template-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n{{formTemplate.templateRef|json}}\n\n<ng-container *ngIf=\"formTemplate\">\n <ng-container [ngTemplateOutlet]=\"formTemplate.templateRef\"></ng-container> \n</ng-container>" }]
24
24
  }], ctorParameters: function () { return []; }, propDecorators: { formTemplate: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
27
27
  type: ContentChildren,
28
28
  args: [NgModel, { descendants: true }]
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2Zvcm0tdGVtcGxhdGUtb3V0bGV0L2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlLW91dGxldC9mb3JtLXRlbXBsYXRlLW91dGxldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUEyRCxNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVEzRCxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxnQkFFRyxDQUFDO0lBZEosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUU7U0FDdEM7SUFDSCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLHlCQUF5QjtRQUN6Qix5Q0FBeUM7UUFDekMsY0FBYztRQUNkLE1BQU07SUFDUixDQUFDOzswSEFqQlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ0lBSXZCLE9BQU8scUVDZDFCLGlMQUtlOzJGREtGLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU07MEVBSS9CLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixlQUFlO3VCQUFDLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyQ29udGVudEluaXQsIFRlbXBsYXRlUmVmLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGc0Zvcm1UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZvcm0tdGVtcGxhdGUtb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybVRlbXBsYXRlT3V0bGV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybVRlbXBsYXRlOiBGc0Zvcm1UZW1wbGF0ZUNvbXBvbmVudDtcbiAgXG4gIEBDb250ZW50Q2hpbGRyZW4oTmdNb2RlbCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBcbiAgcHVibGljIG1vZGVsczogUXVlcnlMaXN0PE5nTW9kZWw+O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLmZvcm1UZW1wbGF0ZT8uY3VycmVudFZhbHVlKSB7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zdCB4ID0gdGhpcy5tb2RlbHM7XG4gICAgLy8gdGhpcy5tb2RlbHMuY2hhbmdlcy5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAvLyAgIGRlYnVnZ2VyO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICBcbiAgKSB7fVxuXG59XG4iLCJcbnt7Zm9ybVRlbXBsYXRlLnRlbXBsYXRlUmVmfGpzb259fVxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybVRlbXBsYXRlXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9ybVRlbXBsYXRlLnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+IFxuPC9uZy1jb250YWluZXI+Il19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2Zvcm0tdGVtcGxhdGUtb3V0bGV0L2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlLW91dGxldC9mb3JtLXRlbXBsYXRlLW91dGxldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUEyRCxNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVEzRCxNQUFNLE9BQU8sNkJBQTZCO0lBT3hDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFO1NBQ3RDO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQjtRQUN2Qix5QkFBeUI7UUFDekIseUNBQXlDO1FBQ3pDLGNBQWM7UUFDZCxNQUFNO0lBQ1IsQ0FBQztJQUVELGdCQUVHLENBQUM7OzJIQXJCTyw2QkFBNkI7K0dBQTdCLDZCQUE2QixnSUFJdkIsT0FBTyxxRUNkMUIsaUxBS2U7NEZES0YsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTTswRUFJL0IsWUFBWTtzQkFBM0IsS0FBSztnQkFHQyxNQUFNO3NCQURaLGVBQWU7dUJBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJDb250ZW50SW5pdCwgVGVtcGxhdGVSZWYsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZzRm9ybVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZm9ybS10ZW1wbGF0ZS1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS10ZW1wbGF0ZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtVGVtcGxhdGVPdXRsZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtVGVtcGxhdGU6IEZzRm9ybVRlbXBsYXRlQ29tcG9uZW50O1xuICBcbiAgQENvbnRlbnRDaGlsZHJlbihOZ01vZGVsLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIFxuICBwdWJsaWMgbW9kZWxzOiBRdWVyeUxpc3Q8TmdNb2RlbD47XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXMuZm9ybVRlbXBsYXRlPy5jdXJyZW50VmFsdWUpIHtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIGNvbnN0IHggPSB0aGlzLm1vZGVscztcbiAgICAvLyB0aGlzLm1vZGVscy5jaGFuZ2VzLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgIC8vICAgZGVidWdnZXI7XG4gICAgLy8gfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgIFxuICApIHt9XG5cbn1cbiIsIlxue3tmb3JtVGVtcGxhdGUudGVtcGxhdGVSZWZ8anNvbn19XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtVGVtcGxhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb3JtVGVtcGxhdGUudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj4gXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -140,9 +140,9 @@ export class FsButtonDirective {
140
140
  }
141
141
  }
142
142
  }
143
- FsButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsButtonDirective, deps: [{ token: i1.MatButton, host: true, optional: true }, { token: i2.FsFormDirective, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
144
- FsButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: { name: "name", dirtySubmit: "dirtySubmit", form: "form" }, host: { properties: { "style.transition": "this.transitionStyle" } }, ngImport: i0 });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsButtonDirective, decorators: [{
143
+ FsButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsButtonDirective, deps: [{ token: i1.MatButton, host: true, optional: true }, { token: i2.FsFormDirective, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
144
+ FsButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: { name: "name", dirtySubmit: "dirtySubmit", form: "form" }, host: { properties: { "style.transition": "this.transitionStyle" } }, ngImport: i0 });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsButtonDirective, decorators: [{
146
146
  type: Directive,
147
147
  args: [{
148
148
  selector: '[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])',
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
163
163
  type: HostBinding,
164
164
  args: ['style.transition']
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEdBQ2hHLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxpQkFBaUI7SUFvQjVCLFlBQzhCLFVBQXFCLEVBQzdCLEtBQXNCLEVBQ2xDLFdBQXVCLEVBQ3ZCLE1BQXlCO1FBSEwsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWxCNUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNbkIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFPL0IsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUM7UUFD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QUUsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7OzthQU1oQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNwQixPQUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLDhaQUE4WixFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUMvZDtJQUNILENBQUM7OzhHQXpLVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpTUFBaU07aUJBQzVNOzswQkFzQkksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7cUdBbkJKLElBQUk7c0JBRFYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0LXJhaXNlZC1idXR0b25dOm5vdChbZnNGb3JtQnV0dG9uU3RhbmRhbG9uZV0pLFttYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LWZsYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LXN0cm9rZWQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKScsXG59KVxuZXhwb3J0IGNsYXNzIEZzQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJ0eVN1Ym1pdCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm06IEZzRm9ybURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRyYW5zaXRpb24nKVxuICBwdWJsaWMgdHJhbnNpdGlvblN0eWxlID0gbnVsbDtcblxuICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG4gIHB1YmxpYyBzdWJtaXQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcmV2aW91c0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX21hdEJ1dHRvbjogTWF0QnV0dG9uLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm06IEZzRm9ybURpcmVjdGl2ZSxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSA9PT0gJ3N1Ym1pdCc7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtIHx8IHRoaXMuX2Zvcm07XG5cbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uYWRkQnV0dG9uKHRoaXMpO1xuXG4gICAgICBpZih0aGlzLnN1Ym1pdCkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlydHlTdWJtaXQpIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtLmRpcnR5U3VibWl0QnV0dG9uKSB7XG4gICAgICAgICAgICBpZighdGhpcy5mb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgICAgICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zaXRpb25TdHlsZSA9ICdub25lJztcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50cmFuc2l0aW9uU3R5bGUgPSBudWxsO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkgeyAgICBcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uICYmICF0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5fcHJldmlvdXNEaXNhYmxlZCA9IHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZDtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTsgXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVuYWJsZSgpIHtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ3Byb2Nlc3MnKTtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Y2Nlc3MoKSB7XG4gICAgdGhpcy5zZXRDbGFzcygnc3VjY2VzcycpO1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVycm9yKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ2Vycm9yJyk7XG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbikge1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xhc3MoY2xzKSB7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5fZ2V0U3ZnKGNscyk7XG4gICAgdGhpcy5fcmVzZXRDbGFzcygpO1xuICAgIHRoaXMuX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKTtcbiAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChgc3VibWl0LSR7Y2xzfWApO1xuICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3ZnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlc2V0QWN0aXZlKCkge1xuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgaWYoIXRoaXMuX3ByZXZpb3VzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zdmctaWNvbicpXG4gICAgICAuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgZWwucmVtb3ZlKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuX3Jlc2V0Q2xhc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmZvcm0/LnJlbW92ZUJ1dHRvbih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKSB7XG4gICAgLy8gLm1hdC1lbGV2YXRpb24tejIgcmVtb3ZlcyB0aGUgY2xpY2sgc2hhZG93IGFuaW1hdGlvblxuICAgIC8vdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC1lbGV2YXRpb24tejInKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0Q2xhc3MoKSB7XG4gICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Ym1pdC1zdWNjZXNzJywgJ3N1Ym1pdC1lcnJvcicsICdzdWJtaXQtcHJvY2VzcycsICdtYXQtZWxldmF0aW9uLXoyJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdmcodHlwZSkge1xuICAgIGlmICh0eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHJldHVybiBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGA8c3ZnIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tc3VjY2Vzc1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2ZXJzaW9uPVwiMS4xXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM4IDM4O1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgd2lkdGg9XCIzOHB4XCIgaGVpZ2h0PVwiMzhweFwiPlxuICAgICAgPGc+XG4gICAgICAgIDxnIGNsYXNzPVwiY2hlY2tcIj5cbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjkuNiwxMS45Yy0wLjUtMC41LTEuMy0wLjUtMS44LDBMMTYuMywyMy40bC02LjEtNi4xYy0wLjUtMC41LTEuMy0wLjUtMS44LDBzLTAuNSwxLjMsMCwxLjhsNyw3YzAuMywwLjMsMC42LDAuNCwwLjksMC40czAuNy0wLjEsMC45LTAuNGwxMi40LTEyLjRDMzAuMSwxMy4yLDMwLjEsMTIuNCwyOS42LDExLjl6XCIvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPC9zdmc+YCwgJ3RleHQveG1sJykuZmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3Byb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhgPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXByb2Nlc3NcIiB3aWR0aD1cIjM4XCIgaGVpZ2h0PVwiMzhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxIDEpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxjaXJjbGUgc3Ryb2tlLW9wYWNpdHk9XCIuNVwiIGN4PVwiMThcIiBjeT1cIjE4XCIgcj1cIjE4XCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMThcIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCIgdHlwZT1cInJvdGF0ZVwiIGZyb209XCIwIDE4IDE4XCIgdG89XCIzNjAgMTggMThcIiBkdXI9XCIuN3NcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIi8+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8L3N2Zz5gLCAndGV4dC94bWwnKS5maXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnZXJyb3InKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygnPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLWVycm9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzhweFwiIGhlaWdodD1cIjM4cHhcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PGc+PHBhdGggZD1cIk04IDFjMy45IDAgNyAzLjEgNyA3cy0zLjEgNy03IDctNy0zLjEtNy03IDMuMS03IDctN3pNOCAwYy00LjQgMC04IDMuNi04IDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh2MHpcIiBkYXRhLW9yaWdpbmFsPVwiIzQ0NDQ0NFwiIGRhdGEtb2xkX2NvbG9yPVwiIzQ0NDQ0NFwiLz48cGF0aCBkPVwiTTEyLjIgMTAuOGwtMi44LTIuOCAyLjgtMi44LTEuNC0xLjQtMi44IDIuOC0yLjgtMi44LTEuNCAxLjQgMi44IDIuOC0yLjggMi44IDEuNCAxLjQgMi44LTIuOCAyLjggMi44elwiLz48L2c+IDwvc3ZnPicsICd0ZXh0L3htbCcpLmZpcnN0Q2hpbGQ7XG4gICAgfVxuICB9XG59XG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEdBQ2hHLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxpQkFBaUI7SUFvQjVCLFlBQzhCLFVBQXFCLEVBQzdCLEtBQXNCLEVBQ2xDLFdBQXVCLEVBQ3ZCLE1BQXlCO1FBSEwsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWxCNUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNbkIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFPL0IsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUM7UUFDL0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFcEMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUIsSUFBRyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztxQkFDN0IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO3FCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDO2dCQUVMLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO3dCQUMvQixJQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFOzRCQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7eUJBQ2hCO3FCQUNGO2lCQUNGO2dCQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN2QztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsR0FBRztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQzthQUN2QyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNkLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLHVCQUF1QjtRQUM3Qix1REFBdUQ7UUFDdkQsaURBQWlEO0lBQ25ELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQUk7UUFDbEIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7Ozs7O2FBUWhDLEVBQUUsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7OzthQU1oQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNwQixPQUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLDhaQUE4WixFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUMvZDtJQUNILENBQUM7OytHQXpLVSxpQkFBaUI7bUdBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpTUFBaU07aUJBQzVNOzswQkFzQkksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7cUdBbkJKLElBQUk7c0JBRFYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0LXJhaXNlZC1idXR0b25dOm5vdChbZnNGb3JtQnV0dG9uU3RhbmRhbG9uZV0pLFttYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LWZsYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LXN0cm9rZWQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKScsXG59KVxuZXhwb3J0IGNsYXNzIEZzQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJ0eVN1Ym1pdCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm06IEZzRm9ybURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRyYW5zaXRpb24nKVxuICBwdWJsaWMgdHJhbnNpdGlvblN0eWxlID0gbnVsbDtcblxuICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG4gIHB1YmxpYyBzdWJtaXQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcmV2aW91c0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX21hdEJ1dHRvbjogTWF0QnV0dG9uLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm06IEZzRm9ybURpcmVjdGl2ZSxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSA9PT0gJ3N1Ym1pdCc7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtIHx8IHRoaXMuX2Zvcm07XG5cbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uYWRkQnV0dG9uKHRoaXMpO1xuXG4gICAgICBpZih0aGlzLnN1Ym1pdCkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlydHlTdWJtaXQpIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtLmRpcnR5U3VibWl0QnV0dG9uKSB7XG4gICAgICAgICAgICBpZighdGhpcy5mb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgICAgICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zaXRpb25TdHlsZSA9ICdub25lJztcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50cmFuc2l0aW9uU3R5bGUgPSBudWxsO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkgeyAgICBcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uICYmICF0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5fcHJldmlvdXNEaXNhYmxlZCA9IHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZDtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTsgXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVuYWJsZSgpIHtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ3Byb2Nlc3MnKTtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Y2Nlc3MoKSB7XG4gICAgdGhpcy5zZXRDbGFzcygnc3VjY2VzcycpO1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVycm9yKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ2Vycm9yJyk7XG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbikge1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xhc3MoY2xzKSB7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5fZ2V0U3ZnKGNscyk7XG4gICAgdGhpcy5fcmVzZXRDbGFzcygpO1xuICAgIHRoaXMuX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKTtcbiAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChgc3VibWl0LSR7Y2xzfWApO1xuICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3ZnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlc2V0QWN0aXZlKCkge1xuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgaWYoIXRoaXMuX3ByZXZpb3VzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zdmctaWNvbicpXG4gICAgICAuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgZWwucmVtb3ZlKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuX3Jlc2V0Q2xhc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmZvcm0/LnJlbW92ZUJ1dHRvbih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKSB7XG4gICAgLy8gLm1hdC1lbGV2YXRpb24tejIgcmVtb3ZlcyB0aGUgY2xpY2sgc2hhZG93IGFuaW1hdGlvblxuICAgIC8vdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC1lbGV2YXRpb24tejInKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0Q2xhc3MoKSB7XG4gICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Ym1pdC1zdWNjZXNzJywgJ3N1Ym1pdC1lcnJvcicsICdzdWJtaXQtcHJvY2VzcycsICdtYXQtZWxldmF0aW9uLXoyJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdmcodHlwZSkge1xuICAgIGlmICh0eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHJldHVybiBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGA8c3ZnIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tc3VjY2Vzc1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2ZXJzaW9uPVwiMS4xXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM4IDM4O1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgd2lkdGg9XCIzOHB4XCIgaGVpZ2h0PVwiMzhweFwiPlxuICAgICAgPGc+XG4gICAgICAgIDxnIGNsYXNzPVwiY2hlY2tcIj5cbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjkuNiwxMS45Yy0wLjUtMC41LTEuMy0wLjUtMS44LDBMMTYuMywyMy40bC02LjEtNi4xYy0wLjUtMC41LTEuMy0wLjUtMS44LDBzLTAuNSwxLjMsMCwxLjhsNyw3YzAuMywwLjMsMC42LDAuNCwwLjksMC40czAuNy0wLjEsMC45LTAuNGwxMi40LTEyLjRDMzAuMSwxMy4yLDMwLjEsMTIuNCwyOS42LDExLjl6XCIvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPC9zdmc+YCwgJ3RleHQveG1sJykuZmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3Byb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhgPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXByb2Nlc3NcIiB3aWR0aD1cIjM4XCIgaGVpZ2h0PVwiMzhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxIDEpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxjaXJjbGUgc3Ryb2tlLW9wYWNpdHk9XCIuNVwiIGN4PVwiMThcIiBjeT1cIjE4XCIgcj1cIjE4XCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMThcIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCIgdHlwZT1cInJvdGF0ZVwiIGZyb209XCIwIDE4IDE4XCIgdG89XCIzNjAgMTggMThcIiBkdXI9XCIuN3NcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIi8+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8L3N2Zz5gLCAndGV4dC94bWwnKS5maXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnZXJyb3InKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygnPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLWVycm9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzhweFwiIGhlaWdodD1cIjM4cHhcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PGc+PHBhdGggZD1cIk04IDFjMy45IDAgNyAzLjEgNyA3cy0zLjEgNy03IDctNy0zLjEtNy03IDMuMS03IDctN3pNOCAwYy00LjQgMC04IDMuNi04IDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh2MHpcIiBkYXRhLW9yaWdpbmFsPVwiIzQ0NDQ0NFwiIGRhdGEtb2xkX2NvbG9yPVwiIzQ0NDQ0NFwiLz48cGF0aCBkPVwiTTEyLjIgMTAuOGwtMi44LTIuOCAyLjgtMi44LTEuNC0xLjQtMi44IDIuOC0yLjgtMi44LTEuNCAxLjQgMi44IDIuOC0yLjggMi44IDEuNCAxLjQgMi44LTIuOCAyLjggMi44elwiLz48L2c+IDwvc3ZnPicsICd0ZXh0L3htbCcpLmZpcnN0Q2hpbGQ7XG4gICAgfVxuICB9XG59XG4iXX0=