@danielfgray/pg-sourcerer 0.3.0 → 0.4.0

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 (307) hide show
  1. package/bin/pgsourcerer +2 -0
  2. package/dist/__tests__/fixtures/index.d.ts +15 -0
  3. package/dist/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/index.js +19 -0
  5. package/dist/__tests__/fixtures/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/introspection.json +40522 -0
  7. package/dist/cli.d.ts +0 -1
  8. package/dist/cli.js +7 -46
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +38 -5
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +13 -2
  13. package/dist/config.js.map +1 -1
  14. package/dist/{lib/conjure.d.ts → conjure/index.d.ts} +62 -3
  15. package/dist/conjure/index.d.ts.map +1 -0
  16. package/dist/{lib/conjure.js → conjure/index.js} +124 -3
  17. package/dist/conjure/index.js.map +1 -0
  18. package/dist/conjure/signature.d.ts +85 -0
  19. package/dist/conjure/signature.d.ts.map +1 -0
  20. package/dist/conjure/signature.js +130 -0
  21. package/dist/conjure/signature.js.map +1 -0
  22. package/dist/conjure/types.d.ts +97 -0
  23. package/dist/conjure/types.d.ts.map +1 -0
  24. package/dist/conjure/types.js +206 -0
  25. package/dist/conjure/types.js.map +1 -0
  26. package/dist/errors.d.ts +114 -139
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +82 -36
  29. package/dist/errors.js.map +1 -1
  30. package/dist/generate.d.ts +45 -46
  31. package/dist/generate.d.ts.map +1 -1
  32. package/dist/generate.js +86 -59
  33. package/dist/generate.js.map +1 -1
  34. package/dist/hex/builder.d.ts +12 -0
  35. package/dist/hex/builder.d.ts.map +1 -0
  36. package/dist/hex/builder.js +64 -0
  37. package/dist/hex/builder.js.map +1 -0
  38. package/dist/hex/ddl.d.ts +53 -0
  39. package/dist/hex/ddl.d.ts.map +1 -0
  40. package/dist/hex/ddl.js +306 -0
  41. package/dist/hex/ddl.js.map +1 -0
  42. package/dist/hex/index.d.ts +105 -0
  43. package/dist/hex/index.d.ts.map +1 -0
  44. package/dist/hex/index.js +81 -0
  45. package/dist/hex/index.js.map +1 -0
  46. package/dist/hex/primitives.d.ts +23 -0
  47. package/dist/hex/primitives.d.ts.map +1 -0
  48. package/dist/hex/primitives.js +38 -0
  49. package/dist/hex/primitives.js.map +1 -0
  50. package/dist/hex/query.d.ts +116 -0
  51. package/dist/hex/query.d.ts.map +1 -0
  52. package/dist/hex/query.js +219 -0
  53. package/dist/hex/query.js.map +1 -0
  54. package/dist/hex/types.d.ts +287 -0
  55. package/dist/hex/types.d.ts.map +1 -0
  56. package/dist/hex/types.js +431 -0
  57. package/dist/hex/types.js.map +1 -0
  58. package/dist/index.d.ts +17 -25
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +33 -44
  61. package/dist/index.js.map +1 -1
  62. package/dist/init.d.ts.map +1 -1
  63. package/dist/init.js +76 -140
  64. package/dist/init.js.map +1 -1
  65. package/dist/ir/extensions/queries.d.ts +6 -6
  66. package/dist/ir/extensions/queries.d.ts.map +1 -1
  67. package/dist/ir/extensions/queries.js +6 -4
  68. package/dist/ir/extensions/queries.js.map +1 -1
  69. package/dist/ir/extensions/schema-builder.d.ts.map +1 -1
  70. package/dist/ir/extensions/schema-builder.js.map +1 -1
  71. package/dist/ir/index.d.ts.map +1 -1
  72. package/dist/ir/index.js.map +1 -1
  73. package/dist/ir/relation-graph.d.ts.map +1 -1
  74. package/dist/ir/relation-graph.js +8 -8
  75. package/dist/ir/relation-graph.js.map +1 -1
  76. package/dist/ir/semantic-ir.d.ts +38 -0
  77. package/dist/ir/semantic-ir.d.ts.map +1 -1
  78. package/dist/ir/semantic-ir.js +50 -2
  79. package/dist/ir/semantic-ir.js.map +1 -1
  80. package/dist/ir/smart-tags.d.ts.map +1 -1
  81. package/dist/ir/smart-tags.js.map +1 -1
  82. package/dist/lib/field-utils.d.ts.map +1 -1
  83. package/dist/lib/field-utils.js +7 -7
  84. package/dist/lib/field-utils.js.map +1 -1
  85. package/dist/lib/join-graph.d.ts +95 -0
  86. package/dist/lib/join-graph.d.ts.map +1 -0
  87. package/dist/lib/join-graph.js +305 -0
  88. package/dist/lib/join-graph.js.map +1 -0
  89. package/dist/lib/picker.d.ts +60 -0
  90. package/dist/lib/picker.d.ts.map +1 -0
  91. package/dist/lib/picker.js +325 -0
  92. package/dist/lib/picker.js.map +1 -0
  93. package/dist/plugins/arktype.d.ts +20 -24
  94. package/dist/plugins/arktype.d.ts.map +1 -1
  95. package/dist/plugins/arktype.js +462 -386
  96. package/dist/plugins/arktype.js.map +1 -1
  97. package/dist/plugins/effect/http.d.ts +7 -0
  98. package/dist/plugins/effect/http.d.ts.map +1 -0
  99. package/dist/plugins/effect/http.js +460 -0
  100. package/dist/plugins/effect/http.js.map +1 -0
  101. package/dist/plugins/effect/index.d.ts +22 -0
  102. package/dist/plugins/effect/index.d.ts.map +1 -0
  103. package/dist/plugins/effect/index.js +65 -0
  104. package/dist/plugins/effect/index.js.map +1 -0
  105. package/dist/plugins/effect/models.d.ts +6 -0
  106. package/dist/plugins/effect/models.d.ts.map +1 -0
  107. package/dist/plugins/effect/models.js +116 -0
  108. package/dist/plugins/effect/models.js.map +1 -0
  109. package/dist/plugins/effect/repos.d.ts +21 -0
  110. package/dist/plugins/effect/repos.d.ts.map +1 -0
  111. package/dist/plugins/effect/repos.js +131 -0
  112. package/dist/plugins/effect/repos.js.map +1 -0
  113. package/dist/plugins/effect/schemas.d.ts +7 -0
  114. package/dist/plugins/effect/schemas.d.ts.map +1 -0
  115. package/dist/plugins/effect/schemas.js +75 -0
  116. package/dist/plugins/effect/schemas.js.map +1 -0
  117. package/dist/plugins/effect/shared.d.ts +116 -0
  118. package/dist/plugins/effect/shared.d.ts.map +1 -0
  119. package/dist/plugins/effect/shared.js +164 -0
  120. package/dist/plugins/effect/shared.js.map +1 -0
  121. package/dist/plugins/http-elysia.d.ts +20 -27
  122. package/dist/plugins/http-elysia.d.ts.map +1 -1
  123. package/dist/plugins/http-elysia.js +350 -475
  124. package/dist/plugins/http-elysia.js.map +1 -1
  125. package/dist/plugins/http-express.d.ts +20 -31
  126. package/dist/plugins/http-express.d.ts.map +1 -1
  127. package/dist/plugins/http-express.js +281 -268
  128. package/dist/plugins/http-express.js.map +1 -1
  129. package/dist/plugins/http-hono.d.ts +17 -33
  130. package/dist/plugins/http-hono.d.ts.map +1 -1
  131. package/dist/plugins/http-hono.js +317 -341
  132. package/dist/plugins/http-hono.js.map +1 -1
  133. package/dist/plugins/http-orpc.d.ts +34 -33
  134. package/dist/plugins/http-orpc.d.ts.map +1 -1
  135. package/dist/plugins/http-orpc.js +345 -257
  136. package/dist/plugins/http-orpc.js.map +1 -1
  137. package/dist/plugins/http-trpc.d.ts +33 -35
  138. package/dist/plugins/http-trpc.d.ts.map +1 -1
  139. package/dist/plugins/http-trpc.js +337 -241
  140. package/dist/plugins/http-trpc.js.map +1 -1
  141. package/dist/plugins/kysely.d.ts +54 -59
  142. package/dist/plugins/kysely.d.ts.map +1 -1
  143. package/dist/plugins/kysely.js +826 -687
  144. package/dist/plugins/kysely.js.map +1 -1
  145. package/dist/plugins/sql-queries.d.ts +38 -44
  146. package/dist/plugins/sql-queries.d.ts.map +1 -1
  147. package/dist/plugins/sql-queries.js +497 -897
  148. package/dist/plugins/sql-queries.js.map +1 -1
  149. package/dist/plugins/types.d.ts +12 -20
  150. package/dist/plugins/types.d.ts.map +1 -1
  151. package/dist/plugins/types.js +84 -227
  152. package/dist/plugins/types.js.map +1 -1
  153. package/dist/plugins/valibot.d.ts +7 -44
  154. package/dist/plugins/valibot.d.ts.map +1 -1
  155. package/dist/plugins/valibot.js +376 -382
  156. package/dist/plugins/valibot.js.map +1 -1
  157. package/dist/plugins/zod.d.ts +20 -24
  158. package/dist/plugins/zod.d.ts.map +1 -1
  159. package/dist/plugins/zod.js +370 -367
  160. package/dist/plugins/zod.js.map +1 -1
  161. package/dist/runtime/emit.d.ts +64 -0
  162. package/dist/runtime/emit.d.ts.map +1 -0
  163. package/dist/runtime/emit.js +445 -0
  164. package/dist/runtime/emit.js.map +1 -0
  165. package/dist/runtime/errors.d.ts +36 -0
  166. package/dist/runtime/errors.d.ts.map +1 -0
  167. package/dist/runtime/errors.js +29 -0
  168. package/dist/runtime/errors.js.map +1 -0
  169. package/dist/runtime/file-assignment.d.ts +161 -0
  170. package/dist/runtime/file-assignment.d.ts.map +1 -0
  171. package/dist/runtime/file-assignment.js +195 -0
  172. package/dist/runtime/file-assignment.js.map +1 -0
  173. package/dist/runtime/orchestrator.d.ts +62 -0
  174. package/dist/runtime/orchestrator.d.ts.map +1 -0
  175. package/dist/runtime/orchestrator.js +99 -0
  176. package/dist/runtime/orchestrator.js.map +1 -0
  177. package/dist/runtime/registry.d.ts +268 -0
  178. package/dist/runtime/registry.d.ts.map +1 -0
  179. package/dist/runtime/registry.js +436 -0
  180. package/dist/runtime/registry.js.map +1 -0
  181. package/dist/runtime/types.d.ts +182 -0
  182. package/dist/runtime/types.d.ts.map +1 -0
  183. package/dist/runtime/types.js +2 -0
  184. package/dist/runtime/types.js.map +1 -0
  185. package/dist/runtime/validation.d.ts +41 -0
  186. package/dist/runtime/validation.d.ts.map +1 -0
  187. package/dist/runtime/validation.js +70 -0
  188. package/dist/runtime/validation.js.map +1 -0
  189. package/dist/services/config-loader.d.ts.map +1 -1
  190. package/dist/services/config-loader.js +15 -6
  191. package/dist/services/config-loader.js.map +1 -1
  192. package/dist/services/config.d.ts +55 -25
  193. package/dist/services/config.d.ts.map +1 -1
  194. package/dist/services/config.js +60 -34
  195. package/dist/services/config.js.map +1 -1
  196. package/dist/services/file-writer.d.ts +3 -3
  197. package/dist/services/file-writer.d.ts.map +1 -1
  198. package/dist/services/file-writer.js +6 -8
  199. package/dist/services/file-writer.js.map +1 -1
  200. package/dist/services/inflection.d.ts +126 -27
  201. package/dist/services/inflection.d.ts.map +1 -1
  202. package/dist/services/inflection.js +300 -72
  203. package/dist/services/inflection.js.map +1 -1
  204. package/dist/services/introspection.d.ts.map +1 -1
  205. package/dist/services/introspection.js +6 -6
  206. package/dist/services/introspection.js.map +1 -1
  207. package/dist/services/ir-builder.d.ts.map +1 -1
  208. package/dist/services/ir-builder.js +73 -77
  209. package/dist/services/ir-builder.js.map +1 -1
  210. package/dist/services/ir.d.ts.map +1 -1
  211. package/dist/services/ir.js.map +1 -1
  212. package/dist/services/pg-types.d.ts.map +1 -1
  213. package/dist/services/pg-types.js +3 -3
  214. package/dist/services/pg-types.js.map +1 -1
  215. package/dist/services/smart-tags-parser.d.ts.map +1 -1
  216. package/dist/services/smart-tags-parser.js +4 -4
  217. package/dist/services/smart-tags-parser.js.map +1 -1
  218. package/dist/services/type-hints.d.ts.map +1 -1
  219. package/dist/services/type-hints.js +1 -1
  220. package/dist/services/type-hints.js.map +1 -1
  221. package/dist/services/user-module-parser.d.ts +46 -0
  222. package/dist/services/user-module-parser.d.ts.map +1 -0
  223. package/dist/services/user-module-parser.js +181 -0
  224. package/dist/services/user-module-parser.js.map +1 -0
  225. package/dist/shared/converters.d.ts +60 -0
  226. package/dist/shared/converters.d.ts.map +1 -0
  227. package/dist/shared/converters.js +168 -0
  228. package/dist/shared/converters.js.map +1 -0
  229. package/dist/shared/query-types.d.ts +95 -0
  230. package/dist/shared/query-types.d.ts.map +1 -0
  231. package/dist/shared/query-types.js +9 -0
  232. package/dist/shared/query-types.js.map +1 -0
  233. package/dist/testing.d.ts +125 -37
  234. package/dist/testing.d.ts.map +1 -1
  235. package/dist/testing.js +134 -42
  236. package/dist/testing.js.map +1 -1
  237. package/dist/user-module.d.ts +86 -0
  238. package/dist/user-module.d.ts.map +1 -0
  239. package/dist/user-module.js +55 -0
  240. package/dist/user-module.js.map +1 -0
  241. package/package.json +10 -6
  242. package/dist/lib/conjure.d.ts.map +0 -1
  243. package/dist/lib/conjure.js.map +0 -1
  244. package/dist/lib/hex.d.ts +0 -119
  245. package/dist/lib/hex.d.ts.map +0 -1
  246. package/dist/lib/hex.js +0 -188
  247. package/dist/lib/hex.js.map +0 -1
  248. package/dist/plugins/effect.d.ts +0 -53
  249. package/dist/plugins/effect.d.ts.map +0 -1
  250. package/dist/plugins/effect.js +0 -1074
  251. package/dist/plugins/effect.js.map +0 -1
  252. package/dist/plugins/kysely/queries.d.ts +0 -92
  253. package/dist/plugins/kysely/queries.d.ts.map +0 -1
  254. package/dist/plugins/kysely/queries.js +0 -1169
  255. package/dist/plugins/kysely/queries.js.map +0 -1
  256. package/dist/plugins/kysely/shared.d.ts +0 -59
  257. package/dist/plugins/kysely/shared.d.ts.map +0 -1
  258. package/dist/plugins/kysely/shared.js +0 -247
  259. package/dist/plugins/kysely/shared.js.map +0 -1
  260. package/dist/plugins/kysely/types.d.ts +0 -22
  261. package/dist/plugins/kysely/types.d.ts.map +0 -1
  262. package/dist/plugins/kysely/types.js +0 -428
  263. package/dist/plugins/kysely/types.js.map +0 -1
  264. package/dist/services/artifact-store.d.ts +0 -65
  265. package/dist/services/artifact-store.d.ts.map +0 -1
  266. package/dist/services/artifact-store.js +0 -57
  267. package/dist/services/artifact-store.js.map +0 -1
  268. package/dist/services/core-providers.d.ts +0 -15
  269. package/dist/services/core-providers.d.ts.map +0 -1
  270. package/dist/services/core-providers.js +0 -23
  271. package/dist/services/core-providers.js.map +0 -1
  272. package/dist/services/emissions.d.ts +0 -103
  273. package/dist/services/emissions.d.ts.map +0 -1
  274. package/dist/services/emissions.js +0 -241
  275. package/dist/services/emissions.js.map +0 -1
  276. package/dist/services/execution.d.ts +0 -35
  277. package/dist/services/execution.d.ts.map +0 -1
  278. package/dist/services/execution.js +0 -86
  279. package/dist/services/execution.js.map +0 -1
  280. package/dist/services/file-builder.d.ts +0 -85
  281. package/dist/services/file-builder.d.ts.map +0 -1
  282. package/dist/services/file-builder.js +0 -112
  283. package/dist/services/file-builder.js.map +0 -1
  284. package/dist/services/plugin-meta.d.ts +0 -33
  285. package/dist/services/plugin-meta.d.ts.map +0 -1
  286. package/dist/services/plugin-meta.js +0 -24
  287. package/dist/services/plugin-meta.js.map +0 -1
  288. package/dist/services/plugin-runner.d.ts +0 -42
  289. package/dist/services/plugin-runner.d.ts.map +0 -1
  290. package/dist/services/plugin-runner.js +0 -84
  291. package/dist/services/plugin-runner.js.map +0 -1
  292. package/dist/services/plugin.d.ts +0 -421
  293. package/dist/services/plugin.d.ts.map +0 -1
  294. package/dist/services/plugin.js +0 -197
  295. package/dist/services/plugin.js.map +0 -1
  296. package/dist/services/resolution.d.ts +0 -38
  297. package/dist/services/resolution.d.ts.map +0 -1
  298. package/dist/services/resolution.js +0 -242
  299. package/dist/services/resolution.js.map +0 -1
  300. package/dist/services/service-registry.d.ts +0 -74
  301. package/dist/services/service-registry.d.ts.map +0 -1
  302. package/dist/services/service-registry.js +0 -61
  303. package/dist/services/service-registry.js.map +0 -1
  304. package/dist/services/symbols.d.ts +0 -144
  305. package/dist/services/symbols.d.ts.map +0 -1
  306. package/dist/services/symbols.js +0 -144
  307. package/dist/services/symbols.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect.js","sourceRoot":"","sources":["../../src/plugins/effect.ts"],"names":[],"mappings":"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"}
@@ -1,92 +0,0 @@
1
- import type { SimplePluginContext } from "../../services/plugin.js";
2
- /**
3
- * Function to generate export names for CRUD/lookup methods.
4
- * @param entityName - PascalCase entity name (e.g., "User", "Post")
5
- * @param methodName - PascalCase method name (e.g., "FindById", "Create")
6
- * @returns The export name (e.g., "UserFindById", "userCreate", "findById")
7
- */
8
- export type ExportNameFn = (entityName: string, methodName: string) => string;
9
- /**
10
- * User-facing config input with properly typed function options.
11
- */
12
- export interface KyselyQueriesConfigInput {
13
- readonly outputDir?: string;
14
- readonly dbTypesPath?: string;
15
- readonly executeQueries?: boolean;
16
- readonly generateListMany?: boolean;
17
- readonly generateFunctions?: boolean;
18
- readonly functionsFile?: string;
19
- /**
20
- * Custom export name function for CRUD/lookup methods.
21
- * @default (_entityName, methodName) => camelCase(methodName)
22
- * @example
23
- * // PascalCase prefix: "UserFindById", "UserCreate"
24
- * exportName: (entity, method) => entity + method
25
- *
26
- * // camelCase prefix: "userFindById", "userCreate"
27
- * exportName: (entity, method) => entity.toLowerCase() + method
28
- */
29
- readonly exportName?: ExportNameFn;
30
- /**
31
- * Export style for generated query functions.
32
- * - "flat": Individual exports (e.g., `export const findById = ...`)
33
- * - "namespace": Single object export (e.g., `export const User = { findById: ... }`)
34
- * @default "flat"
35
- */
36
- readonly exportStyle?: "flat" | "namespace";
37
- /**
38
- * Use explicit column lists instead of .selectAll().
39
- * When true, generates .select(['col1', 'col2']) which excludes omitted fields at runtime.
40
- * @default true
41
- */
42
- readonly explicitColumns?: boolean;
43
- /**
44
- * Whether to pass db as first parameter to each function.
45
- * When true (default), functions take `db: Kysely<DB>` as first arg.
46
- * When false, functions use a module-level `db` variable - use `header`
47
- * to provide the import statement.
48
- * @default true
49
- */
50
- readonly dbAsParameter?: boolean;
51
- /**
52
- * Header content to prepend to each generated file.
53
- * Use this to provide imports when dbAsParameter is false.
54
- * Example: `import { db } from "../db.js"`
55
- */
56
- readonly header?: string;
57
- /**
58
- * Default limit for listMany queries.
59
- * @default 50
60
- */
61
- readonly defaultLimit?: number;
62
- }
63
- /**
64
- * Configuration for Kysely queries generation (exported for unified plugin).
65
- * All fields are required; the caller applies defaults.
66
- */
67
- export interface KyselyQueriesConfig {
68
- readonly outputDir: string;
69
- readonly dbTypesPath: string;
70
- readonly executeQueries: boolean;
71
- readonly generateListMany: boolean;
72
- readonly generateFunctions: boolean;
73
- readonly functionsFile: string;
74
- readonly exportName: ExportNameFn;
75
- readonly exportStyle: "flat" | "namespace";
76
- readonly explicitColumns: boolean;
77
- readonly dbAsParameter: boolean;
78
- readonly header?: string;
79
- readonly defaultLimit: number;
80
- }
81
- /**
82
- * Generate Kysely query functions from the IR.
83
- *
84
- * This is the core generation logic, extracted for use by both:
85
- * - The standalone kyselyQueriesPlugin
86
- * - The unified kyselyPlugin
87
- *
88
- * @param ctx - Plugin context for file emission and services
89
- * @param config - Queries configuration (with defaults applied)
90
- */
91
- export declare function generateKyselyQueries(ctx: SimplePluginContext, config?: Partial<KyselyQueriesConfig>): void;
92
- //# sourceMappingURL=queries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/plugins/kysely/queries.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqHpE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;AA6E9E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AASD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AA6lCD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,IAAI,CAuQN"}