valtech-components 2.0.592 → 2.0.593

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.
@@ -30,12 +30,22 @@ export class Terminal404Component {
30
30
  this.props = {};
31
31
  this.requestedPath = signal('page-not-found');
32
32
  }
33
- get backgroundGradient() {
33
+ get containerStyles() {
34
+ const styles = {};
35
+ // Background gradient
34
36
  const bg = this.props.backgroundColor;
35
37
  if (bg) {
36
- return `linear-gradient(135deg, ${bg.start} 0%, ${bg.middle} 50%, ${bg.end} 100%)`;
38
+ styles['background'] = `linear-gradient(135deg, ${bg.start} 0%, ${bg.middle} 50%, ${bg.end} 100%)`;
37
39
  }
38
- return 'linear-gradient(135deg, #ede9fe 0%, #ddd6fe 50%, #c4b5fd 100%)';
40
+ else {
41
+ styles['background'] = 'linear-gradient(135deg, #ede9fe 0%, #ddd6fe 50%, #c4b5fd 100%)';
42
+ }
43
+ // Override primary color if provided
44
+ if (this.props.primaryColor) {
45
+ styles['--terminal-primary'] = this.props.primaryColor;
46
+ styles['--terminal-primary-light'] = this.lightenColor(this.props.primaryColor);
47
+ }
48
+ return styles;
39
49
  }
40
50
  ngOnInit() {
41
51
  if (typeof window !== 'undefined') {
@@ -58,19 +68,9 @@ export class Terminal404Component {
58
68
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: Terminal404Component, isStandalone: true, selector: "val-terminal-404", inputs: { props: "props" }, ngImport: i0, template: `
59
69
  <div
60
70
  class="terminal-container"
61
- [ngStyle]="{
62
- background: backgroundGradient
63
- }"
71
+ [ngStyle]="containerStyles"
64
72
  >
65
- <div
66
- class="error-code"
67
- [ngStyle]="{
68
- color: props.primaryColor || '#4a1d96',
69
- textShadow: '0 0 40px ' + (props.primaryColor || '#4a1d96') + '4d'
70
- }"
71
- >
72
- 404
73
- </div>
73
+ <div class="error-code">404</div>
74
74
 
75
75
  <div
76
76
  class="terminal"
@@ -125,35 +125,21 @@ export class Terminal404Component {
125
125
  class="home-button"
126
126
  [routerLink]="props.homeRoute || '/'"
127
127
  expand="block"
128
- [ngStyle]="{
129
- '--background': props.primaryColor || '#4a1d96',
130
- '--background-hover': lightenColor(props.primaryColor || '#4a1d96')
131
- }"
132
128
  >
133
129
  {{ props.homeButtonText || 'cd /home' }}
134
130
  </ion-button>
135
131
  </div>
136
132
  </div>
137
- `, isInline: true, styles: [":host{display:block;width:100%}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;font-family:monospace}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
133
+ `, isInline: true, styles: [":host{display:block;width:100%;--terminal-primary: var(--ion-color-primary, #4a1d96);--terminal-primary-light: var(--ion-color-primary-tint, #5b21b6)}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;--background: var(--terminal-primary);--background-hover: var(--terminal-primary-light);font-family:monospace}.error-code{color:var(--terminal-primary);text-shadow:0 0 40px color-mix(in srgb,var(--terminal-primary) 30%,transparent)}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
138
134
  }
139
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Terminal404Component, decorators: [{
140
136
  type: Component,
141
137
  args: [{ selector: 'val-terminal-404', standalone: true, imports: [CommonModule, IonButton, RouterLink], template: `
142
138
  <div
143
139
  class="terminal-container"
144
- [ngStyle]="{
145
- background: backgroundGradient
146
- }"
140
+ [ngStyle]="containerStyles"
147
141
  >
148
- <div
149
- class="error-code"
150
- [ngStyle]="{
151
- color: props.primaryColor || '#4a1d96',
152
- textShadow: '0 0 40px ' + (props.primaryColor || '#4a1d96') + '4d'
153
- }"
154
- >
155
- 404
156
- </div>
142
+ <div class="error-code">404</div>
157
143
 
158
144
  <div
159
145
  class="terminal"
@@ -208,17 +194,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
208
194
  class="home-button"
209
195
  [routerLink]="props.homeRoute || '/'"
210
196
  expand="block"
211
- [ngStyle]="{
212
- '--background': props.primaryColor || '#4a1d96',
213
- '--background-hover': lightenColor(props.primaryColor || '#4a1d96')
214
- }"
215
197
  >
216
198
  {{ props.homeButtonText || 'cd /home' }}
217
199
  </ion-button>
218
200
  </div>
219
201
  </div>
220
- `, styles: [":host{display:block;width:100%}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;font-family:monospace}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"] }]
202
+ `, styles: [":host{display:block;width:100%;--terminal-primary: var(--ion-color-primary, #4a1d96);--terminal-primary-light: var(--ion-color-primary-tint, #5b21b6)}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;--background: var(--terminal-primary);--background-hover: var(--terminal-primary-light);font-family:monospace}.error-code{color:var(--terminal-primary);text-shadow:0 0 40px color-mix(in srgb,var(--terminal-primary) 30%,transparent)}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"] }]
221
203
  }], propDecorators: { props: [{
222
204
  type: Input
223
205
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtNDA0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvdGVybWluYWwtNDA0L3Rlcm1pbmFsLTQwNC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBc1FILE1BQU0sT0FBTyxvQkFBb0I7SUFyUWpDO1FBc1FXLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0E0QjFDO0lBMUJDLElBQUksa0JBQWtCO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ3RDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLDJCQUEyQixFQUFFLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQyxNQUFNLFNBQVMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ3JGLENBQUM7UUFDRCxPQUFPLGdFQUFnRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO1lBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsR0FBVztRQUN0Qix5Q0FBeUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUN4RSxDQUFDOytHQTlCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix3R0FqRnJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0VULDYzREFoUVMsWUFBWSxvSEFBRSxTQUFTLG9QQUFFLFVBQVU7OzRGQWtRbEMsb0JBQW9CO2tCQXJRaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsWUFpTHBDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0VUOzhCQUdRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFRlcm1pbmFsNDA0TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtdGVybWluYWwtNDA0XG4gKlxuICogQSBmdW4sIHRlcm1pbmFsLXN0eWxlZCA0MDQgcGFnZSBjb21wb25lbnQgd2l0aCB0eXBpbmcgYW5pbWF0aW9ucy5cbiAqXG4gKiBGZWF0dXJlczpcbiAqIC0gVGVybWluYWwgd2luZG93IGFlc3RoZXRpYyB3aXRoIGNvbG9yZWQgZG90c1xuICogLSBUeXBpbmcgYW5pbWF0aW9uIGVmZmVjdCB3aXRoIHNlcXVlbnRpYWwgbGluZSByZXZlYWxzXG4gKiAtIEJsaW5raW5nIGN1cnNvclxuICogLSBDdXN0b21pemFibGUgY29sb3JzIHRvIG1hdGNoIGJyYW5kXG4gKiAtIFNob3dzIHRoZSBhdHRlbXB0ZWQgcGF0aFxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXRlcm1pbmFsLTQwNFxuICogICBbcHJvcHNdPVwie1xuICogICAgIHByaW1hcnlDb2xvcjogJyM0YTFkOTYnLFxuICogICAgIGhvbWVSb3V0ZTogJy8nLFxuICogICAgIGhvbWVCdXR0b25UZXh0OiAnY2QgL2hvbWUnXG4gKiAgIH1cIlxuICogPjwvdmFsLXRlcm1pbmFsLTQwND5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRlcm1pbmFsLTQwNCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgUm91dGVyTGlua10sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNzB2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYjIyO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtZG90IHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICAuZG90LXJlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjVmNTY7XG4gICAgICB9XG4gICAgICAuZG90LXllbGxvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmJkMmU7XG4gICAgICB9XG4gICAgICAuZG90LWdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI3Y2E0MDtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLXRpdGxlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRmlyYSBDb2RlJywgJ01vbmFjbycsICdDb25zb2xhcycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgfVxuXG4gICAgICAubGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlIGZvcndhcmRzO1xuICAgICAgfVxuXG4gICAgICAubGluZTpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICB9XG4gICAgICAubGluZTpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuOHM7XG4gICAgICB9XG4gICAgICAubGluZTpudGgtY2hpbGQoMykge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuNHM7XG4gICAgICB9XG4gICAgICAubGluZTpudGgtY2hpbGQoNCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xuICAgICAgfVxuICAgICAgLmxpbmU6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjZzO1xuICAgICAgfVxuICAgICAgLmxpbmU6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzLjJzO1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgIHRvIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9tcHQge1xuICAgICAgICBjb2xvcjogIzdlZTc4NztcbiAgICAgIH1cblxuICAgICAgLmNvbW1hbmQge1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgIH1cblxuICAgICAgLmVycm9yIHtcbiAgICAgICAgY29sb3I6ICNmODUxNDk7XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgY29sb3I6ICM1OGE2ZmY7XG4gICAgICB9XG5cbiAgICAgIC53YXJuaW5nIHtcbiAgICAgICAgY29sb3I6ICNkMjk5MjI7XG4gICAgICB9XG5cbiAgICAgIC5jdXJzb3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3ZWU3ODc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIGFuaW1hdGlvbjogYmxpbmsgMXMgc3RlcC1lbmQgaW5maW5pdGU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBibGluayB7XG4gICAgICAgIDAlLFxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZXJyb3ItY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAwLjVzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMy44cztcbiAgICAgIH1cblxuICAgICAgLmhvbWUtYnV0dG9uIHtcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtaWNvbiB7XG4gICAgICAgIGFuaW1hdGlvbjogc2VhcmNoaW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgc2VhcmNoaW5nIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICAyNSUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRlcm1pbmFsLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGJhY2tncm91bmQ6IGJhY2tncm91bmRHcmFkaWVudFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImVycm9yLWNvZGVcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgY29sb3I6IHByb3BzLnByaW1hcnlDb2xvciB8fCAnIzRhMWQ5NicsXG4gICAgICAgICAgdGV4dFNoYWRvdzogJzAgMCA0MHB4ICcgKyAocHJvcHMucHJpbWFyeUNvbG9yIHx8ICcjNGExZDk2JykgKyAnNGQnXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA0MDRcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGVybWluYWxcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLnRlcm1pbmFsQmFja2dyb3VuZCB8fCAnIzBkMTExNycgfVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtZG90IGRvdC1yZWRcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtZG90IGRvdC15ZWxsb3dcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtZG90IGRvdC1ncmVlblwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGVybWluYWwtdGl0bGVcIj5iYXNoIC0gNDA0PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtYm9keVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21wdFwiPnVzZXImIzY0O2FwcDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWFuZFwiPjp+JCA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1hbmRcIj5jZCAve3sgcmVxdWVzdGVkUGF0aCgpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3JcIlxuICAgICAgICAgICAgICA+YmFzaDogY2Q6IC97eyByZXF1ZXN0ZWRQYXRoKCkgfX06IE5vIGV4aXN0ZSBlbCBkaXJlY3RvcmlvPC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9tcHRcIj51c2VyJiM2NDthcHA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1hbmRcIj46fiQgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tYW5kXCI+c3VkbyBmaW5kIC8gLW5hbWUgXCJwYWdpbmFcIjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm9cIlxuICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWFyY2gtaWNvblwiPvCflI08L3NwYW4+IEJ1c2NhbmRvLi4uPC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YXJuaW5nXCI+ZmluZDogTm8gc2UgZW5jb250cmFyb24gcmVzdWx0YWRvcy48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9tcHRcIj51c2VyJiM2NDthcHA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1hbmRcIj46fiQgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3JcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJob21lLWJ1dHRvblwiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwicHJvcHMuaG9tZVJvdXRlIHx8ICcvJ1wiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICctLWJhY2tncm91bmQnOiBwcm9wcy5wcmltYXJ5Q29sb3IgfHwgJyM0YTFkOTYnLFxuICAgICAgICAgICAgJy0tYmFja2dyb3VuZC1ob3Zlcic6IGxpZ2h0ZW5Db2xvcihwcm9wcy5wcmltYXJ5Q29sb3IgfHwgJyM0YTFkOTYnKVxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcHJvcHMuaG9tZUJ1dHRvblRleHQgfHwgJ2NkIC9ob21lJyB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWw0MDRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogVGVybWluYWw0MDRNZXRhZGF0YSA9IHt9O1xuXG4gIHJlcXVlc3RlZFBhdGggPSBzaWduYWwoJ3BhZ2Utbm90LWZvdW5kJyk7XG5cbiAgZ2V0IGJhY2tncm91bmRHcmFkaWVudCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJnID0gdGhpcy5wcm9wcy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgaWYgKGJnKSB7XG4gICAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Ymcuc3RhcnR9IDAlLCAke2JnLm1pZGRsZX0gNTAlLCAke2JnLmVuZH0gMTAwJSlgO1xuICAgIH1cbiAgICByZXR1cm4gJ2xpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZGU5ZmUgMCUsICNkZGQ2ZmUgNTAlLCAjYzRiNWZkIDEwMCUpJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgcGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxKSB8fCAndW5rbm93bic7XG4gICAgICB0aGlzLnJlcXVlc3RlZFBhdGguc2V0KHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaWdodGVuIGEgaGV4IGNvbG9yIGZvciBob3ZlciBzdGF0ZXNcbiAgICovXG4gIGxpZ2h0ZW5Db2xvcihoZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gU2ltcGxlIGxpZ2h0ZW4gYnkgYWRkaW5nIHRvIFJHQiB2YWx1ZXNcbiAgICBjb25zdCBudW0gPSBwYXJzZUludChoZXgucmVwbGFjZSgnIycsICcnKSwgMTYpO1xuICAgIGNvbnN0IHIgPSBNYXRoLm1pbigyNTUsIChudW0gPj4gMTYpICsgMjApO1xuICAgIGNvbnN0IGcgPSBNYXRoLm1pbigyNTUsICgobnVtID4+IDgpICYgMHgwMGZmKSArIDIwKTtcbiAgICBjb25zdCBiID0gTWF0aC5taW4oMjU1LCAobnVtICYgMHgwMDAwZmYpICsgMjApO1xuICAgIHJldHVybiBgIyR7KChyIDw8IDE2KSB8IChnIDw8IDgpIHwgYikudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDYsICcwJyl9YDtcbiAgfVxufVxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtNDA0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvdGVybWluYWwtNDA0L3Rlcm1pbmFsLTQwNC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBaVFILE1BQU0sT0FBTyxvQkFBb0I7SUFoUWpDO1FBaVFXLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0F3QzFDO0lBdENDLElBQUksZUFBZTtRQUNqQixNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBRTFDLHNCQUFzQjtRQUN0QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUN0QyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLDJCQUEyQixFQUFFLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQyxNQUFNLFNBQVMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ3JHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLGdFQUFnRSxDQUFDO1FBQzFGLENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7WUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxHQUFXO1FBQ3RCLHlDQUF5QztRQUN6QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7K0dBMUNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdHQW5FckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVULHNzRUEzUFMsWUFBWSxvSEFBRSxTQUFTLG9QQUFFLFVBQVU7OzRGQTZQbEMsb0JBQW9CO2tCQWhRaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsWUEwTHBDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlFVDs4QkFHUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uQnV0dG9uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBUZXJtaW5hbDQwNE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLXRlcm1pbmFsLTQwNFxuICpcbiAqIEEgZnVuLCB0ZXJtaW5hbC1zdHlsZWQgNDA0IHBhZ2UgY29tcG9uZW50IHdpdGggdHlwaW5nIGFuaW1hdGlvbnMuXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIFRlcm1pbmFsIHdpbmRvdyBhZXN0aGV0aWMgd2l0aCBjb2xvcmVkIGRvdHNcbiAqIC0gVHlwaW5nIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBzZXF1ZW50aWFsIGxpbmUgcmV2ZWFsc1xuICogLSBCbGlua2luZyBjdXJzb3JcbiAqIC0gQ3VzdG9taXphYmxlIGNvbG9ycyB0byBtYXRjaCBicmFuZFxuICogLSBTaG93cyB0aGUgYXR0ZW1wdGVkIHBhdGhcbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC10ZXJtaW5hbC00MDRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBwcmltYXJ5Q29sb3I6ICcjNGExZDk2JyxcbiAqICAgICBob21lUm91dGU6ICcvJyxcbiAqICAgICBob21lQnV0dG9uVGV4dDogJ2NkIC9ob21lJ1xuICogICB9XCJcbiAqID48L3ZhbC10ZXJtaW5hbC00MDQ+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC10ZXJtaW5hbC00MDQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIFJvdXRlckxpbmtdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLS10ZXJtaW5hbC1wcmltYXJ5OiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzRhMWQ5Nik7XG4gICAgICAgIC0tdGVybWluYWwtcHJpbWFyeS1saWdodDogdmFyKC0taW9uLWNvbG9yLXByaW1hcnktdGludCwgIzViMjFiNik7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1kb3Qge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5kb3QtcmVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNWY1NjtcbiAgICAgIH1cbiAgICAgIC5kb3QteWVsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmYmQyZTtcbiAgICAgIH1cbiAgICAgIC5kb3QtZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjdjYTQwO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtdGl0bGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGaXJhIENvZGUnLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICB9XG5cbiAgICAgIC5saW5lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2UgZm9yd2FyZHM7XG4gICAgICB9XG5cbiAgICAgIC5saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbiAgICAgIH1cbiAgICAgIC5saW5lOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC44cztcbiAgICAgIH1cbiAgICAgIC5saW5lOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS40cztcbiAgICAgIH1cbiAgICAgIC5saW5lOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7XG4gICAgICB9XG4gICAgICAubGluZTpudGgtY2hpbGQoNSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDIuNnM7XG4gICAgICB9XG4gICAgICAubGluZTpudGgtY2hpbGQoNikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDMuMnM7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb21wdCB7XG4gICAgICAgIGNvbG9yOiAjN2VlNzg3O1xuICAgICAgfVxuXG4gICAgICAuY29tbWFuZCB7XG4gICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgfVxuXG4gICAgICAuZXJyb3Ige1xuICAgICAgICBjb2xvcjogI2Y4NTE0OTtcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBjb2xvcjogIzU4YTZmZjtcbiAgICAgIH1cblxuICAgICAgLndhcm5pbmcge1xuICAgICAgICBjb2xvcjogI2QyOTkyMjtcbiAgICAgIH1cblxuICAgICAgLmN1cnNvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzdlZTc4NztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgYW5pbWF0aW9uOiBibGluayAxcyBzdGVwLWVuZCBpbmZpbml0ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDAgMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzLjhzO1xuICAgICAgfVxuXG4gICAgICAuaG9tZS1idXR0b24ge1xuICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiB2YXIoLS10ZXJtaW5hbC1wcmltYXJ5KTtcbiAgICAgICAgLS1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS10ZXJtaW5hbC1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLmVycm9yLWNvZGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVybWluYWwtcHJpbWFyeSk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgNDBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGVybWluYWwtcHJpbWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtaWNvbiB7XG4gICAgICAgIGFuaW1hdGlvbjogc2VhcmNoaW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgc2VhcmNoaW5nIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICAyNSUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRlcm1pbmFsLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJjb250YWluZXJTdHlsZXNcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1jb2RlXCI+NDA0PC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXJtaW5hbFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogcHJvcHMudGVybWluYWxCYWNrZ3JvdW5kIHx8ICcjMGQxMTE3JyB9XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1kb3QgZG90LXJlZFwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1kb3QgZG90LXllbGxvd1wiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1kb3QgZG90LWdyZWVuXCI+PC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXJtaW5hbC10aXRsZVwiPmJhc2ggLSA0MDQ8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1ib2R5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvbXB0XCI+dXNlciYjNjQ7YXBwPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tYW5kXCI+On4kIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWFuZFwiPmNkIC97eyByZXF1ZXN0ZWRQYXRoKCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvclwiXG4gICAgICAgICAgICAgID5iYXNoOiBjZDogL3t7IHJlcXVlc3RlZFBhdGgoKSB9fTogTm8gZXhpc3RlIGVsIGRpcmVjdG9yaW88L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21wdFwiPnVzZXImIzY0O2FwcDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWFuZFwiPjp+JCA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1hbmRcIj5zdWRvIGZpbmQgLyAtbmFtZSBcInBhZ2luYVwiPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mb1wiXG4gICAgICAgICAgICAgID48c3BhbiBjbGFzcz1cInNlYXJjaC1pY29uXCI+8J+UjTwvc3Bhbj4gQnVzY2FuZG8uLi48L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndhcm5pbmdcIj5maW5kOiBObyBzZSBlbmNvbnRyYXJvbiByZXN1bHRhZG9zLjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21wdFwiPnVzZXImIzY0O2FwcDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWFuZFwiPjp+JCA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvclwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBjbGFzcz1cImhvbWUtYnV0dG9uXCJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJwcm9wcy5ob21lUm91dGUgfHwgJy8nXCJcbiAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBwcm9wcy5ob21lQnV0dG9uVGV4dCB8fCAnY2QgL2hvbWUnIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbDQwNENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBUZXJtaW5hbDQwNE1ldGFkYXRhID0ge307XG5cbiAgcmVxdWVzdGVkUGF0aCA9IHNpZ25hbCgncGFnZS1ub3QtZm91bmQnKTtcblxuICBnZXQgY29udGFpbmVyU3R5bGVzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICAgLy8gQmFja2dyb3VuZCBncmFkaWVudFxuICAgIGNvbnN0IGJnID0gdGhpcy5wcm9wcy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgaWYgKGJnKSB7XG4gICAgICBzdHlsZXNbJ2JhY2tncm91bmQnXSA9IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2JnLnN0YXJ0fSAwJSwgJHtiZy5taWRkbGV9IDUwJSwgJHtiZy5lbmR9IDEwMCUpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kJ10gPSAnbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VkZTlmZSAwJSwgI2RkZDZmZSA1MCUsICNjNGI1ZmQgMTAwJSknO1xuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIHByaW1hcnkgY29sb3IgaWYgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5wcm9wcy5wcmltYXJ5Q29sb3IpIHtcbiAgICAgIHN0eWxlc1snLS10ZXJtaW5hbC1wcmltYXJ5J10gPSB0aGlzLnByb3BzLnByaW1hcnlDb2xvcjtcbiAgICAgIHN0eWxlc1snLS10ZXJtaW5hbC1wcmltYXJ5LWxpZ2h0J10gPSB0aGlzLmxpZ2h0ZW5Db2xvcih0aGlzLnByb3BzLnByaW1hcnlDb2xvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgcGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxKSB8fCAndW5rbm93bic7XG4gICAgICB0aGlzLnJlcXVlc3RlZFBhdGguc2V0KHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaWdodGVuIGEgaGV4IGNvbG9yIGZvciBob3ZlciBzdGF0ZXNcbiAgICovXG4gIGxpZ2h0ZW5Db2xvcihoZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gU2ltcGxlIGxpZ2h0ZW4gYnkgYWRkaW5nIHRvIFJHQiB2YWx1ZXNcbiAgICBjb25zdCBudW0gPSBwYXJzZUludChoZXgucmVwbGFjZSgnIycsICcnKSwgMTYpO1xuICAgIGNvbnN0IHIgPSBNYXRoLm1pbigyNTUsIChudW0gPj4gMTYpICsgMjApO1xuICAgIGNvbnN0IGcgPSBNYXRoLm1pbigyNTUsICgobnVtID4+IDgpICYgMHgwMGZmKSArIDIwKTtcbiAgICBjb25zdCBiID0gTWF0aC5taW4oMjU1LCAobnVtICYgMHgwMDAwZmYpICsgMjApO1xuICAgIHJldHVybiBgIyR7KChyIDw8IDE2KSB8IChnIDw8IDgpIHwgYikudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDYsICcwJyl9YDtcbiAgfVxufVxuIl19
@@ -31149,12 +31149,22 @@ class Terminal404Component {
31149
31149
  this.props = {};
31150
31150
  this.requestedPath = signal('page-not-found');
31151
31151
  }
31152
- get backgroundGradient() {
31152
+ get containerStyles() {
31153
+ const styles = {};
31154
+ // Background gradient
31153
31155
  const bg = this.props.backgroundColor;
31154
31156
  if (bg) {
31155
- return `linear-gradient(135deg, ${bg.start} 0%, ${bg.middle} 50%, ${bg.end} 100%)`;
31157
+ styles['background'] = `linear-gradient(135deg, ${bg.start} 0%, ${bg.middle} 50%, ${bg.end} 100%)`;
31158
+ }
31159
+ else {
31160
+ styles['background'] = 'linear-gradient(135deg, #ede9fe 0%, #ddd6fe 50%, #c4b5fd 100%)';
31156
31161
  }
31157
- return 'linear-gradient(135deg, #ede9fe 0%, #ddd6fe 50%, #c4b5fd 100%)';
31162
+ // Override primary color if provided
31163
+ if (this.props.primaryColor) {
31164
+ styles['--terminal-primary'] = this.props.primaryColor;
31165
+ styles['--terminal-primary-light'] = this.lightenColor(this.props.primaryColor);
31166
+ }
31167
+ return styles;
31158
31168
  }
31159
31169
  ngOnInit() {
31160
31170
  if (typeof window !== 'undefined') {
@@ -31177,19 +31187,9 @@ class Terminal404Component {
31177
31187
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: Terminal404Component, isStandalone: true, selector: "val-terminal-404", inputs: { props: "props" }, ngImport: i0, template: `
31178
31188
  <div
31179
31189
  class="terminal-container"
31180
- [ngStyle]="{
31181
- background: backgroundGradient
31182
- }"
31190
+ [ngStyle]="containerStyles"
31183
31191
  >
31184
- <div
31185
- class="error-code"
31186
- [ngStyle]="{
31187
- color: props.primaryColor || '#4a1d96',
31188
- textShadow: '0 0 40px ' + (props.primaryColor || '#4a1d96') + '4d'
31189
- }"
31190
- >
31191
- 404
31192
- </div>
31192
+ <div class="error-code">404</div>
31193
31193
 
31194
31194
  <div
31195
31195
  class="terminal"
@@ -31244,35 +31244,21 @@ class Terminal404Component {
31244
31244
  class="home-button"
31245
31245
  [routerLink]="props.homeRoute || '/'"
31246
31246
  expand="block"
31247
- [ngStyle]="{
31248
- '--background': props.primaryColor || '#4a1d96',
31249
- '--background-hover': lightenColor(props.primaryColor || '#4a1d96')
31250
- }"
31251
31247
  >
31252
31248
  {{ props.homeButtonText || 'cd /home' }}
31253
31249
  </ion-button>
31254
31250
  </div>
31255
31251
  </div>
31256
- `, isInline: true, styles: [":host{display:block;width:100%}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;font-family:monospace}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
31252
+ `, isInline: true, styles: [":host{display:block;width:100%;--terminal-primary: var(--ion-color-primary, #4a1d96);--terminal-primary-light: var(--ion-color-primary-tint, #5b21b6)}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;--background: var(--terminal-primary);--background-hover: var(--terminal-primary-light);font-family:monospace}.error-code{color:var(--terminal-primary);text-shadow:0 0 40px color-mix(in srgb,var(--terminal-primary) 30%,transparent)}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
31257
31253
  }
31258
31254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Terminal404Component, decorators: [{
31259
31255
  type: Component,
31260
31256
  args: [{ selector: 'val-terminal-404', standalone: true, imports: [CommonModule, IonButton, RouterLink], template: `
31261
31257
  <div
31262
31258
  class="terminal-container"
31263
- [ngStyle]="{
31264
- background: backgroundGradient
31265
- }"
31259
+ [ngStyle]="containerStyles"
31266
31260
  >
31267
- <div
31268
- class="error-code"
31269
- [ngStyle]="{
31270
- color: props.primaryColor || '#4a1d96',
31271
- textShadow: '0 0 40px ' + (props.primaryColor || '#4a1d96') + '4d'
31272
- }"
31273
- >
31274
- 404
31275
- </div>
31261
+ <div class="error-code">404</div>
31276
31262
 
31277
31263
  <div
31278
31264
  class="terminal"
@@ -31327,16 +31313,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
31327
31313
  class="home-button"
31328
31314
  [routerLink]="props.homeRoute || '/'"
31329
31315
  expand="block"
31330
- [ngStyle]="{
31331
- '--background': props.primaryColor || '#4a1d96',
31332
- '--background-hover': lightenColor(props.primaryColor || '#4a1d96')
31333
- }"
31334
31316
  >
31335
31317
  {{ props.homeButtonText || 'cd /home' }}
31336
31318
  </ion-button>
31337
31319
  </div>
31338
31320
  </div>
31339
- `, styles: [":host{display:block;width:100%}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;font-family:monospace}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"] }]
31321
+ `, styles: [":host{display:block;width:100%;--terminal-primary: var(--ion-color-primary, #4a1d96);--terminal-primary-light: var(--ion-color-primary-tint, #5b21b6)}.terminal-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:16px}.terminal{border-radius:12px;padding:0;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.terminal-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.85rem;font-family:monospace}.terminal-body{padding:24px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.8}.line{margin-bottom:8px;opacity:0;animation:fadeIn .3s ease forwards}.line:nth-child(1){animation-delay:.2s}.line:nth-child(2){animation-delay:.8s}.line:nth-child(3){animation-delay:1.4s}.line:nth-child(4){animation-delay:2s}.line:nth-child(5){animation-delay:2.6s}.line:nth-child(6){animation-delay:3.2s}@keyframes fadeIn{to{opacity:1}}.prompt{color:#7ee787}.command{color:#c9d1d9}.error{color:#f85149}.info{color:#58a6ff}.warning{color:#d29922}.cursor{display:inline-block;width:10px;height:18px;background:#7ee787;margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-code{font-size:6rem;font-weight:900;text-align:center;margin:.5rem 0 1rem;font-family:monospace}.action-container{margin-top:2rem;text-align:center;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:3.8s}.home-button{--border-radius: 8px;--background: var(--terminal-primary);--background-hover: var(--terminal-primary-light);font-family:monospace}.error-code{color:var(--terminal-primary);text-shadow:0 0 40px color-mix(in srgb,var(--terminal-primary) 30%,transparent)}.search-icon{animation:searching 2s ease-in-out infinite;display:inline-block}@keyframes searching{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}\n"] }]
31340
31322
  }], propDecorators: { props: [{
31341
31323
  type: Input
31342
31324
  }] } });