@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240804
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/analyzer/analyzerNodeInfo.js +2 -2
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +15 -12
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +3 -0
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +5 -3
- package/dist/analyzer/checker.js +238 -193
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -2
- package/dist/analyzer/codeFlowEngine.js +53 -46
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolution.d.ts +21 -0
- package/dist/analyzer/constraintSolution.js +71 -0
- package/dist/analyzer/constraintSolution.js.map +1 -0
- package/dist/analyzer/constraintSolver.d.ts +10 -6
- package/dist/analyzer/constraintSolver.js +520 -462
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constraintTracker.d.ts +44 -0
- package/dist/analyzer/constraintTracker.js +230 -0
- package/dist/analyzer/constraintTracker.js.map +1 -0
- package/dist/analyzer/constructorTransform.d.ts +2 -2
- package/dist/analyzer/constructorTransform.js +25 -25
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -3
- package/dist/analyzer/constructors.js +80 -64
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +2 -2
- package/dist/analyzer/dataClasses.js +87 -61
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +9 -9
- package/dist/analyzer/declaration.js +9 -9
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +6 -6
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +5 -5
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +2 -2
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -2
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.d.ts +2 -2
- package/dist/analyzer/functionTransform.js +5 -5
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +5 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +3 -3
- package/dist/analyzer/namedTuples.js +21 -22
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -2
- package/dist/analyzer/operations.js +105 -82
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +16 -12
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +12 -12
- package/dist/analyzer/parameterUtils.js +67 -69
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -6
- package/dist/analyzer/parseTreeUtils.js +22 -22
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +122 -101
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +11 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.d.ts +3 -2
- package/dist/analyzer/properties.js +27 -27
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +3 -3
- package/dist/analyzer/protocols.js +58 -57
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +1 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -7
- package/dist/analyzer/service.js +28 -30
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/serviceUtils.d.ts +8 -0
- package/dist/analyzer/serviceUtils.js +31 -0
- package/dist/analyzer/serviceUtils.js.map +1 -0
- package/dist/analyzer/sourceFile.js +5 -19
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +1 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +9 -0
- package/dist/analyzer/tuples.js +253 -0
- package/dist/analyzer/tuples.js.map +1 -0
- package/dist/analyzer/typeComplexity.d.ts +2 -0
- package/dist/analyzer/typeComplexity.js +94 -0
- package/dist/analyzer/typeComplexity.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +1758 -1979
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +69 -45
- package/dist/analyzer/typeEvaluatorTypes.js +7 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +157 -121
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +64 -61
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +3 -3
- package/dist/analyzer/typeStubWriter.js +15 -15
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +45 -41
- package/dist/analyzer/typeUtils.js +511 -748
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.js +4 -4
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +4 -4
- package/dist/analyzer/typedDicts.js +73 -77
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +97 -72
- package/dist/analyzer/types.js +217 -208
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +13 -0
- package/dist/common/languageServerInterface.js +15 -1
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/lspUtils.js +2 -2
- package/dist/common/memUtils.d.ts +4 -0
- package/dist/common/memUtils.js +33 -2
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +7 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +5 -4
- package/dist/languageServerBase.js +19 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -2
- package/dist/languageService/autoImporter.js +5 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +5 -3
- package/dist/languageService/completionProvider.js +39 -38
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +1 -1
- package/dist/languageService/completionProviderUtils.js +3 -3
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.js +3 -3
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js +1 -1
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +3 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +5 -0
- package/dist/localization/localize.js +6 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +5 -1
- package/dist/localization/package.nls.de.json +5 -1
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/localization/package.nls.es.json +5 -1
- package/dist/localization/package.nls.fr.json +5 -1
- package/dist/localization/package.nls.it.json +5 -1
- package/dist/localization/package.nls.ja.json +5 -1
- package/dist/localization/package.nls.ko.json +5 -1
- package/dist/localization/package.nls.pl.json +5 -1
- package/dist/localization/package.nls.pt-br.json +5 -1
- package/dist/localization/package.nls.qps-ploc.json +5 -1
- package/dist/localization/package.nls.ru.json +5 -1
- package/dist/localization/package.nls.tr.json +5 -1
- package/dist/localization/package.nls.zh-cn.json +5 -1
- package/dist/localization/package.nls.zh-tw.json +5 -1
- package/dist/parser/parseNodes.d.ts +9 -9
- package/dist/parser/parseNodes.js +20 -20
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +30 -30
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/checker.test.js +12 -4
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
- package/dist/tests/harness/vfs/filesystem.js +0 -4
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +62 -15
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +9 -3
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +72 -60
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +6 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +4 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +13 -18
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +3 -2
- package/dist/workspaceFactory.js +15 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
- package/dist/analyzer/typeVarContext.d.ts +0 -60
- package/dist/analyzer/typeVarContext.js +0 -392
- package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -60,6 +60,7 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
60
60
|
const isIncomplete = !!leftTypeResult.isIncomplete || !!rightTypeResult.isIncomplete;
|
61
61
|
let type;
|
62
62
|
let concreteLeftType = evaluator.makeTopLevelTypeVarsConcrete(leftType);
|
63
|
+
let deprecatedInfo;
|
63
64
|
if (booleanOperatorMap[operator] !== undefined) {
|
64
65
|
// If it's an AND or OR, we need to handle short-circuiting by
|
65
66
|
// eliminating any known-truthy or known-falsy types.
|
@@ -67,36 +68,36 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
67
68
|
// If the LHS evaluates to falsy, the And expression will
|
68
69
|
// always return the type of the left-hand side.
|
69
70
|
if (!evaluator.canBeTruthy(concreteLeftType)) {
|
70
|
-
return leftType;
|
71
|
+
return { type: leftType };
|
71
72
|
}
|
72
73
|
// If the LHS evaluates to truthy, the And expression will
|
73
74
|
// always return the type of the right-hand side.
|
74
75
|
if (!evaluator.canBeFalsy(concreteLeftType)) {
|
75
|
-
return rightType;
|
76
|
+
return { type: rightType };
|
76
77
|
}
|
77
78
|
concreteLeftType = evaluator.removeTruthinessFromType(concreteLeftType);
|
78
79
|
if ((0, types_1.isNever)(rightType)) {
|
79
|
-
return concreteLeftType;
|
80
|
+
return { type: concreteLeftType };
|
80
81
|
}
|
81
82
|
}
|
82
83
|
else if (operator === 37 /* OperatorType.Or */) {
|
83
84
|
// If the LHS evaluates to truthy, the Or expression will
|
84
85
|
// always return the type of the left-hand side.
|
85
86
|
if (!evaluator.canBeFalsy(concreteLeftType)) {
|
86
|
-
return leftType;
|
87
|
+
return { type: leftType };
|
87
88
|
}
|
88
89
|
// If the LHS evaluates to falsy, the Or expression will
|
89
90
|
// always return the type of the right-hand side.
|
90
91
|
if (!evaluator.canBeTruthy(concreteLeftType)) {
|
91
|
-
return rightType;
|
92
|
+
return { type: rightType };
|
92
93
|
}
|
93
94
|
concreteLeftType = evaluator.removeFalsinessFromType(concreteLeftType);
|
94
95
|
if ((0, types_1.isNever)(rightType)) {
|
95
|
-
return concreteLeftType;
|
96
|
+
return { type: concreteLeftType };
|
96
97
|
}
|
97
98
|
}
|
98
99
|
if ((0, types_1.isNever)(leftType) || (0, types_1.isNever)(rightType)) {
|
99
|
-
return types_1.NeverType.createNever();
|
100
|
+
return { type: types_1.NeverType.createNever() };
|
100
101
|
}
|
101
102
|
// The "in" and "not in" operators make use of the __contains__
|
102
103
|
// magic method.
|
@@ -108,26 +109,29 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
108
109
|
if ((0, types_1.isAnyOrUnknown)(leftSubtype) || (0, types_1.isAnyOrUnknown)(rightSubtypeUnexpanded)) {
|
109
110
|
return (0, typeUtils_1.preserveUnknown)(leftSubtype, rightSubtypeExpanded);
|
110
111
|
}
|
111
|
-
let
|
112
|
+
let returnTypeResult = evaluator.getTypeOfMagicMethodCall(rightSubtypeExpanded, '__contains__', [{ type: leftSubtype, isIncomplete: leftTypeResult.isIncomplete }], errorNode,
|
112
113
|
/* inferenceContext */ undefined);
|
113
|
-
if (!
|
114
|
+
if (!returnTypeResult) {
|
114
115
|
// If __contains__ was not supported, fall back
|
115
116
|
// on an iterable.
|
116
117
|
const iteratorType = (_a = evaluator.getTypeOfIterator({ type: rightSubtypeExpanded, isIncomplete: rightTypeResult.isIncomplete },
|
117
118
|
/* isAsync */ false, errorNode,
|
118
119
|
/* emitNotIterableError */ false)) === null || _a === void 0 ? void 0 : _a.type;
|
119
120
|
if (iteratorType && evaluator.assignType(iteratorType, leftSubtype)) {
|
120
|
-
|
121
|
+
returnTypeResult = { type: evaluator.getBuiltInObject(errorNode, 'bool') };
|
121
122
|
}
|
122
123
|
}
|
123
|
-
if (!
|
124
|
+
if (!returnTypeResult) {
|
124
125
|
diag.addMessage(localize_1.LocMessage.typeNotSupportBinaryOperator().format({
|
125
126
|
operator: (0, parseTreeUtils_1.printOperator)(operator),
|
126
127
|
leftType: evaluator.printType(leftSubtype),
|
127
128
|
rightType: evaluator.printType(rightSubtypeExpanded),
|
128
129
|
}));
|
129
130
|
}
|
130
|
-
|
131
|
+
if (returnTypeResult === null || returnTypeResult === void 0 ? void 0 : returnTypeResult.magicMethodDeprecationInfo) {
|
132
|
+
deprecatedInfo = returnTypeResult.magicMethodDeprecationInfo;
|
133
|
+
}
|
134
|
+
return returnTypeResult === null || returnTypeResult === void 0 ? void 0 : returnTypeResult.type;
|
131
135
|
});
|
132
136
|
});
|
133
137
|
// Assume that a bool is returned even if the type is unknown
|
@@ -151,7 +155,7 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
151
155
|
}
|
152
156
|
else if (binaryOperatorMap[operator]) {
|
153
157
|
if ((0, types_1.isNever)(leftType) || (0, types_1.isNever)(rightType)) {
|
154
|
-
return types_1.NeverType.createNever();
|
158
|
+
return { type: types_1.NeverType.createNever() };
|
155
159
|
}
|
156
160
|
// Handle certain operations on certain homogenous literal types
|
157
161
|
// using special-case math. For example, Literal[1, 2] + Literal[3, 4]
|
@@ -163,6 +167,7 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
163
167
|
type = evaluator.mapSubtypesExpandTypeVars(leftType,
|
164
168
|
/* options */ undefined, (leftSubtypeExpanded, leftSubtypeUnexpanded) => {
|
165
169
|
return evaluator.mapSubtypesExpandTypeVars(rightType, { conditionFilter: (0, typeUtils_1.getTypeCondition)(leftSubtypeExpanded) }, (rightSubtypeExpanded, rightSubtypeUnexpanded) => {
|
170
|
+
var _a;
|
166
171
|
if ((0, types_1.isAnyOrUnknown)(leftSubtypeUnexpanded) || (0, types_1.isAnyOrUnknown)(rightSubtypeUnexpanded)) {
|
167
172
|
return (0, typeUtils_1.preserveUnknown)(leftSubtypeUnexpanded, rightSubtypeUnexpanded);
|
168
173
|
}
|
@@ -172,10 +177,10 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
172
177
|
operator === 0 /* OperatorType.Add */ &&
|
173
178
|
(0, types_1.isClassInstance)(leftSubtypeExpanded) &&
|
174
179
|
(0, typeUtils_1.isTupleClass)(leftSubtypeExpanded) &&
|
175
|
-
leftSubtypeExpanded.priv.
|
180
|
+
leftSubtypeExpanded.priv.tupleTypeArgs &&
|
176
181
|
(0, types_1.isClassInstance)(rightSubtypeExpanded) &&
|
177
182
|
(0, typeUtils_1.isTupleClass)(rightSubtypeExpanded) &&
|
178
|
-
rightSubtypeExpanded.priv.
|
183
|
+
rightSubtypeExpanded.priv.tupleTypeArgs &&
|
179
184
|
tupleClassType &&
|
180
185
|
(0, types_1.isInstantiableClass)(tupleClassType)) {
|
181
186
|
// If at least one of the tuples is of fixed size, we can
|
@@ -186,40 +191,40 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
186
191
|
if (!(0, typeUtils_1.isUnboundedTupleClass)(leftSubtypeExpanded) ||
|
187
192
|
!(0, typeUtils_1.isUnboundedTupleClass)(rightSubtypeExpanded)) {
|
188
193
|
return types_1.ClassType.cloneAsInstance((0, typeUtils_1.specializeTupleClass)(tupleClassType, [
|
189
|
-
...leftSubtypeExpanded.priv.
|
190
|
-
...rightSubtypeExpanded.priv.
|
194
|
+
...leftSubtypeExpanded.priv.tupleTypeArgs,
|
195
|
+
...rightSubtypeExpanded.priv.tupleTypeArgs,
|
191
196
|
]));
|
192
197
|
}
|
193
198
|
}
|
194
199
|
const magicMethodName = binaryOperatorMap[operator][0];
|
195
|
-
let
|
196
|
-
if (!
|
200
|
+
let resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, leftSubtypeUnexpanded), magicMethodName, [{ type: rightSubtypeUnexpanded, isIncomplete: rightTypeResult.isIncomplete }], errorNode, inferenceContext);
|
201
|
+
if (!resultTypeResult && leftSubtypeUnexpanded !== leftSubtypeExpanded) {
|
197
202
|
// Try the expanded left type.
|
198
|
-
|
203
|
+
resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, leftSubtypeExpanded), magicMethodName, [{ type: rightSubtypeUnexpanded, isIncomplete: rightTypeResult.isIncomplete }], errorNode, inferenceContext);
|
199
204
|
}
|
200
|
-
if (!
|
205
|
+
if (!resultTypeResult && rightSubtypeUnexpanded !== rightSubtypeExpanded) {
|
201
206
|
// Try the expanded left and right type.
|
202
|
-
|
207
|
+
resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, leftSubtypeExpanded), magicMethodName, [{ type: rightSubtypeExpanded, isIncomplete: rightTypeResult.isIncomplete }], errorNode, inferenceContext);
|
203
208
|
}
|
204
|
-
if (!
|
209
|
+
if (!resultTypeResult) {
|
205
210
|
// Try the alternate form (swapping right and left).
|
206
211
|
const altMagicMethodName = binaryOperatorMap[operator][1];
|
207
|
-
|
208
|
-
if (!
|
212
|
+
resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, rightSubtypeUnexpanded), altMagicMethodName, [{ type: leftSubtypeUnexpanded, isIncomplete: leftTypeResult.isIncomplete }], errorNode, inferenceContext);
|
213
|
+
if (!resultTypeResult && rightSubtypeUnexpanded !== rightSubtypeExpanded) {
|
209
214
|
// Try the expanded right type.
|
210
|
-
|
215
|
+
resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, rightSubtypeExpanded), altMagicMethodName, [
|
211
216
|
{
|
212
217
|
type: leftSubtypeUnexpanded,
|
213
218
|
isIncomplete: leftTypeResult.isIncomplete,
|
214
219
|
},
|
215
220
|
], errorNode, inferenceContext);
|
216
221
|
}
|
217
|
-
if (!
|
222
|
+
if (!resultTypeResult && leftSubtypeUnexpanded !== leftSubtypeExpanded) {
|
218
223
|
// Try the expanded right and left type.
|
219
|
-
|
224
|
+
resultTypeResult = evaluator.getTypeOfMagicMethodCall(convertFunctionToObject(evaluator, rightSubtypeExpanded), altMagicMethodName, [{ type: leftSubtypeExpanded, isIncomplete: leftTypeResult.isIncomplete }], errorNode, inferenceContext);
|
220
225
|
}
|
221
226
|
}
|
222
|
-
if (!
|
227
|
+
if (!resultTypeResult) {
|
223
228
|
if (inferenceContext) {
|
224
229
|
diag.addMessage(localize_1.LocMessage.typeNotSupportBinaryOperatorBidirectional().format({
|
225
230
|
operator: (0, parseTreeUtils_1.printOperator)(operator),
|
@@ -236,12 +241,15 @@ function validateBinaryOperation(evaluator, operator, leftTypeResult, rightTypeR
|
|
236
241
|
}));
|
237
242
|
}
|
238
243
|
}
|
239
|
-
|
244
|
+
if (resultTypeResult === null || resultTypeResult === void 0 ? void 0 : resultTypeResult.magicMethodDeprecationInfo) {
|
245
|
+
deprecatedInfo = resultTypeResult.magicMethodDeprecationInfo;
|
246
|
+
}
|
247
|
+
return (_a = resultTypeResult === null || resultTypeResult === void 0 ? void 0 : resultTypeResult.type) !== null && _a !== void 0 ? _a : types_1.UnknownType.create(isIncomplete);
|
240
248
|
});
|
241
249
|
});
|
242
250
|
}
|
243
251
|
}
|
244
|
-
return type !== null && type !== void 0 ? type : types_1.UnknownType.create(isIncomplete);
|
252
|
+
return { type: type !== null && type !== void 0 ? type : types_1.UnknownType.create(isIncomplete), magicMethodDeprecationInfo: deprecatedInfo };
|
245
253
|
}
|
246
254
|
exports.validateBinaryOperation = validateBinaryOperation;
|
247
255
|
function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
@@ -276,8 +284,8 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
276
284
|
inferenceContext &&
|
277
285
|
(0, types_1.isClassInstance)(inferenceContext.expectedType) &&
|
278
286
|
types_1.ClassType.isBuiltIn(inferenceContext.expectedType, 'list') &&
|
279
|
-
inferenceContext.expectedType.priv.
|
280
|
-
inferenceContext.expectedType.priv.
|
287
|
+
inferenceContext.expectedType.priv.typeArgs &&
|
288
|
+
inferenceContext.expectedType.priv.typeArgs.length >= 1 &&
|
281
289
|
node.d.leftExpr.nodeType === 34 /* ParseNodeType.List */) {
|
282
290
|
expectedLeftOperandType = inferenceContext.expectedType;
|
283
291
|
}
|
@@ -294,7 +302,7 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
294
302
|
if (!(0, types_1.isClassInstance)(subtype)) {
|
295
303
|
return false;
|
296
304
|
}
|
297
|
-
return types_1.ClassType.isTypedDictClass(subtype) || subtype.shared.
|
305
|
+
return types_1.ClassType.isTypedDictClass(subtype) || subtype.shared.typeParams.length > 0;
|
298
306
|
})) {
|
299
307
|
expectedOperandType = leftType;
|
300
308
|
}
|
@@ -351,8 +359,8 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
351
359
|
if (!isLeftTypeArgValid || !isRightTypeArgValid) {
|
352
360
|
return { type: types_1.UnknownType.create() };
|
353
361
|
}
|
354
|
-
adjustedLeftType = evaluator.
|
355
|
-
adjustedRightType = evaluator.
|
362
|
+
adjustedLeftType = evaluator.reportMissingTypeArgs(node.d.leftExpr, adjustedLeftType, flags | 128 /* EvalFlags.InstantiableType */);
|
363
|
+
adjustedRightType = evaluator.reportMissingTypeArgs(node.d.rightExpr, adjustedRightType, flags | 128 /* EvalFlags.InstantiableType */);
|
356
364
|
let newUnion = (0, types_1.combineTypes)([adjustedLeftType, adjustedRightType], { skipElideRedundantLiterals: true });
|
357
365
|
const unionClass = evaluator.getUnionClassType();
|
358
366
|
if (unionClass && (0, types_1.isInstantiableClass)(unionClass)) {
|
@@ -378,7 +386,7 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
378
386
|
if (stringNode && otherNode && otherType) {
|
379
387
|
let isAllowed = true;
|
380
388
|
if ((0, types_1.isClass)(otherType)) {
|
381
|
-
if (!otherType.priv.
|
389
|
+
if (!otherType.priv.isTypeArgExplicit || (0, types_1.isClassInstance)(otherType)) {
|
382
390
|
isAllowed = false;
|
383
391
|
}
|
384
392
|
}
|
@@ -422,7 +430,10 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
422
430
|
// can result in an infinite loop if we keep creating new tuple types
|
423
431
|
// within a loop construct using __add__.
|
424
432
|
const isTupleAddAllowed = !(0, types_1.isUnion)(leftType);
|
425
|
-
const
|
433
|
+
const typeResult = validateBinaryOperation(evaluator, node.d.operator, { type: leftType, isIncomplete: leftTypeResult.isIncomplete }, { type: rightType, isIncomplete: rightTypeResult.isIncomplete }, node, inferenceContext, diag, { isLiteralMathAllowed, isTupleAddAllowed });
|
434
|
+
if (typeResult.isIncomplete) {
|
435
|
+
isIncomplete = true;
|
436
|
+
}
|
426
437
|
if (!diag.isEmpty()) {
|
427
438
|
typeErrors = true;
|
428
439
|
if (!isIncomplete) {
|
@@ -452,7 +463,12 @@ function getTypeOfBinaryOperation(evaluator, node, flags, inferenceContext) {
|
|
452
463
|
}
|
453
464
|
}
|
454
465
|
}
|
455
|
-
return {
|
466
|
+
return {
|
467
|
+
type: typeResult.type,
|
468
|
+
isIncomplete,
|
469
|
+
typeErrors,
|
470
|
+
magicMethodDeprecationInfo: typeResult.magicMethodDeprecationInfo,
|
471
|
+
};
|
456
472
|
}
|
457
473
|
exports.getTypeOfBinaryOperation = getTypeOfBinaryOperation;
|
458
474
|
function getTypeOfAugmentedAssignment(evaluator, node, inferenceContext) {
|
@@ -474,6 +490,7 @@ function getTypeOfAugmentedAssignment(evaluator, node, inferenceContext) {
|
|
474
490
|
let type;
|
475
491
|
let typeResult;
|
476
492
|
const diag = new diagnostic_1.DiagnosticAddendum();
|
493
|
+
let deprecatedInfo;
|
477
494
|
const leftTypeResult = evaluator.getTypeOfExpression(node.d.leftExpr);
|
478
495
|
const leftType = leftTypeResult.type;
|
479
496
|
let expectedOperandType;
|
@@ -497,16 +514,16 @@ function getTypeOfAugmentedAssignment(evaluator, node, inferenceContext) {
|
|
497
514
|
return (0, typeUtils_1.preserveUnknown)(leftSubtypeUnexpanded, rightSubtypeUnexpanded);
|
498
515
|
}
|
499
516
|
const magicMethodName = operatorMap[node.d.operator][0];
|
500
|
-
let
|
501
|
-
if (!
|
517
|
+
let returnTypeResult = evaluator.getTypeOfMagicMethodCall(leftSubtypeUnexpanded, magicMethodName, [{ type: rightSubtypeUnexpanded, isIncomplete: rightTypeResult.isIncomplete }], node, inferenceContext);
|
518
|
+
if (!returnTypeResult && leftSubtypeUnexpanded !== leftSubtypeExpanded) {
|
502
519
|
// Try with the expanded left type.
|
503
|
-
|
520
|
+
returnTypeResult = evaluator.getTypeOfMagicMethodCall(leftSubtypeExpanded, magicMethodName, [{ type: rightSubtypeUnexpanded, isIncomplete: rightTypeResult.isIncomplete }], node, inferenceContext);
|
504
521
|
}
|
505
|
-
if (!
|
522
|
+
if (!returnTypeResult && rightSubtypeUnexpanded !== rightSubtypeExpanded) {
|
506
523
|
// Try with the expanded left and right type.
|
507
|
-
|
524
|
+
returnTypeResult = evaluator.getTypeOfMagicMethodCall(leftSubtypeExpanded, magicMethodName, [{ type: rightSubtypeExpanded, isIncomplete: rightTypeResult.isIncomplete }], node, inferenceContext);
|
508
525
|
}
|
509
|
-
if (!
|
526
|
+
if (!returnTypeResult) {
|
510
527
|
// If the LHS class didn't support the magic method for augmented
|
511
528
|
// assignment, fall back on the normal binary expression evaluator.
|
512
529
|
const binaryOperator = operatorMap[node.d.operator][1];
|
@@ -520,9 +537,12 @@ function getTypeOfAugmentedAssignment(evaluator, node, inferenceContext) {
|
|
520
537
|
// can result in an infinite loop if we keep creating new tuple types
|
521
538
|
// within a loop construct using __add__.
|
522
539
|
const isTupleAddAllowed = !(0, types_1.isUnion)(leftType);
|
523
|
-
|
540
|
+
returnTypeResult = validateBinaryOperation(evaluator, binaryOperator, { type: leftSubtypeUnexpanded, isIncomplete: leftTypeResult.isIncomplete }, { type: rightSubtypeUnexpanded, isIncomplete: rightTypeResult.isIncomplete }, node, inferenceContext, diag, { isLiteralMathAllowed, isTupleAddAllowed });
|
541
|
+
}
|
542
|
+
if (returnTypeResult === null || returnTypeResult === void 0 ? void 0 : returnTypeResult.magicMethodDeprecationInfo) {
|
543
|
+
deprecatedInfo = returnTypeResult.magicMethodDeprecationInfo;
|
524
544
|
}
|
525
|
-
return
|
545
|
+
return returnTypeResult === null || returnTypeResult === void 0 ? void 0 : returnTypeResult.type;
|
526
546
|
});
|
527
547
|
});
|
528
548
|
// If the LHS class didn't support the magic method for augmented
|
@@ -536,7 +556,7 @@ function getTypeOfAugmentedAssignment(evaluator, node, inferenceContext) {
|
|
536
556
|
}) + diag.getString(), node);
|
537
557
|
}
|
538
558
|
}
|
539
|
-
typeResult = { type, isIncomplete };
|
559
|
+
typeResult = { type, isIncomplete, magicMethodDeprecationInfo: deprecatedInfo };
|
540
560
|
}
|
541
561
|
evaluator.assignTypeToExpression(node.d.destExpr, typeResult, node.d.rightExpr);
|
542
562
|
return typeResult;
|
@@ -559,8 +579,10 @@ function getTypeOfUnaryOperation(evaluator, node, flags, inferenceContext) {
|
|
559
579
|
[0 /* OperatorType.Add */]: '__pos__',
|
560
580
|
[33 /* OperatorType.Subtract */]: '__neg__',
|
561
581
|
[5 /* OperatorType.BitwiseInvert */]: '__invert__',
|
582
|
+
[38 /* OperatorType.Not */]: '__bool__',
|
562
583
|
};
|
563
584
|
let type;
|
585
|
+
let deprecatedInfo;
|
564
586
|
if (node.d.operator !== 38 /* OperatorType.Not */) {
|
565
587
|
if ((0, typeUtils_1.isOptionalType)(exprType)) {
|
566
588
|
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportOptionalOperand, localize_1.LocMessage.noneOperator().format({
|
@@ -603,6 +625,26 @@ function getTypeOfUnaryOperation(evaluator, node, flags, inferenceContext) {
|
|
603
625
|
}
|
604
626
|
}
|
605
627
|
if (!type) {
|
628
|
+
if ((0, types_1.isAnyOrUnknown)(exprType)) {
|
629
|
+
type = exprType;
|
630
|
+
}
|
631
|
+
else {
|
632
|
+
const magicMethodName = unaryOperatorMap[node.d.operator];
|
633
|
+
let isResultValid = true;
|
634
|
+
type = evaluator.mapSubtypesExpandTypeVars(exprType, /* options */ undefined, (subtypeExpanded) => {
|
635
|
+
const typeResult = evaluator.getTypeOfMagicMethodCall(subtypeExpanded, magicMethodName, [], node, inferenceContext);
|
636
|
+
if (!typeResult) {
|
637
|
+
isResultValid = false;
|
638
|
+
}
|
639
|
+
if (typeResult === null || typeResult === void 0 ? void 0 : typeResult.magicMethodDeprecationInfo) {
|
640
|
+
deprecatedInfo = typeResult.magicMethodDeprecationInfo;
|
641
|
+
}
|
642
|
+
return typeResult === null || typeResult === void 0 ? void 0 : typeResult.type;
|
643
|
+
});
|
644
|
+
if (!isResultValid) {
|
645
|
+
type = undefined;
|
646
|
+
}
|
647
|
+
}
|
606
648
|
// __not__ always returns a boolean.
|
607
649
|
if (node.d.operator === 38 /* OperatorType.Not */) {
|
608
650
|
type = evaluator.getBuiltInObject(node, 'bool');
|
@@ -610,45 +652,26 @@ function getTypeOfUnaryOperation(evaluator, node, flags, inferenceContext) {
|
|
610
652
|
type = types_1.UnknownType.create();
|
611
653
|
}
|
612
654
|
}
|
613
|
-
|
614
|
-
if (
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
const result = evaluator.getTypeOfMagicMethodCall(subtypeExpanded, magicMethodName, [], node, inferenceContext);
|
622
|
-
if (!result) {
|
623
|
-
isResultValid = false;
|
624
|
-
}
|
625
|
-
return result;
|
626
|
-
});
|
627
|
-
if (!isResultValid) {
|
628
|
-
type = undefined;
|
655
|
+
if (!type) {
|
656
|
+
if (!isIncomplete) {
|
657
|
+
if (inferenceContext) {
|
658
|
+
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportOperatorIssue, localize_1.LocMessage.typeNotSupportUnaryOperatorBidirectional().format({
|
659
|
+
operator: (0, parseTreeUtils_1.printOperator)(node.d.operator),
|
660
|
+
type: evaluator.printType(exprType),
|
661
|
+
expectedType: evaluator.printType(inferenceContext.expectedType),
|
662
|
+
}), node);
|
629
663
|
}
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
operator: (0, parseTreeUtils_1.printOperator)(node.d.operator),
|
636
|
-
type: evaluator.printType(exprType),
|
637
|
-
expectedType: evaluator.printType(inferenceContext.expectedType),
|
638
|
-
}), node);
|
639
|
-
}
|
640
|
-
else {
|
641
|
-
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportOperatorIssue, localize_1.LocMessage.typeNotSupportUnaryOperator().format({
|
642
|
-
operator: (0, parseTreeUtils_1.printOperator)(node.d.operator),
|
643
|
-
type: evaluator.printType(exprType),
|
644
|
-
}), node);
|
645
|
-
}
|
664
|
+
else {
|
665
|
+
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportOperatorIssue, localize_1.LocMessage.typeNotSupportUnaryOperator().format({
|
666
|
+
operator: (0, parseTreeUtils_1.printOperator)(node.d.operator),
|
667
|
+
type: evaluator.printType(exprType),
|
668
|
+
}), node);
|
646
669
|
}
|
647
|
-
type = types_1.UnknownType.create(isIncomplete);
|
648
670
|
}
|
671
|
+
type = types_1.UnknownType.create(isIncomplete);
|
649
672
|
}
|
650
673
|
}
|
651
|
-
return { type, isIncomplete };
|
674
|
+
return { type, isIncomplete, magicMethodDeprecationInfo: deprecatedInfo };
|
652
675
|
}
|
653
676
|
exports.getTypeOfUnaryOperation = getTypeOfUnaryOperation;
|
654
677
|
function getTypeOfTernaryOperation(evaluator, node, flags, inferenceContext) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../../src/analyzer/operations.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,qDAA0D;AAC1D,+DAA2D;AAC3D,2DAA4D;AAC5D,uDAAsD;AAUtD,yDAAiD;AACjD,qDAA6G;AAC7G,6CAA+C;AAC/C,2DAAmE;AAEnE,2CAmBqB;AACrB,mCAeiB;AAEjB,kEAAkE;AAClE,MAAM,iBAAiB,GAA6C;IAChE,0BAAkB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAC3C,gCAAuB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAChD,gCAAuB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAChD,mCAA0B,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;IAC7D,8BAAqB,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;IACtD,2BAAkB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAC3C,6BAAoB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAC7C,sCAA6B,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IAC5D,iCAAyB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAClD,gCAAwB,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC/C,iCAAyB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAClD,iCAAwB,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACvD,kCAAyB,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACxD,8BAAqB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC3C,iCAAwB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC9C,gCAAuB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7C,uCAA8B,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpD,mCAA0B,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAChD,0CAAiC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC1D,CAAC;AAEF,qDAAqD;AACrD,MAAM,kBAAkB,GAAiC;IACrD,2BAAkB,EAAE,IAAI;IACxB,0BAAiB,EAAE,IAAI;IACvB,0BAAiB,EAAE,IAAI;IACvB,6BAAoB,EAAE,IAAI;IAC1B,0BAAiB,EAAE,IAAI;IACvB,6BAAoB,EAAE,IAAI;CAC7B,CAAC;AAOF,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,SAAgB,uBAAuB,CACnC,SAAwB,EACxB,QAAsB,EACtB,cAA0B,EAC1B,eAA2B,EAC3B,SAAyB,EACzB,gBAA8C,EAC9C,IAAwB,EACxB,OAA+B;IAE/B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC;IACrF,IAAI,IAAsB,CAAC;IAC3B,IAAI,gBAAgB,GAAG,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAExE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;QAC5C,8DAA8D;QAC9D,qDAAqD;QACrD,IAAI,QAAQ,8BAAqB,EAAE;YAC/B,yDAAyD;YACzD,gDAAgD;YAChD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;gBAC1C,OAAO,QAAQ,CAAC;aACnB;YAED,0DAA0D;YAC1D,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBACzC,OAAO,SAAS,CAAC;aACpB;YAED,gBAAgB,GAAG,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;YAExE,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aAC3B;SACJ;aAAM,IAAI,QAAQ,6BAAoB,EAAE;YACrC,yDAAyD;YACzD,gDAAgD;YAChD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBACzC,OAAO,QAAQ,CAAC;aACnB;YAED,wDAAwD;YACxD,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;gBAC1C,OAAO,SAAS,CAAC;aACpB;YAED,gBAAgB,GAAG,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAEvE,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aAC3B;SACJ;QAED,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;YACzC,OAAO,iBAAS,CAAC,WAAW,EAAE,CAAC;SAClC;QAED,+DAA+D;QAC/D,gBAAgB;QAChB,IAAI,QAAQ,6BAAoB,IAAI,QAAQ,gCAAuB,EAAE;YACjE,IAAI,GAAG,SAAS,CAAC,yBAAyB,CACtC,SAAS;YACT,aAAa,CAAC,SAAS,EACvB,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,EAAE;gBAC7C,OAAO,SAAS,CAAC,yBAAyB,CACtC,gBAAgB,EAChB,EAAE,eAAe,EAAE,IAAA,4BAAgB,EAAC,oBAAoB,CAAC,EAAE,EAC3D,CAAC,WAAW,EAAE,EAAE;;oBACZ,IAAI,IAAA,sBAAc,EAAC,WAAW,CAAC,IAAI,IAAA,sBAAc,EAAC,sBAAsB,CAAC,EAAE;wBACvE,OAAO,IAAA,2BAAe,EAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;qBAC7D;oBAED,IAAI,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC/C,oBAAoB,EACpB,cAAc,EACd,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC,EAClE,SAAS;oBACT,sBAAsB,CAAC,SAAS,CACnC,CAAC;oBAEF,IAAI,CAAC,UAAU,EAAE;wBACb,+CAA+C;wBAC/C,kBAAkB;wBAClB,MAAM,YAAY,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAC5C,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;wBAC1E,aAAa,CAAC,KAAK,EACnB,SAAS;wBACT,0BAA0B,CAAC,KAAK,CACnC,0CAAE,IAAI,CAAC;wBAER,IAAI,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;4BACjE,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;yBAC9D;qBACJ;oBAED,IAAI,CAAC,UAAU,EAAE;wBACb,IAAI,CAAC,UAAU,CACX,qBAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC;4BAC7C,QAAQ,EAAE,IAAA,8BAAa,EAAC,QAAQ,CAAC;4BACjC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;4BAC1C,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC;yBACvD,CAAC,CACL,CAAC;qBACL;oBAED,OAAO,UAAU,CAAC;gBACtB,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;YAEF,6DAA6D;YAC7D,IAAI,IAAI,IAAI,CAAC,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE;gBACxB,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aACxD;SACJ;aAAM;YACH,IAAI,GAAG,SAAS,CAAC,yBAAyB,CACtC,gBAAgB;YAChB,aAAa,CAAC,SAAS,EACvB,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;gBAC3C,OAAO,SAAS,CAAC,yBAAyB,CACtC,SAAS,EACT,EAAE,eAAe,EAAE,IAAA,4BAAgB,EAAC,mBAAmB,CAAC,EAAE,EAC1D,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,EAAE;oBAC7C,qEAAqE;oBACrE,IAAI,QAAQ,8BAAqB,IAAI,QAAQ,6BAAoB,EAAE;wBAC/D,OAAO,IAAA,oBAAY,EAAC,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,CAAC;qBACxE;oBACD,0DAA0D;oBAC1D,OAAO,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACzD,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;SACL;KACJ;SAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QACpC,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;YACzC,OAAO,iBAAS,CAAC,WAAW,EAAE,CAAC;SAClC;QAED,gEAAgE;QAChE,sEAAsE;QACtE,qCAAqC;QACrC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAC9B,IAAI,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,SAAS,CAAC,yBAAyB,CACtC,QAAQ;YACR,aAAa,CAAC,SAAS,EACvB,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;gBAC3C,OAAO,SAAS,CAAC,yBAAyB,CACtC,SAAS,EACT,EAAE,eAAe,EAAE,IAAA,4BAAgB,EAAC,mBAAmB,CAAC,EAAE,EAC1D,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,EAAE;oBAC7C,IAAI,IAAA,sBAAc,EAAC,qBAAqB,CAAC,IAAI,IAAA,sBAAc,EAAC,sBAAsB,CAAC,EAAE;wBACjF,OAAO,IAAA,2BAAe,EAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;qBACzE;oBAED,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;oBAErD,4EAA4E;oBAC5E,IACI,OAAO,CAAC,iBAAiB;wBACzB,QAAQ,6BAAqB;wBAC7B,IAAA,uBAAe,EAAC,mBAAmB,CAAC;wBACpC,IAAA,wBAAY,EAAC,mBAAmB,CAAC;wBACjC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB;wBAC3C,IAAA,uBAAe,EAAC,oBAAoB,CAAC;wBACrC,IAAA,wBAAY,EAAC,oBAAoB,CAAC;wBAClC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB;wBAC5C,cAAc;wBACd,IAAA,2BAAmB,EAAC,cAAc,CAAC,EACrC;wBACE,yDAAyD;wBACzD,8DAA8D;wBAC9D,4DAA4D;wBAC5D,wDAAwD;wBACxD,qBAAqB;wBACrB,IACI,CAAC,IAAA,iCAAqB,EAAC,mBAAmB,CAAC;4BAC3C,CAAC,IAAA,iCAAqB,EAAC,oBAAoB,CAAC,EAC9C;4BACE,OAAO,iBAAS,CAAC,eAAe,CAC5B,IAAA,gCAAoB,EAAC,cAAc,EAAE;gCACjC,GAAG,mBAAmB,CAAC,IAAI,CAAC,kBAAkB;gCAC9C,GAAG,oBAAoB,CAAC,IAAI,CAAC,kBAAkB;6BAClD,CAAC,CACL,CAAC;yBACL;qBACJ;oBAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvD,IAAI,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC/C,uBAAuB,CAAC,SAAS,EAAE,qBAAqB,CAAC,EACzD,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC9E,SAAS,EACT,gBAAgB,CACnB,CAAC;oBAEF,IAAI,CAAC,UAAU,IAAI,qBAAqB,KAAK,mBAAmB,EAAE;wBAC9D,8BAA8B;wBAC9B,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EACvD,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC9E,SAAS,EACT,gBAAgB,CACnB,CAAC;qBACL;oBAED,IAAI,CAAC,UAAU,IAAI,sBAAsB,KAAK,oBAAoB,EAAE;wBAChE,wCAAwC;wBACxC,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EACvD,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC5E,SAAS,EACT,gBAAgB,CACnB,CAAC;qBACL;oBAED,IAAI,CAAC,UAAU,EAAE;wBACb,oDAAoD;wBACpD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1D,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAC1D,kBAAkB,EAClB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC,EAC5E,SAAS,EACT,gBAAgB,CACnB,CAAC;wBAEF,IAAI,CAAC,UAAU,IAAI,sBAAsB,KAAK,oBAAoB,EAAE;4BAChE,+BAA+B;4BAC/B,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,CAAC,EACxD,kBAAkB,EAClB;gCACI;oCACI,IAAI,EAAE,qBAAqB;oCAC3B,YAAY,EAAE,cAAc,CAAC,YAAY;iCAC5C;6BACJ,EACD,SAAS,EACT,gBAAgB,CACnB,CAAC;yBACL;wBAED,IAAI,CAAC,UAAU,IAAI,qBAAqB,KAAK,mBAAmB,EAAE;4BAC9D,wCAAwC;4BACxC,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,CAAC,EACxD,kBAAkB,EAClB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC,EAC1E,SAAS,EACT,gBAAgB,CACnB,CAAC;yBACL;qBACJ;oBAED,IAAI,CAAC,UAAU,EAAE;wBACb,IAAI,gBAAgB,EAAE;4BAClB,IAAI,CAAC,UAAU,CACX,qBAAU,CAAC,yCAAyC,EAAE,CAAC,MAAM,CAAC;gCAC1D,QAAQ,EAAE,IAAA,8BAAa,EAAC,QAAQ,CAAC;gCACjC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;gCAClD,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC;gCACpD,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC;6BACnE,CAAC,CACL,CAAC;yBACL;6BAAM;4BACH,IAAI,CAAC,UAAU,CACX,qBAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC;gCAC7C,QAAQ,EAAE,IAAA,8BAAa,EAAC,QAAQ,CAAC;gCACjC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;gCAClD,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC;6BACvD,CAAC,CACL,CAAC;yBACL;qBACJ;oBAED,OAAO,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,mBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1D,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;SACL;KACJ;IAED,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,mBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpD,CAAC;AAzSD,0DAySC;AAED,SAAgB,wBAAwB,CACpC,SAAwB,EACxB,IAAyB,EACzB,KAAgB,EAChB,gBAA8C;IAE9C,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,IAAI,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,wEAAwE;IACxE,kEAAkE;IAClE,wBAAwB;IACxB,IAAI,IAAA,yCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QAC3C,IACI,eAAe,CAAC,QAAQ,0CAAkC;YAC1D,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC5B,IAAA,yCAAwB,EAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EACtD;YACE,uDAAuD;YACvD,wBAAwB,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAE9E,qEAAqE;YACrE,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;SAChD;KACJ;IAED,2EAA2E;IAC3E,gFAAgF;IAChF,iFAAiF;IACjF,IAAI,mBAAmB,GACnB,IAAI,CAAC,CAAC,CAAC,QAAQ,6BAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,8BAAqB;QACvE,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY;QAChC,CAAC,CAAC,SAAS,CAAC;IAEpB,iEAAiE;IACjE,mEAAmE;IACnE,wEAAwE;IACxE,IAAI,uBAAyC,CAAC;IAC9C,IACI,IAAI,CAAC,CAAC,CAAC,QAAQ,mCAA0B;QACzC,gBAAgB;QAChB,IAAA,uBAAe,EAAC,gBAAgB,CAAC,YAAY,CAAC;QAC9C,iBAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC;QAC1D,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa;QAChD,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;QAC5D,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,gCAAuB,EACjD;QACE,uBAAuB,GAAG,gBAAgB,CAAC,YAAY,CAAC;KAC3D;IAED,MAAM,qBAAqB,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,uBAAuB,CAAC;IAC7E,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,EACd,KAAK,EACL,IAAA,gCAAoB,EAAC,qBAAqB,CAAC,CAC9C,CAAC;IACF,IAAI,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IAEnC,IAAI,CAAC,mBAAmB,EAAE;QACtB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,6BAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,8BAAqB,EAAE;YAC7E,qEAAqE;YACrE,uEAAuE;YACvE,2EAA2E;YAC3E,kBAAkB;YAClB,IACI,IAAA,wBAAY,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC/B,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBAChB;gBAED,OAAO,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3F,CAAC,CAAC,EACJ;gBACE,mBAAmB,GAAG,QAAQ,CAAC;aAClC;SACJ;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,6BAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,gCAAuB,EAAE;YACjG,yEAAyE;YACzE,gFAAgF;YAChF,mBAAmB,GAAG,QAAQ,CAAC;SAClC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,mCAA2B,EAAE;YACnD,+EAA+E;YAC/E,oFAAoF;YACpF,IAAI,IAAA,uBAAe,EAAC,QAAQ,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACnE,mBAAmB,GAAG,QAAQ,CAAC;aAClC;SACJ;KACJ;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CACjD,eAAe,EACf,KAAK,EACL,IAAA,gCAAoB,EAAC,mBAAmB,CAAC,CAC5C,CAAC;IACF,IAAI,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IAErC,IAAI,cAAc,CAAC,YAAY,IAAI,eAAe,CAAC,YAAY,EAAE;QAC7D,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,sEAAsE;IACtE,mCAAmC;IACnC,IACI,IAAI,CAAC,CAAC,CAAC,QAAQ,mCAA2B;QAC1C,CAAC,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAClD,CAAC,6BAA6B,CAAC,SAAS,EAAE,SAAS,CAAC,EACtD;QACE,IAAI,iBAAiB,GAAG,SAAS,CAAC;QAClC,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAA,0BAAc,EAAC,QAAQ,CAAC,IAAI,IAAA,0BAAc,EAAC,SAAS,CAAC,EAAE;YACxD,mEAAmE;YACnE,uEAAuE;YACvE,yEAAyE;YACzE,gCAAgC;YAChC,iBAAiB,GAAG,IAAA,iCAAqB,EAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;SACtE;aAAM,IAAI,CAAC,IAAA,0BAAc,EAAC,SAAS,CAAC,IAAI,IAAA,0BAAc,EAAC,QAAQ,CAAC,EAAE;YAC/D,gBAAgB,GAAG,IAAA,iCAAqB,EAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE;QAED,IAAI,IAAA,2BAAe,EAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,EAAE;YACxD,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,IAAI,CAAC,CAAC;YACnC,MAAM,sBAAsB,GACxB,QAAQ,CAAC,UAAU;gBACnB,CAAC,KAAK,gCAAwB,CAAC,KAAK,CAAC;gBACrC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,kBAAkB,CAAC,iCAAiB,CAAC,CAAC;YAEtF,IAAI,CAAC,sBAAsB,EAAE;gBACzB,8DAA8D;gBAC9D,mEAAmE;gBACnE,IAAI,CAAC,IAAA,sBAAc,EAAC,gBAAgB,CAAC,EAAE;oBACnC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,IAAI,EACJ,IAAI,CAAC,CAAC,CAAC,aAAa,CACvB,CAAC;iBACL;aACJ;YAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAClG,MAAM,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YAErG,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC;aACzC;YAED,gBAAgB,GAAG,SAAS,CAAC,0BAA0B,CACnD,IAAI,CAAC,CAAC,CAAC,QAAQ,EACf,gBAAgB,EAChB,KAAK,uCAA6B,CACrC,CAAC;YACF,iBAAiB,GAAG,SAAS,CAAC,0BAA0B,CACpD,IAAI,CAAC,CAAC,CAAC,SAAS,EAChB,iBAAiB,EACjB,KAAK,uCAA6B,CACrC,CAAC;YAEF,IAAI,QAAQ,GAAG,IAAA,oBAAY,EAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzG,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;YACjD,IAAI,UAAU,IAAI,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAAE;gBAC/C,QAAQ,GAAG,gBAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,iBAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;aAC3F;YAED,+EAA+E;YAC/E,mFAAmF;YACnF,iFAAiF;YACjF,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACtB,IAAI,UAAsC,CAAC;gBAC3C,IAAI,SAAqC,CAAC;gBAC1C,IAAI,SAA2B,CAAC;gBAEhC,IAAI,cAAc,CAAC,QAAQ,sCAA6B,EAAE;oBACtD,UAAU,GAAG,cAAc,CAAC;oBAC5B,SAAS,GAAG,eAAe,CAAC;oBAC5B,SAAS,GAAG,SAAS,CAAC;iBACzB;qBAAM,IAAI,eAAe,CAAC,QAAQ,sCAA6B,EAAE;oBAC9D,UAAU,GAAG,eAAe,CAAC;oBAC7B,SAAS,GAAG,cAAc,CAAC;oBAC3B,SAAS,GAAG,QAAQ,CAAC;iBACxB;gBAED,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,EAAE;oBACtC,IAAI,SAAS,GAAG,IAAI,CAAC;oBACrB,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;wBACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,EAAE;4BACtE,SAAS,GAAG,KAAK,CAAC;yBACrB;qBACJ;oBAED,IAAI,CAAC,SAAS,EAAE;wBACZ,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,+BAA+B,EAAE,EAC5C,UAAU,CACb,CAAC;qBACL;iBACJ;aACJ;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC7B;KACJ;IAED,IAAI,CAAC,KAAK,qCAA2B,CAAC,KAAK,CAAC,EAAE;QAC1C,uEAAuE;QACvE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,mCAA2B,EAAE;YAC5C,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,qBAAqB,EAAE,qBAAU,CAAC,yBAAyB,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5G,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC;SACzC;KACJ;IAED,yEAAyE;IACzE,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;QACnD,8EAA8E;QAC9E,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,iCAAwB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,oCAA2B,EAAE;YACvF,QAAQ,GAAG,IAAA,+BAAmB,EAAC,QAAQ,CAAC,CAAC;SAC5C;aAAM;YACH,kBAAkB,GAAG,IAAA,0BAAc,EAAC,QAAQ,CAAC,CAAC;SACjD;QAED,8EAA8E;QAC9E,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,iCAAwB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,oCAA2B,EAAE;YACvF,SAAS,GAAG,IAAA,+BAAmB,EAAC,SAAS,CAAC,CAAC;SAC9C;KACJ;IAED,MAAM,IAAI,GAAG,IAAI,+BAAkB,EAAE,CAAC;IAEtC,2DAA2D;IAC3D,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,oBAAoB,GAAG,CAAC,IAAA,6BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,CAAC;IAE9E,qEAAqE;IACrE,qEAAqE;IACrE,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,CAAC,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,uBAAuB,CAChC,SAAS,EACT,IAAI,CAAC,CAAC,CAAC,QAAQ,EACf,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,EAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,EAC/D,IAAI,EACJ,gBAAgB,EAChB,IAAI,EACJ,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAC9C,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;QACjB,UAAU,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,YAAY,EAAE;YACf,IAAI,kBAAkB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvD,qEAAqE;gBACrE,iEAAiE;gBACjE,2DAA2D;gBAC3D,sCAAsC;gBACtC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,qBAAqB,EACpC,qBAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;oBAC7B,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C,CAAC,EACF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAClB,CAAC;aACL;iBAAM;gBACH,4EAA4E;gBAC5E,6EAA6E;gBAC7E,wEAAwE;gBACxE,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IACI,IAAA,eAAO,EAAC,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAA,eAAO,EAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,EAC5D;oBACE,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;iBACjC;gBAED,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,mBAAmB,EAClC,qBAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC;oBAC7C,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACvC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC5C,CAAC,GAAG,UAAU,EACf,IAAI,CACP,CAAC;aACL;SACJ;KACJ;IAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC;AAvSD,4DAuSC;AAED,SAAgB,4BAA4B,CACxC,SAAwB,EACxB,IAA6B,EAC7B,gBAA8C;IAE9C,MAAM,WAAW,GAAmD;QAChE,+BAAuB,EAAE,CAAC,UAAU,2BAAmB;QACvD,qCAA4B,EAAE,CAAC,UAAU,iCAAwB;QACjE,qCAA4B,EAAE,CAAC,UAAU,iCAAwB;QACjE,wCAA+B,EAAE,CAAC,eAAe,oCAA2B;QAC5E,mCAA0B,EAAE,CAAC,cAAc,+BAAsB;QACjE,gCAAuB,EAAE,CAAC,UAAU,4BAAmB;QACvD,kCAAyB,EAAE,CAAC,UAAU,8BAAqB;QAC3D,2CAAkC,EAAE,CAAC,aAAa,uCAA8B;QAChF,sCAA8B,EAAE,CAAC,UAAU,kCAA0B;QACrE,qCAA6B,EAAE,CAAC,SAAS,iCAAyB;QAClE,sCAA8B,EAAE,CAAC,UAAU,kCAA0B;QACrE,sCAA6B,EAAE,CAAC,aAAa,kCAAyB;QACtE,uCAA8B,EAAE,CAAC,aAAa,mCAA0B;KAC3E,CAAC;IAEF,IAAI,IAAsB,CAAC;IAC3B,IAAI,UAAkC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,+BAAkB,EAAE,CAAC;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IAErC,IAAI,mBAAqC,CAAC;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,wCAAgC,EAAE;QACjD,gFAAgF;QAChF,oFAAoF;QACpF,mBAAmB,GAAG,QAAQ,CAAC;KAClC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CACjD,IAAI,CAAC,CAAC,CAAC,SAAS;IAChB,WAAW,CAAC,SAAS,EACrB,IAAA,gCAAoB,EAAC,mBAAmB,CAAC,CAC5C,CAAC;IACF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC;IAErF,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;QACzC,UAAU,GAAG,EAAE,IAAI,EAAE,iBAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC;KAChE;SAAM;QACH,IAAI,GAAG,SAAS,CAAC,yBAAyB,CACtC,QAAQ;QACR,aAAa,CAAC,SAAS,EACvB,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;YAC3C,OAAO,SAAS,CAAC,yBAAyB,CACtC,SAAS,EACT,EAAE,eAAe,EAAE,IAAA,4BAAgB,EAAC,mBAAmB,CAAC,EAAE,EAC1D,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,EAAE;gBAC7C,IAAI,IAAA,sBAAc,EAAC,qBAAqB,CAAC,IAAI,IAAA,sBAAc,EAAC,sBAAsB,CAAC,EAAE;oBACjF,OAAO,IAAA,2BAAe,EAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;iBACzE;gBAED,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC/C,qBAAqB,EACrB,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC9E,IAAI,EACJ,gBAAgB,CACnB,CAAC;gBAEF,IAAI,CAAC,UAAU,IAAI,qBAAqB,KAAK,mBAAmB,EAAE;oBAC9D,mCAAmC;oBACnC,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,mBAAmB,EACnB,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC9E,IAAI,EACJ,gBAAgB,CACnB,CAAC;iBACL;gBAED,IAAI,CAAC,UAAU,IAAI,sBAAsB,KAAK,oBAAoB,EAAE;oBAChE,6CAA6C;oBAC7C,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAC3C,mBAAmB,EACnB,eAAe,EACf,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,EAC5E,IAAI,EACJ,gBAAgB,CACnB,CAAC;iBACL;gBAED,IAAI,CAAC,UAAU,EAAE;oBACb,iEAAiE;oBACjE,mEAAmE;oBACnE,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEvD,2DAA2D;oBAC3D,mDAAmD;oBACnD,MAAM,oBAAoB,GACtB,CAAC,IAAA,6BAAY,EAAC,IAAI,CAAC;wBACnB,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACrD,IAAA,gCAAoB,EAAC,QAAQ,CAAC,GAAG,IAAA,gCAAoB,EAAC,SAAS,CAAC;4BAC5D,0BAA0B,CAAC;oBAEnC,qEAAqE;oBACrE,qEAAqE;oBACrE,yCAAyC;oBACzC,MAAM,iBAAiB,GAAG,CAAC,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC;oBAE7C,UAAU,GAAG,uBAAuB,CAChC,SAAS,EACT,cAAc,EACd,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,EAC1E,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,EAC5E,IAAI,EACJ,gBAAgB,EAChB,IAAI,EACJ,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAC9C,CAAC;iBACL;gBAED,OAAO,UAAU,CAAC;YACtB,CAAC,CACJ,CAAC;QACN,CAAC,CACJ,CAAC;QAEF,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,EAAE;gBACf,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,mBAAmB,EAClC,qBAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC;oBAC7C,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACvC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC5C,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EACrB,IAAI,CACP,CAAC;aACL;SACJ;QAED,UAAU,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;KACvC;IAED,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhF,OAAO,UAAU,CAAC;AACtB,CAAC;AAnJD,oEAmJC;AAED,SAAgB,uBAAuB,CACnC,SAAwB,EACxB,IAAwB,EACxB,KAAgB,EAChB,gBAA8C;IAE9C,IAAI,CAAC,KAAK,qCAA2B,CAAC,KAAK,CAAC,EAAE;QAC1C,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,qBAAqB,EAAE,qBAAU,CAAC,wBAAwB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3G,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC;KACzC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,QAAQ,GAAG,SAAS,CAAC,4BAA4B,CAAC,IAAA,+CAAmC,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhH,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IAEjD,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE,IAAI,EAAE,iBAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC;KAC1D;IAED,gEAAgE;IAChE,iEAAiE;IACjE,MAAM,gBAAgB,GAAmC;QACrD,0BAAkB,EAAE,SAAS;QAC7B,gCAAuB,EAAE,SAAS;QAClC,oCAA4B,EAAE,YAAY;KAC7C,CAAC;IAEF,IAAI,IAAsB,CAAC;IAE3B,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,8BAAqB,EAAE;QACtC,IAAI,IAAA,0BAAc,EAAC,QAAQ,CAAC,EAAE;YAC1B,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,qBAAqB,EACpC,qBAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;gBAC7B,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC3C,CAAC,EACF,IAAI,CAAC,CAAC,CAAC,IAAI,CACd,CAAC;YACF,QAAQ,GAAG,IAAA,+BAAmB,EAAC,QAAQ,CAAC,CAAC;SAC5C;KACJ;IAED,qDAAqD;IACrD,+DAA+D;IAC/D,kEAAkE;IAClE,qDAAqD;IACrD,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjC,MAAM,gBAAgB,GAAG,IAAA,mCAAuB,EAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,gBAAgB,KAAK,KAAK,EAAE;YAC5B,IAAI,QAAQ,6BAAqB,EAAE;gBAC/B,IAAI,GAAG,QAAQ,CAAC;aACnB;iBAAM,IAAI,QAAQ,mCAA0B,EAAE;gBAC3C,IAAI,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrC,MAAM,YAAY,GAAG,OAAoB,CAAC;oBAC1C,OAAO,iBAAS,CAAC,gBAAgB,CAC7B,YAAY,EACZ,CAAE,YAAY,CAAC,IAAI,CAAC,YAAgC,CACvD,CAAC;gBACN,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,QAAQ,uCAA+B,EAAE;gBAChD,IAAI,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrC,MAAM,YAAY,GAAG,OAAoB,CAAC;oBAC1C,OAAO,iBAAS,CAAC,gBAAgB,CAC7B,YAAY,EACZ,CAAE,YAAY,CAAC,IAAI,CAAC,YAAgC,CACvD,CAAC;gBACN,CAAC,CAAC,CAAC;aACN;SACJ;aAAM,IAAI,gBAAgB,KAAK,MAAM,EAAE;YACpC,IAAI,QAAQ,8BAAqB,EAAE;gBAC/B,IAAI,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrC,MAAM,YAAY,GAAG,OAAoB,CAAC;oBAC1C,OAAO,iBAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAE,YAAY,CAAC,IAAI,CAAC,YAAwB,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC;aACN;SACJ;KACJ;IAED,IAAI,CAAC,IAAI,EAAE;QACP,oCAAoC;QACpC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,8BAAqB,EAAE;YACtC,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,EAAE;gBACP,IAAI,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;aAC/B;SACJ;aAAM;YACH,IAAI,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE;gBAC1B,IAAI,GAAG,QAAQ,CAAC;aACnB;iBAAM;gBACH,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,aAAa,GAAG,IAAI,CAAC;gBAEzB,IAAI,GAAG,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,EAAE;oBAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,wBAAwB,CAC7C,eAAe,EACf,eAAe,EACf,EAAE,EACF,IAAI,EACJ,gBAAgB,CACnB,CAAC;oBAEF,IAAI,CAAC,MAAM,EAAE;wBACT,aAAa,GAAG,KAAK,CAAC;qBACzB;oBAED,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,aAAa,EAAE;oBAChB,IAAI,GAAG,SAAS,CAAC;iBACpB;aACJ;YAED,IAAI,CAAC,IAAI,EAAE;gBACP,IAAI,CAAC,YAAY,EAAE;oBACf,IAAI,gBAAgB,EAAE;wBAClB,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,mBAAmB,EAClC,qBAAU,CAAC,wCAAwC,EAAE,CAAC,MAAM,CAAC;4BACzD,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACxC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;4BACnC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC;yBACnE,CAAC,EACF,IAAI,CACP,CAAC;qBACL;yBAAM;wBACH,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,mBAAmB,EAClC,qBAAU,CAAC,2BAA2B,EAAE,CAAC,MAAM,CAAC;4BAC5C,QAAQ,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACxC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;yBACtC,CAAC,EACF,IAAI,CACP,CAAC;qBACL;iBACJ;gBAED,IAAI,GAAG,mBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAC3C;SACJ;KACJ;IAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AAlJD,0DAkJC;AAED,SAAgB,yBAAyB,CACrC,SAAwB,EACxB,IAAiB,EACjB,KAAgB,EAChB,gBAA8C;IAE9C,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,qCAA2B,CAAC,KAAK,CAAC,EAAE;QAC1C,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,qBAAqB,EAAE,qBAAU,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;QACpG,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC;KACzC;IAED,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,cAAc,GAAW,EAAE,CAAC;IAClC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,cAAc,GAAG,IAAA,gDAA4B,EAC/C,IAAI,CAAC,CAAC,CAAC,QAAQ,EACf,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,gBAAgB,CAC5B,CAAC;IAEF,IAAI,cAAc,KAAK,KAAK,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACtE,MAAM,MAAM,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACrF,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,YAAY,EAAE;YACrB,YAAY,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,UAAU,EAAE;YACnB,UAAU,GAAG,IAAI,CAAC;SACrB;KACJ;IAED,IAAI,cAAc,KAAK,IAAI,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACzF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,QAAQ,CAAC,YAAY,EAAE;YACvB,YAAY,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE;YACrB,UAAU,GAAG,IAAI,CAAC;SACrB;KACJ;IAED,OAAO,EAAE,IAAI,EAAE,IAAA,oBAAY,EAAC,cAAc,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC5E,CAAC;AAhDD,8DAgDC;AAED,6DAA6D;AAC7D,SAAS,sBAAsB,CAAC,QAAsB,EAAE,QAAc,EAAE,SAAe;IACnF,MAAM,oBAAoB,GAAG,IAAA,mCAAuB,EAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,oBAAoB,IAAI,IAAA,4BAAgB,EAAC,QAAQ,CAAC,EAAE;QACrD,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,qBAAqB,GAAG,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC;IACjE,IACI,oBAAoB,KAAK,qBAAqB;QAC9C,IAAA,4BAAgB,EAAC,SAAS,CAAC;QAC3B,IAAA,gCAAoB,EAAC,QAAQ,CAAC,GAAG,IAAA,gCAAoB,EAAC,SAAS,CAAC,IAAI,0BAA0B,EAChG;QACE,OAAO,SAAS,CAAC;KACpB;IAED,iCAAiC;IACjC,IAAI,oBAAoB,KAAK,KAAK,IAAI,oBAAoB,KAAK,OAAO,EAAE;QACpE,IAAI,QAAQ,6BAAqB,EAAE;YAC/B,OAAO,IAAA,uBAAW,EAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;gBACzC,OAAO,IAAA,uBAAW,EAAC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;oBAC3C,MAAM,gBAAgB,GAAG,WAAwB,CAAC;oBAClD,MAAM,iBAAiB,GAAG,YAAyB,CAAC;oBAEpD,OAAO,iBAAS,CAAC,gBAAgB,CAC7B,gBAAgB,EAChB,CAAE,gBAAgB,CAAC,IAAI,CAAC,YAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAW,CACnG,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;KACJ;IAED,uBAAuB;IACvB,IAAI,oBAAoB,KAAK,KAAK,EAAE;QAChC,MAAM,YAAY,GAAG;;;;;;;;;;;;SAYpB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;YAC/C,OAAO,IAAA,uBAAW,EAAC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC3C,IAAI;oBACA,MAAM,gBAAgB,GAAG,WAAwB,CAAC;oBAClD,MAAM,iBAAiB,GAAG,YAAyB,CAAC;oBACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAA+B,CAAC,CAAC;oBACvF,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAA+B,CAAC,CAAC;oBAEzF,IAAI,QAAqC,CAAC;oBAC1C,IAAI,QAAQ,6BAAqB,EAAE;wBAC/B,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;yBAAM,IAAI,QAAQ,mCAA0B,EAAE;wBAC3C,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;yBAAM,IAAI,QAAQ,mCAA0B,EAAE;wBAC3C,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;yBAAM,IAAI,QAAQ,sCAA6B,EAAE;wBAC9C,IAAI,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;4BACjC,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;yBACnD;qBACJ;yBAAM,IAAI,QAAQ,8BAAqB,EAAE;wBACtC,IAAI,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;4BACjC,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;yBACnD;qBACJ;yBAAM,IAAI,QAAQ,gCAAuB,EAAE;wBACxC,IAAI,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;4BAChC,IAAI;gCACA,QAAQ,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;6BACpD;4BAAC,MAAM;gCACJ,qDAAqD;6BACxD;yBACJ;qBACJ;yBAAM,IAAI,QAAQ,oCAA2B,EAAE;wBAC5C,QAAQ,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;qBACpD;yBAAM,IAAI,QAAQ,qCAA4B,EAAE;wBAC7C,QAAQ,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;qBACpD;yBAAM,IAAI,QAAQ,oCAA4B,EAAE;wBAC7C,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;yBAAM,IAAI,QAAQ,mCAA2B,EAAE;wBAC5C,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;yBAAM,IAAI,QAAQ,oCAA4B,EAAE;wBAC7C,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;qBACnD;oBAED,IAAI,QAAQ,KAAK,SAAS,EAAE;wBACxB,aAAa,GAAG,KAAK,CAAC;wBACtB,OAAO,SAAS,CAAC;qBACpB;yBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;wBACxD,aAAa,GAAG,KAAK,CAAC;wBACtB,OAAO,SAAS,CAAC;qBACpB;yBAAM;wBACH,gEAAgE;wBAChE,iBAAiB;wBACjB,IAAI,QAAQ,IAAI,MAAM,CAAC,gBAAgB,IAAI,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE;4BAC5E,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;yBAC/B;wBAED,OAAO,iBAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;qBACjE;iBACJ;gBAAC,MAAM;oBACJ,aAAa,GAAG,KAAK,CAAC;oBACtB,OAAO,SAAS,CAAC;iBACpB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAU,EAAE,UAAkB;IACjE,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACjD,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE;QAC/C,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QACxC,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;IAED,kEAAkE;IAClE,qEAAqE;IACrE,2BAA2B;IAC3B,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,IAAA,2BAAmB,EAAC,UAAU,CAAC,SAAS,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QAChG,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,kEAAkE;AAClE,sEAAsE;AACtE,yBAAyB;AACzB,SAAS,uBAAuB,CAAC,SAAwB,EAAE,IAAU;IACjE,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,EAAE;QAChD,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,2DAA2D;AAC3D,SAAS,yBAAyB,CAAC,SAAwB,EAAE,IAAoB;IAC7E,IAAI,IAAI,CAAC,QAAQ,gCAAuB,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACvG,IAAI,CAAC,eAAe,EAAE;QAClB,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,YAAY,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,YAAY,KAAK,eAAe,CAAC,KAAK,CAAC;AAClD,CAAC"}
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../../src/analyzer/operations.ts"],"names":[],"mappings":"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"}
|