@sigx/ssg 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +358 -0
  3. package/dist/build.d.ts +17 -0
  4. package/dist/build.d.ts.map +1 -0
  5. package/dist/build.js +309 -0
  6. package/dist/build.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +62 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/client.d.ts +28 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/client.js +38 -0
  14. package/dist/client.js.map +1 -0
  15. package/dist/config.d.ts +33 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/dev.d.ts +43 -0
  18. package/dist/dev.d.ts.map +1 -0
  19. package/dist/dev.js +71 -0
  20. package/dist/dev.js.map +1 -0
  21. package/dist/errors.d.ts +58 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/index.d.ts +14 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +58 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/layouts/index.d.ts +7 -0
  28. package/dist/layouts/index.d.ts.map +1 -0
  29. package/dist/layouts/resolver.d.ts +49 -0
  30. package/dist/layouts/resolver.d.ts.map +1 -0
  31. package/dist/layouts/virtual.d.ts +34 -0
  32. package/dist/layouts/virtual.d.ts.map +1 -0
  33. package/dist/mdx/frontmatter.d.ts +42 -0
  34. package/dist/mdx/frontmatter.d.ts.map +1 -0
  35. package/dist/mdx/index.d.ts +9 -0
  36. package/dist/mdx/index.d.ts.map +1 -0
  37. package/dist/mdx/plugin.d.ts +32 -0
  38. package/dist/mdx/plugin.d.ts.map +1 -0
  39. package/dist/mdx/rehype-headings.d.ts +39 -0
  40. package/dist/mdx/rehype-headings.d.ts.map +1 -0
  41. package/dist/mdx/shiki.d.ts +32 -0
  42. package/dist/mdx/shiki.d.ts.map +1 -0
  43. package/dist/plugin-DxH1VUGC.js +547 -0
  44. package/dist/plugin-DxH1VUGC.js.map +1 -0
  45. package/dist/routing/index.d.ts +12 -0
  46. package/dist/routing/index.d.ts.map +1 -0
  47. package/dist/routing/navigation.d.ts +44 -0
  48. package/dist/routing/navigation.d.ts.map +1 -0
  49. package/dist/routing/resolver.d.ts +66 -0
  50. package/dist/routing/resolver.d.ts.map +1 -0
  51. package/dist/routing/scanner.d.ts +60 -0
  52. package/dist/routing/scanner.d.ts.map +1 -0
  53. package/dist/routing/virtual-navigation.d.ts +39 -0
  54. package/dist/routing/virtual-navigation.d.ts.map +1 -0
  55. package/dist/routing/virtual.d.ts +28 -0
  56. package/dist/routing/virtual.d.ts.map +1 -0
  57. package/dist/sitemap.d.ts +55 -0
  58. package/dist/sitemap.d.ts.map +1 -0
  59. package/dist/types.d.ts +562 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/virtual-entries-Bz97SKQ0.js +1053 -0
  62. package/dist/virtual-entries-Bz97SKQ0.js.map +1 -0
  63. package/dist/vite/index.d.ts +6 -0
  64. package/dist/vite/index.d.ts.map +1 -0
  65. package/dist/vite/plugin.d.ts +35 -0
  66. package/dist/vite/plugin.d.ts.map +1 -0
  67. package/dist/vite/plugin.js +3 -0
  68. package/dist/vite/virtual-entries.d.ts +59 -0
  69. package/dist/vite/virtual-entries.d.ts.map +1 -0
  70. package/package.json +92 -0
@@ -0,0 +1,562 @@
1
+ /**
2
+ * @sigx/ssg - Static Site Generator for SignalX
3
+ *
4
+ * Core types and interfaces for the SSG system
5
+ */
6
+ import type { ComponentFactory } from 'sigx';
7
+ /**
8
+ * SSG Configuration options
9
+ */
10
+ export interface SSGConfig {
11
+ /**
12
+ * Directory containing page files (relative to project root)
13
+ * @default 'src/pages'
14
+ */
15
+ pages?: string;
16
+ /**
17
+ * Directory containing layout files (relative to project root)
18
+ * @default 'src/layouts'
19
+ */
20
+ layouts?: string;
21
+ /**
22
+ * Directory containing content files (relative to project root)
23
+ * @default 'src/content'
24
+ */
25
+ content?: string;
26
+ /**
27
+ * Theme package to use (e.g., '@sigx/ssg-theme-daisyui')
28
+ * Theme provides default layouts and components
29
+ */
30
+ theme?: string;
31
+ /**
32
+ * Default layout to use when page doesn't specify one
33
+ * @default 'default'
34
+ */
35
+ defaultLayout?: string;
36
+ /**
37
+ * Output directory for generated static files
38
+ * @default 'dist'
39
+ */
40
+ outDir?: string;
41
+ /**
42
+ * Base URL for the site (e.g., '/docs/')
43
+ * @default '/'
44
+ */
45
+ base?: string;
46
+ /**
47
+ * Site-wide metadata
48
+ */
49
+ site?: SiteConfig;
50
+ /**
51
+ * Markdown/MDX configuration
52
+ */
53
+ markdown?: MarkdownConfig;
54
+ /**
55
+ * Vite configuration overrides
56
+ */
57
+ vite?: Record<string, unknown>;
58
+ /**
59
+ * Whether to auto-generate entry points when not found
60
+ * @default true
61
+ */
62
+ autoEntries?: boolean;
63
+ /**
64
+ * Custom client entry path (overrides virtual entry detection)
65
+ * Relative to project root
66
+ */
67
+ clientEntry?: string;
68
+ /**
69
+ * Additional imports to add to the virtual client entry
70
+ * Useful for adding side-effect-only imports like '@sigx/live-code/client'
71
+ * @example ['@sigx/live-code/client', './my-global-setup']
72
+ */
73
+ clientImports?: string[];
74
+ /**
75
+ * Custom server entry path (overrides virtual entry detection)
76
+ * Relative to project root
77
+ */
78
+ serverEntry?: string;
79
+ /**
80
+ * HTML template path, or false to auto-generate
81
+ * Relative to project root
82
+ * @default 'index.html' if exists, otherwise auto-generated
83
+ */
84
+ htmlTemplate?: string | false;
85
+ /**
86
+ * Whether to auto-setup link prefetching
87
+ * @default true
88
+ */
89
+ prefetch?: boolean | {
90
+ delay?: number;
91
+ };
92
+ /**
93
+ * Collections configuration for multi-collection support.
94
+ * Each collection has its own path prefix and generates its own sidebar navigation.
95
+ * @example
96
+ * collections: {
97
+ * docs: { path: '/docs' },
98
+ * examples: { path: '/examples', layout: 'examples' }
99
+ * }
100
+ */
101
+ collections?: Record<string, CollectionConfig>;
102
+ /**
103
+ * Navigation configuration for auto-generated sidebars
104
+ */
105
+ navigation?: NavigationConfig;
106
+ /**
107
+ * Table of Contents (TOC) configuration
108
+ */
109
+ toc?: TOCConfig;
110
+ }
111
+ /**
112
+ * Table of Contents configuration
113
+ */
114
+ export interface TOCConfig {
115
+ /**
116
+ * Minimum heading level to include (1-6)
117
+ * @default 2
118
+ */
119
+ minLevel?: number;
120
+ /**
121
+ * Maximum heading level to include (1-6)
122
+ * @default 3
123
+ */
124
+ maxLevel?: number;
125
+ }
126
+ /**
127
+ * Heading extracted from page content
128
+ */
129
+ export interface TocHeading {
130
+ /** Heading ID (used for anchor links) */
131
+ id: string;
132
+ /** Heading text content */
133
+ text: string;
134
+ /** Heading level (1-6) */
135
+ level: number;
136
+ }
137
+ /**
138
+ * Collection configuration for multi-collection support
139
+ * Each collection generates its own sidebar navigation
140
+ */
141
+ export interface CollectionConfig {
142
+ /**
143
+ * URL path prefix for this collection (e.g., '/docs', '/examples')
144
+ * Pages under this path will be included in this collection's navigation.
145
+ */
146
+ path: string;
147
+ /**
148
+ * Default layout to use for pages in this collection
149
+ */
150
+ layout?: string;
151
+ /**
152
+ * Whether to show draft pages in the sidebar
153
+ * - 'dev': Show drafts only in development mode
154
+ * - 'never': Never show drafts in sidebar
155
+ * @default 'dev'
156
+ */
157
+ showDrafts?: 'dev' | 'never';
158
+ }
159
+ /**
160
+ * Navigation configuration options
161
+ */
162
+ export interface NavigationConfig {
163
+ /**
164
+ * Explicit sidebar navigation structure.
165
+ * If provided and autoGenerate is false, this will be used instead of auto-generation.
166
+ */
167
+ sidebar?: NavSection[];
168
+ /**
169
+ * Whether to auto-generate sidebar navigation from pages
170
+ * @default true
171
+ */
172
+ autoGenerate?: boolean;
173
+ /**
174
+ * Whether to show draft pages in the sidebar
175
+ * - 'dev': Show drafts only in development mode
176
+ * - 'never': Never show drafts in sidebar
177
+ * @default 'dev'
178
+ */
179
+ showDrafts?: 'dev' | 'never';
180
+ }
181
+ /**
182
+ * Navigation section (category group)
183
+ */
184
+ export interface NavSection {
185
+ /**
186
+ * Section title displayed in the sidebar
187
+ */
188
+ title: string;
189
+ /**
190
+ * Items in this section
191
+ */
192
+ items: NavItem[];
193
+ /**
194
+ * Sort order for this section (lower numbers come first)
195
+ * @default 0
196
+ */
197
+ order?: number;
198
+ }
199
+ /**
200
+ * Navigation item (page link or nested group)
201
+ */
202
+ export interface NavItem {
203
+ /**
204
+ * Display title for the navigation item
205
+ */
206
+ title: string;
207
+ /**
208
+ * URL path for the link (optional if this is a group)
209
+ */
210
+ href?: string;
211
+ /**
212
+ * Nested items for sub-navigation
213
+ */
214
+ items?: NavItem[];
215
+ /**
216
+ * Sort order within parent (lower numbers come first)
217
+ * @default 0
218
+ */
219
+ order?: number;
220
+ }
221
+ /**
222
+ * Site-wide configuration
223
+ */
224
+ export interface SiteConfig {
225
+ /** Site title */
226
+ title?: string;
227
+ /** Site description for meta tags */
228
+ description?: string;
229
+ /** Site author */
230
+ author?: string;
231
+ /** Base URL of the site (used for canonical URLs and OG tags) */
232
+ url?: string;
233
+ /** Site language code */
234
+ lang?: string;
235
+ /** Path to favicon */
236
+ favicon?: string;
237
+ /** Open Graph image URL for social sharing */
238
+ ogImage?: string;
239
+ /** Twitter/X handle (without @) */
240
+ twitter?: string;
241
+ /** Google Fonts to preload (e.g., ['Inter:wght@400;500;600;700', 'JetBrains+Mono:wght@400;500']) */
242
+ fonts?: string[];
243
+ /** Theme color for mobile browsers */
244
+ themeColor?: string;
245
+ }
246
+ /**
247
+ * Markdown processing configuration
248
+ */
249
+ export interface MarkdownConfig {
250
+ /**
251
+ * Enable syntax highlighting with Shiki
252
+ * @default true
253
+ */
254
+ shiki?: boolean | ShikiConfig;
255
+ /**
256
+ * Custom remark plugins
257
+ */
258
+ remarkPlugins?: unknown[];
259
+ /**
260
+ * Custom rehype plugins
261
+ */
262
+ rehypePlugins?: unknown[];
263
+ }
264
+ /**
265
+ * Shiki syntax highlighting configuration
266
+ */
267
+ export interface ShikiConfig {
268
+ /**
269
+ * Theme for light mode
270
+ * @default 'github-light'
271
+ */
272
+ light?: string;
273
+ /**
274
+ * Theme for dark mode
275
+ * @default 'github-dark'
276
+ */
277
+ dark?: string;
278
+ /**
279
+ * Additional languages to load
280
+ */
281
+ langs?: string[];
282
+ }
283
+ /**
284
+ * Route record for SSG
285
+ */
286
+ export interface SSGRoute {
287
+ /**
288
+ * URL path pattern (e.g., '/blog/:slug')
289
+ */
290
+ path: string;
291
+ /**
292
+ * Absolute file path to the page component
293
+ */
294
+ file: string;
295
+ /**
296
+ * Route name derived from file path
297
+ */
298
+ name: string;
299
+ /**
300
+ * Layout to use for this route
301
+ */
302
+ layout?: string;
303
+ /**
304
+ * Page component factory
305
+ */
306
+ component?: ComponentFactory<any, any, any>;
307
+ /**
308
+ * Frontmatter metadata from the page
309
+ */
310
+ meta?: PageMeta;
311
+ /**
312
+ * Child routes for nested layouts
313
+ */
314
+ children?: SSGRoute[];
315
+ }
316
+ /**
317
+ * Resolved static path for dynamic routes
318
+ */
319
+ export interface StaticPath {
320
+ /**
321
+ * Route parameters
322
+ */
323
+ params: Record<string, string>;
324
+ /**
325
+ * Optional props to pass to the page
326
+ */
327
+ props?: Record<string, unknown>;
328
+ }
329
+ /**
330
+ * Function to generate static paths for dynamic routes
331
+ */
332
+ export type GetStaticPaths = () => StaticPath[] | Promise<StaticPath[]>;
333
+ /**
334
+ * Page frontmatter metadata
335
+ */
336
+ export interface PageMeta {
337
+ /**
338
+ * Page title
339
+ */
340
+ title?: string;
341
+ /**
342
+ * Page description
343
+ */
344
+ description?: string;
345
+ /**
346
+ * Layout to use
347
+ */
348
+ layout?: string;
349
+ /**
350
+ * Draft pages are excluded from production builds
351
+ */
352
+ draft?: boolean;
353
+ /**
354
+ * Custom date for sorting
355
+ */
356
+ date?: string | Date;
357
+ /**
358
+ * Tags for categorization
359
+ */
360
+ tags?: string[];
361
+ /**
362
+ * Exclude from SSG (render as SPA page)
363
+ */
364
+ ssr?: boolean;
365
+ /**
366
+ * Category for sidebar navigation grouping.
367
+ * Can be a string for single-level grouping or an array for nested categories.
368
+ * @example 'Getting Started'
369
+ * @example ['Core', 'Signals']
370
+ */
371
+ category?: string | string[];
372
+ /**
373
+ * Sort order within the category (lower numbers come first)
374
+ * @default 0
375
+ */
376
+ order?: number;
377
+ /**
378
+ * Whether to include this page in the sidebar navigation
379
+ * @default true
380
+ */
381
+ sidebar?: boolean;
382
+ /**
383
+ * Disable table of contents for this page
384
+ * @default false
385
+ */
386
+ toc?: boolean | {
387
+ minLevel?: number;
388
+ maxLevel?: number;
389
+ };
390
+ /**
391
+ * Extracted headings for table of contents (auto-generated at build time)
392
+ */
393
+ headings?: TocHeading[];
394
+ /**
395
+ * Additional custom metadata
396
+ */
397
+ [key: string]: unknown;
398
+ }
399
+ /**
400
+ * Page module exports
401
+ */
402
+ export interface PageModule {
403
+ /**
404
+ * Default export is the page component
405
+ */
406
+ default: ComponentFactory<any, any, any>;
407
+ /**
408
+ * Optional static paths for dynamic routes
409
+ */
410
+ getStaticPaths?: GetStaticPaths;
411
+ /**
412
+ * Optional layout override
413
+ */
414
+ layout?: string;
415
+ /**
416
+ * Frontmatter from MDX files
417
+ */
418
+ frontmatter?: PageMeta;
419
+ }
420
+ /**
421
+ * Layout module exports
422
+ */
423
+ export interface LayoutModule {
424
+ /**
425
+ * Default export is the layout component
426
+ */
427
+ default: ComponentFactory<LayoutProps, unknown, LayoutSlots>;
428
+ }
429
+ /**
430
+ * Props passed to layout components
431
+ */
432
+ export interface LayoutProps {
433
+ /**
434
+ * Current page metadata
435
+ */
436
+ meta?: PageMeta;
437
+ /**
438
+ * Current route path
439
+ */
440
+ path?: string;
441
+ }
442
+ /**
443
+ * Slots available in layouts
444
+ */
445
+ export interface LayoutSlots {
446
+ /**
447
+ * Default slot contains the page content
448
+ */
449
+ default: () => unknown;
450
+ }
451
+ /**
452
+ * Theme package exports
453
+ */
454
+ export interface ThemeModule {
455
+ /**
456
+ * Theme layouts (key is layout name)
457
+ */
458
+ layouts?: Record<string, ComponentFactory<LayoutProps, unknown, LayoutSlots>>;
459
+ /**
460
+ * Theme components available globally
461
+ */
462
+ components?: Record<string, ComponentFactory<any, any, any>>;
463
+ /**
464
+ * Theme configuration
465
+ */
466
+ config?: ThemeConfig;
467
+ }
468
+ /**
469
+ * Theme configuration options
470
+ */
471
+ export interface ThemeConfig {
472
+ /**
473
+ * Default layout from this theme
474
+ */
475
+ defaultLayout?: string;
476
+ /**
477
+ * CSS files to include
478
+ */
479
+ css?: string[];
480
+ }
481
+ /**
482
+ * Build options passed to ssg build command
483
+ */
484
+ export interface BuildOptions {
485
+ /**
486
+ * Path to ssg.config.ts
487
+ */
488
+ configPath?: string;
489
+ /**
490
+ * Enable verbose logging
491
+ */
492
+ verbose?: boolean;
493
+ /**
494
+ * Number of pages to render in parallel
495
+ * @default 10
496
+ */
497
+ concurrency?: number;
498
+ }
499
+ /**
500
+ * Build result for a single page
501
+ */
502
+ export interface PageBuildResult {
503
+ /**
504
+ * URL path
505
+ */
506
+ path: string;
507
+ /**
508
+ * Output file path
509
+ */
510
+ file: string;
511
+ /**
512
+ * Generation time in ms
513
+ */
514
+ time: number;
515
+ /**
516
+ * HTML size in bytes
517
+ */
518
+ size: number;
519
+ }
520
+ /**
521
+ * Complete build result
522
+ */
523
+ export interface BuildResult {
524
+ /**
525
+ * All generated pages
526
+ */
527
+ pages: PageBuildResult[];
528
+ /**
529
+ * Total build time in ms
530
+ */
531
+ totalTime: number;
532
+ /**
533
+ * Any warnings during build
534
+ */
535
+ warnings: string[];
536
+ }
537
+ /**
538
+ * SSG context available in pages
539
+ */
540
+ export interface SSGContext {
541
+ /**
542
+ * Site configuration
543
+ */
544
+ site: SiteConfig;
545
+ /**
546
+ * Current page metadata
547
+ */
548
+ page: PageMeta;
549
+ /**
550
+ * Current route parameters
551
+ */
552
+ params: Record<string, string>;
553
+ /**
554
+ * Check if running in dev mode
555
+ */
556
+ isDev: boolean;
557
+ /**
558
+ * Base URL
559
+ */
560
+ base: string;
561
+ }
562
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAM7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAMxC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE/C;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACjB;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAChC;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAE9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE5C;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAMd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IAExB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEzC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7D;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,KAAK,EAAE,eAAe,EAAE,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB"}