@zzzen/pyright-internal 1.2.0-dev.20240714 → 1.2.0-dev.20240728

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.
Files changed (225) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +2 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +8 -8
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/cacheManager.js +3 -0
  6. package/dist/analyzer/cacheManager.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +3 -2
  8. package/dist/analyzer/checker.js +137 -142
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  11. package/dist/analyzer/codeFlowEngine.js +74 -44
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowTypes.js +1 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.d.ts +2 -2
  16. package/dist/analyzer/constraintSolver.js +166 -206
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/constructorTransform.d.ts +2 -3
  19. package/dist/analyzer/constructorTransform.js +18 -19
  20. package/dist/analyzer/constructorTransform.js.map +1 -1
  21. package/dist/analyzer/constructors.d.ts +3 -3
  22. package/dist/analyzer/constructors.js +72 -175
  23. package/dist/analyzer/constructors.js.map +1 -1
  24. package/dist/analyzer/dataClasses.d.ts +2 -2
  25. package/dist/analyzer/dataClasses.js +60 -40
  26. package/dist/analyzer/dataClasses.js.map +1 -1
  27. package/dist/analyzer/declaration.d.ts +9 -9
  28. package/dist/analyzer/declaration.js +9 -9
  29. package/dist/analyzer/declaration.js.map +1 -1
  30. package/dist/analyzer/declarationUtils.d.ts +1 -1
  31. package/dist/analyzer/declarationUtils.js +6 -6
  32. package/dist/analyzer/declarationUtils.js.map +1 -1
  33. package/dist/analyzer/decorators.js +5 -6
  34. package/dist/analyzer/decorators.js.map +1 -1
  35. package/dist/analyzer/docStringConversion.js +2 -2
  36. package/dist/analyzer/docStringConversion.js.map +1 -1
  37. package/dist/analyzer/enums.d.ts +2 -2
  38. package/dist/analyzer/enums.js +6 -6
  39. package/dist/analyzer/enums.js.map +1 -1
  40. package/dist/analyzer/functionTransform.d.ts +2 -2
  41. package/dist/analyzer/functionTransform.js +4 -4
  42. package/dist/analyzer/functionTransform.js.map +1 -1
  43. package/dist/analyzer/importResolver.js +5 -3
  44. package/dist/analyzer/importResolver.js.map +1 -1
  45. package/dist/analyzer/namedTuples.d.ts +3 -3
  46. package/dist/analyzer/namedTuples.js +21 -22
  47. package/dist/analyzer/namedTuples.js.map +1 -1
  48. package/dist/analyzer/operations.js +145 -96
  49. package/dist/analyzer/operations.js.map +1 -1
  50. package/dist/analyzer/packageTypeVerifier.js +8 -8
  51. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  52. package/dist/analyzer/parameterUtils.d.ts +10 -10
  53. package/dist/analyzer/parameterUtils.js +60 -59
  54. package/dist/analyzer/parameterUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeUtils.d.ts +7 -6
  56. package/dist/analyzer/parseTreeUtils.js +47 -24
  57. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  58. package/dist/analyzer/patternMatching.js +109 -90
  59. package/dist/analyzer/patternMatching.js.map +1 -1
  60. package/dist/analyzer/program.js +11 -4
  61. package/dist/analyzer/program.js.map +1 -1
  62. package/dist/analyzer/properties.js +23 -19
  63. package/dist/analyzer/properties.js.map +1 -1
  64. package/dist/analyzer/protocols.js +23 -20
  65. package/dist/analyzer/protocols.js.map +1 -1
  66. package/dist/analyzer/pythonPathUtils.js +1 -1
  67. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  68. package/dist/analyzer/service.d.ts +3 -7
  69. package/dist/analyzer/service.js +28 -30
  70. package/dist/analyzer/service.js.map +1 -1
  71. package/dist/analyzer/serviceUtils.d.ts +8 -0
  72. package/dist/analyzer/serviceUtils.js +31 -0
  73. package/dist/analyzer/serviceUtils.js.map +1 -0
  74. package/dist/analyzer/sourceFile.js +5 -19
  75. package/dist/analyzer/sourceFile.js.map +1 -1
  76. package/dist/analyzer/sourceMapper.d.ts +1 -1
  77. package/dist/analyzer/sourceMapper.js +4 -4
  78. package/dist/analyzer/sourceMapper.js.map +1 -1
  79. package/dist/analyzer/staticExpressions.js +1 -1
  80. package/dist/analyzer/staticExpressions.js.map +1 -1
  81. package/dist/analyzer/testWalker.js +13 -1
  82. package/dist/analyzer/testWalker.js.map +1 -1
  83. package/dist/analyzer/tracePrinter.js +4 -4
  84. package/dist/analyzer/tracePrinter.js.map +1 -1
  85. package/dist/analyzer/tuples.d.ts +9 -0
  86. package/dist/analyzer/tuples.js +252 -0
  87. package/dist/analyzer/tuples.js.map +1 -0
  88. package/dist/analyzer/typeComplexity.d.ts +2 -0
  89. package/dist/analyzer/typeComplexity.js +86 -0
  90. package/dist/analyzer/typeComplexity.js.map +1 -0
  91. package/dist/analyzer/typeEvaluator.js +1721 -1824
  92. package/dist/analyzer/typeEvaluator.js.map +1 -1
  93. package/dist/analyzer/typeEvaluatorTypes.d.ts +47 -40
  94. package/dist/analyzer/typeEvaluatorTypes.js +10 -1
  95. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  96. package/dist/analyzer/typeGuards.js +116 -90
  97. package/dist/analyzer/typeGuards.js.map +1 -1
  98. package/dist/analyzer/typePrinter.d.ts +1 -1
  99. package/dist/analyzer/typePrinter.js +54 -53
  100. package/dist/analyzer/typePrinter.js.map +1 -1
  101. package/dist/analyzer/typeStubWriter.d.ts +3 -3
  102. package/dist/analyzer/typeStubWriter.js +15 -15
  103. package/dist/analyzer/typeStubWriter.js.map +1 -1
  104. package/dist/analyzer/typeUtils.d.ts +35 -29
  105. package/dist/analyzer/typeUtils.js +420 -357
  106. package/dist/analyzer/typeUtils.js.map +1 -1
  107. package/dist/analyzer/typeVarContext.d.ts +24 -36
  108. package/dist/analyzer/typeVarContext.js +89 -193
  109. package/dist/analyzer/typeVarContext.js.map +1 -1
  110. package/dist/analyzer/typeWalker.js +4 -4
  111. package/dist/analyzer/typeWalker.js.map +1 -1
  112. package/dist/analyzer/typedDicts.d.ts +2 -2
  113. package/dist/analyzer/typedDicts.js +49 -53
  114. package/dist/analyzer/typedDicts.js.map +1 -1
  115. package/dist/analyzer/types.d.ts +89 -63
  116. package/dist/analyzer/types.js +163 -120
  117. package/dist/analyzer/types.js.map +1 -1
  118. package/dist/commands/dumpFileDebugInfoCommand.js +12 -12
  119. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  120. package/dist/common/configOptions.d.ts +1 -0
  121. package/dist/common/configOptions.js +5 -0
  122. package/dist/common/configOptions.js.map +1 -1
  123. package/dist/common/diagnosticRules.d.ts +1 -0
  124. package/dist/common/diagnosticRules.js +1 -0
  125. package/dist/common/diagnosticRules.js.map +1 -1
  126. package/dist/common/fileSystem.d.ts +0 -1
  127. package/dist/common/fileSystem.js.map +1 -1
  128. package/dist/common/languageServerInterface.d.ts +13 -0
  129. package/dist/common/languageServerInterface.js +15 -1
  130. package/dist/common/languageServerInterface.js.map +1 -1
  131. package/dist/common/lspUtils.js +2 -2
  132. package/dist/common/memUtils.d.ts +4 -0
  133. package/dist/common/memUtils.js +33 -2
  134. package/dist/common/memUtils.js.map +1 -1
  135. package/dist/common/serviceKeys.d.ts +3 -0
  136. package/dist/common/serviceKeys.js +2 -0
  137. package/dist/common/serviceKeys.js.map +1 -1
  138. package/dist/common/serviceProviderExtensions.js +7 -0
  139. package/dist/common/serviceProviderExtensions.js.map +1 -1
  140. package/dist/languageServerBase.d.ts +4 -3
  141. package/dist/languageServerBase.js +14 -10
  142. package/dist/languageServerBase.js.map +1 -1
  143. package/dist/languageService/autoImporter.d.ts +3 -2
  144. package/dist/languageService/autoImporter.js +5 -1
  145. package/dist/languageService/autoImporter.js.map +1 -1
  146. package/dist/languageService/completionProvider.d.ts +5 -3
  147. package/dist/languageService/completionProvider.js +38 -37
  148. package/dist/languageService/completionProvider.js.map +1 -1
  149. package/dist/languageService/completionProviderUtils.d.ts +1 -1
  150. package/dist/languageService/completionProviderUtils.js +3 -3
  151. package/dist/languageService/completionProviderUtils.js.map +1 -1
  152. package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
  153. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  154. package/dist/languageService/hoverProvider.js +14 -6
  155. package/dist/languageService/hoverProvider.js.map +1 -1
  156. package/dist/languageService/referencesProvider.d.ts +10 -4
  157. package/dist/languageService/referencesProvider.js +24 -12
  158. package/dist/languageService/referencesProvider.js.map +1 -1
  159. package/dist/languageService/renameProvider.js +21 -4
  160. package/dist/languageService/renameProvider.js.map +1 -1
  161. package/dist/languageService/signatureHelpProvider.js +1 -1
  162. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  163. package/dist/languageService/tooltipUtils.js +3 -3
  164. package/dist/languageService/tooltipUtils.js.map +1 -1
  165. package/dist/localization/localize.d.ts +9 -3
  166. package/dist/localization/localize.js +8 -1
  167. package/dist/localization/localize.js.map +1 -1
  168. package/dist/localization/package.nls.cs.json +5 -2
  169. package/dist/localization/package.nls.de.json +5 -2
  170. package/dist/localization/package.nls.en-us.json +7 -1
  171. package/dist/localization/package.nls.es.json +5 -2
  172. package/dist/localization/package.nls.fr.json +5 -2
  173. package/dist/localization/package.nls.it.json +5 -2
  174. package/dist/localization/package.nls.ja.json +5 -2
  175. package/dist/localization/package.nls.ko.json +5 -2
  176. package/dist/localization/package.nls.pl.json +5 -2
  177. package/dist/localization/package.nls.pt-br.json +5 -2
  178. package/dist/localization/package.nls.qps-ploc.json +5 -2
  179. package/dist/localization/package.nls.ru.json +5 -2
  180. package/dist/localization/package.nls.tr.json +5 -2
  181. package/dist/localization/package.nls.zh-cn.json +5 -2
  182. package/dist/localization/package.nls.zh-tw.json +5 -2
  183. package/dist/parser/parseNodes.d.ts +12 -10
  184. package/dist/parser/parseNodes.js +23 -21
  185. package/dist/parser/parseNodes.js.map +1 -1
  186. package/dist/parser/parser.js +66 -43
  187. package/dist/parser/parser.js.map +1 -1
  188. package/dist/tests/checker.test.js +2 -2
  189. package/dist/tests/fourslash/rename.args.fourslash.d.ts +1 -0
  190. package/dist/tests/fourslash/rename.args.fourslash.js +71 -0
  191. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -0
  192. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
  193. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  194. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
  195. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  196. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  197. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  198. package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
  199. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  200. package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
  201. package/dist/tests/harness/vfs/filesystem.js +0 -4
  202. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  203. package/dist/tests/importResolver.test.js +62 -15
  204. package/dist/tests/importResolver.test.js.map +1 -1
  205. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  206. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  207. package/dist/tests/typeEvaluator1.test.js +17 -0
  208. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  209. package/dist/tests/typeEvaluator2.test.js +4 -0
  210. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  211. package/dist/tests/typeEvaluator3.test.js +1 -1
  212. package/dist/tests/typeEvaluator4.test.js +19 -7
  213. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  214. package/dist/tests/typeEvaluator5.test.js +8 -2
  215. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  216. package/dist/tests/typeEvaluator6.test.js +76 -60
  217. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  218. package/dist/tests/typeEvaluator7.test.js +5 -1
  219. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  220. package/dist/tests/typePrinter.test.js +13 -18
  221. package/dist/tests/typePrinter.test.js.map +1 -1
  222. package/dist/workspaceFactory.d.ts +3 -2
  223. package/dist/workspaceFactory.js +15 -2
  224. package/dist/workspaceFactory.js.map +1 -1
  225. package/package.json +1 -1
@@ -13,14 +13,11 @@
13
13
  * the `__init__` method on the resulting object with the same arguments.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.createFunctionFromConstructor = exports.validateConstructorArguments = exports.getBoundCallMethod = exports.getBoundInitMethod = exports.getBoundNewMethod = void 0;
16
+ exports.createFunctionFromConstructor = exports.validateConstructorArgs = exports.getBoundCallMethod = exports.getBoundInitMethod = exports.getBoundNewMethod = void 0;
17
17
  const collectionUtils_1 = require("../common/collectionUtils");
18
18
  const diagnostic_1 = require("../common/diagnostic");
19
19
  const diagnosticRules_1 = require("../common/diagnosticRules");
20
- const localize_1 = require("../localization/localize");
21
- const constraintSolver_1 = require("./constraintSolver");
22
20
  const constructorTransform_1 = require("./constructorTransform");
23
- const parseTreeUtils_1 = require("./parseTreeUtils");
24
21
  const typeUtils_1 = require("./typeUtils");
25
22
  const typeVarContext_1 = require("./typeVarContext");
26
23
  const types_1 = require("./types");
@@ -50,16 +47,16 @@ exports.getBoundCallMethod = getBoundCallMethod;
50
47
  // Matches the arguments of a call to the constructor for a class.
51
48
  // If successful, it returns the resulting (specialized) object type that
52
49
  // is allocated by the constructor. If unsuccessful, it reports diagnostics.
53
- function validateConstructorArguments(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker) {
50
+ function validateConstructorArgs(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext) {
54
51
  var _a, _b;
55
52
  // If this is an unspecialized generic type alias, specialize it now
56
53
  // using default type argument values.
57
54
  const aliasInfo = (_a = type.props) === null || _a === void 0 ? void 0 : _a.typeAliasInfo;
58
- if ((aliasInfo === null || aliasInfo === void 0 ? void 0 : aliasInfo.typeParameters) && !aliasInfo.typeArguments) {
55
+ if ((aliasInfo === null || aliasInfo === void 0 ? void 0 : aliasInfo.typeParams) && !aliasInfo.typeArgs) {
59
56
  const typeAliasTypeVarContext = new typeVarContext_1.TypeVarContext(aliasInfo.typeVarScopeId);
60
57
  type = (0, typeUtils_1.applySolvedTypeVars)(type, typeAliasTypeVarContext, { unknownIfNotFound: true });
61
58
  }
62
- const metaclassResult = validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker);
59
+ const metaclassResult = validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext);
63
60
  if (metaclassResult) {
64
61
  const metaclassReturnType = (_b = metaclassResult.returnType) !== null && _b !== void 0 ? _b : types_1.UnknownType.create();
65
62
  // If there a custom `__call__` method on the metaclass that returns
@@ -80,7 +77,7 @@ function validateConstructorArguments(evaluator, errorNode, argList, type, skipU
80
77
  // If there is a constructor transform, evaluate all arguments speculatively
81
78
  // so we can later re-evaluate them in the context of the transform.
82
79
  const returnResult = evaluator.useSpeculativeMode(useConstructorTransform ? errorNode : undefined, () => {
83
- return validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult);
80
+ return validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult);
84
81
  });
85
82
  let validatedArgExpressions = !useConstructorTransform || returnResult.argumentErrors;
86
83
  // Apply a constructor transform if applicable.
@@ -89,7 +86,7 @@ function validateConstructorArguments(evaluator, errorNode, argList, type, skipU
89
86
  // If there were errors when validating the __new__ and __init__ methods,
90
87
  // we need to re-evaluate the arguments to generate error messages because
91
88
  // we previously evaluated them speculatively.
92
- validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult);
89
+ validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult);
93
90
  validatedArgExpressions = true;
94
91
  }
95
92
  else if (returnResult.returnType) {
@@ -97,7 +94,7 @@ function validateConstructorArguments(evaluator, errorNode, argList, type, skipU
97
94
  argumentErrors: !!returnResult.argumentErrors,
98
95
  returnType: returnResult.returnType,
99
96
  isTypeIncomplete: !!returnResult.isTypeIncomplete,
100
- }, signatureTracker);
97
+ });
101
98
  returnResult.returnType = transformed.returnType;
102
99
  if (transformed.isTypeIncomplete) {
103
100
  returnResult.isTypeIncomplete = true;
@@ -119,8 +116,8 @@ function validateConstructorArguments(evaluator, errorNode, argList, type, skipU
119
116
  }
120
117
  return returnResult;
121
118
  }
122
- exports.validateConstructorArguments = validateConstructorArguments;
123
- function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult) {
119
+ exports.validateConstructorArgs = validateConstructorArgs;
120
+ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult) {
124
121
  var _a, _b;
125
122
  let returnType;
126
123
  let validatedArgExpressions = false;
@@ -132,7 +129,7 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
132
129
  if (newMethodTypeResult) {
133
130
  // Use speculative mode for arg expressions because we don't know whether
134
131
  // we'll need to re-evaluate these expressions later for __init__.
135
- const newCallResult = validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult,
132
+ const newCallResult = validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult,
136
133
  /* useSpeculativeModeForArgs */ true);
137
134
  if (newCallResult.argumentErrors) {
138
135
  argumentErrors = true;
@@ -173,8 +170,8 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
173
170
  // but didn't supply solved type arguments, we'll ignore its specialized return
174
171
  // type and rely on the __init__ method to supply the type arguments instead.
175
172
  let initMethodBindToType = newMethodReturnType;
176
- if (initMethodBindToType.priv.typeArguments &&
177
- initMethodBindToType.priv.typeArguments.some((typeArg) => (0, types_1.isUnknown)(typeArg))) {
173
+ if (initMethodBindToType.priv.typeArgs &&
174
+ initMethodBindToType.priv.typeArgs.some((typeArg) => (0, types_1.isUnknown)(typeArg))) {
178
175
  initMethodBindToType = types_1.ClassType.cloneAsInstance(type);
179
176
  }
180
177
  // Determine whether the class overrides the object.__init__ method.
@@ -185,7 +182,7 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
185
182
  }
186
183
  // Validate __init__ if it's present.
187
184
  if (initMethodTypeResult) {
188
- const initCallResult = validateInitMethod(evaluator, errorNode, argList, initMethodBindToType, skipUnknownArgCheck, inferenceContext, signatureTracker, initMethodTypeResult.type);
185
+ const initCallResult = validateInitMethod(evaluator, errorNode, argList, initMethodBindToType, skipUnknownArgCheck, inferenceContext, initMethodTypeResult.type);
189
186
  if (initCallResult.argumentErrors) {
190
187
  argumentErrors = true;
191
188
  }
@@ -204,7 +201,7 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
204
201
  // If we skipped the __init__ method and the __new__ method was evaluated only
205
202
  // speculatively, evaluate it non-speculatively now so we can report errors.
206
203
  if (!evaluator.isSpeculativeModeInUse(errorNode)) {
207
- validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult,
204
+ validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult,
208
205
  /* useSpeculativeModeForArgs */ false);
209
206
  }
210
207
  validatedArgExpressions = true;
@@ -230,18 +227,15 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
230
227
  // Evaluates the __new__ method for type correctness. If useSpeculativeModeForArgs
231
228
  // is true, use speculative mode to evaluate the arguments (unless an argument
232
229
  // error is produced, in which case it's OK to use speculative mode).
233
- function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, newMethodTypeResult, useSpeculativeModeForArgs) {
230
+ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, newMethodTypeResult, useSpeculativeModeForArgs) {
234
231
  let newReturnType;
235
232
  let isTypeIncomplete = false;
236
233
  let argumentErrors = false;
237
234
  const overloadsUsedForCall = [];
238
- if (signatureTracker) {
239
- newMethodTypeResult.type = (0, typeUtils_1.ensureFunctionSignaturesAreUnique)(newMethodTypeResult.type, signatureTracker, errorNode.start);
240
- }
241
235
  const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
242
236
  typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(newMethodTypeResult.type));
243
237
  const callResult = evaluator.useSpeculativeMode(useSpeculativeModeForArgs ? errorNode : undefined, () => {
244
- return evaluator.validateCallArguments(errorNode, argList, newMethodTypeResult, typeVarContext, skipUnknownArgCheck, inferenceContext, signatureTracker);
238
+ return evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult, typeVarContext, skipUnknownArgCheck, inferenceContext);
245
239
  });
246
240
  if (callResult.isTypeIncomplete) {
247
241
  isTypeIncomplete = true;
@@ -250,7 +244,7 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
250
244
  argumentErrors = true;
251
245
  // Evaluate the arguments in a non-speculative manner to generate any diagnostics.
252
246
  typeVarContext.unlock();
253
- evaluator.validateCallArguments(errorNode, argList, newMethodTypeResult, typeVarContext, skipUnknownArgCheck, inferenceContext, signatureTracker);
247
+ evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult, typeVarContext, skipUnknownArgCheck, inferenceContext);
254
248
  }
255
249
  else {
256
250
  newReturnType = callResult.returnType;
@@ -261,10 +255,10 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
261
255
  if (newReturnType) {
262
256
  // Special-case the 'tuple' type specialization to use the homogenous
263
257
  // arbitrary-length form.
264
- if ((0, types_1.isClassInstance)(newReturnType) && (0, typeUtils_1.isTupleClass)(newReturnType) && !newReturnType.priv.tupleTypeArguments) {
265
- if (newReturnType.priv.typeArguments && newReturnType.priv.typeArguments.length === 1) {
258
+ if ((0, types_1.isClassInstance)(newReturnType) && (0, typeUtils_1.isTupleClass)(newReturnType) && !newReturnType.priv.tupleTypeArgs) {
259
+ if (newReturnType.priv.typeArgs && newReturnType.priv.typeArgs.length === 1) {
266
260
  newReturnType = (0, typeUtils_1.specializeTupleClass)(newReturnType, [
267
- { type: newReturnType.priv.typeArguments[0], isUnbounded: true },
261
+ { type: newReturnType.priv.typeArgs[0], isUnbounded: true },
268
262
  ]);
269
263
  }
270
264
  newReturnType = applyExpectedTypeForTupleConstructor(newReturnType, inferenceContext);
@@ -275,149 +269,57 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
275
269
  }
276
270
  return { argumentErrors, returnType: newReturnType, isTypeIncomplete, overloadsUsedForCall };
277
271
  }
278
- function validateInitMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker, initMethodType) {
279
- let returnType;
272
+ function validateInitMethod(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, initMethodType) {
280
273
  let isTypeIncomplete = false;
281
274
  let argumentErrors = false;
282
275
  const overloadsUsedForCall = [];
283
- if (signatureTracker) {
284
- initMethodType = (0, typeUtils_1.ensureFunctionSignaturesAreUnique)(initMethodType, signatureTracker, errorNode.start);
285
- }
286
- // If there is an expected type, analyze the __init__ call for each of the
287
- // subtypes that comprise the expected type. If one or more analyzes with no
288
- // errors, use those results. This requires special-case processing because
289
- // the __init__ method doesn't return the expected type. It always
290
- // returns None.
291
- if (inferenceContext) {
292
- let foundWorkingExpectedType = false;
293
- returnType = (0, typeUtils_1.mapSubtypes)(inferenceContext.expectedType, (expectedSubType) => {
294
- // If we've already successfully evaluated the __init__ method with
295
- // one expected type, ignore the remaining ones.
296
- if (foundWorkingExpectedType) {
297
- return undefined;
298
- }
299
- expectedSubType = (0, typeUtils_1.transformPossibleRecursiveTypeAlias)(expectedSubType);
300
- // If the expected type is the same type as the class and the class
301
- // is already explicitly specialized, don't override the explicit
302
- // specialization.
303
- if ((0, types_1.isClassInstance)(expectedSubType) &&
304
- types_1.ClassType.isSameGenericClass(type, expectedSubType) &&
305
- type.priv.typeArguments) {
306
- return undefined;
307
- }
308
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
309
- typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(initMethodType));
310
- if (!(0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), expectedSubType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode), errorNode.start)) {
311
- return undefined;
312
- }
313
- const specializedConstructor = (0, typeUtils_1.applySolvedTypeVars)(initMethodType, typeVarContext);
314
- let callResult;
315
- callResult = evaluator.useSpeculativeMode(errorNode, () => {
316
- return evaluator.validateCallArguments(errorNode, argList, { type: specializedConstructor }, typeVarContext.clone(), skipUnknownArgCheck,
317
- /* inferenceContext */ undefined, signatureTracker);
318
- });
319
- if (callResult.argumentErrors) {
320
- return undefined;
321
- }
322
- // Call validateCallArguments again, this time without speculative
323
- // mode, so any errors are reported.
324
- callResult = evaluator.validateCallArguments(errorNode, argList, { type: specializedConstructor }, typeVarContext, skipUnknownArgCheck,
325
- /* inferenceContext */ undefined, signatureTracker);
326
- if (callResult.isTypeIncomplete) {
327
- isTypeIncomplete = true;
328
- }
329
- if (callResult.argumentErrors) {
330
- argumentErrors = true;
331
- }
332
- if (callResult.overloadsUsedForCall) {
333
- (0, collectionUtils_1.appendArray)(overloadsUsedForCall, callResult.overloadsUsedForCall);
334
- }
335
- // Note that we've found an expected type that works.
336
- foundWorkingExpectedType = true;
337
- return applyExpectedSubtypeForConstructor(evaluator, type, expectedSubType, typeVarContext);
338
- }, { sortSubtypes: true });
339
- if ((0, types_1.isNever)(returnType) || argumentErrors) {
340
- returnType = undefined;
341
- }
276
+ const typeVarContext = type.priv.typeArgs
277
+ ? (0, typeUtils_1.buildTypeVarContextFromSpecializedClass)(type)
278
+ : new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
279
+ typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(initMethodType));
280
+ const returnTypeOverride = (0, typeUtils_1.selfSpecializeClass)(type);
281
+ const callResult = evaluator.validateCallArgs(errorNode, argList, { type: initMethodType }, typeVarContext, skipUnknownArgCheck, inferenceContext ? { ...inferenceContext, returnTypeOverride } : undefined);
282
+ let adjustedClassType = type;
283
+ if (callResult.specializedInitSelfType &&
284
+ (0, types_1.isClassInstance)(callResult.specializedInitSelfType) &&
285
+ types_1.ClassType.isSameGenericClass(callResult.specializedInitSelfType, adjustedClassType)) {
286
+ adjustedClassType = types_1.ClassType.cloneAsInstantiable(callResult.specializedInitSelfType);
287
+ }
288
+ const returnType = applyExpectedTypeForConstructor(evaluator, adjustedClassType,
289
+ /* inferenceContext */ undefined, typeVarContext);
290
+ if (callResult.isTypeIncomplete) {
291
+ isTypeIncomplete = true;
342
292
  }
343
- if (!returnType) {
344
- const typeVarContext = type.priv.typeArguments
345
- ? (0, typeUtils_1.buildTypeVarContextFromSpecializedClass)(type)
346
- : new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
347
- typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(initMethodType));
348
- const callResult = evaluator.validateCallArguments(errorNode, argList, { type: initMethodType }, typeVarContext, skipUnknownArgCheck,
349
- /* inferenceContext */ undefined, signatureTracker);
350
- let adjustedClassType = type;
351
- if (callResult.specializedInitSelfType &&
352
- (0, types_1.isClassInstance)(callResult.specializedInitSelfType) &&
353
- types_1.ClassType.isSameGenericClass(callResult.specializedInitSelfType, adjustedClassType)) {
354
- adjustedClassType = types_1.ClassType.cloneAsInstantiable(callResult.specializedInitSelfType);
355
- }
356
- returnType = applyExpectedTypeForConstructor(evaluator, adjustedClassType,
357
- /* inferenceContext */ undefined, typeVarContext);
358
- if (callResult.isTypeIncomplete) {
359
- isTypeIncomplete = true;
360
- }
361
- if (callResult.argumentErrors) {
362
- argumentErrors = true;
363
- }
364
- else if (callResult.overloadsUsedForCall) {
365
- overloadsUsedForCall.push(...callResult.overloadsUsedForCall);
366
- }
293
+ if (callResult.argumentErrors) {
294
+ argumentErrors = true;
295
+ }
296
+ else if (callResult.overloadsUsedForCall) {
297
+ overloadsUsedForCall.push(...callResult.overloadsUsedForCall);
367
298
  }
368
299
  return { argumentErrors, returnType, isTypeIncomplete, overloadsUsedForCall };
369
300
  }
370
301
  function validateFallbackConstructorCall(evaluator, errorNode, argList, type, inferenceContext) {
371
- let reportedErrors = false;
372
- // It's OK if the argument list consists only of `*args` and `**kwargs`.
373
- if (argList.length > 0 && argList.some((arg) => arg.argumentCategory === 0 /* ArgumentCategory.Simple */)) {
374
- evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportCallIssue, localize_1.LocMessage.constructorNoArgs().format({ type: type.priv.aliasName || type.shared.name }), errorNode);
375
- reportedErrors = true;
376
- }
377
- if (!inferenceContext && type.priv.typeArguments) {
378
- // If there was no expected type but the type was already specialized,
379
- // assume that we're constructing an instance of the specialized type.
380
- return {
381
- argumentErrors: reportedErrors,
382
- overloadsUsedForCall: [],
383
- returnType: (0, typeUtils_1.convertToInstance)(type),
384
- };
385
- }
386
- // Do our best to specialize the instantiated class based on the expected
387
- // type if provided.
388
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
389
- if (inferenceContext) {
390
- let expectedType = inferenceContext.expectedType;
391
- // If the expectedType is a union, try to pick one that is likely to
392
- // be the best choice.
393
- if ((0, types_1.isUnion)(expectedType)) {
394
- expectedType = (0, types_1.findSubtype)(expectedType, (subtype) => {
395
- if ((0, types_1.isAnyOrUnknown)(subtype) || (0, types_1.isNever)(subtype)) {
396
- return false;
397
- }
398
- if ((0, types_1.isClass)(subtype) && evaluator.assignType(subtype, types_1.ClassType.cloneAsInstance(type))) {
399
- return true;
400
- }
401
- return false;
402
- });
403
- }
404
- if (expectedType) {
405
- (0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), expectedType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode), errorNode.start);
406
- }
407
- }
408
- return {
409
- argumentErrors: reportedErrors,
410
- overloadsUsedForCall: [],
411
- returnType: applyExpectedTypeForConstructor(evaluator, type, inferenceContext, typeVarContext),
412
- };
302
+ var _a;
303
+ // Bind the __new__ method from the object class.
304
+ const newMethodType = (_a = getBoundNewMethod(evaluator, errorNode, type,
305
+ /* diag */ undefined, 0 /* MemberAccessFlags.Default */)) === null || _a === void 0 ? void 0 : _a.type;
306
+ // If there was no object.__new__ or it's not a callable, then something has
307
+ // gone terribly wrong in the typeshed stubs. To avoid crashing, simply
308
+ // return the instance.
309
+ if (!newMethodType || (!(0, types_1.isFunction)(newMethodType) && !(0, types_1.isOverloadedFunction)(newMethodType))) {
310
+ return { returnType: (0, typeUtils_1.convertToInstance)(type) };
311
+ }
312
+ return validateNewMethod(evaluator, errorNode, argList, type,
313
+ /* skipUnknownArgCheck */ false, inferenceContext, { type: newMethodType },
314
+ /* useSpeculativeModeForArgs */ false);
413
315
  }
414
- function validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext, signatureTracker) {
316
+ function validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext) {
415
317
  const metaclassCallMethodInfo = getBoundCallMethod(evaluator, errorNode, type);
416
318
  if (!metaclassCallMethodInfo) {
417
319
  return undefined;
418
320
  }
419
- const callResult = evaluator.validateCallArguments(errorNode, argList, metaclassCallMethodInfo,
420
- /* typeVarContext */ undefined, skipUnknownArgCheck, inferenceContext, signatureTracker);
321
+ const callResult = evaluator.validateCallArgs(errorNode, argList, metaclassCallMethodInfo,
322
+ /* typeVarContext */ undefined, skipUnknownArgCheck, inferenceContext);
421
323
  // If the return type is unannotated, don't use the inferred return type.
422
324
  const callType = metaclassCallMethodInfo.type;
423
325
  if ((0, types_1.isFunction)(callType) && !callType.shared.declaredReturnType) {
@@ -448,7 +350,7 @@ function applyExpectedTypeForConstructor(evaluator, type, inferenceContext, type
448
350
  let unsolvedTypeVarsAreUnknown = true;
449
351
  // If this isn't a generic type or it's a type that has already been
450
352
  // explicitly specialized, the expected type isn't applicable.
451
- if (type.shared.typeParameters.length === 0 || type.priv.typeArguments) {
353
+ if (type.shared.typeParams.length === 0 || type.priv.typeArgs) {
452
354
  return (0, typeUtils_1.applySolvedTypeVars)(types_1.ClassType.cloneAsInstance(type), typeVarContext, { applyInScopePlaceholders: true });
453
355
  }
454
356
  if (inferenceContext) {
@@ -461,7 +363,7 @@ function applyExpectedTypeForConstructor(evaluator, type, inferenceContext, type
461
363
  // If the expected type didn't provide TypeVar values, remaining
462
364
  // unsolved TypeVars should be considered Unknown unless they were
463
365
  // provided explicitly in the constructor call.
464
- if (type.priv.typeArguments) {
366
+ if (type.priv.typeArgs) {
465
367
  unsolvedTypeVarsAreUnknown = false;
466
368
  }
467
369
  }
@@ -478,8 +380,8 @@ function applyExpectedTypeForTupleConstructor(type, inferenceContext) {
478
380
  if (inferenceContext &&
479
381
  (0, types_1.isClassInstance)(inferenceContext.expectedType) &&
480
382
  (0, typeUtils_1.isTupleClass)(inferenceContext.expectedType) &&
481
- inferenceContext.expectedType.priv.tupleTypeArguments) {
482
- specializedType = (0, typeUtils_1.specializeTupleClass)(type, inferenceContext.expectedType.priv.tupleTypeArguments);
383
+ inferenceContext.expectedType.priv.tupleTypeArgs) {
384
+ specializedType = (0, typeUtils_1.specializeTupleClass)(type, inferenceContext.expectedType.priv.tupleTypeArgs);
483
385
  }
484
386
  return specializedType;
485
387
  }
@@ -562,15 +464,15 @@ function createFunctionFromNewMethod(evaluator, classType, selfType, recursionCo
562
464
  // If there are no parameters that include class-scoped type parameters,
563
465
  // self-specialize the class because the type arguments for the class
564
466
  // can't be solved if there are no parameters to supply them.
565
- const hasParametersWithTypeVars = newSubtype.shared.parameters.some((param, index) => {
467
+ const hasParamsWithTypeVars = newSubtype.shared.parameters.some((param, index) => {
566
468
  if (index === 0 || !param.name) {
567
469
  return false;
568
470
  }
569
- const paramType = types_1.FunctionType.getEffectiveParameterType(newSubtype, index);
570
- const typeVars = (0, typeUtils_1.getTypeVarArgumentsRecursive)(paramType);
471
+ const paramType = types_1.FunctionType.getEffectiveParamType(newSubtype, index);
472
+ const typeVars = (0, typeUtils_1.getTypeVarArgsRecursive)(paramType);
571
473
  return typeVars.some((typeVar) => typeVar.priv.scopeId === (0, typeUtils_1.getTypeVarScopeId)(classType));
572
474
  });
573
- const boundNew = evaluator.bindFunctionToClassOrObject(hasParametersWithTypeVars ? (0, typeUtils_1.selfSpecializeClass)(classType) : classType, newSubtype, newInfo && (0, types_1.isInstantiableClass)(newInfo.classType) ? newInfo.classType : undefined,
475
+ const boundNew = evaluator.bindFunctionToClassOrObject(hasParamsWithTypeVars ? (0, typeUtils_1.selfSpecializeClass)(classType) : classType, newSubtype, newInfo && (0, types_1.isInstantiableClass)(newInfo.classType) ? newInfo.classType : undefined,
574
476
  /* treatConstructorAsClassMethod */ true, selfType,
575
477
  /* diag */ undefined, recursionCount);
576
478
  if (!boundNew) {
@@ -613,7 +515,7 @@ function createFunctionFromObjectNewMethod(classType) {
613
515
  // If this is type[T] or a protocol, we don't know what parameters are accepted
614
516
  // by the constructor, so add the default parameters.
615
517
  if (classType.priv.includeSubclasses || types_1.ClassType.isProtocolClass(classType)) {
616
- types_1.FunctionType.addDefaultParameters(constructorFunction);
518
+ types_1.FunctionType.addDefaultParams(constructorFunction);
617
519
  }
618
520
  if (!constructorFunction.shared.docString && classType.shared.docString) {
619
521
  constructorFunction.shared.docString = classType.shared.docString;
@@ -644,22 +546,17 @@ function createFunctionFromInitMethod(evaluator, classType, selfType, recursionC
644
546
  returnType = objectType;
645
547
  // If this is a generic type, self-specialize the class (i.e. fill in
646
548
  // its own type parameters as type arguments).
647
- if (objectType.shared.typeParameters.length > 0 && !objectType.priv.typeArguments) {
549
+ if (objectType.shared.typeParams.length > 0 && !objectType.priv.typeArgs) {
648
550
  const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeIds)(objectType));
649
551
  // If a TypeVar is not used in any of the parameter types, it should take
650
552
  // on its default value (typically Unknown) in the resulting specialized type.
651
553
  const typeVarsInParams = [];
652
554
  convertedInit.shared.parameters.forEach((param, index) => {
653
- const paramType = types_1.FunctionType.getEffectiveParameterType(convertedInit, index);
654
- (0, typeUtils_1.addTypeVarsToListIfUnique)(typeVarsInParams, (0, typeUtils_1.getTypeVarArgumentsRecursive)(paramType));
555
+ const paramType = types_1.FunctionType.getEffectiveParamType(convertedInit, index);
556
+ (0, typeUtils_1.addTypeVarsToListIfUnique)(typeVarsInParams, (0, typeUtils_1.getTypeVarArgsRecursive)(paramType));
655
557
  });
656
558
  typeVarsInParams.forEach((typeVar) => {
657
- if ((0, types_1.isParamSpec)(typeVar)) {
658
- typeVarContext.setTypeVarType(typeVar, (0, typeUtils_1.convertTypeToParamSpecValue)(typeVar));
659
- }
660
- else {
661
- typeVarContext.setTypeVarType(typeVar, typeVar);
662
- }
559
+ (0, typeUtils_1.setTypeVarType)(typeVarContext, typeVar, typeVar);
663
560
  });
664
561
  returnType = (0, typeUtils_1.applySolvedTypeVars)(objectType, typeVarContext, {
665
562
  unknownIfNotFound: true,
@@ -747,7 +644,7 @@ function isDefaultNewMethod(newMethod) {
747
644
  if (params.length !== 2) {
748
645
  return false;
749
646
  }
750
- if (params[0].category !== 1 /* ParameterCategory.ArgsList */ || params[1].category !== 2 /* ParameterCategory.KwargsDict */) {
647
+ if (params[0].category !== 1 /* ParamCategory.ArgsList */ || params[1].category !== 2 /* ParamCategory.KwargsDict */) {
751
648
  return false;
752
649
  }
753
650
  const returnType = (_a = newMethod.shared.declaredReturnType) !== null && _a !== void 0 ? _a : newMethod.priv.inferredReturnType;
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,+DAAwD;AACxD,qDAA0D;AAC1D,+DAA2D;AAE3D,iEAA4F;AAE5F,2CAkBqB;AACrB,qDAAkD;AAClD,mCAqBiB;AAEjB,qDAAqD;AACrD,SAAgB,iBAAiB,CAC7B,SAAwB,EACxB,SAAyB,EACzB,IAAe,EACf,OAAuC,SAAS,EAChD,eAAe,gDAAwC;IAEvD,MAAM,KAAK,GACP;+DAC6C;iEACE;QAC/C,eAAe,CAAC;IAEpB,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtG,CAAC;AAdD,8CAcC;AAED,+DAA+D;AAC/D,SAAgB,kBAAkB,CAC9B,SAAwB,EACxB,SAAyB,EACzB,IAAe,EACf,OAAuC,SAAS,EAChD,eAAe,gDAAwC;IAEvD,MAAM,KAAK,GACP,wGAAqF,GAAG,eAAe,CAAC;IAE5G,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACvG,CAAC;AAXD,gDAWC;AAED,uEAAuE;AACvE,SAAgB,kBAAkB,CAAC,SAAwB,EAAE,SAAyB,EAAE,IAAe;IACnG,OAAO,SAAS,CAAC,oBAAoB,CACjC,SAAS,EACT,IAAI,EACJ,UAAU,EACV,EAAE,MAAM,EAAE,KAAK,EAAE;IACjB,UAAU,CAAC,SAAS,EACpB;mDACuC;+DACU,CACpD,CAAC;AACN,CAAC;AAXD,gDAWC;AAED,kEAAkE;AAClE,yEAAyE;AACzE,4EAA4E;AAC5E,SAAgB,uBAAuB,CACnC,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,mBAAwC,EACxC,gBAA8C;;IAE9C,oEAAoE;IACpE,sCAAsC;IACtC,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,CAAC;IAC5C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC9C,MAAM,uBAAuB,GAAG,IAAI,+BAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAc,CAAC;KACvG;IAED,MAAM,eAAe,GAAG,qBAAqB,CACzC,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,CACnB,CAAC;IAEF,IAAI,eAAe,EAAE;QACjB,MAAM,mBAAmB,GAAG,MAAA,eAAe,CAAC,UAAU,mCAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;QAE/E,oEAAoE;QACpE,gEAAgE;QAChE,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,eAAe,CAAC,cAAc,IAAI,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE;YACxG,OAAO,eAAe,CAAC;SAC1B;KACJ;IAED,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAI,+BAAkB,EAAE,CAAC;IAC/C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACzF,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,UAAU,EAAE;QACjC,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;KACzG;IAED,MAAM,uBAAuB,GAAG,IAAA,8CAAuB,EAAC,IAAI,CAAC,CAAC;IAE9D,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,YAAY,GAAG,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;QACpG,OAAO,yBAAyB,CAC5B,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,CACtB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,uBAAuB,GAAG,CAAC,uBAAuB,IAAI,YAAY,CAAC,cAAc,CAAC;IAEtF,+CAA+C;IAC/C,IAAI,uBAAuB,EAAE;QACzB,IAAI,YAAY,CAAC,cAAc,EAAE;YAC7B,yEAAyE;YACzE,0EAA0E;YAC1E,8CAA8C;YAC9C,yBAAyB,CACrB,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,CACtB,CAAC;YAEF,uBAAuB,GAAG,IAAI,CAAC;SAClC;aAAM,IAAI,YAAY,CAAC,UAAU,EAAE;YAChC,MAAM,WAAW,GAAG,IAAA,gDAAyB,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC/E,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc;gBAC7C,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,gBAAgB;aACpD,CAAC,CAAC;YAEH,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAEjD,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAC9B,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;aACxC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC5B,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;aACtC;YAED,uBAAuB,GAAG,IAAI,CAAC;SAClC;KACJ;IAED,wEAAwE;IACxE,sEAAsE;IACtE,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBAC/E,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aACtD;QACL,CAAC,CAAC,CAAC;KACN;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AA/GD,0DA+GC;AAED,SAAS,yBAAyB,CAC9B,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,mBAA2C;;IAE3C,IAAI,UAA4B,CAAC;IACjC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAChD,IAAI,mBAAqC,CAAC;IAE1C,qCAAqC;IACrC,IAAI,mBAAmB,EAAE;QACrB,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,aAAa,GAAG,iBAAiB,CACnC,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB;QACnB,+BAA+B,CAAC,IAAI,CACvC,CAAC;QAEF,IAAI,aAAa,CAAC,cAAc,EAAE;YAC9B,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM;YACH,IAAA,6BAAW,EAAC,oBAAoB,EAAE,MAAA,aAAa,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC;SAC/E;QAED,IAAI,aAAa,CAAC,gBAAgB,EAAE;YAChC,gBAAgB,GAAG,IAAI,CAAC;SAC3B;QAED,mBAAmB,GAAG,aAAa,CAAC,UAAU,CAAC;KAClD;IAED,IAAI,CAAC,mBAAmB,IAAI,kBAAkB,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,IAAI,CAAC,EAAE;QACvE,gEAAgE;QAChE,+DAA+D;QAC/D,+CAA+C;QAC/C,mBAAmB,GAAG,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KACzD;SAAM,IAAI,IAAA,sBAAc,EAAC,mBAAmB,CAAC,EAAE;QAC5C,wEAAwE;QACxE,wCAAwC;QACxC,mBAAmB,GAAG,IAAA,+BAAmB,EACrC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAC/B,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,EAC3C,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAChE,CAAC;KAClB;IAED,IAAI,oBAA4C,CAAC;IAEjD,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,cAAc,EAAE;QAChB,oBAAoB,GAAG,EAAE,IAAI,EAAE,IAAA,6BAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;KAC5D;IAED,qCAAqC;IACrC,IACI,CAAC,IAAA,eAAO,EAAC,mBAAmB,CAAC;QAC7B,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAC/D,IAAA,uBAAe,EAAC,mBAAmB,CAAC,EACtC;QACE,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,oBAAoB,GAAG,mBAAmB,CAAC;QAC/C,IACI,oBAAoB,CAAC,IAAI,CAAC,QAAQ;YAClC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC,EAC1E;YACE,oBAAoB,GAAG,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC1D;QAED,oEAAoE;QACpE,MAAM,cAAc,GAAG,IAAI,+BAAkB,EAAE,CAAC;QAChD,oBAAoB,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACtG,IAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,UAAU,EAAE;YAClC,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;SAC1G;QAED,qCAAqC;QACrC,IAAI,oBAAoB,EAAE;YACtB,MAAM,cAAc,GAAG,kBAAkB,CACrC,SAAS,EACT,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,CAAC,IAAI,CAC5B,CAAC;YAEF,IAAI,cAAc,CAAC,cAAc,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE;gBAC5C,oBAAoB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;aACrE;YAED,IAAI,cAAc,CAAC,gBAAgB,EAAE;gBACjC,gBAAgB,GAAG,IAAI,CAAC;aAC3B;YAED,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;YACvC,uBAAuB,GAAG,IAAI,CAAC;YAC/B,mBAAmB,GAAG,IAAI,CAAC;SAC9B;KACJ;IAED,IAAI,CAAC,uBAAuB,IAAI,mBAAmB,EAAE;QACjD,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE;YAC9C,iBAAiB,CACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB;YACnB,+BAA+B,CAAC,KAAK,CACxC,CAAC;SACL;QAED,uBAAuB,GAAG,IAAI,CAAC;QAC/B,UAAU,GAAG,mBAAmB,CAAC;KACpC;IAED,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB,EAAE;QAC/C,MAAM,UAAU,GAAG,+BAA+B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAE1G,IAAI,UAAU,CAAC,cAAc,EAAE;YAC3B,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE;YACxC,IAAA,6BAAW,EAAC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACtE;QAED,IAAI,UAAU,CAAC,gBAAgB,EAAE;YAC7B,gBAAgB,GAAG,IAAI,CAAC;SAC3B;QAED,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;KAC9D;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClF,CAAC;AAED,kFAAkF;AAClF,8EAA8E;AAC9E,qEAAqE;AACrE,SAAS,iBAAiB,CACtB,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,mBAA+B,EAC/B,yBAAkC;IAElC,IAAI,aAA+B,CAAC;IACpC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAEhD,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,gBAAgB,CAAC,IAAA,6BAAiB,EAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;QACpG,OAAO,SAAS,CAAC,gBAAgB,CAC7B,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CACnB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,gBAAgB,EAAE;QAC7B,gBAAgB,GAAG,IAAI,CAAC;KAC3B;IAED,IAAI,UAAU,CAAC,cAAc,EAAE;QAC3B,cAAc,GAAG,IAAI,CAAC;QAEtB,kFAAkF;QAClF,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,SAAS,CAAC,gBAAgB,CACtB,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CACnB,CAAC;KACL;SAAM;QACH,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC;QAEtC,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,oBAAoB,EAAE;YACtE,oBAAoB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACjE;KACJ;IAED,IAAI,aAAa,EAAE;QACf,qEAAqE;QACrE,yBAAyB;QACzB,IAAI,IAAA,uBAAe,EAAC,aAAa,CAAC,IAAI,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE;YACpG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzE,aAAa,GAAG,IAAA,gCAAoB,EAAC,aAAa,EAAE;oBAChD,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;iBAC9D,CAAC,CAAC;aACN;YAED,aAAa,GAAG,oCAAoC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SACzF;KACJ;SAAM;QACH,aAAa,GAAG,+BAA+B,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;KACtG;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,kBAAkB,CACvB,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,cAAoB;IAEpB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAEhD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;QACrC,CAAC,CAAC,IAAA,mDAAuC,EAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;IAClD,cAAc,CAAC,gBAAgB,CAAC,IAAA,6BAAiB,EAAC,cAAc,CAAC,CAAC,CAAC;IAEnE,MAAM,kBAAkB,GAAG,IAAA,+BAAmB,EAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CACzC,SAAS,EACT,OAAO,EACP,EAAE,IAAI,EAAE,cAAc,EAAE,EACxB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7E,CAAC;IAEF,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IACI,UAAU,CAAC,uBAAuB;QAClC,IAAA,uBAAe,EAAC,UAAU,CAAC,uBAAuB,CAAC;QACnD,iBAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,EACrF;QACE,iBAAiB,GAAG,iBAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;KACzF;IAED,MAAM,UAAU,GAAG,+BAA+B,CAC9C,SAAS,EACT,iBAAiB;IACjB,sBAAsB,CAAC,SAAS,EAChC,cAAc,CACjB,CAAC;IAEF,IAAI,UAAU,CAAC,gBAAgB,EAAE;QAC7B,gBAAgB,GAAG,IAAI,CAAC;KAC3B;IAED,IAAI,UAAU,CAAC,cAAc,EAAE;QAC3B,cAAc,GAAG,IAAI,CAAC;KACzB;SAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE;QACxC,oBAAoB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;KACjE;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,+BAA+B,CACpC,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,gBAA8C;;IAE9C,iDAAiD;IACjD,MAAM,aAAa,GAAG,MAAA,iBAAiB,CACnC,SAAS,EACT,SAAS,EACT,IAAI;IACJ,UAAU,CAAC,SAAS,oCAEvB,0CAAE,IAAI,CAAC;IAER,4EAA4E;IAC5E,uEAAuE;IACvE,uBAAuB;IACvB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAA,kBAAU,EAAC,aAAa,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAC,EAAE;QACxF,OAAO,EAAE,UAAU,EAAE,IAAA,6BAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;KAClD;IAED,OAAO,iBAAiB,CACpB,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI;IACJ,yBAAyB,CAAC,KAAK,EAC/B,gBAAgB,EAChB,EAAE,IAAI,EAAE,aAAa,EAAE;IACvB,+BAA+B,CAAC,KAAK,CACxC,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAC1B,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,IAAe,EACf,mBAAwC,EACxC,gBAA8C;IAE9C,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE/E,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CACzC,SAAS,EACT,OAAO,EACP,uBAAuB;IACvB,oBAAoB,CAAC,SAAS,EAC9B,mBAAmB,EACnB,gBAAgB,CACnB,CAAC;IAEF,yEAAyE;IACzE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC;IAC9C,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC7D,OAAO,SAAS,CAAC;KACpB;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,UAAU,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3D,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,kCAAkC,CACvC,SAAwB,EACxB,IAAe,EACf,eAAqB,EACrB,cAA8B;IAE9B,MAAM,eAAe,GAAG,IAAA,+BAAmB,EAAC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;QACzF,wBAAwB,EAAE,IAAI;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE;QACzD,OAAO,SAAS,CAAC;KACpB;IAED,yDAAyD;IACzD,IAAI,IAAA,aAAK,EAAC,eAAe,CAAC,EAAE;QACxB,OAAO,eAAe,CAAC;KAC1B;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,sEAAsE;AACtE,wEAAwE;AACxE,SAAS,+BAA+B,CACpC,SAAwB,EACxB,IAAe,EACf,gBAA8C,EAC9C,cAA8B;IAE9B,IAAI,0BAA0B,GAAG,IAAI,CAAC;IAEtC,oEAAoE;IACpE,8DAA8D;IAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC3D,OAAO,IAAA,+BAAmB,EAAC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;KACnH;IAED,IAAI,gBAAgB,EAAE;QAClB,MAAM,uBAAuB,GAAG,IAAA,uBAAW,EAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,eAAe,EAAE,EAAE;YAC3F,OAAO,kCAAkC,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAA,eAAO,EAAC,uBAAuB,CAAC,EAAE;YACnC,OAAO,uBAAuB,CAAC;SAClC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpB,0BAA0B,GAAG,KAAK,CAAC;SACtC;KACJ;IAED,MAAM,eAAe,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE,cAAc,EAAE;QAC9D,iBAAiB,EAAE,0BAA0B;QAC7C,cAAc,EAAE,SAAS,CAAC,iBAAiB,EAAE;KAChD,CAAc,CAAC;IAChB,OAAO,iBAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACtD,CAAC;AAED,wEAAwE;AACxE,mCAAmC;AACnC,SAAS,oCAAoC,CAAC,IAAe,EAAE,gBAA8C;IACzG,IAAI,eAAe,GAAG,IAAI,CAAC;IAE3B,IACI,gBAAgB;QAChB,IAAA,uBAAe,EAAC,gBAAgB,CAAC,YAAY,CAAC;QAC9C,IAAA,wBAAY,EAAC,gBAAgB,CAAC,YAAY,CAAC;QAC3C,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAClD;QACE,eAAe,GAAG,IAAA,gCAAoB,EAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAClG;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,uEAAuE;AACvE,8DAA8D;AAC9D,SAAgB,6BAA6B,CACzC,SAAwB,EACxB,SAAoB,EACpB,WAAgD,SAAS,EACzD,cAAc,GAAG,CAAC;IAElB,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAChG,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5F,IAAI,OAAO,EAAE;QACT,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAA,8BAAkB,EAAC,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;YACtC,MAAM,mBAAmB,GAAG,oBAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC3E,IAAI,mBAAmB,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE;gBAC5F,cAAc,GAAG,IAAI,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAChB,OAAO,OAAO,CAAC;SAClB;KACJ;IAED,MAAM,QAAQ,GAAG,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE9F,iEAAiE;IACjE,8CAA8C;IAC9C,IAAI,OAAO,IAAI,QAAQ,EAAE;QACrB,OAAO,IAAA,oBAAY,EAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO,IAAI,QAAQ,EAAE;QACrB,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC;KAC9B;IAED,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,iCAAiC,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAzCD,sEAyCC;AAED,SAAS,+BAA+B,CACpC,SAAwB,EACxB,SAAoB,EACpB,cAAsB;IAEtB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACtD,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;QACnC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAC9B,SAAS,EACT,UAAU,EACV;mDACuC;+DACU,CACpD,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,QAAQ,CAAC,EAAE;QAC1D,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,2BAA2B,CACvD,SAAS,EACT,QAAQ,EACR,QAAQ,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;IACpF,mCAAmC,CAAC,KAAK,EACzC,iBAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC;IACxC,UAAU,CAAC,SAAS,EACpB,cAAc,CACjB,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,0EAA0E;IAC1E,2EAA2E;IAC3E,eAAe;IACf,IAAA,8BAAkB,EAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACrC,MAAM,UAAU,GAAG,oBAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,UAAU,IAAI,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;gBAChF,gBAAgB,GAAG,IAAI,CAAC;aAC3B;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,2BAA2B,CAChC,SAAwB,EACxB,SAAoB,EACpB,QAA6C,EAC7C,cAAsB;IAEtB,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAC7B,SAAS,EACT,SAAS,EACT;+DACiD;qDACR,CAC5C,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,uBAAuB,GAAG,CAAC,UAAwB,EAAE,EAAE;QACzD,wEAAwE;QACxE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7E,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC5B,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,SAAS,GAAG,oBAAY,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC;YACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,2BAA2B,CAClD,qBAAqB,CAAC,CAAC,CAAC,IAAA,+BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAClE,UAAU,EACV,OAAO,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACjF,mCAAmC,CAAC,IAAI,EACxC,QAAQ;QACR,UAAU,CAAC,SAAS,EACpB,cAAc,CACW,CAAC;QAE9B,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,oBAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;QAEtE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;YAC9D,YAAY,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;SAC9D;QAED,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,oFAAoE,CAAC,CAAC;QACrG,YAAY,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;QAE3E,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE;QACrB,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,OAAO,CAAC,EAAE;QAChC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,8BAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iCAAiC,CAAC,SAAoB;IAC3D,oEAAoE;IACpE,MAAM,mBAAmB,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,iCAAyB,CAAC;IACtG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,GAAG,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAErF,+EAA+E;IAC/E,qDAAqD;IACrD,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,IAAI,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QAC1E,oBAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;QACrE,mBAAmB,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;KACrE;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACjC,SAAwB,EACxB,SAAoB,EACpB,QAA6C,EAC7C,cAAsB;IAEtB,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAC9B,SAAS,EACT,UAAU,EACV;+DACiD;qDACR,CAC5C,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAExD,SAAS,wBAAwB,CAAC,WAAyB;;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,2BAA2B,CACnD,UAAU,EACV,WAAW,EACX,QAAQ,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpF,mCAAmC,CAAC,SAAS,EAC7C,QAAQ;QACR,UAAU,CAAC,SAAS,EACpB,cAAc,CACW,CAAC;QAE9B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,oBAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,UAAU,CAAC;YAExB,qEAAqE;YACrE,8CAA8C;YAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,8BAAkB,EAAC,UAAU,CAAC,CAAC,CAAC;gBAE1E,yEAAyE;gBACzE,8EAA8E;gBAC9E,MAAM,gBAAgB,GAAkB,EAAE,CAAC;gBAE3C,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACrD,MAAM,SAAS,GAAG,oBAAY,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC3E,IAAA,qCAAyB,EAAC,gBAAgB,EAAE,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBAEH,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjC,IAAA,0BAAc,EAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,IAAA,+BAAmB,EAAC,UAAU,EAAE,cAAc,EAAE;oBACzD,iBAAiB,EAAE,IAAI;oBACvB,cAAc,EAAE,SAAS,CAAC,iBAAiB,EAAE;iBAChD,CAAc,CAAC;aACnB;SACJ;QAED,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,sBAAsB,mCAAI,UAAU,CAAC;QAE9F,IAAI,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACrC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;SAC/D;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;YAC/D,aAAa,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;SAC/D;QAED,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,uCAA+B,CAAC;QAC9D,aAAa,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;QAE5E,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,EAAE;QACtB,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,QAAQ,CAAC,EAAE;QACjC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE;YACX,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,OAAO,8BAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,mDAAmD;AACnD,SAAS,8BAA8B,CACnC,SAAwB,EACxB,SAAoB,EACpB,oBAA0B;IAE1B,IACI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAA,6BAAiB,EAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACzE,IAAA,eAAO,EAAC,oBAAoB,CAAC;QAC7B,IAAA,mBAAW,EAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,EAChE;QACE,OAAO,IAAI,CAAC;KACf;IAED,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,iBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,kCAAkC;AAClC,SAAS,wBAAwB,CAAC,SAAwB,EAAE,SAAoB,EAAE,mBAAyB;IACvG,MAAM,UAAU,GAAG,SAAS,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;IAE/E,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAA,4BAAgB,EAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE;YACpB,OAAO;SACV;QAED,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,gBAAgB,GAAqB,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAG,iBAAS,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAEpF,IAAI,CAAC,aAAa,EAAE;gBAChB,aAAa,GAAG,IAAI,CAAC;aACxB;YAED,OAAO;SACV;QAED,aAAa,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,oEAAoE;AACpE,kDAAkD;AAClD,SAAS,kBAAkB,CAAC,SAAgB;;IACxC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,mCAA2B,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,qCAA6B,EAAE;QAClG,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,mCAAI,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC5F,IAAI,CAAC,UAAU,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE;QAC/E,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { CallNode, ClassNode, ParseNode } from '../parser/parseNodes';
2
- import { FunctionArgument, TypeEvaluator } from './typeEvaluatorTypes';
2
+ import { Arg, TypeEvaluator } from './typeEvaluatorTypes';
3
3
  import { ClassType, DataClassBehaviors, DataClassEntry, Type } from './types';
4
4
  export declare function synthesizeDataClassMethods(evaluator: TypeEvaluator, node: ClassNode, classType: ClassType, isNamedTuple: boolean, skipSynthesizeInit: boolean, hasExistingInitMethod: boolean, skipSynthesizeHash: boolean): void;
5
5
  export declare function addInheritedDataClassEntries(classType: ClassType, entries: DataClassEntry[]): boolean;
6
6
  export declare function validateDataClassTransformDecorator(evaluator: TypeEvaluator, node: CallNode): DataClassBehaviors | undefined;
7
7
  export declare function getDataclassDecoratorBehaviors(type: Type): DataClassBehaviors | undefined;
8
- export declare function applyDataClassClassBehaviorOverrides(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, args: FunctionArgument[], defaultBehaviors: DataClassBehaviors): void;
8
+ export declare function applyDataClassClassBehaviorOverrides(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, args: Arg[], defaultBehaviors: DataClassBehaviors): void;
9
9
  export declare function applyDataClassDecorator(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, defaultBehaviors: DataClassBehaviors, callNode: CallNode | undefined): void;