@stevenvo780/st-lang 4.14.0 → 4.15.0

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 (602) hide show
  1. package/README.md +6 -6
  2. package/dist/ast/nodes.d.ts +50 -0
  3. package/dist/ast/nodes.d.ts.map +1 -1
  4. package/dist/format/stnb/__tests__/executor.test.d.ts +2 -0
  5. package/dist/format/stnb/__tests__/executor.test.d.ts.map +1 -0
  6. package/dist/format/stnb/__tests__/executor.test.js +140 -0
  7. package/dist/format/stnb/__tests__/executor.test.js.map +1 -0
  8. package/dist/format/stnb/__tests__/parser.test.d.ts +2 -0
  9. package/dist/format/stnb/__tests__/parser.test.d.ts.map +1 -0
  10. package/dist/format/stnb/__tests__/parser.test.js +119 -0
  11. package/dist/format/stnb/__tests__/parser.test.js.map +1 -0
  12. package/dist/format/stnb/__tests__/renderer.test.d.ts +2 -0
  13. package/dist/format/stnb/__tests__/renderer.test.d.ts.map +1 -0
  14. package/dist/format/stnb/__tests__/renderer.test.js +109 -0
  15. package/dist/format/stnb/__tests__/renderer.test.js.map +1 -0
  16. package/dist/format/stnb/__tests__/roundtrip.test.d.ts +2 -0
  17. package/dist/format/stnb/__tests__/roundtrip.test.d.ts.map +1 -0
  18. package/dist/format/stnb/__tests__/roundtrip.test.js +91 -0
  19. package/dist/format/stnb/__tests__/roundtrip.test.js.map +1 -0
  20. package/dist/format/stnb/__tests__/serializer.test.d.ts +2 -0
  21. package/dist/format/stnb/__tests__/serializer.test.d.ts.map +1 -0
  22. package/dist/format/stnb/__tests__/serializer.test.js +60 -0
  23. package/dist/format/stnb/__tests__/serializer.test.js.map +1 -0
  24. package/dist/format/stnb/executor.d.ts +29 -0
  25. package/dist/format/stnb/executor.d.ts.map +1 -0
  26. package/dist/format/stnb/executor.js +139 -0
  27. package/dist/format/stnb/executor.js.map +1 -0
  28. package/dist/format/stnb/index.d.ts +19 -0
  29. package/dist/format/stnb/index.d.ts.map +1 -0
  30. package/dist/format/stnb/index.js +28 -0
  31. package/dist/format/stnb/index.js.map +1 -0
  32. package/dist/format/stnb/parser.d.ts +14 -0
  33. package/dist/format/stnb/parser.d.ts.map +1 -0
  34. package/dist/format/stnb/parser.js +123 -0
  35. package/dist/format/stnb/parser.js.map +1 -0
  36. package/dist/format/stnb/renderer-html.d.ts +11 -0
  37. package/dist/format/stnb/renderer-html.d.ts.map +1 -0
  38. package/dist/format/stnb/renderer-html.js +180 -0
  39. package/dist/format/stnb/renderer-html.js.map +1 -0
  40. package/dist/format/stnb/renderer-markdown.d.ts +13 -0
  41. package/dist/format/stnb/renderer-markdown.d.ts.map +1 -0
  42. package/dist/format/stnb/renderer-markdown.js +92 -0
  43. package/dist/format/stnb/renderer-markdown.js.map +1 -0
  44. package/dist/format/stnb/serializer.d.ts +14 -0
  45. package/dist/format/stnb/serializer.d.ts.map +1 -0
  46. package/dist/format/stnb/serializer.js +21 -0
  47. package/dist/format/stnb/serializer.js.map +1 -0
  48. package/dist/format/stnb/types.d.ts +45 -0
  49. package/dist/format/stnb/types.d.ts.map +1 -0
  50. package/dist/format/stnb/types.js +7 -0
  51. package/dist/format/stnb/types.js.map +1 -0
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +7 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/logic/profile-bridge/index.d.ts.map +1 -1
  57. package/dist/logic/profile-bridge/index.js +20 -3
  58. package/dist/logic/profile-bridge/index.js.map +1 -1
  59. package/dist/logic/profiles/classical/propositional.d.ts.map +1 -1
  60. package/dist/logic/profiles/classical/propositional.js.map +1 -1
  61. package/dist/logic/profiles/ctl/check.d.ts.map +1 -1
  62. package/dist/logic/profiles/ctl/check.js +21 -11
  63. package/dist/logic/profiles/ctl/check.js.map +1 -1
  64. package/dist/logic/profiles/ctl/witness.d.ts.map +1 -1
  65. package/dist/logic/profiles/ctl/witness.js +2 -0
  66. package/dist/logic/profiles/ctl/witness.js.map +1 -1
  67. package/dist/logic/profiles/description-logic/types.d.ts +15 -0
  68. package/dist/logic/profiles/description-logic/types.d.ts.map +1 -1
  69. package/dist/logic/profiles/description-logic/types.js +13 -0
  70. package/dist/logic/profiles/description-logic/types.js.map +1 -1
  71. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.d.ts +2 -0
  72. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.d.ts.map +1 -0
  73. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.js +141 -0
  74. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.js.map +1 -0
  75. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.d.ts +2 -0
  76. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.d.ts.map +1 -0
  77. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.js +55 -0
  78. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.js.map +1 -0
  79. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.d.ts +2 -0
  80. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.d.ts.map +1 -0
  81. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.js +149 -0
  82. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.js.map +1 -0
  83. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.d.ts +2 -0
  84. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.d.ts.map +1 -0
  85. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.js +105 -0
  86. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.js.map +1 -0
  87. package/dist/logic/profiles/dl-hybrid/ast.d.ts +160 -0
  88. package/dist/logic/profiles/dl-hybrid/ast.d.ts.map +1 -0
  89. package/dist/logic/profiles/dl-hybrid/ast.js +261 -0
  90. package/dist/logic/profiles/dl-hybrid/ast.js.map +1 -0
  91. package/dist/logic/profiles/dl-hybrid/differential.d.ts +61 -0
  92. package/dist/logic/profiles/dl-hybrid/differential.d.ts.map +1 -0
  93. package/dist/logic/profiles/dl-hybrid/differential.js +291 -0
  94. package/dist/logic/profiles/dl-hybrid/differential.js.map +1 -0
  95. package/dist/logic/profiles/dl-hybrid/index.d.ts +10 -0
  96. package/dist/logic/profiles/dl-hybrid/index.d.ts.map +1 -0
  97. package/dist/logic/profiles/dl-hybrid/index.js +90 -0
  98. package/dist/logic/profiles/dl-hybrid/index.js.map +1 -0
  99. package/dist/logic/profiles/dl-hybrid/parser.d.ts +8 -0
  100. package/dist/logic/profiles/dl-hybrid/parser.d.ts.map +1 -0
  101. package/dist/logic/profiles/dl-hybrid/parser.js +410 -0
  102. package/dist/logic/profiles/dl-hybrid/parser.js.map +1 -0
  103. package/dist/logic/profiles/dl-hybrid/profile.d.ts +23 -0
  104. package/dist/logic/profiles/dl-hybrid/profile.d.ts.map +1 -0
  105. package/dist/logic/profiles/dl-hybrid/profile.js +122 -0
  106. package/dist/logic/profiles/dl-hybrid/profile.js.map +1 -0
  107. package/dist/logic/profiles/dl-hybrid/semantics.d.ts +16 -0
  108. package/dist/logic/profiles/dl-hybrid/semantics.d.ts.map +1 -0
  109. package/dist/logic/profiles/dl-hybrid/semantics.js +181 -0
  110. package/dist/logic/profiles/dl-hybrid/semantics.js.map +1 -0
  111. package/dist/logic/profiles/dl-hybrid/tableau.d.ts +38 -0
  112. package/dist/logic/profiles/dl-hybrid/tableau.d.ts.map +1 -0
  113. package/dist/logic/profiles/dl-hybrid/tableau.js +289 -0
  114. package/dist/logic/profiles/dl-hybrid/tableau.js.map +1 -0
  115. package/dist/logic/profiles/hybrid-logic/types.d.ts +17 -0
  116. package/dist/logic/profiles/hybrid-logic/types.d.ts.map +1 -1
  117. package/dist/logic/profiles/hybrid-logic/types.js +17 -0
  118. package/dist/logic/profiles/hybrid-logic/types.js.map +1 -1
  119. package/dist/logic/profiles/intuitionistic-nj/kripke.d.ts.map +1 -1
  120. package/dist/logic/profiles/intuitionistic-nj/kripke.js +8 -5
  121. package/dist/logic/profiles/intuitionistic-nj/kripke.js.map +1 -1
  122. package/dist/logic/profiles/ltl-sat/tableau.d.ts +31 -0
  123. package/dist/logic/profiles/ltl-sat/tableau.d.ts.map +1 -1
  124. package/dist/logic/profiles/ltl-sat/tableau.js +18 -0
  125. package/dist/logic/profiles/ltl-sat/tableau.js.map +1 -1
  126. package/dist/logic/profiles/ltl-sat/types.d.ts +15 -0
  127. package/dist/logic/profiles/ltl-sat/types.d.ts.map +1 -1
  128. package/dist/logic/profiles/ltl-sat/types.js +2 -1
  129. package/dist/logic/profiles/ltl-sat/types.js.map +1 -1
  130. package/dist/logic/profiles/modal-frame-axioms/formula.d.ts +10 -0
  131. package/dist/logic/profiles/modal-frame-axioms/formula.d.ts.map +1 -1
  132. package/dist/logic/profiles/modal-frame-axioms/formula.js +10 -0
  133. package/dist/logic/profiles/modal-frame-axioms/formula.js.map +1 -1
  134. package/dist/logic/profiles/mu-calculus/check.d.ts.map +1 -1
  135. package/dist/logic/profiles/mu-calculus/check.js +7 -4
  136. package/dist/logic/profiles/mu-calculus/check.js.map +1 -1
  137. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts +8 -0
  138. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts.map +1 -1
  139. package/dist/logic/profiles/natural-deduction-nk/formula.js +8 -0
  140. package/dist/logic/profiles/natural-deduction-nk/formula.js.map +1 -1
  141. package/dist/logic/profiles/quantum/index.d.ts.map +1 -1
  142. package/dist/logic/profiles/quantum/index.js +11 -8
  143. package/dist/logic/profiles/quantum/index.js.map +1 -1
  144. package/dist/logic/profiles/sequent-lj/index.d.ts +90 -0
  145. package/dist/logic/profiles/sequent-lj/index.d.ts.map +1 -0
  146. package/dist/logic/profiles/sequent-lj/index.js +903 -0
  147. package/dist/logic/profiles/sequent-lj/index.js.map +1 -0
  148. package/dist/logic/profiles/shared/tableau-engine.d.ts.map +1 -1
  149. package/dist/logic/profiles/shared/tableau-engine.js +0 -17
  150. package/dist/logic/profiles/shared/tableau-engine.js.map +1 -1
  151. package/dist/namespaces/proof-systems.d.ts +1 -1
  152. package/dist/namespaces/proof-systems.d.ts.map +1 -1
  153. package/dist/namespaces/proof-systems.js.map +1 -1
  154. package/dist/namespaces/semantics.d.ts +1 -1
  155. package/dist/namespaces/semantics.d.ts.map +1 -1
  156. package/dist/namespaces/semantics.js.map +1 -1
  157. package/dist/proof-systems/distributed-exchange/index.d.ts +29 -0
  158. package/dist/proof-systems/distributed-exchange/index.d.ts.map +1 -1
  159. package/dist/proof-systems/distributed-exchange/index.js +18 -0
  160. package/dist/proof-systems/distributed-exchange/index.js.map +1 -1
  161. package/dist/proof-systems/fol-prover/types.d.ts +16 -0
  162. package/dist/proof-systems/fol-prover/types.d.ts.map +1 -1
  163. package/dist/proof-systems/fol-prover/types.js +7 -0
  164. package/dist/proof-systems/fol-prover/types.js.map +1 -1
  165. package/dist/proof-systems/fol-prover-advanced/index.d.ts +3 -3
  166. package/dist/proof-systems/fol-prover-advanced/index.d.ts.map +1 -1
  167. package/dist/proof-systems/fol-prover-advanced/index.js.map +1 -1
  168. package/dist/proof-systems/fol-prover-advanced/ordering.js +1 -1
  169. package/dist/proof-systems/fol-prover-advanced/prover.d.ts.map +1 -1
  170. package/dist/proof-systems/fol-prover-advanced/prover.js +19 -12
  171. package/dist/proof-systems/fol-prover-advanced/prover.js.map +1 -1
  172. package/dist/proof-systems/fol-prover-advanced/resolve.d.ts.map +1 -1
  173. package/dist/proof-systems/fol-prover-advanced/resolve.js +7 -7
  174. package/dist/proof-systems/fol-prover-advanced/resolve.js.map +1 -1
  175. package/dist/proof-systems/fol-prover-advanced/subsumption.d.ts.map +1 -1
  176. package/dist/proof-systems/fol-prover-advanced/subsumption.js.map +1 -1
  177. package/dist/proof-systems/fol-prover-advanced/types.d.ts +12 -0
  178. package/dist/proof-systems/fol-prover-advanced/types.d.ts.map +1 -1
  179. package/dist/proof-systems/fol-prover-advanced/unify.js +2 -2
  180. package/dist/proof-systems/fol-prover-equality/term-utils.d.ts +46 -0
  181. package/dist/proof-systems/fol-prover-equality/term-utils.d.ts.map +1 -1
  182. package/dist/proof-systems/fol-prover-equality/term-utils.js +46 -0
  183. package/dist/proof-systems/fol-prover-equality/term-utils.js.map +1 -1
  184. package/dist/proof-systems/proof-nets/correctness.d.ts.map +1 -1
  185. package/dist/proof-systems/proof-nets/correctness.js +24 -12
  186. package/dist/proof-systems/proof-nets/correctness.js.map +1 -1
  187. package/dist/proof-systems/proof-nets/types.d.ts +18 -0
  188. package/dist/proof-systems/proof-nets/types.d.ts.map +1 -1
  189. package/dist/proof-systems/proof-nets/types.js +6 -0
  190. package/dist/proof-systems/proof-nets/types.js.map +1 -1
  191. package/dist/proof-systems/tableau-framework/TableauProver.d.ts.map +1 -1
  192. package/dist/proof-systems/tableau-framework/TableauProver.js +5 -5
  193. package/dist/proof-systems/tableau-framework/TableauProver.js.map +1 -1
  194. package/dist/proof-systems/tableau-framework/propositional.d.ts.map +1 -1
  195. package/dist/proof-systems/tableau-framework/propositional.js +21 -21
  196. package/dist/proof-systems/tableau-framework/propositional.js.map +1 -1
  197. package/dist/reasoning/ban-logic/terms.d.ts +24 -0
  198. package/dist/reasoning/ban-logic/terms.d.ts.map +1 -1
  199. package/dist/reasoning/ban-logic/terms.js +24 -0
  200. package/dist/reasoning/ban-logic/terms.js.map +1 -1
  201. package/dist/reasoning/bayesian/factor.js +8 -8
  202. package/dist/reasoning/bayesian/factor.js.map +1 -1
  203. package/dist/reasoning/bayesian/inference.d.ts.map +1 -1
  204. package/dist/reasoning/bayesian/inference.js +11 -5
  205. package/dist/reasoning/bayesian/inference.js.map +1 -1
  206. package/dist/reasoning/combinatorics/generators.js.map +1 -1
  207. package/dist/reasoning/combinatorics/index.d.ts +3 -3
  208. package/dist/reasoning/combinatorics/index.d.ts.map +1 -1
  209. package/dist/reasoning/combinatorics/index.js.map +1 -1
  210. package/dist/reasoning/combinatorics/set-partitions.js.map +1 -1
  211. package/dist/reasoning/combinatorics/special-numbers.d.ts.map +1 -1
  212. package/dist/reasoning/combinatorics/special-numbers.js.map +1 -1
  213. package/dist/reasoning/constructive-analysis/cauchy.js +2 -2
  214. package/dist/reasoning/constructive-analysis/compact.js +1 -1
  215. package/dist/reasoning/constructive-analysis/continuity.d.ts.map +1 -1
  216. package/dist/reasoning/constructive-analysis/continuity.js +4 -4
  217. package/dist/reasoning/constructive-analysis/continuity.js.map +1 -1
  218. package/dist/reasoning/constructive-analysis/index.d.ts.map +1 -1
  219. package/dist/reasoning/constructive-analysis/index.js.map +1 -1
  220. package/dist/reasoning/constructive-analysis/ivt.d.ts.map +1 -1
  221. package/dist/reasoning/constructive-analysis/ivt.js +2 -2
  222. package/dist/reasoning/constructive-analysis/ivt.js.map +1 -1
  223. package/dist/reasoning/constructive-reals/index.d.ts.map +1 -1
  224. package/dist/reasoning/constructive-reals/index.js +4 -8
  225. package/dist/reasoning/constructive-reals/index.js.map +1 -1
  226. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.d.ts +2 -0
  227. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.d.ts.map +1 -0
  228. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.js +74 -0
  229. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.js.map +1 -0
  230. package/dist/reasoning/dl-hybrid/index.d.ts +3 -0
  231. package/dist/reasoning/dl-hybrid/index.d.ts.map +1 -0
  232. package/dist/reasoning/dl-hybrid/index.js +16 -0
  233. package/dist/reasoning/dl-hybrid/index.js.map +1 -0
  234. package/dist/reasoning/dl-hybrid/invariant-search.d.ts +39 -0
  235. package/dist/reasoning/dl-hybrid/invariant-search.d.ts.map +1 -0
  236. package/dist/reasoning/dl-hybrid/invariant-search.js +188 -0
  237. package/dist/reasoning/dl-hybrid/invariant-search.js.map +1 -0
  238. package/dist/reasoning/galois-fields/index.d.ts +64 -0
  239. package/dist/reasoning/galois-fields/index.d.ts.map +1 -1
  240. package/dist/reasoning/galois-fields/index.js +56 -6
  241. package/dist/reasoning/galois-fields/index.js.map +1 -1
  242. package/dist/reasoning/graph-theory/index.d.ts +31 -0
  243. package/dist/reasoning/graph-theory/index.d.ts.map +1 -1
  244. package/dist/reasoning/graph-theory/index.js +28 -10
  245. package/dist/reasoning/graph-theory/index.js.map +1 -1
  246. package/dist/reasoning/hoare-logic/index.d.ts +34 -0
  247. package/dist/reasoning/hoare-logic/index.d.ts.map +1 -1
  248. package/dist/reasoning/hoare-logic/index.js +26 -0
  249. package/dist/reasoning/hoare-logic/index.js.map +1 -1
  250. package/dist/reasoning/hyperreal/index.d.ts +30 -0
  251. package/dist/reasoning/hyperreal/index.d.ts.map +1 -1
  252. package/dist/reasoning/hyperreal/index.js +25 -0
  253. package/dist/reasoning/hyperreal/index.js.map +1 -1
  254. package/dist/reasoning/information-theory/index.d.ts +34 -0
  255. package/dist/reasoning/information-theory/index.d.ts.map +1 -1
  256. package/dist/reasoning/information-theory/index.js +27 -44
  257. package/dist/reasoning/information-theory/index.js.map +1 -1
  258. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.d.ts +2 -0
  259. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.d.ts.map +1 -0
  260. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.js +72 -0
  261. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.js.map +1 -0
  262. package/dist/reasoning/lemma-rag/__tests__/embedding.test.d.ts +2 -0
  263. package/dist/reasoning/lemma-rag/__tests__/embedding.test.d.ts.map +1 -0
  264. package/dist/reasoning/lemma-rag/__tests__/embedding.test.js +102 -0
  265. package/dist/reasoning/lemma-rag/__tests__/embedding.test.js.map +1 -0
  266. package/dist/reasoning/lemma-rag/__tests__/integration.test.d.ts +2 -0
  267. package/dist/reasoning/lemma-rag/__tests__/integration.test.d.ts.map +1 -0
  268. package/dist/reasoning/lemma-rag/__tests__/integration.test.js +40 -0
  269. package/dist/reasoning/lemma-rag/__tests__/integration.test.js.map +1 -0
  270. package/dist/reasoning/lemma-rag/__tests__/query.test.d.ts +2 -0
  271. package/dist/reasoning/lemma-rag/__tests__/query.test.d.ts.map +1 -0
  272. package/dist/reasoning/lemma-rag/__tests__/query.test.js +136 -0
  273. package/dist/reasoning/lemma-rag/__tests__/query.test.js.map +1 -0
  274. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.d.ts +2 -0
  275. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.d.ts.map +1 -0
  276. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.js +147 -0
  277. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.js.map +1 -0
  278. package/dist/reasoning/lemma-rag/benchmarks.d.ts +30 -0
  279. package/dist/reasoning/lemma-rag/benchmarks.d.ts.map +1 -0
  280. package/dist/reasoning/lemma-rag/benchmarks.js +177 -0
  281. package/dist/reasoning/lemma-rag/benchmarks.js.map +1 -0
  282. package/dist/reasoning/lemma-rag/embedding.d.ts +26 -0
  283. package/dist/reasoning/lemma-rag/embedding.d.ts.map +1 -0
  284. package/dist/reasoning/lemma-rag/embedding.js +243 -0
  285. package/dist/reasoning/lemma-rag/embedding.js.map +1 -0
  286. package/dist/reasoning/lemma-rag/index-store.d.ts +35 -0
  287. package/dist/reasoning/lemma-rag/index-store.d.ts.map +1 -0
  288. package/dist/reasoning/lemma-rag/index-store.js +105 -0
  289. package/dist/reasoning/lemma-rag/index-store.js.map +1 -0
  290. package/dist/reasoning/lemma-rag/index.d.ts +9 -0
  291. package/dist/reasoning/lemma-rag/index.d.ts.map +1 -0
  292. package/dist/reasoning/lemma-rag/index.js +34 -0
  293. package/dist/reasoning/lemma-rag/index.js.map +1 -0
  294. package/dist/reasoning/lemma-rag/query.d.ts +48 -0
  295. package/dist/reasoning/lemma-rag/query.d.ts.map +1 -0
  296. package/dist/reasoning/lemma-rag/query.js +92 -0
  297. package/dist/reasoning/lemma-rag/query.js.map +1 -0
  298. package/dist/reasoning/lemma-rag/retrieval.d.ts +33 -0
  299. package/dist/reasoning/lemma-rag/retrieval.d.ts.map +1 -0
  300. package/dist/reasoning/lemma-rag/retrieval.js +123 -0
  301. package/dist/reasoning/lemma-rag/retrieval.js.map +1 -0
  302. package/dist/reasoning/lemma-rag/types.d.ts +52 -0
  303. package/dist/reasoning/lemma-rag/types.d.ts.map +1 -0
  304. package/dist/reasoning/lemma-rag/types.js +13 -0
  305. package/dist/reasoning/lemma-rag/types.js.map +1 -0
  306. package/dist/reasoning/lemma-synthesis/index.d.ts +36 -0
  307. package/dist/reasoning/lemma-synthesis/index.d.ts.map +1 -1
  308. package/dist/reasoning/lemma-synthesis/index.js +12 -0
  309. package/dist/reasoning/lemma-synthesis/index.js.map +1 -1
  310. package/dist/reasoning/linear-algebra/index.d.ts +38 -0
  311. package/dist/reasoning/linear-algebra/index.d.ts.map +1 -1
  312. package/dist/reasoning/linear-algebra/index.js +34 -5
  313. package/dist/reasoning/linear-algebra/index.js.map +1 -1
  314. package/dist/reasoning/markov-logic/grounding.js +1 -1
  315. package/dist/reasoning/markov-logic/grounding.js.map +1 -1
  316. package/dist/reasoning/markov-logic/inference.js +1 -1
  317. package/dist/reasoning/markov-logic/inference.js.map +1 -1
  318. package/dist/reasoning/order-theory/index.d.ts +121 -0
  319. package/dist/reasoning/order-theory/index.d.ts.map +1 -0
  320. package/dist/reasoning/order-theory/index.js +562 -0
  321. package/dist/reasoning/order-theory/index.js.map +1 -0
  322. package/dist/reasoning/peano-arithmetic/index.d.ts +114 -0
  323. package/dist/reasoning/peano-arithmetic/index.d.ts.map +1 -0
  324. package/dist/reasoning/peano-arithmetic/index.js +650 -0
  325. package/dist/reasoning/peano-arithmetic/index.js.map +1 -0
  326. package/dist/reasoning/polynomial-ring/index.d.ts +80 -0
  327. package/dist/reasoning/polynomial-ring/index.d.ts.map +1 -1
  328. package/dist/reasoning/polynomial-ring/index.js +75 -0
  329. package/dist/reasoning/polynomial-ring/index.js.map +1 -1
  330. package/dist/reasoning/proof-mining/__tests__/extractor.test.d.ts +2 -0
  331. package/dist/reasoning/proof-mining/__tests__/extractor.test.d.ts.map +1 -0
  332. package/dist/reasoning/proof-mining/__tests__/extractor.test.js +263 -0
  333. package/dist/reasoning/proof-mining/__tests__/extractor.test.js.map +1 -0
  334. package/dist/reasoning/proof-mining/__tests__/generalizer.test.d.ts +2 -0
  335. package/dist/reasoning/proof-mining/__tests__/generalizer.test.d.ts.map +1 -0
  336. package/dist/reasoning/proof-mining/__tests__/generalizer.test.js +123 -0
  337. package/dist/reasoning/proof-mining/__tests__/generalizer.test.js.map +1 -0
  338. package/dist/reasoning/proof-mining/__tests__/integration.test.d.ts +2 -0
  339. package/dist/reasoning/proof-mining/__tests__/integration.test.d.ts.map +1 -0
  340. package/dist/reasoning/proof-mining/__tests__/integration.test.js +128 -0
  341. package/dist/reasoning/proof-mining/__tests__/integration.test.js.map +1 -0
  342. package/dist/reasoning/proof-mining/__tests__/persistence.test.d.ts +2 -0
  343. package/dist/reasoning/proof-mining/__tests__/persistence.test.d.ts.map +1 -0
  344. package/dist/reasoning/proof-mining/__tests__/persistence.test.js +119 -0
  345. package/dist/reasoning/proof-mining/__tests__/persistence.test.js.map +1 -0
  346. package/dist/reasoning/proof-mining/__tests__/ranker.test.d.ts +2 -0
  347. package/dist/reasoning/proof-mining/__tests__/ranker.test.d.ts.map +1 -0
  348. package/dist/reasoning/proof-mining/__tests__/ranker.test.js +93 -0
  349. package/dist/reasoning/proof-mining/__tests__/ranker.test.js.map +1 -0
  350. package/dist/reasoning/proof-mining/extractor.d.ts +73 -0
  351. package/dist/reasoning/proof-mining/extractor.d.ts.map +1 -0
  352. package/dist/reasoning/proof-mining/extractor.js +170 -0
  353. package/dist/reasoning/proof-mining/extractor.js.map +1 -0
  354. package/dist/reasoning/proof-mining/generalizer.d.ts +46 -0
  355. package/dist/reasoning/proof-mining/generalizer.d.ts.map +1 -0
  356. package/dist/reasoning/proof-mining/generalizer.js +245 -0
  357. package/dist/reasoning/proof-mining/generalizer.js.map +1 -0
  358. package/dist/reasoning/proof-mining/index.d.ts +62 -0
  359. package/dist/reasoning/proof-mining/index.d.ts.map +1 -0
  360. package/dist/reasoning/proof-mining/index.js +235 -0
  361. package/dist/reasoning/proof-mining/index.js.map +1 -0
  362. package/dist/reasoning/proof-mining/persistence.d.ts +35 -0
  363. package/dist/reasoning/proof-mining/persistence.d.ts.map +1 -0
  364. package/dist/reasoning/proof-mining/persistence.js +126 -0
  365. package/dist/reasoning/proof-mining/persistence.js.map +1 -0
  366. package/dist/reasoning/proof-mining/ranker.d.ts +29 -0
  367. package/dist/reasoning/proof-mining/ranker.d.ts.map +1 -0
  368. package/dist/reasoning/proof-mining/ranker.js +71 -0
  369. package/dist/reasoning/proof-mining/ranker.js.map +1 -0
  370. package/dist/reasoning/proof-mining/statistics.d.ts +11 -0
  371. package/dist/reasoning/proof-mining/statistics.d.ts.map +1 -0
  372. package/dist/reasoning/proof-mining/statistics.js +44 -0
  373. package/dist/reasoning/proof-mining/statistics.js.map +1 -0
  374. package/dist/reasoning/proof-mining/types.d.ts +117 -0
  375. package/dist/reasoning/proof-mining/types.d.ts.map +1 -0
  376. package/dist/reasoning/proof-mining/types.js +24 -0
  377. package/dist/reasoning/proof-mining/types.js.map +1 -0
  378. package/dist/reasoning/separation-logic/index.d.ts +30 -0
  379. package/dist/reasoning/separation-logic/index.d.ts.map +1 -1
  380. package/dist/reasoning/separation-logic/index.js +21 -0
  381. package/dist/reasoning/separation-logic/index.js.map +1 -1
  382. package/dist/reasoning/set-theory/hf-functions.js +3 -3
  383. package/dist/reasoning/set-theory/hf-sets.js +1 -1
  384. package/dist/reasoning/set-theory/index.d.ts +3 -3
  385. package/dist/reasoning/set-theory/index.d.ts.map +1 -1
  386. package/dist/reasoning/set-theory/zfc-axioms.js +4 -4
  387. package/dist/reasoning/tactic-dsl/tactics.d.ts +87 -0
  388. package/dist/reasoning/tactic-dsl/tactics.d.ts.map +1 -1
  389. package/dist/reasoning/tactic-dsl/tactics.js +86 -36
  390. package/dist/reasoning/tactic-dsl/tactics.js.map +1 -1
  391. package/dist/reasoning/topology/index.d.ts +81 -0
  392. package/dist/reasoning/topology/index.d.ts.map +1 -1
  393. package/dist/reasoning/topology/index.js +69 -45
  394. package/dist/reasoning/topology/index.js.map +1 -1
  395. package/dist/runtime/countermodel-min/minimize.js +0 -0
  396. package/dist/runtime/countermodel-min/minimize.js.map +1 -1
  397. package/dist/runtime/csp-hoare/semantics.d.ts +12 -0
  398. package/dist/runtime/csp-hoare/semantics.d.ts.map +1 -1
  399. package/dist/runtime/csp-hoare/semantics.js +12 -0
  400. package/dist/runtime/csp-hoare/semantics.js.map +1 -1
  401. package/dist/runtime/symbolic-diff/constructors.d.ts +20 -0
  402. package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -1
  403. package/dist/runtime/symbolic-diff/constructors.js +20 -0
  404. package/dist/runtime/symbolic-diff/constructors.js.map +1 -1
  405. package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -1
  406. package/dist/runtime/term-rewriting/term-utils.js +33 -2
  407. package/dist/runtime/term-rewriting/term-utils.js.map +1 -1
  408. package/dist/runtime/typecheck/checker.js +2 -2
  409. package/dist/runtime/typecheck/checker.js.map +1 -1
  410. package/dist/runtime/typecheck/levenshtein.js +1 -1
  411. package/dist/runtime/typecheck/levenshtein.js.map +1 -1
  412. package/dist/semantics/categorical/fin-set.d.ts.map +1 -1
  413. package/dist/semantics/categorical/fin-set.js +8 -1
  414. package/dist/semantics/categorical/fin-set.js.map +1 -1
  415. package/dist/semantics/categorical/free.d.ts.map +1 -1
  416. package/dist/semantics/categorical/free.js +8 -2
  417. package/dist/semantics/categorical/free.js.map +1 -1
  418. package/dist/semantics/categorical/limits.d.ts.map +1 -1
  419. package/dist/semantics/categorical/limits.js +13 -4
  420. package/dist/semantics/categorical/limits.js.map +1 -1
  421. package/dist/semantics/categorical/monoidal.d.ts.map +1 -1
  422. package/dist/semantics/categorical/monoidal.js +3 -1
  423. package/dist/semantics/categorical/monoidal.js.map +1 -1
  424. package/dist/semantics/text-layer/compiler.d.ts +46 -0
  425. package/dist/semantics/text-layer/compiler.d.ts.map +1 -1
  426. package/dist/semantics/text-layer/compiler.js +46 -11
  427. package/dist/semantics/text-layer/compiler.js.map +1 -1
  428. package/dist/solver/cdcl-v2/index.d.ts +8 -0
  429. package/dist/solver/cdcl-v2/index.d.ts.map +1 -1
  430. package/dist/solver/cdcl-v2/index.js +8 -0
  431. package/dist/solver/cdcl-v2/index.js.map +1 -1
  432. package/dist/solver/smt-z3/z3-wasm-backend.d.ts +0 -1
  433. package/dist/solver/smt-z3/z3-wasm-backend.d.ts.map +1 -1
  434. package/dist/solver/smt-z3/z3-wasm-backend.js +2 -3
  435. package/dist/solver/smt-z3/z3-wasm-backend.js.map +1 -1
  436. package/dist/tests/agora-integration-fixtures.test.js +7 -2
  437. package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
  438. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts +2 -0
  439. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts.map +1 -0
  440. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js +123 -0
  441. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js.map +1 -0
  442. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts +2 -0
  443. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts.map +1 -0
  444. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js +172 -0
  445. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js.map +1 -0
  446. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts +2 -0
  447. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts.map +1 -0
  448. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js +326 -0
  449. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js.map +1 -0
  450. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts +2 -0
  451. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts.map +1 -0
  452. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js +418 -0
  453. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js.map +1 -0
  454. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts +2 -0
  455. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts.map +1 -0
  456. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js +162 -0
  457. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js.map +1 -0
  458. package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts +2 -0
  459. package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts.map +1 -0
  460. package/dist/tests/coverage-90/coverage-90-nk-prover.test.js +104 -0
  461. package/dist/tests/coverage-90/coverage-90-nk-prover.test.js.map +1 -0
  462. package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts +2 -0
  463. package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts.map +1 -0
  464. package/dist/tests/coverage-90/coverage-90-parser-deep.test.js +262 -0
  465. package/dist/tests/coverage-90/coverage-90-parser-deep.test.js.map +1 -0
  466. package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts +2 -0
  467. package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts.map +1 -0
  468. package/dist/tests/coverage-90/coverage-90-sat-engines.test.js +101 -0
  469. package/dist/tests/coverage-90/coverage-90-sat-engines.test.js.map +1 -0
  470. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts +2 -0
  471. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts.map +1 -0
  472. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js +219 -0
  473. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js.map +1 -0
  474. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts +2 -0
  475. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts.map +1 -0
  476. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js +154 -0
  477. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js.map +1 -0
  478. package/dist/tests/coverage-95/first-order.test.js.map +1 -1
  479. package/dist/tests/coverage-95/fol-prover.test.js.map +1 -1
  480. package/dist/tests/integration/cross-modules.test.js +43 -19
  481. package/dist/tests/integration/cross-modules.test.js.map +1 -1
  482. package/dist/tests/logic/ctl/check.test.js.map +1 -1
  483. package/dist/tests/logic/profile-bridge/translations.test.js +3 -3
  484. package/dist/tests/logic/profile-bridge/translations.test.js.map +1 -1
  485. package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts +2 -0
  486. package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts.map +1 -0
  487. package/dist/tests/logic/profiles/sequent-lj/lj.test.js +400 -0
  488. package/dist/tests/logic/profiles/sequent-lj/lj.test.js.map +1 -0
  489. package/dist/tests/logic/sequent-g3/prover.test.js.map +1 -1
  490. package/dist/tests/logic/substructural/prover.test.js.map +1 -1
  491. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js +40 -13
  492. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js.map +1 -1
  493. package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.js.map +1 -1
  494. package/dist/tests/proof-systems/tableau-framework/tableau.test.js +8 -8
  495. package/dist/tests/proof-systems/tableau-framework/tableau.test.js.map +1 -1
  496. package/dist/tests/properties/agm.property.test.js +1 -1
  497. package/dist/tests/properties/agm.property.test.js.map +1 -1
  498. package/dist/tests/properties/anti-unification.property.test.js.map +1 -1
  499. package/dist/tests/properties/argumentation.property.test.js.map +1 -1
  500. package/dist/tests/properties/bisimulation.property.test.js.map +1 -1
  501. package/dist/tests/properties/cdcl.property.test.js.map +1 -1
  502. package/dist/tests/properties/coinduction.property.test.js.map +1 -1
  503. package/dist/tests/properties/constructive-reals.property.test.js.map +1 -1
  504. package/dist/tests/properties/csp.property.test.js +1 -3
  505. package/dist/tests/properties/csp.property.test.js.map +1 -1
  506. package/dist/tests/properties/generators.d.ts +1 -1
  507. package/dist/tests/properties/generators.d.ts.map +1 -1
  508. package/dist/tests/properties/generators.js +22 -30
  509. package/dist/tests/properties/generators.js.map +1 -1
  510. package/dist/tests/properties/intuit-nj.property.test.js +3 -1
  511. package/dist/tests/properties/intuit-nj.property.test.js.map +1 -1
  512. package/dist/tests/properties/lambda-calc.property.test.js.map +1 -1
  513. package/dist/tests/properties/mln.property.test.js +1 -3
  514. package/dist/tests/properties/mln.property.test.js.map +1 -1
  515. package/dist/tests/properties/planning.property.test.js.map +1 -1
  516. package/dist/tests/properties/profile-bridge.property.test.js.map +1 -1
  517. package/dist/tests/properties/theorem-cache.property.test.js.map +1 -1
  518. package/dist/tests/protocol-text-layer.test.js.map +1 -1
  519. package/dist/tests/reasoning/combinatorics/combinatorics.test.js +1 -1
  520. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js +9 -9
  521. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js.map +1 -1
  522. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js +80 -38
  523. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js.map +1 -1
  524. package/dist/tests/reasoning/order-theory/order-theory.test.d.ts +2 -0
  525. package/dist/tests/reasoning/order-theory/order-theory.test.d.ts.map +1 -0
  526. package/dist/tests/reasoning/order-theory/order-theory.test.js +211 -0
  527. package/dist/tests/reasoning/order-theory/order-theory.test.js.map +1 -0
  528. package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts +2 -0
  529. package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts.map +1 -0
  530. package/dist/tests/reasoning/peano-arithmetic/peano.test.js +159 -0
  531. package/dist/tests/reasoning/peano-arithmetic/peano.test.js.map +1 -0
  532. package/dist/tests/reasoning/set-theory/hf-functions.test.js +11 -11
  533. package/dist/tests/reasoning/set-theory/zfc-axioms.test.js +1 -1
  534. package/dist/tests/semantics/text-layer-v2/claim-graph.test.js.map +1 -1
  535. package/dist/tests/solver/smt-lib/emitter.test.js.map +1 -1
  536. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.js.map +1 -1
  537. package/dist/tests/tooling/test-harness/test-harness.test.js +9 -6
  538. package/dist/tests/tooling/test-harness/test-harness.test.js.map +1 -1
  539. package/dist/tooling/lsp/types.d.ts +13 -0
  540. package/dist/tooling/lsp/types.d.ts.map +1 -1
  541. package/dist/tooling/lsp/types.js +1 -0
  542. package/dist/tooling/lsp/types.js.map +1 -1
  543. package/dist/tooling/test-harness/combinators.d.ts.map +1 -1
  544. package/dist/tooling/test-harness/combinators.js +4 -4
  545. package/dist/tooling/test-harness/combinators.js.map +1 -1
  546. package/dist/tooling/test-harness/coverage.js +1 -1
  547. package/dist/tooling/test-harness/generators.d.ts.map +1 -1
  548. package/dist/tooling/test-harness/generators.js.map +1 -1
  549. package/dist/tooling/test-harness/index.d.ts +1 -1
  550. package/dist/tooling/test-harness/index.d.ts.map +1 -1
  551. package/dist/tooling/test-harness/index.js.map +1 -1
  552. package/dist/tooling/test-harness/snapshot.d.ts.map +1 -1
  553. package/dist/tooling/test-harness/snapshot.js +2 -2
  554. package/dist/tooling/test-harness/snapshot.js.map +1 -1
  555. package/dist/type-theory/cubical/types.d.ts +25 -0
  556. package/dist/type-theory/cubical/types.d.ts.map +1 -1
  557. package/dist/type-theory/cubical/types.js +20 -0
  558. package/dist/type-theory/cubical/types.js.map +1 -1
  559. package/dist/type-theory/curry-howard/types.d.ts +27 -0
  560. package/dist/type-theory/curry-howard/types.d.ts.map +1 -1
  561. package/dist/type-theory/curry-howard/types.js +18 -0
  562. package/dist/type-theory/curry-howard/types.js.map +1 -1
  563. package/dist/type-theory/hindley-milner/substitution.d.ts +39 -0
  564. package/dist/type-theory/hindley-milner/substitution.d.ts.map +1 -1
  565. package/dist/type-theory/hindley-milner/substitution.js +37 -0
  566. package/dist/type-theory/hindley-milner/substitution.js.map +1 -1
  567. package/dist/type-theory/hindley-milner/types.d.ts +25 -0
  568. package/dist/type-theory/hindley-milner/types.d.ts.map +1 -1
  569. package/dist/type-theory/hindley-milner/types.js +22 -2
  570. package/dist/type-theory/hindley-milner/types.js.map +1 -1
  571. package/dist/type-theory/hol/rules.d.ts +36 -0
  572. package/dist/type-theory/hol/rules.d.ts.map +1 -1
  573. package/dist/type-theory/hol/rules.js +36 -0
  574. package/dist/type-theory/hol/rules.js.map +1 -1
  575. package/dist/type-theory/hott/types.d.ts +32 -0
  576. package/dist/type-theory/hott/types.d.ts.map +1 -1
  577. package/dist/type-theory/hott/types.js +31 -1
  578. package/dist/type-theory/hott/types.js.map +1 -1
  579. package/dist/type-theory/lambda-cube/types.d.ts +17 -0
  580. package/dist/type-theory/lambda-cube/types.d.ts.map +1 -1
  581. package/dist/type-theory/lambda-cube/types.js +13 -0
  582. package/dist/type-theory/lambda-cube/types.js.map +1 -1
  583. package/dist/type-theory/mltt/types.d.ts +19 -0
  584. package/dist/type-theory/mltt/types.d.ts.map +1 -1
  585. package/dist/type-theory/mltt/types.js +15 -1
  586. package/dist/type-theory/mltt/types.js.map +1 -1
  587. package/dist/type-theory/nbe/types.d.ts +21 -0
  588. package/dist/type-theory/nbe/types.d.ts.map +1 -1
  589. package/dist/type-theory/nbe/types.js +13 -1
  590. package/dist/type-theory/nbe/types.js.map +1 -1
  591. package/dist/type-theory/refinement-types/types.d.ts +38 -0
  592. package/dist/type-theory/refinement-types/types.d.ts.map +1 -1
  593. package/dist/type-theory/refinement-types/types.js +35 -0
  594. package/dist/type-theory/refinement-types/types.js.map +1 -1
  595. package/dist/type-theory/system-f/types.d.ts +30 -0
  596. package/dist/type-theory/system-f/types.d.ts.map +1 -1
  597. package/dist/type-theory/system-f/types.js +24 -3
  598. package/dist/type-theory/system-f/types.js.map +1 -1
  599. package/dist/types/index.d.ts +42 -0
  600. package/dist/types/index.d.ts.map +1 -1
  601. package/dist/types/index.js.map +1 -1
  602. package/package.json +26 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/peano-arithmetic/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,110 @@
1
+ /**
2
+ * Dense polynomial over Z or Z/pZ.
3
+ * `coefficients[i]` is the coefficient of x^i (little-endian).
4
+ * When `modulus` is defined, all coefficients are kept reduced mod p.
5
+ */
1
6
  export interface Polynomial {
2
7
  coefficients: bigint[];
3
8
  modulus?: bigint;
4
9
  }
10
+ /**
11
+ * Constructs a normalized {@link Polynomial} from a coefficient array.
12
+ * `coefficients[0]` is the constant term; accepts `number[]` for convenience.
13
+ * @param coefficients - Little-endian coefficient array (index = power of x).
14
+ * @param modulus - Optional prime modulus p; all coefficients are reduced mod p.
15
+ */
5
16
  export declare function poly(coefficients: bigint[] | number[], modulus?: bigint): Polynomial;
17
+ /**
18
+ * Returns the degree of `p`. Returns -1 for the zero polynomial (a finite
19
+ * sentinel, since `number` cannot represent -∞ cleanly in strict TS).
20
+ */
6
21
  export declare function degree(p: Polynomial): number;
22
+ /** Returns the coefficient of the highest-degree term, or `0n` for the zero polynomial. */
7
23
  export declare function leadingCoefficient(p: Polynomial): bigint;
24
+ /** Returns `true` when `p` is the zero polynomial (degree -1). */
8
25
  export declare function isZero(p: Polynomial): boolean;
26
+ /** Returns `a + b`. Reduces coefficients mod p when both share a modulus. */
9
27
  export declare function add(a: Polynomial, b: Polynomial): Polynomial;
28
+ /** Returns `a - b`. */
10
29
  export declare function sub(a: Polynomial, b: Polynomial): Polynomial;
30
+ /** Returns `a * b` via schoolbook convolution, O(deg(a)·deg(b)). */
11
31
  export declare function multiply(a: Polynomial, b: Polynomial): Polynomial;
32
+ /**
33
+ * Euclidean division of `a` by `b`, returning `{ quotient, remainder }`.
34
+ * Over Z/pZ the result is exact. Over Z, requires `b` to be monic (lead ±1)
35
+ * or uses pseudo-division when the leading coefficient does not divide.
36
+ * @throws When `b` is the zero polynomial.
37
+ */
12
38
  export declare function divmod(a: Polynomial, b: Polynomial): {
13
39
  quotient: Polynomial;
14
40
  remainder: Polynomial;
15
41
  };
42
+ /**
43
+ * Greatest common divisor of `a` and `b`.
44
+ * Over Z/pZ uses Euclides in the field and returns a monic result.
45
+ * Over Z uses subresultant PRS and returns the primitive part with positive leading coefficient.
46
+ */
16
47
  export declare function gcd(a: Polynomial, b: Polynomial): Polynomial;
48
+ /** Returns the formal derivative d/dx of `p`. Constant polynomials map to zero. */
17
49
  export declare function derivative(p: Polynomial): Polynomial;
50
+ /**
51
+ * Evaluates `p` at integer point `x` via Horner's rule.
52
+ * When `p` has a modulus, the result is reduced mod p.
53
+ */
18
54
  export declare function evaluate(p: Polynomial, x: bigint): bigint;
55
+ /**
56
+ * Returns the composition `a(b(x))` via Horner evaluation of `a` over `b`.
57
+ * Both polynomials must share the same modulus (or both be over Z).
58
+ */
19
59
  export declare function compose(a: Polynomial, b: Polynomial): Polynomial;
60
+ /**
61
+ * Returns all rational roots of `p ∈ Z[x]` as reduced fractions `{ num, den }`.
62
+ * Uses the rational root theorem: roots have the form ±(divisors of a₀) / (divisors of aₙ).
63
+ * @throws When `p` has a modulus (rational roots do not apply in Z/pZ).
64
+ */
20
65
  export declare function rationalRoots(p: Polynomial): Array<{
21
66
  num: bigint;
22
67
  den: bigint;
23
68
  }>;
69
+ /**
70
+ * Returns the square-free part of `p`: `p / gcd(p, p')`.
71
+ * Over Z/pZ: divides out the gcd with the formal derivative.
72
+ * Over Z: uses primitive-part arithmetic to avoid coefficient blow-up.
73
+ */
24
74
  export declare function squareFree(p: Polynomial): Polynomial;
75
+ /**
76
+ * Factors `p ∈ Z[x]` into irreducible factors over Q.
77
+ * Extracts integer content, linear factors via rational root theorem,
78
+ * and returns the remaining primitive part as a single factor when no
79
+ * further rational roots are found.
80
+ * @throws When `p` has a modulus — use {@link factorInZp} instead.
81
+ */
25
82
  export declare function factor(p: Polynomial): Polynomial[];
83
+ /**
84
+ * Tests whether `p` is irreducible over Q (when no modulus) or over Z/pZ (when modulus is set).
85
+ * Over Q: degree ≤ 3 uses rational root test; degree ≥ 4 delegates to {@link factor}.
86
+ * Over Z/pZ: delegates to {@link factorInZp} and checks for a single factor.
87
+ * @param samples - Unused (kept for API compatibility).
88
+ */
26
89
  export declare function isIrreducible(p: Polynomial, samples?: number): boolean;
90
+ /**
91
+ * Factors `p` in Z/pZ (the field with `prime` elements).
92
+ * Uses root-finding for linear factors, then exhaustive search for
93
+ * irreducible quadratic factors (lite Berlekamp for small p).
94
+ * @param prime - A prime modulus > 1.
95
+ * @throws When `prime` ≤ 1.
96
+ */
27
97
  export declare function factorInZp(p: Polynomial, prime: bigint): Polynomial[];
98
+ /**
99
+ * Computes the resultant of `a` and `b` in Z[x] via the Sylvester matrix determinant.
100
+ * Returns 0 when either polynomial is zero.
101
+ * @throws When either polynomial has a modulus.
102
+ */
28
103
  export declare function resultant(a: Polynomial, b: Polynomial): bigint;
104
+ /**
105
+ * Returns the discriminant of `p ∈ Z[x]`:
106
+ * `disc(p) = (-1)^{n(n-1)/2} · res(p, p') / lead(p)`.
107
+ * @throws When `p` has a modulus.
108
+ */
29
109
  export declare function discriminant(p: Polynomial): bigint;
30
110
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/polynomial-ring/index.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyED,wBAAgB,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAIpF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAK5C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAE7C;AAID,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAU5D;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAU5D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAgBjE;AAaD,wBAAgB,MAAM,CACpB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,GACZ;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,UAAU,CAAA;CAAE,CA4DjD;AAmED,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAmC5D;AAID,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAOpD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAShE;AAiCD,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAkEhF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAyBpD;AAqCD,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CA0DlD;AAiBD,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,SAAK,GAAG,OAAO,CAuBlE;AASD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAqErE;AAID,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAQ9D;AAyDD,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAelD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/polynomial-ring/index.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAIpF;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAK5C;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAE7C;AAID,6EAA6E;AAC7E,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAU5D;AAED,uBAAuB;AACvB,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAU5D;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAgBjE;AAaD;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,GACZ;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,UAAU,CAAA;CAAE,CA4DjD;AAmED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAmC5D;AAID,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAOpD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAShE;AAiCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAkEhF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAyBpD;AAqCD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CA0DlD;AAiBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,SAAK,GAAG,OAAO,CAuBlE;AASD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAqErE;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAQ9D;AAyDD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAelD"}
@@ -106,12 +106,22 @@ function sameModulus(a, b) {
106
106
  return a.modulus;
107
107
  }
108
108
  // --- API base ----------------------------------------------------------
109
+ /**
110
+ * Constructs a normalized {@link Polynomial} from a coefficient array.
111
+ * `coefficients[0]` is the constant term; accepts `number[]` for convenience.
112
+ * @param coefficients - Little-endian coefficient array (index = power of x).
113
+ * @param modulus - Optional prime modulus p; all coefficients are reduced mod p.
114
+ */
109
115
  function poly(coefficients, modulus) {
110
116
  const asBig = coefficients.map((c) => (typeof c === 'bigint' ? c : BigInt(c)));
111
117
  if (asBig.length === 0)
112
118
  asBig.push(0n);
113
119
  return makePoly(asBig, modulus);
114
120
  }
121
+ /**
122
+ * Returns the degree of `p`. Returns -1 for the zero polynomial (a finite
123
+ * sentinel, since `number` cannot represent -∞ cleanly in strict TS).
124
+ */
115
125
  function degree(p) {
116
126
  // polinomio cero: degree -1 por convención (algunos usan -Infinity, elegimos -1
117
127
  // para que sea un número finito en TS strict).
@@ -119,16 +129,19 @@ function degree(p) {
119
129
  return -1;
120
130
  return p.coefficients.length - 1;
121
131
  }
132
+ /** Returns the coefficient of the highest-degree term, or `0n` for the zero polynomial. */
122
133
  function leadingCoefficient(p) {
123
134
  const d = degree(p);
124
135
  if (d < 0)
125
136
  return 0n;
126
137
  return p.coefficients[d];
127
138
  }
139
+ /** Returns `true` when `p` is the zero polynomial (degree -1). */
128
140
  function isZero(p) {
129
141
  return degree(p) < 0;
130
142
  }
131
143
  // --- aritmética --------------------------------------------------------
144
+ /** Returns `a + b`. Reduces coefficients mod p when both share a modulus. */
132
145
  function add(a, b) {
133
146
  const m = sameModulus(a, b);
134
147
  const len = Math.max(a.coefficients.length, b.coefficients.length);
@@ -140,6 +153,7 @@ function add(a, b) {
140
153
  }
141
154
  return makePoly(out, m);
142
155
  }
156
+ /** Returns `a - b`. */
143
157
  function sub(a, b) {
144
158
  const m = sameModulus(a, b);
145
159
  const len = Math.max(a.coefficients.length, b.coefficients.length);
@@ -151,6 +165,7 @@ function sub(a, b) {
151
165
  }
152
166
  return makePoly(out, m);
153
167
  }
168
+ /** Returns `a * b` via schoolbook convolution, O(deg(a)·deg(b)). */
154
169
  function multiply(a, b) {
155
170
  const m = sameModulus(a, b);
156
171
  if (isZero(a) || isZero(b))
@@ -173,6 +188,12 @@ function scalarMul(p, k) {
173
188
  // --- división euclidiana ----------------------------------------------
174
189
  // Sobre Z/pZ es exacta (campo). Sobre Z, sólo lo hacemos si el divisor
175
190
  // es monic (líder ±1) o si la división resulta exacta sobre Z.
191
+ /**
192
+ * Euclidean division of `a` by `b`, returning `{ quotient, remainder }`.
193
+ * Over Z/pZ the result is exact. Over Z, requires `b` to be monic (lead ±1)
194
+ * or uses pseudo-division when the leading coefficient does not divide.
195
+ * @throws When `b` is the zero polynomial.
196
+ */
176
197
  function divmod(a, b) {
177
198
  const m = sameModulus(a, b);
178
199
  if (isZero(b)) {
@@ -293,6 +314,11 @@ function primitivePart(p) {
293
314
  const sign = leadingCoefficient(p) < 0n ? -1n : 1n;
294
315
  return makePoly(p.coefficients.map((x) => (x / c) * sign));
295
316
  }
317
+ /**
318
+ * Greatest common divisor of `a` and `b`.
319
+ * Over Z/pZ uses Euclides in the field and returns a monic result.
320
+ * Over Z uses subresultant PRS and returns the primitive part with positive leading coefficient.
321
+ */
296
322
  function gcd(a, b) {
297
323
  const m = sameModulus(a, b);
298
324
  if (m !== undefined) {
@@ -332,6 +358,7 @@ function gcd(a, b) {
332
358
  return primitivePart(x);
333
359
  }
334
360
  // --- derivada, evaluación, composición --------------------------------
361
+ /** Returns the formal derivative d/dx of `p`. Constant polynomials map to zero. */
335
362
  function derivative(p) {
336
363
  if (degree(p) <= 0)
337
364
  return makePoly([0n], p.modulus);
@@ -341,6 +368,10 @@ function derivative(p) {
341
368
  }
342
369
  return makePoly(out, p.modulus);
343
370
  }
371
+ /**
372
+ * Evaluates `p` at integer point `x` via Horner's rule.
373
+ * When `p` has a modulus, the result is reduced mod p.
374
+ */
344
375
  function evaluate(p, x) {
345
376
  // Horner.
346
377
  let result = 0n;
@@ -351,6 +382,10 @@ function evaluate(p, x) {
351
382
  }
352
383
  return result;
353
384
  }
385
+ /**
386
+ * Returns the composition `a(b(x))` via Horner evaluation of `a` over `b`.
387
+ * Both polynomials must share the same modulus (or both be over Z).
388
+ */
354
389
  function compose(a, b) {
355
390
  // a(b(x)) via Horner sobre b.
356
391
  const m = sameModulus(a, b);
@@ -392,6 +427,11 @@ function reduceFraction(num, den) {
392
427
  }
393
428
  return { num: n, den: d };
394
429
  }
430
+ /**
431
+ * Returns all rational roots of `p ∈ Z[x]` as reduced fractions `{ num, den }`.
432
+ * Uses the rational root theorem: roots have the form ±(divisors of a₀) / (divisors of aₙ).
433
+ * @throws When `p` has a modulus (rational roots do not apply in Z/pZ).
434
+ */
395
435
  function rationalRoots(p) {
396
436
  if (p.modulus !== undefined) {
397
437
  throw new Error('rationalRoots: no aplica con módulo definido');
@@ -459,6 +499,11 @@ function rationalRoots(p) {
459
499
  });
460
500
  return out;
461
501
  }
502
+ /**
503
+ * Returns the square-free part of `p`: `p / gcd(p, p')`.
504
+ * Over Z/pZ: divides out the gcd with the formal derivative.
505
+ * Over Z: uses primitive-part arithmetic to avoid coefficient blow-up.
506
+ */
462
507
  function squareFree(p) {
463
508
  if (p.modulus !== undefined) {
464
509
  // Sobre Z/p: squarefree = p / gcd(p, p').
@@ -528,6 +573,13 @@ function exactDivideZ(a, b) {
528
573
  }
529
574
  return makePoly(quotient);
530
575
  }
576
+ /**
577
+ * Factors `p ∈ Z[x]` into irreducible factors over Q.
578
+ * Extracts integer content, linear factors via rational root theorem,
579
+ * and returns the remaining primitive part as a single factor when no
580
+ * further rational roots are found.
581
+ * @throws When `p` has a modulus — use {@link factorInZp} instead.
582
+ */
531
583
  function factor(p) {
532
584
  if (p.modulus !== undefined) {
533
585
  throw new Error('factor: usa factorInZp para módulos primos');
@@ -603,6 +655,12 @@ function evaluateRational(p, num, den) {
603
655
  }
604
656
  return acc;
605
657
  }
658
+ /**
659
+ * Tests whether `p` is irreducible over Q (when no modulus) or over Z/pZ (when modulus is set).
660
+ * Over Q: degree ≤ 3 uses rational root test; degree ≥ 4 delegates to {@link factor}.
661
+ * Over Z/pZ: delegates to {@link factorInZp} and checks for a single factor.
662
+ * @param samples - Unused (kept for API compatibility).
663
+ */
606
664
  function isIrreducible(p, samples = 30) {
607
665
  if (p.modulus !== undefined) {
608
666
  // Sobre Z/pZ: irreducible ⇔ factorInZp da un sólo factor (lineal-monic).
@@ -640,6 +698,13 @@ function isIrreducible(p, samples = 30) {
640
698
  // en {0, ..., p-1}, dividir por (x - r) hasta agotar, y para grado ≥ 2
641
699
  // restante se hace una búsqueda por factores de grado 2 (suficiente para
642
700
  // los casos de test). Es una versión "lite" de Berlekamp.
701
+ /**
702
+ * Factors `p` in Z/pZ (the field with `prime` elements).
703
+ * Uses root-finding for linear factors, then exhaustive search for
704
+ * irreducible quadratic factors (lite Berlekamp for small p).
705
+ * @param prime - A prime modulus > 1.
706
+ * @throws When `prime` ≤ 1.
707
+ */
643
708
  function factorInZp(p, prime) {
644
709
  if (prime <= 1n)
645
710
  throw new Error('factorInZp: prime debe ser > 1');
@@ -711,6 +776,11 @@ function factorInZp(p, prime) {
711
776
  return factors;
712
777
  }
713
778
  // --- resultante y discriminante ---------------------------------------
779
+ /**
780
+ * Computes the resultant of `a` and `b` in Z[x] via the Sylvester matrix determinant.
781
+ * Returns 0 when either polynomial is zero.
782
+ * @throws When either polynomial has a modulus.
783
+ */
714
784
  function resultant(a, b) {
715
785
  if (a.modulus !== undefined || b.modulus !== undefined) {
716
786
  throw new Error('resultant: implementación sólo Z');
@@ -777,6 +847,11 @@ function bigDeterminant(M) {
777
847
  }
778
848
  return sign * A[n - 1][n - 1];
779
849
  }
850
+ /**
851
+ * Returns the discriminant of `p ∈ Z[x]`:
852
+ * `disc(p) = (-1)^{n(n-1)/2} · res(p, p') / lead(p)`.
853
+ * @throws When `p` has a modulus.
854
+ */
780
855
  function discriminant(p) {
781
856
  if (p.modulus !== undefined) {
782
857
  throw new Error('discriminant: implementación sólo Z');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/polynomial-ring/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,oEAAoE;AACpE,qEAAqE;AACrE,kEAAkE;AAClE,EAAE;AACF,gEAAgE;AAChE,sDAAsD;AACtD,EAAE;AACF,gBAAgB;AAChB,gEAAgE;AAChE,kEAAkE;AAClE,2CAA2C;AAC3C,iEAAiE;AACjE,8CAA8C;AAC9C,gEAAgE;AAChE,yCAAyC;AACzC,+DAA+D;;AA8E/D,oBAIC;AAED,wBAKC;AAED,gDAIC;AAED,wBAEC;AAID,kBAUC;AAED,kBAUC;AAED,4BAgBC;AAaD,wBA+DC;AAmED,kBAmCC;AAID,gCAOC;AAED,4BAQC;AAED,0BASC;AAiCD,sCAkEC;AAED,gCAyBC;AAqCD,wBA0DC;AAiBD,sCAuBC;AASD,gCAqEC;AAID,8BAQC;AAyDD,oCAeC;AAjwBD,0EAA0E;AAE1E,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,IAAI,CAAC,MAAgB,EAAE,OAAgB;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpD,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,+BAA+B;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,MAAgB,EAAE,OAAgB;IAClD,MAAM,MAAM,GAAe,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnE,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,CAAa,EAAE,CAAa;IAC/C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzE,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC;AAED,0EAA0E;AAE1E,SAAgB,IAAI,CAAC,YAAiC,EAAE,OAAgB;IACtE,MAAM,KAAK,GAAa,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,MAAM,CAAC,CAAa;IAClC,gFAAgF;IAChF,+CAA+C;IAC/C,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAa;IAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,MAAM,CAAC,CAAa;IAClC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,0EAA0E;AAE1E,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAa,EAAE,CAAa;IACnD,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAC9B,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,EAC7D,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,CAAS;IACzC,OAAO,QAAQ,CACb,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC,CAAC,OAAO,CACV,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,uEAAuE;AACvE,+DAA+D;AAE/D,SAAgB,MAAM,CACpB,CAAa,EACb,CAAa;IAEb,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAExF,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,KAAK,EAAE;gBAAE,SAAS;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,qEAAqE;IACrE,iDAAiD;IACjD,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC;QAC9C,qEAAqE;QACrE,mEAAmE;QACnE,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,oCAAoC;IACpC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,WAAW,CAAC;QAClC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,yEAAyE;AACzE,8DAA8D;AAC9D,SAAS,aAAa,CACpB,CAAa,EACb,CAAa;IAEb,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,6DAA6D;YAC7D,iEAAiE;YACjE,gEAAgE;YAChE,wDAAwD;YACxD,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,0EAA0E;AAE1E,SAAS,QAAQ,CAAC,CAAa;IAC7B,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,CAAa;IAClC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,kEAAkE;QAClE,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,2DAA2D;QAC3D,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,SAAS,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACxB,eAAe;QACf,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,GAAG,CAAC,CAAC;QACN,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,SAAS,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AAEzE,SAAgB,UAAU,CAAC,CAAa;IACtC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAa,EAAE,CAAS;IAC/C,UAAU;IACV,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAC,CAAa,EAAE,CAAa;IAClD,8BAA8B;IAC9B,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,GAAe,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AAEzE,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW;IAC9C,IAAI,GAAG,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACX,CAAC,GAAG,CAAC,CAAC,CAAC;QACP,CAAC,GAAG,CAAC,CAAC,CAAC;IACT,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,SAAgB,aAAa,CAAC,CAAa;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,yCAAyC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAwC,EAAE,CAAC;IAEpD,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5B,4DAA4D;gBAC5D,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;gBACnC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,4EAA4E;gBAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,OAAO;oBACP,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAAE,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC;oBAClD,cAAc;oBACd,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;wBAAE,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC;oBACvD,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,UAAU,CAAC,CAAa;IACtC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,0CAA0C;QAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5C,iFAAiF;IACjF,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,6DAA6D;QAC7D,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,gDAAgD;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,CAAa,EAAE,CAAa;IAChD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,MAAM,CAAC,CAAa;IAClC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,qBAAqB;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,4CAA4C;IAC5C,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,8BAA8B;YAC9B,IAAI,MAAM,GAAe,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,8BAA8B;YAC9B,qEAAqE;YACrE,gCAAgC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7E,IAAI,CAAC;oBACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,oEAAoE;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CAAC,CAAa,EAAE,GAAW,EAAE,GAAW;IAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;QAC7C,GAAG,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,aAAa,CAAC,CAAa,EAAE,OAAO,GAAG,EAAE;IACvD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,yEAAyE;QACzE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,mCAAmC;IACnC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,qDAAqD;IAC9E,yEAAyE;IACzE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,uEAAuE;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,KAAK,OAAO,CAAC;IACb,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,0DAA0D;AAE1D,SAAgB,UAAU,CAAC,CAAa,EAAE,KAAa;IACrD,IAAI,KAAK,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnE,IAAI,OAAO,GAAe,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,eAAe;IACf,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,SAAS,GAAG,KAAK,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,GAAG,QAAQ,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAsB,IAAI,CAAC;QACpC,KAAK,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,gBAAgB;gBAC/D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,gEAAgE;oBAChE,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;4BAClC,OAAO,GAAG,IAAI,CAAC;4BACf,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO;wBAAE,SAAS;oBACtB,KAAK,GAAG,SAAS,CAAC;oBAClB,OAAO,GAAG,QAAQ,CAAC;oBACnB,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AAEzE,SAAgB,SAAS,CAAC,CAAa,EAAE,CAAa;IACpD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,iEAAiE;IACjE,kCAAkC;IAClC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAa,EAAE,CAAa;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACtB,cAAc;IACd,MAAM,CAAC,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,CAAa;IACnC,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,GAAe,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,SAAS;QACT,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACnB,IAAI,GAAG,CAAC,CAAC;oBACT,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,CAAC;QACf,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,CAAa;IACxC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,0EAA0E;IAC1E,oBAAoB;IACpB,OAAO,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/polynomial-ring/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,oEAAoE;AACpE,qEAAqE;AACrE,kEAAkE;AAClE,EAAE;AACF,gEAAgE;AAChE,sDAAsD;AACtD,EAAE;AACF,gBAAgB;AAChB,gEAAgE;AAChE,kEAAkE;AAClE,2CAA2C;AAC3C,iEAAiE;AACjE,8CAA8C;AAC9C,gEAAgE;AAChE,yCAAyC;AACzC,+DAA+D;;AAyF/D,oBAIC;AAMD,wBAKC;AAGD,gDAIC;AAGD,wBAEC;AAKD,kBAUC;AAGD,kBAUC;AAGD,4BAgBC;AAmBD,wBA+DC;AAwED,kBAmCC;AAKD,gCAOC;AAMD,4BAQC;AAMD,0BASC;AAsCD,sCAkEC;AAOD,gCAyBC;AA4CD,wBA0DC;AAuBD,sCAuBC;AAgBD,gCAqEC;AASD,8BAQC;AA8DD,oCAeC;AA50BD,0EAA0E;AAE1E,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,IAAI,CAAC,MAAgB,EAAE,OAAgB;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpD,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,+BAA+B;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,MAAgB,EAAE,OAAgB;IAClD,MAAM,MAAM,GAAe,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnE,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,CAAa,EAAE,CAAa;IAC/C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzE,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC;AAED,0EAA0E;AAE1E;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,YAAiC,EAAE,OAAgB;IACtE,MAAM,KAAK,GAAa,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,MAAM,CAAC,CAAa;IAClC,gFAAgF;IAChF,+CAA+C;IAC/C,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,2FAA2F;AAC3F,SAAgB,kBAAkB,CAAC,CAAa;IAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,kEAAkE;AAClE,SAAgB,MAAM,CAAC,CAAa;IAClC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,0EAA0E;AAE1E,6EAA6E;AAC7E,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,uBAAuB;AACvB,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,oEAAoE;AACpE,SAAgB,QAAQ,CAAC,CAAa,EAAE,CAAa;IACnD,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAC9B,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,EAC7D,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,CAAS;IACzC,OAAO,QAAQ,CACb,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC,CAAC,OAAO,CACV,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,uEAAuE;AACvE,+DAA+D;AAE/D;;;;;GAKG;AACH,SAAgB,MAAM,CACpB,CAAa,EACb,CAAa;IAEb,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAExF,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,KAAK,EAAE;gBAAE,SAAS;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,qEAAqE;IACrE,iDAAiD;IACjD,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC;QAC9C,qEAAqE;QACrE,mEAAmE;QACnE,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,oCAAoC;IACpC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,WAAW,CAAC;QAClC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,yEAAyE;AACzE,8DAA8D;AAC9D,SAAS,aAAa,CACpB,CAAa,EACb,CAAa;IAEb,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,6DAA6D;YAC7D,iEAAiE;YACjE,gEAAgE;YAChE,wDAAwD;YACxD,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,0EAA0E;AAE1E,SAAS,QAAQ,CAAC,CAAa;IAC7B,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,CAAa;IAClC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,kEAAkE;QAClE,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,CAAa,EAAE,CAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,2DAA2D;QAC3D,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,SAAS,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACxB,eAAe;QACf,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,GAAG,CAAC,CAAC;QACN,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,SAAS,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AAEzE,mFAAmF;AACnF,SAAgB,UAAU,CAAC,CAAa;IACtC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,CAAa,EAAE,CAAS;IAC/C,UAAU;IACV,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,CAAa,EAAE,CAAa;IAClD,8BAA8B;IAC9B,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,MAAM,GAAe,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AAEzE,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW;IAC9C,IAAI,GAAG,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACX,CAAC,GAAG,CAAC,CAAC,CAAC;QACP,CAAC,GAAG,CAAC,CAAC,CAAC;IACT,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,CAAa;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,yCAAyC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAwC,EAAE,CAAC;IAEpD,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5B,4DAA4D;gBAC5D,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;gBACnC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,4EAA4E;gBAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,OAAO;oBACP,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAAE,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC;oBAClD,cAAc;oBACd,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;wBAAE,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC;oBACvD,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,CAAa;IACtC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,0CAA0C;QAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5C,iFAAiF;IACjF,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,6DAA6D;QAC7D,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,gDAAgD;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,CAAa,EAAE,CAAa;IAChD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/B,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,CAAa;IAClC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,qBAAqB;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,4CAA4C;IAC5C,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,8BAA8B;YAC9B,IAAI,MAAM,GAAe,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,8BAA8B;YAC9B,qEAAqE;YACrE,gCAAgC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7E,IAAI,CAAC;oBACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,oEAAoE;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CAAC,CAAa,EAAE,GAAW,EAAE,GAAW;IAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;QAC7C,GAAG,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,CAAa,EAAE,OAAO,GAAG,EAAE;IACvD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,yEAAyE;QACzE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,mCAAmC;IACnC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,qDAAqD;IAC9E,yEAAyE;IACzE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,uEAAuE;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,KAAK,OAAO,CAAC;IACb,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,CAAa,EAAE,KAAa;IACrD,IAAI,KAAK,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnE,IAAI,OAAO,GAAe,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,eAAe;IACf,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,SAAS,GAAG,KAAK,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,GAAG,QAAQ,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAsB,IAAI,CAAC;QACpC,KAAK,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,gBAAgB;gBAC/D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,gEAAgE;oBAChE,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;4BAClC,OAAO,GAAG,IAAI,CAAC;4BACf,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO;wBAAE,SAAS;oBACtB,KAAK,GAAG,SAAS,CAAC;oBAClB,OAAO,GAAG,QAAQ,CAAC;oBACnB,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,CAAa,EAAE,CAAa;IACpD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,iEAAiE;IACjE,kCAAkC;IAClC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAa,EAAE,CAAa;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACtB,cAAc;IACd,MAAM,CAAC,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,CAAa;IACnC,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,GAAe,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,SAAS;QACT,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACnB,IAAI,GAAG,CAAC,CAAC;oBACT,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,CAAC;QACf,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,CAAa;IACxC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,0EAA0E;IAC1E,oBAAoB;IACpB,OAAO,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extractor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractor.test.d.ts","sourceRoot":"","sources":["../../../../src/reasoning/proof-mining/__tests__/extractor.test.ts"],"names":[],"mappings":""}