midnight-mcp 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/dist/db/index.d.ts +3 -0
  4. package/dist/db/index.d.ts.map +1 -0
  5. package/dist/db/index.js +2 -0
  6. package/dist/db/index.js.map +1 -0
  7. package/dist/db/vectorStore.d.ts +66 -0
  8. package/dist/db/vectorStore.d.ts.map +1 -0
  9. package/dist/db/vectorStore.js +196 -0
  10. package/dist/db/vectorStore.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +17 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/pipeline/embeddings.d.ts +25 -0
  16. package/dist/pipeline/embeddings.d.ts.map +1 -0
  17. package/dist/pipeline/embeddings.js +103 -0
  18. package/dist/pipeline/embeddings.js.map +1 -0
  19. package/dist/pipeline/github.d.ts +67 -0
  20. package/dist/pipeline/github.d.ts.map +1 -0
  21. package/dist/pipeline/github.js +287 -0
  22. package/dist/pipeline/github.js.map +1 -0
  23. package/dist/pipeline/index.d.ts +11 -0
  24. package/dist/pipeline/index.d.ts.map +1 -0
  25. package/dist/pipeline/index.js +6 -0
  26. package/dist/pipeline/index.js.map +1 -0
  27. package/dist/pipeline/indexer.d.ts +38 -0
  28. package/dist/pipeline/indexer.d.ts.map +1 -0
  29. package/dist/pipeline/indexer.js +222 -0
  30. package/dist/pipeline/indexer.js.map +1 -0
  31. package/dist/pipeline/parser.d.ts +46 -0
  32. package/dist/pipeline/parser.d.ts.map +1 -0
  33. package/dist/pipeline/parser.js +436 -0
  34. package/dist/pipeline/parser.js.map +1 -0
  35. package/dist/pipeline/releases.d.ts +112 -0
  36. package/dist/pipeline/releases.d.ts.map +1 -0
  37. package/dist/pipeline/releases.js +298 -0
  38. package/dist/pipeline/releases.js.map +1 -0
  39. package/dist/pipeline/repository.d.ts +372 -0
  40. package/dist/pipeline/repository.d.ts.map +1 -0
  41. package/dist/pipeline/repository.js +517 -0
  42. package/dist/pipeline/repository.js.map +1 -0
  43. package/dist/prompts/index.d.ts +3 -0
  44. package/dist/prompts/index.d.ts.map +1 -0
  45. package/dist/prompts/index.js +2 -0
  46. package/dist/prompts/index.js.map +1 -0
  47. package/dist/prompts/templates.d.ts +26 -0
  48. package/dist/prompts/templates.d.ts.map +1 -0
  49. package/dist/prompts/templates.js +353 -0
  50. package/dist/prompts/templates.js.map +1 -0
  51. package/dist/resources/code.d.ts +16 -0
  52. package/dist/resources/code.d.ts.map +1 -0
  53. package/dist/resources/code.js +630 -0
  54. package/dist/resources/code.js.map +1 -0
  55. package/dist/resources/docs.d.ts +16 -0
  56. package/dist/resources/docs.d.ts.map +1 -0
  57. package/dist/resources/docs.js +989 -0
  58. package/dist/resources/docs.js.map +1 -0
  59. package/dist/resources/index.d.ts +6 -0
  60. package/dist/resources/index.d.ts.map +1 -0
  61. package/dist/resources/index.js +13 -0
  62. package/dist/resources/index.js.map +1 -0
  63. package/dist/resources/schemas.d.ts +16 -0
  64. package/dist/resources/schemas.d.ts.map +1 -0
  65. package/dist/resources/schemas.js +407 -0
  66. package/dist/resources/schemas.js.map +1 -0
  67. package/dist/scripts/index-repos.d.ts +12 -0
  68. package/dist/scripts/index-repos.d.ts.map +1 -0
  69. package/dist/scripts/index-repos.js +53 -0
  70. package/dist/scripts/index-repos.js.map +1 -0
  71. package/dist/server.d.ts +14 -0
  72. package/dist/server.d.ts.map +1 -0
  73. package/dist/server.js +231 -0
  74. package/dist/server.js.map +1 -0
  75. package/dist/tools/analyze.d.ts +140 -0
  76. package/dist/tools/analyze.d.ts.map +1 -0
  77. package/dist/tools/analyze.js +270 -0
  78. package/dist/tools/analyze.js.map +1 -0
  79. package/dist/tools/index.d.ts +392 -0
  80. package/dist/tools/index.d.ts.map +1 -0
  81. package/dist/tools/index.js +9 -0
  82. package/dist/tools/index.js.map +1 -0
  83. package/dist/tools/repository.d.ts +537 -0
  84. package/dist/tools/repository.d.ts.map +1 -0
  85. package/dist/tools/repository.js +654 -0
  86. package/dist/tools/repository.js.map +1 -0
  87. package/dist/tools/search.d.ts +204 -0
  88. package/dist/tools/search.d.ts.map +1 -0
  89. package/dist/tools/search.js +210 -0
  90. package/dist/tools/search.js.map +1 -0
  91. package/dist/utils/config.d.ts +66 -0
  92. package/dist/utils/config.d.ts.map +1 -0
  93. package/dist/utils/config.js +161 -0
  94. package/dist/utils/config.js.map +1 -0
  95. package/dist/utils/index.d.ts +5 -0
  96. package/dist/utils/index.d.ts.map +1 -0
  97. package/dist/utils/index.js +4 -0
  98. package/dist/utils/index.js.map +1 -0
  99. package/dist/utils/logger.d.ts +14 -0
  100. package/dist/utils/logger.d.ts.map +1 -0
  101. package/dist/utils/logger.js +43 -0
  102. package/dist/utils/logger.js.map +1 -0
  103. package/package.json +64 -0
@@ -0,0 +1,537 @@
1
+ import { z } from "zod";
2
+ export declare const GetFileInputSchema: z.ZodObject<{
3
+ repo: z.ZodString;
4
+ path: z.ZodString;
5
+ ref: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ path: string;
8
+ repo: string;
9
+ ref?: string | undefined;
10
+ }, {
11
+ path: string;
12
+ repo: string;
13
+ ref?: string | undefined;
14
+ }>;
15
+ export declare const ListExamplesInputSchema: z.ZodObject<{
16
+ category: z.ZodDefault<z.ZodOptional<z.ZodEnum<["counter", "bboard", "token", "voting", "all"]>>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ category: "all" | "counter" | "bboard" | "token" | "voting";
19
+ }, {
20
+ category?: "all" | "counter" | "bboard" | "token" | "voting" | undefined;
21
+ }>;
22
+ export declare const GetLatestUpdatesInputSchema: z.ZodObject<{
23
+ since: z.ZodOptional<z.ZodString>;
24
+ repos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ repos?: string[] | undefined;
27
+ since?: string | undefined;
28
+ }, {
29
+ repos?: string[] | undefined;
30
+ since?: string | undefined;
31
+ }>;
32
+ export declare const GetVersionInfoInputSchema: z.ZodObject<{
33
+ repo: z.ZodString;
34
+ }, "strip", z.ZodTypeAny, {
35
+ repo: string;
36
+ }, {
37
+ repo: string;
38
+ }>;
39
+ export declare const CheckBreakingChangesInputSchema: z.ZodObject<{
40
+ repo: z.ZodString;
41
+ currentVersion: z.ZodString;
42
+ }, "strip", z.ZodTypeAny, {
43
+ repo: string;
44
+ currentVersion: string;
45
+ }, {
46
+ repo: string;
47
+ currentVersion: string;
48
+ }>;
49
+ export declare const GetMigrationGuideInputSchema: z.ZodObject<{
50
+ repo: z.ZodString;
51
+ fromVersion: z.ZodString;
52
+ toVersion: z.ZodOptional<z.ZodString>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ repo: string;
55
+ fromVersion: string;
56
+ toVersion?: string | undefined;
57
+ }, {
58
+ repo: string;
59
+ fromVersion: string;
60
+ toVersion?: string | undefined;
61
+ }>;
62
+ export declare const GetFileAtVersionInputSchema: z.ZodObject<{
63
+ repo: z.ZodString;
64
+ path: z.ZodString;
65
+ version: z.ZodString;
66
+ }, "strip", z.ZodTypeAny, {
67
+ path: string;
68
+ repo: string;
69
+ version: string;
70
+ }, {
71
+ path: string;
72
+ repo: string;
73
+ version: string;
74
+ }>;
75
+ export declare const CompareSyntaxInputSchema: z.ZodObject<{
76
+ repo: z.ZodString;
77
+ path: z.ZodString;
78
+ oldVersion: z.ZodString;
79
+ newVersion: z.ZodOptional<z.ZodString>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ path: string;
82
+ repo: string;
83
+ oldVersion: string;
84
+ newVersion?: string | undefined;
85
+ }, {
86
+ path: string;
87
+ repo: string;
88
+ oldVersion: string;
89
+ newVersion?: string | undefined;
90
+ }>;
91
+ export declare const GetLatestSyntaxInputSchema: z.ZodObject<{
92
+ repo: z.ZodDefault<z.ZodString>;
93
+ }, "strip", z.ZodTypeAny, {
94
+ repo: string;
95
+ }, {
96
+ repo?: string | undefined;
97
+ }>;
98
+ export type GetFileInput = z.infer<typeof GetFileInputSchema>;
99
+ export type ListExamplesInput = z.infer<typeof ListExamplesInputSchema>;
100
+ export type GetLatestUpdatesInput = z.infer<typeof GetLatestUpdatesInputSchema>;
101
+ export type GetVersionInfoInput = z.infer<typeof GetVersionInfoInputSchema>;
102
+ export type CheckBreakingChangesInput = z.infer<typeof CheckBreakingChangesInputSchema>;
103
+ export type GetMigrationGuideInput = z.infer<typeof GetMigrationGuideInputSchema>;
104
+ export type GetFileAtVersionInput = z.infer<typeof GetFileAtVersionInputSchema>;
105
+ export type CompareSyntaxInput = z.infer<typeof CompareSyntaxInputSchema>;
106
+ export type GetLatestSyntaxInput = z.infer<typeof GetLatestSyntaxInputSchema>;
107
+ /**
108
+ * Retrieve a specific file from Midnight repositories
109
+ */
110
+ export declare function getFile(input: GetFileInput): Promise<{
111
+ error: string;
112
+ suggestion: string;
113
+ repository?: undefined;
114
+ content?: undefined;
115
+ path?: undefined;
116
+ sha?: undefined;
117
+ size?: undefined;
118
+ url?: undefined;
119
+ } | {
120
+ error: string;
121
+ repository: string;
122
+ suggestion: string;
123
+ content?: undefined;
124
+ path?: undefined;
125
+ sha?: undefined;
126
+ size?: undefined;
127
+ url?: undefined;
128
+ } | {
129
+ content: string;
130
+ path: string;
131
+ repository: string;
132
+ sha: string;
133
+ size: number;
134
+ url: string;
135
+ error?: undefined;
136
+ suggestion?: undefined;
137
+ }>;
138
+ /**
139
+ * List available example contracts and DApps
140
+ */
141
+ export declare function listExamples(input: ListExamplesInput): Promise<{
142
+ examples: {
143
+ name: string;
144
+ repository: string;
145
+ description: string;
146
+ complexity: "beginner" | "intermediate" | "advanced";
147
+ mainFile: string;
148
+ features: string[];
149
+ githubUrl: string;
150
+ }[];
151
+ totalCount: number;
152
+ categories: string[];
153
+ }>;
154
+ /**
155
+ * Retrieve recent changes across Midnight repositories
156
+ */
157
+ export declare function getLatestUpdates(input: GetLatestUpdatesInput): Promise<{
158
+ summary: {
159
+ since: string;
160
+ totalCommits: number;
161
+ activeRepositories: number;
162
+ checkedRepositories: number;
163
+ };
164
+ updates: {
165
+ repository: string;
166
+ commitCount: number;
167
+ latestCommit: {
168
+ message: string;
169
+ date: string;
170
+ author: string;
171
+ url: string;
172
+ } | null;
173
+ recentCommits: {
174
+ message: string;
175
+ date: string;
176
+ sha: string;
177
+ }[];
178
+ }[];
179
+ }>;
180
+ /**
181
+ * Get version and release info for a repository
182
+ */
183
+ export declare function getVersionInfo(input: GetVersionInfoInput): Promise<{
184
+ repository: string;
185
+ latestVersion: string;
186
+ latestStableVersion: string;
187
+ publishedAt: string | null;
188
+ releaseNotes: string | null;
189
+ recentReleases: {
190
+ version: string;
191
+ date: string;
192
+ isPrerelease: boolean;
193
+ url: string;
194
+ }[];
195
+ recentBreakingChanges: string[];
196
+ versionContext: string;
197
+ }>;
198
+ /**
199
+ * Check for breaking changes since a specific version
200
+ */
201
+ export declare function checkBreakingChanges(input: CheckBreakingChangesInput): Promise<{
202
+ repository: string;
203
+ currentVersion: string;
204
+ latestVersion: string | null;
205
+ isOutdated: boolean;
206
+ versionsBehind: number;
207
+ hasBreakingChanges: boolean;
208
+ breakingChanges: string[];
209
+ recommendation: string;
210
+ }>;
211
+ /**
212
+ * Get migration guide between versions
213
+ */
214
+ export declare function getMigrationGuide(input: GetMigrationGuideInput): Promise<{
215
+ repository: string;
216
+ from: string;
217
+ to: string;
218
+ summary: {
219
+ breakingChangesCount: number;
220
+ deprecationsCount: number;
221
+ newFeaturesCount: number;
222
+ };
223
+ breakingChanges: string[];
224
+ deprecations: string[];
225
+ newFeatures: string[];
226
+ migrationSteps: string[];
227
+ migrationDifficulty: string;
228
+ }>;
229
+ /**
230
+ * Get a file at a specific version - critical for version-accurate recommendations
231
+ */
232
+ export declare function getFileAtVersion(input: GetFileAtVersionInput): Promise<{
233
+ repository: string;
234
+ path: string;
235
+ version: string;
236
+ content: string;
237
+ note: string;
238
+ }>;
239
+ /**
240
+ * Compare syntax between two versions - shows what changed
241
+ */
242
+ export declare function compareSyntax(input: CompareSyntaxInput): Promise<{
243
+ repository: string;
244
+ path: string;
245
+ oldVersion: string;
246
+ newVersion: string;
247
+ hasDifferences: boolean;
248
+ oldContent: string | null;
249
+ newContent: string | null;
250
+ recommendation: string;
251
+ }>;
252
+ /**
253
+ * Get the latest syntax reference for Compact language
254
+ * This is the source of truth for writing valid, compilable contracts
255
+ */
256
+ export declare function getLatestSyntax(input: GetLatestSyntaxInput): Promise<{
257
+ repository: string;
258
+ version: string;
259
+ warning: string;
260
+ syntaxFiles: never[];
261
+ examplePaths: string[];
262
+ note?: undefined;
263
+ } | {
264
+ repository: string;
265
+ version: string;
266
+ syntaxFiles: {
267
+ path: string;
268
+ content: string;
269
+ }[];
270
+ note: string;
271
+ warning?: undefined;
272
+ examplePaths?: undefined;
273
+ }>;
274
+ export declare const repositoryTools: ({
275
+ name: string;
276
+ description: string;
277
+ inputSchema: {
278
+ type: "object";
279
+ properties: {
280
+ repo: {
281
+ type: string;
282
+ description: string;
283
+ };
284
+ path: {
285
+ type: string;
286
+ description: string;
287
+ };
288
+ ref: {
289
+ type: string;
290
+ description: string;
291
+ };
292
+ category?: undefined;
293
+ since?: undefined;
294
+ repos?: undefined;
295
+ currentVersion?: undefined;
296
+ fromVersion?: undefined;
297
+ toVersion?: undefined;
298
+ version?: undefined;
299
+ oldVersion?: undefined;
300
+ newVersion?: undefined;
301
+ };
302
+ required: string[];
303
+ };
304
+ handler: typeof getFile;
305
+ } | {
306
+ name: string;
307
+ description: string;
308
+ inputSchema: {
309
+ type: "object";
310
+ properties: {
311
+ category: {
312
+ type: string;
313
+ enum: string[];
314
+ description: string;
315
+ };
316
+ repo?: undefined;
317
+ path?: undefined;
318
+ ref?: undefined;
319
+ since?: undefined;
320
+ repos?: undefined;
321
+ currentVersion?: undefined;
322
+ fromVersion?: undefined;
323
+ toVersion?: undefined;
324
+ version?: undefined;
325
+ oldVersion?: undefined;
326
+ newVersion?: undefined;
327
+ };
328
+ required: never[];
329
+ };
330
+ handler: typeof listExamples;
331
+ } | {
332
+ name: string;
333
+ description: string;
334
+ inputSchema: {
335
+ type: "object";
336
+ properties: {
337
+ since: {
338
+ type: string;
339
+ description: string;
340
+ };
341
+ repos: {
342
+ type: string;
343
+ items: {
344
+ type: string;
345
+ };
346
+ description: string;
347
+ };
348
+ repo?: undefined;
349
+ path?: undefined;
350
+ ref?: undefined;
351
+ category?: undefined;
352
+ currentVersion?: undefined;
353
+ fromVersion?: undefined;
354
+ toVersion?: undefined;
355
+ version?: undefined;
356
+ oldVersion?: undefined;
357
+ newVersion?: undefined;
358
+ };
359
+ required: never[];
360
+ };
361
+ handler: typeof getLatestUpdates;
362
+ } | {
363
+ name: string;
364
+ description: string;
365
+ inputSchema: {
366
+ type: "object";
367
+ properties: {
368
+ repo: {
369
+ type: string;
370
+ description: string;
371
+ };
372
+ path?: undefined;
373
+ ref?: undefined;
374
+ category?: undefined;
375
+ since?: undefined;
376
+ repos?: undefined;
377
+ currentVersion?: undefined;
378
+ fromVersion?: undefined;
379
+ toVersion?: undefined;
380
+ version?: undefined;
381
+ oldVersion?: undefined;
382
+ newVersion?: undefined;
383
+ };
384
+ required: string[];
385
+ };
386
+ handler: typeof getVersionInfo;
387
+ } | {
388
+ name: string;
389
+ description: string;
390
+ inputSchema: {
391
+ type: "object";
392
+ properties: {
393
+ repo: {
394
+ type: string;
395
+ description: string;
396
+ };
397
+ currentVersion: {
398
+ type: string;
399
+ description: string;
400
+ };
401
+ path?: undefined;
402
+ ref?: undefined;
403
+ category?: undefined;
404
+ since?: undefined;
405
+ repos?: undefined;
406
+ fromVersion?: undefined;
407
+ toVersion?: undefined;
408
+ version?: undefined;
409
+ oldVersion?: undefined;
410
+ newVersion?: undefined;
411
+ };
412
+ required: string[];
413
+ };
414
+ handler: typeof checkBreakingChanges;
415
+ } | {
416
+ name: string;
417
+ description: string;
418
+ inputSchema: {
419
+ type: "object";
420
+ properties: {
421
+ repo: {
422
+ type: string;
423
+ description: string;
424
+ };
425
+ fromVersion: {
426
+ type: string;
427
+ description: string;
428
+ };
429
+ toVersion: {
430
+ type: string;
431
+ description: string;
432
+ };
433
+ path?: undefined;
434
+ ref?: undefined;
435
+ category?: undefined;
436
+ since?: undefined;
437
+ repos?: undefined;
438
+ currentVersion?: undefined;
439
+ version?: undefined;
440
+ oldVersion?: undefined;
441
+ newVersion?: undefined;
442
+ };
443
+ required: string[];
444
+ };
445
+ handler: typeof getMigrationGuide;
446
+ } | {
447
+ name: string;
448
+ description: string;
449
+ inputSchema: {
450
+ type: "object";
451
+ properties: {
452
+ repo: {
453
+ type: string;
454
+ description: string;
455
+ };
456
+ path: {
457
+ type: string;
458
+ description: string;
459
+ };
460
+ version: {
461
+ type: string;
462
+ description: string;
463
+ };
464
+ ref?: undefined;
465
+ category?: undefined;
466
+ since?: undefined;
467
+ repos?: undefined;
468
+ currentVersion?: undefined;
469
+ fromVersion?: undefined;
470
+ toVersion?: undefined;
471
+ oldVersion?: undefined;
472
+ newVersion?: undefined;
473
+ };
474
+ required: string[];
475
+ };
476
+ handler: typeof getFileAtVersion;
477
+ } | {
478
+ name: string;
479
+ description: string;
480
+ inputSchema: {
481
+ type: "object";
482
+ properties: {
483
+ repo: {
484
+ type: string;
485
+ description: string;
486
+ };
487
+ path: {
488
+ type: string;
489
+ description: string;
490
+ };
491
+ oldVersion: {
492
+ type: string;
493
+ description: string;
494
+ };
495
+ newVersion: {
496
+ type: string;
497
+ description: string;
498
+ };
499
+ ref?: undefined;
500
+ category?: undefined;
501
+ since?: undefined;
502
+ repos?: undefined;
503
+ currentVersion?: undefined;
504
+ fromVersion?: undefined;
505
+ toVersion?: undefined;
506
+ version?: undefined;
507
+ };
508
+ required: string[];
509
+ };
510
+ handler: typeof compareSyntax;
511
+ } | {
512
+ name: string;
513
+ description: string;
514
+ inputSchema: {
515
+ type: "object";
516
+ properties: {
517
+ repo: {
518
+ type: string;
519
+ description: string;
520
+ };
521
+ path?: undefined;
522
+ ref?: undefined;
523
+ category?: undefined;
524
+ since?: undefined;
525
+ repos?: undefined;
526
+ currentVersion?: undefined;
527
+ fromVersion?: undefined;
528
+ toVersion?: undefined;
529
+ version?: undefined;
530
+ oldVersion?: undefined;
531
+ newVersion?: undefined;
532
+ };
533
+ required: never[];
534
+ };
535
+ handler: typeof getLatestSyntax;
536
+ })[];
537
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/tools/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAW7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;EAK1C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAOvC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;EAMtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAQnC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;EAKrC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAoJ9E;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmChD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB;;;;;;;;;;;;GAqB1D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;GAqElE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB;;;;;;;;;;;;;;GAkC9D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB;;;;;;;;;GAoC1E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB;;;;;;;;;;;;;;GAqCpE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB;;;;;;GA8BlE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB;;;;;;;;;GA2C5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB;;;;;;;;;;;;;;;;;GA0ChE;AAGD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmM3B,CAAC"}