pynect 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +478 -2
- package/SECURITY.md +34 -0
- package/binding.gyp +60 -0
- package/dist/cli/codegen.d.ts +3 -0
- package/dist/cli/codegen.d.ts.map +1 -0
- package/dist/cli/codegen.js +543 -0
- package/dist/cli/codegen.js.map +1 -0
- package/dist/cli/sync.d.ts +3 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +48 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/config/project.d.ts +57 -0
- package/dist/config/project.d.ts.map +1 -0
- package/dist/config/project.js +176 -0
- package/dist/config/project.js.map +1 -0
- package/dist/core/IsolatedWorker.d.ts +39 -0
- package/dist/core/IsolatedWorker.d.ts.map +1 -0
- package/dist/core/IsolatedWorker.js +178 -0
- package/dist/core/IsolatedWorker.js.map +1 -0
- package/dist/core/PyCallable.d.ts +67 -0
- package/dist/core/PyCallable.d.ts.map +1 -0
- package/dist/core/PyCallable.js +104 -0
- package/dist/core/PyCallable.js.map +1 -0
- package/dist/core/PyContext.d.ts +76 -0
- package/dist/core/PyContext.d.ts.map +1 -0
- package/dist/core/PyContext.js +239 -0
- package/dist/core/PyContext.js.map +1 -0
- package/dist/core/PyIterator.d.ts +84 -0
- package/dist/core/PyIterator.d.ts.map +1 -0
- package/dist/core/PyIterator.js +243 -0
- package/dist/core/PyIterator.js.map +1 -0
- package/dist/core/PyModule.d.ts +53 -0
- package/dist/core/PyModule.d.ts.map +1 -0
- package/dist/core/PyModule.js +162 -0
- package/dist/core/PyModule.js.map +1 -0
- package/dist/core/PyProxy.d.ts +75 -0
- package/dist/core/PyProxy.d.ts.map +1 -0
- package/dist/core/PyProxy.js +563 -0
- package/dist/core/PyProxy.js.map +1 -0
- package/dist/core/PyRuntime.d.ts +112 -0
- package/dist/core/PyRuntime.d.ts.map +1 -0
- package/dist/core/PyRuntime.js +546 -0
- package/dist/core/PyRuntime.js.map +1 -0
- package/dist/env/PackageInstaller.d.ts +232 -0
- package/dist/env/PackageInstaller.d.ts.map +1 -0
- package/dist/env/PackageInstaller.js +628 -0
- package/dist/env/PackageInstaller.js.map +1 -0
- package/dist/env/ProjectEnvironment.d.ts +63 -0
- package/dist/env/ProjectEnvironment.d.ts.map +1 -0
- package/dist/env/ProjectEnvironment.js +379 -0
- package/dist/env/ProjectEnvironment.js.map +1 -0
- package/dist/env/PyfigAdapter.d.ts +32 -0
- package/dist/env/PyfigAdapter.d.ts.map +1 -0
- package/dist/env/PyfigAdapter.js +10 -0
- package/dist/env/PyfigAdapter.js.map +1 -0
- package/dist/env/PythonDetector.d.ts +48 -0
- package/dist/env/PythonDetector.d.ts.map +1 -0
- package/dist/env/PythonDetector.js +182 -0
- package/dist/env/PythonDetector.js.map +1 -0
- package/dist/env/PythonProvisioner.d.ts +16 -0
- package/dist/env/PythonProvisioner.d.ts.map +1 -0
- package/dist/env/PythonProvisioner.js +42 -0
- package/dist/env/PythonProvisioner.js.map +1 -0
- package/dist/env/VenvManager.d.ts +55 -0
- package/dist/env/VenvManager.d.ts.map +1 -0
- package/dist/env/VenvManager.js +153 -0
- package/dist/env/VenvManager.js.map +1 -0
- package/dist/env/executables.d.ts +3 -0
- package/dist/env/executables.d.ts.map +1 -0
- package/dist/env/executables.js +14 -0
- package/dist/env/executables.js.map +1 -0
- package/dist/index.d.ts +182 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +393 -0
- package/dist/index.js.map +1 -0
- package/dist/native/NativeAddonLoader.d.ts +11 -0
- package/dist/native/NativeAddonLoader.d.ts.map +1 -0
- package/dist/native/NativeAddonLoader.js +75 -0
- package/dist/native/NativeAddonLoader.js.map +1 -0
- package/dist/plugins/Plugin.interface.d.ts +41 -0
- package/dist/plugins/Plugin.interface.d.ts.map +1 -0
- package/dist/plugins/Plugin.interface.js +12 -0
- package/dist/plugins/Plugin.interface.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +26 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +174 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/builtin/NumpyPlugin.d.ts +17 -0
- package/dist/plugins/builtin/NumpyPlugin.d.ts.map +1 -0
- package/dist/plugins/builtin/NumpyPlugin.js +41 -0
- package/dist/plugins/builtin/NumpyPlugin.js.map +1 -0
- package/dist/plugins/builtin/PandasPlugin.d.ts +19 -0
- package/dist/plugins/builtin/PandasPlugin.d.ts.map +1 -0
- package/dist/plugins/builtin/PandasPlugin.js +57 -0
- package/dist/plugins/builtin/PandasPlugin.js.map +1 -0
- package/dist/plugins/builtin/TorchPlugin.d.ts +23 -0
- package/dist/plugins/builtin/TorchPlugin.d.ts.map +1 -0
- package/dist/plugins/builtin/TorchPlugin.js +50 -0
- package/dist/plugins/builtin/TorchPlugin.js.map +1 -0
- package/dist/plugins/index.d.ts +7 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +12 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/serialization/DataFrameBridge.d.ts +141 -0
- package/dist/serialization/DataFrameBridge.d.ts.map +1 -0
- package/dist/serialization/DataFrameBridge.js +355 -0
- package/dist/serialization/DataFrameBridge.js.map +1 -0
- package/dist/serialization/MsgPackSerializer.d.ts +45 -0
- package/dist/serialization/MsgPackSerializer.d.ts.map +1 -0
- package/dist/serialization/MsgPackSerializer.js +242 -0
- package/dist/serialization/MsgPackSerializer.js.map +1 -0
- package/dist/serialization/NumpyBridge.d.ts +96 -0
- package/dist/serialization/NumpyBridge.d.ts.map +1 -0
- package/dist/serialization/NumpyBridge.js +323 -0
- package/dist/serialization/NumpyBridge.js.map +1 -0
- package/dist/serialization/Serializer.d.ts +78 -0
- package/dist/serialization/Serializer.d.ts.map +1 -0
- package/dist/serialization/Serializer.js +281 -0
- package/dist/serialization/Serializer.js.map +1 -0
- package/dist/types/addon.d.ts +131 -0
- package/dist/types/addon.d.ts.map +1 -0
- package/dist/types/addon.js +32 -0
- package/dist/types/addon.js.map +1 -0
- package/dist/types/config.d.ts +233 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +60 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/python.d.ts +235 -0
- package/dist/types/python.d.ts.map +1 -0
- package/dist/types/python.js +7 -0
- package/dist/types/python.js.map +1 -0
- package/dist/utils/ErrorTranslator.d.ts +83 -0
- package/dist/utils/ErrorTranslator.d.ts.map +1 -0
- package/dist/utils/ErrorTranslator.js +210 -0
- package/dist/utils/ErrorTranslator.js.map +1 -0
- package/dist/utils/Locking.d.ts +3 -0
- package/dist/utils/Locking.d.ts.map +1 -0
- package/dist/utils/Locking.js +10 -0
- package/dist/utils/Locking.js.map +1 -0
- package/dist/utils/Logger.d.ts +27 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +115 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/MemoryMonitor.d.ts +43 -0
- package/dist/utils/MemoryMonitor.d.ts.map +1 -0
- package/dist/utils/MemoryMonitor.js +143 -0
- package/dist/utils/MemoryMonitor.js.map +1 -0
- package/package.json +114 -4
- package/python/ast_inspector.py +248 -0
- package/python/error_handler.py +432 -0
- package/python/isolated_worker.py +94 -0
- package/python/pynect_dispatcher.py +382 -0
- package/python/pynect_runtime.py +574 -0
- package/python/serializer.py +373 -0
- package/python/type_inspector.py +315 -0
- package/scripts/build-native.js +50 -0
- package/scripts/cli.js +21 -0
- package/scripts/ensure-native.js +85 -0
- package/scripts/postinstall.js +40 -0
- package/scripts/pyfig.js +113 -0
- package/scripts/python-provisioner.js +23 -0
- package/scripts/smoke-python-boundary.js +103 -0
- package/src/native/NativeAddonLoader.ts +98 -0
- package/src/native/gil_guard.cpp +25 -0
- package/src/native/gil_guard.h +174 -0
- package/src/native/pynect_addon.cpp +942 -0
- package/src/native/python_bridge.cpp +904 -0
- package/src/native/python_bridge.h +263 -0
- package/src/native/thread_pool.cpp +375 -0
- package/src/native/thread_pool.h +185 -0
- package/src/native/type_converter.cpp +906 -0
- package/src/native/type_converter.h +271 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PyRuntime.js","sourceRoot":"","sources":["../../src/core/PyRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pynect - PackageInstaller
|
|
3
|
+
*
|
|
4
|
+
* Repository-venv package installer. All Python and pip execution is routed
|
|
5
|
+
* through Pyfig so standalone or system pip can never be selected.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities
|
|
8
|
+
*
|
|
9
|
+
* - Resolve the "import name" from the "install name" (e.g. scikit-learn -> sklearn)
|
|
10
|
+
* - Check whether a package is already importable before trying to install it
|
|
11
|
+
* - Run pip with the correct flags (--quiet, --no-warn-script-location, etc.)
|
|
12
|
+
* - Support per-package version constraints ("numpy>=1.24,<2")
|
|
13
|
+
* - Support extras ("uvicorn[standard]")
|
|
14
|
+
* - Support index overrides (corporate PyPI mirrors, --extra-index-url)
|
|
15
|
+
* - Upgrade existing installations when requested
|
|
16
|
+
* - Emit structured progress events via EventEmitter
|
|
17
|
+
* - Retry transient network failures up to N times with back-off
|
|
18
|
+
* - Parse pip's JSON output (--report) for installed metadata when available
|
|
19
|
+
* - Return full InstallResult objects describing what happened
|
|
20
|
+
*
|
|
21
|
+
* Usage
|
|
22
|
+
*
|
|
23
|
+
* const installer = new PackageInstaller({ pythonExecutable: '/usr/bin/python3' });
|
|
24
|
+
*
|
|
25
|
+
* const result = await installer.install(['pandas', 'numpy>=1.24', 'torch']);
|
|
26
|
+
* console.log(result.installed); // ['pandas==2.2.2', 'numpy==1.26.4', ...]
|
|
27
|
+
*
|
|
28
|
+
* installer.on('progress', (ev) => console.log(ev.package, ev.status));
|
|
29
|
+
*/
|
|
30
|
+
import { EventEmitter } from 'events';
|
|
31
|
+
/** A single package specification that can be installed. */
|
|
32
|
+
export interface PackageSpec {
|
|
33
|
+
/** Raw pip spec: "pandas", "numpy>=1.24,<2", "torch==2.3.0+cu121" */
|
|
34
|
+
spec: string;
|
|
35
|
+
/**
|
|
36
|
+
* Override the import (module) name used to test whether the package is
|
|
37
|
+
* already importable. Defaults to the auto-detected mapping.
|
|
38
|
+
* e.g. spec="scikit-learn" -> importName="sklearn"
|
|
39
|
+
*/
|
|
40
|
+
importName?: string;
|
|
41
|
+
/** Force reinstall even if already importable. */
|
|
42
|
+
forceReinstall?: boolean;
|
|
43
|
+
/** Install pre-release versions */
|
|
44
|
+
preRelease?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** Options passed to the PackageInstaller constructor. */
|
|
47
|
+
export interface PackageInstallerOptions {
|
|
48
|
+
/** Python executable to use for pip invocations. Required. */
|
|
49
|
+
pythonExecutable: string;
|
|
50
|
+
/**
|
|
51
|
+
* Extra --index-url override (corporate mirror etc.)
|
|
52
|
+
* If omitted, pip uses its default index.
|
|
53
|
+
*/
|
|
54
|
+
indexUrl?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Additional --extra-index-url entries (e.g. CUDA wheels).
|
|
57
|
+
* Supports multiple URLs.
|
|
58
|
+
*/
|
|
59
|
+
extraIndexUrls?: string[];
|
|
60
|
+
/**
|
|
61
|
+
* Trusted hosts (--trusted-host) required when using HTTP mirrors.
|
|
62
|
+
*/
|
|
63
|
+
trustedHosts?: string[];
|
|
64
|
+
/**
|
|
65
|
+
* Maximum retry attempts for transient network errors. Default: 3.
|
|
66
|
+
*/
|
|
67
|
+
maxRetries?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Base delay (ms) between retry attempts. Each retry doubles. Default: 1000.
|
|
70
|
+
*/
|
|
71
|
+
retryDelayMs?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Working directory for pip. Defaults to process.cwd().
|
|
74
|
+
*/
|
|
75
|
+
cwd?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Additional environment variables to inject into pip subprocess.
|
|
78
|
+
*/
|
|
79
|
+
env?: Record<string, string>;
|
|
80
|
+
/**
|
|
81
|
+
* Timeout (ms) per pip invocation. Default: 300 000 (5 min).
|
|
82
|
+
*/
|
|
83
|
+
timeoutMs?: number;
|
|
84
|
+
/**
|
|
85
|
+
* If true, pass --quiet to suppress pip chatter. Default: true.
|
|
86
|
+
*/
|
|
87
|
+
quiet?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* If true, pass --upgrade to pip for already-installed packages. Default: false.
|
|
90
|
+
*/
|
|
91
|
+
upgrade?: boolean;
|
|
92
|
+
}
|
|
93
|
+
/** Status of a single package during/after installation. */
|
|
94
|
+
export type PackageStatus = 'already_installed' | 'installing' | 'installed' | 'upgraded' | 'failed' | 'skipped';
|
|
95
|
+
/** Progress event emitted during installation. */
|
|
96
|
+
export interface InstallProgressEvent {
|
|
97
|
+
package: string;
|
|
98
|
+
status: PackageStatus;
|
|
99
|
+
version?: string;
|
|
100
|
+
error?: string;
|
|
101
|
+
}
|
|
102
|
+
/** Aggregated result of an install() call. */
|
|
103
|
+
export interface InstallResult {
|
|
104
|
+
/** Packages that were successfully installed or upgraded (with versions). */
|
|
105
|
+
installed: string[];
|
|
106
|
+
/** Packages that were already present and did not need installation. */
|
|
107
|
+
alreadyInstalled: string[];
|
|
108
|
+
/** Packages that failed to install. */
|
|
109
|
+
failed: Array<{
|
|
110
|
+
spec: string;
|
|
111
|
+
error: string;
|
|
112
|
+
}>;
|
|
113
|
+
/** Whether every requested package ended up available. */
|
|
114
|
+
success: boolean;
|
|
115
|
+
/** Combined stdout/stderr from pip (useful for debugging). */
|
|
116
|
+
output: string;
|
|
117
|
+
}
|
|
118
|
+
/** Metadata returned by `pip show`. */
|
|
119
|
+
export interface PackageMetadata {
|
|
120
|
+
name: string;
|
|
121
|
+
version: string;
|
|
122
|
+
location: string;
|
|
123
|
+
requires: string[];
|
|
124
|
+
requiredBy: string[];
|
|
125
|
+
summary: string;
|
|
126
|
+
}
|
|
127
|
+
declare const INSTALL_TO_IMPORT: Record<string, string>;
|
|
128
|
+
/**
|
|
129
|
+
* Extract the bare package name from a spec string.
|
|
130
|
+
* "numpy>=1.24,<2" -> "numpy"
|
|
131
|
+
* "torch==2.3.0+cu121" -> "torch"
|
|
132
|
+
* "uvicorn[standard]" -> "uvicorn"
|
|
133
|
+
*/
|
|
134
|
+
declare function extractPackageName(spec: string): string;
|
|
135
|
+
/**
|
|
136
|
+
* Determine the Python import name for a given install spec.
|
|
137
|
+
*/
|
|
138
|
+
declare function resolveImportName(spec: string, override?: string): string;
|
|
139
|
+
export declare class PackageInstaller extends EventEmitter {
|
|
140
|
+
private readonly _opts;
|
|
141
|
+
private readonly _pyfig;
|
|
142
|
+
constructor(options: PackageInstallerOptions);
|
|
143
|
+
/**
|
|
144
|
+
* Install one or more packages.
|
|
145
|
+
*
|
|
146
|
+
* @param packages - Array of pip spec strings or PackageSpec objects.
|
|
147
|
+
* @returns InstallResult describing what happened to each package.
|
|
148
|
+
*/
|
|
149
|
+
install(packages: Array<string | PackageSpec>): Promise<InstallResult>;
|
|
150
|
+
/**
|
|
151
|
+
* Install a single package and return the installed version string.
|
|
152
|
+
* Throws on failure.
|
|
153
|
+
*/
|
|
154
|
+
installOne(spec: string, options?: Partial<PackageSpec>): Promise<string>;
|
|
155
|
+
/**
|
|
156
|
+
* Upgrade a package to the latest version.
|
|
157
|
+
*/
|
|
158
|
+
upgrade(spec: string): Promise<string>;
|
|
159
|
+
/**
|
|
160
|
+
* Uninstall one or more packages.
|
|
161
|
+
*/
|
|
162
|
+
uninstall(packages: string[]): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Check whether a package is currently importable by Python.
|
|
165
|
+
*/
|
|
166
|
+
isImportable(importName: string): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Check whether a package (by install name) is installed and return
|
|
169
|
+
* its version string, or null if not installed.
|
|
170
|
+
*/
|
|
171
|
+
getVersion(packageName: string): string | null;
|
|
172
|
+
/**
|
|
173
|
+
* Return full metadata for an installed package.
|
|
174
|
+
*/
|
|
175
|
+
getMetadata(packageName: string): PackageMetadata | null;
|
|
176
|
+
/**
|
|
177
|
+
* List all packages installed in the current Python environment.
|
|
178
|
+
*/
|
|
179
|
+
listInstalled(): Array<{
|
|
180
|
+
name: string;
|
|
181
|
+
version: string;
|
|
182
|
+
}>;
|
|
183
|
+
/**
|
|
184
|
+
* Check which packages from the given list are missing.
|
|
185
|
+
*
|
|
186
|
+
* @param packages - Array of pip spec strings.
|
|
187
|
+
* @returns Array of spec strings that are NOT currently importable.
|
|
188
|
+
*/
|
|
189
|
+
getMissing(packages: string[]): string[];
|
|
190
|
+
/**
|
|
191
|
+
* Ensure pip itself is up-to-date.
|
|
192
|
+
*/
|
|
193
|
+
upgradePip(): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Run `python -c "import X"` to test importability.
|
|
196
|
+
* This is faster than `pip show` for the common case.
|
|
197
|
+
*/
|
|
198
|
+
private _isImportable;
|
|
199
|
+
/**
|
|
200
|
+
* Build pip install argument list.
|
|
201
|
+
*/
|
|
202
|
+
private _buildPipArgs;
|
|
203
|
+
/**
|
|
204
|
+
* Execute pip install with retry logic.
|
|
205
|
+
*/
|
|
206
|
+
private _pipInstall;
|
|
207
|
+
/**
|
|
208
|
+
* Spawn pip and collect output.
|
|
209
|
+
*/
|
|
210
|
+
private _runPip;
|
|
211
|
+
/** Merge per-package results into the aggregate InstallResult. */
|
|
212
|
+
private _mergeResults;
|
|
213
|
+
/** Emit a typed progress event. */
|
|
214
|
+
private _emit;
|
|
215
|
+
/** Parse `pip show` output into PackageMetadata. */
|
|
216
|
+
private _parsePipShow;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Create an installer seeded from a system Python, but always target the
|
|
220
|
+
* repository-root .venv selected by Pyfig.
|
|
221
|
+
*/
|
|
222
|
+
export declare function createSystemInstaller(options?: Partial<Omit<PackageInstallerOptions, 'pythonExecutable'>>): PackageInstaller;
|
|
223
|
+
/**
|
|
224
|
+
* Create a PackageInstaller tied to a specific virtualenv directory.
|
|
225
|
+
*/
|
|
226
|
+
export declare function createVenvInstaller(venvDir: string, options?: Partial<Omit<PackageInstallerOptions, 'pythonExecutable'>>): PackageInstaller;
|
|
227
|
+
/**
|
|
228
|
+
* Resolve the import name from a pip install spec using the built-in table.
|
|
229
|
+
* Exposed for testing and introspection.
|
|
230
|
+
*/
|
|
231
|
+
export { resolveImportName, extractPackageName, INSTALL_TO_IMPORT };
|
|
232
|
+
//# sourceMappingURL=PackageInstaller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageInstaller.d.ts","sourceRoot":"","sources":["../../src/env/PackageInstaller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAWtC,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,uCAAuC;IACvC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,QAAA,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsH7C,CAAC;AAIF;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAIlE;AASD,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,OAAO,EAAE,uBAAuB;IAwB5C;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA8D5E;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAS/E;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIzC;;;OAGG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAY9C;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAWxD;;OAEG;IACH,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAezD;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAOxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;YACW,WAAW;IA2DzB;;OAEG;YACW,OAAO;IAwBrB,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAerB,mCAAmC;IACnC,OAAO,CAAC,KAAK;IAUb,oDAAoD;IACpD,OAAO,CAAC,aAAa;CAkBtB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC,GACnE,gBAAgB,CAGlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAG,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC,GACnE,gBAAgB,CAgBlB;AAED;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
|