@hypersoniclabs/helix-cli 0.1.24 → 0.1.25-helix3.461
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 +14 -5
- package/dist/assets.d.ts +1 -1
- package/dist/assets.js +5 -5
- package/dist/assets.js.map +1 -1
- package/dist/audioCommand.js +3 -3
- package/dist/audioCommand.js.map +1 -1
- package/dist/character/avatarPreflight.js +11 -2
- package/dist/character/avatarPreflight.js.map +1 -1
- package/dist/character/check/check.d.ts +23 -3
- package/dist/character/check/check.js +38 -12
- package/dist/character/check/check.js.map +1 -1
- package/dist/character/check/sheets.d.ts +1 -1
- package/dist/character/check/types.d.ts +1 -1
- package/dist/index.js +103 -27
- package/dist/index.js.map +1 -1
- package/dist/money.d.ts +1 -1
- package/dist/money.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/vehicle/mintVehicle.d.ts +37 -15
- package/dist/vehicle/mintVehicle.js +139 -28
- package/dist/vehicle/mintVehicle.js.map +1 -1
- package/dist/vehicle/publish.d.ts +14 -0
- package/dist/vehicle/publish.js +28 -5
- package/dist/vehicle/publish.js.map +1 -1
- package/dist/vehicle/pull.d.ts +89 -0
- package/dist/vehicle/pull.js +274 -0
- package/dist/vehicle/pull.js.map +1 -0
- package/dist/visualQa/avatarSeverity.d.ts +22 -0
- package/dist/visualQa/avatarSeverity.js +86 -0
- package/dist/visualQa/avatarSeverity.js.map +1 -0
- package/dist/visualQa/command.d.ts +7 -1
- package/dist/visualQa/command.js +3 -1
- package/dist/visualQa/command.js.map +1 -1
- package/dist/visualQa/hosted.d.ts +18 -2
- package/dist/visualQa/hosted.js +2 -2
- package/dist/visualQa/hosted.js.map +1 -1
- package/dist/visualQa/moveUx.js +2 -0
- package/dist/visualQa/moveUx.js.map +1 -1
- package/dist/visualQa/types.d.ts +71 -1
- package/dist/visualQa/verdictText.d.ts +37 -0
- package/dist/visualQa/verdictText.js +83 -0
- package/dist/visualQa/verdictText.js.map +1 -0
- package/docs/character-check.md +30 -2
- package/docs/visual-qa.md +38 -1
- package/package.json +3 -3
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
|
@@ -36,9 +36,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.ControlCache = exports.CHECK_REVISION = void 0;
|
|
39
|
+
exports.ControlCache = exports.isWarnFailure = exports.CHECK_REVISION = void 0;
|
|
40
40
|
exports.measuredSummary = measuredSummary;
|
|
41
41
|
exports.exitFor = exitFor;
|
|
42
|
+
exports.verdictItems = verdictItems;
|
|
42
43
|
exports.runAvatarCheck = runAvatarCheck;
|
|
43
44
|
exports.renderReport = renderReport;
|
|
44
45
|
// `helix character check <avatar.glb>`: the local, free, pre-publish gate on a bare GLB. See docs/character-check.md.
|
|
@@ -58,6 +59,7 @@ const avatarMath_1 = require("../../visualQa/avatarMath");
|
|
|
58
59
|
const avatarPreview_1 = require("../../visualQa/avatarPreview");
|
|
59
60
|
const avatarPreview_2 = require("../../visualQa/avatarPreview");
|
|
60
61
|
const browser_1 = require("../../visualQa/browser");
|
|
62
|
+
const avatarSeverity_1 = require("../../visualQa/avatarSeverity");
|
|
61
63
|
const restFrameGuard_1 = require("../restFrameGuard");
|
|
62
64
|
const offline_1 = require("./offline");
|
|
63
65
|
const engineClips_1 = require("./engineClips");
|
|
@@ -81,16 +83,39 @@ function measuredSummary(a) {
|
|
|
81
83
|
const v = JSON.stringify(m[k]);
|
|
82
84
|
return `${k}=${v.length > 100 ? `${v.slice(0, 97)}...` : v}`;
|
|
83
85
|
}
|
|
84
|
-
/**
|
|
86
|
+
/** A failing assert that is a generator limit, not a defect that stops the avatar: warn-severity, or in the mirrored `AVATAR_WARN_ASSERTS` table. */
|
|
87
|
+
const isWarnFailure = (a) => !a.pass && (a.severity !== 'block' || (0, avatarSeverity_1.isAvatarWarnAssert)(a.id));
|
|
88
|
+
exports.isWarnFailure = isWarnFailure;
|
|
89
|
+
/**
|
|
90
|
+
* Classify the asserts: a failing block assert = exit 1 (`fail`); a block assert that could not be measured (and no other
|
|
91
|
+
* failure) = exit 2 (`error`); otherwise a failing warn-class assert (see `isWarnFailure`) = `warn`, which STAYS exit 0 so
|
|
92
|
+
* every script and MCP that treats a nonzero exit as a stop keeps working; the warnings are in the JSON and the text.
|
|
93
|
+
*/
|
|
85
94
|
function exitFor(asserts, errors, holes) {
|
|
86
|
-
const
|
|
95
|
+
const warned = asserts.filter(exports.isWarnFailure);
|
|
96
|
+
const blocks = asserts.filter((a) => a.severity === 'block' && !a.pass && !(0, exports.isWarnFailure)(a));
|
|
87
97
|
const unmeasured = blocks.filter((a) => /^not measured/.test(a.detail));
|
|
88
98
|
const failing = blocks.filter((a) => !/^not measured/.test(a.detail));
|
|
89
99
|
if (failing.length)
|
|
90
|
-
return { exitCode: 1, verdict: 'fail', failing, unmeasured };
|
|
100
|
+
return { exitCode: 1, verdict: 'fail', failing, unmeasured, warned };
|
|
91
101
|
if (errors.length || unmeasured.length || holes.length)
|
|
92
|
-
return { exitCode: 2, verdict: 'error', failing, unmeasured };
|
|
93
|
-
|
|
102
|
+
return { exitCode: 2, verdict: 'error', failing, unmeasured, warned };
|
|
103
|
+
if (warned.length)
|
|
104
|
+
return { exitCode: 0, verdict: 'warn', failing, unmeasured, warned };
|
|
105
|
+
return { exitCode: 0, verdict: 'pass', failing, unmeasured, warned };
|
|
106
|
+
}
|
|
107
|
+
/** The machine-readable verdict lines (the server's `VisualQaVerdictItem`): warnings from `warned`, blockers from the failing/unmeasured asserts and harness errors. */
|
|
108
|
+
function verdictItems(ex, errors, holes) {
|
|
109
|
+
const warnings = (0, avatarSeverity_1.mergeVerdictItems)(ex.warned.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.isAvatarWarnAssert)(a.id) ? (0, avatarSeverity_1.warnAssertFixHint)(a.id) : ((0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a)), source: 'measured', checks: [a.id] })));
|
|
110
|
+
const blockers = [
|
|
111
|
+
...ex.failing.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
|
|
112
|
+
...ex.unmeasured.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
|
|
113
|
+
...errors.map((e) => ({ id: 'harness.error', summary: e, fixHint: 'The check could not run to the end, which is never a pass: fix what the message names (network, Chrome, an unreadable GLB) and re-run.', source: 'harness', checks: [] })),
|
|
114
|
+
];
|
|
115
|
+
if (holes.length && !ex.unmeasured.some((a) => a.id === 'avatar.inspection.complete')) {
|
|
116
|
+
blockers.push({ id: 'harness.inspection_incomplete', summary: `the inspection set has holes: ${holes.slice(0, 8).join(', ')}`, fixHint: avatarSeverity_1.GENERIC_FIX_HINT, source: 'harness', checks: [] });
|
|
117
|
+
}
|
|
118
|
+
return { warnings, blockers: (0, avatarSeverity_1.mergeVerdictItems)(blockers) };
|
|
94
119
|
}
|
|
95
120
|
// ------------------------------------------------------------------------------------------------------ control cache
|
|
96
121
|
function cacheRoot() {
|
|
@@ -156,7 +181,7 @@ async function runAvatarCheck(opts) {
|
|
|
156
181
|
};
|
|
157
182
|
const fail = (msg) => {
|
|
158
183
|
errors.push(msg);
|
|
159
|
-
const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], inspection: null, timingsMs: { total: Date.now() - t00 } };
|
|
184
|
+
const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], warnings: [], blockers: verdictItems({ failing: [], unmeasured: [], warned: [] }, errors, []).blockers, inspection: null, timingsMs: { total: Date.now() - t00 } };
|
|
160
185
|
node_fs_1.default.writeFileSync(node_path_1.default.join(out, 'check.json'), JSON.stringify(res, null, 2));
|
|
161
186
|
return res;
|
|
162
187
|
};
|
|
@@ -360,6 +385,7 @@ async function runAvatarCheck(opts) {
|
|
|
360
385
|
...base, verdict: ex.verdict, exitCode: ex.exitCode, asserts,
|
|
361
386
|
failing: ex.failing.map((a) => ({ id: a.id, measured: measuredSummary(a), detail: a.detail, next: (0, remedies_1.nextStep)(a) })),
|
|
362
387
|
unmeasured: ex.unmeasured.map((a) => ({ id: a.id, detail: a.detail })),
|
|
388
|
+
...verdictItems(ex, errors, inspection?.holes ?? []),
|
|
363
389
|
inspection, timingsMs: timings,
|
|
364
390
|
};
|
|
365
391
|
numbers.schema = types_1.AVATAR_CHECK_SCHEMA;
|
|
@@ -383,8 +409,8 @@ async function runAvatarCheck(opts) {
|
|
|
383
409
|
function renderReport(r) {
|
|
384
410
|
const lines = [];
|
|
385
411
|
lines.push(`helix character check — ${node_path_1.default.basename(r.avatar.file)} (${(r.avatar.bytes / 1e6).toFixed(2)} MB) vs ${r.control?.name ?? 'Base Female'} [host ${r.host?.name ?? '?'}, ${Math.round((r.timingsMs.total ?? 0) / 1000)} s]`);
|
|
386
|
-
const blocks = r.asserts.filter((a) => a.severity === 'block');
|
|
387
|
-
const warns = r.
|
|
412
|
+
const blocks = r.asserts.filter((a) => a.severity === 'block' && !(0, exports.isWarnFailure)(a));
|
|
413
|
+
const warns = r.warnings ?? [];
|
|
388
414
|
lines.push(`${blocks.filter((a) => a.pass).length}/${blocks.length} blocking asserts passed${warns.length ? `, ${warns.length} warning(s)` : ''}`);
|
|
389
415
|
for (const f of r.failing) {
|
|
390
416
|
lines.push('', `FAIL ${f.id}`, ` measured: ${f.measured}`, ` ${f.detail}`, ` next: ${f.next}`);
|
|
@@ -394,12 +420,12 @@ function renderReport(r) {
|
|
|
394
420
|
for (const e of r.errors)
|
|
395
421
|
lines.push('', `ERROR ${e}`);
|
|
396
422
|
for (const w of warns)
|
|
397
|
-
lines.push('', `warn ${w.id}: ${w.
|
|
423
|
+
lines.push('', `warn ${w.id}: ${w.summary}`, ` fix: ${w.fixHint}`);
|
|
398
424
|
lines.push('');
|
|
399
425
|
if (r.inspection)
|
|
400
426
|
lines.push(`inspection: ${r.inspection.sheets} sheets in ${node_path_1.default.join(r.inspection.dir, 'index.json')} (read them in order; each has one LOOK question)`);
|
|
401
|
-
lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
|
|
402
|
-
if (r.verdict === 'pass')
|
|
427
|
+
lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'warn' ? `WARN (exit 0): released privately would carry ${warns.length} warning(s); nothing blocks` : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
|
|
428
|
+
if (r.verdict === 'pass' || r.verdict === 'warn')
|
|
403
429
|
lines.push(` ${sheets_1.NOT_A_VERDICT}`);
|
|
404
430
|
lines.push(` numbers: ${node_path_1.default.join(r.out, 'numbers.json')}`);
|
|
405
431
|
return lines.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFA,0CAOC;AAUD,0BASC;AAGD,oCAWC;AA0CD,wCA+LC;AAGD,oCAkBC;AAxXD,sHAAsH;AACtH,EAAE;AACF,8HAA8H;AAC9H,mIAAmI;AACnI,gIAAgI;AAChI,gIAAgI;AAChI,oIAAoI;AACpI,iFAAiF;AACjF,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAC7B,0DAA6B;AAC7B,6CAAyC;AACzC,0DAA8E;AAC9E,gEAA8D;AAC9D,gEAA0D;AAC1D,oDAAuG;AAGvG,kEAA0I;AAC1I,sDAAoF;AACpF,uCAA2C;AAC3C,+CAA4D;AAC5D,iCAAmF;AACnF,+CAAgF;AAChF,iCAAmH;AACnH,yCAAsC;AACtC,qCAAsD;AACtD,uCAA+E;AAC/E,mCAA6E;AAEhE,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,OAAO,GAAe,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AA+CpD,MAAM,MAAM,GAAG,CAAC,CAAa,EAAU,EAAE,CAAC,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvF,yFAAyF;AACzF,SAAgB,eAAe,CAAC,CAAiB;IAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC3N,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,qJAAqJ;AAC9I,MAAM,aAAa,GAAG,CAAC,CAAiB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAA,mCAAkB,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAhH,QAAA,aAAa,iBAAmG;AAE7H;;;;GAIG;AACH,SAAgB,OAAO,CAAC,OAAyB,EAAE,MAAgB,EAAE,KAAe;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACzF,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9H,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACxF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,wKAAwK;AACxK,SAAgB,YAAY,CAAC,EAAyE,EAAE,MAAgB,EAAE,KAAe;IACvI,MAAM,QAAQ,GAAG,IAAA,kCAAiB,EAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAA,mCAAkB,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kCAAiB,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAa,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7O,MAAM,QAAQ,GAA0B;QACtC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAA,8BAAa,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrJ,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,wIAAwI,EAAE,MAAM,EAAE,SAAkB,EAAE,MAAM,EAAE,EAAc,EAAE,CAAC,CAAC;KACnQ,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4BAA4B,CAAC,EAAE,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,OAAO,EAAE,iCAAiC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,iCAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7L,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,kCAAiB,EAAC,QAAQ,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,uHAAuH;AACvH,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AACjJ,CAAC;AACD,+IAA+I;AAC/I,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,OAAe;IACvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAC7I,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,IAAA,wBAAU,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvH,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9I,SAAS,UAAU,CAAC,MAAgB,EAAE,CAAa;IACjD,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3H,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;AACnH,CAAC;AAED,MAAa,YAAY;IAEY;IAAsB;IADhD,GAAG,CAAS;IACrB,YAAY,IAAY,EAAW,GAAW,EAAW,OAAgB;QAAtC,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAS;QAAI,IAAI,CAAC,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;IAC/G,MAAM,CAAC,MAAM,CAAC,OAAsB,EAAE,KAA+B;QACnE,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,sBAAc,EAAE,OAAO,EAAE,iBAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpJ,CAAC;IACO,QAAQ,CAAC,CAAW,IAAY,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,CAAW;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,CAAC;YAAC,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAI,CAAC,UAAU,CAAC,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAe,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACrJ,CAAC;IACD,QAAQ,CAAC,CAAW,EAAE,CAAmE;QACvF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,iBAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1J,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,QAAgB,IAAY,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC;CAClH;AAjBD,oCAiBC;AAED,uHAAuH;AAChH,KAAK,UAAU,cAAc,CAAC,IAAkB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,iBAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAA4I;QACpJ,MAAM,EAAE,2BAAmB,EAAE,QAAQ,EAAE,sBAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAa;KACnL,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,GAAW,EAAe,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,GAAG,GAAgB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;QAChR,iBAAE,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;IACvH,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,yCAAyC,CAAC,CAAC;IAC7H,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACvF,MAAM,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAElE,mHAAmH;IACnH,IAAI,IAAmB,EAAE,OAAsB,EAAE,KAA+B,EAAE,MAA6C,CAAC;IAChI,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,IAAA,eAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,CAAC,GAAG,MAAM,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,mBAAY,CAAC,CAAC;QAChI,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,IAAI,mBAAY,CAAC,IAAI,4BAA4B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5H,OAAO,GAAG,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAAC,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAClD,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7F,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC9D,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gCAAgC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,uBAAuB,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;IAClQ,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAEvG,6HAA6H;IAC7H,kHAAkH;IAClH,IAAI,WAAW,GAAY,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,EAAK,MAAgB,EAAE,KAAoB,EAAE,SAA6B,EAAE,EAAkC,EAAc,EAAE;QAClJ,MAAM,CAAC,GAAe,MAAM,IAAA,0BAAgB,EAAC,EAAE,KAAK,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvI,IAAI,EAAE,GAAsB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,WAAW,KAAK,CAAC,CAAC,IAAI,CAAC;YACvB,MAAM,IAAA,oCAA0B,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxC,EAAE,GAAG,MAAM,oBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5K,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,EAAkC,CAAC;IACjD,MAAM,cAAc,GAAkC,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,eAAQ,GAAE,CAAC;IACnD,MAAM,OAAO,GAAG,EAAwD,CAAC;IACzE,IAAI,CAAC;QACH,mHAAmH;QACnH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;oBAC/C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;oBAC3J,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC7B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC1E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAAC,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAAC,iBAAE,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACxQ,GAAG,CAAC,aAAa,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,aAAa,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxL,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;wBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACrC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;4BAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;4BAAC,SAAS;wBAAC,CAAC;wBACjF,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;wBACjE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5J,CAAC;gBACD,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,aAAa,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;QAED,iHAAiH;QACjH,MAAM,YAAY,GAAG,EAAkE,CAAC;QACxF,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAA2C,CAAC;YAC5L,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAAC,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;gBAAC,KAAK,MAAM,CAAC,IAAI,IAAI;oBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,OAAO,CAAC,WAAW,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC9L,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;oBACxD,IAAI,MAAM,EAAE,CAAC;wBAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAAC,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAAC,CAAC;yBAC3D,CAAC;wBAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;wBAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACxF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;wBAChH,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,CAAC,CAAC;4BAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrD,CAAC;gBACD,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,CAAC,WAAW,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;QAED,kHAAkH;QAClH,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9K,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,wBAAc,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,IAAA,8BAAiB,EAAC,GAAG,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,IAAA,2BAAc,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChI,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,2BAA2B,CAAC;gBAClR,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,sDAAsD,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtJ,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,wBAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4BAA4B,CAAC,CAAC,CAAC;QAC3H,CAAC;QACD,yIAAyI;QACzI,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;YACxD,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAClF,MAAM,GAAG,GAAG,IAAA,kCAAiB,EAAC,GAAG,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAC/F,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,uCAAuC,GAAG,CAAC,OAAO,kDAAkD,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,8BAA8B,6CAA4B,wCAAwC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,mCAAmC,6CAA4B,mCAAmC;gBACtgB,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,6CAA4B,EAAE;aACnG,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAkB,CAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;QAE3K,MAAM,cAAc,GAAmC,EAAE,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAU,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACjN,MAAM,CAAC,GAAG,IAAA,2BAAa,EAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAA,2BAAa,EAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;QACxK,CAAC;QACD,IAAI,YAAY,CAAC,IAAI;YAAE,OAAO,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,IAAA,2BAAa,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACzI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAEhC,6GAA6G;QAC7G,IAAI,UAAU,GAA8B,IAAI,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,KAAK,GAAgB,aAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBAC9E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,iBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,kBAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC3I,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBAChE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;iBACvG,CAAC,CAAC;aACJ,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,GAAG,MAAM,IAAA,oBAAW,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACxN,MAAM,QAAQ,GAAmB,EAAE,EAAE,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oCAAoC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,KAAK,CAAC,MAAM,wBAAwB,OAAO,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5e,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,4GAA4G;QAC5G,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACjC,MAAM,MAAM,GAAgB;YAC1B,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO;YAC5D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjH,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,GAAG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;YACpD,UAAU,EAAE,SAAS,EAAE,OAAO;SAC/B,CAAC;QACF,OAAO,CAAC,MAAM,GAAG,2BAAmB,CAAC;QACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACvF,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC;QAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC5Q,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qGAAqG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7M,iBAAE,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,iBAAE,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,4BAA6B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,2HAA2H;AAC3H,SAAgB,YAAY,CAAC,CAAc;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,2BAA2B,mBAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,aAAa,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxO,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,2BAA2B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnJ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,MAAM,cAAc,mBAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,mDAAmD,CAAC,CAAC;IAC3K,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,iDAAiD,KAAK,CAAC,MAAM,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC,kDAAkD,EAAE,CAAC,CAAC;IACjU,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,sBAAa,EAAE,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,cAAc,mBAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -31,7 +31,7 @@ export interface WriteSheetsInput {
|
|
|
31
31
|
severity: 'block' | 'warn';
|
|
32
32
|
detail: string;
|
|
33
33
|
}>;
|
|
34
|
-
verdict: 'pass' | 'fail' | 'error';
|
|
34
|
+
verdict: 'pass' | 'warn' | 'fail' | 'error';
|
|
35
35
|
}
|
|
36
36
|
/** Render every sheet into `<out>/inspection/` and write `index.json`. Returns the index and the list of holes. */
|
|
37
37
|
export declare function writeSheets(input: WriteSheetsInput): Promise<{
|
|
@@ -37,7 +37,7 @@ export interface InspectionSheet {
|
|
|
37
37
|
}
|
|
38
38
|
export interface InspectionIndex {
|
|
39
39
|
schema: typeof AVATAR_INSPECTION_SCHEMA;
|
|
40
|
-
verdict: 'pass' | 'fail' | 'error';
|
|
40
|
+
verdict: 'pass' | 'warn' | 'fail' | 'error';
|
|
41
41
|
avatar: string;
|
|
42
42
|
control: string;
|
|
43
43
|
/** Read the sheets in this order; each `look` is the question to answer from that sheet alone. */
|
package/dist/index.js
CHANGED
|
@@ -1145,6 +1145,67 @@ vehicleCommand
|
|
|
1145
1145
|
process.exitCode = 2;
|
|
1146
1146
|
}
|
|
1147
1147
|
});
|
|
1148
|
+
vehicleCommand
|
|
1149
|
+
.command('pull')
|
|
1150
|
+
.description('Rebuild a publishable COPY of a live vehicle: read the Item\'s sealed Vehicle Package Version and write '
|
|
1151
|
+
+ 'vehicle-package.json (the exact sealed root), audio/<file> for every sound it pins, model.glb plus model-<renditionId>.glb for '
|
|
1152
|
+
+ 'every served mesh rendition, a publish.json carrying the Item fields (the legacy "general" rating is written as "everyone"; a '
|
|
1153
|
+
+ 'rating that is not one of everyone|teen|mature|adult needs --content-rating) and a pull.json recording where each byte came from. '
|
|
1154
|
+
+ 'Nothing is uploaded and no ledger is written, so the copy mints a NEW Item instead of resuming against the live one: '
|
|
1155
|
+
+ 'pull into a new directory, then `helix vehicle publish <dir>`. Exit 0 = pulled, 1 = nothing written, 2 = could not run')
|
|
1156
|
+
.argument('<item-id>', 'the published vehicle Item to copy')
|
|
1157
|
+
.argument('<dir>', 'a NEW directory to write the copy into (must not exist, or be empty)')
|
|
1158
|
+
.option('--package-version <semver>', 'pull this Version instead of the Item\'s current pin (a car\'s history is copyable too)')
|
|
1159
|
+
.option('--content-rating <rating>', 'the rating to write for the COPY: everyone, teen, mature or adult (default: the Item\'s own, mapped)')
|
|
1160
|
+
.option('--json', 'print the machine-readable result')
|
|
1161
|
+
.action(async (itemId, dir, opts) => {
|
|
1162
|
+
try {
|
|
1163
|
+
const pull = await Promise.resolve().then(() => __importStar(require('./vehicle/pull')));
|
|
1164
|
+
const { getItem, fetchPublicObject, isRecord } = await Promise.resolve().then(() => __importStar(require('./vehicle/platform')));
|
|
1165
|
+
const creds = requireAuth();
|
|
1166
|
+
const api = lib_1.HelixApi.forCredentials(creds);
|
|
1167
|
+
const apiUrl = creds.apiUrl.replace(/\/$/, '');
|
|
1168
|
+
const shaOf = (value) => /^[0-9a-f]{64}$/i.test(value) ? value.toLowerCase() : (/^cid:sha256:([0-9a-f]{64})$/i.exec(value)?.[1] ?? null);
|
|
1169
|
+
const result = await pull.pullVehicle({
|
|
1170
|
+
itemId, dir, packageVersion: opts.packageVersion, contentRating: opts.contentRating,
|
|
1171
|
+
onProgress: (m) => { if (!opts.json)
|
|
1172
|
+
console.log(`· ${m}`); },
|
|
1173
|
+
}, {
|
|
1174
|
+
readItem: (id) => getItem(api, id),
|
|
1175
|
+
readVersion: async (packageId, version) => {
|
|
1176
|
+
const tail = `packages/${packageId}/versions/${encodeURIComponent(version)}`;
|
|
1177
|
+
const unwrap = (body) => {
|
|
1178
|
+
const record = isRecord(body) ? body : {};
|
|
1179
|
+
const manifest = isRecord(record.manifest) ? record.manifest : record;
|
|
1180
|
+
return { ...(typeof record.manifestCid === 'string' ? { manifestCid: record.manifestCid } : {}), manifest };
|
|
1181
|
+
};
|
|
1182
|
+
try {
|
|
1183
|
+
return unwrap(await api.request('GET', `/api/v1/continuum/public/${tail}`));
|
|
1184
|
+
}
|
|
1185
|
+
catch (error) {
|
|
1186
|
+
// The public route serves a PUBLIC Package only; the authenticated one covers the creator's own and an admin.
|
|
1187
|
+
try {
|
|
1188
|
+
return unwrap(await api.request('GET', `/api/v1/continuum/${tail}`));
|
|
1189
|
+
}
|
|
1190
|
+
catch {
|
|
1191
|
+
throw error;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
},
|
|
1195
|
+
readObject: async (cidOrSha) => {
|
|
1196
|
+
const sha = shaOf(cidOrSha);
|
|
1197
|
+
if (!sha)
|
|
1198
|
+
throw new Error(`not a Continuum object reference: ${cidOrSha}`);
|
|
1199
|
+
return fetchPublicObject(apiUrl, sha);
|
|
1200
|
+
},
|
|
1201
|
+
});
|
|
1202
|
+
printVehicleJsonOr(opts.json, result, () => console.log(pull.formatVehiclePull(result)));
|
|
1203
|
+
}
|
|
1204
|
+
catch (error) {
|
|
1205
|
+
process.stderr.write(`${error instanceof lib_1.ApiError ? error.render() : `✖ ${error instanceof Error ? error.message : String(error)}`}\n`);
|
|
1206
|
+
process.exitCode = 1;
|
|
1207
|
+
}
|
|
1208
|
+
});
|
|
1148
1209
|
vehicleAddOnCommand
|
|
1149
1210
|
.command('publish')
|
|
1150
1211
|
.description('Publish a vehicle add-on directory: the full `vehicle addon check` (drive effect measured), upload the model, seal a public addon '
|
|
@@ -2201,7 +2262,7 @@ item
|
|
|
2201
2262
|
.description('Render an item headless in the real HELIX runtime, measure it, and (with --submit) record the visual-QA verdict that Marketplace/Vault listing requires. --hosted asks the platform to render it on a GPU runner instead')
|
|
2202
2263
|
.argument('[item-id]', 'universal item UUID (its CURRENT package version is rendered, or --package-version); omit with --hosted-worker')
|
|
2203
2264
|
.option('--submit', 'submit frames + measurements to the backend, which judges and records the verdict (needs `helix login`)')
|
|
2204
|
-
.option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 1 fail, 2 error)')
|
|
2265
|
+
.option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 0 warn (an avatar judged with generator-limit warnings only: released privately, `verdict: "warn"` + `warnings` in --json), 1 fail, 2 error)')
|
|
2205
2266
|
.option('--retry', 'with --hosted: REQUEUE this version after a failed, errored or exhausted hosted run (a fresh job, attempts start again; inside the backend cooldown it waits it out, up to --timeout)')
|
|
2206
2267
|
.option('--no-wait', 'with --hosted: queue the render and return without waiting')
|
|
2207
2268
|
.option('--timeout <minutes>', 'with --hosted: how long to wait for the verdict', '30')
|
|
@@ -2278,7 +2339,9 @@ item
|
|
|
2278
2339
|
console.log(JSON.stringify(st, null, 2));
|
|
2279
2340
|
else {
|
|
2280
2341
|
// Current version first, with ITS hosted job; pending versions (each with their own job) follow.
|
|
2281
|
-
|
|
2342
|
+
const { describeStatus } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
|
|
2343
|
+
for (const line of describeStatus(st))
|
|
2344
|
+
console.log(line);
|
|
2282
2345
|
console.log(` hosted job for the current version: ${hosted.describeJob(job)}`);
|
|
2283
2346
|
if (job?.contactSheetUrl)
|
|
2284
2347
|
console.log(` contact sheet: ${job.contactSheetUrl}`);
|
|
@@ -2304,6 +2367,8 @@ item
|
|
|
2304
2367
|
console.log('✔ exempt: this item has nothing to render');
|
|
2305
2368
|
else if (!req.job)
|
|
2306
2369
|
console.log(`✖ nothing queued${req.skipped ? ` (${req.skipped})` : ''}${req.message ? `: ${req.message}` : ''}`);
|
|
2370
|
+
else if (req.skipped === 'warned_run')
|
|
2371
|
+
console.log(`! this version already has a WARN run (judged, nothing blocks; released privately with warnings): nothing to re-queue. Read the warnings with: helix item visual-qa ${id} --status`);
|
|
2307
2372
|
else if (req.skipped)
|
|
2308
2373
|
console.log(`✖ not re-queued (${req.skipped})${req.message ? `: ${req.message}` : ''}${req.retryAfter ? ` Retry after ${req.retryAfter}.` : ''} Showing the existing job: ${hosted.describeJob(req.job)}`);
|
|
2309
2374
|
else
|
|
@@ -2323,13 +2388,20 @@ item
|
|
|
2323
2388
|
if (opts.json)
|
|
2324
2389
|
console.log(JSON.stringify({ ...req, job, timedOut }, null, 2));
|
|
2325
2390
|
else if (job && hosted.isTerminal(job.status)) {
|
|
2326
|
-
|
|
2391
|
+
const warned = job.status === 'passed' && job.verdict === 'warn';
|
|
2392
|
+
console.log(`${warned ? '!' : job.status === 'passed' ? '✔' : '✖'} visual QA ${warned ? 'WARN' : job.status.toUpperCase()}`);
|
|
2327
2393
|
for (const r of job.reasons)
|
|
2328
2394
|
console.log(` - ${r}`);
|
|
2329
2395
|
if (job.error)
|
|
2330
2396
|
console.log(` error: ${job.error}`);
|
|
2331
2397
|
if (job.contactSheetUrl)
|
|
2332
2398
|
console.log(` contact sheet: ${job.contactSheetUrl}`);
|
|
2399
|
+
if (warned || job.status === 'failed') {
|
|
2400
|
+
const { describeVerdictBody, statusVerdictSource } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
|
|
2401
|
+
const st = await hosted.getItemVisualQaStatus(apiBase, id).catch(() => null);
|
|
2402
|
+
for (const line of describeVerdictBody(warned ? 'warn' : 'fail', statusVerdictSource(st)))
|
|
2403
|
+
console.log(line);
|
|
2404
|
+
}
|
|
2333
2405
|
}
|
|
2334
2406
|
else if (timedOut)
|
|
2335
2407
|
console.log(`… still ${job?.status ?? 'queued'} after ${opts.timeout ?? 30} min; check later with: helix item visual-qa ${id} --status`);
|
|
@@ -2356,13 +2428,16 @@ item
|
|
|
2356
2428
|
quiet: opts.json,
|
|
2357
2429
|
});
|
|
2358
2430
|
if (opts.json) {
|
|
2359
|
-
console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
|
|
2431
|
+
console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, warnings: outcome.warnings, blockers: outcome.blockers, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
|
|
2360
2432
|
}
|
|
2361
2433
|
else {
|
|
2362
|
-
const
|
|
2434
|
+
const { describeVerdictBody, exitCodeForVerdict, verdictMark } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
|
|
2435
|
+
const mark = verdictMark(outcome.verdict);
|
|
2363
2436
|
console.log(`${mark} visual QA ${outcome.verdict.toUpperCase()} — ${outcome.bundle.item.title} (${outcome.bundle.item.category}, package ${outcome.bundle.item.packageVersion ?? '?'})`);
|
|
2364
2437
|
for (const r of outcome.reasons)
|
|
2365
2438
|
console.log(` - ${r}`);
|
|
2439
|
+
for (const line of describeVerdictBody(outcome.verdict, outcome))
|
|
2440
|
+
console.log(line);
|
|
2366
2441
|
if (outcome.contactSheet)
|
|
2367
2442
|
console.log(` contact sheet: ${outcome.contactSheet}`);
|
|
2368
2443
|
if (outcome.server?.contactSheetUrl)
|
|
@@ -2373,7 +2448,8 @@ item
|
|
|
2373
2448
|
console.log(line);
|
|
2374
2449
|
console.log(` ${(outcome.timings.totalMs / 1000).toFixed(1)} s (render ${(outcome.timings.renderMs / 1000).toFixed(1)} s)`);
|
|
2375
2450
|
}
|
|
2376
|
-
|
|
2451
|
+
// pass 0 · warn 0 (an avatar judged with generator-limit warnings: released privately, nothing blocks) · fail 1 · error 2
|
|
2452
|
+
process.exitCode = (await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')))).exitCodeForVerdict(outcome.verdict);
|
|
2377
2453
|
}
|
|
2378
2454
|
catch (error) {
|
|
2379
2455
|
fail(error instanceof lib_1.ApiError ? error.render() : String(error?.message ?? error));
|
|
@@ -3669,7 +3745,7 @@ assets
|
|
|
3669
3745
|
});
|
|
3670
3746
|
const assetsStart = assets
|
|
3671
3747
|
.command('start')
|
|
3672
|
-
.description('Start one generation job without waiting; prop/character use
|
|
3748
|
+
.description('Start one generation job without waiting; prop/character use the Asset Generation job lane, other supported kinds use the standalone lane. For audio, --mode selects sound_effect (default), music, or text_to_speech.')
|
|
3673
3749
|
.argument('<kind>', 'prop, character, image, material, audio, gaussian_splat, or animation (explicit unavailable stub)')
|
|
3674
3750
|
// Optional at the parser level ON PURPOSE: text_to_speech takes its content from --text, and a
|
|
3675
3751
|
// commander-level "missing required argument 'prompt'" would be actively misleading there.
|
|
@@ -3678,8 +3754,8 @@ const assetsStart = assets
|
|
|
3678
3754
|
.option('--title <title>', 'asset title')
|
|
3679
3755
|
.option('--additional-prompt <text>', 'additional generation guidance')
|
|
3680
3756
|
.option('--target-polycount <n>', 'prop/character triangle target')
|
|
3681
|
-
.option('--project-id <id>', 'Dreamer project id')
|
|
3682
|
-
.option('--session-id <id>', 'Dreamer session id')
|
|
3757
|
+
.option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
|
|
3758
|
+
.option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
|
|
3683
3759
|
.option('--loop', 'audio: request loopable output')
|
|
3684
3760
|
.option('--duration-seconds <n>', 'audio duration')
|
|
3685
3761
|
.option('--resolution <n>', 'material resolution: 1024 or 2048', '1024')
|
|
@@ -3887,7 +3963,7 @@ assets
|
|
|
3887
3963
|
// does not continue anything. The job parks at `preview_ready` and waits for an explicit
|
|
3888
3964
|
// `helix assets resume`, which nothing said, so a finished character sat there indefinitely.
|
|
3889
3965
|
.description('Approve a job waiting at an approval gate. The concept gate continues on its own; the preview gate then waits for `helix assets resume`')
|
|
3890
|
-
.argument('<job-id>', '
|
|
3966
|
+
.argument('<job-id>', 'Asset Generation job id')
|
|
3891
3967
|
.requiredOption('--gate <gate>', 'concept or preview')
|
|
3892
3968
|
.option('--json', 'emit only the job JSON on stdout')
|
|
3893
3969
|
.action(async (jobId, opts) => {
|
|
@@ -3917,7 +3993,7 @@ assets
|
|
|
3917
3993
|
assets
|
|
3918
3994
|
.command('revise')
|
|
3919
3995
|
.description('Revise a job waiting at an approval gate, with new guidance. CHARGES a fresh regeneration — this is a spend, not a free retry. The only advance path when the server rejected its own concept.')
|
|
3920
|
-
.argument('<job-id>', '
|
|
3996
|
+
.argument('<job-id>', 'Asset Generation job id')
|
|
3921
3997
|
.requiredOption('--gate <gate>', 'concept or preview')
|
|
3922
3998
|
.option('--prompt <text>', 'what to change about the rejected output')
|
|
3923
3999
|
.action(async (jobId, opts) => {
|
|
@@ -3937,7 +4013,7 @@ assets
|
|
|
3937
4013
|
assets
|
|
3938
4014
|
.command('retry')
|
|
3939
4015
|
.description('Retry a FAILED job (no new guidance). Resumes from the stage that stopped — the mesh phase for a prop or character, the bundle/publish step for a material, image or texture')
|
|
3940
|
-
.argument('<job-id>', '
|
|
4016
|
+
.argument('<job-id>', 'Asset Generation job id')
|
|
3941
4017
|
.action(async (jobId) => {
|
|
3942
4018
|
const creds = requireAuth();
|
|
3943
4019
|
try {
|
|
@@ -3952,7 +4028,7 @@ assets
|
|
|
3952
4028
|
assets
|
|
3953
4029
|
.command('abandon')
|
|
3954
4030
|
.description('Explain how a stranded job releases its held LIX (no platform verb does this on demand)')
|
|
3955
|
-
.argument('[job-id]', '
|
|
4031
|
+
.argument('[job-id]', 'Asset Generation job id')
|
|
3956
4032
|
.action(() => {
|
|
3957
4033
|
// Calls NOTHING on purpose. POST /dreamer/jobs/:id/abandon was specified and built, then
|
|
3958
4034
|
// withdrawn before deploying — releasing escrow is real money movement. Keeping a command that
|
|
@@ -3974,8 +4050,8 @@ assets
|
|
|
3974
4050
|
assets
|
|
3975
4051
|
.command('status')
|
|
3976
4052
|
.description('Poll one generation job without starting or advancing a duplicate')
|
|
3977
|
-
.argument('<job-id>', '
|
|
3978
|
-
.requiredOption('--pipeline <pipeline>', 'dreamer
|
|
4053
|
+
.argument('<job-id>', 'Asset Generation job id')
|
|
4054
|
+
.requiredOption('--pipeline <pipeline>', 'dreamer = prop/character job lane (legacy name), asset = standalone lane')
|
|
3979
4055
|
.action(async (jobId, opts) => {
|
|
3980
4056
|
if (!['dreamer', 'asset'].includes(opts.pipeline)) {
|
|
3981
4057
|
fail('✖ --pipeline must be dreamer or asset');
|
|
@@ -4034,7 +4110,7 @@ assets
|
|
|
4034
4110
|
});
|
|
4035
4111
|
assets
|
|
4036
4112
|
.command('generate')
|
|
4037
|
-
.description('Generate and publish a new prop or character
|
|
4113
|
+
.description('Generate and publish a new prop or character with Asset Generation')
|
|
4038
4114
|
.argument('<kind>', 'prop or character')
|
|
4039
4115
|
.argument('<prompt>', 'asset prompt')
|
|
4040
4116
|
.option('--title <title>', 'asset title')
|
|
@@ -4110,8 +4186,8 @@ assets
|
|
|
4110
4186
|
});
|
|
4111
4187
|
assets
|
|
4112
4188
|
.command('resume')
|
|
4113
|
-
.description('Resume and publish an existing
|
|
4114
|
-
.argument('<job-id>', '
|
|
4189
|
+
.description('Resume and publish an existing Asset Generation job')
|
|
4190
|
+
.argument('<job-id>', 'Asset Generation job id')
|
|
4115
4191
|
.option('--visibility <visibility>', 'public, unlisted, or private (default: the visibility the job was generated with, else public)')
|
|
4116
4192
|
.option('--timeout <ms>', 'how long to wait for the job to finish before giving up (client-side only — the job keeps running; default 1200000ms/20min)')
|
|
4117
4193
|
.option('--poll-interval <ms>', 'how often to poll job status while waiting (default 2000ms)')
|
|
@@ -4143,12 +4219,12 @@ assets
|
|
|
4143
4219
|
});
|
|
4144
4220
|
assets
|
|
4145
4221
|
.command('generate-image')
|
|
4146
|
-
.description('Generate a standalone image
|
|
4222
|
+
.description('Generate a standalone image with Asset Generation')
|
|
4147
4223
|
.argument('<prompt>', 'image prompt')
|
|
4148
4224
|
.option('--title <title>', 'asset title')
|
|
4149
4225
|
.option('--additional-prompt <text>', 'additional generation guidance')
|
|
4150
|
-
.option('--project-id <id>', 'Dreamer project id')
|
|
4151
|
-
.option('--session-id <id>', 'Dreamer session id')
|
|
4226
|
+
.option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
|
|
4227
|
+
.option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
|
|
4152
4228
|
.option('--visibility <public|private>', 'where the image lands in the Vault. Default: your account preference (public unless you opted out). ' +
|
|
4153
4229
|
'Use `private` for the concept/reference sheet of a private avatar, so the sheet is not published.')
|
|
4154
4230
|
.action(async (prompt, opts) => {
|
|
@@ -4180,8 +4256,8 @@ assets
|
|
|
4180
4256
|
.argument('<prompt>', 'material prompt')
|
|
4181
4257
|
.option('--title <title>', 'asset title')
|
|
4182
4258
|
.option('--additional-prompt <text>', 'additional generation guidance')
|
|
4183
|
-
.option('--project-id <id>', 'Dreamer project id')
|
|
4184
|
-
.option('--session-id <id>', 'Dreamer session id')
|
|
4259
|
+
.option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
|
|
4260
|
+
.option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
|
|
4185
4261
|
.option('--resolution <n>', 'map resolution: 1024 (web/mobile default) or 2048', '1024')
|
|
4186
4262
|
.option('--repeat-per-meter <n>', 'physical texture scale expressed as tile repeats per metre')
|
|
4187
4263
|
.action(async (prompt, opts) => {
|
|
@@ -4207,11 +4283,11 @@ assets
|
|
|
4207
4283
|
});
|
|
4208
4284
|
assets
|
|
4209
4285
|
.command('generate-environment')
|
|
4210
|
-
.description('Generate an experimental Gaussian-splat environment
|
|
4286
|
+
.description('Generate an experimental Gaussian-splat environment with Asset Generation')
|
|
4211
4287
|
.argument('<prompt>', 'generation prompt')
|
|
4212
4288
|
.option('--additional-prompt <text>', 'additional generation guidance')
|
|
4213
|
-
.option('--project-id <id>', 'Dreamer project id')
|
|
4214
|
-
.option('--session-id <id>', 'Dreamer session id')
|
|
4289
|
+
.option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
|
|
4290
|
+
.option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
|
|
4215
4291
|
.option('--title <title>', 'asset title')
|
|
4216
4292
|
.option('--splat-scope <scope>', 'object or environment', 'environment')
|
|
4217
4293
|
.action(async (prompt, opts) => {
|
|
@@ -4650,7 +4726,7 @@ character
|
|
|
4650
4726
|
.option('--api-url <url>', 'platform API base URL')
|
|
4651
4727
|
.option('--web-url <url>', 'website base URL (default: the site that serves --api-url)')
|
|
4652
4728
|
.option('--dump <dir>', 'calibration: also write what the page read (rest + 16 posed meshes per clip) here')
|
|
4653
|
-
.addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
|
|
4729
|
+
.addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets); verdict `warn` is still exit 0 and lists generator-limit warnings (JSON: `verdict`, `warnings`, `blockers`) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
|
|
4654
4730
|
'\nNeeds network (the platform\'s production viewer, clips and DynamicsLayer) but no login, no item id and no LIX. Docs: docs/character-check.md.')
|
|
4655
4731
|
.action(async (glb, opts) => {
|
|
4656
4732
|
try {
|