code-auditor-mcp 3.4.11 → 3.4.13

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 (254) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +119 -1
  3. package/dist/analyzers/__verify_self_probe.d.ts +2 -0
  4. package/dist/analyzers/__verify_self_probe.d.ts.map +1 -0
  5. package/dist/analyzers/__verify_self_probe.js +5 -0
  6. package/dist/analyzers/__verify_self_probe.js.map +1 -0
  7. package/dist/analyzers/analyzerUtils.d.ts +34 -1
  8. package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
  9. package/dist/analyzers/analyzerUtils.js +61 -22
  10. package/dist/analyzers/analyzerUtils.js.map +1 -1
  11. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +18 -23
  12. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  13. package/dist/analyzers/cross-language/APIContractAnalyzer.js +198 -186
  14. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  15. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +78 -55
  16. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  17. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +244 -243
  18. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  19. package/dist/analyzers/cross-language/SchemaValidator.d.ts +27 -37
  20. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  21. package/dist/analyzers/cross-language/SchemaValidator.js +314 -275
  22. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  23. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +17 -46
  24. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  25. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +620 -523
  26. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  27. package/dist/analyzers/documentationAnalyzer.d.ts +7 -2
  28. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  29. package/dist/analyzers/documentationAnalyzer.js +259 -198
  30. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  31. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/invariantsAnalyzer.js +59 -46
  33. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  34. package/dist/analyzers/orm/adapterRegistry.d.ts +10 -0
  35. package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
  36. package/dist/analyzers/orm/adapterRegistry.js +10 -0
  37. package/dist/analyzers/orm/adapterRegistry.js.map +1 -1
  38. package/dist/analyzers/orm/drizzleAdapter.d.ts +22 -0
  39. package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
  40. package/dist/analyzers/orm/drizzleAdapter.js +42 -44
  41. package/dist/analyzers/orm/drizzleAdapter.js.map +1 -1
  42. package/dist/analyzers/orm/prismaAdapter.d.ts +30 -0
  43. package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
  44. package/dist/analyzers/orm/prismaAdapter.js +30 -0
  45. package/dist/analyzers/orm/prismaAdapter.js.map +1 -1
  46. package/dist/analyzers/provenance.d.ts +72 -2
  47. package/dist/analyzers/provenance.d.ts.map +1 -1
  48. package/dist/analyzers/provenance.js +462 -338
  49. package/dist/analyzers/provenance.js.map +1 -1
  50. package/dist/analyzers/reactAnalyzer.d.ts +11 -0
  51. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  52. package/dist/analyzers/reactAnalyzer.js +188 -125
  53. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  54. package/dist/analyzers/ruleRegistry.d.ts +118 -1
  55. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  56. package/dist/analyzers/ruleRegistry.js +1717 -104
  57. package/dist/analyzers/ruleRegistry.js.map +1 -1
  58. package/dist/analyzers/ruleTiming.d.ts +54 -0
  59. package/dist/analyzers/ruleTiming.d.ts.map +1 -0
  60. package/dist/analyzers/ruleTiming.js +71 -0
  61. package/dist/analyzers/ruleTiming.js.map +1 -0
  62. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +13 -0
  63. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  64. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +362 -283
  65. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  66. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +26 -68
  67. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  68. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +430 -391
  69. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  70. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +24 -186
  71. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  72. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +1081 -1061
  73. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  74. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +3 -49
  75. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  76. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +414 -340
  77. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  78. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +48 -5
  79. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  80. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +262 -134
  81. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  82. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +23 -212
  83. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  84. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +139 -1518
  85. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  86. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +78 -79
  87. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  88. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +613 -472
  89. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  90. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +307 -0
  91. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -0
  92. package/dist/analyzers/universal/schema/codeAnalysis.js +965 -0
  93. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -0
  94. package/dist/analyzers/universal/schema/config.d.ts +31 -0
  95. package/dist/analyzers/universal/schema/config.d.ts.map +1 -0
  96. package/dist/analyzers/universal/schema/config.js +57 -0
  97. package/dist/analyzers/universal/schema/config.js.map +1 -0
  98. package/dist/analyzers/universal/schema/discovery.d.ts +167 -0
  99. package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -0
  100. package/dist/analyzers/universal/schema/discovery.js +616 -0
  101. package/dist/analyzers/universal/schema/discovery.js.map +1 -0
  102. package/dist/analyzers/universal/schema/jsonSchema.d.ts +27 -0
  103. package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -0
  104. package/dist/analyzers/universal/schema/jsonSchema.js +368 -0
  105. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -0
  106. package/dist/analyzers/universal/schema/migrations.d.ts +90 -0
  107. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -0
  108. package/dist/analyzers/universal/schema/migrations.js +238 -0
  109. package/dist/analyzers/universal/schema/migrations.js.map +1 -0
  110. package/dist/analyzers/universal/schema/types.d.ts +131 -0
  111. package/dist/analyzers/universal/schema/types.d.ts.map +1 -0
  112. package/dist/analyzers/universal/schema/types.js +10 -0
  113. package/dist/analyzers/universal/schema/types.js.map +1 -0
  114. package/dist/analyzers/universal/schema/violations.d.ts +44 -0
  115. package/dist/analyzers/universal/schema/violations.d.ts.map +1 -0
  116. package/dist/analyzers/universal/schema/violations.js +54 -0
  117. package/dist/analyzers/universal/schema/violations.js.map +1 -0
  118. package/dist/auditRunner.d.ts.map +1 -1
  119. package/dist/auditRunner.js +101 -39
  120. package/dist/auditRunner.js.map +1 -1
  121. package/dist/cli.js +348 -40
  122. package/dist/cli.js.map +1 -1
  123. package/dist/config/configLoader.d.ts.map +1 -1
  124. package/dist/config/configLoader.js +9 -7
  125. package/dist/config/configLoader.js.map +1 -1
  126. package/dist/config/defaults.d.ts +12 -3
  127. package/dist/config/defaults.d.ts.map +1 -1
  128. package/dist/config/defaults.js +15 -5
  129. package/dist/config/defaults.js.map +1 -1
  130. package/dist/config/effectiveConfig.d.ts +75 -0
  131. package/dist/config/effectiveConfig.d.ts.map +1 -0
  132. package/dist/config/effectiveConfig.js +213 -0
  133. package/dist/config/effectiveConfig.js.map +1 -0
  134. package/dist/config/pathProfiles.d.ts +7 -4
  135. package/dist/config/pathProfiles.d.ts.map +1 -1
  136. package/dist/config/pathProfiles.js +8 -10
  137. package/dist/config/pathProfiles.js.map +1 -1
  138. package/dist/config/thresholdRationales.d.ts +45 -0
  139. package/dist/config/thresholdRationales.d.ts.map +1 -0
  140. package/dist/config/thresholdRationales.js +67 -0
  141. package/dist/config/thresholdRationales.js.map +1 -0
  142. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  143. package/dist/conventions/conventionMiner.js +6 -2
  144. package/dist/conventions/conventionMiner.js.map +1 -1
  145. package/dist/enforcement/diffGate.d.ts +55 -0
  146. package/dist/enforcement/diffGate.d.ts.map +1 -0
  147. package/dist/enforcement/diffGate.js +136 -0
  148. package/dist/enforcement/diffGate.js.map +1 -0
  149. package/dist/enforcement/gate.d.ts +36 -0
  150. package/dist/enforcement/gate.d.ts.map +1 -0
  151. package/dist/enforcement/gate.js +72 -0
  152. package/dist/enforcement/gate.js.map +1 -0
  153. package/dist/enforcement/suppressions.d.ts +41 -0
  154. package/dist/enforcement/suppressions.d.ts.map +1 -0
  155. package/dist/enforcement/suppressions.js +170 -0
  156. package/dist/enforcement/suppressions.js.map +1 -0
  157. package/dist/fingerprint.d.ts.map +1 -1
  158. package/dist/fingerprint.js +4 -1
  159. package/dist/fingerprint.js.map +1 -1
  160. package/dist/grammars/tree-sitter-scss.wasm +0 -0
  161. package/dist/invariants/ruleEngine.d.ts +3 -4
  162. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  163. package/dist/invariants/ruleEngine.js +2 -2
  164. package/dist/invariants/ruleEngine.js.map +1 -1
  165. package/dist/languages/LanguageOrchestrator.d.ts +14 -0
  166. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  167. package/dist/languages/LanguageOrchestrator.js +93 -55
  168. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  169. package/dist/languages/LanguageRegistry.d.ts +8 -0
  170. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  171. package/dist/languages/LanguageRegistry.js +8 -0
  172. package/dist/languages/LanguageRegistry.js.map +1 -1
  173. package/dist/languages/RuntimeManager.d.ts +82 -60
  174. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  175. package/dist/languages/RuntimeManager.js +404 -349
  176. package/dist/languages/RuntimeManager.js.map +1 -1
  177. package/dist/languages/UniversalAnalyzer.d.ts +51 -6
  178. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  179. package/dist/languages/UniversalAnalyzer.js +127 -88
  180. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  181. package/dist/languages/adapterBridge.d.ts +36 -0
  182. package/dist/languages/adapterBridge.d.ts.map +1 -1
  183. package/dist/languages/adapterBridge.js +89 -35
  184. package/dist/languages/adapterBridge.js.map +1 -1
  185. package/dist/languages/go/GoAdapter.d.ts +66 -23
  186. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  187. package/dist/languages/go/GoAdapter.js +553 -474
  188. package/dist/languages/go/GoAdapter.js.map +1 -1
  189. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +38 -9
  190. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  191. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +111 -74
  192. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  193. package/dist/languages/tree-sitter/converter.d.ts +18 -0
  194. package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
  195. package/dist/languages/tree-sitter/converter.js +18 -0
  196. package/dist/languages/tree-sitter/converter.js.map +1 -1
  197. package/dist/languages/tree-sitter/parser.d.ts +39 -2
  198. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  199. package/dist/languages/tree-sitter/parser.js +95 -12
  200. package/dist/languages/tree-sitter/parser.js.map +1 -1
  201. package/dist/languages/types.d.ts +67 -2
  202. package/dist/languages/types.d.ts.map +1 -1
  203. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +253 -62
  204. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  205. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1461 -791
  206. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  207. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  208. package/dist/mcp-tools-shared.d.ts.map +1 -1
  209. package/dist/mcp-tools-shared.js +1 -0
  210. package/dist/mcp-tools-shared.js.map +1 -1
  211. package/dist/mcpAuditJobs.d.ts.map +1 -1
  212. package/dist/mcpAuditJobs.js +1 -0
  213. package/dist/mcpAuditJobs.js.map +1 -1
  214. package/dist/pipeline.d.ts +30 -1
  215. package/dist/pipeline.d.ts.map +1 -1
  216. package/dist/pipeline.js +527 -203
  217. package/dist/pipeline.js.map +1 -1
  218. package/dist/pipelineAdapters.d.ts +5 -12
  219. package/dist/pipelineAdapters.d.ts.map +1 -1
  220. package/dist/pipelineAdapters.js +175 -100
  221. package/dist/pipelineAdapters.js.map +1 -1
  222. package/dist/presets/presets.d.ts +54 -0
  223. package/dist/presets/presets.d.ts.map +1 -0
  224. package/dist/presets/presets.js +181 -0
  225. package/dist/presets/presets.js.map +1 -0
  226. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  227. package/dist/reporting/sarifReportGenerator.js +0 -2
  228. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  229. package/dist/ruleAliases.d.ts +67 -0
  230. package/dist/ruleAliases.d.ts.map +1 -0
  231. package/dist/ruleAliases.js +79 -0
  232. package/dist/ruleAliases.js.map +1 -0
  233. package/dist/styles/cssAstExtractor.d.ts +20 -5
  234. package/dist/styles/cssAstExtractor.d.ts.map +1 -1
  235. package/dist/styles/cssAstExtractor.js +247 -9
  236. package/dist/styles/cssAstExtractor.js.map +1 -1
  237. package/dist/styles/styleIndexer.js +13 -4
  238. package/dist/styles/styleIndexer.js.map +1 -1
  239. package/dist/styles/tailwindConfigLoader.d.ts +8 -6
  240. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  241. package/dist/styles/tailwindConfigLoader.js +61 -15
  242. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  243. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  244. package/dist/styles/tailwindUtilityExpander.js +13 -1
  245. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  246. package/dist/types.d.ts +201 -1
  247. package/dist/types.d.ts.map +1 -1
  248. package/dist/types.js +8 -0
  249. package/dist/types.js.map +1 -1
  250. package/package.json +7 -4
  251. package/plugin/.claude-plugin/plugin.json +1 -1
  252. package/plugin/hooks/hooks.json +1 -1
  253. package/plugin/scripts/hook-audit.sh +25 -7
  254. package/plugin/skills/code-auditor/SKILL.md +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalStylesAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalStylesAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAUtD,OAAO,EAAE,mBAAmB,EAAgC,MAAM,yCAAyC,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAyB;IACzD,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE;QACf,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa;QACtE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc;QAC3E,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW;KAC5C;IACD,iBAAiB,EAAE,CAAC;IACpB,mCAAmC,EAAE,CAAC;IACtC,6BAA6B,EAAE,CAAC;IAChC,iCAAiC,EAAE,GAAG;CACvC,CAAC;AAEF,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,MAAM,mBAAmB,GAA2B;IAClD,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IAChC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IAClC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACrC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACtC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAC1C,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAC1C,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAC1C,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAmCvF,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,OAAO,uBAAwB,SAAQ,iBAAiB;IACnD,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAClB,wEAAwE;QACxE,oFAAoF,CAAC;IAC9E,QAAQ,GAAG,OAAO,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,OAAO,CACX,KAAe,EACf,MAAM,GAAQ,EAAE,EAChB,OAAO,GAAQ,EAAE;QAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAyB,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,wEAAwE;QACxE,MAAM,WAAW,GAA4B,MAAM,CAAC,WAAW,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;gBACjF,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBAC5B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aACzF,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aACpG,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoD,CAAC,CAAE,gCAAgC;QACpH,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAChE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,gBAAgB;QAChB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QACjG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhE,uCAAuC;QACvC,MAAM,iBAAiB,GAA2B,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,CAAC,CAAC,QAAQ,GAAG,QAAiD,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC;YAC3C,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACrC,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,WAAW,CAAC,IAAI;gBAC/B,eAAe,EAAE,QAAQ,CAAC,MAAM;gBAChC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACtC;SACF,CAAC;IACJ,CAAC;IAED,iDAAiD;IACvC,KAAK,CAAC,UAAU,CACxB,IAAS,EACT,QAAyB,EACzB,OAAY,EACZ,WAAmB;QAEnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAElE,iBAAiB,CAAC,WAAwB;QAChD,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,KAAK,CACtB,qEAAqE,CACpD,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,WAAwB;QAC1C,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAoB,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,WAAwB;QAC9C,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAyB,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,0BAA0B;IAC1B,0EAA0E;IAE1E;;;;;;;OAOG;IACK,gBAAgB,CACtB,UAAuC,EACvC,GAAyB,EACzB,QAAwB;QAExB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS;gBAAE,SAAS;YAE3C,sDAAsD;YACtD,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEvC,8EAA8E;YAC9E,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEhD,gDAAgD;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEnD,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,KAAqB;QACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,8DAA8D;YAC9D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,wCAAwC;YACxC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChD,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnD,wBAAwB;YACxB,IAAI,sGAAsG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjI,gCAAgC;YAChC,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;YACzB,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc;YACzD,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB;YAC/D,mBAAmB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ;YACtD,uBAAuB,EAAE,aAAa,EAAE,mBAAmB;YAC3D,cAAc,EAAE,iBAAiB;SAClC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,QAAgB,EAChB,KAAqB,EACrB,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,yBAAyB;QACzB,MAAM,MAAM,GAAiE,EAAE,CAAC;QAChF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS;YAAE,OAAO,UAAU,CAAC;QAErD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAE/D,sCAAsC;QACtC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY;YAAE,OAAO,UAAU,CAAC;QAEvE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QAErC,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAE7C,IAAI,KAAK,GAAG,GAAG,CAAC,eAAe,IAAI,YAAY,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpE,gEAAgE;gBAChE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;gBACrC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAClD,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;wBAAE,SAAS;oBACtC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAExB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,mBAAmB,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,oBAAoB;wBACzE,SAAS,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;wBAClE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,YAAY;wBAC5D,wBAAwB,YAAY,yCAAyC,EAC7E,SAAS,EACT,oBAAoB,EACpB,OAAO,CACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,QAAgB,EAChB,KAAqB,EACrB,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,OAAO,GAAG,GAAG,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,GAAG,CAAC,YAAY;YAAE,OAAO,UAAU,CAAC;QAEpD,wBAAwB;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,KAAK,OAAO;gBAAE,SAAS;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAClC,IAAI,KAAK,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,EACX,mBAAmB,QAAQ,OAAO,MAAM,CAAC,SAAS,YAAY;oBAC9D,IAAI,IAAI,CAAC,MAAM,OAAO,KAAK,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACrE,uBAAuB,OAAO,aAAa,SAAS,UAAU;oBAC9D,oDAAoD,EACpD,SAAS,EACT,oBAAoB,EACpB,OAAO,CACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,+BAA+B;IAC/B,0EAA0E;IAE1E;;;;OAIG;IACK,oBAAoB,CAC1B,UAAuC,EACvC,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS;gBAAE,SAAS;YAErD,wCAAwC;YACxC,MAAM,MAAM,GAA8C,EAAE,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS;gBAAE,SAAS;YAE5C,+BAA+B;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;gBAAE,SAAS;YAE1C,wBAAwB;YACxB,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;gBAC5B,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,cAAc,QAAQ,aAAa,IAAI,CAAC,SAAS,MAAM,EAAE,MAAM;wBAC/D,oCAAoC,IAAI,iBAAiB;wBACzD,wBAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ;wBAC5D,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,EACnC,SAAS,EACT,kBAAkB,CACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,MAAgB;QACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,sDAAsD;QACtD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC;oBAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,gCAAgC;IAChC,0EAA0E;IAE1E;;;;;;;;;OASG;IACK,KAAK,CAAC,sBAAsB,CAClC,UAAgC,EAChC,aAA6B,EAC7B,UAAuC,EACvC,GAAqD;QAErD,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;gBACtB,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACvC,MAAM,QAAQ,CAAC,IAAI,CAAC;YAClB,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,8CAA8C;QAC9C,EAAE;QACF,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,EAAE,EAAE,CAAC,EACL,+BAA+B,QAAQ,CAAC,mBAAmB,IAAI,eAAe,MAAM;gBACpF,sEAAsE;gBACtE,iEAAiE;gBACjE,4BAA4B,EAC5B,YAAY,EACZ,iCAAiC,CAClC,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,mEAAmE;QACnE,qEAAqE;QACrE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,YAAY,GAAyB,EAAE,CAAC;QAE9C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,4CAA4C;YAC5C,IAAI,CAAC,CAAC,YAAY;gBAAE,SAAS;YAE7B,0CAA0C;YAC1C,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS;YAE/C,uCAAuC;YACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS;YAE1C,qBAAqB;YACrB,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEzC,eAAe;YACf,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS;YAEvC,kEAAkE;YAClE,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC3E,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEvE,4BAA4B;YAC5B,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS;YAE9D,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,mEAAmE;QACnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACjD,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,mEAAmE;QACnE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,QAAQ,CAAC,KAAK;gBAAE,SAAS;YAE7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,IAAI,EACN,yBAAyB,CAAC,CAAC,UAAU,+BAA+B;gBACpE,6DAA6D,EAC7D,SAAS,EACT,wBAAwB,CACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,2BAA2B;IAC3B,0EAA0E;IAE1E;;;OAGG;IACK,MAAM,CAAU,cAAc,GAAG,IAAI,GAAG,CAAC;QAC/C,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa;QACtD,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM;QACrD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH;;;;;;;;;;;;;;OAcG;IACK,iBAAiB,CACvB,YAA4B,EAC5B,aAAoE,EACpE,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAEhD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,6DAA6D;YAC7D,IAAI,CAAC,CAAC,SAAS;gBAAE,SAAS;YAE1B,2DAA2D;YAC3D,yDAAyD;YACzD,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE1C,6DAA6D;YAC7D,2CAA2C;YAC3C,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEzC,oEAAoE;YACpE,qEAAqE;YACrE,iCAAiC;YACjC,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEpD,oEAAoE;YACpE,+DAA+D;YAC/D,2DAA2D;YAC3D,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEzC,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE5D,+DAA+D;YAC/D,oDAAoD;YACpD,IAAI,uBAAuB,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,SAAS;YAErE,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,0DAA0D;YAC1D,gEAAgE;YAChE,yDAAyD;YACzD,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,QAAQ,GAAkB,IAAI,CAAC;gBACnC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAoB,CAAC;wBAC7D,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC;oBACrB,CAAC;oBAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,SAAS;oBAAE,SAAS;YACtE,CAAC;YAED,uDAAuD;YACvD,uEAAuE;YACvE,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO;gBAAE,SAAS;YAE9C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,IAAI,EACN,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,QAAQ,mBAAmB;gBACpE,UAAU,SAAS,CAAC,IAAI,iCAAiC;gBACzD,4DAA4D,EAC5D,SAAS,EACT,qBAAqB,CACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,wDAAwD;IAChD,sBAAsB,CAAC,GAAW;QACxC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACjC,oDAAoD;QACpD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,uCAAuC;QACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0EAA0E;IAC1E,sCAAsC;IACtC,0EAA0E;IAE1E;;;;OAIG;IACK,4BAA4B,CAClC,YAA4B,EAC5B,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,wCAAwC;QACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC,CAAC,gCAAgC;QAElF,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,mCAAmC;gBAAE,SAAS;YACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAClC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,EACX,6BAA6B,IAAI,KAAK,KAAK,mBAAmB;gBAC9D,GAAG,KAAK,CAAC,IAAI,0BAA0B,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACxE,oDAAoD,EACpD,SAAS,EACT,gCAAgC,CACjC,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YACtD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,mCAAmC;gBAAE,SAAS;YACnE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,CAAC,EACD,qBAAqB,IAAI,SAAS,KAAK,CAAC,IAAI,mBAAmB;gBAC/D,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAChD,sDAAsD,EACtD,YAAY,EACZ,yBAAyB,CAC1B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,yCAAyC;IACzC,0EAA0E;IAE1E;;;;OAIG;IACK,8BAA8B,CACpC,YAA4B,EAC5B,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,SAAS;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC/F,OAAO;gBACL,GAAG;gBACH,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAQ;gBAC1B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnB,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAEjE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QAE/C,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,eAAe;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE1B,mEAAmE;gBACnE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;oBAAE,SAAS;gBAE9B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACpC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEtB,6BAA6B;gBAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAElD,IAAI,UAAU,IAAI,GAAG,CAAC,iCAAiC,EAAE,CAAC;oBACxD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,IAAI,EACN,gCAAgC,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI;wBAChE,MAAM,CAAC,CAAC,QAAQ,UAAU,YAAY,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,GAAG;wBAC/D,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBACpD,kEAAkE,EAClE,YAAY,EACZ,mCAAmC,CACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,gCAAgC;IAChC,0EAA0E;IAE1E;;;OAGG;IACK,qBAAqB,CAC3B,UAAuC,EACvC,GAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAEpD,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAEzC,mCAAmC;QACnC,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,EACX,mBAAmB,MAAM,CAAC,IAAI,2BAA2B;gBACzD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC;gBAChE,6DAA6D,EAC7D,SAAS,EACT,uBAAuB,CACxB,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAChC,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,IAAI,EACN,+BAA+B,GAAG,sBAAsB;oBACxD,gEAAgE,EAChE,YAAY,EACZ,0BAA0B,CAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,UAAU;IACV,0EAA0E;IAElE,aAAa,CACnB,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,QAA+C,EAC/C,IAAY,EACZ,MAAe;QAEf,MAAM,CAAC,GAAc;YACnB,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,MAAM,EAAE,CAAC;YACT,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,qDAAqD;IAC7C,eAAe,CAAC,GAAW;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAEjC,MAAM;YACN,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnB,iBAAiB;oBACjB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO;wBACL,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC3B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC3B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;qBAC5B,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO;wBACL,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC3B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC3B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;qBAC5B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;oBACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACtB,CAAC;YACJ,CAAC;YAED,4CAA4C;YAC5C,MAAM,KAAK,GAA6C;gBACtD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5C,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7D,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACzB,CAAC;YACF,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAE9B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,sDAAsD;IAC9C,MAAM,CAAC,CAA2B,EAAE,CAA2B;QACrE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,eAAe,CACrB,KAAmE,EACnE,SAAiB;QAEjB,MAAM,QAAQ,GAAwE,EAAE,CAAC;QAEzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,+CAA+C;gBAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,2EAA2E;IACnE,eAAe,CAAC,GAAW;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK;gBAAE,OAAO,CAAC,CAAC;YAEvC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAE9B,0DAA0D;YAC1D,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,IAAI,EAAE,OAAO,GAAG,CAAC;gBACtB,KAAK,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC;gBAC5B,KAAK,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC;gBAC3B,KAAK,IAAI,EAAE,OAAO,GAAG,GAAG,KAAK,CAAC;gBAC9B,KAAK,IAAI,EAAE,OAAO,GAAG,GAAG,MAAM,CAAC;gBAC/B,KAAK,IAAI,EAAE,OAAO,GAAG,GAAG,MAAM,CAAC;gBAC/B,SAAS,OAAO,IAAI,CAAC,CAAC,wCAAwC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"UniversalStylesAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalStylesAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,307 @@
1
+ /**
2
+ * SQL-context code analysis — table-reference extraction, SQL parsing, naming/
3
+ * query/injection checks, and AST/source helper functions.
4
+ *
5
+ * Spec 34 — extracted from UniversalSchemaAnalyzer.ts so the SQL-context
6
+ * analysis is importable and testable independently of the analyzer class.
7
+ * Every function here is a module-level free function with a signature
8
+ * identical to the original class method (minus `this`). Violations are built
9
+ * with `createSchemaViolation` instead of `this.createViolation`.
10
+ */
11
+ import type { Violation } from '../../../types.js';
12
+ import type { AST, LanguageAdapter, ASTNode } from '../../../languages/types.js';
13
+ import { type ProvenanceContext } from '../../provenance.js';
14
+ import type { SchemaAnalyzerConfig, TableReference } from './types.js';
15
+ /**
16
+ * Bundled inputs for `findTableReferences`: config, provenance context, and the
17
+ * known-table catalog travel together so the signature stays under the param cap.
18
+ */
19
+ export interface FindTableReferencesContext {
20
+ config: SchemaAnalyzerConfig;
21
+ provenanceContext?: ProvenanceContext;
22
+ allTables?: Set<string>;
23
+ }
24
+ /**
25
+ * Extract table references from a TypeScript/JavaScript AST.
26
+ *
27
+ * Four extraction strategies: (1) tagged-template SQL, (2) DB-call string
28
+ * arguments, (3) full-source scan for `.sql` files, (4) ORM adapter extraction.
29
+ *
30
+ * @param ast The parsed file AST.
31
+ * @param adapter The language adapter for the file's syntax.
32
+ * @param sourceCode The raw source text.
33
+ * @param ctx Bundled config / provenance / known-table catalog.
34
+ * @returns Table references extracted via all four strategies.
35
+ */
36
+ export declare function findTableReferences(ast: AST, adapter: LanguageAdapter, sourceCode: string, ctx: FindTableReferencesContext): TableReference[];
37
+ /**
38
+ * Parse a SQL string (possibly with template expressions) into table references.
39
+ *
40
+ * @param sqlText The SQL text to parse.
41
+ * @param baseLocation Location of the SQL text within its source file.
42
+ * @param sourceCode The full source file contents.
43
+ * @param allTables Optional known table set for match filtering.
44
+ * @returns Table references discovered in the SQL text.
45
+ */
46
+ export declare function parseSqlTables(sqlText: string, baseLocation: {
47
+ line: number;
48
+ column: number;
49
+ }, sourceCode: string, allTables?: Set<string>): TableReference[];
50
+ /**
51
+ * Spec 22 R4.3: Extract alias identifiers from SQL text.
52
+ *
53
+ * Detects both explicit (`FROM x AS t`) and bare (`FROM x t`) aliases
54
+ * so they can be filtered from table-references in parseSqlTables().
55
+ * Without this, "JOIN t.posts" captures t via the JOIN regex when t is
56
+ * an alias for the real table x.
57
+ *
58
+ * @param sqlText The SQL text to scan for alias identifiers.
59
+ * @returns Lowercased alias identifiers to filter from table references.
60
+ */
61
+ export declare function extractAliasIdentifiers(sqlText: string): Set<string>;
62
+ /**
63
+ * R2.3: Resolve template expressions in SQL text.
64
+ *
65
+ * Uses the sentinel `__TMPL__` instead of an empty string. An empty
66
+ * replacement produces whitespace artifacts (e.g. `FROM t WHERE`
67
+ * when `${tableName}` is stripped), which causes the bare-alias regex
68
+ * in extractAliasIdentifiers() to misalign: `t` lands in the table-name
69
+ * capture group instead of the alias group, and is never denylisted.
70
+ *
71
+ * `__TMPL__` keeps the token boundaries intact so alias extraction
72
+ * correctly identifies `t` as the alias. `__TMPL__` table references
73
+ * are filtered in parseSqlTables().
74
+ */
75
+ export declare function resolveTemplateExpressions(text: string): string;
76
+ /**
77
+ * Return known table names within edit distance ≤ maxDist.
78
+ *
79
+ * @param name The candidate table name to match.
80
+ * @param knownTables The known-table catalog.
81
+ * @param maxDist Maximum Levenshtein edit distance to include.
82
+ * @returns Up to three known tables within the distance, quoted, nearest first.
83
+ */
84
+ export declare function getNearestTableSuggestions(name: string, knownTables: Set<string>, maxDist: number): string[];
85
+ /**
86
+ * Levenshtein edit distance between two strings.
87
+ *
88
+ * @param a First string.
89
+ * @param b Second string.
90
+ * @returns The edit distance, or Infinity when length difference exceeds 3.
91
+ */
92
+ export declare function levenshteinDistance(a: string, b: string): number;
93
+ /**
94
+ * Check table naming conventions against references.
95
+ *
96
+ * @param references Table references extracted from the file.
97
+ * @param filePath The file under analysis.
98
+ * @returns Naming-convention and reserved-word violations.
99
+ */
100
+ export declare function checkNamingConventions(references: TableReference[], filePath: string): Violation[];
101
+ /**
102
+ * Check query patterns (per-function query-count ceiling).
103
+ *
104
+ * @param ast The parsed file AST.
105
+ * @param adapter The language adapter for the file's syntax.
106
+ * @param sourceCode The raw source text.
107
+ * @param config Schema analyzer configuration (maxQueriesPerFunction ceiling).
108
+ * @returns Too-many-queries violations.
109
+ */
110
+ export declare function checkQueryPatterns(ast: AST, adapter: LanguageAdapter, sourceCode: string, config: SchemaAnalyzerConfig): Violation[];
111
+ /**
112
+ * Detect potential SQL injection in query/execute calls.
113
+ *
114
+ * @param ast The parsed file AST.
115
+ * @param adapter The language adapter for the file's syntax.
116
+ * @param sourceCode The raw source text.
117
+ * @returns SQL-injection violations.
118
+ */
119
+ export declare function checkSQLInjection(ast: AST, adapter: LanguageAdapter, sourceCode: string): Violation[];
120
+ /**
121
+ * Check for references to tables absent from the known catalog — R2.4, with
122
+ * Levenshtein suggestions. Spec 24 Item 4 Part B applies a 10:1 fail-open
123
+ * ratio: when the unknown:known ratio exceeds 10 (or no known tables exist),
124
+ * the catalog is not trustworthy enough to flag individual references, so the
125
+ * check silently skips instead of emitting a wall of unknown-table noise.
126
+ *
127
+ * @param references Table references extracted from the file.
128
+ * @param allTables The known-table catalog.
129
+ * @param filePath The file under analysis.
130
+ * @returns Unknown-table violations (empty when the fail-open ratio triggers).
131
+ */
132
+ export declare function checkMissingReferences(references: TableReference[], allTables: Set<string>, filePath: string): Violation[];
133
+ /**
134
+ * Extract the callee text from a call_expression node.
135
+ *
136
+ * @param node The call_expression node.
137
+ * @param adapter The language adapter for the file's syntax.
138
+ * @param sourceCode The raw source text.
139
+ * @returns The callee text (e.g. "db.exec"), or null when absent.
140
+ */
141
+ export declare function getCallee(node: ASTNode, adapter: LanguageAdapter, sourceCode: string): string | null;
142
+ /**
143
+ * Check whether a call_expression has a template string argument.
144
+ *
145
+ * @param node The call_expression node.
146
+ * @param adapter The language adapter for the file's syntax.
147
+ * @returns True when a template-string argument is present.
148
+ */
149
+ export declare function hasTemplateArgument(node: ASTNode, adapter: LanguageAdapter): boolean;
150
+ /**
151
+ * Get the text of the first template string argument.
152
+ *
153
+ * @param node The call_expression node.
154
+ * @param adapter The language adapter for the file's syntax.
155
+ * @param sourceCode The raw source text.
156
+ * @returns The trimmed template text, or null when absent.
157
+ */
158
+ export declare function getTemplateText(node: ASTNode, adapter: LanguageAdapter, sourceCode: string): string | null;
159
+ /**
160
+ * Get the first string/template argument from a call expression.
161
+ *
162
+ * @param node The call_expression node.
163
+ * @param adapter The language adapter for the file's syntax.
164
+ * @param sourceCode The raw source text.
165
+ * @returns The unquoted string/template argument, or null when absent.
166
+ */
167
+ export declare function getFirstStringArgument(node: ASTNode, adapter: LanguageAdapter, sourceCode: string): string | null;
168
+ /**
169
+ * Check if a callee is a DB member call like db.exec, database.query, etc.
170
+ *
171
+ * @param calleeText The callee text (e.g. "db.exec").
172
+ * @param methods The allowed DB call method names.
173
+ * @param receivers The allowed DB receiver names.
174
+ * @returns True when the callee is a permitted receiver.method DB call.
175
+ */
176
+ export declare function isDbMemberCall(calleeText: string, methods: string[], receivers: string[]): boolean;
177
+ /**
178
+ * Get the line/column location of the call expression.
179
+ *
180
+ * @param node The call_expression node.
181
+ * @returns The node's start line/column.
182
+ */
183
+ export declare function getCallLocation(node: ASTNode): {
184
+ line: number;
185
+ column: number;
186
+ };
187
+ /**
188
+ * Convert a character offset to a line/column location.
189
+ *
190
+ * @param sourceCode The source text the offset is relative to.
191
+ * @param offset The character offset.
192
+ * @param base Fallback location returned when offset is out of range.
193
+ * @returns The 1-based line/column for the offset.
194
+ */
195
+ export declare function offsetToLocation(sourceCode: string, offset: number, base: {
196
+ line: number;
197
+ column: number;
198
+ }): {
199
+ line: number;
200
+ column: number;
201
+ };
202
+ /**
203
+ * True when `table` is a well-known system table/schema name.
204
+ *
205
+ * @param table The candidate table name.
206
+ * @returns True for system schemas/tables (information_schema, pg_catalog, …).
207
+ */
208
+ export declare function isSystemTable(table: string): boolean;
209
+ /**
210
+ * True when `name` is a SQL table-valued function rather than a real table.
211
+ * These appear after FROM/JOIN (`FROM json_each(...)`, `FROM generate_series(...)`)
212
+ * so the keyword-anchored patterns capture them, but they are functions, not
213
+ * tables — flagging them as unknown-table is a false positive.
214
+ *
215
+ * Covers the well-known SQLite (json_each/json_tree) and PostgreSQL
216
+ * (unnest/generate_series/json_array_elements/...) set, plus DuckDB's
217
+ * read_csv/read_parquet/parquet_scan families. Not exhaustive by design:
218
+ * these are the function names that appear in real SELECT ... FROM fn(...).
219
+ *
220
+ * @param name The candidate identifier.
221
+ * @returns True when `name` is a known table-valued function.
222
+ */
223
+ export declare function isTableValuedFunction(name: string): boolean;
224
+ /**
225
+ * Common SQL keywords and identifiers that are not real table names.
226
+ *
227
+ * @param word The candidate identifier.
228
+ * @returns True when `word` is a SQL keyword/reserved identifier.
229
+ */
230
+ export declare function isSqlKeyword(word: string): boolean;
231
+ /**
232
+ * True when the `from` keyword at `fromIndex` is a JavaScript/TypeScript
233
+ * module specifier (`import x from 'mod'`, `import { a } from 'mod'`,
234
+ * `export { a } from 'mod'`, `export * from 'mod'`) rather than a SQL
235
+ * FROM clause.
236
+ *
237
+ * Step (3) of findTableReferences() full-source scans `.ts` files under
238
+ * `migrations/`, where a case-insensitive `\bFROM\s+([`"']?)...` pattern
239
+ * matches `from 'typeorm'` / `from 'path'` / `from 'dotenv'` and records the
240
+ * module name as an unknown table. SQL never introduces FROM with
241
+ * `import`/`export`, so requiring that introducer at a statement boundary is
242
+ * unambiguous — and only checking the introducer at a line/`;` boundary
243
+ * avoids misreading a SQL comment (`-- import data`) or a table named
244
+ * `import_log` as a module statement.
245
+ *
246
+ * @param sqlText The source text being scanned for a FROM introducer.
247
+ * @param fromIndex The character index of the `from` keyword within `sqlText`.
248
+ * @returns True when the introducer preceding `fromIndex` is an import/export.
249
+ */
250
+ export declare function isModuleImportFrom(sqlText: string, fromIndex: number): boolean;
251
+ /**
252
+ * Count the number of DB queries a function body issues.
253
+ *
254
+ * A `query`/`execute` method call is one query; each standalone SQL keyword
255
+ * (SELECT, INSERT INTO, UPDATE, DELETE FROM) outside such a call is also one
256
+ * query. SQL keywords inside a call's argument are not counted separately —
257
+ * otherwise a single `query('SELECT ...')` call is counted twice (once for the
258
+ * call, once for the SQL it carries).
259
+ *
260
+ * @param text The function body text.
261
+ * @returns The number of DB queries the function issues.
262
+ */
263
+ export declare function countQueries(text: string): number;
264
+ /**
265
+ * Breadth-first search for the AST node whose start location exactly matches
266
+ * the given line/column.
267
+ *
268
+ * @param root The AST root node.
269
+ * @param location The target line/column.
270
+ * @returns The matching node, or null when absent.
271
+ */
272
+ export declare function findNodeByLocation(root: ASTNode, location: {
273
+ line: number;
274
+ column: number;
275
+ }): ASTNode | null;
276
+ /**
277
+ * Find the nearest AST node at a source location — walks the tree looking
278
+ * for the deepest node that contains the given line/column.
279
+ *
280
+ * @param root The AST root node.
281
+ * @param location The target line/column.
282
+ * @param adapter The language adapter for the file's syntax.
283
+ * @returns The deepest node containing the location, or null.
284
+ */
285
+ export declare function findClosestNodeAt(root: ASTNode, location: {
286
+ line: number;
287
+ column: number;
288
+ }, adapter: LanguageAdapter): ASTNode | null;
289
+ /**
290
+ * Walk up the AST from a node to find the enclosing function or method name.
291
+ * Matches the same scheme as UniversalDataAccessAnalyzer.findEnclosingFunctionName.
292
+ *
293
+ * @param node The node to start the walk from.
294
+ * @param adapter The language adapter for the file's syntax.
295
+ * @returns The enclosing function/method name, or "top-level".
296
+ */
297
+ export declare function findEnclosingFunctionName(node: ASTNode, adapter: LanguageAdapter): string;
298
+ /**
299
+ * Extract a human-readable name from an AST node.
300
+ * Matches the same scheme as UniversalDataAccessAnalyzer.getNodeName.
301
+ *
302
+ * @param node The AST node.
303
+ * @param adapter The language adapter for the file's syntax.
304
+ * @returns The node's name, or "" when none is found.
305
+ */
306
+ export declare function getNodeName(node: ASTNode, adapter: LanguageAdapter): string;
307
+ //# sourceMappingURL=codeAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}