structx 1.0.0 → 2.0.0
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/README.md +72 -0
- package/dist/cli.js +88 -205
- package/dist/cli.js.map +1 -1
- package/dist/db/connection.js +28 -1
- package/dist/db/connection.js.map +1 -1
- package/dist/db/queries.d.ts +125 -0
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +224 -6
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +59 -0
- package/dist/ingest/constant-extractor.d.ts +11 -0
- package/dist/ingest/constant-extractor.d.ts.map +1 -0
- package/dist/ingest/constant-extractor.js +38 -0
- package/dist/ingest/constant-extractor.js.map +1 -0
- package/dist/ingest/file-metadata.d.ts +13 -0
- package/dist/ingest/file-metadata.d.ts.map +1 -0
- package/dist/ingest/file-metadata.js +55 -0
- package/dist/ingest/file-metadata.js.map +1 -0
- package/dist/ingest/ingester.d.ts +15 -0
- package/dist/ingest/ingester.d.ts.map +1 -0
- package/dist/ingest/ingester.js +217 -0
- package/dist/ingest/ingester.js.map +1 -0
- package/dist/ingest/parser.d.ts +12 -0
- package/dist/ingest/parser.d.ts.map +1 -1
- package/dist/ingest/parser.js +48 -0
- package/dist/ingest/parser.js.map +1 -1
- package/dist/ingest/route-extractor.d.ts +12 -0
- package/dist/ingest/route-extractor.d.ts.map +1 -0
- package/dist/ingest/route-extractor.js +64 -0
- package/dist/ingest/route-extractor.js.map +1 -0
- package/dist/ingest/type-extractor.d.ts +11 -0
- package/dist/ingest/type-extractor.d.ts.map +1 -0
- package/dist/ingest/type-extractor.js +47 -0
- package/dist/ingest/type-extractor.js.map +1 -0
- package/dist/instructions/codex.md +42 -0
- package/dist/query/answerer.d.ts.map +1 -1
- package/dist/query/answerer.js +6 -2
- package/dist/query/answerer.js.map +1 -1
- package/dist/query/classifier.d.ts +6 -1
- package/dist/query/classifier.d.ts.map +1 -1
- package/dist/query/classifier.js +22 -2
- package/dist/query/classifier.js.map +1 -1
- package/dist/query/context-builder.d.ts.map +1 -1
- package/dist/query/context-builder.js +152 -6
- package/dist/query/context-builder.js.map +1 -1
- package/dist/query/retriever.d.ts +44 -0
- package/dist/query/retriever.d.ts.map +1 -1
- package/dist/query/retriever.js +211 -14
- package/dist/query/retriever.js.map +1 -1
- package/dist/semantic/analyzer.d.ts +10 -0
- package/dist/semantic/analyzer.d.ts.map +1 -1
- package/dist/semantic/analyzer.js +147 -1
- package/dist/semantic/analyzer.js.map +1 -1
- package/dist/semantic/prompt.d.ts +21 -0
- package/dist/semantic/prompt.d.ts.map +1 -1
- package/dist/semantic/prompt.js +63 -0
- package/dist/semantic/prompt.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# StructX
|
|
2
|
+
|
|
3
|
+
Graph-powered code intelligence for TypeScript. Drop into any project and let AI agents (Claude Code, Cursor, Copilot) use a function-level knowledge graph instead of reading raw files.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
Two commands to set up any TypeScript project:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 1. Install AI agent instruction files into your project
|
|
11
|
+
npx structx install .
|
|
12
|
+
|
|
13
|
+
# 2. Bootstrap the function graph (init + ingest + analyze)
|
|
14
|
+
ANTHROPIC_API_KEY=your-key npx structx setup .
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
That's it. Your AI agent will now automatically use StructX when it reads the instruction files.
|
|
18
|
+
|
|
19
|
+
## What Happens
|
|
20
|
+
|
|
21
|
+
**Step 1 — `npx structx install .`** creates these files in your project:
|
|
22
|
+
|
|
23
|
+
| File | For |
|
|
24
|
+
|------|-----|
|
|
25
|
+
| `CLAUDE.md` | Claude Code |
|
|
26
|
+
| `.cursorrules` | Cursor |
|
|
27
|
+
| `.github/copilot-instructions.md` | GitHub Copilot |
|
|
28
|
+
|
|
29
|
+
If any of these files already exist, StructX appends its section instead of overwriting.
|
|
30
|
+
|
|
31
|
+
**Step 2 — `npx structx setup .`** does three things in one shot:
|
|
32
|
+
|
|
33
|
+
1. **Init** — creates `.structx/` directory with a SQLite database
|
|
34
|
+
2. **Ingest** — parses all TypeScript files into a function graph (signatures, call relationships, exports)
|
|
35
|
+
3. **Analyze** — enriches each function with semantic metadata via LLM (purpose, behavior, tags)
|
|
36
|
+
|
|
37
|
+
## Requirements
|
|
38
|
+
|
|
39
|
+
- Node.js >= 18
|
|
40
|
+
- An Anthropic API key (set as `ANTHROPIC_API_KEY` environment variable)
|
|
41
|
+
|
|
42
|
+
## How AI Agents Use It
|
|
43
|
+
|
|
44
|
+
Once installed, the instruction files tell your AI agent to:
|
|
45
|
+
|
|
46
|
+
1. Run `npx structx status` on session start to check the graph
|
|
47
|
+
2. Run `npx structx ask "question" --repo .` before answering code questions
|
|
48
|
+
3. Run `npx structx ingest .` after making code changes
|
|
49
|
+
4. Run `npx structx analyze . --yes` after ingestion queues new functions
|
|
50
|
+
5. Run `npx structx ask "what breaks if I change X" --repo .` for impact analysis
|
|
51
|
+
|
|
52
|
+
## All Commands
|
|
53
|
+
|
|
54
|
+
| Command | Description |
|
|
55
|
+
|---------|-------------|
|
|
56
|
+
| `npx structx install .` | Drop instruction files into your project |
|
|
57
|
+
| `npx structx setup .` | One-step bootstrap (init + ingest + analyze) |
|
|
58
|
+
| `npx structx status` | Show graph stats |
|
|
59
|
+
| `npx structx ingest .` | Re-parse codebase after changes |
|
|
60
|
+
| `npx structx analyze . --yes` | Run semantic analysis on new/changed functions |
|
|
61
|
+
| `npx structx ask "question" --repo .` | Query the function graph |
|
|
62
|
+
| `npx structx doctor` | Validate environment and configuration |
|
|
63
|
+
|
|
64
|
+
## .gitignore
|
|
65
|
+
|
|
66
|
+
Add this to your `.gitignore`:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
.structx/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The `.structx/` directory contains the SQLite database and is local to each developer.
|
package/dist/cli.js
CHANGED
|
@@ -42,10 +42,6 @@ const config_1 = require("./config");
|
|
|
42
42
|
const connection_1 = require("./db/connection");
|
|
43
43
|
const queries_1 = require("./db/queries");
|
|
44
44
|
const logger_1 = require("./utils/logger");
|
|
45
|
-
const scanner_1 = require("./ingest/scanner");
|
|
46
|
-
const parser_1 = require("./ingest/parser");
|
|
47
|
-
const relationships_1 = require("./ingest/relationships");
|
|
48
|
-
const differ_1 = require("./ingest/differ");
|
|
49
45
|
const analyzer_1 = require("./semantic/analyzer");
|
|
50
46
|
const cost_1 = require("./semantic/cost");
|
|
51
47
|
const queries_2 = require("./db/queries");
|
|
@@ -55,6 +51,7 @@ const context_builder_1 = require("./query/context-builder");
|
|
|
55
51
|
const answerer_1 = require("./query/answerer");
|
|
56
52
|
const runner_1 = require("./benchmark/runner");
|
|
57
53
|
const reporter_1 = require("./benchmark/reporter");
|
|
54
|
+
const ingester_1 = require("./ingest/ingester");
|
|
58
55
|
const program = new commander_1.Command();
|
|
59
56
|
program
|
|
60
57
|
.name('structx')
|
|
@@ -88,101 +85,11 @@ program
|
|
|
88
85
|
// Step 2: Ingest
|
|
89
86
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
90
87
|
const db = (0, connection_1.openDatabase)(dbPath);
|
|
91
|
-
const project = (0, parser_1.createProject)(resolved);
|
|
92
88
|
console.log(`\nScanning ${resolved} for TypeScript files...`);
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
let newFiles = 0;
|
|
96
|
-
let changedFiles = 0;
|
|
97
|
-
let unchangedFiles = 0;
|
|
98
|
-
let totalFunctions = 0;
|
|
99
|
-
let totalRelationships = 0;
|
|
100
|
-
let queued = 0;
|
|
101
|
-
for (const filePath of files) {
|
|
102
|
-
const relativePath = path.relative(resolved, filePath);
|
|
103
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
104
|
-
const contentHash = (0, parser_1.hashFileContent)(content);
|
|
105
|
-
const existingFile = (0, queries_1.getFileByPath)(db, relativePath);
|
|
106
|
-
if (existingFile && existingFile.content_hash === contentHash) {
|
|
107
|
-
unchangedFiles++;
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
const isNew = !existingFile;
|
|
111
|
-
if (isNew)
|
|
112
|
-
newFiles++;
|
|
113
|
-
else
|
|
114
|
-
changedFiles++;
|
|
115
|
-
const fileId = (0, queries_1.upsertFile)(db, relativePath, contentHash);
|
|
116
|
-
const oldFunctions = isNew ? [] : (0, queries_1.getFunctionsByFileId)(db, fileId);
|
|
117
|
-
const oldFunctionMap = new Map(oldFunctions.map(f => [f.name, f]));
|
|
118
|
-
if (!isNew) {
|
|
119
|
-
for (const oldFn of oldFunctions) {
|
|
120
|
-
(0, queries_1.deleteRelationshipsByCallerFunctionId)(db, oldFn.id);
|
|
121
|
-
}
|
|
122
|
-
(0, queries_1.deleteFunctionsByFileId)(db, fileId);
|
|
123
|
-
}
|
|
124
|
-
let functions;
|
|
125
|
-
try {
|
|
126
|
-
functions = (0, parser_1.parseFile)(project, filePath);
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
logger_1.logger.warn(`Failed to parse ${relativePath}: ${err.message}`);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
const functionIdMap = new Map();
|
|
133
|
-
for (const fn of functions) {
|
|
134
|
-
const fnId = (0, queries_1.insertFunction)(db, {
|
|
135
|
-
file_id: fileId,
|
|
136
|
-
name: fn.name,
|
|
137
|
-
signature: fn.signature,
|
|
138
|
-
body: fn.body,
|
|
139
|
-
code_hash: fn.codeHash,
|
|
140
|
-
start_line: fn.startLine,
|
|
141
|
-
end_line: fn.endLine,
|
|
142
|
-
is_exported: fn.isExported,
|
|
143
|
-
is_async: fn.isAsync,
|
|
144
|
-
});
|
|
145
|
-
functionIdMap.set(fn.name, fnId);
|
|
146
|
-
totalFunctions++;
|
|
147
|
-
const oldFn = oldFunctionMap.get(fn.name);
|
|
148
|
-
if (!oldFn) {
|
|
149
|
-
(0, queries_1.enqueueForAnalysis)(db, fnId, 'new', (0, differ_1.getPriority)('new', fn.isExported));
|
|
150
|
-
queued++;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
const { reanalyze, reason } = (0, differ_1.shouldReanalyze)(oldFn, fn.signature, fn.codeHash, fn.body, config.diffThreshold);
|
|
154
|
-
if (reanalyze) {
|
|
155
|
-
(0, queries_1.enqueueForAnalysis)(db, fnId, reason, (0, differ_1.getPriority)(reason, fn.isExported));
|
|
156
|
-
queued++;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
try {
|
|
161
|
-
const calls = (0, relationships_1.extractCallsFromFile)(project, filePath);
|
|
162
|
-
for (const call of calls) {
|
|
163
|
-
if (call.callerName === '__file__')
|
|
164
|
-
continue;
|
|
165
|
-
const callerId = functionIdMap.get(call.callerName);
|
|
166
|
-
if (!callerId)
|
|
167
|
-
continue;
|
|
168
|
-
const callee = (0, queries_1.getFunctionByName)(db, call.calleeName);
|
|
169
|
-
(0, queries_1.insertRelationship)(db, callerId, call.calleeName, call.relationType, callee?.id);
|
|
170
|
-
totalRelationships++;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch (err) {
|
|
174
|
-
logger_1.logger.warn(`Failed to extract calls from ${relativePath}: ${err.message}`);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
console.log(`\nIngestion complete:`);
|
|
178
|
-
console.log(` New files: ${newFiles}`);
|
|
179
|
-
console.log(` Changed files: ${changedFiles}`);
|
|
180
|
-
console.log(` Unchanged: ${unchangedFiles}`);
|
|
181
|
-
console.log(` Functions: ${totalFunctions}`);
|
|
182
|
-
console.log(` Relationships: ${totalRelationships}`);
|
|
183
|
-
console.log(` Queued: ${queued} functions for semantic analysis`);
|
|
89
|
+
const ingestResult = (0, ingester_1.ingestDirectory)(db, resolved, config.diffThreshold);
|
|
90
|
+
(0, ingester_1.printIngestResult)(ingestResult);
|
|
184
91
|
// Step 3: Analyze (auto-confirm)
|
|
185
|
-
if (queued > 0 && config.anthropicApiKey) {
|
|
92
|
+
if (ingestResult.queued > 0 && config.anthropicApiKey) {
|
|
186
93
|
const pendingCount = (0, queries_2.getPendingAnalysisCount)(db);
|
|
187
94
|
const estimate = (0, cost_1.estimateAnalysisCost)(pendingCount, config.batchSize, config.analysisModel);
|
|
188
95
|
console.log('\n' + (0, cost_1.formatCostEstimate)(estimate));
|
|
@@ -209,19 +116,47 @@ program
|
|
|
209
116
|
totalOutputTokens += batchResult.totalOutputTokens;
|
|
210
117
|
totalCost += batchResult.totalCost;
|
|
211
118
|
}
|
|
119
|
+
// Analyze types, routes, and file summaries
|
|
120
|
+
console.log('\n Analyzing types, routes, and file summaries...');
|
|
121
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, config.anthropicApiKey);
|
|
122
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, config.anthropicApiKey);
|
|
123
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, config.anthropicApiKey);
|
|
124
|
+
totalAnalyzed += typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
125
|
+
totalFailed += typeResult.failed + routeResult.failed + fileResult.failed;
|
|
126
|
+
totalInputTokens += typeResult.totalInputTokens + routeResult.totalInputTokens + fileResult.totalInputTokens;
|
|
127
|
+
totalOutputTokens += typeResult.totalOutputTokens + routeResult.totalOutputTokens + fileResult.totalOutputTokens;
|
|
128
|
+
totalCost += typeResult.totalCost + routeResult.totalCost + fileResult.totalCost;
|
|
212
129
|
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
213
130
|
console.log(`\nAnalysis complete:`);
|
|
214
|
-
console.log(`
|
|
131
|
+
console.log(` Functions: ${totalAnalyzed - typeResult.analyzed - routeResult.analyzed - fileResult.analyzed}`);
|
|
132
|
+
console.log(` Types: ${typeResult.analyzed}`);
|
|
133
|
+
console.log(` Routes: ${routeResult.analyzed}`);
|
|
134
|
+
console.log(` Files: ${fileResult.analyzed}`);
|
|
215
135
|
console.log(` From cache: ${totalCached}`);
|
|
216
136
|
console.log(` Failed: ${totalFailed}`);
|
|
217
137
|
console.log(` Input tokens: ${totalInputTokens.toLocaleString()}`);
|
|
218
138
|
console.log(` Output tokens: ${totalOutputTokens.toLocaleString()}`);
|
|
219
139
|
console.log(` Total cost: $${totalCost.toFixed(4)}`);
|
|
220
140
|
}
|
|
221
|
-
else if (queued > 0) {
|
|
141
|
+
else if (ingestResult.queued > 0) {
|
|
222
142
|
console.log('\nSkipping analysis: ANTHROPIC_API_KEY not set.');
|
|
223
143
|
console.log('Set the key and run "structx analyze . --yes" to enrich functions.');
|
|
224
144
|
}
|
|
145
|
+
else if (config.anthropicApiKey) {
|
|
146
|
+
// Still analyze types/routes/files even if no new functions
|
|
147
|
+
console.log('\nAnalyzing types, routes, and file summaries...');
|
|
148
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, config.anthropicApiKey);
|
|
149
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, config.anthropicApiKey);
|
|
150
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, config.anthropicApiKey);
|
|
151
|
+
const entityCount = typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
152
|
+
if (entityCount > 0) {
|
|
153
|
+
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
154
|
+
console.log(` Analyzed ${entityCount} entities (${typeResult.analyzed} types, ${routeResult.analyzed} routes, ${fileResult.analyzed} files)`);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
console.log('No entities to analyze.');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
225
160
|
else {
|
|
226
161
|
console.log('\nNo functions to analyze.');
|
|
227
162
|
}
|
|
@@ -303,6 +238,25 @@ program
|
|
|
303
238
|
console.log(' .github/copilot-instructions.md — created.');
|
|
304
239
|
installed++;
|
|
305
240
|
}
|
|
241
|
+
// AGENTS.md (OpenAI Codex)
|
|
242
|
+
const agentsMdPath = path.join(resolved, 'AGENTS.md');
|
|
243
|
+
const codexContent = fs.readFileSync(path.join(instructionsDir, 'codex.md'), 'utf-8');
|
|
244
|
+
if (fs.existsSync(agentsMdPath)) {
|
|
245
|
+
const existing = fs.readFileSync(agentsMdPath, 'utf-8');
|
|
246
|
+
if (existing.includes('StructX')) {
|
|
247
|
+
console.log(' AGENTS.md — already contains StructX section, skipping.');
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
fs.appendFileSync(agentsMdPath, '\n\n' + codexContent, 'utf-8');
|
|
251
|
+
console.log(' AGENTS.md — appended StructX section.');
|
|
252
|
+
installed++;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
fs.writeFileSync(agentsMdPath, codexContent, 'utf-8');
|
|
257
|
+
console.log(' AGENTS.md — created.');
|
|
258
|
+
installed++;
|
|
259
|
+
}
|
|
306
260
|
console.log(`\nInstalled ${installed} instruction file(s) into ${resolved}`);
|
|
307
261
|
});
|
|
308
262
|
// ── init ──
|
|
@@ -350,6 +304,9 @@ program
|
|
|
350
304
|
console.log('──────────────────────────');
|
|
351
305
|
console.log(` Files: ${stats.totalFiles}`);
|
|
352
306
|
console.log(` Functions: ${stats.totalFunctions}`);
|
|
307
|
+
console.log(` Types: ${stats.totalTypes}`);
|
|
308
|
+
console.log(` Routes: ${stats.totalRoutes}`);
|
|
309
|
+
console.log(` Constants: ${stats.totalConstants}`);
|
|
353
310
|
console.log(` Relationships: ${stats.totalRelationships}`);
|
|
354
311
|
console.log(` Analyzed: ${stats.analyzedFunctions} / ${stats.totalFunctions}`);
|
|
355
312
|
console.log(` Pending: ${stats.pendingAnalysis}`);
|
|
@@ -430,112 +387,11 @@ program
|
|
|
430
387
|
}
|
|
431
388
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
432
389
|
const db = (0, connection_1.openDatabase)(dbPath);
|
|
433
|
-
const project = (0, parser_1.createProject)(resolved);
|
|
434
390
|
console.log(`Scanning ${resolved} for TypeScript files...`);
|
|
435
|
-
const
|
|
436
|
-
|
|
437
|
-
let newFiles = 0;
|
|
438
|
-
let changedFiles = 0;
|
|
439
|
-
let unchangedFiles = 0;
|
|
440
|
-
let totalFunctions = 0;
|
|
441
|
-
let totalRelationships = 0;
|
|
442
|
-
let queued = 0;
|
|
443
|
-
for (const filePath of files) {
|
|
444
|
-
const relativePath = path.relative(resolved, filePath);
|
|
445
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
446
|
-
const contentHash = (0, parser_1.hashFileContent)(content);
|
|
447
|
-
// Check if file changed
|
|
448
|
-
const existingFile = (0, queries_1.getFileByPath)(db, relativePath);
|
|
449
|
-
if (existingFile && existingFile.content_hash === contentHash) {
|
|
450
|
-
unchangedFiles++;
|
|
451
|
-
continue;
|
|
452
|
-
}
|
|
453
|
-
const isNew = !existingFile;
|
|
454
|
-
if (isNew)
|
|
455
|
-
newFiles++;
|
|
456
|
-
else
|
|
457
|
-
changedFiles++;
|
|
458
|
-
// Upsert file record
|
|
459
|
-
const fileId = (0, queries_1.upsertFile)(db, relativePath, contentHash);
|
|
460
|
-
// Get old functions for diff comparison
|
|
461
|
-
const oldFunctions = isNew ? [] : (0, queries_1.getFunctionsByFileId)(db, fileId);
|
|
462
|
-
const oldFunctionMap = new Map(oldFunctions.map(f => [f.name, f]));
|
|
463
|
-
// Clear old data for this file
|
|
464
|
-
if (!isNew) {
|
|
465
|
-
// Delete relationships for all old functions in this file
|
|
466
|
-
for (const oldFn of oldFunctions) {
|
|
467
|
-
(0, queries_1.deleteRelationshipsByCallerFunctionId)(db, oldFn.id);
|
|
468
|
-
}
|
|
469
|
-
(0, queries_1.deleteFunctionsByFileId)(db, fileId);
|
|
470
|
-
}
|
|
471
|
-
// Parse functions
|
|
472
|
-
let functions;
|
|
473
|
-
try {
|
|
474
|
-
functions = (0, parser_1.parseFile)(project, filePath);
|
|
475
|
-
}
|
|
476
|
-
catch (err) {
|
|
477
|
-
logger_1.logger.warn(`Failed to parse ${relativePath}: ${err.message}`);
|
|
478
|
-
continue;
|
|
479
|
-
}
|
|
480
|
-
// Insert functions and check for re-analysis needs
|
|
481
|
-
const functionIdMap = new Map();
|
|
482
|
-
for (const fn of functions) {
|
|
483
|
-
const fnId = (0, queries_1.insertFunction)(db, {
|
|
484
|
-
file_id: fileId,
|
|
485
|
-
name: fn.name,
|
|
486
|
-
signature: fn.signature,
|
|
487
|
-
body: fn.body,
|
|
488
|
-
code_hash: fn.codeHash,
|
|
489
|
-
start_line: fn.startLine,
|
|
490
|
-
end_line: fn.endLine,
|
|
491
|
-
is_exported: fn.isExported,
|
|
492
|
-
is_async: fn.isAsync,
|
|
493
|
-
});
|
|
494
|
-
functionIdMap.set(fn.name, fnId);
|
|
495
|
-
totalFunctions++;
|
|
496
|
-
// Determine if we need semantic re-analysis
|
|
497
|
-
const oldFn = oldFunctionMap.get(fn.name);
|
|
498
|
-
if (!oldFn) {
|
|
499
|
-
// New function — queue for analysis
|
|
500
|
-
(0, queries_1.enqueueForAnalysis)(db, fnId, 'new', (0, differ_1.getPriority)('new', fn.isExported));
|
|
501
|
-
queued++;
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
const { reanalyze, reason } = (0, differ_1.shouldReanalyze)(oldFn, fn.signature, fn.codeHash, fn.body, config.diffThreshold);
|
|
505
|
-
if (reanalyze) {
|
|
506
|
-
(0, queries_1.enqueueForAnalysis)(db, fnId, reason, (0, differ_1.getPriority)(reason, fn.isExported));
|
|
507
|
-
queued++;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
// Extract and insert relationships
|
|
512
|
-
try {
|
|
513
|
-
const calls = (0, relationships_1.extractCallsFromFile)(project, filePath);
|
|
514
|
-
for (const call of calls) {
|
|
515
|
-
if (call.callerName === '__file__')
|
|
516
|
-
continue; // Skip file-level imports for now
|
|
517
|
-
const callerId = functionIdMap.get(call.callerName);
|
|
518
|
-
if (!callerId)
|
|
519
|
-
continue;
|
|
520
|
-
// Try to resolve callee to a function ID
|
|
521
|
-
const callee = (0, queries_1.getFunctionByName)(db, call.calleeName);
|
|
522
|
-
(0, queries_1.insertRelationship)(db, callerId, call.calleeName, call.relationType, callee?.id);
|
|
523
|
-
totalRelationships++;
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
catch (err) {
|
|
527
|
-
logger_1.logger.warn(`Failed to extract calls from ${relativePath}: ${err.message}`);
|
|
528
|
-
}
|
|
529
|
-
}
|
|
391
|
+
const ingestResult = (0, ingester_1.ingestDirectory)(db, resolved, config.diffThreshold);
|
|
392
|
+
(0, ingester_1.printIngestResult)(ingestResult);
|
|
530
393
|
db.close();
|
|
531
|
-
|
|
532
|
-
console.log(` New files: ${newFiles}`);
|
|
533
|
-
console.log(` Changed files: ${changedFiles}`);
|
|
534
|
-
console.log(` Unchanged: ${unchangedFiles}`);
|
|
535
|
-
console.log(` Functions: ${totalFunctions}`);
|
|
536
|
-
console.log(` Relationships: ${totalRelationships}`);
|
|
537
|
-
console.log(` Queued: ${queued} functions for semantic analysis`);
|
|
538
|
-
if (queued > 0) {
|
|
394
|
+
if (ingestResult.queued > 0) {
|
|
539
395
|
console.log(`\nNext: run 'structx analyze' to enrich functions with semantic metadata.`);
|
|
540
396
|
}
|
|
541
397
|
});
|
|
@@ -604,11 +460,21 @@ program
|
|
|
604
460
|
totalOutputTokens += batchResult.totalOutputTokens;
|
|
605
461
|
totalCost += batchResult.totalCost;
|
|
606
462
|
}
|
|
463
|
+
// Analyze types, routes, and file summaries
|
|
464
|
+
console.log('\n Analyzing types, routes, and file summaries...');
|
|
465
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, config.anthropicApiKey);
|
|
466
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, config.anthropicApiKey);
|
|
467
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, config.anthropicApiKey);
|
|
468
|
+
totalAnalyzed += typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
469
|
+
totalFailed += typeResult.failed + routeResult.failed + fileResult.failed;
|
|
470
|
+
totalInputTokens += typeResult.totalInputTokens + routeResult.totalInputTokens + fileResult.totalInputTokens;
|
|
471
|
+
totalOutputTokens += typeResult.totalOutputTokens + routeResult.totalOutputTokens + fileResult.totalOutputTokens;
|
|
472
|
+
totalCost += typeResult.totalCost + routeResult.totalCost + fileResult.totalCost;
|
|
607
473
|
// Rebuild FTS index
|
|
608
474
|
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
609
475
|
db.close();
|
|
610
476
|
console.log(`\nAnalysis complete:`);
|
|
611
|
-
console.log(` Analyzed: ${totalAnalyzed}`);
|
|
477
|
+
console.log(` Analyzed: ${totalAnalyzed} (incl. ${typeResult.analyzed} types, ${routeResult.analyzed} routes, ${fileResult.analyzed} files)`);
|
|
612
478
|
console.log(` From cache: ${totalCached}`);
|
|
613
479
|
console.log(` Failed: ${totalFailed}`);
|
|
614
480
|
console.log(` Input tokens: ${totalInputTokens.toLocaleString()}`);
|
|
@@ -660,6 +526,21 @@ program
|
|
|
660
526
|
case 'impact':
|
|
661
527
|
retrieved = (0, retriever_1.impactAnalysis)(db, classification.functionName || '');
|
|
662
528
|
break;
|
|
529
|
+
case 'route':
|
|
530
|
+
retrieved = (0, retriever_1.routeQuery)(db, classification.routePath, classification.routeMethod);
|
|
531
|
+
break;
|
|
532
|
+
case 'type':
|
|
533
|
+
retrieved = (0, retriever_1.typeQuery)(db, classification.typeName || classification.keywords.join(' '));
|
|
534
|
+
break;
|
|
535
|
+
case 'file':
|
|
536
|
+
retrieved = (0, retriever_1.fileQuery)(db, classification.filePath);
|
|
537
|
+
break;
|
|
538
|
+
case 'list':
|
|
539
|
+
retrieved = (0, retriever_1.listQuery)(db, classification.listEntity);
|
|
540
|
+
break;
|
|
541
|
+
case 'pattern':
|
|
542
|
+
retrieved = (0, retriever_1.patternQuery)(db, classification.keywords);
|
|
543
|
+
break;
|
|
663
544
|
default:
|
|
664
545
|
retrieved = (0, retriever_1.semanticSearch)(db, classification.keywords);
|
|
665
546
|
}
|
|
@@ -670,10 +551,12 @@ program
|
|
|
670
551
|
console.log('Generating answer...\n');
|
|
671
552
|
const answerResult = await (0, answerer_1.generateAnswer)(question, context, config.answerModel, config.anthropicApiKey);
|
|
672
553
|
// Display answer
|
|
554
|
+
const entityCount = retrieved.functions.length + retrieved.types.length +
|
|
555
|
+
retrieved.routes.length + retrieved.files.length + retrieved.constants.length;
|
|
673
556
|
console.log('─'.repeat(60));
|
|
674
557
|
console.log(answerResult.answer);
|
|
675
558
|
console.log('─'.repeat(60));
|
|
676
|
-
console.log(`\nStrategy: ${classification.strategy} |
|
|
559
|
+
console.log(`\nStrategy: ${classification.strategy} | Entities: ${entityCount} | Graph query: ${graphQueryTimeMs}ms`);
|
|
677
560
|
console.log(`Tokens: ${answerResult.inputTokens} in / ${answerResult.outputTokens} out | Cost: $${answerResult.cost.toFixed(4)} | Time: ${answerResult.responseTimeMs}ms`);
|
|
678
561
|
// Save run to DB
|
|
679
562
|
(0, queries_2.insertQaRun)(db, {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yBAAuB;AACvB,yCAAoC;AACpC,2CAA6B;AAC7B,uCAAyB;AACzB,qCAAiE;AACjE,gDAA8E;AAC9E,0CAAwC;AACxC,2CAAqD;AACrD,kDAA0H;AAC1H,0CAA2E;AAC3E,0CAAwF;AACxF,mDAAsD;AACtD,iDAA4K;AAC5K,6DAAuD;AACvD,+CAAkD;AAClD,+CAAkD;AAClD,mDAA6F;AAC7F,gDAAuE;AAEvE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,oDAAoD,CAAC;KACjE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;KAC7C,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAA,oBAAW,EAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mCAAmC;AACnC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAE3C,eAAe;IACf,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;QACtC,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,IAAA,mBAAU,EAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,0BAA0B,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACzE,IAAA,4BAAiB,EAAC,YAAY,CAAC,CAAC;IAEhC,iCAAiC;IACjC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAA,iCAAuB,EAAC,EAAE,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAA,2BAAoB,EAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAkB,EAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE9B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAEhC,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YAEhG,aAAa,IAAI,WAAW,CAAC,QAAQ,CAAC;YACtC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAClC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAClC,gBAAgB,IAAI,WAAW,CAAC,gBAAgB,CAAC;YACjD,iBAAiB,IAAI,WAAW,CAAC,iBAAiB,CAAC;YACnD,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC;QACrC,CAAC;QAED,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAa,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAoB,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEhG,aAAa,IAAI,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAClF,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC1E,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAC7G,iBAAiB,IAAI,UAAU,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACjH,SAAS,IAAI,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAEjF,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,GAAG,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrH,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IACpF,CAAC;SAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAClC,4DAA4D;QAC5D,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAa,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAoB,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,cAAc,UAAU,CAAC,QAAQ,WAAW,WAAW,CAAC,QAAQ,YAAY,UAAU,CAAC,QAAQ,SAAS,CAAC,CAAC;QACjJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,sDAAsD;AACtD,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mDAAmD,CAAC;KAChE,QAAQ,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC;KACtD,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1F,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,8CAA8C;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,SAAS,EAAE,CAAC;IACd,CAAC;IAED,eAAe;IACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,SAAS,EAAE,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,SAAS,EAAE,CAAC;IACd,CAAC;IAED,2BAA2B;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IACtF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,6BAA6B,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEL,aAAa;AACb,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,YAAY;IACZ,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;IACtC,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,gBAAgB;IAChB,IAAA,mBAAU,EAAC,UAAU,EAAE;QACrB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,2BAA2B,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,EAAE,CAAC,CAAC;IAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,iBAAiB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,qBAAqB;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,mBAAmB,CAAC,CAAC;QAChE,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,eAAe;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;QAEtC,gBAAgB;QAChB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YACnG,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,kBAAkB;QAClB,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,0BAA0B,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACzE,IAAA,4BAAiB,EAAC,YAAY,CAAC,CAAC;IAEhC,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,OAAO,EAAE,+BAA+B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAuB,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;QACvG,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,IAAA,iCAAuB,EAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAA,2BAAoB,EAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAkB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;YACjD,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE9B,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAEhC,QAAQ,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE3E,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEhG,aAAa,IAAI,WAAW,CAAC,QAAQ,CAAC;QACtC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;QAClC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;QAClC,gBAAgB,IAAI,WAAW,CAAC,gBAAgB,CAAC;QACjD,iBAAiB,IAAI,WAAW,CAAC,iBAAiB,CAAC;QACnD,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAa,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAoB,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAEhG,aAAa,IAAI,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAClF,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC1E,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAC7G,iBAAiB,IAAI,UAAU,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACjH,SAAS,IAAI,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IAEjF,oBAAoB;IACpB,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAC;IACvB,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,WAAW,UAAU,CAAC,QAAQ,WAAW,WAAW,CAAC,QAAQ,YAAY,UAAU,CAAC,QAAQ,SAAS,CAAC,CAAC;IACrJ,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEL,YAAY;AACZ,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,mCAAmC,CAAC;KAChD,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC7C,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAsB,EAAE,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;QACvG,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAgB,EAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACxG,eAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAqB,CAAC,CAAC;IAEtD,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,CAAC,QAAQ,MAAM,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,IAAI,SAAS,CAAC;IAEd,QAAQ,cAAc,CAAC,QAAQ,EAAE,CAAC;QAChC,KAAK,QAAQ;YACX,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,EAAE,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,cAAc;YACjB,SAAS,GAAG,IAAA,6BAAiB,EAC3B,EAAE,EACF,cAAc,CAAC,YAAY,IAAI,EAAE,EACjC,cAAc,CAAC,SAAS,IAAI,SAAS,CACtC,CAAC;YACF,MAAM;QACR,KAAK,UAAU;YACb,SAAS,GAAG,IAAA,0BAAc,EAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG,IAAA,uBAAW,EAAC,EAAE,EAAE,cAAc,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG,IAAA,0BAAc,EAAC,EAAE,EAAE,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM;QACR,KAAK,OAAO;YACV,SAAS,GAAG,IAAA,sBAAU,EAAC,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YACjF,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG,IAAA,qBAAS,EAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxF,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG,IAAA,qBAAS,EAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG,IAAA,qBAAS,EAAC,EAAE,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM;QACR,KAAK,SAAS;YACZ,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM;QACR;YACE,SAAS,GAAG,IAAA,0BAAc,EAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAEtD,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElD,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAc,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAEzG,iBAAiB;IACjB,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM;QACrE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,QAAQ,gBAAgB,WAAW,mBAAmB,gBAAgB,IAAI,CAAC,CAAC;IACtH,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,WAAW,SAAS,YAAY,CAAC,YAAY,iBAAiB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;IAE3K,iBAAiB;IACjB,IAAA,qBAAW,EAAC,EAAE,EAAE;QACd,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,YAAY,EAAE,YAAY,CAAC,WAAW;QACtC,aAAa,EAAE,YAAY,CAAC,YAAY;QACxC,YAAY,EAAE,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,YAAY;QAClE,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,gBAAgB,EAAE,YAAY,CAAC,cAAc;QAC7C,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM;QAC/C,mBAAmB,EAAE,gBAAgB;QACrC,WAAW,EAAE,YAAY,CAAC,MAAM;KACjC,CAAC,CAAC;IAEH,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEL,gCAAgC;AAChC,MAAM,YAAY,GAAG,OAAO;KACzB,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,YAAY;KACT,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,OAAO,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAU,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAExE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IAEtC,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEL,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9B,IAAI,EAAE;SACN,OAAO,EAAE,CAAC;IAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/db/connection.js
CHANGED
|
@@ -73,7 +73,7 @@ function runMigrations(db) {
|
|
|
73
73
|
db.exec(stmt);
|
|
74
74
|
}
|
|
75
75
|
})();
|
|
76
|
-
// Create FTS
|
|
76
|
+
// Create FTS tables separately (virtual tables can't be in transactions on some builds)
|
|
77
77
|
try {
|
|
78
78
|
db.exec(`
|
|
79
79
|
CREATE VIRTUAL TABLE IF NOT EXISTS functions_fts USING fts5(
|
|
@@ -85,5 +85,32 @@ function runMigrations(db) {
|
|
|
85
85
|
catch {
|
|
86
86
|
// FTS table already exists
|
|
87
87
|
}
|
|
88
|
+
try {
|
|
89
|
+
db.exec(`
|
|
90
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS types_fts USING fts5(
|
|
91
|
+
name, full_text, purpose,
|
|
92
|
+
content='types', content_rowid='id'
|
|
93
|
+
)
|
|
94
|
+
`);
|
|
95
|
+
}
|
|
96
|
+
catch { }
|
|
97
|
+
try {
|
|
98
|
+
db.exec(`
|
|
99
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS routes_fts USING fts5(
|
|
100
|
+
path, handler_body, purpose,
|
|
101
|
+
content='routes', content_rowid='id'
|
|
102
|
+
)
|
|
103
|
+
`);
|
|
104
|
+
}
|
|
105
|
+
catch { }
|
|
106
|
+
try {
|
|
107
|
+
db.exec(`
|
|
108
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS files_fts USING fts5(
|
|
109
|
+
purpose, exports_json,
|
|
110
|
+
content='file_summaries', content_rowid='id'
|
|
111
|
+
)
|
|
112
|
+
`);
|
|
113
|
+
}
|
|
114
|
+
catch { }
|
|
88
115
|
}
|
|
89
116
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8BAEC;AAED,oCAKC;AAED,gDASC;AA1BD,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEvD,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAErD,iDAAiD;IACjD,MAAM,UAAU,GAAG,MAAM;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8BAEC;AAED,oCAKC;AAED,gDASC;AA1BD,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEvD,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAErD,iDAAiD;IACjD,MAAM,UAAU,GAAG,MAAM;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,wFAAwF;IACxF,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC;;;;;KAKP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC;;;;;KAKP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC;;;;;KAKP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC;;;;;KAKP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
|