peerllm-host-cli 1.9.13 → 1.9.15

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.
@@ -15,6 +15,29 @@ const WATCHDOG_INTERVAL_MS = 60 * 1000;
15
15
  const STALE_CONTEXT_LIMIT_MS = 5 * 60 * 1000;
16
16
  const WORKER_READY_TIMEOUT_MS = 10_000;
17
17
  const DISPOSE_SAFETY_TIMEOUT_MS = 5_000;
18
+ // ---------------------------------------------------------------------------
19
+ // S14-5 deadman switch (mirrors the Electron host's sharedLLMRunner.ts)
20
+ // ---------------------------------------------------------------------------
21
+ // The v1.9.11 self-heal only fires when the worker SAYS something fatal. A
22
+ // worker that goes silent (CUDA driver wedge, swap-thrash, native deadlock)
23
+ // left its promises pending forever: activeRequestCount stayed pinned, so the
24
+ // model could never be evicted or idle-disposed while the heartbeat kept
25
+ // advertising it — the production zombie-host signature. These deadmen
26
+ // guarantee every worker round-trip either settles or kills the worker.
27
+ //
28
+ // PROMPT: reset on every streamed token — only sustained silence trips it; the
29
+ // default must also cover the longest legitimate silent phase (prompt-eval of a
30
+ // big context on slow hardware). Env overrides = ops escape hatch.
31
+ function envMsOrDefault(name, fallback) {
32
+ const v = Number(process.env[name]);
33
+ return Number.isFinite(v) && v > 0 ? v : fallback;
34
+ }
35
+ const PROMPT_DEADMAN_MS = envMsOrDefault("PEERLLM_PROMPT_DEADMAN_MS", 5 * 60 * 1000);
36
+ // CONTEXT-CREATE: one worker round-trip + KV-cache allocation — fast or wedged.
37
+ const CONTEXT_CREATE_DEADMAN_MS = envMsOrDefault("PEERLLM_CONTEXT_DEADMAN_MS", 60 * 1000);
38
+ // MODEL-LOAD: very generous ceiling. A hung load otherwise pends forever AND
39
+ // wedges the RunnerPool admission chain — every later load queues behind it.
40
+ const MODEL_LOAD_DEADMAN_MS = envMsOrDefault("PEERLLM_LOAD_DEADMAN_MS", 15 * 60 * 1000);
18
41
  const workerScript = fileURLToPath(new URL("./llmWorker.js", import.meta.url));
19
42
  // ---------------------------------------------------------------------------
20
43
  // Graphics cache (used for GPU layer calculation in parent process)
@@ -47,6 +70,15 @@ export class SharedGGUFRunner {
47
70
  _workerEra = 0;
48
71
  _gracefulDispose = false;
49
72
  _workerCrashCallback = null;
73
+ // S14-7: epoch-ms of the last message of ANY kind from the current worker.
74
+ // Updated by _handleWorkerMessage; read by the heartbeat liveness report.
75
+ _lastWorkerActivityAt = 0;
76
+ // S14-7: pings sent since the worker last said anything. Reset on every
77
+ // worker message; the heartbeat treats several consecutive unanswered pings
78
+ // as the wedged signature. Counting pings (not wall-clock) avoids false
79
+ // "wedged" verdicts when pings simply weren't being sent (e.g. just
80
+ // connected, or no heartbeat running).
81
+ _pingsSinceWorkerActivity = 0;
50
82
  // Lightweight context trackers — actual objects live in the worker
51
83
  contextTrackers = new Map();
52
84
  maxConcurrentContexts = 10;
@@ -85,6 +117,42 @@ export class SharedGGUFRunner {
85
117
  isModelInUse() {
86
118
  return this.activeRequestCount > 0;
87
119
  }
120
+ // ---------------------------------------------------------------------------
121
+ // S14-7 worker liveness
122
+ // ---------------------------------------------------------------------------
123
+ /**
124
+ * Fire-and-forget liveness probe. The worker's message router answers pings
125
+ * even mid-generation (evals run on native threads), so a missing answer
126
+ * means the worker process is wedged, not merely busy. Callers read the
127
+ * answer indirectly via getWorkerLiveness().lastActivityAt.
128
+ */
129
+ pingWorker() {
130
+ if (this.worker && this._workerSend({ type: "ping", t: Date.now() })) {
131
+ this._pingsSinceWorkerActivity++;
132
+ }
133
+ }
134
+ /**
135
+ * Snapshot for the heartbeat's per-model health report: when the worker last
136
+ * said anything, how many pings it has left unanswered, how many prompts are
137
+ * in flight, and the age of the oldest — the inputs that let the orchestrator
138
+ * tell "busy" (recent activity, young in-flights) from "wedged" (silence,
139
+ * ancient in-flights).
140
+ */
141
+ getWorkerLiveness() {
142
+ let oldest = 0;
143
+ const now = Date.now();
144
+ for (const [, cb] of this._promptCallbacks.entries()) {
145
+ const age = now - cb.startedAt;
146
+ if (age > oldest)
147
+ oldest = age;
148
+ }
149
+ return {
150
+ lastActivityAt: this._lastWorkerActivityAt,
151
+ unansweredPings: this._pingsSinceWorkerActivity,
152
+ activeRequests: this.activeRequestCount,
153
+ oldestInFlightMs: oldest,
154
+ };
155
+ }
88
156
  getStats() {
89
157
  return {
90
158
  activeContexts: this.contextTrackers.size,
@@ -230,6 +298,16 @@ export class SharedGGUFRunner {
230
298
  return;
231
299
  this._handleWorkerExit(code, signal);
232
300
  });
301
+ // v1.9.15 hotfix: a ChildProcess with NO persistent 'error' listener turns
302
+ // any async process/IPC error (e.g. ERR_IPC_CHANNEL_CLOSED from a send that
303
+ // raced the worker's exit) into an UNCAUGHT EXCEPTION that kills the daemon.
304
+ // The once-listener inside the ready handshake below detaches after firing;
305
+ // this one lives as long as the worker. Log-only: 'exit' owns recovery.
306
+ worker.on("error", (err) => {
307
+ if (this._workerEra !== era)
308
+ return;
309
+ getLogger().warn(`runner: worker process error (non-fatal to host): ${err.message}`);
310
+ });
233
311
  // Await the initial 'ready' handshake, then switch to permanent handler
234
312
  await new Promise((resolve, reject) => {
235
313
  const t = setTimeout(() => {
@@ -252,13 +330,46 @@ export class SharedGGUFRunner {
252
330
  });
253
331
  // Send load-model and await confirmation
254
332
  await new Promise((resolve, reject) => {
255
- this._loadCallback = { resolve, reject, gen: this.generation };
256
- this._workerSend({ type: "load-model", modelPath, gpuLayers });
333
+ // S14-5 deadman: a hung load otherwise pends forever AND wedges the
334
+ // RunnerPool admission chain (every later load queues behind it). The
335
+ // ceiling is deliberately generous — a 20B from a slow disk takes
336
+ // minutes, never fifteen. Rejecting is enough: the load failure path
337
+ // runs _cleanupPartialLoad, which kills the worker and resets to cold.
338
+ const deadman = setTimeout(() => {
339
+ if (this._loadCallback !== entry)
340
+ return; // already settled
341
+ this._loadCallback = null;
342
+ reject(new Error(`model-load deadman: worker silent for ${Math.round(MODEL_LOAD_DEADMAN_MS / 1000)}s — load presumed hung`));
343
+ }, MODEL_LOAD_DEADMAN_MS);
344
+ const entry = {
345
+ resolve: () => {
346
+ clearTimeout(deadman);
347
+ resolve();
348
+ },
349
+ reject: (e) => {
350
+ clearTimeout(deadman);
351
+ reject(e);
352
+ },
353
+ gen: this.generation,
354
+ };
355
+ this._loadCallback = entry;
356
+ if (!this._workerSend({ type: "load-model", modelPath, gpuLayers })) {
357
+ clearTimeout(deadman);
358
+ this._loadCallback = null;
359
+ reject(new Error("worker IPC send failed (load-model) — worker unavailable"));
360
+ }
257
361
  });
258
362
  this._loadCallback = null;
259
363
  }
260
364
  _handleWorkerMessage(msg) {
365
+ // S14-7: ANY worker message proves the worker process is responsive.
366
+ this._lastWorkerActivityAt = Date.now();
367
+ this._pingsSinceWorkerActivity = 0;
261
368
  switch (msg.type) {
369
+ case "pong": {
370
+ // Liveness probe answer — the timestamp update above is the payload.
371
+ break;
372
+ }
262
373
  case "loaded": {
263
374
  const cb = this._loadCallback;
264
375
  this._loadCallback = null;
@@ -279,23 +390,25 @@ export class SharedGGUFRunner {
279
390
  }
280
391
  case "token": {
281
392
  const cb = this._promptCallbacks.get(msg.requestId);
282
- if (cb && this.generation === cb.gen) {
283
- cb.onToken?.(msg.chunk);
393
+ if (cb) {
394
+ // S14-5: streamed output proves the worker is alive — re-arm the
395
+ // deadman so only sustained silence can trip it.
396
+ this._armPromptDeadman(cb, msg.requestId);
397
+ if (this.generation === cb.gen)
398
+ cb.onToken?.(msg.chunk);
284
399
  }
285
400
  break;
286
401
  }
287
402
  case "done": {
288
- const cb = this._promptCallbacks.get(msg.requestId);
403
+ const cb = this._takePromptCallback(msg.requestId);
289
404
  if (cb) {
290
- this._promptCallbacks.delete(msg.requestId);
291
405
  cb.resolve({ text: msg.text, promptTokens: msg.promptTokens, completionTokens: msg.completionTokens });
292
406
  }
293
407
  break;
294
408
  }
295
409
  case "cancelled": {
296
- const cb = this._promptCallbacks.get(msg.requestId);
410
+ const cb = this._takePromptCallback(msg.requestId);
297
411
  if (cb) {
298
- this._promptCallbacks.delete(msg.requestId);
299
412
  cb.resolve({ text: msg.text, promptTokens: msg.promptTokens, completionTokens: msg.completionTokens });
300
413
  }
301
414
  break;
@@ -303,9 +416,8 @@ export class SharedGGUFRunner {
303
416
  case "error": {
304
417
  const message = msg.message ?? "";
305
418
  if (msg.requestId) {
306
- const cb = this._promptCallbacks.get(msg.requestId);
419
+ const cb = this._takePromptCallback(msg.requestId);
307
420
  if (cb) {
308
- this._promptCallbacks.delete(msg.requestId);
309
421
  cb.reject(new Error(message));
310
422
  }
311
423
  }
@@ -361,6 +473,13 @@ export class SharedGGUFRunner {
361
473
  const cb = this._disposeCallback;
362
474
  this._disposeCallback = null;
363
475
  cb?.resolve();
476
+ // S14-5: a worker can exit "gracefully" (clean dispose initiated) while
477
+ // prompts are still in flight — e.g. it died before sending 'disposed'.
478
+ // The old early-return left those prompt promises pending FOREVER
479
+ // (activeRequestCount pinned, model un-evictable). Finalize so every
480
+ // remaining callback is rejected and state resets to cold, exactly like
481
+ // the Electron host's graceful-exit path.
482
+ this._finalizeDispose();
364
483
  return;
365
484
  }
366
485
  // Unexpected crash
@@ -376,6 +495,10 @@ export class SharedGGUFRunner {
376
495
  }
377
496
  this._contextCallbacks.clear();
378
497
  for (const [, cb] of this._promptCallbacks.entries()) {
498
+ if (cb.deadman) {
499
+ clearTimeout(cb.deadman);
500
+ cb.deadman = null;
501
+ } // S14-5: disarm before reject
379
502
  cb.reject(new Error(`llmWorker crashed (code=${String(code)})`));
380
503
  }
381
504
  this._promptCallbacks.clear();
@@ -399,6 +522,10 @@ export class SharedGGUFRunner {
399
522
  }
400
523
  this._contextCallbacks.clear();
401
524
  for (const [, cb] of this._promptCallbacks.entries()) {
525
+ if (cb.deadman) {
526
+ clearTimeout(cb.deadman);
527
+ cb.deadman = null;
528
+ } // S14-5: disarm before reject
402
529
  cb.reject(new Error("runner disposed"));
403
530
  }
404
531
  this._promptCallbacks.clear();
@@ -410,14 +537,33 @@ export class SharedGGUFRunner {
410
537
  this.stopWatchdog();
411
538
  this.runnerState = "cold";
412
539
  }
540
+ // S14-5: returns whether the message actually reached the IPC channel. A
541
+ // swallowed send failure used to orphan the just-registered callback — the
542
+ // caller's promise then pended forever. Round-trip senders (prompt, context,
543
+ // load) MUST check the result and reject immediately on false; fire-and-forget
544
+ // sends (cancel, clear-context, ping) may ignore it.
545
+ //
546
+ // v1.9.15 hotfix: ChildProcess.send() on a CLOSED channel does NOT throw into
547
+ // the try/catch — without a callback it emits an async 'error' event on the
548
+ // ChildProcess, and with no 'error' listener Node escalates that to an
549
+ // UNCAUGHT EXCEPTION (ERR_IPC_CHANNEL_CLOSED killed the v1.9.14 Electron host;
550
+ // same hazard here, hit every 5s by the heartbeat ping during the worker-exit
551
+ // window where this.worker isn't nulled yet). Three layers close it: the
552
+ // `connected` guard, the send CALLBACK (routes async failures here instead of
553
+ // the 'error' event), and the persistent 'error' listener registered at spawn.
413
554
  _workerSend(msg) {
414
- if (!this.worker)
415
- return;
555
+ const worker = this.worker;
556
+ if (!worker || !worker.connected)
557
+ return false;
416
558
  try {
417
- this.worker.send(msg);
559
+ return worker.send(msg, (err) => {
560
+ if (err)
561
+ getLogger().warn(`runner: worker IPC send failed (async): ${err.message}`);
562
+ });
418
563
  }
419
564
  catch {
420
565
  // Worker may have already exited
566
+ return false;
421
567
  }
422
568
  }
423
569
  _cleanupPartialLoad() {
@@ -456,6 +602,7 @@ export class SharedGGUFRunner {
456
602
  if (this.runnerState === "cold" || this.runnerState === "disposing")
457
603
  return;
458
604
  getLogger().error(`runner: worker backend poisoned ("${reason}") — killing worker so the next request reloads fresh`);
605
+ const crashModel = this.modelName;
459
606
  this.clearIdleTimer();
460
607
  this.stopWatchdog();
461
608
  ++this._workerEra; // invalidate this worker's exit handler
@@ -470,6 +617,54 @@ export class SharedGGUFRunner {
470
617
  }
471
618
  // Rejects any still-pending callbacks and resets all state to cold.
472
619
  this._finalizeDispose();
620
+ // S14-5: drop the runner from the pool so the next request rebuilds it
621
+ // cleanly — mirrors the Electron host and the crash-exit path. Without
622
+ // this the pool kept a cold husk in `runners` after every self-heal.
623
+ if (crashModel)
624
+ this.onIdleDispose?.(crashModel);
625
+ }
626
+ // ---------------------------------------------------------------------------
627
+ // S14-5 prompt deadman
628
+ // ---------------------------------------------------------------------------
629
+ // (Re)arm a prompt's deadman. Called when the prompt is registered and on
630
+ // every streamed token, so the timer only ever expires after
631
+ // PROMPT_DEADMAN_MS of total worker silence on that request.
632
+ _armPromptDeadman(cb, requestId) {
633
+ if (cb.deadman)
634
+ clearTimeout(cb.deadman);
635
+ cb.deadman = setTimeout(() => this._onPromptDeadman(requestId), PROMPT_DEADMAN_MS);
636
+ }
637
+ // Remove a prompt callback and disarm its deadman. The single exit point for
638
+ // settling a prompt entry (done / cancelled / error / deadman) so a timer can
639
+ // never outlive its callback.
640
+ _takePromptCallback(requestId) {
641
+ const cb = this._promptCallbacks.get(requestId);
642
+ if (cb) {
643
+ this._promptCallbacks.delete(requestId);
644
+ if (cb.deadman) {
645
+ clearTimeout(cb.deadman);
646
+ cb.deadman = null;
647
+ }
648
+ }
649
+ return cb;
650
+ }
651
+ // Deadman expiry: the worker produced NOTHING for an in-flight prompt for the
652
+ // entire window — not a token, not an error, not a cancel ack. That is the
653
+ // wedged-worker signature (a healthy-but-slow generation re-arms on every
654
+ // token; a loud failure settles via 'error'). Reject the request and replace
655
+ // the worker, exactly like the fatal-error self-heal — extending v1.9.11's
656
+ // "worker said something fatal" recovery to "worker said nothing at all".
657
+ _onPromptDeadman(requestId) {
658
+ const cb = this._takePromptCallback(requestId);
659
+ if (!cb)
660
+ return; // settled in the same tick — nothing to do
661
+ const reason = `prompt deadman: no worker output for ${Math.round(PROMPT_DEADMAN_MS / 1000)}s ` +
662
+ `(request ${requestId}, conversation ${cb.conversationId}) — worker presumed wedged`;
663
+ getLogger().error(`runner: ${reason}`);
664
+ cb.reject(new Error(reason));
665
+ // Kills the worker, rejects every other pending callback, resets to cold,
666
+ // and drops the runner from the pool so the next request reloads fresh.
667
+ this._recoverFromPoisonedWorker(reason);
473
668
  }
474
669
  // ---------------------------------------------------------------------------
475
670
  // Context management
@@ -492,8 +687,37 @@ export class SharedGGUFRunner {
492
687
  }
493
688
  }
494
689
  await new Promise((resolve, reject) => {
495
- this._contextCallbacks.set(conversationId, { resolve, reject, gen });
496
- this._workerSend({ type: "create-context", conversationId });
690
+ // S14-5 deadman: context creation is one worker round-trip + KV-cache
691
+ // allocation it finishes in seconds or the worker is wedged. Without
692
+ // this, a silent worker hangs every prompt right here, BEFORE the prompt
693
+ // deadman can even be armed.
694
+ const deadman = setTimeout(() => {
695
+ if (this._contextCallbacks.get(conversationId) !== entry)
696
+ return; // already settled
697
+ this._contextCallbacks.delete(conversationId);
698
+ const reason = `context-create deadman: worker silent for ${Math.round(CONTEXT_CREATE_DEADMAN_MS / 1000)}s ` +
699
+ `(conversation ${conversationId}) — worker presumed wedged`;
700
+ getLogger().error(`runner: ${reason}`);
701
+ reject(new Error(reason));
702
+ this._recoverFromPoisonedWorker(reason);
703
+ }, CONTEXT_CREATE_DEADMAN_MS);
704
+ const entry = {
705
+ resolve: () => {
706
+ clearTimeout(deadman);
707
+ resolve();
708
+ },
709
+ reject: (e) => {
710
+ clearTimeout(deadman);
711
+ reject(e);
712
+ },
713
+ gen,
714
+ };
715
+ this._contextCallbacks.set(conversationId, entry);
716
+ if (!this._workerSend({ type: "create-context", conversationId })) {
717
+ clearTimeout(deadman);
718
+ this._contextCallbacks.delete(conversationId);
719
+ reject(new Error("worker IPC send failed (create-context) — worker unavailable"));
720
+ }
497
721
  });
498
722
  // Tracker entry is set by _handleWorkerMessage when 'context-created' arrives
499
723
  }
@@ -518,14 +742,25 @@ export class SharedGGUFRunner {
518
742
  const requestId = `${conversationId}:${Date.now()}:${Math.random().toString(36).slice(2)}`;
519
743
  try {
520
744
  const result = await new Promise((resolve, reject) => {
521
- this._promptCallbacks.set(requestId, {
745
+ const cb = {
522
746
  resolve,
523
747
  reject,
524
748
  onToken,
525
749
  gen,
526
750
  conversationId,
527
- });
528
- this._workerSend({ type: "prompt", requestId, conversationId, input, options });
751
+ deadman: null,
752
+ startedAt: Date.now(),
753
+ };
754
+ this._promptCallbacks.set(requestId, cb);
755
+ // S14-5: arm the deadman before sending — covers a worker that wedges
756
+ // during prompt-eval (silent phase before the first token).
757
+ this._armPromptDeadman(cb, requestId);
758
+ if (!this._workerSend({ type: "prompt", requestId, conversationId, input, options })) {
759
+ // S14-5: the send never reached the worker — settle NOW instead of
760
+ // leaving an orphaned callback behind a dead IPC channel.
761
+ this._takePromptCallback(requestId);
762
+ reject(new Error("worker IPC send failed (prompt) — worker unavailable"));
763
+ }
529
764
  });
530
765
  this._promptCallbacks.delete(requestId);
531
766
  if (this.generation !== gen) {
@@ -1 +1 @@
1
- {"version":3,"file":"shared-runner.js","sourceRoot":"","sources":["../../src/core/shared-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA8FjD,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/C,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/E,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,IAAI,eAAoF,CAAC;AACzF,IAAI,iBAAyE,CAAC;AAC9E,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5C,KAAK,UAAU,iBAAiB;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,eAAe,IAAI,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACxE,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,eAAe,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,iBAAiB,GAAG,SAAS,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAWD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IAkCR;IACA;IAlCnB,iBAAiB;IACT,MAAM,GAA2B,IAAI,CAAC;IACtC,UAAU,GAAG,CAAC,CAAC;IACf,gBAAgB,GAAG,KAAK,CAAC;IACzB,oBAAoB,GAEjB,IAAI,CAAC;IAEhB,mEAAmE;IAClD,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,qBAAqB,GAAG,EAAE,CAAC;IAE5C,sBAAsB;IACd,aAAa,GAAwB,IAAI,CAAC;IACjC,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,gBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,gBAAgB,GAA2B,IAAI,CAAC;IAExD,eAAe;IACP,SAAS,GAAG,EAAE,CAAC;IACf,SAAS,GAAG,CAAC,CAAC;IACd,WAAW,GAAgB,MAAM,CAAC;IAClC,UAAU,GAAsB,IAAI,CAAC;IACrC,kBAAkB,GAAG,CAAC,CAAC;IAEvB,cAAc,GAAyB,IAAI,CAAC;IAC5C,UAAU,GAAG,CAAC,CAAC;IAEf,SAAS,GAA0B,IAAI,CAAC;IACxC,aAAa,GAA0B,IAAI,CAAC;IAC5C,aAAa,GAAyC,IAAI,CAAC;IAEnE,YACmB,GAAoB,EACpB,gBAAwB,uBAAuB;QAD/C,QAAG,GAAH,GAAG,CAAiB;QACpB,kBAAa,GAAb,aAAa,CAAkC;IAC/D,CAAC;IAEJ,sBAAsB,CAAC,EAA+B;QACpD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,sBAAsB,CAAC,EAAyD;QAC9E,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACzC,WAAW,EAAE,IAAI,CAAC,qBAAqB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,QAAiB,EACjB,WAA8B,MAAM;QAEpC,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,iCAAiC,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACpF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACpC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,oEAAoE;QACpE,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,mBAAmB;QACnB,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClE,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,SAAS,SAAS,oCAAoC,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAClF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,SAAiB,EACjB,QAA4B,EAC5B,QAA2B;QAE3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE;YACzF,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC3C,IAAI,GAA4D,CAAC;YACjE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,UAAU,EAAE,KAAK,QAAQ,IAAI,MAAM,EAAE,KAAK,OAAO,EAAE,CAAC;gBAC7D,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,GAAG;oBACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClD;wBACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAChF,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAc,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAE3D,6EAA6E;YAC7E,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,eAAe,GACnB,UAAU,EAAE,KAAK,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,QAAQ,IAAI,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC;YAClF,IAAI,CAAC,SAAS,GAAG,eAAe;gBAC9B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,4BAA4B,CAC1B,MAAM,EACN,SAAS,EACT,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAsC,EACtD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAC1B,CAAC;YAEN,SAAS,EAAE,CAAC,IAAI,CACd,mBAAmB,GAAG,EAAE,KAAK,IAAI,MAAM,SAAS,MAAM,aAAa,IAAI,CAAC,SAAS,EAAE;gBACjF,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,UAAU,EAAE,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;YAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI;gBACd,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC3F,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,MAAM,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAEtE,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,SAAiB;QAC9D,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YAC3G,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,6CAA6C;YAChE,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QAE9B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE;YACvC,kEAAkE;YAClE,yEAAyE;YACzE,2EAA2E;YAC3E,gEAAgE;YAChE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;YAC7C,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,2EAA2E;QAC3E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG;gBAAE,OAAO;YACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAChD,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAE5B,MAAM,KAAK,GAAG,CAAC,GAAY,EAAQ,EAAE;gBACnC,MAAM,GAAG,GAAG,GAAuB,CAAC;gBACpC,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,YAAY,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAqB,CAAC,CAAC,CAAC;oBAC9E,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3B,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,oBAAoB,CAAC,GAAqB;QAChD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,EAAE,EAAE,OAAO,EAAE,CAAC;gBACd,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE;oBAC3C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;oBACtB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC1D,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAClD,EAAE,CAAC,OAAO,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;oBACrC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpD,IAAI,EAAE,EAAE,CAAC;wBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC5C,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC1D,IAAI,EAAE,EAAE,CAAC;wBACP,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBAClD,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,aAAa;oBACb,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;oBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjC,CAAC;gBACD,6DAA6D;gBAC7D,iEAAiE;gBACjE,uEAAuE;gBACvE,uEAAuE;gBACvE,yEAAyE;gBACzE,yEAAyE;gBACzE,gEAAgE;gBAChE,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,4EAA4E;gBAC5E,wEAAwE;gBACxE,wEAAwE;gBACxE,wEAAwE;gBACxE,EAAE,IAAI,CAAC,UAAU,CAAC;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,EAAE,EAAE,OAAO,EAAE,CAAC;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM;YACR,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,KAAK,GAAG,GAAG,CAAC,KAAkC,CAAC;gBACrD,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAmB,EAAE,MAA6B;QAC1E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,yFAAyF;YACzF,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,EAAE,EAAE,OAAO,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,SAAS,EAAE,CAAC,KAAK,CACf,6BAA6B,UAAU,UAAU,IAAI,IAAI,MAAM,WAAW,MAAM,IAAI,MAAM,EAAE,CAC7F,CAAC;QAEF,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAElF,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,GAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO,CAAC,oCAAoC;QAC7E,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,uCAAuC;QAC1D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,2DAA2D;IACnD,MAAM,CAAU,kBAAkB,GACxC,kHAAkH,CAAC;IAErH,MAAM,CAAC,kBAAkB,CAAC,OAAe;QACvC,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IACtE,0BAA0B,CAAC,MAAc;QAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW;YAAE,OAAO;QAC5E,SAAS,EAAE,CAAC,KAAK,CACf,qCAAqC,MAAM,uDAAuD,CACnG,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,wCAAwC;QAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,oEAAoE;QACpE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAEtE,KAAK,CAAC,cAAc,CAAC,cAAsB,EAAE,GAAW;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;iBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,8EAA8E;IAChF,CAAC;IAED,8EAA8E;IAC9E,uBAAuB;IACvB,8EAA8E;IAE9E,KAAK,CAAC,MAAM,CACV,cAAsB,EACtB,KAAa,EACb,OAAiC,EACjC,OAAuE;QAEvE,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAExE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7D,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,gBAAgB,cAAc,yCAAyC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;oBACnC,OAAO;oBACP,MAAM;oBACN,OAAO;oBACP,GAAG;oBACH,cAAc;iBACf,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC9F,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACzB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAsB;QAC3B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAC,cAAsB;QACtC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAA2B,gBAAgB;QACvD,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW;YAAE,OAAO;QAC7C,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO;QAExC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAW,IAAI,CAAC,WAAW,CAAC;QAC5C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,WAAW;YAAE,OAAO;QAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,IAAI,CAAC,gBAAgB,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,EAAE,IAAI,CAAC,UAAU,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU;gBACZ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,cAAc,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAW,IAAI,CAAC,WAAW,CAAC;QACnD,IAAI,iBAAiB,KAAK,MAAM;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1D,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAEtE,iBAAiB;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;YAAE,OAAO;QAC1C,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC;YAAE,OAAO;QACxC,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ;YAAE,OAAO;QAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW;gBAAE,OAAO;YAC5C,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC;gBAAE,OAAO;YACxC,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAAE,OAAO;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,OAAO;QACxC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACxF,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,MAAM;YACxC,IAAI,OAAO,CAAC,QAAQ;gBAAE,SAAS;YAC/B,MAAM,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,IAAI,MAAM,IAAI,sBAAsB;gBAAE,SAAS;YAC/C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE;gBACvE,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,UAAU;IACV,8EAA8E;IAEtE,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,SAAiB;QAClE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,IAA+B,EAC/B,EAA6B,EAC7B,MAAwB,EACxB,KAA+B;QAE/B,SAAS,EAAE,CAAC,IAAI,CACd,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,yBAAyB;YAChC,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,kBAAkB;YACvC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,KAAK;SACT,CAAC,CACH,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"shared-runner.js","sourceRoot":"","sources":["../../src/core/shared-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peerllm-host-cli",
3
- "version": "1.9.13",
3
+ "version": "1.9.15",
4
4
  "description": "Command-line PeerLLM host: serve decentralized AI compute from a headless machine.",
5
5
  "author": {
6
6
  "name": "Hassan Habib",