baxian 1.2.56 → 1.2.57
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/agent/manager.d.ts +17 -2
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +260 -115
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/net-exec.d.ts +1 -0
- package/dist/agent/net-exec.d.ts.map +1 -1
- package/dist/agent/net-exec.js +6 -0
- package/dist/agent/net-exec.js.map +1 -1
- package/dist/agent/repo-store.d.ts +15 -1
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +206 -22
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/review-transport.d.ts.map +1 -1
- package/dist/agent/review-transport.js +15 -18
- package/dist/agent/review-transport.js.map +1 -1
- package/dist/agent/tmux.d.ts +21 -2
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +200 -16
- package/dist/agent/tmux.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +2 -11
- package/dist/api/projects.js.map +1 -1
- package/dist/lifecycle/restart-sentinel.d.ts.map +1 -1
- package/dist/lifecycle/restart-sentinel.js +10 -3
- package/dist/lifecycle/restart-sentinel.js.map +1 -1
- package/dist/state/error-record-store.d.ts.map +1 -1
- package/dist/state/error-record-store.js +12 -3
- package/dist/state/error-record-store.js.map +1 -1
- package/dist/state/process-lock.d.ts.map +1 -1
- package/dist/state/process-lock.js +11 -2
- package/dist/state/process-lock.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/net-exec.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const NET_EXEC_TIMEOUT_MS = 60000;
|
|
|
4
4
|
export declare const GH_EXEC_TIMEOUT_MS = 30000;
|
|
5
5
|
export declare const CLONE_EXEC_TIMEOUT_MS = 600000;
|
|
6
6
|
export declare function isTransientNetworkFailure(text: string): boolean;
|
|
7
|
+
export declare function execOutcomeUnknown(result: Pick<ExecResult, 'exitCode' | 'stdout' | 'stderr'>): boolean;
|
|
7
8
|
export interface NetExecOptions {
|
|
8
9
|
timeout?: number;
|
|
9
10
|
retries?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net-exec.d.ts","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAqC7C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAQD,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CAyBrB"}
|
|
1
|
+
{"version":3,"file":"net-exec.d.ts","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAqC7C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,OAAO,CAItG;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAQD,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CAyBrB"}
|
package/dist/agent/net-exec.js
CHANGED
|
@@ -43,6 +43,12 @@ export function isTransientNetworkFailure(text) {
|
|
|
43
43
|
return false;
|
|
44
44
|
return TRANSIENT_PATTERNS.some((p) => p.test(text));
|
|
45
45
|
}
|
|
46
|
+
// exit 255 or transient noise on either stream: the command's outcome is unknown, not negative.
|
|
47
|
+
export function execOutcomeUnknown(result) {
|
|
48
|
+
return result.exitCode === 255
|
|
49
|
+
|| isTransientNetworkFailure(result.stderr)
|
|
50
|
+
|| isTransientNetworkFailure(result.stdout);
|
|
51
|
+
}
|
|
46
52
|
function defaultSleep(ms) {
|
|
47
53
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
48
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net-exec.js","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"net-exec.js","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,0DAA0D,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAExE,MAAM,kBAAkB,GAAa;IACnC,yBAAyB;IACzB,uCAAuC;IACvC,oBAAoB;IACpB,iDAAiD;IACjD,sBAAsB;IACtB,qBAAqB;IACrB,mCAAmC;IACnC,YAAY;IACZ,aAAa;IACb,sCAAsC;IACtC,oBAAoB;IACpB,WAAW;IACX,cAAc;IACd,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,eAAe;IACf,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,8BAA8B;IAC9B,8BAA8B;IAC9B,kBAAkB;IAClB,uBAAuB;IACvB,4BAA4B;IAC5B,eAAe;IACf,YAAY;IACZ,uBAAuB;IACvB,yBAAyB;CAC1B,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,kBAAkB,CAAC,MAA0D;IAC3F,OAAO,MAAM,CAAC,QAAQ,KAAK,GAAG;WACzB,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC;WACxC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AASD,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,SAAS,GAAkC,YAAY,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,EAAkC;IAC1E,SAAS,GAAG,EAAE,IAAI,YAAY,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAqB,EACrB,OAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5E,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,GAAG,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;gBAAE,MAAM,GAAG,CAAC;YACxE,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACzC,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvG,IAAI,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -8,6 +8,16 @@ export interface RepoStoreCache {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function createRepoStoreCache(): RepoStoreCache;
|
|
10
10
|
export declare function ensureBaxianRuntimeDirsSafe(runner: CommandRunner, absRepoPath: string): Promise<void>;
|
|
11
|
+
export declare function isUnder(root: string, path: string): boolean;
|
|
12
|
+
export declare function ancestorSymlinkGuard(root: string, target: string): string;
|
|
13
|
+
export declare function guardedRemoveClause(root: string, target: string, opts?: {
|
|
14
|
+
recursive?: boolean;
|
|
15
|
+
}): string;
|
|
16
|
+
export declare function sweepStrayFile(runner: CommandRunner, path: string, guardClause?: string): Promise<void>;
|
|
17
|
+
export declare function stageFileGuarded(runner: CommandRunner, root: string, tmp: string, content: Buffer | string): Promise<void>;
|
|
18
|
+
export declare function moveFileIntoPlace(runner: CommandRunner, tmp: string, final: string, opts?: {
|
|
19
|
+
guardRoot?: string;
|
|
20
|
+
}): Promise<void>;
|
|
11
21
|
export declare class RepoStore {
|
|
12
22
|
private runner;
|
|
13
23
|
private mode;
|
|
@@ -25,12 +35,16 @@ export declare class RepoStore {
|
|
|
25
35
|
private resolveAbsPath;
|
|
26
36
|
private resolveHome;
|
|
27
37
|
private cloneIfNeeded;
|
|
38
|
+
private probe;
|
|
28
39
|
private validateClone;
|
|
29
40
|
private ensureBaxianExcluded;
|
|
30
41
|
private syncMatchingOriginUrl;
|
|
31
42
|
private syncOriginUrl;
|
|
32
43
|
private originMatches;
|
|
33
|
-
private
|
|
44
|
+
private probeDirExists;
|
|
45
|
+
private discardStaging;
|
|
46
|
+
private promoteStaging;
|
|
47
|
+
private recoverEmptyLeftoverDir;
|
|
34
48
|
private fetchIfStale;
|
|
35
49
|
private runUnderMutex;
|
|
36
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAWD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAMD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAazE;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAG5G;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7G;AAUD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAGD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,qBAAa,SAAS;IAKlB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB,CAAC;IAV5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGpB,MAAM,EAAE,aAAa,EAC7B,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA;IAM9B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBzB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,cAAc;YAMR,cAAc;YAoBd,WAAW;YA4BX,aAAa;YAyEb,KAAK;YAUL,aAAa;YA8Cb,oBAAoB;YAapB,qBAAqB;YAkBrB,aAAa;IAwB3B,OAAO,CAAC,aAAa;YAUP,cAAc;YAUd,cAAc;YAgBd,cAAc;YAgCd,uBAAuB;YAUvB,YAAY;YAeZ,aAAa;CAU5B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
package/dist/agent/repo-store.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import { homedir } from 'node:os';
|
|
2
3
|
import { shellQuote, hostGroupKey, workdirHostGroupKey } from './runner.js';
|
|
3
|
-
import { CLONE_EXEC_TIMEOUT_MS, GIT_NET_ENV, execNetwork } from './net-exec.js';
|
|
4
|
+
import { CLONE_EXEC_TIMEOUT_MS, GIT_NET_ENV, execNetwork, execOutcomeUnknown } from './net-exec.js';
|
|
4
5
|
import { isGitHubRepo, normalizeRepoUrl, parseGitRemote, redactGitCredentials, repoSlug } from '../shared/index.js';
|
|
5
6
|
export function createRepoStoreCache() {
|
|
6
7
|
return { homes: new Map(), mutex: new Map(), lastFetchAt: new Map(), owners: new Map() };
|
|
@@ -34,6 +35,110 @@ export async function ensureBaxianRuntimeDirsSafe(runner, absRepoPath) {
|
|
|
34
35
|
`baxian requires real directories contained in the Workdir.`);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
38
|
+
function normalizeRoot(root) {
|
|
39
|
+
return root.replace(/\/+$/, '');
|
|
40
|
+
}
|
|
41
|
+
export function isUnder(root, path) {
|
|
42
|
+
return path.startsWith(`${normalizeRoot(root)}/`);
|
|
43
|
+
}
|
|
44
|
+
// One [ ! -L ] per component — root included — glued onto the destructive command itself.
|
|
45
|
+
export function ancestorSymlinkGuard(root, target) {
|
|
46
|
+
const rootClean = normalizeRoot(root);
|
|
47
|
+
if (!isUnder(root, target)) {
|
|
48
|
+
throw new Error(`ancestorSymlinkGuard: ${target} is not under ${rootClean}`);
|
|
49
|
+
}
|
|
50
|
+
const parts = target.slice(rootClean.length + 1).split('/').filter(Boolean);
|
|
51
|
+
const checks = [`[ ! -L ${shellQuote(rootClean)} ]`, `[ -d ${shellQuote(rootClean)} ]`];
|
|
52
|
+
let cur = rootClean;
|
|
53
|
+
for (const part of parts) {
|
|
54
|
+
cur = `${cur}/${part}`;
|
|
55
|
+
checks.push(`[ ! -L ${shellQuote(cur)} ]`);
|
|
56
|
+
}
|
|
57
|
+
return checks.join(' && ');
|
|
58
|
+
}
|
|
59
|
+
// The guard/op/quoting composition for destructive removes lives here once.
|
|
60
|
+
export function guardedRemoveClause(root, target, opts = {}) {
|
|
61
|
+
const rm = opts.recursive ? 'rm -rf' : 'rm -f';
|
|
62
|
+
return `${ancestorSymlinkGuard(root, target)} && ${rm} -- ${shellQuote(target)}`;
|
|
63
|
+
}
|
|
64
|
+
// A failure sweep must never out-reach the write it cleans after — skip (leak a tmp) over crossing a rebound ancestor.
|
|
65
|
+
export async function sweepStrayFile(runner, path, guardClause) {
|
|
66
|
+
const cmd = guardClause
|
|
67
|
+
? `if ${guardClause}; then rm -f -- ${shellQuote(path)}; fi`
|
|
68
|
+
: `rm -f -- ${shellQuote(path)}`;
|
|
69
|
+
try {
|
|
70
|
+
const rm = await runner.exec(cmd);
|
|
71
|
+
if (rm.exitCode !== 0) {
|
|
72
|
+
console.warn(`[fs] failed to remove stray tmp ${path}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
console.warn(`[fs] failed to remove stray tmp ${path}:`, err);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function nestedSweepGuard(final, guardRoot) {
|
|
80
|
+
const finalIsRealDir = `[ -d ${shellQuote(final)} ] && [ ! -L ${shellQuote(final)} ]`;
|
|
81
|
+
return guardRoot ? `${ancestorSymlinkGuard(guardRoot, final)} && ${finalIsRealDir}` : finalIsRealDir;
|
|
82
|
+
}
|
|
83
|
+
// The path guard and the write share one command — a rebound ancestor never even
|
|
84
|
+
// receives staging bytes. mkdir -p may create missing components the guard just
|
|
85
|
+
// cleared as not-yet-existing (runner.writeFile used to do this implicitly).
|
|
86
|
+
export async function stageFileGuarded(runner, root, tmp, content) {
|
|
87
|
+
const buf = typeof content === 'string' ? Buffer.from(content, 'utf8') : content;
|
|
88
|
+
const guard = ancestorSymlinkGuard(root, tmp);
|
|
89
|
+
const dir = tmp.slice(0, tmp.lastIndexOf('/'));
|
|
90
|
+
const cmd = `${guard} && mkdir -p ${shellQuote(dir)} && cat > ${shellQuote(tmp)}`;
|
|
91
|
+
let res;
|
|
92
|
+
try {
|
|
93
|
+
res = await runner.execWithStdin(cmd, buf);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
await sweepStrayFile(runner, tmp, guard);
|
|
97
|
+
throw new Error(`staged write of ${tmp} failed (exec layer): ${err instanceof Error ? err.message : String(err)}`);
|
|
98
|
+
}
|
|
99
|
+
if (res.exitCode !== 0) {
|
|
100
|
+
await sweepStrayFile(runner, tmp, guard);
|
|
101
|
+
throw new Error(`staged write of ${tmp} failed (exit ${res.exitCode}): ${res.stderr.trim() || 'symlink-free path required'}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// mv onto a directory target nests instead of replacing: fail closed ahead, verify after, sweep both tmp homes on failure.
|
|
105
|
+
export async function moveFileIntoPlace(runner, tmp, final, opts = {}) {
|
|
106
|
+
const tmpBase = tmp.slice(tmp.lastIndexOf('/') + 1);
|
|
107
|
+
const clauses = [
|
|
108
|
+
...(opts.guardRoot ? [ancestorSymlinkGuard(opts.guardRoot, final)] : []),
|
|
109
|
+
`[ ! -d ${shellQuote(final)} ]`,
|
|
110
|
+
`mv -f -- ${shellQuote(tmp)} ${shellQuote(final)}`,
|
|
111
|
+
`[ -f ${shellQuote(final)} ]`,
|
|
112
|
+
];
|
|
113
|
+
const guardCovers = (p) => opts.guardRoot !== undefined && isUnder(opts.guardRoot, p);
|
|
114
|
+
const tmpGuard = guardCovers(tmp) ? ancestorSymlinkGuard(opts.guardRoot, tmp) : undefined;
|
|
115
|
+
const nestedGuard = nestedSweepGuard(final, guardCovers(final) ? opts.guardRoot : undefined);
|
|
116
|
+
const nested = `${final}/${tmpBase}`;
|
|
117
|
+
const sweepBoth = async () => {
|
|
118
|
+
const step = (p, guard) => guard ? `if ${guard}; then rm -f -- ${shellQuote(p)}; fi` : `rm -f -- ${shellQuote(p)}`;
|
|
119
|
+
try {
|
|
120
|
+
const rm = await runner.exec(`${step(tmp, tmpGuard)}; ${step(nested, nestedGuard)}`);
|
|
121
|
+
if (rm.exitCode !== 0) {
|
|
122
|
+
console.warn(`[fs] failed to remove stray tmp ${tmp} / ${nested}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.warn(`[fs] failed to remove stray tmp ${tmp} / ${nested}:`, err);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
let res;
|
|
130
|
+
try {
|
|
131
|
+
res = await runner.exec(clauses.join(' && '));
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
await sweepBoth();
|
|
135
|
+
throw new Error(`atomic replace of ${final} failed (exec layer): ${err instanceof Error ? err.message : String(err)}`);
|
|
136
|
+
}
|
|
137
|
+
if (res.exitCode !== 0) {
|
|
138
|
+
await sweepBoth();
|
|
139
|
+
throw new Error(`atomic replace of ${final} failed (exit ${res.exitCode}): ${res.stderr.trim() || 'target must be a plain file with a symlink-free path'}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
37
142
|
export class RepoStore {
|
|
38
143
|
runner;
|
|
39
144
|
mode;
|
|
@@ -137,7 +242,7 @@ export class RepoStore {
|
|
|
137
242
|
return home;
|
|
138
243
|
}
|
|
139
244
|
async cloneIfNeeded(absRepoPath) {
|
|
140
|
-
const dirExists =
|
|
245
|
+
const dirExists = await this.probeDirExists(absRepoPath);
|
|
141
246
|
if (!dirExists) {
|
|
142
247
|
if (this.configuredWorkdir) {
|
|
143
248
|
throw new Error(`Configured Workdir ${absRepoPath} does not exist; ` +
|
|
@@ -147,9 +252,10 @@ export class RepoStore {
|
|
|
147
252
|
const mk = await this.runner.exec(`mkdir -p ${shellQuote(parent)}`);
|
|
148
253
|
if (mk.exitCode !== 0)
|
|
149
254
|
throw new Error(`Failed to mkdir ${parent}: ${mk.stderr}`);
|
|
255
|
+
const staging = `${absRepoPath}.claim-${randomUUID()}`;
|
|
150
256
|
const cloneCmd = this.isGitHub
|
|
151
|
-
? `${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(
|
|
152
|
-
: `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(
|
|
257
|
+
? `${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(staging)} --no-upstream`
|
|
258
|
+
: `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(staging)}`;
|
|
153
259
|
let clone;
|
|
154
260
|
try {
|
|
155
261
|
clone = await execNetwork(this.runner, cloneCmd, {
|
|
@@ -158,62 +264,76 @@ export class RepoStore {
|
|
|
158
264
|
});
|
|
159
265
|
}
|
|
160
266
|
catch (err) {
|
|
161
|
-
await this.
|
|
267
|
+
await this.discardStaging(staging, err instanceof Error ? err.message : String(err));
|
|
162
268
|
throw err;
|
|
163
269
|
}
|
|
164
270
|
if (clone.exitCode !== 0) {
|
|
165
|
-
await this.
|
|
271
|
+
await this.discardStaging(staging, `clone exit ${clone.exitCode}`);
|
|
166
272
|
const cmd = this.isGitHub ? 'gh repo clone' : 'git clone';
|
|
167
273
|
throw new Error(redactGitCredentials(`${cmd} ${this.repo} failed: ${clone.stderr || clone.stdout}`));
|
|
168
274
|
}
|
|
275
|
+
await this.promoteStaging(staging, absRepoPath);
|
|
169
276
|
if (this.isGitHub && parseGitRemote(this.repo) !== null) {
|
|
170
277
|
return this.syncMatchingOriginUrl(absRepoPath);
|
|
171
278
|
}
|
|
172
279
|
return false;
|
|
173
280
|
}
|
|
174
|
-
const
|
|
281
|
+
const gitDir = await this.probe(`git rev-parse --resolve-git-dir ${shellQuote(`${absRepoPath}/.git`)}`, `git dir at ${absRepoPath}`);
|
|
282
|
+
const isRepo = gitDir.exitCode === 0;
|
|
175
283
|
if (!isRepo) {
|
|
176
|
-
const discovered = await this.
|
|
284
|
+
const discovered = await this.probe(`git -C ${shellQuote(absRepoPath)} rev-parse --show-toplevel`, `repo layout at ${absRepoPath}`);
|
|
177
285
|
if (discovered.exitCode === 0) {
|
|
178
286
|
throw new Error(`Workdir ${absRepoPath} must be the repository's exact top-level directory, not a subdirectory.`);
|
|
179
287
|
}
|
|
180
|
-
const bare = await this.
|
|
288
|
+
const bare = await this.probe(`git rev-parse --resolve-git-dir ${shellQuote(absRepoPath)}`, `repo layout at ${absRepoPath}`);
|
|
181
289
|
if (bare.exitCode === 0) {
|
|
182
290
|
throw new Error(`Workdir ${absRepoPath} must be a non-bare Git clone.`);
|
|
183
291
|
}
|
|
292
|
+
if (await this.recoverEmptyLeftoverDir(absRepoPath)) {
|
|
293
|
+
return this.cloneIfNeeded(absRepoPath);
|
|
294
|
+
}
|
|
184
295
|
throw new Error(`${absRepoPath} exists but is not a git repository. Remove it manually or change project.repo.`);
|
|
185
296
|
}
|
|
186
297
|
return this.syncMatchingOriginUrl(absRepoPath);
|
|
187
298
|
}
|
|
299
|
+
// Runs a remote probe; an uncertain transport outcome throws instead of masquerading as "no".
|
|
300
|
+
async probe(cmd, what) {
|
|
301
|
+
const result = await this.runner.exec(cmd);
|
|
302
|
+
if (result.exitCode !== 0 && execOutcomeUnknown(result)) {
|
|
303
|
+
throw new Error(`Cannot probe ${what} (exit ${result.exitCode}): ${result.stderr.trim() || result.stdout.trim() || 'exec layer failure'}`);
|
|
304
|
+
}
|
|
305
|
+
return result;
|
|
306
|
+
}
|
|
188
307
|
async validateClone(absRepoPath) {
|
|
189
308
|
const path = shellQuote(absRepoPath);
|
|
190
|
-
const
|
|
309
|
+
const probe = (cmd, what) => this.probe(cmd, `${what} at ${absRepoPath}`);
|
|
310
|
+
const top = await probe(`git -C ${path} rev-parse --show-toplevel`, 'worktree top');
|
|
191
311
|
if (top.exitCode !== 0 || top.stdout.trim() === '') {
|
|
192
312
|
throw new Error(`${absRepoPath} is not a working-tree Git repository.`);
|
|
193
313
|
}
|
|
194
|
-
const canonicalTop = await
|
|
314
|
+
const canonicalTop = await probe(`cd ${shellQuote(top.stdout.trim())} && pwd -P`, 'canonical top');
|
|
195
315
|
if (canonicalTop.exitCode !== 0 || canonicalTop.stdout.trim() !== absRepoPath) {
|
|
196
316
|
throw new Error(`Workdir ${absRepoPath} must be the repository's exact top-level directory, not a subdirectory.`);
|
|
197
317
|
}
|
|
198
|
-
const bare = await
|
|
318
|
+
const bare = await probe(`git -C ${path} rev-parse --is-bare-repository`, 'bare flag');
|
|
199
319
|
if (bare.exitCode !== 0 || bare.stdout.trim() !== 'false') {
|
|
200
320
|
throw new Error(`Workdir ${absRepoPath} must be a non-bare Git clone.`);
|
|
201
321
|
}
|
|
202
|
-
const independent = await
|
|
322
|
+
const independent = await probe(`test -d ${shellQuote(`${absRepoPath}/.git`)} && ` +
|
|
203
323
|
`test "$(git -C ${path} rev-parse --git-common-dir)" = .git && ` +
|
|
204
|
-
`test ! -s ${shellQuote(`${absRepoPath}/.git/objects/info/alternates`)}
|
|
324
|
+
`test ! -s ${shellQuote(`${absRepoPath}/.git/objects/info/alternates`)}`, 'clone independence');
|
|
205
325
|
if (independent.exitCode !== 0) {
|
|
206
326
|
throw new Error(`Workdir ${absRepoPath} must be an independent ordinary clone, not a linked worktree or alternates-based clone.`);
|
|
207
327
|
}
|
|
208
|
-
const writable = await
|
|
328
|
+
const writable = await probe(`test -r ${path} -a -w ${path} -a -x ${path}`, 'permissions');
|
|
209
329
|
if (writable.exitCode !== 0) {
|
|
210
330
|
throw new Error(`Workdir ${absRepoPath} is not readable and writable by the agent host user.`);
|
|
211
331
|
}
|
|
212
|
-
const metadata = await
|
|
332
|
+
const metadata = await probe(`git -C ${path} rev-parse --git-dir HEAD >/dev/null`, 'git metadata');
|
|
213
333
|
if (metadata.exitCode !== 0) {
|
|
214
334
|
throw new Error(`Workdir ${absRepoPath} has unreadable Git metadata or HEAD.`);
|
|
215
335
|
}
|
|
216
|
-
const remoteRefs = await
|
|
336
|
+
const remoteRefs = await probe(`git -C ${path} for-each-ref --format=${shellQuote('%(refname)')} --count=1 refs/remotes/`, 'remote-tracking refs');
|
|
217
337
|
if (remoteRefs.exitCode !== 0 || remoteRefs.stdout.trim() === '') {
|
|
218
338
|
throw new Error(`Workdir ${absRepoPath} has no readable remote-tracking refs.`);
|
|
219
339
|
}
|
|
@@ -242,16 +362,21 @@ export class RepoStore {
|
|
|
242
362
|
return false;
|
|
243
363
|
return this.syncOriginUrl(absRepoPath, originUrl);
|
|
244
364
|
}
|
|
365
|
+
// pushurl is cleared BEFORE the URL flips, so a failure keeps the diff visible and the next ensure() retries.
|
|
245
366
|
async syncOriginUrl(absRepoPath, originUrl) {
|
|
246
367
|
if (parseGitRemote(this.repo) === null)
|
|
247
368
|
return false;
|
|
248
369
|
if (!accessMethodDiffers(this.repo, originUrl))
|
|
249
370
|
return false;
|
|
371
|
+
const unset = await this.probe(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`, `remote.origin.pushurl removal at ${absRepoPath}`);
|
|
372
|
+
// git config exit 5 = key absent, the normal case here.
|
|
373
|
+
if (unset.exitCode !== 0 && unset.exitCode !== 5) {
|
|
374
|
+
throw new Error(redactGitCredentials(`Failed to clear remote.origin.pushurl at ${absRepoPath} (exit ${unset.exitCode}): ${unset.stderr.trim()}`));
|
|
375
|
+
}
|
|
250
376
|
const result = await this.runner.exec(`git -C ${shellQuote(absRepoPath)} config --replace-all remote.origin.url ${shellQuote(this.repo)}`);
|
|
251
377
|
if (result.exitCode !== 0) {
|
|
252
378
|
throw new Error(redactGitCredentials(`Failed to update origin URL at ${absRepoPath}: ${result.stderr}`));
|
|
253
379
|
}
|
|
254
|
-
await this.runner.exec(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`);
|
|
255
380
|
return true;
|
|
256
381
|
}
|
|
257
382
|
originMatches(originUrl) {
|
|
@@ -262,10 +387,69 @@ export class RepoStore {
|
|
|
262
387
|
const got = parseGitRemote(originUrl);
|
|
263
388
|
return want !== null && got !== null && want.host === got.host && want.path === got.path;
|
|
264
389
|
}
|
|
265
|
-
//
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
390
|
+
// exit 1 is test(1) saying "no" — unless transport noise rode along, proving nothing.
|
|
391
|
+
async probeDirExists(absRepoPath) {
|
|
392
|
+
const probe = await this.probe(`test -d ${shellQuote(absRepoPath)}`, `workdir ${absRepoPath}`);
|
|
393
|
+
if (probe.exitCode === 0)
|
|
394
|
+
return true;
|
|
395
|
+
if (probe.exitCode === 1)
|
|
396
|
+
return false;
|
|
397
|
+
throw new Error(`Cannot probe workdir ${absRepoPath} (exit ${probe.exitCode}): ${probe.stderr.trim() || 'exec layer failure'}`);
|
|
398
|
+
}
|
|
399
|
+
// The staging name embeds a UUID, so deleting by name cannot hit anyone else's work.
|
|
400
|
+
async discardStaging(staging, reason, guardClause) {
|
|
401
|
+
console.warn(`[repo-store] removing staged clone ${staging}: ${redactGitCredentials(reason)}`);
|
|
402
|
+
const rmCmd = guardClause
|
|
403
|
+
? `if ${guardClause}; then rm -rf ${shellQuote(staging)}; fi`
|
|
404
|
+
: `rm -rf ${shellQuote(staging)}`;
|
|
405
|
+
try {
|
|
406
|
+
const rm = await this.runner.exec(rmCmd);
|
|
407
|
+
if (rm.exitCode !== 0) {
|
|
408
|
+
console.warn(`[repo-store] failed to remove staged clone ${staging}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
catch (err) {
|
|
412
|
+
console.warn(`[repo-store] failed to remove staged clone ${staging}:`, err);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
// On any unclear mv outcome the UUID name gives the clone exactly two possible homes — sweep both, never guess.
|
|
416
|
+
async promoteStaging(staging, absRepoPath) {
|
|
417
|
+
const base = staging.slice(staging.lastIndexOf('/') + 1);
|
|
418
|
+
const nestedPath = `${absRepoPath}/${base}`;
|
|
419
|
+
// A nested discard through a symlinked final would cross outside the managed tree.
|
|
420
|
+
const finalIsRealDir = `[ -d ${shellQuote(absRepoPath)} ] && [ ! -L ${shellQuote(absRepoPath)} ]`;
|
|
421
|
+
const discardBoth = async (reason) => {
|
|
422
|
+
await this.discardStaging(staging, reason);
|
|
423
|
+
await this.discardStaging(nestedPath, reason, finalIsRealDir);
|
|
424
|
+
};
|
|
425
|
+
// The name must be free AND not a symlink: mv onto a symlink-to-dir would follow it out of the tree.
|
|
426
|
+
const promote = await this.runner.exec(`[ ! -e ${shellQuote(absRepoPath)} ] && [ ! -L ${shellQuote(absRepoPath)} ] && ` +
|
|
427
|
+
`mv ${shellQuote(staging)} ${shellQuote(absRepoPath)}`);
|
|
428
|
+
if (promote.exitCode !== 0) {
|
|
429
|
+
await discardBoth(`promote failed: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
|
|
430
|
+
throw new Error(`Cannot promote staged clone into ${absRepoPath}: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
|
|
431
|
+
}
|
|
432
|
+
const nested = await this.runner.exec(`test -e ${shellQuote(nestedPath)}`);
|
|
433
|
+
if (execOutcomeUnknown(nested) || (nested.exitCode !== 0 && nested.exitCode !== 1)) {
|
|
434
|
+
const reason = `promote verification failed (exit ${nested.exitCode}): ${nested.stderr.trim() || 'exec layer failure'}`;
|
|
435
|
+
await discardBoth(reason);
|
|
436
|
+
throw new Error(`Cannot verify promoted clone at ${absRepoPath}; ${reason}`);
|
|
437
|
+
}
|
|
438
|
+
if (nested.exitCode === 1)
|
|
439
|
+
return;
|
|
440
|
+
await this.discardStaging(nestedPath, `final path ${absRepoPath} was recreated concurrently`, finalIsRealDir);
|
|
441
|
+
throw new Error(`Final path ${absRepoPath} was recreated while promoting; staged clone withdrawn.`);
|
|
442
|
+
}
|
|
443
|
+
// rmdir cannot touch anything non-empty; a failed transport proves nothing about emptiness.
|
|
444
|
+
async recoverEmptyLeftoverDir(absRepoPath) {
|
|
445
|
+
if (this.configuredWorkdir)
|
|
446
|
+
return false;
|
|
447
|
+
const undo = await this.probe(`rmdir ${shellQuote(absRepoPath)}`, `leftover dir ${absRepoPath}`);
|
|
448
|
+
if (undo.exitCode === 0) {
|
|
449
|
+
console.warn(`[repo-store] removed leftover empty dir ${absRepoPath}; retrying clone`);
|
|
450
|
+
return true;
|
|
451
|
+
}
|
|
452
|
+
return false;
|
|
269
453
|
}
|
|
270
454
|
async fetchIfStale(cacheKey, absRepoPath) {
|
|
271
455
|
const last = this.cache.lastFetchAt.get(cacheKey) ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AASpH,MAAM,UAAU,oBAAoB;IAClC,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAqB,EACrB,WAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,2EAA2E,CAClG,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GACX,YAAY,QAAQ,OAAO;QACzB,wEAAwE;QAC1E,oBAAoB,QAAQ,MAAM;QAClC,YAAY,QAAQ,mDAAmD,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,uCAAuC;YAC7D,4DAA4D,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAa,CAAC,UAAU,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClG,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc,EAAE,OAAgC,EAAE;IAClG,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/C,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,uHAAuH;AACvH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAqB,EAAE,IAAY,EAAE,WAAoB;IAC5F,MAAM,GAAG,GAAG,WAAW;QACrB,CAAC,CAAC,MAAM,WAAW,mBAAmB,UAAU,CAAC,IAAI,CAAC,MAAM;QAC5D,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,SAAkB;IACzD,MAAM,cAAc,GAAG,QAAQ,UAAU,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IACtF,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;AACvG,CAAC;AAED,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,IAAY,EACZ,GAAW,EACX,OAAwB;IAExB,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjF,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,GAAG,KAAK,gBAAgB,UAAU,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAClF,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,iBAAiB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4BAA4B,EAAE,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2HAA2H;AAC3H,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,GAAW,EACX,KAAa,EACb,OAA+B,EAAE;IAEjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,UAAU,UAAU,CAAC,KAAK,CAAC,IAAI;QAC/B,YAAY,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QAClD,QAAQ,UAAU,CAAC,KAAK,CAAC,IAAI;KAC9B,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;QAC1C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,KAAc,EAAU,EAAE,CACjD,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IACF,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,iBAAiB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sDAAsD,EAAE,CAC3I,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,SAAS;IAKV;IAEA;IACA;IACA;IACA;IACA;IAVO,QAAQ,CAAU;IAClB,IAAI,CAAS;IAE9B,YACU,MAAqB,EAC7B,IAAY,EACJ,IAAe,EACf,IAA4B,EAC5B,KAAqB,EACrB,OAAe,EACf,iBAA0B;QAN1B,WAAM,GAAN,MAAM,CAAe;QAErB,SAAI,GAAJ,IAAI,CAAW;QACf,SAAI,GAAJ,IAAI,CAAwB;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAQ;QACf,sBAAiB,GAAjB,iBAAiB,CAAS;QAElC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,WAAW,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,OAAO,IAAI,CAAC,OAAO,EAAE,+BAA+B,KAAK,KAAK;gBACpF,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,aAAa;gBAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/C,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC/B,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACrF,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CACjE,CAAC;YACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,iBAAiB,wCAAwC;oBACpF,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO,GAAG,IAAI,mBAAmB,IAAI,CAAC,OAAO,OAAO,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;QAC7F,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,mBAAmB;oBACpD,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,MAAM,OAAO,GAAG,GAAG,WAAW,UAAU,UAAU,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBAC5B,CAAC,CAAC,GAAG,WAAW,kBAAkB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,gBAAgB;gBACxG,CAAC,CAAC,GAAG,WAAW,cAAc,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/E,IAAI,KAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;oBAC/C,OAAO,EAAE,qBAAqB;oBAC9B,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrF,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,YAAY,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,mCAAmC,UAAU,CAAC,GAAG,WAAW,OAAO,CAAC,EAAE,EACtE,cAAc,WAAW,EAAE,CAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CACjC,UAAU,UAAU,CAAC,WAAW,CAAC,4BAA4B,EAC7D,kBAAkB,WAAW,EAAE,CAChC,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,0EAA0E,CACjG,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,mCAAmC,UAAU,CAAC,WAAW,CAAC,EAAE,EAC5D,kBAAkB,WAAW,EAAE,CAChC,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,gCAAgC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,iFAAiF,CAChG,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,8FAA8F;IACtF,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,IAAY;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,UAAU,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,EAAE,CAC1H,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,IAAY,EAAuB,EAAE,CAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,WAAW,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,4BAA4B,EAAE,cAAc,CAAC,CAAC;QACpF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,wCAAwC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACnG,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,0EAA0E,CACjG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,iCAAiC,EAAE,WAAW,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,gCAAgC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,WAAW,UAAU,CAAC,GAAG,WAAW,OAAO,CAAC,MAAM;YAClD,kBAAkB,IAAI,0CAA0C;YAChE,aAAa,UAAU,CAAC,GAAG,WAAW,+BAA+B,CAAC,EAAE,EACxE,oBAAoB,CACrB,CAAC;QACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,0FAA0F,CACjH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,uDAAuD,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,sCAAsC,EAAE,cAAc,CAAC,CAAC;QACnG,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,uCAAuC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAC5B,UAAU,IAAI,0BAA0B,UAAU,CAAC,YAAY,CAAC,0BAA0B,EAC1F,sBAAsB,CACvB,CAAC;QACF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,wCAAwC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACpD,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,OAAO,GACX,MAAM,IAAI,sDAAsD;YAChE,gCAAgC;YAChC,qFAAqF;YACrF,0CAA0C,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4DAA4D,WAAW,GAAG,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACzC,UAAU,UAAU,CAAC,WAAW,CAAC,wBAAwB,CAC1D,CAAC;QACF,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAClC,oBAAoB,WAAW,gBAAgB,SAAS,wCAAwC,IAAI,CAAC,IAAI,iDAAiD,CAC3J,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,8GAA8G;IACtG,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,SAAiB;QAChE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B,UAAU,UAAU,CAAC,WAAW,CAAC,2CAA2C,EAC5E,oCAAoC,WAAW,EAAE,CAClD,CAAC;QACF,wDAAwD;QACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAClC,4CAA4C,WAAW,UAAU,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC3G,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,UAAU,UAAU,CAAC,WAAW,CAAC,2CAA2C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAClC,kCAAkC,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAClE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;IAC3F,CAAC;IAED,sFAAsF;IAC9E,KAAK,CAAC,cAAc,CAAC,WAAmB;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,UAAU,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,EAAE,CAC/G,CAAC;IACJ,CAAC;IAED,qFAAqF;IAC7E,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,WAAoB;QAChF,OAAO,CAAC,IAAI,CAAC,sCAAsC,OAAO,KAAK,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,WAAW;YACvB,CAAC,CAAC,MAAM,WAAW,iBAAiB,UAAU,CAAC,OAAO,CAAC,MAAM;YAC7D,CAAC,CAAC,UAAU,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,8CAA8C,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,8CAA8C,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,gHAAgH;IACxG,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,WAAmB;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;QAC5C,mFAAmF;QACnF,MAAM,cAAc,GAAG,QAAQ,UAAU,CAAC,WAAW,CAAC,gBAAgB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;QAClG,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;YAC1D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,qGAAqG;QACrG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACpC,UAAU,UAAU,CAAC,WAAW,CAAC,gBAAgB,UAAU,CAAC,WAAW,CAAC,QAAQ;YAChF,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CACvD,CAAC;QACF,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,CAAC,mBAAmB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,IAAI,KAAK,CACb,oCAAoC,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAC1G,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,qCAAqC,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACxH,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,KAAK,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,WAAW,6BAA6B,EAAE,cAAc,CAAC,CAAC;QAC9G,MAAM,IAAI,KAAK,CAAC,cAAc,WAAW,yDAAyD,CAAC,CAAC;IACtG,CAAC;IAED,4FAA4F;IACpF,KAAK,CAAC,uBAAuB,CAAC,WAAmB;QACvD,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,gBAAgB,WAAW,EAAE,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,2CAA2C,WAAW,kBAAkB,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,WAAmB;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,iBAAiB;YAAE,OAAO;QAClD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,CAAC,MAAM,EACX,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,WAAW,+DAA+D,CAC/G,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,6DAA6D,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,GAAW,EAAE,EAAoB;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7C,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC/C,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-transport.d.ts","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,KAAK,WAAW,EAEhB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAK9E,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAAC;IACnD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD;AAYD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAuCnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CA0BnE;AAUD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEhD,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BvF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgEjG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqE9D,oBAAoB,CACxB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"review-transport.d.ts","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { randomBytes } from 'node:crypto';
|
|
|
2
2
|
import { isRecord, MAX_INLINE_CONTENT_BYTES, MAX_READ_FILE_BYTES, REVIEW_EXCHANGE_DIR, REVIEW_INBOX_DIR, RESEARCH_DOCS_DIR, SPEC_DOC_RELPATH, mapWithConcurrency, FS_READ_CONCURRENCY, renderSpecDocuments, } from '../shared/index.js';
|
|
3
3
|
import { shellQuote } from './runner.js';
|
|
4
4
|
import { GIT_NET_ENV, execNetwork } from './net-exec.js';
|
|
5
|
-
import { ensureBaxianRuntimeDirsSafe } from './repo-store.js';
|
|
5
|
+
import { ancestorSymlinkGuard, ensureBaxianRuntimeDirsSafe, guardedRemoveClause, moveFileIntoPlace, stageFileGuarded, sweepStrayFile } from './repo-store.js';
|
|
6
6
|
export class ReviewExchangeError extends Error {
|
|
7
7
|
reason;
|
|
8
8
|
constructor(reason, message) {
|
|
@@ -112,13 +112,13 @@ export class ReviewTransport {
|
|
|
112
112
|
];
|
|
113
113
|
const runner = this.deps.createRunnerFor(agent);
|
|
114
114
|
await this.ensureRuntimeDirs(runner, workdir);
|
|
115
|
-
const result = await runner.exec(
|
|
115
|
+
const result = await runner.exec(paths.map(p => guardedRemoveClause(workdir, p)).join(' && '));
|
|
116
116
|
if (result.exitCode !== 0) {
|
|
117
117
|
throw new ReviewExchangeError('artifact-cleanup-failed', `failed to clear stale dispatch outputs: ${result.stderr.trim() || `exit ${result.exitCode}`}`);
|
|
118
118
|
}
|
|
119
119
|
if (resetsSpecDocuments) {
|
|
120
120
|
const researchDir = `${workdir}/${RESEARCH_DOCS_DIR}`;
|
|
121
|
-
const cleared = await runner.exec(
|
|
121
|
+
const cleared = await runner.exec(guardedRemoveClause(workdir, researchDir, { recursive: true }));
|
|
122
122
|
if (cleared.exitCode !== 0) {
|
|
123
123
|
throw new ReviewExchangeError('artifact-cleanup-failed', `failed to clear stale research docs: ${cleared.stderr.trim() || `exit ${cleared.exitCode}`}`);
|
|
124
124
|
}
|
|
@@ -234,7 +234,7 @@ export class ReviewTransport {
|
|
|
234
234
|
const researchDir = `${workdir}/${RESEARCH_DOCS_DIR}`;
|
|
235
235
|
await assertOwner();
|
|
236
236
|
await this.ensureRuntimeDirs(runner, workdir);
|
|
237
|
-
const cleared = await runner.exec(
|
|
237
|
+
const cleared = await runner.exec(`${guardedRemoveClause(workdir, specPath)} && ${guardedRemoveClause(workdir, researchDir, { recursive: true })}`);
|
|
238
238
|
if (cleared.exitCode !== 0) {
|
|
239
239
|
throw new ReviewExchangeError('spec-seed-failed', `failed to clear old spec documents: ${cleared.stderr.trim() || `exit ${cleared.exitCode}`}`);
|
|
240
240
|
}
|
|
@@ -246,16 +246,13 @@ export class ReviewTransport {
|
|
|
246
246
|
const dir = final.slice(0, final.lastIndexOf('/'));
|
|
247
247
|
const tmp = `${dir}/.tmp-${randomBytes(8).toString('hex')}`;
|
|
248
248
|
try {
|
|
249
|
-
await runner
|
|
249
|
+
await stageFileGuarded(runner, workdir, tmp, document.content);
|
|
250
250
|
await assertOwner();
|
|
251
|
-
|
|
252
|
-
if (moved.exitCode !== 0) {
|
|
253
|
-
throw new Error(moved.stderr.trim() || `exit ${moved.exitCode}`);
|
|
254
|
-
}
|
|
251
|
+
await moveFileIntoPlace(runner, tmp, final, { guardRoot: workdir });
|
|
255
252
|
await assertOwner();
|
|
256
253
|
}
|
|
257
254
|
catch (err) {
|
|
258
|
-
await runner
|
|
255
|
+
await sweepStrayFile(runner, tmp, ancestorSymlinkGuard(workdir, tmp));
|
|
259
256
|
if (err instanceof ReviewExchangeError)
|
|
260
257
|
throw err;
|
|
261
258
|
throw new ReviewExchangeError('spec-seed-failed', `failed to write ${document.relPath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -339,15 +336,11 @@ export class ReviewTransport {
|
|
|
339
336
|
const runner = this.deps.createRunnerFor(agent);
|
|
340
337
|
await this.ensureRuntimeDirs(runner, wt);
|
|
341
338
|
try {
|
|
342
|
-
await runner
|
|
339
|
+
await stageFileGuarded(runner, wt, tmp, content);
|
|
340
|
+
await moveFileIntoPlace(runner, tmp, final, { guardRoot: wt });
|
|
343
341
|
}
|
|
344
342
|
catch (err) {
|
|
345
|
-
throw new ReviewExchangeError('deliver-failed', `${filename}:
|
|
346
|
-
}
|
|
347
|
-
const mv = await runner.exec(`mv -f ${shellQuote(tmp)} ${shellQuote(final)}`);
|
|
348
|
-
if (mv.exitCode !== 0) {
|
|
349
|
-
await runner.exec(`rm -f ${shellQuote(tmp)}`).catch(() => undefined);
|
|
350
|
-
throw new ReviewExchangeError('deliver-failed', `${filename}: mv failed: ${mv.stderr.trim()}`);
|
|
343
|
+
throw new ReviewExchangeError('deliver-failed', `${filename}: ${err instanceof Error ? err.message : String(err)}`);
|
|
351
344
|
}
|
|
352
345
|
return { path: `${REVIEW_INBOX_DIR}/${filename}`, bytes: Buffer.byteLength(content, 'utf8') };
|
|
353
346
|
}
|
|
@@ -367,7 +360,11 @@ export class ReviewTransport {
|
|
|
367
360
|
const wt = this.requireWorkdir(agent.id);
|
|
368
361
|
const runner = this.deps.createRunnerFor(agent);
|
|
369
362
|
await this.ensureRuntimeDirs(runner, wt);
|
|
370
|
-
|
|
363
|
+
const target = `${wt}/${REVIEW_EXCHANGE_DIR}/${name}`;
|
|
364
|
+
const rm = await runner.exec(guardedRemoveClause(wt, target));
|
|
365
|
+
if (rm.exitCode !== 0) {
|
|
366
|
+
throw new ReviewExchangeError('artifact-cleanup-failed', `failed to delete ${target}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
|
|
367
|
+
}
|
|
371
368
|
}
|
|
372
369
|
async ensureRuntimeDirs(runner, workdir) {
|
|
373
370
|
try {
|