code-auditor-mcp 3.9.9 → 3.9.11
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +114 -0
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +12 -0
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +19 -5
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +44 -2
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +153 -8
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +8 -0
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +9 -0
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +5 -0
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +9 -7
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +40 -11
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +29 -7
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +9 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -6
- package/dist/constants.js.map +1 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +18 -6
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +12 -0
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +12 -3
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +17 -10
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +2 -15
- package/dist/installer.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +12 -1
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +87 -7
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +4 -7
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/types.d.ts +38 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -0
- package/dist/version.generated.d.ts.map +1 -0
- package/dist/version.generated.js +7 -0
- package/dist/version.generated.js.map +1 -0
- package/package.json +3 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/scripts/hook-common.sh +37 -9
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +2 -2
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "code-auditor",
|
|
11
11
|
"source": "./plugin",
|
|
12
12
|
"description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
|
|
13
|
-
"version": "3.9.
|
|
13
|
+
"version": "3.9.11",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Ben Hammond"
|
|
16
16
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,120 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Code Auditor MCP project.
|
|
4
4
|
|
|
5
|
+
## [3.9.11] — 2026-09-15
|
|
6
|
+
|
|
7
|
+
### SQL assembled in a variable is no longer read as table-free
|
|
8
|
+
|
|
9
|
+
The schema table extractor (`extractDbCallRefs`) used to read only a *direct*
|
|
10
|
+
string/template-literal argument to a DB call, so `db.prepare(UPSERT_SQL)` — SQL
|
|
11
|
+
held in a module-level `const` — contributed no table references and the table was
|
|
12
|
+
misreported as read-never-written / written-never-read. The identifier now resolves
|
|
13
|
+
via the adapter's `resolveLocalConstant` (same-module `const` bound to a
|
|
14
|
+
string/template literal, template substitutions preserved). When it cannot resolve —
|
|
15
|
+
imported constant, concatenated/ternary expression, call result, or a language with
|
|
16
|
+
no constant-resolution capability — the query is reported as a new
|
|
17
|
+
`schema-code::unresolved-query` finding (severity `high`) instead of being silently
|
|
18
|
+
treated as absent. Reporting rather than skipping is what keeps the cross-domain
|
|
19
|
+
lifecycle rules from over-claiming on a file whose DB access is only partly visible.
|
|
20
|
+
|
|
21
|
+
The identifier-resolution path is method-gated: only SQL-carrying methods
|
|
22
|
+
(`exec`/`prepare`/`query`/`raw`/`execute`) resolve a bare-identifier argument, because
|
|
23
|
+
`batch`/`run`/`all`/`first` take a statements array or bound-parameter object — a bare
|
|
24
|
+
identifier there is not SQL and must not be reported as unresolvable. A direct
|
|
25
|
+
string/template literal is parsed for *every* method, since node-sqlite3's
|
|
26
|
+
`db.all(sql)`/`db.run(sql)` pass SQL as a literal just as D1's `db.prepare(sql)` does.
|
|
27
|
+
`reportUnresolvedQueries` defaults on and is configurable per-analyzer.
|
|
28
|
+
|
|
29
|
+
### Dynamic `import()`/`require()` now contribute import edges
|
|
30
|
+
|
|
31
|
+
`clCollectFileInfo` — the file-level reachability graph behind `unreferenced-module` —
|
|
32
|
+
indexed only static `import`/`export … from` statements, so a module reached *only* by
|
|
33
|
+
`await import('../lib/email')` looked dead. A dynamic `import('./x')` or
|
|
34
|
+
`require('./x')` with a static string argument now records an import edge, so its
|
|
35
|
+
target counts as live.
|
|
36
|
+
|
|
37
|
+
Computed-specifier decision (recorded, not silenced): a bare variable
|
|
38
|
+
(`import(someVar)`), an interpolated template (`` import(`./${name}.js`) ``), or a call
|
|
39
|
+
(`import(path.join(...))`) cannot resolve into an edge. These are reported as a new
|
|
40
|
+
`dependency-graph::unresolved-dynamic-import` finding (severity `high`) at the call
|
|
41
|
+
site — a live dependency might be missed, so `unreferenced-module` is not exhaustive
|
|
42
|
+
on that corpus. A *no-interpolation* template literal (`` import(`./x`) ``) is a
|
|
43
|
+
compile-time constant and resolves to an edge just like a quoted string.
|
|
44
|
+
|
|
45
|
+
Survey of other reference forms — verified against `clCollectFileInfo` (file-level
|
|
46
|
+
reachability, feeds `unreferenced-module`) and `clCollectFileReferences` (entity-level
|
|
47
|
+
reference set, feeds `orphaned-nodes`). Each form is handled or recorded as a gap:
|
|
48
|
+
|
|
49
|
+
- `require('./x')` — **handled**: `clDynamicImport` treats a static-string `require`
|
|
50
|
+
identically to `import()`; it records an import edge (computed → `unresolved-dynamic-import`).
|
|
51
|
+
- Re-export chains (`export {x} from './y'`, `export * from './y'`) — **handled**:
|
|
52
|
+
`clCollectFileInfo` reads the `source` field of an `export_statement` as an import edge,
|
|
53
|
+
so a barrel re-export marks its target live rather than dead.
|
|
54
|
+
- JSX usage (`<Component/>`) — **handled at the entity level**: `clCollectFileReferences`
|
|
55
|
+
collects `jsx_opening_element` / `jsx_self_closing_element` names as references, so a
|
|
56
|
+
component reached only through JSX is not orphaned. Correctly *not* a file-level edge —
|
|
57
|
+
JSX does not import; the component is in scope via a separate static import (already an
|
|
58
|
+
edge) or a same-file definition.
|
|
59
|
+
- Decorators (`@Foo`, `@Component()`) — **known gap at the entity level**: a decorator
|
|
60
|
+
does not import, so it is correctly absent from file-level reachability, but it is also
|
|
61
|
+
not collected by `clCollectFileReferences`, so a symbol referenced *only* as a decorator
|
|
62
|
+
can be misreported as orphaned. Decorator *table* extraction (`@Entity('tbl')`) is handled
|
|
63
|
+
separately by the schema analyzer (`extractDecoratorTables`); the decorator-reference gap
|
|
64
|
+
in the entity set is recorded here rather than claimed closed. No new reference form is
|
|
65
|
+
silently dropped.
|
|
66
|
+
|
|
67
|
+
### Follow-up — `unresolved-query` / `unresolved-dynamic-import` reclassified as coverage diagnostics
|
|
68
|
+
|
|
69
|
+
The two `high`-severity findings introduced above were on the wrong channel. They are
|
|
70
|
+
not defects — "the code is wrong" — they say "my visibility ends here," and every
|
|
71
|
+
severity in the findings model is blocking, so unresolvable-but-legitimate code
|
|
72
|
+
(`` import(path.join(...)) ``, SQL held in an imported constant) was gating edits it
|
|
73
|
+
could never fix. Both are moved to the diagnostics channel:
|
|
74
|
+
|
|
75
|
+
- `schema-code::unresolved-query` → `CoverageDiagnostic { analyzerName: 'schema', kind: 'unresolved-query' }`.
|
|
76
|
+
- `dependency-graph::unresolved-dynamic-import` → `CoverageDiagnostic { analyzerName: 'dependency-graph', kind: 'unresolved-dynamic-import' }`.
|
|
77
|
+
|
|
78
|
+
They land in `metadata.diagnostics`, still **visible, counted, with file + line**
|
|
79
|
+
(`details` carries the identifier/expression), rendered in the "Coverage gaps" report
|
|
80
|
+
section that leads the report, and carried through `changed --json` (whose output is now
|
|
81
|
+
a `{ violations, diagnostics }` envelope) — but they never gate. The two rules are
|
|
82
|
+
removed from the rule registry and the near-miss executor. This is a category boundary,
|
|
83
|
+
not a softening of the gate: a *finding* still says the code is wrong; a *diagnostic*
|
|
84
|
+
says the analyzer could not see.
|
|
85
|
+
|
|
86
|
+
## [3.9.10] — 2026-09-15
|
|
87
|
+
|
|
88
|
+
### The version a binary reports is now stamped at build time
|
|
89
|
+
|
|
90
|
+
`code-audit --version` (and every `toolVersion` in a report) read `package.json`
|
|
91
|
+
at runtime, so a stale build announced the source tree's version — a binary
|
|
92
|
+
running pre-3.9.4 analyzer code reported 3.9.9 and produced findings that looked
|
|
93
|
+
like eight rules reverting at once. The version is now a compile-time literal:
|
|
94
|
+
`scripts/write-version.mjs` stamps `package.json`'s version into
|
|
95
|
+
`src/version.generated.ts`, and the CLI, MCP server, audit runner, job service,
|
|
96
|
+
and installer read that. A stale binary now reports the version it actually is.
|
|
97
|
+
A new `version.spec.ts` fails the suite if a version bump is not rebuilt, so a
|
|
98
|
+
"lying binary" cannot ship.
|
|
99
|
+
|
|
100
|
+
### The plugin version pin actually fires
|
|
101
|
+
|
|
102
|
+
`assert_compatible` compared the plugin's bare semver (`3.9.9`) against the CLI's
|
|
103
|
+
full `--version` banner (`3.9.9 (sqlite: node-sqlite)`), so it could never match,
|
|
104
|
+
and it returned 0 on an empty result — a guard that can only fail, failing open.
|
|
105
|
+
That is why it never fired, and why it looked like it was working since 3.6.0.
|
|
106
|
+
The pin now extracts the semver from `--version`, compares semver-vs-semver, and
|
|
107
|
+
fails loudly (exit 1, naming both versions) on a mismatch or when either version
|
|
108
|
+
cannot be determined. The plugin cache ships no bundled `dist/` (marketplace
|
|
109
|
+
installs), so this pin is the guard for the global/PATH fallback.
|
|
110
|
+
|
|
111
|
+
### Diff detection no longer flakes on unchanged files
|
|
112
|
+
|
|
113
|
+
`detectModifiedFiles` compared a file's live mtime against a `last_modified`
|
|
114
|
+
timestamp recorded as wall clock at index time rather than the file's mtime —
|
|
115
|
+
an apples-to-oranges comparison that intermittently flagged an unchanged file as
|
|
116
|
+
modified. Indexing now stores the file's actual mtime, so the stored baseline is
|
|
117
|
+
the same value the check compares against and unchanged files round-trip cleanly.
|
|
118
|
+
|
|
5
119
|
## [3.9.9] — 2026-09-15
|
|
6
120
|
|
|
7
121
|
### Telemetry opt-in is a one-step toggle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleRegistry.d.ts","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/F;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"ruleRegistry.d.ts","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/F;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CA61DrE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAEnC,CAAC;AAET;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAMlD,CAAC;AAEF;;;GAGG;AACH,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAQ/F"}
|
|
@@ -993,6 +993,13 @@ export const RULE_REGISTRY = {
|
|
|
993
993
|
],
|
|
994
994
|
},
|
|
995
995
|
},
|
|
996
|
+
// Spec 58 R1 — DB-call SQL held in an unresolvable identifier (imported
|
|
997
|
+
// constant, computed/concatenated expression, call result) is no longer a
|
|
998
|
+
// violation rule. It moved to the coverage-diagnostics channel
|
|
999
|
+
// (`CoverageDiagnostic`, kind `unresolved-query`) — surfaced in the report
|
|
1000
|
+
// with file+line, never blocking. The registry entry is removed so
|
|
1001
|
+
// `buildCoverageReport` doesn't classify it `clean` (which would assert the
|
|
1002
|
+
// tool checked something it no longer checks as a finding).
|
|
996
1003
|
// ── react (reactAnalyzer) ───────────────────────────────────────────────
|
|
997
1004
|
'hooks-naming': {
|
|
998
1005
|
analyzer: 'react',
|
|
@@ -1516,6 +1523,11 @@ export const RULE_REGISTRY = {
|
|
|
1516
1523
|
],
|
|
1517
1524
|
},
|
|
1518
1525
|
},
|
|
1526
|
+
// Spec 58 R2 — a dynamic import()/require() with a computed (non-static)
|
|
1527
|
+
// specifier is no longer a violation rule. It moved to the coverage-
|
|
1528
|
+
// diagnostics channel (`CoverageDiagnostic`, kind `unresolved-dynamic-import`)
|
|
1529
|
+
// — surfaced with file+line, never blocking. Removed from the registry so
|
|
1530
|
+
// `buildCoverageReport` doesn't flip it to a false `clean`.
|
|
1519
1531
|
// ── styles (UniversalStylesAnalyzer) ─────────────────────────────────────
|
|
1520
1532
|
'styles/value-drift': {
|
|
1521
1533
|
analyzer: 'styles',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"AAmIA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgD;IACxE,2EAA2E;IAC3E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,gHAAgH;QACzH,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,0BAA0B,CAAC;QACvF,kBAAkB,EAAE,0OAA0O;QAC9P,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0FAA0F,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrH;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,6MAA6M;oBACnN,UAAU,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,+FAA+F,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;iBACtK;aACF;SACF;KACF;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yFAAyF;QAClG,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,CAAC,qBAAqB,CAAC;QACnC,kBAAkB,EAAE,2OAA2O;QAC/P,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+DAA+D,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1F;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kJAAkJ,EAAE;aAC7J;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6DAA6D;QACtE,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,6EAA6E,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iLAAiL,EAAE;aAC5L;SACF;KACF;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,6FAA6F;QACtG,IAAI,EAAE,6BAA6B;QACnC,2EAA2E;QAC3E,4EAA4E;QAC5E,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+DAA+D,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1F;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,qJAAqJ;oBAC3J,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,uFAAuF,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;iBACjK;aACF;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,iGAAiG;QAC1G,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,CAAC,mBAAmB,CAAC;QACjC,kBAAkB,EAAE,+PAA+P;QACnR,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0FAA0F,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrH;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,iiLAAiiL;oBACviL,UAAU,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,8FAA8F,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;iBAC1K;aACF;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,8GAA8G;QACvH,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,kBAAkB,EAAE,8HAA8H;QAClJ,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,iFAAiF;oBACvF,UAAU,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,8DAA8D,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;iBAC/J;aACF;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,sCAAsC;QAC/C,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,CAAC,qBAAqB,CAAC;QACnC,kBAAkB,EAAE,wJAAwJ;QAC5K,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iWAAiW,EAAE;aAC5W;SACF;KACF;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,8KAA8K;QAClM,OAAO,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,sJAAsJ;oBAC5J,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+SAA+S,EAAE;aAC1T;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,0OAA0O;QAC9P,OAAO,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,oRAAoR;oBAC1R,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0iBAA0iB,EAAE;aACrjB;SACF;KACF;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,uIAAuI;QAC3J,OAAO,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,0HAA0H;oBAChI,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wTAAwT,EAAE;aACnU;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,mGAAmG;oBACzG,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oGAAoG,EAAE;aAC/G;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,iFAAiF;QAC1F,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,8GAA8G,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzI;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4HAA4H,EAAE;aACvI;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8DAA8D;QACvE,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+DAA+D,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1F;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yEAAyE,EAAE;aACpF;SACF;KACF;IAED,2EAA2E;IAC3E,eAAe,EAAE;QACf,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,mFAAmF;QAC5F,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wEAAwE,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnG;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,4KAA4K;oBAClL,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gFAAgF,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;iBACzJ;aACF;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,2BAA2B;QACvC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oFAAoF;QAC7F,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,CAAC,qBAAqB,CAAC;QACnC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0EAA0E,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4HAA4H,EAAE;aACvI;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,2BAA2B;QACvC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,0GAA0G;QACnH,IAAI,EAAE,wBAAwB;QAC9B,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,UAAU,EAAE,CAAC,eAAe,CAAC;QAC7B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,oEAAoE;oBACpE,2DAA2D;oBAC3D,IAAI,EAAE,6GAA6G;oBACnH,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,6OAA6O;oBACnP,UAAU,EAAE;wBACV,MAAM,EAAE,2BAA2B;wBACnC,OAAO,EAAE,0IAA0I;wBACnJ,OAAO,EAAE,CAAC,oBAAoB,CAAC;qBAChC;iBACF;aACF;SACF;KACF;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,cAAc;QAC1B,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,sDAAsD;QAC/D,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mGAAmG,EAAE;aAC9G;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,cAAc;QAC1B,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0DAA0D,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wDAAwD,EAAE;aACnE;SACF;KACF;IAED,2EAA2E;IAC3E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wDAAwD,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,sDAAsD;oBAC5D,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sGAAsG,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;iBAC5K;aACF;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6DAA6D;QACtE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,8DAA8D,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,uDAAuD,EAAE;aAClE;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CAAC,wCAAwC,CAAC;QACtD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClE,EAAE,IAAI,EAAE,0EAA0E,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qFAAqF,EAAE;aAChG;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yDAAyD;QAClE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC3D,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC7E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+BAA+B,EAAE;aAC1C;SACF;KACF;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,gDAAgD;QACzD,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gEAAgE,EAAE;aAC3E;SACF;KACF;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0DAA0D,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mFAAmF,EAAE;aAC9F;SACF;KACF;IAED,2EAA2E;IAC3E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,uBAAuB;QACnC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,0HAA0H;QACnI,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,iFAAiF;gBACjF,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1D,kEAAkE;gBAClE,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChE;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,oCAAoC;oBAC1C,UAAU,EAAE;wBACV,MAAM,EAAE,yBAAyB;wBACjC,OAAO,EAAE,sIAAsI;wBAC/I,OAAO,EAAE,CAAC,UAAU,CAAC;qBACtB;iBACF;gBACD;oBACE,IAAI,EAAE,kDAAkD;oBACxD,UAAU,EAAE;wBACV,MAAM,EAAE,yBAAyB;wBACjC,OAAO,EAAE,yHAAyH;qBACnI;iBACF;aACF;SACF;KACF;IAED,0EAA0E;IAC1E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,CAAC,sBAAsB,CAAC;QACpC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2EAA2E,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE;aAChC;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,CAAC,sBAAsB,CAAC;QACpC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE;aAC9B;SACF;KACF;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kEAAkE;QAC3E,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wEAAwE,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yCAAyC,EAAE;aACpD;SACF;KACF;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uEAAuE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClG;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yCAAyC,EAAE;aACpD;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACpD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iBAAiB,EAAE;aAC5B;SACF;KACF;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,2CAA2C;QACpD,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,CAAC,sBAAsB,CAAC;QACpC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxC;SACF;KACF;IAED,2EAA2E;IAC3E,mEAAmE;IACnE,cAAc,EAAE;QACd,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE;aACpB;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wDAAwD,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oBAAoB,EAAE;aAC/B;SACF;KACF;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACrC;SACF;KACF;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oCAAoC,EAAE;aAC/C;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kDAAkD,EAAE;aAC7D;SACF;KACF;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,wCAAwC;QACjD,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAClC;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE;aAC9B;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,eAAe,EAAE;aAC1B;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACnC;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mDAAmD;QAC5D,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2BAA2B,EAAE;aACtC;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACnC;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,cAAc,EAAE;aACzB;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAC3B;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,cAAc,EAAE;aACzB;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gCAAgC,EAAE;aAC3C;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,IAAI,EAAE;aACf;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtC;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACrC;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,0DAA0D;QACnE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,sBAAsB,EAAE;aACjC;SACF;KACF;IACD,wEAAwE;IACxE,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mGAAmG;QAC5G,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,8CAA8C,EAAE;aACzD;SACF;KACF;IACD,sEAAsE;IACtE,yEAAyE;IACzE,yBAAyB,EAAE;QACzB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,wBAAwB;QACpC,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,wDAAwD;QACjE,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2CAA2C,EAAE;aACtD;SACF;KACF;IACD,8EAA8E;IAC9E,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,6EAA6E;QACtF,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5D;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,gCAAgC;oBACtC,UAAU,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,uEAAuE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;iBAChJ;aACF;SACF;KACF;IAED,2EAA2E;IAC3E,cAAc,EAAE;QACd,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,oDAAoD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qDAAqD,EAAE;aAChE;SACF;KACF;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8EAA8E;QACvF,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,kBAAkB,EAAE,uLAAuL;QAC3M,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uDAAuD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gJAAgJ,EAAE;aAC3J;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,kBAAkB;QAC9B,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,iDAAiD;QAC1D,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0FAA0F,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrH;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kDAAkD,EAAE;aAC7D;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE;aACpB;SACF;KACF;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,oBAAoB;QAChC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+EAA+E,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1G;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2DAA2D,EAAE;aACtE;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,qDAAqD;QAC9D,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE;aAChC;SACF;KACF;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,+DAA+D;QACxE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtE,EAAE,IAAI,EAAE,mDAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9E;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,4CAA4C;oBAClD,UAAU,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,kEAAkE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE;iBACxI;aACF;SACF;KACF;IAED,0EAA0E;IAC1E,cAAc,EAAE;QACd,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qDAAqD,EAAE;aAChE;SACF;KACF;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gCAAgC,EAAE;aAC3C;SACF;KACF;IAED,2EAA2E;IAC3E,gBAAgB,EAAE;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,8BAA8B,EAAE;aACzC;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC7D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iFAAiF,EAAE;aAC5F;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oCAAoC,EAAE;aAC/C;SACF;KACF;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oCAAoC,EAAE;aAC/C;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,qDAAqD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2BAA2B,EAAE;aACtC;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iCAAiC,EAAE;aAC5C;SACF;KACF;IAED,2EAA2E;IAC3E,mBAAmB,EAAE;QACnB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2DAA2D,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qDAAqD,EAAE;aAChE;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gCAAgC,EAAE;aAC3C;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0CAA0C,EAAE;aACrD;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACrC;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gCAAgC,EAAE;aAC3C;SACF;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxC;SACF;KACF;IAED,2EAA2E;IAC3E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,wCAAwC;QACjD,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,qDAAqD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qDAAqD,EAAE;aAChE;SACF;KACF;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE;aACpC;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,6LAA6L;QACjN,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+DAA+D,EAAE;aAC1E;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,sCAAsC;QAC/C,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+CAA+C,EAAE;aAC1D;SACF;KACF;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iFAAiF,EAAE;aAC5F;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+EAA+E,EAAE;aAC1F;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oCAAoC,EAAE;aAC/C;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACnC;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oGAAoG;QAC7G,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gDAAgD,EAAE;aAC3D;SACF;KACF;IAED,4EAA4E;IAC5E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uDAAuD;QAChE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAC9C,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACrC;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAClC;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,4DAA4D;QACrE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iEAAiE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5F;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,gEAAgE;oBACtE,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,uEAAuE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;iBAC/I;aACF;SACF;KACF;IACD,iCAAiC,EAAE;QACjC,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mCAAmC,EAAE;aAC9C;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4BAA4B,EAAE;aACvC;SACF;KACF;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yDAAyD;QAClE,IAAI,EAAE,gCAAgC;QACtC,UAAU,EAAE,CAAC,qCAAqC,CAAC;QACnD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+DAA+D,EAAE;aAC1E;SACF;KACF;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,wCAAwC;QACjD,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+DAA+D,EAAE;aAC1E;SACF;KACF;IACD,mCAAmC,EAAE;QACnC,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,CAAC,+BAA+B,EAAE,mCAAmC,CAAC;QAClF,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,wDAAwD,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnF;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gHAAgH,EAAE;aAC3H;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,CAAC,mBAAmB,CAAC;QACjC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/C;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gGAAgG,EAAE;aAC3G;SACF;KACF;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE;aAChC;SACF;KACF;IAED,4EAA4E;IAC5E,wBAAwB,EAAE;QACxB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,4DAA4D;QACrE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,CAAC,gBAAgB,CAAC;QAC9B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC7E;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,uJAAuJ;oBAC7J,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,oGAAoG,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;iBACnL;aACF;SACF;KACF;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2BAA2B,EAAE;aACtC;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4BAA4B,EAAE;aACvC;SACF;KACF;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3D;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE;aACpC;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACpD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAClC;SACF;KACF;IAED,6EAA6E;IAC7E,iCAAiC,EAAE;QACjC,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAClC;SACF;KACF;IACD,iCAAiC,EAAE;QACjC,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,IAAI,EAAE;aACzE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACnC;SACF;KACF;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,gCAAgC;QACtC,UAAU,EAAE,CAAC,6BAA6B,CAAC;QAC3C,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,mDAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9E;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4EAA4E,EAAE;aACvF;SACF;KACF;IACD,qCAAqC,EAAE;QACrC,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChE;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,aAAa,EAAE;aACxB;SACF;KACF;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvD;YACD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,oCAAoC,EAAE;aAC/C;SACF;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChE,CAAC,IAAI,EAAE,CAAC;AAET;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,OAAO;IACP,KAAK;IACL,eAAe;IACf,OAAO;IACP,aAAa;CACd,CAAC;AAgBF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAgB;IACpD,IAAI,CAAC,CAAC,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAI,CAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
24
24
|
readonly description = "Analyzes code against database schemas and validates JSON schemas";
|
|
25
25
|
readonly category = "database";
|
|
26
26
|
private _pendingSchemaRecords;
|
|
27
|
+
private _pendingDiagnostics;
|
|
27
28
|
/**
|
|
28
29
|
* Standalone analyze() override for backward compatibility with direct analyzer
|
|
29
30
|
* calls (e.g., tests and non-pipeline audit paths). All production analysis now
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAA8B,cAAc,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAA8B,cAAc,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAC;AAC7H,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAa9E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAsB3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,CAAC;AACF,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,GACT,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,uEAAuE;IAC3F,QAAQ,CAAC,QAAQ,cAAc;IAI/B,OAAO,CAAC,qBAAqB,CAAmF;IAIhH,OAAO,CAAC,mBAAmB,CAA4B;IAEvD;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAwBnE;IAKD,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA4CtB;IAED;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAAE,GAC3B,IAAI,CA0BN;IAED;;;OAGG;IACH,uBAAuB,IAAI;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAIzE;CAEF;AAuID,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -20,7 +20,7 @@ import { makeVisitorStatus } from '../../pipeline.js';
|
|
|
20
20
|
// and UniversalDataAccessAnalyzer.ts import from this module).
|
|
21
21
|
import { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, } from './schema/migrations.js';
|
|
22
22
|
import { DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, } from './schema/config.js';
|
|
23
|
-
import { findTableReferences, checkMissingReferences, checkNamingConventions, checkQueryPatterns, checkSQLInjection, findClosestNodeAt, findEnclosingFunctionName, } from './schema/codeAnalysis.js';
|
|
23
|
+
import { findTableReferences, checkMissingReferences, checkUnresolvedQueries, checkNamingConventions, checkQueryPatterns, checkSQLInjection, findClosestNodeAt, findEnclosingFunctionName, } from './schema/codeAnalysis.js';
|
|
24
24
|
import { discoverTablesFromMigrations, discoverTablesFromWrangler, discoverTablesFromSchemaFiles, discoverTablesFromOrmSchemas, passesFileGate, anyFileHasDbContext, } from './schema/discovery.js';
|
|
25
25
|
export { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, };
|
|
26
26
|
/**
|
|
@@ -33,6 +33,9 @@ export class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
33
33
|
// Spec 25 B4 — Queue schema records for the pipeline to write after stage 2.
|
|
34
34
|
// Was: direct CodeIndexDB.getInstance() call in recordTableUsage.
|
|
35
35
|
_pendingSchemaRecords = { clearFiles: [], usages: [] };
|
|
36
|
+
// Spec 58 follow-up — coverage diagnostics accumulated by analyzeAST() and
|
|
37
|
+
// drained by analyze() (mirrors the _pendingSchemaRecords side-channel).
|
|
38
|
+
_pendingDiagnostics = [];
|
|
36
39
|
/**
|
|
37
40
|
* Standalone analyze() override for backward compatibility with direct analyzer
|
|
38
41
|
* calls (e.g., tests and non-pipeline audit paths). All production analysis now
|
|
@@ -47,10 +50,12 @@ export class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
47
50
|
const codeFiles = files.filter(f => !f.endsWith('.json'));
|
|
48
51
|
// Auto-discover known tables when no schemas are configured.
|
|
49
52
|
config = await resolveSchemasViaAutoDiscovery(config, codeFiles);
|
|
53
|
+
this._pendingDiagnostics = [];
|
|
50
54
|
const codeResult = codeFiles.length > 0
|
|
51
55
|
? await super.analyze(codeFiles, config)
|
|
52
56
|
: emptySchemaResult(this.name);
|
|
53
57
|
const jsonResult = analyzeJsonFiles(jsonFiles, config, this.name);
|
|
58
|
+
const diagnostics = this._pendingDiagnostics.splice(0);
|
|
54
59
|
return {
|
|
55
60
|
violations: [...codeResult.violations, ...jsonResult.violations],
|
|
56
61
|
executionTime: (codeResult.executionTime || 0) + (jsonResult.executionTime || 0),
|
|
@@ -58,6 +63,7 @@ export class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
58
63
|
analyzerName: this.name,
|
|
59
64
|
errors: [...(codeResult.errors || []), ...(jsonResult.errors || [])],
|
|
60
65
|
filesProcessed: (codeResult.filesProcessed ?? 0) + (jsonResult.filesProcessed ?? 0),
|
|
66
|
+
...(diagnostics.length > 0 && { diagnostics }),
|
|
61
67
|
};
|
|
62
68
|
}
|
|
63
69
|
// analyzeAST is required by the protected abstract in UniversalAnalyzer.
|
|
@@ -78,19 +84,22 @@ export class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
78
84
|
return violations;
|
|
79
85
|
}
|
|
80
86
|
// R2.1 — AST-based table reference extraction (replaces legacy regex scan-all-strings)
|
|
81
|
-
const tableRefs = findTableReferences(ast, adapter, sourceCode, { config: finalConfig, provenanceContext, allTables });
|
|
87
|
+
const { references: tableRefs, unresolved } = findTableReferences(ast, adapter, sourceCode, { config: finalConfig, provenanceContext, allTables });
|
|
82
88
|
// Spec 15 R1 — Record schema usage for cross-domain lifecycle analysis.
|
|
83
89
|
if (finalConfig.enableTableUsageTracking) {
|
|
84
90
|
this.recordTableUsage(ast, adapter, ast.filePath, tableRefs);
|
|
85
91
|
}
|
|
86
|
-
|
|
92
|
+
const diagnostics = [];
|
|
93
|
+
appendSchemaViolations(violations, diagnostics, {
|
|
87
94
|
ast,
|
|
88
95
|
adapter,
|
|
89
96
|
sourceCode,
|
|
90
97
|
config: finalConfig,
|
|
91
98
|
tableRefs,
|
|
99
|
+
unresolved,
|
|
92
100
|
allTables,
|
|
93
101
|
});
|
|
102
|
+
this._pendingDiagnostics.push(...diagnostics);
|
|
94
103
|
return violations;
|
|
95
104
|
}
|
|
96
105
|
/**
|
|
@@ -231,12 +240,17 @@ function collectAllTableNames(schemas) {
|
|
|
231
240
|
}
|
|
232
241
|
return allTables;
|
|
233
242
|
}
|
|
234
|
-
function appendSchemaViolations(violations, ctx) {
|
|
235
|
-
const { ast, adapter, sourceCode, config, tableRefs, allTables } = ctx;
|
|
243
|
+
function appendSchemaViolations(violations, diagnostics, ctx) {
|
|
244
|
+
const { ast, adapter, sourceCode, config, tableRefs, unresolved, allTables } = ctx;
|
|
236
245
|
// Check for missing table references — R2.4: Levenshtein suggestions
|
|
237
246
|
if (config.checkMissingReferences) {
|
|
238
247
|
violations.push(...withRuleTiming('unknown-table', () => checkMissingReferences(tableRefs, allTables, ast.filePath)));
|
|
239
248
|
}
|
|
249
|
+
// Spec 58 R1 — DB-call SQL held in an unresolvable identifier is a coverage
|
|
250
|
+
// diagnostic (the analyzer can't see the SQL), not a finding (the code isn't wrong).
|
|
251
|
+
if (config.reportUnresolvedQueries !== false) {
|
|
252
|
+
diagnostics.push(...checkUnresolvedQueries(unresolved, ast.filePath));
|
|
253
|
+
}
|
|
240
254
|
if (config.checkNamingConventions) {
|
|
241
255
|
violations.push(...checkNamingConventions(tableRefs, ast.filePath));
|
|
242
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSchemaAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,yEAAyE;AACzE,uEAAuE;AACvE,8EAA8E;AAC9E,+EAA+E;AAC/E,+DAA+D;AAC/D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"UniversalSchemaAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* identical to the original class method (minus `this`). Violations are built
|
|
9
9
|
* with `createSchemaViolation` instead of `this.createViolation`.
|
|
10
10
|
*/
|
|
11
|
-
import type { Violation } from '../../../types.js';
|
|
11
|
+
import type { Violation, CoverageDiagnostic } from '../../../types.js';
|
|
12
12
|
import type { AST, LanguageAdapter, ASTNode } from '../../../languages/types.js';
|
|
13
13
|
import { type ProvenanceContext } from '../../provenance.js';
|
|
14
14
|
import type { SchemaAnalyzerConfig, TableReference } from './types.js';
|
|
@@ -21,6 +21,29 @@ export interface FindTableReferencesContext {
|
|
|
21
21
|
provenanceContext?: ProvenanceContext;
|
|
22
22
|
allTables?: Set<string>;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* A DB-call whose SQL argument is held in an identifier we cannot statically
|
|
26
|
+
* resolve (imported constant, computed/concatenated expression, call result).
|
|
27
|
+
* The query's table read/write status is unknown — reported as an
|
|
28
|
+
* `unresolved-query` finding rather than silently treated as "no tables".
|
|
29
|
+
*/
|
|
30
|
+
export interface UnresolvedQuery {
|
|
31
|
+
/** The identifier text at the call site (e.g. `UPSERT_SQL`). */
|
|
32
|
+
identifier: string;
|
|
33
|
+
/** The call-site location. */
|
|
34
|
+
location: {
|
|
35
|
+
line: number;
|
|
36
|
+
column: number;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Bundled result of `findTableReferences`: extracted table references plus any
|
|
41
|
+
* unresolvable DB-call SQL arguments encountered during extraction.
|
|
42
|
+
*/
|
|
43
|
+
export interface TableReferenceResult {
|
|
44
|
+
references: TableReference[];
|
|
45
|
+
unresolved: UnresolvedQuery[];
|
|
46
|
+
}
|
|
24
47
|
/**
|
|
25
48
|
* Extract table references from a TypeScript/JavaScript AST.
|
|
26
49
|
*
|
|
@@ -33,7 +56,7 @@ export interface FindTableReferencesContext {
|
|
|
33
56
|
* @param ctx Bundled config / provenance / known-table catalog.
|
|
34
57
|
* @returns Table references extracted via all four strategies.
|
|
35
58
|
*/
|
|
36
|
-
export declare function findTableReferences(ast: AST, adapter: LanguageAdapter, sourceCode: string, ctx: FindTableReferencesContext):
|
|
59
|
+
export declare function findTableReferences(ast: AST, adapter: LanguageAdapter, sourceCode: string, ctx: FindTableReferencesContext): TableReferenceResult;
|
|
37
60
|
/**
|
|
38
61
|
* Parse a SQL string (possibly with template expressions) into table references.
|
|
39
62
|
*
|
|
@@ -165,6 +188,25 @@ export declare function getTemplateText(node: ASTNode, adapter: LanguageAdapter,
|
|
|
165
188
|
* @returns The unquoted string/template argument, or null when absent.
|
|
166
189
|
*/
|
|
167
190
|
export declare function getFirstStringArgument(node: ASTNode, adapter: LanguageAdapter, sourceCode: string): string | null;
|
|
191
|
+
/**
|
|
192
|
+
* Get the first identifier argument of a call expression, or null when the
|
|
193
|
+
* first argument is not a bare identifier (string/template literals, member
|
|
194
|
+
* expressions, etc. are excluded — those are handled by other paths).
|
|
195
|
+
*
|
|
196
|
+
* @param node The call_expression node.
|
|
197
|
+
* @param adapter The language adapter for the file's syntax.
|
|
198
|
+
* @returns The first identifier argument node, or null.
|
|
199
|
+
*/
|
|
200
|
+
export declare function getFirstIdentifierArgument(node: ASTNode, adapter: LanguageAdapter): ASTNode | null;
|
|
201
|
+
/**
|
|
202
|
+
* Build `unresolved-query` coverage diagnostics for DB calls whose SQL argument
|
|
203
|
+
* could not be statically resolved. Reporting (rather than skipping) is what
|
|
204
|
+
* keeps the read/written-never lifecycle rules from silently over-claiming on a
|
|
205
|
+
* file whose DB access is only partly visible. These are diagnostics — "the
|
|
206
|
+
* tool could not see this query" — not findings that the code is wrong, so they
|
|
207
|
+
* are non-blocking (see CoverageDiagnostic).
|
|
208
|
+
*/
|
|
209
|
+
export declare function checkUnresolvedQueries(unresolved: UnresolvedQuery[], filePath: string): CoverageDiagnostic[];
|
|
168
210
|
/**
|
|
169
211
|
* Check if a callee is a DB member call like db.exec, database.query, etc.
|
|
170
212
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"codeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}
|