@kronos-ts/axon-server 0.3.2 → 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 (57) hide show
  1. package/dist/axon-server-event-store.d.ts +9 -5
  2. package/dist/axon-server-event-store.d.ts.map +1 -1
  3. package/dist/axon-server-event-store.js +38 -30
  4. package/dist/axon-server-event-store.js.map +1 -1
  5. package/dist/axon-server-snapshot-store.d.ts +8 -8
  6. package/dist/axon-server-snapshot-store.d.ts.map +1 -1
  7. package/dist/axon-server-snapshot-store.js +8 -14
  8. package/dist/axon-server-snapshot-store.js.map +1 -1
  9. package/dist/axon-server.d.ts +97 -186
  10. package/dist/axon-server.d.ts.map +1 -1
  11. package/dist/axon-server.js +217 -318
  12. package/dist/axon-server.js.map +1 -1
  13. package/dist/connection.d.ts +128 -0
  14. package/dist/connection.d.ts.map +1 -1
  15. package/dist/connection.js +134 -10
  16. package/dist/connection.js.map +1 -1
  17. package/dist/context-view.d.ts +30 -0
  18. package/dist/context-view.d.ts.map +1 -0
  19. package/dist/context-view.js +19 -0
  20. package/dist/context-view.js.map +1 -0
  21. package/dist/control-plane.d.ts +14 -13
  22. package/dist/control-plane.d.ts.map +1 -1
  23. package/dist/control-plane.js +8 -6
  24. package/dist/control-plane.js.map +1 -1
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js.map +1 -1
  27. package/dist/flow-controlled-sender.js.map +1 -1
  28. package/dist/generated/command.d.ts.map +1 -1
  29. package/dist/generated/command.js.map +1 -1
  30. package/dist/generated/common.js.map +1 -1
  31. package/dist/generated/control.d.ts.map +1 -1
  32. package/dist/generated/control.js.map +1 -1
  33. package/dist/generated/dcb.d.ts.map +1 -1
  34. package/dist/generated/dcb.js.map +1 -1
  35. package/dist/generated/event.d.ts.map +1 -1
  36. package/dist/generated/event.js.map +1 -1
  37. package/dist/generated/google/protobuf/empty.js.map +1 -1
  38. package/dist/generated/query.d.ts.map +1 -1
  39. package/dist/generated/query.js.map +1 -1
  40. package/dist/index.d.ts +4 -6
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +4 -5
  43. package/dist/index.js.map +1 -1
  44. package/dist/message-size.d.ts.map +1 -1
  45. package/dist/metadata-conversion.d.ts +1 -1
  46. package/dist/metadata-conversion.d.ts.map +1 -1
  47. package/dist/shutdown-latch.d.ts.map +1 -1
  48. package/dist/shutdown-latch.js.map +1 -1
  49. package/package.json +4 -8
  50. package/src/axon-server-event-store.ts +51 -43
  51. package/src/axon-server-snapshot-store.ts +17 -25
  52. package/src/axon-server.ts +358 -512
  53. package/src/connection.ts +270 -18
  54. package/src/context-view.ts +46 -0
  55. package/src/control-plane.ts +17 -17
  56. package/src/index.ts +12 -18
  57. package/src/metadata-conversion.ts +1 -1
@@ -1,64 +1,33 @@
1
1
  /**
2
- * Axon Server backend for kronos.
2
+ * The Axon Server command and query buses.
3
3
  *
4
- * `axonServer(config)` is an async factory: it connects eagerly, hands back
5
- * the four components it provides (eventStore, snapshotStore, commandBus,
6
- * queryBus), and gives you a `start`/`close` pair. There is no lifecycle
7
- * framework the ordering that used to be encoded as `onStart("connect")` /
8
- * `onStart("processors")` / `onStop("connect")` is now three lines you write
9
- * in your composition root:
4
+ * Axon Server is a SMART HUB: outbound dispatch always goes to the server, and
5
+ * the server decides which node handles it there is no client-side
6
+ * prefer-local fork here, which is the whole difference from the dumb-pipe
7
+ * broker in `@kronos-ts/rabbitmq`.
10
8
  *
11
- * ```ts
12
- * const axon = await axonServer({
13
- * componentName: "university-service",
14
- * serializer,
15
- * unitOfWorkFactory,
16
- * })
17
- * const app = kronos({
18
- * components: { ...inMemoryComponents({ serializer, unitOfWorkFactory }), ...axon.components },
19
- * modules,
20
- * })
21
- * await axon.start() // readiness barrier: the server can route to our handlers
22
- * // …
23
- * await app.stop(); await axon.close()
24
- * ```
25
- *
26
- * Connecting before the app is built is what removes the lazy proxies and
27
- * subscribe-buffering wrappers the container version needed: by the time
28
- * `kronos` subscribes a handler, the gRPC streams are already live.
29
- *
30
- * REMOTE ADMINISTRATION IS NOT IN HERE. Processor instructions (pause / start /
31
- * release / split / merge) and processor status reporting are the platform
32
- * CONTROL PLANE — they are neither persistence nor transport, and lived here
33
- * only because they share this gRPC connection. They are now an opt-in second
34
- * object built on the platform stream this backend exposes:
9
+ * Both buses are plain functions over the shared connection and YOUR local bus:
35
10
  *
36
11
  * ```ts
37
- * const control = await axonServerControlPlane(axon.platform, app.processors.values())
12
+ * const commandBus = interceptingCommandBus(
13
+ * axonServerCommandBus(axon, simpleCommandBus(unitOfWork)), lineage)
14
+ * const queryBus = interceptingQueryBus(
15
+ * axonServerQueryBus(axon, simpleQueryBus(unitOfWork)), lineage)
38
16
  * ```
39
17
  *
40
- * `start()` therefore takes NO arguments and does exactly one thing: the
41
- * data-path readiness barrier. See `control-plane.ts`.
42
- *
43
18
  * Axon-specific protocol invariants are preserved byte-for-byte:
44
19
  *
45
20
  * - CLIENT_SUPPORTS_STREAMING capability advertised on every dispatched
46
21
  * query via `defaultQueryInstructions(...)`;
47
22
  * - AxonIQ-Context + AxonIQ-Access-Token gRPC metadata headers built by
48
- * `createAxonMetadata(...)` and attached to every outbound stream/RPC;
23
+ * `contextView(...)` and attached to every outbound stream/RPC;
49
24
  * - permits-AFTER-subscriptions stream ordering preserved on the initial
50
25
  * handshake AND on reconnect (see `ensureStreamStarted` /
51
- * `reestablishStreamBody`);
52
- * - shutdown ordering: busLatches → platform.stop → connection.close.
26
+ * `reestablishStreamBody`).
53
27
  */
54
- import { type Serializer, type ResilienceConfig } from "@kronos-ts/common";
55
- import type { CommandBus, QueryBus, UoWRunner } from "@kronos-ts/messaging";
56
- import type { AxonServerConnectionConfig } from "./connection.js";
57
- import { type AxonServerConnection } from "./connection.js";
58
- import { axonServerEventStore } from "./axon-server-event-store.js";
59
- import { axonServerSnapshotStore } from "./axon-server-snapshot-store.js";
60
- import { type ShutdownLatch } from "./shutdown-latch.js";
61
- import { type PlatformConnection, type PlatformServiceOptions } from "./platform-service.js";
28
+ import { type ResilienceConfig } from "@kronos-ts/core";
29
+ import type { CommandBus, QueryBus } from "@kronos-ts/core";
30
+ import type { AxonServerBusSource } from "./connection.js";
62
31
  /**
63
32
  * Flow control configuration for a bus channel.
64
33
  */
@@ -80,175 +49,117 @@ export interface ProcessingInstructions {
80
49
  /** Timeout in ms. Axon Server cancels the command/query if not handled in time. */
81
50
  timeoutMs?: number;
82
51
  }
83
- export interface AxonServerConfig extends AxonServerConnectionConfig {
84
- /** Flow control for the command bus channel. */
85
- commandFlowControl?: FlowControlConfig;
86
- /** Flow control for the query bus channel. */
87
- queryFlowControl?: FlowControlConfig;
88
- /** Platform service configuration (heartbeat, etc.). */
89
- platformService?: PlatformServiceOptions;
90
- /**
91
- * When true, queries are first checked against locally registered handlers
92
- * before being dispatched through Axon Server. Avoids a network round-trip
93
- * when the handler is co-located.
94
- *
95
- * Aligned with Java's `shortcutQueriesToLocalHandlers`.
96
- * Default: false.
97
- */
98
- shortcutQueriesToLocalHandlers?: boolean;
52
+ /**
53
+ * Tuning for {@link axonServerCommandBus}. Every field has a working default;
54
+ * the two arguments that carry meaning — the connection and your local bus —
55
+ * are positional, and this record is the trailing remainder.
56
+ */
57
+ export interface AxonServerCommandBusOptions {
58
+ /** Axon Server context for this bus's stream. Default: the connection's. */
59
+ context?: string;
60
+ /** Flow control for the command stream. */
61
+ flowControl?: FlowControlConfig;
99
62
  /**
100
- * Load factor for command handler registration.
101
- * Signals to Axon Server how much capacity this handler has.
102
- * Higher value = handler can take more commands.
103
- *
63
+ * Load factor for this command handler. Signals to Axon Server how much
64
+ * capacity this node has higher value = more commands routed here.
104
65
  * Aligned with Java's `commandLoadFactor`. Default: 100.
105
66
  */
106
- commandLoadFactor?: number;
107
- /**
108
- * Default timeout for command dispatch in ms. Default: 300000 (5 min).
109
- * Aligned with Java's processing instruction timeout.
110
- */
111
- commandTimeoutMs?: number;
112
- /**
113
- * Default timeout for query dispatch in ms. Default: 3600000 (1 hour).
114
- * Aligned with Java's processing instruction timeout.
115
- */
116
- queryTimeoutMs?: number;
117
- /** Per-extension resilience config (D-100 / D-101). */
67
+ loadFactor?: number;
68
+ /** Retry policy for stream re-establishment. Default: the connection's. */
118
69
  resilience?: Partial<ResilienceConfig>;
119
- /**
120
- * How long `start()` waits for Axon Server's routing tables to register the
121
- * subscribe frames sent on the command/query streams. This is the entire
122
- * data-path readiness barrier.
123
- *
124
- * It is a timed wait rather than an observed signal because nothing on the
125
- * client can observe it: subscribes travel on the bus streams, and the
126
- * platform stream — which is where an ack would arrive — is a different
127
- * stream that Axon Server holds open silently after `register`. Default:
128
- * 1000, matching the legacy enhancer. Tests against a freshly-booted server
129
- * can tighten this once subscriptions are observed to land faster.
130
- */
131
- busSubscriptionAckDelayMs?: number;
132
- }
133
- /** The components an Axon Server backend provides. Spread into `kronos`. */
134
- export interface AxonServerComponents {
135
- eventStore: ReturnType<typeof axonServerEventStore>;
136
- snapshotStore: ReturnType<typeof axonServerSnapshotStore>;
137
- commandBus: CommandBus;
138
- queryBus: QueryBus;
139
70
  }
140
71
  /**
141
- * A live Axon Server backend: the components it provides plus the two calls
142
- * that used to be lifecycle stages.
72
+ * Tuning for {@link axonServerQueryBus}. See {@link AxonServerCommandBusOptions}.
143
73
  */
144
- /** Everything axonServer() needs: its own config plus the framework values it borrows. */
145
- export type AxonServerOptions = AxonServerConfig & {
146
- serializer: Serializer;
147
- unitOfWorkFactory: UoWRunner;
148
- };
149
- export interface AxonServerBackend {
150
- readonly components: AxonServerComponents;
74
+ export interface AxonServerQueryBusOptions {
75
+ /** Axon Server context for this bus's stream. Default: the connection's. */
76
+ context?: string;
77
+ /** Flow control for the query stream. */
78
+ flowControl?: FlowControlConfig;
151
79
  /**
152
- * The platform stream. It is built here because the backend owns the gRPC
153
- * connection it rides on and the `platformService` tuning that configures it.
154
- *
155
- * `start()` below brings it up for the DATA path — heartbeats and reconnect
156
- * detection — via `platform.armConnectionMonitoring()`. What it deliberately
157
- * does NOT do is arm processor status reporting or route instructions: that is
158
- * remote administration, and it stays opt-in behind
159
- * `axonServerControlPlane(axon.platform, …)`, which registers its handler and
160
- * supplier and then calls `platform.start()` on this same live stream.
80
+ * When true, queries are first checked against locally subscribed handlers
81
+ * before being dispatched through Axon Server. Avoids a network round-trip
82
+ * when the handler is co-located.
161
83
  *
162
- * An instruction that arrives before a control plane exists is buffered by the
163
- * platform connection and drained on the first `onInstruction` registration,
164
- * so opening the stream early costs nothing.
84
+ * This is NOT the rabbitmq `preferLocal` fork by another name: it is Java's
85
+ * `shortcutQueriesToLocalHandlers`, it is off by default, and commands have
86
+ * no equivalent Axon Server routes those, always.
165
87
  */
166
- readonly platform: PlatformConnection;
88
+ shortcutQueriesToLocalHandlers?: boolean;
167
89
  /**
168
- * DATA-PATH START. Two things, both data path:
169
- *
170
- * 1. arm heartbeat-driven reconnect detection on the platform stream, and
171
- * 2. wait until Axon Server can route to the handlers subscribed on the bus
172
- * streams.
173
- *
174
- * Call AFTER `kronos` — the subscribe frames must already be on the wire for
175
- * the readiness wait to mean anything.
176
- *
177
- * Takes no arguments and arms no control-plane state.
90
+ * Default timeout for query dispatch in ms. Default: 3600000 (1 hour).
91
+ * Aligned with Java's processing instruction timeout.
178
92
  */
179
- start(): Promise<void>;
180
- /** Drain in-flight bus work, stop the platform stream, close the connection. */
181
- close(): Promise<void>;
93
+ timeoutMs?: number;
94
+ /** Retry policy for stream re-establishment. Default: the connection's. */
95
+ resilience?: Partial<ResilienceConfig>;
182
96
  }
183
97
  /**
184
- * Connect to Axon Server and build the components it backs.
185
- *
186
- * `serializer` and `unitOfWorkFactory` are arguments rather than slot lookups:
187
- * the buses serialize payloads with the former and run every inbound command /
188
- * query in the latter, so they must be the SAME instances the rest of the app
189
- * uses. Pass the ones you hand to `kronos`.
190
- */
191
- export declare function axonServer(options: AxonServerOptions): Promise<AxonServerBackend>;
192
- /**
193
- * A command bus backed by Axon Server.
194
- *
195
- * - **Outbound dispatch**: Always goes through Axon Server via the unary Dispatch RPC.
196
- * Axon Server routes the command to the appropriate node (which may be this one).
197
- * - **Local segment**: Handlers subscribed via `subscribe()` are registered with
198
- * Axon Server (so other nodes can route to us) and stored locally. When Axon Server
199
- * routes an inbound command to this node, it's executed on the local segment
200
- * within a UnitOfWork.
201
- */
202
- /**
203
- * A command bus backed by Axon Server.
98
+ * A command bus backed by Axon Server, over YOUR local bus.
99
+ *
100
+ * - **Outbound dispatch**: ALWAYS through Axon Server, via the unary Dispatch
101
+ * RPC. Axon Server routes the command to the appropriate node (which may be
102
+ * this one). There is deliberately no client-side prefer-local fork: the hub
103
+ * is the router, and short-circuiting it would silently defeat load factors,
104
+ * priorities and routing keys.
105
+ * - **Inbound**: a command the server routes here is dispatched into `local` —
106
+ * not into a privately-held handler map. That is what makes the unit-of-work
107
+ * policy you chose for `local` (say `postgresUnitOfWork(pg, unitOfWork)`)
108
+ * apply to server-routed work exactly as it applies to work this process
109
+ * originated. It is also why this function takes no `unitOfWork` argument:
110
+ * `local` carries that policy now.
111
+ * - **subscribe**: registers the handler on `local` AND announces the name to
112
+ * Axon Server, so other nodes can route to us.
204
113
  *
205
114
  * ## Correlation lineage and the interceptor layer
206
115
  *
207
- * The returned bus is wrapped in {@link interceptingCommandBus} carrying
208
- * {@link correlationDataDispatchInterceptor}, so lineage is stamped onto the
209
- * outgoing message BEFORE it is serialized onto the wire.
116
+ * The returned bus stamps no lineage of its own. A host that wants it wraps the
117
+ * OUTERMOST bus:
118
+ *
119
+ * ```ts
120
+ * interceptingCommandBus(axonServerCommandBus(conn, local), lineage)
121
+ * ```
122
+ *
123
+ * so whatever a host adds runs BEFORE the message is serialized onto the wire.
124
+ * Lineage itself is usually already on `message.metadata` by then — `ctx.send`
125
+ * stamps the unit of work's correlation data before any bus sees the message.
210
126
  *
211
127
  * This is precisely how the Java client does it. AF4's `AxonServerCommandBus`
212
128
  * holds its own `DispatchInterceptors` and dispatches as
213
129
  * `doDispatch(dispatchInterceptors.intercept(commandMessage), cb)` — one call
214
- * site, at the top, ahead of any routing; and its `doDispatch` (like this one)
215
- * always goes to the server, letting Axon Server decide where the command lands.
216
- * AF5 keeps the property via decorator order:
217
- * `DISTRIBUTED_COMMAND_BUS_ORDER = InterceptingCommandBus.DECORATION_ORDER - 50`
130
+ * site, at the top, ahead of any routing. AF5 keeps the property via decorator
131
+ * order: `DISTRIBUTED_COMMAND_BUS_ORDER = InterceptingCommandBus.DECORATION_ORDER - 50`
218
132
  * stacks `InterceptingCommandBus → DistributedCommandBus → SimpleCommandBus`.
219
133
  *
220
- * Before this wrap, an Axon-backed service lost lineage on EVERY command: the
221
- * only registration of `correlationDataDispatchInterceptor` lives in
222
- * `@kronos-ts/app`'s in-memory default bus, and `components.commandBus` from
223
- * this backend replaces it wholesale.
224
- *
225
- * No double-application risk: the local segment here is a plain handler map, not
226
- * a `CommandBus`, so this is the only interceptor in the chain. Inbound commands
227
- * from the server are invoked through that map directly, which matches AF —
228
- * `CommandProcessingTask` runs the local segment WITHOUT re-running dispatch
229
- * interceptors.
134
+ * If `local` is itself an intercepting bus, a server-routed command sees
135
+ * `lineage` twice. That is harmless: both of its fields are `??` seeds, so the
136
+ * second application finds them set and changes nothing.
230
137
  */
231
- export declare function distributedCommandBus(connection: AxonServerConnection, unitOfWorkRunner: UoWRunner, shutdownLatch: ShutdownLatch, serializer: Serializer, flowControl?: FlowControlConfig, commandLoadFactor?: number, resilience?: Partial<ResilienceConfig>): CommandBus;
138
+ export declare function axonServerCommandBus(conn: AxonServerBusSource, local: CommandBus, options?: AxonServerCommandBusOptions): CommandBus;
232
139
  /**
233
- * A query bus backed by Axon Server.
140
+ * A query bus backed by Axon Server, over YOUR local bus.
141
+ *
142
+ * Same architecture as {@link axonServerCommandBus}: outbound dispatch goes
143
+ * through Axon Server, and a query the server routes here runs through `local`,
144
+ * so your unit-of-work policy applies to server-routed reads too. `subscribe`
145
+ * registers on `local` and announces the name to the server.
234
146
  *
235
- * Same architecture as the distributed command bus:
236
- * - **Outbound dispatch**: Always through Axon Server.
237
- * - **Local segment**: Handlers registered here are stored locally and
238
- * registered with Axon Server for inbound routing. Inbound queries
239
- * are executed within a UnitOfWork.
147
+ * The one asymmetry with commands is `shortcutQueriesToLocalHandlers` — Java
148
+ * has it for queries and not for commands, and so do we. When it is on and this
149
+ * node subscribed the name, `query()` goes straight to `local` and the caller's
150
+ * unit of work is passed through, so the local branch nests exactly as the
151
+ * in-process bus does.
240
152
  *
241
- * Wrapped in {@link interceptingQueryBus} with
242
- * {@link correlationDataDispatchInterceptor}, matching AF4's
243
- * `AxonServerQueryBus`, which calls `dispatchInterceptors.intercept(...)` at the
244
- * top of `query`, `streamingQuery`, `scatterGather` and `subscriptionQuery`.
245
- * Because the wrap is outside, the `shortcutQueriesToLocalHandlers` branch in
246
- * `query()` gets identical lineage to the remote branch.
153
+ * Lineage, if wanted, is `interceptingQueryBus(bus, lineage)` at the host,
154
+ * matching AF4's `AxonServerQueryBus`, which calls
155
+ * `dispatchInterceptors.intercept(...)` at the top of `query`, `streamingQuery`,
156
+ * `scatterGather` and `subscriptionQuery`. Because the wrap is outside, the
157
+ * shortcut branch gets identical lineage to the remote branch.
247
158
  *
248
159
  * KNOWN GAP: `subscriptionQuery` / `subscribeToUpdates` build their proto
249
160
  * straight from `message.metadata`, and `interceptingQueryBus` (in
250
- * `@kronos-ts/messaging`) forwards those two calls to the delegate without
251
- * running the dispatch chain. Closing that needs a messaging-package change.
161
+ * `@kronos-ts/core`) forwards those two calls to the delegate without
162
+ * running the dispatch chain. Closing that needs a core change.
252
163
  */
253
- export declare function distributedQueryBus(connection: AxonServerConnection, unitOfWorkRunner: UoWRunner, shutdownLatch: ShutdownLatch, serializer: Serializer, flowControl?: FlowControlConfig, shortcutQueriesToLocalHandlers?: boolean, queryTimeoutMs?: number, resilience?: Partial<ResilienceConfig>): QueryBus;
164
+ export declare function axonServerQueryBus(conn: AxonServerBusSource, local: QueryBus, options?: AxonServerQueryBusOptions): QueryBus;
254
165
  //# sourceMappingURL=axon-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axon-server.d.ts","sourceRoot":"","sources":["../src/axon-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axon-server.d.ts","sourceRoot":"","sources":["../src/axon-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAEV,QAAQ,EAOT,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAgB1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,2BAAgC,GACxC,UAAU,CAuOZ;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,yBAA8B,GACtC,QAAQ,CAojBV"}