@opendatalabs/connect 0.8.1-canary.d49afdc → 0.8.1-canary.db32b5c
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 +55 -33
- package/dist/cli/bin.js +8 -0
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/index.d.ts +87 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3085 -610
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +8 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/mcp-server.d.ts +15 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +199 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/queries.d.ts +128 -0
- package/dist/cli/queries.d.ts.map +1 -0
- package/dist/cli/queries.js +411 -0
- package/dist/cli/queries.js.map +1 -0
- package/dist/cli/render/capabilities.d.ts +9 -0
- package/dist/cli/render/capabilities.d.ts.map +1 -0
- package/dist/cli/render/capabilities.js +24 -0
- package/dist/cli/render/capabilities.js.map +1 -0
- package/dist/cli/render/connect-renderer.d.ts +18 -0
- package/dist/cli/render/connect-renderer.d.ts.map +1 -0
- package/dist/cli/render/connect-renderer.js +255 -0
- package/dist/cli/render/connect-renderer.js.map +1 -0
- package/dist/cli/render/format.d.ts +21 -8
- package/dist/cli/render/format.d.ts.map +1 -1
- package/dist/cli/render/format.js +92 -14
- package/dist/cli/render/format.js.map +1 -1
- package/dist/cli/render/index.d.ts +7 -0
- package/dist/cli/render/index.d.ts.map +1 -0
- package/dist/cli/render/index.js +7 -0
- package/dist/cli/render/index.js.map +1 -0
- package/dist/cli/render/progress.d.ts +11 -0
- package/dist/cli/render/progress.d.ts.map +1 -0
- package/dist/cli/render/progress.js +56 -0
- package/dist/cli/render/progress.js.map +1 -0
- package/dist/cli/render/symbols.d.ts +11 -0
- package/dist/cli/render/symbols.d.ts.map +1 -0
- package/dist/cli/render/symbols.js +21 -0
- package/dist/cli/render/symbols.js.map +1 -0
- package/dist/cli/render/theme.d.ts +15 -0
- package/dist/cli/render/theme.d.ts.map +1 -0
- package/dist/cli/render/theme.js +41 -0
- package/dist/cli/render/theme.js.map +1 -0
- package/dist/connectors/registry.d.ts +9 -8
- package/dist/connectors/registry.d.ts.map +1 -1
- package/dist/connectors/registry.js +74 -38
- package/dist/connectors/registry.js.map +1 -1
- package/dist/core/cli-types.d.ts +574 -7
- package/dist/core/cli-types.d.ts.map +1 -1
- package/dist/core/cli-types.js +260 -6
- package/dist/core/cli-types.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/paths.d.ts +5 -2
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +18 -10
- package/dist/core/paths.js.map +1 -1
- package/dist/core/state-store.d.ts +22 -4
- package/dist/core/state-store.d.ts.map +1 -1
- package/dist/core/state-store.js +83 -5
- package/dist/core/state-store.js.map +1 -1
- package/dist/personal-server/client.d.ts +34 -0
- package/dist/personal-server/client.d.ts.map +1 -0
- package/dist/personal-server/client.js +94 -0
- package/dist/personal-server/client.js.map +1 -0
- package/dist/personal-server/index.d.ts +10 -0
- package/dist/personal-server/index.d.ts.map +1 -1
- package/dist/personal-server/index.js +79 -32
- package/dist/personal-server/index.js.map +1 -1
- package/dist/personal-server/scope-resolver.d.ts +22 -0
- package/dist/personal-server/scope-resolver.d.ts.map +1 -0
- package/dist/personal-server/scope-resolver.js +68 -0
- package/dist/personal-server/scope-resolver.js.map +1 -0
- package/dist/runtime/core/contracts.d.ts +84 -0
- package/dist/runtime/core/contracts.d.ts.map +1 -0
- package/dist/runtime/core/contracts.js +2 -0
- package/dist/runtime/core/contracts.js.map +1 -0
- package/dist/runtime/core/index.d.ts +2 -0
- package/dist/runtime/core/index.d.ts.map +1 -0
- package/dist/runtime/core/index.js +2 -0
- package/dist/runtime/core/index.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-playwright.d.ts +9 -2
- package/dist/runtime/managed-playwright.d.ts.map +1 -1
- package/dist/runtime/managed-playwright.js +120 -185
- package/dist/runtime/managed-playwright.js.map +1 -1
- package/dist/runtime/playwright/browser.d.ts +12 -0
- package/dist/runtime/playwright/browser.d.ts.map +1 -0
- package/dist/runtime/playwright/browser.js +229 -0
- package/dist/runtime/playwright/browser.js.map +1 -0
- package/dist/runtime/playwright/in-process-run.d.ts +6 -0
- package/dist/runtime/playwright/in-process-run.d.ts.map +1 -0
- package/dist/runtime/playwright/in-process-run.js +618 -0
- package/dist/runtime/playwright/in-process-run.js.map +1 -0
- package/dist/runtime/playwright/index.d.ts +3 -0
- package/dist/runtime/playwright/index.d.ts.map +1 -0
- package/dist/runtime/playwright/index.js +3 -0
- package/dist/runtime/playwright/index.js.map +1 -0
- package/dist/runtime/repo-paths.d.ts.map +1 -1
- package/dist/runtime/repo-paths.js +24 -7
- package/dist/runtime/repo-paths.js.map +1 -1
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/paths.d.ts +18 -0
- package/dist/skills/paths.d.ts.map +1 -0
- package/dist/skills/paths.js +56 -0
- package/dist/skills/paths.js.map +1 -0
- package/dist/skills/registry.d.ts +48 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +165 -0
- package/dist/skills/registry.js.map +1 -0
- package/package.json +30 -8
- package/runtime-assets/playwright-runner/entitlements.plist +0 -12
- package/runtime-assets/playwright-runner/index.cjs +0 -1243
- package/runtime-assets/playwright-runner/package-lock.json +0 -1242
- package/runtime-assets/playwright-runner/package.json +0 -29
- package/runtime-assets/playwright-runner/scripts/build.js +0 -182
- package/runtime-assets/run-connector.cjs +0 -355
package/README.md
CHANGED
|
@@ -2,6 +2,54 @@
|
|
|
2
2
|
|
|
3
3
|
Let your users bring their own data to your app.
|
|
4
4
|
|
|
5
|
+
## CLI preview
|
|
6
|
+
|
|
7
|
+
This branch also carries the new `vana` collection CLI preview.
|
|
8
|
+
|
|
9
|
+
Start with the dedicated CLI README:
|
|
10
|
+
|
|
11
|
+
- [CLI README](./docs/CLI-README.md)
|
|
12
|
+
- [CLI review surface](./docs/CLI-REVIEW-SURFACE.md)
|
|
13
|
+
|
|
14
|
+
Install the current canary on macOS with Homebrew:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
brew tap vana-com/vana
|
|
18
|
+
brew install vana
|
|
19
|
+
vana status
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Or use the hosted prerelease installer on macOS/Linux:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/feat/connect-cli-v1/install/install.sh | sh -s -- --version canary-feat-connect-cli-v1
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Branch prerelease:
|
|
29
|
+
|
|
30
|
+
- `https://github.com/vana-com/vana-connect/releases/tag/canary-feat-connect-cli-v1`
|
|
31
|
+
|
|
32
|
+
Once installed, the best way to evaluate the CLI quickly is:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
vana --version
|
|
36
|
+
vana doctor
|
|
37
|
+
vana status
|
|
38
|
+
vana sources
|
|
39
|
+
vana connect github
|
|
40
|
+
vana data list
|
|
41
|
+
vana data show github
|
|
42
|
+
vana logs github
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Key demo media:
|
|
46
|
+
|
|
47
|
+
<img src="https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status.gif" width="800" alt="vana status" />
|
|
48
|
+
|
|
49
|
+
<img src="https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-github-success.gif" width="800" alt="vana connect github" />
|
|
50
|
+
|
|
51
|
+
<img src="https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-show-github.gif" width="600" alt="vana data show github" />
|
|
52
|
+
|
|
5
53
|
## What problem this solves
|
|
6
54
|
|
|
7
55
|
Your users already have rich personal data — ChatGPT conversations, Instagram activity, Gmail, purchase history — but it's locked inside the platforms that collected it. As a builder, you can't easily use that data to personalize onboarding, tailor recommendations, or skip lengthy signup forms.
|
|
@@ -76,42 +124,16 @@ If you prefer to integrate the SDK into an existing project, follow the steps be
|
|
|
76
124
|
|
|
77
125
|
`vana-connect` now also ships a local collection CLI for connector setup and data export flows.
|
|
78
126
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
Use the published package directly:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
pnpm dlx @opendatalabs/connect status
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Or install it globally:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
pnpm add -g @opendatalabs/connect
|
|
91
|
-
vana status
|
|
92
|
-
```
|
|
127
|
+
If you only care about the CLI, start with [docs/CLI-README.md](./docs/CLI-README.md).
|
|
93
128
|
|
|
94
|
-
|
|
129
|
+
For the full CLI review surface, use:
|
|
95
130
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
vana status
|
|
100
|
-
vana setup
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Local development
|
|
104
|
-
|
|
105
|
-
From this repo:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
pnpm install
|
|
109
|
-
pnpm build
|
|
110
|
-
node dist/cli/bin.js status
|
|
111
|
-
```
|
|
131
|
+
- [CLI review surface](./docs/CLI-REVIEW-SURFACE.md)
|
|
132
|
+
- [CLI transcripts](./docs/transcripts/README.md)
|
|
133
|
+
- [CLI demos](./docs/vhs/README.md)
|
|
112
134
|
|
|
113
|
-
|
|
114
|
-
|
|
135
|
+
`pnpm build:sea` uses Node 25's `--build-sea` flow to create a small `vana` launcher and packages the real app payload next to it under `app/`.
|
|
136
|
+
It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
|
|
115
137
|
|
|
116
138
|
### Programmatic runtime access
|
|
117
139
|
|
package/dist/cli/bin.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { runCli } from "./index.js";
|
|
3
|
+
for (const stream of [process.stdout, process.stderr]) {
|
|
4
|
+
stream.on("error", (error) => {
|
|
5
|
+
if (error.code === "EPIPE") {
|
|
6
|
+
process.exit(0);
|
|
7
|
+
}
|
|
8
|
+
throw error;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
3
11
|
const exitCode = await runCli(process.argv);
|
|
4
12
|
if (typeof exitCode === "number") {
|
|
5
13
|
process.exitCode = exitCode;
|
package/dist/cli/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,2 +1,89 @@
|
|
|
1
|
+
import { readCliState } from "../core/index.js";
|
|
2
|
+
import type { CliChannel, CliInstallMethod, CliStatus, SourceStatus } from "../core/cli-types.js";
|
|
3
|
+
import type { AvailableSource } from "../connectors/registry.js";
|
|
4
|
+
interface SourceLabelMap {
|
|
5
|
+
[source: string]: string;
|
|
6
|
+
}
|
|
7
|
+
interface SourceMetadataMap {
|
|
8
|
+
[source: string]: {
|
|
9
|
+
name: string;
|
|
10
|
+
company?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
authMode?: "automated" | "interactive" | "legacy";
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
type RenderTone = "accent" | "success" | "warning" | "error" | "muted" | "info";
|
|
1
16
|
export declare function runCli(argv?: string[]): Promise<number>;
|
|
17
|
+
export declare function formatUptime(seconds: number): string;
|
|
18
|
+
export declare function displaySource(source: string, labels?: SourceLabelMap): string;
|
|
19
|
+
export declare function humanizeIssue(message: string): string;
|
|
20
|
+
export declare function gatherSourceStatuses(storedSources: Record<string, Awaited<ReturnType<typeof readCliState>>["sources"][string]>, metadata?: SourceMetadataMap): Promise<SourceStatus[]>;
|
|
21
|
+
export declare function listInstalledConnectorFiles(): Promise<Array<{
|
|
22
|
+
source: string;
|
|
23
|
+
path: string;
|
|
24
|
+
}>>;
|
|
25
|
+
export declare function buildStatusNextSteps(sources: SourceStatus[], sourceLabels?: SourceLabelMap, runtime?: CliStatus["runtime"], availableSources?: Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
authMode?: string;
|
|
29
|
+
}>): string[];
|
|
30
|
+
export declare function buildSourcesNextSteps(recommendedSource: {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
authMode?: "automated" | "interactive" | "legacy";
|
|
34
|
+
} | null | undefined, connectedCount: number): string[];
|
|
35
|
+
export declare function buildDataListNextSteps(datasetRecords: Array<{
|
|
36
|
+
source: string;
|
|
37
|
+
name?: string | null;
|
|
38
|
+
}>, registrySources: Array<{
|
|
39
|
+
id: string;
|
|
40
|
+
authMode?: "automated" | "interactive" | "legacy";
|
|
41
|
+
}>): string[];
|
|
42
|
+
export declare function buildDataShowNextSteps(source: string, datasetCount: number, sourceLabels?: SourceLabelMap): string[];
|
|
43
|
+
export declare function getCliVersion(): string;
|
|
44
|
+
export declare function getCliChannel(version?: string): "stable" | "canary";
|
|
45
|
+
export declare function getCliInstallMethod(execPath?: string): CliInstallMethod;
|
|
46
|
+
export declare function getDoctorAppRootPath(installMethod: CliInstallMethod, execPath?: string): string | null;
|
|
47
|
+
export declare function formatInstallMethodLabel(method: CliInstallMethod): string;
|
|
48
|
+
export declare function getLifecycleCommands(installMethod: CliInstallMethod, channel: CliChannel): {
|
|
49
|
+
upgrade: string;
|
|
50
|
+
uninstall: string;
|
|
51
|
+
};
|
|
52
|
+
export declare function createSourceLabelMap(sources: Array<{
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}>): SourceLabelMap;
|
|
56
|
+
export declare function createSourceMetadataMap(sources: Array<{
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
company?: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
authMode?: "automated" | "interactive" | "legacy";
|
|
62
|
+
}>): SourceMetadataMap;
|
|
63
|
+
export declare function getSourceStatusPresentation(source: SourceStatus): {
|
|
64
|
+
label: string;
|
|
65
|
+
tone: RenderTone;
|
|
66
|
+
};
|
|
67
|
+
export declare function toneForRuntime(runtime: CliStatus["runtime"]): RenderTone;
|
|
68
|
+
export declare function loadRegistrySources(): Promise<AvailableSource[]>;
|
|
69
|
+
export declare function compareSourceStatusOrder(left: SourceStatus, right: SourceStatus): number;
|
|
70
|
+
export declare function rankSourceStatus(source: SourceStatus): number;
|
|
71
|
+
export declare function readResultSummary(resultPath: string): Promise<{
|
|
72
|
+
lines: string[];
|
|
73
|
+
} | null>;
|
|
74
|
+
export declare function summarizeResultData(data: Record<string, unknown>): {
|
|
75
|
+
lines: string[];
|
|
76
|
+
} | null;
|
|
77
|
+
export declare function formatTimestamp(value: string): string;
|
|
78
|
+
export declare function compareDatasetOrder(left: {
|
|
79
|
+
lastRunAt: string | null;
|
|
80
|
+
name: string | undefined;
|
|
81
|
+
source: string;
|
|
82
|
+
}, right: {
|
|
83
|
+
lastRunAt: string | null;
|
|
84
|
+
name: string | undefined;
|
|
85
|
+
source: string;
|
|
86
|
+
}): number;
|
|
87
|
+
export declare function hasCollectedData(dataState: SourceStatus["dataState"] | null | undefined): boolean;
|
|
88
|
+
export {};
|
|
2
89
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAqCA,OAAO,EAOL,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,UAAU,EAEV,gBAAgB,EAEhB,SAAS,EACT,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAoCjE,UAAU,cAAc;IACtB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;KACnD,CAAC;CACH;AA2BD,KAAK,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAehF,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA6bjE;AAqqCD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWpD;AA+/BD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,cAAmB,GAC1B,MAAM,CAER;AAkBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AAkCD,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,CACnB,MAAM,EACN,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAC5D,EACD,QAAQ,GAAE,iBAAsB,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAiDzB;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAC1D,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CACxC,CAyBA;AA6KD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EAAE,EACvB,YAAY,GAAE,cAAmB,EACjC,OAAO,GAAE,SAAS,CAAC,SAAS,CAAe,EAC3C,gBAAgB,GAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAM,GAC5E,MAAM,EAAE,CAsGV;AAED,wBAAgB,qBAAqB,CACnC,iBAAiB,EACb;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;CACnD,GACD,IAAI,GACJ,SAAS,EACb,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,CAgBV;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC,EACF,eAAe,EAAE,KAAK,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;CACnD,CAAC,GACD,MAAM,EAAE,CAmBV;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,cAAmB,GAChC,MAAM,EAAE,CAQV;AA4ED,wBAAgB,aAAa,IAAI,MAAM,CA2BtC;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAkB,GAAG,QAAQ,GAAG,QAAQ,CAc5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,SAAmB,GAC1B,gBAAgB,CA+BlB;AAMD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,gBAAgB,EAC/B,QAAQ,SAAmB,GAC1B,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAWzE;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,gBAAgB,EAC/B,OAAO,EAAE,UAAU,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA4BxC;AAaD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3C,cAAc,CAEhB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;CACnD,CAAC,GACD,iBAAiB,CAYnB;AAID,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB,CAqDA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,UAAU,CAQxE;AAqED,wBAAsB,mBAAmB,+BAQxC;AAYD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,GAClB,MAAM,CAgBR;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA0B7D;AAeD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAOrC;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAoD5B;AA6BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,GACA,MAAM,CAaR;AAsBD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GACtD,OAAO,CAMT"}
|