gravito-eval 0.1.0 → 0.2.1

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 CHANGED
@@ -1,136 +1,232 @@
1
1
  # Gravito Eval
2
2
 
3
- Measure how closely your AI matches human judgment and where it finds things humans missed.
3
+ Scan any website in seconds. See what's wrong, what's missing, and what a human reviewer would miss.
4
4
 
5
- ```bash
6
- npx gravito-eval run ./examples/basic
7
5
  ```
8
-
6
+ npx gravito-eval scan https://stripe.com
9
7
  ```
10
- Gravito Eval Results
11
8
 
12
- Recall: 75%
13
- Precision: 50%
14
- F1: 60%
9
+ ---
15
10
 
16
- Top-3 Agreement: 100%
17
- Novel Signal: 67% (validated)
11
+ ## What You Get
18
12
 
19
- Interpretation:
20
- - Strong alignment with human judgment
21
- - AI found significant issues humans missed
22
13
  ```
14
+ Gravito Eval Results
15
+ ──────────────────────────────────────────────────
23
16
 
24
- ---
17
+ Score: 72/100 C Grade
18
+ Site: https://stripe.com
19
+
20
+ ████████████████████░░░░░░░░░░ 72%
21
+
22
+ vs Fintech & Financial Services: top 34% (avg: 58)
23
+
24
+ Key Issues
25
+ ──────────────────────────────────────────────────
26
+
27
+ HIGH Unsubstantiated Claim
28
+ → "Trusted by millions of businesses" — no source, no verification
29
+ Fix: Add a verifiable source or rephrase as a qualified statement
30
+
31
+ MEDIUM Banned Vocabulary
32
+ → "cutting edge" — vague superlative
33
+ Fix: Replace with specific, measurable language
25
34
 
26
- ## What this tells you
35
+ MEDIUM Missing Disclaimers
36
+ → No disclaimers detected for financial service claims
37
+ Fix: Review content for missing disclaimers
27
38
 
28
- Your AI found 75% of what humans found (Recall).
29
- Half of what it flagged was relevant (Precision).
30
- And 67% of its unique findings were genuinely useful (Novel Signal).
39
+ Additional Insights Gravito Found
40
+ ──────────────────────────────────────────────────
41
+ Overclaiming
42
+ ◆ Missing Citations
43
+ ◆ Unapproved Claims
31
44
 
32
- That means your AI is catching real issues humans miss — but also generating some noise.
45
+ ──────────────────────────────────────────────────
46
+ Share: https://gravito.ai/try/report/a1b2c3d4
47
+
48
+ Analyzed in 8.2s · Gravito Engine · 10 issues found
49
+ ```
50
+
51
+ Every scan produces a shareable link.
33
52
 
34
53
  ---
35
54
 
36
- ## Install
55
+ ## Try It
37
56
 
38
57
  ```bash
39
- npm install gravito-eval
58
+ npx gravito-eval scan https://stripe.com
59
+ npx gravito-eval scan https://openai.com
60
+ npx gravito-eval scan https://your-site.com
40
61
  ```
41
62
 
42
- Or run directly:
63
+ No install. No API keys. No setup.
64
+
65
+ ---
66
+
67
+ ## Demo Mode
68
+
69
+ See a walkthrough with explanations:
43
70
 
44
71
  ```bash
45
- npx gravito-eval run ./your-data.json
72
+ npx gravito-eval demo
46
73
  ```
47
74
 
48
75
  ---
49
76
 
50
- ## Input format
77
+ ## What This Does
78
+
79
+ Gravito Eval analyzes a real website and shows:
80
+
81
+ - How closely it matches human-quality governance judgment
82
+ - Where the gaps are (unsubstantiated claims, missing disclaimers, banned vocabulary)
83
+ - What improvements a human reviewer would miss
84
+
85
+ It runs the same engine that powers [Gravito](https://gravito.ai) — a governance layer for AI outputs and digital surfaces.
86
+
87
+ ---
88
+
89
+ ## Why This Is Different
90
+
91
+ Most tools tell you **what** is wrong.
92
+
93
+ Gravito Eval tells you:
94
+
95
+ - **How aligned** your content is with governance best practices
96
+ - **Where it disagrees** with what a human reviewer would flag
97
+ - **Whether those disagreements are valuable** — sometimes the AI catches things humans miss
98
+
99
+ ---
100
+
101
+ ## Use Cases
102
+
103
+ | Use Case | What You Get |
104
+ |---|---|
105
+ | **Scan your landing page** | Governance score, issues, fixes, industry benchmark |
106
+ | **Evaluate LLM outputs** | Alignment metrics, novel signal detection |
107
+ | **Compare prompts** | Run the same content through different prompts, compare scores |
108
+ | **QA AI features** | Check if your AI-generated content meets governance standards |
109
+ | **Audit competitor pages** | See how your site compares to competitors in your industry |
110
+
111
+ ---
112
+
113
+ ## Local Evaluation Mode
114
+
115
+ Already have findings from your own AI system? Compare them against a human baseline:
116
+
117
+ ```bash
118
+ npx gravito-eval run ./my-findings.json
119
+ ```
120
+
121
+ Input format:
51
122
 
52
123
  ```json
53
124
  {
54
125
  "aiFindings": [
55
- { "id": "ai-1", "description": "Missing CTA", "category": "conversion", "severity": "high" }
126
+ {
127
+ "id": "ai-1",
128
+ "description": "Hero section uses unsubstantiated claim",
129
+ "category": "trust",
130
+ "severity": "high"
131
+ }
56
132
  ],
57
133
  "humanFindings": [
58
- { "id": "h-1", "description": "No clear action", "category": "conversion", "severity": "high" }
134
+ {
135
+ "id": "human-1",
136
+ "description": "Misleading statistic in hero",
137
+ "category": "trust",
138
+ "severity": "high"
139
+ }
59
140
  ]
60
141
  }
61
142
  ```
62
143
 
63
- Save as `input.json` in a directory, then run:
144
+ Output:
64
145
 
65
- ```bash
66
- gravito-eval run ./my-directory
67
146
  ```
147
+ Recall: 75%
148
+ Precision: 50%
149
+ F1: 60%
150
+ Top-3 Agreement: 100%
151
+ Novel Signal: 67% (validated)
152
+
153
+ ✓ Strong alignment with human judgment
154
+ ◆ AI found significant issues humans missed
155
+ Verdict: PASS
156
+ ```
157
+
158
+ Add `--explain` for detailed match reasoning. Add `--json` for raw output.
68
159
 
69
160
  ---
70
161
 
71
- ## Flags
162
+ ## How It Works
72
163
 
73
- ```bash
74
- gravito-eval run <path> --explain # Show why each match was made
75
- gravito-eval run <path> --json # Raw JSON output
76
- gravito-eval run <path> --no-telemetry
164
+ ```
165
+ URL Fetch Content Governance Analysis Industry Benchmark → Score + Issues + Fixes
166
+
167
+ 5 analysis frameworks:
168
+ • Claim verification
169
+ • Vocabulary compliance
170
+ • Disclosure detection
171
+ • Pattern recognition
172
+ • Brand governance
77
173
  ```
78
174
 
79
- ---
80
-
81
- ## Programmatic API
175
+ The analysis runs server-side on the Gravito engine. No local LLM required.
82
176
 
83
- ```typescript
84
- import { evaluate } from "gravito-eval";
177
+ ---
85
178
 
86
- const result = evaluate(aiFindings, humanFindings);
179
+ ## CLI Reference
87
180
 
88
- result.detection.recall // How much of what humans find does the AI catch?
89
- result.detection.precision // How much of what the AI finds is actually relevant?
90
- result.detection.f1 // Harmonic mean
91
- result.novelSignal // What did the AI find that humans missed?
92
- result.verdict // PASS | PARTIAL | FAIL | INSUFFICIENT_DATA
181
+ ```
182
+ gravito-eval scan <url> Scan a live URL
183
+ gravito-eval scan <url> --json Output raw JSON
184
+ gravito-eval demo See a demo with explanations
185
+ gravito-eval run <path> Evaluate local findings
186
+ gravito-eval run <path> --explain Show detailed match reasoning
187
+ gravito-eval run <path> --json Output raw JSON
188
+ gravito-eval --help Show help
189
+ gravito-eval --version Show version
93
190
  ```
94
191
 
95
192
  ---
96
193
 
97
- ## What this is for
194
+ ## Requirements
98
195
 
99
- - Evaluating LLM outputs against human baselines
100
- - QA for AI agents (code review, content audit, compliance)
101
- - Measuring whether your AI is useful, not just accurate
196
+ - Node.js 18+
197
+ - Internet connection (for `scan` command)
102
198
 
103
199
  ---
104
200
 
105
- ## What this is NOT
201
+ ## Telemetry
106
202
 
107
- This does not generate outputs, fix issues, or run workflows.
108
- It **measures** and **evaluates**.
203
+ Anonymous usage data (timestamp, version, command name) is collected to improve the tool. No findings, file paths, or PII.
204
+
205
+ Disable: `GRAVITO_TELEMETRY=0 gravito-eval run ./data` or set `DO_NOT_TRACK=1`.
109
206
 
110
207
  ---
111
208
 
112
- ## Telemetry
209
+ ## Programmatic API
113
210
 
114
- Anonymous usage data (timestamp, version, command name) is collected to improve the tool.
115
- No findings, file paths, or PII.
211
+ ```typescript
212
+ import { evaluate } from "gravito-eval";
116
213
 
117
- Disable:
214
+ const result = evaluate(aiFindings, humanFindings);
118
215
 
119
- ```bash
120
- GRAVITO_TELEMETRY=0 gravito-eval run ./data
216
+ result.detection.recall // How much of what humans find does the AI catch?
217
+ result.detection.precision // How much of what the AI finds is actually relevant?
218
+ result.detection.f1 // Harmonic mean
219
+ result.novelSignal // What did the AI find that humans missed?
220
+ result.verdict // PASS | PARTIAL | FAIL | INSUFFICIENT_DATA
121
221
  ```
122
222
 
123
- Respects `DO_NOT_TRACK=1`.
124
-
125
223
  ---
126
224
 
127
- ## Gravito
128
-
129
- This is the open-source evaluation layer behind [Gravito](https://gravito.ai) — continuous AI governance that scans, calibrates, and self-corrects.
225
+ ## Continuous Monitoring
130
226
 
131
- **Want this running continuously on your system?**
227
+ Want this running continuously on your site?
132
228
 
133
- [Request a pilot →](https://gravito.ai/pilot)
229
+ [Gravito](https://gravito.ai) provides always-on governance monitoring, automated alerts, and team dashboards.
134
230
 
135
231
  ---
136
232
 
@@ -3,12 +3,14 @@
3
3
  * Gravito Eval CLI
4
4
  *
5
5
  * Usage:
6
- * gravito-eval run <path> Run evaluation
7
- * gravito-eval run <path> --explain Show detailed match reasoning
8
- * gravito-eval run <path> --json Output raw JSON
9
- * gravito-eval run <path> --no-telemetry Disable anonymous usage tracking
10
- * gravito-eval --help Show help
11
- * gravito-eval --version Show version
6
+ * gravito-eval scan <url> Scan a live URL
7
+ * gravito-eval demo Run a preloaded demo
8
+ * gravito-eval run <path> Evaluate local findings
9
+ * gravito-eval run <path> --explain Show detailed match reasoning
10
+ * gravito-eval run <path> --json Output raw JSON
11
+ * gravito-eval run <path> --no-telemetry Disable anonymous tracking
12
+ * gravito-eval --help Show help
13
+ * gravito-eval --version Show version
12
14
  */
13
15
  export {};
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
package/dist/cli/index.js CHANGED
@@ -4,12 +4,14 @@
4
4
  * Gravito Eval CLI
5
5
  *
6
6
  * Usage:
7
- * gravito-eval run <path> Run evaluation
8
- * gravito-eval run <path> --explain Show detailed match reasoning
9
- * gravito-eval run <path> --json Output raw JSON
10
- * gravito-eval run <path> --no-telemetry Disable anonymous usage tracking
11
- * gravito-eval --help Show help
12
- * gravito-eval --version Show version
7
+ * gravito-eval scan <url> Scan a live URL
8
+ * gravito-eval demo Run a preloaded demo
9
+ * gravito-eval run <path> Evaluate local findings
10
+ * gravito-eval run <path> --explain Show detailed match reasoning
11
+ * gravito-eval run <path> --json Output raw JSON
12
+ * gravito-eval run <path> --no-telemetry Disable anonymous tracking
13
+ * gravito-eval --help Show help
14
+ * gravito-eval --version Show version
13
15
  */
14
16
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
17
  if (k2 === undefined) k2 = k;
@@ -47,87 +49,473 @@ var __importStar = (this && this.__importStar) || (function () {
47
49
  Object.defineProperty(exports, "__esModule", { value: true });
48
50
  const fs = __importStar(require("fs"));
49
51
  const path = __importStar(require("path"));
52
+ const https = __importStar(require("https"));
53
+ const http = __importStar(require("http"));
50
54
  const calibration_1 = require("../src/calibration");
51
55
  const telemetry_1 = require("../src/telemetry");
52
- // ─── Helpers ──────────────────────────────────────────────────────────────
56
+ // ─── Constants ───────────────────────────────────────────────────────────
57
+ const API_BASE = process.env.GRAVITO_API_URL || "https://empathiq-api-hbjrlavx.manus.space";
58
+ const SHARE_BASE = "https://gravito.ai/try/report";
59
+ // ─── Color Helpers ───────────────────────────────────────────────────────
60
+ const isColorSupported = process.stdout.isTTY && !process.env.NO_COLOR;
61
+ const c = {
62
+ bold: (s) => (isColorSupported ? `\x1b[1m${s}\x1b[0m` : s),
63
+ dim: (s) => (isColorSupported ? `\x1b[2m${s}\x1b[0m` : s),
64
+ green: (s) => (isColorSupported ? `\x1b[32m${s}\x1b[0m` : s),
65
+ red: (s) => (isColorSupported ? `\x1b[31m${s}\x1b[0m` : s),
66
+ yellow: (s) => (isColorSupported ? `\x1b[33m${s}\x1b[0m` : s),
67
+ cyan: (s) => (isColorSupported ? `\x1b[36m${s}\x1b[0m` : s),
68
+ magenta: (s) => (isColorSupported ? `\x1b[35m${s}\x1b[0m` : s),
69
+ gray: (s) => (isColorSupported ? `\x1b[90m${s}\x1b[0m` : s),
70
+ white: (s) => (isColorSupported ? `\x1b[37m${s}\x1b[0m` : s),
71
+ bgRed: (s) => (isColorSupported ? `\x1b[41m\x1b[37m${s}\x1b[0m` : s),
72
+ bgYellow: (s) => isColorSupported ? `\x1b[43m\x1b[30m${s}\x1b[0m` : s,
73
+ bgGreen: (s) => isColorSupported ? `\x1b[42m\x1b[30m${s}\x1b[0m` : s,
74
+ bgCyan: (s) => isColorSupported ? `\x1b[46m\x1b[30m${s}\x1b[0m` : s,
75
+ };
76
+ // ─── Spinner ─────────────────────────────────────────────────────────────
77
+ class Spinner {
78
+ interval = null;
79
+ start(message) {
80
+ process.stdout.write(` ${message}`);
81
+ this.interval = setInterval(() => {
82
+ process.stdout.write(`.`);
83
+ }, 2000);
84
+ }
85
+ stop(message) {
86
+ if (this.interval) {
87
+ clearInterval(this.interval);
88
+ this.interval = null;
89
+ }
90
+ console.log();
91
+ if (message) {
92
+ console.log(message);
93
+ }
94
+ }
95
+ }
96
+ // ─── Helpers ─────────────────────────────────────────────────────────────
53
97
  function pct(n) {
54
98
  return `${Math.round(n * 100)}%`;
55
99
  }
56
- // ─── Output Formatting ────────────────────────────────────────────────────
100
+ function severityBadge(severity) {
101
+ switch (severity) {
102
+ case "critical":
103
+ return c.bgRed(" CRITICAL ");
104
+ case "high":
105
+ return c.red("HIGH");
106
+ case "medium":
107
+ return c.yellow("MEDIUM");
108
+ case "low":
109
+ return c.dim("LOW");
110
+ default:
111
+ return severity;
112
+ }
113
+ }
114
+ function scoreColor(score) {
115
+ if (score >= 80)
116
+ return c.green;
117
+ if (score >= 60)
118
+ return c.yellow;
119
+ if (score >= 40)
120
+ return c.yellow;
121
+ return c.red;
122
+ }
123
+ function gradeEmoji(grade) {
124
+ switch (grade) {
125
+ case "A":
126
+ return "🟢";
127
+ case "B":
128
+ return "🟡";
129
+ case "C":
130
+ return "🟠";
131
+ case "D":
132
+ return "🔴";
133
+ case "F":
134
+ return "🔴";
135
+ default:
136
+ return "⚪";
137
+ }
138
+ }
139
+ function bar(value, width = 20) {
140
+ const filled = Math.round((value / 100) * width);
141
+ const empty = width - filled;
142
+ const color = scoreColor(value);
143
+ return color("█".repeat(filled)) + c.dim("░".repeat(empty));
144
+ }
145
+ function httpPost(url, data) {
146
+ return new Promise((resolve, reject) => {
147
+ const payload = JSON.stringify(data);
148
+ const parsed = new URL(url);
149
+ const lib = parsed.protocol === "https:" ? https : http;
150
+ const req = lib.request({
151
+ hostname: parsed.hostname,
152
+ port: parsed.port || (parsed.protocol === "https:" ? 443 : 80),
153
+ path: parsed.pathname + parsed.search,
154
+ method: "POST",
155
+ headers: {
156
+ "Content-Type": "application/json",
157
+ "Content-Length": Buffer.byteLength(payload),
158
+ "User-Agent": "gravito-eval-cli",
159
+ },
160
+ timeout: 120000, // 2 min — scans take time
161
+ }, (res) => {
162
+ let body = "";
163
+ res.on("data", (chunk) => (body += chunk.toString()));
164
+ res.on("end", () => resolve({ status: res.statusCode || 0, body }));
165
+ });
166
+ req.on("error", reject);
167
+ req.on("timeout", () => {
168
+ req.destroy();
169
+ reject(new Error("Request timed out (120s)"));
170
+ });
171
+ req.write(payload);
172
+ req.end();
173
+ });
174
+ }
175
+ function filterIssuesForDisplay(issues) {
176
+ return issues.filter(issue => {
177
+ // Filter out system/internal errors
178
+ if (issue.category === 'system' || issue.title === 'System')
179
+ return false;
180
+ if (issue.description.toLowerCase().includes('sentinel checks could not'))
181
+ return false;
182
+ if (issue.description.toLowerCase().includes('system error'))
183
+ return false;
184
+ // Filter out generic "Pattern detected" filler issues
185
+ if (issue.description.startsWith('Pattern detected:'))
186
+ return false;
187
+ return true;
188
+ });
189
+ }
190
+ function printScanResult(result) {
191
+ // Filter issues before display
192
+ const displayIssues = filterIssuesForDisplay(result.issues);
193
+ const sc = scoreColor(result.overallScore);
194
+ console.log();
195
+ console.log(c.bold(" Gravito Eval Results"));
196
+ console.log(c.dim(" " + "─".repeat(50)));
197
+ console.log();
198
+ // Score + Grade
199
+ console.log(` ${c.dim("Score:")} ${sc(c.bold(String(result.overallScore)))}${c.dim("/100")} ${gradeEmoji(result.grade)} ${c.bold(result.grade)} Grade`);
200
+ console.log(` ${c.dim("Site:")} ${c.cyan(result.url)}`);
201
+ if (result.pageTitle) {
202
+ console.log(` ${c.dim("Title:")} ${result.pageTitle}`);
203
+ }
204
+ console.log();
205
+ // Score bar
206
+ console.log(` ${bar(result.overallScore, 30)} ${sc(String(result.overallScore) + "%")}`);
207
+ console.log();
208
+ // Benchmark
209
+ if (result.benchmark) {
210
+ const b = result.benchmark;
211
+ console.log(` ${c.dim("vs")} ${b.industryLabel}: ${c.bold("top " + (100 - b.percentileRank) + "%")} ${c.dim("(avg: " + b.industryAvg + ")")}`);
212
+ console.log();
213
+ }
214
+ // Key Issues
215
+ if (displayIssues.length > 0) {
216
+ console.log(c.bold(" Key Issues"));
217
+ console.log(c.dim(" " + "─".repeat(50)));
218
+ const topIssues = displayIssues.slice(0, 6);
219
+ for (const issue of topIssues) {
220
+ console.log();
221
+ console.log(` ${severityBadge(issue.severity)} ${c.bold(issue.title)}`);
222
+ console.log(` ${c.dim("→")} ${issue.description}`);
223
+ console.log(` ${c.green("Fix:")} ${issue.fix}`);
224
+ }
225
+ if (displayIssues.length > 6) {
226
+ console.log();
227
+ console.log(c.dim(` + ${displayIssues.length - 6} more issues in full report`));
228
+ }
229
+ console.log();
230
+ }
231
+ // Novel Insights (patterns)
232
+ if (result.patternsDetected.length > 0) {
233
+ console.log(c.bold(" Additional Insights Gravito Found"));
234
+ console.log(c.dim(" " + "─".repeat(50)));
235
+ for (const pattern of result.patternsDetected) {
236
+ console.log(` ${c.magenta("◆")} ${pattern.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())}`);
237
+ }
238
+ console.log();
239
+ }
240
+ // Projection
241
+ if (result.projection) {
242
+ console.log(c.bold(" What This Means"));
243
+ console.log(c.dim(" " + "─".repeat(50)));
244
+ console.log(` ${result.projection.summary}`);
245
+ console.log(` ${c.dim("Time to fix:")} ${result.projection.timeToFix}`);
246
+ console.log();
247
+ }
248
+ // Shareable link
249
+ console.log(c.dim(" " + "─".repeat(50)));
250
+ console.log(` ${c.bold("Share:")} ${c.cyan(`${SHARE_BASE}/${result.reportId}`)}`);
251
+ console.log();
252
+ // Next step — subtle, not salesy
253
+ console.log(c.dim(" Try another site:"));
254
+ console.log(c.dim(" npx gravito-eval scan https://your-site.com"));
255
+ console.log();
256
+ // Analysis meta
257
+ console.log(c.dim(` Analyzed in ${(result.analysisTimeMs / 1000).toFixed(1)}s · ${result.engineUsed} · ${displayIssues.length} issues found`));
258
+ console.log();
259
+ }
260
+ async function runScan(url, jsonOutput) {
261
+ // Normalize URL
262
+ let targetUrl = url.trim();
263
+ if (!targetUrl.startsWith("http")) {
264
+ targetUrl = `https://${targetUrl}`;
265
+ }
266
+ // Validate URL
267
+ try {
268
+ new URL(targetUrl);
269
+ }
270
+ catch {
271
+ console.error(`Invalid URL: ${url}`);
272
+ console.error(`Usage: gravito-eval scan https://example.com`);
273
+ process.exit(1);
274
+ }
275
+ const spinner = new Spinner();
276
+ spinner.start(`Scanning ${c.cyan(targetUrl)}`);
277
+ try {
278
+ const response = await httpPost(`${API_BASE}/api/trpc/try.analyzeUrl`, { json: { url: targetUrl } });
279
+ spinner.stop();
280
+ if (response.status !== 200) {
281
+ let errorMsg = "Analysis failed";
282
+ try {
283
+ const err = JSON.parse(response.body);
284
+ if (err?.error?.json?.message)
285
+ errorMsg = err.error.json.message;
286
+ else if (err?.error?.message)
287
+ errorMsg = err.error.message;
288
+ }
289
+ catch { }
290
+ console.error(`Error: ${errorMsg}`);
291
+ console.error();
292
+ console.error(`This can happen if:`);
293
+ console.error(` • The URL is not publicly accessible`);
294
+ console.error(` • The site blocks automated requests`);
295
+ console.error(` • The Gravito API is temporarily unavailable`);
296
+ console.error();
297
+ console.error(`Try: gravito-eval scan https://stripe.com`);
298
+ process.exit(1);
299
+ }
300
+ const parsed = JSON.parse(response.body);
301
+ const result = parsed.result?.data?.json || parsed.result?.data || parsed;
302
+ if (!result.overallScore && result.overallScore !== 0) {
303
+ console.error("Unexpected response format from Gravito API");
304
+ if (jsonOutput) {
305
+ console.log(JSON.stringify(parsed, null, 2));
306
+ }
307
+ process.exit(1);
308
+ }
309
+ if (jsonOutput) {
310
+ console.log(JSON.stringify(result, null, 2));
311
+ }
312
+ else {
313
+ printScanResult(result);
314
+ }
315
+ }
316
+ catch (err) {
317
+ spinner.stop();
318
+ console.error(`Error: ${err.message}`);
319
+ console.error();
320
+ console.error(`Check your internet connection and try again.`);
321
+ process.exit(1);
322
+ }
323
+ }
324
+ // ─── Demo Command ────────────────────────────────────────────────────────
325
+ function runDemo() {
326
+ console.log();
327
+ console.log(c.bold(" Gravito Eval — Demo"));
328
+ console.log(c.dim(" " + "─".repeat(50)));
329
+ console.log();
330
+ console.log(` Gravito evaluates any website or AI output and tells you:`);
331
+ console.log(` ${c.cyan("1.")} How closely it matches human-quality judgment`);
332
+ console.log(` ${c.cyan("2.")} Where the gaps are`);
333
+ console.log(` ${c.cyan("3.")} What improvements a human reviewer would miss`);
334
+ console.log();
335
+ console.log(c.dim(" " + "─".repeat(50)));
336
+ console.log();
337
+ console.log(c.bold(" Example: Scanning a SaaS landing page"));
338
+ console.log();
339
+ // Simulated output
340
+ const demoResult = {
341
+ url: "https://example-saas.com",
342
+ pageTitle: "Example SaaS — Project Management for Teams",
343
+ overallScore: 64,
344
+ grade: "D",
345
+ riskLevel: "medium",
346
+ summary: "This page has 4 high-priority issues that weaken trust and conversion. Fixing them would meaningfully improve both compliance posture and user confidence.",
347
+ issues: [
348
+ {
349
+ category: "unsubstantiated_claim",
350
+ severity: "high",
351
+ title: "Unsubstantiated Performance Claim",
352
+ description: '"Trusted by 10,000+ teams" — no source, no verification, no link to evidence',
353
+ fix: "Add a source link or replace with verifiable metric",
354
+ location: "Hero section",
355
+ },
356
+ {
357
+ category: "missing_disclosure",
358
+ severity: "high",
359
+ title: "Missing AI Disclosure",
360
+ description: 'Uses "AI-powered" in headline but no transparency about how AI is used or what data it processes',
361
+ fix: "Add an AI transparency section or link to AI usage policy",
362
+ location: "Above the fold",
363
+ },
364
+ {
365
+ category: "content_safety",
366
+ severity: "medium",
367
+ title: "Absolute Language Without Qualification",
368
+ description: '"The fastest project management tool" — superlative claim without comparative data',
369
+ fix: 'Qualify with "one of the fastest" or add benchmark data',
370
+ location: "Features section",
371
+ },
372
+ {
373
+ category: "trust_transparency",
374
+ severity: "medium",
375
+ title: "Cookie Consent Missing",
376
+ description: "No cookie consent banner detected. Required under GDPR/ePrivacy for EU visitors.",
377
+ fix: "Implement a cookie consent mechanism before tracking scripts load",
378
+ location: "Global",
379
+ },
380
+ {
381
+ category: "brand_governance",
382
+ severity: "low",
383
+ title: "Inconsistent Messaging Tone",
384
+ description: "Hero uses casual tone, pricing page uses formal/legal tone — creates cognitive dissonance",
385
+ fix: "Align tone across all pages to match brand voice guidelines",
386
+ location: "Multiple pages",
387
+ },
388
+ ],
389
+ projection: {
390
+ riskLevel: "medium",
391
+ summary: "This page is functional but has 4 issues that weaken its effectiveness. Fixing them would meaningfully improve trust and conversion.",
392
+ potentialImpacts: [
393
+ "Customer trust erosion from unsubstantiated claims",
394
+ "Transparency gaps that erode user confidence",
395
+ ],
396
+ timeToFix: "30–60 minutes",
397
+ },
398
+ rewrittenExcerpt: "",
399
+ claimsDetected: 6,
400
+ claimsVerified: 2,
401
+ patternsDetected: [
402
+ "overclaiming",
403
+ "missing_disclaimers",
404
+ "unsubstantiated_claims",
405
+ ],
406
+ analysisTimeMs: 4200,
407
+ engineUsed: "Gravito Engine (Demo)",
408
+ reportId: "demo",
409
+ benchmark: {
410
+ percentileRank: 42,
411
+ industryCategory: "saas_marketing",
412
+ industryLabel: "SaaS Marketing Pages",
413
+ industryAvg: 62,
414
+ insight: "This page falls below the median for SaaS marketing pages. Competitors with better governance scores are building more trust with the same audience.",
415
+ },
416
+ };
417
+ printScanResult(demoResult);
418
+ console.log(c.dim(" " + "═".repeat(50)));
419
+ console.log();
420
+ console.log(c.bold(" How it works"));
421
+ console.log();
422
+ console.log(` ${c.cyan("→")} Gravito fetches the page and extracts content`);
423
+ console.log(` ${c.cyan("→")} Runs governance analysis across 5 frameworks`);
424
+ console.log(` ${c.cyan("→")} Compares against industry benchmarks`);
425
+ console.log(` ${c.cyan("→")} Identifies issues a human reviewer would flag`);
426
+ console.log(` ${c.cyan("→")} Finds additional issues humans typically miss`);
427
+ console.log();
428
+ console.log(c.dim(" " + "═".repeat(50)));
429
+ console.log();
430
+ console.log(c.bold(" Try it on a real site:"));
431
+ console.log();
432
+ console.log(` ${c.cyan("npx gravito-eval scan https://stripe.com")}`);
433
+ console.log(` ${c.cyan("npx gravito-eval scan https://openai.com")}`);
434
+ console.log(` ${c.cyan("npx gravito-eval scan https://your-site.com")}`);
435
+ console.log();
436
+ }
437
+ // ─── Run Command (existing) ──────────────────────────────────────────────
57
438
  function printResult(result) {
58
439
  const d = result.detection;
59
440
  const r = result.ranking;
60
441
  console.log();
61
- console.log("Gravito Eval Results");
442
+ console.log(c.bold(" Gravito Eval Results"));
443
+ console.log(c.dim(" " + "─".repeat(50)));
62
444
  console.log();
63
- console.log(`Recall: ${pct(d.recall)}`);
64
- console.log(`Precision: ${pct(d.precision)}`);
65
- console.log(`F1: ${pct(d.f1)}`);
445
+ console.log(` ${c.dim("Recall:")} ${scoreColor(d.recall * 100)(pct(d.recall))}`);
446
+ console.log(` ${c.dim("Precision:")} ${scoreColor(d.precision * 100)(pct(d.precision))}`);
447
+ console.log(` ${c.dim("F1:")} ${scoreColor(d.f1 * 100)(pct(d.f1))}`);
66
448
  console.log();
67
- console.log(`Top-3 Agreement: ${pct(r.top3Overlap)}`);
449
+ console.log(` ${c.dim("Top-3 Agreement:")} ${scoreColor(r.top3Overlap * 100)(pct(r.top3Overlap))}`);
68
450
  if (result.novelSignal) {
69
- console.log(`Novel Signal: ${pct(result.novelSignal.validatedNovelRate)} (validated)`);
451
+ console.log(` ${c.dim("Novel Signal:")} ${c.magenta(pct(result.novelSignal.validatedNovelRate))} ${c.dim("(validated)")}`);
70
452
  }
71
453
  console.log();
72
- console.log("Interpretation:");
454
+ console.log(c.bold(" Interpretation"));
455
+ console.log(c.dim(" " + "─".repeat(50)));
73
456
  printInterpretation(result);
74
457
  console.log();
75
- console.log("Next Step:");
76
- console.log("Want this running continuously and fixing issues automatically?");
77
- console.log();
78
- console.log(" Try Gravito: https://gravito.ai/pilot");
458
+ // Subtle next step
459
+ console.log(c.dim(" " + "─".repeat(50)));
460
+ console.log(c.dim(" Try scanning a live site:"));
461
+ console.log(c.dim(" npx gravito-eval scan https://your-site.com"));
79
462
  console.log();
80
463
  }
81
464
  function printInterpretation(result) {
82
465
  const d = result.detection;
83
466
  if (d.recall >= 0.7) {
84
- console.log("- Strong alignment with human judgment");
467
+ console.log(` ${c.green("✓")} Strong alignment with human judgment`);
85
468
  }
86
469
  else if (d.recall >= 0.5) {
87
- console.log("- Moderate alignment — some human findings missed");
470
+ console.log(` ${c.yellow("~")} Moderate alignment — some human findings missed`);
88
471
  }
89
472
  else {
90
- console.log("- Low alignment — many human findings missed");
473
+ console.log(` ${c.red("✗")} Low alignment — many human findings missed`);
91
474
  }
92
475
  if (result.novelSignal) {
93
476
  const rate = result.novelSignal.validatedNovelRate;
94
477
  if (rate >= 0.4) {
95
- console.log("- AI found significant issues humans missed");
478
+ console.log(` ${c.magenta("◆")} AI found significant issues humans missed`);
96
479
  }
97
480
  else if (rate >= 0.2) {
98
- console.log("- AI found some issues humans missed");
481
+ console.log(` ${c.magenta("◆")} AI found some issues humans missed`);
99
482
  }
100
483
  }
484
+ // Verdict
485
+ const verdictMap = {
486
+ PASS: c.green("PASS"),
487
+ PARTIAL: c.yellow("PARTIAL"),
488
+ FAIL: c.red("FAIL"),
489
+ INSUFFICIENT_DATA: c.dim("INSUFFICIENT DATA"),
490
+ };
491
+ console.log(` ${c.dim("Verdict:")} ${verdictMap[result.verdict] || result.verdict}`);
101
492
  }
102
- // ─── Explain Mode ─────────────────────────────────────────────────────────
493
+ // ─── Explain Mode ────────────────────────────────────────────────────────
103
494
  function printExplain(result) {
104
- console.log("─── Detailed Reasoning ───");
495
+ console.log(c.bold(" Detailed Reasoning"));
496
+ console.log(c.dim(" " + "─".repeat(50)));
105
497
  console.log();
106
- // Matched pairs
107
498
  if (result.matches.length > 0) {
108
- console.log("Matched (AI ↔ Human):");
499
+ console.log(c.bold(" Matched (AI ↔ Human):"));
109
500
  for (const m of result.matches) {
110
501
  console.log();
111
- console.log(` AI: "${m.aiIssue.description}"`);
112
- console.log(` Human: "${m.humanIssue.description}"`);
113
- console.log(` Why: ${m.matchType} match (${Math.round(m.similarity * 100)}% similar)`);
502
+ console.log(` ${c.cyan("AI:")} "${m.aiIssue.description}"`);
503
+ console.log(` ${c.green("Human:")} "${m.humanIssue.description}"`);
504
+ console.log(` ${c.dim("Why:")} ${m.matchType} match (${Math.round(m.similarity * 100)}% similar)`);
114
505
  }
115
506
  console.log();
116
507
  }
117
- // Novel findings
118
508
  if (result.aiOnly.length > 0) {
119
- console.log("Novel (AI found, humans didn't):");
509
+ console.log(c.bold(" Novel (AI found, humans didn't):"));
120
510
  for (const f of result.aiOnly) {
121
- console.log(` → "${f.description}"`);
122
- console.log(` Why novel: No similar human finding found`);
511
+ console.log(` ${c.magenta("")} "${f.description}"`);
123
512
  }
124
513
  console.log();
125
514
  }
126
- // Missed findings
127
515
  if (result.humanOnly.length > 0) {
128
- console.log("Missed (humans found, AI didn't):");
516
+ console.log(c.bold(" Missed (humans found, AI didn't):"));
129
517
  for (const f of result.humanOnly) {
130
- console.log(` ✗ "${f.description}"`);
518
+ console.log(` ${c.red("")} "${f.description}"`);
131
519
  }
132
520
  console.log();
133
521
  }
@@ -197,27 +585,32 @@ function loadData(inputPath) {
197
585
  const raw = JSON.parse(fs.readFileSync(resolved, "utf-8"));
198
586
  return validateData(raw);
199
587
  }
200
- // ─── Main ─────────────────────────────────────────────────────────────────
588
+ // ─── Main ────────────────────────────────────────────────────────────────
201
589
  function showHelp() {
202
590
  console.log(`
203
- Gravito Eval — Measure AI-human alignment
591
+ ${c.bold("Gravito Eval")}Evaluate any website or AI output in seconds
592
+
593
+ ${c.bold("Usage:")}
594
+ gravito-eval scan <url> ${c.dim("Scan a live URL")}
595
+ gravito-eval demo ${c.dim("See a demo with explanations")}
596
+ gravito-eval run <path> ${c.dim("Evaluate local findings")}
204
597
 
205
- Usage:
206
- gravito-eval run <path> Evaluate findings
207
- gravito-eval run <path> --explain Show detailed match reasoning
208
- gravito-eval run <path> --json Output raw JSON
209
- gravito-eval run <path> --no-telemetry Disable anonymous tracking
598
+ ${c.bold("Scan flags:")}
599
+ --json ${c.dim("Output raw JSON")}
210
600
 
211
- Input:
212
- <path> can be a .json file or a directory containing input.json
601
+ ${c.bold("Run flags:")}
602
+ --explain ${c.dim("Show detailed match reasoning")}
603
+ --json ${c.dim("Output raw JSON")}
604
+ --no-telemetry ${c.dim("Disable anonymous tracking")}
213
605
 
214
- Examples:
215
- gravito-eval run ./examples/basic
216
- gravito-eval run ./my-audit.json
217
- gravito-eval run ./examples/basic --explain
606
+ ${c.bold("Examples:")}
607
+ ${c.cyan("gravito-eval scan https://stripe.com")} ${c.dim("Scan Stripe's homepage")}
608
+ ${c.cyan("gravito-eval scan https://your-site.com")} ${c.dim("Scan your own site")}
609
+ ${c.cyan("gravito-eval demo")} ${c.dim("See what the output looks like")}
610
+ ${c.cyan("gravito-eval run ./examples/basic")} ${c.dim("Evaluate local data")}
218
611
  `);
219
612
  }
220
- function main() {
613
+ async function main() {
221
614
  const args = process.argv.slice(2);
222
615
  if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
223
616
  showHelp();
@@ -235,42 +628,68 @@ function main() {
235
628
  console.log(pkg.version);
236
629
  process.exit(0);
237
630
  }
238
- if (args[0] !== "run") {
239
- console.error(`Unknown command: ${args[0]}`);
240
- console.error(`Run: gravito-eval --help`);
241
- process.exit(1);
631
+ const command = args[0];
632
+ // ── scan <url> ──
633
+ if (command === "scan") {
634
+ if (!args[1]) {
635
+ console.error(`Missing URL.`);
636
+ console.error(`Usage: gravito-eval scan https://example.com`);
637
+ process.exit(1);
638
+ }
639
+ (0, telemetry_1.trackRun)("scan");
640
+ const jsonOutput = args.includes("--json");
641
+ await runScan(args[1], jsonOutput);
642
+ setTimeout(() => process.exit(0), 100);
643
+ return;
242
644
  }
243
- if (!args[1]) {
244
- console.error(`Missing path.`);
245
- console.error(`Usage: gravito-eval run <path>`);
246
- process.exit(1);
645
+ // ── demo ──
646
+ if (command === "demo") {
647
+ (0, telemetry_1.trackRun)("demo");
648
+ runDemo();
649
+ setTimeout(() => process.exit(0), 100);
650
+ return;
247
651
  }
248
- const jsonOutput = args.includes("--json");
249
- const explainMode = args.includes("--explain");
250
- // Fire-and-forget telemetry (non-blocking)
251
- (0, telemetry_1.trackRun)("run");
252
- try {
253
- const data = loadData(args[1]);
254
- const result = (0, calibration_1.evaluate)(data.aiFindings, data.humanFindings, {
255
- adjudications: data.adjudications,
256
- autoAdjudicate: !data.adjudications,
257
- });
258
- if (jsonOutput) {
259
- console.log(JSON.stringify(result, null, 2));
652
+ // ── run <path> ──
653
+ if (command === "run") {
654
+ if (!args[1]) {
655
+ console.error(`Missing path.`);
656
+ console.error(`Usage: gravito-eval run <path>`);
657
+ process.exit(1);
260
658
  }
261
- else {
262
- printResult(result);
263
- if (explainMode) {
264
- printExplain(result);
659
+ const jsonOutput = args.includes("--json");
660
+ const explainMode = args.includes("--explain");
661
+ (0, telemetry_1.trackRun)("run");
662
+ try {
663
+ const data = loadData(args[1]);
664
+ const result = (0, calibration_1.evaluate)(data.aiFindings, data.humanFindings, {
665
+ adjudications: data.adjudications,
666
+ autoAdjudicate: !data.adjudications,
667
+ });
668
+ if (jsonOutput) {
669
+ console.log(JSON.stringify(result, null, 2));
670
+ }
671
+ else {
672
+ printResult(result);
673
+ if (explainMode) {
674
+ printExplain(result);
675
+ }
265
676
  }
266
677
  }
678
+ catch (err) {
679
+ console.error(`Error: ${err.message}`);
680
+ process.exit(1);
681
+ }
682
+ setTimeout(() => process.exit(0), 100);
683
+ return;
267
684
  }
268
- catch (err) {
269
- console.error(`Error: ${err.message}`);
270
- process.exit(1);
271
- }
272
- // Force exit — telemetry HTTP should not keep process alive
273
- setTimeout(() => process.exit(0), 100);
685
+ // Unknown command
686
+ console.error(`Unknown command: ${command}`);
687
+ console.error();
688
+ console.error(`Run: gravito-eval --help`);
689
+ process.exit(1);
274
690
  }
275
- main();
691
+ main().catch((err) => {
692
+ console.error(`Fatal: ${err.message}`);
693
+ process.exit(1);
694
+ });
276
695
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA+B;AAC/B,2CAA6B;AAC7B,oDAA8C;AAC9C,gDAA4C;AAG5C,4EAA4E;AAE5E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,2CAA2C,CAAC;AAC5F,MAAM,UAAU,GAAG,+BAA+B,CAAC;AAEnD,4EAA4E;AAE5E,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEvE,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CACtB,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CACrB,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CACpB,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,4EAA4E;AAE5E,MAAM,OAAO;IACH,QAAQ,GAA0C,IAAI,CAAC;IAE/D,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAED,4EAA4E;AAE5E,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACjC,OAAO,CAAC,CAAC,GAAG,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AASD,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAS;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CACrB;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5C,YAAY,EAAE,kBAAkB;aACjC;YACD,OAAO,EAAE,MAAM,EAAE,0BAA0B;SAC5C,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAyCD,SAAS,sBAAsB,CAAC,MAA4B;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3B,oCAAoC;QACpC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC1E,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAAE,OAAO,KAAK,CAAC;QACxF,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3E,sDAAsD;QACtD,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC;YAAE,OAAO,KAAK,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,MAAkB;IACzC,+BAA+B;IAC/B,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CACjC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,gBAAgB;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC9I,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,YAAY;IACZ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CACnI,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,aAAa;IACb,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CAAC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,6BAA6B,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,aAAa;IACb,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,iCAAiC;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,gBAAgB;IAChB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,iBAAiB,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,MAAM,aAAa,CAAC,MAAM,eAAe,CAC5H,CACF,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAAmB;IACrD,gBAAgB;IAChB,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,SAAS,GAAG,WAAW,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,eAAe;IACf,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,0BAA0B,EACrC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAC7B,CAAC;QAEF,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,QAAQ,GAAG,iBAAiB,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO;oBAAE,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;qBAC5D,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO;oBAAE,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAe,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;QAEtF,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,SAAS,OAAO;IACd,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CACT,6DAA6D,CAC9D,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAClE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAClE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,mBAAmB;IACnB,MAAM,UAAU,GAAe;QAC7B,GAAG,EAAE,0BAA0B;QAC/B,SAAS,EAAE,6CAA6C;QACxD,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,QAAQ;QACnB,OAAO,EACL,4JAA4J;QAC9J,MAAM,EAAE;YACN;gBACE,QAAQ,EAAE,uBAAuB;gBACjC,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,mCAAmC;gBAC1C,WAAW,EACT,8EAA8E;gBAChF,GAAG,EAAE,qDAAqD;gBAC1D,QAAQ,EAAE,cAAc;aACzB;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EACT,kGAAkG;gBACpG,GAAG,EAAE,2DAA2D;gBAChE,QAAQ,EAAE,gBAAgB;aAC3B;YACD;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,yCAAyC;gBAChD,WAAW,EACT,oFAAoF;gBACtF,GAAG,EAAE,yDAAyD;gBAC9D,QAAQ,EAAE,kBAAkB;aAC7B;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EACT,kFAAkF;gBACpF,GAAG,EAAE,mEAAmE;gBACxE,QAAQ,EAAE,QAAQ;aACnB;YACD;gBACE,QAAQ,EAAE,kBAAkB;gBAC5B,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EACT,2FAA2F;gBAC7F,GAAG,EAAE,6DAA6D;gBAClE,QAAQ,EAAE,gBAAgB;aAC3B;SACF;QACD,UAAU,EAAE;YACV,SAAS,EAAE,QAAQ;YACnB,OAAO,EACL,sIAAsI;YACxI,gBAAgB,EAAE;gBAChB,oDAAoD;gBACpD,8CAA8C;aAC/C;YACD,SAAS,EAAE,eAAe;SAC3B;QACD,gBAAgB,EAAE,EAAE;QACpB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE;YAChB,cAAc;YACd,qBAAqB;YACrB,wBAAwB;SACzB;QACD,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,uBAAuB;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE;YACT,cAAc,EAAE,EAAE;YAClB,gBAAgB,EAAE,gBAAgB;YAClC,aAAa,EAAE,sBAAsB;YACrC,WAAW,EAAE,EAAE;YACf,OAAO,EACL,sJAAsJ;SACzJ;KACF,CAAC;IAEF,eAAe,CAAC,UAAU,CAAC,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gDAAgD,CACjE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAChE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uCAAuC,CACxD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gDAAgD,CACjE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gDAAgD,CACjE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,4EAA4E;AAE5E,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IAEzB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAErG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAClH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAkB;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;IAE3B,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC;QACnD,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,UAAU,GAA2B;QACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAC9C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,4EAA4E;AAE5E,SAAS,YAAY,CAAC,MAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAUD,SAAS,iBAAiB;IACxB,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1E,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACvD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACzE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAa;YACrB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC/D,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,4EAA4E;AAE5E,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;EACZ,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;;EAEtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gDAC8B,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;gDACxB,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC;gDACrC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;;EAE9E,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gDACyB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;;EAEtE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gDAC0B,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC;gDACtC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;gDACxB,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC;;EAEjF,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACjB,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACxF,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACpF,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAChG,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC;CACxF,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM;YAC7B,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC5D,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,mBAAmB;IACnB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,oBAAQ,EAAC,MAAM,CAAC,CAAC;QAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAEnC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,aAAa;IACb,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAA,oBAAQ,EAAC,MAAM,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,cAAc,EAAE,CAAC,IAAI,CAAC,aAAa;aACpC,CAAC,CAAC;YAEH,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpB,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gravito-eval",
3
- "version": "0.1.0",
4
- "description": "Measure how closely AI decisions match human judgment and where they add new signal.",
3
+ "version": "0.2.1",
4
+ "description": "Scan any website in seconds see what's wrong, what's missing, and what humans would miss.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
@@ -21,16 +21,16 @@
21
21
  "prepublishOnly": "npm run clean && npm run build"
22
22
  },
23
23
  "keywords": [
24
+ "website-scanner",
24
25
  "ai-evaluation",
26
+ "governance",
25
27
  "alignment",
26
- "calibration",
27
- "precision",
28
- "recall",
29
- "f1-score",
30
- "semantic-matching",
31
- "novel-signal",
32
- "human-ai-comparison",
33
- "evaluation-framework"
28
+ "content-audit",
29
+ "compliance",
30
+ "llm-evaluation",
31
+ "prompt-testing",
32
+ "ai-qa",
33
+ "website-analysis"
34
34
  ],
35
35
  "author": "Gravito <hello@gravitoai.com>",
36
36
  "license": "MIT",