@softpak/components 18.6.9 → 18.6.11

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 (157) hide show
  1. package/README.md +24 -24
  2. package/esm2022/spx-alert/public-api.mjs +1 -1
  3. package/esm2022/spx-alert/spx-alert.component.mjs +115 -115
  4. package/esm2022/spx-alert/spx-alert.interface.mjs +1 -1
  5. package/esm2022/spx-app-configuration/public-api.mjs +1 -1
  6. package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +1 -1
  7. package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +1 -1
  8. package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +1 -1
  9. package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +1 -1
  10. package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +1 -1
  11. package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +1 -1
  12. package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +1 -1
  13. package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +1 -1
  14. package/esm2022/spx-app-expiry/public-api.mjs +1 -1
  15. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +57 -57
  16. package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +1 -1
  17. package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +1 -1
  18. package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +1 -1
  19. package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +1 -1
  20. package/esm2022/spx-app-update/public-api.mjs +1 -1
  21. package/esm2022/spx-app-update/spx-app-update.component.mjs +59 -59
  22. package/esm2022/spx-button/public-api.mjs +1 -1
  23. package/esm2022/spx-button/spx-button.component.mjs +63 -63
  24. package/esm2022/spx-capitalize/public-api.mjs +1 -1
  25. package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +1 -1
  26. package/esm2022/spx-card/public-api.mjs +1 -1
  27. package/esm2022/spx-card/spx-card-grid.component.mjs +27 -27
  28. package/esm2022/spx-card/spx-card-item.component.mjs +69 -69
  29. package/esm2022/spx-card/spx-card-line.component.mjs +77 -77
  30. package/esm2022/spx-card/spx-card.component.mjs +51 -51
  31. package/esm2022/spx-change-details/public-api.mjs +1 -1
  32. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +1 -1
  33. package/esm2022/spx-change-details/spx-change-details.component.mjs +3 -3
  34. package/esm2022/spx-channel-selection/public-api.mjs +1 -1
  35. package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +13 -13
  36. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +13 -13
  37. package/esm2022/spx-check-digit/public-api.mjs +1 -1
  38. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +3 -3
  39. package/esm2022/spx-form-section/public-api.mjs +1 -1
  40. package/esm2022/spx-form-section/spx-form-section.component.mjs +21 -21
  41. package/esm2022/spx-form-view/public-api.mjs +1 -1
  42. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +3 -3
  43. package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +1 -1
  44. package/esm2022/spx-form-view/spx-form-button.interface.mjs +1 -1
  45. package/esm2022/spx-form-view/spx-form-field.interface.mjs +1 -1
  46. package/esm2022/spx-form-view/spx-form-section.interface.mjs +1 -1
  47. package/esm2022/spx-form-view/spx-form-view.component.mjs +163 -163
  48. package/esm2022/spx-form-view/spx-form.interface.mjs +1 -1
  49. package/esm2022/spx-helpers/calc-check-digit.function.mjs +1 -1
  50. package/esm2022/spx-helpers/public-api.mjs +1 -1
  51. package/esm2022/spx-helpers/spx-severity.enum.mjs +1 -1
  52. package/esm2022/spx-helpers/value-pair-to-value.function.mjs +1 -1
  53. package/esm2022/spx-inputs/public-api.mjs +1 -1
  54. package/esm2022/spx-inputs/spx-dropdown.component.mjs +33 -33
  55. package/esm2022/spx-inputs/spx-input-box.component.mjs +177 -151
  56. package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +50 -17
  57. package/esm2022/spx-inputs/spx-input-float.component.mjs +51 -51
  58. package/esm2022/spx-inputs/spx-input-number.component.mjs +27 -27
  59. package/esm2022/spx-inputs/spx-input-radio.component.mjs +23 -23
  60. package/esm2022/spx-inputs/spx-input-text.component.mjs +63 -63
  61. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +77 -77
  62. package/esm2022/spx-inputs/spx-input-time.component.mjs +13 -13
  63. package/esm2022/spx-inputs/spx-input-type.enum.mjs +1 -1
  64. package/esm2022/spx-inputs/spx-input.component.mjs +220 -220
  65. package/esm2022/spx-inputs/spx-value-interface.mjs +1 -1
  66. package/esm2022/spx-navigation/public-api.mjs +1 -1
  67. package/esm2022/spx-navigation/spx-home-tile.component.mjs +39 -39
  68. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +5 -5
  69. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +1 -1
  70. package/esm2022/spx-navigation/spx-navigation.component.mjs +3 -3
  71. package/esm2022/spx-number-check/public-api.mjs +1 -1
  72. package/esm2022/spx-number-check/spx-number-check.component.mjs +77 -77
  73. package/esm2022/spx-pagination/public-api.mjs +1 -1
  74. package/esm2022/spx-pagination/spx-pagination.component.mjs +3 -3
  75. package/esm2022/spx-patch/patch-check.function.mjs +1 -1
  76. package/esm2022/spx-patch/public-api.mjs +1 -1
  77. package/esm2022/spx-patch/release-check.function.mjs +1 -1
  78. package/esm2022/spx-patch/spx-patch.component.mjs +25 -25
  79. package/esm2022/spx-progress-bar/public-api.mjs +1 -1
  80. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +15 -15
  81. package/esm2022/spx-spinner/public-api.mjs +1 -1
  82. package/esm2022/spx-spinner/spx-spinner.component.mjs +143 -143
  83. package/esm2022/spx-stock-info/public-api.mjs +1 -1
  84. package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +1 -1
  85. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +3 -3
  86. package/esm2022/spx-storage/public-api.mjs +1 -1
  87. package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +1 -1
  88. package/esm2022/spx-storage/src/spx-storage.class.mjs +1 -1
  89. package/esm2022/spx-suggestion/public-api.mjs +1 -1
  90. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +41 -41
  91. package/esm2022/spx-toaster/public-api.mjs +1 -1
  92. package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +1 -1
  93. package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +1 -1
  94. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +93 -93
  95. package/esm2022/spx-update/public-api.mjs +1 -1
  96. package/esm2022/spx-update/src/spx-update-info.component.mjs +23 -23
  97. package/esm2022/spx-update/src/spx-update-progress.component.mjs +3 -3
  98. package/esm2022/spx-validation/max.validator.mjs +1 -1
  99. package/esm2022/spx-validation/maxlength.validator.mjs +1 -1
  100. package/esm2022/spx-validation/min.validator.mjs +1 -1
  101. package/esm2022/spx-validation/minlength.validator.mjs +1 -1
  102. package/esm2022/spx-validation/pattern.validator.mjs +1 -1
  103. package/esm2022/spx-validation/public-api.mjs +1 -1
  104. package/esm2022/spx-validation/required.validator.mjs +1 -1
  105. package/esm2022/spx-validation/spx-validate-control.component.mjs +3 -3
  106. package/esm2022/spx-validation/year-and-month.validator.mjs +1 -1
  107. package/fesm2022/softpak-components-spx-alert.mjs +114 -114
  108. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  109. package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
  110. package/fesm2022/softpak-components-spx-app-expiry.mjs +56 -56
  111. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  112. package/fesm2022/softpak-components-spx-app-update.mjs +58 -58
  113. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  114. package/fesm2022/softpak-components-spx-button.mjs +62 -62
  115. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  116. package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
  117. package/fesm2022/softpak-components-spx-card.mjs +220 -220
  118. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  119. package/fesm2022/softpak-components-spx-change-details.mjs +2 -2
  120. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  121. package/fesm2022/softpak-components-spx-channel-selection.mjs +24 -24
  122. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  123. package/fesm2022/softpak-components-spx-check-digit.mjs +2 -2
  124. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  125. package/fesm2022/softpak-components-spx-form-section.mjs +20 -20
  126. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  127. package/fesm2022/softpak-components-spx-form-view.mjs +164 -164
  128. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  129. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
  130. package/fesm2022/softpak-components-spx-inputs.mjs +724 -666
  131. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  132. package/fesm2022/softpak-components-spx-navigation.mjs +44 -44
  133. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  134. package/fesm2022/softpak-components-spx-number-check.mjs +76 -76
  135. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  136. package/fesm2022/softpak-components-spx-pagination.mjs +2 -2
  137. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  138. package/fesm2022/softpak-components-spx-patch.mjs +24 -24
  139. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  140. package/fesm2022/softpak-components-spx-progress-bar.mjs +14 -14
  141. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  142. package/fesm2022/softpak-components-spx-spinner.mjs +142 -142
  143. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  144. package/fesm2022/softpak-components-spx-stock-info.mjs +2 -2
  145. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  146. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
  147. package/fesm2022/softpak-components-spx-suggestion.mjs +40 -40
  148. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  149. package/fesm2022/softpak-components-spx-toaster.mjs +92 -92
  150. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  151. package/fesm2022/softpak-components-spx-update.mjs +24 -24
  152. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  153. package/fesm2022/softpak-components-spx-validation.mjs +2 -2
  154. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  155. package/package.json +57 -57
  156. package/spx-inputs/spx-input-box.component.d.ts +4 -1
  157. package/spx-inputs/spx-input-date/spx-input-date.component.d.ts +5 -1
@@ -1,4 +1,4 @@
1
- import { Component, computed, input, model, output, signal } from '@angular/core';
1
+ import { Component, computed, input, model, output, signal, viewChild } from '@angular/core';
2
2
  import { DateTime } from 'luxon';
3
3
  import { valuePairToValue } from '@softpak/components/spx-helpers';
4
4
  import { FormsModule } from '@angular/forms';
@@ -30,14 +30,17 @@ export class SpxInputDateComponent {
30
30
  this.selectedYear = signal(null);
31
31
  this.selectedMonth = signal(null);
32
32
  this.selectedDay = signal(null);
33
+ this.yearInputComponent = viewChild.required(stepType.years);
34
+ this.monthInputComponent = viewChild.required(stepType.months);
35
+ this.dayInputComponent = viewChild.required(stepType.days);
33
36
  this.spxSuggestionC = computed(() => {
34
37
  switch (this.spxSelectedStep()) {
35
- case 'months':
38
+ case stepType.years:
39
+ return this.spxSuggestions().years;
40
+ case stepType.months:
36
41
  return [...this.spxSuggestions().months];
37
- case 'days':
42
+ case stepType.days:
38
43
  return [...this.spxSuggestions().days];
39
- default:
40
- return this.spxSuggestions().years;
41
44
  }
42
45
  });
43
46
  this.spxSuggestions = input({ years: [],
@@ -80,6 +83,21 @@ export class SpxInputDateComponent {
80
83
  }],
81
84
  days: [], });
82
85
  }
86
+ handleFocus(selectedStep) {
87
+ switch (selectedStep) {
88
+ case stepType.years:
89
+ this.spxSelectedStep.set(stepType.years);
90
+ break;
91
+ case stepType.months:
92
+ this.spxSelectedStep.set(stepType.months);
93
+ this.monthInputComponent().nativeElement.focus();
94
+ break;
95
+ case stepType.days:
96
+ this.spxSelectedStep.set(stepType.days);
97
+ this.dayInputComponent().nativeElement.focus();
98
+ break;
99
+ }
100
+ }
83
101
  onModelChange(newValue, selectedStep) {
84
102
  const parsedValue = +newValue; // Convert to number
85
103
  if (parsedValue == 0)
@@ -107,13 +125,13 @@ export class SpxInputDateComponent {
107
125
  }
108
126
  handleSuggestionClick(value) {
109
127
  switch (this.spxSelectedStep()) {
110
- case "years":
128
+ case stepType.years:
111
129
  this.selectedYear.set(value);
112
130
  break;
113
- case "months":
131
+ case stepType.months:
114
132
  this.selectedMonth.set(value);
115
133
  break;
116
- case "days":
134
+ case stepType.days:
117
135
  this.selectedDay.set(value);
118
136
  break;
119
137
  }
@@ -128,14 +146,29 @@ export class SpxInputDateComponent {
128
146
  }
129
147
  changeSelectedStep() {
130
148
  switch (this.spxSelectedStep()) {
131
- case 'days':
132
- this.spxSelectedStep.set(stepType.years);
149
+ case stepType.years:
150
+ if (this.spxSelectMonth()) {
151
+ this.spxSelectedStep.set(stepType.months);
152
+ this.monthInputComponent().nativeElement.focus();
153
+ }
154
+ else {
155
+ this.spxSelectedStep.set(stepType.years);
156
+ this.yearInputComponent().nativeElement.focus();
157
+ }
133
158
  break;
134
- case 'months':
135
- this.spxSelectedStep.set(this.spxSelectDay() ? stepType.days : stepType.years);
159
+ case stepType.months:
160
+ if (this.spxSelectDay()) {
161
+ this.spxSelectedStep.set(stepType.days);
162
+ this.dayInputComponent().nativeElement.focus();
163
+ }
164
+ else {
165
+ this.spxSelectedStep.set(stepType.years);
166
+ this.yearInputComponent().nativeElement.focus();
167
+ }
136
168
  break;
137
- case 'years':
138
- this.spxSelectedStep.set(this.spxSelectMonth() ? stepType.months : stepType.years);
169
+ case stepType.days:
170
+ this.spxSelectedStep.set(stepType.years);
171
+ this.yearInputComponent().nativeElement.focus();
139
172
  break;
140
173
  }
141
174
  }
@@ -149,13 +182,13 @@ export class SpxInputDateComponent {
149
182
  }
150
183
  }
151
184
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputDateComponent, isStandalone: true, selector: "spx-input-date", inputs: { spxMax: { classPropertyName: "spxMax", publicName: "spxMax", isSignal: true, isRequired: true, transformFunction: null }, spxMin: { classPropertyName: "spxMin", publicName: "spxMin", isSignal: true, isRequired: true, transformFunction: null }, spxReadonly: { classPropertyName: "spxReadonly", publicName: "spxReadonly", isSignal: true, isRequired: false, transformFunction: null }, spxValidators: { classPropertyName: "spxValidators", publicName: "spxValidators", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, spxFocused: { classPropertyName: "spxFocused", publicName: "spxFocused", isSignal: true, isRequired: false, transformFunction: null }, spxSelectDay: { classPropertyName: "spxSelectDay", publicName: "spxSelectDay", isSignal: true, isRequired: false, transformFunction: null }, spxSelectMonth: { classPropertyName: "spxSelectMonth", publicName: "spxSelectMonth", isSignal: true, isRequired: false, transformFunction: null }, spxSuggestions: { classPropertyName: "spxSuggestions", publicName: "spxSuggestions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", spxChange: "spxChange", spxFocus: "spxFocus" }, ngImport: i0, template: "<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedYear\"\n [attr.type]=\"'number'\"\n (ngModelChange)=\"onModelChange($event, 'years')\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n @if (this.spxSelectMonth()) {\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedMonth\"\n (ngModelChange)=\"onModelChange($event, 'months')\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n }\n <div class='spx-input-date__control-label'>Month</div>\n @if (this.spxSelectDay()) {\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedDay\"\n (ngModelChange)=\"onModelChange($event, 'days')\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n }\n</div>\n<div class='spx-input-date__suggestions'>\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\n <spx-suggestion [spxSelected]=\"\n (selectedYear() === valuePair.value) ||\n (selectedMonth() === valuePair.value) || \n (selectedDay() === valuePair.value)\"\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n }\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"], dependencies: [{ kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
185
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputDateComponent, isStandalone: true, selector: "spx-input-date", inputs: { spxMax: { classPropertyName: "spxMax", publicName: "spxMax", isSignal: true, isRequired: true, transformFunction: null }, spxMin: { classPropertyName: "spxMin", publicName: "spxMin", isSignal: true, isRequired: true, transformFunction: null }, spxReadonly: { classPropertyName: "spxReadonly", publicName: "spxReadonly", isSignal: true, isRequired: false, transformFunction: null }, spxValidators: { classPropertyName: "spxValidators", publicName: "spxValidators", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, spxFocused: { classPropertyName: "spxFocused", publicName: "spxFocused", isSignal: true, isRequired: false, transformFunction: null }, spxSelectDay: { classPropertyName: "spxSelectDay", publicName: "spxSelectDay", isSignal: true, isRequired: false, transformFunction: null }, spxSelectMonth: { classPropertyName: "spxSelectMonth", publicName: "spxSelectMonth", isSignal: true, isRequired: false, transformFunction: null }, spxSuggestions: { classPropertyName: "spxSuggestions", publicName: "spxSuggestions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "yearInputComponent", first: true, predicate: stepType.years, descendants: true, isSignal: true }, { propertyName: "monthInputComponent", first: true, predicate: stepType.months, descendants: true, isSignal: true }, { propertyName: "dayInputComponent", first: true, predicate: stepType.days, descendants: true, isSignal: true }], ngImport: i0, template: "<div class='spx-input-date__controls'>\r\n <input #years\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedYear\"\r\n [attr.type]=\"'number'\"\r\n (click)=\"this.handleFocus('years')\"\r\n (ngModelChange)=\"onModelChange($event, 'years')\"\r\n [attr.min]=\"1900\"\r\n [attr.max]=\"2100\"\r\n [attr.step]=\"1\"\r\n />\r\n <div class='spx-input-date__control-label'>Year</div>\r\n @if (this.spxSelectMonth()) {\r\n <input #months\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedMonth\"\r\n (ngModelChange)=\"onModelChange($event, 'months')\"\r\n (click)=\"this.handleFocus('months')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"12\"\r\n [attr.step]=\"1\" />\r\n }\r\n <div class='spx-input-date__control-label'>Month</div>\r\n @if (this.spxSelectDay()) {\r\n <input #days\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedDay\"\r\n (ngModelChange)=\"onModelChange($event, 'days')\"\r\n (click)=\"this.handleFocus('days')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"31\"\r\n [attr.step]=\"1\" />\r\n <div class='spx-input-date__control-label'>Days</div>\r\n }\r\n</div>\r\n<div class='spx-input-date__suggestions'>\r\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\r\n <spx-suggestion [spxSelected]=\"\r\n (selectedYear() === valuePair.value) ||\r\n (selectedMonth() === valuePair.value) || \r\n (selectedDay() === valuePair.value)\"\r\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\r\n }\r\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"], dependencies: [{ kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
153
186
  }
154
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, decorators: [{
155
188
  type: Component,
156
189
  args: [{ selector: 'spx-input-date', standalone: true, imports: [
157
190
  SpxSuggestionComponent,
158
191
  FormsModule
159
- ], template: "<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedYear\"\n [attr.type]=\"'number'\"\n (ngModelChange)=\"onModelChange($event, 'years')\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n @if (this.spxSelectMonth()) {\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedMonth\"\n (ngModelChange)=\"onModelChange($event, 'months')\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n }\n <div class='spx-input-date__control-label'>Month</div>\n @if (this.spxSelectDay()) {\n <input\n class='spx-input-date__input'\n [(ngModel)]=\"selectedDay\"\n (ngModelChange)=\"onModelChange($event, 'days')\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n }\n</div>\n<div class='spx-input-date__suggestions'>\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\n <spx-suggestion [spxSelected]=\"\n (selectedYear() === valuePair.value) ||\n (selectedMonth() === valuePair.value) || \n (selectedDay() === valuePair.value)\"\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n }\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"] }]
192
+ ], template: "<div class='spx-input-date__controls'>\r\n <input #years\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedYear\"\r\n [attr.type]=\"'number'\"\r\n (click)=\"this.handleFocus('years')\"\r\n (ngModelChange)=\"onModelChange($event, 'years')\"\r\n [attr.min]=\"1900\"\r\n [attr.max]=\"2100\"\r\n [attr.step]=\"1\"\r\n />\r\n <div class='spx-input-date__control-label'>Year</div>\r\n @if (this.spxSelectMonth()) {\r\n <input #months\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedMonth\"\r\n (ngModelChange)=\"onModelChange($event, 'months')\"\r\n (click)=\"this.handleFocus('months')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"12\"\r\n [attr.step]=\"1\" />\r\n }\r\n <div class='spx-input-date__control-label'>Month</div>\r\n @if (this.spxSelectDay()) {\r\n <input #days\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedDay\"\r\n (ngModelChange)=\"onModelChange($event, 'days')\"\r\n (click)=\"this.handleFocus('days')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"31\"\r\n [attr.step]=\"1\" />\r\n <div class='spx-input-date__control-label'>Days</div>\r\n }\r\n</div>\r\n<div class='spx-input-date__suggestions'>\r\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\r\n <spx-suggestion [spxSelected]=\"\r\n (selectedYear() === valuePair.value) ||\r\n (selectedMonth() === valuePair.value) || \r\n (selectedDay() === valuePair.value)\"\r\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\r\n }\r\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"] }]
160
193
  }] });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFNUUsSUFBSyxRQUlKO0FBSkQsV0FBSyxRQUFRO0lBQ1gsMkJBQWUsQ0FBQTtJQUNmLDZCQUFpQixDQUFBO0lBQ2pCLHlCQUFhLENBQUE7QUFDZixDQUFDLEVBSkksUUFBUSxLQUFSLFFBQVEsUUFJWjtBQVlELE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFXRSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUMvQixrQkFBYSxHQUFHLEtBQUssRUFBUyxDQUFDO1FBQy9CLFVBQUssR0FBSSxLQUFLLENBQXVCO1lBQ25DLFdBQVcs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cG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuLi9zcHgtdmFsdWUtaW50ZXJmYWNlJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuXG5lbnVtIHN0ZXBUeXBlIHtcbiAgeWVhcnMgPSBcInllYXJzXCIsXG4gIG1vbnRocyA9IFwibW9udGhzXCIsXG4gIGRheXMgPSBcImRheXNcIlxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtZGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTcHhTdWdnZXN0aW9uQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3B4LWlucHV0LWRhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zcHgtaW5wdXQtZGF0ZS5jb21wb25lbnQuY3NzXCJcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXREYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3B4TWF4ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBzcHhNaW4gPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHNweFJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgc3B4VmFsaWRhdG9ycyA9IGlucHV0PGFueVtdPigpO1xuICB2YWx1ZSA9ICBtb2RlbDxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oe1xuICAgIGRlc2NyaXB0aW9uOiBcIlwiLFxuICAgIHZhbHVlOiBcIlwiLFxuICB9KTtcbiAgc3B4Q2hhbmdlID0gb3V0cHV0PFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBzcHhGb2N1c2VkID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHNweEZvY3VzID0gb3V0cHV0KCk7XG5cbiAgc3B4U2VsZWN0ZWRTdGVwID0gc2lnbmFsPHN0ZXBUeXBlPihzdGVwVHlwZS55ZWFycyk7XG5cbiAgc3B4U2VsZWN0RGF5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBzcHhTZWxlY3RNb250aCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHNlbGVjdGVkWWVhciA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgc2VsZWN0ZWRNb250aCA9IHNpZ25hbDxudW1iZXJ8IG51bGw+KG51bGwpO1xuICBzZWxlY3RlZERheSA9IHNpZ25hbDxudW1iZXJ8IG51bGw+KG51bGwpO1xuXG4gIHNweFN1Z2dlc3Rpb25DID0gY29tcHV0ZWQ8U3B4VmFsdWVQYWlyPG51bWJlcj5bXT4oKCkgPT4ge1xuICAgIHN3aXRjaCh0aGlzLnNweFNlbGVjdGVkU3RlcCgpKSB7XG4gICAgICBjYXNlICdtb250aHMnIDpcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLnNweFN1Z2dlc3Rpb25zKCkubW9udGhzXVxuICAgICAgY2FzZSAnZGF5cycgOlxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuc3B4U3VnZ2VzdGlvbnMoKS5kYXlzXVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuc3B4U3VnZ2VzdGlvbnMoKS55ZWFycztcbiAgICB9XG4gIH0pO1xuXG4gIG9uTW9kZWxDaGFuZ2UobmV3VmFsdWU6IHN0cmluZywgc2VsZWN0ZWRTdGVwOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9ICtuZXdWYWx1ZTsgLy8gQ29udmVydCB0byBudW1iZXJcblxuICAgIGlmKHBhcnNlZFZhbHVlID09IDApIHJldHVybjtcblxuICAgIHN3aXRjaChzZWxlY3RlZFN0ZXApIHtcbiAgICAgIGNhc2Ugc3RlcFR5cGUueWVhcnM6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyLnNldChwYXJzZWRWYWx1ZSk7XG4gICAgICBicmVhaztcbiAgICAgIGNhc2Ugc3RlcFR5cGUubW9udGhzOlxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHBhcnNlZFZhbHVlKTtcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBzdGVwVHlwZS5kYXlzOlxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF5LnNldChwYXJzZWRWYWx1ZSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzcHhTdWdnZXN0aW9ucyA9IGlucHV0PHtcbiAgICB5ZWFyczogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgICBtb250aHM6IFNweFZhbHVlUGFpcjxudW1iZXI+W107XG4gICAgZGF5czogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgfT4oe3llYXJzOiBbXSxcbiAgICBtb250aHM6IFt7XG4gICAgICBkZXNjcmlwdGlvbjogJ0phbicsXG4gICAgICB2YWx1ZTogMSxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ZlYicsXG4gICAgICB2YWx1ZTogMixcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ01hcicsXG4gICAgICB2YWx1ZTogMyxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0FwcicsXG4gICAgICB2YWx1ZTogNCxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ01heScsXG4gICAgICB2YWx1ZTogNSxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0p1bicsXG4gICAgICB2YWx1ZTogNixcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0p1bCcsXG4gICAgICB2YWx1ZTogNyxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0F1ZycsXG4gICAgICB2YWx1ZTogOCxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1NlcCcsXG4gICAgICB2YWx1ZTogOSxcbiAgICB9LCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ09jdCcsXG4gICAgICB2YWx1ZTogMTAsXG4gICAgfSwge1xuICAgICAgZGVzY3JpcHRpb246ICdOb3YnLFxuICAgICAgdmFsdWU6IDExLFxuICAgIH0sIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVjJyxcbiAgICAgIHZhbHVlOiAxMixcbiAgICB9XSxcbiAgICBkYXlzOiBbXSx9KTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1Z2dlc3RZZWFycygpO1xuICAgIGlmICh2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMudmFsdWUpKSB7XG4gICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IERhdGVUaW1lLmZyb21JU08odmFsdWVQYWlyVG9WYWx1ZSh0aGlzLnZhbHVlKSk7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQocGFyc2VkVmFsdWUueWVhcik7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHBhcnNlZFZhbHVlLm1vbnRoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkuc2V0KHBhcnNlZFZhbHVlLmRheSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBudW1iZXIpIHtcblxuICAgIHN3aXRjaCh0aGlzLnNweFNlbGVjdGVkU3RlcCgpKSB7XG4gICAgICBjYXNlIFwieWVhcnNcIjpcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXIuc2V0KHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImRheXNcIjpcbiAgICAgICAgdGhpcy5zZWxlY3RlZERheS5zZXQodmFsdWUpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZEVtaXQoKTtcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkU3RlcCgpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWVBbmRFbWl0KCkge1xuICAgIGNvbnN0IGNvbmNhdGVuYXRlZFZhbHVlID0gYCR7dGhpcy5zZWxlY3RlZFllYXIoKSA/IHRoaXMuc2VsZWN0ZWRZZWFyKCkgOiBgYH0ke3RoaXMuc2VsZWN0ZWRNb250aCgpID8gYCR7dGhpcy5zZWxlY3RlZE1vbnRoKCkhIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1vbnRoKCl9YCA6IHRoaXMuc2VsZWN0ZWRNb250aCgpfWAgOiBgYH0ke3RoaXMuc2VsZWN0ZWREYXkoKSA/IGAtJHt0aGlzLnNlbGVjdGVkRGF5KCkhIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZERheSgpfWAgOiB0aGlzLnNlbGVjdGVkRGF5KCl9YCA6IGBgfWBcblxuICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gRGF0ZVRpbWUuZnJvbUlTTyhjb25jYXRlbmF0ZWRWYWx1ZSk7XG4gICAgXG4gICAgdGhpcy52YWx1ZS5zZXQoe3ZhbHVlOiBwYXJzZWRWYWx1ZS50b0lTTygpISwgZGVzY3JpcHRpb246IHBhcnNlZFZhbHVlLnRvSVNPKCl9KTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICBjaGFuZ2VTZWxlY3RlZFN0ZXAoKSB7XG4gICAgc3dpdGNoKHRoaXMuc3B4U2VsZWN0ZWRTdGVwKCkpIHtcbiAgICAgIGNhc2UgJ2RheXMnOlxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQoc3RlcFR5cGUueWVhcnMpO1xuICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb250aHMnOlxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQodGhpcy5zcHhTZWxlY3REYXkoKSA/IHN0ZXBUeXBlLmRheXMgOiBzdGVwVHlwZS55ZWFycyk7XG4gICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3llYXJzJzpcbiAgICAgICAgdGhpcy5zcHhTZWxlY3RlZFN0ZXAuc2V0KHRoaXMuc3B4U2VsZWN0TW9udGgoKSA/IHN0ZXBUeXBlLm1vbnRocyA6IHN0ZXBUeXBlLnllYXJzKTtcbiAgICAgIGJyZWFrOyAgXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWdnZXN0WWVhcnMoKTogdm9pZCB7XG4gICAgdGhpcy5zcHhTdWdnZXN0aW9ucygpLnllYXJzID0gW107XG4gICAgZm9yIChsZXQgeWVhciA9IERhdGVUaW1lLmZyb21JU08odGhpcy5zcHhNaW4oKSkueWVhcjsgeWVhciA8PSBEYXRlVGltZS5mcm9tSVNPKHRoaXMuc3B4TWF4KCkpLnllYXI7IHllYXIrKykge1xuICAgICAgdGhpcy5zcHhTdWdnZXN0aW9ucygpLnllYXJzLnB1c2goe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCcke3llYXIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiwgNCl9YCxcbiAgICAgICAgdmFsdWU6IHllYXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9scyc+XG4gIDxpbnB1dFxuICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFllYXJcIlxuICAgIFthdHRyLnR5cGVdPVwiJ251bWJlcidcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50LCAneWVhcnMnKVwiXG4gICAgW2F0dHIubWluXT1cIjE5MDBcIlxuICAgIFthdHRyLm1heF09XCIyMTAwXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgIC8+XG4gIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5ZZWFyPC9kaXY+XG4gIEBpZiAodGhpcy5zcHhTZWxlY3RNb250aCgpKSB7XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE1vbnRoXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50LCAnbW9udGhzJylcIlxuICAgICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICBbYXR0ci5taW5dPVwiMVwiXG4gICAgICBbYXR0ci5tYXhdPVwiMTJcIlxuICAgICAgW2F0dHIuc3RlcF09XCIxXCIgLz5cbiAgfVxuICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+TW9udGg8L2Rpdj5cbiAgQGlmICh0aGlzLnNweFNlbGVjdERheSgpKSB7XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERheVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudCwgJ2RheXMnKVwiXG4gICAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcbiAgICAgIFthdHRyLm1pbl09XCIxXCJcbiAgICAgIFthdHRyLm1heF09XCIzMVwiXG4gICAgICBbYXR0ci5zdGVwXT1cIjFcIiAvPlxuICAgIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5EYXlzPC9kaXY+XG4gIH1cbjwvZGl2PlxuPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX3N1Z2dlc3Rpb25zJz5cbiAgQGZvciAodmFsdWVQYWlyIG9mIHNweFN1Z2dlc3Rpb25DKCk7IHRyYWNrIHZhbHVlUGFpci52YWx1ZSkge1xuICAgIDxzcHgtc3VnZ2VzdGlvbiBbc3B4U2VsZWN0ZWRdPVwiXG4gICAgKHNlbGVjdGVkWWVhcigpID09PSB2YWx1ZVBhaXIudmFsdWUpIHx8XG4gICAgKHNlbGVjdGVkTW9udGgoKSA9PT0gdmFsdWVQYWlyLnZhbHVlKSB8fCAgXG4gICAgKHNlbGVjdGVkRGF5KCkgPT09IHZhbHVlUGFpci52YWx1ZSlcIlxuICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIudmFsdWUpXCI+e3t2YWx1ZVBhaXI/LmRlc2NyaXB0aW9ufX08L3NweC1zdWdnZXN0aW9uPlxuICB9XG48L2Rpdj4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWMsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTVFLElBQUssUUFJSjtBQUpELFdBQUssUUFBUTtJQUNYLDJCQUFlLENBQUE7SUFDZiw2QkFBaUIsQ0FBQTtJQUNqQix5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpJLFFBQVEsS0FBUixRQUFRLFFBSVo7QUFZRCxNQUFNLE9BQU8scUJBQXFCO0lBVmxDO1FBWUUsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQVMsQ0FBQztRQUMvQixVQUFLLEdBQUksS0FBSyxDQUF1QjtZ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SUFBSSxDQUFDO2dCQUMvQixXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0E5TFUscUJBQXFCO21HQUFyQixxQkFBcUIsMjVDQXVCb0IsUUFBUSxDQUFDLEtBQUssc0dBQ2IsUUFBUSxDQUFDLE1BQU0sb0dBQ2pCLFFBQVEsQ0FBQyxJQUFJLGdFQ2pEbEUsMHBEQTZDTSx1N0JEM0JGLHNCQUFzQiwrSEFDdEIsV0FBVzs7NEZBS0YscUJBQXFCO2tCQVZqQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUDt3QkFDUCxzQkFBc0I7d0JBQ3RCLFdBQVc7cUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgaW5wdXQsIG1vZGVsLCBPbkluaXQsIG91dHB1dCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XHJcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4uL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTcHhTdWdnZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtc3VnZ2VzdGlvbic7XHJcblxyXG5lbnVtIHN0ZXBUeXBlIHtcclxuICB5ZWFycyA9IFwieWVhcnNcIixcclxuICBtb250aHMgPSBcIm1vbnRoc1wiLFxyXG4gIGRheXMgPSBcImRheXNcIlxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NweC1pbnB1dC1kYXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zcHgtaW5wdXQtZGF0ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmNzc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dERhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBzcHhNYXggPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgc3B4TWluID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gIHNweFJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuICBzcHhWYWxpZGF0b3JzID0gaW5wdXQ8YW55W10+KCk7XHJcbiAgdmFsdWUgPSAgbW9kZWw8U3B4VmFsdWVQYWlyPHN0cmluZz4+KHtcclxuICAgIGRlc2NyaXB0aW9uOiBcIlwiLFxyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfSk7XHJcbiAgc3B4Q2hhbmdlID0gb3V0cHV0PFNweFZhbHVlUGFpcjxhbnk+PigpO1xyXG4gIHNweEZvY3VzZWQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBzcHhGb2N1cyA9IG91dHB1dCgpO1xyXG5cclxuICBzcHhTZWxlY3RlZFN0ZXAgPSBzaWduYWw8c3RlcFR5cGU+KHN0ZXBUeXBlLnllYXJzKTtcclxuXHJcbiAgc3B4U2VsZWN0RGF5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHNweFNlbGVjdE1vbnRoID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG4gIHNlbGVjdGVkWWVhciA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcclxuICBzZWxlY3RlZE1vbnRoID0gc2lnbmFsPG51bWJlcnwgbnVsbD4obnVsbCk7XHJcbiAgc2VsZWN0ZWREYXkgPSBzaWduYWw8bnVtYmVyfCBudWxsPihudWxsKTtcclxuXHJcbiAgeWVhcklucHV0Q29tcG9uZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KHN0ZXBUeXBlLnllYXJzKTtcclxuICBtb250aElucHV0Q29tcG9uZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KHN0ZXBUeXBlLm1vbnRocyk7XHJcbiAgZGF5SW5wdXRDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oc3RlcFR5cGUuZGF5cyk7XHJcblxyXG4gIHNweFN1Z2dlc3Rpb25DID0gY29tcHV0ZWQ8U3B4VmFsdWVQYWlyPG51bWJlcj5bXT4oKCkgPT4ge1xyXG4gICAgc3dpdGNoKHRoaXMuc3B4U2VsZWN0ZWRTdGVwKCkpIHtcclxuICAgICAgY2FzZSBzdGVwVHlwZS55ZWFyczpcclxuICAgICAgICByZXR1cm4gdGhpcy5zcHhTdWdnZXN0aW9ucygpLnllYXJzO1xyXG4gICAgICBjYXNlIHN0ZXBUeXBlLm1vbnRoczpcclxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuc3B4U3VnZ2VzdGlvbnMoKS5tb250aHNdXHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUuZGF5czpcclxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuc3B4U3VnZ2VzdGlvbnMoKS5kYXlzXVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBoYW5kbGVGb2N1cyhzZWxlY3RlZFN0ZXA6IHN0cmluZykge1xyXG4gICAgc3dpdGNoKHNlbGVjdGVkU3RlcCkge1xyXG4gICAgICBjYXNlIHN0ZXBUeXBlLnllYXJzOlxyXG4gICAgICAgIHRoaXMuc3B4U2VsZWN0ZWRTdGVwLnNldChzdGVwVHlwZS55ZWFycyk7XHJcbiAgICAgIGJyZWFrOyAgXHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUubW9udGhzOlxyXG4gICAgICAgIHRoaXMuc3B4U2VsZWN0ZWRTdGVwLnNldChzdGVwVHlwZS5tb250aHMpO1xyXG4gICAgICAgIHRoaXMubW9udGhJbnB1dENvbXBvbmVudCgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUuZGF5czpcclxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQoc3RlcFR5cGUuZGF5cyk7XHJcbiAgICAgICAgdGhpcy5kYXlJbnB1dENvbXBvbmVudCgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgYnJlYWs7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1vZGVsQ2hhbmdlKG5ld1ZhbHVlOiBzdHJpbmcsIHNlbGVjdGVkU3RlcDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9ICtuZXdWYWx1ZTsgLy8gQ29udmVydCB0byBudW1iZXJcclxuXHJcbiAgICBpZihwYXJzZWRWYWx1ZSA9PSAwKSByZXR1cm47XHJcblxyXG4gICAgc3dpdGNoKHNlbGVjdGVkU3RlcCkge1xyXG4gICAgICBjYXNlIHN0ZXBUeXBlLnllYXJzOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyLnNldChwYXJzZWRWYWx1ZSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHN0ZXBUeXBlLm1vbnRoczpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHBhcnNlZFZhbHVlKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUuZGF5czpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF5LnNldChwYXJzZWRWYWx1ZSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3B4U3VnZ2VzdGlvbnMgPSBpbnB1dDx7XHJcbiAgICB5ZWFyczogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcclxuICAgIG1vbnRoczogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcclxuICAgIGRheXM6IFNweFZhbHVlUGFpcjxudW1iZXI+W107XHJcbiAgfT4oe3llYXJzOiBbXSxcclxuICAgIG1vbnRoczogW3tcclxuICAgICAgZGVzY3JpcHRpb246ICdKYW4nLFxyXG4gICAgICB2YWx1ZTogMSxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdGZWInLFxyXG4gICAgICB2YWx1ZTogMixcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdNYXInLFxyXG4gICAgICB2YWx1ZTogMyxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdBcHInLFxyXG4gICAgICB2YWx1ZTogNCxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdNYXknLFxyXG4gICAgICB2YWx1ZTogNSxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdKdW4nLFxyXG4gICAgICB2YWx1ZTogNixcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdKdWwnLFxyXG4gICAgICB2YWx1ZTogNyxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdBdWcnLFxyXG4gICAgICB2YWx1ZTogOCxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdTZXAnLFxyXG4gICAgICB2YWx1ZTogOSxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdPY3QnLFxyXG4gICAgICB2YWx1ZTogMTAsXHJcbiAgICB9LCB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnTm92JyxcclxuICAgICAgdmFsdWU6IDExLFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0RlYycsXHJcbiAgICAgIHZhbHVlOiAxMixcclxuICAgIH1dLFxyXG4gICAgZGF5czogW10sfSk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWdnZXN0WWVhcnMoKTtcclxuICAgIGlmICh2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMudmFsdWUpKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFllYXIuc2V0KHBhcnNlZFZhbHVlLnllYXIpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHBhcnNlZFZhbHVlLm1vbnRoKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZERheS5zZXQocGFyc2VkVmFsdWUuZGF5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZTogbnVtYmVyKSB7XHJcblxyXG4gICAgc3dpdGNoKHRoaXMuc3B4U2VsZWN0ZWRTdGVwKCkpIHtcclxuICAgICAgY2FzZSBzdGVwVHlwZS55ZWFyczpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQodmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBzdGVwVHlwZS5tb250aHM6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoLnNldCh2YWx1ZSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHN0ZXBUeXBlLmRheXM6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERheS5zZXQodmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kRW1pdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFN0ZXAoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlQW5kRW1pdCgpIHtcclxuICAgIGNvbnN0IGNvbmNhdGVuYXRlZFZhbHVlID0gYCR7dGhpcy5zZWxlY3RlZFllYXIoKSA/IHRoaXMuc2VsZWN0ZWRZZWFyKCkgOiBgYH0ke3RoaXMuc2VsZWN0ZWRNb250aCgpID8gYCR7dGhpcy5zZWxlY3RlZE1vbnRoKCkhIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1vbnRoKCl9YCA6IHRoaXMuc2VsZWN0ZWRNb250aCgpfWAgOiBgYH0ke3RoaXMuc2VsZWN0ZWREYXkoKSA/IGAtJHt0aGlzLnNlbGVjdGVkRGF5KCkhIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZERheSgpfWAgOiB0aGlzLnNlbGVjdGVkRGF5KCl9YCA6IGBgfWBcclxuXHJcbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IERhdGVUaW1lLmZyb21JU08oY29uY2F0ZW5hdGVkVmFsdWUpO1xyXG4gICAgXHJcbiAgICB0aGlzLnZhbHVlLnNldCh7dmFsdWU6IHBhcnNlZFZhbHVlLnRvSVNPKCkhLCBkZXNjcmlwdGlvbjogcGFyc2VkVmFsdWUudG9JU08oKX0pO1xyXG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKCkpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VsZWN0ZWRTdGVwKCkge1xyXG4gICAgc3dpdGNoKHRoaXMuc3B4U2VsZWN0ZWRTdGVwKCkpIHtcclxuICAgICAgY2FzZSBzdGVwVHlwZS55ZWFyczpcclxuICAgICAgICBpZih0aGlzLnNweFNlbGVjdE1vbnRoKCkpIHtcclxuICAgICAgICAgIHRoaXMuc3B4U2VsZWN0ZWRTdGVwLnNldChzdGVwVHlwZS5tb250aHMpO1xyXG4gICAgICAgICAgdGhpcy5tb250aElucHV0Q29tcG9uZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3B4U2VsZWN0ZWRTdGVwLnNldChzdGVwVHlwZS55ZWFycyk7XHJcbiAgICAgICAgICB0aGlzLnllYXJJbnB1dENvbXBvbmVudCgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIGJyZWFrOyAgXHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUubW9udGhzOlxyXG4gICAgICAgIGlmKHRoaXMuc3B4U2VsZWN0RGF5KCkpIHtcclxuICAgICAgICAgIHRoaXMuc3B4U2VsZWN0ZWRTdGVwLnNldChzdGVwVHlwZS5kYXlzKTtcclxuICAgICAgICAgIHRoaXMuZGF5SW5wdXRDb21wb25lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zcHhTZWxlY3RlZFN0ZXAuc2V0KHN0ZXBUeXBlLnllYXJzKTtcclxuICAgICAgICAgIHRoaXMueWVhcklucHV0Q29tcG9uZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUuZGF5czpcclxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQoc3RlcFR5cGUueWVhcnMpO1xyXG4gICAgICAgIHRoaXMueWVhcklucHV0Q29tcG9uZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICBicmVhazsgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VnZ2VzdFllYXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHhTdWdnZXN0aW9ucygpLnllYXJzID0gW107XHJcbiAgICBmb3IgKGxldCB5ZWFyID0gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnNweE1pbigpKS55ZWFyOyB5ZWFyIDw9IERhdGVUaW1lLmZyb21JU08odGhpcy5zcHhNYXgoKSkueWVhcjsgeWVhcisrKSB7XHJcbiAgICAgIHRoaXMuc3B4U3VnZ2VzdGlvbnMoKS55ZWFycy5wdXNoKHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogYCcke3llYXIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiwgNCl9YCxcclxuICAgICAgICB2YWx1ZTogeWVhcixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9scyc+XHJcbiAgPGlucHV0ICN5ZWFyc1xyXG4gICAgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19pbnB1dCdcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRZZWFyXCJcclxuICAgIFthdHRyLnR5cGVdPVwiJ251bWJlcidcIlxyXG4gICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlRm9jdXMoJ3llYXJzJylcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQsICd5ZWFycycpXCJcclxuICAgIFthdHRyLm1pbl09XCIxOTAwXCJcclxuICAgIFthdHRyLm1heF09XCIyMTAwXCJcclxuICAgIFthdHRyLnN0ZXBdPVwiMVwiXHJcbiAgICAvPlxyXG4gIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5ZZWFyPC9kaXY+XHJcbiAgQGlmICh0aGlzLnNweFNlbGVjdE1vbnRoKCkpIHtcclxuICAgIDxpbnB1dCAjbW9udGhzXHJcbiAgICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXHJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRNb250aFwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50LCAnbW9udGhzJylcIlxyXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVGb2N1cygnbW9udGhzJylcIlxyXG4gICAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgW2F0dHIubWluXT1cIjFcIlxyXG4gICAgICBbYXR0ci5tYXhdPVwiMTJcIlxyXG4gICAgICBbYXR0ci5zdGVwXT1cIjFcIiAvPlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+TW9udGg8L2Rpdj5cclxuICBAaWYgKHRoaXMuc3B4U2VsZWN0RGF5KCkpIHtcclxuICAgIDxpbnB1dCAjZGF5c1xyXG4gICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF5XCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQsICdkYXlzJylcIlxyXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVGb2N1cygnZGF5cycpXCJcclxuICAgICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgIFthdHRyLm1pbl09XCIxXCJcclxuICAgICAgW2F0dHIubWF4XT1cIjMxXCJcclxuICAgICAgW2F0dHIuc3RlcF09XCIxXCIgLz5cclxuICAgIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5EYXlzPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX3N1Z2dlc3Rpb25zJz5cclxuICBAZm9yICh2YWx1ZVBhaXIgb2Ygc3B4U3VnZ2VzdGlvbkMoKTsgdHJhY2sgdmFsdWVQYWlyLnZhbHVlKSB7XHJcbiAgICA8c3B4LXN1Z2dlc3Rpb24gW3NweFNlbGVjdGVkXT1cIlxyXG4gICAgKHNlbGVjdGVkWWVhcigpID09PSB2YWx1ZVBhaXIudmFsdWUpIHx8XHJcbiAgICAoc2VsZWN0ZWRNb250aCgpID09PSB2YWx1ZVBhaXIudmFsdWUpIHx8ICBcclxuICAgIChzZWxlY3RlZERheSgpID09PSB2YWx1ZVBhaXIudmFsdWUpXCJcclxuICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIudmFsdWUpXCI+e3t2YWx1ZVBhaXI/LmRlc2NyaXB0aW9ufX08L3NweC1zdWdnZXN0aW9uPlxyXG4gIH1cclxuPC9kaXY+Il19
@@ -71,62 +71,62 @@ export class SpxInputFloatComponent {
71
71
  return /^[+-]?\d+(\.\d+)?$/.test(value);
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputFloatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputFloatComponent, isStandalone: true, selector: "spx-input-float", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxStep: "spxStep", value: "value", spxWasInternalUpdate: "spxWasInternalUpdate", tick: "tick" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "firstInputRef", first: true, predicate: ["firstInputRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `<div class="flex items-end">
75
- <input
76
- #firstInputRef
77
- class="spx-input-float__input"
78
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
79
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
80
- [attr.pattern]="'[0-9]*'"
81
- [attr.step]="1"
82
- [attr.type]="'text'"
83
- [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
84
- (focus)="this.handleFocus()"
85
- [ngModel]="this.internalValue?.first ? this.internalValue?.first : undefined"
86
- (ngModelChange)="this.handleInput($event, 1)" />
87
- <span class="text-black font-bold text-2xl mx-4">,</span>
88
- <input
89
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
90
- class="spx-input-float__input"
91
- [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
92
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
93
- (focus)="this.handleFocus()"
94
- [ngModel]="this.internalValue?.second ? this.internalValue?.second : undefined"
95
- (ngModelChange)="this.handleInput($event, 2)"
96
- [attr.step]="1"
97
- [attr.type]="'text'"
98
- [attr.pattern]="'[0-9]*'" />
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputFloatComponent, isStandalone: true, selector: "spx-input-float", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxStep: "spxStep", value: "value", spxWasInternalUpdate: "spxWasInternalUpdate", tick: "tick" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "firstInputRef", first: true, predicate: ["firstInputRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `<div class="flex items-end">
75
+ <input
76
+ #firstInputRef
77
+ class="spx-input-float__input"
78
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
79
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
80
+ [attr.pattern]="'[0-9]*'"
81
+ [attr.step]="1"
82
+ [attr.type]="'text'"
83
+ [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
84
+ (focus)="this.handleFocus()"
85
+ [ngModel]="this.internalValue?.first ? this.internalValue?.first : undefined"
86
+ (ngModelChange)="this.handleInput($event, 1)" />
87
+ <span class="text-black font-bold text-2xl mx-4">,</span>
88
+ <input
89
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
90
+ class="spx-input-float__input"
91
+ [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
92
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
93
+ (focus)="this.handleFocus()"
94
+ [ngModel]="this.internalValue?.second ? this.internalValue?.second : undefined"
95
+ (ngModelChange)="this.handleInput($event, 2)"
96
+ [attr.step]="1"
97
+ [attr.type]="'text'"
98
+ [attr.pattern]="'[0-9]*'" />
99
99
  </div>`, isInline: true, styles: [":host{display:block}.spx-input-float__input{border:1px solid #333333;border-radius:8px;background-color:transparent;box-sizing:border-box;color:var(--spx-input--color, rgba(0, 0, 0, .9));flex:1;font-size:20px;font-weight:700;padding:8px;width:100%}.spx-input-float__input:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
100
100
  }
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputFloatComponent, decorators: [{
102
102
  type: Component,
103
103
  args: [{ selector: 'spx-input-float', standalone: true, imports: [
104
104
  FormsModule,
105
- ], template: `<div class="flex items-end">
106
- <input
107
- #firstInputRef
108
- class="spx-input-float__input"
109
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
110
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
111
- [attr.pattern]="'[0-9]*'"
112
- [attr.step]="1"
113
- [attr.type]="'text'"
114
- [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
115
- (focus)="this.handleFocus()"
116
- [ngModel]="this.internalValue?.first ? this.internalValue?.first : undefined"
117
- (ngModelChange)="this.handleInput($event, 1)" />
118
- <span class="text-black font-bold text-2xl mx-4">,</span>
119
- <input
120
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
121
- class="spx-input-float__input"
122
- [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
123
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
124
- (focus)="this.handleFocus()"
125
- [ngModel]="this.internalValue?.second ? this.internalValue?.second : undefined"
126
- (ngModelChange)="this.handleInput($event, 2)"
127
- [attr.step]="1"
128
- [attr.type]="'text'"
129
- [attr.pattern]="'[0-9]*'" />
105
+ ], template: `<div class="flex items-end">
106
+ <input
107
+ #firstInputRef
108
+ class="spx-input-float__input"
109
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
110
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
111
+ [attr.pattern]="'[0-9]*'"
112
+ [attr.step]="1"
113
+ [attr.type]="'text'"
114
+ [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
115
+ (focus)="this.handleFocus()"
116
+ [ngModel]="this.internalValue?.first ? this.internalValue?.first : undefined"
117
+ (ngModelChange)="this.handleInput($event, 1)" />
118
+ <span class="text-black font-bold text-2xl mx-4">,</span>
119
+ <input
120
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
121
+ class="spx-input-float__input"
122
+ [class.spx-input-float--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
123
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
124
+ (focus)="this.handleFocus()"
125
+ [ngModel]="this.internalValue?.second ? this.internalValue?.second : undefined"
126
+ (ngModelChange)="this.handleInput($event, 2)"
127
+ [attr.step]="1"
128
+ [attr.type]="'text'"
129
+ [attr.pattern]="'[0-9]*'" />
130
130
  </div>`, styles: [":host{display:block}.spx-input-float__input{border:1px solid #333333;border-radius:8px;background-color:transparent;box-sizing:border-box;color:var(--spx-input--color, rgba(0, 0, 0, .9));flex:1;font-size:20px;font-weight:700;padding:8px;width:100%}.spx-input-float__input:focus{outline:none}\n"] }]
131
131
  }], propDecorators: { spxName: [{
132
132
  type: Input
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
154
154
  type: ViewChild,
155
155
  args: ['firstInputRef', { static: true }]
156
156
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1mbG9hdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQXlEN0MsTUFBTSxPQUFPLHNCQUFzQjtJQXZEbkM7UUF3RFksa0JBQWEsR0FHbkI7WUFDRixLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUVPLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekQseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLFNBQUksR0FBRyxFQUFFLENBQUM7S0E2RHBCO0lBMURDLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxD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ckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ3dDLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LWZsb2F0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWVuZFwiPlxuICA8aW5wdXRcbiAgICAjZmlyc3RJbnB1dFJlZlxuICAgIGNsYXNzPVwic3B4LWlucHV0LWZsb2F0X19pbnB1dFwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzID8gdGhpcy5zcHhBdXRvZm9jdXMgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5wYXR0ZXJuXT1cIidbMC05XSonXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICBbY2xhc3Muc3B4LWlucHV0LWZsb2F0LS1yZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5ID8gdGhpcy5zcHhSZWFkb25seSA6IHVuZGVmaW5lZFwiXG4gICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgW25nTW9kZWxdPVwidGhpcy5pbnRlcm5hbFZhbHVlPy5maXJzdCA/IHRoaXMuaW50ZXJuYWxWYWx1ZT8uZmlyc3QgOiB1bmRlZmluZWRcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMuaGFuZGxlSW5wdXQoJGV2ZW50LCAxKVwiIC8+XG4gIDxzcGFuIGNsYXNzPVwidGV4dC1ibGFjayBmb250LWJvbGQgdGV4dC0yeGwgbXgtNFwiPiw8L3NwYW4+XG4gIDxpbnB1dFxuICAgIFthdHRyLmF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1cyA/IHRoaXMuc3B4QXV0b2ZvY3VzIDogdW5kZWZpbmVkXCJcbiAgICBjbGFzcz1cInNweC1pbnB1dC1mbG9hdF9faW5wdXRcIlxuICAgIFtjbGFzcy5zcHgtaW5wdXQtZmxvYXQtLXJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJ0aGlzLnNweFJlYWRvbmx5ID8gdGhpcy5zcHhSZWFkb25seSA6IHVuZGVmaW5lZFwiXG4gICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgW25nTW9kZWxdPVwidGhpcy5pbnRlcm5hbFZhbHVlPy5zZWNvbmQgPyB0aGlzLmludGVybmFsVmFsdWU/LnNlY29uZCA6IHVuZGVmaW5lZFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwidGhpcy5oYW5kbGVJbnB1dCgkZXZlbnQsIDIpXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICBbYXR0ci5wYXR0ZXJuXT1cIidbMC05XSonXCIgLz5cbjwvZGl2PmAsXG4gIHN0eWxlczogYFxuICA6aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3B4LWlucHV0LWZsb2F0X19pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiB2YXIoLS1zcHgtaW5wdXQtLWNvbG9yLCByZ2JhKDAsIDAsIDAsIC45KSk7XG4gIGZsZXg6IDE7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zcHgtaW5wdXQtZmxvYXRfX2lucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRGbG9hdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIGludGVybmFsVmFsdWU6IHtcbiAgICBmaXJzdDogbnVtYmVyIHwgbnVsbDtcbiAgICBzZWNvbmQ6IG51bWJlciB8IG51bGw7XG4gIH0gPSB7XG4gICAgZmlyc3Q6IG51bGwsXG4gICAgc2Vjb25kOiBudWxsLFxuICB9O1xuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4UmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U3RlcD86IG51bWJlcjtcbiAgQElucHV0KCkgdmFsdWUhOiBTcHhWYWx1ZVBhaXI8YW55PjtcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XG4gIEBPdXRwdXQoKSBzcHhGb2N1czogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBzcHhXYXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSB0aWNrID0ge307XG4gIEBWaWV3Q2hpbGQoJ2ZpcnN0SW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaXJzdElucHV0UmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgXG4gIHNweFNldEZvY3VzKCkge1xuICAgIHRoaXMuZmlyc3RJbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNweEF1dG9mb2N1cykge1xuICAgICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgICB0aGlzLnNweFNldEZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlU2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcbiAgICAgIHRoaXMuaGFuZGxlU2V0VmFsdWUoY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZvY3VzKCkge1xuICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xuICB9XG5cbiAgaGFuZGxlU2V0VmFsdWUobmV3VmFsdWU6IFNweFZhbHVlUGFpcjxhbnk+KSB7XG4gICAgaWYgKHRoaXMuaXNOdW1lcmljKG5ld1ZhbHVlPy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHtcbiAgICAgICAgZmlyc3Q6IE1hdGguZmxvb3IocGFyc2VGbG9hdChuZXdWYWx1ZT8udmFsdWUpKSxcbiAgICAgICAgc2Vjb25kOiBuZXdWYWx1ZT8udmFsdWU/LnNwbGl0ID8gbmV3VmFsdWU/LnZhbHVlLnNwbGl0KCcuJylbMV0gOiAwLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0ge1xuICAgICAgICBmaXJzdDogbnVsbCxcbiAgICAgICAgc2Vjb25kOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy50aWNrID0ge307XG4gIH1cblxuICBoYW5kbGVJbnB1dCh2YWx1ZTogYW55LCBwb3NpdGlvbjogMSB8IDIpIHtcbiAgICB0aGlzLmludGVybmFsVmFsdWUgPSB7XG4gICAgICBmaXJzdDogcG9zaXRpb24gPT09IDEgPyB2YWx1ZSA6IHRoaXMuaW50ZXJuYWxWYWx1ZS5maXJzdCxcbiAgICAgIHNlY29uZDogcG9zaXRpb24gPT09IDIgPyB2YWx1ZSA6IHRoaXMuaW50ZXJuYWxWYWx1ZS5zZWNvbmQsXG4gICAgfTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmICh0aGlzLmludGVybmFsVmFsdWUuZmlyc3QgPT09IG51bGwgJiYgdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA9PT0gbnVsbCkge1xuICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYCR7dGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0IDogMH0uJHt0aGlzLmludGVybmFsVmFsdWUuc2Vjb25kID8gdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA6IDB9YDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiByZXN1bHQsXG4gICAgICB2YWx1ZTogcmVzdWx0LFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGlzTnVtZXJpYyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIC9eWystXT9cXGQrKFxcLlxcZCspPyQvLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1mbG9hdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQXlEN0MsTUFBTSxPQUFPLHNCQUFzQjtJQXZEbkM7UUF3RFksa0JBQWEsR0FHbkI7WUFDRixLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUVPLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekQseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLFNBQUksR0FBRyxFQUFFLENBQUM7S0E2RHBCO0lBMURDLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxD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ckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ3dDLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LWZsb2F0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1lbmRcIj5cclxuICA8aW5wdXRcclxuICAgICNmaXJzdElucHV0UmVmXHJcbiAgICBjbGFzcz1cInNweC1pbnB1dC1mbG9hdF9faW5wdXRcIlxyXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzID8gdGhpcy5zcHhBdXRvZm9jdXMgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIucGF0dGVybl09XCInWzAtOV0qJ1wiXHJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxyXG4gICAgW2F0dHIudHlwZV09XCIndGV4dCdcIlxyXG4gICAgW2NsYXNzLnNweC1pbnB1dC1mbG9hdC0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICBbbmdNb2RlbF09XCJ0aGlzLmludGVybmFsVmFsdWU/LmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlPy5maXJzdCA6IHVuZGVmaW5lZFwiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudCwgMSlcIiAvPlxyXG4gIDxzcGFuIGNsYXNzPVwidGV4dC1ibGFjayBmb250LWJvbGQgdGV4dC0yeGwgbXgtNFwiPiw8L3NwYW4+XHJcbiAgPGlucHV0XHJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXMgPyB0aGlzLnNweEF1dG9mb2N1cyA6IHVuZGVmaW5lZFwiXHJcbiAgICBjbGFzcz1cInNweC1pbnB1dC1mbG9hdF9faW5wdXRcIlxyXG4gICAgW2NsYXNzLnNweC1pbnB1dC1mbG9hdC0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICBbbmdNb2RlbF09XCJ0aGlzLmludGVybmFsVmFsdWU/LnNlY29uZCA/IHRoaXMuaW50ZXJuYWxWYWx1ZT8uc2Vjb25kIDogdW5kZWZpbmVkXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMuaGFuZGxlSW5wdXQoJGV2ZW50LCAyKVwiXHJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxyXG4gICAgW2F0dHIudHlwZV09XCIndGV4dCdcIlxyXG4gICAgW2F0dHIucGF0dGVybl09XCInWzAtOV0qJ1wiIC8+XHJcbjwvZGl2PmAsXHJcbiAgc3R5bGVzOiBgXHJcbiAgOmhvc3Qge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uc3B4LWlucHV0LWZsb2F0X19pbnB1dCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMztcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjb2xvcjogdmFyKC0tc3B4LWlucHV0LS1jb2xvciwgcmdiYSgwLCAwLCAwLCAuOSkpO1xyXG4gIGZsZXg6IDE7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnNweC1pbnB1dC1mbG9hdF9faW5wdXQ6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRGbG9hdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBwcm90ZWN0ZWQgaW50ZXJuYWxWYWx1ZToge1xyXG4gICAgZmlyc3Q6IG51bWJlciB8IG51bGw7XHJcbiAgICBzZWNvbmQ6IG51bWJlciB8IG51bGw7XHJcbiAgfSA9IHtcclxuICAgIGZpcnN0OiBudWxsLFxyXG4gICAgc2Vjb25kOiBudWxsLFxyXG4gIH07XHJcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcclxuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzcHhTdGVwPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XHJcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XHJcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSB0aWNrID0ge307XHJcbiAgQFZpZXdDaGlsZCgnZmlyc3RJbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pIGZpcnN0SW5wdXRSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG4gIFxyXG4gIHNweFNldEZvY3VzKCkge1xyXG4gICAgdGhpcy5maXJzdElucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zcHhBdXRvZm9jdXMpIHtcclxuICAgICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XHJcbiAgICAgIHRoaXMuc3B4U2V0Rm9jdXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlU2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndmFsdWUnXSkge1xyXG4gICAgICB0aGlzLmhhbmRsZVNldFZhbHVlKGNoYW5nZXNbJ3ZhbHVlJ10uY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUZvY3VzKCkge1xyXG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZXRWYWx1ZShuZXdWYWx1ZTogU3B4VmFsdWVQYWlyPGFueT4pIHtcclxuICAgIGlmICh0aGlzLmlzTnVtZXJpYyhuZXdWYWx1ZT8udmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHtcclxuICAgICAgICBmaXJzdDogTWF0aC5mbG9vcihwYXJzZUZsb2F0KG5ld1ZhbHVlPy52YWx1ZSkpLFxyXG4gICAgICAgIHNlY29uZDogbmV3VmFsdWU/LnZhbHVlPy5zcGxpdCA/IG5ld1ZhbHVlPy52YWx1ZS5zcGxpdCgnLicpWzFdIDogMCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHtcclxuICAgICAgICBmaXJzdDogbnVsbCxcclxuICAgICAgICBzZWNvbmQ6IG51bGwsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpY2sgPSB7fTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0KHZhbHVlOiBhbnksIHBvc2l0aW9uOiAxIHwgMikge1xyXG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0ge1xyXG4gICAgICBmaXJzdDogcG9zaXRpb24gPT09IDEgPyB2YWx1ZSA6IHRoaXMuaW50ZXJuYWxWYWx1ZS5maXJzdCxcclxuICAgICAgc2Vjb25kOiBwb3NpdGlvbiA9PT0gMiA/IHZhbHVlIDogdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCxcclxuICAgIH07XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgaWYgKHRoaXMuaW50ZXJuYWxWYWx1ZS5maXJzdCA9PT0gbnVsbCAmJiB0aGlzLmludGVybmFsVmFsdWUuc2Vjb25kID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXN1bHQgPSBgJHt0aGlzLmludGVybmFsVmFsdWUuZmlyc3QgPyB0aGlzLmludGVybmFsVmFsdWUuZmlyc3QgOiAwfS4ke3RoaXMuaW50ZXJuYWxWYWx1ZS5zZWNvbmQgPyB0aGlzLmludGVybmFsVmFsdWUuc2Vjb25kIDogMH1gO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSA9IHtcclxuICAgICAgZGVzY3JpcHRpb246IHJlc3VsdCxcclxuICAgICAgdmFsdWU6IHJlc3VsdCxcclxuICAgIH07XHJcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgaXNOdW1lcmljKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiAvXlsrLV0/XFxkKyhcXC5cXGQrKT8kLy50ZXN0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -29,36 +29,36 @@ export class SpxInputNumberComponent {
29
29
  this.spxChange.emit(this.value);
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputNumberComponent, isStandalone: true, selector: "spx-input-number", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxStep: "spxStep", value: "value" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<div class="spx-input-number__controls">
33
- <input
34
- #input
35
- class="spx-input-number__input"
36
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
37
- [class.spx-input-number--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
38
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
39
- [attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
40
- [attr.value]="this.value?.value ? this.value?.value : undefined"
41
- [attr.step]="this.spxStep ? this.spxStep : undefined"
42
- [attr.type]="'number'"
43
- (focus)="this.handleFocus()"
44
- (input)="this.handleInput($event)" />
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputNumberComponent, isStandalone: true, selector: "spx-input-number", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxStep: "spxStep", value: "value" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<div class="spx-input-number__controls">
33
+ <input
34
+ #input
35
+ class="spx-input-number__input"
36
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
37
+ [class.spx-input-number--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
38
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
39
+ [attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
40
+ [attr.value]="this.value?.value ? this.value?.value : undefined"
41
+ [attr.step]="this.spxStep ? this.spxStep : undefined"
42
+ [attr.type]="'number'"
43
+ (focus)="this.handleFocus()"
44
+ (input)="this.handleInput($event)" />
45
45
  </div>`, isInline: true, styles: [":host{display:block}.spx-input-number__input{border:0;background-color:transparent;box-sizing:border-box;color:var(--spx-input--color, rgba(0, 0, 0, .9));font-size:20px;font-weight:700;margin-right:10px;padding:0;width:100%}.spx-input-number__input:focus{outline:none}.spx-input-number__value{color:#0009;font-size:14px}\n"] }); }
46
46
  }
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputNumberComponent, decorators: [{
48
48
  type: Component,
49
- args: [{ selector: 'spx-input-number', standalone: true, imports: [], template: `<div class="spx-input-number__controls">
50
- <input
51
- #input
52
- class="spx-input-number__input"
53
- [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
54
- [class.spx-input-number--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
55
- [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
56
- [attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
57
- [attr.value]="this.value?.value ? this.value?.value : undefined"
58
- [attr.step]="this.spxStep ? this.spxStep : undefined"
59
- [attr.type]="'number'"
60
- (focus)="this.handleFocus()"
61
- (input)="this.handleInput($event)" />
49
+ args: [{ selector: 'spx-input-number', standalone: true, imports: [], template: `<div class="spx-input-number__controls">
50
+ <input
51
+ #input
52
+ class="spx-input-number__input"
53
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
54
+ [class.spx-input-number--readonly]="this.spxReadonly ? this.spxReadonly : undefined"
55
+ [attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
56
+ [attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
57
+ [attr.value]="this.value?.value ? this.value?.value : undefined"
58
+ [attr.step]="this.spxStep ? this.spxStep : undefined"
59
+ [attr.type]="'number'"
60
+ (focus)="this.handleFocus()"
61
+ (input)="this.handleInput($event)" />
62
62
  </div>`, styles: [":host{display:block}.spx-input-number__input{border:0;background-color:transparent;box-sizing:border-box;color:var(--spx-input--color, rgba(0, 0, 0, .9));font-size:20px;font-weight:700;margin-right:10px;padding:0;width:100%}.spx-input-number__input:focus{outline:none}.spx-input-number__value{color:#0009;font-size:14px}\n"] }]
63
63
  }], propDecorators: { spxName: [{
64
64
  type: Input
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
84
  type: ViewChild,
85
85
  args: ['input', { static: true }]
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cy9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnRDlGLE1BQU0sT0FBTyx1QkFBdUI7SUE3Q3BDO1FBaURXLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbEUseUJBQW9CLEdBQUcsS0FBSyxDQUFDO0tBd0I5QjtJQXRCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDckQsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ2hELENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FyQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsOGNBekN4Qjs7Ozs7Ozs7Ozs7OztPQWFMOzs0RkE0Qk0sdUJBQXVCO2tCQTdDbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLEVBQUUsWUFDRDs7Ozs7Ozs7Ozs7OztPQWFMOzhCQStCSSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUMrQixRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtbnVtYmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInNweC1pbnB1dC1udW1iZXJfX2NvbnRyb2xzXCI+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIGNsYXNzPVwic3B4LWlucHV0LW51bWJlcl9faW5wdXRcIlxuICAgIFthdHRyLmF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1cyA/IHRoaXMuc3B4QXV0b2ZvY3VzIDogdW5kZWZpbmVkXCJcbiAgICBbY2xhc3Muc3B4LWlucHV0LW51bWJlci0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5pbnB1dE1vZGVdPVwidGhpcy5zcHhJbnB1dE1vZGUgPyB0aGlzLnNweElucHV0TW9kZSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIudmFsdWVdPVwidGhpcy52YWx1ZT8udmFsdWUgPyB0aGlzLnZhbHVlPy52YWx1ZSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuc3RlcF09XCJ0aGlzLnNweFN0ZXAgPyB0aGlzLnNweFN0ZXAgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLnR5cGVdPVwiJ251bWJlcidcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudClcIiAvPlxuPC9kaXY+YCxcbiAgc3R5bGVzOiBgXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3B4LWlucHV0LW51bWJlcl9faW5wdXQge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogdmFyKC0tc3B4LWlucHV0LS1jb2xvciwgcmdiYSgwLCAwLCAwLCAuOSkpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3B4LWlucHV0LW51bWJlcl9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc3B4LWlucHV0LW51bWJlcl9fdmFsdWUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNik7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXROdW1iZXJDb21wb25lbnQge1xuICAvLyBwcml2YXRlIGVsSW5wdXQ/OiBIVE1MRWxlbWVudDtcbiAgLy8gQEVsZW1lbnQoKSBlbCE6IEhUTUxFbGVtZW50O1xuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4SW5wdXRNb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzITogYW55W107XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTdGVwPzogbnVtYmVyO1xuICBASW5wdXQoKSB2YWx1ZT86IFNweFZhbHVlUGFpcjxhbnk+O1xuICBAT3V0cHV0KCkgc3B4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBzcHhXYXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuICBcbiAgc3B4U2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZExvYWQoKSB7XG4gICAgaWYgKHRoaXMuc3B4QXV0b2ZvY3VzKSB7XG4gICAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuc3B4U2V0Rm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZUlucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgZGVzY3JpcHRpb246IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwsXG4gICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0ID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogbnVsbCxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cbn0iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cy9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnRDlGLE1BQU0sT0FBTyx1QkFBdUI7SUE3Q3BDO1FBaURXLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbEUseUJBQW9CLEdBQUcsS0FBSyxDQUFDO0tBd0I5QjtJQXRCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDckQsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ2hELENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FyQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsOGNBekN4Qjs7Ozs7Ozs7Ozs7OztPQWFMOzs0RkE0Qk0sdUJBQXVCO2tCQTdDbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLEVBQUUsWUFDRDs7Ozs7Ozs7Ozs7OztPQWFMOzhCQStCSSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUMrQixRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NweC1pbnB1dC1udW1iZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwic3B4LWlucHV0LW51bWJlcl9fY29udHJvbHNcIj5cclxuICA8aW5wdXRcclxuICAgICNpbnB1dFxyXG4gICAgY2xhc3M9XCJzcHgtaW5wdXQtbnVtYmVyX19pbnB1dFwiXHJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXMgPyB0aGlzLnNweEF1dG9mb2N1cyA6IHVuZGVmaW5lZFwiXHJcbiAgICBbY2xhc3Muc3B4LWlucHV0LW51bWJlci0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuaW5wdXRNb2RlXT1cInRoaXMuc3B4SW5wdXRNb2RlID8gdGhpcy5zcHhJbnB1dE1vZGUgOiB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidGhpcy52YWx1ZT8udmFsdWUgPyB0aGlzLnZhbHVlPy52YWx1ZSA6IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5zdGVwXT1cInRoaXMuc3B4U3RlcCA/IHRoaXMuc3B4U3RlcCA6IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcclxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgKGlucHV0KT1cInRoaXMuaGFuZGxlSW5wdXQoJGV2ZW50KVwiIC8+XHJcbjwvZGl2PmAsXHJcbiAgc3R5bGVzOiBgXHJcbjpob3N0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnNweC1pbnB1dC1udW1iZXJfX2lucHV0IHtcclxuICBib3JkZXI6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjb2xvcjogdmFyKC0tc3B4LWlucHV0LS1jb2xvciwgcmdiYSgwLCAwLCAwLCAuOSkpO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnNweC1pbnB1dC1udW1iZXJfX2lucHV0OmZvY3VzIHtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uc3B4LWlucHV0LW51bWJlcl9fdmFsdWUge1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC42KTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4SW5wdXROdW1iZXJDb21wb25lbnQge1xyXG4gIC8vIHByaXZhdGUgZWxJbnB1dD86IEhUTUxFbGVtZW50O1xyXG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweElucHV0TW9kZT86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcclxuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzcHhTdGVwPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XHJcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XHJcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcclxuICBcclxuICBzcHhTZXRGb2N1cygpIHtcclxuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRMb2FkKCkge1xyXG4gICAgaWYgKHRoaXMuc3B4QXV0b2ZvY3VzKSB7XHJcbiAgICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xyXG4gICAgICB0aGlzLnNweFNldEZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGb2N1cygpIHtcclxuICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHtcclxuICAgICAgZGVzY3JpcHRpb246IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwsXHJcbiAgICAgIHZhbHVlOiBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG59Il19