npmdata 0.1.7-beta.0 → 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/README.md +3 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +153 -59
- package/dist/cli.js.map +1 -1
- package/dist/consumer.d.ts +20 -5
- package/dist/consumer.d.ts.map +1 -1
- package/dist/consumer.js +228 -111
- package/dist/consumer.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/npmdata-0.0.1.tgz +0 -0
- package/dist/publisher.d.ts +9 -0
- package/dist/publisher.d.ts.map +1 -1
- package/dist/publisher.js +41 -3
- package/dist/publisher.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +52 -20
- package/dist/runner.js.map +1 -1
- package/dist/types.d.ts +81 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +22 -5
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +55 -11
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,12 +21,12 @@ This document covers the internal architecture for contributors working on this
|
|
|
21
21
|
|
|
22
22
|
`extract()` flow:
|
|
23
23
|
1. Detects the package manager (`pnpm` / `yarn` / `npm`) via lock-file presence.
|
|
24
|
-
2.
|
|
25
|
-
3. Iterates matching files (glob + optional content regex) from
|
|
24
|
+
2. For each entry in `config.packages`, parses the spec (`name` or `name@version`) and runs `<pm> add <package>@<version>` to resolve the package.
|
|
25
|
+
3. Iterates matching files (glob + optional content regex) from each installed package.
|
|
26
26
|
4. Copies files into `outputDir`, tracking state in a `.publisher` CSV marker file per output directory.
|
|
27
27
|
5. Optionally writes a `.gitignore` section around the managed files.
|
|
28
28
|
|
|
29
|
-
`check()` performs the same resolution but compares SHA-256 hashes without writing any files.
|
|
29
|
+
`check()` performs the same resolution for each package in `config.packages` but compares SHA-256 hashes without writing any files.
|
|
30
30
|
|
|
31
31
|
## Marker file (`.publisher`)
|
|
32
32
|
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAaA;;GAEG;AAEH,wBAAsB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwPhE"}
|
package/dist/cli.js
CHANGED
|
@@ -13,7 +13,6 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
13
13
|
const node_path_1 = __importDefault(require("node:path"));
|
|
14
14
|
const consumer_1 = require("./consumer");
|
|
15
15
|
const publisher_1 = require("./publisher");
|
|
16
|
-
const utils_1 = require("./utils");
|
|
17
16
|
/**
|
|
18
17
|
* CLI for npmdata
|
|
19
18
|
*/
|
|
@@ -39,13 +38,19 @@ async function cli(processArgs) {
|
|
|
39
38
|
if (command === 'init') {
|
|
40
39
|
// eslint-disable-next-line functional/no-let
|
|
41
40
|
let sourceFoldersFlag;
|
|
42
|
-
//
|
|
41
|
+
// eslint-disable-next-line functional/no-let
|
|
42
|
+
let additionalPackagesFlag;
|
|
43
|
+
// Parse args for --folders and --packages flags
|
|
43
44
|
// eslint-disable-next-line functional/no-let
|
|
44
45
|
for (let i = 1; i < args.length; i += 1) {
|
|
45
46
|
if (args[i] === '--folders') {
|
|
46
47
|
// eslint-disable-next-line no-plusplus
|
|
47
48
|
sourceFoldersFlag = args[++i];
|
|
48
49
|
}
|
|
50
|
+
else if (args[i] === '--packages') {
|
|
51
|
+
// eslint-disable-next-line no-plusplus
|
|
52
|
+
additionalPackagesFlag = args[++i];
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
// --folders is required
|
|
51
56
|
if (!sourceFoldersFlag) {
|
|
@@ -54,44 +59,89 @@ async function cli(processArgs) {
|
|
|
54
59
|
return 1;
|
|
55
60
|
}
|
|
56
61
|
const folders = sourceFoldersFlag.split(',').map((f) => f.trim());
|
|
57
|
-
const
|
|
62
|
+
const additionalPackages = additionalPackagesFlag
|
|
63
|
+
? additionalPackagesFlag.split(',').map((p) => p.trim())
|
|
64
|
+
: [];
|
|
65
|
+
const result = await (0, publisher_1.initPublisher)(folders, { additionalPackages });
|
|
58
66
|
if (!result.success) {
|
|
59
|
-
console.error(`\
|
|
67
|
+
console.error(`\nError: ${result.message}`);
|
|
60
68
|
return 1;
|
|
61
69
|
}
|
|
62
|
-
console.log(`\n
|
|
70
|
+
console.log(`\n${result.message}`);
|
|
63
71
|
if (result.publishedFolders) {
|
|
64
72
|
console.log(`\nThe following folders will be published: ${result.publishedFolders.join(', ')}`);
|
|
65
73
|
}
|
|
74
|
+
if (result.additionalPackages && result.additionalPackages.length > 0) {
|
|
75
|
+
console.log(`\nAdditional data source packages: ${result.additionalPackages.join(', ')}`);
|
|
76
|
+
}
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
// Handle list command
|
|
80
|
+
if (command === 'list') {
|
|
81
|
+
let outDir = process.cwd();
|
|
82
|
+
let outputFlagProvided = false;
|
|
83
|
+
for (let i = 1; i < args.length; i++) {
|
|
84
|
+
if (args[i] === '--output' || args[i] === '-o') {
|
|
85
|
+
outDir = args[++i];
|
|
86
|
+
outputFlagProvided = true;
|
|
87
|
+
}
|
|
88
|
+
else if (!args[i].startsWith('-')) {
|
|
89
|
+
outDir = args[i];
|
|
90
|
+
outputFlagProvided = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (!outputFlagProvided) {
|
|
94
|
+
console.info(`Listing managed files in current directory: ${outDir}`);
|
|
95
|
+
}
|
|
96
|
+
const entries = (0, consumer_1.list)(node_path_1.default.resolve(outDir));
|
|
97
|
+
if (entries.length === 0) {
|
|
98
|
+
console.log('No managed files found.');
|
|
99
|
+
return 0;
|
|
100
|
+
}
|
|
101
|
+
for (const entry of entries) {
|
|
102
|
+
console.log(`\n${entry.packageName}@${entry.packageVersion} (${entry.files.length} files)`);
|
|
103
|
+
for (const f of entry.files) {
|
|
104
|
+
console.log(` ${f}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
66
107
|
return 0;
|
|
67
108
|
}
|
|
68
109
|
// Consumer commands (extract, check)
|
|
69
110
|
if (!['extract', 'check'].includes(command)) {
|
|
70
|
-
console.error(`Error: unknown command '${command}'. Use 'init', 'extract', or '
|
|
111
|
+
console.error(`Error: unknown command '${command}'. Use 'init', 'extract', 'check', or 'list'`);
|
|
71
112
|
printUsage();
|
|
72
113
|
return 1;
|
|
73
114
|
}
|
|
74
|
-
// Parse options
|
|
75
|
-
let
|
|
76
|
-
let version;
|
|
115
|
+
// Parse options common to extract and check
|
|
116
|
+
let packageSpecs;
|
|
77
117
|
let force = false;
|
|
78
118
|
let gitignore = false;
|
|
119
|
+
let dryRun = false;
|
|
120
|
+
let upgrade = false;
|
|
121
|
+
let silent = false;
|
|
79
122
|
let filenamePatterns;
|
|
80
123
|
let contentRegexes;
|
|
81
124
|
let outDir = process.cwd();
|
|
125
|
+
let outputFlagProvided = false;
|
|
82
126
|
for (let i = 1; i < args.length; i++) {
|
|
83
|
-
if (args[i] === '--
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
else if (args[i] === '--version') {
|
|
87
|
-
version = args[++i];
|
|
127
|
+
if (args[i] === '--packages') {
|
|
128
|
+
packageSpecs = args[++i];
|
|
88
129
|
}
|
|
89
130
|
else if (args[i] === '--force') {
|
|
90
131
|
force = true;
|
|
91
132
|
}
|
|
133
|
+
else if (args[i] === '--silent') {
|
|
134
|
+
silent = true;
|
|
135
|
+
}
|
|
92
136
|
else if (args[i] === '--gitignore') {
|
|
93
137
|
gitignore = true;
|
|
94
138
|
}
|
|
139
|
+
else if (args[i] === '--dry-run') {
|
|
140
|
+
dryRun = true;
|
|
141
|
+
}
|
|
142
|
+
else if (args[i] === '--upgrade') {
|
|
143
|
+
upgrade = true;
|
|
144
|
+
}
|
|
95
145
|
else if (args[i] === '--files') {
|
|
96
146
|
filenamePatterns = args[++i];
|
|
97
147
|
}
|
|
@@ -100,22 +150,52 @@ async function cli(processArgs) {
|
|
|
100
150
|
}
|
|
101
151
|
else if (args[i] === '--output' || args[i] === '-o') {
|
|
102
152
|
outDir = args[++i];
|
|
153
|
+
outputFlagProvided = true;
|
|
103
154
|
}
|
|
104
155
|
else if (!args[i].startsWith('-')) {
|
|
105
156
|
outDir = args[i];
|
|
157
|
+
outputFlagProvided = true;
|
|
106
158
|
}
|
|
107
159
|
}
|
|
108
|
-
if (!
|
|
109
|
-
console.error(`Error: --
|
|
160
|
+
if (!packageSpecs) {
|
|
161
|
+
console.error(`Error: --packages option is required for '${command}' command`);
|
|
110
162
|
printUsage();
|
|
111
163
|
return 1;
|
|
112
164
|
}
|
|
165
|
+
if (!outputFlagProvided && !silent) {
|
|
166
|
+
console.info(`No --output specified. Using current directory: ${outDir}`);
|
|
167
|
+
}
|
|
168
|
+
const packages = packageSpecs.split(',').map((s) => s.trim());
|
|
169
|
+
// Build onProgress handler that prints file-level events grouped by package
|
|
170
|
+
const onProgress = silent
|
|
171
|
+
? // eslint-disable-next-line no-undefined
|
|
172
|
+
undefined
|
|
173
|
+
: (event) => {
|
|
174
|
+
switch (event.type) {
|
|
175
|
+
case 'package-start':
|
|
176
|
+
console.log(`\n>> Package ${event.packageName}@${event.packageVersion}`);
|
|
177
|
+
break;
|
|
178
|
+
case 'file-added':
|
|
179
|
+
console.log(`A\t${event.file}`);
|
|
180
|
+
break;
|
|
181
|
+
case 'file-modified':
|
|
182
|
+
console.log(`M\t${event.file}`);
|
|
183
|
+
break;
|
|
184
|
+
case 'file-deleted':
|
|
185
|
+
console.log(`D\t${event.file}`);
|
|
186
|
+
break;
|
|
187
|
+
default:
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
113
191
|
const config = {
|
|
114
|
-
|
|
115
|
-
version,
|
|
192
|
+
packages,
|
|
116
193
|
outputDir: node_path_1.default.resolve(outDir),
|
|
117
194
|
force,
|
|
118
195
|
gitignore,
|
|
196
|
+
dryRun,
|
|
197
|
+
upgrade,
|
|
198
|
+
onProgress,
|
|
119
199
|
filenamePatterns: filenamePatterns
|
|
120
200
|
? filenamePatterns.split(',')
|
|
121
201
|
: // eslint-disable-next-line no-undefined
|
|
@@ -126,43 +206,40 @@ async function cli(processArgs) {
|
|
|
126
206
|
undefined,
|
|
127
207
|
};
|
|
128
208
|
if (command === 'extract') {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
209
|
+
if (!silent) {
|
|
210
|
+
if (dryRun)
|
|
211
|
+
console.info('Dry run: simulating extraction (no files will be written)...');
|
|
212
|
+
else
|
|
213
|
+
console.info('Extracting package files...');
|
|
214
|
+
}
|
|
132
215
|
const result = await (0, consumer_1.extract)(config);
|
|
133
|
-
|
|
134
|
-
...result.added.map((f) => `A\t${f}`),
|
|
135
|
-
...result.modified.map((f) => `M\t${f}`),
|
|
136
|
-
...result.deleted.map((f) => `D\t${f}`),
|
|
137
|
-
];
|
|
138
|
-
if (allChanged.length > 0) {
|
|
139
|
-
console.log('');
|
|
140
|
-
for (const line of allChanged)
|
|
141
|
-
console.log(line);
|
|
142
|
-
}
|
|
143
|
-
console.log(`\nExtraction complete: ${result.added.length} added, ${result.modified.length} modified, ${result.deleted.length} deleted, ${result.skipped.length} skipped`);
|
|
216
|
+
console.log(`\nExtraction complete: ${result.added.length} added, ${result.modified.length} modified, ${result.deleted.length} deleted, ${result.skipped.length} skipped${dryRun ? ' (dry run)' : ''}`);
|
|
144
217
|
return 0;
|
|
145
218
|
}
|
|
146
219
|
if (command === 'check') {
|
|
147
|
-
const installedVersion = (0, utils_1.getInstalledPackageVersion)(config.packageName, config.cwd);
|
|
148
220
|
const relDir = node_path_1.default.relative(process.cwd(), config.outputDir) || '.';
|
|
149
|
-
console.log(`\nChecking data from ${config.
|
|
221
|
+
console.log(`\nChecking data from ${config.packages.join(', ')} against ${relDir}...`);
|
|
150
222
|
const result = await (0, consumer_1.check)(config);
|
|
223
|
+
for (const pkg of result.sourcePackages) {
|
|
224
|
+
const pkgLabel = `${pkg.name}@${pkg.version}`;
|
|
225
|
+
if (pkg.ok) {
|
|
226
|
+
console.log(` ${pkgLabel}: in sync`);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
console.log(` ${pkgLabel}: out of sync`);
|
|
230
|
+
for (const f of pkg.differences.missing)
|
|
231
|
+
console.log(` - missing: ${f}`);
|
|
232
|
+
for (const f of pkg.differences.modified)
|
|
233
|
+
console.log(` ~ modified: ${f}`);
|
|
234
|
+
for (const f of pkg.differences.extra)
|
|
235
|
+
console.log(` + extra: ${f}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
151
238
|
if (result.ok) {
|
|
152
|
-
console.log('
|
|
239
|
+
console.log('\nAll files are in sync');
|
|
153
240
|
return 0;
|
|
154
241
|
}
|
|
155
|
-
console.log('
|
|
156
|
-
if (result.differences.missing.length > 0) {
|
|
157
|
-
console.log('\nMissing files:');
|
|
158
|
-
for (const f of result.differences.missing)
|
|
159
|
-
console.log(` - ${f}`);
|
|
160
|
-
}
|
|
161
|
-
if (result.differences.modified.length > 0) {
|
|
162
|
-
console.log('\nModified files:');
|
|
163
|
-
for (const f of result.differences.modified)
|
|
164
|
-
console.log(` ~ ${f}`);
|
|
165
|
-
}
|
|
242
|
+
console.log('\nFiles are out of sync');
|
|
166
243
|
return 2;
|
|
167
244
|
}
|
|
168
245
|
// unreachable, but satisfies TypeScript
|
|
@@ -173,12 +250,13 @@ function printUsage() {
|
|
|
173
250
|
npmdata
|
|
174
251
|
|
|
175
252
|
Usage:
|
|
176
|
-
npx npmdata [init|extract|check] [options]
|
|
253
|
+
npx npmdata [init|extract|check|list] [options]
|
|
177
254
|
|
|
178
255
|
Commands:
|
|
179
256
|
init Initialize publishing configuration
|
|
180
|
-
extract Extract files from
|
|
181
|
-
check Verify if local files are in sync with
|
|
257
|
+
extract Extract files from one or more published packages
|
|
258
|
+
check Verify if local files are in sync with packages
|
|
259
|
+
list List all managed files in the output directory
|
|
182
260
|
|
|
183
261
|
Global Options:
|
|
184
262
|
--help, -h Show this help message
|
|
@@ -186,22 +264,38 @@ Global Options:
|
|
|
186
264
|
|
|
187
265
|
Init Options:
|
|
188
266
|
--folders <folders> Comma-separated list of source folders to publish (required)
|
|
267
|
+
--packages <specs> Comma-separated additional package specs to use as data sources.
|
|
268
|
+
Each spec is "name" or "name@version"
|
|
269
|
+
e.g. "shared-data@^1.0.0,other-pkg@2.x"
|
|
189
270
|
|
|
190
271
|
Extract / Check Options:
|
|
191
|
-
--
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
--
|
|
195
|
-
--
|
|
272
|
+
--packages <specs> Comma-separated package specs to extract from (required).
|
|
273
|
+
Each spec is "name" or "name@version"
|
|
274
|
+
e.g. "my-pkg@^1.2.3,other-pkg@2.x"
|
|
275
|
+
--output, -o <dir> Output directory (default: current directory, with a warning)
|
|
276
|
+
--force Allow overwriting existing unmanaged files
|
|
277
|
+
--gitignore Create/update .gitignore to ignore managed files and .publisher
|
|
278
|
+
--dry-run Simulate extraction without writing any files
|
|
279
|
+
--upgrade Re-install packages even when a satisfying version is installed
|
|
280
|
+
--silent Print only the final result line, suppressing package and file listing
|
|
281
|
+
--files <pattern> Comma-separated shell glob patterns to filter files
|
|
196
282
|
--content-regex <regex> Regex pattern to match file contents
|
|
197
|
-
|
|
283
|
+
|
|
284
|
+
List Options:
|
|
285
|
+
--output, -o <dir> Directory to inspect (default: current directory)
|
|
198
286
|
|
|
199
287
|
Examples:
|
|
200
288
|
npx npmdata init --folders "data,docs,config"
|
|
201
|
-
npx npmdata extract --
|
|
202
|
-
npx npmdata extract --
|
|
203
|
-
npx npmdata extract --
|
|
204
|
-
npx npmdata
|
|
289
|
+
npx npmdata extract --packages mydataset --output ./data
|
|
290
|
+
npx npmdata extract --packages mydataset@^2.0.0 --output ./data
|
|
291
|
+
npx npmdata extract --packages "mydataset@^2.0.0,otherpkg@1.x" --output ./data
|
|
292
|
+
npx npmdata extract --packages mydataset --dry-run --output ./data
|
|
293
|
+
npx npmdata extract --packages mydataset --silent --output ./data
|
|
294
|
+
npx npmdata extract --packages mydataset --upgrade --output ./data
|
|
295
|
+
npx npmdata extract --packages mydataset --files "*.md,docs/**" --output ./docs
|
|
296
|
+
npx npmdata check --packages mydataset --output ./data
|
|
297
|
+
npx npmdata check --packages "mydataset,otherpkg" --output ./data
|
|
298
|
+
npx npmdata list --output ./data
|
|
205
299
|
`);
|
|
206
300
|
}
|
|
207
301
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA,yCAAyC;AACzC,gCAAgC;AAChC,sCAAsC;AACtC,+BAA+B;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/consumer.d.ts
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
1
1
|
import { ConsumerConfig, ConsumerResult, CheckResult } from './types';
|
|
2
2
|
/**
|
|
3
|
-
* Extract files from published
|
|
3
|
+
* Extract files from published packages to output directory.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1 validates and installs every package before touching disk.
|
|
6
|
+
* Phase 2 runs file extraction for all packages in parallel.
|
|
7
|
+
* When dryRun is true no files are written; the result reflects what would change.
|
|
4
8
|
*/
|
|
5
9
|
export declare function extract(config: ConsumerConfig): Promise<ConsumerResult>;
|
|
6
10
|
/**
|
|
7
|
-
* Check if managed files are in sync with
|
|
11
|
+
* Check if managed files are in sync with published packages.
|
|
12
|
+
*
|
|
13
|
+
* Performs a bidirectional comparison:
|
|
14
|
+
* - Files in the .publisher marker that are missing from or modified in the output directory.
|
|
15
|
+
* - Files present in the package (matching filters) that have not been extracted yet ("extra").
|
|
8
16
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* against the installed package contents and the output directory.
|
|
17
|
+
* If a version constraint is specified (e.g. "my-pkg@^1.0.0"), the installed version is
|
|
18
|
+
* validated against it so stale installs are caught.
|
|
12
19
|
*/
|
|
13
20
|
export declare function check(config: ConsumerConfig): Promise<CheckResult>;
|
|
21
|
+
/**
|
|
22
|
+
* List all managed files currently extracted in outputDir, grouped by package.
|
|
23
|
+
*/
|
|
24
|
+
export declare function list(outputDir: string): Array<{
|
|
25
|
+
packageName: string;
|
|
26
|
+
packageVersion: string;
|
|
27
|
+
files: string[];
|
|
28
|
+
}>;
|
|
14
29
|
//# sourceMappingURL=consumer.d.ts.map
|
package/dist/consumer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EAGZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EAGZ,MAAM,SAAS,CAAC;AAsgBjB;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAwD7E;AAED;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAwFxE;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC,CAwBD"}
|