@indigoai-us/hq-cloud 6.14.3 → 6.14.5
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/bin/sync-runner-company.d.ts +1 -0
- package/dist/bin/sync-runner-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +44 -19
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +25 -36
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +128 -4
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/reindex.d.ts.map +1 -1
- package/dist/cli/reindex.js +209 -29
- package/dist/cli/reindex.js.map +1 -1
- package/dist/cli/reindex.test.js +116 -37
- package/dist/cli/reindex.test.js.map +1 -1
- package/dist/cli/rescue-clone-diagnostics.test.d.ts +2 -0
- package/dist/cli/rescue-clone-diagnostics.test.d.ts.map +1 -0
- package/dist/cli/rescue-clone-diagnostics.test.js +101 -0
- package/dist/cli/rescue-clone-diagnostics.test.js.map +1 -0
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +28 -6
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/share.js +11 -22
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +40 -0
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +16 -14
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +73 -0
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/watcher.d.ts +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +5 -6
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +54 -0
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner-company.ts +50 -22
- package/src/bin/sync-runner.test.ts +147 -4
- package/src/bin/sync-runner.ts +49 -54
- package/src/cli/reindex.test.ts +130 -37
- package/src/cli/reindex.ts +198 -28
- package/src/cli/rescue-clone-diagnostics.test.ts +120 -0
- package/src/cli/rescue-core.ts +32 -8
- package/src/cli/share.test.ts +47 -0
- package/src/cli/share.ts +16 -26
- package/src/cli/sync.test.ts +90 -0
- package/src/cli/sync.ts +16 -14
- package/src/watcher.test.ts +59 -0
- package/src/watcher.ts +6 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;CAChB;AA6VD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,CAoXhE"}
|
package/dist/cli/reindex.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* hq reindex — surfaces namespaced skills as Claude Code skill wrappers under
|
|
3
3
|
* .claude/skills/<ns>:<skill>/ (one symlink per source file), mirrors
|
|
4
4
|
* personal/{knowledge,policies,workers,settings}/<entry> into core/<type>/,
|
|
5
|
-
* prunes orphan wrappers + legacy command symlinks, captures this
|
|
6
|
-
*
|
|
7
|
-
* registry.
|
|
5
|
+
* prunes orphan wrappers + legacy command symlinks, captures this HQ tree's
|
|
6
|
+
* coding-harness session logs (Claude Code / Codex / Grok) into
|
|
7
|
+
* workspace/.session-logs/<harness>/, and regenerates the workers registry.
|
|
8
8
|
*
|
|
9
9
|
* The logic historically lived in a bundled bash script (scripts/reindex.sh)
|
|
10
10
|
* that this module exec'd via `bash`. It is now implemented natively in
|
|
@@ -141,44 +141,224 @@ function safeSymlink(target, linkPath, label) {
|
|
|
141
141
|
return false;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
//
|
|
145
|
-
//
|
|
146
|
-
// `workspace/.session-logs`, so the raw session transcripts are captured inside
|
|
144
|
+
// Capture the raw session transcripts of every supported coding harness for
|
|
145
|
+
// this HQ tree into `workspace/.session-logs/<harness>/`, so they live inside
|
|
147
146
|
// the HQ tree (where sync/search can see them) on each reindex.
|
|
148
147
|
//
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
// - NEVER deletes dest entries that lack a source counterpart — this is a
|
|
153
|
-
// one-way overlay, not a mirror, so anything already parked in
|
|
154
|
-
// workspace/.session-logs survives even after Claude Code rotates or prunes
|
|
155
|
-
// its own projects dir.
|
|
148
|
+
// Scope — "this HQ tree" = the HQ root cwd OR any working directory UNDER it
|
|
149
|
+
// (worktrees, repo subdirs). Harnesses key their logs by cwd differently, so
|
|
150
|
+
// each helper re-derives the same scope in its own encoding.
|
|
156
151
|
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
152
|
+
// Contract (per the feature request), applied by every helper:
|
|
153
|
+
// - copies ALL matching files/folders into `.session-logs/<harness>/…`,
|
|
154
|
+
// - OVERWRITES existing dest files, and
|
|
155
|
+
// - NEVER deletes dest entries that lack a source counterpart — a one-way
|
|
156
|
+
// overlay, not a mirror, so anything already parked in `.session-logs`
|
|
157
|
+
// survives even after a harness rotates or prunes its own store.
|
|
158
|
+
//
|
|
159
|
+
// Best-effort throughout: any failure warns to stderr and is swallowed so it
|
|
160
|
+
// can never fail the reindex. Each harness is independent — one failing must
|
|
161
|
+
// not stop the others. Home dirs honor CLAUDE_CONFIG_DIR / CODEX_HOME /
|
|
162
|
+
// GROK_HOME, else ~/.claude, ~/.codex, ~/.grok.
|
|
159
163
|
function copySessionLogs(root) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
164
|
+
const destBase = path.join(root, "workspace", ".session-logs");
|
|
165
|
+
for (const capture of [
|
|
166
|
+
copyClaudeSessionLogs,
|
|
167
|
+
copyCodexSessionLogs,
|
|
168
|
+
copyGrokSessionLogs,
|
|
169
|
+
]) {
|
|
170
|
+
try {
|
|
171
|
+
capture(root, destBase);
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
warn(`reindex: session-log capture step failed (${err.message}); skipping.`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/** `fs.statSync` without throwing (follows symlinks; null when missing). */
|
|
179
|
+
function statOrNull(p) {
|
|
180
|
+
try {
|
|
181
|
+
return fs.statSync(p);
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// Overlay-copy a whole directory tree: mkdir dest, then recursive+force cpSync
|
|
188
|
+
// (overwrite existing, never prune dest-only entries). Best-effort — warns and
|
|
189
|
+
// returns on any failure. Shared by the Claude + Grok per-cwd-folder captures.
|
|
190
|
+
function copyTreeOverlay(src, dest, label) {
|
|
191
|
+
if (!safeMkdir(dest, `${label} directory`))
|
|
170
192
|
return;
|
|
171
193
|
try {
|
|
172
|
-
// recursive: copy the whole tree; force: overwrite existing dest files.
|
|
173
|
-
// cpSync copies src INTO dest and never removes dest-only entries — exactly
|
|
174
|
-
// the "overwrite, but don't delete extras" contract we want.
|
|
175
194
|
fs.cpSync(src, dest, { recursive: true, force: true });
|
|
176
195
|
}
|
|
177
196
|
catch (err) {
|
|
178
|
-
warn(`reindex: could not copy
|
|
197
|
+
warn(`reindex: could not copy ${label} from '${src}' to '${dest}' ` +
|
|
179
198
|
`(${err.code ?? "error"}: ${err.message}); skipping.`);
|
|
180
199
|
}
|
|
181
200
|
}
|
|
201
|
+
// Claude Code: `<claude-config>/projects/<encoded-cwd>/…`, where the cwd is
|
|
202
|
+
// encoded by replacing every non-alphanumeric char with '-'. Because that map
|
|
203
|
+
// is per-character, a descendant cwd's dir name is exactly the root's encoded
|
|
204
|
+
// name + '-' + <encoded-subpath> — so "this HQ tree" is the exact-root dir OR
|
|
205
|
+
// any dir whose name starts with `<slug>-`. Copy each into `.session-logs/claude/`.
|
|
206
|
+
function copyClaudeSessionLogs(root, destBase) {
|
|
207
|
+
const configDir = process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), ".claude");
|
|
208
|
+
const projectsDir = path.join(configDir, "projects");
|
|
209
|
+
if (!isDir(projectsDir))
|
|
210
|
+
return;
|
|
211
|
+
const slug = root.replace(/[^a-zA-Z0-9]/g, "-");
|
|
212
|
+
for (const entry of globEntries(projectsDir)) {
|
|
213
|
+
if (entry !== slug && !entry.startsWith(`${slug}-`))
|
|
214
|
+
continue;
|
|
215
|
+
const src = path.join(projectsDir, entry);
|
|
216
|
+
if (!isDir(src))
|
|
217
|
+
continue;
|
|
218
|
+
copyTreeOverlay(src, path.join(destBase, "claude", entry), "claude session logs");
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Grok: `<grok-home>/sessions/<url-encoded-cwd>/<session-uuid>/…`, where the cwd
|
|
222
|
+
// is URL-encoded (encodeURIComponent: '/' -> '%2F'). A descendant cwd's key is
|
|
223
|
+
// the root's key + '%2F' + <encoded-subpath>, so match the exact-root key OR
|
|
224
|
+
// that prefix. Copy each matching cwd folder into `.session-logs/grok/`.
|
|
225
|
+
function copyGrokSessionLogs(root, destBase) {
|
|
226
|
+
const grokHome = process.env.GROK_HOME || path.join(os.homedir(), ".grok");
|
|
227
|
+
const sessionsDir = path.join(grokHome, "sessions");
|
|
228
|
+
if (!isDir(sessionsDir))
|
|
229
|
+
return;
|
|
230
|
+
const key = encodeURIComponent(root);
|
|
231
|
+
for (const entry of globEntries(sessionsDir)) {
|
|
232
|
+
if (entry !== key && !entry.startsWith(`${key}%2F`))
|
|
233
|
+
continue;
|
|
234
|
+
const src = path.join(sessionsDir, entry);
|
|
235
|
+
if (!isDir(src))
|
|
236
|
+
continue;
|
|
237
|
+
copyTreeOverlay(src, path.join(destBase, "grok", entry), "grok session logs");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Codex: `<codex-home>/sessions/YYYY/MM/DD/rollout-*.jsonl` — a DATE tree, not
|
|
241
|
+
// per-project. The working dir is only recorded inside each rollout's first
|
|
242
|
+
// line (`session_meta`, at `payload.cwd`). Walk the tree and capture a rollout
|
|
243
|
+
// iff its recorded cwd is the HQ root or under it, mirroring the date-relative
|
|
244
|
+
// path under `.session-logs/codex/`. A rollout already copied and unchanged is
|
|
245
|
+
// skipped by mtime, so a steady-state reindex only classifies newly-written
|
|
246
|
+
// rollouts — the full-tree cwd scan is a one-time first-run cost.
|
|
247
|
+
function copyCodexSessionLogs(root, destBase) {
|
|
248
|
+
const codexHome = process.env.CODEX_HOME || path.join(os.homedir(), ".codex");
|
|
249
|
+
const sessionsDir = path.join(codexHome, "sessions");
|
|
250
|
+
if (!isDir(sessionsDir))
|
|
251
|
+
return;
|
|
252
|
+
const destDir = path.join(destBase, "codex");
|
|
253
|
+
const rootPrefix = root.endsWith(path.sep) ? root : root + path.sep;
|
|
254
|
+
for (const abs of walkFiles(sessionsDir)) {
|
|
255
|
+
if (!abs.endsWith(".jsonl"))
|
|
256
|
+
continue;
|
|
257
|
+
const srcStat = statOrNull(abs);
|
|
258
|
+
if (!srcStat)
|
|
259
|
+
continue;
|
|
260
|
+
const dest = path.join(destDir, path.relative(sessionsDir, abs));
|
|
261
|
+
// Cheap skip: already captured and unchanged since (dest mtime is the copy
|
|
262
|
+
// time, so it stays >= src mtime until the rollout is appended to again).
|
|
263
|
+
const destStat = statOrNull(dest);
|
|
264
|
+
if (destStat && destStat.mtimeMs >= srcStat.mtimeMs)
|
|
265
|
+
continue;
|
|
266
|
+
const cwd = readCodexRolloutCwd(abs);
|
|
267
|
+
if (cwd === null)
|
|
268
|
+
continue;
|
|
269
|
+
if (cwd !== root && !cwd.startsWith(rootPrefix))
|
|
270
|
+
continue;
|
|
271
|
+
if (!safeMkdir(path.dirname(dest), "codex session-log dir"))
|
|
272
|
+
continue;
|
|
273
|
+
try {
|
|
274
|
+
fs.copyFileSync(abs, dest);
|
|
275
|
+
}
|
|
276
|
+
catch (err) {
|
|
277
|
+
warn(`reindex: could not copy codex session log '${abs}' -> '${dest}' ` +
|
|
278
|
+
`(${err.code ?? "error"}: ${err.message}); skipping.`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Recursively collect every regular file under `dir` (absolute paths). Symlinks
|
|
283
|
+
// are not followed (lstat gate) so a stray link can't escape the tree or loop.
|
|
284
|
+
// Missing/unreadable dirs yield []. Best-effort — mirrors globEntries' tolerance.
|
|
285
|
+
function walkFiles(dir) {
|
|
286
|
+
const out = [];
|
|
287
|
+
let names;
|
|
288
|
+
try {
|
|
289
|
+
names = fs.readdirSync(dir);
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
return out;
|
|
293
|
+
}
|
|
294
|
+
for (const name of names) {
|
|
295
|
+
const abs = path.join(dir, name);
|
|
296
|
+
const st = lstatOrNull(abs);
|
|
297
|
+
if (!st)
|
|
298
|
+
continue;
|
|
299
|
+
if (st.isDirectory())
|
|
300
|
+
out.push(...walkFiles(abs));
|
|
301
|
+
else if (st.isFile())
|
|
302
|
+
out.push(abs);
|
|
303
|
+
}
|
|
304
|
+
return out;
|
|
305
|
+
}
|
|
306
|
+
// Extract `payload.cwd` (Codex ≥ the session_meta format; falls back to a
|
|
307
|
+
// top-level `cwd`) from a rollout's first line, reading only that line. Codex
|
|
308
|
+
// records cwd early, before the large `base_instructions` blob, but the line
|
|
309
|
+
// can still be tens of KB — so read up to a generous cap and stop at the first
|
|
310
|
+
// newline. Returns null on any parse/read failure (the rollout is then skipped).
|
|
311
|
+
function readCodexRolloutCwd(file) {
|
|
312
|
+
const line = readFirstLine(file, 4 * 1024 * 1024);
|
|
313
|
+
if (line === null)
|
|
314
|
+
return null;
|
|
315
|
+
try {
|
|
316
|
+
const obj = JSON.parse(line);
|
|
317
|
+
const cwd = obj?.payload?.cwd ?? obj?.cwd;
|
|
318
|
+
return typeof cwd === "string" ? cwd : null;
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
return null;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// Read the first line of `file` (up to `capBytes`), returning it WITHOUT the
|
|
325
|
+
// trailing newline, or null on error / empty. Byte-accumulates and decodes once
|
|
326
|
+
// so a multibyte char split across a read boundary can't corrupt the result.
|
|
327
|
+
function readFirstLine(file, capBytes) {
|
|
328
|
+
let fd = null;
|
|
329
|
+
try {
|
|
330
|
+
fd = fs.openSync(file, "r");
|
|
331
|
+
const chunks = [];
|
|
332
|
+
const chunk = Buffer.allocUnsafe(65536);
|
|
333
|
+
let total = 0;
|
|
334
|
+
while (total < capBytes) {
|
|
335
|
+
const n = fs.readSync(fd, chunk, 0, chunk.length, total);
|
|
336
|
+
if (n <= 0)
|
|
337
|
+
break;
|
|
338
|
+
const nl = chunk.indexOf(0x0a, 0);
|
|
339
|
+
if (nl !== -1 && nl < n) {
|
|
340
|
+
chunks.push(Buffer.from(chunk.subarray(0, nl)));
|
|
341
|
+
return Buffer.concat(chunks).toString("utf8");
|
|
342
|
+
}
|
|
343
|
+
chunks.push(Buffer.from(chunk.subarray(0, n)));
|
|
344
|
+
total += n;
|
|
345
|
+
}
|
|
346
|
+
return chunks.length ? Buffer.concat(chunks).toString("utf8") : null;
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
return null;
|
|
350
|
+
}
|
|
351
|
+
finally {
|
|
352
|
+
if (fd !== null) {
|
|
353
|
+
try {
|
|
354
|
+
fs.closeSync(fd);
|
|
355
|
+
}
|
|
356
|
+
catch {
|
|
357
|
+
/* best-effort */
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
182
362
|
// --- legacy `.claude/commands/<ns>/<skill>.md` symlink matcher --------------
|
|
183
363
|
// Mirrors the bash `case` patterns; `*` matches any chars (including `/`).
|
|
184
364
|
function isLegacyCommandTarget(t) {
|
package/dist/cli/reindex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,8BAA8B,GAE/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AA0ChC,+EAA+E;AAE/E,oEAAoE;AACpE,SAAS,KAAK,CAAC,CAAS;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,uEAAuE;AACvE,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,sDAAsD;AACtD,SAAS,SAAS,CAAC,GAAW,EAAE,KAAa;IAC3C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,CACF,6BAA6B,KAAK,KAAK,GAAG,IAAI;YAC5C,IAAI,IAAI,IAAI,OAAO,KAAM,GAAa,CAAC,OAAO,0BAA0B;YACxE,4EAA4E;YAC5E,gBAAgB,CACnB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,yEAAyE;AACzE,SAAS,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;IAClE,IAAI,CAAC;QACH,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,CACF,6BAA6B,KAAK,KAAK,QAAQ,SAAS,MAAM,IAAI;YAChE,IAAI,IAAI,IAAI,OAAO,KAAM,GAAa,CAAC,OAAO,2BAA2B;YACzE,yEAAyE;YACzE,0CAA0C,CAC7C,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,EAAE;AACF,+DAA+D;AAC/D,0EAA0E;AAC1E,0CAA0C;AAC1C,4EAA4E;AAC5E,2EAA2E;AAC3E,qEAAqE;AACrE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,gDAAgD;AAChD,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,mBAAmB;KACpB,EAAE,CAAC;QACF,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,6CAA8C,GAAa,CAAC,OAAO,cAAc,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS,eAAe,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;IAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,YAAY,CAAC;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CACF,2BAA2B,KAAK,UAAU,GAAG,SAAS,IAAI,IAAI;YAC5D,IAAK,GAA6B,CAAC,IAAI,IAAI,OAAO,KAAM,GAAa,CAAC,OAAO,cAAc,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,oFAAoF;AACpF,SAAS,qBAAqB,CAAC,IAAY,EAAE,QAAgB;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO;IAEhC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;YAAE,SAAS;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1B,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,+EAA+E;AAC/E,6EAA6E;AAC7E,yEAAyE;AACzE,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO;IAEhC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC;YAAE,SAAS;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1B,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,kEAAkE;AAClE,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;IAEpE,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACtC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,SAAS;QAE9D,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC3B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QAE1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;YAAE,SAAS;QACtE,IAAI,CAAC;YACH,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CACF,8CAA8C,GAAG,SAAS,IAAI,IAAI;gBAChE,IAAK,GAA6B,CAAC,IAAI,IAAI,OAAO,KAAM,GAAa,CAAC,OAAO,cAAc,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IAAI,EAAE,CAAC,WAAW,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7C,IAAI,EAAE,CAAC,MAAM,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmD,CAAC;QAC/E,MAAM,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC;QAC1C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAC7E,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB;IACnD,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM;YAClB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,SAAS,qBAAqB,CAAC,CAAS;IACtC,OAAO,CACL,0DAA0D,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,iDAAiD,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,qDAAqD,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,+DAA+D,CAAC,IAAI,CAAC,CAAC,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,uBAAuB,OAAO,sBAAsB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,IAAI,CAAC,cAAc;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;gBACjD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,YAAY,4BAA4B,EAAE,CAAC;gBAChD,oEAAoE;gBACpE,uEAAuE;gBACvE,wEAAwE;gBACxE,mEAAmE;gBACnE,cAAc;gBACd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;gBAC1D,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QAEL,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,2EAA2E;QAC3E,+EAA+E;QAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC;QACvD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAE/B,yEAAyE;QACzE,0EAA0E;QAC1E,kEAAkE;QAClE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE5E,6EAA6E;QAC7E,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,MAAc,EAAQ,EAAE;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,EAAE,aAAa,IAAI,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7B,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,CAAC,IAAI,EAAE,iBAAiB,IAAI,SAAS,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,wEAAwE;gBACxE,uEAAuE;gBACvE,6CAA6C;gBAC7C,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;oBAAE,SAAS;gBAEvC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,SAAS;oBACjC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClC,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;wBAAE,SAAS;oBAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;oBAClC,IAAI,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC;4BACH,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAChB,CAAC;wBAAC,MAAM,CAAC;4BACP,iBAAiB;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,IAAI,CAAC;oBACH,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACnC,qCAAqC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,IAAI,CACF,uBAAuB,EAAE,oDAAoD,MAAM,EAAE,CACtF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAChC,yEAAyE;gBACzE,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAAE,SAAS;gBAExD,MAAM,WAAW,GAAG,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAClE,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAElC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjC,mEAAmE;gBACnE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvD,IAAI,CAAC,YAAY,OAAO,0CAA0C,CAAC,CAAC;oBACpE,SAAS;gBACX,CAAC;gBACD,uEAAuE;gBACvE,uCAAuC;gBACvC,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrB,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;gBACH,CAAC;gBACD,0EAA0E;gBAC1E,uEAAuE;gBACvE,sEAAsE;gBACtE,yDAAyD;gBACzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,WAAW,GAAG,CAAC;oBAAE,SAAS;gBAEpE,mEAAmE;gBACnE,8CAA8C;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;wBAAE,SAAS;oBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,MAAM,cAAc,GAAG,YAAY,MAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;oBAElE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;wBAChC,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;wBACzC,IAAI,OAAO,KAAK,cAAc;4BAAE,SAAS;wBACzC,sBAAsB,EAAE,CAAC;wBACzB,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CACF,2BAA2B,WAAW,IAAI,KAAK,uBAAuB,OAAO,gBAAgB,cAAc,mBAAmB,CAC/H,CAAC;wBACJ,CAAC;wBACD,SAAS;oBACX,CAAC;yBAAM,IAAI,GAAG,EAAE,CAAC;wBACf,iBAAiB,EAAE,CAAC;wBACpB,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,YAAY,QAAQ,gDAAgD,CAAC,CAAC;wBAC7E,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,WAAW,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,qEAAqE;gBACrE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;wBAAE,SAAS;oBAC5C,IAAI,YAAY,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBACrC,IAAI,CAAC;wBACH,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG;gBAAE,SAAS,CAAC,gDAAgD;YACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,2BAA2B;YAC/D,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,sBAAsB;YAEjE,oEAAoE;YACpE,+DAA+D;YAC/D,kEAAkE;YAClE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,CAAS,EAAW,EAAE;gBAC3D,IAAI,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAAE,OAAO,EAAE,KAAK,UAAU,CAAC;gBACpE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC;oBAAE,OAAO,EAAE,KAAK,MAAM,CAAC;gBAC5D,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9D,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;gBACzB,qEAAqE;gBACrE,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7B,oEAAoE;gBACpE,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBACnC,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;wBAAE,SAAS;oBAC5C,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;wBAChD,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,sEAAsE;YACtE,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;oBACzB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC7B,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,uEAAuE;QACvE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAAE,SAAS;YAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC;gBAAE,SAAS;YAE5D,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,kBAAkB,IAAI,IAAI,KAAK,EAAE,CAAC;gBAEzD,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,OAAO,KAAK,cAAc;wBAAE,SAAS;oBACzC,sBAAsB,EAAE,CAAC;oBACzB,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CACF,iBAAiB,IAAI,IAAI,KAAK,uBAAuB,OAAO,gBAAgB,cAAc,mBAAmB,CAC9G,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;qBAAM,IAAI,GAAG,EAAE,CAAC;oBACf,iBAAiB,EAAE,CAAC;oBACpB,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,iBAAiB,IAAI,IAAI,KAAK,gDAAgD,CAAC,CAAC;oBACvF,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,WAAW,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,gFAAgF;QAChF,4EAA4E;QAC5E,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,EAAE;QACF,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,8EAA8E;QAC9E,2EAA2E;QAC3E,0EAA0E;QAC1E,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;oBAAE,SAAS,CAAC,2BAA2B;gBACxE,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,kBAAkB,IAAI,IAAI,KAAK,EAAE;oBAAE,SAAS,CAAC,4BAA4B;gBAC1G,IAAI,YAAY,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,sCAAsC;gBAC5E,gEAAgE;gBAChE,IAAI,CAAC;oBACH,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,6EAA6E;QAC7E,2EAA2E;QAC3E,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QACrF,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,kEAAkE;YAClE,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,+EAA+E;QAC/E,8EAA8E;QAC9E,yEAAyE;QACzE,IAAI,iBAAiB,GAAG,CAAC,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,6BAA6B,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,IAAI,sBAAsB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,CACF,iBAAiB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,0FAA0F,CAC7H,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAoB,EACpB,MAAqB,EACrB,UAAkB;IAElB,KAAK,kBAAkB,CACrB,IAAI,CAAC,eAAe,EACpB;QACE,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,YAAY;QACpB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YACpD,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,UAAU;YACV,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;YACpC,aAAa,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;SAC/D;KACF,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CACjC,CAAC;AACJ,CAAC"}
|
package/dist/cli/reindex.test.js
CHANGED
|
@@ -455,57 +455,136 @@ describe("reindex", () => {
|
|
|
455
455
|
// ...but unaffected work still happened: the skill wrapper + its symlink.
|
|
456
456
|
expect(fs.lstatSync(path.join(root, ".claude/skills/core:demo/SKILL.md")).isSymbolicLink()).toBe(true);
|
|
457
457
|
});
|
|
458
|
-
// --- session-log capture into workspace/.session-logs
|
|
458
|
+
// --- multi-harness session-log capture into workspace/.session-logs/<harness>/
|
|
459
459
|
describe("session-log capture", () => {
|
|
460
|
-
let
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
460
|
+
let claudeDir; // CLAUDE_CONFIG_DIR
|
|
461
|
+
let codexHome; // CODEX_HOME
|
|
462
|
+
let grokHome; // GROK_HOME
|
|
463
|
+
// Per-harness cwd encodings the harnesses actually use.
|
|
464
|
+
const claudeSlug = (p) => p.replace(/[^a-zA-Z0-9]/g, "-");
|
|
465
|
+
const grokKey = (p) => encodeURIComponent(p);
|
|
466
|
+
const dest = () => path.join(root, "workspace", ".session-logs");
|
|
464
467
|
beforeEach(() => {
|
|
465
|
-
|
|
466
|
-
|
|
468
|
+
claudeDir = fs.mkdtempSync(path.join(os.tmpdir(), "ms-claude-"));
|
|
469
|
+
codexHome = fs.mkdtempSync(path.join(os.tmpdir(), "ms-codex-"));
|
|
470
|
+
grokHome = fs.mkdtempSync(path.join(os.tmpdir(), "ms-grok-"));
|
|
471
|
+
process.env.CLAUDE_CONFIG_DIR = claudeDir;
|
|
472
|
+
process.env.CODEX_HOME = codexHome;
|
|
473
|
+
process.env.GROK_HOME = grokHome;
|
|
467
474
|
});
|
|
468
475
|
afterEach(() => {
|
|
469
|
-
|
|
476
|
+
for (const d of [claudeDir, codexHome, grokHome]) {
|
|
477
|
+
fs.rmSync(d, { recursive: true, force: true });
|
|
478
|
+
}
|
|
470
479
|
delete process.env.CLAUDE_CONFIG_DIR;
|
|
480
|
+
delete process.env.CODEX_HOME;
|
|
481
|
+
delete process.env.GROK_HOME;
|
|
471
482
|
});
|
|
472
|
-
|
|
473
|
-
|
|
483
|
+
// Seed a Claude project folder for cwd `cwdPath`, return its dest dir name.
|
|
484
|
+
function seedClaude(cwdPath, body = "claude\n") {
|
|
485
|
+
const name = claudeSlug(cwdPath);
|
|
486
|
+
const projDir = path.join(claudeDir, "projects", name);
|
|
474
487
|
fs.mkdirSync(path.join(projDir, "tool-results"), { recursive: true });
|
|
475
|
-
fs.writeFileSync(path.join(projDir, "session.jsonl"),
|
|
476
|
-
fs.writeFileSync(path.join(projDir, "tool-results", "r.txt"), "
|
|
477
|
-
return
|
|
488
|
+
fs.writeFileSync(path.join(projDir, "session.jsonl"), body);
|
|
489
|
+
fs.writeFileSync(path.join(projDir, "tool-results", "r.txt"), "res\n");
|
|
490
|
+
return name;
|
|
478
491
|
}
|
|
479
|
-
|
|
480
|
-
|
|
492
|
+
// Seed a Grok session folder for cwd `cwdPath`, return its dest dir name.
|
|
493
|
+
function seedGrok(cwdPath, body = "grok\n") {
|
|
494
|
+
const name = grokKey(cwdPath);
|
|
495
|
+
const sess = path.join(grokHome, "sessions", name, "uuid-1");
|
|
496
|
+
fs.mkdirSync(sess, { recursive: true });
|
|
497
|
+
fs.writeFileSync(path.join(sess, "chat_history.jsonl"), body);
|
|
498
|
+
return name;
|
|
499
|
+
}
|
|
500
|
+
// Seed a Codex rollout at YYYY/MM/DD/<file> whose session_meta records `cwd`.
|
|
501
|
+
function seedCodex(cwd, date, file) {
|
|
502
|
+
const [y, m, d] = date;
|
|
503
|
+
const dir = path.join(codexHome, "sessions", y, m, d);
|
|
504
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
505
|
+
const meta = JSON.stringify({ type: "session_meta", payload: { cwd } });
|
|
506
|
+
const event = JSON.stringify({ type: "event_msg", payload: { text: "hi" } });
|
|
507
|
+
const abs = path.join(dir, file);
|
|
508
|
+
fs.writeFileSync(abs, `${meta}\n${event}\n`);
|
|
509
|
+
return abs;
|
|
510
|
+
}
|
|
511
|
+
// ── Claude ──────────────────────────────────────────────────────────────
|
|
512
|
+
it("claude: captures the HQ-root project AND descendant projects under claude/", () => {
|
|
513
|
+
const rootName = seedClaude(root);
|
|
514
|
+
const subName = seedClaude(path.join(root, "workspace", "worktrees", "x"));
|
|
515
|
+
// An unrelated project (different root) must NOT be captured.
|
|
516
|
+
seedClaude("/some/other/place");
|
|
517
|
+
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
518
|
+
const c = path.join(dest(), "claude");
|
|
519
|
+
expect(fs.readFileSync(path.join(c, rootName, "session.jsonl"), "utf8")).toBe("claude\n");
|
|
520
|
+
expect(fs.existsSync(path.join(c, subName, "session.jsonl"))).toBe(true);
|
|
521
|
+
expect(fs.existsSync(path.join(c, claudeSlug("/some/other/place")))).toBe(false);
|
|
522
|
+
// Namespaced: claude logs are NOT dumped at the .session-logs root anymore.
|
|
523
|
+
expect(fs.existsSync(path.join(dest(), "session.jsonl"))).toBe(false);
|
|
524
|
+
});
|
|
525
|
+
it("claude: overwrites an existing dest file but never prunes dest-only entries", () => {
|
|
526
|
+
const rootName = seedClaude(root, "fresh\n");
|
|
527
|
+
const c = path.join(dest(), "claude");
|
|
528
|
+
fs.mkdirSync(path.join(c, rootName), { recursive: true });
|
|
529
|
+
fs.writeFileSync(path.join(c, rootName, "session.jsonl"), "STALE\n");
|
|
530
|
+
fs.writeFileSync(path.join(dest(), "orphan.txt"), "keep\n");
|
|
531
|
+
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
532
|
+
expect(fs.readFileSync(path.join(c, rootName, "session.jsonl"), "utf8")).toBe("fresh\n");
|
|
533
|
+
expect(fs.readFileSync(path.join(dest(), "orphan.txt"), "utf8")).toBe("keep\n");
|
|
534
|
+
});
|
|
535
|
+
// ── Grok ────────────────────────────────────────────────────────────────
|
|
536
|
+
it("grok: captures the HQ-root and descendant cwd folders under grok/, excludes others", () => {
|
|
537
|
+
const rootName = seedGrok(root);
|
|
538
|
+
const subName = seedGrok(path.join(root, "repos", "private", "x"));
|
|
539
|
+
seedGrok("/tmp/benchmark"); // unrelated cwd → excluded
|
|
540
|
+
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
541
|
+
const g = path.join(dest(), "grok");
|
|
542
|
+
expect(fs.readFileSync(path.join(g, rootName, "uuid-1", "chat_history.jsonl"), "utf8")).toBe("grok\n");
|
|
543
|
+
expect(fs.existsSync(path.join(g, subName, "uuid-1", "chat_history.jsonl"))).toBe(true);
|
|
544
|
+
expect(fs.existsSync(path.join(g, grokKey("/tmp/benchmark")))).toBe(false);
|
|
545
|
+
});
|
|
546
|
+
// ── Codex ───────────────────────────────────────────────────────────────
|
|
547
|
+
it("codex: captures rollouts whose recorded cwd is the HQ tree, mirroring the date path", () => {
|
|
548
|
+
seedCodex(root, ["2026", "07", "13"], "rollout-root.jsonl");
|
|
549
|
+
seedCodex(path.join(root, "workspace", "worktrees", "y"), ["2026", "07", "13"], "rollout-sub.jsonl");
|
|
550
|
+
seedCodex("/elsewhere/repo", ["2026", "07", "13"], "rollout-other.jsonl");
|
|
481
551
|
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
482
|
-
const
|
|
483
|
-
expect(fs.
|
|
484
|
-
expect(fs.
|
|
552
|
+
const cx = path.join(dest(), "codex", "2026", "07", "13");
|
|
553
|
+
expect(fs.existsSync(path.join(cx, "rollout-root.jsonl"))).toBe(true);
|
|
554
|
+
expect(fs.existsSync(path.join(cx, "rollout-sub.jsonl"))).toBe(true);
|
|
555
|
+
// A rollout run from outside the HQ tree is never captured (tenant scope).
|
|
556
|
+
expect(fs.existsSync(path.join(cx, "rollout-other.jsonl"))).toBe(false);
|
|
485
557
|
});
|
|
486
|
-
it("
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
558
|
+
it("codex: skips a rollout already captured and unchanged (mtime guard)", () => {
|
|
559
|
+
const src = seedCodex(root, ["2026", "07", "13"], "rollout-a.jsonl");
|
|
560
|
+
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
561
|
+
// Tamper the dest copy and push its mtime into the future; an unchanged
|
|
562
|
+
// src must be skipped, leaving the sentinel in place.
|
|
563
|
+
const destFile = path.join(dest(), "codex", "2026", "07", "13", "rollout-a.jsonl");
|
|
564
|
+
fs.writeFileSync(destFile, "SENTINEL\n");
|
|
565
|
+
const future = Date.now() / 1000 + 3600;
|
|
566
|
+
fs.utimesSync(destFile, future, future);
|
|
567
|
+
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
568
|
+
expect(fs.readFileSync(destFile, "utf8")).toBe("SENTINEL\n");
|
|
569
|
+
// But when the src is newer, it IS re-copied (overwriting the sentinel).
|
|
570
|
+
fs.writeFileSync(src, `${JSON.stringify({ type: "session_meta", payload: { cwd: root } })}\nNEW\n`);
|
|
571
|
+
const soon = Date.now() / 1000 + 7200;
|
|
572
|
+
fs.utimesSync(src, soon, soon);
|
|
491
573
|
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
492
|
-
expect(fs.readFileSync(
|
|
574
|
+
expect(fs.readFileSync(destFile, "utf8")).toContain("NEW");
|
|
493
575
|
});
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
fs.writeFileSync(path.join(dest, "orphan.txt"), "orphan\n");
|
|
576
|
+
// ── Cross-harness ─────────────────────────────────────────────────────────
|
|
577
|
+
it("all three harnesses land side-by-side under their own subfolders", () => {
|
|
578
|
+
seedClaude(root);
|
|
579
|
+
seedGrok(root);
|
|
580
|
+
seedCodex(root, ["2026", "07", "14"], "rollout-z.jsonl");
|
|
500
581
|
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
501
|
-
|
|
502
|
-
expect(fs.existsSync(path.join(dest, "
|
|
503
|
-
|
|
504
|
-
expect(fs.readFileSync(path.join(dest, "old-run", "keep.jsonl"), "utf8")).toBe("keep\n");
|
|
505
|
-
expect(fs.readFileSync(path.join(dest, "orphan.txt"), "utf8")).toBe("orphan\n");
|
|
582
|
+
expect(fs.existsSync(path.join(dest(), "claude", claudeSlug(root), "session.jsonl"))).toBe(true);
|
|
583
|
+
expect(fs.existsSync(path.join(dest(), "grok", grokKey(root), "uuid-1", "chat_history.jsonl"))).toBe(true);
|
|
584
|
+
expect(fs.existsSync(path.join(dest(), "codex", "2026", "07", "14", "rollout-z.jsonl"))).toBe(true);
|
|
506
585
|
});
|
|
507
|
-
it("no-ops (still exit 0) when
|
|
508
|
-
//
|
|
586
|
+
it("no-ops (still exit 0) when no harness has logs for this root", () => {
|
|
587
|
+
// Home dirs exist but are empty → nothing to capture, no dest created.
|
|
509
588
|
expect(reindex({ repoRoot: root }).status).toBe(0);
|
|
510
589
|
expect(fs.existsSync(path.join(root, "workspace", ".session-logs"))).toBe(false);
|
|
511
590
|
});
|