@simpleangularcontrols/sac-bootstrap3 16.0.0-rc.20 → 16.0.0-rc.21

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 (113) hide show
  1. package/controls/buttons/button.d.ts.map +1 -1
  2. package/controls/buttons/button.module.d.ts.map +1 -1
  3. package/controls/checkbox/checkbox.d.ts +1 -1
  4. package/controls/checkbox/checkbox.d.ts.map +1 -1
  5. package/controls/checkbox/radiobuttons.d.ts +1 -1
  6. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  7. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  8. package/controls/datetime/date.d.ts.map +1 -1
  9. package/controls/datetime/dateselector.d.ts.map +1 -1
  10. package/controls/datetime/datetime.d.ts.map +1 -1
  11. package/controls/datetime/time.d.ts.map +1 -1
  12. package/controls/dialog/dialog.d.ts +4 -4
  13. package/controls/dialog/dialog.d.ts.map +1 -1
  14. package/controls/grid/grid.d.ts +1 -1
  15. package/controls/grid/grid.d.ts.map +1 -1
  16. package/controls/grid/gridbutton.d.ts +5 -2
  17. package/controls/grid/gridbutton.d.ts.map +1 -1
  18. package/controls/grid/gridimage.d.ts +0 -1
  19. package/controls/grid/gridimage.d.ts.map +1 -1
  20. package/controls/grid/paging.d.ts.map +1 -1
  21. package/controls/input/input.d.ts.map +1 -1
  22. package/controls/input/inputarea.d.ts.map +1 -1
  23. package/controls/input/inputcurrency.d.ts +1 -1
  24. package/controls/input/inputcurrency.d.ts.map +1 -1
  25. package/controls/input/inputdecimal.d.ts.map +1 -1
  26. package/controls/input/inputemail.d.ts.map +1 -1
  27. package/controls/input/inputinteger.d.ts.map +1 -1
  28. package/controls/input/inputpassword.d.ts.map +1 -1
  29. package/controls/input/inputsearch.d.ts +1 -1
  30. package/controls/input/inputsearch.d.ts.map +1 -1
  31. package/controls/list/dropdown.d.ts +2 -13
  32. package/controls/list/dropdown.d.ts.map +1 -1
  33. package/controls/list/dropdownoption.directive.d.ts +15 -0
  34. package/controls/list/dropdownoption.directive.d.ts.map +1 -0
  35. package/controls/list/list.module.d.ts +5 -3
  36. package/controls/list/list.module.d.ts.map +1 -1
  37. package/controls/list/list.token.d.ts +4 -0
  38. package/controls/list/list.token.d.ts.map +1 -0
  39. package/controls/list/listbox.d.ts +4 -1
  40. package/controls/list/listbox.d.ts.map +1 -1
  41. package/controls/list/listboxoption.directive.d.ts +18 -0
  42. package/controls/list/listboxoption.directive.d.ts.map +1 -0
  43. package/controls/static/formcontainer.d.ts.map +1 -1
  44. package/controls/static/staticlabel.d.ts +1 -1
  45. package/controls/static/staticlabel.d.ts.map +1 -1
  46. package/controls/tabs/tab.d.ts +1 -1
  47. package/controls/tabs/tab.d.ts.map +1 -1
  48. package/controls/tinymce/tinymce.d.ts +1 -1
  49. package/controls/tinymce/tinymce.d.ts.map +1 -1
  50. package/controls/tooltip/tooltip.d.ts.map +1 -1
  51. package/controls/treeview/treeview.d.ts.map +1 -1
  52. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  53. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  54. package/controls/upload/upload.d.ts +1 -1
  55. package/controls/upload/upload.d.ts.map +1 -1
  56. package/controls/upload/uploadmultiple.d.ts +1 -1
  57. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  58. package/controls/validation/validationsummary.d.ts +1 -1
  59. package/controls/validation/validationsummary.d.ts.map +1 -1
  60. package/esm2022/controls/buttons/button.mjs +4 -4
  61. package/esm2022/controls/buttons/button.module.mjs +6 -11
  62. package/esm2022/controls/checkbox/checkbox.mjs +8 -7
  63. package/esm2022/controls/checkbox/radiobutton.mjs +3 -3
  64. package/esm2022/controls/checkbox/radiobuttons.mjs +8 -7
  65. package/esm2022/controls/contextmenu/contextmenu.mjs +10 -4
  66. package/esm2022/controls/datetime/date.mjs +9 -8
  67. package/esm2022/controls/datetime/dateselector.mjs +4 -4
  68. package/esm2022/controls/datetime/datetime.mjs +5 -4
  69. package/esm2022/controls/datetime/time.mjs +5 -4
  70. package/esm2022/controls/dialog/dialog.mjs +17 -12
  71. package/esm2022/controls/grid/grid.mjs +10 -9
  72. package/esm2022/controls/grid/grid.module.mjs +3 -2
  73. package/esm2022/controls/grid/gridbutton.mjs +11 -27
  74. package/esm2022/controls/grid/gridcolumn.mjs +3 -3
  75. package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
  76. package/esm2022/controls/grid/gridimage.mjs +5 -13
  77. package/esm2022/controls/grid/paging.mjs +4 -4
  78. package/esm2022/controls/input/input.mjs +5 -4
  79. package/esm2022/controls/input/inputarea.mjs +5 -4
  80. package/esm2022/controls/input/inputcurrency.mjs +8 -7
  81. package/esm2022/controls/input/inputdecimal.mjs +5 -4
  82. package/esm2022/controls/input/inputemail.mjs +5 -4
  83. package/esm2022/controls/input/inputinteger.mjs +5 -4
  84. package/esm2022/controls/input/inputpassword.mjs +5 -4
  85. package/esm2022/controls/input/inputsearch.mjs +8 -7
  86. package/esm2022/controls/list/dropdown.mjs +13 -32
  87. package/esm2022/controls/list/dropdownoption.directive.mjs +29 -0
  88. package/esm2022/controls/list/list.module.mjs +11 -14
  89. package/esm2022/controls/list/list.token.mjs +6 -0
  90. package/esm2022/controls/list/listbox.mjs +16 -13
  91. package/esm2022/controls/list/listboxoption.directive.mjs +32 -0
  92. package/esm2022/controls/static/formcontainer.mjs +5 -4
  93. package/esm2022/controls/static/staticlabel.mjs +8 -7
  94. package/esm2022/controls/tabs/tab.mjs +8 -6
  95. package/esm2022/controls/tinymce/tinymce.mjs +9 -8
  96. package/esm2022/controls/tooltip/tooltip.mjs +4 -4
  97. package/esm2022/controls/treeview/treeview.mjs +6 -16
  98. package/esm2022/controls/upload/dropzonemultiple.mjs +5 -6
  99. package/esm2022/controls/upload/dropzonesingle.mjs +5 -6
  100. package/esm2022/controls/upload/upload.mjs +8 -7
  101. package/esm2022/controls/upload/uploadmultiple.mjs +8 -7
  102. package/esm2022/controls/validation/validationsummary.mjs +5 -5
  103. package/esm2022/public_api.mjs +3 -1
  104. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs +202 -169
  105. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
  106. package/package.json +2 -2
  107. package/public_api.d.ts +2 -0
  108. package/public_api.d.ts.map +1 -1
  109. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.21.tgz +0 -0
  110. package/controls/contextmenu/index.d.ts +0 -2
  111. package/controls/contextmenu/index.d.ts.map +0 -1
  112. package/esm2022/controls/contextmenu/index.mjs +0 -2
  113. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.20.tgz +0 -0
@@ -1,18 +1,19 @@
1
- import { Component, Host, Optional, forwardRef } from '@angular/core';
2
- import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- // import { SacBaseSelectControl } from '../../common/baseselectcontrol';
4
- // import { Validation } from '../../validation';
5
- import { AsyncPipe, NgClass, NgFor, NgIf, NgTemplateOutlet, } from '@angular/common';
6
- import { SacListboxCommon } from '@simpleangularcontrols/sac-common';
7
1
  import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
8
2
  import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
9
3
  import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
10
4
  import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
11
5
  import { SacTooltipComponent } from '../tooltip/tooltip';
12
- import { SacDropdownOptionDirective } from './dropdown';
6
+ import { LISTBOX_TOKEN } from './list.token';
7
+ import { SacListboxOptionDirective } from './listboxoption.directive';
8
+ import { AsyncPipe, NgClass, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
9
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
10
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
11
+ import { SacListboxCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
13
12
  import * as i0 from "@angular/core";
14
13
  import * as i1 from "../layout/formlayout.directive";
15
- import * as i2 from "@angular/forms";
14
+ /**
15
+ * Listbox Komponente
16
+ */
16
17
  class SacListboxComponent extends SacListboxCommon {
17
18
  // #region Constructors
18
19
  /**
@@ -25,6 +26,7 @@ class SacListboxComponent extends SacListboxCommon {
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
27
28
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacListboxComponent, isStandalone: true, selector: "sac-listbox", providers: [
29
+ { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },
28
30
  {
29
31
  provide: NG_VALUE_ACCESSOR,
30
32
  multi: true,
@@ -35,12 +37,13 @@ class SacListboxComponent extends SacListboxCommon {
35
37
  multi: true,
36
38
  useExisting: forwardRef(() => SacListboxComponent),
37
39
  },
38
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
40
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }, { kind: "directive", type: SacListboxOptionDirective, selector: "[sacOption],option" }] }); }
39
41
  }
40
42
  export { SacListboxComponent };
41
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, decorators: [{
42
44
  type: Component,
43
45
  args: [{ selector: 'sac-listbox', providers: [
46
+ { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },
44
47
  {
45
48
  provide: NG_VALUE_ACCESSOR,
46
49
  multi: true,
@@ -55,8 +58,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
58
  NgClass,
56
59
  NgIf,
57
60
  NgFor,
58
- FormsModule,
59
- SacDropdownOptionDirective,
60
61
  NgTemplateOutlet,
61
62
  AsyncPipe,
62
63
  SacToLabelWidthCssPipe,
@@ -64,10 +65,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
64
65
  SacToLabelHeightPipe,
65
66
  SacToControlHeightPipe,
66
67
  SacTooltipComponent,
67
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
68
+ SacTestingAttributePipe,
69
+ SacListboxOptionDirective,
70
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n" }]
68
71
  }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
69
72
  type: Host
70
73
  }, {
71
74
  type: Optional
72
75
  }] }, { type: i0.Injector }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9saXN0L2xpc3Rib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvbGlzdC9saXN0Ym94Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLHlFQUF5RTtBQUN6RSxpREFBaUQ7QUFDakQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUNMLElBQUksRUFDSixnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFFeEQsTUFnQ2EsbUJBQW9CLFNBQVEsZ0JBQWdCO0lBQ3ZELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDBEQTVCbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDbkQ7U0FDRixpRENuQ0gsNDJIQThGQSw0Q0R4REksT0FBTyxvRkFDUCxJQUFJLDZGQUNKLEtBQUssa0hBQ0wsV0FBVyw0T0FDWCwwQkFBMEIsK0RBQzFCLGdCQUFnQiwrSUFDaEIsU0FBUyx5Q0FDVCxzQkFBc0IsbURBQ3RCLHdCQUF3QixxREFDeEIsb0JBQW9CLGlEQUNwQixzQkFBc0Isd0RBQ3RCLG1CQUFtQjs7U0FHVixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFoQy9CLFNBQVM7K0JBQ0UsYUFBYSxhQUdaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcscUJBQXFCO3lCQUNqQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7eUJBQ25EO3FCQUNGLGNBQ1csSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLFdBQVc7d0JBQ1gsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIGltcG9ydCB7IFNhY0Jhc2VTZWxlY3RDb250cm9sIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VzZWxlY3Rjb250cm9sJztcbi8vIGltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7XG4gIEFzeW5jUGlwZSxcbiAgTmdDbGFzcyxcbiAgTmdGb3IsXG4gIE5nSWYsXG4gIE5nVGVtcGxhdGVPdXRsZXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTYWNMaXN0Ym94Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IFNhY0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guaHRtbCcsXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogU2FjTGlzdGJveENvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0xpc3Rib3hDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2FjRHJvcGRvd25PcHRpb25EaXJlY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBc3luY1BpcGUsXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNMaXN0Ym94Q29tcG9uZW50IGV4dGVuZHMgU2FjTGlzdGJveENvbW1vbiB7XG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWVycm9yXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICBbbmdDbGFzc109XCJjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XCI+XG4gICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNBZGFwdGl2ZUxhYmVsXCJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19bGFiZWxcIlxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTIgY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seSddXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCI+XG4gICAgICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsID8gJ2ZsZXgnIDogbnVsbFwiPlxuICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwie3sgbmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb21wb25lbnRIZWlnaHQgfCB0b0NvbnRyb2xIZWlnaHRdXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJyb3dzaXplXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRJdGVtcygkZXZlbnQudGFyZ2V0KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwaXRlbXMgPT09ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uW29wdGlvbnZhbHVlXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uZW5hYmxlZCAhPT0gJycgJiYgb3B0aW9uW29wdGlvbmVuYWJsZWRdID09PSBmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9ubGFiZWx0ZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHsgbGFiZWw6IG9wdGlvbltvcHRpb25sYWJlbF0gfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBpdGVtcyAhPT0gJydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIubGFiZWxdPVwib3B0aW9uW2dyb3VwbGFiZWxdXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uW2dyb3VwaXRlbXNdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVtvcHRpb252YWx1ZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25lbmFibGVkICE9PSAnJyAmJiBpdGVtW29wdGlvbmVuYWJsZWRdID09PSBmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvbmxhYmVsdGVtcGxhdGUgfHwgZGVmYXVsdEl0ZW1MYWJlbFRlbXBsYXRlOyBjb250ZXh0OiB7IGxhYmVsOiBpdGVtW29wdGlvbmxhYmVsXSB9XCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRncm91cD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi1yaWdodDogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiPlxuICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9jayBoZWxwLWJsb2NrLWVycm9yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIj5cbiAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2RlZmF1bHRJdGVtTGFiZWxUZW1wbGF0ZVxuICAgIGxldC1sYWJlbD1cImxhYmVsXCI+XG4gICAge3sgbGFiZWwgfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9saXN0L2xpc3Rib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvbGlzdC9saXN0Ym94Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUU5Rjs7R0FFRztBQUNILE1BaUNhLG1CQUFvQixTQUFRLGdCQUFnQjtJQUNyRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQWdDLFVBQWtDLEVBQUUsUUFBa0I7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQVZRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDBEQTdCakI7WUFDUCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzVEO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7YUFDbkM7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUNyRDtTQUNKLGlEQ2hDTCx1L0hBZ0dBLDRDRDdEUSxPQUFPLG9GQUNQLElBQUksNkZBQ0osS0FBSyxtSEFDTCxnQkFBZ0IsK0lBQ2hCLFNBQVMseUNBQ1Qsc0JBQXNCLG1EQUN0Qix3QkFBd0IscURBQ3hCLG9CQUFvQixpREFDcEIsc0JBQXNCLHdEQUN0QixtQkFBbUIsbURBQ25CLHVCQUF1Qix5REFDdkIseUJBQXlCOztTQUdwQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFqQy9CLFNBQVM7K0JBQ0ksYUFBYSxhQUdaO3dCQUNQLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUM1RDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHFCQUFxQjt5QkFDbkM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDO3lCQUNyRDtxQkFDSixjQUNXLElBQUksV0FDUDt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3FCQUM1Qjs7MEJBVVksSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IExJU1RCT1hfVE9LRU4gfSBmcm9tICcuL2xpc3QudG9rZW4nO1xuaW1wb3J0IHsgU2FjTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGlzdGJveG9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNMaXN0Ym94Q29tbW9uLCBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbi8qKlxuICogTGlzdGJveCBLb21wb25lbnRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLWxpc3Rib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94Lmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTElTVEJPWF9UT0tFTiwgdXNlRXhpc3Rpbmc6IFNhY0xpc3Rib3hDb21wb25lbnQgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNMaXN0Ym94Q29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNMaXN0Ym94Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICAgICAgICBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSxcbiAgICAgICAgU2FjTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNMaXN0Ym94Q29tcG9uZW50IGV4dGVuZHMgU2FjTGlzdGJveENvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcG9uZW50SGVpZ2h0IHwgdG9MYWJlbEhlaWdodFwiXG4gICAgW2F0dHIuZGF0YS1lMmUta2V5XT1cIm5hbWUgfCB0ZXN0aW5nYXR0cmlidXRlIDogZTJlaWRlbnRpZmllclwiPlxuICAgIDxsYWJlbFxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fWxhYmVsXCJcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknXVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweFwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC14cy0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiPlxuICAgICAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/ICdmbGV4JyA6IG51bGxcIj5cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICAgIGlkPVwie3sgbmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cInJvd3NpemVcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJnZXRTZWxlY3RlZEl0ZW1zKCRldmVudC50YXJnZXQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBpdGVtcyA9PT0gJydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25bb3B0aW9udmFsdWVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25lbmFibGVkICE9PSAnJyAmJiBvcHRpb25bb3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25sYWJlbHRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtTGFiZWxUZW1wbGF0ZTsgY29udGV4dDogeyBsYWJlbDogb3B0aW9uW29wdGlvbmxhYmVsXSB9XCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cGl0ZW1zICE9PSAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0Z3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5sYWJlbF09XCJvcHRpb25bZ3JvdXBsYWJlbF1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25bZ3JvdXBpdGVtc11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtW29wdGlvbnZhbHVlXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbmVuYWJsZWQgIT09ICcnICYmIGl0ZW1bb3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9ubGFiZWx0ZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHsgbGFiZWw6IGl0ZW1bb3B0aW9ubGFiZWxdIH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgbWFyZ2luLXJpZ2h0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrXCI+XG4gICAgICAgICAgICB7eyBoZWxwdGV4dCB9fVxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIlxuICAgICAgICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiPlxuICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgICAjZGVmYXVsdEl0ZW1MYWJlbFRlbXBsYXRlXG4gICAgbGV0LWxhYmVsPVwibGFiZWxcIlxuICAgID57eyBsYWJlbCB9fTwvbmctdGVtcGxhdGVcbj5cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { LISTBOX_TOKEN } from './list.token';
2
+ import { Directive, Inject, Optional } from '@angular/core';
3
+ import { SacListboxOptionCommon } from '@simpleangularcontrols/sac-common';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Option Item in Listbox
7
+ */
8
+ class SacListboxOptionDirective extends SacListboxOptionCommon {
9
+ // #region Constructors
10
+ /**
11
+ * Konstruktor
12
+ * @param elementRef Referenz auf DOM Element
13
+ * @param renderer Angular Rendering Engine
14
+ * @param listbox Referenz auf Listbox Komponente
15
+ */
16
+ constructor(elementRef, renderer, listbox) {
17
+ super(elementRef, renderer, listbox);
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LISTBOX_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacListboxOptionDirective, isStandalone: true, selector: "[sacOption],option", usesInheritance: true, ngImport: i0 }); }
21
+ }
22
+ export { SacListboxOptionDirective };
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxOptionDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{ selector: '[sacOption],option', standalone: true }]
26
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
27
+ type: Optional
28
+ }, {
29
+ type: Inject,
30
+ args: [LISTBOX_TOKEN]
31
+ }] }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveG9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvbGlzdC9saXN0Ym94b3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFM0U7O0dBRUc7QUFDSCxNQUNhLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNqRSx1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUFZLFVBQXNCLEVBQUUsUUFBbUIsRUFBcUMsT0FBWTtRQUNwRyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQVhRLHlCQUF5QixxRUFTMkMsYUFBYTttR0FUakYseUJBQXlCOztTQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzswQkFVRCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMSVNUQk9YX1RPS0VOIH0gZnJvbSAnLi9saXN0LnRva2VuJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPcHRpb25hbCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNMaXN0Ym94T3B0aW9uQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuLyoqXG4gKiBPcHRpb24gSXRlbSBpbiBMaXN0Ym94XG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzYWNPcHRpb25dLG9wdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBTYWNMaXN0Ym94T3B0aW9uRGlyZWN0aXZlIGV4dGVuZHMgU2FjTGlzdGJveE9wdGlvbkNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIEtvbnN0cnVrdG9yXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJlbnogYXVmIERPTSBFbGVtZW50XG4gICAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIEVuZ2luZVxuICAgICAqIEBwYXJhbSBsaXN0Ym94IFJlZmVyZW56IGF1ZiBMaXN0Ym94IEtvbXBvbmVudGVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyLCBAT3B0aW9uYWwoKSBASW5qZWN0KExJU1RCT1hfVE9LRU4pIGxpc3Rib3g6IGFueSkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCByZW5kZXJlciwgbGlzdGJveCk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { SacTooltipComponent } from '../tooltip/tooltip';
5
5
  import { NgClass, NgIf } from '@angular/common';
6
6
  import { Component, Host, Optional, forwardRef } from '@angular/core';
7
7
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
8
- import { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';
8
+ import { SacStaticFormContainerCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../layout/formlayout.directive";
11
11
  /**
@@ -44,7 +44,7 @@ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
44
44
  multi: true,
45
45
  useExisting: forwardRef(() => SacStaticFormContainerComponent),
46
46
  },
47
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
47
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
48
48
  }
49
49
  export { SacStaticFormContainerComponent };
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
@@ -67,10 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  SacToControlWidthCssPipe,
68
68
  SacToLabelHeightPipe,
69
69
  SacTooltipComponent,
70
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n" }]
70
+ SacTestingAttributePipe,
71
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n" }]
71
72
  }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
72
73
  type: Host
73
74
  }, {
74
75
  type: Optional
75
76
  }] }, { type: i0.Injector }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVqRjs7Ozs7Ozs7Ozs7OztJQWFJO0FBQ0osTUEwQmEsK0JBQWdDLFNBQVEsNEJBQTRCO0lBQzdFLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBVlEsK0JBQStCO21HQUEvQiwrQkFBK0Isc0VBdEI3QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSwrQkFBK0I7YUFDL0M7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzthQUNqRTtTQUNKLGlEQ3ZDTCxxa0VBeURBLDRDRGZRLE9BQU8sb0ZBQ1AsSUFBSSx3RkFDSixzQkFBc0IsbURBQ3RCLHdCQUF3QixxREFDeEIsb0JBQW9CLHNEQUNwQixtQkFBbUI7O1NBR2QsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBMUIzQyxTQUFTOytCQUNJLHlCQUF5QixhQUd4Qjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLGlDQUFpQzt5QkFDL0M7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdDQUFnQyxDQUFDO3lCQUNqRTtxQkFDSixjQUNXLElBQUksV0FDUDt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3FCQUN0Qjs7MEJBVVksSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudCBmw7xyIGVpbmJpbmR1bmcgZWluZXMgYmVsaWViaWdlbiBDb250cm9scyBpbiBkaWUgRm9ybSBTdHJ1a3R1clxuICpcbiAqIEBleGFtcGxlXG4gKiAgPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jb250YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnPlxuICogICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxuICogIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmdTdGF0aWNGb3JtQ29udGFpbmVyIG5hbWU9J215Zm9ybWNpbnRhaW5lcicgbGFiZWw9XCJNeSBDdXN0b20gRm9ybSBDb250cm9sXCIgW2lzcmVxdWlyZWRdPSdmYWxzZScgdG9vbHRpcHRleHQ9XCJEaWVzIGlzdCBlaW4gVG9vbHRpcCBUZXh0XCI+XG4gKiAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbiAqIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2Zvcm1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtY29udGFpbmVyLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdJZixcbiAgICAgICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9vbHRpcENvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpc2ludmFsaWQgJiYgZXJyb3JtZXNzYWdlXCJcbiAgICBbbmdDbGFzc109XCJjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XCI+XG4gICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNBZGFwdGl2ZUxhYmVsXCJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19bGFiZWxcIlxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTIgY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seSddXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCI+XG4gICAgICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsID8gJ2ZsZXgnIDogbnVsbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi1yaWdodDogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiPlxuICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9jayBoZWxwLWJsb2NrLWVycm9yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaXNpbnZhbGlkICYmIGVycm9ybWVzc2FnZVwiPlxuICAgICAgICAgICAge3sgZXJyb3JtZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUUxRzs7Ozs7Ozs7Ozs7OztJQWFJO0FBQ0osTUEyQmEsK0JBQWdDLFNBQVEsNEJBQTRCO0lBQzdFLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBVlEsK0JBQStCO21HQUEvQiwrQkFBK0Isc0VBdkI3QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSwrQkFBK0I7YUFDL0M7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzthQUNqRTtTQUNKLGlEQ3ZDTCwwb0VBMERBLDRDRGhCUSxPQUFPLG9GQUNQLElBQUksd0ZBQ0osc0JBQXNCLG1EQUN0Qix3QkFBd0IscURBQ3hCLG9CQUFvQixzREFDcEIsbUJBQW1CLG1EQUNuQix1QkFBdUI7O1NBR2xCLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQTNCM0MsU0FBUzsrQkFDSSx5QkFBeUIsYUFHeEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxpQ0FBaUM7eUJBQy9DO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzt5QkFDakU7cUJBQ0osY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3FCQUMxQjs7MEJBVVksSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuLyoqXG4gKiBDb21wb25lbnQgZsO8ciBlaW5iaW5kdW5nIGVpbmVzIGJlbGllYmlnZW4gQ29udHJvbHMgaW4gZGllIEZvcm0gU3RydWt0dXJcbiAqXG4gKiBAZXhhbXBsZVxuICogIDxuZ1N0YXRpY0Zvcm1Db250YWluZXIgbmFtZT0nbXlmb3JtY29udGFpbmVyJyBsYWJlbD1cIk15IEN1c3RvbSBGb3JtIENvbnRyb2xcIiBbaXNyZXF1aXJlZF09J2ZhbHNlJz5cbiAqICAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbiAqICA8L25nU3RhdGljRm9ybUNvbnRhaW5lcj5cbiAqXG4gKiBAZXhhbXBsZVxuICogPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jaW50YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnIHRvb2x0aXB0ZXh0PVwiRGllcyBpc3QgZWluIFRvb2x0aXAgVGV4dFwiPlxuICogICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIC8+XG4gKiA8L25nU3RhdGljRm9ybUNvbnRhaW5lcj5cbiAqXG4gKiovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy1zdGF0aWNmb3JtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWNvbnRhaW5lci5odG1sJyxcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSxcbiAgICAgICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgICAgIFNhY1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWVycm9yXT1cImlzaW52YWxpZCAmJiBlcnJvcm1lc3NhZ2VcIlxuICAgIFtuZ0NsYXNzXT1cImNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRcIlxuICAgIFthdHRyLmRhdGEtZTJlLWtleV09XCJuYW1lIHwgdGVzdGluZ2F0dHJpYnV0ZSA6IGUyZWlkZW50aWZpZXJcIj5cbiAgICA8bGFiZWxcbiAgICAgICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc0FkYXB0aXZlTGFiZWxcIlxuICAgICAgICBpZD1cInt7IG5hbWUgfX1sYWJlbFwiXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxuICAgICAgICBjbGFzcz1cImNvbC14cy0xMiBjb250cm9sLWxhYmVsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICdzci1vbmx5J11cIlxuICAgICAgICBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zYWMtdG9vbHRpcD5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTJcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIj5cbiAgICAgICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWwgPyAnZmxleCcgOiBudWxsXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgbWFyZ2luLXJpZ2h0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrXCI+XG4gICAgICAgICAgICB7eyBoZWxwdGV4dCB9fVxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIlxuICAgICAgICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpc2ludmFsaWQgJiYgZXJyb3JtZXNzYWdlXCI+XG4gICAgICAgICAgICB7eyBlcnJvcm1lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,11 +1,11 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { Component, Host, Optional, forwardRef } from '@angular/core';
3
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';
5
1
  import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
6
2
  import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
7
3
  import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
8
4
  import { SacTooltipComponent } from '../tooltip/tooltip';
5
+ import { NgClass, NgIf } from '@angular/common';
6
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
7
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import { SacStaticLabelCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../layout/formlayout.directive";
11
11
  class SacStaticLabelComponent extends SacStaticLabelCommon {
@@ -30,7 +30,7 @@ class SacStaticLabelComponent extends SacStaticLabelCommon {
30
30
  multi: true,
31
31
  useExisting: forwardRef(() => SacStaticLabelComponent),
32
32
  },
33
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
33
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
34
34
  }
35
35
  export { SacStaticLabelComponent };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
@@ -53,10 +53,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
53
  SacToControlWidthCssPipe,
54
54
  SacToLabelHeightPipe,
55
55
  SacTooltipComponent,
56
- ], template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
56
+ SacTestingAttributePipe,
57
+ ], template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
57
58
  }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
58
59
  type: Host
59
60
  }, {
60
61
  type: Optional
61
62
  }] }, { type: i0.Injector }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUV6RCxNQTBCYSx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDL0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBYlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsOERBdEJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSx1QkFBdUI7YUFDckM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN2RDtTQUNGLGlEQ3pCSCx3MkRBcURBLDRDRHpCSSxJQUFJLDZGQUNKLE9BQU8sK0VBQ1Asc0JBQXNCLG1EQUN0Qix3QkFBd0IscURBQ3hCLG9CQUFvQixzREFDcEIsbUJBQW1COztTQUdWLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQTFCbkMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyx5QkFBeUI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzt5QkFDdkQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixPQUFPO3dCQUNQLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjtxQkFDcEI7OzBCQVdFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY1N0YXRpY0xhYmVsQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1zdGF0aWNsYWJlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0aWNsYWJlbC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0NsYXNzLFxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxuICAgIFNhY1Rvb2x0aXBDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljTGFiZWxDb21tb24ge1xuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcG9uZW50SGVpZ2h0IHwgdG9MYWJlbEhlaWdodFwiPlxuICAgIDxsYWJlbFxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fWxhYmVsXCJcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknXVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zYWMtdG9vbHRpcD5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTJcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWwgPyAnZmxleCcgOiBudWxsXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJuYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cIjBcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJ2YWx1ZVwiPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWNcIlxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgbWFyZ2luLXJpZ2h0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8cFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0ZXh0JyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cbiAgICAgICAgICAgIHt7IGhlbHB0ZXh0IH19XG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVsRyxNQTJCYSx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDN0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFnQyxVQUFrQyxFQUFFLFFBQWtCO1FBQ2xGLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FWUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4REF2QnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3pEO1NBQ0osaURDekJMLDY2REFzREEsNENEMUJRLElBQUksNkZBQ0osT0FBTywrRUFDUCxzQkFBc0IsbURBQ3RCLHdCQUF3QixxREFDeEIsb0JBQW9CLHNEQUNwQixtQkFBbUIsbURBQ25CLHVCQUF1Qjs7U0FHbEIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBM0JuQyxTQUFTOytCQUNJLGlCQUFpQixhQUdoQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHlCQUF5Qjt5QkFDdkM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3lCQUN6RDtxQkFDSixjQUNXLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7cUJBQzFCOzswQkFVWSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjU3RhdGljTGFiZWxDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtc3RhdGljbGFiZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGF0aWNsYWJlbC5odG1sJyxcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9vbHRpcENvbXBvbmVudCxcbiAgICAgICAgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjU3RhdGljTGFiZWxDb21wb25lbnQgZXh0ZW5kcyBTYWNTdGF0aWNMYWJlbENvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcG9uZW50SGVpZ2h0IHwgdG9MYWJlbEhlaWdodFwiXG4gICAgW2F0dHIuZGF0YS1lMmUta2V5XT1cIm5hbWUgfCB0ZXN0aW5nYXR0cmlidXRlIDogZTJlaWRlbnRpZmllclwiPlxuICAgIDxsYWJlbFxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fWxhYmVsXCJcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknXVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zYWMtdG9vbHRpcD5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTJcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWwgPyAnZmxleCcgOiBudWxsXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJuYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cIjBcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJ2YWx1ZVwiPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWNcIlxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgbWFyZ2luLXJpZ2h0OiA1cHhcIj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8cFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0ZXh0JyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cbiAgICAgICAgICAgIHt7IGhlbHB0ZXh0IH19XG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,21 +1,23 @@
1
- import { Component, ContentChildren } from '@angular/core';
2
1
  import { SacTabItemComponent } from './tabitem';
3
- import { SacTabCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgFor, NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
2
+ import { NgClass, NgFor, NgStyle, NgTemplateOutlet } from '@angular/common';
3
+ import { Component, ContentChildren } from '@angular/core';
4
+ import { SacTabCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
5
5
  import * as i0 from "@angular/core";
6
6
  class SacTabComponent extends SacTabCommon {
7
+ // #endregion Properties
8
+ // #region Public Methods
7
9
  tabItems() {
8
10
  return this._tabItems.toArray();
9
11
  }
10
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabComponent, isStandalone: true, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabComponent, isStandalone: true, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\n<div\n [id]=\"name\"\n class=\"content-nav-tabs\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\"\n [id]=\"GetTabItemButtonId(item.id)\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\">\n <ng-template *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }\"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div\n class=\"tab-content\"\n style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
12
14
  }
13
15
  export { SacTabComponent };
14
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, decorators: [{
15
17
  type: Component,
16
- args: [{ selector: 'sac-tab', standalone: true, imports: [NgFor, NgClass, NgStyle, NgTemplateOutlet], template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n" }]
18
+ args: [{ selector: 'sac-tab', standalone: true, imports: [NgFor, NgClass, NgStyle, NgTemplateOutlet, SacTestingAttributePipe], template: "<!-- Nav tabs -->\n<div\n [id]=\"name\"\n class=\"content-nav-tabs\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\"\n [id]=\"GetTabItemButtonId(item.id)\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\">\n <ng-template *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }\"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div\n class=\"tab-content\"\n style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
17
19
  }], propDecorators: { _tabItems: [{
18
20
  type: ContentChildren,
19
21
  args: [SacTabItemComponent]
20
22
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3RhYnMvdGFiLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3RhYnMvdGFiLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQW9CLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVFLE1BT2EsZUFBZ0IsU0FBUSxZQUFZO0lBSy9DLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUE2QixDQUFDO0lBQzdELENBQUM7K0dBUFUsZUFBZTttR0FBZixlQUFlLDZGQUVULG1CQUFtQixvRENkdEMsazBCQTJCQSw0Q0RsQmMsS0FBSyxtSEFBRSxPQUFPLG9GQUFFLE9BQU8sMkVBQUUsZ0JBQWdCOztTQUcxQyxlQUFlOzRGQUFmLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksU0FBUyxjQUVQLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzhCQU10RCxTQUFTO3NCQURSLGVBQWU7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiaXRlbSc7XG5pbXBvcnQgeyBTYWNUYWJDb21tb24sIFNhY1RhYkl0ZW1Db21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0IHsgTmdGb3IsIE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy10YWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWIuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuXG5leHBvcnQgY2xhc3MgU2FjVGFiQ29tcG9uZW50IGV4dGVuZHMgU2FjVGFiQ29tbW9uIHtcblxuICBAQ29udGVudENoaWxkcmVuKFNhY1RhYkl0ZW1Db21wb25lbnQpXG4gIF90YWJJdGVtczogUXVlcnlMaXN0PFNhY1RhYkl0ZW1Db21wb25lbnQ+O1xuXG4gIHRhYkl0ZW1zKCk6IFNhY1RhYkl0ZW1Db21tb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkl0ZW1zLnRvQXJyYXkoKSBhcyBBcnJheTxTYWNUYWJJdGVtQ29tbW9uPjtcbiAgfVxuXG59XG4iLCI8IS0tIE5hdiB0YWJzIC0tPlxuPGRpdiBbaWRdPVwibmFtZVwiIGNsYXNzPVwiY29udGVudC1uYXYtdGFic1wiPlxuICA8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnNcIiByb2xlPVwidGFibGlzdFwiPlxuICAgIDxsaVxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3RhYkl0ZW1zXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZSBzaG93JzogaXRlbS5hY3RpdmUsICdkaXNhYmxlZCc6IGl0ZW0uZGlzYWJsZWQgfVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0VGFiKGl0ZW0pXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnY3Vyc29yJzogaXRlbS5fZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInfVwiXG4gICAgPlxuICAgICAgPGEgW2lkXT1cIkdldFRhYkl0ZW1CdXR0b25JZChpdGVtLmlkKVwiIHJvbGU9XCJ0YWJcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsYWJlbHRlbXBsYXRlIHx8IGRlZmF1bHRUYWJMYWJlbFRlbXBsYXRlO2NvbnRleHQ6eyBsYWJlbDogaXRlbS5sYWJlbCB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cblxuPCEtLSBUYWIgcGFuZXMgLS0+XG48ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHhcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYkxhYmVsVGVtcGxhdGUgbGV0LWxhYmVsPVwibGFiZWxcIj5cbiAge3tsYWJlbH19XG48L25nLXRlbXBsYXRlPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3RhYnMvdGFiLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3RhYnMvdGFiLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQW9CLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRTVHLE1BTWEsZUFBZ0IsU0FBUSxZQUFZO0lBTTdDLHdCQUF3QjtJQUV4Qix5QkFBeUI7SUFFbEIsUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQTZCLENBQUM7SUFDL0QsQ0FBQzsrR0FaUSxlQUFlO21HQUFmLGVBQWUsNkZBR1AsbUJBQW1CLG9EQ2R4QyxxaUNBbUNBLDRDRDFCYyxLQUFLLG1IQUFFLE9BQU8sb0ZBQUUsT0FBTywyRUFBRSxnQkFBZ0IsK0lBQUUsdUJBQXVCOztTQUVuRSxlQUFlOzRGQUFmLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksU0FBUyxjQUVQLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDOzhCQU10RSxTQUFTO3NCQURmLGVBQWU7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiaXRlbSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNUYWJDb21tb24sIFNhY1RhYkl0ZW1Db21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdGFiJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nRm9yLCBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1RhYkNvbXBvbmVudCBleHRlbmRzIFNhY1RhYkNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICBAQ29udGVudENoaWxkcmVuKFNhY1RhYkl0ZW1Db21wb25lbnQpXG4gICAgcHVibGljIF90YWJJdGVtczogUXVlcnlMaXN0PFNhY1RhYkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICBwdWJsaWMgdGFiSXRlbXMoKTogU2FjVGFiSXRlbUNvbW1vbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkl0ZW1zLnRvQXJyYXkoKSBhcyBBcnJheTxTYWNUYWJJdGVtQ29tbW9uPjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iLCI8IS0tIE5hdiB0YWJzIC0tPlxuPGRpdlxuICAgIFtpZF09XCJuYW1lXCJcbiAgICBjbGFzcz1cImNvbnRlbnQtbmF2LXRhYnNcIlxuICAgIFthdHRyLmRhdGEtZTJlLWtleV09XCJuYW1lIHwgdGVzdGluZ2F0dHJpYnV0ZSA6IGUyZWlkZW50aWZpZXJcIj5cbiAgICA8dWxcbiAgICAgICAgY2xhc3M9XCJuYXYgbmF2LXRhYnNcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIF90YWJJdGVtc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUgc2hvdyc6IGl0ZW0uYWN0aXZlLCBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUYWIoaXRlbSlcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBjdXJzb3I6IGl0ZW0uX2Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyB9XCJcbiAgICAgICAgICAgIFtpZF09XCJHZXRUYWJJdGVtQnV0dG9uSWQoaXRlbS5pZClcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2lkXT1cIkdldFRhYkl0ZW1CdXR0b25JZChpdGVtLmlkKVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxhYmVsdGVtcGxhdGUgfHwgZGVmYXVsdFRhYkxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHsgbGFiZWw6IGl0ZW0ubGFiZWwgfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L2Rpdj5cblxuPCEtLSBUYWIgcGFuZXMgLS0+XG48ZGl2XG4gICAgY2xhc3M9XCJ0YWItY29udGVudFwiXG4gICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNXB4XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNkZWZhdWx0VGFiTGFiZWxUZW1wbGF0ZVxuICAgIGxldC1sYWJlbD1cImxhYmVsXCI+XG4gICAge3sgbGFiZWwgfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=