@plurnk/plurnk-agui 1.6.1 → 1.8.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.
package/dist/Module.js CHANGED
@@ -19,8 +19,7 @@ import { PlurnkParser, UNKNOWN_POSITION } from "@plurnk/plurnk-contracts";
19
19
  import { EventType } from "./types.js";
20
20
  import { aguiRouteTemplate, observed } from "./observe.js";
21
21
  import { RunAgentInputSchema } from "@ag-ui/core";
22
- import { logEntryIdFromToolCallId, proposalInterrupt } from "./AguiPlus.js";
23
- import { Problems, Validator } from "@plurnk/plurnk-contracts";
22
+ import { InvalidModelCatalogQueryError, Problems, Validator } from "@plurnk/plurnk-contracts";
24
23
  import { resolveModuleOptions } from "./config.js";
25
24
  const actionFailure = (code, detail, status = 400, extensions = {}) => ({
26
25
  ok: false,
@@ -97,7 +96,7 @@ class Module {
97
96
  #threads = new Map(); // threadId → envelope
98
97
  #threadWorkers = new Map(); // threadId → conversation workerId
99
98
  static #CONTROL_ACTIONS = Object.freeze([
100
- "ping", "discover", "providers.list", "workspace.list", "workspace.create", "workspace.attach",
99
+ "ping", "discover", "providers.list", "models.list", "workspace.list", "workspace.create", "workspace.attach",
101
100
  ]);
102
101
  // The control plane vs the world. An AG-UI Run lives in a world (a conversation, or an action
103
102
  // that reads/writes a workspace's log); a control-plane action (list/create/attach/discover/
@@ -106,34 +105,43 @@ class Module {
106
105
  "workspace.workers", "log.read", "loop.inject", "loop.cancel", "workspace.prompts", "workspace.rename",
107
106
  "workspace.constrain", "workspace.unconstrain", "workspace.constraints", "entry.read",
108
107
  "workspace.derivation", "op.exec", "op.parse", "workspace.members", "op.look", "run.fork",
108
+ "worker.model.get", "worker.model.set", "worker.child.set",
109
+ "worker.reasoning.get", "worker.reasoning.set",
110
+ "worker.settings.get", "worker.settings.set",
109
111
  ]));
110
112
  static #BUILTIN_ACTIONS = Object.freeze(new Set([
111
113
  ...this.#CONTROL_ACTIONS,
112
114
  ...this.#WORLD_SCOPED,
113
115
  ]));
114
116
  static #NOTIFICATIONS = Object.freeze([
115
- "log/entry", "loop/terminated", "loop/proposal", "notice/event",
117
+ "log/entry", "loop/terminated", "loop/proposal", "loop/interaction", "notice/event",
116
118
  "stream/event", "stream/concluded", "workspace/branch-batch",
117
119
  ]);
118
120
  constructor(seam, opts) {
119
121
  this.#seam = seam;
120
122
  this.#opts = resolveModuleOptions(opts);
121
- this.#moduleActionNames();
123
+ this.#moduleActions();
122
124
  this.#portal = new Portal(seam);
123
125
  this.#http = createServer((req, res) => { void this.#route(req, res); });
124
126
  }
125
- #moduleActionNames() {
126
- const names = this.#seam.listModuleActions();
127
- const seen = new Set();
128
- for (const name of names) {
127
+ #moduleActions() {
128
+ const actions = new Map();
129
+ for (const descriptor of this.#seam.listModuleActions()) {
130
+ const { name, scope } = descriptor;
129
131
  if (_a.#BUILTIN_ACTIONS.has(name)) {
130
132
  throw new Error(`module action '${name}' collides with AG-UI built-in action`);
131
133
  }
132
- if (seen.has(name))
134
+ if (scope !== "worldless" && scope !== "workspace") {
135
+ throw new Error(`module action '${name}' has invalid scope '${String(scope)}'`);
136
+ }
137
+ if (actions.has(name))
133
138
  throw new Error(`module action '${name}' is registered more than once`);
134
- seen.add(name);
139
+ actions.set(name, descriptor);
135
140
  }
136
- return names;
141
+ return actions;
142
+ }
143
+ #isWorkspaceAction(kind) {
144
+ return _a.#WORLD_SCOPED.has(kind) || this.#moduleActions().get(kind)?.scope === "workspace";
137
145
  }
138
146
  static init(opts) {
139
147
  return {
@@ -262,15 +270,20 @@ class Module {
262
270
  return { env, reattached };
263
271
  }
264
272
  // Resolve the thread's conversation worker within its world. Cached per threadId;
265
- // worker names are immutable so the binding can't rot.
266
- async #conversationWorker(threadId, env) {
273
+ // worker names are immutable so the binding can't rot. {§worker-settings} — the
274
+ // client's per-run declaration (forwardedProps.plurnk.requestUserInput) rides the
275
+ // resolution, so a client can change its mind between loops.
276
+ async #conversationWorker(threadId, env, settings) {
267
277
  const cached = this.#threadWorkers.get(threadId);
268
- if (cached !== undefined)
278
+ if (cached !== undefined) {
279
+ if (settings !== undefined)
280
+ await this.#seam.setWorkerSettings({ workspaceId: env.workspaceId, workerId: cached, settings });
269
281
  return cached;
282
+ }
270
283
  const workerId = threadId === env.workspaceName
271
- ? await this.#seam.ensureModelWorker(env.workspaceId)
284
+ ? await this.#seam.ensureModelWorker(env.workspaceId, settings)
272
285
  : (await this.#seam.listWorkers(env.workspaceId)).find((r) => r.name === threadId)?.id
273
- ?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId })).workerId;
286
+ ?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId, ...(settings === undefined ? {} : { settings }) })).workerId;
274
287
  this.#threadWorkers.set(threadId, workerId);
275
288
  return workerId;
276
289
  }
@@ -296,8 +309,9 @@ class Module {
296
309
  // unknown kind, which is no worker at all) answers without binding — or forging — a
297
310
  // workspace. Only world-scoped actions and conversations reach #envelope below.
298
311
  const action = parseAction(input.forwardedProps);
299
- if (action !== null && !_a.#WORLD_SCOPED.has(action.kind))
312
+ if (action !== null && !this.#isWorkspaceAction(action.kind)) {
300
313
  return await this.#controlRun(action, input, res);
314
+ }
301
315
  let prompt = null;
302
316
  if (action === null && input.resume === undefined) {
303
317
  const lastUser = [...input.messages].reverse().find((message) => message.role === "user");
@@ -316,7 +330,9 @@ class Module {
316
330
  // world. threadId == workspace name binds the model worker (the default conversation);
317
331
  // a distinct threadId names its own worker: found by name, else minted via
318
332
  // createConversationWorker. The name is the identity at BOTH levels.
319
- const workerId = await this.#conversationWorker(input.threadId, env);
333
+ const plurnk = forwarded?.plurnk;
334
+ const requestUserInput = plurnk?.requestUserInput;
335
+ const workerId = await this.#conversationWorker(input.threadId, env, typeof requestUserInput === "boolean" ? { requestUserInput } : undefined);
320
336
  res.writeHead(200, { "content-type": "text/event-stream", "cache-control": "no-cache", "connection": "keep-alive" });
321
337
  let finished = false;
322
338
  const interrupts = [];
@@ -336,12 +352,12 @@ class Module {
336
352
  const emit = (events) => {
337
353
  for (const e of events) {
338
354
  res.write(`data: ${JSON.stringify(e)}\n\n`);
339
- // Terminate-resume, the terminate half: a proposal tool-call ENDS this
340
- // AG-UI Run (the loop stays paused in-engine awaiting the resume Run).
355
+ // Terminate-resume, the terminate half: a stopped-world tool call
356
+ // ends this AG-UI Run while its core owner remains paused.
341
357
  if (e.type === "TOOL_CALL_END") {
342
- const logEntryId = logEntryIdFromToolCallId(e.toolCallId);
343
- if (logEntryId !== null)
344
- interrupts.push(proposalInterrupt(logEntryId));
358
+ const interrupt = this.#portal.interruptForToolCall(e.toolCallId);
359
+ if (interrupt !== null)
360
+ interrupts.push(interrupt);
345
361
  }
346
362
  if (e.type === "RUN_FINISHED" || e.type === "RUN_ERROR")
347
363
  finish();
@@ -428,20 +444,15 @@ class Module {
428
444
  ...(forwarded !== undefined && Object.hasOwn(forwarded, "openPaths")
429
445
  ? { openPaths: forwarded.openPaths }
430
446
  : {}),
431
- // {§methods-loop-run-model} The client sends alias and model on every loop;
432
- // model is the client-resolved <provider>/<model>. Forward both, and the daemon's
433
- // runLoop applies precedence (model wins) and resolves the provider per loop.
434
- ...(forwarded !== undefined && Object.hasOwn(forwarded, "alias")
435
- ? { alias: forwarded.alias }
436
- : {}),
437
- ...(forwarded !== undefined && Object.hasOwn(forwarded, "model")
438
- ? { model: forwarded.model }
447
+ // {§methods-loop-run-model} The client may still forward one explicit
448
+ // alias-or-provider/model selector. The daemon
449
+ // persists an explicit selection onto the worker and snapshots it on the
450
+ // loop; an omitted selector continues the worker's durable model.
451
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "selector")
452
+ ? { selector: forwarded.selector }
439
453
  : {}),
440
- ...(forwarded !== undefined && Object.hasOwn(forwarded, "childAlias")
441
- ? { childAlias: forwarded.childAlias }
442
- : {}),
443
- ...(forwarded !== undefined && Object.hasOwn(forwarded, "childModel")
444
- ? { childModel: forwarded.childModel }
454
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "childSelector")
455
+ ? { childSelector: forwarded.childSelector }
445
456
  : {}),
446
457
  });
447
458
  // A dropped SSE on a live AG-UI Run cancels the loop (hangup is the abort). A stream we
@@ -494,7 +505,7 @@ class Module {
494
505
  for (const k of [
495
506
  ..._a.#CONTROL_ACTIONS,
496
507
  ..._a.#WORLD_SCOPED,
497
- ...this.#moduleActionNames(),
508
+ ...this.#moduleActions().keys(),
498
509
  ]) {
499
510
  if (methods[k])
500
511
  throw new Error(`AG-UI action '${k}' is registered more than once`);
@@ -512,13 +523,28 @@ class Module {
512
523
  // runLoop folds a prompt into the active drain; the steered effect streams on the SSE.
513
524
  async #action(a, env, conversationWorkerId) {
514
525
  const p = a.params;
515
- const moduleActions = this.#moduleActionNames();
526
+ const moduleAction = this.#moduleActions().get(a.kind);
516
527
  try {
517
528
  // The control plane — worldless verbs (no bound workspace; #WORLD_SCOPED gates this).
518
529
  switch (a.kind) {
519
530
  case "ping": return { ok: true, result: {} };
520
531
  case "discover": return { ok: true, result: await this.#capabilities() };
521
532
  case "providers.list": return { ok: true, result: this.#seam.listProviders() };
533
+ case "models.list": {
534
+ let query;
535
+ try {
536
+ query = Validator.assertModelCatalogQuery(p);
537
+ }
538
+ catch (error) {
539
+ if (error instanceof InvalidModelCatalogQueryError) {
540
+ return actionFailure("invalid-action-parameters", "models.list received an invalid catalog query.", 400, {
541
+ recovery: "Use provider?, search?, availability?, offset?, and limit? within the advertised bounds.",
542
+ });
543
+ }
544
+ throw error;
545
+ }
546
+ return { ok: true, result: this.#seam.listModels(query) };
547
+ }
522
548
  case "workspace.list": return { ok: true, result: { workspaces: await this.#seam.listWorkspaces() } };
523
549
  case "workspace.create": {
524
550
  // The name IS the identity: an explicit name creates/attaches EXACTLY
@@ -561,12 +587,15 @@ class Module {
561
587
  return { ok: true, result: { id: att.workspaceId, name: att.workspaceName, workerId: att.workerId } };
562
588
  }
563
589
  }
564
- if (moduleActions.includes(a.kind)) {
565
- return { ok: true, result: await this.#seam.invokeModuleAction(a.kind, p) };
590
+ if (moduleAction?.scope === "worldless") {
591
+ return {
592
+ ok: true,
593
+ result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "worldless" }),
594
+ };
566
595
  }
567
596
  // Below this line lives IN a world. An unknown kind is no worker at all; a
568
597
  // world-scoped kind with no bound workspace is a routing bug — both surface plainly.
569
- if (!_a.#WORLD_SCOPED.has(a.kind)) {
598
+ if (!_a.#WORLD_SCOPED.has(a.kind) && moduleAction?.scope !== "workspace") {
570
599
  return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
571
600
  requestedAction: a.kind,
572
601
  recovery: "Use an action advertised by discover.",
@@ -574,6 +603,12 @@ class Module {
574
603
  }
575
604
  if (env === null)
576
605
  throw new Error(`action '${a.kind}' operates within a workspace, but none is bound`);
606
+ if (moduleAction?.scope === "workspace") {
607
+ return {
608
+ ok: true,
609
+ result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "workspace", workspaceId: env.workspaceId }),
610
+ };
611
+ }
577
612
  switch (a.kind) {
578
613
  case "workspace.workers": return { ok: true, result: { workers: await this.#seam.listWorkers(typeof p.id === "number" ? p.id : env.workspaceId) } };
579
614
  case "log.read": {
@@ -654,7 +689,7 @@ class Module {
654
689
  return actionFailure("invalid-action-parameters", "op.exec requires a non-empty command.", 400, { field: "command", recovery: "Provide the command to execute." });
655
690
  }
656
691
  const statement = {
657
- op: "EXEC", suffix: "", signal: null, target: null,
692
+ op: "EXEC", delimiter: "", annotation: null, signal: null, target: null,
658
693
  lineMarker: null, body: p.command, position: UNKNOWN_POSITION,
659
694
  };
660
695
  // Client ops journal as client-origin turns in the client worker (worker split:
@@ -755,6 +790,66 @@ class Module {
755
790
  return operationOutcome(await this.#seam.look({ workspaceId: env.workspaceId, workerId: env.workerId, statement }));
756
791
  }
757
792
  case "run.fork": return { ok: true, result: await this.#seam.forkWorker({ workspaceId: env.workspaceId, workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId), ...(typeof p.name === "string" ? { name: p.name } : {}) }) };
793
+ case "worker.model.get": {
794
+ const { model, spawnModel } = await this.#seam.readWorkerModel({
795
+ workspaceId: env.workspaceId,
796
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
797
+ });
798
+ return { ok: true, result: { model, spawnModel } };
799
+ }
800
+ case "worker.model.set": {
801
+ if (typeof p.selector !== "string" || p.selector.length === 0) {
802
+ return actionFailure("invalid-action-parameters", "worker.model.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route." });
803
+ }
804
+ return { ok: true, result: await this.#seam.setWorkerModel({
805
+ workspaceId: env.workspaceId,
806
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
807
+ selector: p.selector,
808
+ }) };
809
+ }
810
+ case "worker.child.set": {
811
+ if (!Object.hasOwn(p, "selector")
812
+ || (p.selector !== null && (typeof p.selector !== "string" || p.selector.length === 0))) {
813
+ return actionFailure("invalid-action-parameters", "worker.child.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route; null means inherit." });
814
+ }
815
+ return { ok: true, result: await this.#seam.setWorkerSpawnModel({
816
+ workspaceId: env.workspaceId,
817
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
818
+ selector: p.selector,
819
+ }) };
820
+ }
821
+ case "worker.reasoning.get": {
822
+ return { ok: true, result: await this.#seam.readWorkerReasoning({
823
+ workspaceId: env.workspaceId,
824
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
825
+ }) };
826
+ }
827
+ case "worker.reasoning.set": {
828
+ if (!Object.hasOwn(p, "policy")) {
829
+ return actionFailure("invalid-action-parameters", "worker.reasoning.set requires a policy.", 400, { recovery: "Provide a reasoning policy." });
830
+ }
831
+ return { ok: true, result: await this.#seam.setWorkerReasoning({
832
+ workspaceId: env.workspaceId,
833
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
834
+ policy: p.policy,
835
+ }) };
836
+ }
837
+ case "worker.settings.get": {
838
+ return { ok: true, result: await this.#seam.readWorkerSettings({
839
+ workspaceId: env.workspaceId,
840
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
841
+ }) };
842
+ }
843
+ case "worker.settings.set": {
844
+ if (typeof p.settings !== "object" || p.settings === null || Array.isArray(p.settings)) {
845
+ return actionFailure("invalid-action-parameters", "worker.settings.set requires a settings object.", 400, { recovery: "Provide a settings object, e.g. { requestUserInput: true }." });
846
+ }
847
+ return { ok: true, result: await this.#seam.setWorkerSettings({
848
+ workspaceId: env.workspaceId,
849
+ workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
850
+ settings: p.settings,
851
+ }) };
852
+ }
758
853
  default: return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
759
854
  requestedAction: a.kind,
760
855
  recovery: "Use an action advertised by discover.",
@@ -1 +1 @@
1
- {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,uFAAuF;AACvF,yEAAyE;AACzE,EAAE;AACF,gDAAgD;AAChD,mFAAmF;AACnF,qFAAqF;AACrF,4FAA4F;AAC5F,sFAAsF;AACtF,+EAA+E;AAC/E,sCAAsC;AACtC,kFAAkF;AAClF,iFAAiF;;AAEjF,OAAO,EAAE,YAAY,EAAwE,MAAM,WAAW,CAAC;AAC/G,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAA0C,MAAM,eAAe,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAsC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAiG,MAAM,0BAA0B,CAAC;AAC9J,OAAO,EAAE,oBAAoB,EAAkD,MAAM,aAAa,CAAC;AAQnG,MAAM,aAAa,GAAG,CAClB,IAAY,EACZ,MAAc,EACd,MAAM,GAAW,GAAG,EACpB,UAAU,GAAsC,EAAE,EACrC,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,KAAK;IACT,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1D,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB;QAC9D,SAAS,EAAE,KAAK;QAChB,GAAG,UAAU;KAChB,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAChB,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAU,GAAsC,EAAE,EACpC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAM,gBAAiB,SAAQ,KAAK;IACvB,OAAO,CAAiB;IAEjC,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAyB,EAAE;IAC/D,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,qBAAqB,CAAC,MAAyB,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,oBAAoB,CAAC,OAAyB,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAiB,EAAE;IAChE,MAAM,KAAK,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAC7B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,GAOX,EAAmB,EAAE,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CACpB,aAAa,EACb,cAAc,EACd,GAAG,EACH,MAAM,EACN;QACI,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACnB,CACJ;CACJ,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,GAAmB,EAAE,OAAuB,EAAQ,EAAE;IAC5E,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC9E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAuB,EAAe,EAAE,CAAC;IAC7D,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;CAC7E,CAAC;AAEF,MAAqB,MAAM;IACvB,KAAK,CAAa;IAClB,KAAK,CAAwB;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAa;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,sBAAsB;IACpE,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAG,mCAAmC;IAEjF,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;QACpC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB;KACjG,CAAC,CAAC;IAEH,8FAA8F;IAC9F,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACzC,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB;QACtG,qBAAqB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,YAAY;QACrF,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU;KAC5F,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QAC5C,GAAG,IAAI,CAAC,gBAAgB;QACxB,GAAG,IAAI,CAAC,aAAa;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc;QAC/D,cAAc,EAAE,kBAAkB,EAAE,wBAAwB;KAC/D,CAAC,CAAC;IAEH,YAAY,IAAgB,EAAE,IAAmB;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,EAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,uCAAuC,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,gCAAgC,CAAC,CAAC;YAC5F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAmB;QAC3B,OAAO;YACH,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,EAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC7G,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,OAAO;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7F,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAoB,EAAE,GAAmB;QAClD,OAAO,QAAQ,CAAE,+EAA+E;QAC5F,WAAW,EACX,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EACjD,GAAkB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CACpD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACzD,IAAI,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACnE,iFAAiF;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtE,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAC7B,uBAAuB,EACvB,GAAG,EACH,wDAAwD,EACxD;oBACI,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,sCAAsC;oBAChD,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;gBAAE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxG,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,iBAAiB,EAAE,GAAG,EAAE,0CAA0C,EAAE;gBAClG,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;gBAC1B,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI;gBACrB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC,CAAC;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,IAAI,WAAW,CACvC,gBAAgB,EAChB,GAAG,EACH,wCAAwC,EACxC;gBACI,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;YACD,kEAAkE;YAClE,0EAA0E;YAC1E,yEAAyE;YACzE,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,kDAAkD;IAClD,yFAAyF;IACzF,qFAAqF;IACrF,oFAAoF;IACpF,8EAA8E;IAC9E,6EAA6E;IAC7E,kGAAkG;IAClG,6BAA6B;IAC7B,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,SAAmC;QACjE,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,oBAAoB,EACpB,GAAG,EACH,wDAAwD,EACxD;gBACI,KAAK,EAAE,oBAAoB;gBAC3B,QAAQ,EAAE,qCAAqC;gBAC/C,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACpF,IAAI,GAAmB,CAAC;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;YAC7B,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACnC,IAAI,EAAE,SAAS;gBACf,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;oBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAA4B,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;oBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAsD,EAAE;oBAC9E,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;oBAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAA2B,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,kFAAkF;IAClF,uDAAuD;IACvD,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,GAAmB;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,KAAK,GAAG,CAAC,aAAa;YAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,EAAE;mBAC/E,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,GAAmB;QAChD,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,cAAc,EACd,GAAG,EACH,qCAAqC,EACrC,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,CACpD,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,mBAAmB,EACnB,GAAG,EACH,qEAAqE,EACrE;gBACI,KAAK,EAAE,oBAAoB;gBAC3B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC3B,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC,CAAC;QACP,CAAC;QACD,MAAM,KAAK,GAAkB,MAAM,CAAC,IAAI,CAAC;QACzC,MAAM,SAAS,GAAI,KAAK,CAAC,cAAmE,EAAE,MAAM,CAAC;QAErG,gFAAgF;QAChF,oFAAoF;QACpF,gFAAgF;QAChF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,EAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAEjH,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClG,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,uBAAuB,EACvB,GAAG,EACH,4DAA4D,EAC5D;oBACI,KAAK,EAAE,oBAAoB;oBAC3B,QAAQ,EAAE,mCAAmC;oBAC7C,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC,CAAC;YACP,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,mEAAmE;QACnE,uFAAuF;QACvF,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAErE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QACrH,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,gFAAgF;QAChF,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,MAAM,MAAM,GAAG,GAAS,EAAE;YACtB,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,SAAS,KAAK,IAAI;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC7C,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAQ,EAAE;YACvC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC7B,MAAM,UAAU,GAAG,wBAAwB,CAAE,CAA4B,CAAC,UAAU,CAAC,CAAC;oBACtF,IAAI,UAAU,KAAK,IAAI;wBAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;oBAAE,MAAM,EAAE,CAAC;YACtE,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC;oBAC9B,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;iBACnE,CAAC,MAAM,CAAC,CAAC;gBACV,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9G,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzK,IAAI,CAAC;YACD,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YAC7E,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;SAC1J,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,CAAC;YACL,qFAAqF;YACrF,qFAAqF;YACrF,+EAA+E;YAC/E,yEAAyE;YACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAQ,EAAE;oBAClD,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpD,0EAA0E;oBAC1E,6EAA6E;oBAC7E,4EAA4E;oBAC5E,sFAAsF;oBACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACZ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC5C,OAAO;oBACX,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,CAAC,CAAC;gBACF,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;oBACpC,4EAA4E;oBAC5E,sEAAsE;oBACtE,sEAAsE;oBACtE,uCAAuC;qBACtC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9F,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACtC,YAAY,CAAC,OAAO,KAAK,IAAI;wBACzB,CAAC,CAAC,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC;wBACxE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACP,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjB,IAAI,QAAQ;wBAAE,OAAO;oBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;oBACjE,MAAM,EAAE,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,8EAA8E;YAC9E,6DAA6D;YAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sEAAsE;gBAC/F,OAAO;YACX,CAAC;YAED,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAE3G,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnG,IAAI,OAAO,KAAK,IAAI;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC7B,WAAW,EAAE,QAAQ,EAAE,MAAM;gBAC7B,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;oBAC/D,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAkB,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAA2B,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;oBAChE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAqB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;gBACT,4EAA4E;gBAC5E,kFAAkF;gBAClF,8EAA8E;gBAC9E,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAe,EAAE;oBACtC,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAe,EAAE;oBACtC,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;oBACjE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAA2B,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;oBACjE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAoB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,wFAAwF;YACxF,gFAAgF;YAChF,sEAAsE;YACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBACxD,MAAM,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,yDAAyD;YACzD,6EAA6E;YAC7E,+EAA+E;YAC/E,wEAAwE;YACxE,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,YAAY,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,YAAY,IAAI,WAAW,CACvC,YAAY,EACZ,GAAG,EACH,oCAAoC,EACpC;gBACI,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,iFAAiF;IACjF,KAAK,CAAC,WAAW,CAAC,MAAqB,EAAE,KAAoB,EAAE,GAAmB;QAC9E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,CAAC,CAAY,EAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aAC3C,KAAK,CAAC,CAAC,GAAY,EAAiB,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,OAAO,KAAK,IAAI;gBACnB,CAAC,CAAC,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC;gBACxE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnH,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IAED,0FAA0F;IAC1F,6FAA6F;IAC7F,KAAK,CAAC,aAAa;QAKf,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI;YACZ,GAAG,EAAM,CAAC,gBAAgB;YAC1B,GAAG,EAAM,CAAC,aAAa;YACvB,GAAG,IAAI,CAAC,kBAAkB,EAAE;SAC/B,EAAE,CAAC;YACA,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YACpF,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,aAAa,GAAyB,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAM,CAAC,cAAc;YAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,+BAA+B,CACrD,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CACnD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,uFAAuF;IACvF,yFAAyF;IACzF,mFAAmF;IACnF,uFAAuF;IACvF,KAAK,CAAC,OAAO,CAAC,CAAgB,EAAE,GAA0B,EAAE,oBAA6B;QACrF,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAI,CAAC;YACD,sFAAsF;YACtF,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC7C,KAAK,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzE,KAAK,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC/E,KAAK,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;gBACtG,KAAK,kBAAkB,EAAE,CAAC;oBACtB,sEAAsE;oBACtE,yEAAyE;oBACzE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClF,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kDAAkD,EAClD,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gDAAgD,EAAE,CAChF,CAAC;oBACN,CAAC;oBACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACnF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACtH,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;wBAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC;4BAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAA4B,EAAE;4BACjD,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC;4BAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAsD,EAAE;4BAC3E,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;4BAC5B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAA2B,EAAE;4BAC7C,CAAC,CAAC,EAAE,CAAC;qBACZ,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtH,CAAC;gBACD,KAAK,kBAAkB,EAAE,CAAC;oBACtB,wEAAwE;oBACxE,uEAAuE;oBACvE,uEAAuE;oBACvE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC3B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,mDAAmD,EACnD,GAAG,EACH;4BACI,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE,oDAAoD;yBACjE,CACJ,CAAC;oBACN,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC1G,CAAC;YACL,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,2EAA2E;YAC3E,qFAAqF;YACrF,IAAI,CAAC,EAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO,aAAa,CAChB,gBAAgB,EAChB,WAAW,CAAC,CAAC,IAAI,sBAAsB,EACvC,GAAG,EACH;oBACI,eAAe,EAAE,CAAC,CAAC,IAAI;oBACvB,QAAQ,EAAE,uCAAuC;iBACpD,CACJ,CAAC;YACN,CAAC;YACD,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,kDAAkD,CAAC,CAAC;YACvG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,KAAK,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpJ,KAAK,UAAU,EAAE,CAAC;oBACd,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC/I,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;wBACrC,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,YAAY;wBACtB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC9E,CAAC,CAAC;oBACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,CAAC;gBACD,KAAK,aAAa,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,0CAA0C,EAC1C,GAAG,EACH,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CACjE,CAAC;oBACN,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChL,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACjC,CAAC;gBACD,0EAA0E;gBAC1E,8EAA8E;gBAC9E,KAAK,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpK,KAAK,mBAAmB,EAAE,OAAO;oBAC7B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE;wBACJ,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CACjC,GAAG,CAAC,WAAW,EACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS,CAC5D;qBACJ;iBACJ,CAAC;gBACF,KAAK,kBAAkB,EAAE,CAAC;oBACtB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,6CAA6C,EAC7C,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CACjE,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3F,CAAC;gBACD,KAAK,qBAAqB,EAAE,CAAC;oBACzB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,iEAAiE,EACjE,GAAG,EACH,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAClF,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/F,CAAC;gBACD,KAAK,uBAAuB,EAAE,CAAC;oBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,mEAAmE,EACnE,GAAG,EACH,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAClF,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjG,CAAC;gBACD,KAAK,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC9H,KAAK,sBAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC5H,KAAK,YAAY,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,sCAAsC,EACtC,GAAG,EACH,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CACzD,CAAC;oBACN,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;2BACzB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC9F,OAAO,aAAa,CAChB,2BAA2B,EAC3B,iDAAiD,EACjD,GAAG,EACH,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,wDAAwD,EAAE,CAC5F,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACtE,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BACpC,CAAC,CAAC,CAAC,CAAC,QAAQ;4BACZ,CAAC,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;wBACjF,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxE,CAAC,CAAC,CAAC;oBACJ,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,SAAS,EAAE,CAAC;oBACb,uEAAuE;oBACvE,mDAAmD;oBACnD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,uCAAuC,EACvC,GAAG,EACH,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CACpE,CAAC;oBACN,CAAC;oBACD,MAAM,SAAS,GAAkB;wBAC7B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;wBAClD,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB;qBAChE,CAAC;oBACF,gFAAgF;oBAChF,wCAAwC;oBACxC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC1I,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC3F,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,UAAU,EAAE,CAAC;oBACd,8EAA8E;oBAC9E,wDAAwD;oBACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,0CAA0C,EAC1C,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CACrE,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAkC,EAAE,CAAC;oBAClD,MAAM,UAAU,GAAsB,EAAE,CAAC;oBACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACxB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gCAC5B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gCAC1B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gCACrB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gCACzB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gCACzB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;6BAChC,CAAC,CAAC,CAAC;4BACJ,SAAS;wBACb,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;4BAAE,SAAS,CAAC,uCAAuC;wBAChF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAuC,CAAC,CAAC;wBAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;4BAC5B,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;4BAClC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACnC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM;4BACvC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,OAAO;yBACpB,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;wBACtC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;oBAClH,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;4BAAE,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC9D,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,CAAC;gBACD,KAAK,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrG,KAAK,SAAS,EAAE,CAAC;oBACb,kBAAkB;oBAClB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,yCAAyC,EACzC,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,0CAA0C,EAAE,CAC1E,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;oBACtE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1D,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;4BACvC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;4BAChC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;4BAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;4BAC/B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;4BAC/B,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ;yBACtC,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;4BACvC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;4BAClC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACnC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM;4BACvC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,OAAO;yBACpB,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBACnE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACrD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,oFAAoF,EACpF,GAAG,EACH;4BACI,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;4BAChC,QAAQ,EAAE,yCAAyC;yBACtD,CACJ,CAAC;oBACN,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kBAAkB,UAAU,CAAC,MAAM,sDAAsD,EACzF,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAC3E,CAAC;oBACN,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;wBAC/B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,sCAAsC,EACzE,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,wCAAwC,EAAE,CACxE,CAAC;oBACN,CAAC;oBACD,MAAM,SAAS,GAAG,EAAE,GAAI,IAAI,CAAC,SAAgD,EAAE,EAAE,EAAE,MAAM,EAAgC,CAAC;oBAC1H,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxH,CAAC;gBACD,KAAK,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5P,SAAS,OAAO,aAAa,CACzB,gBAAgB,EAChB,WAAW,CAAC,CAAC,IAAI,sBAAsB,EACvC,GAAG,EACH;oBACI,eAAe,EAAE,CAAC,CAAC,IAAI;oBACvB,QAAQ,EAAE,uCAAuC;iBACpD,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAoB;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
package/dist/Portal.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import type { DaemonSeam } from "./DaemonSeam.ts";
2
2
  import { type AguiEvent } from "./types.ts";
3
- import type { ResumeEntry } from "@ag-ui/core";
4
- type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "runLoop" | "cancelDrain">;
3
+ import type { Interrupt, ResumeEntry } from "@ag-ui/core";
4
+ type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "pendingClientInteractions" | "resolveClientInteraction" | "runLoop" | "cancelDrain">;
5
5
  export default class Portal {
6
6
  #private;
7
7
  constructor(seam: PortalSeam);
8
8
  start(): void;
9
9
  stop(): void;
10
+ interruptForToolCall(toolCallId: string): Interrupt | null;
10
11
  openThread(args: {
11
12
  workspaceId: number;
12
13
  workerId: number;
@@ -28,10 +29,8 @@ export default class Portal {
28
29
  auto?: boolean;
29
30
  };
30
31
  openPaths?: string[];
31
- alias?: string;
32
- model?: string;
33
- childAlias?: string | null;
34
- childModel?: string;
32
+ selector?: string;
33
+ childSelector?: string | null;
35
34
  }): Promise<{
36
35
  loopId: number;
37
36
  } | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB/C,KAAK,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC;AAE7H,MAAM,CAAC,OAAO,OAAO,MAAM;;IAQvB,YAAY,IAAI,EAAE,UAAU,EAG3B;IAGD,KAAK,IAAI,IAAI,CA0BZ;IAED,IAAI,IAAI,IAAI,CAIX;IAgBD,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAiB9K;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyD;IAExG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAE5E;IAMD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;IAMD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAIxD;IAMK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAgBpR;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAA6C;IAIxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzF;CACJ"}
1
+ {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB1D,KAAK,UAAU,GAAG,IAAI,CAClB,UAAU,EACR,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,GAC1B,SAAS,GACT,aAAa,CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,MAAM;;IASvB,YAAY,IAAI,EAAE,UAAU,EAM3B;IAGD,KAAK,IAAI,IAAI,CA0BZ;IAED,IAAI,IAAI,IAAI,CAIX;IAmCD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEzD;IASD,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAiB9K;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyD;IAExG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAE5E;IAMD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;IAMD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAIxD;IAMK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAgBrP;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAA6C;IAIxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzF;CACJ"}
package/dist/Portal.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // the HTTP/SSE listener (the outward edge) and workspace establishment (workspace-lifecycle
6
6
  // hook, pending) wrap this; the engine is testable against a mock seam today.
7
7
  import EventRouter from "./EventRouter.js";
8
- import ProposalHitl from "./ProposalHitl.js";
8
+ import ProposalHitl, {} from "./ProposalHitl.js";
9
9
  import { EventType } from "./types.js";
10
10
  export default class Portal {
11
11
  #seam;
@@ -13,10 +13,11 @@ export default class Portal {
13
13
  // all its open AG-UI Runs — concurrent action Runs must not clobber each other's gates.
14
14
  #threads = new Map();
15
15
  #hitl;
16
+ #activeInterrupts = new Map();
16
17
  #off = null;
17
18
  constructor(seam) {
18
19
  this.#seam = seam;
19
- this.#hitl = new ProposalHitl(seam, (workspaceId, workerId, events) => this.#emitToWorker(workspaceId, workerId, events));
20
+ this.#hitl = new ProposalHitl(seam, (workspaceId, workerId, loopId, batch) => this.#emitHitl(workspaceId, workerId, loopId, batch));
20
21
  }
21
22
  // One subscription for the whole module: render each event to its workspace's thread.
22
23
  start() {
@@ -57,13 +58,33 @@ export default class Portal {
57
58
  this.#off?.();
58
59
  this.#off = null;
59
60
  }
60
- #emitToWorker(workspaceId, workerId, events) {
61
+ #emitInterrupt(workspaceId, workerId, loopId, events) {
61
62
  if (events.length === 0)
62
63
  return;
63
- for (const t of this.#threads.get(workspaceId) ?? []) {
64
- if (t.workerId === workerId)
65
- t.emit(events);
64
+ const workerThreads = [...(this.#threads.get(workspaceId) ?? [])]
65
+ .filter((thread) => thread.workerId === workerId);
66
+ const loopThreads = workerThreads.filter((thread) => thread.loopId === loopId);
67
+ for (const thread of loopThreads.length > 0 ? loopThreads : workerThreads)
68
+ thread.emit(events);
69
+ }
70
+ #withHitl(batch, emit) {
71
+ for (const interrupt of batch.interrupts) {
72
+ this.#activeInterrupts.set(interrupt.toolCallId ?? interrupt.id, interrupt);
66
73
  }
74
+ try {
75
+ emit(batch.events);
76
+ }
77
+ finally {
78
+ for (const interrupt of batch.interrupts) {
79
+ this.#activeInterrupts.delete(interrupt.toolCallId ?? interrupt.id);
80
+ }
81
+ }
82
+ }
83
+ #emitHitl(workspaceId, workerId, loopId, batch) {
84
+ this.#withHitl(batch, (events) => this.#emitInterrupt(workspaceId, workerId, loopId, events));
85
+ }
86
+ interruptForToolCall(toolCallId) {
87
+ return this.#activeInterrupts.get(toolCallId) ?? null;
67
88
  }
68
89
  // Bind a client's SSE to a workspace and AG-UI Run. The emit consumer ends its stream when it
69
90
  // sees RUN_FINISHED / RUN_ERROR (the router's terminal projection) — the engine
@@ -121,8 +142,8 @@ export default class Portal {
121
142
  // subscription as loop/terminated). Re-surface any pending stopped-world first.
122
143
  async run(thread, args) {
123
144
  const pending = await this.#hitl.resurface(args.workspaceId, args.workerId);
124
- if (pending.length > 0) {
125
- thread.emit(pending);
145
+ if (pending.events.length > 0) {
146
+ this.#withHitl(pending, (events) => thread.emit(events));
126
147
  return null;
127
148
  }
128
149
  const ack = await this.#seam.runLoop(args);