@provartesting/provardx-cli 1.5.0-beta.12 → 1.5.0-beta.14
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/lib/commands/provar/mcp/start.d.ts +2 -0
- package/lib/commands/provar/mcp/start.js +14 -1
- package/lib/commands/provar/mcp/start.js.map +1 -1
- package/lib/mcp/server.d.ts +5 -0
- package/lib/mcp/server.js +8 -1
- package/lib/mcp/server.js.map +1 -1
- package/lib/mcp/tools/automationTools.js +2 -0
- package/lib/mcp/tools/automationTools.js.map +1 -1
- package/lib/mcp/tools/projectValidateFromPath.js +28 -11
- package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
- package/lib/mcp/tools/testCaseGenerate.js +16 -9
- package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
- package/lib/mcp/tools/testCaseValidate.js +77 -53
- package/lib/mcp/tools/testCaseValidate.js.map +1 -1
- package/lib/mcp/tools/testPlanTools.js +2 -2
- package/lib/mcp/tools/testPlanTools.js.map +1 -1
- package/lib/mcp/update/updateChecker.d.ts +14 -0
- package/lib/mcp/update/updateChecker.js +228 -0
- package/lib/mcp/update/updateChecker.js.map +1 -0
- package/lib/services/projectValidation.d.ts +5 -2
- package/lib/services/projectValidation.js +77 -31
- package/lib/services/projectValidation.js.map +1 -1
- package/messages/sf.provar.mcp.start.md +84 -48
- package/oclif.manifest.json +14 -2
- package/package.json +1 -1
|
@@ -70,7 +70,9 @@ export function resolveProjectRoot(givenPath) {
|
|
|
70
70
|
candidates.push(sub);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
catch {
|
|
73
|
+
catch {
|
|
74
|
+
/* skip */
|
|
75
|
+
}
|
|
74
76
|
if (candidates.length === 1)
|
|
75
77
|
return { root: candidates[0], candidates: [] };
|
|
76
78
|
return { root: givenPath, candidates }; // caller handles 0 or multiple
|
|
@@ -127,7 +129,9 @@ export function readProjectContext(projectPath) {
|
|
|
127
129
|
unencryptedSecretCount++;
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
|
-
catch {
|
|
132
|
+
catch {
|
|
133
|
+
/* skip */
|
|
134
|
+
}
|
|
131
135
|
}
|
|
132
136
|
return {
|
|
133
137
|
projectName,
|
|
@@ -158,16 +162,17 @@ function resolveTestInstanceFull(instancePath, projectPath) {
|
|
|
158
162
|
// Bounds check: only read test case files within the project directory
|
|
159
163
|
const tcInBounds = tcFullPath === projResolved || tcFullPath.startsWith(projResolved + path.sep);
|
|
160
164
|
// Derive name from the bounds-checked resolved path to prevent injection via crafted testCasePath
|
|
161
|
-
const tcName = tcInBounds
|
|
162
|
-
? path.basename(tcFullPath, '.testcase')
|
|
163
|
-
: path.basename(testCasePath, '.testcase');
|
|
165
|
+
const tcName = tcInBounds ? path.basename(tcFullPath, '.testcase') : path.basename(testCasePath, '.testcase');
|
|
164
166
|
if (tcInBounds && fs.existsSync(tcFullPath)) {
|
|
165
167
|
try {
|
|
166
168
|
xml_content = fs.readFileSync(tcFullPath, 'utf-8');
|
|
167
169
|
}
|
|
168
|
-
catch {
|
|
170
|
+
catch {
|
|
171
|
+
/* xml_content stays undefined */
|
|
172
|
+
}
|
|
169
173
|
}
|
|
170
|
-
|
|
174
|
+
// Only expose testCasePath when in-bounds — out-of-bounds paths must not affect coverage totals
|
|
175
|
+
return { testCase: { name: tcName, xml_content }, testCasePath: tcInBounds ? testCasePath : null, testCaseId };
|
|
171
176
|
}
|
|
172
177
|
catch {
|
|
173
178
|
return { testCase: null, testCasePath: null, testCaseId: null };
|
|
@@ -188,7 +193,7 @@ function accumulateCoveredPath(testCasePath, testCaseId, coveredPaths, idMap) {
|
|
|
188
193
|
coveredPaths.add(resolved);
|
|
189
194
|
}
|
|
190
195
|
}
|
|
191
|
-
export function readSuiteDirectory(dirPath, name, projectPath, depth = 0, coveredPaths, idMap) {
|
|
196
|
+
export function readSuiteDirectory(dirPath, name, projectPath, depth = 0, coveredPaths, idMap, planIntegrityWarnings) {
|
|
192
197
|
const testCases = [];
|
|
193
198
|
const testSuites = [];
|
|
194
199
|
if (depth > MAX_SUITE_DEPTH)
|
|
@@ -200,7 +205,12 @@ export function readSuiteDirectory(dirPath, name, projectPath, depth = 0, covere
|
|
|
200
205
|
continue;
|
|
201
206
|
const fullPath = path.join(dirPath, entry.name);
|
|
202
207
|
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
203
|
-
|
|
208
|
+
const subHasPlanItem = fs.existsSync(path.join(fullPath, '.planitem'));
|
|
209
|
+
if (planIntegrityWarnings && !subHasPlanItem) {
|
|
210
|
+
const rel = path.relative(projectPath, fullPath).replace(/\\/g, '/');
|
|
211
|
+
planIntegrityWarnings.push(`${rel}/ is missing a .planitem file — test instances in this suite will be invisible to the runner.`);
|
|
212
|
+
}
|
|
213
|
+
testSuites.push(readSuiteDirectory(fullPath, entry.name, projectPath, depth + 1, subHasPlanItem ? coveredPaths : undefined, subHasPlanItem ? idMap : undefined, planIntegrityWarnings));
|
|
204
214
|
}
|
|
205
215
|
else if (entry.name.endsWith('.testinstance')) {
|
|
206
216
|
const { testCase, testCasePath, testCaseId } = resolveTestInstanceFull(fullPath, projectPath);
|
|
@@ -211,10 +221,12 @@ export function readSuiteDirectory(dirPath, name, projectPath, depth = 0, covere
|
|
|
211
221
|
}
|
|
212
222
|
}
|
|
213
223
|
}
|
|
214
|
-
catch {
|
|
224
|
+
catch {
|
|
225
|
+
/* skip */
|
|
226
|
+
}
|
|
215
227
|
return { name, test_cases: testCases, test_suites: testSuites };
|
|
216
228
|
}
|
|
217
|
-
export function readPlanDirectory(planPath, name, projectPath, coveredPaths, idMap) {
|
|
229
|
+
export function readPlanDirectory(planPath, name, projectPath, coveredPaths, idMap, planIntegrityWarnings) {
|
|
218
230
|
const testCases = [];
|
|
219
231
|
const testSuites = [];
|
|
220
232
|
try {
|
|
@@ -224,7 +236,12 @@ export function readPlanDirectory(planPath, name, projectPath, coveredPaths, idM
|
|
|
224
236
|
continue;
|
|
225
237
|
const fullPath = path.join(planPath, entry.name);
|
|
226
238
|
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
227
|
-
|
|
239
|
+
const suiteHasPlanItem = fs.existsSync(path.join(fullPath, '.planitem'));
|
|
240
|
+
if (planIntegrityWarnings && !suiteHasPlanItem) {
|
|
241
|
+
const rel = path.relative(projectPath, fullPath).replace(/\\/g, '/');
|
|
242
|
+
planIntegrityWarnings.push(`${rel}/ is missing a .planitem file — test instances in this suite will be invisible to the runner.`);
|
|
243
|
+
}
|
|
244
|
+
testSuites.push(readSuiteDirectory(fullPath, entry.name, projectPath, 0, suiteHasPlanItem ? coveredPaths : undefined, suiteHasPlanItem ? idMap : undefined, planIntegrityWarnings));
|
|
228
245
|
}
|
|
229
246
|
else if (entry.name.endsWith('.testinstance')) {
|
|
230
247
|
const { testCase, testCasePath, testCaseId } = resolveTestInstanceFull(fullPath, projectPath);
|
|
@@ -235,14 +252,17 @@ export function readPlanDirectory(planPath, name, projectPath, coveredPaths, idM
|
|
|
235
252
|
}
|
|
236
253
|
}
|
|
237
254
|
}
|
|
238
|
-
catch {
|
|
255
|
+
catch {
|
|
256
|
+
/* skip */
|
|
257
|
+
}
|
|
239
258
|
return { name, test_cases: testCases, test_suites: testSuites };
|
|
240
259
|
}
|
|
241
260
|
export function readPlansDir(projectPath) {
|
|
242
261
|
const plansDir = path.join(projectPath, 'plans');
|
|
243
262
|
const coveredPaths = new Set();
|
|
263
|
+
const planIntegrityWarnings = [];
|
|
244
264
|
if (!fs.existsSync(plansDir))
|
|
245
|
-
return { plans: [], coveredPaths };
|
|
265
|
+
return { plans: [], coveredPaths, planIntegrityWarnings };
|
|
246
266
|
// Build UUID→path map once so the plan walk can resolve testCaseId fallbacks
|
|
247
267
|
// without a separate pass over the tests/ directory later.
|
|
248
268
|
const idMap = buildTestCaseIdMap(projectPath);
|
|
@@ -253,11 +273,17 @@ export function readPlansDir(projectPath) {
|
|
|
253
273
|
if (!entry.isDirectory() || entry.name.startsWith('.') || entry.name === 'node_modules')
|
|
254
274
|
continue;
|
|
255
275
|
const planPath = path.join(plansDir, entry.name);
|
|
256
|
-
|
|
276
|
+
const planHasPlanItem = fs.existsSync(path.join(planPath, '.planitem'));
|
|
277
|
+
if (!planHasPlanItem) {
|
|
278
|
+
planIntegrityWarnings.push(`plans/${entry.name}/ is missing a .planitem file — this plan will not be recognised by the Provar runner.`);
|
|
279
|
+
}
|
|
280
|
+
plans.push(readPlanDirectory(planPath, entry.name, projectPath, planHasPlanItem ? coveredPaths : undefined, planHasPlanItem ? idMap : undefined, planIntegrityWarnings));
|
|
257
281
|
}
|
|
258
282
|
}
|
|
259
|
-
catch {
|
|
260
|
-
|
|
283
|
+
catch {
|
|
284
|
+
/* skip */
|
|
285
|
+
}
|
|
286
|
+
return { plans, coveredPaths, planIntegrityWarnings };
|
|
261
287
|
}
|
|
262
288
|
/**
|
|
263
289
|
* Builds a map of testcase UUID (registryId / id / guid) → project-relative path.
|
|
@@ -284,15 +310,20 @@ function buildTestCaseIdMap(projectPath) {
|
|
|
284
310
|
const rel = path.relative(projectPath, fullPath).replace(/\\/g, '/');
|
|
285
311
|
for (const attr of ['registryId', 'id', 'guid']) {
|
|
286
312
|
const m = content.match(new RegExp(`${attr}=["']([^"']+)["']`));
|
|
287
|
-
|
|
313
|
+
// Skip id="1" — new generator emits this literal and it is not UUID-unique
|
|
314
|
+
if (m?.[1] && m[1] !== '1' && !idMap.has(m[1]))
|
|
288
315
|
idMap.set(m[1], rel);
|
|
289
316
|
}
|
|
290
317
|
}
|
|
291
|
-
catch {
|
|
318
|
+
catch {
|
|
319
|
+
/* skip */
|
|
320
|
+
}
|
|
292
321
|
}
|
|
293
322
|
}
|
|
294
323
|
}
|
|
295
|
-
catch {
|
|
324
|
+
catch {
|
|
325
|
+
/* skip */
|
|
326
|
+
}
|
|
296
327
|
}
|
|
297
328
|
walk(testsDir);
|
|
298
329
|
return idMap;
|
|
@@ -320,7 +351,9 @@ export function collectAllTestCaseNames(projectPath) {
|
|
|
320
351
|
names.push(path.basename(entry.name, '.testcase'));
|
|
321
352
|
}
|
|
322
353
|
}
|
|
323
|
-
catch {
|
|
354
|
+
catch {
|
|
355
|
+
/* skip */
|
|
356
|
+
}
|
|
324
357
|
}
|
|
325
358
|
walk(testsDir);
|
|
326
359
|
return names;
|
|
@@ -360,11 +393,15 @@ export function collectCoveredPathsFromDisk(projectPath) {
|
|
|
360
393
|
covered.add(resolvedPath);
|
|
361
394
|
}
|
|
362
395
|
}
|
|
363
|
-
catch {
|
|
396
|
+
catch {
|
|
397
|
+
/* skip */
|
|
398
|
+
}
|
|
364
399
|
}
|
|
365
400
|
}
|
|
366
401
|
}
|
|
367
|
-
catch {
|
|
402
|
+
catch {
|
|
403
|
+
/* skip */
|
|
404
|
+
}
|
|
368
405
|
}
|
|
369
406
|
walk(plansDir);
|
|
370
407
|
return covered;
|
|
@@ -390,7 +427,9 @@ export function findUncoveredTestCases(projectPath, coveredPaths) {
|
|
|
390
427
|
}
|
|
391
428
|
}
|
|
392
429
|
}
|
|
393
|
-
catch {
|
|
430
|
+
catch {
|
|
431
|
+
/* skip */
|
|
432
|
+
}
|
|
394
433
|
}
|
|
395
434
|
walk(testsDir);
|
|
396
435
|
return uncovered.sort();
|
|
@@ -426,7 +465,7 @@ function tcIssuesToQhViolations(tc) {
|
|
|
426
465
|
appliesTo: issue.applies_to,
|
|
427
466
|
});
|
|
428
467
|
}
|
|
429
|
-
for (const bp of
|
|
468
|
+
for (const bp of tc.best_practices_violations ?? []) {
|
|
430
469
|
violations.push({
|
|
431
470
|
number: num++,
|
|
432
471
|
ruleId: bp.rule_id,
|
|
@@ -530,7 +569,13 @@ export function buildQhReport(result, projectName) {
|
|
|
530
569
|
return {
|
|
531
570
|
reportInfo: {
|
|
532
571
|
name: `VR-LOCAL-${now.toISOString().replace(/[:.]/g, '-').slice(0, 19)}`,
|
|
533
|
-
generatedAt: now.toLocaleDateString('en-US', {
|
|
572
|
+
generatedAt: now.toLocaleDateString('en-US', {
|
|
573
|
+
year: 'numeric',
|
|
574
|
+
month: 'short',
|
|
575
|
+
day: 'numeric',
|
|
576
|
+
hour: '2-digit',
|
|
577
|
+
minute: '2-digit',
|
|
578
|
+
}),
|
|
534
579
|
exportedAt: now.toISOString(),
|
|
535
580
|
source: 'provar-mcp-local',
|
|
536
581
|
},
|
|
@@ -551,9 +596,7 @@ export function buildQhReport(result, projectName) {
|
|
|
551
596
|
};
|
|
552
597
|
}
|
|
553
598
|
export function saveResults(projectPath, resultsDir, report, projectName) {
|
|
554
|
-
const targetDir = resultsDir
|
|
555
|
-
? path.resolve(resultsDir)
|
|
556
|
-
: path.join(projectPath, 'provardx', 'validation');
|
|
599
|
+
const targetDir = resultsDir ? path.resolve(resultsDir) : path.join(projectPath, 'provardx', 'validation');
|
|
557
600
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
558
601
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
|
|
559
602
|
const safeName = projectName.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
|
|
@@ -582,7 +625,9 @@ export function validateProjectFromPath(options) {
|
|
|
582
625
|
}
|
|
583
626
|
const { root: projectRoot, candidates } = resolveProjectRoot(resolved);
|
|
584
627
|
if (candidates.length > 1) {
|
|
585
|
-
throw new ProjectValidationError('AMBIGUOUS_PROJECT', `Multiple Provar projects found under "${resolved}". Specify the exact project directory: ${candidates
|
|
628
|
+
throw new ProjectValidationError('AMBIGUOUS_PROJECT', `Multiple Provar projects found under "${resolved}". Specify the exact project directory: ${candidates
|
|
629
|
+
.map((c) => path.basename(c))
|
|
630
|
+
.join(', ')}`);
|
|
586
631
|
}
|
|
587
632
|
if (!fs.existsSync(path.join(projectRoot, '.testproject'))) {
|
|
588
633
|
throw new ProjectValidationError('NOT_A_PROJECT', `No Provar project found at "${projectRoot}". Ensure the path points to a directory containing a .testproject file.`);
|
|
@@ -592,7 +637,7 @@ export function validateProjectFromPath(options) {
|
|
|
592
637
|
const { projectName, context } = readProjectContext(projectRoot);
|
|
593
638
|
// 2. Read plan hierarchy from plans/ directory; covered paths are computed
|
|
594
639
|
// as a byproduct of the walk — no second traversal needed.
|
|
595
|
-
const { plans: testPlans, coveredPaths } = readPlansDir(projectRoot);
|
|
640
|
+
const { plans: testPlans, coveredPaths, planIntegrityWarnings } = readPlansDir(projectRoot);
|
|
596
641
|
// 3. Validate
|
|
597
642
|
const input = {
|
|
598
643
|
name: projectName,
|
|
@@ -672,6 +717,7 @@ export function validateProjectFromPath(options) {
|
|
|
672
717
|
uncovered_test_cases: uncoveredTestCases,
|
|
673
718
|
},
|
|
674
719
|
saved_to: savedTo,
|
|
720
|
+
...(planIntegrityWarnings.length > 0 ? { plan_integrity_warnings: planIntegrityWarnings } : {}),
|
|
675
721
|
save_error: saveError,
|
|
676
722
|
};
|
|
677
723
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectValidation.js","sourceRoot":"","sources":["../../src/services/projectValidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projectValidation.js","sourceRoot":"","sources":["../../src/services/projectValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,qBAAqB,GAYtB,MAAM,mCAAmC,CAAC;AAE3C,iFAAiF;AAEjF,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,IAAI,CAAS;IAC7B,YAAmB,IAAY,EAAE,OAAe;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AA0ED,iFAAiF;AAEjF,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,WAAW,CAAC;IACpC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IAC/B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAClG,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,+BAA+B;AACzE,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAIpD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,sCAAsC,CAAC;IAC1D,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,2BAA2B;IAC3B,MAAM,WAAW,GAAG,qCAAqC,CAAC;IAC1D,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI;QAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,kCAAkC;IAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,4EAA4E;IAC5E,MAAM,eAAe,GACnB,eAAe,KAAK,mBAAmB,IAAI,eAAe,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxG,IAAI,eAAe,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACjE,kBAAkB,GAAG,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACjE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC7E,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAAE,SAAS;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,SAAS;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,sBAAsB,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO,EAAE;YACP,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC5D,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YACtE,kBAAkB;YAClB,wBAAwB,EAAE,sBAAsB;SACjD;KACF,CAAC;AACJ,CAAC;AAYD;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,YAAoB,EAAE,WAAmB;IACxE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7E,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAE/E,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,WAA+B,CAAC;QACpC,uEAAuE;QACvE,MAAM,UAAU,GAAG,UAAU,KAAK,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACjG,kGAAkG;QAClG,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC9G,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;IACjH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,WAAmB;IAC3E,OAAO,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC;AACrE,CAAC;AAED,wEAAwE;AACxE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,gFAAgF;AAChF,SAAS,qBAAqB,CAC5B,YAA2B,EAC3B,UAAyB,EACzB,YAAyB,EACzB,KAA0B;IAE1B,IAAI,YAAY;QAAE,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,QAAQ;YAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAY,EACZ,WAAmB,EACnB,KAAK,GAAG,CAAC,EACT,YAA0B,EAC1B,KAA2B,EAC3B,qBAAgC;IAEhC,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,IAAI,KAAK,GAAG,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IAE7F,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBACvE,IAAI,qBAAqB,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrE,qBAAqB,CAAC,IAAI,CACxB,GAAG,GAAG,+FAA+F,CACtG,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,IAAI,CACb,kBAAkB,CAChB,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,WAAW,EACX,KAAK,GAAG,CAAC,EACT,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACzC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAClC,qBAAqB,CACtB,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC9F,IAAI,QAAQ;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,YAAY,IAAI,KAAK;oBAAE,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,IAAY,EACZ,WAAmB,EACnB,YAA0B,EAC1B,KAA2B,EAC3B,qBAAgC;IAEhC,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBACzE,IAAI,qBAAqB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrE,qBAAqB,CAAC,IAAI,CACxB,GAAG,GAAG,+FAA+F,CACtG,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,IAAI,CACb,kBAAkB,CAChB,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,WAAW,EACX,CAAC,EACD,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC3C,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACpC,qBAAqB,CACtB,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC9F,IAAI,QAAQ;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,YAAY,IAAI,KAAK;oBAAE,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAK9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,qBAAqB,GAAa,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAExF,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,qBAAqB,CAAC,IAAI,CACxB,SAAS,KAAK,CAAC,IAAI,wFAAwF,CAC5G,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CACR,iBAAiB,CACf,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,WAAW,EACX,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC1C,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnC,qBAAqB,CACtB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,SAAS,IAAI,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBACrE,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAU,EAAE,CAAC;4BACzD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC;4BAChE,2EAA2E;4BAC3E,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,SAAS,IAAI,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAC1E,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAE7C,+EAA+E;IAC/E,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE9C,SAAS,IAAI,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACnD,4BAA4B;wBAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;wBAC7D,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;4BAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC1D,oEAAoE;wBACpE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBACzD,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACb,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvC,IAAI,YAAY;gCAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,YAAyB;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,SAAS,IAAI,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AA2BD,SAAS,sBAAsB,CAAC,CAAqB,EAAE,GAAW;IAChE,OAAO;QACL,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,CAAC,CAAC,OAAO;QACjB,QAAQ,EAAE,CAAC,CAAC,IAAI;QAChB,eAAe,EAAE,CAAC,CAAC,WAAW;QAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAkB;IAChD,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,EAAE;YACb,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAChG,MAAM,EAAE,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YACtC,SAAS,EAAE,KAAK,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,yBAAyB,IAAI,EAAE,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,EAAE;YACb,MAAM,EAAE,EAAE,CAAC,OAAO;YAClB,QAAQ,EAAE,EAAE,CAAC,IAAI;YACjB,eAAe,EAAE,EAAE,CAAC,WAAW;YAC/B,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClC,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAkB;IAC3C,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,yBAAyB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,QAAqB,EAAE,KAAkB;IAChE,QAAQ,CAAC,IAAI,CAAC;QACZ,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;QACxC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7E,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW;QAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAExE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,YAAY,EAAE,EAAE,CAAC,aAAa;gBAC9B,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC5C,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,sBAAsB,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAqB,EAAE,IAAgB;IAC9D,QAAQ,CAAC,IAAI,CAAC;QACZ,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5E,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW;QAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEvE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,YAAY,EAAE,EAAE,CAAC,aAAa;gBAC9B,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC5C,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,sBAAsB,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,QAAQ,CAAC,IAAI,CAAC;QACZ,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACzC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9E,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW;QAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEzE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,YAAY,EAAE,EAAE,CAAC,aAAa;gBAC9B,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC5C,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,sBAAsB,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU;QAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,WAAmB;IACtE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YACxE,WAAW,EAAE,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC3C,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,MAAM,EAAE,kBAAkB;SAC3B;QACD,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;YAClD,eAAe,EAAE,OAAO,CAAC,gBAAgB;YACzC,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC,QAAQ;YAC3D,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;YACrD,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;YACrD,cAAc,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI;SACpD;QACD,OAAO,EAAE;YACP,eAAe,EAAE,SAAS;YAC1B,eAAe,EAAE,WAAW;SAC7B;QACD,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,WAAmB,EACnB,UAA8B,EAC9B,MAA+B,EAC/B,WAAmB;IAEnB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3G,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,QAAQ,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,mGAAmG;IACnG,iEAAiE;IACjE,IAAI,UAAU;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,sBAAsB,CAAC,gBAAgB,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAC9B,mBAAmB,EACnB,yCAAyC,QAAQ,2CAA2C,UAAU;aACnG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,sBAAsB,CAC9B,eAAe,EACf,+BAA+B,WAAW,0EAA0E,CACrH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,IAAI,EAAE,CAAC;IAE1C,4CAA4C;IAC5C,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEjE,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAE5F,cAAc;IACd,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,OAAO;QACxB,wBAAwB,EAAE,uBAAuB,CAAC,WAAW,CAAC;KAC/D,CAAC;IAEF,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9C,gEAAgE;IAChE,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC7E,iFAAiF;IACjF,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3G,iCAAiC;IACjC,MAAM,KAAK,GAAoB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC7C,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC,CAAC;YACH,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;aACtC,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,oBAAoB,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,aAAa,EAAE,EAAE,CAAC,aAAa;YAC/B,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,+BAA+B;IAC/B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,SAA6B,CAAC;IAClC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAI,GAAa,CAAC,OAAO,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC;QACjD,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;QACnD,OAAO;QACP,kBAAkB,EAAE,MAAM,CAAC,UAAU;QACrC,KAAK;QACL,QAAQ,EAAE;YACR,wBAAwB,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM;YACnE,gBAAgB,EAAE,aAAa;YAC/B,eAAe,EAAE,kBAAkB,CAAC,MAAM;YAC1C,oBAAoB,EAAE,kBAAkB;SACzC;QACD,QAAQ,EAAE,OAAO;QACjB,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,71 +1,107 @@
|
|
|
1
1
|
# summary
|
|
2
|
+
|
|
2
3
|
Start a local MCP server for Provar tools over stdio transport.
|
|
3
4
|
|
|
4
5
|
# description
|
|
6
|
+
|
|
5
7
|
Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools to
|
|
6
8
|
AI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP
|
|
7
9
|
JSON-RPC communication happens over stdout; all internal logging goes to stderr.
|
|
8
10
|
|
|
9
11
|
Available tools:
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
13
|
+
Project & inspection:
|
|
14
|
+
|
|
15
|
+
- provar.project.inspect — inspect project folder inventory
|
|
16
|
+
- provar.project.validate — validate full project from disk: coverage, quality scores
|
|
17
|
+
|
|
18
|
+
Page Object:
|
|
19
|
+
|
|
20
|
+
- provar.pageobject.generate — generate a Java Page Object skeleton
|
|
21
|
+
- provar.pageobject.validate — validate Page Object quality and naming
|
|
22
|
+
|
|
23
|
+
Test Case:
|
|
24
|
+
|
|
25
|
+
- provar.testcase.generate — generate an XML test case skeleton
|
|
26
|
+
- provar.testcase.validate — validate test case XML (validity + best-practices scores)
|
|
27
|
+
- provar.testcase.step.edit — atomically add or remove a single step in a test case
|
|
28
|
+
|
|
29
|
+
Test Suite / Plan:
|
|
30
|
+
|
|
31
|
+
- provar.testsuite.validate — validate test suite hierarchy
|
|
32
|
+
- provar.testplan.validate — validate test plan metadata completeness
|
|
33
|
+
- provar.testplan.create-suite — create a test suite under a plan
|
|
34
|
+
- provar.testplan.add-instance — add a test instance to a plan
|
|
35
|
+
- provar.testplan.remove-instance — remove a test instance from a plan
|
|
36
|
+
|
|
37
|
+
Properties files:
|
|
38
|
+
|
|
39
|
+
- provar.properties.read — read a Provar properties file
|
|
40
|
+
- provar.properties.set — set a key in a Provar properties file
|
|
41
|
+
- provar.properties.validate — validate a properties file structure
|
|
42
|
+
- provar.properties.generate — generate a properties file skeleton
|
|
43
|
+
|
|
44
|
+
Quality Hub (sf provar quality-hub wrappers):
|
|
45
|
+
|
|
46
|
+
- provar.qualityhub.connect — connect to a Quality Hub org
|
|
47
|
+
- provar.qualityhub.display — display connected org info
|
|
48
|
+
- provar.qualityhub.testrun — trigger a Quality Hub test run
|
|
49
|
+
- provar.qualityhub.testrun.report — poll test run status
|
|
50
|
+
- provar.qualityhub.testrun.abort — abort a running test run
|
|
51
|
+
- provar.qualityhub.testcase.retrieve — retrieve test case results
|
|
52
|
+
- provar.qualityhub.defect.create — create defects for failed test executions
|
|
53
|
+
- provar.qualityhub.examples.retrieve — retrieve corpus examples for a given step type
|
|
54
|
+
|
|
55
|
+
Automation (sf provar automation wrappers):
|
|
56
|
+
|
|
57
|
+
- provar.automation.setup — set up the Provar Automation runtime
|
|
58
|
+
- provar.automation.metadata.download — download Salesforce metadata
|
|
59
|
+
- provar.automation.compile — compile Provar test assets
|
|
60
|
+
- provar.automation.testrun — run Provar tests
|
|
61
|
+
- provar.automation.config.load — load a Provar configuration
|
|
62
|
+
|
|
63
|
+
ANT build:
|
|
64
|
+
|
|
65
|
+
- provar.ant.generate — generate an ANT build.xml
|
|
66
|
+
- provar.ant.validate — validate an ANT build.xml
|
|
67
|
+
|
|
68
|
+
Test result analysis:
|
|
69
|
+
|
|
70
|
+
- provar.testrun.rca — root cause analysis on a test result
|
|
71
|
+
- provar.testrun.report.locate — locate a test result report
|
|
72
|
+
|
|
73
|
+
NitroX (Provar NitroX component tools):
|
|
74
|
+
|
|
75
|
+
- provar.nitrox.discover — discover NitroX component metadata
|
|
76
|
+
- provar.nitrox.generate — generate a NitroX component
|
|
77
|
+
- provar.nitrox.patch — patch a NitroX component definition
|
|
78
|
+
- provar.nitrox.read — read a NitroX component definition
|
|
79
|
+
- provar.nitrox.validate — validate a NitroX component
|
|
80
|
+
|
|
81
|
+
Connections:
|
|
82
|
+
|
|
83
|
+
- provar.connection.list — list connections and named environments from .testproject
|
|
59
84
|
|
|
60
85
|
For full tool documentation see docs/mcp.md in this repository.
|
|
61
86
|
|
|
62
87
|
# flags.allowed-paths.summary
|
|
88
|
+
|
|
63
89
|
Allowed base directory paths for file operations. Defaults to current directory.
|
|
64
90
|
|
|
65
91
|
# flags.auto-defects.summary
|
|
92
|
+
|
|
66
93
|
When enabled, testrun.report suggestions will prompt defect creation on failures.
|
|
67
94
|
|
|
95
|
+
# flags.auto-update.summary
|
|
96
|
+
|
|
97
|
+
When enabled, automatically installs the latest version at startup and exits. The MCP client must reconnect to load the new version.
|
|
98
|
+
|
|
99
|
+
# flags.no-update-check.summary
|
|
100
|
+
|
|
101
|
+
Skip the update check at startup. Also controlled by the PROVAR_NO_UPDATE_CHECK environment variable.
|
|
102
|
+
|
|
68
103
|
# examples
|
|
104
|
+
|
|
69
105
|
- Start MCP server (accepts stdio connections from Claude Desktop / Cursor):
|
|
70
106
|
<%= config.bin %> <%= command.id %>
|
|
71
107
|
- Start with explicit allowed paths:
|
package/oclif.manifest.json
CHANGED
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
"provar:mcp:start": {
|
|
339
339
|
"aliases": [],
|
|
340
340
|
"args": {},
|
|
341
|
-
"description": "Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools to\nAI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP\nJSON-RPC communication happens over stdout; all internal logging goes to stderr.\n\nAvailable tools:\n\
|
|
341
|
+
"description": "Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools to\nAI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP\nJSON-RPC communication happens over stdout; all internal logging goes to stderr.\n\nAvailable tools:\n\nProject & inspection:\n\n- provar.project.inspect — inspect project folder inventory\n- provar.project.validate — validate full project from disk: coverage, quality scores\n\nPage Object:\n\n- provar.pageobject.generate — generate a Java Page Object skeleton\n- provar.pageobject.validate — validate Page Object quality and naming\n\nTest Case:\n\n- provar.testcase.generate — generate an XML test case skeleton\n- provar.testcase.validate — validate test case XML (validity + best-practices scores)\n- provar.testcase.step.edit — atomically add or remove a single step in a test case\n\nTest Suite / Plan:\n\n- provar.testsuite.validate — validate test suite hierarchy\n- provar.testplan.validate — validate test plan metadata completeness\n- provar.testplan.create-suite — create a test suite under a plan\n- provar.testplan.add-instance — add a test instance to a plan\n- provar.testplan.remove-instance — remove a test instance from a plan\n\nProperties files:\n\n- provar.properties.read — read a Provar properties file\n- provar.properties.set — set a key in a Provar properties file\n- provar.properties.validate — validate a properties file structure\n- provar.properties.generate — generate a properties file skeleton\n\nQuality Hub (sf provar quality-hub wrappers):\n\n- provar.qualityhub.connect — connect to a Quality Hub org\n- provar.qualityhub.display — display connected org info\n- provar.qualityhub.testrun — trigger a Quality Hub test run\n- provar.qualityhub.testrun.report — poll test run status\n- provar.qualityhub.testrun.abort — abort a running test run\n- provar.qualityhub.testcase.retrieve — retrieve test case results\n- provar.qualityhub.defect.create — create defects for failed test executions\n- provar.qualityhub.examples.retrieve — retrieve corpus examples for a given step type\n\nAutomation (sf provar automation wrappers):\n\n- provar.automation.setup — set up the Provar Automation runtime\n- provar.automation.metadata.download — download Salesforce metadata\n- provar.automation.compile — compile Provar test assets\n- provar.automation.testrun — run Provar tests\n- provar.automation.config.load — load a Provar configuration\n\nANT build:\n\n- provar.ant.generate — generate an ANT build.xml\n- provar.ant.validate — validate an ANT build.xml\n\nTest result analysis:\n\n- provar.testrun.rca — root cause analysis on a test result\n- provar.testrun.report.locate — locate a test result report\n\nNitroX (Provar NitroX component tools):\n\n- provar.nitrox.discover — discover NitroX component metadata\n- provar.nitrox.generate — generate a NitroX component\n- provar.nitrox.patch — patch a NitroX component definition\n- provar.nitrox.read — read a NitroX component definition\n- provar.nitrox.validate — validate a NitroX component\n\nConnections:\n\n- provar.connection.list — list connections and named environments from .testproject\n\nFor full tool documentation see docs/mcp.md in this repository.",
|
|
342
342
|
"examples": [
|
|
343
343
|
"Start MCP server (accepts stdio connections from Claude Desktop / Cursor):\n<%= config.bin %> <%= command.id %>",
|
|
344
344
|
"Start with explicit allowed paths:\n<%= config.bin %> <%= command.id %> --allowed-paths /workspace/provar",
|
|
@@ -369,6 +369,18 @@
|
|
|
369
369
|
"summary": "When enabled, testrun.report suggestions will prompt defect creation on failures.",
|
|
370
370
|
"allowNo": false,
|
|
371
371
|
"type": "boolean"
|
|
372
|
+
},
|
|
373
|
+
"auto-update": {
|
|
374
|
+
"name": "auto-update",
|
|
375
|
+
"summary": "When enabled, automatically installs the latest version at startup and exits. The MCP client must reconnect to load the new version.",
|
|
376
|
+
"allowNo": false,
|
|
377
|
+
"type": "boolean"
|
|
378
|
+
},
|
|
379
|
+
"no-update-check": {
|
|
380
|
+
"name": "no-update-check",
|
|
381
|
+
"summary": "Skip the update check at startup. Also controlled by the PROVAR_NO_UPDATE_CHECK environment variable.",
|
|
382
|
+
"allowNo": false,
|
|
383
|
+
"type": "boolean"
|
|
372
384
|
}
|
|
373
385
|
},
|
|
374
386
|
"hasDynamicHelp": false,
|
|
@@ -2024,5 +2036,5 @@
|
|
|
2024
2036
|
]
|
|
2025
2037
|
}
|
|
2026
2038
|
},
|
|
2027
|
-
"version": "1.5.0-beta.
|
|
2039
|
+
"version": "1.5.0-beta.14"
|
|
2028
2040
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provartesting/provardx-cli",
|
|
3
3
|
"description": "A plugin for the Salesforce CLI to orchestrate testing activities and report quality metrics to Provar Quality Hub",
|
|
4
|
-
"version": "1.5.0-beta.
|
|
4
|
+
"version": "1.5.0-beta.14",
|
|
5
5
|
"mcpName": "io.github.ProvarTesting/provar",
|
|
6
6
|
"license": "BSD-3-Clause",
|
|
7
7
|
"plugins": [
|