dev-sessions 0.2.12 → 0.2.14
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/backends/codex-appserver.d.ts +6 -1
- package/dist/backends/codex-appserver.js +154 -22
- package/dist/backends/codex-appserver.js.map +1 -1
- package/dist/backends/codex-backend.js +17 -13
- package/dist/backends/codex-backend.js.map +1 -1
- package/package.json +1 -1
- package/skills/delegate/SKILL.md +8 -6
|
@@ -84,6 +84,11 @@ export declare class CodexWebSocketRpcClient implements CodexRpcClient {
|
|
|
84
84
|
private failConnection;
|
|
85
85
|
private notify;
|
|
86
86
|
}
|
|
87
|
+
type ThreadRuntimeStatusString = 'active' | 'idle' | 'notLoaded' | 'systemError' | 'unknown';
|
|
88
|
+
interface ThreadRuntimeResult {
|
|
89
|
+
status: ThreadRuntimeStatusString;
|
|
90
|
+
errorDetail?: string;
|
|
91
|
+
}
|
|
87
92
|
export declare class CodexAppServerBackend {
|
|
88
93
|
private readonly sessionState;
|
|
89
94
|
private readonly daemonManager;
|
|
@@ -91,7 +96,7 @@ export declare class CodexAppServerBackend {
|
|
|
91
96
|
constructor(dependencies?: CodexAppServerBackendDependencies);
|
|
92
97
|
createSession(championId: string, workspacePath: string, model?: string): Promise<CodexSessionCreateResult>;
|
|
93
98
|
sendMessage(championId: string, threadId: string, message: string, options?: CodexSendMessageOptions): Promise<CodexSendResult>;
|
|
94
|
-
getThreadRuntimeStatus(threadId: string): Promise<
|
|
99
|
+
getThreadRuntimeStatus(threadId: string): Promise<ThreadRuntimeResult>;
|
|
95
100
|
waitForThread(championId: string, threadId: string, timeoutMs?: number, expectedTurnId?: string): Promise<CodexTurnWaitResult>;
|
|
96
101
|
waitForTurn(championId: string, timeoutMs?: number): Promise<CodexTurnWaitResult>;
|
|
97
102
|
getLastAssistantMessages(championId: string, threadId: string, count: number): Promise<string[]>;
|
|
@@ -611,6 +611,21 @@ function extractThreadRuntimeStatus(result) {
|
|
|
611
611
|
}
|
|
612
612
|
return 'unknown';
|
|
613
613
|
}
|
|
614
|
+
function extractThreadErrorDetail(result) {
|
|
615
|
+
const thread = result?.thread;
|
|
616
|
+
if (!thread)
|
|
617
|
+
return undefined;
|
|
618
|
+
const turns = thread.turns;
|
|
619
|
+
if (!Array.isArray(turns))
|
|
620
|
+
return undefined;
|
|
621
|
+
for (let i = turns.length - 1; i >= 0; i--) {
|
|
622
|
+
const turn = turns[i];
|
|
623
|
+
if (turn?.status === 'failed' && turn.error && typeof turn.error.message === 'string') {
|
|
624
|
+
return turn.error.message;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
return undefined;
|
|
628
|
+
}
|
|
614
629
|
function extractThreadReadAssistantMessages(result) {
|
|
615
630
|
if (!result || typeof result !== 'object') {
|
|
616
631
|
throw new Error('thread/read returned an invalid response');
|
|
@@ -752,6 +767,43 @@ function extractTurnError(turn) {
|
|
|
752
767
|
}
|
|
753
768
|
return undefined;
|
|
754
769
|
}
|
|
770
|
+
function extractThreadReadTurnSnapshot(result, expectedTurnId) {
|
|
771
|
+
if (!result || typeof result !== 'object') {
|
|
772
|
+
throw new Error('thread/read returned an invalid response');
|
|
773
|
+
}
|
|
774
|
+
const thread = result.thread;
|
|
775
|
+
if (!thread || typeof thread !== 'object') {
|
|
776
|
+
throw new Error('thread/read response is missing result.thread');
|
|
777
|
+
}
|
|
778
|
+
const turns = thread.turns;
|
|
779
|
+
if (!Array.isArray(turns)) {
|
|
780
|
+
throw new Error('thread/read response is missing result.thread.turns');
|
|
781
|
+
}
|
|
782
|
+
for (let index = turns.length - 1; index >= 0; index -= 1) {
|
|
783
|
+
const turn = turns[index];
|
|
784
|
+
if (!turn || typeof turn !== 'object')
|
|
785
|
+
continue;
|
|
786
|
+
const turnId = extractTurnId(turn);
|
|
787
|
+
if (turnId !== expectedTurnId)
|
|
788
|
+
continue;
|
|
789
|
+
const rawStatus = turn.status;
|
|
790
|
+
const status = rawStatus === 'inProgress' ? rawStatus : extractTurnStatus(turn);
|
|
791
|
+
const items = Array.isArray(turn.items)
|
|
792
|
+
? ((turn.items) ?? [])
|
|
793
|
+
: [];
|
|
794
|
+
const assistantTexts = items
|
|
795
|
+
.filter((item) => Boolean(item) && typeof item === 'object')
|
|
796
|
+
.filter((item) => item.type === 'agentMessage' && typeof item.text === 'string' && item.text.length > 0)
|
|
797
|
+
.map((item) => item.text);
|
|
798
|
+
return {
|
|
799
|
+
turnId,
|
|
800
|
+
status,
|
|
801
|
+
errorMessage: extractTurnError(turn),
|
|
802
|
+
assistantText: assistantTexts.length > 0 ? assistantTexts.join('\n\n') : undefined
|
|
803
|
+
};
|
|
804
|
+
}
|
|
805
|
+
return undefined;
|
|
806
|
+
}
|
|
755
807
|
class CodexAppServerBackend {
|
|
756
808
|
sessionState = new Map();
|
|
757
809
|
daemonManager;
|
|
@@ -848,20 +900,24 @@ class CodexAppServerBackend {
|
|
|
848
900
|
async getThreadRuntimeStatus(threadId) {
|
|
849
901
|
const normalizedThreadId = threadId.trim();
|
|
850
902
|
if (normalizedThreadId.length === 0) {
|
|
851
|
-
return 'unknown';
|
|
903
|
+
return { status: 'unknown' };
|
|
852
904
|
}
|
|
853
905
|
try {
|
|
854
906
|
const { result } = await this.withConnectedClient(async (client) => {
|
|
855
907
|
const resumeResult = await client.request('thread/resume', { threadId: normalizedThreadId });
|
|
856
|
-
|
|
908
|
+
const status = extractThreadRuntimeStatus(resumeResult);
|
|
909
|
+
const errorDetail = (status === 'systemError' || status === 'unknown')
|
|
910
|
+
? extractThreadErrorDetail(resumeResult)
|
|
911
|
+
: undefined;
|
|
912
|
+
return { status, errorDetail };
|
|
857
913
|
});
|
|
858
914
|
return result;
|
|
859
915
|
}
|
|
860
916
|
catch (error) {
|
|
861
917
|
if (this.isResumeNotFoundError(error)) {
|
|
862
|
-
return 'notLoaded';
|
|
918
|
+
return { status: 'notLoaded' };
|
|
863
919
|
}
|
|
864
|
-
return 'unknown';
|
|
920
|
+
return { status: 'unknown' };
|
|
865
921
|
}
|
|
866
922
|
}
|
|
867
923
|
async waitForThread(championId, threadId, timeoutMs = DEFAULT_TIMEOUT_MS, expectedTurnId) {
|
|
@@ -877,25 +933,101 @@ class CodexAppServerBackend {
|
|
|
877
933
|
let sawActiveTurn = false;
|
|
878
934
|
let result;
|
|
879
935
|
if (normalizedExpectedTurnId.length > 0) {
|
|
880
|
-
//
|
|
881
|
-
//
|
|
882
|
-
//
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
936
|
+
// A reconnect can see a stale/provisional completion signal before thread/read
|
|
937
|
+
// reflects the exact turn we started. Reconcile the exact turn ID against
|
|
938
|
+
// thread/read on each cycle so wait() only returns once that turn is truly terminal.
|
|
939
|
+
while (!result) {
|
|
940
|
+
const elapsedMs = Date.now() - overallStart;
|
|
941
|
+
const remainingMs = safeTimeoutMs - elapsedMs;
|
|
942
|
+
if (remainingMs <= 0) {
|
|
943
|
+
result = {
|
|
944
|
+
completed: false,
|
|
945
|
+
timedOut: true,
|
|
946
|
+
elapsedMs: Math.max(1, elapsedMs),
|
|
947
|
+
status: 'interrupted',
|
|
948
|
+
errorMessage: 'Timed out waiting for Codex turn completion',
|
|
949
|
+
assistantText: lastAssistantText
|
|
950
|
+
};
|
|
951
|
+
break;
|
|
952
|
+
}
|
|
953
|
+
const waitCycle = await this.withConnectedClient(async (client) => {
|
|
954
|
+
await client.request('thread/resume', { threadId: normalizedThreadId });
|
|
955
|
+
const readBeforeWait = await client.request('thread/read', {
|
|
956
|
+
threadId: normalizedThreadId,
|
|
957
|
+
includeTurns: true
|
|
958
|
+
});
|
|
959
|
+
const snapshotBeforeWait = extractThreadReadTurnSnapshot(readBeforeWait, normalizedExpectedTurnId);
|
|
960
|
+
if (snapshotBeforeWait?.status === 'completed' ||
|
|
961
|
+
snapshotBeforeWait?.status === 'failed' ||
|
|
962
|
+
snapshotBeforeWait?.status === 'interrupted') {
|
|
963
|
+
return {
|
|
964
|
+
kind: 'snapshot',
|
|
965
|
+
snapshot: snapshotBeforeWait
|
|
966
|
+
};
|
|
967
|
+
}
|
|
968
|
+
const waitResult = await client.waitForTurnCompletion(remainingMs, normalizedThreadId, normalizedExpectedTurnId);
|
|
969
|
+
const readAfterWait = await client.request('thread/read', {
|
|
970
|
+
threadId: normalizedThreadId,
|
|
971
|
+
includeTurns: true
|
|
972
|
+
});
|
|
973
|
+
const snapshotAfterWait = extractThreadReadTurnSnapshot(readAfterWait, normalizedExpectedTurnId);
|
|
974
|
+
return {
|
|
975
|
+
kind: 'wait',
|
|
976
|
+
waitResult,
|
|
977
|
+
snapshotAfterWait
|
|
978
|
+
};
|
|
979
|
+
});
|
|
980
|
+
if (waitCycle.result.kind === 'snapshot') {
|
|
981
|
+
if (waitCycle.result.snapshot.assistantText) {
|
|
982
|
+
lastAssistantText = waitCycle.result.snapshot.assistantText;
|
|
983
|
+
}
|
|
984
|
+
const status = waitCycle.result.snapshot.status;
|
|
985
|
+
if (!status || status === 'inProgress') {
|
|
986
|
+
continue;
|
|
987
|
+
}
|
|
988
|
+
result = {
|
|
989
|
+
completed: status !== 'interrupted',
|
|
990
|
+
timedOut: status === 'interrupted',
|
|
991
|
+
elapsedMs: Math.max(0, Date.now() - overallStart),
|
|
992
|
+
status,
|
|
993
|
+
errorMessage: waitCycle.result.snapshot.errorMessage,
|
|
994
|
+
assistantText: waitCycle.result.snapshot.assistantText ?? lastAssistantText
|
|
995
|
+
};
|
|
996
|
+
break;
|
|
997
|
+
}
|
|
998
|
+
if (waitCycle.result.waitResult.assistantText) {
|
|
999
|
+
lastAssistantText = waitCycle.result.waitResult.assistantText;
|
|
1000
|
+
}
|
|
1001
|
+
if (waitCycle.result.snapshotAfterWait?.assistantText) {
|
|
1002
|
+
lastAssistantText = waitCycle.result.snapshotAfterWait.assistantText;
|
|
1003
|
+
}
|
|
1004
|
+
if (waitCycle.result.snapshotAfterWait?.status === 'completed' ||
|
|
1005
|
+
waitCycle.result.snapshotAfterWait?.status === 'failed' ||
|
|
1006
|
+
waitCycle.result.snapshotAfterWait?.status === 'interrupted') {
|
|
1007
|
+
const status = waitCycle.result.snapshotAfterWait.status;
|
|
1008
|
+
result = {
|
|
1009
|
+
completed: status !== 'interrupted',
|
|
1010
|
+
timedOut: status === 'interrupted',
|
|
1011
|
+
elapsedMs: Math.max(waitCycle.result.waitResult.elapsedMs, Date.now() - overallStart),
|
|
1012
|
+
status,
|
|
1013
|
+
errorMessage: waitCycle.result.snapshotAfterWait.errorMessage ?? waitCycle.result.waitResult.errorMessage,
|
|
1014
|
+
assistantText: waitCycle.result.snapshotAfterWait.assistantText ??
|
|
1015
|
+
waitCycle.result.waitResult.assistantText ??
|
|
1016
|
+
lastAssistantText
|
|
1017
|
+
};
|
|
1018
|
+
break;
|
|
1019
|
+
}
|
|
1020
|
+
if (waitCycle.result.waitResult.timedOut ||
|
|
1021
|
+
waitCycle.result.waitResult.status === 'failed' ||
|
|
1022
|
+
waitCycle.result.waitResult.status === 'interrupted') {
|
|
1023
|
+
result = {
|
|
1024
|
+
...waitCycle.result.waitResult,
|
|
1025
|
+
elapsedMs: Math.max(waitCycle.result.waitResult.elapsedMs, Date.now() - overallStart),
|
|
1026
|
+
assistantText: waitCycle.result.waitResult.assistantText ?? lastAssistantText
|
|
1027
|
+
};
|
|
1028
|
+
break;
|
|
1029
|
+
}
|
|
891
1030
|
}
|
|
892
|
-
result = {
|
|
893
|
-
...waitCycle.result,
|
|
894
|
-
elapsedMs: waitCycle.result.timedOut
|
|
895
|
-
? Math.max(waitCycle.result.elapsedMs, Date.now() - overallStart)
|
|
896
|
-
: waitCycle.result.elapsedMs,
|
|
897
|
-
assistantText: waitCycle.result.assistantText ?? lastAssistantText
|
|
898
|
-
};
|
|
899
1031
|
}
|
|
900
1032
|
while (!result) {
|
|
901
1033
|
const elapsedMs = Date.now() - overallStart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-appserver.js","sourceRoot":"","sources":["../../src/backends/codex-appserver.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAyD;AACzD,+CAA4F;AAC5F,uCAA4C;AAC5C,sDAAyB;AACzB,0DAA6B;AAC7B,4CAA2B;AAyG3B,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,wBAAwB,GAAG,oCAAoC,CAAC;AACtE,MAAM,kCAAkC,GAAG,wDAAwD,CAAC;AACpG,MAAM,6BAA6B,GAAG,qEAAqE,CAAC;AAC5G,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAE5D,SAAS,uBAAuB,CAAC,IAAc,EAAE,OAAoC;IACnF,OAAO,IAAA,0BAAK,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,sBAAsB,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,SAAiB;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;oBAC9B,IAAI,EAAE,WAAW;oBACjB,IAAI;iBACL,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC1B,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,kCAAkC;IAEnB;IACA;IACA;IAHnB,YACmB,gBAAwB,sBAAsB,EAAE,EAChD,cAAsB,oBAAoB,EAAE,EAC5C,qBAA8C,uBAAuB;QAFrE,kBAAa,GAAb,aAAa,CAAmC;QAChD,gBAAW,GAAX,WAAW,CAAiC;QAC5C,uBAAkB,GAAlB,kBAAkB,CAAmD;IACrF,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAY,EAAE,KAAc;QAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,SAAS,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAA2B;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,IAAA,gBAAK,EAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,IAAA,eAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAExD,IAAI,KAA+B,CAAC;QACpC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE;gBAC9E,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI;YACJ,GAAG,EAAE,kBAAkB,IAAI,EAAE;SAC9B,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,GAAW;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;QAEjD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChG,CAAC;YAED,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqC,CAAC;YACnE,IACE,MAAM,CAAC,OAAO,KAAK,kBAAkB;gBACrC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC7B,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC9B,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAC9B,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,kBAAkB;gBAC3B,GAAG,EAAE,MAAM,CAAC,GAAa;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAc;gBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC9F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAwB;QAC/C,MAAM,IAAA,gBAAK,EAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,aAAa,MAAM,CAAC;QAC5C,MAAM,OAAO,GAA4B;YACvC,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,IAAA,oBAAS,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,IAAA,iBAAM,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAA,aAAE,EAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAa,uBAAuB;IAcL;IAbrB,EAAE,CAAa;IACf,cAAc,CAAiB;IAC/B,aAAa,GAAG,CAAC,CAAC;IACT,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7D,OAAO,GAAiB,EAAE,CAAC;IAC3B,WAAW,GAAG,EAAE,CAAC;IACjB,UAAU,CAAwB;IAClC,SAAS,CAAU;IACnB,YAAY,CAAU;IACtB,MAAM,CAAU;IAChB,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC/B,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,OAAO;aACjB;YACD,YAAY,EAAE;gBACZ,eAAe,EAAE,IAAI;aACtB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAAgB;QAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,uCAAuC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,YAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,oBAAoB,kBAAkB,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;gBAC3B,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,aAAa;aACd,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,CAAC,KAAc,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,gBAAyB,EACzB,cAAuB;QAEvB,MAAM,mBAAmB,GACvB,CAAC,gBAAgB,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC;QACzG,MAAM,iBAAiB,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;QACjH,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,iBAAiB,CAAC;QACvE,IAAI,IAAI,CAAC,UAAU,IAAI,qBAAqB,EAAE,CAAC;YAC7C,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,YAAY,EAAE,IAAI,CAAC,SAAS;aAC7B,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAE3C,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;gBACvF,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;gBAChC,IAAI,CAAC,SAAS,GAAG,6CAA6C,CAAC;gBAC/D,OAAO,CAAC;oBACN,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACjC,MAAM,EAAE,aAAa;oBACrB,YAAY,EAAE,IAAI,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC,EAAE,WAAW,CAAC,CAAC;YAEhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,SAAS;gBACT,aAAa;gBACb,gBAAgB;gBAChB,cAAc;gBACd,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC;oBACH,EAAE,CAAC,SAAS,EAAE,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ;gBACV,CAAC;gBACD,MAAM,EAAE,CAAC;YACX,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAErB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,KAAK,YAAS,CAAC,UAAU,EAAE,CAAC;oBAC3C,EAAE,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,MAAM,EAAE,CAAC;oBACT,OAAO;gBACT,CAAC;gBAED,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,EAAE,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,iBAAiB,EAAE,KAAK;gBACxB,gBAAgB,EAAE,kBAAkB;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YAEb,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC/B,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;gBAC/C,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,KAAK,CAAC,qDAAqD,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3F,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACvB,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzB,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,EAAa;QACxC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAuB,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,sCAAsC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,mBAAmB,CAAC,OAAe;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,OAAQ,OAA4B,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5E,IAAI,CAAC,iBAAiB,CAAC,OAA0B,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAQ,OAAgC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxF,IAAI,CAAC,kBAAkB,CAAC,OAA+C,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAyB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEpC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,kBAAkB,CAAC,YAAkD;QAC3E,IAAI,YAAY,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;YAChC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAI,YAAY,CAAC,MAAyC,EAAE,IAAI,CAAC;YAC3E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAI,YAAY,CAAC,MAAyC,EAAE,IAAI,CAAC;QAC3E,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9E,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACxG,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC;YAClB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC1E,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IAEO,wBAAwB,CAAC,QAA4B,EAAE,MAA0B;QACvF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,QAAQ,KAAK,MAAM,CAAC,gBAAgB,CAAC;YACvF,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,KAAK,MAAM,CAAC,cAAc,CAAC;YAC/E,OAAO,aAAa,IAAI,WAAW,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CACpB,UAA+B,EAC/B,iBAA0B,EAC1B,eAAwB,EACxB,WAAoB,KAAK;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,iBAAiB,KAAK,MAAM,CAAC,gBAAgB,CAAC;YAChG,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,eAAe,KAAK,MAAM,CAAC,cAAc,CAAC;YACxF,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC;gBACb,GAAG,UAAU;gBACb,SAAS,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;QAE3C,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC;YAClB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,YAAY,EAAE,IAAI,CAAC,SAAS;SAC7B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,MAAc,EAAE,MAAgB;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,YAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;CACF;AArZD,0DAqZC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,MAAM,QAAQ,GAAI,MAAoD,EAAE,MAAM,EAAE,EAAE,CAAC;IACnF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,yEAAyE;AACzE,2EAA2E;AAC3E,4DAA4D;AAC5D,SAAS,0BAA0B,CAAC,MAAe;IACjD,MAAM,MAAM,GAAI,MAA2D,EAAE,MAAM,CAAC;IACpF,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,CAAE,6DAA6D;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,6DAA6D;QAC7D,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,qEAAqE;QACrE,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YACpC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kCAAkC,CAAC,MAAe;IACzD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAI,MAAkC,CAAC,MAAM,CAAC;IAC1D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,KAAK,GAAI,MAAkC,CAAC,KAAK,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAkB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,KAAK,GAAI,IAAgC,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,KAAK,MAAM,IAAI,IAAI,KAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA6B;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAoB,EAAE,CAAC;YAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,IAA+B,CAAC;gBAC1C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAI,MAAkC,CAAC,MAAM,CAAC;IAC1D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,KAAK,GAAI,MAAkC,CAAC,KAAK,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,YAAY,GAAyD,EAAE,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,KAAkB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,KAAK,GAAI,IAAgC,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,KAAK,MAAM,IAAI,IAAI,KAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9F,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAI,MAAkC,CAAC,KAAK,CAAC;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAe;IAClD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC;IAC/C,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAI,IAAyB,CAAC,EAAE,CAAC;IAC7C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAe;IAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,aAAa,CAAE,MAA6B,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAa;IACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;IACrD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAa,qBAAqB;IACf,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,aAAa,CAA8B;IAC3C,aAAa,CAAkC;IAEhE,YAAY,eAAkD,EAAE;QAC9D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,kCAAkC,EAAE,CAAC;QAC5F,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,aAAqB,EACrB,QAAgB,aAAa;QAE7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;gBACxD,KAAK;gBACL,GAAG,EAAE,aAAa;gBAClB,cAAc,EAAE,OAAO;gBACvB,OAAO,EAAE,oBAAoB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,sBAAsB,EAAE,IAAI;gBAC5B,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,KAAK;YACL,YAAY,EAAE,MAAM,CAAC,GAAG;YACxB,aAAa,EAAE,MAAM,CAAC,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,OAAiC;QAEjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzF,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAE1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;wBACpC,QAAQ,EAAE,GAAG;wBACb,GAAG,EAAE,OAAO,CAAC,aAAa;wBAC1B,KAAK;wBACL,cAAc,EAAE,OAAO;wBACvB,OAAO,EAAE,oBAAoB;wBAC7B,sBAAsB,EAAE,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,MAAM,KAAK,CAAC;oBACd,CAAC;oBAED,GAAG,GAAG,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;oBACxD,KAAK;oBACL,GAAG,EAAE,OAAO,CAAC,aAAa;oBAC1B,cAAc,EAAE,OAAO;oBACvB,OAAO,EAAE,oBAAoB;oBAC7B,SAAS,EAAE,KAAK;oBAChB,sBAAsB,EAAE,IAAI;oBAC5B,qBAAqB,EAAE,KAAK;iBAC7B,CAAC,CAAC;gBACH,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;gBACzD,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACzC,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAE5D,8EAA8E;YAC9E,gFAAgF;YAChF,2EAA2E;YAC3E,oEAAoE;YACpE,MAAM,uBAAuB,GAAG,KAAK,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACpG,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC;YACnF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;YACjC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,cAAc,CAAC,GAAG;YAC5B,YAAY,EAAE,MAAM,CAAC,GAAG;YACxB,aAAa,EAAE,MAAM,CAAC,IAAI;YAC1B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAC3C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC7F,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,QAAgB,EAChB,YAAoB,kBAAkB,EACtC,cAAuB;QAEvB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjF,CAAC;QAED,MAAM,wBAAwB,GAAG,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,iBAAqC,CAAC;QAC1C,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,MAAuC,CAAC;QAE5C,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,oFAAoF;YACpF,kFAAkF;YAClF,oFAAoF;YACpF,yBAAyB;YACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChE,iFAAiF;gBACjF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACxE,OAAO,MAAM,CAAC,qBAAqB,CAAC,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACnC,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;YACrD,CAAC;YAED,MAAM,GAAG;gBACP,GAAG,SAAS,CAAC,MAAM;gBACnB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ;oBAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;oBACjE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS;gBAC9B,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,iBAAiB;aACnE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YAC5C,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;YAC9C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG;oBACP,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;oBACjC,MAAM,EAAE,aAAa;oBACrB,YAAY,EAAE,6CAA6C;oBAC3D,aAAa,EAAE,iBAAiB;iBACjC,CAAC;gBACF,MAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC7F,MAAM,aAAa,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;gBAE/D,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACvF,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,UAAU,EAAE,CAAC;gBAC/C,CAAC;gBAED,IAAI,aAAa,KAAK,aAAa,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBACnE,OAAO;wBACL,IAAI,EAAE,UAAmB;wBACzB,UAAU,EAAE;4BACV,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,KAAK;4BACf,SAAS,EAAE,CAAC;4BACZ,MAAM,EAAE,QAAiB;4BACzB,YAAY,EACV,aAAa,KAAK,aAAa;gCAC7B,CAAC,CAAC,sCAAsC;gCACxC,CAAC,CAAC,iDAAiD;yBACxD;qBACF,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,MAAe;oBACrB,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,WAAoB,EAAE;iBAC7F,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;oBAC1C,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC5D,CAAC;gBAED,IACE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;oBAChC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ;oBAC3C,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,aAAa,EAChD,CAAC;oBACD,MAAM,GAAG;wBACP,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;wBACjF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,IAAI,iBAAiB;qBAC1E,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,8EAA8E;gBAC9E,6EAA6E;gBAC7E,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YACjD,MAAM,GAAG;gBACP,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;gBAC1B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,aAAa,EAAE,iBAAiB;aACjC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QAC1C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,YAAoB,kBAAkB;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;gBACjC,MAAM,EAAE,aAAa;gBACrB,YAAY,EAAE,KAAK,CAAC,aAAa;aAClC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,CAAC,cAAc;YAC5B,YAAY,EAAE,KAAK,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAa;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE;oBACrD,QAAQ,EAAE,kBAAkB;oBAC5B,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,OAAO,kCAAkC,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE;oBACrD,QAAQ,EAAE,kBAAkB;oBAC5B,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,GAAY,EAAE,QAAiB,EAAE,IAAa;QAClF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpE,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBACrC,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IACE,CAAC,CACC,KAAK,YAAY,KAAK;gBACtB,yGAAyG;qBACtG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,EACD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,GAAY,EAAE,IAAa,EAAE,QAAiB;QACrF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACjE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAsB,EAAE,QAAgB;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE;gBAClC,QAAQ;gBACR,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAiB;YAC5B,gBAAgB,EAAE,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,EAA0C;QAE1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAEvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAClE,OAAO;oBACL,MAAM;oBACN,MAAM;iBACP,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,uCAAuC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,MAA0B,EAC1B,EAA0C;QAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACpC,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC9B,0EAA0E;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,uCAAuC,CAAC,KAAc;QAC5D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,2FAA2F;aAC/F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,+BAA+B,CAAC,KAAc;QACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEO,yBAAyB,CAAC,KAAc;QAC9C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF;AAvgBD,sDAugBC"}
|
|
1
|
+
{"version":3,"file":"codex-appserver.js","sourceRoot":"","sources":["../../src/backends/codex-appserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ class CodexBackend {
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
async status(session) {
|
|
67
|
-
const liveStatus = await this.raw.getThreadRuntimeStatus(session.internalId);
|
|
67
|
+
const { status: liveStatus, errorDetail } = await this.raw.getThreadRuntimeStatus(session.internalId);
|
|
68
68
|
const hasPendingTurnId = typeof session.codexActiveTurnId === 'string' && session.codexActiveTurnId.length > 0;
|
|
69
69
|
if (liveStatus === 'active') {
|
|
70
70
|
return { status: 'working', storeUpdate: { codexTurnInProgress: true } };
|
|
@@ -78,7 +78,10 @@ class CodexBackend {
|
|
|
78
78
|
return { status: 'idle', storeUpdate: { codexTurnInProgress: false } };
|
|
79
79
|
}
|
|
80
80
|
if (liveStatus === 'systemError') {
|
|
81
|
-
|
|
81
|
+
const msg = errorDetail
|
|
82
|
+
? `Codex app-server is in a system error state: ${errorDetail}`
|
|
83
|
+
: 'Codex app-server is in a system error state';
|
|
84
|
+
return { errorToThrow: new Error(msg), status: 'idle' };
|
|
82
85
|
}
|
|
83
86
|
return { errorToThrow: new Error('Could not reach Codex app-server'), status: 'idle' };
|
|
84
87
|
}
|
|
@@ -86,14 +89,14 @@ class CodexBackend {
|
|
|
86
89
|
const baseStoreUpdate = { lastUsed: new Date().toISOString() };
|
|
87
90
|
const hasPendingTurnId = typeof session.codexActiveTurnId === 'string' && session.codexActiveTurnId.length > 0;
|
|
88
91
|
if (!session.codexTurnInProgress && !hasPendingTurnId && session.lastTurnStatus === 'failed') {
|
|
89
|
-
let
|
|
92
|
+
let liveResult;
|
|
90
93
|
try {
|
|
91
|
-
|
|
94
|
+
liveResult = await this.raw.getThreadRuntimeStatus(session.internalId);
|
|
92
95
|
}
|
|
93
96
|
catch {
|
|
94
|
-
|
|
97
|
+
liveResult = { status: 'unknown' };
|
|
95
98
|
}
|
|
96
|
-
if (
|
|
99
|
+
if (liveResult.status === 'idle' || liveResult.status === 'notLoaded') {
|
|
97
100
|
return {
|
|
98
101
|
completed: true,
|
|
99
102
|
timedOut: false,
|
|
@@ -101,9 +104,10 @@ class CodexBackend {
|
|
|
101
104
|
storeUpdate: { ...baseStoreUpdate, lastTurnStatus: 'completed', lastTurnError: undefined }
|
|
102
105
|
};
|
|
103
106
|
}
|
|
104
|
-
if (
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
+
if (liveResult.status !== 'active') {
|
|
108
|
+
const detail = liveResult.errorDetail ?? session.lastTurnError;
|
|
109
|
+
const message = detail
|
|
110
|
+
? `Codex turn failed: ${detail}`
|
|
107
111
|
: 'Codex turn failed';
|
|
108
112
|
return {
|
|
109
113
|
completed: false,
|
|
@@ -116,14 +120,14 @@ class CodexBackend {
|
|
|
116
120
|
// Thread is active — fall through to waitForThread below
|
|
117
121
|
}
|
|
118
122
|
if (!session.codexTurnInProgress && !hasPendingTurnId) {
|
|
119
|
-
let
|
|
123
|
+
let liveResult;
|
|
120
124
|
try {
|
|
121
|
-
|
|
125
|
+
liveResult = await this.raw.getThreadRuntimeStatus(session.internalId);
|
|
122
126
|
}
|
|
123
127
|
catch {
|
|
124
|
-
|
|
128
|
+
liveResult = { status: 'unknown' };
|
|
125
129
|
}
|
|
126
|
-
if (
|
|
130
|
+
if (liveResult.status !== 'active') {
|
|
127
131
|
return {
|
|
128
132
|
completed: true,
|
|
129
133
|
timedOut: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-backend.js","sourceRoot":"","sources":["../../src/backends/codex-backend.ts"],"names":[],"mappings":";;;AAIA,MAAa,YAAY;IAIM;IAHpB,GAAG,GAAe,OAAO,CAAC;IAC1B,iBAAiB,GAAG,YAAqB,CAAC;IAEnD,YAA6B,GAA0B;QAA1B,QAAG,GAAH,GAAG,CAAuB;IAAG,CAAC;IAE3D,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACpG,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,QAAQ;YACjC,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,mBAAmB,EAAE,KAAK;YAC1B,qBAAqB,EAAE,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,QAAuB,EAAE,QAAgB;QAC1D,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAsB,EAAE,OAAe;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;YAC7F,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC7D,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,aAAa,KAAK,QAAQ,CAAC;QACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC;QACpD,MAAM,MAAM,GAA2B;YACrC,UAAU,EAAE,UAAU,CAAC,QAAQ;YAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;SAClE,CAAC;QACF,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,CAAC,qBAAqB,GAAG,CAAC,GAAG,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACzE,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB,EAAE,KAAY;QAC/C,OAAO;YACL,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-backend.js","sourceRoot":"","sources":["../../src/backends/codex-backend.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/delegate/SKILL.md
CHANGED
|
@@ -21,7 +21,7 @@ This skill was itself written this way: rather than handing over a spec, the und
|
|
|
21
21
|
|
|
22
22
|
Your job as orchestrator is **judgment and synthesis** — holding the big picture, making decisions, staying at the right altitude. Sub-agents are your specialists: highly intelligent, capable of going deep on a focused problem. Your constraint is context window. Theirs is scope.
|
|
23
23
|
|
|
24
|
-
This division of labor only works if you respect it.
|
|
24
|
+
This division of labor only works if you respect it. Your context window is finite and irreplaceable mid-session — every line spent on implementation detail is a line you can't spend on judgment later. Let sub-agents handle depth; they have a fresh context for it. But don't delegate judgment — they're optimizing locally and can't see how their piece fits the whole. That's your job.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -44,8 +44,8 @@ Sub-agents are intelligent. Give them enough to reason from, not a script to fol
|
|
|
44
44
|
What actually matters in a brief:
|
|
45
45
|
- **What success looks like** — verifiable, not subjective. "All tests pass" not "looks clean."
|
|
46
46
|
- **What they should read first** — don't make them discover context from scratch
|
|
47
|
-
- **
|
|
48
|
-
- **Always set `--path`** — sub-
|
|
47
|
+
- **Why this matters and what should guide decisions** — the reasoning behind the task, not just the boundaries. Constraints tell an agent what it can't do; principles tell it how to think. An agent that understands *why* you want something makes better calls on everything you didn't think to specify. Hard constraints are worth stating when they exist, but they're a supplement to reasoning, not a replacement.
|
|
48
|
+
- **Always set `--path`** — without it, a sub-agent operates on whatever directory it happens to be in, which may not be your repo. Wrong path means it reads wrong context, writes to wrong files, or fails silently.
|
|
49
49
|
|
|
50
50
|
What to avoid: over-specifying how to implement something when you're not certain it's right. You become responsible for a design decision you made without full context.
|
|
51
51
|
|
|
@@ -53,7 +53,7 @@ What to avoid: over-specifying how to implement something when you're not certai
|
|
|
53
53
|
|
|
54
54
|
## Multiple perspectives: worth it sometimes, not always
|
|
55
55
|
|
|
56
|
-
Getting Claude and Codex to independently explore a design question before you commit is valuable — but
|
|
56
|
+
Getting Claude and Codex to independently explore a design question before you commit is valuable — but each session costs time and context. The payoff is highest for decisions that are hard to reverse or high-stakes, where seeing two independent takes genuinely changes the quality of your decision. For smaller calls, the overhead isn't worth it.
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
s1=$(dev-sessions create -q --cli claude --path /repo --description "design: X")
|
|
@@ -72,6 +72,8 @@ For smaller decisions: explore quickly yourself, or just delegate with a clear b
|
|
|
72
72
|
|
|
73
73
|
## Synthesizing results
|
|
74
74
|
|
|
75
|
-
Results come back to you for judgment, not acceptance.
|
|
75
|
+
Results come back to you for judgment, not acceptance. Each sub-agent optimized locally within its own scope — it doesn't know what the other agents did or how its work fits the whole. That's why you check results against your acceptance criteria and reconcile conflicts between parallel sessions explicitly. Merging blindly is how you get subtly inconsistent code that passes each agent's local checks but breaks in integration.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
If something produced nothing useful, check `last-message -n 5` to understand where it got stuck, then re-engage with a more focused prompt.
|
|
78
|
+
|
|
79
|
+
The synthesis step is where your value as orchestrator lives. It's the one thing sub-agents structurally cannot do for you.
|