pcl-mcp 0.2.5 → 0.3.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 +137 -28
- package/dist/bin/pcl.js +36 -23
- package/dist/bin/pcl.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
1
3
|
# PCL — Product Context Layer
|
|
2
4
|
|
|
3
5
|
**Give AI coding agents persistent, structured knowledge of your product.**
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
[](https://www.npmjs.com/package/pcl-mcp)
|
|
8
|
+
[](https://www.npmjs.com/package/pcl-mcp)
|
|
9
|
+
[](https://nodejs.org)
|
|
10
|
+
[](LICENSE)
|
|
8
11
|
|
|
9
12
|
```bash
|
|
10
|
-
|
|
11
|
-
npx pcl init
|
|
12
|
-
# add MCP config (see Agent Configuration below), then start a new agent session
|
|
13
|
+
npx pcl-mcp init
|
|
13
14
|
```
|
|
14
15
|
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
Instead of re-explaining your personas, journeys, and architecture decisions every session, PCL serves them via MCP on demand. Any agent (Claude Code, Cursor, Windsurf) queries exactly what it needs, when it needs it.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
15
22
|
## Why PCL?
|
|
16
23
|
|
|
17
24
|
**Without PCL**, every coding session starts from scratch:
|
|
@@ -34,21 +41,40 @@ You ask your agent: *"Build the checkout flow"*
|
|
|
34
41
|
|
|
35
42
|
**With PCL:** The agent auto-loads critical billing rules at session start (~200 tokens). When it starts the checkout feature, it pulls the relevant persona, fetches the journey steps, and checks the spec's acceptance criteria — all on-demand, only what's needed. Every session, automatically.
|
|
36
43
|
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Quick Start
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm install pcl-mcp
|
|
50
|
+
npx pcl init # prompts before adding example files, sets up CLAUDE.md
|
|
51
|
+
# add MCP config (see Agent Configuration below), then start a new agent session
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
37
56
|
## Stack
|
|
38
57
|
|
|
39
58
|
| Layer | Technology | Why |
|
|
40
59
|
|---|---|---|
|
|
41
60
|
| Protocol | MCP (stdio) | Universal — works with every major agent |
|
|
42
61
|
| Storage | SQLite + FTS5 | Zero infra, git-friendly, offline |
|
|
43
|
-
| Keyword search | BM25 via FTS5 | Best-in-class for exact
|
|
44
|
-
| Semantic search | `all-
|
|
45
|
-
|
|
|
46
|
-
|
|
|
62
|
+
| Keyword search | BM25 via FTS5 (title-weighted 10×) | Best-in-class for exact terms, IDs, proper nouns |
|
|
63
|
+
| Semantic search | `all-mpnet-base-v2` (local, 768d) | Higher quality than MiniLM, zero API cost, ~3ms/doc |
|
|
64
|
+
| Embedding strategy | Split body + title embeddings | Separate semantic channels for body and title matching |
|
|
65
|
+
| Hybrid fusion | Adaptive RRF (corpus-size-aware k) | Better recall on both small and large corpora |
|
|
66
|
+
| Score filtering | 15% gap threshold | Prevents low-quality tail results from surfacing |
|
|
67
|
+
| Cross-references | Auto frontmatter link resolution | Pulls related files into results automatically |
|
|
68
|
+
| Validation | Zod schemas | Agents get predictable, parseable frontmatter |
|
|
47
69
|
| File watching | Chokidar v4 | Live reindex on save |
|
|
48
70
|
|
|
71
|
+
---
|
|
72
|
+
|
|
49
73
|
## Prerequisites
|
|
50
74
|
|
|
51
|
-
|
|
75
|
+
**Node.js >= 22** (required — PCL uses modern Node APIs)
|
|
76
|
+
|
|
77
|
+
---
|
|
52
78
|
|
|
53
79
|
## Install
|
|
54
80
|
|
|
@@ -59,6 +85,8 @@ npx pcl init # creates ./product with templates
|
|
|
59
85
|
|
|
60
86
|
Also available on GitHub Packages as `@michaelgorski/pcl-mcp`.
|
|
61
87
|
|
|
88
|
+
---
|
|
89
|
+
|
|
62
90
|
## Import existing docs
|
|
63
91
|
|
|
64
92
|
If you already have markdown documentation in your repo, PCL can scan, classify, and import it automatically:
|
|
@@ -77,8 +105,12 @@ The scanner:
|
|
|
77
105
|
|
|
78
106
|
Supported classifications: **persona**, **journey**, **spec**, **decision**, **domain**, **product**
|
|
79
107
|
|
|
108
|
+
---
|
|
109
|
+
|
|
80
110
|
## Agent configuration
|
|
81
111
|
|
|
112
|
+
Works with any MCP-compatible agent. Configuration examples below.
|
|
113
|
+
|
|
82
114
|
### Claude Code — `.claude/mcp.json`
|
|
83
115
|
```json
|
|
84
116
|
{
|
|
@@ -113,6 +145,8 @@ Supported classifications: **persona**, **journey**, **spec**, **decision**, **d
|
|
|
113
145
|
}
|
|
114
146
|
```
|
|
115
147
|
|
|
148
|
+
---
|
|
149
|
+
|
|
116
150
|
## File structure
|
|
117
151
|
|
|
118
152
|
```
|
|
@@ -131,19 +165,23 @@ Supported classifications: **persona**, **journey**, **spec**, **decision**, **d
|
|
|
131
165
|
.pcl.db ← SQLite index (auto-generated, gitignore this)
|
|
132
166
|
```
|
|
133
167
|
|
|
168
|
+
---
|
|
169
|
+
|
|
134
170
|
## Tools available to agents
|
|
135
171
|
|
|
136
172
|
| Tool | Params | Description |
|
|
137
173
|
|---|---|---|
|
|
138
174
|
| `pcl_product_summary` | — | Load the product north-star document. Call at session start. |
|
|
139
|
-
| `pcl_get_persona
|
|
140
|
-
| `pcl_get_journey
|
|
141
|
-
| `pcl_get_spec
|
|
142
|
-
| `pcl_get_decision
|
|
143
|
-
| `pcl_get_domain
|
|
144
|
-
| `pcl_list
|
|
145
|
-
| `pcl_search
|
|
146
|
-
| `pcl_related
|
|
175
|
+
| `pcl_get_persona` | `id` | Get a user persona by ID. Call before any user-facing feature. |
|
|
176
|
+
| `pcl_get_journey` | `id` | Get a user journey by ID including step-by-step detail. |
|
|
177
|
+
| `pcl_get_spec` | `id` | Get a feature spec by ID including acceptance criteria. |
|
|
178
|
+
| `pcl_get_decision` | `id` | Get an architecture decision record (ADR) by ID. |
|
|
179
|
+
| `pcl_get_domain` | `id` or `"*critical"` | Get domain rules by ID. Pass `"*critical"` to load all critical rules. |
|
|
180
|
+
| `pcl_list` | `type`: `"personas"` \| `"journeys"` \| `"specs"` \| `"decisions"` \| `"domain"` | List all files of a given type with IDs, titles, and summaries. |
|
|
181
|
+
| `pcl_search` | `query`, `mode?` (`"hybrid"` \| `"semantic"` \| `"keyword"`), `types?`, `top_k?` | Hybrid semantic + keyword search across all product files. |
|
|
182
|
+
| `pcl_related` | `id`, `top_k?` | Find files semantically related to a given file ID. |
|
|
183
|
+
|
|
184
|
+
---
|
|
147
185
|
|
|
148
186
|
## Prompts & Resources
|
|
149
187
|
|
|
@@ -153,25 +191,92 @@ In addition to tools, PCL exposes MCP prompts and resources:
|
|
|
153
191
|
|
|
154
192
|
**Resources: `pcl://files/{type}/{id}`** — Each indexed file is available as an MCP resource. Agents can browse and read individual files directly via the resource URI (e.g., `pcl://files/persona/example-user`).
|
|
155
193
|
|
|
194
|
+
---
|
|
195
|
+
|
|
156
196
|
## How hybrid search works
|
|
157
197
|
|
|
198
|
+
PCL runs three parallel retrieval signals and fuses them with Reciprocal Rank Fusion:
|
|
199
|
+
|
|
158
200
|
```
|
|
159
201
|
query: "what does Max find frustrating about onboarding"
|
|
160
202
|
|
|
161
|
-
BM25 (FTS5
|
|
162
|
-
|
|
203
|
+
BM25 (FTS5, title-weighted 10×):
|
|
204
|
+
→ persona-max, journey-onboarding, spec-magic-link
|
|
205
|
+
↓ ranked by bm25(title=10×, body=1×) — exact terms, IDs, proper nouns
|
|
206
|
+
|
|
207
|
+
Semantic — body embedding (all-mpnet-base-v2, 768d):
|
|
208
|
+
→ journey-onboarding, persona-max, domain-core-rules
|
|
209
|
+
↓ cosine similarity on full-text embedding
|
|
163
210
|
|
|
164
|
-
|
|
165
|
-
|
|
211
|
+
Semantic — title embedding (all-mpnet-base-v2, 768d):
|
|
212
|
+
→ persona-max, journey-onboarding, spec-onboarding-ux
|
|
213
|
+
↓ cosine similarity on title + summary embedding
|
|
166
214
|
|
|
167
|
-
RRF
|
|
168
|
-
|
|
215
|
+
Adaptive RRF (k = corpus_size / 10):
|
|
216
|
+
score(d) = Σ 1 / (k + rank(d)) fused across all three lists
|
|
169
217
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
218
|
+
Score gap filter (15% threshold):
|
|
219
|
+
Drops results below 0.15 × top_score — removes noise
|
|
220
|
+
|
|
221
|
+
Cross-reference resolution:
|
|
222
|
+
journey-onboarding.frontmatter.persona = "max"
|
|
223
|
+
→ auto-includes persona-max even if it ranked outside top-k
|
|
224
|
+
|
|
225
|
+
Result: 1. journey-onboarding (0.94)
|
|
226
|
+
2. persona-max (0.87)
|
|
227
|
+
3. spec-onboarding-ux (0.71)
|
|
173
228
|
```
|
|
174
229
|
|
|
230
|
+
**Why split embeddings?** Body and title carry different semantic signals. A query like *"checkout persona"* should match a persona file by title even if its body content is mostly demographic data. Indexing them separately gives the fusion step two distinct semantic channels rather than one diluted one.
|
|
231
|
+
|
|
232
|
+
**Why adaptive RRF k?** Fixed k=60 over-smooths rankings on small corpora (10–20 files). Corpus-aware k scales down on small collections to let strong matches separate from weak ones.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Testing & Benchmarks
|
|
237
|
+
|
|
238
|
+
PCL ships with a full test suite and a multi-dimensional benchmark framework.
|
|
239
|
+
|
|
240
|
+
### Tests
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
npm test # run all tests (vitest)
|
|
244
|
+
npm run test:watch # watch mode
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Six test suites cover the full stack:
|
|
248
|
+
|
|
249
|
+
| Suite | Coverage |
|
|
250
|
+
|---|---|
|
|
251
|
+
| `db.test.ts` | SQLite operations, FTS5 queries, embedding storage |
|
|
252
|
+
| `embeddings.test.ts` | Embedding generation, cache hits, dimension checks |
|
|
253
|
+
| `indexer.test.ts` | File discovery, schema extraction, change detection |
|
|
254
|
+
| `schemas.test.ts` | Zod frontmatter validation for all file types |
|
|
255
|
+
| `search.test.ts` | Hybrid search, RRF, multi-hop decomposition, cross-refs |
|
|
256
|
+
| `tools.test.ts` | MCP tool handlers, response formatting, error paths |
|
|
257
|
+
|
|
258
|
+
### Benchmarks
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
npm run bench # all benchmarks
|
|
262
|
+
npm run bench:perf # latency benchmarks (search + embedding speed)
|
|
263
|
+
npm run bench:quality # search quality: Precision@k, Recall@k, NDCG, MRR
|
|
264
|
+
npm run bench:tokens # token efficiency across search modes
|
|
265
|
+
npm run bench:ablation # hybrid vs keyword-only vs semantic-only comparison
|
|
266
|
+
npm run bench:ai # Claude-judged result quality (requires ANTHROPIC_API_KEY)
|
|
267
|
+
npm run bench:report # generate markdown report from results
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
| Suite | Measures |
|
|
271
|
+
|---|---|
|
|
272
|
+
| Performance | Search + embedding latency (p50/p95) |
|
|
273
|
+
| Search quality | Precision@k, Recall@k, NDCG, MRR on labeled corpus |
|
|
274
|
+
| Token efficiency | Tokens consumed per query across search modes |
|
|
275
|
+
| Ablation | Quality delta: hybrid vs keyword-only vs semantic-only |
|
|
276
|
+
| AI quality | Claude-judged relevance score for top-k results |
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
175
280
|
## Human workflow
|
|
176
281
|
|
|
177
282
|
The system is only as good as what you put in. Discipline:
|
|
@@ -184,12 +289,16 @@ The system is only as good as what you put in. Discipline:
|
|
|
184
289
|
|
|
185
290
|
The agent does the rest.
|
|
186
291
|
|
|
292
|
+
---
|
|
293
|
+
|
|
187
294
|
## Gitignore
|
|
188
295
|
|
|
189
296
|
```gitignore
|
|
190
297
|
product/.pcl.db # SQLite index — auto-regenerated
|
|
191
298
|
```
|
|
192
299
|
|
|
300
|
+
---
|
|
301
|
+
|
|
193
302
|
## License
|
|
194
303
|
|
|
195
304
|
MIT
|
package/dist/bin/pcl.js
CHANGED
|
@@ -265,24 +265,31 @@ async function init() {
|
|
|
265
265
|
}
|
|
266
266
|
let created = 0;
|
|
267
267
|
let skipped = 0;
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
268
|
+
const addExamples = await promptYesNo("Scaffold example files (product, personas, journeys, specs, decisions, domain)?");
|
|
269
|
+
if (!addExamples) {
|
|
270
|
+
console.log(` ↷ Example files skipped`);
|
|
271
|
+
skipped += Object.keys(TEMPLATES).length;
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
for (const [rel, content] of Object.entries(TEMPLATES)) {
|
|
275
|
+
// Skip templates for categories already covered by scan imports
|
|
276
|
+
const category = templateTypeMap[rel];
|
|
277
|
+
if (category && coveredTypes.has(category)) {
|
|
278
|
+
console.log(` ↷ ${rel} (category covered by scan, skipped)`);
|
|
279
|
+
skipped++;
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
const dest = join(productDir, rel);
|
|
283
|
+
try {
|
|
284
|
+
await access(dest, constants.F_OK);
|
|
285
|
+
console.log(` ↷ ${rel} (exists, skipped)`);
|
|
286
|
+
skipped++;
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
await writeFile(dest, content, "utf8");
|
|
290
|
+
console.log(` ✓ ${rel}`);
|
|
291
|
+
created++;
|
|
292
|
+
}
|
|
286
293
|
}
|
|
287
294
|
}
|
|
288
295
|
// Write CLAUDE.md bridge
|
|
@@ -422,10 +429,16 @@ ${BRIDGE_END}`;
|
|
|
422
429
|
}
|
|
423
430
|
console.log(`\nDone! Created: ${created}, skipped: ${skipped}`);
|
|
424
431
|
console.log("\nNext steps:");
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
432
|
+
if (addExamples) {
|
|
433
|
+
console.log(" 1. Edit product/product.md with your actual product details");
|
|
434
|
+
console.log(" 2. Rename and fill in the example persona, journey, and spec files");
|
|
435
|
+
console.log(" 3. Add your MCP server config (see README)");
|
|
436
|
+
console.log(" 4. Start a new agent session — PCL loads automatically\n");
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
console.log(" 1. Add your MCP server config (see README)");
|
|
440
|
+
console.log(" 2. Start a new agent session — PCL loads automatically\n");
|
|
441
|
+
}
|
|
429
442
|
}
|
|
430
443
|
// ─── Status ──────────────────────────────────────────────────────────────────
|
|
431
444
|
/** Count .md files on disk per subdirectory (no DB needed) */
|
|
@@ -533,7 +546,7 @@ function printHelp() {
|
|
|
533
546
|
pcl — Product Context Layer CLI (v${version})
|
|
534
547
|
|
|
535
548
|
Commands:
|
|
536
|
-
init [dir]
|
|
549
|
+
init [dir] Set up PCL — prompts before adding example files (default: ./product)
|
|
537
550
|
init --scan [dir] Scan repo for existing .md files, import, then scaffold remaining templates
|
|
538
551
|
init --scan-only [dir] Scan and import only, don't scaffold templates
|
|
539
552
|
serve Start the MCP server (reads --product-dir flag)
|
package/dist/bin/pcl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcl.js","sourceRoot":"","sources":["../../bin/pcl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pcl.js","sourceRoot":"","sources":["../../bin/pcl.ts"],"names":[],"mappings":";AACA,aAAa;AACb,yCAAyC;AAEzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,CAAC;QAAC,OAAO,OAAO,CAAC,iBAAiB,CAAwB,CAAC;IAAC,CAAC;IACjE,MAAM,CAAC;QAAC,OAAO,OAAO,CAAC,oBAAoB,CAAwB,CAAC;IAAC,CAAC;AACxE,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,iFAAiF;AAEjF,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;IAC5D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,CAAC,UAAU,CAAC,CAAC;;gBACnC,OAAO,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAExD,iFAAiF;AAEjF,MAAM,SAAS,GAAG;IAChB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bf;IAEC,yBAAyB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC5B;IAEC,4BAA4B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C/B;IAEC,8BAA8B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCjC;IAEC,8BAA8B,EAAE;;;;;;;;;;;;;;;;;;;;CAoBjC;IAEC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB;CACA,CAAC;AAEF,iFAAiF;AAEjF,KAAK,UAAU,IAAI;IACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAExC,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,IAAI,CAAC,CAAC;IAErE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,mBAAmB;IACnB,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEnD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,yCAAyC;IAC5D,CAAC;IAED,6BAA6B;IAC7B,sEAAsE;IACtE,MAAM,eAAe,GAA2B;QAC9C,YAAY,EAAE,SAAS;QACvB,yBAAyB,EAAE,SAAS;QACpC,4BAA4B,EAAE,SAAS;QACvC,8BAA8B,EAAE,MAAM;QACtC,8BAA8B,EAAE,UAAU;QAC1C,sBAAsB,EAAE,QAAQ;KACjC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iFAAiF,CAAC,CAAC;IAEzH,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,gEAAgE;YAChE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,sCAAsC,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,oBAAoB,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,oBAAoB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC5D,UAAU,EAAE,CAAC;QAEX,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACvC,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,wCAAwC;YACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,yCAAyC,CAAC,CAAC;YAC5E,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEnD,IAAI,WAAW,EAAE,CAAC;gBAChB,wBAAwB;gBACxB,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,6CAA6C;oBAC7C,OAAO,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;oBAChH,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;oBACjD,aAAa;oBACb,OAAO,CAAC,GAAG,CAAC,kDAAkD,eAAe,GAAG,CAAC,CAAC;oBAClF,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;oBAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACrC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,6CAA6C,eAAe,OAAO,kBAAkB,GAAG,CAAC,CAAC;oBACtG,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7C,qDAAqD;gBACrD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,yFAAyF,CAAC,CAAC;gBAC7H,IAAI,OAAO,EAAE,CAAC;oBACZ,qCAAqC;oBACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBACrD,gEAAgE;oBAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;oBACxE,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,SAAiB,CAAC;oBACtB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC7D,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC9B,CAAC;oBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxC,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;oBAChD,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,iDAAiD,kBAAkB,GAAG,CAAC,CAAC;oBACpF,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;oBAC9D,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oCAAoC,CAAC,CAAC;gBACvE,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;oBACpF,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC1D,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,cAAc,OAAO,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,8DAA8D;AAC9D,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5D,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB;IACvB,6CAA6C;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAE,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC;KAChC,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,iEAAiE;IACjE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;QACvD,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;KACxC,CAAC;IAEF,yDAAyD;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,kDAAkD;IAClD,IAAI,MAAM,GAAiE,IAAI,CAAC;IAChF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,MAAM,GAAG,EAAE,CAAC;QAEZ,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,aAAa,EAAE,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,EAAE,IAA0C,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrD,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;YAC7B,aAAa,IAAI,QAAQ,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC;QACjC,SAAS,IAAI,MAAM,CAAC;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7B,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,MAAM,aAAa,OAAO,aAAa,QAAQ,WAAW,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,aAAa,YAAY,aAAa,aAAa,WAAW,CAAC,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,UAAU,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;oCACsB,OAAO;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,QAAQ,GAAG,EAAE,CAAC;IACZ,KAAK,MAAM;QACT,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM;IACR,KAAK,OAAO;QACV,gCAAgC;QAChC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM;IACR,KAAK,QAAQ;QACX,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM;IACR,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM;IACR,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI,CAAC;IACV;QACE,SAAS,EAAE,CAAC;AAChB,CAAC"}
|