@mnemonik/claude-code-hooks 0.9.21 → 0.9.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hook.js CHANGED
@@ -10,15 +10,20 @@
10
10
  * Wired into .claude/settings.json by `mnemonik-claude-code-hooks install`.
11
11
  */
12
12
  import { createHash } from 'node:crypto';
13
- import { existsSync } from 'node:fs';
13
+ import { existsSync, statSync } from 'node:fs';
14
14
  import { isAbsolute, resolve } from 'node:path';
15
15
  import { stdin, stdout, stderr, exit } from 'node:process';
16
16
  import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
17
17
  import { PRE_EDIT_GATE, PRE_EDIT_ADVISORY_AUTO_FETCH, PRE_MCP_GATE, STOP_CHECKPOINT_GATE, SESSION_START_BOOTSTRAP, PRE_COMPACT_SNAPSHOT, SESSION_END_SAVE, USER_PROMPT_CONTEXT, } from './lib/behavior.js';
18
- import { createPreCompactSnapshot, fetchMcpRecord, fetchMcpPrecheck, fetchInjections, fetchJit, postProxySuppressionClear, postSessionStart, postSessionEnd, reportBypass, reportGateFired, reportNativeGrepObserved, } from './lib/http.js';
18
+ import { createPreCompactSnapshot, fetchMcpRecord, fetchMcpPrecheck, fetchInjections, fetchJit, postSessionStart, postSessionEnd, reportBypass, reportGateFired, reportNativeGrepObserved, trackIdeEdit, } from './lib/http.js';
19
19
  import { matchIrreducibleDeny } from './lib/shellTokens.js';
20
20
  import { findProjectIdentity } from './lib/identity.js';
21
21
  import { renderVisibleMnemonikText } from './lib/envelopeDisplay.js';
22
+ import { readSessionLifecycleToken, storeSessionLifecycleToken } from './lib/sessionLifecycle.js';
23
+ // Captured before stdin/config/network work. Session lifecycle storage rejects
24
+ // a token written after this instant, preventing an old delayed SessionEnd
25
+ // subprocess from reading a newer resume's capability.
26
+ const HOOK_INVOCATION_STARTED_AT = Date.now();
22
27
  // ─── Host timezone capture ─────────────────────────────────────────────────
23
28
  function captureHostTz() {
24
29
  try {
@@ -188,6 +193,7 @@ async function handlePreEdit(input, config) {
188
193
  host: 'claude_code',
189
194
  toolName: input.tool_name ?? '',
190
195
  toolArgs: input.tool_input,
196
+ eventId: input.tool_use_id,
191
197
  filePaths: target ? [target] : [],
192
198
  });
193
199
  if (!injectionsResult) {
@@ -328,6 +334,7 @@ async function handlePreBash(input, config) {
328
334
  host: 'claude_code',
329
335
  toolName: input.tool_name ?? 'Bash',
330
336
  toolArgs: input.tool_input,
337
+ eventId: input.tool_use_id,
331
338
  });
332
339
  if (!injectionsResult?.ok) {
333
340
  await emitGateFired(input, config, 'Bash', 'advisory', injectionsResult ? 'no_match' : 'unreachable');
@@ -550,6 +557,7 @@ async function handlePreGrep(input, config) {
550
557
  cwd: input.cwd,
551
558
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
552
559
  sessionId: input.session_id,
560
+ eventId: input.tool_use_id,
553
561
  })
554
562
  : null;
555
563
  // If this increment crossed the grep threshold, the server pushed the
@@ -585,6 +593,17 @@ async function handleSessionStart(input, config) {
585
593
  writeAllow();
586
594
  const projectId = (await findProjectIdentity(input.cwd))?.projectId;
587
595
  const tz = captureHostTz();
596
+ // Establish and persist the server-issued lifecycle incarnation before any
597
+ // delivery decision. SessionEnd must prove this token; if the request or
598
+ // local write fails, clean exit safely defers to normal inactivity expiry.
599
+ await postSessionStart({
600
+ server: config.server,
601
+ apiKey: config.apiKey,
602
+ cwd: input.cwd,
603
+ projectId,
604
+ claudeSessionId: input.session_id,
605
+ tz,
606
+ });
588
607
  const injectionsResult = await fetchInjections({
589
608
  server: config.server,
590
609
  apiKey: config.apiKey,
@@ -595,6 +614,20 @@ async function handleSessionStart(input, config) {
595
614
  host: 'claude_code',
596
615
  tz,
597
616
  });
617
+ // Authoritative readback: /session-start can commit the incarnation and
618
+ // still lose its response to the hook's timeout. The immediately-following
619
+ // SessionStart injections call reuses that server token and returns it, so
620
+ // SessionEnd retains proof instead of silently skipping strict autosave.
621
+ if (injectionsResult?.ok &&
622
+ typeof injectionsResult.lifecycleToken === 'string' &&
623
+ injectionsResult.lifecycleToken.length > 0) {
624
+ await storeSessionLifecycleToken({
625
+ server: config.server,
626
+ cwd: input.cwd,
627
+ sessionId: input.session_id,
628
+ lifecycleToken: injectionsResult.lifecycleToken,
629
+ });
630
+ }
598
631
  const pieces = [];
599
632
  if (injectionsResult && injectionsResult.ok) {
600
633
  for (const inj of injectionsResult.injections) {
@@ -603,23 +636,11 @@ async function handleSessionStart(input, config) {
603
636
  }
604
637
  }
605
638
  }
606
- // Bus had nothing to deliver (dedup window, empty digest, error) — bail
607
- // before marking the proxy coord. Setting coord without delivering content
608
- // makes the proxy skip its own bootstrap injection while the agent never
609
- // received the additionalContext, forcing a manual session_bootstrap.
639
+ // Bus had nothing to deliver (dedup window, empty digest, error). The
640
+ // lifecycle token above is identity only and does not satisfy bootstrap, so
641
+ // this silent allow cannot suppress the proxy's own recovery delivery.
610
642
  if (pieces.length === 0)
611
643
  writeAllow();
612
- // Coord write moves here: only mark bootstrap as injected once we actually
613
- // emit the additionalContext to Claude Code. Keeps the "hook OR proxy"
614
- // either-or guarantee.
615
- await postSessionStart({
616
- server: config.server,
617
- apiKey: config.apiKey,
618
- cwd: input.cwd,
619
- projectId,
620
- claudeSessionId: input.session_id,
621
- tz,
622
- });
623
644
  const decision = {
624
645
  hookSpecificOutput: {
625
646
  hookEventName: 'SessionStart',
@@ -628,17 +649,8 @@ async function handleSessionStart(input, config) {
628
649
  };
629
650
  writeDecision(decision);
630
651
  }
631
- // ─── Stop: checkpoint gate (P5) ─────────────────────────────────────────────
632
- /**
633
- * Refuse-to-stop / nudge when meaningful work happened without a checkpoint.
634
- * Mode-controlled: advisory emits a systemMessage nudge, enforce returns
635
- * decision:"block". Honors the bypass envelope identically to PreEdit/PreBash.
636
- *
637
- * Trigger is narrow — only fires when:
638
- * - Server reports editedFiles.length > 0 in the active session, AND
639
- * - Server reports lastCheckpointAt is null OR older than the start of the
640
- * edit activity (we approximate by comparing to lastCheckpointAt only).
641
- */
652
+ // ─── Stop: clean allow ───────────────────────────────────────────────────────
653
+ /** Stop must not re-invoke the agent; checkpoint pressure rides PostToolUse. */
642
654
  async function handleStop(_input, _config) {
643
655
  // Checkpoint pressure no longer fires at Stop. On Claude Code a Stop hook's
644
656
  // additionalContext (and `decision:"block"`) CONTINUES the conversation —
@@ -669,42 +681,64 @@ async function handlePreCompact(input, config) {
669
681
  writeAllow();
670
682
  if (!config.apiKey)
671
683
  writeAllow();
684
+ let eventId;
685
+ if (input.transcript_path) {
686
+ try {
687
+ const transcript = statSync(input.transcript_path);
688
+ const lifecycleToken = await readSessionLifecycleToken({
689
+ server: config.server,
690
+ cwd: input.cwd,
691
+ sessionId: input.session_id,
692
+ invocationStartedAt: HOOK_INVOCATION_STARTED_AT,
693
+ });
694
+ eventId = createHash('sha256')
695
+ .update(input.session_id)
696
+ .update('\0')
697
+ .update(lifecycleToken ?? 'legacy-incarnation')
698
+ .update('\0')
699
+ .update(input.transcript_path)
700
+ .update('\0')
701
+ .update(String(transcript.size))
702
+ .update('\0')
703
+ .update(String(Math.trunc(transcript.mtimeMs)))
704
+ .update('\0')
705
+ .update(input.trigger ?? '')
706
+ .update('\0')
707
+ .update(input.custom_instructions ?? '')
708
+ .digest('hex');
709
+ }
710
+ catch {
711
+ // Older/remote hosts may omit an accessible transcript. Do not invent a
712
+ // time-window identity: it could collapse a genuine manual compaction.
713
+ // The server treats this identity-less path additively instead.
714
+ }
715
+ }
672
716
  await createPreCompactSnapshot({
673
717
  server: config.server,
674
718
  apiKey: config.apiKey,
675
719
  cwd: input.cwd,
676
720
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
677
721
  claudeSessionId: input.session_id,
722
+ eventId,
678
723
  });
679
724
  writeAllow();
680
725
  }
681
- // ─── SessionEnd: fire-and-forget save (P5) ──────────────────────────────────
726
+ // ─── SessionEnd: bounded save + cleanup (P5) ─────────────────────────────────
682
727
  async function handleSessionEnd(input, config) {
683
728
  if (SESSION_END_SAVE === 'off')
684
729
  writeAllow();
685
730
  if (!config.apiKey)
686
731
  writeAllow();
687
- // Fire-and-forget server-side AutoSaveService decides whether to distill
688
- // based on the session's tools/edits count.
732
+ // Await the bounded request so process exit cannot cancel the write. The
733
+ // server-side AutoSaveService still decides whether the session merits a save.
689
734
  await postSessionEnd({
690
735
  server: config.server,
691
736
  apiKey: config.apiKey,
692
737
  cwd: input.cwd,
693
738
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
694
739
  claudeSessionId: input.session_id,
695
- });
696
- // v5.10.7: clear the proxy's per-session reminder suppression set so the
697
- // next session re-injects Layer 0 / 2 / 3 on first relevance. The set has NO
698
- // TTL: it is cleared here (clean exit, SessionEnd) or by a compaction-marker
699
- // signal server-side. A non-clean exit (no SessionEnd) leaves the set
700
- // populated until the next session's compaction check clears it.
701
- // Fire-and-forget, parallel to postSessionEnd above.
702
- await postProxySuppressionClear({
703
- server: config.server,
704
- apiKey: config.apiKey,
705
- cwd: input.cwd,
706
- projectId: (await findProjectIdentity(input.cwd))?.projectId,
707
- claudeSessionId: input.session_id,
740
+ reason: input.reason,
741
+ invocationStartedAt: HOOK_INVOCATION_STARTED_AT,
708
742
  });
709
743
  writeAllow();
710
744
  }
@@ -833,15 +867,16 @@ async function handlePostEdit(input, config) {
833
867
  if (!filePath)
834
868
  writeAllow();
835
869
  // Track the edit FIRST so the server's file count includes it.
836
- const ac = new AbortController();
837
- const timer = setTimeout(() => ac.abort(), 1500);
838
- await fetch(`${config.server}/api/v1/session/track-ide-edit`, {
839
- method: 'POST',
840
- headers: { 'content-type': 'application/json', authorization: `Bearer ${config.apiKey}` },
841
- body: JSON.stringify({ sessionId: input.session_id, filePath, cwd: input.cwd }),
842
- signal: ac.signal,
843
- }).catch(() => undefined);
844
- clearTimeout(timer);
870
+ const editRecorded = await trackIdeEdit({
871
+ server: config.server,
872
+ apiKey: config.apiKey,
873
+ sessionId: input.session_id,
874
+ filePath,
875
+ cwd: input.cwd,
876
+ eventId: input.tool_use_id,
877
+ });
878
+ if (!editRecorded)
879
+ writeAllow();
845
880
  // Checkpoint volume pressure (T2/T3/T4/T5). PostToolUse additionalContext is
846
881
  // a system-reminder that does NOT re-invoke the agent (unlike Stop) and never
847
882
  // appears as a chat message — the discreet surface. STOP_CHECKPOINT_GATE=off
@@ -855,6 +890,7 @@ async function handlePostEdit(input, config) {
855
890
  sessionId: input.session_id,
856
891
  event: 'PostToolUse',
857
892
  host: 'claude_code',
893
+ eventId: input.tool_use_id,
858
894
  });
859
895
  const checkpoint = injectionsResult?.ok && Array.isArray(injectionsResult.injections)
860
896
  ? injectionsResult.injections.find((inj) => inj.signal === 'checkpoint_required')
@@ -879,22 +915,48 @@ async function handlePostMcp(input, config) {
879
915
  if (!config.apiKey || input.tool_response === undefined)
880
916
  writeAllow();
881
917
  const tool = input.tool_name ?? '';
918
+ const projectId = (await findProjectIdentity(input.cwd))?.projectId;
919
+ const toolArgs = (input.tool_input ?? {});
882
920
  await fetchMcpRecord({
883
921
  server: config.server,
884
922
  apiKey: config.apiKey,
885
923
  cwd: input.cwd,
886
- projectId: (await findProjectIdentity(input.cwd))?.projectId,
924
+ projectId,
887
925
  claudeSessionId: input.session_id,
888
926
  tool,
889
- args: (input.tool_input ?? {}),
927
+ args: toolArgs,
890
928
  result: input.tool_response,
891
929
  });
930
+ await fetchInjections({
931
+ server: config.server,
932
+ apiKey: config.apiKey,
933
+ cwd: input.cwd,
934
+ projectId,
935
+ sessionId: input.session_id,
936
+ event: 'PostToolUse',
937
+ host: 'claude_code',
938
+ toolName: tool,
939
+ toolArgs,
940
+ eventId: input.tool_use_id,
941
+ toolSucceeded: mcpResultSucceeded(input.tool_response),
942
+ observeOnly: true,
943
+ });
892
944
  }
893
945
  catch {
894
946
  // Never block on PostToolUse.
895
947
  }
896
948
  writeAllow();
897
949
  }
950
+ /** MCP CallToolResult success is optional-isError=false by specification. */
951
+ function mcpResultSucceeded(result) {
952
+ if (!result || typeof result !== 'object' || Array.isArray(result))
953
+ return false;
954
+ const record = result;
955
+ return (record.isError !== true &&
956
+ record.is_error !== true &&
957
+ record.ok !== false &&
958
+ !('error' in record && record.error != null));
959
+ }
898
960
  // ─── Top-level dispatcher ──────────────────────────────────────────────────
899
961
  async function dispatch(input) {
900
962
  // CI / non-interactive — always allow, never block.
package/dist/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAUlG,+EAA+E;AAC/E,2EAA2E;AAC3E,uDAAuD;AACvD,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAE9C,8EAA8E;AAE9E,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,8EAA8E;AAE9E,SAAS,aAAa,CACpB,QAC4F;IAE5F,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,QAAQ,GAAG,MAAM;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,MAAM,GACV,uGAAuG,CAAC;IAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM;YAAE,MAAM;QACxD,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,GAAG,MAAM,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAgB,EAChB,MAAkB,EAClB,IAAY,EACZ,IAAoC,EACpC,OAAe;IAEf,MAAM,eAAe,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,eAAe,EAAE,KAAK,CAAC,UAAU;QACjC,IAAI;QACJ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,GAAG,IAAI,KAAK,CAAC;YACb,yEAAyE;YACzE,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,SAA8C;IACrF,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,SAA8C,EAC9C,GAAW;IAEX,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,yEAAyE;IACzE,6EAA6E;IAC7E,uEAAuE;IACvE,6DAA6D;IAC7D,MAAM,GAAG,GACP,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;QACrC,CAAC,CAAC,SAAS,CAAC,SAAS;QACrB,CAAC,CAAC,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ;YAC3C,CAAC,CAAC,SAAS,CAAC,aAAa;YACzB,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAkB;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC;IACvC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAErF,2EAA2E;IAC3E,yEAAyE;IACzE,8BAA8B;IAC9B,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,4DAA4D;IAC5D,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,iBAAiB,CACf,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAC/B,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9D,iBAAiB,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACpE,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,uBAAuB,CAChD,CAAC;IAEF,yEAAyE;IACzE,gEAAgE;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,4BAA4B,EAAE,CAAC;YACjC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAuB;gBACnC,kBAAkB,EAAE;oBAClB,aAAa,EAAE,YAAY;oBAC3B,kBAAkB,EAAE,OAAO;oBAC3B,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAChE;aACF,CAAC;YACF,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,wFAAwF;QACxF,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,mEAAmE;QACnE,uBAAuB;QACvB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,kBAAkB,GAAG;YACzB,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,iMAAiM;SAClM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,MAAM;gBAC1B,wBAAwB,EAAE,kBAAkB;aAC7C;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,qBAAqB;IACrB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG;QACjB,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,iMAAiM;KAClM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,QAAQ,GAAuB;QACnC,kBAAkB,EAAE;YAClB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,MAAM;YAC1B,wBAAwB,EAAE,UAAU;SACrC;KACF,CAAC;IACF,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAkB;IAC/D,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,UAAU,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAElC,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG;YACjB,2BAA2B;YAC3B,gEAAgE,QAAQ,IAAI;YAC5E,uKAAuK;YACvK,yKAAyK;SAC1K,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,MAAM;gBAC1B,wBAAwB,EAAE,UAAU;aACrC;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,gEAAgE;IAChE,sEAAsE;IACtE,uEAAuE;IACvE,kEAAkE;IAClE,sEAAsE;IACtE,oDAAoD;IACpD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACrE,iBAAiB,CACf,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM;QACnC,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,OAAO,EAAE,KAAK,CAAC,WAAW;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC;QAC1B,MAAM,aAAa,CACjB,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAC9C,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAC1D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAqB,CAC9C,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAClD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,uBAAuB,CAChD,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,iBAAiB,CAC1C,CAAC;IACF,8EAA8E;IAC9E,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAC/C,CAAC;IAEF,IACE,CAAC,mBAAmB;QACpB,CAAC,WAAW;QACZ,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC5E,UAAU,EAAE,CAAC;IACf,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,YAAY,KAAK,KAAK,CAAC;IAC1E,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC;IAEnD,kEAAkE;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,gFAAgF;IAChF,8EAA8E;IAC9E,+BAA+B;IAC/B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,uBAAuB,CAAC;QACxC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,MAAM;gBAC1B,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3C;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,8EAA8E;IAC9E,gFAAgF;IAChF,mEAAmE;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,MAAM;gBAC1B,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3C;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAuB;QACnC,kBAAkB,EAAE;YAClB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,OAAO;YAC3B,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACpC;KACF,CAAC;IACF,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,YAAY,CAAC,KAAgB,EAAE,MAAkB;IAC9D,MAAM,IAAI,GAAG,YAAY,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,eAAe,EAAE,KAAK,CAAC,UAAU;QACjC,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAClF,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,8BAA8B,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,0CAA0C,CAAC;QAClF,8DAA8D;QAC9D,+DAA+D;QAC/D,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,qCAAqC;QACrC,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,MAAM;gBAC1B,wBAAwB,EAAE,GAAG,MAAM,KAAK,OAAO,EAAE;aAClD;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,2CAA2C,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,2BAA2B,CAAC;IAC5D,MAAM,QAAQ,GAAuB;QACnC,kBAAkB,EAAE;YAClB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACzD,GAAG,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,MAAM,KAAK,OAAO,EAAE,EAAE;gBACvD,CAAC,CAAC,EAAE,iBAAiB,EAAE,qCAAqC,OAAO,KAAK,MAAM,GAAG,EAAE,CAAC;SACvF;KACF,CAAC;IACF,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAkB;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM;QACxB,CAAC,CAAC,MAAM,wBAAwB,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;YAC5D,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,OAAO,EAAE,KAAK,CAAC,WAAW;SAC3B,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,sEAAsE;IACtE,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,6CAA6C;IAC7C,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE;QACpB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAAC;QACtE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAuB;YACnC,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,OAAO;gBAC3B,iBAAiB,EAAE,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;aACjF;SACF,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU,EAAE,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,KAAgB,EAAE,MAAkB;IACpE,IAAI,uBAAuB,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IACpE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3B,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,gBAAgB,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS;QACT,eAAe,EAAE,KAAK,CAAC,UAAU;QACjC,EAAE;KACH,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,aAAa;QACnB,EAAE;KACH,CAAC,CAAC;IAEH,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,IACE,gBAAgB,EAAE,EAAE;QACpB,OAAO,gBAAgB,CAAC,cAAc,KAAK,QAAQ;QACnD,gBAAgB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAC1C,CAAC;QACD,MAAM,0BAA0B,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,cAAc,EAAE,gBAAgB,CAAC,cAAc;SAChD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAA8B;QAC1C,kBAAkB,EAAE;YAClB,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC;KACF,CAAC;IACF,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAEhF,gFAAgF;AAChF,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,OAAmB;IAC9D,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,UAAU,EAAE,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAgB,EAAE,MAAkB;IAClE,IAAI,oBAAoB,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IAEjC,IAAI,OAA2B,CAAC;IAChC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,KAAK,CAAC,UAAU;gBAC3B,mBAAmB,EAAE,0BAA0B;aAChD,CAAC,CAAC;YACH,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC;iBAC3B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;iBACxB,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,cAAc,IAAI,oBAAoB,CAAC;iBAC9C,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;iBAC7B,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC/B,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9C,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC3B,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;iBACvC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,uEAAuE;YACvE,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED,MAAM,wBAAwB,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,eAAe,EAAE,KAAK,CAAC,UAAU;QACjC,OAAO;KACR,CAAC,CAAC;IAEH,UAAU,EAAE,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,gBAAgB,CAAC,KAAgB,EAAE,MAAkB;IAClE,IAAI,gBAAgB,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IAEjC,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,cAAc,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;QAC5D,eAAe,EAAE,KAAK,CAAC,UAAU;QACjC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,mBAAmB,EAAE,0BAA0B;KAChD,CAAC,CAAC;IAEH,UAAU,EAAE,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,KAAK,UAAU,sBAAsB,CAAC,KAAgB,EAAE,MAAkB;IACxE,IAAI,mBAAmB,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IAEjC,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,aAAa,GAAG,KAA2C,CAAC;IAClE,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,UAAU,EAAE,MAAM,KAAK,QAAQ;QAC1C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;QACzB,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ;YACxC,CAAC,CAAE,aAAa,CAAC,MAAiB;YAClC,CAAC,CAAC,EAAE,CAAC;IACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAEjC,iEAAiE;IACjE,iCAAiC;IACjC,yEAAyE;IACzE,mEAAmE;IACnE,iEAAiE;IACjE,gEAAgE;IAChE,oCAAoC;IACpC,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,SAAS,GAAG,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IACpE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,eAAe,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,aAAa;YACnB,MAAM;YACN,EAAE;SACH,CAAC;QACF,QAAQ,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,MAAM;YACN,MAAM,EAAE,kBAAkB;SAC3B,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,2EAA2E;QAC3E,qEAAqE;QACrE,8EAA8E;QAC9E,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,6EAA6E;QAC7E,uEAAuE;QACvE,6EAA6E;QAC7E,4EAA4E;QAC5E,sEAAsE;QACtE,uEAAuE;QACvE,8EAA8E;QAC9E,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,gBAAgB,EAAE,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,oBAAoB,CAAC,CAAC;IAC7E,CAAC;IAED,+EAA+E;IAC/E,uEAAuE;IACvE,gFAAgF;IAChF,uEAAuE;IACvE,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,2DAA2D;IAC3D,IAAI,gBAAgB,EAAE,EAAE,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,CAAC,iBAAiB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,IAAI,SAAS;YAAE,YAAY,CAAC,OAAO,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAA8B;QAC1C,kBAAkB,EAAE;YAClB,aAAa,EAAE,kBAAkB;YACjC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC;KACF,CAAC;IACF,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,cAAc,CAAC,KAAgB,EAAE,MAAkB;IAChE,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,UAAU,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ;YAAE,UAAU,EAAE,CAAC;QAC5B,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,QAAQ;YACR,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,WAAW;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,YAAY;YAAE,UAAU,EAAE,CAAC;QAEhC,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,kDAAkD;QAClD,IAAI,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;gBAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAO;gBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;gBAC5D,SAAS,EAAE,KAAK,CAAC,UAAU;gBAC3B,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,KAAK,CAAC,WAAW;aAC3B,CAAC,CAAC;YACH,MAAM,UAAU,GACd,gBAAgB,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;gBAChE,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAqB,CAAC;gBACjF,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC;oBACZ,kBAAkB,EAAE;wBAClB,aAAa,EAAE,aAAa;wBAC5B,iBAAiB,EAAE,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;qBACtF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAkB;IAC/D,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;YAAE,UAAU,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QACrE,MAAM,cAAc,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS;YACT,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,IAAI;YACJ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,MAAM,eAAe,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,OAAO,EAAE,KAAK,CAAC,WAAW;YAC1B,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;YACtD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,UAAU,EAAE,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,OAAO,CACL,MAAM,CAAC,OAAO,KAAK,IAAI;QACvB,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,MAAM,CAAC,EAAE,KAAK,KAAK;QACnB,CAAC,CAAC,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,QAAQ,CAAC,KAAgB;IACtC,oDAAoD;IACpD,IAAI,gBAAgB,EAAE;QAAE,UAAU,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,0EAA0E;QAC1E,oEAAoE;QACpE,oEAAoE;QACpE,8CAA8C;QAC9C,MAAM,YAAY,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS;YAC5D,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;YAClC,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAED,QAAQ,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9B,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnE,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,UAAU,EAAE,CAAC;YACb,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnE,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,UAAU,EAAE,CAAC;YACb,MAAM;QACR,CAAC;QACD,KAAK,cAAc;YACjB,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,YAAY;YACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,YAAY;YACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,kBAAkB;YACrB,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5C,UAAU,EAAE,CAAC;YACb,MAAM;QACR;YACE,yDAAyD;YACzD,UAAU,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,UAAU,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,KAAM,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,iDAAiD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACtG,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
package/dist/install.d.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  * Claude Code settings without clobbering the user's existing config.
5
5
  *
6
6
  * What it does:
7
- * 1. Resolves the dispatcher path (this package's dist/hook.js).
7
+ * 1. Copies the dispatcher and its shared runtime dependency to a stable,
8
+ * content-addressed ~/.mnemonik/hooks directory.
8
9
  * 2. Reads (or creates) ~/.claude/settings.json by default.
9
10
  * Use --scope=project to target .claude/settings.json at the cwd.
10
11
  * 3. Merges PreToolUse/PostToolUse entries pointing at `node <dispatcher>`,
@@ -12,17 +13,20 @@
12
13
  * installer is idempotent.
13
14
  * 4. Writes the file back, preserving any unrelated user config.
14
15
  *
15
- * No npm dependencies — uses Node 20 builtins only.
16
+ * Installer mechanics use Node 20 builtins only; the copied dispatcher keeps
17
+ * its exact resolved @mnemonik/shared dependency.
16
18
  */
17
19
  type InstallTarget = 'host' | 'project';
18
20
  interface SettingsHooksEntry {
19
21
  type: 'command';
20
22
  command: string;
21
23
  timeout?: number;
24
+ [k: string]: unknown;
22
25
  }
23
26
  interface SettingsHookGroup {
24
27
  matcher?: string;
25
28
  hooks?: SettingsHooksEntry[];
29
+ [k: string]: unknown;
26
30
  }
27
31
  interface StatusLineConfig {
28
32
  type: 'command';
@@ -31,16 +35,16 @@ interface StatusLineConfig {
31
35
  }
32
36
  /**
33
37
  * Decide the statusLine wiring without touching disk. NEVER clobbers a user's
34
- * existing statusline: only returns an entry to write when the key is absent
35
- * and our executable is built. `set` is the new config (or null to leave the
36
- * settings untouched); `note` is the human-readable install-output line.
38
+ * existing custom statusline: writes when the key is absent or when the old
39
+ * value is explicitly Mnemonik-owned, and only when the executable is built.
40
+ * `set` is the new config (or null to leave settings untouched).
37
41
  */
38
42
  declare function statusLineDecision(existing: StatusLineConfig | undefined, statuslinePath: string, built: boolean): {
39
43
  set: StatusLineConfig | null;
40
44
  note: string;
41
45
  };
42
46
  declare function buildHookEntry(dispatcher: string): SettingsHooksEntry;
43
- declare function isMnemonikEntry(entry: SettingsHookGroup): boolean;
47
+ declare function isMnemonikEntry(entry: SettingsHookGroup, currentDispatcher?: string): boolean;
44
48
  declare function patchHookGroup(groups: SettingsHookGroup[] | undefined, matcher: string | null, entry: SettingsHooksEntry): SettingsHookGroup[];
45
49
  declare function parseArgs(argv: string[]): {
46
50
  target: InstallTarget;