@markusylisiurunen/tau 0.3.14 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/core/diff_review/bridge.js +30 -2
  2. package/dist/core/diff_review/bridge.js.map +1 -1
  3. package/dist/core/session/session_engine.js +1 -4
  4. package/dist/core/session/session_engine.js.map +1 -1
  5. package/dist/core/telegram/adapter.js +15 -0
  6. package/dist/core/telegram/adapter.js.map +1 -1
  7. package/dist/core/tools/nook.js +16 -5
  8. package/dist/core/tools/nook.js.map +1 -1
  9. package/dist/core/utils/gemini_transcription.js +17 -3
  10. package/dist/core/utils/gemini_transcription.js.map +1 -1
  11. package/dist/core/utils/messages.js +13 -0
  12. package/dist/core/utils/messages.js.map +1 -1
  13. package/dist/core/utils/speech_to_text.js +1 -0
  14. package/dist/core/utils/speech_to_text.js.map +1 -1
  15. package/dist/core/utils/speech_to_text_context.js +76 -0
  16. package/dist/core/utils/speech_to_text_context.js.map +1 -0
  17. package/dist/core/version.js +1 -1
  18. package/dist/diff_tool/app/dist/assets/index-D466OuVg.js +1580 -0
  19. package/dist/diff_tool/app/dist/assets/pierre-dark-CyvmCCZW.js +1 -0
  20. package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-Rgc0TwpF.js +1 -0
  21. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-BHGpRqa4.js +1 -0
  22. package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-Beq2gCRQ.js +1 -0
  23. package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-BWBVywrn.js +1 -0
  24. package/dist/diff_tool/app/dist/assets/pierre-light-480U9XYS.js +1 -0
  25. package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-CaVOBURG.js +1 -0
  26. package/dist/diff_tool/app/dist/assets/pierre-light-soft-CVdyfjmI.js +1 -0
  27. package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-B4_gpKOM.js +1 -0
  28. package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-DdTDNdfJ.js +1 -0
  29. package/dist/diff_tool/app/dist/index.html +1 -1
  30. package/dist/host/session_protocol_handler.js +99 -79
  31. package/dist/host/session_protocol_handler.js.map +1 -1
  32. package/dist/nook/README.md +1 -1
  33. package/dist/nook/worker/index.js +4 -2
  34. package/dist/nook/worker/index.js.map +1 -1
  35. package/dist/tui/chat_controller/history_message_model.js +2 -11
  36. package/dist/tui/chat_controller/history_message_model.js.map +1 -1
  37. package/dist/tui/chat_controller/queued_user_messages.js +6 -0
  38. package/dist/tui/chat_controller/queued_user_messages.js.map +1 -1
  39. package/dist/tui/listen_capture.js +1 -0
  40. package/dist/tui/listen_capture.js.map +1 -1
  41. package/dist/tui/session_chat_controller.js +14 -25
  42. package/dist/tui/session_chat_controller.js.map +1 -1
  43. package/dist/tui/ui/agent_activity_format.js +4 -0
  44. package/dist/tui/ui/agent_activity_format.js.map +1 -1
  45. package/dist/tui/ui/diff_review_message.js +2 -2
  46. package/dist/tui/ui/diff_review_message.js.map +1 -1
  47. package/package.json +10 -10
  48. package/dist/diff_tool/app/dist/assets/index-ivRn2dP2.js +0 -258
  49. package/dist/diff_tool/app/dist/assets/pierre-dark-Dy3oF52j.js +0 -1
  50. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-K7D5SChL.js +0 -1
  51. package/dist/diff_tool/app/dist/assets/pierre-light-DhMpYZcV.js +0 -1
  52. package/dist/diff_tool/app/dist/assets/pierre-light-soft-cPlVRKcQ.js +0 -1
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>Tau diff tool</title>
7
- <script type="module" crossorigin src="/assets/index-ivRn2dP2.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-D466OuVg.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-2iDVL7Tb.css">
9
9
  </head>
10
10
  <body>
@@ -1,6 +1,15 @@
1
1
  import { formatSteeringUserMessage } from "../core/runtime/steering.js";
2
2
  import { createSessionProtocolErrorResponse, createSessionProtocolReadyMessage, createSessionProtocolSuccessResponse, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, } from "../protocol/session_protocol.js";
3
3
  const sessionMutationQueues = new WeakMap();
4
+ const sessionLiveStates = new WeakMap();
5
+ function getSessionLiveState(session) {
6
+ let state = sessionLiveStates.get(session);
7
+ if (!state) {
8
+ state = { pendingSteeringSubmits: [], pendingQueuedSubmits: [] };
9
+ sessionLiveStates.set(session, state);
10
+ }
11
+ return state;
12
+ }
4
13
  function getSessionMutationQueueState(session) {
5
14
  let state = sessionMutationQueues.get(session);
6
15
  if (!state) {
@@ -129,16 +138,16 @@ export class SessionProtocolHandler {
129
138
  const states = [...this.sessionStates.values()];
130
139
  for (const state of states) {
131
140
  this.unsubscribeDeltaListener(state);
132
- if (interruptActiveTurns && (state.activeSubmit || state.session.isTurnRunning)) {
141
+ if (interruptActiveTurns && (state.live.activeSubmit || state.session.isTurnRunning)) {
133
142
  state.session.interruptTurn();
134
143
  }
135
- if (interruptActiveTurns && state.activeBash) {
136
- state.activeBash.abortController.abort();
144
+ if (interruptActiveTurns && state.live.activeBash) {
145
+ state.live.activeBash.abortController.abort();
137
146
  }
138
147
  }
139
148
  if (interruptActiveTurns) {
140
- await Promise.allSettled(states.map((state) => state.activeSubmit?.promise).filter((promise) => promise));
141
- await Promise.allSettled(states.map((state) => state.activeBash?.promise).filter((promise) => promise));
149
+ await Promise.allSettled(states.map((state) => state.live.activeSubmit?.promise).filter((promise) => promise));
150
+ await Promise.allSettled(states.map((state) => state.live.activeBash?.promise).filter((promise) => promise));
142
151
  }
143
152
  this.sessionStates.clear();
144
153
  this.clientToolRegistration?.unregister();
@@ -205,8 +214,8 @@ export class SessionProtocolHandler {
205
214
  }
206
215
  finally {
207
216
  await this.enqueueMutation(state, () => {
208
- if (state.activeSubmit === activeSubmit) {
209
- state.activeSubmit = undefined;
217
+ if (state.live.activeSubmit === activeSubmit) {
218
+ state.live.activeSubmit = undefined;
210
219
  }
211
220
  });
212
221
  this.schedulePendingSubmitDrains(state);
@@ -223,8 +232,8 @@ export class SessionProtocolHandler {
223
232
  return;
224
233
  }
225
234
  const startedSubmit = await this.enqueueMutation(state, () => {
226
- if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
227
- state.pendingQueuedSubmits.push(request);
235
+ if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
236
+ state.live.pendingQueuedSubmits.push({ handler: this, request });
228
237
  return undefined;
229
238
  }
230
239
  return this.startUserMessageTurn(state, request);
@@ -238,8 +247,8 @@ export class SessionProtocolHandler {
238
247
  }
239
248
  finally {
240
249
  await this.enqueueMutation(state, () => {
241
- if (state.activeSubmit === activeSubmit) {
242
- state.activeSubmit = undefined;
250
+ if (state.live.activeSubmit === activeSubmit) {
251
+ state.live.activeSubmit = undefined;
243
252
  }
244
253
  });
245
254
  this.schedulePendingSubmitDrains(state);
@@ -256,9 +265,12 @@ export class SessionProtocolHandler {
256
265
  return;
257
266
  }
258
267
  const startedSubmit = await this.enqueueMutation(state, () => {
259
- if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
260
- state.pendingSteeringSubmits.push(request);
261
- state.session.requestTurnBoundaryStop();
268
+ const hasActiveSessionWork = state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash;
269
+ if (state.live.pendingSteeringSubmits.length > 0 || hasActiveSessionWork) {
270
+ state.live.pendingSteeringSubmits.push({ handler: this, request });
271
+ if (hasActiveSessionWork) {
272
+ state.session.requestTurnBoundaryStop();
273
+ }
262
274
  return undefined;
263
275
  }
264
276
  return this.startUserMessageTurn(state, request);
@@ -272,8 +284,8 @@ export class SessionProtocolHandler {
272
284
  }
273
285
  finally {
274
286
  await this.enqueueMutation(state, () => {
275
- if (state.activeSubmit === activeSubmit) {
276
- state.activeSubmit = undefined;
287
+ if (state.live.activeSubmit === activeSubmit) {
288
+ state.live.activeSubmit = undefined;
277
289
  }
278
290
  });
279
291
  this.schedulePendingSubmitDrains(state);
@@ -286,9 +298,9 @@ export class SessionProtocolHandler {
286
298
  return;
287
299
  }
288
300
  if (this.getPendingMutationCount(state) > 0 ||
289
- state.activeSubmit ||
301
+ state.live.activeSubmit ||
290
302
  state.session.isTurnRunning ||
291
- state.activeBash) {
303
+ state.live.activeBash) {
292
304
  this.sendSubmitBusy(state, request.id);
293
305
  return;
294
306
  }
@@ -301,8 +313,8 @@ export class SessionProtocolHandler {
301
313
  }
302
314
  finally {
303
315
  await this.enqueueMutation(state, () => {
304
- if (state.activeBash === activeBash) {
305
- state.activeBash = undefined;
316
+ if (state.live.activeBash === activeBash) {
317
+ state.live.activeBash = undefined;
306
318
  }
307
319
  });
308
320
  this.schedulePendingSubmitDrains(state);
@@ -328,8 +340,8 @@ export class SessionProtocolHandler {
328
340
  }
329
341
  finally {
330
342
  await this.enqueueMutation(state, () => {
331
- if (state.activeSubmit === activeSubmit) {
332
- state.activeSubmit = undefined;
343
+ if (state.live.activeSubmit === activeSubmit) {
344
+ state.live.activeSubmit = undefined;
333
345
  }
334
346
  });
335
347
  this.schedulePendingSubmitDrains(state);
@@ -409,7 +421,7 @@ export class SessionProtocolHandler {
409
421
  });
410
422
  }
411
423
  async startUserMessageTurn(state, request) {
412
- if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
424
+ if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
413
425
  this.sendSubmitBusy(state, request.id);
414
426
  return undefined;
415
427
  }
@@ -422,32 +434,32 @@ export class SessionProtocolHandler {
422
434
  });
423
435
  const submitPromise = this.executeSubmit(state, request.id, request.method, userHistoryEntryId);
424
436
  const activeSubmit = { requestId: request.id, promise: submitPromise };
425
- state.activeSubmit = activeSubmit;
437
+ state.live.activeSubmit = activeSubmit;
426
438
  return {
427
439
  activeSubmit,
428
440
  };
429
441
  }
430
442
  startRetry(state, request) {
431
- if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
443
+ if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
432
444
  this.sendSubmitBusy(state, request.id);
433
445
  return undefined;
434
446
  }
435
447
  const retryPromise = this.executeRetry(state, request.id);
436
448
  const activeSubmit = { requestId: request.id, promise: retryPromise };
437
- state.activeSubmit = activeSubmit;
449
+ state.live.activeSubmit = activeSubmit;
438
450
  return {
439
451
  activeSubmit,
440
452
  };
441
453
  }
442
454
  startExec(state, request) {
443
- if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
455
+ if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
444
456
  this.sendSubmitBusy(state, request.id);
445
457
  return undefined;
446
458
  }
447
459
  const abortController = new AbortController();
448
460
  const promise = this.executeExec(state, request, abortController.signal);
449
461
  const activeBash = { requestId: request.id, abortController, promise };
450
- state.activeBash = activeBash;
462
+ state.live.activeBash = activeBash;
451
463
  return activeBash;
452
464
  }
453
465
  schedulePendingSubmitDrains(state) {
@@ -460,31 +472,31 @@ export class SessionProtocolHandler {
460
472
  }
461
473
  async drainPendingSteeringSubmits(state) {
462
474
  const batch = await this.enqueueMutation(state, async () => {
463
- if (state.pendingSteeringSubmits.length === 0 ||
464
- state.activeSubmit ||
475
+ if (state.live.pendingSteeringSubmits.length === 0 ||
476
+ state.live.activeSubmit ||
465
477
  state.session.isTurnRunning) {
466
478
  return undefined;
467
479
  }
468
- const requests = state.pendingSteeringSubmits.splice(0);
480
+ const requests = state.live.pendingSteeringSubmits.splice(0);
469
481
  const primaryRequest = requests[0];
470
- const preferredHistoryEntryId = requests.length === 1 ? primaryRequest.params.historyEntryId : undefined;
482
+ const preferredHistoryEntryId = requests.length === 1 ? primaryRequest.request.params.historyEntryId : undefined;
471
483
  let userHistoryEntryId;
472
484
  try {
473
485
  ({ userHistoryEntryId } = await state.session.record({
474
- text: formatSteeringUserMessage(requests.map((item) => item.params.text)),
486
+ text: formatSteeringUserMessage(requests.map((item) => item.request.params.text)),
475
487
  ...(preferredHistoryEntryId ? { historyEntryId: preferredHistoryEntryId } : {}),
476
488
  }));
477
489
  }
478
490
  catch (error) {
479
- this.sendUserMessageDrainFailure("session.steer", requests, error);
491
+ this.sendUserMessageDrainFailure(requests, error);
480
492
  return undefined;
481
493
  }
482
- const submitPromise = this.executeSubmit(state, primaryRequest.id, "session.steer", userHistoryEntryId, requests);
494
+ const submitPromise = primaryRequest.handler.executeSubmit(state, primaryRequest.request.id, "session.steer", userHistoryEntryId, requests);
483
495
  const activeSubmit = {
484
- requestId: primaryRequest.id,
496
+ requestId: primaryRequest.request.id,
485
497
  promise: submitPromise,
486
498
  };
487
- state.activeSubmit = activeSubmit;
499
+ state.live.activeSubmit = activeSubmit;
488
500
  return { activeSubmit };
489
501
  });
490
502
  if (!batch) {
@@ -495,8 +507,8 @@ export class SessionProtocolHandler {
495
507
  }
496
508
  finally {
497
509
  await this.enqueueMutation(state, () => {
498
- if (state.activeSubmit === batch.activeSubmit) {
499
- state.activeSubmit = undefined;
510
+ if (state.live.activeSubmit === batch.activeSubmit) {
511
+ state.live.activeSubmit = undefined;
500
512
  }
501
513
  });
502
514
  this.schedulePendingSubmitDrains(state);
@@ -504,17 +516,17 @@ export class SessionProtocolHandler {
504
516
  }
505
517
  async drainPendingQueuedSubmits(state) {
506
518
  const next = await this.enqueueMutation(state, async () => {
507
- if (state.pendingQueuedSubmits.length === 0 ||
508
- state.activeSubmit ||
519
+ if (state.live.pendingQueuedSubmits.length === 0 ||
520
+ state.live.activeSubmit ||
509
521
  state.session.isTurnRunning) {
510
522
  return undefined;
511
523
  }
512
- const request = state.pendingQueuedSubmits.shift();
524
+ const pending = state.live.pendingQueuedSubmits.shift();
513
525
  try {
514
- return await this.startUserMessageTurn(state, request);
526
+ return await pending.handler.startUserMessageTurn(state, pending.request);
515
527
  }
516
528
  catch (error) {
517
- this.sendUserMessageDrainFailure("session.queue", [request], error);
529
+ this.sendUserMessageDrainFailure([pending], error);
518
530
  return undefined;
519
531
  }
520
532
  });
@@ -526,8 +538,8 @@ export class SessionProtocolHandler {
526
538
  }
527
539
  finally {
528
540
  await this.enqueueMutation(state, () => {
529
- if (state.activeSubmit === next.activeSubmit) {
530
- state.activeSubmit = undefined;
541
+ if (state.live.activeSubmit === next.activeSubmit) {
542
+ state.live.activeSubmit = undefined;
531
543
  }
532
544
  });
533
545
  this.schedulePendingSubmitDrains(state);
@@ -535,13 +547,13 @@ export class SessionProtocolHandler {
535
547
  }
536
548
  failPendingUserMessageRequests(state, method, error) {
537
549
  const pending = method === "session.steer"
538
- ? state.pendingSteeringSubmits.splice(0)
539
- : state.pendingQueuedSubmits.splice(0);
540
- this.sendUserMessageDrainFailure(method, pending, error);
550
+ ? state.live.pendingSteeringSubmits.splice(0)
551
+ : state.live.pendingQueuedSubmits.splice(0);
552
+ this.sendUserMessageDrainFailure(pending, error);
541
553
  }
542
- sendUserMessageDrainFailure(method, requests, error) {
543
- for (const request of requests) {
544
- this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to drain pending user message", { cause: error instanceof Error ? error.message : String(error) }));
554
+ sendUserMessageDrainFailure(requests, error) {
555
+ for (const { handler, request } of requests) {
556
+ handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to drain pending user message", { cause: error instanceof Error ? error.message : String(error) }));
545
557
  }
546
558
  }
547
559
  async executeSubmit(state, requestId, method, userHistoryEntryId, responseRequests) {
@@ -556,8 +568,8 @@ export class SessionProtocolHandler {
556
568
  },
557
569
  };
558
570
  if (responseRequests) {
559
- for (const request of responseRequests) {
560
- this.sendMessage(createSessionProtocolSuccessResponse(request.id, method, result));
571
+ for (const { handler, request } of responseRequests) {
572
+ handler.sendMessage(createSessionProtocolSuccessResponse(request.id, method, result));
561
573
  }
562
574
  }
563
575
  else {
@@ -566,9 +578,13 @@ export class SessionProtocolHandler {
566
578
  }
567
579
  catch (error) {
568
580
  await this.snapshotAfterFailedSubmit(state);
569
- const requests = responseRequests ?? [{ id: requestId }];
570
- for (const request of requests) {
571
- this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
581
+ if (responseRequests) {
582
+ for (const { handler, request } of responseRequests) {
583
+ handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
584
+ }
585
+ }
586
+ else {
587
+ this.sendMessage(createSessionProtocolErrorResponse(requestId, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
572
588
  }
573
589
  }
574
590
  }
@@ -620,8 +636,8 @@ export class SessionProtocolHandler {
620
636
  return;
621
637
  }
622
638
  const interrupted = state.session.interruptTurn();
623
- const interruptedBash = Boolean(state.activeBash);
624
- state.activeBash?.abortController.abort();
639
+ const interruptedBash = Boolean(state.live.activeBash);
640
+ state.live.activeBash?.abortController.abort();
625
641
  this.rejectPendingSteeringSubmits(state, "session was interrupted");
626
642
  const result = {
627
643
  interrupted: interrupted || interruptedBash,
@@ -737,15 +753,20 @@ export class SessionProtocolHandler {
737
753
  this.sendSessionNotFound(request.id, request.params.sessionId);
738
754
  return;
739
755
  }
740
- const result = await state.session.submitEphemeralThread({
741
- contextId: request.params.contextId,
742
- threadId: request.params.threadId,
743
- ...(request.params.forkFromThreadId !== undefined
744
- ? { forkFromThreadId: request.params.forkFromThreadId }
745
- : {}),
746
- message: request.params.message,
747
- });
748
- this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.ephemeral.submit", result));
756
+ try {
757
+ const result = await state.session.submitEphemeralThread({
758
+ contextId: request.params.contextId,
759
+ threadId: request.params.threadId,
760
+ ...(request.params.forkFromThreadId !== undefined
761
+ ? { forkFromThreadId: request.params.forkFromThreadId }
762
+ : {}),
763
+ message: request.params.message,
764
+ });
765
+ this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.ephemeral.submit", result));
766
+ }
767
+ catch (error) {
768
+ this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, error instanceof Error ? error.message : String(error)));
769
+ }
749
770
  }
750
771
  async handleEphemeralClose(request) {
751
772
  await this.withSessionMutation(request, "ephemeral context closed", async (mutationState) => {
@@ -771,15 +792,15 @@ export class SessionProtocolHandler {
771
792
  });
772
793
  }
773
794
  rejectPendingSteeringSubmits(state, message) {
774
- const requests = state.pendingSteeringSubmits.splice(0);
775
- for (const request of requests) {
776
- this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
795
+ const requests = state.live.pendingSteeringSubmits.splice(0);
796
+ for (const { handler, request } of requests) {
797
+ handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
777
798
  }
778
799
  }
779
800
  rejectPendingQueuedSubmits(state, message) {
780
- const requests = state.pendingQueuedSubmits.splice(0);
781
- for (const request of requests) {
782
- this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
801
+ const requests = state.live.pendingQueuedSubmits.splice(0);
802
+ for (const { handler, request } of requests) {
803
+ handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
783
804
  }
784
805
  }
785
806
  registerSession(session, options = {}) {
@@ -789,9 +810,8 @@ export class SessionProtocolHandler {
789
810
  }
790
811
  const state = {
791
812
  session,
813
+ live: getSessionLiveState(session),
792
814
  ...(options.bufferInitialDeltas ? { bufferedDeltas: [] } : {}),
793
- pendingSteeringSubmits: [],
794
- pendingQueuedSubmits: [],
795
815
  };
796
816
  state.unsubscribeDelta = session.onDelta((delta) => {
797
817
  if (this.closed || !this.sessionStates.has(session.sessionId)) {
@@ -851,7 +871,7 @@ export class SessionProtocolHandler {
851
871
  sendSubmitBusy(state, id) {
852
872
  const message = this.getPendingMutationCount(state) > 0
853
873
  ? "a mutating session request is in progress"
854
- : state.activeBash
874
+ : state.live.activeBash
855
875
  ? "a bash command is already running"
856
876
  : "a session turn is already running";
857
877
  this.sendMessage(createSessionProtocolErrorResponse(id, SESSION_PROTOCOL_ERROR_CODES.busy, message));
@@ -876,8 +896,8 @@ export class SessionProtocolHandler {
876
896
  return getSessionMutationQueueState(state.session).pending;
877
897
  }
878
898
  async interruptAndWaitForActiveSubmit(state) {
879
- const activeSubmit = state.activeSubmit;
880
- const activeBash = state.activeBash;
899
+ const activeSubmit = state.live.activeSubmit;
900
+ const activeBash = state.live.activeBash;
881
901
  if (!activeSubmit && !state.session.isTurnRunning && !activeBash) {
882
902
  return;
883
903
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EACpC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GAOzB,MAAM,iCAAiC,CAAC;AAkDzC,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAA+C,CAAC;AACzF,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqD,CAAC;AAE3F,SAAS,mBAAmB,CAAC,OAAyB;IACpD,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,sBAAsB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QACjE,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAyB;IAC7D,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjD,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAmBD,MAAM,OAAO,sBAAsB;IAChB,IAAI,CAAiB;IACrB,IAAI,CAAoD;IACxD,aAAa,GAAG,IAAI,GAAG,EAA8C,CAAC;IAC/E,WAAW,GAAG,KAAK,CAAC;IACpB,sBAAsB,CAI5B;IACM,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,OAAsC;QAChD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAsC;QACxD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY;oBACf,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,cAAc;oBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,mBAAmB;oBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,cAAc;oBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,mBAAmB;oBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpC,OAAO;gBACT,KAAK,kBAAkB;oBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,sBAAsB;oBACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACvC,OAAO;gBACT,KAAK,oBAAoB;oBACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO;gBACT,KAAK,uBAAuB;oBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACxC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO;gBACT,KAAK,0BAA0B;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC1C,OAAO;gBACT,KAAK,0BAA0B;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC1C,OAAO;gBACT,KAAK,yBAAyB;oBAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO;gBACT,KAAK,wBAAwB;oBAC3B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO;YACX,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,iCAAiC,EACjC;gBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAqC;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,YAAY,GAAG,IAAI,KAAK,eAAe,CAAC;QAC9C,MAAM,oBAAoB,GAAG,IAAI,KAAK,WAAW,IAAI,YAAY,CAAC;QAElE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAErC,IAAI,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrF,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;YACD,IAAI,oBAAoB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CACrF,CAAC;YACF,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CACnF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,sBAAsB,EAAE,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAExC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CACtB,OAAyE;QAEzE,MAAM,MAAM,GAAgD;YAC1D,eAAe,EAAE,wBAAwB;YACzC,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC;YACtC,kBAAkB,EAAE,IAAI,CAAC,WAAW;SACrC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,mBAAmB,CAAC,KAA4C;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1D,KAAK;YACL,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAChD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,OAAqF;QAErF,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACtF,KAAK,CAAC;QACR,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CACzF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,OAAwF;QAExF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YACxD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAC3F,KAAK,CAAC;QACR,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAC5F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAC3D,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1C,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3D,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACjE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3D,MAAM,oBAAoB,GACxB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAClF,IAAI,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,IAAI,oBAAoB,EAAE,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAC1C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAA2E;QAE3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IACE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,YAAY;YACvB,KAAK,CAAC,OAAO,CAAC,aAAa;YAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAE9F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC7F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAA2E;QAE3E,MAAM,MAAM,GAAkD;YAC5D,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;SACzC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA8E;QAE9E,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;YACjE,mBAAmB,EAAE,CAAC,WAAW;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,QAAQ,EACrC,mBAAmB,EACnB,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CACxC,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1C,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAC9E,CAAC;YACF,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAAgF;QAEhF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAuD;YACjE,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACpF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAyC,EACzC,OAKC;QAUD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc;YAC9C,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YACnD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEvC,OAAO;YACL,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,KAAyC,EACzC,OAA4E;QAE5E,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEvC,OAAO;YACL,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,SAAS,CACf,KAAyC,EACzC,OAA2E;QAE3E,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,2BAA2B,CAAC,KAAyC;QAC3E,KAAK,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,KAAyC;QAEzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACzD,IACE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,YAAY;gBACvB,KAAK,CAAC,OAAO,CAAC,aAAa,EAC3B,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YACpC,MAAM,uBAAuB,GAC3B,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,CAAC,EAAE,kBAAkB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjF,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAClD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CACxD,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,EAAE,EACzB,eAAe,EACf,kBAAkB,EAClB,QAAQ,CACT,CAAC;YACF,MAAM,YAAY,GAAG;gBACnB,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;gBACpC,OAAO,EAAE,aAAa;aACvB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YAEvC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;oBACnD,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,KAAyC;QAEzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACxD,IACE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,YAAY;gBACvB,KAAK,CAAC,OAAO,CAAC,aAAa,EAC3B,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAG,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,8BAA8B,CACpC,KAAyC,EACzC,MAAyC,EACzC,KAAc;QAEd,MAAM,OAAO,GACX,MAAM,KAAK,eAAe;YACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAEO,2BAA2B,CACjC,QAAoD,EACpD,KAAc;QAEd,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,WAAW,CACjB,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,sCAAsC,EACtC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,KAAyC,EACzC,SAAmC,EACnC,MAA4D,EAC5D,kBAA0B,EAC1B,gBAA6D;QAE7D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAiD;gBAC3D,kBAAkB;gBAClB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;aACF,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBACpD,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBACpD,OAAO,CAAC,WAAW,CACjB,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,SAAS,EACT,4BAA4B,CAAC,aAAa,EAC1C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,KAAyC;QAEzC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;YACrF,uCAAuC;QACzC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,KAAyC,EACzC,SAAmC;QAEnC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAmD;gBAC7D,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;aACF,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,SAAS,EACT,4BAA4B,CAAC,aAAa,EAC1C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAAyC,EACzC,OAA2E,EAC3E,MAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;gBAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,MAAM,CAAC,OAAO;gBACZ,CAAC,CAAC,4BAA4B,CAAC,cAAc;gBAC7C,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,iCAAiC,EACxF,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAAgF;QAEhF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAuD;YACjE,WAAW,EAAE,WAAW,IAAI,eAAe;YAC3C,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,eAAe;SAC9D,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAA+E;QAE/E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CACd,oCAAoC,CAClC,OAAO,CAAC,EAAE,EACV,kBAAkB,EAClB,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC/B,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8E;QAE9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAC9E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAmF;QAEnF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,CAAC,CACjF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,OAAiF;QAEjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CACjF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAoF;QAEpF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAClF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,OAAwF;QAExF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACnD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,2BAA2B,EAAE,MAAM,CAAC,CACtF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8E;QAE9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAClD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,OAAwF;QAExF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxF,IAAI,CAAC,WAAW,CACd,oCAAoC,CAClC,OAAO,CAAC,EAAE,EACV,2BAA2B,EAC3B,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CACjE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAuF;QAEvF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAChE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;gBACzC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;aACpC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,0BAA0B,EAAE,MAAM,CAAC,CACrF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAuF;QAEvF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACvD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;oBAC/C,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,0BAA0B,EAAE,MAAM,CAAC,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAsF;QAEtF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC1F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,yBAAyB,EAAE,MAAM,CAAC,CACpF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAuC,EACvC,8BAAsC,EACtC,OAAqE;QAErE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;YACzE,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;YACvE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,4BAA4B,CAClC,KAAyC,EACzC,OAAe;QAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,WAAW,CACjB,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,cAAc,EAC3C,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,0BAA0B,CAChC,KAAyC,EACzC,OAAe;QAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,WAAW,CACjB,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,cAAc,EAC3C,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,OAAyB,EACzB,UAA6C,EAAE;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAuC;YAChD,OAAO;YACP,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QAEF,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,SAAiB,EACjB,UAA6C,EAAE;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5E,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAEO,gCAAgC,CACtC,KAAyC,EACzC,gBAAwB;QAExB,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,EAA4B,EAAE,SAAiB;QACzE,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,EAAE,EACF,4BAA4B,CAAC,QAAQ,EACrC,mBAAmB,EACnB,EAAE,SAAS,EAAE,CACd,CACF,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,KAAyC,EACzC,EAA4B;QAE5B,MAAM,OAAO,GACX,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU;gBACrB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,mCAAmC,CAAC;QAE5C,IAAI,CAAC,WAAW,CACd,kCAAkC,CAAC,EAAE,EAAE,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CACnF,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,KAAyC,EACzC,OAA6B;QAE7B,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAyC,EACzC,OAAyB;QAEzB,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,KAAyC;QACvE,OAAO,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,KAAyC;QAEzC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;QAEpC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,OAAO,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,OAAO,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,KAAyC;QACxE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,2BAA2B,CAAC,KAAyC;QAC3E,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5B,sCAAsC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC7B,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAuC;QACzD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;CACF"}
@@ -72,7 +72,7 @@ Deploy requirements:
72
72
 
73
73
  ## browser SDK
74
74
 
75
- The Worker injects `/<site>/__nook/client.js` near the end of the served HTML body. If your code runs from the document head or from early inline scripts, wait for `DOMContentLoaded` (or otherwise run after the page has loaded) before using `window.nook`:
75
+ The Worker injects `/<site>/__nook/client.js` just after the opening HTML body tag. If your code runs from the document head, wait for `DOMContentLoaded` (or otherwise run after the page has loaded) before using `window.nook`:
76
76
 
77
77
  ```js
78
78
  window.addEventListener("DOMContentLoaded", async () => {
@@ -20,7 +20,9 @@ Deploy a finished static directory only. The directory must contain /index.html,
20
20
 
21
21
  Sites are served at https://<nook-domain>/<site>/.
22
22
 
23
- The Worker injects /<site>/__nook/client.js near the end of the served HTML body. Code that runs from the document head or from early inline scripts should wait until DOMContentLoaded, or otherwise run after the page has loaded, before using window.nook:
23
+ The Worker injects /<site>/__nook/client.js just after the opening HTML body tag.
24
+
25
+ Code that runs from the document head should wait until DOMContentLoaded, or otherwise run after the page has loaded, before using window.nook:
24
26
 
25
27
  \`\`\`js
26
28
  window.addEventListener("DOMContentLoaded", async () => {
@@ -439,7 +441,7 @@ function injectNookClientScript(response, site) {
439
441
  const scriptTag = nookClientScriptTag(site);
440
442
  const injector = {
441
443
  element(element) {
442
- element.onEndTag((endTag) => endTag.before(scriptTag, { html: true }));
444
+ element.prepend(scriptTag, { html: true });
443
445
  delete injector.end;
444
446
  },
445
447
  end(end) {