@moltzap/client 2026.508.0 → 2026.508.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.
- package/dist/channel-core.d.ts +118 -2
- package/dist/channel-core.d.ts.map +1 -1
- package/dist/channel-core.js +195 -27
- package/dist/channel-core.js.map +1 -1
- package/dist/channel-core.test.js +117 -26
- package/dist/channel-core.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/frame.d.ts +6 -10
- package/dist/runtime/frame.d.ts.map +1 -1
- package/dist/runtime/frame.js +4 -28
- package/dist/runtime/frame.js.map +1 -1
- package/dist/service.d.ts +18 -3
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +28 -50
- package/dist/service.js.map +1 -1
- package/dist/service.test.js +27 -25
- package/dist/service.test.js.map +1 -1
- package/dist/test-utils/channel-service-fixture.d.ts +2 -1
- package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
- package/dist/test-utils/channel-service-fixture.js +8 -0
- package/dist/test-utils/channel-service-fixture.js.map +1 -1
- package/dist/ws-client.d.ts +5 -26
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +71 -97
- package/dist/ws-client.js.map +1 -1
- package/dist/ws-client.test.js +40 -12
- package/dist/ws-client.test.js.map +1 -1
- package/package.json +3 -3
- package/dist/internal/__tests__/app-callback-partition-key.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partition-key.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-key.test.js +0 -20
- package/dist/internal/__tests__/app-callback-partition-key.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-worker.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partition-worker.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-worker.test.js +0 -265
- package/dist/internal/__tests__/app-callback-partition-worker.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js +0 -228
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-test-requests.d.ts +0 -22
- package/dist/internal/__tests__/app-callback-test-requests.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-test-requests.js +0 -45
- package/dist/internal/__tests__/app-callback-test-requests.js.map +0 -1
- package/dist/internal/app-callback-dispatcher-errors.d.ts +0 -50
- package/dist/internal/app-callback-dispatcher-errors.d.ts.map +0 -1
- package/dist/internal/app-callback-dispatcher-errors.js +0 -36
- package/dist/internal/app-callback-dispatcher-errors.js.map +0 -1
- package/dist/internal/app-callback-partition-key.d.ts +0 -58
- package/dist/internal/app-callback-partition-key.d.ts.map +0 -1
- package/dist/internal/app-callback-partition-key.js +0 -80
- package/dist/internal/app-callback-partition-key.js.map +0 -1
- package/dist/internal/app-callback-partition-worker.d.ts +0 -160
- package/dist/internal/app-callback-partition-worker.d.ts.map +0 -1
- package/dist/internal/app-callback-partition-worker.js +0 -141
- package/dist/internal/app-callback-partition-worker.js.map +0 -1
- package/dist/internal/app-callback-partitioned-dispatcher.d.ts +0 -180
- package/dist/internal/app-callback-partitioned-dispatcher.d.ts.map +0 -1
- package/dist/internal/app-callback-partitioned-dispatcher.js +0 -282
- package/dist/internal/app-callback-partitioned-dispatcher.js.map +0 -1
package/dist/channel-core.d.ts
CHANGED
|
@@ -75,6 +75,30 @@ export type DispatchAdmissionDecision = {
|
|
|
75
75
|
_tag: "hold";
|
|
76
76
|
reason?: string;
|
|
77
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* Server → recipient `dispatch/release` notification payload (the
|
|
80
|
+
* verdict). Mirrors `NotificationParamsOf<typeof DispatchRelease>` from
|
|
81
|
+
* the protocol, kept structurally typed here so this module does not
|
|
82
|
+
* need a direct protocol descriptor import (the channel core stays
|
|
83
|
+
* descriptor-free; the wire shape is asserted by the service module).
|
|
84
|
+
*/
|
|
85
|
+
export interface DispatchReleaseFrame {
|
|
86
|
+
readonly dispatchId: string;
|
|
87
|
+
readonly leaseId: string;
|
|
88
|
+
readonly verdict: {
|
|
89
|
+
readonly decision: "grant";
|
|
90
|
+
readonly leaseId?: string;
|
|
91
|
+
readonly leaseTimeoutMs?: number;
|
|
92
|
+
readonly dispatchMessageId?: string;
|
|
93
|
+
} | {
|
|
94
|
+
readonly decision: "deny";
|
|
95
|
+
readonly reason?: string;
|
|
96
|
+
} | {
|
|
97
|
+
readonly decision: "hold";
|
|
98
|
+
readonly reason?: string;
|
|
99
|
+
};
|
|
100
|
+
readonly leaseTimeoutMs?: number;
|
|
101
|
+
}
|
|
78
102
|
/** The subset of MoltZapService that MoltZapChannelCore needs. */
|
|
79
103
|
export interface ChannelService {
|
|
80
104
|
readonly ownAgentId: string | undefined;
|
|
@@ -87,6 +111,7 @@ export interface ChannelService {
|
|
|
87
111
|
on(event: "conversationUnarchived", handler: (data: {
|
|
88
112
|
conversationId: string;
|
|
89
113
|
}) => void): void;
|
|
114
|
+
on(event: "dispatchRelease", handler: (frame: DispatchReleaseFrame) => void): void;
|
|
90
115
|
connect(): Effect.Effect<unknown, ServiceRpcError>;
|
|
91
116
|
close(): void;
|
|
92
117
|
send(conversationId: string, text: string, opts?: {
|
|
@@ -111,7 +136,32 @@ export interface ChannelService {
|
|
|
111
136
|
messages: CrossConvMessage[];
|
|
112
137
|
commit: () => void;
|
|
113
138
|
};
|
|
114
|
-
|
|
139
|
+
/**
|
|
140
|
+
* Issue `dispatch/request` and receive the immediate
|
|
141
|
+
* `{leaseId, dispatchId}` ack. The verdict arrives asynchronously
|
|
142
|
+
* via the `dispatchRelease` event.
|
|
143
|
+
*
|
|
144
|
+
* The argument shape mirrors `ParamsOf<DispatchRequest>` from the
|
|
145
|
+
* protocol (the channel core does not depend on the protocol
|
|
146
|
+
* descriptor, hence the structural shape duplicated here).
|
|
147
|
+
*
|
|
148
|
+
* Optional: when undefined (e.g. unauthenticated test fakes), the
|
|
149
|
+
* channel core falls back to default-grant — every inbound message
|
|
150
|
+
* dispatches without admission.
|
|
151
|
+
*/
|
|
152
|
+
requestDispatch?(params: {
|
|
153
|
+
readonly conversationId: string;
|
|
154
|
+
readonly messageId: string;
|
|
155
|
+
readonly senderAgentId: string;
|
|
156
|
+
readonly parts?: ReadonlyArray<unknown>;
|
|
157
|
+
readonly receivedAt?: string;
|
|
158
|
+
readonly pending?: ReadonlyArray<unknown>;
|
|
159
|
+
readonly clock?: LogicalClock;
|
|
160
|
+
readonly attempt?: number;
|
|
161
|
+
}): Effect.Effect<{
|
|
162
|
+
readonly leaseId: string;
|
|
163
|
+
readonly dispatchId: string;
|
|
164
|
+
}, ServiceRpcError>;
|
|
115
165
|
}
|
|
116
166
|
export interface ChannelCoreOptions {
|
|
117
167
|
service: ChannelService;
|
|
@@ -139,7 +189,30 @@ export declare class MoltZapChannelCore {
|
|
|
139
189
|
private readonly dispatchAdmissionTimeoutMs;
|
|
140
190
|
private connected;
|
|
141
191
|
private inboundHandler;
|
|
142
|
-
|
|
192
|
+
/**
|
|
193
|
+
* Lease id scoped to the in-flight `dispatchInboundEffect` call
|
|
194
|
+
* (set immediately around the user-handler invocation). Replaces
|
|
195
|
+
* the legacy `activeDispatchLeaseId` field whose semantics were
|
|
196
|
+
* unchanged but whose name leaked an admission-flow detail. The
|
|
197
|
+
* field remains a single mutable cell because the consumer fiber
|
|
198
|
+
* processes inbound work strictly serially (one queue, one fiber);
|
|
199
|
+
* concurrent dispatches do not exist on this code path.
|
|
200
|
+
*/
|
|
201
|
+
private leaseIdInFlight;
|
|
202
|
+
/**
|
|
203
|
+
* Per-lease parking Deferreds for dispatches awaiting their
|
|
204
|
+
* `dispatchRelease` verdict. Settled by the `dispatchRelease` event
|
|
205
|
+
* handler when a matching frame arrives.
|
|
206
|
+
*/
|
|
207
|
+
private readonly pendingDispatchesByLease;
|
|
208
|
+
/**
|
|
209
|
+
* Ring buffer of `dispatchRelease` frames that arrived before the
|
|
210
|
+
* recipient registered its parking Deferred (release-then-ack
|
|
211
|
+
* race). Bounded LRU via Map insertion-order iteration; soft-TTL
|
|
212
|
+
* eviction at `DISPATCH_RELEASE_RING_SOFT_TTL_MS` so a release
|
|
213
|
+
* without a matching ack does not leak memory.
|
|
214
|
+
*/
|
|
215
|
+
private readonly pendingReleasesByLease;
|
|
143
216
|
private readonly closedConversationIds;
|
|
144
217
|
private readonly logicalClocks;
|
|
145
218
|
private readonly parkedByConversation;
|
|
@@ -150,6 +223,19 @@ export declare class MoltZapChannelCore {
|
|
|
150
223
|
private disconnectHandlers;
|
|
151
224
|
private reconnectHandlers;
|
|
152
225
|
constructor(opts: ChannelCoreOptions);
|
|
226
|
+
/**
|
|
227
|
+
* Record an incoming `dispatchRelease` frame. If a matching
|
|
228
|
+
* parking Deferred is registered, settle it inline; otherwise
|
|
229
|
+
* insert into the ring buffer for the future ack-side `consume`.
|
|
230
|
+
* Soft-TTL evicts buffered entries whose age exceeds
|
|
231
|
+
* `DISPATCH_RELEASE_RING_SOFT_TTL_MS`; the hard-cap at
|
|
232
|
+
* `DISPATCH_RELEASE_RING_CAPACITY` evicts the oldest entry once
|
|
233
|
+
* exceeded. Both eviction paths warn-log so operators can spot
|
|
234
|
+
* release-without-ack adversarial patterns.
|
|
235
|
+
*/
|
|
236
|
+
private recordDispatchRelease;
|
|
237
|
+
private evictDispatchReleaseRing;
|
|
238
|
+
private consumeDispatchRelease;
|
|
153
239
|
/** Replaces any previous handler. */
|
|
154
240
|
onInbound<E>(handler: InboundHandler<E>): void;
|
|
155
241
|
onDisconnect(handler: () => void): void;
|
|
@@ -165,7 +251,37 @@ export declare class MoltZapChannelCore {
|
|
|
165
251
|
private observeMessage;
|
|
166
252
|
private takeDispatchCandidate;
|
|
167
253
|
private parkDispatchWork;
|
|
254
|
+
/**
|
|
255
|
+
* Issue `dispatch/request` against the service, await the lease's
|
|
256
|
+
* `dispatchRelease` verdict, and return the channel-core
|
|
257
|
+
* `DispatchAdmissionDecision`. Absorbs the ack/release race via
|
|
258
|
+
* `pendingDispatchesByLease` (Deferred) plus
|
|
259
|
+
* `pendingReleasesByLease` (LRU ring buffer):
|
|
260
|
+
* - if release arrives first, the `recordDispatchRelease` event
|
|
261
|
+
* handler buffers it; this method consumes the buffered entry
|
|
262
|
+
* after the ack returns.
|
|
263
|
+
* - if ack arrives first, this method registers a Deferred that
|
|
264
|
+
* `recordDispatchRelease` settles when the release frame
|
|
265
|
+
* arrives.
|
|
266
|
+
*
|
|
267
|
+
* When the service has no `requestDispatch` (test fakes that don't
|
|
268
|
+
* exercise admission), default-grant.
|
|
269
|
+
*
|
|
270
|
+
* On request error or release wait timeout, fail-closed with a
|
|
271
|
+
* synthetic deny verdict. The lease (if minted server-side) ages
|
|
272
|
+
* out via the post-grant TTL or LeaseRegistry's
|
|
273
|
+
* abandon-on-disconnect path; nothing here re-issues.
|
|
274
|
+
*/
|
|
168
275
|
private dispatchAdmission;
|
|
276
|
+
/**
|
|
277
|
+
* Wait for the verdict on `leaseId`. Consumes any buffered
|
|
278
|
+
* `dispatchRelease` first; otherwise registers a parking Deferred
|
|
279
|
+
* and bounded-waits for the `recordDispatchRelease` event handler
|
|
280
|
+
* to settle it. The wait timeout matches today's
|
|
281
|
+
* `dispatchAdmissionTimeoutMs` (default 30 s).
|
|
282
|
+
*/
|
|
283
|
+
private awaitDispatchRelease;
|
|
284
|
+
private projectVerdict;
|
|
169
285
|
private dispatchInboundWork;
|
|
170
286
|
private pendingDispatchSnapshot;
|
|
171
287
|
private takeCoalescedConversationMessages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
|
package/dist/channel-core.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared message-enrichment helper for MoltZap channel adapters.
|
|
3
3
|
*/
|
|
4
|
-
import { Cause, Chunk, Duration, Effect, Fiber, Queue } from "effect";
|
|
4
|
+
import { Cause, Chunk, Deferred, Duration, Effect, Fiber, Queue } from "effect";
|
|
5
5
|
const noopLogger = {
|
|
6
6
|
info: () => { },
|
|
7
7
|
warn: () => { },
|
|
8
8
|
error: () => { },
|
|
9
9
|
};
|
|
10
|
-
const DEFAULT_DISPATCH_ADMISSION_TIMEOUT_MS =
|
|
10
|
+
const DEFAULT_DISPATCH_ADMISSION_TIMEOUT_MS = 30_000;
|
|
11
11
|
const DEFAULT_DISPATCH_LEASE_TIMEOUT_MS = 90_000;
|
|
12
|
+
const DISPATCH_RELEASE_RING_CAPACITY = 256;
|
|
13
|
+
const DISPATCH_RELEASE_RING_SOFT_TTL_MS = 30_000;
|
|
12
14
|
class DispatchLeaseExpired extends Error {
|
|
13
15
|
messageId;
|
|
14
16
|
conversationId;
|
|
@@ -53,7 +55,30 @@ export class MoltZapChannelCore {
|
|
|
53
55
|
dispatchAdmissionTimeoutMs;
|
|
54
56
|
connected = false;
|
|
55
57
|
inboundHandler = null;
|
|
56
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Lease id scoped to the in-flight `dispatchInboundEffect` call
|
|
60
|
+
* (set immediately around the user-handler invocation). Replaces
|
|
61
|
+
* the legacy `activeDispatchLeaseId` field whose semantics were
|
|
62
|
+
* unchanged but whose name leaked an admission-flow detail. The
|
|
63
|
+
* field remains a single mutable cell because the consumer fiber
|
|
64
|
+
* processes inbound work strictly serially (one queue, one fiber);
|
|
65
|
+
* concurrent dispatches do not exist on this code path.
|
|
66
|
+
*/
|
|
67
|
+
leaseIdInFlight;
|
|
68
|
+
/**
|
|
69
|
+
* Per-lease parking Deferreds for dispatches awaiting their
|
|
70
|
+
* `dispatchRelease` verdict. Settled by the `dispatchRelease` event
|
|
71
|
+
* handler when a matching frame arrives.
|
|
72
|
+
*/
|
|
73
|
+
pendingDispatchesByLease = new Map();
|
|
74
|
+
/**
|
|
75
|
+
* Ring buffer of `dispatchRelease` frames that arrived before the
|
|
76
|
+
* recipient registered its parking Deferred (release-then-ack
|
|
77
|
+
* race). Bounded LRU via Map insertion-order iteration; soft-TTL
|
|
78
|
+
* eviction at `DISPATCH_RELEASE_RING_SOFT_TTL_MS` so a release
|
|
79
|
+
* without a matching ack does not leak memory.
|
|
80
|
+
*/
|
|
81
|
+
pendingReleasesByLease = new Map();
|
|
57
82
|
closedConversationIds = new Set();
|
|
58
83
|
logicalClocks = new Map();
|
|
59
84
|
parkedByConversation = new Map();
|
|
@@ -108,6 +133,63 @@ export class MoltZapChannelCore {
|
|
|
108
133
|
this.service.on("conversationUnarchived", ({ conversationId }) => {
|
|
109
134
|
this.closedConversationIds.delete(conversationId);
|
|
110
135
|
});
|
|
136
|
+
this.service.on("dispatchRelease", (frame) => {
|
|
137
|
+
this.recordDispatchRelease(frame);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Record an incoming `dispatchRelease` frame. If a matching
|
|
142
|
+
* parking Deferred is registered, settle it inline; otherwise
|
|
143
|
+
* insert into the ring buffer for the future ack-side `consume`.
|
|
144
|
+
* Soft-TTL evicts buffered entries whose age exceeds
|
|
145
|
+
* `DISPATCH_RELEASE_RING_SOFT_TTL_MS`; the hard-cap at
|
|
146
|
+
* `DISPATCH_RELEASE_RING_CAPACITY` evicts the oldest entry once
|
|
147
|
+
* exceeded. Both eviction paths warn-log so operators can spot
|
|
148
|
+
* release-without-ack adversarial patterns.
|
|
149
|
+
*/
|
|
150
|
+
recordDispatchRelease(frame) {
|
|
151
|
+
const parked = this.pendingDispatchesByLease.get(frame.leaseId);
|
|
152
|
+
if (parked) {
|
|
153
|
+
this.pendingDispatchesByLease.delete(frame.leaseId);
|
|
154
|
+
// `Deferred.unsafeDone` is the sync settler — `succeed` returns an
|
|
155
|
+
// Effect that the caller would have to runFork. The Deferred has
|
|
156
|
+
// `never` in the failure channel, so unsafeDone with Exit.succeed
|
|
157
|
+
// is total.
|
|
158
|
+
Effect.runSync(Deferred.succeed(parked, frame));
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const nowMs = Date.now();
|
|
162
|
+
this.evictDispatchReleaseRing(nowMs);
|
|
163
|
+
this.pendingReleasesByLease.set(frame.leaseId, {
|
|
164
|
+
verdict: frame.verdict,
|
|
165
|
+
leaseTimeoutMs: frame.leaseTimeoutMs,
|
|
166
|
+
receivedAtMs: nowMs,
|
|
167
|
+
});
|
|
168
|
+
while (this.pendingReleasesByLease.size > DISPATCH_RELEASE_RING_CAPACITY) {
|
|
169
|
+
const oldest = this.pendingReleasesByLease.keys().next().value;
|
|
170
|
+
if (oldest === undefined)
|
|
171
|
+
break;
|
|
172
|
+
this.pendingReleasesByLease.delete(oldest);
|
|
173
|
+
this.logger.warn({ leaseId: oldest }, "MoltZapChannelCore: dispatchRelease ring buffer evicted oldest entry (capacity reached)");
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
evictDispatchReleaseRing(nowMs) {
|
|
177
|
+
for (const [leaseId, entry] of this.pendingReleasesByLease) {
|
|
178
|
+
if (nowMs - entry.receivedAtMs <= DISPATCH_RELEASE_RING_SOFT_TTL_MS) {
|
|
179
|
+
// Map iteration is insertion-order; once one entry is fresh
|
|
180
|
+
// every subsequent entry is fresher. Stop here.
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
this.pendingReleasesByLease.delete(leaseId);
|
|
184
|
+
this.logger.warn({ leaseId, ageMs: nowMs - entry.receivedAtMs }, "MoltZapChannelCore: dispatchRelease ring buffer evicted stale entry (soft TTL)");
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
consumeDispatchRelease(leaseId) {
|
|
188
|
+
const entry = this.pendingReleasesByLease.get(leaseId);
|
|
189
|
+
if (entry === undefined)
|
|
190
|
+
return undefined;
|
|
191
|
+
this.pendingReleasesByLease.delete(leaseId);
|
|
192
|
+
return entry;
|
|
111
193
|
}
|
|
112
194
|
/** Replaces any previous handler. */
|
|
113
195
|
onInbound(handler) {
|
|
@@ -152,7 +234,7 @@ export class MoltZapChannelCore {
|
|
|
152
234
|
return Effect.sync(() => this.logger.info({ conversationId }, "MoltZapChannelCore: dropping reply for closed conversation"));
|
|
153
235
|
}
|
|
154
236
|
return this.service.send(conversationId, text, {
|
|
155
|
-
dispatchLeaseId: opts?.dispatchLeaseId ?? this.
|
|
237
|
+
dispatchLeaseId: opts?.dispatchLeaseId ?? this.leaseIdInFlight,
|
|
156
238
|
});
|
|
157
239
|
}
|
|
158
240
|
closeConversation(conversationId) {
|
|
@@ -214,33 +296,49 @@ export class MoltZapChannelCore {
|
|
|
214
296
|
});
|
|
215
297
|
this.parkedByConversation.set(conversationId, parked);
|
|
216
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Issue `dispatch/request` against the service, await the lease's
|
|
301
|
+
* `dispatchRelease` verdict, and return the channel-core
|
|
302
|
+
* `DispatchAdmissionDecision`. Absorbs the ack/release race via
|
|
303
|
+
* `pendingDispatchesByLease` (Deferred) plus
|
|
304
|
+
* `pendingReleasesByLease` (LRU ring buffer):
|
|
305
|
+
* - if release arrives first, the `recordDispatchRelease` event
|
|
306
|
+
* handler buffers it; this method consumes the buffered entry
|
|
307
|
+
* after the ack returns.
|
|
308
|
+
* - if ack arrives first, this method registers a Deferred that
|
|
309
|
+
* `recordDispatchRelease` settles when the release frame
|
|
310
|
+
* arrives.
|
|
311
|
+
*
|
|
312
|
+
* When the service has no `requestDispatch` (test fakes that don't
|
|
313
|
+
* exercise admission), default-grant.
|
|
314
|
+
*
|
|
315
|
+
* On request error or release wait timeout, fail-closed with a
|
|
316
|
+
* synthetic deny verdict. The lease (if minted server-side) ages
|
|
317
|
+
* out via the post-grant TTL or LeaseRegistry's
|
|
318
|
+
* abandon-on-disconnect path; nothing here re-issues.
|
|
319
|
+
*/
|
|
217
320
|
dispatchAdmission(work) {
|
|
218
|
-
if (!this.service.
|
|
321
|
+
if (!this.service.requestDispatch) {
|
|
219
322
|
return Effect.succeed({ _tag: "grant" });
|
|
220
323
|
}
|
|
221
|
-
return Effect.suspend(() => this.service.
|
|
222
|
-
message: work.message,
|
|
324
|
+
return Effect.suspend(() => this.service.requestDispatch({
|
|
223
325
|
conversationId: work.message.conversationId,
|
|
326
|
+
messageId: work.message.id,
|
|
224
327
|
senderAgentId: work.message.senderId,
|
|
328
|
+
parts: work.message.parts,
|
|
225
329
|
attempt: work.attempt,
|
|
226
330
|
receivedAt: new Date(work.receivedAtMs).toISOString(),
|
|
227
331
|
clock: work.clock,
|
|
228
332
|
pending: this.pendingDispatchSnapshot(work),
|
|
229
|
-
})).pipe(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
leaseId: decision.leaseId,
|
|
236
|
-
leaseTimeoutMs: decision.leaseTimeoutMs,
|
|
237
|
-
dispatchMessageId: decision.dispatchMessageId,
|
|
238
|
-
}, "MoltZapChannelCore: dispatch admission granted");
|
|
239
|
-
}
|
|
240
|
-
})), Effect.timeoutFail({
|
|
333
|
+
})).pipe(
|
|
334
|
+
// Total deadline for the admission round-trip (ack + release).
|
|
335
|
+
// Hangs in the underlying RPC fall through to the fail-closed
|
|
336
|
+
// branch below; the request itself does not race the ack/release
|
|
337
|
+
// timeouts independently.
|
|
338
|
+
Effect.timeoutFail({
|
|
241
339
|
duration: Duration.millis(this.dispatchAdmissionTimeoutMs),
|
|
242
|
-
onTimeout: () => new Error(`dispatch
|
|
243
|
-
}), Effect.catchAll((err) => Effect.sync(() => {
|
|
340
|
+
onTimeout: () => new Error(`dispatch request timed out after ${this.dispatchAdmissionTimeoutMs}ms`),
|
|
341
|
+
}), Effect.flatMap(({ leaseId }) => this.awaitDispatchRelease(work, leaseId)), Effect.catchAll((err) => Effect.sync(() => {
|
|
244
342
|
this.logger.warn({
|
|
245
343
|
messageId: work.message.id,
|
|
246
344
|
conversationId: work.message.conversationId,
|
|
@@ -253,6 +351,76 @@ export class MoltZapChannelCore {
|
|
|
253
351
|
};
|
|
254
352
|
})));
|
|
255
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Wait for the verdict on `leaseId`. Consumes any buffered
|
|
356
|
+
* `dispatchRelease` first; otherwise registers a parking Deferred
|
|
357
|
+
* and bounded-waits for the `recordDispatchRelease` event handler
|
|
358
|
+
* to settle it. The wait timeout matches today's
|
|
359
|
+
* `dispatchAdmissionTimeoutMs` (default 30 s).
|
|
360
|
+
*/
|
|
361
|
+
awaitDispatchRelease(work, leaseId) {
|
|
362
|
+
return Effect.gen(this, function* () {
|
|
363
|
+
const buffered = this.consumeDispatchRelease(leaseId);
|
|
364
|
+
if (buffered) {
|
|
365
|
+
return this.projectVerdict(work, leaseId, buffered.verdict);
|
|
366
|
+
}
|
|
367
|
+
const deferred = yield* Deferred.make();
|
|
368
|
+
this.pendingDispatchesByLease.set(leaseId, deferred);
|
|
369
|
+
// `ensuring` (not `tap`) guarantees the entry is removed even on
|
|
370
|
+
// interrupt — without it, a fiber interruption (consumer fiber
|
|
371
|
+
// teardown on `disconnect`) would orphan the Deferred + leak the
|
|
372
|
+
// lease entry until process exit.
|
|
373
|
+
const settled = yield* Deferred.await(deferred).pipe(Effect.timeoutOption(Duration.millis(this.dispatchAdmissionTimeoutMs)), Effect.ensuring(Effect.sync(() => {
|
|
374
|
+
this.pendingDispatchesByLease.delete(leaseId);
|
|
375
|
+
})));
|
|
376
|
+
if (settled._tag === "None") {
|
|
377
|
+
this.logger.warn({
|
|
378
|
+
messageId: work.message.id,
|
|
379
|
+
conversationId: work.message.conversationId,
|
|
380
|
+
leaseId,
|
|
381
|
+
timeoutMs: this.dispatchAdmissionTimeoutMs,
|
|
382
|
+
}, "MoltZapChannelCore: dispatchRelease wait timed out — fail-closed deny");
|
|
383
|
+
return {
|
|
384
|
+
_tag: "deny",
|
|
385
|
+
reason: "dispatch release wait timed out",
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
return this.projectVerdict(work, leaseId, settled.value.verdict);
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
projectVerdict(work, leaseId, verdict) {
|
|
392
|
+
if (verdict.decision === "grant") {
|
|
393
|
+
this.logger.info({
|
|
394
|
+
messageId: work.message.id,
|
|
395
|
+
conversationId: work.message.conversationId,
|
|
396
|
+
attempt: work.attempt,
|
|
397
|
+
leaseId,
|
|
398
|
+
leaseTimeoutMs: verdict.leaseTimeoutMs,
|
|
399
|
+
dispatchMessageId: verdict.dispatchMessageId,
|
|
400
|
+
}, "MoltZapChannelCore: dispatch admission granted");
|
|
401
|
+
const grant = {
|
|
402
|
+
_tag: "grant",
|
|
403
|
+
leaseId: verdict.leaseId ?? leaseId,
|
|
404
|
+
...(verdict.leaseTimeoutMs !== undefined
|
|
405
|
+
? { leaseTimeoutMs: verdict.leaseTimeoutMs }
|
|
406
|
+
: {}),
|
|
407
|
+
...(verdict.dispatchMessageId
|
|
408
|
+
? { dispatchMessageId: verdict.dispatchMessageId }
|
|
409
|
+
: {}),
|
|
410
|
+
};
|
|
411
|
+
return grant;
|
|
412
|
+
}
|
|
413
|
+
if (verdict.decision === "deny") {
|
|
414
|
+
return {
|
|
415
|
+
_tag: "deny",
|
|
416
|
+
...(verdict.reason !== undefined ? { reason: verdict.reason } : {}),
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
return {
|
|
420
|
+
_tag: "hold",
|
|
421
|
+
...(verdict.reason !== undefined ? { reason: verdict.reason } : {}),
|
|
422
|
+
};
|
|
423
|
+
}
|
|
256
424
|
dispatchInboundWork(work) {
|
|
257
425
|
return Effect.gen(this, function* () {
|
|
258
426
|
const current = this.takeDispatchCandidate(work);
|
|
@@ -266,7 +434,7 @@ export class MoltZapChannelCore {
|
|
|
266
434
|
}
|
|
267
435
|
const decision = yield* this.dispatchAdmission(current);
|
|
268
436
|
if (decision._tag === "grant") {
|
|
269
|
-
const messages = this.service.
|
|
437
|
+
const messages = this.service.requestDispatch
|
|
270
438
|
? yield* this.takeCoalescedConversationMessages(current, decision.dispatchMessageId)
|
|
271
439
|
: [current.message];
|
|
272
440
|
if (messages.length === 0) {
|
|
@@ -288,11 +456,11 @@ export class MoltZapChannelCore {
|
|
|
288
456
|
coalescedMessageCount: messages.length,
|
|
289
457
|
}, "MoltZapChannelCore: inbound dispatch starting"));
|
|
290
458
|
const dispatch = Effect.acquireUseRelease(Effect.sync(() => {
|
|
291
|
-
const previous = this.
|
|
292
|
-
this.
|
|
459
|
+
const previous = this.leaseIdInFlight;
|
|
460
|
+
this.leaseIdInFlight = decision.leaseId;
|
|
293
461
|
return previous;
|
|
294
462
|
}), () => this.dispatchInboundEffect(messages), (previous) => Effect.sync(() => {
|
|
295
|
-
this.
|
|
463
|
+
this.leaseIdInFlight = previous;
|
|
296
464
|
}));
|
|
297
465
|
const timeoutMs = decision.leaseId
|
|
298
466
|
? (decision.leaseTimeoutMs ?? DEFAULT_DISPATCH_LEASE_TIMEOUT_MS)
|
|
@@ -489,8 +657,8 @@ export class MoltZapChannelCore {
|
|
|
489
657
|
if (!this.inboundHandler)
|
|
490
658
|
return;
|
|
491
659
|
const { enriched, commitContext } = yield* MoltZapChannelCore.enrichMessage(this.service, messages);
|
|
492
|
-
const leased = this.
|
|
493
|
-
? { ...enriched, dispatchLeaseId: this.
|
|
660
|
+
const leased = this.leaseIdInFlight !== undefined
|
|
661
|
+
? { ...enriched, dispatchLeaseId: this.leaseIdInFlight }
|
|
494
662
|
: enriched;
|
|
495
663
|
// The handler is user code returning an Effect — yield it directly so
|
|
496
664
|
// its typed error channel propagates to the consumer fiber, which logs
|
package/dist/channel-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AA4LhF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC;AAEF,MAAM,qCAAqC,GAAG,MAAM,CAAC;AACrD,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACjD,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAQjD,MAAM,oBAAqB,SAAQ,KAAK;IAE3B;IACA;IACA;IAHX,YACW,SAAiB,EACjB,cAAsB,EACtB,SAAiB;QAE1B,KAAK,CAAC,gCAAgC,SAAS,IAAI,CAAC,CAAC;QAJ5C,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QAG1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,IAAI;YACnB,YAAY,EAAE,GAAG,CAAC,OAAO;YACzB,UAAU,EAAE,GAAG,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC;AASD,SAAS,kBAAkB,CAAC,KAAuB;IACjD,OAAO,KAAK;SACT,MAAM,CACL,CAAC,CAAC,EAA4D,EAAE,CAC9D,CAAC,CAAC,IAAI,KAAK,MAAM,CACpB;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAiB;IACxB,MAAM,CAAiB;IACvB,0BAA0B,CAAS;IAC5C,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAAmC,IAAI,CAAC;IAC9D;;;;;;;;OAQG;IACK,eAAe,CAAqB;IAC5C;;;;OAIG;IACc,wBAAwB,GAAG,IAAI,GAAG,EAGhD,CAAC;IACJ;;;;;;OAMG;IACc,sBAAsB,GAAG,IAAI,GAAG,EAG9C,CAAC;IACa,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAGrC,CAAC;IACa,oBAAoB,GAAG,IAAI,GAAG,EAG5C,CAAC;IACJ;iFAC6E;IAC5D,YAAY,GAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAuB,CAAC,CAAC;IACxC,aAAa,CAAkC;IACxD,kBAAkB,GAAsB,EAAE,CAAC;IAC3C,iBAAiB,GAAsB,EAAE,CAAC;IAElD,YAAY,IAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;QACxC,IAAI,CAAC,0BAA0B;YAC7B,IAAI,CAAC,0BAA0B,IAAI,qCAAqC,CAAC;QAE3E,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,EACD,sEAAsE,CACvE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE;gBACnC,OAAO;gBACP,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gBACxB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,sEAAsE;QACtE,2EAA2E;QAC3E,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;YACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrC,EACD,4CAA4C,CAC7C,CACF,CACF,CACF,CACF,CACF,CACF,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;YAC7D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;YAC/D,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,KAA2B;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,mEAAmE;YACnE,iEAAiE;YACjE,kEAAkE;YAClE,YAAY;YACZ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;YAC7C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,8BAA8B,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC/D,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,yFAAyF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,KAAa;QAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC3D,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,IAAI,iCAAiC,EAAE,CAAC;gBACpE,4DAA4D;gBAC5D,gDAAgD;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,EAC9C,gFAAgF,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,OAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAI,OAA0B;QACrC,IAAI,CAAC,cAAc,GAAG,OAAkC,CAAC;IAC3D,CAAC;IAED,YAAY,CAAC,OAAmB;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,OAAmB;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,QAAmC,EAAE,KAAa;QAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,CAAC,EAAE,CAAC;YACN,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,GAAG,EAAE,KAAK,EAAE,EACd,uBAAuB,KAAK,gBAAgB,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAChC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CACH,EACD,MAAM,CAAC,MAAM,CACd,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,kEAAkE;YAClE,gEAAgE;YAChE,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,SAAS,CACP,cAAsB,EACtB,IAAY,EACZ,IAAmC;QAEnC,IACE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,cAAc,CAAC,EACrD,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,cAAc,EAAE,EAClB,4DAA4D,CAC7D,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE;YAC7C,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,IAAI,CAAC,eAAe;SAC/D,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,cAAsB;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACjD,CAAC;QACF,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;gBACnD,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;YACE,cAAc;YACd,aAAa;SACd,EACD,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,OAAgB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI;YAChE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,MAAM,GAAG;YACb,GAAG,OAAO,CAAC,MAAM;YACjB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;SAChE,CAAC;QACF,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,cAAc;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,QAA6B;QAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAG,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,IAAyB;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC;YACb,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,iBAAiB,CACvB,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,OAAO,CAAC,eAAgB,CAAC;YAC5B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YACpC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAC5C,CAAC,CACH,CAAC,IAAI;QACJ,+DAA+D;QAC/D,8DAA8D;QAC9D,iEAAiE;QACjE,0BAA0B;QAC1B,MAAM,CAAC,WAAW,CAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC1D,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,KAAK,CACP,oCAAoC,IAAI,CAAC,0BAA0B,IAAI,CACxE;SACJ,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG;aACJ,EACD,sDAAsD,CACvD,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,MAAe;gBACrB,MAAM,EAAE,gCAAgC;aACzC,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAC1B,IAAyB,EACzB,OAAe;QAEf,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAA+B,CAAC;YACrE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,iEAAiE;YACjE,+DAA+D;YAC/D,iEAAiE;YACjE,kCAAkC;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAClD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EACtE,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC,CACH,CACF,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;oBAC3C,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,0BAA0B;iBAC3C,EACD,uEAAuE,CACxE,CAAC;gBACF,OAAO;oBACL,IAAI,EAAE,MAAe;oBACrB,MAAM,EAAE,iCAAiC;iBAC1C,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CACpB,IAAyB,EACzB,OAAe,EACf,OAAwC;QAExC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO;gBACP,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,EACD,gDAAgD,CACjD,CAAC;YACF,MAAM,KAAK,GAA8B;gBACvC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;gBACnC,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS;oBACtC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,iBAAiB;oBAC3B,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,IAAyB;QAEzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC7B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;oBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,EACD,+DAA+D,CAChE,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe;oBAC3C,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAC3C,OAAO,EACP,QAAQ,CAAC,iBAAiB,CAC3B;oBACH,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;wBACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC7B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;wBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;qBAC9C,EACD,2DAA2D,CAC5D,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;gBACpC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,SAAS,EAAE,cAAc,CAAC,EAAE;oBAC5B,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;oBACrC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;oBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,qBAAqB,EAAE,QAAQ,CAAC,MAAM;iBACvC,EACD,+CAA+C,CAChD,CACF,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CACvC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;oBACtC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACxC,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,EACF,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAC1C,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;gBAClC,CAAC,CAAC,CACL,CAAC;gBACF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO;oBAChC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,iCAAiC,CAAC;oBAChE,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,KAAK,CAAC,CAAC,QAAQ,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC;wBACjB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;wBACpC,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,oBAAoB,CACtB,cAAc,CAAC,EAAE,EACjB,cAAc,CAAC,cAAc,EAC7B,SAAS,CACV;qBACJ,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtB,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;4BACxC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gCACtB,gBAAgB,GAAG,IAAI,CAAC;gCACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oCACE,SAAS,EAAE,GAAG,CAAC,SAAS;oCACxB,cAAc,EAAE,GAAG,CAAC,cAAc;oCAClC,OAAO,EAAE,OAAO,CAAC,OAAO;oCACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;oCACzB,SAAS,EAAE,GAAG,CAAC,SAAS;iCACzB,EACD,oDAAoD,CACrD,CAAC;4BACJ,CAAC,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;wBACE,SAAS,EAAE,cAAc,CAAC,EAAE;wBAC5B,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;wBACrC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;wBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B,EACD,gDAAgD,CACjD,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC7B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;oBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,EACD,6CAA6C,CAC9C,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;gBAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,EACD,2CAA2C,CAC5C,CACF,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAC7B,MAA2B;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACjD,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,iCAAiC,CACvC,IAAyB,EACzB,iBAA0B;QAE1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACjD,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1E,MAAM,gBAAgB,GAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,SAAS,GAA0B,EAAE,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,gBAAgB,CAAC,IAAI,CACnB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAClD,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAChC,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBACtE,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,MAAM,UAAU,GACd,iBAAiB,KAAK,SAAS;gBAC7B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,gBAAgB,CAAC,SAAS,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAC9C,CAAC;YACR,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,UAAU,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC9B,OAAO,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAClB,OAAuB,EACvB,iBAAmD;QAQnD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;gBACxB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEjE,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjD,uEAAuE;gBACvE,qEAAqE;gBACrE,yCAAyC;gBACzC,OAAO,UAAU,KAAK,SAAS;oBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC5B,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE1D,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,GACR,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC9D,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE;wBACN,EAAE,EAAE,CAAC,CAAC,QAAQ;wBACd,IAAI;qBACL;oBACD,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjC,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GACR,SAAS,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI;gBACpB,CAAC,CAAC,SAAS;qBACN,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAChB,KAAK,KAAK,CAAC;oBACT,CAAC,CAAC,CAAC,CAAC,IAAI;oBACR,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,IAAI,EAAE,CAC1E;qBACA,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtB,MAAM,QAAQ,GACZ,OAAO,CAAC,UAAU,KAAK,SAAS;gBAChC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC;YAE1C,MAAM,gBAAgB,GAAyC,QAAQ;gBACrE,CAAC,CAAC;oBACE,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBAChD,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,aAAa,GAAkB,EAAE,CAAC;YAExC,IAAI,gBAAgB,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvC,aAAa,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACjD,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAClE,OAAO,CAAC,cAAc,CACvB,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,aAAa,CAAC,iBAAiB,GAAG,OAAO,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAClD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,yBAAyB,GAAG,YAAY,CAAC;YACzD,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAEjE,OAAO;gBACL,QAAQ,EAAE;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,MAAM,EAAE;wBACN,EAAE,EAAE,OAAO,CAAC,QAAQ;wBACpB,IAAI,EAAE,UAAU;qBACjB;oBACD,IAAI;oBACJ,QAAQ;oBACR,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,gBAAgB;oBAChB,aAAa;oBACb,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE;gBACD,aAAa,EAAE,UAAU;oBACvB,CAAC,CAAC,GAAG,EAAE;wBACH,YAAY,EAAE,CAAC;wBACf,UAAU,EAAE,CAAC;oBACf,CAAC;oBACH,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAC3B,QAAgC;QAEhC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAC/B,KAAK,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GACV,IAAI,CAAC,eAAe,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;gBACxD,CAAC,CAAC,QAAQ,CAAC;YACf,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,aAAa;gBAAE,aAAa,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|