@redocly/config 0.1.0 → 0.1.2

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,649 @@
1
+ const logoConfigSchema = {
2
+ type: 'object',
3
+ properties: {
4
+ image: { type: 'string' },
5
+ srcSet: { type: 'string' },
6
+ altText: { type: 'string' },
7
+ link: { type: 'string' },
8
+ favicon: { type: 'string' },
9
+ },
10
+ additionalProperties: false,
11
+ };
12
+ const hideConfigSchema = {
13
+ type: 'object',
14
+ properties: {
15
+ hide: { type: 'boolean' },
16
+ },
17
+ additionalProperties: false,
18
+ };
19
+ const scriptConfigSchema = {
20
+ type: 'object',
21
+ properties: {
22
+ src: { type: 'string' },
23
+ async: { type: 'boolean' },
24
+ crossorigin: { type: 'string' },
25
+ defer: { type: 'boolean' },
26
+ fetchpriority: { type: 'string' },
27
+ integrity: { type: 'string' },
28
+ module: { type: 'boolean' },
29
+ nomodule: { type: 'boolean' },
30
+ nonce: { type: 'string' },
31
+ referrerpolicy: { type: 'string' },
32
+ type: { type: 'string' },
33
+ },
34
+ required: ['src'],
35
+ additionalProperties: true,
36
+ };
37
+ const linksConfigSchema = {
38
+ type: 'object',
39
+ properties: {
40
+ href: { type: 'string' },
41
+ as: { type: 'string' },
42
+ crossorigin: { type: 'string' },
43
+ fetchpriority: { type: 'string' },
44
+ hreflang: { type: 'string' },
45
+ imagesizes: { type: 'string' },
46
+ imagesrcset: { type: 'string' },
47
+ integrity: { type: 'string' },
48
+ media: { type: 'string' },
49
+ prefetch: { type: 'string' },
50
+ referrerpolicy: { type: 'string' },
51
+ rel: { type: 'string' },
52
+ sizes: { type: 'string' },
53
+ title: { type: 'string' },
54
+ type: { type: 'string' },
55
+ },
56
+ required: ['href'],
57
+ additionalProperties: true,
58
+ };
59
+ export const markdownConfigSchema = {
60
+ type: 'object',
61
+ properties: {
62
+ frontMatterKeysToResolve: {
63
+ type: 'array',
64
+ items: { type: 'string' },
65
+ default: ['image', 'links'],
66
+ },
67
+ partialsFolders: {
68
+ type: 'array',
69
+ items: { type: 'string' },
70
+ default: ['_partials'],
71
+ },
72
+ lastUpdatedBlock: {
73
+ type: 'object',
74
+ properties: Object.assign({ format: {
75
+ type: 'string',
76
+ enum: ['timeago', 'iso', 'long', 'short'],
77
+ default: 'timeago',
78
+ }, locale: { type: 'string' } }, hideConfigSchema.properties),
79
+ additionalProperties: false,
80
+ default: {},
81
+ },
82
+ toc: {
83
+ type: 'object',
84
+ properties: Object.assign({ header: { type: 'string', default: 'On this page' }, depth: { type: 'integer', default: 3, minimum: 1 } }, hideConfigSchema.properties),
85
+ additionalProperties: false,
86
+ default: {},
87
+ },
88
+ editPage: {
89
+ type: 'object',
90
+ properties: Object.assign({ baseUrl: { type: 'string' } }, hideConfigSchema.properties),
91
+ additionalProperties: false,
92
+ default: {},
93
+ },
94
+ },
95
+ additionalProperties: false,
96
+ default: {},
97
+ };
98
+ export const amplitudeAnalyticsConfigSchema = {
99
+ type: 'object',
100
+ properties: {
101
+ includeInDevelopment: { type: 'boolean' },
102
+ apiKey: { type: 'string' },
103
+ head: { type: 'boolean' },
104
+ respectDNT: { type: 'boolean' },
105
+ exclude: { type: 'array', items: { type: 'string' } },
106
+ outboundClickEventName: { type: 'string' },
107
+ pageViewEventName: { type: 'string' },
108
+ amplitudeConfig: { type: 'object', additionalProperties: true },
109
+ },
110
+ additionalProperties: false,
111
+ required: ['apiKey'],
112
+ };
113
+ export const fullstoryAnalyticsConfigSchema = {
114
+ type: 'object',
115
+ properties: {
116
+ includeInDevelopment: { type: 'boolean' },
117
+ orgId: { type: 'string' },
118
+ },
119
+ additionalProperties: false,
120
+ required: ['orgId'],
121
+ };
122
+ export const heapAnalyticsConfigSchema = {
123
+ type: 'object',
124
+ properties: {
125
+ includeInDevelopment: { type: 'boolean' },
126
+ appId: { type: 'string' },
127
+ },
128
+ additionalProperties: false,
129
+ required: ['appId'],
130
+ };
131
+ export const rudderstackAnalyticsConfigSchema = {
132
+ type: 'object',
133
+ properties: {
134
+ includeInDevelopment: { type: 'boolean' },
135
+ writeKey: { type: 'string', minLength: 10 },
136
+ trackPage: { type: 'boolean' },
137
+ dataPlaneUrl: { type: 'string' },
138
+ controlPlaneUrl: { type: 'string' },
139
+ sdkUrl: { type: 'string' },
140
+ loadOptions: { type: 'object', additionalProperties: true },
141
+ },
142
+ additionalProperties: false,
143
+ required: ['writeKey'],
144
+ };
145
+ export const segmentAnalyticsConfigSchema = {
146
+ type: 'object',
147
+ properties: {
148
+ includeInDevelopment: { type: 'boolean' },
149
+ writeKey: { type: 'string', minLength: 10 },
150
+ trackPage: { type: 'boolean' },
151
+ includeTitleInPageCall: { type: 'boolean' },
152
+ host: { type: 'string' },
153
+ },
154
+ additionalProperties: false,
155
+ required: ['writeKey'],
156
+ };
157
+ export const gtmAnalyticsConfigSchema = {
158
+ type: 'object',
159
+ properties: {
160
+ includeInDevelopment: { type: 'boolean' },
161
+ trackingId: { type: 'string' },
162
+ gtmAuth: { type: 'string' },
163
+ gtmPreview: { type: 'string' },
164
+ defaultDataLayer: {},
165
+ dataLayerName: { type: 'string' },
166
+ enableWebVitalsTracking: { type: 'boolean' },
167
+ selfHostedOrigin: { type: 'string' },
168
+ pageViewEventName: { type: 'string' },
169
+ },
170
+ additionalProperties: false,
171
+ required: ['trackingId'],
172
+ };
173
+ export const productGoogleAnalyticsConfigSchema = {
174
+ type: 'object',
175
+ properties: {
176
+ includeInDevelopment: { type: 'boolean' },
177
+ trackingId: { type: 'string' },
178
+ conversionId: { type: 'string' },
179
+ floodlightId: { type: 'string' },
180
+ optimizeId: { type: 'string' },
181
+ exclude: { type: 'array', items: { type: 'string' } },
182
+ },
183
+ additionalProperties: false,
184
+ required: ['trackingId'],
185
+ };
186
+ export const googleAnalyticsConfigSchema = {
187
+ type: 'object',
188
+ properties: {
189
+ includeInDevelopment: { type: 'boolean' },
190
+ trackingId: { type: 'string' },
191
+ conversionId: { type: 'string' },
192
+ floodlightId: { type: 'string' },
193
+ head: { type: 'boolean' },
194
+ respectDNT: { type: 'boolean' },
195
+ exclude: { type: 'array', items: { type: 'string' } },
196
+ optimizeId: { type: 'string' },
197
+ anonymizeIp: { type: 'boolean' },
198
+ cookieExpires: { type: 'number' },
199
+ // All enabled tracking configs
200
+ trackers: {
201
+ type: 'object',
202
+ additionalProperties: productGoogleAnalyticsConfigSchema,
203
+ },
204
+ },
205
+ additionalProperties: false,
206
+ required: ['trackingId'],
207
+ };
208
+ const adobeAnalyticsConfigSchema = {
209
+ type: 'object',
210
+ properties: {
211
+ includeInDevelopment: { type: 'boolean' },
212
+ scriptUrl: { type: 'string' },
213
+ pageViewEventName: { type: 'string' },
214
+ },
215
+ additionalProperties: false,
216
+ required: ['scriptUrl'],
217
+ };
218
+ const navItemSchema = {
219
+ type: 'object',
220
+ properties: {
221
+ page: { type: 'string' },
222
+ directory: { type: 'string' },
223
+ disconnect: { type: 'boolean', default: false },
224
+ group: { type: 'string' },
225
+ label: { type: 'string' },
226
+ href: { type: 'string' },
227
+ external: { type: 'boolean' },
228
+ labelTranslationKey: { type: 'string' },
229
+ groupTranslationKey: { type: 'string' },
230
+ icon: { type: 'string' },
231
+ separator: { type: 'string' },
232
+ separatorLine: { type: 'boolean' },
233
+ linePosition: {
234
+ type: 'string',
235
+ enum: ['top', 'bottom'],
236
+ default: 'top',
237
+ },
238
+ version: { type: 'string' },
239
+ menuStyle: { type: 'string', enum: ['drilldown'] },
240
+ expanded: { type: 'string', const: 'always' },
241
+ selectFirstItemOnExpand: { type: 'boolean' },
242
+ flatten: { type: 'boolean' },
243
+ linkedSidebars: {
244
+ type: 'array',
245
+ items: { type: 'string' },
246
+ },
247
+ // Allow users to eject the navbar and implement additional levels of nesting
248
+ items: { type: 'array', items: { type: 'object', additionalProperties: true } },
249
+ },
250
+ };
251
+ const navItemsSchema = {
252
+ type: 'array',
253
+ items: Object.assign(Object.assign({}, navItemSchema), { properties: Object.assign(Object.assign({}, navItemSchema.properties), { items: { type: 'array', items: navItemSchema } }) }),
254
+ };
255
+ export const productConfigSchema = {
256
+ type: 'object',
257
+ properties: {
258
+ name: { type: 'string' },
259
+ icon: { type: 'string' },
260
+ folder: { type: 'string' },
261
+ },
262
+ additionalProperties: false,
263
+ required: ['name', 'folder'],
264
+ };
265
+ const suggestedPageSchema = {
266
+ type: 'object',
267
+ properties: {
268
+ page: { type: 'string' },
269
+ label: { type: 'string' },
270
+ labelTranslationKey: { type: 'string' },
271
+ },
272
+ required: ['page'],
273
+ };
274
+ export const catalogFilterSchema = {
275
+ type: 'object',
276
+ additionalProperties: false,
277
+ required: ['title', 'property'],
278
+ properties: {
279
+ type: { type: 'string', enum: ['select', 'checkboxes', 'date-range'] },
280
+ title: { type: 'string' },
281
+ titleTranslationKey: { type: 'string' },
282
+ property: { type: 'string' },
283
+ parentFilter: { type: 'string' },
284
+ valuesMapping: { type: 'object', additionalProperties: { type: 'string' } },
285
+ missingCategoryName: { type: 'string' },
286
+ missingCategoryNameTranslationKey: { type: 'string' },
287
+ options: { type: 'array', items: { type: 'string' } },
288
+ },
289
+ };
290
+ export const scorecardConfigSchema = {
291
+ type: 'object',
292
+ additionalProperties: true,
293
+ required: [],
294
+ properties: {
295
+ ignoreNonCompliant: { type: 'boolean', default: false },
296
+ teamMetadataProperty: {
297
+ type: 'object',
298
+ properties: {
299
+ property: { type: 'string' },
300
+ label: { type: 'string' },
301
+ default: { type: 'string' },
302
+ },
303
+ },
304
+ levels: {
305
+ type: 'array',
306
+ items: {
307
+ type: 'object',
308
+ required: ['name'],
309
+ properties: {
310
+ name: { type: 'string' },
311
+ color: { type: 'string' },
312
+ extends: { type: 'array', items: { type: 'string' } },
313
+ rules: {
314
+ type: 'object',
315
+ additionalProperties: {
316
+ oneOf: [{ type: 'string' }, { type: 'object' }],
317
+ },
318
+ },
319
+ },
320
+ additionalProperties: false,
321
+ },
322
+ },
323
+ targets: {
324
+ type: 'array',
325
+ items: {
326
+ type: 'object',
327
+ required: ['where'],
328
+ properties: {
329
+ minimumLevel: { type: 'string' },
330
+ where: {
331
+ type: 'object',
332
+ required: ['metadata'],
333
+ properties: {
334
+ metadata: { type: 'object', additionalProperties: { type: 'string' } },
335
+ },
336
+ additionalProperties: false,
337
+ },
338
+ },
339
+ additionalProperties: false,
340
+ },
341
+ },
342
+ },
343
+ };
344
+ export const catalogSchema = {
345
+ type: 'object',
346
+ additionalProperties: true,
347
+ required: ['slug', 'items'],
348
+ properties: {
349
+ slug: { type: 'string' },
350
+ filters: { type: 'array', items: catalogFilterSchema },
351
+ groupByFirstFilter: { type: 'boolean' },
352
+ filterValuesCasing: {
353
+ type: 'string',
354
+ enum: ['sentence', 'original', 'lowercase', 'uppercase'],
355
+ },
356
+ items: navItemsSchema,
357
+ requiredPermission: { type: 'string' },
358
+ separateVersions: { type: 'boolean' },
359
+ title: { type: 'string' },
360
+ titleTranslationKey: { type: 'string' },
361
+ description: { type: 'string' },
362
+ descriptionTranslationKey: { type: 'string' },
363
+ },
364
+ };
365
+ const catalogsConfigSchema = {
366
+ type: 'object',
367
+ patternProperties: {
368
+ '.*': catalogSchema,
369
+ },
370
+ };
371
+ export const themeConfigSchema = {
372
+ type: 'object',
373
+ properties: {
374
+ imports: {
375
+ type: 'array',
376
+ items: { type: 'string' },
377
+ default: [],
378
+ },
379
+ logo: logoConfigSchema,
380
+ navbar: {
381
+ type: 'object',
382
+ properties: Object.assign({ items: navItemsSchema }, hideConfigSchema.properties),
383
+ additionalProperties: false,
384
+ },
385
+ products: {
386
+ type: 'object',
387
+ additionalProperties: productConfigSchema,
388
+ },
389
+ footer: {
390
+ type: 'object',
391
+ properties: Object.assign({ items: navItemsSchema, copyrightText: { type: 'string' }, logo: hideConfigSchema }, hideConfigSchema.properties),
392
+ additionalProperties: false,
393
+ },
394
+ sidebar: {
395
+ type: 'object',
396
+ properties: Object.assign({ separatorLine: { type: 'boolean' }, linePosition: {
397
+ type: 'string',
398
+ enum: ['top', 'bottom'],
399
+ default: 'bottom',
400
+ } }, hideConfigSchema.properties),
401
+ additionalProperties: false,
402
+ },
403
+ scripts: {
404
+ type: 'object',
405
+ properties: {
406
+ head: { type: 'array', items: scriptConfigSchema },
407
+ body: { type: 'array', items: scriptConfigSchema },
408
+ },
409
+ additionalProperties: false,
410
+ },
411
+ links: { type: 'array', items: linksConfigSchema },
412
+ feedback: {
413
+ type: 'object',
414
+ properties: {
415
+ hide: {
416
+ type: 'boolean',
417
+ default: false,
418
+ },
419
+ type: {
420
+ type: 'string',
421
+ enum: ['rating', 'sentiment', 'comment', 'reasons', 'mood', 'scale'],
422
+ default: 'sentiment',
423
+ },
424
+ settings: Object.assign({ type: 'object', properties: {
425
+ label: { type: 'string' },
426
+ submitText: { type: 'string' },
427
+ buttonText: { type: 'string' },
428
+ component: {
429
+ type: 'string',
430
+ enum: ['radio', 'checkbox'],
431
+ default: 'checkbox',
432
+ },
433
+ items: { type: 'array', items: { type: 'string' }, minItems: 1 },
434
+ leftScaleLabel: { type: 'string' },
435
+ rightScaleLabel: { type: 'string' },
436
+ reasons: {
437
+ type: 'object',
438
+ properties: {
439
+ hide: {
440
+ type: 'boolean',
441
+ default: false,
442
+ },
443
+ component: {
444
+ type: 'string',
445
+ enum: ['radio', 'checkbox'],
446
+ default: 'checkbox',
447
+ },
448
+ label: { type: 'string' },
449
+ items: { type: 'array', items: { type: 'string' } },
450
+ },
451
+ additionalProperties: false,
452
+ },
453
+ comment: {
454
+ type: 'object',
455
+ properties: {
456
+ hide: {
457
+ type: 'boolean',
458
+ default: false,
459
+ },
460
+ label: { type: 'string' },
461
+ likeLabel: { type: 'string' },
462
+ dislikeLabel: { type: 'string' },
463
+ satisfiedLabel: { type: 'string' },
464
+ neutralLabel: { type: 'string' },
465
+ dissatisfiedLabel: { type: 'string' },
466
+ },
467
+ additionalProperties: false,
468
+ },
469
+ }, additionalProperties: false }, hideConfigSchema.properties),
470
+ },
471
+ additionalProperties: false,
472
+ default: {},
473
+ },
474
+ search: {
475
+ type: 'object',
476
+ properties: Object.assign({ placement: {
477
+ type: 'string',
478
+ default: 'navbar',
479
+ }, shortcuts: {
480
+ type: 'array',
481
+ items: { type: 'string' },
482
+ default: ['/'],
483
+ }, suggestedPages: {
484
+ type: 'array',
485
+ items: suggestedPageSchema,
486
+ } }, hideConfigSchema.properties),
487
+ additionalProperties: false,
488
+ default: {},
489
+ },
490
+ colorMode: {
491
+ type: 'object',
492
+ properties: Object.assign({ ignoreDetection: { type: 'boolean' }, modes: {
493
+ type: 'array',
494
+ items: { type: 'string' },
495
+ default: ['light', 'dark'],
496
+ } }, hideConfigSchema.properties),
497
+ additionalProperties: false,
498
+ default: {},
499
+ },
500
+ navigation: {
501
+ type: 'object',
502
+ properties: {
503
+ nextButton: {
504
+ type: 'object',
505
+ properties: Object.assign({ text: { type: 'string', default: 'Next to {{label}}' } }, hideConfigSchema.properties),
506
+ additionalProperties: false,
507
+ default: {},
508
+ },
509
+ previousButton: {
510
+ type: 'object',
511
+ properties: Object.assign({ text: { type: 'string', default: 'Back to {{label}}' } }, hideConfigSchema.properties),
512
+ additionalProperties: false,
513
+ default: {},
514
+ },
515
+ },
516
+ additionalProperties: false,
517
+ default: {},
518
+ },
519
+ codeSnippet: {
520
+ type: 'object',
521
+ properties: {
522
+ elementFormat: { type: 'string', default: 'icon' },
523
+ copy: {
524
+ type: 'object',
525
+ properties: Object.assign({}, hideConfigSchema.properties),
526
+ additionalProperties: false,
527
+ default: { hide: false },
528
+ },
529
+ report: {
530
+ type: 'object',
531
+ properties: Object.assign({ tooltipText: { type: 'string' }, buttonText: { type: 'string' }, label: { type: 'string' } }, hideConfigSchema.properties),
532
+ additionalProperties: false,
533
+ default: { hide: false },
534
+ },
535
+ expand: {
536
+ type: 'object',
537
+ properties: Object.assign({}, hideConfigSchema.properties),
538
+ additionalProperties: false,
539
+ default: { hide: false },
540
+ },
541
+ collapse: {
542
+ type: 'object',
543
+ properties: Object.assign({}, hideConfigSchema.properties),
544
+ additionalProperties: false,
545
+ default: { hide: false },
546
+ },
547
+ },
548
+ additionalProperties: false,
549
+ default: {},
550
+ },
551
+ markdown: markdownConfigSchema,
552
+ openapi: { type: 'object', additionalProperties: true },
553
+ graphql: { type: 'object', additionalProperties: true },
554
+ analytics: {
555
+ type: 'object',
556
+ properties: {
557
+ adobe: adobeAnalyticsConfigSchema,
558
+ amplitude: amplitudeAnalyticsConfigSchema,
559
+ fullstory: fullstoryAnalyticsConfigSchema,
560
+ heap: heapAnalyticsConfigSchema,
561
+ rudderstack: rudderstackAnalyticsConfigSchema,
562
+ segment: segmentAnalyticsConfigSchema,
563
+ gtm: gtmAnalyticsConfigSchema,
564
+ ga: googleAnalyticsConfigSchema,
565
+ },
566
+ },
567
+ userProfile: {
568
+ type: 'object',
569
+ properties: Object.assign({ loginLabel: { type: 'string', default: 'Login' }, logoutLabel: { type: 'string', default: 'Logout' }, menu: {
570
+ type: 'array',
571
+ items: {
572
+ type: 'object',
573
+ properties: {
574
+ label: { type: 'string' },
575
+ external: { type: 'boolean' },
576
+ link: { type: 'string' },
577
+ separatorLine: { type: 'boolean' },
578
+ },
579
+ additionalProperties: true,
580
+ },
581
+ default: [],
582
+ } }, hideConfigSchema.properties),
583
+ additionalProperties: false,
584
+ default: {},
585
+ },
586
+ versionPicker: {
587
+ type: 'object',
588
+ properties: {
589
+ hide: { type: 'boolean' },
590
+ showForUnversioned: {
591
+ type: 'boolean',
592
+ },
593
+ },
594
+ },
595
+ breadcrumbs: {
596
+ type: 'object',
597
+ properties: {
598
+ hide: { type: 'boolean' },
599
+ prefixItems: {
600
+ type: 'array',
601
+ items: {
602
+ type: 'object',
603
+ properties: {
604
+ label: { type: 'string' },
605
+ labelTranslationKey: { type: 'string' },
606
+ page: { type: 'string' },
607
+ },
608
+ additionalProperties: false,
609
+ default: {},
610
+ },
611
+ },
612
+ },
613
+ additionalProperties: false,
614
+ default: {},
615
+ },
616
+ catalog: catalogsConfigSchema,
617
+ scorecard: scorecardConfigSchema,
618
+ },
619
+ additionalProperties: true,
620
+ default: {},
621
+ };
622
+ export const productThemeOverrideSchema = {
623
+ type: 'object',
624
+ properties: {
625
+ logo: themeConfigSchema.properties.logo,
626
+ navbar: themeConfigSchema.properties.navbar,
627
+ footer: themeConfigSchema.properties.footer,
628
+ sidebar: themeConfigSchema.properties.sidebar,
629
+ search: themeConfigSchema.properties.search,
630
+ codeSnippet: themeConfigSchema.properties.codeSnippet,
631
+ breadcrumbs: themeConfigSchema.properties.breadcrumbs,
632
+ analytics: {
633
+ type: 'object',
634
+ properties: {
635
+ ga: productGoogleAnalyticsConfigSchema,
636
+ },
637
+ },
638
+ },
639
+ additionalProperties: true,
640
+ default: {},
641
+ };
642
+ export const productConfigOverrideSchema = {
643
+ type: 'object',
644
+ properties: {
645
+ theme: productThemeOverrideSchema,
646
+ },
647
+ additionalProperties: false,
648
+ };
649
+ //# sourceMappingURL=default-theme-config-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-theme-config-schema.js","sourceRoot":"","sources":["../src/default-theme-config-schema.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC1B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,wBAAwB,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SAC5B;QACD,eAAe,EAAE;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,CAAC,WAAW,CAAC;SACvB;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;oBACzC,OAAO,EAAE,SAAS;iBACnB,EACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IACvB,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EACnD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAC/C,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IACxB,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;KACF;IACD,oBAAoB,EAAE,KAAK;IAC3B,OAAO,EAAE,EAAE;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrD,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1C,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;KAChE;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;KAC5D;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtC;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACtD;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEhC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAErD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEjC,+BAA+B;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,kCAAkC;SACzD;KACF;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;CAChB,CAAC;AAEX,MAAM,0BAA0B,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtC;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,WAAW,CAAC;CACf,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACvB,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7C,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,cAAc,EAAE;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,6EAA6E;QAC7E,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE;KAChF;CACO,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,OAAO;IACb,KAAK,kCACA,aAAa,KAChB,UAAU,kCACL,aAAa,CAAC,UAAU,KAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAEjD;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxC;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE;QACtE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC3E,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,iCAAiC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACtD;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACV,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACvD,oBAAoB,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBACrD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE;4BACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yBAChD;qBACF;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,UAAU,EAAE;oBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,UAAU,CAAC;wBACtB,UAAU,EAAE;4BACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACvE;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE;QACtD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,kBAAkB,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;SACzD;QACD,KAAK,EAAE,cAAc;QACrB,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC9C;CACO,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,iBAAiB,EAAE;QACjB,IAAI,EAAE,aAAa;KACpB;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,EAAE;SACZ;QACD,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,KAAK,EAAE,cAAc,IAClB,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,mBAAmB;SAC1C;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EACjC,IAAI,EAAE,gBAAgB,IACnB,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAClC,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;oBACvB,OAAO,EAAE,QAAQ;iBAClB,IACE,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAClD,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE;aACnD;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAClD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;oBACpE,OAAO,EAAE,WAAW;iBACrB;gBACD,QAAQ,kBACN,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;4BAC3B,OAAO,EAAE,UAAU;yBACpB;wBACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;wBAChE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACnC,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,KAAK;iCACf;gCACD,SAAS,EAAE;oCACT,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;oCAC3B,OAAO,EAAE,UAAU;iCACpB;gCACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BACpD;4BACD,oBAAoB,EAAE,KAAK;yBAC5B;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,KAAK;iCACf;gCACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC7B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAClC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAChC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BACtC;4BACD,oBAAoB,EAAE,KAAK;yBAC5B;qBACF,EACD,oBAAoB,EAAE,KAAK,IACxB,gBAAgB,CAAC,UAAU,CAC/B;aACF;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,QAAQ;iBAClB,EACD,SAAS,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,GAAG,CAAC;iBACf,EACD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,mBAAmB;iBAC3B,IACE,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EACpC,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBAC3B,IACE,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,kBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,IACnD,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,UAAU,kBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,IACnD,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,oBACL,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACzB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,kBACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IACtB,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACzB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,oBACL,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACzB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,UAAU,oBACL,gBAAgB,CAAC,UAAU,CAC/B;oBACD,oBAAoB,EAAE,KAAK;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACzB;aACF;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACvD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACvD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,8BAA8B;gBACzC,SAAS,EAAE,8BAA8B;gBACzC,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,gCAAgC;gBAC7C,OAAO,EAAE,4BAA4B;gBACrC,GAAG,EAAE,wBAAwB;gBAC7B,EAAE,EAAE,2BAA2B;aAChC;SACF;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,kBACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAChD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;yBACnC;wBACD,oBAAoB,EAAE,IAAI;qBAC3B;oBACD,OAAO,EAAE,EAAE;iBACZ,IACE,gBAAgB,CAAC,UAAU,CAC/B;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,kBAAkB,EAAE;oBAClB,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBACzB;wBACD,oBAAoB,EAAE,KAAK;wBAC3B,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF;YACD,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,EAAE;SACZ;QACD,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,qBAAqB;KACjC;IACD,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,EAAE;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,IAAI;QACvC,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM;QAC3C,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM;QAC3C,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,OAAO;QAC7C,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM;QAC3C,WAAW,EAAE,iBAAiB,CAAC,UAAU,CAAC,WAAW;QACrD,WAAW,EAAE,iBAAiB,CAAC,UAAU,CAAC,WAAW;QACrD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,kCAAkC;aACvC;SACF;KACF;IACD,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,EAAE;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,0BAA0B;KAClC;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC"}