@avantf/dsh-plugin-base 0.3.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/LICENSE +21 -0
- package/README.md +303 -0
- package/dist/artifact.d.ts +29 -0
- package/dist/artifact.d.ts.map +1 -0
- package/dist/artifact.js +60 -0
- package/dist/artifact.js.map +1 -0
- package/dist/bootstrap.d.ts +54 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +334 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +37 -0
- package/dist/cli.js.map +1 -0
- package/dist/compat.d.ts +413 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +742 -0
- package/dist/compat.js.map +1 -0
- package/dist/conformance.d.ts +55 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +702 -0
- package/dist/conformance.js.map +1 -0
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +28 -0
- package/dist/errors.js.map +1 -0
- package/dist/fs.d.ts +18 -0
- package/dist/fs.d.ts.map +1 -0
- package/dist/fs.js +152 -0
- package/dist/fs.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/integrity.d.ts +5 -0
- package/dist/integrity.d.ts.map +1 -0
- package/dist/integrity.js +33 -0
- package/dist/integrity.js.map +1 -0
- package/dist/interface.d.ts +262 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +136 -0
- package/dist/interface.js.map +1 -0
- package/dist/interface_gate.d.ts +61 -0
- package/dist/interface_gate.d.ts.map +1 -0
- package/dist/interface_gate.js +103 -0
- package/dist/interface_gate.js.map +1 -0
- package/dist/internal.d.ts +23 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +18 -0
- package/dist/internal.js.map +1 -0
- package/dist/kit/family.d.ts +52 -0
- package/dist/kit/family.d.ts.map +1 -0
- package/dist/kit/family.js +65 -0
- package/dist/kit/family.js.map +1 -0
- package/dist/kit/index.d.ts +26 -0
- package/dist/kit/index.d.ts.map +1 -0
- package/dist/kit/index.js +26 -0
- package/dist/kit/index.js.map +1 -0
- package/dist/kit/logger.d.ts +41 -0
- package/dist/kit/logger.d.ts.map +1 -0
- package/dist/kit/logger.js +42 -0
- package/dist/kit/logger.js.map +1 -0
- package/dist/kit/prompt_files.d.ts +90 -0
- package/dist/kit/prompt_files.d.ts.map +1 -0
- package/dist/kit/prompt_files.js +121 -0
- package/dist/kit/prompt_files.js.map +1 -0
- package/dist/kit/typert.d.ts +40 -0
- package/dist/kit/typert.d.ts.map +1 -0
- package/dist/kit/typert.js +17 -0
- package/dist/kit/typert.js.map +1 -0
- package/dist/layout.d.ts +28 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +84 -0
- package/dist/layout.js.map +1 -0
- package/dist/lint.d.ts +33 -0
- package/dist/lint.d.ts.map +1 -0
- package/dist/lint.js +271 -0
- package/dist/lint.js.map +1 -0
- package/dist/lock.d.ts +12 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lock.js +93 -0
- package/dist/lock.js.map +1 -0
- package/dist/manifest.d.ts +12 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +75 -0
- package/dist/manifest.js.map +1 -0
- package/dist/net.d.ts +23 -0
- package/dist/net.d.ts.map +1 -0
- package/dist/net.js +112 -0
- package/dist/net.js.map +1 -0
- package/dist/package-name.d.ts +3 -0
- package/dist/package-name.d.ts.map +1 -0
- package/dist/package-name.js +13 -0
- package/dist/package-name.js.map +1 -0
- package/dist/preset.d.ts +46 -0
- package/dist/preset.d.ts.map +1 -0
- package/dist/preset.js +230 -0
- package/dist/preset.js.map +1 -0
- package/dist/providers/archive.d.ts +32 -0
- package/dist/providers/archive.d.ts.map +1 -0
- package/dist/providers/archive.js +248 -0
- package/dist/providers/archive.js.map +1 -0
- package/dist/providers/model.d.ts +25 -0
- package/dist/providers/model.d.ts.map +1 -0
- package/dist/providers/model.js +550 -0
- package/dist/providers/model.js.map +1 -0
- package/dist/providers/npm.d.ts +21 -0
- package/dist/providers/npm.d.ts.map +1 -0
- package/dist/providers/npm.js +458 -0
- package/dist/providers/npm.js.map +1 -0
- package/dist/provisioner.d.ts +21 -0
- package/dist/provisioner.d.ts.map +1 -0
- package/dist/provisioner.js +962 -0
- package/dist/provisioner.js.map +1 -0
- package/dist/semver.d.ts +31 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +244 -0
- package/dist/semver.js.map +1 -0
- package/dist/state.d.ts +71 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +225 -0
- package/dist/state.js.map +1 -0
- package/dist/tar.d.ts +10 -0
- package/dist/tar.d.ts.map +1 -0
- package/dist/tar.js +178 -0
- package/dist/tar.js.map +1 -0
- package/dist/types.d.ts +431 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/zip.d.ts +8 -0
- package/dist/zip.d.ts.map +1 -0
- package/dist/zip.js +109 -0
- package/dist/zip.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The built-in `binary-archive` provider.
|
|
3
|
+
* @module providers/archive
|
|
4
|
+
*/
|
|
5
|
+
import { delimiter, dirname, join } from 'node:path';
|
|
6
|
+
import { execFile } from 'node:child_process';
|
|
7
|
+
import { ProvisionError } from '../errors.js';
|
|
8
|
+
import { exists } from '../fs.js';
|
|
9
|
+
import { sriOfSha256 } from '../integrity.js';
|
|
10
|
+
import { decodeJson, readInstallManifest } from '../manifest.js';
|
|
11
|
+
import { candidateUrls, downloadBytes, platformKey, verifySha256 } from '../net.js';
|
|
12
|
+
import { extractTarGz } from '../tar.js';
|
|
13
|
+
import { extractZip } from '../zip.js';
|
|
14
|
+
export const BINARY_ARCHIVE_KIND = 'binary-archive';
|
|
15
|
+
const VERIFY_TIMEOUT_MS = 15_000;
|
|
16
|
+
/** Timeout for the short version probe that confirms a PATH hit. */
|
|
17
|
+
const PROBE_TIMEOUT_MS = 3_000;
|
|
18
|
+
const UNPACK_DIR = '.unpack';
|
|
19
|
+
const MAX_SEARCH_DEPTH = 4;
|
|
20
|
+
function parseSpec(item) {
|
|
21
|
+
const spec = item.spec;
|
|
22
|
+
if (typeof spec !== 'object' || spec === null) {
|
|
23
|
+
throw new ProvisionError('invalid-option', `binary-archive 的 spec 必须是 {id, version, packs}:${String(item.id)}`);
|
|
24
|
+
}
|
|
25
|
+
const record = spec;
|
|
26
|
+
if (typeof record['id'] !== 'string' || typeof record['version'] !== 'string' || typeof record['packs'] !== 'object' || record['packs'] === null) {
|
|
27
|
+
throw new ProvisionError('invalid-option', `binary-archive 的 spec 缺少 id/version/packs:${String(item.id)}`);
|
|
28
|
+
}
|
|
29
|
+
return spec;
|
|
30
|
+
}
|
|
31
|
+
function binaryOf(spec, pack) {
|
|
32
|
+
return pack?.binary ?? spec.binary ?? spec.id;
|
|
33
|
+
}
|
|
34
|
+
/** Search a tree for the executable, preferring shallower matches. */
|
|
35
|
+
async function findBinary(root, name, fs, depth = 0) {
|
|
36
|
+
if (depth > MAX_SEARCH_DEPTH)
|
|
37
|
+
return undefined;
|
|
38
|
+
let entries;
|
|
39
|
+
try {
|
|
40
|
+
entries = await fs.readdir(root);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const directories = [];
|
|
46
|
+
for (const entry of entries) {
|
|
47
|
+
const path = join(root, entry);
|
|
48
|
+
const info = await fs.stat(path);
|
|
49
|
+
if (info === undefined)
|
|
50
|
+
continue;
|
|
51
|
+
if (info.isDirectory) {
|
|
52
|
+
directories.push(path);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (entry === name || entry === `${name}.exe`)
|
|
56
|
+
return path;
|
|
57
|
+
}
|
|
58
|
+
for (const directory of directories.sort()) {
|
|
59
|
+
const found = await findBinary(directory, name, fs, depth + 1);
|
|
60
|
+
if (found !== undefined)
|
|
61
|
+
return found;
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
/** Every executable candidate on `PATH`, in scan order. */
|
|
66
|
+
async function findAllOnPath(binary, fs) {
|
|
67
|
+
const names = process.platform === 'win32' ? [binary, `${binary}.exe`, `${binary}.cmd`] : [binary];
|
|
68
|
+
const path = process.env['PATH'] ?? '';
|
|
69
|
+
const found = [];
|
|
70
|
+
for (const directory of path.split(delimiter)) {
|
|
71
|
+
if (directory === '')
|
|
72
|
+
continue;
|
|
73
|
+
for (const candidate of names) {
|
|
74
|
+
const full = join(directory, candidate);
|
|
75
|
+
if (await exists(fs, full))
|
|
76
|
+
found.push(full);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return found;
|
|
80
|
+
}
|
|
81
|
+
/** PATH contribution of a managed/explicit executable directory. */
|
|
82
|
+
function pathEnvOf(dir) {
|
|
83
|
+
return { PATH: `${dir}${delimiter}${process.env['PATH'] ?? ''}` };
|
|
84
|
+
}
|
|
85
|
+
/** Run the `--version` probe; `'timeout'` means the version is unknown. */
|
|
86
|
+
function runVersionProbe(path, args, options = {}) {
|
|
87
|
+
return new Promise(resolve => {
|
|
88
|
+
execFile(path, [...args], {
|
|
89
|
+
timeout: options.timeoutMs ?? VERIFY_TIMEOUT_MS,
|
|
90
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
91
|
+
}, error => {
|
|
92
|
+
if (error === null) {
|
|
93
|
+
resolve('ok');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const killed = error.killed === true || error.code === 'ETIMEDOUT';
|
|
97
|
+
resolve(killed ? 'timeout' : 'failed');
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/** Build the built-in binary-archive provider. */
|
|
102
|
+
export function binaryArchiveProvider(options = {}) {
|
|
103
|
+
const id = options.id ?? '@avantf/dsh-plugin-base/binary-archive';
|
|
104
|
+
return {
|
|
105
|
+
id,
|
|
106
|
+
kinds: [BINARY_ARCHIVE_KIND],
|
|
107
|
+
identify(item) {
|
|
108
|
+
const spec = parseSpec(item);
|
|
109
|
+
return { name: spec.id, range: spec.version };
|
|
110
|
+
},
|
|
111
|
+
targetDir(_item, ref) {
|
|
112
|
+
return `${ref.name}/${ref.segment}`;
|
|
113
|
+
},
|
|
114
|
+
/** Return `install` with the pinned version and pack URLs, or `unknown` without a pack. */
|
|
115
|
+
plan(item, ctx) {
|
|
116
|
+
const spec = parseSpec(item);
|
|
117
|
+
const pack = spec.packs[platformKey()];
|
|
118
|
+
if (pack === undefined)
|
|
119
|
+
return { action: 'unknown' };
|
|
120
|
+
return { action: 'install', version: spec.version, urls: candidateUrls(pack.url, ctx.policy.mirrors?.archive) };
|
|
121
|
+
},
|
|
122
|
+
async probe(item, ctx) {
|
|
123
|
+
const spec = parseSpec(item);
|
|
124
|
+
const binary = binaryOf(spec);
|
|
125
|
+
const args = spec.versionArgs ?? ['--version'];
|
|
126
|
+
// A PATH/explicit hit is confirmed with the same `--version` probe as verify.
|
|
127
|
+
const check = async (path) => {
|
|
128
|
+
if (args.length === 0)
|
|
129
|
+
return { version: spec.version };
|
|
130
|
+
const outcome = await runVersionProbe(path, args, { timeoutMs: PROBE_TIMEOUT_MS, ...(ctx.signal === undefined ? {} : { signal: ctx.signal }) });
|
|
131
|
+
if (outcome === 'ok')
|
|
132
|
+
return { version: spec.version };
|
|
133
|
+
if (outcome === 'timeout') {
|
|
134
|
+
ctx.logger.warn(`${path} 的 ${args.join(' ')} 探针超时;按"存在但版本未知"处理`);
|
|
135
|
+
return {};
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
};
|
|
139
|
+
const fromEnv = spec.envVar === undefined ? undefined : process.env[spec.envVar];
|
|
140
|
+
const explicit = spec.entry ?? (fromEnv === undefined || fromEnv === '' ? undefined : fromEnv);
|
|
141
|
+
if (explicit !== undefined && (await exists(ctx.fs, explicit))) {
|
|
142
|
+
const confirmed = await check(explicit);
|
|
143
|
+
if (confirmed !== undefined) {
|
|
144
|
+
return { found: true, ...confirmed, dir: dirname(explicit), source: 'explicit', env: pathEnvOf(dirname(explicit)) };
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const root = join(ctx.home, item.target.root, spec.id);
|
|
148
|
+
try {
|
|
149
|
+
for (const entry of await ctx.fs.readdir(root)) {
|
|
150
|
+
const manifestPath = join(root, entry, 'install.json');
|
|
151
|
+
if ((await ctx.fs.stat(manifestPath)) === undefined)
|
|
152
|
+
continue;
|
|
153
|
+
const manifest = readInstallManifest(decodeJson(await ctx.fs.readFile(manifestPath)), BINARY_ARCHIVE_KIND);
|
|
154
|
+
if (manifest === undefined || manifest.version !== spec.version)
|
|
155
|
+
continue;
|
|
156
|
+
// The manifest's entry is authoritative.
|
|
157
|
+
const relative = manifest.entry ?? `bin/${binaryOf(spec, spec.packs[platformKey()])}`;
|
|
158
|
+
const executable = join(root, entry, ...relative.split('/'));
|
|
159
|
+
if (await exists(ctx.fs, executable)) {
|
|
160
|
+
const dir = dirname(executable);
|
|
161
|
+
return { found: true, version: spec.version, dir, source: 'managed', env: pathEnvOf(dir) };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
// No managed root yet: fall through to PATH.
|
|
167
|
+
}
|
|
168
|
+
// A failed PATH candidate does not stop the scan; rejected candidates are reported once.
|
|
169
|
+
const rejected = [];
|
|
170
|
+
for (const candidate of await findAllOnPath(binary, ctx.fs)) {
|
|
171
|
+
const confirmed = await check(candidate);
|
|
172
|
+
if (confirmed !== undefined) {
|
|
173
|
+
if (rejected.length > 0) {
|
|
174
|
+
ctx.logger.warn(`PATH 上的 ${rejected.join('、')} 未通过 ${args.join(' ')} 探针,已跳过;改用 ${candidate}`);
|
|
175
|
+
}
|
|
176
|
+
return { found: true, ...confirmed, dir: dirname(candidate), source: 'system' };
|
|
177
|
+
}
|
|
178
|
+
rejected.push(candidate);
|
|
179
|
+
}
|
|
180
|
+
if (rejected.length > 0) {
|
|
181
|
+
ctx.logger.warn(`PATH 上的 ${rejected.join('、')} 均未通过 ${args.join(' ')} 探针;按未安装处理`);
|
|
182
|
+
}
|
|
183
|
+
return { found: false };
|
|
184
|
+
},
|
|
185
|
+
async install(item, ctx) {
|
|
186
|
+
const spec = parseSpec(item);
|
|
187
|
+
const key = platformKey();
|
|
188
|
+
const pack = spec.packs[key];
|
|
189
|
+
if (pack === undefined) {
|
|
190
|
+
throw new ProvisionError('archive/no-platform-pack', `${spec.id}@${spec.version} 没有 ${key} 的 pack`);
|
|
191
|
+
}
|
|
192
|
+
const urls = candidateUrls(pack.url, ctx.policy.mirrors?.archive);
|
|
193
|
+
const { bytes } = await downloadBytes(ctx, urls, `${BINARY_ARCHIVE_KIND}+${spec.id}`, ctx.onProgress);
|
|
194
|
+
verifySha256(bytes, pack.sha256);
|
|
195
|
+
const staging = await ctx.stage();
|
|
196
|
+
const unpack = join(staging, UNPACK_DIR);
|
|
197
|
+
if ((pack.archive ?? 'tar.gz') === 'zip')
|
|
198
|
+
await extractZip(bytes, unpack, ctx.fs);
|
|
199
|
+
else
|
|
200
|
+
await extractTarGz(bytes, unpack, ctx.fs);
|
|
201
|
+
const binary = binaryOf(spec, pack);
|
|
202
|
+
const found = await findBinary(unpack, binary, ctx.fs);
|
|
203
|
+
if (found === undefined) {
|
|
204
|
+
throw new ProvisionError('extract/failed', `${spec.id}@${spec.version} 的归档里找不到可执行物 ${binary}`);
|
|
205
|
+
}
|
|
206
|
+
const binDir = join(staging, 'bin');
|
|
207
|
+
await ctx.fs.mkdir(binDir);
|
|
208
|
+
const target = join(binDir, binary);
|
|
209
|
+
await ctx.fs.copyFile(found, target);
|
|
210
|
+
await ctx.fs.chmod(target, 0o755);
|
|
211
|
+
await ctx.fs.rm(unpack, { recursive: true });
|
|
212
|
+
const meta = {
|
|
213
|
+
name: spec.id,
|
|
214
|
+
version: spec.version,
|
|
215
|
+
integrity: sriOfSha256(pack.sha256),
|
|
216
|
+
tarball: pack.url,
|
|
217
|
+
source: 'installed',
|
|
218
|
+
entry: `bin/${binary}`,
|
|
219
|
+
entryDir: 'bin',
|
|
220
|
+
};
|
|
221
|
+
return ctx.publish(staging, meta);
|
|
222
|
+
},
|
|
223
|
+
async verify(item, resolved, ctx) {
|
|
224
|
+
const spec = parseSpec(item);
|
|
225
|
+
// The published entry is the manifest's.
|
|
226
|
+
const manifest = readInstallManifest(decodeJson(await ctx.fs.readFile(join(resolved.dir, 'install.json'))), BINARY_ARCHIVE_KIND);
|
|
227
|
+
const entry = manifest?.entry;
|
|
228
|
+
const path = entry === undefined ? join(resolved.entryDir, binaryOf(spec)) : join(resolved.dir, ...entry.split('/'));
|
|
229
|
+
if (!(await exists(ctx.fs, path))) {
|
|
230
|
+
throw new ProvisionError('verify/failed', `归档可执行物不存在:${path}`);
|
|
231
|
+
}
|
|
232
|
+
await ctx.fs.chmod(path, 0o755);
|
|
233
|
+
const args = spec.versionArgs ?? ['--version'];
|
|
234
|
+
if (args.length === 0)
|
|
235
|
+
return;
|
|
236
|
+
const outcome = await runVersionProbe(path, args, { ...(ctx.signal === undefined ? {} : { signal: ctx.signal }) });
|
|
237
|
+
if (outcome === 'timeout') {
|
|
238
|
+
// A timeout leaves the binary usable; only a failed probe fails verification.
|
|
239
|
+
ctx.logger.warn(`${path} 的 ${args.join(' ')} 探针超时;按可用处理`);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (outcome === 'failed') {
|
|
243
|
+
throw new ProvisionError('verify/failed', `${path} 的 ${args.join(' ')} 探针失败`);
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/providers/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Provider } from '../types.js';
|
|
2
|
+
export declare const MODEL_CACHE_KIND = "model-cache";
|
|
3
|
+
/** How an item's files are placed under `target.root`.
|
|
4
|
+
* @stable */
|
|
5
|
+
export type ModelCacheLayout = 'hub' | 'flat';
|
|
6
|
+
/** The `spec` of a `model-cache` item. */
|
|
7
|
+
export interface ModelCacheSpec {
|
|
8
|
+
/** The repo id, e.g. `org/name`; also the resource name. */
|
|
9
|
+
readonly repo: string;
|
|
10
|
+
/** Branch/tag/sha; default `main`. */
|
|
11
|
+
readonly revision?: string;
|
|
12
|
+
/** File placement; default `hub`. */
|
|
13
|
+
readonly layout?: ModelCacheLayout;
|
|
14
|
+
/** Endpoint override; wins over `policy.mirrors.model`. */
|
|
15
|
+
readonly endpoint?: string;
|
|
16
|
+
/** Explicit file list; when absent the repository API's `siblings` are used. */
|
|
17
|
+
readonly files?: readonly string[];
|
|
18
|
+
/** Extra files that must exist for `verify` to pass. */
|
|
19
|
+
readonly requiredFiles?: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
/** Build the built-in model-cache provider. */
|
|
22
|
+
export declare function modelCacheProvider(options?: {
|
|
23
|
+
readonly id?: string;
|
|
24
|
+
}): Provider;
|
|
25
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/providers/model.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,QAAQ,EAOT,MAAM,aAAa,CAAA;AAEpB,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AAoB7C;cACc;AACd,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAA;AAY7C,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3C;AA8ZD,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,QAAQ,CAgHnF"}
|