@softpak/components 18.0.0 → 18.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/esm2022/spx-alert/spx-alert.component.mjs +53 -43
  2. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +57 -40
  3. package/esm2022/spx-app-update/spx-app-update.component.mjs +61 -55
  4. package/esm2022/spx-card/spx-card-item.component.mjs +37 -31
  5. package/esm2022/spx-card/spx-card-line.component.mjs +63 -40
  6. package/esm2022/spx-card/spx-card.component.mjs +52 -49
  7. package/esm2022/spx-change-details/spx-change-details.component.mjs +3 -5
  8. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +3 -6
  9. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +4 -7
  10. package/esm2022/spx-form-section/spx-form-section.component.mjs +19 -14
  11. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +3 -5
  12. package/esm2022/spx-form-view/spx-form-view.component.mjs +140 -132
  13. package/esm2022/spx-inputs/spx-dropdown.component.mjs +35 -36
  14. package/esm2022/spx-inputs/spx-input-box.component.mjs +143 -125
  15. package/esm2022/spx-inputs/spx-input-date.component.mjs +86 -83
  16. package/esm2022/spx-inputs/spx-input-float.component.mjs +2 -5
  17. package/esm2022/spx-inputs/spx-input-radio.component.mjs +25 -25
  18. package/esm2022/spx-inputs/spx-input-text.component.mjs +65 -61
  19. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +73 -60
  20. package/esm2022/spx-inputs/spx-input-time.component.mjs +2 -5
  21. package/esm2022/spx-inputs/spx-input.component.mjs +223 -213
  22. package/esm2022/spx-navigation/spx-home-tile.component.mjs +40 -37
  23. package/esm2022/spx-navigation/spx-navigation.component.mjs +6 -10
  24. package/esm2022/spx-number-check/spx-number-check.component.mjs +47 -41
  25. package/esm2022/spx-patch/spx-patch.component.mjs +27 -21
  26. package/esm2022/spx-spinner/spx-spinner.component.mjs +143 -142
  27. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +6 -9
  28. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +91 -96
  29. package/esm2022/spx-update/src/spx-update-info.component.mjs +3 -5
  30. package/esm2022/spx-validation/spx-validate-control.component.mjs +4 -7
  31. package/fesm2022/softpak-components-spx-alert.mjs +52 -42
  32. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  33. package/fesm2022/softpak-components-spx-app-expiry.mjs +56 -39
  34. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  35. package/fesm2022/softpak-components-spx-app-update.mjs +60 -54
  36. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  37. package/fesm2022/softpak-components-spx-card.mjs +148 -115
  38. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  39. package/fesm2022/softpak-components-spx-change-details.mjs +2 -4
  40. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  41. package/fesm2022/softpak-components-spx-channel-selection.mjs +2 -5
  42. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  43. package/fesm2022/softpak-components-spx-check-digit.mjs +3 -6
  44. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  45. package/fesm2022/softpak-components-spx-form-section.mjs +18 -13
  46. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  47. package/fesm2022/softpak-components-spx-form-view.mjs +141 -134
  48. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  49. package/fesm2022/softpak-components-spx-inputs.mjs +645 -595
  50. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  51. package/fesm2022/softpak-components-spx-navigation.mjs +44 -44
  52. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  53. package/fesm2022/softpak-components-spx-number-check.mjs +46 -40
  54. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  55. package/fesm2022/softpak-components-spx-patch.mjs +26 -20
  56. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  57. package/fesm2022/softpak-components-spx-spinner.mjs +142 -141
  58. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  59. package/fesm2022/softpak-components-spx-stock-info.mjs +5 -8
  60. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  61. package/fesm2022/softpak-components-spx-toaster.mjs +90 -95
  62. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  63. package/fesm2022/softpak-components-spx-update.mjs +2 -4
  64. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  65. package/fesm2022/softpak-components-spx-validation.mjs +3 -6
  66. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  67. package/package.json +31 -31
@@ -1,6 +1,4 @@
1
- import { NgFor, NgIf } from '@angular/common';
2
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { SpxButtonComponent } from '@softpak/components/spx-button';
4
2
  import { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';
5
3
  import { DateTime } from 'luxon';
6
4
  import * as i0 from "@angular/core";
@@ -91,7 +89,7 @@ export class SpxInputDateComponent {
91
89
  }
92
90
  afterMonthChange() {
93
91
  if (this.spxInternalValue.months.toString().length === 2 && this.spxSelectDay && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {
94
- // this.elDay!.focus();
92
+ this.elDay?.focus();
95
93
  }
96
94
  this.updateValue();
97
95
  }
@@ -101,7 +99,7 @@ export class SpxInputDateComponent {
101
99
  }
102
100
  afterYearChange() {
103
101
  if (this.spxInternalValue.years.toString().length === 4 && this.spxSelectMonth && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {
104
- // this.elMonth!.focus();
102
+ this.elMonth?.focus();
105
103
  }
106
104
  this.updateValue();
107
105
  }
@@ -155,6 +153,7 @@ export class SpxInputDateComponent {
155
153
  this.spxWasInternalUpdate = true;
156
154
  }
157
155
  suggestYears() {
156
+ console.log('suggest years');
158
157
  this.spxSuggestions.years = [];
159
158
  for (let year = DateTime.fromISO(this.spxMin).year; year <= DateTime.fromISO(this.spxMax).year; year++) {
160
159
  this.spxSuggestions.years.push({
@@ -162,102 +161,106 @@ export class SpxInputDateComponent {
162
161
  value: year,
163
162
  });
164
163
  }
164
+ console.log('suggest years', this.spxSuggestions);
165
165
  }
166
166
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputDateComponent, isStandalone: true, selector: "spx-input-date", inputs: { spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", value: "value", spxLastKeyPressed: "spxLastKeyPressed", spxSelectStep: "spxSelectStep", spxInternalValue: "spxInternalValue", spxSuggestions: "spxSuggestions", spxWasInternalUpdate: "spxWasInternalUpdate" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, ngImport: i0, template: `<div class='spx-input-date__controls'>
168
- <input
169
- class='spx-input-date__input'
170
- [attr.value]="this.spxInternalValue.years"
171
- (focus)="this.handleFocus('years')"
172
- (input)="this.handleYearInput($event)"
173
- (keyDown)="this.handleKeyDown($event)"
174
- [attr.type]="'number'"
175
- [attr.min]="1900"
176
- [attr.max]="2100"
177
- [attr.step]="1"
178
- />
179
- <div class='spx-input-date__control-label'>Year</div>
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputDateComponent, isStandalone: true, selector: "spx-input-date", inputs: { spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxFocused: "spxFocused", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", value: "value", spxLastKeyPressed: "spxLastKeyPressed", spxSelectStep: "spxSelectStep", spxInternalValue: "spxInternalValue", spxSuggestions: "spxSuggestions", spxWasInternalUpdate: "spxWasInternalUpdate" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, ngImport: i0, template: `<div class='spx-input-date__controls'>
180
168
  <input
181
- *ngIf="this.spxSelectMonth"
182
169
  class='spx-input-date__input'
183
- [attr.value]="this.spxInternalValue.months"
184
- (focus)="this.handleFocus('months')"
185
- (input)="this.handleMonthInput($event)"
170
+ [attr.value]="this.spxInternalValue.years"
171
+ (focus)="this.handleFocus('years')"
172
+ (input)="this.handleYearInput($event)"
186
173
  (keyDown)="this.handleKeyDown($event)"
187
174
  [attr.type]="'number'"
188
- [attr.min]="1"
189
- [attr.max]="12"
190
- [attr.step]="1" />
191
- <div class='spx-input-date__control-label'>Month</div>
192
- <input
193
- *ngIf="this.spxSelectDay"
194
- class='spx-input-date__input'
195
- [attr.value]="this.spxInternalValue.days"
196
- (focus)="this.handleFocus('days')"
197
- (input)="this.handleDayInput($event)"
198
- (keyDown)="this.handleKeyDown($event)"
199
- [attr.type]="'number'"
200
- [attr.min]="1"
201
- [attr.max]="31"
202
- [attr.step]="1" />
175
+ [attr.min]="1900"
176
+ [attr.max]="2100"
177
+ [attr.step]="1"
178
+ />
179
+ <div class='spx-input-date__control-label'>Year</div>
180
+ @if (this.spxSelectMonth) {
181
+ <input
182
+ class='spx-input-date__input'
183
+ [attr.value]="this.spxInternalValue.months"
184
+ (focus)="this.handleFocus('months')"
185
+ (input)="this.handleMonthInput($event)"
186
+ (keyDown)="this.handleKeyDown($event)"
187
+ [attr.type]="'number'"
188
+ [attr.min]="1"
189
+ [attr.max]="12"
190
+ [attr.step]="1" />
191
+ }
192
+ <div class='spx-input-date__control-label'>Month</div>
193
+ @if (this.spxSelectDay) {
194
+ <input
195
+ class='spx-input-date__input'
196
+ [attr.value]="this.spxInternalValue.days"
197
+ (focus)="this.handleFocus('days')"
198
+ (input)="this.handleDayInput($event)"
199
+ (keyDown)="this.handleKeyDown($event)"
200
+ [attr.type]="'number'"
201
+ [attr.min]="1"
202
+ [attr.max]="31"
203
+ [attr.step]="1" />
203
204
  <div class='spx-input-date__control-label'>Days</div>
204
- </div>
205
- <div class='spx-input-date__suggestions'>
206
- <spx-suggestion
207
- *ngFor="let valuePair of spxSuggestions[spxSelectStep]"
208
- (click)="this.handleSuggestionClick(valuePair.value)">{{valuePair?.description}}</spx-suggestion>
209
- </div>`, isInline: true, 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }] }); }
205
+ }
206
+ </div>
207
+ <div class='spx-input-date__suggestions'>
208
+ @for (valuePair of spxSuggestions[spxSelectStep]; track valuePair) {
209
+ <spx-suggestion
210
+ (click)="this.handleSuggestionClick(valuePair.value)">{{valuePair?.description}}</spx-suggestion>
211
+ }
212
+ </div>`, isInline: true, 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"] }] }); }
210
213
  }
211
214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, decorators: [{
212
215
  type: Component,
213
216
  args: [{ selector: 'spx-input-date', standalone: true, imports: [
214
- NgIf,
215
- NgFor,
216
- SpxButtonComponent,
217
217
  SpxSuggestionComponent
218
218
  ], template: `<div class='spx-input-date__controls'>
219
- <input
220
- class='spx-input-date__input'
221
- [attr.value]="this.spxInternalValue.years"
222
- (focus)="this.handleFocus('years')"
223
- (input)="this.handleYearInput($event)"
224
- (keyDown)="this.handleKeyDown($event)"
225
- [attr.type]="'number'"
226
- [attr.min]="1900"
227
- [attr.max]="2100"
228
- [attr.step]="1"
229
- />
230
- <div class='spx-input-date__control-label'>Year</div>
231
219
  <input
232
- *ngIf="this.spxSelectMonth"
233
220
  class='spx-input-date__input'
234
- [attr.value]="this.spxInternalValue.months"
235
- (focus)="this.handleFocus('months')"
236
- (input)="this.handleMonthInput($event)"
221
+ [attr.value]="this.spxInternalValue.years"
222
+ (focus)="this.handleFocus('years')"
223
+ (input)="this.handleYearInput($event)"
237
224
  (keyDown)="this.handleKeyDown($event)"
238
225
  [attr.type]="'number'"
239
- [attr.min]="1"
240
- [attr.max]="12"
241
- [attr.step]="1" />
242
- <div class='spx-input-date__control-label'>Month</div>
243
- <input
244
- *ngIf="this.spxSelectDay"
245
- class='spx-input-date__input'
246
- [attr.value]="this.spxInternalValue.days"
247
- (focus)="this.handleFocus('days')"
248
- (input)="this.handleDayInput($event)"
249
- (keyDown)="this.handleKeyDown($event)"
250
- [attr.type]="'number'"
251
- [attr.min]="1"
252
- [attr.max]="31"
253
- [attr.step]="1" />
226
+ [attr.min]="1900"
227
+ [attr.max]="2100"
228
+ [attr.step]="1"
229
+ />
230
+ <div class='spx-input-date__control-label'>Year</div>
231
+ @if (this.spxSelectMonth) {
232
+ <input
233
+ class='spx-input-date__input'
234
+ [attr.value]="this.spxInternalValue.months"
235
+ (focus)="this.handleFocus('months')"
236
+ (input)="this.handleMonthInput($event)"
237
+ (keyDown)="this.handleKeyDown($event)"
238
+ [attr.type]="'number'"
239
+ [attr.min]="1"
240
+ [attr.max]="12"
241
+ [attr.step]="1" />
242
+ }
243
+ <div class='spx-input-date__control-label'>Month</div>
244
+ @if (this.spxSelectDay) {
245
+ <input
246
+ class='spx-input-date__input'
247
+ [attr.value]="this.spxInternalValue.days"
248
+ (focus)="this.handleFocus('days')"
249
+ (input)="this.handleDayInput($event)"
250
+ (keyDown)="this.handleKeyDown($event)"
251
+ [attr.type]="'number'"
252
+ [attr.min]="1"
253
+ [attr.max]="31"
254
+ [attr.step]="1" />
254
255
  <div class='spx-input-date__control-label'>Days</div>
255
- </div>
256
- <div class='spx-input-date__suggestions'>
257
- <spx-suggestion
258
- *ngFor="let valuePair of spxSuggestions[spxSelectStep]"
259
- (click)="this.handleSuggestionClick(valuePair.value)">{{valuePair?.description}}</spx-suggestion>
260
- </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"] }]
256
+ }
257
+ </div>
258
+ <div class='spx-input-date__suggestions'>
259
+ @for (valuePair of spxSuggestions[spxSelectStep]; track valuePair) {
260
+ <spx-suggestion
261
+ (click)="this.handleSuggestionClick(valuePair.value)">{{valuePair?.description}}</spx-suggestion>
262
+ }
263
+ </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"] }]
261
264
  }], ctorParameters: () => [], propDecorators: { spxMax: [{
262
265
  type: Input
263
266
  }], spxMin: [{
@@ -291,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
291
294
  }], spxWasInternalUpdate: [{
292
295
  type: Input
293
296
  }] } });
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQStHakMsTUFBTSxPQUFPLHFCQUFxQjtJQXFFaEMsS0FBSyxDQUFDLFdBQVc7UUFDZix1QkFBdUI7SUFDekIsQ0FBQztJQUNELHlEQUF5RDtJQUN6RCx5Q0FBeUM7SUFDekMsSUFBSTtJQUNKLHlDQUF5QztJQUN6QyxxQ0FBcUM7SUFDckMseUNBQXlDO0lBQ3pDLGFBQWE7SUFDYiw2REFBNkQ7SUFDN0Qsc0RBQXNEO0lBQ3RELHdEQUF3RDtJQUN4RCxvREFBb0Q7SUFDcEQsb0NBQW9DO0lBQ3BDLE1BQU07SUFDTixJQUFJO0lBRUo7UUEvRVMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVuQixjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RCxrQkFBYSxHQUFnQyxPQUFPLENBQUM7UUFDckQs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhTdWdnZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtc3VnZ2VzdGlvbic7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1pbnB1dC1kYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbHMnPlxuICA8aW5wdXRcbiAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xuICAgIFthdHRyLnZhbHVlXT1cInRoaXMuc3B4SW50ZXJuYWxWYWx1ZS55ZWFyc1wiXG4gICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoJ3llYXJzJylcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZVllYXJJbnB1dCgkZXZlbnQpXCJcbiAgICAoa2V5RG93bik9XCJ0aGlzLmhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXG4gICAgW2F0dHIubWluXT1cIjE5MDBcIlxuICAgIFthdHRyLm1heF09XCIyMTAwXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAvPlxuICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+WWVhcjwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFNlbGVjdE1vbnRoXCJcbiAgICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXG4gICAgICBbYXR0ci52YWx1ZV09XCJ0aGlzLnNweEludGVybmFsVmFsdWUubW9udGhzXCJcbiAgICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKCdtb250aHMnKVwiXG4gICAgICAoaW5wdXQpPVwidGhpcy5oYW5kbGVNb250aElucHV0KCRldmVudClcIlxuICAgICAgKGtleURvd24pPVwidGhpcy5oYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICBbYXR0ci5taW5dPVwiMVwiXG4gICAgICBbYXR0ci5tYXhdPVwiMTJcIlxuICAgICAgW2F0dHIuc3RlcF09XCIxXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5Nb250aDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFNlbGVjdERheVwiXG4gICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xuICAgICAgW2F0dHIudmFsdWVdPVwidGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXNcIlxuICAgICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoJ2RheXMnKVwiXG4gICAgICAoaW5wdXQpPVwidGhpcy5oYW5kbGVEYXlJbnB1dCgkZXZlbnQpXCJcbiAgICAgIChrZXlEb3duKT1cInRoaXMuaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIFthdHRyLnR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgW2F0dHIubWluXT1cIjFcIlxuICAgICAgW2F0dHIubWF4XT1cIjMxXCJcbiAgICAgIFthdHRyLnN0ZXBdPVwiMVwiIC8+XG4gICAgICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+RGF5czwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fc3VnZ2VzdGlvbnMnPlxuICA8c3B4LXN1Z2dlc3Rpb24gXG4gICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2Ygc3B4U3VnZ2VzdGlvbnNbc3B4U2VsZWN0U3RlcF1cIiAgXG4gIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIudmFsdWUpXCI+e3t2YWx1ZVBhaXI/LmRlc2NyaXB0aW9ufX08L3NweC1zdWdnZXN0aW9uPlxuPC9kaXY+YCxcbnN0eWxlczogYFxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNweC1pbnB1dC1kYXRlX19pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1zcHgtaW5wdXQtLWNvbG9yLCByZ2JhKDAsIDAsIDAsIC45KSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zcHgtaW5wdXQtZGF0ZV9faW5wdXQ6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLnNweC1pbnB1dC1kYXRlX19pbnB1dDpmb2N1cyB7XG4gIGJvcmRlcjogdmFyKC0tc3B4LWlucHV0LWJveC0tZm9jdXMtLWJvcmRlciwgMXB4IHNvbGlkIHJnYigxMTUsIDE2OCwgMjEwKSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4uc3B4LWlucHV0LWRhdGVfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuLnNweC1pbnB1dC1kYXRlX19pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLyogZGlzcGxheTogbm9uZTsgPC0gQ3Jhc2hlcyBDaHJvbWUgb24gaG92ZXIgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyAvKiA8LS0gQXBwYXJlbnRseSBzb21lIG1hcmdpbiBhcmUgc3RpbGwgdGhlcmUgZXZlbiB0aG91Z2ggaXQncyBoaWRkZW4gKi9cbn1cblxuLnNweC1pbnB1dC1kYXRlX19pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7IC8qIEZpcmVmb3ggKi9cbn1cblxuLnNweC1pbnB1dC1kYXRlX19zdWdnZXN0aW9ucyxcbi5zcHgtaW5wdXQtZGF0ZV9fY29udHJvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogOHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dERhdGVDb21wb25lbnQge1xuICBwcml2YXRlIGVsWWVhcj86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGVsTW9udGg/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBlbERheT86IEhUTUxFbGVtZW50O1xuICAvLyBARWxlbWVudCgpIGVsITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhOYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzPzogYW55W107XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPHN0cmluZz47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4TGFzdEtleVByZXNzZWQhOiBudWxsO1xuICBASW5wdXQoKSBzcHhTZWxlY3RTdGVwOiAneWVhcnMnIHwgJ2RheXMnIHwgJ21vbnRocycgPSAneWVhcnMnO1xuICBASW5wdXQoKSBzcHhJbnRlcm5hbFZhbHVlOiB7XG4gICAgeWVhcnM/OiBudW1iZXI7XG4gICAgbW9udGhzPzogbnVtYmVyO1xuICAgIGRheXM/OiBudW1iZXI7XG4gIH0gPSB7fTtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IHtcbiAgICB5ZWFyczogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgICBtb250aHM6IFNweFZhbHVlUGFpcjxudW1iZXI+W107XG4gICAgZGF5czogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgfSA9IHtcbiAgICAgIHllYXJzOiBbXSxcbiAgICAgIG1vbnRoczogW3tcbiAgICAgICAgZGVzY3JpcHRpb246ICdKYW4nLFxuICAgICAgICB2YWx1ZTogMSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdGZWInLFxuICAgICAgICB2YWx1ZTogMixcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdNYXInLFxuICAgICAgICB2YWx1ZTogMyxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBcHInLFxuICAgICAgICB2YWx1ZTogNCxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdNYXknLFxuICAgICAgICB2YWx1ZTogNSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdKdW4nLFxuICAgICAgICB2YWx1ZTogNixcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdKdWwnLFxuICAgICAgICB2YWx1ZTogNyxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBdWcnLFxuICAgICAgICB2YWx1ZTogOCxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZXAnLFxuICAgICAgICB2YWx1ZTogOSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdPY3QnLFxuICAgICAgICB2YWx1ZTogMTAsXG4gICAgICB9LCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm92JyxcbiAgICAgICAgdmFsdWU6IDExLFxuICAgICAgfSwge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0RlYycsXG4gICAgICAgIHZhbHVlOiAxMixcbiAgICAgIH1dLFxuICAgICAgZGF5czogW10sXG4gICAgfTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgYXN5bmMgc3B4U2V0Rm9jdXMoKSB7XG4gICAgLy8gdGhpcy5lbFllYXIuZm9jdXMoKTtcbiAgfVxuICAvLyBAV2F0Y2goJ3NweFZhbGlkYXRvcnMnKSB3YXRjaFNweFZhbGlkYXRvcnMobmV3VmFsdWUpIHtcbiAgLy8gICBjb25zb2xlLmxvZygndmFsaWRhdG9ycycsIG5ld1ZhbHVlKTtcbiAgLy8gfVxuICAvLyBAV2F0Y2goJ3ZhbHVlJykgd2F0Y2hWYWx1ZShuZXdWYWx1ZSkge1xuICAvLyAgIGlmICh0aGlzLnNweFdhc0ludGVybmFsVXBkYXRlKSB7XG4gIC8vICAgICB0aGlzLnNweFdhc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gRGF0ZVRpbWUuZnJvbUlTTyhuZXdWYWx1ZT8udmFsdWUpO1xuICAvLyAgICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlLnllYXJzID0gcGFyc2VkVmFsdWUueWVhcjtcbiAgLy8gICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPSBwYXJzZWRWYWx1ZS5tb250aDtcbiAgLy8gICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5kYXlzID0gcGFyc2VkVmFsdWUuZGF5O1xuICAvLyAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gJ3llYXJzJztcbiAgLy8gICB9XG4gIC8vIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN1Z2dlc3RZZWFycygpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbExvYWQoKSB7XG4gICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLnZhbHVlID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlIS52YWx1ZSkgOiBEYXRlVGltZS5ub3coKTtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPSBwYXJzZWRWYWx1ZS55ZWFyO1xuICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPSBwYXJzZWRWYWx1ZS5tb250aDtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUuZGF5cyA9IHBhcnNlZFZhbHVlLmRheTtcbiAgfVxuXG4gIGhhbmRsZURheUlucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUuZGF5cyA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgaGFuZGxlTW9udGhJbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlLm1vbnRocyA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5hZnRlck1vbnRoQ2hhbmdlKCk7XG4gIH1cblxuICBhZnRlck1vbnRoQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNweEludGVybmFsVmFsdWUubW9udGhzIS50b1N0cmluZygpLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnNweFNlbGVjdERheSAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSAzOCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSA0MCkge1xuICAgICAgLy8gdGhpcy5lbERheSEuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhcklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPSBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsO1xuICAgIHRoaXMuYWZ0ZXJZZWFyQ2hhbmdlKCk7XG4gIH1cblxuICBhZnRlclllYXJDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS55ZWFycyEudG9TdHJpbmcoKS5sZW5ndGggPT09IDQgJiYgdGhpcy5zcHhTZWxlY3RNb250aCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSAzOCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSA0MCkge1xuICAgICAgLy8gdGhpcy5lbE1vbnRoIS5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gIH1cblxuICBoYW5kbGVJbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZXRWYWx1ZShldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHN0ZXA6ICd5ZWFycycgfCAnbW9udGhzJyB8ICdkYXlzJykge1xuICAgIHRoaXMuc3B4U2VsZWN0U3RlcCA9IHN0ZXA7XG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweExhc3RLZXlQcmVzc2VkID0gZXZlbnQud2hpY2g7XG4gIH1cblxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2sodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc3B4TGFzdEtleVByZXNzZWQgPSBudWxsO1xuICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZVt0aGlzLnNweFNlbGVjdFN0ZXBdID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuZG9uZVdpdGhGaWVsZCgpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoKSB7XG4gICAgY29uc3QgY29uY2F0ZW5hdGVkVmFsdWUgPSBgJHt0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPyB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgOiBgYH0ke3RoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPyBgLSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLm1vbnRocyA8IDEwID8gYDAke3RoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHN9YCA6IHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHN9YCA6IGBgfSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXMgPyBgLSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXMgPCAxMCA/IGAwJHt0aGlzLnNweEludGVybmFsVmFsdWUuZGF5c31gIDogdGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXN9YCA6IGBgfWBcbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IERhdGVUaW1lLmZyb21JU08oY29uY2F0ZW5hdGVkVmFsdWUpO1xuICAgIHRoaXMuc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSB0cnVlO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogcGFyc2VkVmFsdWUudG9JU08oKSxcbiAgICAgIHZhbHVlOiBwYXJzZWRWYWx1ZS50b0lTTygpISxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBkb25lV2l0aEZpZWxkKCkge1xuICAgIGlmICh0aGlzLnNweFNlbGVjdFN0ZXAgPT09ICdkYXlzJykge1xuICAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gJ3llYXJzJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3B4U2VsZWN0U3RlcCA9PT0gJ21vbnRocycpIHtcbiAgICAgIHRoaXMuc3B4U2VsZWN0U3RlcCA9IHRoaXMuc3B4U2VsZWN0RGF5ID8gJ2RheXMnIDogJ3llYXJzJztcbiAgICAgIHRoaXMuYWZ0ZXJNb250aENoYW5nZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zcHhTZWxlY3RTdGVwID09PSAneWVhcnMnKSB7XG4gICAgICB0aGlzLmFmdGVyWWVhckNoYW5nZSgpO1xuICAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gdGhpcy5zcHhTZWxlY3RNb250aCA/ICdtb250aHMnIDogJ3llYXJzJztcbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgcGFyc2VkID0gRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwYXJzZWQudG9JU08oKSxcbiAgICAgIHZhbHVlOiBwYXJzZWQudG9JU08oKSEsXG4gICAgfTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWdnZXN0WWVhcnMoKTogdm9pZCB7XG4gICAgdGhpcy5zcHhTdWdnZXN0aW9ucy55ZWFycyA9IFtdO1xuICAgIGZvciAobGV0IHllYXIgPSBEYXRlVGltZS5mcm9tSVNPKHRoaXMuc3B4TWluISkueWVhcjsgeWVhciA8PSBEYXRlVGltZS5mcm9tSVNPKHRoaXMuc3B4TWF4ISkueWVhcjsgeWVhcisrKSB7XG4gICAgICB0aGlzLnNweFN1Z2dlc3Rpb25zLnllYXJzLnB1c2goe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCcke3llYXIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiw0KX1gLFxuICAgICAgICB2YWx1ZTogeWVhcixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUErR2pDLE1BQU0sT0FBTyxxQkFBcUI7SUFxRWhDLEtBQUssQ0FBQyxXQUFXO1FBQ2YsdUJBQXVCO0lBQ3pCLENBQUM7SUFDRCx5REFBeUQ7SUFDekQseUNBQXlDO0lBQ3pDLElBQUk7SUFDSix5Q0FBeUM7SUFDekMscUNBQXFDO0lBQ3JDLHlDQUF5QztJQUN6QyxhQUFhO0lBQ2IsNkRBQTZEO0lBQzdELHNEQUFzRDtJQUN0RCx3REFBd0Q7SUFDeEQsb0RBQW9EO0lBQ3BELG9DQUFvQztJQUNwQyxNQUFNO0lBQ04sSUFBSTtJQUVKO1FBL0VTLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFbkIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsa0JBQWEsR0FBZ0MsT0FBTyxDQUFDO1FBQ3JELHFCQUFnQixHQUlyQixFQUFFLENBQUM7UUFDRSxtQkFBYyxHQUluQjtZQUNBLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLENBQUM7b0JBQ1AsV0FBVyxFQUFFLEtB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QTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtZGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTcHhTdWdnZXN0aW9uQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2NvbnRyb2xzJz5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXG4gICAgICBbYXR0ci52YWx1ZV09XCJ0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnNcIlxuICAgICAgKGZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoJ3llYXJzJylcIlxuICAgICAgKGlucHV0KT1cInRoaXMuaGFuZGxlWWVhcklucHV0KCRldmVudClcIlxuICAgICAgKGtleURvd24pPVwidGhpcy5oYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICBbYXR0ci5taW5dPVwiMTkwMFwiXG4gICAgICBbYXR0ci5tYXhdPVwiMjEwMFwiXG4gICAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgICAgLz5cbiAgICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+WWVhcjwvZGl2PlxuICAgIEBpZiAodGhpcy5zcHhTZWxlY3RNb250aCkge1xuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHNcIlxuICAgICAgICAoZm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygnbW9udGhzJylcIlxuICAgICAgICAoaW5wdXQpPVwidGhpcy5oYW5kbGVNb250aElucHV0KCRldmVudClcIlxuICAgICAgICAoa2V5RG93bik9XCJ0aGlzLmhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLnR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbYXR0ci5taW5dPVwiMVwiXG4gICAgICAgIFthdHRyLm1heF09XCIxMlwiXG4gICAgICAgIFthdHRyLnN0ZXBdPVwiMVwiIC8+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9sLWxhYmVsJz5Nb250aDwvZGl2PlxuICAgIEBpZiAodGhpcy5zcHhTZWxlY3REYXkpIHtcbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xuICAgICAgICBbYXR0ci52YWx1ZV09XCJ0aGlzLnNweEludGVybmFsVmFsdWUuZGF5c1wiXG4gICAgICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKCdkYXlzJylcIlxuICAgICAgICAoaW5wdXQpPVwidGhpcy5oYW5kbGVEYXlJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKGtleURvd24pPVwidGhpcy5oYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW2F0dHIubWluXT1cIjFcIlxuICAgICAgICBbYXR0ci5tYXhdPVwiMzFcIlxuICAgICAgICBbYXR0ci5zdGVwXT1cIjFcIiAvPlxuICAgICAgPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2NvbnRyb2wtbGFiZWwnPkRheXM8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fc3VnZ2VzdGlvbnMnPlxuICAgIEBmb3IgKHZhbHVlUGFpciBvZiBzcHhTdWdnZXN0aW9uc1tzcHhTZWxlY3RTdGVwXTsgdHJhY2sgdmFsdWVQYWlyKSB7XG4gICAgICA8c3B4LXN1Z2dlc3Rpb25cbiAgICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIudmFsdWUpXCI+e3t2YWx1ZVBhaXI/LmRlc2NyaXB0aW9ufX08L3NweC1zdWdnZXN0aW9uPlxuICAgIH1cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNweC1pbnB1dC1kYXRlX19pbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogdmFyKC0tc3B4LWlucHV0LS1jb2xvciwgcmdiYSgwLCAwLCAwLCAuOSkpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zcHgtaW5wdXQtZGF0ZV9faW5wdXQ6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgfVxuXG4gICAgLnNweC1pbnB1dC1kYXRlX19pbnB1dDpmb2N1cyB7XG4gICAgICBib3JkZXI6IHZhcigtLXNweC1pbnB1dC1ib3gtLWZvY3VzLS1ib3JkZXIsIDFweCBzb2xpZCByZ2IoMTE1LCAxNjgsIDIxMCkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuc3B4LWlucHV0LWRhdGVfX2NvbnRyb2wtbGFiZWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG5cbiAgICAuc3B4LWlucHV0LWRhdGVfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgIC5zcHgtaW5wdXQtZGF0ZV9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAvKiBkaXNwbGF5OiBub25lOyA8LSBDcmFzaGVzIENocm9tZSBvbiBob3ZlciAqL1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDsgLyogPC0tIEFwcGFyZW50bHkgc29tZSBtYXJnaW4gYXJlIHN0aWxsIHRoZXJlIGV2ZW4gdGhvdWdoIGl0J3MgaGlkZGVuICovXG4gICAgfVxuXG4gICAgLnNweC1pbnB1dC1kYXRlX19pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6dGV4dGZpZWxkOyAvKiBGaXJlZm94ICovXG4gICAgfVxuXG4gICAgLnNweC1pbnB1dC1kYXRlX19zdWdnZXN0aW9ucyxcbiAgICAuc3B4LWlucHV0LWRhdGVfX2NvbnRyb2xzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogOHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dERhdGVDb21wb25lbnQge1xuICBwcml2YXRlIGVsWWVhcj86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGVsTW9udGg/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBlbERheT86IEhUTUxFbGVtZW50O1xuICAvLyBARWxlbWVudCgpIGVsITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhOYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzPzogYW55W107XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPHN0cmluZz47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4TGFzdEtleVByZXNzZWQhOiBudWxsO1xuICBASW5wdXQoKSBzcHhTZWxlY3RTdGVwOiAneWVhcnMnIHwgJ2RheXMnIHwgJ21vbnRocycgPSAneWVhcnMnO1xuICBASW5wdXQoKSBzcHhJbnRlcm5hbFZhbHVlOiB7XG4gICAgeWVhcnM/OiBudW1iZXI7XG4gICAgbW9udGhzPzogbnVtYmVyO1xuICAgIGRheXM/OiBudW1iZXI7XG4gIH0gPSB7fTtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IHtcbiAgICB5ZWFyczogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgICBtb250aHM6IFNweFZhbHVlUGFpcjxudW1iZXI+W107XG4gICAgZGF5czogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcbiAgfSA9IHtcbiAgICAgIHllYXJzOiBbXSxcbiAgICAgIG1vbnRoczogW3tcbiAgICAgICAgZGVzY3JpcHRpb246ICdKYW4nLFxuICAgICAgICB2YWx1ZTogMSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdGZWInLFxuICAgICAgICB2YWx1ZTogMixcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdNYXInLFxuICAgICAgICB2YWx1ZTogMyxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBcHInLFxuICAgICAgICB2YWx1ZTogNCxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdNYXknLFxuICAgICAgICB2YWx1ZTogNSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdKdW4nLFxuICAgICAgICB2YWx1ZTogNixcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdKdWwnLFxuICAgICAgICB2YWx1ZTogNyxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBdWcnLFxuICAgICAgICB2YWx1ZTogOCxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZXAnLFxuICAgICAgICB2YWx1ZTogOSxcbiAgICAgIH0sIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdPY3QnLFxuICAgICAgICB2YWx1ZTogMTAsXG4gICAgICB9LCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm92JyxcbiAgICAgICAgdmFsdWU6IDExLFxuICAgICAgfSwge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0RlYycsXG4gICAgICAgIHZhbHVlOiAxMixcbiAgICAgIH1dLFxuICAgICAgZGF5czogW10sXG4gICAgfTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgYXN5bmMgc3B4U2V0Rm9jdXMoKSB7XG4gICAgLy8gdGhpcy5lbFllYXIuZm9jdXMoKTtcbiAgfVxuICAvLyBAV2F0Y2goJ3NweFZhbGlkYXRvcnMnKSB3YXRjaFNweFZhbGlkYXRvcnMobmV3VmFsdWUpIHtcbiAgLy8gICBjb25zb2xlLmxvZygndmFsaWRhdG9ycycsIG5ld1ZhbHVlKTtcbiAgLy8gfVxuICAvLyBAV2F0Y2goJ3ZhbHVlJykgd2F0Y2hWYWx1ZShuZXdWYWx1ZSkge1xuICAvLyAgIGlmICh0aGlzLnNweFdhc0ludGVybmFsVXBkYXRlKSB7XG4gIC8vICAgICB0aGlzLnNweFdhc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gRGF0ZVRpbWUuZnJvbUlTTyhuZXdWYWx1ZT8udmFsdWUpO1xuICAvLyAgICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlLnllYXJzID0gcGFyc2VkVmFsdWUueWVhcjtcbiAgLy8gICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPSBwYXJzZWRWYWx1ZS5tb250aDtcbiAgLy8gICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5kYXlzID0gcGFyc2VkVmFsdWUuZGF5O1xuICAvLyAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gJ3llYXJzJztcbiAgLy8gICB9XG4gIC8vIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN1Z2dlc3RZZWFycygpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbExvYWQoKSB7XG4gICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLnZhbHVlID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlIS52YWx1ZSkgOiBEYXRlVGltZS5ub3coKTtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPSBwYXJzZWRWYWx1ZS55ZWFyO1xuICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPSBwYXJzZWRWYWx1ZS5tb250aDtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUuZGF5cyA9IHBhcnNlZFZhbHVlLmRheTtcbiAgfVxuXG4gIGhhbmRsZURheUlucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUuZGF5cyA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgaGFuZGxlTW9udGhJbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlLm1vbnRocyA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5hZnRlck1vbnRoQ2hhbmdlKCk7XG4gIH1cblxuICBhZnRlck1vbnRoQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNweEludGVybmFsVmFsdWUubW9udGhzIS50b1N0cmluZygpLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnNweFNlbGVjdERheSAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSAzOCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSA0MCkge1xuICAgICAgdGhpcy5lbERheT8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhcklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPSBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsO1xuICAgIHRoaXMuYWZ0ZXJZZWFyQ2hhbmdlKCk7XG4gIH1cblxuICBhZnRlclllYXJDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS55ZWFycyEudG9TdHJpbmcoKS5sZW5ndGggPT09IDQgJiYgdGhpcy5zcHhTZWxlY3RNb250aCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSAzOCAmJiB0aGlzLnNweExhc3RLZXlQcmVzc2VkICE9PSA0MCkge1xuICAgICAgdGhpcy5lbE1vbnRoPy5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gIH1cblxuICBoYW5kbGVJbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZXRWYWx1ZShldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHN0ZXA6ICd5ZWFycycgfCAnbW9udGhzJyB8ICdkYXlzJykge1xuICAgIHRoaXMuc3B4U2VsZWN0U3RlcCA9IHN0ZXA7XG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNweExhc3RLZXlQcmVzc2VkID0gZXZlbnQud2hpY2g7XG4gIH1cblxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2sodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc3B4TGFzdEtleVByZXNzZWQgPSBudWxsO1xuICAgIHRoaXMuc3B4SW50ZXJuYWxWYWx1ZVt0aGlzLnNweFNlbGVjdFN0ZXBdID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuZG9uZVdpdGhGaWVsZCgpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoKSB7XG4gICAgY29uc3QgY29uY2F0ZW5hdGVkVmFsdWUgPSBgJHt0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgPyB0aGlzLnNweEludGVybmFsVmFsdWUueWVhcnMgOiBgYH0ke3RoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHMgPyBgLSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLm1vbnRocyA8IDEwID8gYDAke3RoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHN9YCA6IHRoaXMuc3B4SW50ZXJuYWxWYWx1ZS5tb250aHN9YCA6IGBgfSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXMgPyBgLSR7dGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXMgPCAxMCA/IGAwJHt0aGlzLnNweEludGVybmFsVmFsdWUuZGF5c31gIDogdGhpcy5zcHhJbnRlcm5hbFZhbHVlLmRheXN9YCA6IGBgfWBcbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IERhdGVUaW1lLmZyb21JU08oY29uY2F0ZW5hdGVkVmFsdWUpO1xuICAgIHRoaXMuc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSB0cnVlO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogcGFyc2VkVmFsdWUudG9JU08oKSxcbiAgICAgIHZhbHVlOiBwYXJzZWRWYWx1ZS50b0lTTygpISxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBkb25lV2l0aEZpZWxkKCkge1xuICAgIGlmICh0aGlzLnNweFNlbGVjdFN0ZXAgPT09ICdkYXlzJykge1xuICAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gJ3llYXJzJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3B4U2VsZWN0U3RlcCA9PT0gJ21vbnRocycpIHtcbiAgICAgIHRoaXMuc3B4U2VsZWN0U3RlcCA9IHRoaXMuc3B4U2VsZWN0RGF5ID8gJ2RheXMnIDogJ3llYXJzJztcbiAgICAgIHRoaXMuYWZ0ZXJNb250aENoYW5nZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zcHhTZWxlY3RTdGVwID09PSAneWVhcnMnKSB7XG4gICAgICB0aGlzLmFmdGVyWWVhckNoYW5nZSgpO1xuICAgICAgdGhpcy5zcHhTZWxlY3RTdGVwID0gdGhpcy5zcHhTZWxlY3RNb250aCA/ICdtb250aHMnIDogJ3llYXJzJztcbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5zcHhJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgcGFyc2VkID0gRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwYXJzZWQudG9JU08oKSxcbiAgICAgIHZhbHVlOiBwYXJzZWQudG9JU08oKSEsXG4gICAgfTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWdnZXN0WWVhcnMoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ3N1Z2dlc3QgeWVhcnMnKTtcbiAgICB0aGlzLnNweFN1Z2dlc3Rpb25zLnllYXJzID0gW107XG4gICAgZm9yIChsZXQgeWVhciA9IERhdGVUaW1lLmZyb21JU08odGhpcy5zcHhNaW4hKS55ZWFyOyB5ZWFyIDw9IERhdGVUaW1lLmZyb21JU08odGhpcy5zcHhNYXghKS55ZWFyOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMuc3B4U3VnZ2VzdGlvbnMueWVhcnMucHVzaCh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJyR7eWVhci50b1N0cmluZygpLnN1YnN0cmluZygyLCA0KX1gLFxuICAgICAgICB2YWx1ZTogeWVhcixcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygnc3VnZ2VzdCB5ZWFycycsIHRoaXMuc3B4U3VnZ2VzdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- import { NgFor, NgIf } from '@angular/common';
2
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
2
  import { SpxButtonComponent } from '@softpak/components/spx-button';
4
3
  import * as i0 from "@angular/core";
@@ -101,9 +100,7 @@ export class SpxInputFloatComponent {
101
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputFloatComponent, decorators: [{
102
101
  type: Component,
103
102
  args: [{ selector: 'spx-input-float', standalone: true, imports: [
104
- NgIf,
105
- NgFor,
106
- SpxButtonComponent,
103
+ SpxButtonComponent
107
104
  ], template: `<div class="flex items-end">
108
105
  <input
109
106
  #firstInputRef
@@ -156,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
156
153
  type: ViewChild,
157
154
  args: ['firstInputRef', { static: true }]
158
155
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1mbG9hdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUEyRHBFLE1BQU0sT0FBTyxzQkFBc0I7SUF6RG5DO1FBMERFLHNDQUFzQztRQUN0Qyx1Q0FBdUM7UUFDN0Isa0JBQWEsR0FHbkI7WUFDRixLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUdPLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNuRixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekQseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLFNBQUksR0FBRyxFQUFFLENBQUM7S0EyRHBCO0lBeERDLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLG1DQUFtQztJQUNuQyxJQUFJO0lBRUosZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQTJCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25FLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUc7Z0JBQ25CLEtBQUssRUFBRSxJQUFJO2dCQUNYLE1BQU0sRUFBRSxJQUFJO2FBQ2IsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVUsRUFBRSxRQUFlO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsS0FBSyxFQUFFLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDN0YsTUFBTSxFQUFFLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07U0FDaEcsQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDNUUsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckksQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxXQUFXLEVBQUUsTUFBTTtZQUNuQixLQUFLLEVBQUUsTUFBTTtTQUNkLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7K0dBL0VVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdmQWpEdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F5Qkw7OzRGQXdCTSxzQkFBc0I7a0JBekRsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsa0JBQWtCO3FCQUNuQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BeUJMOzhCQW1DSSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUN3QyxhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LWZsb2F0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWVuZFwiPlxuICA8aW5wdXRcbiAgICAjZmlyc3RJbnB1dFJlZlxuICAgIGNsYXNzPVwic3B4LWlucHV0LWZsb2F0X19pbnB1dFwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzID8gdGhpcy5zcHhBdXRvZm9jdXMgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5wYXR0ZXJuXT1cIidbMC05XSonXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICBbYXR0ci52YWx1ZV09XCJ0aGlzLmludGVybmFsVmFsdWU/LmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlPy5maXJzdCA6IHVuZGVmaW5lZFwiXG4gICAgW2NsYXNzLnNweC1pbnB1dC1mbG9hdC0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudCwgMSlcIiAvPlxuICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2sgZm9udC1ib2xkIHRleHQtMnhsIG14LTRcIj4sPC9zcGFuPlxuICA8aW5wdXRcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXMgPyB0aGlzLnNweEF1dG9mb2N1cyA6IHVuZGVmaW5lZFwiXG4gICAgY2xhc3M9XCJzcHgtaW5wdXQtZmxvYXRfX2lucHV0XCJcbiAgICBbY2xhc3Muc3B4LWlucHV0LWZsb2F0LS1yZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5ID8gdGhpcy5zcHhSZWFkb25seSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLnZhbHVlXT1cInRoaXMuaW50ZXJuYWxWYWx1ZT8uc2Vjb25kID8gdGhpcy5pbnRlcm5hbFZhbHVlPy5zZWNvbmQgOiB1bmRlZmluZWRcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudCwgMilcIlxuICAgIFthdHRyLnN0ZXBdPVwiMVwiXG4gICAgW2F0dHIudHlwZV09XCIndGV4dCdcIlxuICAgIFthdHRyLnBhdHRlcm5dPVwiJ1swLTldKidcIiAvPlxuPC9kaXY+YCxcbiAgc3R5bGVzOiBgXG4gIDpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zcHgtaW5wdXQtZmxvYXRfX2lucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLXNweC1pbnB1dC0tY29sb3IsIHJnYmEoMCwgMCwgMCwgLjkpKTtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNweC1pbnB1dC1mbG9hdF9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IHtcbiAgLy8gcHJpdmF0ZSBlbEZpcnN0SW5wdXQ/OiBIVE1MRWxlbWVudDtcbiAgLy8gcHJpdmF0ZSBlbFNlY29uZElucHV0PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBpbnRlcm5hbFZhbHVlOiB7XG4gICAgZmlyc3Q6IG51bWJlciB8IG51bGw7XG4gICAgc2Vjb25kOiBudW1iZXIgfCBudWxsO1xuICB9ID0ge1xuICAgIGZpcnN0OiBudWxsLFxuICAgIHNlY29uZDogbnVsbCxcbiAgfTtcbiAgLy8gQEVsZW1lbnQoKSBlbCE6IEhUTUxTdGVuY2lsRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4QXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFN0ZXA/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGljayA9IHt9O1xuICBAVmlld0NoaWxkKCdmaXJzdElucHV0UmVmJywgeyBzdGF0aWM6IHRydWUgfSkgZmlyc3RJbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIFxuICBzcHhTZXRGb2N1cygpIHtcbiAgICB0aGlzLmZpcnN0SW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICAvLyBAV2F0Y2goJ3ZhbHVlJykgb25WYWx1ZUNoYW5nZWQobmV3VmFsdWU6IFNweFZhbHVlUGFpcjxhbnk+LCBfb2xkVmFsdWU6IFNweFZhbHVlUGFpcjxhbnk+KSB7XG4gIC8vICAgdGhpcy5oYW5kbGVTZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIC8vIH1cblxuICBjb21wb25lbnREaWRMb2FkKCkge1xuICAgIGlmICh0aGlzLnNweEF1dG9mb2N1cykge1xuICAgICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgICB0aGlzLnNweFNldEZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlU2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZVNldFZhbHVlKG5ld1ZhbHVlOiBTcHhWYWx1ZVBhaXI8YW55Pikge1xuICAgIGlmICh0aGlzLmlzTnVtZXJpYyhuZXdWYWx1ZT8udmFsdWUpKSB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB7XG4gICAgICAgIGZpcnN0OiBNYXRoLmZsb29yKHBhcnNlRmxvYXQobmV3VmFsdWU/LnZhbHVlKSksXG4gICAgICAgIHNlY29uZDogbmV3VmFsdWU/LnZhbHVlPy5zcGxpdCA/IG5ld1ZhbHVlPy52YWx1ZS5zcGxpdCgnLicpWzFdIDogMCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHtcbiAgICAgICAgZmlyc3Q6IG51bGwsXG4gICAgICAgIHNlY29uZDogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMudGljayA9IHt9O1xuICB9XG5cbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSwgcG9zaXRpb246IDEgfCAyKSB7XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0ge1xuICAgICAgZmlyc3Q6IHBvc2l0aW9uID09PSAxID8gKGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwpIDogdGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0LFxuICAgICAgc2Vjb25kOiBwb3NpdGlvbiA9PT0gMiA/IChldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsKSA6IHRoaXMuaW50ZXJuYWxWYWx1ZS5zZWNvbmQsXG4gICAgfTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmICh0aGlzLmludGVybmFsVmFsdWUuZmlyc3QgPT09IG51bGwgJiYgdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA9PT0gbnVsbCkge1xuICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYCR7dGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0IDogMH0uJHt0aGlzLmludGVybmFsVmFsdWUuc2Vjb25kID8gdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA6IDB9YDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiByZXN1bHQsXG4gICAgICB2YWx1ZTogcmVzdWx0LFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGlzTnVtZXJpYyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIC9eWystXT9cXGQrKFxcLlxcZCspPyQvLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1mbG9hdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBeURwRSxNQUFNLE9BQU8sc0JBQXNCO0lBdkRuQztRQXdERSxzQ0FBc0M7UUFDdEMsdUNBQXVDO1FBQzdCLGtCQUFhLEdBR25CO1lBQ0YsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFHTyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbkYsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pELHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixTQUFJLEdBQUcsRUFBRSxDQUFDO0tBMkRwQjtJQXhEQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELDhGQUE4RjtJQUM5RixtQ0FBbUM7SUFDbkMsSUFBSTtJQUVKLGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJ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QUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUN3QyxhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtZmxvYXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50XG5dLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWVuZFwiPlxuICA8aW5wdXRcbiAgICAjZmlyc3RJbnB1dFJlZlxuICAgIGNsYXNzPVwic3B4LWlucHV0LWZsb2F0X19pbnB1dFwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzID8gdGhpcy5zcHhBdXRvZm9jdXMgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5wYXR0ZXJuXT1cIidbMC05XSonXCJcbiAgICBbYXR0ci5zdGVwXT1cIjFcIlxuICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICBbYXR0ci52YWx1ZV09XCJ0aGlzLmludGVybmFsVmFsdWU/LmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlPy5maXJzdCA6IHVuZGVmaW5lZFwiXG4gICAgW2NsYXNzLnNweC1pbnB1dC1mbG9hdC0tcmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudCwgMSlcIiAvPlxuICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2sgZm9udC1ib2xkIHRleHQtMnhsIG14LTRcIj4sPC9zcGFuPlxuICA8aW5wdXRcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXMgPyB0aGlzLnNweEF1dG9mb2N1cyA6IHVuZGVmaW5lZFwiXG4gICAgY2xhc3M9XCJzcHgtaW5wdXQtZmxvYXRfX2lucHV0XCJcbiAgICBbY2xhc3Muc3B4LWlucHV0LWZsb2F0LS1yZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5ID8gdGhpcy5zcHhSZWFkb25seSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seSA/IHRoaXMuc3B4UmVhZG9ubHkgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLnZhbHVlXT1cInRoaXMuaW50ZXJuYWxWYWx1ZT8uc2Vjb25kID8gdGhpcy5pbnRlcm5hbFZhbHVlPy5zZWNvbmQgOiB1bmRlZmluZWRcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZUlucHV0KCRldmVudCwgMilcIlxuICAgIFthdHRyLnN0ZXBdPVwiMVwiXG4gICAgW2F0dHIudHlwZV09XCIndGV4dCdcIlxuICAgIFthdHRyLnBhdHRlcm5dPVwiJ1swLTldKidcIiAvPlxuPC9kaXY+YCxcbiAgc3R5bGVzOiBgXG4gIDpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zcHgtaW5wdXQtZmxvYXRfX2lucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLXNweC1pbnB1dC0tY29sb3IsIHJnYmEoMCwgMCwgMCwgLjkpKTtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNweC1pbnB1dC1mbG9hdF9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IHtcbiAgLy8gcHJpdmF0ZSBlbEZpcnN0SW5wdXQ/OiBIVE1MRWxlbWVudDtcbiAgLy8gcHJpdmF0ZSBlbFNlY29uZElucHV0PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBpbnRlcm5hbFZhbHVlOiB7XG4gICAgZmlyc3Q6IG51bWJlciB8IG51bGw7XG4gICAgc2Vjb25kOiBudW1iZXIgfCBudWxsO1xuICB9ID0ge1xuICAgIGZpcnN0OiBudWxsLFxuICAgIHNlY29uZDogbnVsbCxcbiAgfTtcbiAgLy8gQEVsZW1lbnQoKSBlbCE6IEhUTUxTdGVuY2lsRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4QXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFN0ZXA/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGljayA9IHt9O1xuICBAVmlld0NoaWxkKCdmaXJzdElucHV0UmVmJywgeyBzdGF0aWM6IHRydWUgfSkgZmlyc3RJbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIFxuICBzcHhTZXRGb2N1cygpIHtcbiAgICB0aGlzLmZpcnN0SW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICAvLyBAV2F0Y2goJ3ZhbHVlJykgb25WYWx1ZUNoYW5nZWQobmV3VmFsdWU6IFNweFZhbHVlUGFpcjxhbnk+LCBfb2xkVmFsdWU6IFNweFZhbHVlUGFpcjxhbnk+KSB7XG4gIC8vICAgdGhpcy5oYW5kbGVTZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIC8vIH1cblxuICBjb21wb25lbnREaWRMb2FkKCkge1xuICAgIGlmICh0aGlzLnNweEF1dG9mb2N1cykge1xuICAgICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgICB0aGlzLnNweFNldEZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlU2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZVNldFZhbHVlKG5ld1ZhbHVlOiBTcHhWYWx1ZVBhaXI8YW55Pikge1xuICAgIGlmICh0aGlzLmlzTnVtZXJpYyhuZXdWYWx1ZT8udmFsdWUpKSB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB7XG4gICAgICAgIGZpcnN0OiBNYXRoLmZsb29yKHBhcnNlRmxvYXQobmV3VmFsdWU/LnZhbHVlKSksXG4gICAgICAgIHNlY29uZDogbmV3VmFsdWU/LnZhbHVlPy5zcGxpdCA/IG5ld1ZhbHVlPy52YWx1ZS5zcGxpdCgnLicpWzFdIDogMCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHtcbiAgICAgICAgZmlyc3Q6IG51bGwsXG4gICAgICAgIHNlY29uZDogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMudGljayA9IHt9O1xuICB9XG5cbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSwgcG9zaXRpb246IDEgfCAyKSB7XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0ge1xuICAgICAgZmlyc3Q6IHBvc2l0aW9uID09PSAxID8gKGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwpIDogdGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0LFxuICAgICAgc2Vjb25kOiBwb3NpdGlvbiA9PT0gMiA/IChldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsKSA6IHRoaXMuaW50ZXJuYWxWYWx1ZS5zZWNvbmQsXG4gICAgfTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmICh0aGlzLmludGVybmFsVmFsdWUuZmlyc3QgPT09IG51bGwgJiYgdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA9PT0gbnVsbCkge1xuICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYCR7dGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0ID8gdGhpcy5pbnRlcm5hbFZhbHVlLmZpcnN0IDogMH0uJHt0aGlzLmludGVybmFsVmFsdWUuc2Vjb25kID8gdGhpcy5pbnRlcm5hbFZhbHVlLnNlY29uZCA6IDB9YDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiByZXN1bHQsXG4gICAgICB2YWx1ZTogcmVzdWx0LFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGlzTnVtZXJpYyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIC9eWystXT9cXGQrKFxcLlxcZCspPyQvLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NgFor } from '@angular/common';
3
2
  import { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';
4
3
  import { fromEvent } from 'rxjs';
5
4
  import { valuePairToValue } from '@softpak/components/spx-helpers';
@@ -74,17 +73,18 @@ export class SpxInputRadioComponent {
74
73
  });
75
74
  }
76
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxInputRadioComponent, isStandalone: true, selector: "spx-input-radio", inputs: { spxName: "spxName", spxValidators: "spxValidators", spxFocused: "spxFocused", spxShowLabel: "spxShowLabel", spxReadonly: "spxReadonly", spxSuggestions: "spxSuggestions", value: "value" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, usesOnChanges: true, ngImport: i0, template: `<div class="grid grid-cols-2 gap-2" [class.mt-3]="this.spxShowLabel">
78
- <spx-suggestion
79
- *ngFor="let valuePair of this.cachedSuggestions; let i = index"
80
- [spxDisabled]="this.spxReadonly"
81
- [spxFocused]="this.spxFocused && i === this.focusPosition"
82
- [spxSelected]="this.value?.value === valuePair?.value"
83
- [spxTabbable]="this.focusPosition === i"
84
- (click)="this.handleSuggestionClick($event, valuePair)">
85
- {{valuePair?.description}}
86
- </spx-suggestion>
87
- </div>`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputRadioComponent, isStandalone: true, selector: "spx-input-radio", inputs: { spxName: "spxName", spxValidators: "spxValidators", spxFocused: "spxFocused", spxShowLabel: "spxShowLabel", spxReadonly: "spxReadonly", spxSuggestions: "spxSuggestions", value: "value" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, usesOnChanges: true, ngImport: i0, template: `<div class="grid grid-cols-2 gap-2" [class.mt-3]="this.spxShowLabel">
77
+ @for (valuePair of this.cachedSuggestions; track valuePair; let i = $index) {
78
+ <spx-suggestion
79
+ [spxDisabled]="this.spxReadonly"
80
+ [spxFocused]="this.spxFocused && i === this.focusPosition"
81
+ [spxSelected]="this.value?.value === valuePair?.value"
82
+ [spxTabbable]="this.focusPosition === i"
83
+ (click)="this.handleSuggestionClick($event, valuePair)">
84
+ {{valuePair?.description}}
85
+ </spx-suggestion>
86
+ }
87
+ </div>`, isInline: true, dependencies: [{ kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }] }); }
88
88
  }
89
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputRadioComponent, decorators: [{
90
90
  type: Component,
@@ -92,20 +92,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
92
92
  selector: 'spx-input-radio',
93
93
  standalone: true,
94
94
  imports: [
95
- NgFor,
96
- SpxSuggestionComponent,
95
+ SpxSuggestionComponent
97
96
  ],
98
97
  template: `<div class="grid grid-cols-2 gap-2" [class.mt-3]="this.spxShowLabel">
99
- <spx-suggestion
100
- *ngFor="let valuePair of this.cachedSuggestions; let i = index"
101
- [spxDisabled]="this.spxReadonly"
102
- [spxFocused]="this.spxFocused && i === this.focusPosition"
103
- [spxSelected]="this.value?.value === valuePair?.value"
104
- [spxTabbable]="this.focusPosition === i"
105
- (click)="this.handleSuggestionClick($event, valuePair)">
106
- {{valuePair?.description}}
107
- </spx-suggestion>
108
- </div>`,
98
+ @for (valuePair of this.cachedSuggestions; track valuePair; let i = $index) {
99
+ <spx-suggestion
100
+ [spxDisabled]="this.spxReadonly"
101
+ [spxFocused]="this.spxFocused && i === this.focusPosition"
102
+ [spxSelected]="this.value?.value === valuePair?.value"
103
+ [spxTabbable]="this.focusPosition === i"
104
+ (click)="this.handleSuggestionClick($event, valuePair)">
105
+ {{valuePair?.description}}
106
+ </spx-suggestion>
107
+ }
108
+ </div>`,
109
109
  }]
110
110
  }], propDecorators: { spxName: [{
111
111
  type: Input
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
126
126
  }], spxFocus: [{
127
127
  type: Output
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXFCbkUsTUFBTSxPQUFPLHNCQUFzQjtJQW5CbkM7UUFvQkUsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUluQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUV4QyxjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQW1FbkU7SUFoRUMsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQ25KLENBQUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVksRUFBRSxTQUE0QjtRQUM5RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZILElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFrRDtRQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUUsS0FBdUIsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFLLEtBQXVCLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBRSxDQUFDLENBQUM7Z0JBQ3pELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFFLEtBQXVCLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSyxLQUF1QixDQUFDLEdBQUcsS0FBSyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMzSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUUsQ0FBQyxDQUFDO2dCQUN6RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUUsSUFBSyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXO2dCQUM3QyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXO2dCQUMzQyxLQUF1QixDQUFDLEdBQUcsS0FBSyxZQUFZO2dCQUM1QyxLQUF1QixDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBOUVVLHNCQUFzQjttR0FBdEIsc0JBQXNCLGlXQVp2Qjs7Ozs7Ozs7OztXQVVELDREQWJQLEtBQUssbUhBQ0wsc0JBQXNCOzs0RkFjYixzQkFBc0I7a0JBbkJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsS0FBSzt3QkFDTCxzQkFBc0I7cUJBQ3ZCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7OztXQVVEO2lCQUNWOzhCQUtVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yLFxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTJcIiBbY2xhc3MubXQtM109XCJ0aGlzLnNweFNob3dMYWJlbFwiPlxuICAgICAgPHNweC1zdWdnZXN0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2YgdGhpcy5jYWNoZWRTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtzcHhEaXNhYmxlZF09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkICYmIGkgPT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIFtzcHhTZWxlY3RlZF09XCJ0aGlzLnZhbHVlPy52YWx1ZSA9PT0gdmFsdWVQYWlyPy52YWx1ZVwiXG4gICAgICAgIFtzcHhUYWJiYWJsZV09XCJ0aGlzLmZvY3VzUG9zaXRpb24gPT09IGlcIlxuICAgICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVTdWdnZXN0aW9uQ2xpY2soJGV2ZW50LCB2YWx1ZVBhaXIpXCI+XG4gICAgICAgIHt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19XG4gICAgICA8L3NweC1zdWdnZXN0aW9uPlxuICAgIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0UmFkaW9Db21wb25lbnQge1xuICBjYWNoZWRTdWdnZXN0aW9uczogU3B4VmFsdWVQYWlyPGFueT5bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZm9jdXNQb3NpdGlvbiA9IDA7XG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlVcD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlEb3duPzogU3Vic2NyaXB0aW9uO1xuICBzcHhGb2N1c0luKCkge1xuICAgIHRoaXMubGlzdGVuVG9LZXlzKCk7XG4gICAgdGhpcy5kZXRlcm1pbmVGb2N1c1Bvc2l0aW9uKCk7XG4gIH1cblxuICBzcHhGb2N1c091dCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleURvd24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAoY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5wcmV2aW91c1ZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXT8uY3VycmVudFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHRoaXMuY2FjaGVkU3VnZ2VzdGlvbnMgPSBjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5jdXJyZW50VmFsdWUgPz8gW107XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKGV2ZW50OiBFdmVudCwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55Pikge1xuICAgIGlmICh0aGlzLnNweFJlYWRvbmx5KSB7XG4gICAgICBjb25zb2xlLmxvZygnc3B4SW5wdXRSYWRpbzogY2xpY2tlZCwgYnV0IHJlYWRvbmx5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdzcHhJbnB1dFJhZGlvOiBjbGlja2VkJyk7XG4gICAgICB0aGlzLnNlbGVjdCh2YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lRm9jdXNQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnNweFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zcHhTdWdnZXN0aW9ucy5maW5kSW5kZXgodmFsdWVQYWlyID0+IHZhbHVlUGFpclRvVmFsdWUodmFsdWVQYWlyKSA9PT0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLnZhbHVlKSk7XG4gICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSBpbmRleCA+PSAwID8gaW5kZXggOiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0KHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVQYWlyO1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodmFsdWVQYWlyKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9LZXlzKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5VXAgPSBmcm9tRXZlbnQod2luZG93LCAna2V5dXAnKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1VwJyB8fCAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dMZWZ0JykgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uID4gMCkge1xuICAgICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSB0aGlzLmZvY3VzUG9zaXRpb24gLSAxO1xuICAgICAgICB0aGlzLnNlbGVjdCh0aGlzLnNweFN1Z2dlc3Rpb25zLmF0KHRoaXMuZm9jdXNQb3NpdGlvbikhKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGlmICgoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93RG93bicgfHwgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93UmlnaHQnKSAmJiB0aGlzLmZvY3VzUG9zaXRpb24gPCB0aGlzLnNweFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uICsgMTtcbiAgICAgICAgdGhpcy5zZWxlY3QodGhpcy5zcHhTdWdnZXN0aW9ucy5hdCh0aGlzLmZvY3VzUG9zaXRpb24pISk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlEb3duID0gZnJvbUV2ZW50KHdpbmRvdywgJ2tleWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgICAgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgICAgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59Il19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBcUJuRSxNQUFNLE9BQU8sc0JBQXNCO0lBbkJuQztRQW9CRSxzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBSW5CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBd0IsRUFBRSxDQUFDO1FBRXhDLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbkYsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBbUVuRTtJQWhFQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQ0UsQ0FBQyxPQUFP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QUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRSxJQUFLLEtBQXVCLENBQUMsR0FBRyxLQUFLLFdBQVc7Z0JBQzdDLEtBQXVCLENBQUMsR0FBRyxLQUFLLFdBQVc7Z0JBQzNDLEtBQXVCLENBQUMsR0FBRyxLQUFLLFlBQVk7Z0JBQzVDLEtBQXVCLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM3QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E5RVUsc0JBQXNCO21HQUF0QixzQkFBc0IsaVdBYnZCOzs7Ozs7Ozs7OzthQVdDLDREQWJULHNCQUFzQjs7NEZBZWIsc0JBQXNCO2tCQW5CbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDekI7b0JBQ0MsUUFBUSxFQUFFOzs7Ozs7Ozs7OzthQVdDO2lCQUNaOzhCQUtVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBTcHhTdWdnZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtc3VnZ2VzdGlvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtcmFkaW8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudFxuXSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMiBnYXAtMlwiIFtjbGFzcy5tdC0zXT1cInRoaXMuc3B4U2hvd0xhYmVsXCI+XG4gICAgICAgIEBmb3IgKHZhbHVlUGFpciBvZiB0aGlzLmNhY2hlZFN1Z2dlc3Rpb25zOyB0cmFjayB2YWx1ZVBhaXI7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPHNweC1zdWdnZXN0aW9uXG4gICAgICAgICAgICBbc3B4RGlzYWJsZWRdPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWQgJiYgaSA9PT0gdGhpcy5mb2N1c1Bvc2l0aW9uXCJcbiAgICAgICAgICAgIFtzcHhTZWxlY3RlZF09XCJ0aGlzLnZhbHVlPy52YWx1ZSA9PT0gdmFsdWVQYWlyPy52YWx1ZVwiXG4gICAgICAgICAgICBbc3B4VGFiYmFibGVdPVwidGhpcy5mb2N1c1Bvc2l0aW9uID09PSBpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljaygkZXZlbnQsIHZhbHVlUGFpcilcIj5cbiAgICAgICAgICAgIHt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgPC9zcHgtc3VnZ2VzdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRSYWRpb0NvbXBvbmVudCB7XG4gIGNhY2hlZFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XG4gIHByb3RlY3RlZCBmb2N1c1Bvc2l0aW9uID0gMDtcbiAgLy8gQEVsZW1lbnQoKSBlbCE6IEhUTUxFbGVtZW50O1xuICBASW5wdXQoKSBzcHhOYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzITogYW55W107XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0xhYmVsID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4UmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxhbnk+W10gPSBbXTtcbiAgQElucHV0KCkgdmFsdWU/OiBTcHhWYWx1ZVBhaXI8YW55PjtcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XG4gIEBPdXRwdXQoKSBzcHhGb2N1czogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbktleVVwPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbktleURvd24/OiBTdWJzY3JpcHRpb247XG4gIHNweEZvY3VzSW4oKSB7XG4gICAgdGhpcy5saXN0ZW5Ub0tleXMoKTtcbiAgICB0aGlzLmRldGVybWluZUZvY3VzUG9zaXRpb24oKTtcbiAgfVxuXG4gIHNweEZvY3VzT3V0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5RG93bj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleVVwPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3NweFN1Z2dlc3Rpb25zJ10/LnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5jdXJyZW50VmFsdWUpKVxuICAgICkge1xuICAgICAgdGhpcy5jYWNoZWRTdWdnZXN0aW9ucyA9IGNoYW5nZXNbJ3NweFN1Z2dlc3Rpb25zJ10/LmN1cnJlbnRWYWx1ZSA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50LCB2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxhbnk+KSB7XG4gICAgaWYgKHRoaXMuc3B4UmVhZG9ubHkpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdzcHhJbnB1dFJhZGlvOiBjbGlja2VkLCBidXQgcmVhZG9ubHknKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ3NweElucHV0UmFkaW86IGNsaWNrZWQnKTtcbiAgICAgIHRoaXMuc2VsZWN0KHZhbHVlUGFpcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVGb2N1c1Bvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuc3B4U3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNweFN1Z2dlc3Rpb25zLmZpbmRJbmRleCh2YWx1ZVBhaXIgPT4gdmFsdWVQYWlyVG9WYWx1ZSh2YWx1ZVBhaXIpID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMudmFsdWUpKTtcbiAgICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IGluZGV4ID49IDAgPyBpbmRleCA6IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3QodmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4pOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSAwO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVBhaXI7XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh2YWx1ZVBhaXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0tleXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcCA9IGZyb21FdmVudCh3aW5kb3csICdrZXl1cCcpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmICgoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93VXAnIHx8IChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0xlZnQnKSAmJiB0aGlzLmZvY3VzUG9zaXRpb24gPiAwKSB7XG4gICAgICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IHRoaXMuZm9jdXNQb3NpdGlvbiAtIDE7XG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuc3B4U3VnZ2VzdGlvbnMuYXQodGhpcy5mb2N1c1Bvc2l0aW9uKSEpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgaWYgKCgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dEb3duJyB8fCAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dSaWdodCcpICYmIHRoaXMuZm9jdXNQb3NpdGlvbiA8IHRoaXMuc3B4U3VnZ2VzdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSB0aGlzLmZvY3VzUG9zaXRpb24gKyAxO1xuICAgICAgICB0aGlzLnNlbGVjdCh0aGlzLnNweFN1Z2dlc3Rpb25zLmF0KHRoaXMuZm9jdXNQb3NpdGlvbikhKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleURvd24gPSBmcm9tRXZlbnQod2luZG93LCAna2V5ZG93bicpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dEb3duJyB8fFxuICAgICAgICAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dMZWZ0JyB8fFxuICAgICAgICAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dSaWdodCcgfHxcbiAgICAgICAgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn0iXX0=