shieldcortex 2.0.1 → 2.1.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 +71 -6
- package/dist/api/visualization-server.d.ts.map +1 -1
- package/dist/api/visualization-server.js +141 -0
- package/dist/api/visualization-server.js.map +1 -1
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +2 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain.d.ts +95 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +151 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,10 +4,23 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/shieldcortex)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
**The security layer for AI agent memory.** Like Cloudflare, but for everything your AI remembers.
|
|
7
|
+
**The security layer for any AI agent's memory.** Like Cloudflare, but for everything your AI remembers — regardless of platform.
|
|
8
8
|
|
|
9
9
|
Palo Alto Networks [warned about persistent memory attacks](https://unit42.paloaltonetworks.com/) on AI agents. Attackers can poison what your agent remembers — injecting instructions, stealing credentials, or assembling attacks across days of fragmented memories. **ShieldCortex stops that.**
|
|
10
10
|
|
|
11
|
+
### Supported Agents
|
|
12
|
+
|
|
13
|
+
ShieldCortex is agent-agnostic middleware. It works with:
|
|
14
|
+
|
|
15
|
+
- **[Claude Code](https://claude.ai)** — Native MCP server + hooks (`npx shieldcortex setup`)
|
|
16
|
+
- **[OpenClaw / Moltbook](https://openclaw.dev)** — Native hook support (`npx shieldcortex clawdbot install`)
|
|
17
|
+
- **[LangChain JS](https://js.langchain.com)** — `ShieldCortexMemory` adapter (`import { ShieldCortexMemory } from 'shieldcortex/integrations/langchain'`)
|
|
18
|
+
- **Python frameworks (CrewAI, AutoGPT, etc.)** — Via REST API (`POST /api/v1/scan`)
|
|
19
|
+
- **Any MCP-compatible agent** — Via `@langchain/mcp-adapters` or direct MCP protocol
|
|
20
|
+
- **Any agent with a memory backend** — REST API for scanning, quarantine, and audit
|
|
21
|
+
|
|
22
|
+
If your agent stores memories, ShieldCortex can protect them.
|
|
23
|
+
|
|
11
24
|
---
|
|
12
25
|
|
|
13
26
|
## Is Your AI Agent Compromised?
|
|
@@ -18,7 +31,7 @@ Find out in 30 seconds:
|
|
|
18
31
|
npx shieldcortex setup
|
|
19
32
|
```
|
|
20
33
|
|
|
21
|
-
Then ask
|
|
34
|
+
Then ask your AI agent: **"Scan my memories for threats"**
|
|
22
35
|
|
|
23
36
|
ShieldCortex will scan every stored memory and report:
|
|
24
37
|
- Hidden instructions disguised as normal content
|
|
@@ -71,10 +84,10 @@ Every memory write is scanned. Every memory read is filtered. Everything is logg
|
|
|
71
84
|
# Install
|
|
72
85
|
npm install -g shieldcortex
|
|
73
86
|
|
|
74
|
-
#
|
|
87
|
+
# Auto-detect your agent and configure (works with Claude Code, OpenClaw, and more)
|
|
75
88
|
npx shieldcortex setup
|
|
76
89
|
|
|
77
|
-
# Restart
|
|
90
|
+
# Restart your agent and approve the MCP server
|
|
78
91
|
```
|
|
79
92
|
|
|
80
93
|
### Migrating from Claude Cortex
|
|
@@ -83,7 +96,7 @@ npx shieldcortex setup
|
|
|
83
96
|
# Non-destructive — copies your database, updates settings
|
|
84
97
|
npx shieldcortex migrate
|
|
85
98
|
|
|
86
|
-
# Restart
|
|
99
|
+
# Restart your agent
|
|
87
100
|
```
|
|
88
101
|
|
|
89
102
|
Your existing memories are preserved. The original database stays intact at `~/.claude-cortex/` for rollback.
|
|
@@ -183,7 +196,7 @@ Works on macOS (launchd), Linux (systemd), and Windows.
|
|
|
183
196
|
## CLI Reference
|
|
184
197
|
|
|
185
198
|
```bash
|
|
186
|
-
npx shieldcortex setup #
|
|
199
|
+
npx shieldcortex setup # Auto-detect agent + configure hooks
|
|
187
200
|
npx shieldcortex migrate # Migrate from Claude Cortex
|
|
188
201
|
npx shieldcortex doctor # Check installation health
|
|
189
202
|
npx shieldcortex --dashboard # Start dashboard + API
|
|
@@ -269,6 +282,58 @@ npx shieldcortex --db /path/to/custom.db
|
|
|
269
282
|
|
|
270
283
|
---
|
|
271
284
|
|
|
285
|
+
## LangChain Integration
|
|
286
|
+
|
|
287
|
+
```javascript
|
|
288
|
+
import { ShieldCortexMemory, ShieldCortexGuard } from 'shieldcortex/integrations/langchain';
|
|
289
|
+
|
|
290
|
+
// As a LangChain memory backend (scans before storing)
|
|
291
|
+
const memory = new ShieldCortexMemory({ mode: 'balanced' });
|
|
292
|
+
const vars = await memory.loadMemoryVariables({ input: 'deployment config' });
|
|
293
|
+
await memory.saveContext({ input: 'hello' }, { output: 'hi' });
|
|
294
|
+
|
|
295
|
+
// As standalone middleware (scan without storing)
|
|
296
|
+
const guard = new ShieldCortexGuard();
|
|
297
|
+
const result = guard.scan('some content to check');
|
|
298
|
+
if (!result.allowed) {
|
|
299
|
+
console.warn('Blocked:', result.firewall.reason);
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## REST API (Any Agent)
|
|
304
|
+
|
|
305
|
+
Start the API server, then scan content from any language or framework:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
npm run dev:api # Starts on http://localhost:3001
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# Scan content
|
|
313
|
+
curl -X POST http://localhost:3001/api/v1/scan \
|
|
314
|
+
-H 'Content-Type: application/json' \
|
|
315
|
+
-d '{"content": "memory to scan", "title": "test"}'
|
|
316
|
+
|
|
317
|
+
# Batch scan
|
|
318
|
+
curl -X POST http://localhost:3001/api/v1/scan/batch \
|
|
319
|
+
-H 'Content-Type: application/json' \
|
|
320
|
+
-d '{"items": [{"content": "item 1"}, {"content": "item 2"}]}'
|
|
321
|
+
|
|
322
|
+
# Query audit logs
|
|
323
|
+
curl http://localhost:3001/api/v1/audit?firewallResult=BLOCK
|
|
324
|
+
|
|
325
|
+
# List quarantined items
|
|
326
|
+
curl http://localhost:3001/api/v1/quarantine
|
|
327
|
+
|
|
328
|
+
# Approve/reject quarantined items
|
|
329
|
+
curl -X POST http://localhost:3001/api/v1/quarantine/1/approve
|
|
330
|
+
curl -X POST http://localhost:3001/api/v1/quarantine/1/reject
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
All defence layers run automatically — firewall, trust scoring, sensitivity classification, and audit logging.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
272
337
|
## OpenClaw / Clawdbot Integration
|
|
273
338
|
|
|
274
339
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization-server.d.ts","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"visualization-server.d.ts","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmDH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CA06C9D"}
|
|
@@ -20,6 +20,9 @@ import { memoryEvents, emitDecayTick, emitConsolidation, getUnprocessedEvents, m
|
|
|
20
20
|
import { BrainWorker } from '../worker/brain-worker.js';
|
|
21
21
|
import { pause, resume, getControlStatus } from './control.js';
|
|
22
22
|
import { getCurrentVersion, checkForUpdates, performUpdate, scheduleRestart } from './version.js';
|
|
23
|
+
import { runDefencePipeline } from '../defence/pipeline.js';
|
|
24
|
+
import { DEFAULT_DEFENCE_CONFIG } from '../defence/types.js';
|
|
25
|
+
import { queryAuditLogs, getAuditStats } from '../defence/audit/queries.js';
|
|
23
26
|
const PORT = process.env.PORT || 3001;
|
|
24
27
|
// Track connected WebSocket clients
|
|
25
28
|
const clients = new Set();
|
|
@@ -954,6 +957,135 @@ export function startVisualizationServer(dbPath) {
|
|
|
954
957
|
// ============================================
|
|
955
958
|
// BRAIN WORKER (Phase 4)
|
|
956
959
|
// ============================================
|
|
960
|
+
// ── Defence API v1 ──────────────────────────────────────────
|
|
961
|
+
// Scan content through the defence pipeline
|
|
962
|
+
app.post('/api/v1/scan', (req, res) => {
|
|
963
|
+
try {
|
|
964
|
+
const { content, title, source, config } = req.body;
|
|
965
|
+
if (!content || typeof content !== 'string') {
|
|
966
|
+
return res.status(400).json({ error: 'content (string) is required' });
|
|
967
|
+
}
|
|
968
|
+
const defenceSource = {
|
|
969
|
+
type: source?.type ?? 'api',
|
|
970
|
+
identifier: source?.identifier ?? 'rest-api',
|
|
971
|
+
};
|
|
972
|
+
const defenceConfig = config
|
|
973
|
+
? { ...DEFAULT_DEFENCE_CONFIG, ...config }
|
|
974
|
+
: DEFAULT_DEFENCE_CONFIG;
|
|
975
|
+
const result = runDefencePipeline(content, title ?? 'Untitled', defenceSource, defenceConfig);
|
|
976
|
+
res.json(result);
|
|
977
|
+
}
|
|
978
|
+
catch (error) {
|
|
979
|
+
res.status(500).json({ error: error.message });
|
|
980
|
+
}
|
|
981
|
+
});
|
|
982
|
+
// Batch scan multiple items
|
|
983
|
+
app.post('/api/v1/scan/batch', (req, res) => {
|
|
984
|
+
try {
|
|
985
|
+
const { items, source, config } = req.body;
|
|
986
|
+
if (!Array.isArray(items) || items.length === 0) {
|
|
987
|
+
return res.status(400).json({ error: 'items (array) is required' });
|
|
988
|
+
}
|
|
989
|
+
if (items.length > 100) {
|
|
990
|
+
return res.status(400).json({ error: 'Maximum 100 items per batch' });
|
|
991
|
+
}
|
|
992
|
+
const defenceSource = {
|
|
993
|
+
type: source?.type ?? 'api',
|
|
994
|
+
identifier: source?.identifier ?? 'rest-api',
|
|
995
|
+
};
|
|
996
|
+
const defenceConfig = config
|
|
997
|
+
? { ...DEFAULT_DEFENCE_CONFIG, ...config }
|
|
998
|
+
: DEFAULT_DEFENCE_CONFIG;
|
|
999
|
+
const results = items.map((item) => {
|
|
1000
|
+
if (!item.content || typeof item.content !== 'string') {
|
|
1001
|
+
return { error: 'content (string) is required', allowed: false };
|
|
1002
|
+
}
|
|
1003
|
+
return runDefencePipeline(item.content, item.title ?? 'Untitled', defenceSource, defenceConfig);
|
|
1004
|
+
});
|
|
1005
|
+
res.json({ results, total: results.length });
|
|
1006
|
+
}
|
|
1007
|
+
catch (error) {
|
|
1008
|
+
res.status(500).json({ error: error.message });
|
|
1009
|
+
}
|
|
1010
|
+
});
|
|
1011
|
+
// Query audit logs
|
|
1012
|
+
app.get('/api/v1/audit', (req, res) => {
|
|
1013
|
+
try {
|
|
1014
|
+
const options = {};
|
|
1015
|
+
if (req.query.startTime)
|
|
1016
|
+
options.startTime = req.query.startTime;
|
|
1017
|
+
if (req.query.endTime)
|
|
1018
|
+
options.endTime = req.query.endTime;
|
|
1019
|
+
if (req.query.source)
|
|
1020
|
+
options.source = req.query.source;
|
|
1021
|
+
if (req.query.firewallResult)
|
|
1022
|
+
options.firewallResult = req.query.firewallResult;
|
|
1023
|
+
if (req.query.limit)
|
|
1024
|
+
options.limit = parseInt(req.query.limit, 10);
|
|
1025
|
+
const logs = queryAuditLogs(options);
|
|
1026
|
+
res.json({ logs, total: logs.length });
|
|
1027
|
+
}
|
|
1028
|
+
catch (error) {
|
|
1029
|
+
res.status(500).json({ error: error.message });
|
|
1030
|
+
}
|
|
1031
|
+
});
|
|
1032
|
+
// Audit statistics
|
|
1033
|
+
app.get('/api/v1/audit/stats', (req, res) => {
|
|
1034
|
+
try {
|
|
1035
|
+
const timeRange = req.query.timeRange ?? '24h';
|
|
1036
|
+
const stats = getAuditStats(timeRange);
|
|
1037
|
+
res.json(stats);
|
|
1038
|
+
}
|
|
1039
|
+
catch (error) {
|
|
1040
|
+
res.status(500).json({ error: error.message });
|
|
1041
|
+
}
|
|
1042
|
+
});
|
|
1043
|
+
// List quarantined items
|
|
1044
|
+
app.get('/api/v1/quarantine', (req, res) => {
|
|
1045
|
+
try {
|
|
1046
|
+
const db = getDatabase();
|
|
1047
|
+
const status = req.query.status ?? 'pending';
|
|
1048
|
+
const limit = parseInt(req.query.limit, 10) || 50;
|
|
1049
|
+
const rows = db.prepare('SELECT * FROM quarantine WHERE status = ? ORDER BY created_at DESC LIMIT ?').all(status, limit);
|
|
1050
|
+
res.json({ items: rows, total: rows.length });
|
|
1051
|
+
}
|
|
1052
|
+
catch (error) {
|
|
1053
|
+
res.status(500).json({ error: error.message });
|
|
1054
|
+
}
|
|
1055
|
+
});
|
|
1056
|
+
// Approve quarantined item
|
|
1057
|
+
app.post('/api/v1/quarantine/:id/approve', (req, res) => {
|
|
1058
|
+
try {
|
|
1059
|
+
const db = getDatabase();
|
|
1060
|
+
const id = parseInt(req.params.id, 10);
|
|
1061
|
+
const reviewedBy = req.body?.reviewedBy ?? 'api';
|
|
1062
|
+
const result = db.prepare('UPDATE quarantine SET status = ?, reviewed_at = ?, reviewed_by = ? WHERE id = ? AND status = ?').run('approved', new Date().toISOString(), reviewedBy, id, 'pending');
|
|
1063
|
+
if (result.changes === 0) {
|
|
1064
|
+
return res.status(404).json({ error: 'Quarantine entry not found or already reviewed' });
|
|
1065
|
+
}
|
|
1066
|
+
res.json({ success: true, id, status: 'approved' });
|
|
1067
|
+
}
|
|
1068
|
+
catch (error) {
|
|
1069
|
+
res.status(500).json({ error: error.message });
|
|
1070
|
+
}
|
|
1071
|
+
});
|
|
1072
|
+
// Reject quarantined item
|
|
1073
|
+
app.post('/api/v1/quarantine/:id/reject', (req, res) => {
|
|
1074
|
+
try {
|
|
1075
|
+
const db = getDatabase();
|
|
1076
|
+
const id = parseInt(req.params.id, 10);
|
|
1077
|
+
const reviewedBy = req.body?.reviewedBy ?? 'api';
|
|
1078
|
+
const notes = req.body?.notes ?? null;
|
|
1079
|
+
const result = db.prepare('UPDATE quarantine SET status = ?, reviewed_at = ?, reviewed_by = ? WHERE id = ? AND status = ?').run('rejected', new Date().toISOString(), reviewedBy, id, 'pending');
|
|
1080
|
+
if (result.changes === 0) {
|
|
1081
|
+
return res.status(404).json({ error: 'Quarantine entry not found or already reviewed' });
|
|
1082
|
+
}
|
|
1083
|
+
res.json({ success: true, id, status: 'rejected' });
|
|
1084
|
+
}
|
|
1085
|
+
catch (error) {
|
|
1086
|
+
res.status(500).json({ error: error.message });
|
|
1087
|
+
}
|
|
1088
|
+
});
|
|
957
1089
|
// Create and start the background brain worker
|
|
958
1090
|
const brainWorker = new BrainWorker();
|
|
959
1091
|
// Worker status endpoint
|
|
@@ -1175,6 +1307,15 @@ export function startVisualizationServer(dbPath) {
|
|
|
1175
1307
|
║ POST /api/control/pause - Pause memory creation ║
|
|
1176
1308
|
║ POST /api/control/resume - Resume memory creation ║
|
|
1177
1309
|
║ ║
|
|
1310
|
+
║ Defence API: ║
|
|
1311
|
+
║ POST /api/v1/scan - Scan content ║
|
|
1312
|
+
║ POST /api/v1/scan/batch - Batch scan ║
|
|
1313
|
+
║ GET /api/v1/audit - Query audit logs ║
|
|
1314
|
+
║ GET /api/v1/audit/stats - Audit statistics ║
|
|
1315
|
+
║ GET /api/v1/quarantine - List quarantined items ║
|
|
1316
|
+
║ POST /api/v1/quarantine/:id/approve - Approve item ║
|
|
1317
|
+
║ POST /api/v1/quarantine/:id/reject - Reject item ║
|
|
1318
|
+
║ ║
|
|
1178
1319
|
║ Brain Worker: ║
|
|
1179
1320
|
║ GET /api/worker/status - Worker status ║
|
|
1180
1321
|
║ POST /api/worker/trigger-light - Trigger light tick ║
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization-server.js","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAA8B,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAwB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EAEZ,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAY,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElG,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAEtC,oCAAoC;AACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAe;IACtD,sBAAsB;IACtB,YAAY,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjC,uDAAuD;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;QACpD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;IAEzG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC3B,sEAAsE;YACtE,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,MAAM,sBAAsB,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF,CAAC,CAAC,CAAC;IACJ,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,+CAA+C;IAC/C,qBAAqB;IACrB,+CAA+C;IAE/C,eAAe;IACf,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACtD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YAChF,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5E,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAEhF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEnC,IAAI,QAAkB,CAAC;YAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC;oBACnC,KAAK;oBACL,OAAO;oBACP,IAAI,EAAE,IAAkC;oBACxC,QAAQ,EAAE,QAA0C;oBACpD,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,+BAA+B;iBAC3D,CAAC,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,QAAQ,GAAG,uBAAuB,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,iBAAiB,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YAED,0CAA0C;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAC3D,CAAC;YAED,iCAAiC;YACjC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAE1B,mBAAmB;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;YACjD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC;gBACJ,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;aACvC,CAAC,CAAC,CAAC;YAEJ,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,iBAAiB;gBAC3B,UAAU,EAAE;oBACV,MAAM;oBACN,KAAK;oBACL,KAAK;oBACL,OAAO;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YAEzB,MAAM,KAAK,GAAG,OAAO;gBACnB,CAAC,CAAC;;;;qBAIW;gBACb,CAAC,CAAC;;;;qBAIW,CAAC;YAEhB,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAsC;gBACrE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAuC,CAAC;YAEjE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YAEzB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAExC,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;;+CAEQ,aAAa;;;OAGrD,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAC;YAEpD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;;kDAEmB,aAAa;;;OAGxD,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAC;YAEpD,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;UAI1B,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;;OAExC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAC;YAEpD,GAAG,CAAC,IAAI,CAAC;gBACP,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;gBACpE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC5C,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,MAAM;gBACT,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE7E,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC;gBACvB,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,IAAI,IAAI,YAAY;gBAC1B,QAAQ,EAAE,QAAQ,IAAI,MAAM;gBAC5B,OAAO;gBACP,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,QAAQ;aACT,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iCAAiC;YACjC,IAAK,KAAe,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,2BAA2B;oBAClC,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,4DAA4D;iBACtE,CAAC,CAAC;YACL,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,MAAM;gBACT,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAEtC,yBAAyB;YACzB,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,OAAO;gBACL,CAAC,CAAC,0CAA0C;gBAC5C,CAAC,CAAC,wBAAwB,CAC7B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;YAE7D,kEAAkE;YAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE7C,MAAM,iBAAiB,GAAG;gBACxB,OAAO,EAAE,CAAC,EAAG,6DAA6D;gBAC1E,MAAM,EAAE,CAAC,EAAI,aAAa;gBAC1B,QAAQ,EAAE,CAAC,EAAE,yCAAyC;aACvD,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,KAAK,GAAG,IAAI;oBAAE,iBAAiB,CAAC,OAAO,EAAE,CAAC;qBACzC,IAAI,KAAK,GAAG,GAAG;oBAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC;;oBAC5C,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACpC,CAAC;YAED,2DAA2D;YAC3D,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAE7C,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,iBAAiB;gBACjB,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;YAEnC,GAAG,CAAC,IAAI,CAAC;gBACP,cAAc;gBACd,KAAK;gBACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,oCAAoC;IACpC,+CAA+C;IAE/C,8BAA8B;IAC9B,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;YACxF,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9E,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEjC,MAAM,cAAc,GAAG,oBAAoB,CAAC;gBAC1C,OAAO;gBACP,QAAQ,EAAE,QAA0C;gBACpD,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC;gBACP,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;oBACvB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;oBAC7B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;oBACvB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;oBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC,CAAC;gBACH,KAAK,EAAE,cAAc,CAAC,MAAM;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAEhD,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;oBACnC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;oBACzC,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC,CAAC;gBACH,KAAK,EAAE,cAAc,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEvE,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;OAM3B,CAAC,CAAC,GAAG,EAAiD,CAAC;YAExD,6CAA6C;YAC7C,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAuB,CAAC;YAEnG,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE;oBACR,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE;oBACxE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACnD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,oBAAoB;IACpB,+CAA+C;IAE/C,qBAAqB;IACrB,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,oBAAoB;IACpB,+CAA+C;IAE/C,sBAAsB;IACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;QACrE,IAAI,CAAC;YACH,yCAAyC;YACzC,SAAS,CAAC;gBACR,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;aAC5B,CAAC,CAAC;YAElB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YAErC,2BAA2B;YAC3B,SAAS,CAAC;gBACR,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe;gBAC1D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,MAAM;aACE,CAAC,CAAC;YAElB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,+BAA+B;YAC/B,SAAS,CAAC;gBACR,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,mCAAmC,EAAE;aACxC,CAAC,CAAC;YAElB,yCAAyC;YACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,mBAAmB;oBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAEzE,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YAEzB,MAAM,KAAK,GAAG,OAAO;gBACnB,CAAC,CAAC;;;;;;;;;;;;;;;SAeD;gBACD,CAAC,CAAC;;;;;;;;;;;;;;SAcD,CAAC;YAEJ,MAAM,KAAK,GAAG,OAAO;gBACnB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YAE5B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,qBAAqB;IACrB,+CAA+C;IAE/C,sDAAsD;IAEtD,+CAA+C;IAC/C,uBAAuB;IACvB,+CAA+C;IAE/C,+CAA+C;IAC/C,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAEvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAE9C,iCAAiC;YACjC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,qDAAqD;iBAC7D,CAAC,CAAC;YACL,CAAC;YAED,yCAAyC;YACzC,MAAM,gBAAgB,GACpB,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC9B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,8DAA8D;iBACtE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,gBAAgB;YAChB,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEpF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAA+B,CAAC;gBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE7C,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,GAAG,CAAC,IAAI,CAAC;oBACP,OAAO;oBACP,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE7C,GAAG,CAAC,IAAI,CAAC;oBACP,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;oBACvC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC5E,QAAQ,EAAE,CAAC;oBACX,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,8BAA8B;YAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAEhD,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YAEzB,qEAAqE;YACrE,MAAM,WAAW,GAAyD,EAAE,CAAC;YAE7E,uCAAuC;YACvC,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;OAO/B,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,KAAK,CAAuC,CAAC;YAElE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,0BAA0B;YAC1B,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;OAOlC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAA0C,CAAC;YAE9D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,wBAAwB;YACxB,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;OAOjC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAyC,CAAC;YAE7D,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,wCAAwC;YACxC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAEvD,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,6BAA6B;IAC7B,+CAA+C;IAE/C,qDAAqD;IACrD,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACnG,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErF,IAAI,WAAW,GAAG,WAAW,CAAC;YAC9B,MAAM,MAAM,GAAc,EAAE,CAAC;YAE7B,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,IAAI,eAAe,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,WAAW,IAAI,wBAAwB,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;YACzH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAE7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,0BAA0B,WAAW,8CAA8C,CACpF,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAA8B,CAAC;YAE7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACnC,IAAI,OAAO,GAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,CAAC;gBACxE,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;oBAChC,OAAO;oBACP,SAAS,EAAE,CAAC,CAAC,UAAU;oBACvB,SAAS,EAAE,CAAC,CAAC,UAAU;iBACxB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;OAQvB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAA8B,CAAC;YAE5C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;OAOvB,CAAC,CAAC,GAAG,CAAC,EAAE,CAA8B,CAAC;YAExC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACnG,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErF,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,MAAM,GAAc,EAAE,CAAC;YAE7B,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,GAAG,uBAAuB,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,2CAA2C,WAAW,EAAE,CACzD,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAE7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;UAMpB,WAAW;;;OAGd,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAA8B,CAAC;YAE9D,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7D,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,qFAAqF,CACtF,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAA8B,CAAC;YAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACnC,IAAI,OAAO,GAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,CAAC;gBACxE,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;oBAChC,OAAO;iBACR,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpE,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,qDAAqD,CACtD,CAAC,GAAG,CAAC,QAAQ,CAAQ,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,QAAQ,aAAa,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CACtB,qDAAqD,CACtD,CAAC,GAAG,CAAC,MAAM,CAAQ,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,MAAM,aAAa,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;YACjG,CAAC;YAED,MAAM;YACN,MAAM,QAAQ,GAAG,CAAC,CAAC;YAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAErH,IAAI,QAAQ,GAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,GAAG,KAAK,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,oJAAoJ,CACrJ,CAAC,GAAG,CAAC,MAAM,CAAU,CAAC;oBACvB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;4BAChJ,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;gCAAC,KAAK,GAAG,IAAI,CAAC;gCAAC,MAAM;4BAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK;wBAAE,MAAM;oBAEjB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,qJAAqJ,CACtJ,CAAC,GAAG,CAAC,MAAM,CAAU,CAAC;oBACvB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;4BACtJ,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;gCAAC,KAAK,GAAG,IAAI,CAAC;gCAAC,MAAM;4BAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK;wBAAE,MAAM;gBACnB,CAAC;gBACD,QAAQ,GAAG,YAAY,CAAC;gBACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;YACnC,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,mBAAmB;YACnB,MAAM,IAAI,GAAiD,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,IAAI,OAAO,GAAwB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEzD,OAAO,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,cAAc;oBAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzE,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,CAAC;YAED,wBAAwB;YACxB,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;gBAC/C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;gBAChI,CAAC,CAAC,EAAE,CAAC;YAEP,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,yBAAyB;IACzB,+CAA+C;IAE/C,+CAA+C;IAC/C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,yBAAyB;IACzB,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;QAC5E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,mBAAmB;IACnB,+CAA+C;IAE/C,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAEhE,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,qBAAqB;QACrB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,GAAG,CAAC;YACJ,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;SACvC,CAAC,CAAC,CAAC;QAEJ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE;gBACJ,KAAK;gBACL,QAAQ,EAAE,iBAAiB;aAC5B;SACF,CAAC,CAAC,CAAC;QAEJ,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,SAAS,SAAS,CAAC,KAAkB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,YAAY,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,WAAW,CAAC,GAAG,EAAE;QACf,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,8DAA8D,CAC/D,CAAC,GAAG,EAA+B,CAAC;QAErC,kEAAkE;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAoE,EAAE,CAAC;QAEpF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC/C,0EAA0E;YAC1E,kEAAkE;YAClE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ,EAAE,MAAM,CAAC,YAAY;oBAC7B,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,qEAAqE;QACrE,cAAc,EAAE,CAAC;QACjB,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;YACzB,cAAc,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC;gBACH,iBAAiB,EAAE,CAAC;gBACpB,6DAA6D;gBAC7D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;gBACnC,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,QAAQ,QAAQ,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,+CAA+C;IAC/C,oCAAoC;IACpC,+CAA+C;IAE/C,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC9E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,0CAA0C;IAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC;YACH,gBAAgB,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEnB,+CAA+C;IAC/C,eAAe;IACf,+CAA+C;IAE/C,4CAA4C;IAC5C,WAAW,CAAC,KAAK,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,SAAS,gBAAgB,CAAC,MAAc;QACtC,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,+BAA+B,CAAC,CAAC;QAE1E,wBAAwB;QACxB,WAAW,CAAC,IAAI,EAAE,CAAC;QAEnB,0BAA0B;QAC1B,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACjC,aAAa,CAAC,eAAe,CAAC,CAAC;QAE/B,8BAA8B;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,wBAAwB;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAE3C,6BAA6B;YAC7B,IAAI,CAAC;gBACH,aAAa,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC;;;;mCAImB,IAAI;iCACN,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;KAyBhC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"visualization-server.js","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LangChain Integration for ShieldCortex
|
|
3
|
+
*
|
|
4
|
+
* Provides two exports:
|
|
5
|
+
* - ShieldCortexMemory: A BaseMemory-compatible class that scans content through
|
|
6
|
+
* the defence pipeline before storing memories.
|
|
7
|
+
* - ShieldCortexGuard: A standalone scanner that can be used as middleware
|
|
8
|
+
* in any LangChain chain without storing memories.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { ShieldCortexMemory, ShieldCortexGuard } from 'shieldcortex/integrations/langchain';
|
|
12
|
+
*
|
|
13
|
+
* // As a memory backend
|
|
14
|
+
* const memory = new ShieldCortexMemory({ mode: 'balanced' });
|
|
15
|
+
* const vars = await memory.loadMemoryVariables({});
|
|
16
|
+
* await memory.saveContext({ input: 'hello' }, { output: 'hi' });
|
|
17
|
+
*
|
|
18
|
+
* // As a standalone guard
|
|
19
|
+
* const guard = new ShieldCortexGuard();
|
|
20
|
+
* const result = guard.scan('some suspicious content');
|
|
21
|
+
* if (!result.allowed) { ... }
|
|
22
|
+
*/
|
|
23
|
+
import type { DefenceConfig, DefencePipelineResult, DefenceSource } from '../defence/types.js';
|
|
24
|
+
export interface ShieldCortexMemoryConfig {
|
|
25
|
+
/** Defence mode: strict, balanced, or permissive. Default: balanced */
|
|
26
|
+
mode?: DefenceConfig['mode'];
|
|
27
|
+
/** Source identifier for audit trail. Default: 'langchain-agent' */
|
|
28
|
+
sourceIdentifier?: string;
|
|
29
|
+
/** Source type. Default: 'agent' */
|
|
30
|
+
sourceType?: DefenceSource['type'];
|
|
31
|
+
/** Maximum memories to return from loadMemoryVariables. Default: 10 */
|
|
32
|
+
maxResults?: number;
|
|
33
|
+
/** Memory key used in the variables dict. Default: 'history' */
|
|
34
|
+
memoryKey?: string;
|
|
35
|
+
/** Project scope for memories. Default: auto-detected */
|
|
36
|
+
project?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* LangChain-compatible memory class that runs the defence pipeline
|
|
40
|
+
* on all content before storage. Blocked content is quarantined.
|
|
41
|
+
*
|
|
42
|
+
* Implements the same interface as LangChain's BaseMemory:
|
|
43
|
+
* - memoryVariables: string[]
|
|
44
|
+
* - loadMemoryVariables(values): Promise<Record<string, string>>
|
|
45
|
+
* - saveContext(inputValues, outputValues): Promise<void>
|
|
46
|
+
* - clear(): Promise<void>
|
|
47
|
+
*/
|
|
48
|
+
export declare class ShieldCortexMemory {
|
|
49
|
+
private config;
|
|
50
|
+
private source;
|
|
51
|
+
private maxResults;
|
|
52
|
+
private _memoryKey;
|
|
53
|
+
private project?;
|
|
54
|
+
/** Keys this memory populates (LangChain interface) */
|
|
55
|
+
get memoryVariables(): string[];
|
|
56
|
+
constructor(options?: ShieldCortexMemoryConfig);
|
|
57
|
+
/**
|
|
58
|
+
* Load relevant memories. Searches by recent context or returns recent memories.
|
|
59
|
+
*/
|
|
60
|
+
loadMemoryVariables(values: Record<string, unknown>): Promise<Record<string, string>>;
|
|
61
|
+
/**
|
|
62
|
+
* Save conversation context. Runs the defence pipeline before storing.
|
|
63
|
+
* Blocked content is automatically quarantined.
|
|
64
|
+
*/
|
|
65
|
+
saveContext(inputValues: Record<string, unknown>, outputValues: Record<string, unknown>): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Clear all memories (not implemented — too destructive for a security tool).
|
|
68
|
+
* Use the MCP forget tool or REST API for targeted deletion.
|
|
69
|
+
*/
|
|
70
|
+
clear(): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
export interface ShieldCortexGuardConfig {
|
|
73
|
+
mode?: DefenceConfig['mode'];
|
|
74
|
+
sourceIdentifier?: string;
|
|
75
|
+
sourceType?: DefenceSource['type'];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Standalone content scanner. Does NOT store memories.
|
|
79
|
+
* Use this as middleware to scan content before passing it to any memory backend.
|
|
80
|
+
*/
|
|
81
|
+
export declare class ShieldCortexGuard {
|
|
82
|
+
private config;
|
|
83
|
+
private source;
|
|
84
|
+
constructor(options?: ShieldCortexGuardConfig);
|
|
85
|
+
/**
|
|
86
|
+
* Scan content through the full defence pipeline.
|
|
87
|
+
* Returns the pipeline result — check result.allowed.
|
|
88
|
+
*/
|
|
89
|
+
scan(content: string, title?: string, source?: DefenceSource): DefencePipelineResult;
|
|
90
|
+
/**
|
|
91
|
+
* Convenience: returns true if content is safe.
|
|
92
|
+
*/
|
|
93
|
+
isAllowed(content: string, title?: string): boolean;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=langchain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAU7B,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oCAAoC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,uDAAuD;IACvD,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;gBAEW,OAAO,GAAE,wBAA6B;IAclD;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuBlC;;;OAGG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IA0BhB;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAID,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,GAAE,uBAA4B;IAWjD;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,qBAAqB;IASpF;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;CAGpD"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LangChain Integration for ShieldCortex
|
|
3
|
+
*
|
|
4
|
+
* Provides two exports:
|
|
5
|
+
* - ShieldCortexMemory: A BaseMemory-compatible class that scans content through
|
|
6
|
+
* the defence pipeline before storing memories.
|
|
7
|
+
* - ShieldCortexGuard: A standalone scanner that can be used as middleware
|
|
8
|
+
* in any LangChain chain without storing memories.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { ShieldCortexMemory, ShieldCortexGuard } from 'shieldcortex/integrations/langchain';
|
|
12
|
+
*
|
|
13
|
+
* // As a memory backend
|
|
14
|
+
* const memory = new ShieldCortexMemory({ mode: 'balanced' });
|
|
15
|
+
* const vars = await memory.loadMemoryVariables({});
|
|
16
|
+
* await memory.saveContext({ input: 'hello' }, { output: 'hi' });
|
|
17
|
+
*
|
|
18
|
+
* // As a standalone guard
|
|
19
|
+
* const guard = new ShieldCortexGuard();
|
|
20
|
+
* const result = guard.scan('some suspicious content');
|
|
21
|
+
* if (!result.allowed) { ... }
|
|
22
|
+
*/
|
|
23
|
+
import { runDefencePipeline } from '../defence/pipeline.js';
|
|
24
|
+
import { DEFAULT_DEFENCE_CONFIG } from '../defence/types.js';
|
|
25
|
+
import { addMemory, searchMemories, getRecentMemories, } from '../memory/store.js';
|
|
26
|
+
// ── ShieldCortexMemory ──
|
|
27
|
+
/**
|
|
28
|
+
* LangChain-compatible memory class that runs the defence pipeline
|
|
29
|
+
* on all content before storage. Blocked content is quarantined.
|
|
30
|
+
*
|
|
31
|
+
* Implements the same interface as LangChain's BaseMemory:
|
|
32
|
+
* - memoryVariables: string[]
|
|
33
|
+
* - loadMemoryVariables(values): Promise<Record<string, string>>
|
|
34
|
+
* - saveContext(inputValues, outputValues): Promise<void>
|
|
35
|
+
* - clear(): Promise<void>
|
|
36
|
+
*/
|
|
37
|
+
export class ShieldCortexMemory {
|
|
38
|
+
config;
|
|
39
|
+
source;
|
|
40
|
+
maxResults;
|
|
41
|
+
_memoryKey;
|
|
42
|
+
project;
|
|
43
|
+
/** Keys this memory populates (LangChain interface) */
|
|
44
|
+
get memoryVariables() {
|
|
45
|
+
return [this._memoryKey];
|
|
46
|
+
}
|
|
47
|
+
constructor(options = {}) {
|
|
48
|
+
this.config = {
|
|
49
|
+
...DEFAULT_DEFENCE_CONFIG,
|
|
50
|
+
mode: options.mode ?? 'balanced',
|
|
51
|
+
};
|
|
52
|
+
this.source = {
|
|
53
|
+
type: options.sourceType ?? 'agent',
|
|
54
|
+
identifier: options.sourceIdentifier ?? 'langchain-agent',
|
|
55
|
+
};
|
|
56
|
+
this.maxResults = options.maxResults ?? 10;
|
|
57
|
+
this._memoryKey = options.memoryKey ?? 'history';
|
|
58
|
+
this.project = options.project;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Load relevant memories. Searches by recent context or returns recent memories.
|
|
62
|
+
*/
|
|
63
|
+
async loadMemoryVariables(values) {
|
|
64
|
+
const query = values.input ?? values.query ?? values.question;
|
|
65
|
+
let text;
|
|
66
|
+
if (query && typeof query === 'string') {
|
|
67
|
+
const results = await searchMemories({
|
|
68
|
+
query,
|
|
69
|
+
limit: this.maxResults,
|
|
70
|
+
project: this.project,
|
|
71
|
+
});
|
|
72
|
+
text = results
|
|
73
|
+
.map((r) => `[${r.memory.title}] ${r.memory.content}`)
|
|
74
|
+
.join('\n');
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const recent = getRecentMemories(this.maxResults);
|
|
78
|
+
text = recent
|
|
79
|
+
.map((m) => `[${m.title}] ${m.content}`)
|
|
80
|
+
.join('\n');
|
|
81
|
+
}
|
|
82
|
+
return { [this._memoryKey]: text };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Save conversation context. Runs the defence pipeline before storing.
|
|
86
|
+
* Blocked content is automatically quarantined.
|
|
87
|
+
*/
|
|
88
|
+
async saveContext(inputValues, outputValues) {
|
|
89
|
+
const input = String(inputValues.input ?? inputValues.query ?? '');
|
|
90
|
+
const output = String(outputValues.output ?? outputValues.response ?? '');
|
|
91
|
+
const content = `User: ${input}\nAssistant: ${output}`;
|
|
92
|
+
const title = input.slice(0, 100);
|
|
93
|
+
const memoryInput = {
|
|
94
|
+
title,
|
|
95
|
+
content,
|
|
96
|
+
type: 'episodic',
|
|
97
|
+
category: 'context',
|
|
98
|
+
project: this.project,
|
|
99
|
+
};
|
|
100
|
+
// addMemory runs defence pipeline internally when source is provided
|
|
101
|
+
try {
|
|
102
|
+
addMemory(memoryInput, undefined, this.source);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
// MemoryBlockedError means it was quarantined — that's expected
|
|
106
|
+
if (err.name === 'MemoryBlockedError') {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
throw err;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Clear all memories (not implemented — too destructive for a security tool).
|
|
114
|
+
* Use the MCP forget tool or REST API for targeted deletion.
|
|
115
|
+
*/
|
|
116
|
+
async clear() {
|
|
117
|
+
// Intentionally not implemented
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Standalone content scanner. Does NOT store memories.
|
|
122
|
+
* Use this as middleware to scan content before passing it to any memory backend.
|
|
123
|
+
*/
|
|
124
|
+
export class ShieldCortexGuard {
|
|
125
|
+
config;
|
|
126
|
+
source;
|
|
127
|
+
constructor(options = {}) {
|
|
128
|
+
this.config = {
|
|
129
|
+
...DEFAULT_DEFENCE_CONFIG,
|
|
130
|
+
mode: options.mode ?? 'balanced',
|
|
131
|
+
};
|
|
132
|
+
this.source = {
|
|
133
|
+
type: options.sourceType ?? 'agent',
|
|
134
|
+
identifier: options.sourceIdentifier ?? 'langchain-guard',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Scan content through the full defence pipeline.
|
|
139
|
+
* Returns the pipeline result — check result.allowed.
|
|
140
|
+
*/
|
|
141
|
+
scan(content, title, source) {
|
|
142
|
+
return runDefencePipeline(content, title ?? 'Untitled', source ?? this.source, this.config);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Convenience: returns true if content is safe.
|
|
146
|
+
*/
|
|
147
|
+
isAllowed(content, title) {
|
|
148
|
+
return this.scan(content, title).allowed;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=langchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED