@prosopo/datasets-fs 2.1.1 → 2.1.3
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/package.json +5 -5
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -6
- package/coverage/coverage-final.json +0 -1
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -101
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/dist/cjs/cli/cli.cjs +0 -58
- package/dist/cjs/index.cjs +0 -4
- package/dist/cli/cli.d.ts +0 -9
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js +0 -58
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/cliCommand.d.ts +0 -17
- package/dist/cli/cliCommand.d.ts.map +0 -1
- package/dist/cli/cliCommand.js +0 -28
- package/dist/cli/cliCommand.js.map +0 -1
- package/dist/cli/cliCommandComposite.d.ts +0 -14
- package/dist/cli/cliCommandComposite.d.ts.map +0 -1
- package/dist/cli/cliCommandComposite.js +0 -32
- package/dist/cli/cliCommandComposite.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -34
- package/dist/cli.js.map +0 -1
- package/dist/commands/flatten.d.ts +0 -59
- package/dist/commands/flatten.d.ts.map +0 -1
- package/dist/commands/flatten.js +0 -96
- package/dist/commands/flatten.js.map +0 -1
- package/dist/commands/generate.d.ts +0 -115
- package/dist/commands/generate.d.ts.map +0 -1
- package/dist/commands/generate.js +0 -150
- package/dist/commands/generate.js.map +0 -1
- package/dist/commands/generateV1.d.ts +0 -179
- package/dist/commands/generateV1.d.ts.map +0 -1
- package/dist/commands/generateV1.js +0 -169
- package/dist/commands/generateV1.js.map +0 -1
- package/dist/commands/generateV2.d.ts +0 -189
- package/dist/commands/generateV2.d.ts.map +0 -1
- package/dist/commands/generateV2.js +0 -200
- package/dist/commands/generateV2.js.map +0 -1
- package/dist/commands/get.d.ts +0 -35
- package/dist/commands/get.d.ts.map +0 -1
- package/dist/commands/get.js +0 -79
- package/dist/commands/get.js.map +0 -1
- package/dist/commands/labels.d.ts +0 -47
- package/dist/commands/labels.d.ts.map +0 -1
- package/dist/commands/labels.js +0 -48
- package/dist/commands/labels.js.map +0 -1
- package/dist/commands/relocate.d.ts +0 -71
- package/dist/commands/relocate.d.ts.map +0 -1
- package/dist/commands/relocate.js +0 -75
- package/dist/commands/relocate.js.map +0 -1
- package/dist/commands/resize.d.ts +0 -69
- package/dist/commands/resize.d.ts.map +0 -1
- package/dist/commands/resize.js +0 -112
- package/dist/commands/resize.js.map +0 -1
- package/dist/dummy.d.ts +0 -2
- package/dist/dummy.d.ts.map +0 -1
- package/dist/dummy.js +0 -28
- package/dist/dummy.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/tests/data/flat_resized/labels.json +0 -13
- package/dist/tests/data/flat_resized/relocated_data.json +0 -364
- package/dist/tests/lodash.unit.test.d.ts +0 -2
- package/dist/tests/lodash.unit.test.d.ts.map +0 -1
- package/dist/tests/lodash.unit.test.js +0 -29
- package/dist/tests/lodash.unit.test.js.map +0 -1
- package/dist/tests/mocked.unit.test.d.ts +0 -2
- package/dist/tests/mocked.unit.test.d.ts.map +0 -1
- package/dist/tests/mocked.unit.test.js +0 -253
- package/dist/tests/mocked.unit.test.js.map +0 -1
- package/dist/tests/utils.d.ts +0 -35
- package/dist/tests/utils.d.ts.map +0 -1
- package/dist/tests/utils.js +0 -101
- package/dist/tests/utils.js.map +0 -1
- package/dist/utils/input.d.ts +0 -24
- package/dist/utils/input.d.ts.map +0 -1
- package/dist/utils/input.js +0 -35
- package/dist/utils/input.js.map +0 -1
- package/dist/utils/inputOutput.d.ts +0 -21
- package/dist/utils/inputOutput.d.ts.map +0 -1
- package/dist/utils/inputOutput.js +0 -10
- package/dist/utils/inputOutput.js.map +0 -1
- package/dist/utils/output.d.ts +0 -36
- package/dist/utils/output.d.ts.map +0 -1
- package/dist/utils/output.js +0 -62
- package/dist/utils/output.js.map +0 -1
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { blake2b } from "@noble/hashes/blake2b";
|
|
4
|
-
import { u8aToHex } from "@polkadot/util/u8a";
|
|
5
|
-
import { getRootDir, getTestResultsDir } from "@prosopo/config";
|
|
6
|
-
import { CaptchasContainerSchema, DataSchema } from "@prosopo/types";
|
|
7
|
-
import sharp from "sharp";
|
|
8
|
-
import { afterAll, beforeAll, describe, test } from "vitest";
|
|
9
|
-
import { Flatten } from "../commands/flatten.js";
|
|
10
|
-
import { GenerateV1 } from "../commands/generateV1.js";
|
|
11
|
-
import { GenerateV2 } from "../commands/generateV2.js";
|
|
12
|
-
import { Labels } from "../commands/labels.js";
|
|
13
|
-
import { Relocate } from "../commands/relocate.js";
|
|
14
|
-
import { Resize } from "../commands/resize.js";
|
|
15
|
-
import { captchasEqFs, fsEq, fsWalk, restoreRepoDir, substituteRepoDir, } from "./utils.js";
|
|
16
|
-
describe("dataset commands", () => {
|
|
17
|
-
const pkgDir = path.relative(getRootDir(), __dirname);
|
|
18
|
-
const pkgInternalPath = pkgDir.replace(`${__dirname}/`, "");
|
|
19
|
-
const testResultsDir = `${getTestResultsDir()}/${pkgInternalPath}`;
|
|
20
|
-
beforeAll(() => {
|
|
21
|
-
substituteRepoDir();
|
|
22
|
-
fs.mkdirSync(`${testResultsDir}`, { recursive: true });
|
|
23
|
-
});
|
|
24
|
-
afterAll(() => {
|
|
25
|
-
restoreRepoDir();
|
|
26
|
-
if (fs.existsSync(`${testResultsDir}`)) {
|
|
27
|
-
fs.rmdirSync(`${testResultsDir}`, { recursive: true });
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
test("labels", async () => {
|
|
31
|
-
const input = `${__dirname}/data/flat_resized/data.json`;
|
|
32
|
-
const output = `${testResultsDir}/labels.json`;
|
|
33
|
-
const labels = new Labels();
|
|
34
|
-
labels.logger.setLogLevel("error");
|
|
35
|
-
await labels.exec({
|
|
36
|
-
input,
|
|
37
|
-
output,
|
|
38
|
-
});
|
|
39
|
-
fsEq(output, `${__dirname}/data/flat_resized/labels.json`);
|
|
40
|
-
const content = fs.readFileSync(output).toString();
|
|
41
|
-
const labelsJson = JSON.parse(content.toString());
|
|
42
|
-
const foundLabels = labelsJson.labels;
|
|
43
|
-
const categories = fs.readdirSync(`${__dirname}/data/hierarchical`);
|
|
44
|
-
if (JSON.stringify(foundLabels) !== JSON.stringify(categories)) {
|
|
45
|
-
throw new Error(`expected ${categories} but found ${foundLabels}`);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
test("generate v2", async () => {
|
|
49
|
-
const input = `${__dirname}/data/flat_resized/data.json`;
|
|
50
|
-
const output = `${testResultsDir}/captchas_v2.json`;
|
|
51
|
-
const minIncorrect = 1;
|
|
52
|
-
const minCorrect = 1;
|
|
53
|
-
const minLabelled = 2;
|
|
54
|
-
const maxLabelled = 7;
|
|
55
|
-
const generate = new GenerateV2();
|
|
56
|
-
generate.logger.setLogLevel("error");
|
|
57
|
-
await generate.exec({
|
|
58
|
-
labelled: input,
|
|
59
|
-
unlabelled: input,
|
|
60
|
-
overwrite: true,
|
|
61
|
-
output,
|
|
62
|
-
count: 100,
|
|
63
|
-
seed: 0,
|
|
64
|
-
minIncorrect,
|
|
65
|
-
minCorrect,
|
|
66
|
-
minLabelled,
|
|
67
|
-
maxLabelled,
|
|
68
|
-
allowDuplicates: true,
|
|
69
|
-
});
|
|
70
|
-
if (!captchasEqFs(output, `${__dirname}/data/flat_resized/captchas_v2.json`)) {
|
|
71
|
-
throw new Error("captchas not equal");
|
|
72
|
-
}
|
|
73
|
-
const content = fs.readFileSync(output).toString();
|
|
74
|
-
const captchasJson = JSON.parse(content.toString());
|
|
75
|
-
const captchas = CaptchasContainerSchema.parse(captchasJson);
|
|
76
|
-
for (const captcha of captchas.captchas) {
|
|
77
|
-
const solutions = captcha.solution;
|
|
78
|
-
const unlabelled = captcha.unlabelled;
|
|
79
|
-
if (solutions === undefined || unlabelled === undefined) {
|
|
80
|
-
console.log(captcha);
|
|
81
|
-
throw new Error("solutions or unlabelled array is undefined");
|
|
82
|
-
}
|
|
83
|
-
for (const solution of solutions) {
|
|
84
|
-
if (unlabelled.includes(solution)) {
|
|
85
|
-
throw new Error(`solution ${solution} is also in unlabelled array`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const nCorrect = solutions.length;
|
|
89
|
-
const nUnlabelled = unlabelled.length;
|
|
90
|
-
const nIncorrect = 9 - nCorrect - nUnlabelled;
|
|
91
|
-
const nLabelled = nCorrect + nIncorrect;
|
|
92
|
-
if (nCorrect < minCorrect) {
|
|
93
|
-
throw new Error(`expected at least ${minCorrect} correct but found ${nCorrect}`);
|
|
94
|
-
}
|
|
95
|
-
if (nIncorrect < minIncorrect) {
|
|
96
|
-
throw new Error(`expected at least ${minIncorrect} incorrect but found ${nIncorrect}`);
|
|
97
|
-
}
|
|
98
|
-
if (nLabelled < minLabelled) {
|
|
99
|
-
throw new Error(`expected at least ${minLabelled} labelled but found ${nLabelled}`);
|
|
100
|
-
}
|
|
101
|
-
if (nLabelled > maxLabelled) {
|
|
102
|
-
throw new Error(`expected at most ${maxLabelled} labelled but found ${nLabelled}`);
|
|
103
|
-
}
|
|
104
|
-
if (nUnlabelled !== 9 - nLabelled) {
|
|
105
|
-
throw new Error(`expected ${9 - nLabelled} unlabelled but found ${nUnlabelled}`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
test("generate v1", async () => {
|
|
110
|
-
const input = `${__dirname}/data/flat_resized/data.json`;
|
|
111
|
-
const output = `${testResultsDir}/captchas_v1.json`;
|
|
112
|
-
const generate = new GenerateV1();
|
|
113
|
-
generate.logger.setLogLevel("error");
|
|
114
|
-
await generate.exec({
|
|
115
|
-
labelled: input,
|
|
116
|
-
unlabelled: input,
|
|
117
|
-
overwrite: true,
|
|
118
|
-
output,
|
|
119
|
-
solved: 50,
|
|
120
|
-
unsolved: 50,
|
|
121
|
-
seed: 0,
|
|
122
|
-
minCorrect: 1,
|
|
123
|
-
maxCorrect: 6,
|
|
124
|
-
allowDuplicates: true,
|
|
125
|
-
});
|
|
126
|
-
if (!captchasEqFs(output, `${__dirname}/data/flat_resized/captchas_v1.json`)) {
|
|
127
|
-
throw new Error("captchas not equal");
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
test("resizes data", async () => {
|
|
131
|
-
const input = `${__dirname}/data/flat/data.json`;
|
|
132
|
-
const output = `${testResultsDir}/flat_resized`;
|
|
133
|
-
const resize = new Resize();
|
|
134
|
-
resize.logger.setLogLevel("error");
|
|
135
|
-
await resize.exec({
|
|
136
|
-
input,
|
|
137
|
-
output,
|
|
138
|
-
overwrite: true,
|
|
139
|
-
square: true,
|
|
140
|
-
size: 128,
|
|
141
|
-
});
|
|
142
|
-
const expected = `${__dirname}/data/flat_resized`;
|
|
143
|
-
fsEq(output, expected);
|
|
144
|
-
for (const pth of fsWalk(output)) {
|
|
145
|
-
if (!pth.endsWith(".jpg") &&
|
|
146
|
-
!pth.endsWith(".jpeg") &&
|
|
147
|
-
!pth.endsWith(".png")) {
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
const image = sharp(pth);
|
|
151
|
-
const metadata = await image.metadata();
|
|
152
|
-
if (metadata.width !== 128 || metadata.height !== 128) {
|
|
153
|
-
throw new Error(`image ${pth} is not 128x128`);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
test("relocates data", async () => {
|
|
158
|
-
const input = `${__dirname}/data/flat_resized/data.json`;
|
|
159
|
-
const output = `${testResultsDir}/relocated_data.json`;
|
|
160
|
-
const relocate = new Relocate();
|
|
161
|
-
relocate.logger.setLogLevel("error");
|
|
162
|
-
await relocate.exec({
|
|
163
|
-
input,
|
|
164
|
-
output,
|
|
165
|
-
overwrite: true,
|
|
166
|
-
to: "newwebsite.com",
|
|
167
|
-
from: "${repo}",
|
|
168
|
-
});
|
|
169
|
-
const expected = `${__dirname}/data/flat_resized/relocated_data.json`;
|
|
170
|
-
fsEq(output, expected);
|
|
171
|
-
});
|
|
172
|
-
test("flattens hierarchical data", async () => {
|
|
173
|
-
const input = `${__dirname}/data/hierarchical`;
|
|
174
|
-
const output = `${testResultsDir}/flat`;
|
|
175
|
-
const flatten = new Flatten();
|
|
176
|
-
flatten.logger.setLogLevel("error");
|
|
177
|
-
await flatten.exec({
|
|
178
|
-
input,
|
|
179
|
-
output,
|
|
180
|
-
overwrite: true,
|
|
181
|
-
});
|
|
182
|
-
const expected = `${__dirname}/data/flat`;
|
|
183
|
-
fsEq(output, expected);
|
|
184
|
-
const content = fs.readFileSync(`${output}/data.json`).toString();
|
|
185
|
-
const dataJson = JSON.parse(content.toString());
|
|
186
|
-
const data = DataSchema.parse(dataJson);
|
|
187
|
-
let hierCount = 0;
|
|
188
|
-
for (const pth of fsWalk(input)) {
|
|
189
|
-
if (!pth.endsWith(".jpg") &&
|
|
190
|
-
!pth.endsWith(".jpeg") &&
|
|
191
|
-
!pth.endsWith(".png")) {
|
|
192
|
-
continue;
|
|
193
|
-
}
|
|
194
|
-
hierCount++;
|
|
195
|
-
const category = pth.split("/").slice(-2)[0];
|
|
196
|
-
const content = fs.readFileSync(pth);
|
|
197
|
-
let name = "";
|
|
198
|
-
for (const pth2 of fsWalk(output)) {
|
|
199
|
-
if (!fs.statSync(pth2).isFile()) {
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
const content2 = fs.readFileSync(pth2);
|
|
203
|
-
if (content.equals(content2)) {
|
|
204
|
-
const str = pth2.split("/").slice(-1)[0];
|
|
205
|
-
if (str === undefined) {
|
|
206
|
-
throw new Error(`unable to parse ${pth2}`);
|
|
207
|
-
}
|
|
208
|
-
name = str;
|
|
209
|
-
break;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
if (!name) {
|
|
213
|
-
throw new Error(`unable to find image ${pth} in output`);
|
|
214
|
-
}
|
|
215
|
-
const item = data.items.find((item) => {
|
|
216
|
-
const name2 = item.data.split("/").slice(-1)[0];
|
|
217
|
-
if (name2 !== name) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
return true;
|
|
221
|
-
});
|
|
222
|
-
if (item === undefined) {
|
|
223
|
-
throw new Error(`unable to find image ${pth} in data.json`);
|
|
224
|
-
}
|
|
225
|
-
if (item.label !== category) {
|
|
226
|
-
throw new Error(`expected ${category} but found ${item.label}`);
|
|
227
|
-
}
|
|
228
|
-
if (item.type !== "image") {
|
|
229
|
-
throw new Error(`expected image type but found ${item.type}`);
|
|
230
|
-
}
|
|
231
|
-
if (item.hash !== name.split(".")[0]) {
|
|
232
|
-
throw new Error(`expected ${name.split(".")[0]} hash but found ${item.hash}`);
|
|
233
|
-
}
|
|
234
|
-
const hash = u8aToHex(blake2b(content));
|
|
235
|
-
if (item.hash !== hash) {
|
|
236
|
-
throw new Error(`expected ${hash} hash but found ${item.hash}`);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
let flatCount = 0;
|
|
240
|
-
for (const pth of fsWalk(output)) {
|
|
241
|
-
if (!pth.endsWith(".jpg") &&
|
|
242
|
-
!pth.endsWith(".jpeg") &&
|
|
243
|
-
!pth.endsWith(".png")) {
|
|
244
|
-
continue;
|
|
245
|
-
}
|
|
246
|
-
flatCount++;
|
|
247
|
-
}
|
|
248
|
-
if (hierCount !== flatCount) {
|
|
249
|
-
throw new Error(`expected ${hierCount} images but found ${flatCount}`);
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
//# sourceMappingURL=mocked.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocked.unit.test.js","sourceRoot":"","sources":["../../src/tests/mocked.unit.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/utils.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { type CaptchasContainer } from "@prosopo/types";
|
|
2
|
-
export declare function fsWalk(pth: string, options?: {
|
|
3
|
-
filesFirst?: boolean;
|
|
4
|
-
}): Generator<string>;
|
|
5
|
-
export declare const fsEq: (pth1: string, pth2: string) => boolean;
|
|
6
|
-
export declare const readDataJson: (pth: string) => {
|
|
7
|
-
items: {
|
|
8
|
-
hash: string;
|
|
9
|
-
data: string;
|
|
10
|
-
type: import("@prosopo/types").CaptchaItemTypes;
|
|
11
|
-
label?: string | undefined;
|
|
12
|
-
}[];
|
|
13
|
-
};
|
|
14
|
-
export declare const readCaptchasJson: (pth: string) => {
|
|
15
|
-
captchas: {
|
|
16
|
-
items: {
|
|
17
|
-
hash: string;
|
|
18
|
-
data: string;
|
|
19
|
-
type: import("@prosopo/types").CaptchaItemTypes;
|
|
20
|
-
}[];
|
|
21
|
-
salt: string;
|
|
22
|
-
target: string;
|
|
23
|
-
captchaId?: string | undefined;
|
|
24
|
-
captchaContentId?: string | undefined;
|
|
25
|
-
solution?: number[] | undefined;
|
|
26
|
-
unlabelled?: number[] | undefined;
|
|
27
|
-
timeLimit?: number | undefined;
|
|
28
|
-
}[];
|
|
29
|
-
format: import("@prosopo/types").CaptchaTypes;
|
|
30
|
-
};
|
|
31
|
-
export declare const captchasEqFs: (pth1: string, pth2: string) => boolean;
|
|
32
|
-
export declare const captchasEq: (first: CaptchasContainer, second: CaptchasContainer) => boolean;
|
|
33
|
-
export declare const substituteRepoDir: () => void;
|
|
34
|
-
export declare const restoreRepoDir: () => void;
|
|
35
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tests/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,iBAAiB,EAGtB,MAAM,gBAAgB,CAAC;AAIxB,wBAAiB,MAAM,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACT,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GACC,SAAS,CAAC,MAAM,CAAC,CAcnB;AAGD,eAAO,MAAM,IAAI,SAAU,MAAM,QAAQ,MAAM,YAiC9C,CAAC;AAEF,eAAO,MAAM,YAAY,QAAS,MAAM;;;;;aAyEgpb,CAAC;;CAlExrb,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM;;;;;;;;;iBAgE6kiB,CAAC;wBAA8C,CAAC;gBAAsC,CAAC;kBAA0C,CAAC;iBAAyC,CAAC;;;CA3DpyiB,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,MAAM,YAItD,CAAC;AAEF,eAAO,MAAM,UAAU,UACf,iBAAiB,UAChB,iBAAiB,YAoBzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAe7B,CAAC;AAEF,eAAO,MAAM,cAAc,YAS1B,CAAC"}
|
package/dist/tests/utils.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import { CaptchasContainerSchema, DataSchema, } from "@prosopo/types";
|
|
3
|
-
import { at } from "@prosopo/util";
|
|
4
|
-
export function* fsWalk(pth, options) {
|
|
5
|
-
const isDir = fs.existsSync(pth) && fs.statSync(pth).isDirectory();
|
|
6
|
-
let subpaths = isDir ? fs.readdirSync(pth) : [];
|
|
7
|
-
subpaths = subpaths.map((f) => `${pth}/${f}`);
|
|
8
|
-
if (!options?.filesFirst) {
|
|
9
|
-
yield pth;
|
|
10
|
-
}
|
|
11
|
-
for (const subpath of subpaths) {
|
|
12
|
-
yield* fsWalk(subpath, options);
|
|
13
|
-
}
|
|
14
|
-
if (options?.filesFirst) {
|
|
15
|
-
yield pth;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export const fsEq = (pth1, pth2) => {
|
|
19
|
-
const it1 = fsWalk(pth1);
|
|
20
|
-
const it2 = fsWalk(pth2);
|
|
21
|
-
const files1 = [...it1].map((f) => f.slice(pth1.length));
|
|
22
|
-
const files2 = [...it2].map((f) => f.slice(pth2.length));
|
|
23
|
-
if (files1.length !== files2.length) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
files1.sort();
|
|
27
|
-
files2.sort();
|
|
28
|
-
if (!files1.every((f, i) => f === files2[i])) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
for (let i = 0; i < files1.length; i++) {
|
|
32
|
-
const file1 = pth1 + at(files1, i);
|
|
33
|
-
const file2 = pth2 + at(files2, i);
|
|
34
|
-
const stat1 = fs.statSync(file1);
|
|
35
|
-
if (stat1.isDirectory()) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const content1 = fs.readFileSync(file1);
|
|
39
|
-
const content2 = fs.readFileSync(file2);
|
|
40
|
-
if (!content1.equals(content2)) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return true;
|
|
45
|
-
};
|
|
46
|
-
export const readDataJson = (pth) => {
|
|
47
|
-
let content = fs.readFileSync(pth).toString();
|
|
48
|
-
content = content.replaceAll("${repo}", `${__dirname}/../../../..`);
|
|
49
|
-
const dataJson = JSON.parse(content.toString());
|
|
50
|
-
const data = DataSchema.parse(dataJson);
|
|
51
|
-
return data;
|
|
52
|
-
};
|
|
53
|
-
export const readCaptchasJson = (pth) => {
|
|
54
|
-
const content = fs.readFileSync(pth).toString();
|
|
55
|
-
const dataJson = JSON.parse(content);
|
|
56
|
-
const captchas = CaptchasContainerSchema.parse(dataJson);
|
|
57
|
-
return captchas;
|
|
58
|
-
};
|
|
59
|
-
export const captchasEqFs = (pth1, pth2) => {
|
|
60
|
-
const data1 = readCaptchasJson(pth1);
|
|
61
|
-
const data2 = readCaptchasJson(pth2);
|
|
62
|
-
return captchasEq(data1, data2);
|
|
63
|
-
};
|
|
64
|
-
export const captchasEq = (first, second) => {
|
|
65
|
-
if (first.captchas.length !== second.captchas.length) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
for (let i = 0; i < first.captchas.length; i++) {
|
|
69
|
-
const captcha1 = at(first.captchas, i);
|
|
70
|
-
const captcha2 = at(second.captchas, i);
|
|
71
|
-
if (captcha1.salt === captcha2.salt) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
const { salt: salt1, ...rest1 } = captcha1;
|
|
75
|
-
const { salt: salt2, ...rest2 } = captcha2;
|
|
76
|
-
if (JSON.stringify(rest1) !== JSON.stringify(rest2)) {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return true;
|
|
81
|
-
};
|
|
82
|
-
export const substituteRepoDir = () => {
|
|
83
|
-
for (const pth of fsWalk(`${__dirname}/data`)) {
|
|
84
|
-
if (!pth.endsWith(".json")) {
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
fs.copyFileSync(pth, `${pth}.bak`);
|
|
88
|
-
let content = fs.readFileSync(pth).toString();
|
|
89
|
-
content = content.replaceAll("${repo}", `${__dirname}/../../../..`);
|
|
90
|
-
fs.writeFileSync(pth, content);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
export const restoreRepoDir = () => {
|
|
94
|
-
for (const pth of fsWalk(`${__dirname}/data`)) {
|
|
95
|
-
if (!pth.endsWith(".json")) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
fs.renameSync(`${pth}.bak`, pth);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/tests/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tests/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/input.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as z from "zod";
|
|
2
|
-
import { CliCommand } from "../cli/cliCommand.js";
|
|
3
|
-
export declare const InputArgsSchema: z.ZodObject<{
|
|
4
|
-
input: z.ZodString;
|
|
5
|
-
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
input: string;
|
|
7
|
-
}, {
|
|
8
|
-
input: string;
|
|
9
|
-
}>;
|
|
10
|
-
export type InputArgs = z.infer<typeof InputArgsSchema>;
|
|
11
|
-
export declare class InputCliCommand<T extends typeof InputArgsSchema> extends CliCommand<T> {
|
|
12
|
-
getArgSchema(): T;
|
|
13
|
-
getDescription(): string;
|
|
14
|
-
getOptions(): {
|
|
15
|
-
input: {
|
|
16
|
-
string: boolean;
|
|
17
|
-
alias: string;
|
|
18
|
-
demand: boolean;
|
|
19
|
-
description: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
_check(args: InputArgs): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,qBAAa,eAAe,CAC3B,CAAC,SAAS,OAAO,eAAe,CAC/B,SAAQ,UAAU,CAAC,CAAC,CAAC;IACN,YAAY,IAAI,CAAC;IAGjB,cAAc,IAAI,MAAM;IAGxB,UAAU;;;;;;;;IAWJ,MAAM,CAAC,IAAI,EAAE,SAAS;CAa5C"}
|
package/dist/utils/input.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import { ProsopoDatasetError, ProsopoError } from "@prosopo/common";
|
|
3
|
-
import * as z from "zod";
|
|
4
|
-
import { CliCommand } from "../cli/cliCommand.js";
|
|
5
|
-
export const InputArgsSchema = z.object({
|
|
6
|
-
input: z.string(),
|
|
7
|
-
});
|
|
8
|
-
export class InputCliCommand extends CliCommand {
|
|
9
|
-
getArgSchema() {
|
|
10
|
-
throw new ProsopoError("DEVELOPER.METHOD_NOT_IMPLEMENTED");
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
throw new ProsopoError("DEVELOPER.METHOD_NOT_IMPLEMENTED");
|
|
14
|
-
}
|
|
15
|
-
getOptions() {
|
|
16
|
-
return {
|
|
17
|
-
input: {
|
|
18
|
-
string: true,
|
|
19
|
-
alias: "in",
|
|
20
|
-
demand: true,
|
|
21
|
-
description: "The input path",
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
async _check(args) {
|
|
26
|
-
this.logger.debug("input _check");
|
|
27
|
-
await super._check(args);
|
|
28
|
-
if (!fs.existsSync(args.input)) {
|
|
29
|
-
throw new ProsopoDatasetError(new Error(`input path does not exist: ${args.input}`), {
|
|
30
|
-
translationKey: "FS.FILE_NOT_FOUND",
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=input.js.map
|
package/dist/utils/input.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAcpE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,OAAO,eAEX,SAAQ,UAAa;IACN,YAAY;QAC3B,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;IACe,cAAc;QAC7B,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;IACe,UAAU;QACzB,OAAO;YACN,KAAK,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,gBAAgB;aAC7B;SACD,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,IAAe;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,mBAAmB,CAC5B,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,KAAK,EAAE,CAAC,EACrD;gBACC,cAAc,EAAE,mBAAmB;aACnC,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type * as z from "zod";
|
|
2
|
-
import { CliCommandComposite } from "../cli/cliCommandComposite.js";
|
|
3
|
-
export declare const InputOutputArgsSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
4
|
-
input: z.ZodString;
|
|
5
|
-
}, {
|
|
6
|
-
output: z.ZodString;
|
|
7
|
-
overwrite: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
-
}>, "strip", z.ZodTypeAny, {
|
|
9
|
-
input: string;
|
|
10
|
-
output: string;
|
|
11
|
-
overwrite?: boolean | undefined;
|
|
12
|
-
}, {
|
|
13
|
-
input: string;
|
|
14
|
-
output: string;
|
|
15
|
-
overwrite?: boolean | undefined;
|
|
16
|
-
}>;
|
|
17
|
-
export type InputOutputArgs = z.infer<typeof InputOutputArgsSchema>;
|
|
18
|
-
export declare abstract class InputOutputCliCommand<T extends typeof InputOutputArgsSchema> extends CliCommandComposite<T> {
|
|
19
|
-
constructor();
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=inputOutput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputOutput.d.ts","sourceRoot":"","sources":["../../src/utils/inputOutput.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAA0C,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,8BAAsB,qBAAqB,CAC1C,CAAC,SAAS,OAAO,qBAAqB,CACrC,SAAQ,mBAAmB,CAAC,CAAC,CAAC;;CAI/B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CliCommandComposite } from "../cli/cliCommandComposite.js";
|
|
2
|
-
import { InputArgsSchema, InputCliCommand } from "./input.js";
|
|
3
|
-
import { OutputArgsSchema, OutputCliCommand } from "./output.js";
|
|
4
|
-
export const InputOutputArgsSchema = InputArgsSchema.merge(OutputArgsSchema);
|
|
5
|
-
export class InputOutputCliCommand extends CliCommandComposite {
|
|
6
|
-
constructor() {
|
|
7
|
-
super([new InputCliCommand(), new OutputCliCommand()]);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=inputOutput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputOutput.js","sourceRoot":"","sources":["../../src/utils/inputOutput.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAI7E,MAAM,OAAgB,qBAEpB,SAAQ,mBAAsB;IAC/B;QACC,KAAK,CAAC,CAAC,IAAI,eAAe,EAAK,EAAE,IAAI,gBAAgB,EAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACD"}
|
package/dist/utils/output.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type infer as zInfer } from "zod";
|
|
2
|
-
import { CliCommand } from "../cli/cliCommand.js";
|
|
3
|
-
export declare const OutputArgsSchema: import("zod").ZodObject<{
|
|
4
|
-
output: import("zod").ZodString;
|
|
5
|
-
overwrite: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
6
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
7
|
-
output: string;
|
|
8
|
-
overwrite?: boolean | undefined;
|
|
9
|
-
}, {
|
|
10
|
-
output: string;
|
|
11
|
-
overwrite?: boolean | undefined;
|
|
12
|
-
}>;
|
|
13
|
-
export type OutputArgs = zInfer<typeof OutputArgsSchema>;
|
|
14
|
-
export declare class OutputCliCommand<T extends typeof OutputArgsSchema> extends CliCommand<T> {
|
|
15
|
-
#private;
|
|
16
|
-
outputExists(): boolean;
|
|
17
|
-
getArgSchema(): T;
|
|
18
|
-
getDescription(): string;
|
|
19
|
-
getOptions(): {
|
|
20
|
-
[key: string]: import("yargs").Options;
|
|
21
|
-
} & {
|
|
22
|
-
output: {
|
|
23
|
-
alias: string;
|
|
24
|
-
string: boolean;
|
|
25
|
-
demand: boolean;
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
overwrite: {
|
|
29
|
-
boolean: boolean;
|
|
30
|
-
description: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
_check(args: OutputArgs): Promise<void>;
|
|
34
|
-
_run(args: OutputArgs): Promise<void>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=output.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,KAAK,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC;AAcpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,qBAAa,gBAAgB,CAC5B,CAAC,SAAS,OAAO,gBAAgB,CAChC,SAAQ,UAAU,CAAC,CAAC,CAAC;;IAGf,YAAY;IAIH,YAAY,IAAI,CAAC;IAGjB,cAAc,IAAI,MAAM;IAGxB,UAAU;;;;;;;;;;;;;;IAeJ,MAAM,CAAC,IAAI,EAAE,UAAU;IAoBvB,IAAI,CAAC,IAAI,EAAE,UAAU;CAS3C"}
|
package/dist/utils/output.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
var _OutputCliCommand_outputExists;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import fs from "node:fs";
|
|
4
|
-
import { ProsopoEnvError, ProsopoError } from "@prosopo/common";
|
|
5
|
-
import { lodash } from "@prosopo/util/lodash";
|
|
6
|
-
import { boolean, object, string } from "zod";
|
|
7
|
-
import { CliCommand } from "../cli/cliCommand.js";
|
|
8
|
-
export const OutputArgsSchema = object({
|
|
9
|
-
output: string(),
|
|
10
|
-
overwrite: boolean().optional(),
|
|
11
|
-
});
|
|
12
|
-
export class OutputCliCommand extends CliCommand {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
_OutputCliCommand_outputExists.set(this, false);
|
|
16
|
-
}
|
|
17
|
-
outputExists() {
|
|
18
|
-
return __classPrivateFieldGet(this, _OutputCliCommand_outputExists, "f");
|
|
19
|
-
}
|
|
20
|
-
getArgSchema() {
|
|
21
|
-
throw new ProsopoError("DEVELOPER.METHOD_NOT_IMPLEMENTED");
|
|
22
|
-
}
|
|
23
|
-
getDescription() {
|
|
24
|
-
throw new ProsopoError("DEVELOPER.METHOD_NOT_IMPLEMENTED");
|
|
25
|
-
}
|
|
26
|
-
getOptions() {
|
|
27
|
-
return lodash().merge(super.getOptions(), {
|
|
28
|
-
output: {
|
|
29
|
-
alias: "out",
|
|
30
|
-
string: true,
|
|
31
|
-
demand: true,
|
|
32
|
-
description: "The output path",
|
|
33
|
-
},
|
|
34
|
-
overwrite: {
|
|
35
|
-
boolean: true,
|
|
36
|
-
description: "Overwrite files in the output path if they already exist",
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
async _check(args) {
|
|
41
|
-
this.logger.debug("Output _check");
|
|
42
|
-
await super._check(args);
|
|
43
|
-
__classPrivateFieldSet(this, _OutputCliCommand_outputExists, fs.existsSync(args.output), "f");
|
|
44
|
-
if (this.outputExists()) {
|
|
45
|
-
if (!args.overwrite) {
|
|
46
|
-
throw new ProsopoEnvError(new Error(`output path already exists: ${args.output}`), {
|
|
47
|
-
translationKey: "FS.FILE_ALREADY_EXISTS",
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async _run(args) {
|
|
53
|
-
this.logger.debug("Output run");
|
|
54
|
-
await super._run(args);
|
|
55
|
-
if (args.overwrite && this.outputExists()) {
|
|
56
|
-
this.logger.info("cleaning output directory...");
|
|
57
|
-
fs.rmSync(args.output, { recursive: true });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
_OutputCliCommand_outputExists = new WeakMap();
|
|
62
|
-
//# sourceMappingURL=output.js.map
|
package/dist/utils/output.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAwB,MAAM,KAAK,CAAC;AAcpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE;IAChB,SAAS,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,OAAO,gBAEX,SAAQ,UAAa;IAFvB;;QAGC,yCAAgB,KAAK,EAAC;IAwDvB,CAAC;IAtDO,YAAY;QAClB,OAAO,uBAAA,IAAI,sCAAc,CAAC;IAC3B,CAAC;IAEe,YAAY;QAC3B,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;IACe,cAAc;QAC7B,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;IACe,UAAU;QACzB,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;YACzC,MAAM,EAAE;gBACP,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,iBAAiB;aAC9B;YACD,SAAS,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,0DAA0D;aACvE;SACD,CAAC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,IAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGzB,uBAAA,IAAI,kCAAiB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAA,CAAC;QAGhD,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,eAAe,CACxB,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,EAAE,CAAC,EACvD;oBACC,cAAc,EAAE,wBAAwB;iBACxC,CACD,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAEe,KAAK,CAAC,IAAI,CAAC,IAAgB;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACjD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;CACD"}
|