@farmslot/agent-runtime 0.21.2 → 0.21.3
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/CHANGELOG.md +4 -0
- package/dist/native/codex.d.ts.map +1 -1
- package/dist/native/codex.js +9 -1
- package/dist/native/codex.js.map +1 -1
- package/dist/native/manager.d.ts.map +1 -1
- package/dist/native/manager.js +14 -5
- package/dist/native/manager.js.map +1 -1
- package/dist/native/registry.d.ts +11 -0
- package/dist/native/registry.d.ts.map +1 -1
- package/dist/native/registry.js +8 -0
- package/dist/native/registry.js.map +1 -1
- package/dist/native/review-sandbox.d.ts +1 -1
- package/dist/native/review-sandbox.d.ts.map +1 -1
- package/dist/native/review-sandbox.js.map +1 -1
- package/package.json +1 -1
- package/scripts/review-filesystem.cjs +22 -2
- package/scripts/review-terminal.cjs +15 -5
- package/scripts/toml-scan.cjs +122 -0
- package/scripts/workspace-trust.cjs +280 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
6
6
|
|
|
7
|
+
## 0.21.3 - 2026-10-14
|
|
8
|
+
|
|
9
|
+
- Prepare native workspace decisions in the selected account home before farm reviews. Refuse Grok reviews with account hooks or unverifiable hook safety. Suppress repository startup automation, preserve Git-readable content and enforce source write restrictions.
|
|
10
|
+
|
|
7
11
|
## 0.21.2 - 2026-10-14
|
|
8
12
|
|
|
9
13
|
- Align task helpers with adapter-sdk 0.13.0 so recipe hosts use one SDK version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAC;AA8DlE,eAAO,MAAM,kBAAkB,EAAE,aA8RhC,CAAC"}
|
package/dist/native/codex.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { realpath } from 'node:fs/promises';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
3
4
|
import { promisify } from 'node:util';
|
|
4
5
|
import { JsonLineProcess } from './process.js';
|
|
5
6
|
import { validateNativeWorkerFilesystemPolicy } from './worker-launch.js';
|
|
7
|
+
const { codexWorkspaceTrustConfig } = createRequire(import.meta.url)('../../scripts/workspace-trust.cjs');
|
|
6
8
|
const READ_ONLY_PROFILE = 'farmslot-read-only-source';
|
|
7
9
|
/** Git's shared metadata can live outside a linked worktree's writable root. */
|
|
8
10
|
async function gitWritableRoot(cwd, env) {
|
|
@@ -80,7 +82,13 @@ export const codexNativeAdapter = {
|
|
|
80
82
|
const requests = new Map();
|
|
81
83
|
const publish = (event) => emit({ commandId, turnId, ...event });
|
|
82
84
|
const pendingTools = new Map();
|
|
83
|
-
const process = new JsonLineProcess(options.executable, [
|
|
85
|
+
const process = new JsonLineProcess(options.executable, [
|
|
86
|
+
// A read-only PR cannot start repository MCP processes outside tool permissions.
|
|
87
|
+
...(options.filesystemPolicy
|
|
88
|
+
? ['--config', codexWorkspaceTrustConfig(options.cwd, 'untrusted')]
|
|
89
|
+
: []),
|
|
90
|
+
'app-server',
|
|
91
|
+
], options, (message) => {
|
|
84
92
|
const params = wireObject(message.params ?? {});
|
|
85
93
|
const method = optionalString(message.method);
|
|
86
94
|
if (params.threadId && nativeSessionId && params.threadId !== nativeSessionId)
|
package/dist/native/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/native/manager.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,oBAAoB,EAEpB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAsB5B,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAE9B,MAAM,oBAAoB,CAAC;AAI5B,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDlD;AA+ED,4FAA4F;AAC5F,qBAAa,oBAAoB;IAc7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAdlC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CASb;gBAGe,IAAI,EAAE,MAAM,EACZ,eAAe,SAAU;IAoE5C,OAAO,CAAC,OAAO;IA8Cf,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,yBAAyB,EACjC,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAIvB,MAAM,CACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,yBAAyB,EACjC,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAW7B,YAAY,CACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,CAAC;YAcf,KAAK;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/native/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/native/manager.js
CHANGED
|
@@ -347,13 +347,25 @@ export class NativeSessionManager {
|
|
|
347
347
|
throw new Error('Read-only native workers require sandboxed execution');
|
|
348
348
|
}
|
|
349
349
|
const hostProtection = filesystemPolicy && !transport.adapter.filesystemPolicyUnavailableReason
|
|
350
|
-
? await reviewProcessSandbox(filesystemPolicy, transport.reviewRuntimeRoots?.(environment) ?? [])
|
|
350
|
+
? await reviewProcessSandbox(filesystemPolicy, transport.reviewRuntimeRoots?.(environment) ?? [], transport.reviewConfigurationRoots?.(params.cwd) ?? [])
|
|
351
351
|
: undefined;
|
|
352
352
|
if (relocation) {
|
|
353
353
|
const unavailable = transport.adapter.workspaceResumeUnavailableReason?.(resolved.version);
|
|
354
354
|
if (unavailable)
|
|
355
355
|
throw new Error(unavailable);
|
|
356
356
|
}
|
|
357
|
+
// A private worker source policy identifies a farm-created review workspace.
|
|
358
|
+
// Ordinary native conversations never write trust into the operator's configuration.
|
|
359
|
+
const runnerEnvironment = nativeEnvironment(resolved.executable, {
|
|
360
|
+
...environment,
|
|
361
|
+
...(hostProtection ? { TMPDIR: hostProtection.temporaryDirectory } : {}),
|
|
362
|
+
});
|
|
363
|
+
if (filesystemPolicy)
|
|
364
|
+
transport.trustWorkspace?.(params.cwd, runnerEnvironment, ownerPrincipalId, {
|
|
365
|
+
executable: resolved.executable,
|
|
366
|
+
processSandbox: hostProtection?.sandbox,
|
|
367
|
+
inspectionCwd: hostProtection?.temporaryDirectory,
|
|
368
|
+
});
|
|
357
369
|
// Validation above awaits filesystem/process probes. Recheck synchronously before reservation.
|
|
358
370
|
assertResumeCurrent?.();
|
|
359
371
|
if (profile)
|
|
@@ -465,10 +477,7 @@ export class NativeSessionManager {
|
|
|
465
477
|
}
|
|
466
478
|
},
|
|
467
479
|
executable: resolved.executable,
|
|
468
|
-
env:
|
|
469
|
-
...environment,
|
|
470
|
-
...(hostProtection ? { TMPDIR: hostProtection.temporaryDirectory } : {}),
|
|
471
|
-
}),
|
|
480
|
+
env: runnerEnvironment,
|
|
472
481
|
processSandbox: hostProtection?.sandbox,
|
|
473
482
|
...(workerLaunch
|
|
474
483
|
? { effort: workerLaunch.effort, safetyTier: workerLaunch.safetyTier, filesystemPolicy }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/native/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAatC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EACL,KAAK,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEL,uBAAuB,EAEvB,wBAAwB,EAExB,oCAAoC,GACrC,MAAM,oBAAoB,CAAC;AAE5B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,GAAW,EACX,cAAiC,OAAO,CAAC,GAAG;IAE5C,IAAI,UAA8B,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;iBACrB,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAE,KAA+B,CAAC,IAAI,IAAI,EAAE,CAAC;gBACvF,SAAS;YACX,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;oBAC/D,GAAG;oBACH,OAAO,EAAE,MAAM;oBACf,GAAG,EAAE,WAAW;iBACjB,CAAC,CAAC;gBACH,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,yEAAyE;gBACzE,IACG,KAA4B,CAAC,IAAI,KAAK,CAAC;oBACxC,CAAC,UAAU,CAAC,SAAS,CAAC;oBACtB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAExB,SAAS;gBACX,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;;YAAM,UAAU,GAAG,SAAS,CAAC;QAC9B,MAAM;IACR,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,eAAe,CAAC,CAAC;IAC3F,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;QACnD,GAAG;QACH,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAiC,EACjC,MAAe,EACf,OAA2B;IAE3B,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,wBAAwB,CACtB,OAAO,EACP,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CACnE;QACH,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAChB,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;QAC3D,SAAS,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;QACvC,eAAe,EAAE,WAAW,CAAC,iBAAiB,IAAI,EAAE;QACpD,GAAG,CAAC,MAAM,KAAK,QAAQ;YACrB,CAAC,CAAC;gBACE,eAAe,EAAE,WAAW,CAAC,iBAAiB,IAAI,EAAE;gBACpD,aAAa,EAAE,WAAW,CAAC,eAAe,IAAI,EAAE;gBAChD,aAAa,EAAE,WAAW,CAAC,eAAe,IAAI,EAAE;aACjD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,gBAAgB,EAAE,OAAO,CAAC,SAAS;gBACnC,uBAAuB,EAAE,OAAO,CAAC,gBAAgB;aAClD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AACD,SAAS,iBAAiB,CACxB,UAAkB,EAClB,OAA0B,OAAO,CAAC,GAAG;IAErC,0FAA0F;IAC1F,8EAA8E;IAC9E,MAAM,GAAG,GAAsB;QAC7B,GAAG,IAAI;QACP,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;KAC7D,CAAC;IACF,OAAO,GAAG,CAAC,UAAU,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAgCD,4FAA4F;AAC5F,MAAM,OAAO,oBAAoB;IAa/B,YACmB,IAAY,EACZ,kBAAkB,OAAO;QADzB,SAAI,GAAJ,IAAI,CAAQ;QACZ,oBAAe,GAAf,eAAe,CAAU;QAdpC,aAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC5C,cAAS,GAAG,IAAI,OAAO,EAS5B,CAAC;QAMF,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC,CAAC;YAClF,uFAAuF;YACvF,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC9B,IAAI,IAAmC,CAAC;YACxC,IAAI,OAA2C,CAAC;YAChD,IAAI,SAAwC,CAAC;YAC7C,IAAI,OAAO,GAAyB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;YAClD,MAAM,MAAM,GAAyB,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;oBAAE,SAAS,GAAG,SAAS,CAAC;gBAC3F,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;gBACnC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;gBACzC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,CACpF,CAAC;oBACF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,cAAc;wBACxC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;oBAChE,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;gBACnC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE;oBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrF,IAAI,KAAK,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACzF,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe;gBAC1C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,MAAM,MAAM,GAAkB;gBAC5B,aAAa;gBACb,IAAI;gBACJ,OAAO;gBACP,SAAS;gBACT,QAAQ;gBACR,MAAM;gBACN,eAAe,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5E,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChC,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ;oBAClB,iHAAiH,CAAC;gBACpH,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM;wBAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClB,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACO,OAAO,CAAC,MAAqB,EAAE,KAA0B;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAkB,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACnD,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAClF,CAAC;QACF,MAAM,KAAK,GAAiB;YAC1B,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,SAAS;gBAC/C,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE;gBACtE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,KAAK;SACN,CAAC;QACF,IACE,CAAC,KAAK;YACN,CAAC,KAAK,CAAC,IAAI;YACX,CAAC,KAAK,CAAC,OAAO;YACd,CAAC,KAAK,CAAC,OAAO;YACd,CAAC,KAAK,CAAC,QAAQ;YACf,CAAC,KAAK,CAAC,cAAc;YAErB,OAAO;QACT,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC5B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,CACJ,KAAa,EACb,MAAiC,EACjC,YAAiC;QAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAa,EACb,MAAiC,EACjC,YAAiC;QAEjC,IACE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,+CAA+C,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAEvE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;YACrE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CACV,KAAa,EACb,MAAgC,EAChC,MAA0B;QAE1B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe;gBACxD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,IACE,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE3F,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,gBAAwB,EACxB,MAAiC,EACjC,UAAmB,EACnB,YAAiC,EACjC,mBAAgC,EAChC,UAAmD;QAEnD,mBAAmB,EAAE,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS;YAC9B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,CAAC,gBAAgB;YACjE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe;YACzF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC3F,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,YAAY;gBAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,eAAe;YAC5C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,IAAI,YAAY,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC,yBAAyB;YACxE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;YACpE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,IAAI,QAAmC,CAAC;QACxC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;QACpC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACnC,OAAO,EAAE;iBACT,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe;gBACtD,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CACvC,CAAC;YACJ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;gBAClE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvF,IAAI,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,IAAI,QAAQ,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,YAAY;gBACtD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,OAAO;gBACvD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,IACE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC/E,IAAI,UAAU,EAAE,CAAC;gBACf,IACE,CAAC,mBAAmB;oBACpB,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG;oBACxC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB;oBAElD,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,KAAK,EACL,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,EAC3D,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CACzB,CAAC;oBACF,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxC,CAAC,CAAC,CACH,CAAC;gBACF,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBACzF,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,gCAAgC,EAAE,CACtE,QAAQ,CAAC,IAAI,CAAC,OAAO,CACtB,CAAC;gBACF,IAAI,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;gBACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3F,MAAM,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;YACpD,CAAC,CAAC,eAAe,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,YAAY,EAAE,UAAU,IAAI,SAAS,CAAC,MAAM,EAC5C,MAAM,CAAC,GAAG,EACV,WAAW,CACZ,CAAC;QACF,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,eAAe,IAAI,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,gBAAgB,GAAG,YAAY,EAAE,gBAAgB,CAAC;QACtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5F,IACE,WAAW;gBACX,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAEvF,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,gDAAgD,CAAC,CAAC;YACnF,gBAAgB,GAAG,oCAAoC,CAAC;gBACtD,aAAa,EAAE,MAAM,OAAO,CAAC,GAAG,CAC9B,CAAC,GAAG,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC7E;gBACD,aAAa,EAAE,MAAM,OAAO,CAAC,GAAG,CAC9B,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC7D;aACF,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,IACE,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC;gBACpD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EACpC,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAC7B,KAAK,EACL,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,EAC3D,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CACpC,CAAC;gBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,YAAY,EAAE,UAAU,KAAK,WAAW;gBAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,cAAc,GAClB,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC;YACtE,CAAC,CAAC,MAAM,oBAAoB,CACxB,gBAAgB,EAChB,SAAS,CAAC,kBAAkB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAClD;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3F,IAAI,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,+FAA+F;QAC/F,mBAAmB,EAAE,EAAE,CAAC;QACxB,IAAI,OAAO;YAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3F,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,YAAY;YAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC1E,kGAAkG;QAClG,IACE,MAAM,CAAC,eAAe;YACtB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9B,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe;gBACtD,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACpD;YAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,YAAY;YACzB,CAAC,CAAC,YAAY,CAAC,MAAM;YACrB,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACtB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;QAC9B,MAAM,IAAI,GAAsB;YAC9B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,IAAI,UAAU,EAAE;YACnD,UAAU,EAAE,UAAU,EAAE;YACxB,OAAO,EAAE,OAAO,CAAC,GAAG;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;YAC7C,gBAAgB;YAChB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EACd,OAAO,EAAE,gBAAgB;gBACzB,CAAC,IAAI,CAAC,eAAe,KAAK,OAAO;oBAC/B,CAAC,CAAC,gBAAgB,gBAAgB,EAAE;oBACpC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,QAAQ;YACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE,IAAI,CAAC,KAAK;YAC3C,IAAI;YACJ,WAAW,EAAE,QAAQ;YACrB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE;gBACZ,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY;gBACjC,sBAAsB,EACpB,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB,KAAK,IAAI;oBAC9D,yEAAyE;oBACzE,yEAAyE;oBACzE,CAAC,YAAY,EAAE,gBAAgB;oBAC/B,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC1E;SACF,CAAC;QACF,MAAM,MAAM,GAAkB;YAC5B,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI,mBAAmB,EAAE;YACnE,IAAI;YACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;YAC9B,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,GAAG,EAAE;YACzC,eAAe,EAAE,IAAI,GAAG,EAAE;YAC1B,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAC/D,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC9B,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC3B,CAAC;;gBAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,KAAK;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,gBAAgB,GAAG,KAAc,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,6EAA6E,CAAC;YAC9F,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CACtC;gBACE,GAAG,MAAM;gBACT,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAClC,IAAI;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM;gBACN,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBACzB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;oBACtB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;oBAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBACD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;wBACxC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE;wBACpC,OAAO;qBACR,CAAC,CACH,CAAC;oBACF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACzB,KAAK,MAAM,OAAO,IAAI,QAAQ;wBAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC3D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBAC3D,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,GAAG,EAAE,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;oBAC1C,GAAG,WAAW;oBACd,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,CAAC;gBACF,cAAc,EAAE,cAAc,EAAE,OAAO;gBACvC,GAAG,CAAC,YAAY;oBACd,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE;oBACxF,CAAC,CAAC,EAAE,CAAC;aACR,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;YACtD,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY;gBAC7B,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY;oBAC9B,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB;iBACjE,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,KAAa,EACb,MAAiC,EACjC,UAAmB,EACnB,YAAiC;QAEjC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK;YACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,OAAO;YACrD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAU,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS;gBAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IACE,MAAM,CAAC,OAAO,CAAC,kBAAkB;YACjC,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnE,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS;YAC9B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QACd,IACE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAEtE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAqB;QAChD,IAAI,MAAM,CAAC,gBAAgB;YAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC3D,IAAI,MAAM,CAAC,gBAAgB;YAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7E,2FAA2F;QAC3F,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CACf,KAAa,EACb,EAAU,EACV,UAAkB,EAClB,OAAe,EACf,OAAO,GAAG,KAAK;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO;YAChF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAa,EACb,EAAU,EACV,UAAkB,EAClB,OAAe;QAEf,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,wBAAwB,CAAC,EAAU;QACzC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;IAEO,mBAAmB,CAAC,MAAqB;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC;QACpF,IAAI,QAAQ;YAAE,OAAO,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAA2C,CAAC;YAC1D,2EAA2E;YAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,MAAqB;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,gFAAgF;QAChF,IAAI,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;YACnF,OAAO,KAAK,CAAC;QACf,2EAA2E;QAC3E,6EAA6E;QAC7E,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IACE,SAAS,KAAK,MAAM;gBACpB,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU;gBACpD,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG;gBACjC,SAAS,CAAC,IAAI,CAAC,cAAc;gBAC7B,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe;gBAE/B,SAAS;YACX,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;oBAAE,SAAS;gBACnE,MAAM,aAAa,GAAW,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;oBACnF,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,IACE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG;oBACpC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;oBAEnD,OAAO,KAAK,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,KAA2C,CAAC;gBAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBACtF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,oBAAoB,CAClB,KAAa,EACb,EAAU,EACV,UAAkB,EAClB,OAAe;QAEf,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IACE,CAAC,GAAG;YACJ,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAE/B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,8EAA8E;YACpF,IAAI,EAAE;gBACJ,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,0BAA0B;gBAC7C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;aACzB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,sBAAsB,CAAC,EAAU,EAAE,OAAe,EAAE,SAAiB;QAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;aAChD,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,EAAU,EACV,OAAe,EACf,UAAmB,EACnB,aAAsB,EACtB,eAAwB;QAExB,IACE,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+CAA+C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE5F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAClD,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,QAAQ,CAA0D,UAAU,CAAC;YAC/E,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,IACE,CAAC,MAAM;gBACP,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK;gBACtC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO;gBAErC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,6EAA6E;YAC7E,iEAAiE;YACjE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU;gBACvC,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,oBAAoB;oBAC5B,SAAS,EAAE,EAAE;oBACb,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;iBACnC,CAAC;QACN,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IACE,CAAC,UAAU;gBACX,CAAC,+CAA+C,CAAC,IAAI,CAAC,aAAa,CAAC;gBACpE,aAAa,KAAK,OAAO;gBAEzB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;YACJ,IAAI,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;gBACjD,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU;oBACjF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,4EAA4E;gBAC5E,8EAA8E;gBAC9E,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;gBACpC,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,gBAAgB,GAAG,KAAc,CAAC;oBACzC,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,MAAM;YACN,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK;gBACrB,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC;YAEzE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,8EAA8E;QAC9E,IACE,MAAM,EAAE,OAAO,KAAK,OAAO;YAC3B,MAAM;YACN,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YAE5D,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,EAAE;gBACb,OAAO;gBACP,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU;aAC5C,CAAC;QACJ,IAAI,MAAM,EAAE,CAAC;YACX,IACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK;gBACtC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO;gBACrC,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;gBAEnE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,mBAAmB,GAAG,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,IAAI,MAAM,EAAE,UAAU,CAAC;QACxF,qFAAqF;QACrF,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9E,IAAI,MAAM;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;YACb,OAAO;YACP,UAAU,EAAE,mBAAmB;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,KAAa,EACb,EAAU,EACV,UAAkB,EAClB,OAAe,EACf,MAA0B;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,gBAAgB;YAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC3D,IACE,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU;YACrC,MAAM,CAAC,OAAO,CAAC,kBAAkB,KAAK,wBAAwB,CAAC,MAAM,CAAC;YAEtE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GACX,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,cAAc;YAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC;YAC1C,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,eAAe,CAAC,IAAI;YAC3B,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;YAE/D,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;QACJ,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wFAAwF;YACxF,MAAM,CAAC,gBAAgB,GAAG,KAAc,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,MAAqB,EAAE,KAAuB;QAC3D,MAAM,QAAQ,GAAuB;YACnC,GAAG,KAAK;YACR,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;YACzB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAClC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,GAAG,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,EAAE,EAAE,EAAE;gBACpF,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,QAAQ;YACpD,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;YAClE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvF,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YAChE,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3E,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ;gBAC3E,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ;gBACvE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU;qBAC3C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;qBAC1D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc;gBAC5B,MAAM,CAAC,IAAI,CAAC,iBAAiB;oBAC3B,KAAK,CAAC,IAAI,EAAE,iBAAiB,KAAK,0BAA0B;wBAC1D,CAAC,CAAC,0BAA0B;wBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB;4BACnD,CAAC,CAAC,iBAAiB;4BACnB,CAAC,CAAC,cAAc,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe;oBAClD,CAAC,CAAC,2GAA2G;oBAC7G,CAAC,CAAC,sGAAsG,CAAC;YAC7G,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;YAChF,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC;YAC5E,KAAK,CAAC,QAAQ;YAEd,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,QAAQ;YACtD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,eAAe;gBAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;QACL,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;YACnF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,EAAU;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK;YACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAAC,MAAqB;QACnD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,qEAAqE;QACrE,oEAAoE;QACpE,IACE,CAAC,GAAG;YACJ,MAAM,CAAC,IAAI,CAAC,cAAc;YAC1B,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,OAAO;YACd,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAE/B,OAAO;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,KAAK;gBACf,+EAA+E,CAAC;YAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO;QACtF,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,8DAA8D,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE;gBACJ,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,iBAAiB;gBACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IACO,QAAQ,CAAC,MAAmC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,CACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAC;QACF,OAAO;YACL,GAAG,MAAM,CAAC,IAAI;YACd,YAAY,EAAE;gBACZ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY;gBAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAa;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAC/B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC;aAC1D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAI,CAAC,KAAa,EAAE,EAAU,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;YAC3E,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;YAC1D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;gBAAE,MAAM;YAC3D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,IAAI,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9B,MAAM;YACN,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM;YAC7B,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;YACrD,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACpC,KAAK,CAAC,CAAC,GAAG,CAAC;iBACX,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IACD,UAAU,CAAC,KAAa,EAAE,EAAU,EAAE,OAAe,EAAE,KAAc,EAAE,KAAc;QACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,gBAAgB;YAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CACtC,OAAO,EACP,MAAM,CAAC,MAAM,EACb,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EACpC,KAAK,EACL,KAAK,CACN,CAAC;QACF,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IACO,oBAAoB,CAAC,MAAqB;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QACnC,0BAA0B,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB;YAC1C,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB;YAC9C,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAa,EACb,EAAU,EACV,SAAiB,EACjB,IAAY;QAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACrF,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS;gBACT,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM;YAC5B,MAAM,CAAC,OAAO;YACd,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU;gBAC7C,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7D,EACD,CAAC;YACD,MAAM,MAAM,GAAkB;gBAC5B,IAAI;gBACJ,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;gBAClC,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;aACnC,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAChC,IAAI;YACJ,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAqB,EACrB,OAAsB;QAEtB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAC9B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC5C,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAqB;QAC/C,cAAc,CAAC,GAAG,EAAE;YAClB,IACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,MAAM;gBAC5C,CAAC,MAAM,CAAC,OAAO;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM;gBAC5B,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,eAAe,CAAC,IAAI;gBAE3B,OAAO;YACT,IACE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU;gBAC7C,CAAC,OAAO,CAAC,MAAM;gBACf,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7D;gBAED,OAAO;YACT,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAC7E,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,CAAC;gBACH,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa;oBAC5C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAG,KAAe,CAAC,OAAO;iBAC/B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpD,sEAAsE;gBACtE,wEAAwE;gBACxE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,iCAAkC,KAAe,CAAC,OAAO,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,OAAO,CACX,KAAa,EACb,EAAU,EACV,SAAiB,EACjB,QAA+B;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU;YAC9E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,IACE,OAAO,CAAC,IAAI,KAAK,oBAAoB;YACnC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;YAC1C,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO;YAE5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAChG,kFAAkF;QAClF,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,EAAU;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,EAAU;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;oBACvB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACzB,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;gBACvD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yEAAyE;gBACzE,0EAA0E;gBAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnF,YAAY,EAAE,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;YACvD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/native/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import type { NativeAccountObservation, NativeAccountProbeOptions } from './account-types.js';
|
|
2
|
+
import { type NativeProcessSandbox } from './review-sandbox.js';
|
|
2
3
|
import type { NativeAdapter } from './types.js';
|
|
4
|
+
export interface NativeWorkspaceTrustOptions {
|
|
5
|
+
executable?: string;
|
|
6
|
+
processSandbox?: NativeProcessSandbox;
|
|
7
|
+
inspectionCwd?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const workspaceTrustByRunner: Record<string, (cwd: string, environment: NodeJS.ProcessEnv, owner?: string, launch?: NativeWorkspaceTrustOptions) => void>, codexWorkspaceTrustConfig: (cwd: string, trust: "trusted" | "untrusted") => string, reviewConfigurationRootsByRunner: Record<string, (cwd: string) => string[]>;
|
|
3
10
|
export interface NativeRunnerDefinition {
|
|
4
11
|
adapter: NativeAdapter;
|
|
5
12
|
binary: string;
|
|
6
13
|
supportsWorkers?: boolean;
|
|
14
|
+
/** Only farm-created worker workspaces may receive a persisted native trust decision. */
|
|
15
|
+
trustWorkspace?: (cwd: string, environment: NodeJS.ProcessEnv, owner?: string, launch?: NativeWorkspaceTrustOptions) => void;
|
|
7
16
|
supportsReadOnlyWorkspace?: boolean;
|
|
17
|
+
/** Repository startup configuration cannot execute inside a read-only review. Git blobs stay readable. */
|
|
18
|
+
reviewConfigurationRoots?: (cwd: string) => string[];
|
|
8
19
|
reviewRuntimeRoots?: (environment: NodeJS.ProcessEnv) => string[];
|
|
9
20
|
/** Default for new standalone conversations; worker launch settings stay authoritative. */
|
|
10
21
|
defaultEffort?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/native/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/native/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAK9F,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MACL,sBAAsB,uBASb,MAAM,eACE,MAAM,CAAC,UAAU,UACtB,MAAM,WACL,2BAA2B,KACjC,IAAI,GAZX,yBAAyB,QAIM,MAAM,SAAS,SAAS,GAAG,WAAW,KAAG,MAAM,EAH9E,gCAAgC,uBAEuB,MAAM,KAAK,MAAM,EAAE,CAW3E,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,2BAA2B,KACjC,IAAI,CAAC;IACV,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,0GAA0G;IAC1G,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACrD,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;IAClE,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE;QACP,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;KAChF,CAAC;CACH;AAED,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAsF1E,CAAC"}
|
package/dist/native/registry.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
import { homedir } from 'node:os';
|
|
2
3
|
import { join } from 'node:path';
|
|
3
4
|
import { claudeProfileEnvironment, observeClaudeAccount } from './account-claude.js';
|
|
@@ -9,9 +10,11 @@ import { codexNativeAdapter } from './codex.js';
|
|
|
9
10
|
import { cursorNativeAdapter } from './cursor.js';
|
|
10
11
|
import { grokNativeAdapter } from './grok.js';
|
|
11
12
|
import { hostReviewSandboxAvailable } from './review-sandbox.js';
|
|
13
|
+
export const { workspaceTrustByRunner, codexWorkspaceTrustConfig, reviewConfigurationRootsByRunner, } = createRequire(import.meta.url)('../../scripts/workspace-trust.cjs');
|
|
12
14
|
/** Native profile mechanics stay with the runner definition, not client workflows. */
|
|
13
15
|
export const nativeRunnerDefinitions = {
|
|
14
16
|
codex: {
|
|
17
|
+
trustWorkspace: workspaceTrustByRunner.codex,
|
|
15
18
|
adapter: codexNativeAdapter,
|
|
16
19
|
binary: 'codex',
|
|
17
20
|
supportsWorkers: true,
|
|
@@ -25,6 +28,8 @@ export const nativeRunnerDefinitions = {
|
|
|
25
28
|
},
|
|
26
29
|
},
|
|
27
30
|
claude: {
|
|
31
|
+
reviewConfigurationRoots: reviewConfigurationRootsByRunner.claude,
|
|
32
|
+
trustWorkspace: workspaceTrustByRunner.claude,
|
|
28
33
|
supportsReadOnlyWorkspace: hostReviewSandboxAvailable(),
|
|
29
34
|
reviewRuntimeRoots: (env) => [
|
|
30
35
|
env.CLAUDE_CONFIG_DIR ?? join(env.HOME ?? homedir(), '.claude'),
|
|
@@ -49,6 +54,7 @@ export const nativeRunnerDefinitions = {
|
|
|
49
54
|
},
|
|
50
55
|
},
|
|
51
56
|
cursor: {
|
|
57
|
+
reviewConfigurationRoots: reviewConfigurationRootsByRunner.cursor,
|
|
52
58
|
supportsReadOnlyWorkspace: hostReviewSandboxAvailable(),
|
|
53
59
|
reviewRuntimeRoots: (env) => [
|
|
54
60
|
join(env.HOME ?? homedir(), '.cursor'),
|
|
@@ -78,6 +84,8 @@ export const nativeRunnerDefinitions = {
|
|
|
78
84
|
},
|
|
79
85
|
},
|
|
80
86
|
grok: {
|
|
87
|
+
reviewConfigurationRoots: reviewConfigurationRootsByRunner.grok,
|
|
88
|
+
trustWorkspace: workspaceTrustByRunner.grok,
|
|
81
89
|
supportsReadOnlyWorkspace: hostReviewSandboxAvailable(),
|
|
82
90
|
reviewRuntimeRoots: (env) => [env.GROK_HOME ?? join(env.HOME ?? homedir(), '.grok')],
|
|
83
91
|
adapter: grokNativeAdapter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/native/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/native/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAA6B,MAAM,qBAAqB,CAAC;AAS5F,MAAM,CAAC,MAAM,EACX,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,GACjC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,mCAAmC,CAYrE,CAAC;AA2BF,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAA2C;IAC7E,KAAK,EAAE;QACL,cAAc,EAAE,sBAAsB,CAAC,KAAK;QAC5C,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,OAAO;QACf,eAAe,EAAE,IAAI;QACrB,yBAAyB,EAAE,IAAI;QAC/B,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACvD,KAAK,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;YAC1C,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,OAAO,EAAE,mBAAmB;SAC7B;KACF;IACD,MAAM,EAAE;QACN,wBAAwB,EAAE,gCAAgC,CAAC,MAAM;QACjE,cAAc,EAAE,sBAAsB,CAAC,MAAM;QAC7C,yBAAyB,EAAE,0BAA0B,EAAE;QACvD,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC;YAC/D,gEAAgE;YAChE,yEAAyE;YACzE,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F;QACD,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB;YACrC,KAAK,EAAE;gBACL,mBAAmB;gBACnB,sBAAsB;gBACtB,yBAAyB;gBACzB,mBAAmB;gBACnB,iCAAiC;aAClC;YACD,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,OAAO,EAAE,oBAAoB;SAC9B;KACF;IACD,MAAM,EAAE;QACN,wBAAwB,EAAE,gCAAgC,CAAC,MAAM;QACjE,yBAAyB,EAAE,0BAA0B,EAAE;QACvD,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,qCAAqC,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,oCAAoC,CAAC;YACjE,2EAA2E;YAC3E,4EAA4E;YAC5E,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU;gBACtC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,EAAE,CAAC;SACR;QACD,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,cAAc;QACtB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB;YACrC,KAAK,EAAE;gBACL,gBAAgB;gBAChB,mBAAmB;gBACnB,mBAAmB;gBACnB,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;aAChB;YACD,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,OAAO,EAAE,oBAAoB;SAC9B;KACF;IACD,IAAI,EAAE;QACJ,wBAAwB,EAAE,gCAAgC,CAAC,IAAI;QAC/D,cAAc,EAAE,sBAAsB,CAAC,IAAI;QAC3C,yBAAyB,EAAE,0BAA0B,EAAE;QACvD,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,MAAM;QACd,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YACtD,KAAK,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;YACtC,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,OAAO,EAAE,kBAAkB;SAC5B;KACF;CACF,CAAC"}
|
|
@@ -5,7 +5,7 @@ export interface NativeProcessSandbox {
|
|
|
5
5
|
}
|
|
6
6
|
export declare const hostReviewSandboxAvailable: () => boolean;
|
|
7
7
|
/** Shared with terminal review launches; trust settings cannot weaken source protection. */
|
|
8
|
-
export declare const reviewProcessSandbox: (policy: NativeWorkerFilesystemPolicy, runtimeRoots: string[]) => Promise<{
|
|
8
|
+
export declare const reviewProcessSandbox: (policy: NativeWorkerFilesystemPolicy, runtimeRoots: string[], configurationRoots?: string[]) => Promise<{
|
|
9
9
|
sandbox: NativeProcessSandbox;
|
|
10
10
|
temporaryDirectory: string;
|
|
11
11
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-sandbox.d.ts","sourceRoot":"","sources":["../../src/native/review-sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"review-sandbox.d.ts","sourceRoot":"","sources":["../../src/native/review-sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AASD,eAAO,MAAM,0BAA0B,QAPxB,OAOmD,CAAC;AACnE,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,WAPrB,4BAA4B,gBACtB,MAAM,EAAE,uBACD,MAAM,EAAE,KAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,oBAAoB,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAIhB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-sandbox.js","sourceRoot":"","sources":["../../src/native/review-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,qCAAqC,
|
|
1
|
+
{"version":3,"file":"review-sandbox.js","sourceRoot":"","sources":["../../src/native/review-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,qCAAqC,CAO1F,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,SAAS,CAAC;AACnE,4FAA4F;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { accessSync, constants } = require('node:fs');
|
|
2
2
|
const { mkdir, realpath } = require('node:fs/promises');
|
|
3
|
-
const { join } = require('node:path');
|
|
3
|
+
const { join, sep } = require('node:path');
|
|
4
4
|
|
|
5
5
|
function available() {
|
|
6
6
|
if (process.platform !== 'darwin') return false;
|
|
@@ -12,7 +12,7 @@ function available() {
|
|
|
12
12
|
throw error;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
async function sandbox(policy, runtimeRoots) {
|
|
15
|
+
async function sandbox(policy, runtimeRoots, configurationRoots = []) {
|
|
16
16
|
if (!available())
|
|
17
17
|
throw new Error('This runner needs the macOS review sandbox on its execution node');
|
|
18
18
|
const temporaryDirectory = join(policy.writableRoots[0], '.review-runtime', 'tmp');
|
|
@@ -23,6 +23,23 @@ async function sandbox(policy, runtimeRoots) {
|
|
|
23
23
|
await mkdir(root, { recursive: true, mode: 0o700 });
|
|
24
24
|
writable.push(await realpath(root));
|
|
25
25
|
}
|
|
26
|
+
const blockedConfiguration = [];
|
|
27
|
+
for (const file of configurationRoots) {
|
|
28
|
+
const source = readOnly.find((root) => file.startsWith(root + sep));
|
|
29
|
+
if (!source) throw new Error('Review configuration mask must belong to its read-only source');
|
|
30
|
+
blockedConfiguration.push(file);
|
|
31
|
+
try {
|
|
32
|
+
const target = await realpath(file);
|
|
33
|
+
if (target !== file) {
|
|
34
|
+
if (!target.startsWith(source + sep))
|
|
35
|
+
throw new Error('Review execution configuration links outside its source');
|
|
36
|
+
blockedConfiguration.push(target);
|
|
37
|
+
}
|
|
38
|
+
} catch (error) {
|
|
39
|
+
// An absent config is inert. The path remains denied if anything later appears there.
|
|
40
|
+
if (error.code !== 'ENOENT') throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
26
43
|
const profile = [
|
|
27
44
|
'(version 1)',
|
|
28
45
|
'(allow default)',
|
|
@@ -30,6 +47,9 @@ async function sandbox(policy, runtimeRoots) {
|
|
|
30
47
|
...writable.map((root) => `(allow file-write* (subpath ${JSON.stringify(root)}))`),
|
|
31
48
|
'(allow file-write* (literal "/dev/null") (literal "/dev/tty"))',
|
|
32
49
|
...readOnly.map((root) => `(deny file-write* (subpath ${JSON.stringify(root)}))`),
|
|
50
|
+
...blockedConfiguration.map(
|
|
51
|
+
(root) => `(deny file-read-data (subpath ${JSON.stringify(root)}))`,
|
|
52
|
+
),
|
|
33
53
|
].join('\n');
|
|
34
54
|
return {
|
|
35
55
|
sandbox: { executable: '/usr/bin/sandbox-exec', args: ['-p', profile] },
|
|
@@ -129,7 +129,15 @@ async function main() {
|
|
|
129
129
|
const runtimeRoots = input.runtimeRoots.map((root) =>
|
|
130
130
|
root.replace(/^~(?=\/|$)/, process.env.HOME),
|
|
131
131
|
);
|
|
132
|
-
const
|
|
132
|
+
const {
|
|
133
|
+
workspaceTrustByRunner,
|
|
134
|
+
reviewConfigurationRootsByRunner,
|
|
135
|
+
} = require('./workspace-trust.cjs');
|
|
136
|
+
const guard = await sandbox(
|
|
137
|
+
policy,
|
|
138
|
+
runtimeRoots,
|
|
139
|
+
reviewConfigurationRootsByRunner[input.runner]?.(cwd) ?? [],
|
|
140
|
+
);
|
|
133
141
|
const promptFile = path.join(task, '.terminal-prompt.txt');
|
|
134
142
|
fs.writeFileSync(promptFile, input.prompt, { mode: 0o600 });
|
|
135
143
|
const environment = {
|
|
@@ -148,10 +156,12 @@ async function main() {
|
|
|
148
156
|
])
|
|
149
157
|
delete environment[key];
|
|
150
158
|
environment.FARMSLOT_SIGNAL_ATTEMPT_ID = require('node:crypto').randomUUID();
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
159
|
+
// This helper accepts only the gateway's farm review launch, after identity and source-policy checks.
|
|
160
|
+
workspaceTrustByRunner[input.runner]?.(cwd, environment, undefined, {
|
|
161
|
+
executable: input.executable,
|
|
162
|
+
processSandbox: guard.sandbox,
|
|
163
|
+
inspectionCwd: guard.temporaryDirectory,
|
|
164
|
+
});
|
|
155
165
|
const commandFile = path.join(task, '.terminal-start.cjs');
|
|
156
166
|
const record = {
|
|
157
167
|
runId: input.runId,
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
function isTomlSectionHeader(line) {
|
|
2
|
+
return /^\s*\[\[?(?:[^"'\]]+|"(?:[^"\\]|\\.)*"|'[^']*')+\]\]?\s*(?:#.*)?$/.test(line);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
function scanTomlLine(line, state) {
|
|
6
|
+
let escaped = false;
|
|
7
|
+
for (let index = 0; index < line.length; index += 1) {
|
|
8
|
+
const char = line[index];
|
|
9
|
+
if (state.quote === '"""' || state.quote === "'''") {
|
|
10
|
+
if (state.quote === '"""' && escaped) {
|
|
11
|
+
escaped = false;
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (state.quote === '"""' && char === '\\') {
|
|
15
|
+
escaped = true;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (line.startsWith(state.quote, index)) {
|
|
19
|
+
const quoteChar = state.quote[0];
|
|
20
|
+
let closingRunLength = 3;
|
|
21
|
+
while (line[index + closingRunLength] === quoteChar) closingRunLength += 1;
|
|
22
|
+
index += closingRunLength - 1;
|
|
23
|
+
state.quote = null;
|
|
24
|
+
}
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (state.quote) {
|
|
28
|
+
if (state.quote === '"' && escaped) {
|
|
29
|
+
escaped = false;
|
|
30
|
+
} else if (state.quote === '"' && char === '\\') {
|
|
31
|
+
escaped = true;
|
|
32
|
+
} else if (char === state.quote) {
|
|
33
|
+
state.quote = null;
|
|
34
|
+
}
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (char === '#') break;
|
|
38
|
+
if (line.startsWith('"""', index) || line.startsWith("'''", index)) {
|
|
39
|
+
state.quote = line.slice(index, index + 3);
|
|
40
|
+
index += 2;
|
|
41
|
+
} else if (char === '"' || char === "'") {
|
|
42
|
+
state.quote = char;
|
|
43
|
+
} else if (char === '[') {
|
|
44
|
+
state.arrayDepth += 1;
|
|
45
|
+
} else if (char === ']') {
|
|
46
|
+
state.arrayDepth = Math.max(0, state.arrayDepth - 1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (state.quote === '"' || state.quote === "'") state.quote = null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function tomlSectionHeaderIndexes(lines) {
|
|
53
|
+
const headers = new Set();
|
|
54
|
+
const state = { arrayDepth: 0, quote: null };
|
|
55
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
56
|
+
const line = lines[index];
|
|
57
|
+
if (state.arrayDepth === 0 && state.quote === null && isTomlSectionHeader(line)) {
|
|
58
|
+
headers.add(index);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
scanTomlLine(line, state);
|
|
62
|
+
}
|
|
63
|
+
return headers;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function tomlBareStringValue(line, key) {
|
|
67
|
+
const match = line.match(new RegExp(`^\\s*${key}\\s*=\\s*(.*)$`));
|
|
68
|
+
if (!match) return null;
|
|
69
|
+
const raw = match[1].trim();
|
|
70
|
+
if (raw.startsWith('"') || raw.startsWith("'")) {
|
|
71
|
+
const quote = raw[0];
|
|
72
|
+
let value = '';
|
|
73
|
+
for (let index = 1; index < raw.length; index += 1) {
|
|
74
|
+
const char = raw[index];
|
|
75
|
+
if (char === '\\' && index + 1 < raw.length) {
|
|
76
|
+
value += raw[index + 1];
|
|
77
|
+
index += 1;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (char === quote) return value;
|
|
81
|
+
value += char;
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
return raw.replace(/\s+#.*$/, '').trim() || null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function tomlDottedParts(section) {
|
|
89
|
+
const parts = [];
|
|
90
|
+
let current = '';
|
|
91
|
+
let quote = null;
|
|
92
|
+
for (let index = 0; index < section.length; index += 1) {
|
|
93
|
+
const char = section[index];
|
|
94
|
+
if (quote) {
|
|
95
|
+
if (char === '\\' && index + 1 < section.length) {
|
|
96
|
+
current += section[index + 1];
|
|
97
|
+
index += 1;
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (char === quote) {
|
|
101
|
+
quote = null;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
current += char;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (char === '"' || char === "'") {
|
|
108
|
+
quote = char;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (char === '.') {
|
|
112
|
+
parts.push(current.trim());
|
|
113
|
+
current = '';
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
current += char;
|
|
117
|
+
}
|
|
118
|
+
parts.push(current.trim());
|
|
119
|
+
return parts;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
module.exports = { scanTomlLine, tomlBareStringValue, tomlDottedParts, tomlSectionHeaderIndexes };
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
// Runner-native trust stores. Callers admit only farm-created worker workspaces.
|
|
2
|
+
const fs = require('node:fs');
|
|
3
|
+
const path = require('node:path');
|
|
4
|
+
const os = require('node:os');
|
|
5
|
+
const { execFileSync } = require('node:child_process');
|
|
6
|
+
const { tomlSectionHeaderIndexes, tomlBareStringValue } = require('./toml-scan.cjs');
|
|
7
|
+
|
|
8
|
+
const lockScript = String.raw`
|
|
9
|
+
import fcntl, os, subprocess, sys
|
|
10
|
+
with os.fdopen(os.open(sys.argv[1] + '.farmslot-review.lock', os.O_CREAT | os.O_RDWR, 0o600), 'a') as lock:
|
|
11
|
+
fcntl.flock(lock, fcntl.LOCK_EX)
|
|
12
|
+
subprocess.run(sys.argv[2:], check=True, timeout=8)
|
|
13
|
+
`;
|
|
14
|
+
const escapeToml = (value) => JSON.stringify(value).slice(1, -1);
|
|
15
|
+
const unescapeToml = (value) =>
|
|
16
|
+
value.replace(/\\(u([0-9a-fA-F]{4})|U([0-9a-fA-F]{8})|.)/g, (match, body, u4, u8) => {
|
|
17
|
+
if (u4 || u8) return String.fromCodePoint(parseInt(u4 || u8, 16));
|
|
18
|
+
return { b: '\b', t: '\t', n: '\n', f: '\f', r: '\r', '"': '"', '\\': '\\' }[body] ?? match;
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
function updateToml(content, namespace, folders, values) {
|
|
22
|
+
const header = new RegExp(
|
|
23
|
+
'^\\s*\\[\\s*' + namespace + '\\s*\\.\\s*"((?:[^"\\\\]|\\\\.)*)"\\s*\\]\\s*(?:#.*)?$',
|
|
24
|
+
);
|
|
25
|
+
const added = [];
|
|
26
|
+
for (const folder of folders) {
|
|
27
|
+
const lines = content.split(/(?<=\n)/);
|
|
28
|
+
const headers = [...tomlSectionHeaderIndexes(lines)];
|
|
29
|
+
const start = headers.find((index) => {
|
|
30
|
+
const match = header.exec(lines[index].trimEnd());
|
|
31
|
+
return match && unescapeToml(match[1]) === folder;
|
|
32
|
+
});
|
|
33
|
+
if (start === undefined) {
|
|
34
|
+
added.push(folder);
|
|
35
|
+
content =
|
|
36
|
+
content.trimEnd() +
|
|
37
|
+
'\n\n[' +
|
|
38
|
+
namespace +
|
|
39
|
+
'."' +
|
|
40
|
+
escapeToml(folder) +
|
|
41
|
+
'"]\n' +
|
|
42
|
+
Object.entries(values)
|
|
43
|
+
.map(([key, value]) => key + ' = ' + JSON.stringify(value) + '\n')
|
|
44
|
+
.join('');
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const end = headers.find((index) => index > start) ?? lines.length;
|
|
48
|
+
const record = lines.slice(start, end);
|
|
49
|
+
for (const [key, value] of Object.entries(values)) {
|
|
50
|
+
const assignment = new RegExp('^\\s*' + key + '\\s*=');
|
|
51
|
+
const index = record.findIndex((line) => assignment.test(line));
|
|
52
|
+
// Grok's original decision timestamp stays stable across launch/replay.
|
|
53
|
+
if (
|
|
54
|
+
index >= 0 &&
|
|
55
|
+
(key === 'decided_at' || tomlBareStringValue(record[index], key) === String(value))
|
|
56
|
+
)
|
|
57
|
+
continue;
|
|
58
|
+
const next = key + ' = ' + JSON.stringify(value) + '\n';
|
|
59
|
+
if (index >= 0) record[index] = next;
|
|
60
|
+
else record.splice(1, 0, next);
|
|
61
|
+
}
|
|
62
|
+
content = lines.slice(0, start).concat(record, lines.slice(end)).join('');
|
|
63
|
+
}
|
|
64
|
+
return { content: content.replace(/^\n+/, ''), added };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function writeTrust(file, request) {
|
|
68
|
+
const content = fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : '';
|
|
69
|
+
let next;
|
|
70
|
+
let added = [];
|
|
71
|
+
if (request.namespace) {
|
|
72
|
+
const result = updateToml(content, request.namespace, request.folders, request.values);
|
|
73
|
+
next = result.content;
|
|
74
|
+
added = result.added;
|
|
75
|
+
} else {
|
|
76
|
+
let data;
|
|
77
|
+
try {
|
|
78
|
+
data = content ? JSON.parse(content) : {};
|
|
79
|
+
} catch {
|
|
80
|
+
throw new Error('Invalid runner configuration JSON');
|
|
81
|
+
}
|
|
82
|
+
if (
|
|
83
|
+
!data ||
|
|
84
|
+
typeof data !== 'object' ||
|
|
85
|
+
Array.isArray(data) ||
|
|
86
|
+
(data.projects && (typeof data.projects !== 'object' || Array.isArray(data.projects)))
|
|
87
|
+
)
|
|
88
|
+
throw new Error('Invalid runner configuration');
|
|
89
|
+
data.projects ??= {};
|
|
90
|
+
for (const folder of request.folders) {
|
|
91
|
+
const record = data.projects[folder] ?? {};
|
|
92
|
+
if (!record || typeof record !== 'object' || Array.isArray(record))
|
|
93
|
+
throw new Error('Invalid runner workspace configuration');
|
|
94
|
+
data.projects[folder] = { ...record, ...request.values };
|
|
95
|
+
}
|
|
96
|
+
next = JSON.stringify(data, null, 2) + '\n';
|
|
97
|
+
}
|
|
98
|
+
if (next === content) return added;
|
|
99
|
+
const temporary = file + '.' + process.pid + '.tmp';
|
|
100
|
+
try {
|
|
101
|
+
fs.writeFileSync(temporary, next, { mode: 0o600, flag: 'wx' });
|
|
102
|
+
fs.renameSync(temporary, file);
|
|
103
|
+
} finally {
|
|
104
|
+
if (fs.existsSync(temporary)) fs.unlinkSync(temporary);
|
|
105
|
+
}
|
|
106
|
+
return added;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function seed(file, folders, values, namespace, env) {
|
|
110
|
+
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
111
|
+
const target = fs.existsSync(file) ? fs.realpathSync(file) : file;
|
|
112
|
+
return JSON.parse(
|
|
113
|
+
execFileSync(
|
|
114
|
+
'python3',
|
|
115
|
+
[
|
|
116
|
+
'-c',
|
|
117
|
+
lockScript,
|
|
118
|
+
target,
|
|
119
|
+
process.execPath,
|
|
120
|
+
__filename,
|
|
121
|
+
target,
|
|
122
|
+
JSON.stringify({ folders: [...new Set(folders)], values, namespace }),
|
|
123
|
+
],
|
|
124
|
+
{ env, stdio: 'pipe', timeout: 10000, encoding: 'utf8' },
|
|
125
|
+
),
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
const home = (env) => env.HOME || os.homedir();
|
|
129
|
+
function trustGrokFolders(folders, env = process.env) {
|
|
130
|
+
const file = path.join(env.GROK_HOME || path.join(home(env), '.grok'), 'trusted_folders.toml');
|
|
131
|
+
const added = seed(
|
|
132
|
+
file,
|
|
133
|
+
folders,
|
|
134
|
+
{ trusted: true, decided_at: Math.floor(Date.now() / 1000) },
|
|
135
|
+
'folders',
|
|
136
|
+
env,
|
|
137
|
+
);
|
|
138
|
+
return { trustedPath: file, added };
|
|
139
|
+
}
|
|
140
|
+
function farmReviewWorkspace(cwd, owner) {
|
|
141
|
+
const source = fs.realpathSync(cwd);
|
|
142
|
+
const workspace = path.dirname(source);
|
|
143
|
+
const runs = path.dirname(workspace);
|
|
144
|
+
const ownerRoot = path.dirname(runs);
|
|
145
|
+
if (
|
|
146
|
+
path.basename(source) !== 'source' ||
|
|
147
|
+
path.basename(runs) !== 'runs' ||
|
|
148
|
+
path.basename(path.dirname(ownerRoot)) !== 'review-workspaces'
|
|
149
|
+
)
|
|
150
|
+
return false;
|
|
151
|
+
const marker = path.join(workspace, 'identity.json');
|
|
152
|
+
const stat = fs.lstatSync(marker);
|
|
153
|
+
if (
|
|
154
|
+
!stat.isFile() ||
|
|
155
|
+
stat.isSymbolicLink() ||
|
|
156
|
+
stat.uid !== process.getuid?.() ||
|
|
157
|
+
(stat.mode & 0o077) !== 0
|
|
158
|
+
)
|
|
159
|
+
throw new Error('Review workspace ownership marker is not private');
|
|
160
|
+
const identity = JSON.parse(fs.readFileSync(marker, 'utf8'));
|
|
161
|
+
if (
|
|
162
|
+
typeof identity.owner !== 'string' ||
|
|
163
|
+
identity.workspaceId !== path.basename(workspace) ||
|
|
164
|
+
(owner && identity.owner !== owner) ||
|
|
165
|
+
require('node:crypto').createHash('sha256').update(identity.owner).digest('hex') !==
|
|
166
|
+
path.basename(ownerRoot)
|
|
167
|
+
)
|
|
168
|
+
throw new Error('Review workspace ownership marker does not match this launch');
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
function assertGrokReviewAccount(cwd, env, launch = {}) {
|
|
172
|
+
const remedy =
|
|
173
|
+
'Set allow_managed_hooks_only = true in the selected GROK_HOME/managed_config.toml, ' +
|
|
174
|
+
'disable or remove native, plugin and compatibility hooks, and verify grok inspect --json ' +
|
|
175
|
+
'reports nonManagedHooks disabled and every hook disabled; then retry. Use another runner if enforced hooks cannot be disabled.';
|
|
176
|
+
const executable = launch.executable || 'grok';
|
|
177
|
+
// Account discovery must not confuse intentionally masked PR configuration with unreadable account hooks.
|
|
178
|
+
const inspectionCwd = launch.inspectionCwd || cwd;
|
|
179
|
+
const args = ['--no-leader', '--no-auto-update', '--cwd', inspectionCwd, 'inspect', '--json'];
|
|
180
|
+
let inspection;
|
|
181
|
+
try {
|
|
182
|
+
inspection = JSON.parse(
|
|
183
|
+
execFileSync(
|
|
184
|
+
launch.processSandbox?.executable || executable,
|
|
185
|
+
launch.processSandbox ? [...launch.processSandbox.args, executable, ...args] : args,
|
|
186
|
+
{ cwd: inspectionCwd, env, encoding: 'utf8', stdio: 'pipe', timeout: 10000 },
|
|
187
|
+
),
|
|
188
|
+
);
|
|
189
|
+
} catch {
|
|
190
|
+
// Inspector output can include account secrets. Refuse without echoing stdout/stderr.
|
|
191
|
+
throw new Error('Grok review refused: account hook safety could not be verified. ' + remedy);
|
|
192
|
+
}
|
|
193
|
+
if (
|
|
194
|
+
!inspection ||
|
|
195
|
+
typeof inspection.grokVersion !== 'string' ||
|
|
196
|
+
!Array.isArray(inspection.hooks) ||
|
|
197
|
+
(inspection.hookLoadErrors !== undefined &&
|
|
198
|
+
(!Array.isArray(inspection.hookLoadErrors) || inspection.hookLoadErrors.length > 0))
|
|
199
|
+
)
|
|
200
|
+
throw new Error('Grok review refused: account hook safety could not be verified. ' + remedy);
|
|
201
|
+
// Do not classify commands as safe: a global hook can invoke any PR-supplied file.
|
|
202
|
+
if (inspection.hooks.some((hook) => hook?.disabled !== true))
|
|
203
|
+
throw new Error('Grok review refused: this account has startup hooks enabled. ' + remedy);
|
|
204
|
+
// The native pin also covers agent/frontmatter and notification hooks loaded after inspection.
|
|
205
|
+
if (
|
|
206
|
+
!Array.isArray(inspection.permissions?.enforced) ||
|
|
207
|
+
!inspection.permissions.enforced.some(
|
|
208
|
+
(pin) => pin?.setting === 'nonManagedHooks' && pin.enabled === false,
|
|
209
|
+
)
|
|
210
|
+
)
|
|
211
|
+
throw new Error(
|
|
212
|
+
'Grok review refused: account startup hooks are not disabled by policy. ' + remedy,
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
function trustGrokWorkspace(cwd, env = process.env, owner, launch) {
|
|
216
|
+
if (!farmReviewWorkspace(cwd, owner)) return;
|
|
217
|
+
assertGrokReviewAccount(cwd, env, launch);
|
|
218
|
+
trustGrokFolders([path.resolve(cwd), fs.realpathSync(cwd)], env);
|
|
219
|
+
}
|
|
220
|
+
function configureCodexReviewWorkspace(cwd, env = process.env, owner) {
|
|
221
|
+
if (!farmReviewWorkspace(cwd, owner)) return;
|
|
222
|
+
seed(
|
|
223
|
+
path.join(env.CODEX_HOME || path.join(home(env), '.codex'), 'config.toml'),
|
|
224
|
+
[path.resolve(cwd), fs.realpathSync(cwd)],
|
|
225
|
+
{ trust_level: 'untrusted' },
|
|
226
|
+
'projects',
|
|
227
|
+
env,
|
|
228
|
+
);
|
|
229
|
+
}
|
|
230
|
+
function trustClaudeWorkspace(cwd, env = process.env, owner) {
|
|
231
|
+
if (!farmReviewWorkspace(cwd, owner)) return;
|
|
232
|
+
seed(
|
|
233
|
+
path.join(env.CLAUDE_CONFIG_DIR || home(env), '.claude.json'),
|
|
234
|
+
[path.resolve(cwd), fs.realpathSync(cwd)],
|
|
235
|
+
{ hasTrustDialogAccepted: true },
|
|
236
|
+
undefined,
|
|
237
|
+
env,
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
function codexWorkspaceTrustConfig(cwd, trust) {
|
|
241
|
+
return `projects={${JSON.stringify(cwd)}={trust_level=${JSON.stringify(trust)}}}`;
|
|
242
|
+
}
|
|
243
|
+
const reviewConfigurationRoots = (cwd) =>
|
|
244
|
+
[
|
|
245
|
+
'.grok/config.toml',
|
|
246
|
+
'.grok/hooks',
|
|
247
|
+
'.grok/lsp.json',
|
|
248
|
+
'.grok/plugins',
|
|
249
|
+
'.grok/agents',
|
|
250
|
+
'.claude/settings.json',
|
|
251
|
+
'.claude/settings.local.json',
|
|
252
|
+
'.claude/plugins',
|
|
253
|
+
'.cursor/hooks.json',
|
|
254
|
+
'.cursor/mcp.json',
|
|
255
|
+
'.cursor/plugins',
|
|
256
|
+
'.mcp.json',
|
|
257
|
+
'.lsp.json',
|
|
258
|
+
'.envrc',
|
|
259
|
+
].map((name) => path.join(fs.realpathSync(cwd), name));
|
|
260
|
+
const reviewConfigurationRootsByRunner = {
|
|
261
|
+
grok: reviewConfigurationRoots,
|
|
262
|
+
claude: reviewConfigurationRoots,
|
|
263
|
+
cursor: reviewConfigurationRoots,
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
module.exports = {
|
|
267
|
+
reviewConfigurationRootsByRunner,
|
|
268
|
+
codexWorkspaceTrustConfig,
|
|
269
|
+
trustGrokFolders,
|
|
270
|
+
trustGrokWorkspace,
|
|
271
|
+
configureCodexReviewWorkspace,
|
|
272
|
+
workspaceTrustByRunner: {
|
|
273
|
+
codex: configureCodexReviewWorkspace,
|
|
274
|
+
grok: trustGrokWorkspace,
|
|
275
|
+
claude: trustClaudeWorkspace,
|
|
276
|
+
},
|
|
277
|
+
trustClaudeWorkspace,
|
|
278
|
+
};
|
|
279
|
+
if (require.main === module)
|
|
280
|
+
console.log(JSON.stringify(writeTrust(process.argv[2], JSON.parse(process.argv[3]))));
|