valtech-components 2.0.298 → 2.0.300

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.
@@ -0,0 +1,200 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, inject } from '@angular/core';
3
+ import { ContentService } from '../services/content.service';
4
+ import { LangService } from '../services/lang-provider/lang-provider.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ /**
8
+ * Test component to diagnose reactive content behavior.
9
+ * Compares fromContent vs fromMultipleContent reactivity.
10
+ */
11
+ export class ReactivityTestComponent {
12
+ constructor() {
13
+ this.contentService = inject(ContentService);
14
+ this.langService = inject(LangService);
15
+ // Observable for current language
16
+ this.currentLang$ = this.langService.currentLang$;
17
+ // Single key content observables (using fromContent)
18
+ this.singleWelcome$ = this.contentService.fromContent({
19
+ className: 'testReactivity',
20
+ key: 'welcomeMessage',
21
+ fallback: 'Welcome',
22
+ });
23
+ this.singleSave$ = this.contentService.fromContent({
24
+ className: 'testReactivity',
25
+ key: 'saveButton',
26
+ fallback: 'Save',
27
+ });
28
+ this.singleCancel$ = this.contentService.fromContent({
29
+ className: 'testReactivity',
30
+ key: 'cancelButton',
31
+ fallback: 'Cancel',
32
+ });
33
+ // Multiple keys content observable (using fromMultipleContent)
34
+ this.multipleContent$ = this.contentService.fromMultipleContent('testReactivity', [
35
+ 'welcomeMessage',
36
+ 'saveButton',
37
+ 'cancelButton',
38
+ ]);
39
+ // Direct LangService tests
40
+ this.directSingle$ = this.langService.getContent('testReactivity', 'welcomeMessage', 'Welcome');
41
+ this.directMultiple$ = this.langService.getMultipleContent('testReactivity', ['welcomeMessage']);
42
+ // Update counters
43
+ this.singleUpdateCount = 0;
44
+ this.multipleUpdateCount = 0;
45
+ this.directSingleUpdateCount = 0;
46
+ this.directMultipleUpdateCount = 0;
47
+ }
48
+ ngOnInit() {
49
+ // Subscribe to observables to count updates
50
+ this.singleWelcome$.subscribe(() => {
51
+ this.singleUpdateCount++;
52
+ console.log('Single key updated:', this.singleUpdateCount);
53
+ });
54
+ this.multipleContent$.subscribe(() => {
55
+ this.multipleUpdateCount++;
56
+ console.log('Multiple keys updated:', this.multipleUpdateCount);
57
+ });
58
+ this.directSingle$.subscribe(() => {
59
+ this.directSingleUpdateCount++;
60
+ console.log('Direct single updated:', this.directSingleUpdateCount);
61
+ });
62
+ this.directMultiple$.subscribe(() => {
63
+ this.directMultipleUpdateCount++;
64
+ console.log('Direct multiple updated:', this.directMultipleUpdateCount);
65
+ });
66
+ }
67
+ switchToSpanish() {
68
+ this.langService.setLang('es');
69
+ }
70
+ switchToEnglish() {
71
+ this.langService.setLang('en');
72
+ }
73
+ switchToFrench() {
74
+ this.langService.setLang('fr');
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactivityTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ReactivityTestComponent, isStandalone: true, selector: "val-reactivity-test", ngImport: i0, template: `
78
+ <div style="padding: 20px; border: 1px solid #ccc; margin: 10px;">
79
+ <h3>Reactivity Test Component</h3>
80
+
81
+ <!-- Current Language -->
82
+ <div style="margin-bottom: 20px;"><strong>Current Language:</strong> {{ currentLang$ | async }}</div>
83
+
84
+ <!-- Language Switch Buttons -->
85
+ <div style="margin-bottom: 20px;">
86
+ <button (click)="switchToSpanish()" style="margin-right: 10px;">Switch to ES</button>
87
+ <button (click)="switchToEnglish()" style="margin-right: 10px;">Switch to EN</button>
88
+ <button (click)="switchToFrench()">Switch to FR</button>
89
+ </div>
90
+
91
+ <!-- Single Key Tests -->
92
+ <div style="margin-bottom: 20px;">
93
+ <h4>Single Key Tests (fromContent)</h4>
94
+ <div><strong>welcomeMessage (fromContent):</strong> {{ singleWelcome$ | async }}</div>
95
+ <div><strong>saveButton (fromContent):</strong> {{ singleSave$ | async }}</div>
96
+ <div><strong>cancelButton (fromContent):</strong> {{ singleCancel$ | async }}</div>
97
+ </div>
98
+
99
+ <!-- Multiple Keys Test -->
100
+ <div style="margin-bottom: 20px;">
101
+ <h4>Multiple Keys Test (fromMultipleContent)</h4>
102
+ <div>
103
+ <strong>welcomeMessage (multiple):</strong>
104
+ {{ (multipleContent$ | async)?.['welcomeMessage'] || 'Loading...' }}
105
+ </div>
106
+ <div>
107
+ <strong>saveButton (multiple):</strong> {{ (multipleContent$ | async)?.['saveButton'] || 'Loading...' }}
108
+ </div>
109
+ <div>
110
+ <strong>cancelButton (multiple):</strong> {{ (multipleContent$ | async)?.['cancelButton'] || 'Loading...' }}
111
+ </div>
112
+ </div>
113
+
114
+ <!-- Direct LangService Tests -->
115
+ <div style="margin-bottom: 20px;">
116
+ <h4>Direct LangService Tests</h4>
117
+ <div><strong>welcomeMessage (direct single):</strong> {{ directSingle$ | async }}</div>
118
+ <div>
119
+ <strong>welcomeMessage (direct multiple):</strong>
120
+ {{ (directMultiple$ | async)?.['welcomeMessage'] || 'Loading...' }}
121
+ </div>
122
+ </div>
123
+
124
+ <!-- Update Counter -->
125
+ <div>
126
+ <h4>Update Counters</h4>
127
+ <div><strong>Single key updates:</strong> {{ singleUpdateCount }}</div>
128
+ <div><strong>Multiple keys updates:</strong> {{ multipleUpdateCount }}</div>
129
+ <div><strong>Direct single updates:</strong> {{ directSingleUpdateCount }}</div>
130
+ <div><strong>Direct multiple updates:</strong> {{ directMultipleUpdateCount }}</div>
131
+ </div>
132
+ </div>
133
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactivityTestComponent, decorators: [{
136
+ type: Component,
137
+ args: [{
138
+ selector: 'val-reactivity-test',
139
+ standalone: true,
140
+ imports: [CommonModule],
141
+ template: `
142
+ <div style="padding: 20px; border: 1px solid #ccc; margin: 10px;">
143
+ <h3>Reactivity Test Component</h3>
144
+
145
+ <!-- Current Language -->
146
+ <div style="margin-bottom: 20px;"><strong>Current Language:</strong> {{ currentLang$ | async }}</div>
147
+
148
+ <!-- Language Switch Buttons -->
149
+ <div style="margin-bottom: 20px;">
150
+ <button (click)="switchToSpanish()" style="margin-right: 10px;">Switch to ES</button>
151
+ <button (click)="switchToEnglish()" style="margin-right: 10px;">Switch to EN</button>
152
+ <button (click)="switchToFrench()">Switch to FR</button>
153
+ </div>
154
+
155
+ <!-- Single Key Tests -->
156
+ <div style="margin-bottom: 20px;">
157
+ <h4>Single Key Tests (fromContent)</h4>
158
+ <div><strong>welcomeMessage (fromContent):</strong> {{ singleWelcome$ | async }}</div>
159
+ <div><strong>saveButton (fromContent):</strong> {{ singleSave$ | async }}</div>
160
+ <div><strong>cancelButton (fromContent):</strong> {{ singleCancel$ | async }}</div>
161
+ </div>
162
+
163
+ <!-- Multiple Keys Test -->
164
+ <div style="margin-bottom: 20px;">
165
+ <h4>Multiple Keys Test (fromMultipleContent)</h4>
166
+ <div>
167
+ <strong>welcomeMessage (multiple):</strong>
168
+ {{ (multipleContent$ | async)?.['welcomeMessage'] || 'Loading...' }}
169
+ </div>
170
+ <div>
171
+ <strong>saveButton (multiple):</strong> {{ (multipleContent$ | async)?.['saveButton'] || 'Loading...' }}
172
+ </div>
173
+ <div>
174
+ <strong>cancelButton (multiple):</strong> {{ (multipleContent$ | async)?.['cancelButton'] || 'Loading...' }}
175
+ </div>
176
+ </div>
177
+
178
+ <!-- Direct LangService Tests -->
179
+ <div style="margin-bottom: 20px;">
180
+ <h4>Direct LangService Tests</h4>
181
+ <div><strong>welcomeMessage (direct single):</strong> {{ directSingle$ | async }}</div>
182
+ <div>
183
+ <strong>welcomeMessage (direct multiple):</strong>
184
+ {{ (directMultiple$ | async)?.['welcomeMessage'] || 'Loading...' }}
185
+ </div>
186
+ </div>
187
+
188
+ <!-- Update Counter -->
189
+ <div>
190
+ <h4>Update Counters</h4>
191
+ <div><strong>Single key updates:</strong> {{ singleUpdateCount }}</div>
192
+ <div><strong>Multiple keys updates:</strong> {{ multipleUpdateCount }}</div>
193
+ <div><strong>Direct single updates:</strong> {{ directSingleUpdateCount }}</div>
194
+ <div><strong>Direct multiple updates:</strong> {{ directMultipleUpdateCount }}</div>
195
+ </div>
196
+ </div>
197
+ `,
198
+ }]
199
+ }] });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3Rpdml0eS10ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2V4YW1wbGVzL3JlYWN0aXZpdHktdGVzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saURBQWlELENBQUM7OztBQUU5RTs7O0dBR0c7QUErREgsTUFBTSxPQUFPLHVCQUF1QjtJQTlEcEM7UUErRFUsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUMsa0NBQWtDO1FBQ2xDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFFN0MscURBQXFEO1FBQ3JELG1CQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7WUFDL0MsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixHQUFHLEVBQUUsZ0JBQWdCO1lBQ3JCLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7WUFDNUMsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixHQUFHLEVBQUUsWUFBWTtZQUNqQixRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFFSCxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQzlDLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsR0FBRyxFQUFFLGNBQWM7WUFDbkIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsK0RBQStEO1FBQy9ELHFCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUU7WUFDM0UsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixjQUFjO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDM0Ysb0JBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRTVGLGtCQUFrQjtRQUNsQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLDRCQUF1QixHQUFHLENBQUMsQ0FBQztRQUM1Qiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7S0FvQy9CO0lBbENDLFFBQVE7UUFDTiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBNUVVLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtFQTFEeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RULDJEQXpEUyxZQUFZOzs0RkEyRFgsdUJBQXVCO2tCQTlEbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5cbi8qKlxuICogVGVzdCBjb21wb25lbnQgdG8gZGlhZ25vc2UgcmVhY3RpdmUgY29udGVudCBiZWhhdmlvci5cbiAqIENvbXBhcmVzIGZyb21Db250ZW50IHZzIGZyb21NdWx0aXBsZUNvbnRlbnQgcmVhY3Rpdml0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJlYWN0aXZpdHktdGVzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nOiAyMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyBtYXJnaW46IDEwcHg7XCI+XG4gICAgICA8aDM+UmVhY3Rpdml0eSBUZXN0IENvbXBvbmVudDwvaDM+XG5cbiAgICAgIDwhLS0gQ3VycmVudCBMYW5ndWFnZSAtLT5cbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiPjxzdHJvbmc+Q3VycmVudCBMYW5ndWFnZTo8L3N0cm9uZz4ge3sgY3VycmVudExhbmckIHwgYXN5bmMgfX08L2Rpdj5cblxuICAgICAgPCEtLSBMYW5ndWFnZSBTd2l0Y2ggQnV0dG9ucyAtLT5cbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUb1NwYW5pc2goKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiPlN3aXRjaCB0byBFUzwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUb0VuZ2xpc2goKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiPlN3aXRjaCB0byBFTjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUb0ZyZW5jaCgpXCI+U3dpdGNoIHRvIEZSPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBTaW5nbGUgS2V5IFRlc3RzIC0tPlxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDIwcHg7XCI+XG4gICAgICAgIDxoND5TaW5nbGUgS2V5IFRlc3RzIChmcm9tQ29udGVudCk8L2g0PlxuICAgICAgICA8ZGl2PjxzdHJvbmc+d2VsY29tZU1lc3NhZ2UgKGZyb21Db250ZW50KTo8L3N0cm9uZz4ge3sgc2luZ2xlV2VsY29tZSQgfCBhc3luYyB9fTwvZGl2PlxuICAgICAgICA8ZGl2PjxzdHJvbmc+c2F2ZUJ1dHRvbiAoZnJvbUNvbnRlbnQpOjwvc3Ryb25nPiB7eyBzaW5nbGVTYXZlJCB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgIDxkaXY+PHN0cm9uZz5jYW5jZWxCdXR0b24gKGZyb21Db250ZW50KTo8L3N0cm9uZz4ge3sgc2luZ2xlQ2FuY2VsJCB8IGFzeW5jIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBNdWx0aXBsZSBLZXlzIFRlc3QgLS0+XG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cbiAgICAgICAgPGg0Pk11bHRpcGxlIEtleXMgVGVzdCAoZnJvbU11bHRpcGxlQ29udGVudCk8L2g0PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzdHJvbmc+d2VsY29tZU1lc3NhZ2UgKG11bHRpcGxlKTo8L3N0cm9uZz5cbiAgICAgICAgICB7eyAobXVsdGlwbGVDb250ZW50JCB8IGFzeW5jKT8uWyd3ZWxjb21lTWVzc2FnZSddIHx8ICdMb2FkaW5nLi4uJyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nPnNhdmVCdXR0b24gKG11bHRpcGxlKTo8L3N0cm9uZz4ge3sgKG11bHRpcGxlQ29udGVudCQgfCBhc3luYyk/Llsnc2F2ZUJ1dHRvbiddIHx8ICdMb2FkaW5nLi4uJyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nPmNhbmNlbEJ1dHRvbiAobXVsdGlwbGUpOjwvc3Ryb25nPiB7eyAobXVsdGlwbGVDb250ZW50JCB8IGFzeW5jKT8uWydjYW5jZWxCdXR0b24nXSB8fCAnTG9hZGluZy4uLicgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBEaXJlY3QgTGFuZ1NlcnZpY2UgVGVzdHMgLS0+XG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cbiAgICAgICAgPGg0PkRpcmVjdCBMYW5nU2VydmljZSBUZXN0czwvaDQ+XG4gICAgICAgIDxkaXY+PHN0cm9uZz53ZWxjb21lTWVzc2FnZSAoZGlyZWN0IHNpbmdsZSk6PC9zdHJvbmc+IHt7IGRpcmVjdFNpbmdsZSQgfCBhc3luYyB9fTwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzdHJvbmc+d2VsY29tZU1lc3NhZ2UgKGRpcmVjdCBtdWx0aXBsZSk6PC9zdHJvbmc+XG4gICAgICAgICAge3sgKGRpcmVjdE11bHRpcGxlJCB8IGFzeW5jKT8uWyd3ZWxjb21lTWVzc2FnZSddIHx8ICdMb2FkaW5nLi4uJyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFVwZGF0ZSBDb3VudGVyIC0tPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0PlVwZGF0ZSBDb3VudGVyczwvaDQ+XG4gICAgICAgIDxkaXY+PHN0cm9uZz5TaW5nbGUga2V5IHVwZGF0ZXM6PC9zdHJvbmc+IHt7IHNpbmdsZVVwZGF0ZUNvdW50IH19PC9kaXY+XG4gICAgICAgIDxkaXY+PHN0cm9uZz5NdWx0aXBsZSBrZXlzIHVwZGF0ZXM6PC9zdHJvbmc+IHt7IG11bHRpcGxlVXBkYXRlQ291bnQgfX08L2Rpdj5cbiAgICAgICAgPGRpdj48c3Ryb25nPkRpcmVjdCBzaW5nbGUgdXBkYXRlczo8L3N0cm9uZz4ge3sgZGlyZWN0U2luZ2xlVXBkYXRlQ291bnQgfX08L2Rpdj5cbiAgICAgICAgPGRpdj48c3Ryb25nPkRpcmVjdCBtdWx0aXBsZSB1cGRhdGVzOjwvc3Ryb25nPiB7eyBkaXJlY3RNdWx0aXBsZVVwZGF0ZUNvdW50IH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUmVhY3Rpdml0eVRlc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlID0gaW5qZWN0KENvbnRlbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgLy8gT2JzZXJ2YWJsZSBmb3IgY3VycmVudCBsYW5ndWFnZVxuICBjdXJyZW50TGFuZyQgPSB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nJDtcblxuICAvLyBTaW5nbGUga2V5IGNvbnRlbnQgb2JzZXJ2YWJsZXMgKHVzaW5nIGZyb21Db250ZW50KVxuICBzaW5nbGVXZWxjb21lJCA9IHRoaXMuY29udGVudFNlcnZpY2UuZnJvbUNvbnRlbnQoe1xuICAgIGNsYXNzTmFtZTogJ3Rlc3RSZWFjdGl2aXR5JyxcbiAgICBrZXk6ICd3ZWxjb21lTWVzc2FnZScsXG4gICAgZmFsbGJhY2s6ICdXZWxjb21lJyxcbiAgfSk7XG5cbiAgc2luZ2xlU2F2ZSQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmZyb21Db250ZW50KHtcbiAgICBjbGFzc05hbWU6ICd0ZXN0UmVhY3Rpdml0eScsXG4gICAga2V5OiAnc2F2ZUJ1dHRvbicsXG4gICAgZmFsbGJhY2s6ICdTYXZlJyxcbiAgfSk7XG5cbiAgc2luZ2xlQ2FuY2VsJCA9IHRoaXMuY29udGVudFNlcnZpY2UuZnJvbUNvbnRlbnQoe1xuICAgIGNsYXNzTmFtZTogJ3Rlc3RSZWFjdGl2aXR5JyxcbiAgICBrZXk6ICdjYW5jZWxCdXR0b24nLFxuICAgIGZhbGxiYWNrOiAnQ2FuY2VsJyxcbiAgfSk7XG5cbiAgLy8gTXVsdGlwbGUga2V5cyBjb250ZW50IG9ic2VydmFibGUgKHVzaW5nIGZyb21NdWx0aXBsZUNvbnRlbnQpXG4gIG11bHRpcGxlQ29udGVudCQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmZyb21NdWx0aXBsZUNvbnRlbnQoJ3Rlc3RSZWFjdGl2aXR5JywgW1xuICAgICd3ZWxjb21lTWVzc2FnZScsXG4gICAgJ3NhdmVCdXR0b24nLFxuICAgICdjYW5jZWxCdXR0b24nLFxuICBdKTtcblxuICAvLyBEaXJlY3QgTGFuZ1NlcnZpY2UgdGVzdHNcbiAgZGlyZWN0U2luZ2xlJCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudCgndGVzdFJlYWN0aXZpdHknLCAnd2VsY29tZU1lc3NhZ2UnLCAnV2VsY29tZScpO1xuICBkaXJlY3RNdWx0aXBsZSQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldE11bHRpcGxlQ29udGVudCgndGVzdFJlYWN0aXZpdHknLCBbJ3dlbGNvbWVNZXNzYWdlJ10pO1xuXG4gIC8vIFVwZGF0ZSBjb3VudGVyc1xuICBzaW5nbGVVcGRhdGVDb3VudCA9IDA7XG4gIG11bHRpcGxlVXBkYXRlQ291bnQgPSAwO1xuICBkaXJlY3RTaW5nbGVVcGRhdGVDb3VudCA9IDA7XG4gIGRpcmVjdE11bHRpcGxlVXBkYXRlQ291bnQgPSAwO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFN1YnNjcmliZSB0byBvYnNlcnZhYmxlcyB0byBjb3VudCB1cGRhdGVzXG4gICAgdGhpcy5zaW5nbGVXZWxjb21lJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zaW5nbGVVcGRhdGVDb3VudCsrO1xuICAgICAgY29uc29sZS5sb2coJ1NpbmdsZSBrZXkgdXBkYXRlZDonLCB0aGlzLnNpbmdsZVVwZGF0ZUNvdW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMubXVsdGlwbGVDb250ZW50JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tdWx0aXBsZVVwZGF0ZUNvdW50Kys7XG4gICAgICBjb25zb2xlLmxvZygnTXVsdGlwbGUga2V5cyB1cGRhdGVkOicsIHRoaXMubXVsdGlwbGVVcGRhdGVDb3VudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRpcmVjdFNpbmdsZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZGlyZWN0U2luZ2xlVXBkYXRlQ291bnQrKztcbiAgICAgIGNvbnNvbGUubG9nKCdEaXJlY3Qgc2luZ2xlIHVwZGF0ZWQ6JywgdGhpcy5kaXJlY3RTaW5nbGVVcGRhdGVDb3VudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRpcmVjdE11bHRpcGxlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kaXJlY3RNdWx0aXBsZVVwZGF0ZUNvdW50Kys7XG4gICAgICBjb25zb2xlLmxvZygnRGlyZWN0IG11bHRpcGxlIHVwZGF0ZWQ6JywgdGhpcy5kaXJlY3RNdWx0aXBsZVVwZGF0ZUNvdW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN3aXRjaFRvU3BhbmlzaCgpIHtcbiAgICB0aGlzLmxhbmdTZXJ2aWNlLnNldExhbmcoJ2VzJyk7XG4gIH1cblxuICBzd2l0Y2hUb0VuZ2xpc2goKSB7XG4gICAgdGhpcy5sYW5nU2VydmljZS5zZXRMYW5nKCdlbicpO1xuICB9XG5cbiAgc3dpdGNoVG9GcmVuY2goKSB7XG4gICAgdGhpcy5sYW5nU2VydmljZS5zZXRMYW5nKCdmcicpO1xuICB9XG59XG4iXX0=
@@ -53,7 +53,9 @@ export class SelectorExamplesComponent {
53
53
  fill: 'outline',
54
54
  showCheckmark: true,
55
55
  };
56
- // ✅ Ejemplos de Language Selector
56
+ // ✅ Ejemplos de Language Selector (con soporte multiidioma)
57
+ // Los nombres de idiomas se obtienen automáticamente del sistema de contenido
58
+ // y se muestran traducidos según el idioma actual de la aplicación
57
59
  this.basicLanguageSelector = {
58
60
  showLabel: true,
59
61
  label: 'Idioma',
@@ -61,6 +63,7 @@ export class SelectorExamplesComponent {
61
63
  size: 'default',
62
64
  fill: 'outline',
63
65
  };
66
+ // Con banderas y nombres traducidos automáticamente
64
67
  this.flagLanguageSelector = {
65
68
  showLabel: true,
66
69
  label: 'Language / Idioma',
@@ -69,6 +72,7 @@ export class SelectorExamplesComponent {
69
72
  size: 'large',
70
73
  fill: 'solid',
71
74
  };
75
+ // Con nombres personalizados (sobrescribe las traducciones automáticas)
72
76
  this.customLanguageSelector = {
73
77
  showLabel: true,
74
78
  labelConfig: {
@@ -88,6 +92,14 @@ export class SelectorExamplesComponent {
88
92
  de: 'Deutsch',
89
93
  },
90
94
  };
95
+ // Compacto sin etiqueta, solo banderas y nombres traducidos
96
+ this.compactLanguageSelector = {
97
+ showLabel: false,
98
+ showFlags: true,
99
+ color: 'tertiary',
100
+ size: 'small',
101
+ fill: 'clear',
102
+ };
91
103
  }
92
104
  // ✅ Event Handlers
93
105
  onCategoryChange(category) {
@@ -100,7 +112,9 @@ export class SelectorExamplesComponent {
100
112
  console.log('Notifications changed:', notifications);
101
113
  }
102
114
  onLanguageChange(language) {
103
- console.log('Language changed:', language);
115
+ console.log('Language changed to:', language);
116
+ // La aplicación automáticamente actualizará todos los nombres de idiomas
117
+ // según la nueva configuración de idioma seleccionada
104
118
  }
105
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorExamplesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
120
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectorExamplesComponent, isStandalone: true, selector: "app-selector-examples", ngImport: i0, template: `
@@ -132,23 +146,29 @@ export class SelectorExamplesComponent {
132
146
 
133
147
  <!-- Language Selector -->
134
148
  <div class="section">
135
- <h3>Selector de Idioma</h3>
149
+ <h3>Selector de Idioma (Multiidioma)</h3>
150
+ <p>Los nombres de idiomas se muestran traducidos según el idioma actual:</p>
136
151
 
137
152
  <div class="example-group">
138
- <h4>Selector Básico:</h4>
153
+ <h4>Selector Básico (nombres traducidos):</h4>
139
154
  <val-language-selector [props]="basicLanguageSelector"> </val-language-selector>
140
155
  </div>
141
156
 
142
157
  <div class="example-group">
143
- <h4>Selector con Banderas:</h4>
158
+ <h4>Selector con Banderas (nombres traducidos):</h4>
144
159
  <val-language-selector [props]="flagLanguageSelector"> </val-language-selector>
145
160
  </div>
146
161
 
147
162
  <div class="example-group">
148
- <h4>Selector Personalizado:</h4>
163
+ <h4>Selector Personalizado (nombres propios):</h4>
149
164
  <val-language-selector [props]="customLanguageSelector" (languageChange)="onLanguageChange($event)">
150
165
  </val-language-selector>
151
166
  </div>
167
+
168
+ <div class="example-group">
169
+ <h4>Selector Compacto:</h4>
170
+ <val-language-selector [props]="compactLanguageSelector"> </val-language-selector>
171
+ </div>
152
172
  </div>
153
173
  </div>
154
174
  `, isInline: true, styles: [".selector-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 20px;color:var(--ion-color-primary)}.example-group{margin:20px 0;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.example-group h4{margin:0 0 15px;color:var(--ion-color-medium)}\n"], dependencies: [{ kind: "component", type: PopoverSelectorComponent, selector: "val-popover-selector", inputs: ["props"], outputs: ["selectionChange"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }] }); }
@@ -184,25 +204,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
184
204
 
185
205
  <!-- Language Selector -->
186
206
  <div class="section">
187
- <h3>Selector de Idioma</h3>
207
+ <h3>Selector de Idioma (Multiidioma)</h3>
208
+ <p>Los nombres de idiomas se muestran traducidos según el idioma actual:</p>
188
209
 
189
210
  <div class="example-group">
190
- <h4>Selector Básico:</h4>
211
+ <h4>Selector Básico (nombres traducidos):</h4>
191
212
  <val-language-selector [props]="basicLanguageSelector"> </val-language-selector>
192
213
  </div>
193
214
 
194
215
  <div class="example-group">
195
- <h4>Selector con Banderas:</h4>
216
+ <h4>Selector con Banderas (nombres traducidos):</h4>
196
217
  <val-language-selector [props]="flagLanguageSelector"> </val-language-selector>
197
218
  </div>
198
219
 
199
220
  <div class="example-group">
200
- <h4>Selector Personalizado:</h4>
221
+ <h4>Selector Personalizado (nombres propios):</h4>
201
222
  <val-language-selector [props]="customLanguageSelector" (languageChange)="onLanguageChange($event)">
202
223
  </val-language-selector>
203
224
  </div>
225
+
226
+ <div class="example-group">
227
+ <h4>Selector Compacto:</h4>
228
+ <val-language-selector [props]="compactLanguageSelector"> </val-language-selector>
229
+ </div>
204
230
  </div>
205
231
  </div>
206
232
  `, styles: [".selector-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 20px;color:var(--ion-color-primary)}.example-group{margin:20px 0;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.example-group h4{margin:0 0 15px;color:var(--ion-color-medium)}\n"] }]
207
233
  }] });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvZXhhbXBsZXMvc2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7O0FBRy9HOztHQUVHO0FBMEZILE1BQU0sT0FBTyx5QkFBeUI7SUF6RnRDO1FBMEZFLDBDQUEwQztRQUUxQyxxQkFBZ0IsR0FBNEI7WUFDMUMsT0FBTyxFQUFFO2dCQUNQLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQ3hELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7YUFDckQ7WUFDRCxhQUFhLEVBQUUsTUFBTTtZQUNyQixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztRQUVGLHFCQUFnQixHQUE0QjtZQUMxQyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUs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QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBZ0M7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQTFHVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpRkFyRjFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRFQsa2ZBakRTLHdCQUF3QixrSEFBRSx5QkFBeUI7OzRGQXNGbEQseUJBQXlCO2tCQXpGckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsWUFDcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdEVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvcG9wb3Zlci1zZWxlY3Rvci90eXBlcyc7XG5cbi8qKlxuICogRWplbXBsbyBkZSB1c28gZGUgbG9zIGNvbXBvbmVudGVzIHBvcG92ZXItc2VsZWN0b3IgeSBsYW5ndWFnZS1zZWxlY3RvclxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0b3ItZXhhbXBsZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LCBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3ItZXhhbXBsZXNcIj5cbiAgICAgIDxoMj5FamVtcGxvcyBkZSBTZWxlY3RvcmVzPC9oMj5cblxuICAgICAgPCEtLSBQb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Qb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbzwvaDM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgZGUgQ2F0ZWdvcsOtYXM6PC9oND5cbiAgICAgICAgICA8dmFsLXBvcG92ZXItc2VsZWN0b3IgW3Byb3BzXT1cImNhdGVnb3J5U2VsZWN0b3JcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2F0ZWdvcnlDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvdmFsLXBvcG92ZXItc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIGRlIFByaW9yaWRhZDo8L2g0PlxuICAgICAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwicHJpb3JpdHlTZWxlY3RvclwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Qcmlvcml0eUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC92YWwtcG9wb3Zlci1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgTcO6bHRpcGxlOjwvaDQ+XG4gICAgICAgICAgPHZhbC1wb3BvdmVyLXNlbGVjdG9yIFtwcm9wc109XCJtdWx0aXBsZVNlbGVjdG9yXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbk11bHRpcGxlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICA8L3ZhbC1wb3BvdmVyLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIExhbmd1YWdlIFNlbGVjdG9yIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgPGgzPlNlbGVjdG9yIGRlIElkaW9tYTwvaDM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgQsOhc2ljbzo8L2g0PlxuICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImJhc2ljTGFuZ3VhZ2VTZWxlY3RvclwiPiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgY29uIEJhbmRlcmFzOjwvaDQ+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwiZmxhZ0xhbmd1YWdlU2VsZWN0b3JcIj4gPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIFBlcnNvbmFsaXphZG86PC9oND5cbiAgICAgICAgICA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJjdXN0b21MYW5ndWFnZVNlbGVjdG9yXCIgKGxhbmd1YWdlQ2hhbmdlKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc2VsZWN0b3ItZXhhbXBsZXMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itc3RlcC01MCk7XG4gICAgICB9XG5cbiAgICAgIC5zZWN0aW9uIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAuZXhhbXBsZS1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgfVxuXG4gICAgICAuZXhhbXBsZS1ncm91cCBoNCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdG9yRXhhbXBsZXNDb21wb25lbnQge1xuICAvLyDinIUgRWplbXBsb3MgZGUgUG9wb3ZlciBTZWxlY3RvciBHZW7DqXJpY29cblxuICBjYXRlZ29yeVNlbGVjdG9yOiBQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBvcHRpb25zOiBbXG4gICAgICB7IHZhbHVlOiAnd29yaycsIGxhYmVsOiAnVHJhYmFqbycsIGljb246ICdicmllZmNhc2UnIH0sXG4gICAgICB7IHZhbHVlOiAncGVyc29uYWwnLCBsYWJlbDogJ1BlcnNvbmFsJywgaWNvbjogJ3BlcnNvbicgfSxcbiAgICAgIHsgdmFsdWU6ICd0cmF2ZWwnLCBsYWJlbDogJ1ZpYWplcycsIGljb246ICdhaXJwbGFuZScgfSxcbiAgICAgIHsgdmFsdWU6ICdoZWFsdGgnLCBsYWJlbDogJ1NhbHVkJywgaWNvbjogJ2ZpdG5lc3MnIH0sXG4gICAgXSxcbiAgICBzZWxlY3RlZFZhbHVlOiAnd29yaycsXG4gICAgbGFiZWw6ICdDYXRlZ29yw61hJyxcbiAgICBpY29uOiAnZm9sZGVyJyxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gIH07XG5cbiAgcHJpb3JpdHlTZWxlY3RvcjogUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgb3B0aW9uczogW1xuICAgICAgeyB2YWx1ZTogJ2xvdycsIGxhYmVsOiAnQmFqYScsIGljb246ICdhcnJvdy1kb3duJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IHZhbHVlOiAnbWVkaXVtJywgbGFiZWw6ICdNZWRpYScsIGljb246ICdyZW1vdmUnIH0sXG4gICAgICB7IHZhbHVlOiAnaGlnaCcsIGxhYmVsOiAnQWx0YScsIGljb246ICdhcnJvdy11cCcgfSxcbiAgICAgIHsgdmFsdWU6ICd1cmdlbnQnLCBsYWJlbDogJ1VyZ2VudGUnLCBpY29uOiAnd2FybmluZycgfSxcbiAgICBdLFxuICAgIHNlbGVjdGVkVmFsdWU6ICdtZWRpdW0nLFxuICAgIGxhYmVsOiAnUHJpb3JpZGFkJyxcbiAgICBpY29uOiAnZmxhZycsXG4gICAgY29sb3I6ICd3YXJuaW5nJyxcbiAgICBzaXplOiAnbGFyZ2UnLFxuICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgc2hhcGU6ICdyb3VuZCcsXG4gIH07XG5cbiAgbXVsdGlwbGVTZWxlY3RvcjogUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgb3B0aW9uczogW1xuICAgICAgeyB2YWx1ZTogJ2VtYWlsJywgbGFiZWw6ICdFbWFpbCcsIGljb246ICdtYWlsJyB9LFxuICAgICAgeyB2YWx1ZTogJ3NtcycsIGxhYmVsOiAnU01TJywgaWNvbjogJ2NoYXRib3gnIH0sXG4gICAgICB7IHZhbHVlOiAncHVzaCcsIGxhYmVsOiAnUHVzaCcsIGljb246ICdub3RpZmljYXRpb25zJyB9LFxuICAgICAgeyB2YWx1ZTogJ2luLWFwcCcsIGxhYmVsOiAnSW4tQXBwJywgaWNvbjogJ2FwcHMnIH0sXG4gICAgXSxcbiAgICBzZWxlY3RlZFZhbHVlOiBbJ2VtYWlsJywgJ3B1c2gnXSxcbiAgICBsYWJlbDogJ05vdGlmaWNhY2lvbmVzJyxcbiAgICBpY29uOiAnbm90aWZpY2F0aW9ucy1jaXJjbGUnLFxuICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIGNvbG9yOiAndGVydGlhcnknLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgc2hvd0NoZWNrbWFyazogdHJ1ZSxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgTGFuZ3VhZ2UgU2VsZWN0b3JcblxuICBiYXNpY0xhbmd1YWdlU2VsZWN0b3I6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgbGFiZWw6ICdJZGlvbWEnLFxuICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICB9O1xuXG4gIGZsYWdMYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsOiAnTGFuZ3VhZ2UgLyBJZGlvbWEnLFxuICAgIHNob3dGbGFnczogdHJ1ZSxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICdsYXJnZScsXG4gICAgZmlsbDogJ3NvbGlkJyxcbiAgfTtcblxuICBjdXN0b21MYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsQ29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdfZ2xvYmFsJyxcbiAgICAgIGtleTogJ2xhbmd1YWdlJyxcbiAgICAgIGZhbGxiYWNrOiAnSWRpb21hJyxcbiAgICB9LFxuICAgIHNob3dGbGFnczogdHJ1ZSxcbiAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICBjdXN0b21MYW5ndWFnZU5hbWVzOiB7XG4gICAgICBlczogJ0VzcGHDsW9sIChFc3Bhw7FhKScsXG4gICAgICBlbjogJ0VuZ2xpc2ggKFVTKScsXG4gICAgICBmcjogJ0ZyYW7Dp2FpcycsXG4gICAgICBkZTogJ0RldXRzY2gnLFxuICAgIH0sXG4gIH07XG5cbiAgLy8g4pyFIEV2ZW50IEhhbmRsZXJzXG5cbiAgb25DYXRlZ29yeUNoYW5nZShjYXRlZ29yeTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zb2xlLmxvZygnQ2F0ZWdvcnkgY2hhbmdlZDonLCBjYXRlZ29yeSk7XG4gIH1cblxuICBvblByaW9yaXR5Q2hhbmdlKHByaW9yaXR5OiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGNvbnNvbGUubG9nKCdQcmlvcml0eSBjaGFuZ2VkOicsIHByaW9yaXR5KTtcbiAgfVxuXG4gIG9uTXVsdGlwbGVDaGFuZ2Uobm90aWZpY2F0aW9uczogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zb2xlLmxvZygnTm90aWZpY2F0aW9ucyBjaGFuZ2VkOicsIG5vdGlmaWNhdGlvbnMpO1xuICB9XG5cbiAgb25MYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coJ0xhbmd1YWdlIGNoYW5nZWQ6JywgbGFuZ3VhZ2UpO1xuICB9XG59XG4iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvZXhhbXBsZXMvc2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7O0FBRy9HOztHQUVHO0FBZ0dILE1BQU0sT0FBTyx5QkFBeUI7SUEvRnRDO1FBZ0dFLDBDQUEwQztRQUUxQyxxQkFBZ0IsR0FBNEI7WUFDMUMsT0FBTyxFQUFFO2dCQUNQLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQ3hELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7YUFDckQ7WUFDRCxhQUFhLEVBQUUsTUFBTTtZQUNyQixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztRQUVGLHFCQUFnQixHQUE0QjtZQUMxQyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUs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QUNkLENBQUM7S0FxQkg7SUFuQkMsbUJBQW1CO0lBRW5CLGdCQUFnQixDQUFDLFFBQTJCO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQTJCO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQWdDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUMseUVBQXlFO1FBQ3pFLHNEQUFzRDtJQUN4RCxDQUFDOytHQXpIVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpRkEzRjFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzRFQsa2ZBdkRTLHdCQUF3QixrSEFBRSx5QkFBeUI7OzRGQTRGbEQseUJBQXlCO2tCQS9GckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsWUFDcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNEVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvcG9wb3Zlci1zZWxlY3Rvci90eXBlcyc7XG5cbi8qKlxuICogRWplbXBsbyBkZSB1c28gZGUgbG9zIGNvbXBvbmVudGVzIHBvcG92ZXItc2VsZWN0b3IgeSBsYW5ndWFnZS1zZWxlY3RvclxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0b3ItZXhhbXBsZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LCBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3ItZXhhbXBsZXNcIj5cbiAgICAgIDxoMj5FamVtcGxvcyBkZSBTZWxlY3RvcmVzPC9oMj5cblxuICAgICAgPCEtLSBQb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Qb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbzwvaDM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgZGUgQ2F0ZWdvcsOtYXM6PC9oND5cbiAgICAgICAgICA8dmFsLXBvcG92ZXItc2VsZWN0b3IgW3Byb3BzXT1cImNhdGVnb3J5U2VsZWN0b3JcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2F0ZWdvcnlDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvdmFsLXBvcG92ZXItc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIGRlIFByaW9yaWRhZDo8L2g0PlxuICAgICAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwicHJpb3JpdHlTZWxlY3RvclwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Qcmlvcml0eUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC92YWwtcG9wb3Zlci1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgTcO6bHRpcGxlOjwvaDQ+XG4gICAgICAgICAgPHZhbC1wb3BvdmVyLXNlbGVjdG9yIFtwcm9wc109XCJtdWx0aXBsZVNlbGVjdG9yXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbk11bHRpcGxlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICA8L3ZhbC1wb3BvdmVyLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIExhbmd1YWdlIFNlbGVjdG9yIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgPGgzPlNlbGVjdG9yIGRlIElkaW9tYSAoTXVsdGlpZGlvbWEpPC9oMz5cbiAgICAgICAgPHA+TG9zIG5vbWJyZXMgZGUgaWRpb21hcyBzZSBtdWVzdHJhbiB0cmFkdWNpZG9zIHNlZ8O6biBlbCBpZGlvbWEgYWN0dWFsOjwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1ncm91cFwiPlxuICAgICAgICAgIDxoND5TZWxlY3RvciBCw6FzaWNvIChub21icmVzIHRyYWR1Y2lkb3MpOjwvaDQ+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwiYmFzaWNMYW5ndWFnZVNlbGVjdG9yXCI+IDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1ncm91cFwiPlxuICAgICAgICAgIDxoND5TZWxlY3RvciBjb24gQmFuZGVyYXMgKG5vbWJyZXMgdHJhZHVjaWRvcyk6PC9oND5cbiAgICAgICAgICA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJmbGFnTGFuZ3VhZ2VTZWxlY3RvclwiPiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgUGVyc29uYWxpemFkbyAobm9tYnJlcyBwcm9waW9zKTo8L2g0PlxuICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImN1c3RvbUxhbmd1YWdlU2VsZWN0b3JcIiAobGFuZ3VhZ2VDaGFuZ2UpPVwib25MYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIENvbXBhY3RvOjwvaDQ+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwiY29tcGFjdExhbmd1YWdlU2VsZWN0b3JcIj4gPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5zZWxlY3Rvci1leGFtcGxlcyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdGVwLTUwKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24gaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgIC5leGFtcGxlLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB9XG5cbiAgICAgIC5leGFtcGxlLWdyb3VwIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0b3JFeGFtcGxlc0NvbXBvbmVudCB7XG4gIC8vIOKchSBFamVtcGxvcyBkZSBQb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljb1xuXG4gIGNhdGVnb3J5U2VsZWN0b3I6IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhID0ge1xuICAgIG9wdGlvbnM6IFtcbiAgICAgIHsgdmFsdWU6ICd3b3JrJywgbGFiZWw6ICdUcmFiYWpvJywgaWNvbjogJ2JyaWVmY2FzZScgfSxcbiAgICAgIHsgdmFsdWU6ICdwZXJzb25hbCcsIGxhYmVsOiAnUGVyc29uYWwnLCBpY29uOiAncGVyc29uJyB9LFxuICAgICAgeyB2YWx1ZTogJ3RyYXZlbCcsIGxhYmVsOiAnVmlhamVzJywgaWNvbjogJ2FpcnBsYW5lJyB9LFxuICAgICAgeyB2YWx1ZTogJ2hlYWx0aCcsIGxhYmVsOiAnU2FsdWQnLCBpY29uOiAnZml0bmVzcycgfSxcbiAgICBdLFxuICAgIHNlbGVjdGVkVmFsdWU6ICd3b3JrJyxcbiAgICBsYWJlbDogJ0NhdGVnb3LDrWEnLFxuICAgIGljb246ICdmb2xkZXInLFxuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgfTtcblxuICBwcmlvcml0eVNlbGVjdG9yOiBQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBvcHRpb25zOiBbXG4gICAgICB7IHZhbHVlOiAnbG93JywgbGFiZWw6ICdCYWphJywgaWNvbjogJ2Fycm93LWRvd24nLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgIHsgdmFsdWU6ICdtZWRpdW0nLCBsYWJlbDogJ01lZGlhJywgaWNvbjogJ3JlbW92ZScgfSxcbiAgICAgIHsgdmFsdWU6ICdoaWdoJywgbGFiZWw6ICdBbHRhJywgaWNvbjogJ2Fycm93LXVwJyB9LFxuICAgICAgeyB2YWx1ZTogJ3VyZ2VudCcsIGxhYmVsOiAnVXJnZW50ZScsIGljb246ICd3YXJuaW5nJyB9LFxuICAgIF0sXG4gICAgc2VsZWN0ZWRWYWx1ZTogJ21lZGl1bScsXG4gICAgbGFiZWw6ICdQcmlvcmlkYWQnLFxuICAgIGljb246ICdmbGFnJyxcbiAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgIHNpemU6ICdsYXJnZScsXG4gICAgZmlsbDogJ3NvbGlkJyxcbiAgICBzaGFwZTogJ3JvdW5kJyxcbiAgfTtcblxuICBtdWx0aXBsZVNlbGVjdG9yOiBQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBvcHRpb25zOiBbXG4gICAgICB7IHZhbHVlOiAnZW1haWwnLCBsYWJlbDogJ0VtYWlsJywgaWNvbjogJ21haWwnIH0sXG4gICAgICB7IHZhbHVlOiAnc21zJywgbGFiZWw6ICdTTVMnLCBpY29uOiAnY2hhdGJveCcgfSxcbiAgICAgIHsgdmFsdWU6ICdwdXNoJywgbGFiZWw6ICdQdXNoJywgaWNvbjogJ25vdGlmaWNhdGlvbnMnIH0sXG4gICAgICB7IHZhbHVlOiAnaW4tYXBwJywgbGFiZWw6ICdJbi1BcHAnLCBpY29uOiAnYXBwcycgfSxcbiAgICBdLFxuICAgIHNlbGVjdGVkVmFsdWU6IFsnZW1haWwnLCAncHVzaCddLFxuICAgIGxhYmVsOiAnTm90aWZpY2FjaW9uZXMnLFxuICAgIGljb246ICdub3RpZmljYXRpb25zLWNpcmNsZScsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgY29sb3I6ICd0ZXJ0aWFyeScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBzaG93Q2hlY2ttYXJrOiB0cnVlLFxuICB9O1xuXG4gIC8vIOKchSBFamVtcGxvcyBkZSBMYW5ndWFnZSBTZWxlY3RvciAoY29uIHNvcG9ydGUgbXVsdGlpZGlvbWEpXG5cbiAgLy8gTG9zIG5vbWJyZXMgZGUgaWRpb21hcyBzZSBvYnRpZW5lbiBhdXRvbcOhdGljYW1lbnRlIGRlbCBzaXN0ZW1hIGRlIGNvbnRlbmlkb1xuICAvLyB5IHNlIG11ZXN0cmFuIHRyYWR1Y2lkb3Mgc2Vnw7puIGVsIGlkaW9tYSBhY3R1YWwgZGUgbGEgYXBsaWNhY2nDs25cbiAgYmFzaWNMYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsOiAnSWRpb21hJyxcbiAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgfTtcblxuICAvLyBDb24gYmFuZGVyYXMgeSBub21icmVzIHRyYWR1Y2lkb3MgYXV0b23DoXRpY2FtZW50ZVxuICBmbGFnTGFuZ3VhZ2VTZWxlY3RvcjogTGFuZ3VhZ2VTZWxlY3Rvck1ldGFkYXRhID0ge1xuICAgIHNob3dMYWJlbDogdHJ1ZSxcbiAgICBsYWJlbDogJ0xhbmd1YWdlIC8gSWRpb21hJyxcbiAgICBzaG93RmxhZ3M6IHRydWUsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBzaXplOiAnbGFyZ2UnLFxuICAgIGZpbGw6ICdzb2xpZCcsXG4gIH07XG5cbiAgLy8gQ29uIG5vbWJyZXMgcGVyc29uYWxpemFkb3MgKHNvYnJlc2NyaWJlIGxhcyB0cmFkdWNjaW9uZXMgYXV0b23DoXRpY2FzKVxuICBjdXN0b21MYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsQ29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdfZ2xvYmFsJyxcbiAgICAgIGtleTogJ2xhbmd1YWdlJyxcbiAgICAgIGZhbGxiYWNrOiAnSWRpb21hJyxcbiAgICB9LFxuICAgIHNob3dGbGFnczogdHJ1ZSxcbiAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICBjdXN0b21MYW5ndWFnZU5hbWVzOiB7XG4gICAgICBlczogJ0VzcGHDsW9sIChFc3Bhw7FhKScsXG4gICAgICBlbjogJ0VuZ2xpc2ggKFVTKScsXG4gICAgICBmcjogJ0ZyYW7Dp2FpcycsXG4gICAgICBkZTogJ0RldXRzY2gnLFxuICAgIH0sXG4gIH07XG5cbiAgLy8gQ29tcGFjdG8gc2luIGV0aXF1ZXRhLCBzb2xvIGJhbmRlcmFzIHkgbm9tYnJlcyB0cmFkdWNpZG9zXG4gIGNvbXBhY3RMYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiBmYWxzZSxcbiAgICBzaG93RmxhZ3M6IHRydWUsXG4gICAgY29sb3I6ICd0ZXJ0aWFyeScsXG4gICAgc2l6ZTogJ3NtYWxsJyxcbiAgICBmaWxsOiAnY2xlYXInLFxuICB9O1xuXG4gIC8vIOKchSBFdmVudCBIYW5kbGVyc1xuXG4gIG9uQ2F0ZWdvcnlDaGFuZ2UoY2F0ZWdvcnk6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgY29uc29sZS5sb2coJ0NhdGVnb3J5IGNoYW5nZWQ6JywgY2F0ZWdvcnkpO1xuICB9XG5cbiAgb25Qcmlvcml0eUNoYW5nZShwcmlvcml0eTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zb2xlLmxvZygnUHJpb3JpdHkgY2hhbmdlZDonLCBwcmlvcml0eSk7XG4gIH1cblxuICBvbk11bHRpcGxlQ2hhbmdlKG5vdGlmaWNhdGlvbnM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgY29uc29sZS5sb2coJ05vdGlmaWNhdGlvbnMgY2hhbmdlZDonLCBub3RpZmljYXRpb25zKTtcbiAgfVxuXG4gIG9uTGFuZ3VhZ2VDaGFuZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKCdMYW5ndWFnZSBjaGFuZ2VkIHRvOicsIGxhbmd1YWdlKTtcbiAgICAvLyBMYSBhcGxpY2FjacOzbiBhdXRvbcOhdGljYW1lbnRlIGFjdHVhbGl6YXLDoSB0b2RvcyBsb3Mgbm9tYnJlcyBkZSBpZGlvbWFzXG4gICAgLy8gc2Vnw7puIGxhIG51ZXZhIGNvbmZpZ3VyYWNpw7NuIGRlIGlkaW9tYSBzZWxlY2Npb25hZGFcbiAgfVxufVxuIl19
@@ -39,6 +39,18 @@ const globalContentData = {
39
39
  language: 'Idioma',
40
40
  // Common confirmations
41
41
  areYouSure: '¿Estás seguro?',
42
+ // Language names (translated) - flat keys for type compatibility
43
+ languageName_es: 'Español',
44
+ languageName_en: 'Inglés',
45
+ languageName_fr: 'Francés',
46
+ languageName_de: 'Alemán',
47
+ languageName_pt: 'Portugués',
48
+ languageName_it: 'Italiano',
49
+ languageName_zh: 'Chino',
50
+ languageName_ja: 'Japonés',
51
+ languageName_ko: 'Coreano',
52
+ languageName_ru: 'Ruso',
53
+ languageName_ar: 'Árabe',
42
54
  deleteConfirmation: '¿Estás seguro de que deseas eliminar {itemName}?',
43
55
  unsavedChanges: 'Tienes cambios sin guardar. ¿Deseas continuar?',
44
56
  // Common placeholders
@@ -71,8 +83,21 @@ const globalContentData = {
71
83
  success: 'Success',
72
84
  warning: 'Warning',
73
85
  info: 'Information',
86
+ language: 'Language',
74
87
  // Common confirmations
75
88
  areYouSure: 'Are you sure?',
89
+ // Language names (translated) - flat keys for type compatibility
90
+ languageName_es: 'Spanish',
91
+ languageName_en: 'English',
92
+ languageName_fr: 'French',
93
+ languageName_de: 'German',
94
+ languageName_pt: 'Portuguese',
95
+ languageName_it: 'Italian',
96
+ languageName_zh: 'Chinese',
97
+ languageName_ja: 'Japanese',
98
+ languageName_ko: 'Korean',
99
+ languageName_ru: 'Russian',
100
+ languageName_ar: 'Arabic',
76
101
  deleteConfirmation: 'Are you sure you want to delete {itemName}?',
77
102
  unsavedChanges: 'You have unsaved changes. Do you want to continue?',
78
103
  // Common placeholders
@@ -93,6 +118,19 @@ const globalContentData = {
93
118
  success: 'Succès',
94
119
  // Common confirmations
95
120
  areYouSure: 'Êtes-vous sûr?',
121
+ // Language names (translated) - flat keys for type compatibility
122
+ languageName_es: 'Espagnol',
123
+ languageName_en: 'Anglais',
124
+ languageName_fr: 'Français',
125
+ languageName_de: 'Allemand',
126
+ languageName_pt: 'Portugais',
127
+ languageName_it: 'Italien',
128
+ languageName_zh: 'Chinois',
129
+ languageName_ja: 'Japonais',
130
+ languageName_ko: 'Coréen',
131
+ languageName_ru: 'Russe',
132
+ languageName_ar: 'Arabe',
133
+ language: 'Langue',
96
134
  },
97
135
  de: {
98
136
  // Common buttons - Another example of partial translation
@@ -105,14 +143,44 @@ const globalContentData = {
105
143
  error: 'Fehler',
106
144
  // Common confirmations
107
145
  areYouSure: 'Sind Sie sicher?',
146
+ // Language names (translated) - flat keys for type compatibility
147
+ languageName_es: 'Spanisch',
148
+ languageName_en: 'Englisch',
149
+ languageName_fr: 'Französisch',
150
+ languageName_de: 'Deutsch',
151
+ languageName_pt: 'Portugiesisch',
152
+ languageName_it: 'Italienisch',
153
+ languageName_zh: 'Chinesisch',
154
+ languageName_ja: 'Japanisch',
155
+ languageName_ko: 'Koreanisch',
156
+ languageName_ru: 'Russisch',
157
+ languageName_ar: 'Arabisch',
158
+ language: 'Sprache',
108
159
  },
109
160
  };
110
161
  const GlobalContent = new TextContent(globalContentData);
111
162
  const content = {
112
163
  _global: GlobalContent,
113
164
  LangSettings,
165
+ testReactivity: new TextContent({
166
+ es: {
167
+ welcomeMessage: '¡Bienvenido!',
168
+ saveButton: 'Guardar',
169
+ cancelButton: 'Cancelar',
170
+ },
171
+ en: {
172
+ welcomeMessage: 'Welcome!',
173
+ saveButton: 'Save',
174
+ cancelButton: 'Cancel',
175
+ },
176
+ fr: {
177
+ welcomeMessage: 'Bienvenue!',
178
+ saveButton: 'Enregistrer',
179
+ cancelButton: 'Annuler',
180
+ },
181
+ }),
114
182
  };
115
183
  export default content;
116
184
  // Export named exports for user convenience
117
185
  export { content, GlobalContent, globalContentData };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQW9CLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU14RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUI7SUFDMUMsRUFBRSxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsVUFBVTtRQUNsQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUUsV0FBVztRQUVyQixpQkFBaUI7UUFDakIsR0FBRyxFQUFFLFNBQVM7UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBRXJCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsYUFBYTtRQUN0QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLEtBQUssRUFBRSxPQUFPO1FBQ2QsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLFFBQVE7UUFFbEIsdUJBQXVCO1FBQ3ZCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsa0JBQWtCLEVBQUUsa0RBQWtEO1FBQ3RFLGNBQWMsRUFBRSxnREFBZ0Q7UUFFaEUsc0JBQXNCO1FBQ3RCLGlCQUFpQixFQUFFLFdBQVc7S0FDL0I7SUFDRCxFQUFFLEVBQUU7UUFDRixpQkFBaUI7UUFDakIsRUFBRSxFQUFFLElBQUk7UUFDUixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLFVBQVU7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsUUFBUSxFQUFFLFVBQVU7UUFFcEIsaUJBQWlCO1FBQ2pCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUVsQiw2QkFBNkI7UUFDN0IsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixLQUFLLEVBQUUsT0FBTztRQUNkLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLElBQUksRUFBRSxhQUFhO1FBRW5CLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsZUFBZTtRQUMzQixrQkFBa0IsRUFBRSw2Q0FBNkM7UUFDakUsY0FBYyxFQUFFLG9EQUFvRDtRQUVwRSxzQkFBc0I7UUFDdEIsaUJBQWlCLEVBQUUsV0FBVztLQUMvQjtJQUNELEVBQUUsRUFBRTtRQUNGLG9GQUFvRjtRQUNwRixFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxhQUFhO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFFZCxrRkFBa0Y7UUFDbEYsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLFFBQVE7UUFDZixPQUFPLEVBQUUsUUFBUTtRQUVqQix1QkFBdUI7UUFDdkIsVUFBVSxFQUFFLGdCQUFnQjtLQUM3QjtJQUNELEVBQUUsRUFBRTtRQUNGLDBEQUEwRDtRQUMxRCxFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO1FBRWpCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsVUFBVTtRQUNuQixLQUFLLEVBQUUsUUFBUTtRQUVmLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsa0JBQWtCO0tBQy9CO0NBQ0YsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekQsTUFBTSxPQUFPLEdBQWE7SUFDeEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsWUFBWTtDQUNiLENBQUM7QUFFRixlQUFlLE9BQU8sQ0FBQztBQUV2Qiw0Q0FBNEM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEaXNwbGF5RGVtbyBmcm9tICcuL2NvbXBvbmVudHMvZGlzcGxheS1kZW1vJztcbmltcG9ydCBMYW5nU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCwgVGV4dENvbnRlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlciB7XG4gIFt4OiBzdHJpbmddOiBUZXh0Q29udGVudDtcbn1cblxuLyoqXG4gKiBHbG9iYWwgY29udGVudCB0aGF0IGNhbiBiZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbiAqIFRoZXNlIGFyZSBjb21tb24gdGV4dHMgbGlrZSBidXR0b25zLCBhY3Rpb25zLCBzdGF0ZXMsIGV0Yy5cbiAqIFN0cnVjdHVyZToge2VzOiB7a2V5MTogJ3ZhbHVlMScsIGtleTI6ICd2YWx1ZTInfSwgZW46IHtrZXkxOiAndmFsdWUxJywga2V5MjogJ3ZhbHVlMid9LCBmcjogey4uLn19XG4gKlxuICogTm90ZTogWW91IGNhbiBhZGQgYW55IGxhbmd1YWdlIGNvZGUuIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhdmFpbGFibGUgbGFuZ3VhZ2VzXG4gKiBhbmQgcHJvdmlkZSBpbnRlbGxpZ2VudCBmYWxsYmFja3Mgd2l0aCB3YXJuaW5ncyBmb3IgbWlzc2luZyB0cmFuc2xhdGlvbnMuXG4gKi9cbmNvbnN0IGdsb2JhbENvbnRlbnREYXRhOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdBY2VwdGFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBjbG9zZTogJ0NlcnJhcicsXG4gICAgYmFjazogJ1ZvbHZlcicsXG4gICAgbmV4dDogJ1NpZ3VpZW50ZScsXG4gICAgcHJldmlvdXM6ICdBbnRlcmlvcicsXG4gICAgZmluaXNoOiAnRmluYWxpemFyJyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVhcicsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FncmVnYXInLFxuICAgIHJlbW92ZTogJ1F1aXRhcicsXG4gICAgc2VhcmNoOiAnQnVzY2FyJyxcbiAgICBmaWx0ZXI6ICdGaWx0cmFyJyxcbiAgICBzb3J0OiAnT3JkZW5hcicsXG4gICAgcmVmcmVzaDogJ0FjdHVhbGl6YXInLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnQ2FyZ2FuZG8uLi4nLFxuICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcyBkaXNwb25pYmxlcycsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgd2FybmluZzogJ0FkdmVydGVuY2lhJyxcbiAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcbiAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICfCv0VzdMOhcyBzZWd1cm8/JyxcbiAgICBkZWxldGVDb25maXJtYXRpb246ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIGRlc2VhcyBlbGltaW5hciB7aXRlbU5hbWV9PycsXG4gICAgdW5zYXZlZENoYW5nZXM6ICdUaWVuZXMgY2FtYmlvcyBzaW4gZ3VhcmRhci4gwr9EZXNlYXMgY29udGludWFyPycsXG5cbiAgICAvLyBDb21tb24gcGxhY2Vob2xkZXJzXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdCdXNjYXIuLi4nLFxuICB9LFxuICBlbjoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdPSycsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICBlZGl0OiAnRWRpdCcsXG4gICAgY2xvc2U6ICdDbG9zZScsXG4gICAgYmFjazogJ0JhY2snLFxuICAgIG5leHQ6ICdOZXh0JyxcbiAgICBwcmV2aW91czogJ1ByZXZpb3VzJyxcbiAgICBmaW5pc2g6ICdGaW5pc2gnLFxuICAgIGNvbnRpbnVlOiAnQ29udGludWUnLFxuXG4gICAgLy8gQ29tbW9uIGFjdGlvbnNcbiAgICBhZGQ6ICdBZGQnLFxuICAgIHJlbW92ZTogJ1JlbW92ZScsXG4gICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICBmaWx0ZXI6ICdGaWx0ZXInLFxuICAgIHNvcnQ6ICdTb3J0JyxcbiAgICByZWZyZXNoOiAnUmVmcmVzaCcsXG5cbiAgICAvLyBDb21tb24gc3RhdGVzIGFuZCBtZXNzYWdlc1xuICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgICBub0RhdGE6ICdObyBkYXRhIGF2YWlsYWJsZScsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ1N1Y2Nlc3MnLFxuICAgIHdhcm5pbmc6ICdXYXJuaW5nJyxcbiAgICBpbmZvOiAnSW5mb3JtYXRpb24nLFxuXG4gICAgLy8gQ29tbW9uIGNvbmZpcm1hdGlvbnNcbiAgICBhcmVZb3VTdXJlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgZGVsZXRlQ29uZmlybWF0aW9uOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB7aXRlbU5hbWV9PycsXG4gICAgdW5zYXZlZENoYW5nZXM6ICdZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlPycsXG5cbiAgICAvLyBDb21tb24gcGxhY2Vob2xkZXJzXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2guLi4nLFxuICB9LFxuICBmcjoge1xuICAgIC8vIENvbW1vbiBidXR0b25zIC0gRXhhbXBsZSBvZiBwYXJ0aWFsIHRyYW5zbGF0aW9uIChtaXNzaW5nIHNvbWUga2V5cyBpbnRlbnRpb25hbGx5KVxuICAgIG9rOiAnT0snLFxuICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgIHNhdmU6ICdTYXV2ZWdhcmRlcicsXG4gICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICBlZGl0OiAnTW9kaWZpZXInLFxuICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICBiYWNrOiAnUmV0b3VyJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzIChpbnRlbnRpb25hbGx5IGluY29tcGxldGUgdG8gc2hvdyBmYWxsYmFjayBiZWhhdmlvcilcbiAgICBsb2FkaW5nOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgZXJyb3I6ICdFcnJldXInLFxuICAgIHN1Y2Nlc3M6ICdTdWNjw6hzJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ8OKdGVzLXZvdXMgc8O7cj8nLFxuICB9LFxuICBkZToge1xuICAgIC8vIENvbW1vbiBidXR0b25zIC0gQW5vdGhlciBleGFtcGxlIG9mIHBhcnRpYWwgdHJhbnNsYXRpb25cbiAgICBvazogJ09LJyxcbiAgICBjYW5jZWw6ICdBYmJyZWNoZW4nLFxuICAgIHNhdmU6ICdTcGVpY2hlcm4nLFxuICAgIGRlbGV0ZTogJ0zDtnNjaGVuJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzXG4gICAgbG9hZGluZzogJ0xhZGVuLi4uJyxcbiAgICBlcnJvcjogJ0ZlaGxlcicsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICdTaW5kIFNpZSBzaWNoZXI/JyxcbiAgfSxcbn07XG5cbmNvbnN0IEdsb2JhbENvbnRlbnQgPSBuZXcgVGV4dENvbnRlbnQoZ2xvYmFsQ29udGVudERhdGEpO1xuXG5jb25zdCBjb250ZW50OiBQcm92aWRlciA9IHtcbiAgX2dsb2JhbDogR2xvYmFsQ29udGVudCxcbiAgTGFuZ1NldHRpbmdzLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29udGVudDtcblxuLy8gRXhwb3J0IG5hbWVkIGV4cG9ydHMgZm9yIHVzZXIgY29udmVuaWVuY2VcbmV4cG9ydCB7IGNvbnRlbnQsIEdsb2JhbENvbnRlbnQsIGdsb2JhbENvbnRlbnREYXRhIH07XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQW9CLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU14RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUI7SUFDMUMsRUFBRSxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsVUFBVTtRQUNsQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUUsV0FBVztRQUVyQixpQkFBaUI7UUFDakIsR0FBRyxFQUFFLFNBQVM7UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBRXJCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsYUFBYTtRQUN0QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLEtBQUssRUFBRSxPQUFPO1FBQ2QsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLFFBQVE7UUFFbEIsdUJBQXVCO1FBQ3ZCLFVBQVUsRUFBRSxnQkFBZ0I7UUFFNUIsaUVBQWlFO1FBQ2pFLGVBQWUs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QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMYW5nU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCwgVGV4dENvbnRlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlciB7XG4gIFt4OiBzdHJpbmddOiBUZXh0Q29udGVudDtcbn1cblxuLyoqXG4gKiBHbG9iYWwgY29udGVudCB0aGF0IGNhbiBiZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbiAqIFRoZXNlIGFyZSBjb21tb24gdGV4dHMgbGlrZSBidXR0b25zLCBhY3Rpb25zLCBzdGF0ZXMsIGV0Yy5cbiAqIFN0cnVjdHVyZToge2VzOiB7a2V5MTogJ3ZhbHVlMScsIGtleTI6ICd2YWx1ZTInfSwgZW46IHtrZXkxOiAndmFsdWUxJywga2V5MjogJ3ZhbHVlMid9LCBmcjogey4uLn19XG4gKlxuICogTm90ZTogWW91IGNhbiBhZGQgYW55IGxhbmd1YWdlIGNvZGUuIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhdmFpbGFibGUgbGFuZ3VhZ2VzXG4gKiBhbmQgcHJvdmlkZSBpbnRlbGxpZ2VudCBmYWxsYmFja3Mgd2l0aCB3YXJuaW5ncyBmb3IgbWlzc2luZyB0cmFuc2xhdGlvbnMuXG4gKi9cbmNvbnN0IGdsb2JhbENvbnRlbnREYXRhOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdBY2VwdGFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBjbG9zZTogJ0NlcnJhcicsXG4gICAgYmFjazogJ1ZvbHZlcicsXG4gICAgbmV4dDogJ1NpZ3VpZW50ZScsXG4gICAgcHJldmlvdXM6ICdBbnRlcmlvcicsXG4gICAgZmluaXNoOiAnRmluYWxpemFyJyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVhcicsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FncmVnYXInLFxuICAgIHJlbW92ZTogJ1F1aXRhcicsXG4gICAgc2VhcmNoOiAnQnVzY2FyJyxcbiAgICBmaWx0ZXI6ICdGaWx0cmFyJyxcbiAgICBzb3J0OiAnT3JkZW5hcicsXG4gICAgcmVmcmVzaDogJ0FjdHVhbGl6YXInLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnQ2FyZ2FuZG8uLi4nLFxuICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcyBkaXNwb25pYmxlcycsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgd2FybmluZzogJ0FkdmVydGVuY2lhJyxcbiAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcbiAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICfCv0VzdMOhcyBzZWd1cm8/JyxcblxuICAgIC8vIExhbmd1YWdlIG5hbWVzICh0cmFuc2xhdGVkKSAtIGZsYXQga2V5cyBmb3IgdHlwZSBjb21wYXRpYmlsaXR5XG4gICAgbGFuZ3VhZ2VOYW1lX2VzOiAnRXNwYcOxb2wnLFxuICAgIGxhbmd1YWdlTmFtZV9lbjogJ0luZ2zDqXMnLFxuICAgIGxhbmd1YWdlTmFtZV9mcjogJ0ZyYW5jw6lzJyxcbiAgICBsYW5ndWFnZU5hbWVfZGU6ICdBbGVtw6FuJyxcbiAgICBsYW5ndWFnZU5hbWVfcHQ6ICdQb3J0dWd1w6lzJyxcbiAgICBsYW5ndWFnZU5hbWVfaXQ6ICdJdGFsaWFubycsXG4gICAgbGFuZ3VhZ2VOYW1lX3poOiAnQ2hpbm8nLFxuICAgIGxhbmd1YWdlTmFtZV9qYTogJ0phcG9uw6lzJyxcbiAgICBsYW5ndWFnZU5hbWVfa286ICdDb3JlYW5vJyxcbiAgICBsYW5ndWFnZU5hbWVfcnU6ICdSdXNvJyxcbiAgICBsYW5ndWFnZU5hbWVfYXI6ICfDgXJhYmUnLFxuICAgIGRlbGV0ZUNvbmZpcm1hdGlvbjogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgZGVzZWFzIGVsaW1pbmFyIHtpdGVtTmFtZX0/JyxcbiAgICB1bnNhdmVkQ2hhbmdlczogJ1RpZW5lcyBjYW1iaW9zIHNpbiBndWFyZGFyLiDCv0Rlc2VhcyBjb250aW51YXI/JyxcblxuICAgIC8vIENvbW1vbiBwbGFjZWhvbGRlcnNcbiAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0J1c2Nhci4uLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgLy8gQ29tbW9uIGJ1dHRvbnNcbiAgICBvazogJ09LJyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIHNhdmU6ICdTYXZlJyxcbiAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIGVkaXQ6ICdFZGl0JyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBiYWNrOiAnQmFjaycsXG4gICAgbmV4dDogJ05leHQnLFxuICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxuICAgIGZpbmlzaDogJ0ZpbmlzaCcsXG4gICAgY29udGludWU6ICdDb250aW51ZScsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FkZCcsXG4gICAgcmVtb3ZlOiAnUmVtb3ZlJyxcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIGZpbHRlcjogJ0ZpbHRlcicsXG4gICAgc29ydDogJ1NvcnQnLFxuICAgIHJlZnJlc2g6ICdSZWZyZXNoJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzXG4gICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nLFxuICAgIG5vRGF0YTogJ05vIGRhdGEgYXZhaWxhYmxlJyxcbiAgICBlcnJvcjogJ0Vycm9yJyxcbiAgICBzdWNjZXNzOiAnU3VjY2VzcycsXG4gICAgd2FybmluZzogJ1dhcm5pbmcnLFxuICAgIGluZm86ICdJbmZvcm1hdGlvbicsXG4gICAgbGFuZ3VhZ2U6ICdMYW5ndWFnZScsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICdBcmUgeW91IHN1cmU/JyxcblxuICAgIC8vIExhbmd1YWdlIG5hbWVzICh0cmFuc2xhdGVkKSAtIGZsYXQga2V5cyBmb3IgdHlwZSBjb21wYXRpYmlsaXR5XG4gICAgbGFuZ3VhZ2VOYW1lX2VzOiAnU3BhbmlzaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2VuOiAnRW5nbGlzaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2ZyOiAnRnJlbmNoJyxcbiAgICBsYW5ndWFnZU5hbWVfZGU6ICdHZXJtYW4nLFxuICAgIGxhbmd1YWdlTmFtZV9wdDogJ1BvcnR1Z3Vlc2UnLFxuICAgIGxhbmd1YWdlTmFtZV9pdDogJ0l0YWxpYW4nLFxuICAgIGxhbmd1YWdlTmFtZV96aDogJ0NoaW5lc2UnLFxuICAgIGxhbmd1YWdlTmFtZV9qYTogJ0phcGFuZXNlJyxcbiAgICBsYW5ndWFnZU5hbWVfa286ICdLb3JlYW4nLFxuICAgIGxhbmd1YWdlTmFtZV9ydTogJ1J1c3NpYW4nLFxuICAgIGxhbmd1YWdlTmFtZV9hcjogJ0FyYWJpYycsXG4gICAgZGVsZXRlQ29uZmlybWF0aW9uOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB7aXRlbU5hbWV9PycsXG4gICAgdW5zYXZlZENoYW5nZXM6ICdZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlPycsXG5cbiAgICAvLyBDb21tb24gcGxhY2Vob2xkZXJzXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2guLi4nLFxuICB9LFxuICBmcjoge1xuICAgIC8vIENvbW1vbiBidXR0b25zIC0gRXhhbXBsZSBvZiBwYXJ0aWFsIHRyYW5zbGF0aW9uIChtaXNzaW5nIHNvbWUga2V5cyBpbnRlbnRpb25hbGx5KVxuICAgIG9rOiAnT0snLFxuICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgIHNhdmU6ICdTYXV2ZWdhcmRlcicsXG4gICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICBlZGl0OiAnTW9kaWZpZXInLFxuICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICBiYWNrOiAnUmV0b3VyJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzIChpbnRlbnRpb25hbGx5IGluY29tcGxldGUgdG8gc2hvdyBmYWxsYmFjayBiZWhhdmlvcilcbiAgICBsb2FkaW5nOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgZXJyb3I6ICdFcnJldXInLFxuICAgIHN1Y2Nlc3M6ICdTdWNjw6hzJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ8OKdGVzLXZvdXMgc8O7cj8nLFxuXG4gICAgLy8gTGFuZ3VhZ2UgbmFtZXMgKHRyYW5zbGF0ZWQpIC0gZmxhdCBrZXlzIGZvciB0eXBlIGNvbXBhdGliaWxpdHlcbiAgICBsYW5ndWFnZU5hbWVfZXM6ICdFc3BhZ25vbCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2VuOiAnQW5nbGFpcycsXG4gICAgbGFuZ3VhZ2VOYW1lX2ZyOiAnRnJhbsOnYWlzJyxcbiAgICBsYW5ndWFnZU5hbWVfZGU6ICdBbGxlbWFuZCcsXG4gICAgbGFuZ3VhZ2VOYW1lX3B0OiAnUG9ydHVnYWlzJyxcbiAgICBsYW5ndWFnZU5hbWVfaXQ6ICdJdGFsaWVuJyxcbiAgICBsYW5ndWFnZU5hbWVfemg6ICdDaGlub2lzJyxcbiAgICBsYW5ndWFnZU5hbWVfamE6ICdKYXBvbmFpcycsXG4gICAgbGFuZ3VhZ2VOYW1lX2tvOiAnQ29yw6llbicsXG4gICAgbGFuZ3VhZ2VOYW1lX3J1OiAnUnVzc2UnLFxuICAgIGxhbmd1YWdlTmFtZV9hcjogJ0FyYWJlJyxcbiAgICBsYW5ndWFnZTogJ0xhbmd1ZScsXG4gIH0sXG4gIGRlOiB7XG4gICAgLy8gQ29tbW9uIGJ1dHRvbnMgLSBBbm90aGVyIGV4YW1wbGUgb2YgcGFydGlhbCB0cmFuc2xhdGlvblxuICAgIG9rOiAnT0snLFxuICAgIGNhbmNlbDogJ0FiYnJlY2hlbicsXG4gICAgc2F2ZTogJ1NwZWljaGVybicsXG4gICAgZGVsZXRlOiAnTMO2c2NoZW4nLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnTGFkZW4uLi4nLFxuICAgIGVycm9yOiAnRmVobGVyJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ1NpbmQgU2llIHNpY2hlcj8nLFxuXG4gICAgLy8gTGFuZ3VhZ2UgbmFtZXMgKHRyYW5zbGF0ZWQpIC0gZmxhdCBrZXlzIGZvciB0eXBlIGNvbXBhdGliaWxpdHlcbiAgICBsYW5ndWFnZU5hbWVfZXM6ICdTcGFuaXNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2VuOiAnRW5nbGlzY2gnLFxuICAgIGxhbmd1YWdlTmFtZV9mcjogJ0ZyYW56w7ZzaXNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2RlOiAnRGV1dHNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX3B0OiAnUG9ydHVnaWVzaXNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2l0OiAnSXRhbGllbmlzY2gnLFxuICAgIGxhbmd1YWdlTmFtZV96aDogJ0NoaW5lc2lzY2gnLFxuICAgIGxhbmd1YWdlTmFtZV9qYTogJ0phcGFuaXNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX2tvOiAnS29yZWFuaXNjaCcsXG4gICAgbGFuZ3VhZ2VOYW1lX3J1OiAnUnVzc2lzY2gnLFxuICAgIGxhbmd1YWdlTmFtZV9hcjogJ0FyYWJpc2NoJyxcbiAgICBsYW5ndWFnZTogJ1NwcmFjaGUnLFxuICB9LFxufTtcblxuY29uc3QgR2xvYmFsQ29udGVudCA9IG5ldyBUZXh0Q29udGVudChnbG9iYWxDb250ZW50RGF0YSk7XG5cbmNvbnN0IGNvbnRlbnQ6IFByb3ZpZGVyID0ge1xuICBfZ2xvYmFsOiBHbG9iYWxDb250ZW50LFxuICBMYW5nU2V0dGluZ3MsXG4gIHRlc3RSZWFjdGl2aXR5OiBuZXcgVGV4dENvbnRlbnQoe1xuICAgIGVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZTogJ8KhQmllbnZlbmlkbyEnLFxuICAgICAgc2F2ZUJ1dHRvbjogJ0d1YXJkYXInLFxuICAgICAgY2FuY2VsQnV0dG9uOiAnQ2FuY2VsYXInLFxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgIHdlbGNvbWVNZXNzYWdlOiAnV2VsY29tZSEnLFxuICAgICAgc2F2ZUJ1dHRvbjogJ1NhdmUnLFxuICAgICAgY2FuY2VsQnV0dG9uOiAnQ2FuY2VsJyxcbiAgICB9LFxuICAgIGZyOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZTogJ0JpZW52ZW51ZSEnLFxuICAgICAgc2F2ZUJ1dHRvbjogJ0VucmVnaXN0cmVyJyxcbiAgICAgIGNhbmNlbEJ1dHRvbjogJ0FubnVsZXInLFxuICAgIH0sXG4gIH0pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29udGVudDtcblxuLy8gRXhwb3J0IG5hbWVkIGV4cG9ydHMgZm9yIHVzZXIgY29udmVuaWVuY2VcbmV4cG9ydCB7IGNvbnRlbnQsIEdsb2JhbENvbnRlbnQsIGdsb2JhbENvbnRlbnREYXRhIH07XG4iXX0=