@kernlang/review 3.5.8-canary.210.1.239de0e0 → 3.5.8
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/dist/external-tools.js
CHANGED
|
@@ -116,6 +116,17 @@ function categorizeESLintRule(ruleId) {
|
|
|
116
116
|
return 'structure';
|
|
117
117
|
return 'pattern';
|
|
118
118
|
}
|
|
119
|
+
// TS diagnostic codes in the "type erosion" family — the downstream cascade
|
|
120
|
+
// that fires when an import is unresolved. An unresolved import degrades its
|
|
121
|
+
// type to `any`, and derived values then fall to `unknown` (e.g.
|
|
122
|
+
// `Object.entries(anyValue)` yields `[string, unknown][]` because the generic
|
|
123
|
+
// `T` defaults to `unknown` when uninferable). These are suppressed in review
|
|
124
|
+
// mode ONLY inside a file that already has a suppressed module miss — see the
|
|
125
|
+
// gate in runTSCDiagnostics for the full rationale.
|
|
126
|
+
// 18046 — "'x' is of type 'unknown'."
|
|
127
|
+
// 2571 — "Object is of type 'unknown'." (object-expression variant)
|
|
128
|
+
// 2698 — "Spread types may only be created from object types."
|
|
129
|
+
const UNRESOLVED_IMPORT_EROSION_CODES = new Set([18046, 2571, 2698]);
|
|
119
130
|
/**
|
|
120
131
|
* Run TypeScript compiler diagnostics using ts-morph's existing Project.
|
|
121
132
|
* Reuses the Project already created by the inferrer — no extra compilation.
|
|
@@ -124,9 +135,9 @@ export function runTSCDiagnostics(project, options = {}, health) {
|
|
|
124
135
|
const findings = [];
|
|
125
136
|
try {
|
|
126
137
|
const diagnostics = project.getPreEmitDiagnostics();
|
|
127
|
-
const suppressedModuleMisses = options.downgradeProjectLoadingErrors
|
|
138
|
+
const { keys: suppressedModuleMisses, files: filesWithSuppressedModuleMiss } = options.downgradeProjectLoadingErrors
|
|
128
139
|
? collectReviewModeSuppressedModuleMisses(diagnostics)
|
|
129
|
-
: new Set();
|
|
140
|
+
: { keys: new Set(), files: new Set() };
|
|
130
141
|
// File-level pre-pass: which files have a broken JSX global namespace?
|
|
131
142
|
// When @types/react is unreachable (kern-guard's sparse clone, no
|
|
132
143
|
// node_modules), `JSX.IntrinsicElements` and `JSX.ElementChildrenAttribute`
|
|
@@ -224,12 +235,25 @@ export function runTSCDiagnostics(project, options = {}, health) {
|
|
|
224
235
|
// repo genuinely lacking the JSX runtime is reported. See
|
|
225
236
|
// isBrokenJsxRuntimeDiagnostic for why the message gate is safe.
|
|
226
237
|
const isBrokenJsxRuntimeNoise = code === 2875 && isBrokenJsxRuntimeDiagnostic(messageStr);
|
|
238
|
+
// TS18046 / TS2698 / TS2571 — the type-erosion cascade of a suppressed
|
|
239
|
+
// module miss. An unresolved import (TS2307, downgraded above) degrades
|
|
240
|
+
// its type to `any`; `Object.entries(anyValue)` then yields
|
|
241
|
+
// `[string, unknown][]`, so any downstream `u.x` trips TS18046 and
|
|
242
|
+
// `{ ...u }` trips TS2698 (TS2571 is the object-expression variant). All
|
|
243
|
+
// vanish once the package resolves — a full `tsc -b` with deps built is
|
|
244
|
+
// clean (proven). kern-guard PR #376 surfaced these on a brand-new
|
|
245
|
+
// workspace package consumed in the same PR. Gated per-file exactly like
|
|
246
|
+
// the TS2741 JSX-children cascade: suppress these codes ONLY in a file
|
|
247
|
+
// that already lost an import to a noise-downgraded miss, so a genuine
|
|
248
|
+
// `unknown`-handling bug in a cleanly-resolved file still surfaces.
|
|
249
|
+
const isUnresolvedImportErosionCascade = UNRESOLVED_IMPORT_EROSION_CODES.has(code) && filesWithSuppressedModuleMiss.has(filePath);
|
|
227
250
|
if (options.downgradeProjectLoadingErrors &&
|
|
228
251
|
(isLoadingNoise ||
|
|
229
252
|
isEnvironmentalNoise ||
|
|
230
253
|
isNodeGlobalUnresolved ||
|
|
231
254
|
isJsxChildrenInferenceNoise ||
|
|
232
255
|
isBrokenJsxRuntimeNoise ||
|
|
256
|
+
isUnresolvedImportErosionCascade ||
|
|
233
257
|
isReviewModeModuleResolutionNoise(code, messageStr, filePath) ||
|
|
234
258
|
isReviewModeGeneratedFacadeExportCascade(sourceFile, code, messageStr, suppressedModuleMisses))) {
|
|
235
259
|
continue;
|
|
@@ -261,7 +285,11 @@ export function runTSCDiagnostics(project, options = {}, health) {
|
|
|
261
285
|
return findings;
|
|
262
286
|
}
|
|
263
287
|
function collectReviewModeSuppressedModuleMisses(diagnostics) {
|
|
264
|
-
|
|
288
|
+
// `keys` (file\0specifier) drives the TS2305 facade cascade; `files` drives
|
|
289
|
+
// the TS18046/TS2698/TS2571 type-erosion cascade (suppress those codes only
|
|
290
|
+
// in a file that already lost an import to a noise-downgraded module miss).
|
|
291
|
+
const keys = new Set();
|
|
292
|
+
const files = new Set();
|
|
265
293
|
for (const diag of diagnostics) {
|
|
266
294
|
if (diag.getCode() !== 2307)
|
|
267
295
|
continue;
|
|
@@ -274,10 +302,11 @@ function collectReviewModeSuppressedModuleMisses(diagnostics) {
|
|
|
274
302
|
if (!specifier)
|
|
275
303
|
continue;
|
|
276
304
|
if (isReviewModeModuleResolutionNoise(2307, messageStr, sourceFile.getFilePath())) {
|
|
277
|
-
|
|
305
|
+
keys.add(moduleMissKey(sourceFile.getFilePath(), specifier));
|
|
306
|
+
files.add(sourceFile.getFilePath());
|
|
278
307
|
}
|
|
279
308
|
}
|
|
280
|
-
return
|
|
309
|
+
return { keys, files };
|
|
281
310
|
}
|
|
282
311
|
// Files where TS reports the JSX global namespace is broken — `@types/react`
|
|
283
312
|
// is unreachable, so `JSX.IntrinsicElements` (the host-element shim) and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-tools.js","sourceRoot":"","sources":["../src/external-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"external-tools.js","sourceRoot":"","sources":["../src/external-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -541,6 +541,150 @@ function variableNameForInitializer(expr) {
|
|
|
541
541
|
const nameNode = parent.getNameNode();
|
|
542
542
|
return Node.isIdentifier(nameNode) ? nameNode.getText() : null;
|
|
543
543
|
}
|
|
544
|
+
function formatKernStringListForQuotedProp(keys) {
|
|
545
|
+
return `[${keys.map((key) => `'${escapeKernSingleQuotedStringForQuotedProp(key)}'`).join(', ')}]`;
|
|
546
|
+
}
|
|
547
|
+
function escapeKernSingleQuotedStringForQuotedProp(value) {
|
|
548
|
+
return value
|
|
549
|
+
.replace(/\\/g, '\\\\')
|
|
550
|
+
.replace(/'/g, "\\'")
|
|
551
|
+
.replace(/"/g, '\\"')
|
|
552
|
+
.replace(/\n/g, '\\n')
|
|
553
|
+
.replace(/\r/g, '\\r')
|
|
554
|
+
.replace(/\t/g, '\\t');
|
|
555
|
+
}
|
|
556
|
+
function objectPickFinding(ctx, node, name, source, keys) {
|
|
557
|
+
const formattedKeys = formatKernStringListForQuotedProp(keys);
|
|
558
|
+
const sourceValue = toKernInValue(source);
|
|
559
|
+
return finding('suggest-kern-primitive', 'info', 'pattern', 'JS shallow object pick could migrate to KERN `objectPick` — shallow own string-key record selection', ctx.filePath, node.getStartLineNumber(), nodeColumn(node), { suggestion: `objectPick name=${name} in=${sourceValue} keys="${formattedKeys}"` });
|
|
560
|
+
}
|
|
561
|
+
function objectOmitFinding(ctx, node, name, source, keys) {
|
|
562
|
+
const formattedKeys = formatKernStringListForQuotedProp(keys);
|
|
563
|
+
const sourceValue = toKernInValue(source);
|
|
564
|
+
return finding('suggest-kern-primitive', 'info', 'pattern', 'JS shallow object omit could migrate to KERN `objectOmit` — shallow own string-key record omission', ctx.filePath, node.getStartLineNumber(), nodeColumn(node), { suggestion: `objectOmit name=${name} in=${sourceValue} keys="${formattedKeys}"` });
|
|
565
|
+
}
|
|
566
|
+
function destructuredPropertyNameText(node) {
|
|
567
|
+
if (Node.isIdentifier(node))
|
|
568
|
+
return node.getText();
|
|
569
|
+
if (Node.isStringLiteral(node) || Node.isNumericLiteral(node))
|
|
570
|
+
return node.getLiteralText();
|
|
571
|
+
return null;
|
|
572
|
+
}
|
|
573
|
+
function firstTruthySuggestion(expr) {
|
|
574
|
+
if (expr.getOperatorToken().getKind() !== SyntaxKind.BarBarToken)
|
|
575
|
+
return null;
|
|
576
|
+
const name = variableNameForInitializer(expr);
|
|
577
|
+
if (!name)
|
|
578
|
+
return null;
|
|
579
|
+
const values = flattenOrChain(expr);
|
|
580
|
+
if (values.length < 2)
|
|
581
|
+
return null;
|
|
582
|
+
if (isObviousBooleanPredicateFallback(name, values))
|
|
583
|
+
return null;
|
|
584
|
+
return { name, values: values.map((value) => value.getText()).join(', ') };
|
|
585
|
+
}
|
|
586
|
+
function flattenOrChain(expr) {
|
|
587
|
+
const left = expr.getLeft();
|
|
588
|
+
const right = expr.getRight();
|
|
589
|
+
const out = [];
|
|
590
|
+
if (Node.isBinaryExpression(left) && left.getOperatorToken().getKind() === SyntaxKind.BarBarToken) {
|
|
591
|
+
out.push(...flattenOrChain(left));
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
out.push(left);
|
|
595
|
+
}
|
|
596
|
+
if (Node.isBinaryExpression(right) && right.getOperatorToken().getKind() === SyntaxKind.BarBarToken) {
|
|
597
|
+
out.push(...flattenOrChain(right));
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
out.push(right);
|
|
601
|
+
}
|
|
602
|
+
return out;
|
|
603
|
+
}
|
|
604
|
+
function isObviousBooleanPredicateFallback(name, values) {
|
|
605
|
+
if (values.length !== 2)
|
|
606
|
+
return false;
|
|
607
|
+
const text = [name, ...values.map((value) => value.getText())];
|
|
608
|
+
return text.every(looksLikeBooleanPredicateName);
|
|
609
|
+
}
|
|
610
|
+
function looksLikeBooleanPredicateName(value) {
|
|
611
|
+
return /^(?:is|has|can|should|did|will|ok|valid|enabled|ready|active)(?:[A-Z_]|$)/.test(value);
|
|
612
|
+
}
|
|
613
|
+
function coalesceSuggestion(expr) {
|
|
614
|
+
if (expr.getOperatorToken().getKind() !== SyntaxKind.QuestionQuestionToken)
|
|
615
|
+
return null;
|
|
616
|
+
const name = variableNameForInitializer(expr);
|
|
617
|
+
if (!name)
|
|
618
|
+
return null;
|
|
619
|
+
const values = flattenQuestionQuestionChain(expr);
|
|
620
|
+
if (values.length < 2)
|
|
621
|
+
return null;
|
|
622
|
+
return { name, values: values.map((value) => value.getText()).join(', ') };
|
|
623
|
+
}
|
|
624
|
+
function flattenQuestionQuestionChain(expr) {
|
|
625
|
+
const left = unwrapParenthesizedExpression(expr.getLeft());
|
|
626
|
+
const right = unwrapParenthesizedExpression(expr.getRight());
|
|
627
|
+
const out = [];
|
|
628
|
+
if (Node.isBinaryExpression(left) && left.getOperatorToken().getKind() === SyntaxKind.QuestionQuestionToken) {
|
|
629
|
+
out.push(...flattenQuestionQuestionChain(left));
|
|
630
|
+
}
|
|
631
|
+
else {
|
|
632
|
+
out.push(left);
|
|
633
|
+
}
|
|
634
|
+
if (Node.isBinaryExpression(right) && right.getOperatorToken().getKind() === SyntaxKind.QuestionQuestionToken) {
|
|
635
|
+
out.push(...flattenQuestionQuestionChain(right));
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
638
|
+
out.push(right);
|
|
639
|
+
}
|
|
640
|
+
return out;
|
|
641
|
+
}
|
|
642
|
+
function unwrapParenthesizedExpression(node) {
|
|
643
|
+
return Node.isParenthesizedExpression(node) ? node.getExpression() : node;
|
|
644
|
+
}
|
|
645
|
+
function coalesceFinding(ctx, node, name, values) {
|
|
646
|
+
return finding('suggest-kern-primitive', 'info', 'pattern', 'JS nullish fallback chain could migrate to KERN `coalesce` — named portable fallback selection', ctx.filePath, node.getStartLineNumber(), nodeColumn(node), { suggestion: `coalesce name=${name} values="${escapeKernString(values)}"` });
|
|
647
|
+
}
|
|
648
|
+
function firstTruthyFinding(ctx, node, name, values) {
|
|
649
|
+
return finding('suggest-kern-primitive', 'info', 'pattern', 'JS truthy fallback chain could migrate to KERN `firstTruthy` — named portable fallback selection', ctx.filePath, node.getStartLineNumber(), nodeColumn(node), { suggestion: `firstTruthy name=${name} values="${escapeKernString(values)}"` });
|
|
650
|
+
}
|
|
651
|
+
function objectLiteralPickSuggestion(expr) {
|
|
652
|
+
if (!Node.isObjectLiteralExpression(expr))
|
|
653
|
+
return null;
|
|
654
|
+
const name = variableNameForInitializer(expr);
|
|
655
|
+
if (!name)
|
|
656
|
+
return null;
|
|
657
|
+
const properties = expr.getProperties();
|
|
658
|
+
if (properties.length === 0)
|
|
659
|
+
return null;
|
|
660
|
+
let commonReceiver = null;
|
|
661
|
+
const keys = [];
|
|
662
|
+
for (const prop of properties) {
|
|
663
|
+
if (!Node.isPropertyAssignment(prop))
|
|
664
|
+
return null;
|
|
665
|
+
const propKey = prop.getName();
|
|
666
|
+
const initializer = prop.getInitializer();
|
|
667
|
+
if (!initializer || !Node.isPropertyAccessExpression(initializer))
|
|
668
|
+
return null;
|
|
669
|
+
const receiver = initializer.getExpression();
|
|
670
|
+
if (!Node.isIdentifier(receiver))
|
|
671
|
+
return null;
|
|
672
|
+
const accessedProp = initializer.getName();
|
|
673
|
+
if (accessedProp !== propKey)
|
|
674
|
+
return null;
|
|
675
|
+
const receiverText = receiver.getText();
|
|
676
|
+
if (commonReceiver === null) {
|
|
677
|
+
commonReceiver = receiverText;
|
|
678
|
+
}
|
|
679
|
+
else if (commonReceiver !== receiverText) {
|
|
680
|
+
return null;
|
|
681
|
+
}
|
|
682
|
+
keys.push(propKey);
|
|
683
|
+
}
|
|
684
|
+
if (!commonReceiver)
|
|
685
|
+
return null;
|
|
686
|
+
return { name, source: commonReceiver, keys };
|
|
687
|
+
}
|
|
544
688
|
function objectMergeFinding(ctx, node, name, sources) {
|
|
545
689
|
return finding('suggest-kern-primitive', 'info', 'pattern', 'JS shallow object merge could migrate to KERN `objectMerge` — non-mutating, left-to-right, last-write-wins record merge', ctx.filePath, node.getStartLineNumber(), nodeColumn(node), { suggestion: `objectMerge name=${name} sources="${escapeKernString(sources)}"` });
|
|
546
690
|
}
|
|
@@ -783,12 +927,43 @@ function buildSuggestion(spec, collection, call) {
|
|
|
783
927
|
}
|
|
784
928
|
}
|
|
785
929
|
}
|
|
930
|
+
function filterLengthCountSuggestion(collection, call) {
|
|
931
|
+
const parent = call.getParent();
|
|
932
|
+
if (!Node.isPropertyAccessExpression(parent) || parent.getName() !== 'length')
|
|
933
|
+
return null;
|
|
934
|
+
const args = call.getArguments();
|
|
935
|
+
if (args.length !== 1 || !isArrowLike(args[0]))
|
|
936
|
+
return null;
|
|
937
|
+
const arrow = args[0];
|
|
938
|
+
if (arrow.getParameters().length !== 1)
|
|
939
|
+
return null;
|
|
940
|
+
const item = paramName(arrow, 0);
|
|
941
|
+
if (!item)
|
|
942
|
+
return null;
|
|
943
|
+
const body = extractSingleExprBody(arrow);
|
|
944
|
+
if (body === null)
|
|
945
|
+
return null;
|
|
946
|
+
const itemProp = item === 'item' ? '' : ` item=${item}`;
|
|
947
|
+
return `count name=<name> in=${toKernInValue(collection)}${itemProp} where="${escapeKernString(body)}"`;
|
|
948
|
+
}
|
|
786
949
|
export function suggestKernPrimitive(ctx) {
|
|
787
950
|
if (shouldSkipFile(ctx))
|
|
788
951
|
return [];
|
|
789
952
|
const findings = [];
|
|
790
953
|
const shadowsGlobalObject = sourceFileDeclaresBinding(ctx, 'Object');
|
|
791
954
|
const shadowsGlobalMath = sourceFileDeclaresBinding(ctx, 'Math');
|
|
955
|
+
// `const label = preferred || nickname || 'Anonymous'`
|
|
956
|
+
// → firstTruthy name=label values="preferred, nickname, 'Anonymous'"
|
|
957
|
+
for (const binary of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.BinaryExpression)) {
|
|
958
|
+
const suggestion = firstTruthySuggestion(binary);
|
|
959
|
+
if (suggestion) {
|
|
960
|
+
findings.push(firstTruthyFinding(ctx, binary, suggestion.name, suggestion.values));
|
|
961
|
+
}
|
|
962
|
+
const coalSuggest = coalesceSuggestion(binary);
|
|
963
|
+
if (coalSuggest) {
|
|
964
|
+
findings.push(coalesceFinding(ctx, binary, coalSuggest.name, coalSuggest.values));
|
|
965
|
+
}
|
|
966
|
+
}
|
|
792
967
|
// `[...new Set(coll)]` → route to the dedicated `unique` primitive.
|
|
793
968
|
for (const arr of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ArrayLiteralExpression)) {
|
|
794
969
|
const elements = arr.getElements();
|
|
@@ -869,6 +1044,11 @@ export function suggestKernPrimitive(ctx) {
|
|
|
869
1044
|
// route to the dedicated `compact` primitive. The three shapes are all
|
|
870
1045
|
// equivalent drop-falsy idioms; KERN prefers the named primitive.
|
|
871
1046
|
if (methodName === 'filter' && call.getArguments().length === 1) {
|
|
1047
|
+
const countSuggestion = filterLengthCountSuggestion(collection, call);
|
|
1048
|
+
if (countSuggestion) {
|
|
1049
|
+
findings.push(finding('suggest-kern-primitive', 'info', 'pattern', 'JS .filter(…).length could migrate to KERN `count` — named primitive for filtered cardinality', ctx.filePath, call.getStartLineNumber(), 1, { suggestion: countSuggestion }));
|
|
1050
|
+
continue;
|
|
1051
|
+
}
|
|
872
1052
|
const arg = call.getArguments()[0];
|
|
873
1053
|
const isBooleanRef = Node.isIdentifier(arg) && arg.getText() === 'Boolean';
|
|
874
1054
|
const isCoercionArrow = isArrowLike(arg) && isBooleanCoercionOfFirstParam(arg);
|
|
@@ -917,14 +1097,63 @@ export function suggestKernPrimitive(ctx) {
|
|
|
917
1097
|
continue;
|
|
918
1098
|
findings.push(portableLogicFinding(ctx, unary, 'logic.not', 'boolean negation'));
|
|
919
1099
|
}
|
|
920
|
-
// ── objectMerge detector
|
|
921
|
-
// `const merged = { ...base, ...overrides, extra: 1 }`
|
|
922
|
-
// → objectMerge name=merged sources="base, overrides, { extra: 1 }"
|
|
1100
|
+
// ── objectMerge / objectPick detector ──────────────────────────────────
|
|
923
1101
|
for (const obj of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression)) {
|
|
924
|
-
const
|
|
925
|
-
if (
|
|
1102
|
+
const mergeSuggestion = objectLiteralMergeSuggestion(obj);
|
|
1103
|
+
if (mergeSuggestion) {
|
|
1104
|
+
findings.push(objectMergeFinding(ctx, obj, mergeSuggestion.name, mergeSuggestion.sources));
|
|
1105
|
+
continue;
|
|
1106
|
+
}
|
|
1107
|
+
const pickSuggestion = objectLiteralPickSuggestion(obj);
|
|
1108
|
+
if (pickSuggestion) {
|
|
1109
|
+
findings.push(objectPickFinding(ctx, obj, pickSuggestion.name, pickSuggestion.source, pickSuggestion.keys));
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
// ── objectOmit (destructuring) detector ────────────────────────────────
|
|
1113
|
+
for (const varDecl of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
|
|
1114
|
+
const nameNode = varDecl.getNameNode();
|
|
1115
|
+
if (!Node.isObjectBindingPattern(nameNode))
|
|
1116
|
+
continue;
|
|
1117
|
+
const elements = nameNode.getElements();
|
|
1118
|
+
if (elements.length === 0)
|
|
1119
|
+
continue;
|
|
1120
|
+
const lastElement = elements[elements.length - 1];
|
|
1121
|
+
if (!lastElement.getDotDotDotToken())
|
|
1122
|
+
continue;
|
|
1123
|
+
const targetName = lastElement.getName();
|
|
1124
|
+
const initializer = varDecl.getInitializer();
|
|
1125
|
+
if (!initializer)
|
|
1126
|
+
continue;
|
|
1127
|
+
const sourceText = initializer.getText();
|
|
1128
|
+
const omittedKeys = [];
|
|
1129
|
+
let valid = true;
|
|
1130
|
+
for (let i = 0; i < elements.length - 1; i++) {
|
|
1131
|
+
const el = elements[i];
|
|
1132
|
+
if (el.getDotDotDotToken()) {
|
|
1133
|
+
valid = false;
|
|
1134
|
+
break;
|
|
1135
|
+
}
|
|
1136
|
+
const elNameNode = el.getNameNode();
|
|
1137
|
+
if (!Node.isIdentifier(elNameNode)) {
|
|
1138
|
+
valid = false;
|
|
1139
|
+
break;
|
|
1140
|
+
}
|
|
1141
|
+
const propNameNode = el.getPropertyNameNode();
|
|
1142
|
+
if (propNameNode) {
|
|
1143
|
+
const propName = destructuredPropertyNameText(propNameNode);
|
|
1144
|
+
if (propName === null) {
|
|
1145
|
+
valid = false;
|
|
1146
|
+
break;
|
|
1147
|
+
}
|
|
1148
|
+
omittedKeys.push(propName);
|
|
1149
|
+
}
|
|
1150
|
+
else {
|
|
1151
|
+
omittedKeys.push(elNameNode.getText());
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
if (!valid || omittedKeys.length === 0)
|
|
926
1155
|
continue;
|
|
927
|
-
findings.push(
|
|
1156
|
+
findings.push(objectOmitFinding(ctx, varDecl, targetName, sourceText, omittedKeys));
|
|
928
1157
|
}
|
|
929
1158
|
// ── fmt detector ───────────────────────────────────────────────────────
|
|
930
1159
|
// Two call sites map cleanly to KERN's `fmt` primitive:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-kern-primitive.js","sourceRoot":"","sources":["../../src/rules/suggest-kern-primitive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAIL,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAqBrC,MAAM,aAAa,GAA+B;IAChD,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;IAClD,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;IAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACxD,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IACvC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IACzC,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE;IAClD,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAChD,WAAW,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;IACxD,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IACzC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CACnD,CAAC;AAEF,MAAM,sBAAsB,GAAmC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEtF,4EAA4E;AAC5E,4EAA4E;AAC5E,SAAS,cAAc,CAAC,GAAgB;IACtC,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,CAAqB;IACxC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAyC;IACtE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1G,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,SAAS,CAAC,KAAyC,EAAE,GAAW;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,gGAAgG;IAChG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CAAC,KAAyC;IAC9E,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,iFAAiF;IACjF,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACpG,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;QACjF,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;QAClG,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,2BAA2B,CAAC,KAAyC,EAAE,QAAgB;IAC9F,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,GAAG,GAAW,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,GAAG,CAAC,mBAAmB,EAAE;YAAE,OAAO,IAAI,CAAC;QAC3C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;AAC5E,CAAC;AAED,SAAS,2BAA2B,CAAC,EAA4B;IAC/D,MAAM,SAAS,GAA2C;QACxD,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,6BAA6B,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAkC,EAAE,CAAC;QAC5F,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAgB,EAChB,IAAY,EACZ,EAA4B,EAC5B,KAAa;IAEb,OAAO,OAAO,CACZ,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,MAAM,KAAK,kDAAkD,EAAE,OAAO,2BAA2B,CAAC,EAAE,CAAC,GAAG,EACxG,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,UAAU,CAAC,IAAI,CAAC,EAChB,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,eAAuB;IAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,eAAe,CAAC;AAC1F,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,IAAI,IAAI,GAAW,IAAI,CAAC;IACxB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,MAAM,CAAC;QACd,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;IAC1F,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC;IACrF,OAAO,KAAK,CAAC;AACf,CAAC;AASD,SAAS,gBAAgB,CAAC,IAAoB;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB,EAAE,UAA4B;IAC1E,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;AAC/C,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY,EAAE,YAAqB;IAC1E,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,+BAA+B,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC9C,OAAO,CACL,+BAA+B,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC;YAChE,CAAC,CAAC,GAAG;YACL,+BAA+B,CAAC,GAAG,EAAE,IAAI,CAAC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,EAAE,KAAK,UAAU,CAAC,aAAa,IAAI,EAAE,KAAK,UAAU,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QACvF,OAAO,YAAY,IAAI,+BAA+B,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO,+BAA+B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,EAAE,KAAK,UAAU,CAAC,UAAU;YAAE,OAAO,CAAC,OAAO,CAAC;QAClD,IAAI,EAAE,KAAK,UAAU,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,WAA6B,EAAE,UAAkB,EAAE,UAAkB;IAC1G,MAAM,GAAG,GAAG,mBAAmB,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAClF,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,IAAmB;IACvD,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpH,IACE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC7F,EACD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAoB,EACpB,iBAA0B,EAC1B,UAAwC,EAAE;IAE1C,IAAI,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,WAAW,GAAqB,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YAAE,SAAS;QACrF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC;YAAE,SAAS;QAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACrC,MAAM,UAAU,GAAgE,EAAE,CAAC;QACnF,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IACE,0BAA0B,CAAC,GAAG,CAAC;gBAC/B,0BAA0B,CAAC,UAAU,CAAC;gBACtC,CAAC,6BAA6B,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,EACnE,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,GAAG;oBACV,UAAU;oBACV,KAAK,EAAE,cAAc,CAAC,UAAU,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;iBACzE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,IACE,IAAI;YACJ,OAAO,CAAC,cAAc,KAAK,IAAI;YAC/B,IAAI,CAAC,KAAK,KAAK,CAAC;YAChB,UAAU,CAAC,MAAM,GAAG,CAAC;YACrB,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,WAAW,KAAK,KAAK;gBAC1B,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC9D,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAoB,EAAE,iBAA0B;IAC3E,OAAO,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AACxF,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,IAAI,GAAW,IAAI,CAAC;IACxB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,MAAM,CAAC;QACd,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAoB,EAAE,KAAiB;IAClE,OAAO,cAAc,qBAAqB,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AAC5J,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,CAAC;AAC1E,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,+EAA+E;QAC/E,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,OAAO,IAAI,GAAG,EAAU;IACnE,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,SAAS;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAAE,OAAO,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACxF,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAwB,EAAE,OAAO,IAAI,GAAG,EAAU;IAC/E,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,SAAS;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,OAAO,SAAS,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAgB,EAAE,IAAY;IAC/D,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;IAExG,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvF,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvF,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpF,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC9E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAwB,EAAE,OAAO,IAAI,GAAG,EAAU;IAChF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7G,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAwB;IACxD,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB;IACpD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpG,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;IACvF,OAAO,OAAO,CACZ,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,yHAAyH,EACzH,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,UAAU,CAAC,IAAI,CAAC,EAChB,EAAE,UAAU,EAAE,oBAAoB,IAAI,aAAa,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAoB;IACvD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChG,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;aACV,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,YAAY,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,YAAY,EAAE,CAAC;IAEf,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,OAAO,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAoB,EAAE,UAAkB;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACnG,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,WAAW,KAAK,IAAI;gBACpB,0FAA0F;gBAC1F,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EACzB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,cAAc,KAAK,IAAI;gBACvB,0FAA0F;gBAC1F,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAgB,EAAE,UAAkB,EAAE,IAAoB;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAExC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,mEAAmE;YACnE,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YACxD,OAAO,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,OAAO,KAAK,GAAG,QAAQ,WAAW,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QAClG,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YACxD,OAAO,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,OAAO,KAAK,GAAG,QAAQ,UAAU,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjG,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YACxD,OAAO,eAAe,IAAI,OAAO,KAAK,GAAG,OAAO,GAAG,QAAQ,aAAa,gBAAgB,CAAC,OAAO,CAAC,WAAW,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QACxI,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAa,CAAC,cAAc,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YACxC,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,WAAW,IAAI,OAAO,KAAK,UAAU,KAAK,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,OAAO,KAAK,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,OAAO,KAAK,EAAE,CAAC;QAClG,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,OAAO,aAAa,IAAI,OAAO,KAAK,EAAE,CAAC;YACjD,iEAAiE;YACjE,mEAAmE;YACnE,yDAAyD;YACzD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,OAAO,aAAa,IAAI,OAAO,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,CAAC;YACD,OAAO,aAAa,IAAI,OAAO,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;QAC1E,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC5B,oEAAoE;YACpE,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,SAAS,GACb,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC;gBACpE,CAAC,CAAC,UAAU,gBAAgB,CAAC,KAAK,CAAC,GAAG;gBACtC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,OAAO,KAAK,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;QAC7E,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,eAAe,IAAI,OAAO,KAAK,YAAY,OAAO,KAAK,CAAC;QACjE,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YACxD,OAAO,cAAc,KAAK,GAAG,QAAQ,GAAG,OAAO,iCAAiC,CAAC;QACnF,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,aAAa,IAAI,OAAO,KAAK,+EAA+E,CAAC;YACtH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,aAAa,IAAI,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,aAAa,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC;QAC7H,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,OAAO,gBAAgB,IAAI,OAAO,KAAK,qCAAqC,CAAC;QAC/E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEjE,oEAAoE;IACpE,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,SAAS;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAAE,SAAS;QAC5C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK;YAAE,SAAS;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,iFAAiF,EACjF,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,kBAAkB,EAAE,EACxB,CAAC,EACD,EAAE,UAAU,EAAE,yBAAyB,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CACjE,CACF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;YAAE,SAAS;QAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC;gBACnE,UAAU,EAAE,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC;aAClD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;YAChF,SAAS;QACX,CAAC;QAED,IAAI,UAAU,KAAK,KAAK,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtF,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC9E,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtF,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,8BAA8B,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACrF,IAAI,UAAU,KAAK,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,UAAU;oBAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClG,SAAS;YACX,CAAC;YACD,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAChF,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,oCAAoC;QACpC,MAAM,eAAe,GAAG,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAE/C,wEAAwE;QACxE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC;YAC3E,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,6BAA6B,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;gBACpC,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,uFAAuF,EACvF,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,CAAC,EACD,EAAE,UAAU,EAAE,0BAA0B,YAAY,EAAE,EAAE,CACzD,CACF,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,qDAAqD;QACrD,IAAI,UAAU,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAI,IAAI,EAAE,CAAC;wBACT,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,gGAAgG,EAChG,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,CAAC,EACD;4BACE,UAAU,EACR,IAAI,KAAK,MAAM;gCACb,CAAC,CAAC,wBAAwB,YAAY,SAAS,IAAI,EAAE;gCACrD,CAAC,CAAC,wBAAwB,YAAY,SAAS,IAAI,SAAS,IAAI,EAAE;yBACvE,CACF,CACF,CAAC;wBACF,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,OAAO,UAAU,+BAA+B,IAAI,CAAC,QAAQ,iEAAiE,EAC9H,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EACvF,EAAE,UAAU,EAAE,CACf,CACF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1F,IAAI,KAAK,CAAC,gBAAgB,EAAE,KAAK,UAAU,CAAC,gBAAgB;YAAE,SAAS;QACvE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChH,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACxG,SAAS;QACX,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;YAAE,SAAS;QAEjD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,0EAA0E;IAC1E,uDAAuD;IACvD,sEAAsE;IACtE,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC1F,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,0EAA0E;IAC1E,wDAAwD;IACxD,EAAE;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,EAAE;IACF,uEAAuE;IACvE,gEAAgE;IAChE,2EAA2E;IAC3E,uDAAuD;IACvD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAElC,kDAAkD;QAClD,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,GAAG,EAAE,CAAC;YAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,6BAA6B;YACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,4FAA4F,EAC5F,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,kBAAkB,EAAE,EACxB,CAAC,EACD,EAAE,UAAU,EAAE,YAAY,IAAI,cAAc,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1E,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,0CAA0C;QAC1C,uEAAuE;QACvE,sEAAsE;QACtE,+BAA+B;QAC/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,KAAK,GAAG,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,gFAAgF,EAChF,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,kBAAkB,EAAE,EACxB,CAAC,EACD,EAAE,UAAU,EAAE,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CACzE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IACrE,4EAA4E;IAC5E,wEAAwE;IACxE,mEAAmE;IACnE,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,SAAS;QAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAAE,SAAS;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,UAAU,GACd,mBAAmB,gBAAgB,CAAC,QAAQ,CAAC,KAAK;YAClD,sBAAsB,QAAQ,CAAC,OAAO,EAAE,WAAW;YACnD,kCAAkC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;QAEnE,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,qFAAqF,EACrF,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,kBAAkB,EAAE,EACzB,CAAC,EACD,EAAE,UAAU,EAAE,CACf,CACF,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,kBAAkB;IAClB,EAAE;IACF,mBAAmB;IACnB,8BAA8B;IAC9B,kFAAkF;IAClF,gFAAgF;IAChF,sEAAsE;IACtE,MAAM,QAAQ,GAAoE;QAChF,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACtE,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACrE,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC;KACjE,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;YAAE,SAAS;QAE5B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,SAAS;QAE5C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,IAAI,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAErF,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE,CACtD,IAAI;aACD,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG,QAAQ;aACrB,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACvB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,SAAS,GAAG,WAAW;aAC1B,QAAQ,EAAE;aACV,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACvB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,UAAU,GACd,cAAc,IAAI,IAAI;YACtB,kBAAkB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW;YAC/C,gCAAgC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC;QAElE,QAAQ,CAAC,IAAI,CACX,OAAO,CACL,wBAAwB,EACxB,MAAM,EACN,SAAS,EACT,iGAAiG,EACjG,GAAG,CAAC,QAAQ,EACZ,EAAE,CAAC,kBAAkB,EAAE,EACvB,CAAC,EACD,EAAE,UAAU,EAAE,CACf,CACF,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAiB,CAAC,oBAAoB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"suggest-kern-primitive.js","sourceRoot":"","sources":["../../src/rules/suggest-kern-primitive.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernlang/review",
|
|
3
|
-
"version": "3.5.8
|
|
3
|
+
"version": "3.5.8",
|
|
4
4
|
"description": "Kern Review — scan TS, infer .kern IR, roundtrip diff, report",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"jsonc-parser": "^3.3.1",
|
|
29
29
|
"ts-morph": "^28.0.0",
|
|
30
|
-
"@kernlang/
|
|
31
|
-
"@kernlang/
|
|
30
|
+
"@kernlang/core": "3.5.8",
|
|
31
|
+
"@kernlang/context": "3.5.8"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
34
|
"build": "tsc -b",
|