@danielfgray/pg-sourcerer 0.2.1 → 0.2.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.
Files changed (164) hide show
  1. package/dist/cli.js +3 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +14 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generate.d.ts +5 -9
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +27 -29
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +19 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +25 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts.map +1 -1
  20. package/dist/init.js +39 -9
  21. package/dist/init.js.map +1 -1
  22. package/dist/ir/extensions/queries.d.ts +264 -0
  23. package/dist/ir/extensions/queries.d.ts.map +1 -0
  24. package/dist/ir/extensions/queries.js +153 -0
  25. package/dist/ir/extensions/queries.js.map +1 -0
  26. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  27. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  28. package/dist/ir/extensions/schema-builder.js +5 -0
  29. package/dist/ir/extensions/schema-builder.js.map +1 -0
  30. package/dist/lib/conjure.d.ts +66 -0
  31. package/dist/lib/conjure.d.ts.map +1 -1
  32. package/dist/lib/conjure.js +127 -29
  33. package/dist/lib/conjure.js.map +1 -1
  34. package/dist/lib/hex.d.ts +10 -3
  35. package/dist/lib/hex.d.ts.map +1 -1
  36. package/dist/lib/hex.js +18 -8
  37. package/dist/lib/hex.js.map +1 -1
  38. package/dist/plugins/arktype.d.ts +27 -14
  39. package/dist/plugins/arktype.d.ts.map +1 -1
  40. package/dist/plugins/arktype.js +166 -130
  41. package/dist/plugins/arktype.js.map +1 -1
  42. package/dist/plugins/effect.d.ts +53 -0
  43. package/dist/plugins/effect.d.ts.map +1 -0
  44. package/dist/plugins/effect.js +1074 -0
  45. package/dist/plugins/effect.js.map +1 -0
  46. package/dist/plugins/http-elysia.d.ts +32 -0
  47. package/dist/plugins/http-elysia.d.ts.map +1 -0
  48. package/dist/plugins/http-elysia.js +613 -0
  49. package/dist/plugins/http-elysia.js.map +1 -0
  50. package/dist/plugins/http-express.d.ts +36 -0
  51. package/dist/plugins/http-express.d.ts.map +1 -0
  52. package/dist/plugins/http-express.js +388 -0
  53. package/dist/plugins/http-express.js.map +1 -0
  54. package/dist/plugins/http-hono.d.ts +36 -0
  55. package/dist/plugins/http-hono.d.ts.map +1 -0
  56. package/dist/plugins/http-hono.js +453 -0
  57. package/dist/plugins/http-hono.js.map +1 -0
  58. package/dist/plugins/http-orpc.d.ts +55 -0
  59. package/dist/plugins/http-orpc.d.ts.map +1 -0
  60. package/dist/plugins/http-orpc.js +370 -0
  61. package/dist/plugins/http-orpc.js.map +1 -0
  62. package/dist/plugins/http-trpc.d.ts +59 -0
  63. package/dist/plugins/http-trpc.d.ts.map +1 -0
  64. package/dist/plugins/http-trpc.js +392 -0
  65. package/dist/plugins/http-trpc.js.map +1 -0
  66. package/dist/plugins/kysely/queries.d.ts +92 -0
  67. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  68. package/dist/plugins/kysely/queries.js +1169 -0
  69. package/dist/plugins/kysely/queries.js.map +1 -0
  70. package/dist/plugins/kysely/shared.d.ts +59 -0
  71. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  72. package/dist/plugins/kysely/shared.js +247 -0
  73. package/dist/plugins/kysely/shared.js.map +1 -0
  74. package/dist/plugins/kysely/types.d.ts +22 -0
  75. package/dist/plugins/kysely/types.d.ts.map +1 -0
  76. package/dist/plugins/kysely/types.js +428 -0
  77. package/dist/plugins/kysely/types.js.map +1 -0
  78. package/dist/plugins/kysely.d.ts +72 -0
  79. package/dist/plugins/kysely.d.ts.map +1 -0
  80. package/dist/plugins/kysely.js +906 -0
  81. package/dist/plugins/kysely.js.map +1 -0
  82. package/dist/plugins/sql-queries.d.ts +55 -11
  83. package/dist/plugins/sql-queries.d.ts.map +1 -1
  84. package/dist/plugins/sql-queries.js +467 -218
  85. package/dist/plugins/sql-queries.js.map +1 -1
  86. package/dist/plugins/types.d.ts +20 -14
  87. package/dist/plugins/types.d.ts.map +1 -1
  88. package/dist/plugins/types.js +90 -112
  89. package/dist/plugins/types.js.map +1 -1
  90. package/dist/plugins/valibot.d.ts +45 -0
  91. package/dist/plugins/valibot.d.ts.map +1 -0
  92. package/dist/plugins/valibot.js +422 -0
  93. package/dist/plugins/valibot.js.map +1 -0
  94. package/dist/plugins/zod.d.ts +27 -14
  95. package/dist/plugins/zod.d.ts.map +1 -1
  96. package/dist/plugins/zod.js +231 -166
  97. package/dist/plugins/zod.js.map +1 -1
  98. package/dist/services/artifact-store.d.ts +11 -1
  99. package/dist/services/artifact-store.d.ts.map +1 -1
  100. package/dist/services/artifact-store.js +9 -0
  101. package/dist/services/artifact-store.js.map +1 -1
  102. package/dist/services/core-providers.d.ts +15 -0
  103. package/dist/services/core-providers.d.ts.map +1 -0
  104. package/dist/services/core-providers.js +23 -0
  105. package/dist/services/core-providers.js.map +1 -0
  106. package/dist/services/emissions.d.ts +14 -0
  107. package/dist/services/emissions.d.ts.map +1 -1
  108. package/dist/services/emissions.js +86 -47
  109. package/dist/services/emissions.js.map +1 -1
  110. package/dist/services/execution.d.ts +35 -0
  111. package/dist/services/execution.d.ts.map +1 -0
  112. package/dist/services/execution.js +86 -0
  113. package/dist/services/execution.js.map +1 -0
  114. package/dist/services/file-builder.d.ts +4 -0
  115. package/dist/services/file-builder.d.ts.map +1 -1
  116. package/dist/services/file-builder.js.map +1 -1
  117. package/dist/services/inflection.d.ts +2 -2
  118. package/dist/services/inflection.d.ts.map +1 -1
  119. package/dist/services/inflection.js +4 -4
  120. package/dist/services/inflection.js.map +1 -1
  121. package/dist/services/ir-builder.d.ts.map +1 -1
  122. package/dist/services/ir-builder.js +10 -3
  123. package/dist/services/ir-builder.js.map +1 -1
  124. package/dist/services/pg-types.d.ts +31 -0
  125. package/dist/services/pg-types.d.ts.map +1 -1
  126. package/dist/services/pg-types.js +24 -0
  127. package/dist/services/pg-types.js.map +1 -1
  128. package/dist/services/plugin-runner.d.ts +27 -37
  129. package/dist/services/plugin-runner.d.ts.map +1 -1
  130. package/dist/services/plugin-runner.js +73 -171
  131. package/dist/services/plugin-runner.js.map +1 -1
  132. package/dist/services/plugin.d.ts +349 -217
  133. package/dist/services/plugin.d.ts.map +1 -1
  134. package/dist/services/plugin.js +182 -130
  135. package/dist/services/plugin.js.map +1 -1
  136. package/dist/services/resolution.d.ts +38 -0
  137. package/dist/services/resolution.d.ts.map +1 -0
  138. package/dist/services/resolution.js +242 -0
  139. package/dist/services/resolution.js.map +1 -0
  140. package/dist/services/service-registry.d.ts +74 -0
  141. package/dist/services/service-registry.d.ts.map +1 -0
  142. package/dist/services/service-registry.js +61 -0
  143. package/dist/services/service-registry.js.map +1 -0
  144. package/dist/services/symbols.d.ts +59 -0
  145. package/dist/services/symbols.d.ts.map +1 -1
  146. package/dist/services/symbols.js +16 -0
  147. package/dist/services/symbols.js.map +1 -1
  148. package/dist/testing.d.ts +4 -25
  149. package/dist/testing.d.ts.map +1 -1
  150. package/dist/testing.js +2 -23
  151. package/dist/testing.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/plugins/effect-model.d.ts +0 -17
  154. package/dist/plugins/effect-model.d.ts.map +0 -1
  155. package/dist/plugins/effect-model.js +0 -409
  156. package/dist/plugins/effect-model.js.map +0 -1
  157. package/dist/plugins/kysely-queries.d.ts +0 -66
  158. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  159. package/dist/plugins/kysely-queries.js +0 -951
  160. package/dist/plugins/kysely-queries.js.map +0 -1
  161. package/dist/plugins/kysely-types.d.ts +0 -35
  162. package/dist/plugins/kysely-types.d.ts.map +0 -1
  163. package/dist/plugins/kysely-types.js +0 -601
  164. package/dist/plugins/kysely-types.js.map +0 -1
@@ -1,182 +1,84 @@
1
1
  /**
2
2
  * Plugin Runner Service
3
3
  *
4
- * Orchestrates plugin execution: capability resolution, ordering, and execution.
5
- *
6
- * Functional Effect patterns:
7
- * - Method-style .pipe() for Effect chains
8
- * - pipe() from effect only for pure data transformations
9
- * - HashMap/Array for immutable collections
10
- * - Effect.reduce for foldable operations with failure
11
- * - Graph module for dependency algorithms
4
+ * Orchestrates the plugin system: registration resolution execution.
12
5
  */
13
- import { Effect, HashMap, Array as Arr, pipe, Graph, Option, Schema as S, ParseResult, Layer } from "effect";
14
- import { CapabilityConflict, CapabilityCycle, CapabilityNotSatisfied, DuplicatePlugin, PluginConfigInvalid, SymbolConflict, } from "../errors.js";
15
- import { Emissions, createEmissionBuffer } from "./emissions.js";
16
- import { Symbols, createSymbolRegistry } from "./symbols.js";
17
- import { TypeHints } from "./type-hints.js";
18
- import { Inflection, InflectionLive, composeInflection } from "./inflection.js";
19
- import { IR } from "./ir.js";
20
- import { ArtifactStore, createArtifactStore } from "./artifact-store.js";
21
- import { PluginMeta } from "./plugin-meta.js";
6
+ import { Effect } from "effect";
7
+ import { createPluginRegistry, } from "./plugin.js";
8
+ import { resolve } from "./resolution.js";
9
+ import { execute } from "./execution.js";
10
+ import { createEmissionBuffer } from "./emissions.js";
11
+ import { createSymbolRegistry } from "./symbols.js";
12
+ import { createServiceRegistry } from "./service-registry.js";
13
+ import { createFileBuilderFactory } from "./file-builder.js";
14
+ import { SymbolConflict, UndefinedReference } from "../errors.js";
22
15
  import { conjure } from "../lib/conjure.js";
23
16
  // ============================================================================
24
- // Pure Functions (use pipe for data transformations)
25
- // ============================================================================
26
- /** Expand "a:b:c" → ["a:b:c", "a:b", "a"] */
27
- const expandCapability = (cap) => pipe(Arr.range(1, cap.split(":").length), Arr.map(n => cap.split(":").slice(0, n).join(":")));
28
- /** Extract (capability, pluginName) pairs from plugins with expansion */
29
- const capabilityPairs = (plugins) => plugins.flatMap(({ plugin }) => plugin.provides.flatMap(expandCapability).map(cap => [cap, plugin.name]));
30
- /** Extract (required, pluginName) pairs from plugins */
31
- const requirementPairs = (plugins) => plugins.flatMap(({ plugin }) => (plugin.requires ?? []).map(req => [req, plugin.name]));
32
- /** Build directed graph from plugins and their dependencies (pure) */
33
- const buildGraph = (plugins, providers) => {
34
- const names = Arr.map(plugins, ({ plugin }) => plugin.name);
35
- const edges = plugins.flatMap(({ plugin }) => Arr.filterMap(plugin.requires ?? [], req => HashMap.get(providers, req).pipe(Option.filter(provider => provider !== plugin.name), Option.map(provider => [provider, plugin.name]))));
36
- // Mutation confined to Graph.directed callback
37
- return Graph.directed(g => {
38
- const indices = Object.fromEntries(names.map(name => [name, Graph.addNode(g, name)]));
39
- edges.forEach(([from, to]) => {
40
- Graph.addEdge(g, indices[from], indices[to], undefined);
41
- });
42
- });
43
- };
44
- /** Extract cycle from graph's strongly connected components */
45
- const extractCycle = (graph) => pipe(Graph.stronglyConnectedComponents(graph), Arr.findFirst(scc => scc.length > 1), Option.getOrElse(() => []), Arr.map(idx => Graph.getNode(graph, idx).pipe(Option.getOrElse(() => "unknown"))));
46
- // ============================================================================
47
- // Effectful Operations (use .pipe() method on Effects)
48
- // ============================================================================
49
- /** Check for duplicate plugin names */
50
- const checkDuplicates = (plugins) => Effect.reduce(plugins.map(({ plugin }) => plugin.name), new Set(), (seen, name) => seen.has(name)
51
- ? Effect.fail(new DuplicatePlugin({
52
- message: `Plugin "${name}" is registered multiple times`,
53
- plugin: name,
54
- }))
55
- : Effect.succeed(new Set([...seen, name]))).pipe(Effect.asVoid);
56
- /** Validate a single plugin's config against its schema */
57
- const validatePluginConfig = (cp) => S.decodeUnknown(cp.plugin.configSchema)(cp.config).pipe(Effect.map(validatedConfig => ({
58
- plugin: cp.plugin,
59
- config: validatedConfig,
60
- })), Effect.mapError(parseError => {
61
- const formatted = ParseResult.ArrayFormatter.formatErrorSync(parseError);
62
- const errors = formatted.map(e => {
63
- const path = e.path.length > 0 ? `${e.path.join(".")}: ` : "";
64
- return `${path}${e.message}`;
65
- });
66
- return new PluginConfigInvalid({
67
- message: `Invalid config for plugin "${cp.plugin.name}": ${errors.join("; ")}`,
68
- plugin: cp.plugin.name,
69
- errors,
70
- });
71
- }));
72
- /** Validate all plugin configs, failing on first invalid */
73
- const validateConfigs = (plugins) => Effect.forEach(plugins, validatePluginConfig);
74
- /**
75
- * Build capability → provider map, failing on first conflict.
76
- * Single-pass fold that validates during construction.
77
- */
78
- const buildProviderMap = (plugins) => Effect.reduce(capabilityPairs(plugins), HashMap.empty(), (map, [cap, name]) => pipe(HashMap.get(map, cap), Option.match({
79
- onNone: () => Effect.succeed(HashMap.set(map, cap, name)),
80
- onSome: existing => existing === name
81
- ? Effect.succeed(map)
82
- : Effect.fail(new CapabilityConflict({
83
- message: `Capability "${cap}" provided by multiple plugins: ${existing}, ${name}`,
84
- capability: cap,
85
- providers: [existing, name],
86
- })),
87
- })));
88
- /** Verify all requirements are satisfiable */
89
- const checkRequirements = (plugins, providers) => pipe(requirementPairs(plugins), Arr.findFirst(([req]) => !HashMap.has(providers, req)), Option.match({
90
- onNone: () => Effect.void,
91
- onSome: ([req, name]) => Effect.fail(new CapabilityNotSatisfied({
92
- message: `Plugin "${name}" requires "${req}" but no plugin provides it`,
93
- required: req,
94
- requiredBy: name,
95
- })),
96
- }));
97
- /** Sort plugins topologically, detecting cycles */
98
- const topoSort = (plugins, graph) => {
99
- const byName = Arr.groupBy(plugins, cp => cp.plugin.name);
100
- return Effect.if(Graph.isAcyclic(graph), {
101
- onTrue: () => Effect.succeed(Array.from(Graph.values(Graph.topo(graph))).flatMap(n => byName[n])),
102
- onFalse: () => Effect.fail(new CapabilityCycle({
103
- message: `Circular dependency: ${extractCycle(graph).join(" → ")}`,
104
- cycle: extractCycle(graph),
105
- })),
106
- });
107
- };
108
- // ============================================================================
109
- // Prepare (standalone - no dependencies)
110
- // ============================================================================
111
- const prepare = (plugins) => Effect.if(plugins.length === 0, {
112
- onTrue: () => Effect.succeed(plugins),
113
- onFalse: () => checkDuplicates(plugins).pipe(Effect.andThen(validateConfigs(plugins)), Effect.flatMap(validatedPlugins => buildProviderMap(validatedPlugins).pipe(Effect.tap(providers => checkRequirements(validatedPlugins, providers)), Effect.flatMap(providers => topoSort(validatedPlugins, buildGraph(validatedPlugins, providers)))))),
114
- });
115
- // ============================================================================
116
- // PluginRunner Service
17
+ // Plugin Runner
117
18
  // ============================================================================
118
19
  /**
119
- * PluginRunner service - orchestrates plugin execution.
120
- *
121
- * Depends on Inflection service (captured at construction time via layer).
20
+ * Run plugins through the full pipeline.
122
21
  *
123
- * Usage:
124
- * const runner = yield* PluginRunner
125
- * const prepared = yield* runner.prepare(plugins)
126
- * const result = yield* runner.run(prepared, ir)
22
+ * @param plugins - Plugins to run (from config.plugins)
23
+ * @param context - IR, type hints, and inflection for plugins to access
24
+ * @returns Effect with emissions and symbols
127
25
  */
128
- export class PluginRunner extends Effect.Service()("PluginRunner", {
129
- effect: Effect.gen(function* () {
130
- const inflection = yield* Inflection;
131
- const run = (plugins, ir) => Effect.gen(function* () {
132
- // Create shared state for all plugins in this run
133
- const emissions = createEmissionBuffer();
134
- const symbols = createSymbolRegistry();
135
- // Yield TypeHints from context - caller must provide via layer
136
- const typeHints = yield* TypeHints;
137
- // Create artifact store instance once (it's stateful)
138
- const artifactStore = createArtifactStore();
139
- // Build shared layers for this run - all using the same instances
140
- // Note: Inflection is NOT in shared layers - it's per-plugin (composed)
141
- const sharedLayers = Layer.mergeAll(Layer.succeed(IR, ir), Layer.succeed(Emissions, emissions), Layer.succeed(Symbols, symbols), Layer.succeed(TypeHints, typeHints), Layer.succeed(ArtifactStore, artifactStore));
142
- // Execute plugins sequentially, stopping on first failure
143
- // Each plugin gets:
144
- // - Fresh PluginMeta layer with its name
145
- // - Composed inflection (plugin defaults + base inflection)
146
- // - Logging annotations for structured logging
147
- yield* Effect.forEach(plugins, ({ plugin, config }) => {
148
- const pluginMetaLayer = Layer.succeed(PluginMeta, { name: plugin.name });
149
- // Compose inflection: plugin defaults applied first, then base inflection
150
- const composedInflection = composeInflection(inflection, plugin.inflectionDefaults);
151
- const inflectionLayer = Layer.succeed(Inflection, composedInflection);
152
- const allLayers = Layer.mergeAll(sharedLayers, pluginMetaLayer, inflectionLayer);
153
- return plugin.run(config).pipe(Effect.provide(allLayers),
154
- // Add plugin name as log annotation for Effect-native plugins
155
- Effect.annotateLogs("plugin", plugin.name));
156
- }, { discard: true });
157
- // Serialize AST emissions to string content (with import resolution)
158
- emissions.serializeAst(conjure.print, symbols);
159
- // Validate emissions for conflicts
160
- yield* emissions.validate();
161
- // Validate symbols for collisions
162
- const collisions = symbols.validate();
163
- if (collisions.length > 0) {
164
- yield* Effect.fail(new SymbolConflict({
165
- message: `Symbol collision: "${collisions[0].symbol}" in ${collisions[0].file} from plugins: ${collisions[0].plugins.join(", ")}`,
166
- symbol: collisions[0].symbol,
167
- file: collisions[0].file,
168
- plugins: collisions[0].plugins,
169
- }));
170
- }
171
- return {
172
- emissions,
173
- symbols,
174
- artifacts: artifactStore.getAll(),
175
- };
176
- });
177
- return { prepare, run };
178
- }),
179
- dependencies: [InflectionLive],
180
- }) {
181
- }
26
+ export const runPlugins = (plugins, context) => Effect.gen(function* () {
27
+ // 1. Create shared state
28
+ const emissions = createEmissionBuffer();
29
+ const symbols = createSymbolRegistry();
30
+ const registry = createPluginRegistry();
31
+ // 2. Register all plugins
32
+ for (const plugin of plugins) {
33
+ registry.register(plugin);
34
+ }
35
+ // 3. Resolution phase - match requests to plugins, build DAG
36
+ const plan = yield* resolve(registry);
37
+ yield* Effect.logDebug(`Execution plan: ${plan.steps.length} steps`);
38
+ for (const step of plan.steps) {
39
+ yield* Effect.logDebug(` - ${step.provider.name}: ${step.kind}`);
40
+ }
41
+ // 4. Execution phase - run plugins in topological order
42
+ const serviceRegistry = createServiceRegistry();
43
+ const services = {
44
+ fileBuilder: createFileBuilderFactory("plugin-runner", emissions, symbols),
45
+ symbols,
46
+ ir: context.ir,
47
+ typeHints: context.typeHints,
48
+ inflection: context.inflection,
49
+ serviceRegistry,
50
+ };
51
+ yield* execute(plan, registry, services);
52
+ // 5. Serialize AST emissions (resolves imports)
53
+ emissions.serializeAst(conjure.print, symbols);
54
+ // 6. Check for unresolved symbol references
55
+ const unresolvedRefs = emissions.getUnresolvedRefs();
56
+ if (unresolvedRefs.length > 0) {
57
+ yield* Effect.fail(new UndefinedReference({
58
+ message: `Undefined symbol references: ${unresolvedRefs
59
+ .map((r) => `${r.capability}/${r.entity}${r.shape ? `/${r.shape}` : ""} (requested by ${r.plugin} in ${r.file})`)
60
+ .join(", ")}`,
61
+ references: unresolvedRefs.map((r) => ({
62
+ capability: r.capability,
63
+ entity: r.entity,
64
+ shape: r.shape,
65
+ requestedBy: r.plugin,
66
+ inFile: r.file,
67
+ })),
68
+ }));
69
+ }
70
+ // 7. Validate emissions for conflicts
71
+ yield* emissions.validate();
72
+ // 8. Validate symbols for collisions
73
+ const collisions = symbols.validate();
74
+ if (collisions.length > 0) {
75
+ yield* Effect.fail(new SymbolConflict({
76
+ message: `Symbol collision: "${collisions[0].symbol}" in ${collisions[0].file} from plugins: ${collisions[0].plugins.join(", ")}`,
77
+ symbol: collisions[0].symbol,
78
+ file: collisions[0].file,
79
+ plugins: collisions[0].plugins,
80
+ }));
81
+ }
82
+ return { emissions, symbols };
83
+ });
182
84
  //# sourceMappingURL=plugin-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/services/plugin-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/services/plugin-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAGL,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,OAAO,EAA0B,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAgB,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAoC3C,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAA0B,EAC1B,OAAyB,EACuB,EAAE,CAClD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,yBAAyB;IACzB,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IAEvC,0BAA0B;IAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,6DAA6D;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAA;IACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,wDAAwD;IACxD,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAsB;QAClC,WAAW,EAAE,wBAAwB,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC;QAC1E,OAAO;QACP,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,eAAe;KAChB,CAAA;IAED,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAExC,gDAAgD;IAChD,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAE9C,4CAA4C;IAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAA;IACpD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,IAAI,kBAAkB,CAAC;YACrB,OAAO,EAAE,gCAAgC,cAAc;iBACpD,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,GAAG,CACvG;iBACA,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,MAAM;gBACrB,MAAM,EAAE,CAAC,CAAC,IAAI;aACf,CAAC,CAAC;SACJ,CAAC,CACH,CAAA;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;IAE3B,qCAAqC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;IACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,IAAI,cAAc,CAAC;YACjB,OAAO,EAAE,sBAAsB,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,QAAQ,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpI,MAAM,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM;YAC7B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI;YACzB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,OAAO;SAChC,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAC/B,CAAC,CAAC,CAAA"}