universal-physics-tensor 9.0.0 → 11.0.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 (1109) hide show
  1. package/README.md +21 -17
  2. package/bin/upt.mjs +13 -1
  3. package/data/atlas/atlas.json +79 -68
  4. package/data/atlas/atlas.jsonld +1 -1
  5. package/data/atlas/diffusion.json +24 -23
  6. package/data/atlas/oscillators.json +21 -16
  7. package/data/atlas/waves.json +36 -31
  8. package/data/atlas/witness-results.json +11 -11
  9. package/data/bridge-catalog.json +1192 -1636
  10. package/data/bridge-catalog.schema.json +390 -135
  11. package/data/quantities.json +53 -19
  12. package/data/schemas/atlas-record.v0.json +184 -46
  13. package/data/units.json +33 -4
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +35 -18
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.js.map +1 -1
  18. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  20. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  21. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  22. package/dist/atlas/benchmark/baselines.js +8 -0
  23. package/dist/atlas/benchmark/baselines.js.map +1 -1
  24. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +12 -3
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  26. package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
  27. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  28. package/dist/atlas/benchmark/leakage.js.map +1 -1
  29. package/dist/atlas/benchmark/loader.js +2 -2
  30. package/dist/atlas/benchmark/loader.js.map +1 -1
  31. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  32. package/dist/atlas/benchmark/run-atlas.js +14 -2
  33. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  34. package/dist/atlas/benchmark/stats.d.ts +3 -3
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +16 -8
  37. package/dist/atlas/benchmark/stats.js.map +1 -1
  38. package/dist/atlas/benchmark/study.js.map +1 -1
  39. package/dist/atlas/benchmark/types.js.map +1 -1
  40. package/dist/atlas/bridge-record.d.ts +4 -4
  41. package/dist/atlas/bridge-record.d.ts.map +1 -1
  42. package/dist/atlas/bridge-record.js +6 -6
  43. package/dist/atlas/bridge-record.js.map +1 -1
  44. package/dist/atlas/catalog-formal-ref.d.ts +26 -3
  45. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
  46. package/dist/atlas/catalog-formal-ref.js +52 -5
  47. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  48. package/dist/atlas/chain-pipeline.d.ts +0 -11
  49. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  50. package/dist/atlas/chain-pipeline.js +12 -24
  51. package/dist/atlas/chain-pipeline.js.map +1 -1
  52. package/dist/atlas/composition-table.js.map +1 -1
  53. package/dist/atlas/conventions.js.map +1 -1
  54. package/dist/atlas/coverage.d.ts +2 -2
  55. package/dist/atlas/coverage.js.map +1 -1
  56. package/dist/atlas/derivation.js.map +1 -1
  57. package/dist/atlas/derive-evidence.d.ts +6 -4
  58. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  59. package/dist/atlas/derive-evidence.js +7 -2
  60. package/dist/atlas/derive-evidence.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
  62. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  63. package/dist/atlas/diffusion/bridges-closure.js +8 -17
  64. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  65. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  66. package/dist/atlas/diffusion/bridges.js +27 -42
  67. package/dist/atlas/diffusion/bridges.js.map +1 -1
  68. package/dist/atlas/diffusion/dimensions.d.ts +6 -14
  69. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
  70. package/dist/atlas/diffusion/dimensions.js +8 -16
  71. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  72. package/dist/atlas/diffusion/index.d.ts +1 -1
  73. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  74. package/dist/atlas/diffusion/index.js.map +1 -1
  75. package/dist/atlas/diffusion/models.d.ts +3 -3
  76. package/dist/atlas/diffusion/models.d.ts.map +1 -1
  77. package/dist/atlas/diffusion/models.js +5 -10
  78. package/dist/atlas/diffusion/models.js.map +1 -1
  79. package/dist/atlas/diffusion/numerics.d.ts +16 -4
  80. package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
  81. package/dist/atlas/diffusion/numerics.js +38 -24
  82. package/dist/atlas/diffusion/numerics.js.map +1 -1
  83. package/dist/atlas/error-algebra.d.ts +6 -0
  84. package/dist/atlas/error-algebra.d.ts.map +1 -1
  85. package/dist/atlas/error-algebra.js +26 -0
  86. package/dist/atlas/error-algebra.js.map +1 -1
  87. package/dist/atlas/export.d.ts +18 -2
  88. package/dist/atlas/export.d.ts.map +1 -1
  89. package/dist/atlas/export.js +9 -3
  90. package/dist/atlas/export.js.map +1 -1
  91. package/dist/atlas/families.d.ts +19 -2
  92. package/dist/atlas/families.d.ts.map +1 -1
  93. package/dist/atlas/families.js +26 -3
  94. package/dist/atlas/families.js.map +1 -1
  95. package/dist/atlas/family.d.ts +27 -0
  96. package/dist/atlas/family.d.ts.map +1 -0
  97. package/dist/atlas/family.js +12 -0
  98. package/dist/atlas/family.js.map +1 -0
  99. package/dist/atlas/index.d.ts +3 -2
  100. package/dist/atlas/index.d.ts.map +1 -1
  101. package/dist/atlas/index.js +2 -1
  102. package/dist/atlas/index.js.map +1 -1
  103. package/dist/atlas/link-prediction.d.ts +107 -4
  104. package/dist/atlas/link-prediction.d.ts.map +1 -1
  105. package/dist/atlas/link-prediction.js +212 -66
  106. package/dist/atlas/link-prediction.js.map +1 -1
  107. package/dist/atlas/model.js.map +1 -1
  108. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  109. package/dist/atlas/oscillators/bridges-coarse.js +7 -12
  110. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  111. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  112. package/dist/atlas/oscillators/bridges-exact.js +6 -10
  113. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  114. package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
  115. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  116. package/dist/atlas/oscillators/bridges-limits.js +23 -36
  117. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  118. package/dist/atlas/oscillators/dimensions.d.ts +9 -21
  119. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
  120. package/dist/atlas/oscillators/dimensions.js +9 -21
  121. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  122. package/dist/atlas/oscillators/index.d.ts +1 -16
  123. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  124. package/dist/atlas/oscillators/index.js.map +1 -1
  125. package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
  126. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
  127. package/dist/atlas/oscillators/limit-witnesses.js +17 -15
  128. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  129. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  130. package/dist/atlas/oscillators/models.js +2 -6
  131. package/dist/atlas/oscillators/models.js.map +1 -1
  132. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  133. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  134. package/dist/atlas/oscillators/norms.js.map +1 -1
  135. package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
  136. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
  137. package/dist/atlas/oscillators/pendulum-motion.js +60 -40
  138. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  139. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  140. package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
  141. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
  142. package/dist/atlas/oscillators/phase-translation.js +3 -4
  143. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  144. package/dist/atlas/oscillators/position-translation.d.ts +68 -7
  145. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
  146. package/dist/atlas/oscillators/position-translation.js +123 -12
  147. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  148. package/dist/atlas/oscillators/rejections.d.ts +0 -2
  149. package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
  150. package/dist/atlas/oscillators/rejections.js +0 -7
  151. package/dist/atlas/oscillators/rejections.js.map +1 -1
  152. package/dist/atlas/path-bound.js.map +1 -1
  153. package/dist/atlas/physjs-entries.generated.d.ts +25 -24
  154. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  155. package/dist/atlas/physjs-entries.generated.js +25 -24
  156. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  157. package/dist/atlas/physjs-ref.d.ts +107 -70
  158. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  159. package/dist/atlas/physjs-ref.js +184 -101
  160. package/dist/atlas/physjs-ref.js.map +1 -1
  161. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  162. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  163. package/dist/atlas/physjs-reviewed.js +194 -0
  164. package/dist/atlas/physjs-reviewed.js.map +1 -0
  165. package/dist/atlas/poster/associations.js.map +1 -1
  166. package/dist/atlas/poster/derivations.js.map +1 -1
  167. package/dist/atlas/poster/statements.d.ts +0 -19
  168. package/dist/atlas/poster/statements.d.ts.map +1 -1
  169. package/dist/atlas/poster/statements.js +1 -1
  170. package/dist/atlas/poster/statements.js.map +1 -1
  171. package/dist/atlas/proof-target.d.ts +1 -1
  172. package/dist/atlas/proof-target.js +1 -1
  173. package/dist/atlas/proof-target.js.map +1 -1
  174. package/dist/atlas/public.d.ts +2 -1
  175. package/dist/atlas/public.d.ts.map +1 -1
  176. package/dist/atlas/public.js +2 -1
  177. package/dist/atlas/public.js.map +1 -1
  178. package/dist/atlas/regime.d.ts +1 -1
  179. package/dist/atlas/regime.d.ts.map +1 -1
  180. package/dist/atlas/regime.js +1 -1
  181. package/dist/atlas/regime.js.map +1 -1
  182. package/dist/atlas/serialize.d.ts +18 -12
  183. package/dist/atlas/serialize.d.ts.map +1 -1
  184. package/dist/atlas/serialize.js +28 -18
  185. package/dist/atlas/serialize.js.map +1 -1
  186. package/dist/atlas/statement.js.map +1 -1
  187. package/dist/atlas/text-overlap.d.ts +23 -0
  188. package/dist/atlas/text-overlap.d.ts.map +1 -0
  189. package/dist/atlas/text-overlap.js +41 -0
  190. package/dist/atlas/text-overlap.js.map +1 -0
  191. package/dist/atlas/translation-registry.js.map +1 -1
  192. package/dist/atlas/translation.js.map +1 -1
  193. package/dist/atlas/types.d.ts +9 -2
  194. package/dist/atlas/types.d.ts.map +1 -1
  195. package/dist/atlas/types.js +1 -1
  196. package/dist/atlas/types.js.map +1 -1
  197. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  198. package/dist/atlas/waves/bridges-closure.js +2 -9
  199. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  200. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  201. package/dist/atlas/waves/bridges.js +32 -52
  202. package/dist/atlas/waves/bridges.js.map +1 -1
  203. package/dist/atlas/waves/index.d.ts +1 -1
  204. package/dist/atlas/waves/index.d.ts.map +1 -1
  205. package/dist/atlas/waves/index.js.map +1 -1
  206. package/dist/atlas/waves/models.d.ts +5 -6
  207. package/dist/atlas/waves/models.d.ts.map +1 -1
  208. package/dist/atlas/waves/models.js +7 -13
  209. package/dist/atlas/waves/models.js.map +1 -1
  210. package/dist/atlas/waves/numerics.d.ts.map +1 -1
  211. package/dist/atlas/waves/numerics.js +10 -3
  212. package/dist/atlas/waves/numerics.js.map +1 -1
  213. package/dist/atlas/witness-artifact.js.map +1 -1
  214. package/dist/atlas/witness-dominance.d.ts +4 -3
  215. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  216. package/dist/atlas/witness-dominance.js +15 -5
  217. package/dist/atlas/witness-dominance.js.map +1 -1
  218. package/dist/atlas/witness-numeric.d.ts +38 -4
  219. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  220. package/dist/atlas/witness-numeric.js +80 -2
  221. package/dist/atlas/witness-numeric.js.map +1 -1
  222. package/dist/atlas/witness-result.d.ts +7 -1
  223. package/dist/atlas/witness-result.d.ts.map +1 -1
  224. package/dist/atlas/witness-result.js.map +1 -1
  225. package/dist/atlas/witness-specs.d.ts.map +1 -1
  226. package/dist/atlas/witness-specs.js +19 -0
  227. package/dist/atlas/witness-specs.js.map +1 -1
  228. package/dist/atlas/witness-symbolic.d.ts +75 -3
  229. package/dist/atlas/witness-symbolic.d.ts.map +1 -1
  230. package/dist/atlas/witness-symbolic.js +116 -10
  231. package/dist/atlas/witness-symbolic.js.map +1 -1
  232. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  233. package/dist/bridges/caller-table.d.ts +1 -1
  234. package/dist/bridges/caller-table.d.ts.map +1 -1
  235. package/dist/bridges/caller-table.js.map +1 -1
  236. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  237. package/dist/bridges/carrier-sign.js +8 -3
  238. package/dist/bridges/carrier-sign.js.map +1 -1
  239. package/dist/bridges/catalog-adapter.d.ts +12 -3
  240. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  241. package/dist/bridges/catalog-adapter.js +17 -9
  242. package/dist/bridges/catalog-adapter.js.map +1 -1
  243. package/dist/bridges/catalog-load.d.ts +12 -2
  244. package/dist/bridges/catalog-load.d.ts.map +1 -1
  245. package/dist/bridges/catalog-load.js +181 -13
  246. package/dist/bridges/catalog-load.js.map +1 -1
  247. package/dist/bridges/catalog-types.d.ts +74 -26
  248. package/dist/bridges/catalog-types.d.ts.map +1 -1
  249. package/dist/bridges/catalog-types.js +11 -1
  250. package/dist/bridges/catalog-types.js.map +1 -1
  251. package/dist/bridges/coefficient-statement.js +1 -5
  252. package/dist/bridges/coefficient-statement.js.map +1 -1
  253. package/dist/bridges/confrontation-coverage.js.map +1 -1
  254. package/dist/bridges/confrontations.d.ts +1 -1
  255. package/dist/bridges/confrontations.d.ts.map +1 -1
  256. package/dist/bridges/confrontations.js +1 -1
  257. package/dist/bridges/confrontations.js.map +1 -1
  258. package/dist/bridges/evaluation-errors.d.ts +46 -3
  259. package/dist/bridges/evaluation-errors.d.ts.map +1 -1
  260. package/dist/bridges/evaluation-errors.js +40 -4
  261. package/dist/bridges/evaluation-errors.js.map +1 -1
  262. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  263. package/dist/bridges/evaluator-inputs.js +7 -5
  264. package/dist/bridges/evaluator-inputs.js.map +1 -1
  265. package/dist/bridges/evaluators.d.ts +17 -2
  266. package/dist/bridges/evaluators.d.ts.map +1 -1
  267. package/dist/bridges/evaluators.js +76 -28
  268. package/dist/bridges/evaluators.js.map +1 -1
  269. package/dist/bridges/expr-parse.d.ts +38 -4
  270. package/dist/bridges/expr-parse.d.ts.map +1 -1
  271. package/dist/bridges/expr-parse.js +101 -12
  272. package/dist/bridges/expr-parse.js.map +1 -1
  273. package/dist/bridges/holds.d.ts +40 -4
  274. package/dist/bridges/holds.d.ts.map +1 -1
  275. package/dist/bridges/holds.js +128 -19
  276. package/dist/bridges/holds.js.map +1 -1
  277. package/dist/bridges/index.d.ts +15 -14
  278. package/dist/bridges/index.d.ts.map +1 -1
  279. package/dist/bridges/index.js +14 -15
  280. package/dist/bridges/index.js.map +1 -1
  281. package/dist/bridges/input-contract.js.map +1 -1
  282. package/dist/bridges/membership.d.ts +5 -3
  283. package/dist/bridges/membership.d.ts.map +1 -1
  284. package/dist/bridges/membership.js +5 -6
  285. package/dist/bridges/membership.js.map +1 -1
  286. package/dist/bridges/notices.d.ts.map +1 -1
  287. package/dist/bridges/notices.js +5 -5
  288. package/dist/bridges/notices.js.map +1 -1
  289. package/dist/bridges/observations/types.js.map +1 -1
  290. package/dist/bridges/rejected.d.ts +11 -17
  291. package/dist/bridges/rejected.d.ts.map +1 -1
  292. package/dist/bridges/rejected.js +13 -68
  293. package/dist/bridges/rejected.js.map +1 -1
  294. package/dist/bridges/relation-eval.d.ts +6 -7
  295. package/dist/bridges/relation-eval.d.ts.map +1 -1
  296. package/dist/bridges/relation-eval.js +20 -50
  297. package/dist/bridges/relation-eval.js.map +1 -1
  298. package/dist/bridges/rhs-registry.js.map +1 -1
  299. package/dist/bridges/sensitivity.d.ts +11 -3
  300. package/dist/bridges/sensitivity.d.ts.map +1 -1
  301. package/dist/bridges/sensitivity.js +27 -13
  302. package/dist/bridges/sensitivity.js.map +1 -1
  303. package/dist/bridges/tensor-index.js.map +1 -1
  304. package/dist/bridges/types.d.ts +1 -7
  305. package/dist/bridges/types.d.ts.map +1 -1
  306. package/dist/bridges/types.js +1 -4
  307. package/dist/bridges/types.js.map +1 -1
  308. package/dist/bridges/validity.d.ts +33 -0
  309. package/dist/bridges/validity.d.ts.map +1 -0
  310. package/dist/bridges/validity.js +67 -0
  311. package/dist/bridges/validity.js.map +1 -0
  312. package/dist/canonical/canonical-equation.js.map +1 -1
  313. package/dist/canonical/dimensional-fields.js.map +1 -1
  314. package/dist/canonical/entries/_l1-build.js.map +1 -1
  315. package/dist/canonical/entries/atomic.js +1 -3
  316. package/dist/canonical/entries/atomic.js.map +1 -1
  317. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  318. package/dist/canonical/entries/condensed-matter.js +8 -9
  319. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  320. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  321. package/dist/canonical/entries/dimensional-classics.js +5 -6
  322. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  323. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  324. package/dist/canonical/entries/electromagnetism.js +6 -12
  325. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  326. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  327. package/dist/canonical/entries/fluids-waves.js +3 -7
  328. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  329. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  330. package/dist/canonical/entries/mechanics.js +4 -6
  331. package/dist/canonical/entries/mechanics.js.map +1 -1
  332. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  333. package/dist/canonical/entries/nonmonomial.js +38 -39
  334. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  335. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  336. package/dist/canonical/entries/relativity.js +6 -6
  337. package/dist/canonical/entries/relativity.js.map +1 -1
  338. package/dist/canonical/entries/statistical-mechanics.js +5 -5
  339. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  340. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  341. package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
  342. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  343. package/dist/canonical/fixed-points.d.ts +94 -0
  344. package/dist/canonical/fixed-points.d.ts.map +1 -0
  345. package/dist/canonical/fixed-points.js +81 -0
  346. package/dist/canonical/fixed-points.js.map +1 -0
  347. package/dist/canonical/linkage.d.ts +29 -4
  348. package/dist/canonical/linkage.d.ts.map +1 -1
  349. package/dist/canonical/linkage.js +47 -64
  350. package/dist/canonical/linkage.js.map +1 -1
  351. package/dist/canonical/normal-form.d.ts +0 -8
  352. package/dist/canonical/normal-form.d.ts.map +1 -1
  353. package/dist/canonical/normal-form.js +22 -23
  354. package/dist/canonical/normal-form.js.map +1 -1
  355. package/dist/canonical/registry.js.map +1 -1
  356. package/dist/canonical/residual.js.map +1 -1
  357. package/dist/canonical/seed-l-layer.d.ts +7 -1
  358. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  359. package/dist/canonical/seed-l-layer.js +7 -1
  360. package/dist/canonical/seed-l-layer.js.map +1 -1
  361. package/dist/canonical/structural.d.ts +42 -21
  362. package/dist/canonical/structural.d.ts.map +1 -1
  363. package/dist/canonical/structural.js +64 -23
  364. package/dist/canonical/structural.js.map +1 -1
  365. package/dist/cases/brownian-sphere.d.ts +3 -3
  366. package/dist/cases/brownian-sphere.d.ts.map +1 -1
  367. package/dist/cases/brownian-sphere.js +10 -9
  368. package/dist/cases/brownian-sphere.js.map +1 -1
  369. package/dist/cases/damped-resonator.d.ts.map +1 -1
  370. package/dist/cases/damped-resonator.js +8 -11
  371. package/dist/cases/damped-resonator.js.map +1 -1
  372. package/dist/cases/index.js.map +1 -1
  373. package/dist/cases/kepler-rv.d.ts +1 -1
  374. package/dist/cases/kepler-rv.d.ts.map +1 -1
  375. package/dist/cases/kepler-rv.js +3 -2
  376. package/dist/cases/kepler-rv.js.map +1 -1
  377. package/dist/cases/lumped-cooling.d.ts +8 -3
  378. package/dist/cases/lumped-cooling.d.ts.map +1 -1
  379. package/dist/cases/lumped-cooling.js +22 -24
  380. package/dist/cases/lumped-cooling.js.map +1 -1
  381. package/dist/cases/quadrature.d.ts +7 -9
  382. package/dist/cases/quadrature.d.ts.map +1 -1
  383. package/dist/cases/quadrature.js +28 -32
  384. package/dist/cases/quadrature.js.map +1 -1
  385. package/dist/cases/resistor-noise.js +7 -7
  386. package/dist/cases/resistor-noise.js.map +1 -1
  387. package/dist/cases/skin-depth.d.ts +0 -4
  388. package/dist/cases/skin-depth.d.ts.map +1 -1
  389. package/dist/cases/skin-depth.js +3 -7
  390. package/dist/cases/skin-depth.js.map +1 -1
  391. package/dist/cases/types.js.map +1 -1
  392. package/dist/cli/args.d.ts +30 -3
  393. package/dist/cli/args.d.ts.map +1 -1
  394. package/dist/cli/args.js +47 -9
  395. package/dist/cli/args.js.map +1 -1
  396. package/dist/cli/bindings.d.ts +13 -0
  397. package/dist/cli/bindings.d.ts.map +1 -0
  398. package/dist/cli/bindings.js +33 -0
  399. package/dist/cli/bindings.js.map +1 -0
  400. package/dist/cli/closed-form-range.js.map +1 -1
  401. package/dist/cli/command.d.ts +8 -1
  402. package/dist/cli/command.d.ts.map +1 -1
  403. package/dist/cli/command.js.map +1 -1
  404. package/dist/cli/commands/_atlas-map.d.ts +2 -11
  405. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  406. package/dist/cli/commands/_atlas-map.js +50 -35
  407. package/dist/cli/commands/_atlas-map.js.map +1 -1
  408. package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
  409. package/dist/cli/commands/_atlas-route.js +6 -2
  410. package/dist/cli/commands/_atlas-route.js.map +1 -1
  411. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  412. package/dist/cli/commands/_discovery-opts.js +48 -14
  413. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  414. package/dist/cli/commands/atlas.d.ts.map +1 -1
  415. package/dist/cli/commands/atlas.js +9 -8
  416. package/dist/cli/commands/atlas.js.map +1 -1
  417. package/dist/cli/commands/audit.d.ts.map +1 -1
  418. package/dist/cli/commands/audit.js +20 -20
  419. package/dist/cli/commands/audit.js.map +1 -1
  420. package/dist/cli/commands/axes.d.ts.map +1 -1
  421. package/dist/cli/commands/axes.js +20 -1
  422. package/dist/cli/commands/axes.js.map +1 -1
  423. package/dist/cli/commands/candidates.d.ts.map +1 -1
  424. package/dist/cli/commands/candidates.js +16 -8
  425. package/dist/cli/commands/candidates.js.map +1 -1
  426. package/dist/cli/commands/canonical.js.map +1 -1
  427. package/dist/cli/commands/chain.js +1 -1
  428. package/dist/cli/commands/chain.js.map +1 -1
  429. package/dist/cli/commands/confront.d.ts.map +1 -1
  430. package/dist/cli/commands/confront.js +22 -20
  431. package/dist/cli/commands/confront.js.map +1 -1
  432. package/dist/cli/commands/connectors.js.map +1 -1
  433. package/dist/cli/commands/coverage.js.map +1 -1
  434. package/dist/cli/commands/derive.d.ts.map +1 -1
  435. package/dist/cli/commands/derive.js +60 -35
  436. package/dist/cli/commands/derive.js.map +1 -1
  437. package/dist/cli/commands/discover.d.ts.map +1 -1
  438. package/dist/cli/commands/discover.js +20 -10
  439. package/dist/cli/commands/discover.js.map +1 -1
  440. package/dist/cli/commands/eval.d.ts.map +1 -1
  441. package/dist/cli/commands/eval.js +14 -10
  442. package/dist/cli/commands/eval.js.map +1 -1
  443. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  444. package/dist/cli/commands/evaluate.js +108 -58
  445. package/dist/cli/commands/evaluate.js.map +1 -1
  446. package/dist/cli/commands/explain.d.ts.map +1 -1
  447. package/dist/cli/commands/explain.js +16 -8
  448. package/dist/cli/commands/explain.js.map +1 -1
  449. package/dist/cli/commands/frontier.js.map +1 -1
  450. package/dist/cli/commands/ground.d.ts.map +1 -1
  451. package/dist/cli/commands/ground.js +41 -10
  452. package/dist/cli/commands/ground.js.map +1 -1
  453. package/dist/cli/commands/index.js.map +1 -1
  454. package/dist/cli/commands/map.d.ts.map +1 -1
  455. package/dist/cli/commands/map.js +155 -92
  456. package/dist/cli/commands/map.js.map +1 -1
  457. package/dist/cli/commands/metric.d.ts.map +1 -1
  458. package/dist/cli/commands/metric.js +58 -20
  459. package/dist/cli/commands/metric.js.map +1 -1
  460. package/dist/cli/commands/path.d.ts +10 -0
  461. package/dist/cli/commands/path.d.ts.map +1 -1
  462. package/dist/cli/commands/path.js +29 -7
  463. package/dist/cli/commands/path.js.map +1 -1
  464. package/dist/cli/commands/predict.js.map +1 -1
  465. package/dist/cli/commands/priority.js.map +1 -1
  466. package/dist/cli/commands/probe.d.ts.map +1 -1
  467. package/dist/cli/commands/probe.js +105 -38
  468. package/dist/cli/commands/probe.js.map +1 -1
  469. package/dist/cli/commands/recover.js +1 -1
  470. package/dist/cli/commands/recover.js.map +1 -1
  471. package/dist/cli/commands/regime.d.ts +5 -4
  472. package/dist/cli/commands/regime.d.ts.map +1 -1
  473. package/dist/cli/commands/regime.js +25 -26
  474. package/dist/cli/commands/regime.js.map +1 -1
  475. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  476. package/dist/cli/commands/retrieve.js +23 -14
  477. package/dist/cli/commands/retrieve.js.map +1 -1
  478. package/dist/cli/commands/search.d.ts.map +1 -1
  479. package/dist/cli/commands/search.js +9 -4
  480. package/dist/cli/commands/search.js.map +1 -1
  481. package/dist/cli/commands/symbolic.js +31 -36
  482. package/dist/cli/commands/symbolic.js.map +1 -1
  483. package/dist/cli/commands/testplan.d.ts.map +1 -1
  484. package/dist/cli/commands/testplan.js +5 -3
  485. package/dist/cli/commands/testplan.js.map +1 -1
  486. package/dist/cli/conventions.js.map +1 -1
  487. package/dist/cli/determination.js.map +1 -1
  488. package/dist/cli/errors.js.map +1 -1
  489. package/dist/cli/euler-guard.js.map +1 -1
  490. package/dist/cli/eval-numbers.js.map +1 -1
  491. package/dist/cli/expr-print.d.ts +28 -3
  492. package/dist/cli/expr-print.d.ts.map +1 -1
  493. package/dist/cli/expr-print.js +42 -22
  494. package/dist/cli/expr-print.js.map +1 -1
  495. package/dist/cli/flag-help.js.map +1 -1
  496. package/dist/cli/graphs.js.map +1 -1
  497. package/dist/cli/library-defaults.d.ts +19 -0
  498. package/dist/cli/library-defaults.d.ts.map +1 -0
  499. package/dist/cli/library-defaults.js +22 -0
  500. package/dist/cli/library-defaults.js.map +1 -0
  501. package/dist/cli/main.d.ts +7 -0
  502. package/dist/cli/main.d.ts.map +1 -1
  503. package/dist/cli/main.js +25 -6
  504. package/dist/cli/main.js.map +1 -1
  505. package/dist/cli/map-evidence.js.map +1 -1
  506. package/dist/cli/numeric-flag.d.ts +12 -0
  507. package/dist/cli/numeric-flag.d.ts.map +1 -0
  508. package/dist/cli/numeric-flag.js +44 -0
  509. package/dist/cli/numeric-flag.js.map +1 -0
  510. package/dist/cli/output.d.ts +23 -6
  511. package/dist/cli/output.d.ts.map +1 -1
  512. package/dist/cli/output.js +15 -0
  513. package/dist/cli/output.js.map +1 -1
  514. package/dist/cli/published-url.js.map +1 -1
  515. package/dist/cli/record-reach.d.ts +6 -0
  516. package/dist/cli/record-reach.d.ts.map +1 -1
  517. package/dist/cli/record-reach.js +17 -11
  518. package/dist/cli/record-reach.js.map +1 -1
  519. package/dist/cli/record-tables.d.ts.map +1 -1
  520. package/dist/cli/record-tables.js +7 -6
  521. package/dist/cli/record-tables.js.map +1 -1
  522. package/dist/cli/record.d.ts +1 -5
  523. package/dist/cli/record.d.ts.map +1 -1
  524. package/dist/cli/record.js +40 -20
  525. package/dist/cli/record.js.map +1 -1
  526. package/dist/cli/search-index.d.ts +5 -0
  527. package/dist/cli/search-index.d.ts.map +1 -1
  528. package/dist/cli/search-index.js +19 -7
  529. package/dist/cli/search-index.js.map +1 -1
  530. package/dist/cli/statuses.d.ts +0 -2
  531. package/dist/cli/statuses.d.ts.map +1 -1
  532. package/dist/cli/statuses.js +0 -7
  533. package/dist/cli/statuses.js.map +1 -1
  534. package/dist/cli/stored-results.d.ts +7 -0
  535. package/dist/cli/stored-results.d.ts.map +1 -0
  536. package/dist/cli/stored-results.js +23 -0
  537. package/dist/cli/stored-results.js.map +1 -0
  538. package/dist/cli/top-level-help.js.map +1 -1
  539. package/dist/cli/version.d.ts.map +1 -1
  540. package/dist/cli/version.js +7 -5
  541. package/dist/cli/version.js.map +1 -1
  542. package/dist/cli-api.d.ts +49 -14
  543. package/dist/cli-api.d.ts.map +1 -1
  544. package/dist/cli-api.js +42 -17
  545. package/dist/cli-api.js.map +1 -1
  546. package/dist/composition/adjudication.js.map +1 -1
  547. package/dist/composition/algebraic-equivalence.d.ts +43 -0
  548. package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
  549. package/dist/composition/algebraic-equivalence.js +115 -0
  550. package/dist/composition/algebraic-equivalence.js.map +1 -0
  551. package/dist/composition/aliases.js.map +1 -1
  552. package/dist/composition/audit-coverage.d.ts +2 -0
  553. package/dist/composition/audit-coverage.d.ts.map +1 -1
  554. package/dist/composition/audit-coverage.js.map +1 -1
  555. package/dist/composition/axes.d.ts +6 -0
  556. package/dist/composition/axes.d.ts.map +1 -1
  557. package/dist/composition/axes.js +18 -6
  558. package/dist/composition/axes.js.map +1 -1
  559. package/dist/composition/axis-audit.d.ts +47 -20
  560. package/dist/composition/axis-audit.d.ts.map +1 -1
  561. package/dist/composition/axis-audit.js +82 -9
  562. package/dist/composition/axis-audit.js.map +1 -1
  563. package/dist/composition/bridge-analysis.d.ts +14 -15
  564. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  565. package/dist/composition/bridge-analysis.js +148 -91
  566. package/dist/composition/bridge-analysis.js.map +1 -1
  567. package/dist/composition/bridge-prediction.d.ts +5 -1
  568. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  569. package/dist/composition/bridge-prediction.js +12 -16
  570. package/dist/composition/bridge-prediction.js.map +1 -1
  571. package/dist/composition/buckingham-filter.js.map +1 -1
  572. package/dist/composition/canonical-compare.d.ts +40 -0
  573. package/dist/composition/canonical-compare.d.ts.map +1 -1
  574. package/dist/composition/canonical-compare.js +134 -26
  575. package/dist/composition/canonical-compare.js.map +1 -1
  576. package/dist/composition/canonical-graph.d.ts +9 -10
  577. package/dist/composition/canonical-graph.d.ts.map +1 -1
  578. package/dist/composition/canonical-graph.js +33 -102
  579. package/dist/composition/canonical-graph.js.map +1 -1
  580. package/dist/composition/canonical-json.js +2 -2
  581. package/dist/composition/canonical-json.js.map +1 -1
  582. package/dist/composition/canonical-prefactors.js.map +1 -1
  583. package/dist/composition/catalog-graph.d.ts.map +1 -1
  584. package/dist/composition/catalog-graph.js +8 -25
  585. package/dist/composition/catalog-graph.js.map +1 -1
  586. package/dist/composition/chain-candidate.d.ts +10 -0
  587. package/dist/composition/chain-candidate.d.ts.map +1 -1
  588. package/dist/composition/chain-candidate.js +11 -2
  589. package/dist/composition/chain-candidate.js.map +1 -1
  590. package/dist/composition/chain-match.d.ts +6 -3
  591. package/dist/composition/chain-match.d.ts.map +1 -1
  592. package/dist/composition/chain-match.js +4 -1
  593. package/dist/composition/chain-match.js.map +1 -1
  594. package/dist/composition/chain-regime.js.map +1 -1
  595. package/dist/composition/chain-result.d.ts.map +1 -1
  596. package/dist/composition/chain-result.js +2 -14
  597. package/dist/composition/chain-result.js.map +1 -1
  598. package/dist/composition/compose-surface.js.map +1 -1
  599. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  600. package/dist/composition/compose-symbolic.js +3 -2
  601. package/dist/composition/compose-symbolic.js.map +1 -1
  602. package/dist/composition/compose.d.ts.map +1 -1
  603. package/dist/composition/compose.js +166 -41
  604. package/dist/composition/compose.js.map +1 -1
  605. package/dist/composition/composition-recovery.d.ts.map +1 -1
  606. package/dist/composition/composition-recovery.js +4 -7
  607. package/dist/composition/composition-recovery.js.map +1 -1
  608. package/dist/composition/consequence.d.ts.map +1 -1
  609. package/dist/composition/consequence.js +15 -6
  610. package/dist/composition/consequence.js.map +1 -1
  611. package/dist/composition/consistency.js.map +1 -1
  612. package/dist/composition/descriptor.d.ts +1 -1
  613. package/dist/composition/descriptor.d.ts.map +1 -1
  614. package/dist/composition/descriptor.js.map +1 -1
  615. package/dist/composition/dimension-adjacency.js.map +1 -1
  616. package/dist/composition/discovery.d.ts +77 -11
  617. package/dist/composition/discovery.d.ts.map +1 -1
  618. package/dist/composition/discovery.js +194 -80
  619. package/dist/composition/discovery.js.map +1 -1
  620. package/dist/composition/edge.d.ts +40 -10
  621. package/dist/composition/edge.d.ts.map +1 -1
  622. package/dist/composition/edge.js +47 -12
  623. package/dist/composition/edge.js.map +1 -1
  624. package/dist/composition/enumerate.d.ts +2 -2
  625. package/dist/composition/enumerate.d.ts.map +1 -1
  626. package/dist/composition/enumerate.js +18 -3
  627. package/dist/composition/enumerate.js.map +1 -1
  628. package/dist/composition/evaluate-relation.d.ts +35 -11
  629. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  630. package/dist/composition/evaluate-relation.js +60 -39
  631. package/dist/composition/evaluate-relation.js.map +1 -1
  632. package/dist/composition/explain.d.ts +5 -9
  633. package/dist/composition/explain.d.ts.map +1 -1
  634. package/dist/composition/explain.js +38 -18
  635. package/dist/composition/explain.js.map +1 -1
  636. package/dist/composition/expr-eval.d.ts.map +1 -1
  637. package/dist/composition/expr-eval.js +2 -11
  638. package/dist/composition/expr-eval.js.map +1 -1
  639. package/dist/composition/expr-simplify.d.ts +16 -0
  640. package/dist/composition/expr-simplify.d.ts.map +1 -1
  641. package/dist/composition/expr-simplify.js +24 -59
  642. package/dist/composition/expr-simplify.js.map +1 -1
  643. package/dist/composition/expr-subst.js.map +1 -1
  644. package/dist/composition/formula-shape.d.ts +28 -0
  645. package/dist/composition/formula-shape.d.ts.map +1 -1
  646. package/dist/composition/formula-shape.js +96 -2
  647. package/dist/composition/formula-shape.js.map +1 -1
  648. package/dist/composition/frontier-account.d.ts +3 -2
  649. package/dist/composition/frontier-account.d.ts.map +1 -1
  650. package/dist/composition/frontier-account.js +7 -3
  651. package/dist/composition/frontier-account.js.map +1 -1
  652. package/dist/composition/graph-structure.d.ts +98 -0
  653. package/dist/composition/graph-structure.d.ts.map +1 -0
  654. package/dist/composition/graph-structure.js +167 -0
  655. package/dist/composition/graph-structure.js.map +1 -0
  656. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  657. package/dist/composition/graph-viz-svg.js +1 -1
  658. package/dist/composition/graph-viz-svg.js.map +1 -1
  659. package/dist/composition/graph-viz.d.ts.map +1 -1
  660. package/dist/composition/graph-viz.js +8 -37
  661. package/dist/composition/graph-viz.js.map +1 -1
  662. package/dist/composition/grounding.js.map +1 -1
  663. package/dist/composition/identifiability.d.ts +91 -4
  664. package/dist/composition/identifiability.d.ts.map +1 -1
  665. package/dist/composition/identifiability.js +363 -6
  666. package/dist/composition/identifiability.js.map +1 -1
  667. package/dist/composition/index.d.ts +14 -8
  668. package/dist/composition/index.d.ts.map +1 -1
  669. package/dist/composition/index.js +7 -5
  670. package/dist/composition/index.js.map +1 -1
  671. package/dist/composition/mathts-quiet.d.ts +29 -0
  672. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  673. package/dist/composition/mathts-quiet.js +57 -0
  674. package/dist/composition/mathts-quiet.js.map +1 -0
  675. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  676. package/dist/composition/mathts-scalar-symbols.js +20 -35
  677. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  678. package/dist/composition/not-composable-seeds.d.ts +3 -1
  679. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  680. package/dist/composition/not-composable-seeds.js +2 -0
  681. package/dist/composition/not-composable-seeds.js.map +1 -1
  682. package/dist/composition/probe/backend-protocol.js.map +1 -1
  683. package/dist/composition/probe/candidate-store.js.map +1 -1
  684. package/dist/composition/probe/corpus.d.ts +4 -2
  685. package/dist/composition/probe/corpus.d.ts.map +1 -1
  686. package/dist/composition/probe/corpus.js +20 -9
  687. package/dist/composition/probe/corpus.js.map +1 -1
  688. package/dist/composition/probe/dataset.d.ts +17 -0
  689. package/dist/composition/probe/dataset.d.ts.map +1 -1
  690. package/dist/composition/probe/dataset.js +95 -50
  691. package/dist/composition/probe/dataset.js.map +1 -1
  692. package/dist/composition/probe/experiment-design.d.ts +5 -1
  693. package/dist/composition/probe/experiment-design.d.ts.map +1 -1
  694. package/dist/composition/probe/experiment-design.js +44 -24
  695. package/dist/composition/probe/experiment-design.js.map +1 -1
  696. package/dist/composition/probe/expression-gaps.js.map +1 -1
  697. package/dist/composition/probe/falsify.d.ts +14 -3
  698. package/dist/composition/probe/falsify.d.ts.map +1 -1
  699. package/dist/composition/probe/falsify.js +16 -27
  700. package/dist/composition/probe/falsify.js.map +1 -1
  701. package/dist/composition/probe/fingerprint.js.map +1 -1
  702. package/dist/composition/probe/fit.d.ts +7 -1
  703. package/dist/composition/probe/fit.d.ts.map +1 -1
  704. package/dist/composition/probe/fit.js +48 -23
  705. package/dist/composition/probe/fit.js.map +1 -1
  706. package/dist/composition/probe/frontier.d.ts.map +1 -1
  707. package/dist/composition/probe/frontier.js +33 -15
  708. package/dist/composition/probe/frontier.js.map +1 -1
  709. package/dist/composition/probe/generator.d.ts +27 -1
  710. package/dist/composition/probe/generator.d.ts.map +1 -1
  711. package/dist/composition/probe/generator.js +53 -30
  712. package/dist/composition/probe/generator.js.map +1 -1
  713. package/dist/composition/probe/index.d.ts +18 -2
  714. package/dist/composition/probe/index.d.ts.map +1 -1
  715. package/dist/composition/probe/index.js +10 -2
  716. package/dist/composition/probe/index.js.map +1 -1
  717. package/dist/composition/probe/limits.d.ts +24 -1
  718. package/dist/composition/probe/limits.d.ts.map +1 -1
  719. package/dist/composition/probe/limits.js +53 -11
  720. package/dist/composition/probe/limits.js.map +1 -1
  721. package/dist/composition/probe/metadata.js.map +1 -1
  722. package/dist/composition/probe/pipeline.d.ts +5 -0
  723. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  724. package/dist/composition/probe/pipeline.js +22 -9
  725. package/dist/composition/probe/pipeline.js.map +1 -1
  726. package/dist/composition/probe/power-law.d.ts +121 -0
  727. package/dist/composition/probe/power-law.d.ts.map +1 -0
  728. package/dist/composition/probe/power-law.js +255 -0
  729. package/dist/composition/probe/power-law.js.map +1 -0
  730. package/dist/composition/probe/problem.d.ts +12 -1
  731. package/dist/composition/probe/problem.d.ts.map +1 -1
  732. package/dist/composition/probe/problem.js +242 -48
  733. package/dist/composition/probe/problem.js.map +1 -1
  734. package/dist/composition/probe/report.js +1 -1
  735. package/dist/composition/probe/report.js.map +1 -1
  736. package/dist/composition/probe/residual.d.ts +6 -1
  737. package/dist/composition/probe/residual.d.ts.map +1 -1
  738. package/dist/composition/probe/residual.js +9 -7
  739. package/dist/composition/probe/residual.js.map +1 -1
  740. package/dist/composition/probe/run-manifest.js +2 -2
  741. package/dist/composition/probe/run-manifest.js.map +1 -1
  742. package/dist/composition/probe/scoring.d.ts +2 -1
  743. package/dist/composition/probe/scoring.d.ts.map +1 -1
  744. package/dist/composition/probe/scoring.js +21 -7
  745. package/dist/composition/probe/scoring.js.map +1 -1
  746. package/dist/composition/probe/search-budget.js.map +1 -1
  747. package/dist/composition/probe/serialize.js.map +1 -1
  748. package/dist/composition/probe/structure.d.ts +82 -17
  749. package/dist/composition/probe/structure.d.ts.map +1 -1
  750. package/dist/composition/probe/structure.js +129 -55
  751. package/dist/composition/probe/structure.js.map +1 -1
  752. package/dist/composition/probe/study.d.ts +35 -12
  753. package/dist/composition/probe/study.d.ts.map +1 -1
  754. package/dist/composition/probe/study.js +241 -184
  755. package/dist/composition/probe/study.js.map +1 -1
  756. package/dist/composition/probe/t-tail.d.ts +17 -0
  757. package/dist/composition/probe/t-tail.d.ts.map +1 -0
  758. package/dist/composition/probe/t-tail.js +32 -0
  759. package/dist/composition/probe/t-tail.js.map +1 -0
  760. package/dist/composition/probe/types.d.ts +6 -1
  761. package/dist/composition/probe/types.d.ts.map +1 -1
  762. package/dist/composition/probe/types.js +2 -0
  763. package/dist/composition/probe/types.js.map +1 -1
  764. package/dist/composition/proposed-bridges.d.ts +51 -13
  765. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  766. package/dist/composition/proposed-bridges.js +110 -58
  767. package/dist/composition/proposed-bridges.js.map +1 -1
  768. package/dist/composition/quantities.d.ts +0 -4
  769. package/dist/composition/quantities.d.ts.map +1 -1
  770. package/dist/composition/quantities.js +5 -5
  771. package/dist/composition/quantities.js.map +1 -1
  772. package/dist/composition/quantity-clusters.d.ts +48 -0
  773. package/dist/composition/quantity-clusters.d.ts.map +1 -0
  774. package/dist/composition/quantity-clusters.js +98 -0
  775. package/dist/composition/quantity-clusters.js.map +1 -0
  776. package/dist/composition/quantity.d.ts +18 -2
  777. package/dist/composition/quantity.d.ts.map +1 -1
  778. package/dist/composition/quantity.js +35 -6
  779. package/dist/composition/quantity.js.map +1 -1
  780. package/dist/composition/rational-exponent.d.ts +40 -0
  781. package/dist/composition/rational-exponent.d.ts.map +1 -0
  782. package/dist/composition/rational-exponent.js +65 -0
  783. package/dist/composition/rational-exponent.js.map +1 -0
  784. package/dist/composition/representative-values.d.ts +22 -0
  785. package/dist/composition/representative-values.d.ts.map +1 -1
  786. package/dist/composition/representative-values.js +23 -0
  787. package/dist/composition/representative-values.js.map +1 -1
  788. package/dist/composition/retrodiction.d.ts +16 -6
  789. package/dist/composition/retrodiction.d.ts.map +1 -1
  790. package/dist/composition/retrodiction.js +36 -10
  791. package/dist/composition/retrodiction.js.map +1 -1
  792. package/dist/composition/uncertainty.js.map +1 -1
  793. package/dist/composition/user-equation.d.ts.map +1 -1
  794. package/dist/composition/user-equation.js +2 -2
  795. package/dist/composition/user-equation.js.map +1 -1
  796. package/dist/core/assignment.d.ts +19 -0
  797. package/dist/core/assignment.d.ts.map +1 -0
  798. package/dist/core/assignment.js +19 -0
  799. package/dist/core/assignment.js.map +1 -0
  800. package/dist/core/axes-registry.d.ts +8 -5
  801. package/dist/core/axes-registry.d.ts.map +1 -1
  802. package/dist/core/axes-registry.js.map +1 -1
  803. package/dist/core/cell.js.map +1 -1
  804. package/dist/core/compare.d.ts +32 -0
  805. package/dist/core/compare.d.ts.map +1 -0
  806. package/dist/core/compare.js +46 -0
  807. package/dist/core/compare.js.map +1 -0
  808. package/dist/core/constants.d.ts +35 -35
  809. package/dist/core/constants.d.ts.map +1 -1
  810. package/dist/core/constants.js +52 -37
  811. package/dist/core/constants.js.map +1 -1
  812. package/dist/core/data-file.d.ts +7 -0
  813. package/dist/core/data-file.d.ts.map +1 -1
  814. package/dist/core/data-file.js +17 -0
  815. package/dist/core/data-file.js.map +1 -1
  816. package/dist/core/flux-rules.js +1 -1
  817. package/dist/core/flux-rules.js.map +1 -1
  818. package/dist/core/format.d.ts +36 -0
  819. package/dist/core/format.d.ts.map +1 -0
  820. package/dist/core/format.js +39 -0
  821. package/dist/core/format.js.map +1 -0
  822. package/dist/core/hash.d.ts +14 -0
  823. package/dist/core/hash.d.ts.map +1 -0
  824. package/dist/core/hash.js +17 -0
  825. package/dist/core/hash.js.map +1 -0
  826. package/dist/core/json-schema.d.ts +3 -1
  827. package/dist/core/json-schema.d.ts.map +1 -1
  828. package/dist/core/json-schema.js +41 -16
  829. package/dist/core/json-schema.js.map +1 -1
  830. package/dist/core/labeled-tensor.d.ts +6 -1
  831. package/dist/core/labeled-tensor.d.ts.map +1 -1
  832. package/dist/core/labeled-tensor.js +18 -16
  833. package/dist/core/labeled-tensor.js.map +1 -1
  834. package/dist/core/mathts-read.d.ts +25 -0
  835. package/dist/core/mathts-read.d.ts.map +1 -0
  836. package/dist/core/mathts-read.js +51 -0
  837. package/dist/core/mathts-read.js.map +1 -0
  838. package/dist/core/regime-registry.d.ts +6 -2
  839. package/dist/core/regime-registry.d.ts.map +1 -1
  840. package/dist/core/regime-registry.js.map +1 -1
  841. package/dist/core/regime-rule-install.js.map +1 -1
  842. package/dist/core/regimes-builtins.js.map +1 -1
  843. package/dist/core/tensor.d.ts +7 -4
  844. package/dist/core/tensor.d.ts.map +1 -1
  845. package/dist/core/tensor.js +64 -8
  846. package/dist/core/tensor.js.map +1 -1
  847. package/dist/core/types.d.ts +5 -5
  848. package/dist/core/types.js.map +1 -1
  849. package/dist/core/universal-index.js.map +1 -1
  850. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  851. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  852. package/dist/diff/bridge-ast-gradient.js +10 -6
  853. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  854. package/dist/diff/bridge-gradient.d.ts +43 -86
  855. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  856. package/dist/diff/bridge-gradient.js +40 -109
  857. package/dist/diff/bridge-gradient.js.map +1 -1
  858. package/dist/diff/bridge-specs.d.ts +16 -5
  859. package/dist/diff/bridge-specs.d.ts.map +1 -1
  860. package/dist/diff/bridge-specs.js +19 -4
  861. package/dist/diff/bridge-specs.js.map +1 -1
  862. package/dist/dimensional/algebra.d.ts +18 -0
  863. package/dist/dimensional/algebra.d.ts.map +1 -1
  864. package/dist/dimensional/algebra.js +41 -1
  865. package/dist/dimensional/algebra.js.map +1 -1
  866. package/dist/dimensional/ast-builders.d.ts +12 -4
  867. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  868. package/dist/dimensional/ast-builders.js +17 -5
  869. package/dist/dimensional/ast-builders.js.map +1 -1
  870. package/dist/dimensional/ast-leaves.d.ts +81 -0
  871. package/dist/dimensional/ast-leaves.d.ts.map +1 -0
  872. package/dist/dimensional/ast-leaves.js +146 -0
  873. package/dist/dimensional/ast-leaves.js.map +1 -0
  874. package/dist/dimensional/ast-types.js.map +1 -1
  875. package/dist/dimensional/bridge-check.js.map +1 -1
  876. package/dist/dimensional/buckingham.d.ts.map +1 -1
  877. package/dist/dimensional/buckingham.js +15 -27
  878. package/dist/dimensional/buckingham.js.map +1 -1
  879. package/dist/dimensional/connection-validators.d.ts +2 -1
  880. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  881. package/dist/dimensional/connection-validators.js.map +1 -1
  882. package/dist/dimensional/connection.js.map +1 -1
  883. package/dist/dimensional/constant-rows.d.ts.map +1 -1
  884. package/dist/dimensional/constant-rows.js +17 -13
  885. package/dist/dimensional/constant-rows.js.map +1 -1
  886. package/dist/dimensional/constants.d.ts +5 -6
  887. package/dist/dimensional/constants.d.ts.map +1 -1
  888. package/dist/dimensional/constants.js +5 -6
  889. package/dist/dimensional/constants.js.map +1 -1
  890. package/dist/dimensional/curvature-composite.js.map +1 -1
  891. package/dist/dimensional/curvature-invariants.js.map +1 -1
  892. package/dist/dimensional/curvature.js.map +1 -1
  893. package/dist/dimensional/dimension-inference.d.ts.map +1 -1
  894. package/dist/dimensional/dimension-inference.js +1 -2
  895. package/dist/dimensional/dimension-inference.js.map +1 -1
  896. package/dist/dimensional/dimension-spec.d.ts +13 -7
  897. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  898. package/dist/dimensional/dimension-spec.js +49 -23
  899. package/dist/dimensional/dimension-spec.js.map +1 -1
  900. package/dist/dimensional/einstein-equation.js.map +1 -1
  901. package/dist/dimensional/errors.d.ts +4 -2
  902. package/dist/dimensional/errors.d.ts.map +1 -1
  903. package/dist/dimensional/errors.js +3 -17
  904. package/dist/dimensional/errors.js.map +1 -1
  905. package/dist/dimensional/exact-scale.d.ts +0 -17
  906. package/dist/dimensional/exact-scale.d.ts.map +1 -1
  907. package/dist/dimensional/exact-scale.js +8 -8
  908. package/dist/dimensional/exact-scale.js.map +1 -1
  909. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  910. package/dist/dimensional/formula-names.js.map +1 -1
  911. package/dist/dimensional/fresh-label.js.map +1 -1
  912. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  913. package/dist/dimensional/friedmann-equation.js +3 -3
  914. package/dist/dimensional/friedmann-equation.js.map +1 -1
  915. package/dist/dimensional/gauge-field.d.ts +2 -3
  916. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  917. package/dist/dimensional/gauge-field.js +2 -3
  918. package/dist/dimensional/gauge-field.js.map +1 -1
  919. package/dist/dimensional/hyphen-names.d.ts +12 -2
  920. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  921. package/dist/dimensional/hyphen-names.js +45 -12
  922. package/dist/dimensional/hyphen-names.js.map +1 -1
  923. package/dist/dimensional/killing-validators.js.map +1 -1
  924. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  925. package/dist/dimensional/metric-validators.d.ts +2 -1
  926. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  927. package/dist/dimensional/metric-validators.js.map +1 -1
  928. package/dist/dimensional/metric.d.ts.map +1 -1
  929. package/dist/dimensional/metric.js +0 -1
  930. package/dist/dimensional/metric.js.map +1 -1
  931. package/dist/dimensional/natural-units.js.map +1 -1
  932. package/dist/dimensional/quantity-registry.d.ts +13 -0
  933. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  934. package/dist/dimensional/quantity-registry.js +14 -6
  935. package/dist/dimensional/quantity-registry.js.map +1 -1
  936. package/dist/dimensional/rg-flow.js.map +1 -1
  937. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  938. package/dist/dimensional/symbolic-constants.d.ts +9 -0
  939. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  940. package/dist/dimensional/symbolic-constants.js +20 -3
  941. package/dist/dimensional/symbolic-constants.js.map +1 -1
  942. package/dist/dimensional/tensor-trace.js.map +1 -1
  943. package/dist/dimensional/tensor.js.map +1 -1
  944. package/dist/dimensional/types.d.ts +36 -0
  945. package/dist/dimensional/types.d.ts.map +1 -1
  946. package/dist/dimensional/types.js +45 -7
  947. package/dist/dimensional/types.js.map +1 -1
  948. package/dist/dimensional/unit-convention.d.ts +0 -2
  949. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  950. package/dist/dimensional/unit-convention.js +2 -2
  951. package/dist/dimensional/unit-convention.js.map +1 -1
  952. package/dist/dimensional/unit-data.d.ts.map +1 -1
  953. package/dist/dimensional/unit-data.js +11 -7
  954. package/dist/dimensional/unit-data.js.map +1 -1
  955. package/dist/dimensional/units.d.ts.map +1 -1
  956. package/dist/dimensional/units.js +38 -20
  957. package/dist/dimensional/units.js.map +1 -1
  958. package/dist/dimensional/validator-registry.js.map +1 -1
  959. package/dist/dimensional/validator.d.ts +0 -16
  960. package/dist/dimensional/validator.d.ts.map +1 -1
  961. package/dist/dimensional/validator.js +65 -29
  962. package/dist/dimensional/validator.js.map +1 -1
  963. package/dist/dimensional/weyl-validators.js.map +1 -1
  964. package/dist/index.d.ts +59 -8
  965. package/dist/index.d.ts.map +1 -1
  966. package/dist/index.js +22 -24
  967. package/dist/index.js.map +1 -1
  968. package/dist/numerical/bianchi-residual.js.map +1 -1
  969. package/dist/numerical/binding-value.d.ts +11 -6
  970. package/dist/numerical/binding-value.d.ts.map +1 -1
  971. package/dist/numerical/binding-value.js +126 -122
  972. package/dist/numerical/binding-value.js.map +1 -1
  973. package/dist/numerical/christoffel-flat.d.ts.map +1 -1
  974. package/dist/numerical/christoffel-flat.js +3 -2
  975. package/dist/numerical/christoffel-flat.js.map +1 -1
  976. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  977. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  978. package/dist/numerical/covariant-eikonal.js +36 -13
  979. package/dist/numerical/covariant-eikonal.js.map +1 -1
  980. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  981. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  982. package/dist/numerical/curvature-lowering-helpers.js +9 -5
  983. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  984. package/dist/numerical/derivative-lowering.js.map +1 -1
  985. package/dist/numerical/einstein-equation.js.map +1 -1
  986. package/dist/numerical/engine-registry.js.map +1 -1
  987. package/dist/numerical/errors.d.ts +7 -3
  988. package/dist/numerical/errors.d.ts.map +1 -1
  989. package/dist/numerical/errors.js +5 -8
  990. package/dist/numerical/errors.js.map +1 -1
  991. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
  992. package/dist/numerical/evaluator-uncertainty.js +19 -2
  993. package/dist/numerical/evaluator-uncertainty.js.map +1 -1
  994. package/dist/numerical/finite-difference.d.ts +22 -0
  995. package/dist/numerical/finite-difference.d.ts.map +1 -0
  996. package/dist/numerical/finite-difference.js +27 -0
  997. package/dist/numerical/finite-difference.js.map +1 -0
  998. package/dist/numerical/formula-contract.d.ts +63 -7
  999. package/dist/numerical/formula-contract.d.ts.map +1 -1
  1000. package/dist/numerical/formula-contract.js +61 -42
  1001. package/dist/numerical/formula-contract.js.map +1 -1
  1002. package/dist/numerical/formula-dimension.d.ts +8 -7
  1003. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  1004. package/dist/numerical/formula-dimension.js +58 -36
  1005. package/dist/numerical/formula-dimension.js.map +1 -1
  1006. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  1007. package/dist/numerical/formula-mathts.js +5 -2
  1008. package/dist/numerical/formula-mathts.js.map +1 -1
  1009. package/dist/numerical/formula-registry.d.ts +13 -3
  1010. package/dist/numerical/formula-registry.d.ts.map +1 -1
  1011. package/dist/numerical/formula-registry.js +7 -2
  1012. package/dist/numerical/formula-registry.js.map +1 -1
  1013. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  1014. package/dist/numerical/geodesic-integrator.js +22 -14
  1015. package/dist/numerical/geodesic-integrator.js.map +1 -1
  1016. package/dist/numerical/geometrized.d.ts.map +1 -1
  1017. package/dist/numerical/geometrized.js +0 -1
  1018. package/dist/numerical/geometrized.js.map +1 -1
  1019. package/dist/numerical/gl4-integrator.d.ts +28 -27
  1020. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  1021. package/dist/numerical/gl4-integrator.js +41 -42
  1022. package/dist/numerical/gl4-integrator.js.map +1 -1
  1023. package/dist/numerical/grid-field.js.map +1 -1
  1024. package/dist/numerical/index.js.map +1 -1
  1025. package/dist/numerical/input-validation.d.ts +3 -6
  1026. package/dist/numerical/input-validation.d.ts.map +1 -1
  1027. package/dist/numerical/input-validation.js +4 -8
  1028. package/dist/numerical/input-validation.js.map +1 -1
  1029. package/dist/numerical/killing.d.ts +8 -5
  1030. package/dist/numerical/killing.d.ts.map +1 -1
  1031. package/dist/numerical/killing.js.map +1 -1
  1032. package/dist/numerical/klein-gordon.js.map +1 -1
  1033. package/dist/numerical/kretschmann.js.map +1 -1
  1034. package/dist/numerical/lowering-utils.js.map +1 -1
  1035. package/dist/numerical/lowering.d.ts.map +1 -1
  1036. package/dist/numerical/lowering.js +7 -17
  1037. package/dist/numerical/lowering.js.map +1 -1
  1038. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  1039. package/dist/numerical/mathts-engine.js +16 -25
  1040. package/dist/numerical/mathts-engine.js.map +1 -1
  1041. package/dist/numerical/metric-inverse.d.ts.map +1 -1
  1042. package/dist/numerical/metric-inverse.js +83 -46
  1043. package/dist/numerical/metric-inverse.js.map +1 -1
  1044. package/dist/numerical/null-ic.js.map +1 -1
  1045. package/dist/numerical/null-ray-integrator.d.ts +2 -1
  1046. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  1047. package/dist/numerical/null-ray-integrator.js +12 -12
  1048. package/dist/numerical/null-ray-integrator.js.map +1 -1
  1049. package/dist/numerical/painleve-gullstrand-metric.js +2 -2
  1050. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  1051. package/dist/numerical/pderiv.d.ts.map +1 -1
  1052. package/dist/numerical/pderiv.js +9 -2
  1053. package/dist/numerical/pderiv.js.map +1 -1
  1054. package/dist/numerical/perihelion-finder.d.ts +0 -36
  1055. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  1056. package/dist/numerical/perihelion-finder.js +41 -87
  1057. package/dist/numerical/perihelion-finder.js.map +1 -1
  1058. package/dist/numerical/quadrature.d.ts +5 -2
  1059. package/dist/numerical/quadrature.d.ts.map +1 -1
  1060. package/dist/numerical/quadrature.js +19 -4
  1061. package/dist/numerical/quadrature.js.map +1 -1
  1062. package/dist/numerical/rk4-trajectory.d.ts +10 -0
  1063. package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
  1064. package/dist/numerical/rk4-trajectory.js +37 -0
  1065. package/dist/numerical/rk4-trajectory.js.map +1 -0
  1066. package/dist/numerical/schwarzschild.d.ts +14 -0
  1067. package/dist/numerical/schwarzschild.d.ts.map +1 -0
  1068. package/dist/numerical/schwarzschild.js +17 -0
  1069. package/dist/numerical/schwarzschild.js.map +1 -0
  1070. package/dist/numerical/spacetime-metrics.d.ts +25 -19
  1071. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  1072. package/dist/numerical/spacetime-metrics.js +180 -286
  1073. package/dist/numerical/spacetime-metrics.js.map +1 -1
  1074. package/dist/numerical/statistics.d.ts +24 -0
  1075. package/dist/numerical/statistics.d.ts.map +1 -0
  1076. package/dist/numerical/statistics.js +52 -0
  1077. package/dist/numerical/statistics.js.map +1 -0
  1078. package/dist/numerical/strides.js.map +1 -1
  1079. package/dist/numerical/tensor-engine.d.ts +30 -5
  1080. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  1081. package/dist/numerical/tensor-engine.js +12 -0
  1082. package/dist/numerical/tensor-engine.js.map +1 -1
  1083. package/dist/numerical/types.js.map +1 -1
  1084. package/dist/numerical/weyl-lowering.js.map +1 -1
  1085. package/dist/relations/category.js.map +1 -1
  1086. package/dist/relations/composition-table.d.ts +4 -4
  1087. package/dist/relations/composition-table.js +4 -4
  1088. package/dist/relations/composition-table.js.map +1 -1
  1089. package/dist/relations/conventions.js.map +1 -1
  1090. package/dist/relations/domain-regimes.js.map +1 -1
  1091. package/dist/relations/regime-registration.js.map +1 -1
  1092. package/dist/relations/regime-vocabularies.js.map +1 -1
  1093. package/dist/relations/regime.d.ts +28 -8
  1094. package/dist/relations/regime.d.ts.map +1 -1
  1095. package/dist/relations/regime.js +44 -15
  1096. package/dist/relations/regime.js.map +1 -1
  1097. package/dist/relations/types.d.ts +18 -5
  1098. package/dist/relations/types.d.ts.map +1 -1
  1099. package/dist/relations/types.js +5 -3
  1100. package/dist/relations/types.js.map +1 -1
  1101. package/package.json +16 -20
  1102. package/dist/bridges/registry.d.ts +0 -60
  1103. package/dist/bridges/registry.d.ts.map +0 -1
  1104. package/dist/bridges/registry.js +0 -87
  1105. package/dist/bridges/registry.js.map +0 -1
  1106. package/dist/cli/poster-source.d.ts +0 -154
  1107. package/dist/cli/poster-source.d.ts.map +0 -1
  1108. package/dist/cli/poster-source.js +0 -184
  1109. package/dist/cli/poster-source.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_atlas-map.js","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_atlas-map.js","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGxF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,YAAY,GAAG,kDAAkD,YAAY,CAAC,uBAAuB,CAAC,GAAG,CAAC;AAChH,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,OAAO,GACX,uGAAuG;IACvG,sDAAsD,CAAC;AACzD,MAAM,UAAU,GACd,0GAA0G;IAC1G,2DAA2D,CAAC;AA2E9D,MAAM,gBAAgB,GAAG,mDAAmD,CAAC;AAE7E,SAAS,GAAG,CAAC,IAAc,EAAE,GAAW;IACtC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzH,CAAC;IAAC,MAAM,CAAC;QACP,+FAA+F;QAC/F,6FAA6F;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,iBAAiB,EAAE;IAC/E,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,qFAAqF;QACrF,4EAA4E;QAC5E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,GAAG,OAAO,6BAA6B,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,YAAY,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBACnJ,4DAA4D,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,GAAG,OAAO,oBAAoB,YAAY,CAAC,mBAAmB,CAAC,qDAAqD;YAClH,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2FAA2F;QAC3F,MAAM,IAAI,QAAQ,CAAC,GAAG,OAAO,KAAK,YAAY,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3I,CAAC;IACD,oEAAoE;IACpE,MAAM,QAAQ,GACZ,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,QAAQ,CAChB,GAAG,OAAO,KAAK,YAAY,CAAC,mBAAmB,CAAC,uBAAuB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CACjI,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,CAAC,EAAoB,EAAE;QACpE,MAAM,GAAG,GAA4B,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACpD,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CAAC;YACzE,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,EACpD,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,GAAG,OAAO,KAAK,YAAY,CAAC,mBAAmB,CAAC,YAAY,CAAC,4BAA4B;gBACvF,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;IACnF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5G,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,YAAY,CAAC,mBAAmB,CAAC;YACtC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,OAAO,EAAE,gBAAgB;YACzB,UAAU;YACV,mBAAmB,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;SAC5D;QACD,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAQ,EAAE,SAA8B;IACvE,MAAM,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAClC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,EAAE,GAAG,EAAE,0DAA0D,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;QAC9G,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACxD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAc,EAAE,OAAuB;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/G,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,SAAS;YAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;YACnD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAUD,SAAS,KAAK,CAAC,OAA8B,EAAE,OAA8B;IAC3E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAQ,CAAU,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE;YACT,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3C,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC;AAgBD,SAAS,SAAS,CAAC,GAAQ;IACzB,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,MAAM,CAAC,GAAQ;IACtB,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM;QACnC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAQ,EAAE,CAAa;IACxC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,MAAM,EAAE,GAAG,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAC3D,OAAO;gBACL,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI;gBACtB,OAAO,EAAE,EAAE,EAAE,aAAa,IAAI,IAAI;gBAClC,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;aAC9G,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,CAAc,EAAE,OAA8B;IAC5E,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACvE,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;gBAC1B,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ;gBAC9B,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI;gBACtB,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;aACrB;QACP,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;QAC7B,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,GAAQ,EACR,CAAc,EACd,MAAc,EACd,MAA+B,EAC/B,OAAO,GAA0B,IAAI;IAErC,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IACjF,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM;QACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAChH,KAAK,EACH,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;QAC1F,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ,EAAE,EAAU;IAC1C,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC;AACjG,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACrG,CAAC;AAgCD,MAAM,SAAS,GACb,4HAA4H,CAAC;AAE/H,uDAAuD;AACvD,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3F,MAAM,IAAI,QAAQ,CAAC,qBAAqB,GAAG,yEAAyE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,IAAY,EAAE,EAAU;IAC/E,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,kGAAkG,CAAC,CAAC;QACxI,CAAC;IACH,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,SAAS,aAAa,CAAC,IAAY,EAAE,OAA+B;IAClE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAaD,MAAM,cAAc,GAClB,8GAA8G;IAC9G,wHAAwH;IACxH,IAAI,YAAY,CAAC,mDAAmD,CAAC,MAAM,CAAC;AAE9E,SAAS,eAAe,CAAC,EAA2C,EAAE,OAA8B;IAClG,MAAM,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7F,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,gHAAgH;AAChH,SAAS,iBAAiB,CACxB,GAAQ,EACR,OAA+B,EAC/B,UAAuC,EACvC,OAA8B;IAE9B,MAAM,IAAI,GAA+B,EAAE,CAAC;IAC5C,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAc,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAc,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,EAAE,cAAc;KACrB,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,YAAY,CAAC,GAAQ,EAAE,OAA+B,EAAE,OAA8B;IAC7F,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,GAAG,GAA+C,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,oBAAoB;YAAE,GAAG,GAAG,IAAI,CAAC;aACxD,CAAC;YACJ,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,GAAG,KAAK,oBAAoB;gBAAE,QAAQ,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACzF,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAE,IAAY,EAAE,EAAU,EAAE,OAAO,GAA0B,IAAI;IACtG,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3H,MAAM,WAAW,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAC/D,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3F,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,YAAY;QACpB,KAAK;QACL,MAAM,EAAE,EAAE;QACV,WAAW,EAAE;YACX,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YACrD,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;SAC3C;QACD,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE;QACxE,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3D,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAsCvC,MAAM,gBAAgB,GACpB,mHAAmH;IACnH,mHAAmH,CAAC;AAEtH,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAC7B,GAAQ,EACR,IAAY,EACZ,EAAU,EACV,KAAa,EACb,OAAO,GAA0B,IAAI;IAErC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC;IAC3D,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC;QAC1C,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,WAAW;KACvD,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAClG,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1J,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAM,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,YAAY;QACpB,MAAM;QACN,OAAO;QACP,MAAM,EAAE,EAAE;QACV,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;QACD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE;QAC9F,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9G,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3D,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC;AAyBD,MAAM,gBAAgB,GACpB,oHAAoH;IACpH,kHAAkH;IAClH,oHAAoH;IACpH,qBAAqB,CAAC;AAExB,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAY;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,sBAAsB,OAAO,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,mBAAmB,CACjC,GAAQ,EACR,UAAkB,EAClB,MAAmB,EACnB,OAAO,GAA0B,IAAI;IAErC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,0BAA0B,UAAU,oDAAoD,CAAC,CAAC;IAClI,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM;QACN,CAAC;QACD,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3E,OAAO,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;KACvC,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC5I,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC;IACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,OAAO;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,MAAM,EAAE,EAAE;QACV,WAAW,EAAE;YACX,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;gBAC/D,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;gBACnE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;gBACnE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM;gBACjH,EAAE,EAAE,CAAC,CAAC,OAAO;aACd;YACD,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;SAC3C;QACD,MAAM,EAAE,SAAS;YACf,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,kBAAkB,EAAE,CAAC,CAAC,cAAc,CAAC;gBACrC,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC;gBAChC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aACvD;YACH,CAAC,CAAC,IAAI;QACR,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3D,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC;AAuBD,8GAA8G;AAC9G,MAAM,UAAU,sBAAsB,CAAC,GAAQ,EAAE,OAAO,GAA0B,IAAI;IACpF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrH,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE;YACX,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM;YACnC,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;SAC/D;QACD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvG,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClH,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAClI;QACD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3D,UAAU,EACR,gHAAgH;YAChH,oHAAoH;KACvH,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,iBAAiB,CAAC,CAAoB;IACpD,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;IACxB,MAAM,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChJ,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,oIAAoI,EAAE,CAAC,CAAC;IAC3J,GAAG,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IACzG,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrJ,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,MAAM,UAAU,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjE,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,aAAa,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAClH,GAAG,CAAC,IAAI,CAAC,mHAAmH,CAAC,CAAC;IAC9H,OAAO,GAAG,CAAC;AACb,CAAC;AA2CD,SAAS,KAAK,CAAC,CAAa,EAAE,CAAc;IAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC;IACjF,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IACvF,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;AAClF,CAAC;AAED,yEAAyE;AACzE,SAAS,uBAAuB,CAAC,CAA0B;IACzD,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IACF,OAAO,CACL,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,iBAAiB;QACrE,GAAG,CAAC,CAAC,kBAAkB,4BAA4B;QACnD,GAAG,CAAC,CAAC,gBAAgB,wBAAwB,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAyC;IACvD,IAAI,EAAE,0DAA0D;IAChE,MAAM,EAAE,0CAA0C,YAAY,CAAC,mBAAmB,CAAC,EAAE;IACrF,GAAG,EAAE,uDAAuD;CAC7D,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,IAAY,EAAE,MAAmB,EAAE,OAAO,GAA0B,IAAI;IAChH,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CAChB,8BAA8B,IAAI,gBAAgB,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CACzG,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC,CAAC,OAAO;SACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC,CAAC,CACjG,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC;IACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACzB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;QACH,WAAW,EAAE;YACX,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1C,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YACrF,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YAC3F,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;SAClC;QACD,MAAM,EAAE,SAAS;YACf,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,KAAK,EAAE,GAAG,CAAC,MAAM;gBACjB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,kBAAkB,EAAE,CAAC,CAAC,cAAc,CAAC;gBACrC,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC;gBAChC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aACvD;YACH,CAAC,CAAC,IAAI;QACR,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3D,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,MAAM,UAAU,GAAgC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACrF,MAAM,SAAS,GAAgC;IAC7C,MAAM,EAAE,uBAAuB;IAC/B,GAAG,EAAE,sDAAsD;CAC5D,CAAC;AAEF,SAAS,YAAY,CAAC,CAAe,EAAE,EAAU;IAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,MAAM,GACV,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,QAAQ,8BAA8B,CAAC;IAChI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACpB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,SAAS,GACb,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,wCAAwC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,6BAA6B,EAAE,WAAW,CAAC;QAC/H,OAAO,uBAAuB,OAAO,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GACb,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,gBAAgB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5G,OAAO,sCAAsC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;AACxG,CAAC;AAED,SAAS,WAAW,CAAC,CAAkB;IACrC,MAAM,GAAG,GAAG,CAAC,EAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,IAAI,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5I,OAAO,CACL,cAAc,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;QAC/F,cAAc,UAAU,gBAAgB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAC7D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,CAA2B;IAC9C,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IACtB,MAAM,MAAM,GACV,2BAA2B,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,UAAU,gBAAgB;QACrG,GAAG,CAAC,CAAC,WAAW,8BAA8B,CAAC;IACjD,IAAI,KAAK,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1B,OAAO,8BAA8B,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,iCAAiC,MAAM,EAAE,CAAC;IAC7H,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACvB,MAAM,IAAI,GACR,CAAC,CAAC,UAAU,KAAK,IAAI;QACnB,CAAC,CAAC,uEAAuE;QACzE,CAAC,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG;YAClF,CAAC,CAAC,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO,6BAA6B,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,MAAM,MAAM,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,WAAW,CAAC,CAAa,EAAE,MAAc;IAChD,MAAM,EAAE,GAAG,CAAC,CAAiC,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrH,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG;QACnI,GAAG,MAAM,mBAAmB,CAAC,CAAC,cAAc,EAAE;QAC9C,GAAG,MAAM,gBAAgB,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChG,GAAG,MAAM,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5G,GAAG,MAAM,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;QACnJ,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC5C,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC7F,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAY,EAAE,MAAc;IAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,cAAc,OAAO,EAAE,CAAC,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7G,MAAM,IAAI,GACR,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC/I,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,CAAiC;IACjD,OAAO,2BAA2B,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,WAAW,cAAc,CAAC;AAC1H,CAAC;AAED,SAAS,gBAAgB,CAAC,CAA2B,EAAE,SAAkC,EAAE,MAAc;IACvG,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,KAAK,GACT,CAAC,CAAC,QAAQ,KAAK,IAAI;YACjB,CAAC,CAAC,kEAAkE;YACpE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,oBAAoB;gBACnC,CAAC,CAAC,wBAAwB,SAAS,CAAC,CAAC,GAAG,CAAC,CAAE,SAAS,SAAS,CAAC,CAAC,CAAE,oBAAoB;gBACrF,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnB,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAM,CAAC;IACvB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,gBAAgB,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAC7I,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CACN,GAAG,MAAM,aAAa,EAAE,CAAC,QAAQ,gCAAgC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,OAAO,IAAI;gBAC1G,OAAO,EAAE,CAAC,CAAC,gCAAgC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAC1I,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,iCAAiC,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,6CAA6C,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS,CAAC,CAAY;IACpC,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CACN,iBAAiB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,6DAA6D;YACpG,0FAA0F,CAC7F,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,GAAG,CAAC,IAAI,CACN,YAAY,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;QACtF,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,SAAS,EAAE,CACxF,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC3E,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,UAAU,CAAC,CAAa;IACtC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;IACxB,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,GAAG,CAAC,IAAI,CACN,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,KAAK,0BAA0B,CAAC,CAAC,MAAM,GAAG;QACrH,OAAO,CAAC,CAAC,eAAe,CAAC,KAAK,8CAA8C,CAAC,CAAC,YAAY,CAAC,EAAE,kBAAkB;QAC/G,GAAG,CAAC,CAAC,UAAU,eAAe,CACjC,CAAC;IACF,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAU,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QACrK,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,MAAM,wCAAwC,CAAC,CAAC;IACvF,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,CAAa;IACtC,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS;QACvB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,0EAA0E;QACtF,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO;YACtB,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,sDAAsD,CAAC,CAAC,KAAK,kCAAkC;YACrH,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,qGAAqG,CAAC;YACpH,0BAA0B,CAAC,CAAC,eAAe,2DAA2D,CAAC;IAC3G,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,CACN,YAAY,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;QACtF,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,gCAAgC,CAC9F,CAAC;IACF,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QACpH,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChF,GAAG,CAAC,IAAI,CACN,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,2BAA2B;QACrG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3D,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9G,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,CAAiB;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5E,GAAG,CAAC,IAAI,CACN,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,UAAU,wCAAwC;QACxH,GAAG,CAAC,CAAC,eAAe,gCAAgC,CAAC,CAAC,cAAc,4DAA4D,CACnI,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,MAAM,wBAAwB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1G,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAE9E,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAC/B,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3H,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAa5G,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,CAAY;IACrC,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7G,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QACxB,OAAO,CACL,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU;YAC7H,YAAY,CAAC,CAAC,MAAM,qBAAqB,WAAW,GAAG,IAAI,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,yCAAyC,CAAC,CAAC,SAAS,mBAAmB,CAAC;QACzJ,OAAO,CACL,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM;YAC1H,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,MAAM,qBAAqB,WAAW,GAAG,IAAI,GAAG,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QAChC,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CACL,eAAe,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,SAAS,wBAAwB;YAClI,GAAG,CAAC,CAAC,UAAU,uBAAuB,CAAC,CAAC,eAAe,6BAA6B,CAAC,CAAC,cAAc,kBAAkB;YACtH,YAAY,CAAC,CAAC,MAAM,qFAAqF,WAAW,GAAG,IAAI,GAAG;YAC9H,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9B,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;IACxB,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,CACL,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,KAAK,WAAW;QACxG,GAAG,CAAC,CAAC,eAAe,CAAC,KAAK,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC,CAAC,MAAM,qBAAqB,WAAW,GAAG,IAAI,GAAG;QACxI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,CAAY;IAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzH,CAAC;IACD,mGAAmG;IACnG,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,OAAO;IACd,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,CAAC,GAAG,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9D,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,gBAAgB,CAAC,CAAU;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnI,CAAC;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,MAAe;IAC/C,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAC,CAAY;IACpC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,mGAAmG;IACnG,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;IACpG,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACvF,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;YACvG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;IACvF,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAChF,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACjF,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,KAAK,CAAC,CAAY;IAChC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG;QACV,oBAAoB;QACpB,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;QAC3B,eAAe;QACf,gCAAgC;KACjC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9G,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5G,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG;YAClC,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7H,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC/B,CAAC","sourcesContent":["/**\n * `upt map --route=FROM,TO` and `upt map --family=NAME` — focused maps of the\n * ATLAS (models and the bridges between them), as opposed to the rest of `map`,\n * which draws the equation graph by shared quantities. The two graphs are\n * different facts: a shared quantity is connectivity, a bridge is a recorded\n * transformation between models, and neither is drawn as the other.\n *\n * Every view states its denominator (how many of the atlas's models and\n * bridges it shows) and its source.\n *\n * ## The join to the equation graph\n *\n * A model is joined to a canonical equation ONLY through the model's own\n * `canonicalRefs` field. Nothing is inferred from a shared dimension, a shared\n * quantity or a similar name, and a model with no recorded reference is shown\n * as having none recorded — an absent link, not a finding that none exists.\n *\n * ## Evidence, and the witness results it is derived from\n *\n * Which witnesses pass is decided by runs the view may or may not observe.\n * Every tag `deriveEvidence` emits is monotone in the passing set except\n * `proposed`, which is antitone, so deriving under the witnesses KNOWN to pass\n * and under those plus every witness with NO observed result brackets every\n * possible result: a tag in both is derived whatever the unobserved results\n * are, a tag in neither cannot be, and a tag in exactly one is undecided here.\n * An undecided bridge is counted apart from one that does not match.\n *\n * With no results source every witness is unobserved. `--stored` observes the\n * committed artifact (`data/atlas/witness-results.json`); `--run` observes the\n * in-process registered witnesses, run by this invocation. Only a `'checked'`\n * row is a pass. A `'refuted'` or `'unresolved'` row is observed and not\n * passing, and the two are counted apart; a witness with no row stays\n * unobserved, whatever its name.\n */\nimport { execFileSync } from 'node:child_process';\nimport { readFileSync } from 'node:fs';\nimport type { CommandCtx } from '../command.js';\nimport { CliError } from '../errors.js';\nimport { publishedUrl } from '../published-url.js';\nimport { repoRoot, STORED_RESULTS_PATH, storedResultsFile } from '../stored-results.js';\nimport type { AppliedTransport, AtlasBridge, AtlasModel } from '../../cli-api.js';\nimport type { EvidenceTag, RelationType } from '../../atlas/types.js';\nimport { showInequality } from './regime.js';\nimport {\n claimReport,\n explainsRefusal,\n missingForComposite,\n routeClaim,\n selectRoute,\n transportReport,\n type TransportReport,\n} from './_atlas-route.js';\n\ntype Api = CommandCtx['api'];\n\nconst ATLAS_SOURCE = `atlas (the models and bridges of every family, ${publishedUrl('src/atlas/families.ts')})`;\nconst LINK_SOURCE = 'AtlasModel.canonicalRefs';\nconst NO_LINK =\n 'no canonical equation recorded in its canonicalRefs (an absent link, not a finding that none exists; ' +\n 'nothing is inferred from shared quantities or names)';\nconst EPISTEMICS =\n 'bridges are recorded transformations between models; the equation links are only those a model records. ' +\n 'A route existing is not a warrant: the composed claim is.';\n\n/** A canonical equation recorded for an atlas model, with its graph edge when present. */\nexport interface EquationLink {\n id: string;\n name: string | null;\n formula: string | null;\n /** The canonical equation's edge in the equation graph, or null when the graph has none by that id. */\n graphEdge: { sources: string[]; target: string } | null;\n}\n\n/** An atlas model row with its family and recorded canonical-equation links. */\nexport interface ModelView {\n id: string;\n family: string;\n dynamics: string;\n equationLinks: EquationLink[];\n}\n\n/** A bridge's derived evidence tags and witness observations for the current view. */\nexport interface EvidenceView {\n /** Derived whatever the unobserved witness results are. */\n derived: EvidenceTag[];\n /** Derived under some unobserved witness results and not others. */\n undecided: EvidenceTag[];\n formalRef: { system: string; fidelity: string; kind: string; url: string } | null;\n witnesses: number;\n /** Present only when the view reads a witness-results source. */\n results?: WitnessOutcomes;\n}\n\n// ── witness results ────────────────────────────────────────────────────────\n\n/** The witness-result source a view can observe. */\nexport type ResultsMode = 'stored' | 'run';\n\n/** One stored or freshly run witness result for an atlas record. */\nexport interface WitnessResultRow {\n recordId: string;\n witnessId: string;\n status: 'checked' | 'refuted' | 'unresolved';\n reason?: string;\n}\n\n/** Where stored witness results came from and whether the artifact changed since its last commit. */\nexport interface StoredProvenance {\n /** GitHub blob URL of the artifact. The file ships in `data/`; a checkout or install without it has no stored results. */\n url: string;\n schemaVersion: string;\n /** What the artifact itself records about when it was produced. */\n carries: string;\n /** The last commit touching the file, read from git; null when git cannot say. */\n lastCommit: { hash: string; date: string } | null;\n /** Whether the working-tree file differs from that commit; null when git cannot say. */\n modifiedSinceCommit: boolean | null;\n}\n\n/** The witness-result rows a view observed, with provenance for their source. */\nexport interface WitnessResults {\n mode: ResultsMode;\n /** stored: the artifact and what is known of when it was made. run: what ran. */\n provenance: StoredProvenance | { ran: string; registered: number };\n rows: readonly WitnessResultRow[];\n}\n\n/** One bridge's witnesses, split by what the results source observed of each. */\nexport interface WitnessOutcomes {\n source: ResultsMode;\n checked: string[];\n refuted: string[];\n unresolved: { id: string; reason: string | null }[];\n /** No row in the source: a name, not a result. */\n notObserved: string[];\n}\n\nconst ARTIFACT_CARRIES = 'the artifact records no commit or date of its own';\n\nfunction git(args: string[], cwd: string): string | null {\n try {\n return execFileSync('git', args, { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 5000 }).trim();\n } catch {\n // git absent, no repository here (an installed package has none), a path git does not know, or\n // a call that ran past its limit: each is \"git cannot say\", which the callers print as such.\n return null;\n }\n}\n\n/**\n * The committed witness-results artifact. It is a repository file, not shipped\n * in the package, so its absence is refused rather than read as \"no results\":\n * an empty source would render every tag exactly as the default view does,\n * under a label claiming it had been observed.\n */\nexport function loadStoredResults(command = 'upt map', file = storedResultsFile()): WitnessResults {\n const root = repoRoot();\n let raw: string;\n try {\n raw = readFileSync(file, 'utf8');\n } catch (e) {\n const code = e instanceof Error && 'code' in e && typeof e.code === 'string' ? e.code : undefined;\n // Only an absent file is \"not present here\". A file that is there and cannot be read\n // (a directory, no permission) is another fact, and the refusal says which.\n if (code !== 'ENOENT') {\n throw new CliError(\n `${command}: --stored could not read ${publishedUrl(STORED_RESULTS_PATH)} (${code ?? 'read error'}: ${e instanceof Error ? e.message : String(e)}). ` +\n '--run executes the in-process registered witnesses instead',\n );\n }\n throw new CliError(\n `${command}: --stored reads ${publishedUrl(STORED_RESULTS_PATH)}, which is not present here (a checkout or install ` +\n 'without data/). --run executes the in-process registered witnesses instead',\n );\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (e) {\n // A corrupt artifact is refused as such, not thrown through as a SyntaxError with a stack.\n throw new CliError(`${command}: ${publishedUrl(STORED_RESULTS_PATH)} is not valid JSON (${e instanceof Error ? e.message : String(e)})`);\n }\n // `null`, a list or a number is valid JSON and is not the artifact.\n const artifact: { schemaVersion?: unknown; results?: unknown } =\n typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) ? parsed : {};\n if (artifact.schemaVersion !== '0' || !Array.isArray(artifact.results)) {\n throw new CliError(\n `${command}: ${publishedUrl(STORED_RESULTS_PATH)} has schemaVersion '${String(artifact.schemaVersion)}'; this command reads '0'`,\n );\n }\n const rows = artifact.results.map((r: unknown, i): WitnessResultRow => {\n const row: Record<string, unknown> = typeof r === 'object' && r !== null && !Array.isArray(r) ? { ...r } : {};\n const { recordId, witnessId, status, reason } = row;\n if (\n typeof recordId !== 'string' ||\n typeof witnessId !== 'string' ||\n (status !== 'checked' && status !== 'refuted' && status !== 'unresolved') ||\n (reason !== undefined && typeof reason !== 'string')\n ) {\n throw new CliError(\n `${command}: ${publishedUrl(STORED_RESULTS_PATH)} results[${i}] is not a witness result ` +\n '(recordId and witnessId are text, status is checked, refuted or unresolved)',\n );\n }\n return { recordId, witnessId, status, ...(reason === undefined ? {} : { reason }) };\n });\n const log = git(['log', '-1', '--format=%H %cI', '--', STORED_RESULTS_PATH], root);\n const [hash, date] = log === null || log === '' ? [] : log.split(' ');\n const lastCommit = hash !== undefined && date !== undefined ? { hash, date } : null;\n const status = lastCommit === null ? null : git(['status', '--porcelain', '--', STORED_RESULTS_PATH], root);\n return {\n mode: 'stored',\n provenance: {\n url: publishedUrl(STORED_RESULTS_PATH),\n schemaVersion: artifact.schemaVersion,\n carries: ARTIFACT_CARRIES,\n lastCommit,\n modifiedSinceCommit: status === null ? null : status !== '',\n },\n rows,\n };\n}\n\n/**\n * Run the in-process registered witnesses of `bridgeIds`, now, and those of\n * the norm transports the bridges declare (registered under the transport id).\n */\nexport async function runResults(api: Api, bridgeIds: ReadonlySet<string>): Promise<WitnessResults> {\n const transportIds = api.ATLAS_FAMILIES.flatMap((f) => f.bridges)\n .filter((b) => bridgeIds.has(b.id))\n .flatMap((b) => (b.normTransports ?? []).map((nt) => nt.id));\n const ids = new Set([...bridgeIds, ...transportIds]);\n const registered = api.WITNESS_REGISTRY.filter((e) => ids.has(e.recordId));\n const artifact = await api.runWitnessRegistry(registered);\n return {\n mode: 'run',\n provenance: { ran: 'the registered witnesses, in-process, by this invocation', registered: registered.length },\n rows: artifact.results.map((r) => ({\n recordId: r.recordId,\n witnessId: r.witnessId,\n status: r.status,\n ...(r.reason === undefined ? {} : { reason: r.reason }),\n })),\n };\n}\n\nfunction outcomes(b: AtlasBridge, results: WitnessResults): WitnessOutcomes {\n const rows = results.rows.filter((r) => r.recordId === b.id);\n const o: WitnessOutcomes = { source: results.mode, checked: [], refuted: [], unresolved: [], notObserved: [] };\n for (const w of b.witnesses) {\n const row = rows.find((r) => r.witnessId === w.id);\n if (row === undefined) o.notObserved.push(w.id);\n else if (row.status === 'checked') o.checked.push(w.id);\n else if (row.status === 'refuted') o.refuted.push(w.id);\n else o.unresolved.push({ id: w.id, reason: row.reason ?? null });\n }\n return o;\n}\n\n/** Aggregate witness result counts over the bridges a view shows. */\nexport interface ResultsTally {\n mode: ResultsMode;\n provenance: WitnessResults['provenance'];\n /** Witnesses of the bridges this view shows, by what the source observed. */\n witnesses: { checked: number; refuted: number; unresolved: number; notObserved: number };\n}\n\nfunction tally(results: WitnessResults | null, bridges: readonly BridgeView[]): ResultsTally | undefined {\n if (results === null) return undefined;\n const seen = new Map(bridges.map((b) => [b.id, b.evidence.results!] as const));\n const sum = (f: (o: WitnessOutcomes) => number) => [...seen.values()].reduce((n, o) => n + f(o), 0);\n return {\n mode: results.mode,\n provenance: results.provenance,\n witnesses: {\n checked: sum((o) => o.checked.length),\n refuted: sum((o) => o.refuted.length),\n unresolved: sum((o) => o.unresolved.length),\n notObserved: sum((o) => o.notObserved.length),\n },\n };\n}\n\n/** The atlas bridge data a map view renders after joining models, evidence, regime and bounds. */\nexport interface BridgeView {\n id: string;\n family: string;\n relation: RelationType;\n premises: { id: string; family: string }[];\n conclusion: { id: string; family: string };\n transformation: string;\n assumptions: string[];\n regime: { inequalities: string[]; vacuous: boolean };\n bound: { K: number; delta: number; norm: string; horizon: string } | null;\n evidence: EvidenceView;\n}\n\nfunction allModels(api: Api): Map<string, AtlasModel> {\n return new Map(api.ATLAS_FAMILIES.flatMap((f) => f.models.map((m) => [m.id, m] as const)));\n}\n\nfunction totals(api: Api): { families: number; models: number; bridges: number } {\n return {\n families: api.ATLAS_FAMILIES.length,\n models: api.ATLAS_FAMILIES.reduce((n, f) => n + f.models.length, 0),\n bridges: api.ATLAS_FAMILIES.reduce((n, f) => n + f.bridges.length, 0),\n };\n}\n\nfunction modelView(api: Api, m: AtlasModel): ModelView {\n return {\n id: m.id,\n family: m.family,\n dynamics: m.dynamics,\n equationLinks: m.canonicalRefs.map((ref) => {\n const eq = api.CANONICAL_EQUATIONS.find((e) => e.id === ref);\n const edge = api.CANONICAL_GRAPH.find((e) => e.id === ref);\n return {\n id: ref,\n name: eq?.name ?? null,\n formula: eq?.formula_latex ?? null,\n graphEdge: edge === undefined ? null : { sources: edge.sources.map((q) => q.name), target: edge.target.name },\n };\n }),\n };\n}\n\nfunction evidenceView(api: Api, b: AtlasBridge, results: WitnessResults | null): EvidenceView {\n const o = results === null ? null : outcomes(b, results);\n const passing = o === null ? api.NO_PASSING_WITNESSES : new Set(o.checked);\n const open = o === null ? b.witnesses.map((w) => w.id) : o.notObserved;\n const low = api.deriveEvidence(b, passing);\n const high = api.deriveEvidence(b, new Set([...passing, ...open]));\n const tags = [...new Set([...low, ...high])].sort();\n return {\n derived: tags.filter((t) => low.has(t) && high.has(t)),\n undecided: tags.filter((t) => low.has(t) !== high.has(t)),\n formalRef:\n b.formalRef === undefined\n ? null\n : {\n system: b.formalRef.system,\n fidelity: b.formalRef.fidelity,\n kind: b.formalRef.kind,\n url: b.formalRef.url,\n },\n witnesses: b.witnesses.length,\n ...(o === null ? {} : { results: o }),\n };\n}\n\nfunction bridgeView(\n api: Api,\n b: AtlasBridge,\n family: string,\n models: Map<string, AtlasModel>,\n results: WitnessResults | null = null,\n): BridgeView {\n const at = (id: string) => ({ id, family: models.get(id)?.family ?? 'UNKNOWN' });\n return {\n id: b.id,\n family,\n relation: b.relation,\n premises: b.premises.map(at),\n conclusion: at(b.conclusion),\n transformation: b.transformation,\n assumptions: [...b.sideConditions],\n regime: { inequalities: b.regime.inequalities.map(showInequality), vacuous: b.regime.inequalities.length === 0 },\n bound:\n b.bound === undefined\n ? null\n : { K: b.bound.K, delta: b.bound.delta, norm: b.bound.norm, horizon: b.bound.horizon },\n evidence: evidenceView(api, b, results),\n };\n}\n\nfunction familyOfBridge(api: Api, id: string): string {\n return api.ATLAS_FAMILIES.find((f) => f.bridges.some((b) => b.id === id))?.family ?? 'UNKNOWN';\n}\n\nfunction linkSummary(models: readonly ModelView[]): { source: string; withLink: number; withoutLink: number; of: number } {\n const withLink = models.filter((m) => m.equationLinks.length > 0).length;\n return { source: LINK_SOURCE, withLink, withoutLink: models.length - withLink, of: models.length };\n}\n\n// ── route ──────────────────────────────────────────────────────────────────\n\n/** The focused view for one selected atlas route and the claim its composition makes. */\nexport interface RouteView {\n view: 'route';\n from: string;\n to: string;\n source: string;\n /** null: no chain of bridges connects the endpoints. */\n steps: BridgeView[] | null;\n models: ModelView[];\n denominator: { bridges: { shown: number; of: number }; models: { shown: number; of: number } };\n selection: string;\n composition: {\n /** The running composite after each step; null once a step has composed to no claim. */\n running: { after: string; relation: RelationType | 'no-composite-claim' | null }[];\n /** Index into `steps` of the step whose composition the table declines, or null. */\n breaksAt: number | null;\n claim: ReturnType<typeof claimReport> | null;\n missing: string[];\n /** The declared norm transports that carried the bound across exact steps, with their witness results. */\n transports: (TransportReport & { result: TransportResult })[];\n /** The composite claim's evidence (ADR §4); null when the route makes no composite claim. */\n evidence: CompositeEvidenceView | null;\n };\n equationLinks: ReturnType<typeof linkSummary>;\n witnessResults?: ResultsTally;\n epistemics: string;\n}\n\nconst SELECTION =\n 'the shortest route by bridge count (the one `upt path` reports); other routes between the endpoints, if any, are not shown';\n\n/** Parse a FROM,TO route flag into atlas model ids. */\nexport function parseRoute(raw: string): [string, string] {\n const [from, to, ...extra] = raw.split(',').map((s) => s.trim());\n if (from === undefined || to === undefined || extra.length > 0 || from === '' || to === '') {\n throw new CliError(`upt map: --route='${raw}' must be FROM,TO (two model ids), e.g. --route=model-pendulum,model-lc`);\n }\n return [from, to];\n}\n\nfunction checkEndpoints(models: Map<string, AtlasModel>, from: string, to: string): void {\n for (const id of [from, to]) {\n if (!models.has(id)) {\n throw new CliError(`upt map: '${id}' is not a model of any atlas family (run \\`upt map --family=NAME\\` to list one family's models)`);\n }\n }\n}\n\n/** The models a route visits, in route order: an exact equivalence may be walked conclusion → premise. */\nfunction routeModelIds(from: string, bridges: readonly AtlasBridge[]): string[] {\n const ids = [from];\n for (const b of bridges) {\n const at = ids[ids.length - 1]!;\n ids.push(b.conclusion === at && b.relation === 'exact-equivalence' ? b.premises[0]! : b.conclusion);\n }\n return ids;\n}\n\n/** What a results source observed of a transport's witness; 'no result' when it has no row or there is no source. */\nexport type TransportResult = 'checked' | 'refuted' | 'unresolved' | 'no result';\n\n/** The composite evidence of a bound route: the tags derived, the tags left undecided, and the rule that derived them. */\nexport interface CompositeEvidenceView {\n /** Derived whatever the unobserved results are: never stronger than the weakest part. */\n derived: EvidenceTag[];\n undecided: EvidenceTag[];\n rule: string;\n}\n\nconst COMPOSITE_RULE =\n 'derived from the parts (every step and every transport applied): a positive tag survives only if every part ' +\n \"carries it, contradicted if any part does; a transport contributes its basis when its witness checks, else 'proposed' \" +\n `(${publishedUrl('docs/planning/ADR-transported-norm-composition.md')} §4)`;\n\nfunction transportResult(nt: { id: string; witness: { id: string } }, results: WitnessResults | null): TransportResult {\n const row = results?.rows.find((r) => r.recordId === nt.id && r.witnessId === nt.witness.id);\n return row === undefined ? 'no result' : row.status;\n}\n\n/** The composite evidence of a bound route, bracketed over the unobserved witness results like one bridge's. */\nfunction compositeEvidence(\n api: Api,\n bridges: readonly AtlasBridge[],\n transports: readonly AppliedTransport[],\n results: WitnessResults | null,\n): CompositeEvidenceView {\n const lows: ReadonlySet<EvidenceTag>[] = [];\n const highs: ReadonlySet<EvidenceTag>[] = [];\n for (const b of bridges) {\n const o = results === null ? null : outcomes(b, results);\n const passing = o === null ? api.NO_PASSING_WITNESSES : new Set(o.checked);\n const open = o === null ? b.witnesses.map((w) => w.id) : o.notObserved;\n lows.push(api.deriveEvidence(b, passing));\n highs.push(api.deriveEvidence(b, new Set([...passing, ...open])));\n }\n for (const { transport } of transports) {\n const r = transportResult(transport, results);\n lows.push(new Set<EvidenceTag>([r === 'checked' ? transport.basis : 'proposed']));\n highs.push(new Set<EvidenceTag>([r === 'checked' || r === 'no result' ? transport.basis : 'proposed']));\n }\n const low = api.deriveCompositeEvidence(lows);\n const high = api.deriveCompositeEvidence(highs);\n const tags = [...new Set([...low, ...high])].sort();\n return {\n derived: tags.filter((t) => low.has(t) && high.has(t)),\n undecided: tags.filter((t) => low.has(t) !== high.has(t)),\n rule: COMPOSITE_RULE,\n };\n}\n\n/** The composition table folded along a non-empty route, and what the route supports. */\nfunction composeSteps(api: Api, bridges: readonly AtlasBridge[], results: WitnessResults | null): RouteView['composition'] {\n const running: RouteView['composition']['running'] = [];\n let breaksAt: number | null = null;\n let rel: RelationType | 'no-composite-claim' | null = bridges[0]!.relation;\n running.push({ after: bridges[0]!.id, relation: rel });\n for (let i = 1; i < bridges.length; i++) {\n if (rel === null || rel === 'no-composite-claim') rel = null;\n else {\n rel = api.composeRelation(rel, bridges[i]!.relation);\n if (rel === 'no-composite-claim') breaksAt = i;\n }\n running.push({ after: bridges[i]!.id, relation: rel });\n }\n const claim = routeClaim(api, bridges);\n const missing = explainsRefusal(claim) ? missingForComposite(api, bridges) : [];\n const applied = claim.kind === 'bound' ? (claim.transports ?? []) : [];\n const transports = applied.map((a) => ({ ...transportReport(a), result: transportResult(a.transport, results) }));\n const evidence = claim.kind === 'bound' ? compositeEvidence(api, bridges, applied, results) : null;\n return { running, breaksAt, claim: claimReport(claim), missing, transports, evidence };\n}\n\n/** Build the focused atlas route view for two model ids. */\nexport function buildRouteView(api: Api, from: string, to: string, results: WitnessResults | null = null): RouteView {\n const models = allModels(api);\n checkEndpoints(models, from, to);\n const { bridges } = selectRoute(api, from, to, 'map');\n const t = totals(api);\n const steps = bridges === null ? null : bridges.map((b) => bridgeView(api, b, familyOfBridge(api, b.id), models, results));\n const routeModels = bridges === null ? [from, to] : routeModelIds(from, bridges);\n const mv = routeModels.map((id) => modelView(api, models.get(id)!));\n const { running, breaksAt, claim, missing, transports, evidence } =\n bridges === null || bridges.length === 0\n ? { running: [], breaksAt: null, claim: null, missing: [], transports: [], evidence: null }\n : composeSteps(api, bridges, results);\n const witnessResults = tally(results, steps ?? []);\n\n return {\n view: 'route',\n from,\n to,\n source: ATLAS_SOURCE,\n steps,\n models: mv,\n denominator: {\n bridges: { shown: steps?.length ?? 0, of: t.bridges },\n models: { shown: mv.length, of: t.models },\n },\n selection: SELECTION,\n composition: { running, breaksAt, claim, missing, transports, evidence },\n equationLinks: linkSummary(mv),\n ...(witnessResults === undefined ? {} : { witnessResults }),\n epistemics: EPISTEMICS,\n };\n}\n\n// ── all routes ─────────────────────────────────────────────────────────────\n\nexport const DEFAULT_MAX_ROUTES = 20;\nexport const MAX_ROUTES_CEILING = 1000;\n\n/** The multi-route view between two atlas models, including composition outcomes for each route. */\nexport interface RoutesView {\n view: 'routes';\n from: string;\n to: string;\n source: string;\n routes: {\n /** Bridge ids, in route order. */\n bridges: string[];\n /** Model ids, in route order. */\n models: string[];\n composition: RouteView['composition'];\n /** True for the route `upt path` (and `map --route` without --all-routes) reports. */\n reported: boolean;\n }[];\n /** Each bridge used by a shown route, once, in atlas order. */\n bridges: BridgeView[];\n models: ModelView[];\n count: {\n shown: number;\n limit: number;\n /** True: the search ran out of routes, so `shown` is every simple route. */\n exhausted: boolean;\n /** When not exhausted: every route of at most this many bridges is among those found. */\n completeThrough: number | null;\n /** When not exhausted: the route limit, or the search's work budget. */\n stoppedBy: 'limit' | 'budget' | null;\n };\n claims: { bound: number; noClaim: Record<string, number> };\n denominator: { bridges: { shown: number; of: number }; models: { shown: number; of: number } };\n selection: string;\n equationLinks: ReturnType<typeof linkSummary>;\n witnessResults?: ResultsTally;\n epistemics: string;\n}\n\nconst ROUTES_SELECTION =\n 'every simple route (no model visited twice), ordered by bridge count and then atlas order; the same traversal as ' +\n '`upt path`: an exact equivalence both ways, every other relation forward only, multi-premise bridges not followed';\n\n/** Build the simple-route atlas view between two model ids up to the requested limit. */\nexport function buildRoutesView(\n api: Api,\n from: string,\n to: string,\n limit: number,\n results: WitnessResults | null = null,\n): RoutesView {\n const models = allModels(api);\n checkEndpoints(models, from, to);\n const found = api.enumerateAtlasRoutes(from, to, limit);\n const reported = selectRoute(api, from, to, 'map').bridges;\n const reportedKey = reported === null ? null : reported.map((b) => b.id).join(' ');\n const routes = found.routes\n .filter((r) => r.length > 0)\n .map((r) => ({\n bridges: r.map((b) => b.id),\n models: routeModelIds(from, r),\n composition: composeSteps(api, r, results),\n reported: r.map((b) => b.id).join(' ') === reportedKey,\n }));\n const used = new Set(routes.flatMap((r) => r.bridges));\n const bridges = api.ATLAS_FAMILIES.flatMap((f) =>\n f.bridges.filter((b) => used.has(b.id)).map((b) => bridgeView(api, b, f.family, models, results)),\n );\n const visited = new Set(routes.flatMap((r) => r.models));\n const mv = [...models.values()].filter((m) => visited.has(m.id) || (routes.length === 0 && (m.id === from || m.id === to))).map((m) => modelView(api, m));\n const noClaim: Record<string, number> = {};\n for (const r of routes) {\n const c = r.composition.claim!;\n if (c.kind === 'no-claim') noClaim[c.reason] = (noClaim[c.reason] ?? 0) + 1;\n }\n const t = totals(api);\n const witnessResults = tally(results, bridges);\n return {\n view: 'routes',\n from,\n to,\n source: ATLAS_SOURCE,\n routes,\n bridges,\n models: mv,\n count: {\n shown: routes.length,\n limit,\n exhausted: found.exhausted,\n completeThrough: found.completeThrough,\n stoppedBy: found.stoppedBy,\n },\n claims: { bound: routes.filter((r) => r.composition.claim!.kind === 'bound').length, noClaim },\n denominator: { bridges: { shown: bridges.length, of: t.bridges }, models: { shown: mv.length, of: t.models } },\n selection: ROUTES_SELECTION,\n equationLinks: linkSummary(mv),\n ...(witnessResults === undefined ? {} : { witnessResults }),\n epistemics: EPISTEMICS,\n };\n}\n\n// ── observable ─────────────────────────────────────────────────────────────\n\n/** The observable-focused atlas view listing bridges that preserve, translate or reject a named observable. */\nexport interface ObservableView {\n view: 'observable';\n observable: string;\n source: string;\n match: string;\n /** Bridges recording the observable as preserved, or declaring a translation of their bound into it. */\n bridges: (BridgeView & { preservesMatched: string[]; translationsMatched: string[] })[];\n /** Bridges recording the observable as NOT preserved; a bridge may appear here and above. */\n notPreserved: { id: string; family: string; relation: RelationType; matched: string[] }[];\n models: ModelView[];\n denominator: {\n bridges: { preserves: number; translates: number; doesNotPreserve: number; recordsNothing: number; of: number };\n models: { shown: number; of: number };\n };\n filter: AtlasFilterStats | null;\n equationLinks: ReturnType<typeof linkSummary>;\n witnessResults?: ResultsTally;\n epistemics: string;\n}\n\nconst OBSERVABLE_MATCH =\n \"a case-insensitive whole-word text match against each bridge's recorded `preserves` and `doesNotPreserve` strings \" +\n 'and the observable names of its declared bound translations; nothing is inferred from dimensions, quantities or ' +\n 'the transformation, and a bridge that records nothing about the observable is counted apart from one that records ' +\n 'it as not preserved';\n\nfunction wordMatcher(api: Api, term: string): (text: string) => boolean {\n const escaped = api.escapeRegExp(term);\n const re = new RegExp(`(^|[^\\\\p{L}\\\\p{N}])${escaped}($|[^\\\\p{L}\\\\p{N}])`, 'iu');\n return (text) => re.test(text);\n}\n\n/** Build an observable-focused atlas view by matching recorded observable text and translations. */\nexport function buildObservableView(\n api: Api,\n observable: string,\n filter: AtlasFilter,\n results: WitnessResults | null = null,\n): ObservableView {\n const term = observable.trim();\n if (term.length < 2) throw new CliError(`upt map: --observable='${observable}' must name an observable (two characters or more)`);\n const hit = wordMatcher(api, term);\n const models = allModels(api);\n const rows = api.ATLAS_FAMILIES.flatMap((f) => f.bridges.map((b) => ({ family: f.family, b })));\n const matched = rows.map(({ family, b }) => ({\n family,\n b,\n preserves: b.preserves.filter(hit),\n translations: api.translationsOf(b.id).map((x) => x.observable).filter(hit),\n doesNot: b.doesNotPreserve.filter(hit),\n }));\n const candidates = matched\n .filter((m) => m.preserves.length > 0 || m.translations.length > 0)\n .map((m) => ({ ...bridgeView(api, m.b, m.family, models, results), preservesMatched: m.preserves, translationsMatched: m.translations }));\n const filtering = filter.relation !== undefined || filter.evidence !== undefined;\n const verdicts = candidates.map((b) => (filtering ? judge(b, filter) : 'kept'));\n const kept = candidates.filter((_, i) => verdicts[i] === 'kept');\n const n = (v: string) => verdicts.filter((x) => x === v).length;\n const onKept = new Set(kept.flatMap((b) => [...b.premises.map((p) => p.id), b.conclusion.id]));\n const mv = [...models.values()].filter((m) => onKept.has(m.id)).map((m) => modelView(api, m));\n const t = totals(api);\n const witnessResults = tally(results, kept);\n return {\n view: 'observable',\n observable: term,\n source: ATLAS_SOURCE,\n match: OBSERVABLE_MATCH,\n bridges: kept,\n notPreserved: matched\n .filter((m) => m.doesNot.length > 0)\n .map((m) => ({ id: m.b.id, family: m.family, relation: m.b.relation, matched: m.doesNot })),\n models: mv,\n denominator: {\n bridges: {\n preserves: matched.filter((m) => m.preserves.length > 0).length,\n translates: matched.filter((m) => m.translations.length > 0).length,\n doesNotPreserve: matched.filter((m) => m.doesNot.length > 0).length,\n recordsNothing: matched.filter((m) => m.preserves.length + m.translations.length + m.doesNot.length === 0).length,\n of: t.bridges,\n },\n models: { shown: mv.length, of: t.models },\n },\n filter: filtering\n ? {\n ...filter,\n total: candidates.length,\n kept: kept.length,\n droppedNotMatching: n('not-matching'),\n droppedUndecided: n('undecided'),\n ...(results === null ? {} : { results: results.mode }),\n }\n : null,\n equationLinks: linkSummary(mv),\n ...(witnessResults === undefined ? {} : { witnessResults }),\n epistemics: EPISTEMICS,\n };\n}\n\n// ── atlas-wide evidence ────────────────────────────────────────────────────\n\n/** The atlas-wide evidence view of `upt atlas --evidence`: each bridge's derived evidence and the per-tag counts. */\nexport interface AtlasEvidenceView {\n view: 'atlas-evidence';\n source: string;\n denominator: { families: number; bridges: number; witnesses: number };\n bridges: { id: string; family: string; relation: RelationType; evidence: EvidenceView }[];\n /**\n * Per tag, over every atlas bridge: how many derive it whatever the unobserved\n * witness results are, and, apart, how many it is undecided on. Every tag is\n * listed, zero included; a bridge carries several tags, so no column sums to\n * the bridge count.\n */\n byTag: { tag: EvidenceTag; derived: number; undecided: number }[];\n /** Declared norm transports, whose witnesses are registered under the transport id. */\n normTransports: { id: string; bridge: string; witness: string; status: TransportResult }[];\n witnessResults?: ResultsTally;\n epistemics: string;\n}\n\n/** Every bridge of every family, with its derived evidence: the atlas-wide view of `upt atlas --evidence`. */\nexport function buildAtlasEvidenceView(api: Api, results: WitnessResults | null = null): AtlasEvidenceView {\n const models = allModels(api);\n const views = api.ATLAS_FAMILIES.flatMap((f) => f.bridges.map((b) => bridgeView(api, b, f.family, models, results)));\n const derived = api.summarizeEvidence(views.map((v) => new Set(v.evidence.derived)));\n const undecided = api.summarizeEvidence(views.map((v) => new Set(v.evidence.undecided)));\n const witnessResults = tally(results, views);\n return {\n view: 'atlas-evidence',\n source: ATLAS_SOURCE,\n denominator: {\n families: api.ATLAS_FAMILIES.length,\n bridges: views.length,\n witnesses: views.reduce((n, v) => n + v.evidence.witnesses, 0),\n },\n bridges: views.map((v) => ({ id: v.id, family: v.family, relation: v.relation, evidence: v.evidence })),\n byTag: api.ALL_EVIDENCE_TAGS.map((tag) => ({ tag, derived: derived.byTag[tag], undecided: undecided.byTag[tag] })),\n normTransports: api.ATLAS_FAMILIES.flatMap((f) => f.bridges).flatMap((b) =>\n (b.normTransports ?? []).map((nt) => ({ id: nt.id, bridge: b.id, witness: nt.witness.id, status: transportResult(nt, results) })),\n ),\n ...(witnessResults === undefined ? {} : { witnessResults }),\n epistemics:\n 'evidence is derived from each record and the witness results the view observes, never read from a stored tag; ' +\n 'a tag is undecided when unobserved witness results could give it or withhold it. Only a checked witness is a pass.',\n };\n}\n\n/** The text lines `upt atlas --evidence` prints for the view `v`. */\nexport function atlasEvidenceText(v: AtlasEvidenceView): string[] {\n const d = v.denominator;\n const out = [`\\nAtlas evidence — ${d.bridges} bridges across ${d.families} families, ${d.witnesses} recorded witnesses [source: ${v.source}]`];\n const r = resultsLine(v.witnessResults);\n out.push(` ${r ?? 'witness results: none observed (every witness is a name, not a result); --stored reads the committed artifact, --run runs them now'}`);\n out.push(` by tag (bridges; a bridge carries several tags, so the counts do not sum to ${d.bridges}):`);\n for (const t of v.byTag) out.push(` ${t.tag.padEnd(22)} derived ${String(t.derived).padStart(2)} · undecided ${String(t.undecided).padStart(2)}`);\n for (const family of [...new Set(v.bridges.map((b) => b.family))]) {\n const bs = v.bridges.filter((b) => b.family === family);\n out.push(` ${family} (${bs.length} bridge${bs.length === 1 ? '' : 's'}):`);\n for (const b of bs) {\n out.push(` ${b.id} — ${b.relation}`);\n out.push(` ${evidenceLine(b.evidence, b.id)}`);\n if (b.evidence.results !== undefined) out.push(` ${outcomeLine(b.evidence.results)}`);\n }\n }\n out.push(` norm transports (${v.normTransports.length}):`);\n if (v.normTransports.length === 0) out.push(' none declared');\n for (const nt of v.normTransports) out.push(` ${nt.id} on ${nt.bridge}: witness ${nt.witness} — ${nt.status}`);\n out.push(' Refuted and unresolved are counted apart; neither is a pass. `upt atlas <bridge-id>` shows one bridge by claim.');\n return out;\n}\n\n// ── family ─────────────────────────────────────────────────────────────────\n/** Filter options applied to atlas bridge views. */\nexport interface AtlasFilter {\n relation?: RelationType;\n evidence?: EvidenceTag;\n}\n\n/** Counts explaining how an atlas bridge filter kept or dropped rows. */\nexport interface AtlasFilterStats {\n relation?: RelationType;\n evidence?: EvidenceTag;\n total: number;\n kept: number;\n droppedNotMatching: number;\n /** Bridges whose match depends on witness results the view does not observe. */\n droppedUndecided: number;\n /** The witness-results source, when the view reads one. */\n results?: ResultsMode;\n}\n\n/** The family-focused atlas view with local models, filed bridges, touching bridges and rejections. */\nexport interface FamilyView {\n view: 'family';\n family: string;\n source: string;\n models: ModelView[];\n /** Bridges filed under the family, then bridges filed elsewhere that touch one of its models. */\n bridges: (BridgeView & { role: 'filed' | 'touching' })[];\n rejections: { id: string; claimed: RelationType; premises: string[]; conclusion: string; reason: string }[];\n denominator: {\n models: { shown: number; of: number };\n bridgesFiled: { shown: number; of: number };\n bridgesTouching: { shown: number; of: number };\n rejections: number;\n };\n filter: AtlasFilterStats | null;\n equationLinks: ReturnType<typeof linkSummary>;\n witnessResults?: ResultsTally;\n epistemics: string;\n}\n\nfunction judge(b: BridgeView, f: AtlasFilter): 'kept' | 'not-matching' | 'undecided' {\n if (f.relation !== undefined && b.relation !== f.relation) return 'not-matching';\n if (f.evidence === undefined || b.evidence.derived.includes(f.evidence)) return 'kept';\n return b.evidence.undecided.includes(f.evidence) ? 'undecided' : 'not-matching';\n}\n\n/** Format the bridge-filter counts shown in text and diagram legends. */\nfunction formatAtlasFilterLegend(s: AtlasFilterStats | null): string | null {\n if (s === null) return null;\n const terms = [\n ...(s.relation !== undefined ? [`relation=${s.relation}`] : []),\n ...(s.evidence !== undefined ? [`evidence=${s.evidence}`] : []),\n ];\n return (\n `filter: ${terms.join(' ')} — ${s.kept} of ${s.total} bridges kept; ` +\n `${s.droppedNotMatching} dropped (did not match); ` +\n `${s.droppedUndecided} dropped (undecided: ${UNOBSERVED[s.results ?? 'none']})`\n );\n}\n\nconst UNOBSERVED: Record<ResultsMode | 'none', string> = {\n none: 'depends on witness results this command does not observe',\n stored: `depends on witnesses with no result in ${publishedUrl(STORED_RESULTS_PATH)}`,\n run: 'depends on witnesses not registered to run in-process',\n};\n\n/** Every bridge a view draws on, for running their witnesses before the view is built with the results. */\nexport function bridgeIdsOf(v: AtlasView): Set<string> {\n if (v.view === 'route') return new Set((v.steps ?? []).map((b) => b.id));\n return new Set(v.bridges.map((b) => b.id));\n}\n\n/** Build a family-focused atlas map, applying relation and evidence filters to its bridges. */\nexport function buildFamilyView(api: Api, name: string, filter: AtlasFilter, results: WitnessResults | null = null): FamilyView {\n const fam = api.ATLAS_FAMILIES.find((f) => f.family === name);\n if (fam === undefined) {\n throw new CliError(\n `upt map: unknown --family='${name}' (expected: ${api.ATLAS_FAMILIES.map((f) => f.family).join(' | ')})`,\n );\n }\n const models = allModels(api);\n const own = new Set(fam.models.map((m) => m.id));\n const filed = fam.bridges.map((b) => ({ ...bridgeView(api, b, fam.family, models, results), role: 'filed' as const }));\n const touching = api.ATLAS_FAMILIES.filter((f) => f !== fam).flatMap((f) =>\n f.bridges\n .filter((b) => [...b.premises, b.conclusion].some((id) => own.has(id)))\n .map((b) => ({ ...bridgeView(api, b, f.family, models, results), role: 'touching' as const })),\n );\n const all = [...filed, ...touching];\n const filtering = filter.relation !== undefined || filter.evidence !== undefined;\n const verdicts = all.map((b) => (filtering ? judge(b, filter) : 'kept'));\n const kept = all.filter((_, i) => verdicts[i] === 'kept');\n const n = (v: string) => verdicts.filter((x) => x === v).length;\n const mv = fam.models.map((m) => modelView(api, m));\n const t = totals(api);\n const witnessResults = tally(results, kept);\n return {\n view: 'family',\n family: fam.family,\n source: ATLAS_SOURCE,\n models: mv,\n bridges: kept,\n rejections: fam.rejections.map((r) => ({\n id: r.id,\n claimed: r.claimed,\n premises: [...r.premises],\n conclusion: r.conclusion,\n reason: r.reason,\n })),\n denominator: {\n models: { shown: mv.length, of: t.models },\n bridgesFiled: { shown: kept.filter((b) => b.role === 'filed').length, of: t.bridges },\n bridgesTouching: { shown: kept.filter((b) => b.role === 'touching').length, of: t.bridges },\n rejections: fam.rejections.length,\n },\n filter: filtering\n ? {\n ...filter,\n total: all.length,\n kept: kept.length,\n droppedNotMatching: n('not-matching'),\n droppedUndecided: n('undecided'),\n ...(results === null ? {} : { results: results.mode }),\n }\n : null,\n equationLinks: linkSummary(mv),\n ...(witnessResults === undefined ? {} : { witnessResults }),\n epistemics: EPISTEMICS,\n };\n}\n\n// ── text ───────────────────────────────────────────────────────────────────\n\nconst MODE_LABEL: Record<ResultsMode, string> = { stored: 'stored', run: 'run now' };\nconst NO_RESULT: Record<ResultsMode, string> = {\n stored: 'with no stored result',\n run: 'not run: no in-process runner is registered for them',\n};\n\nfunction evidenceLine(e: EvidenceView, id: string): string {\n const derived = e.derived.length === 0 ? 'none' : e.derived.join(', ');\n const formal =\n e.formalRef === null ? '' : ` [formalRef ${e.formalRef.system}, fidelity ${e.formalRef.fidelity}; covers its statement only]`;\n const r = e.results;\n if (r === undefined) {\n const undecided =\n e.undecided.length === 0\n ? ''\n : `; undecided without witness results: ${e.undecided.join(', ')} (${e.witnesses} witness(es); \\`upt atlas ${id} --run\\`)`;\n return `evidence (derived): ${derived}${formal}${undecided}`;\n }\n const undecided =\n e.undecided.length === 0\n ? ''\n : `; undecided: ${e.undecided.join(', ')} (${r.notObserved.length} witness(es) ${NO_RESULT[r.source]})`;\n return `evidence (derived, witness results ${MODE_LABEL[r.source]}): ${derived}${formal}${undecided}`;\n}\n\nfunction outcomeLine(r: WitnessOutcomes): string {\n const ids = (xs: readonly string[]) => (xs.length === 0 ? 'none' : xs.join(', '));\n const unresolved = r.unresolved.length === 0 ? 'none' : r.unresolved.map((u) => `${u.id} (${u.reason ?? 'no reason recorded'})`).join(', ');\n return (\n `witnesses (${MODE_LABEL[r.source]}): checked ${ids(r.checked)} · refuted ${ids(r.refuted)} · ` +\n `unresolved ${unresolved} · no result ${ids(r.notObserved)}`\n );\n}\n\n/** Format witness-result provenance and counts for a rendered atlas view. */\nfunction resultsLine(t: ResultsTally | undefined): string | null {\n if (t === undefined) return null;\n const w = t.witnesses;\n const counts =\n `over the bridges shown: ${w.checked} checked · ${w.refuted} refuted · ${w.unresolved} unresolved · ` +\n `${w.notObserved} with no result (not a pass)`;\n if ('ran' in t.provenance) {\n return `witness results: run now — ${t.provenance.ran} (${t.provenance.registered} registered witness(es) ran); ${counts}`;\n }\n const p = t.provenance;\n const when =\n p.lastCommit === null\n ? 'no commit of it found (git unavailable, or the file is not committed)'\n : `last commit touching it ${p.lastCommit.hash.slice(0, 12)} (${p.lastCommit.date})` +\n (p.modifiedSinceCommit === true ? ', and the working-tree file is MODIFIED since' : '');\n return `witness results: stored — ${p.url} (schemaVersion ${p.schemaVersion}; ${p.carries}; ${when}); ${counts}`;\n}\n\nfunction bridgeLines(b: BridgeView, indent: string): string[] {\n const at = (m: { id: string; family: string }, home: string) => (m.family === home ? m.id : `${m.id} (${m.family})`);\n const lines = [\n `${b.premises.map((p) => at(p, b.family)).join(' + ')} --[${b.relation}]--> ${at(b.conclusion, b.family)} (${b.id}) [${b.family}]`,\n `${indent}transformation: ${b.transformation}`,\n `${indent}assumptions: ${b.assumptions.length === 0 ? 'none stated' : b.assumptions.join('; ')}`,\n `${indent}regime: ${b.regime.vacuous ? 'VACUOUS — states no inequality' : b.regime.inequalities.join('; ')}`,\n `${indent}bound: ${b.bound === null ? 'none stated' : `K = ${b.bound.K} · delta = ${b.bound.delta} (${b.bound.norm}); horizon ${b.bound.horizon}`}`,\n `${indent}${evidenceLine(b.evidence, b.id)}`,\n ...(b.evidence.results === undefined ? [] : [`${indent}${outcomeLine(b.evidence.results)}`]),\n ];\n return lines;\n}\n\nfunction modelLines(m: ModelView, indent: string): string[] {\n const lines = [`${m.id} [${m.family}]: ${m.dynamics}`];\n if (m.equationLinks.length === 0) lines.push(`${indent}equations: ${NO_LINK}`);\n for (const l of m.equationLinks) {\n const eq = l.name === null ? `${l.id} (NOT in the canonical registry)` : `${l.id} — ${l.name}: ${l.formula}`;\n const edge =\n l.graphEdge === null ? 'no edge by this id in the equation graph' : `graph edge {${l.graphEdge.sources.join(', ')}} → ${l.graphEdge.target}`;\n lines.push(`${indent}equation: ${eq}; ${edge}`);\n }\n return lines;\n}\n\nfunction linkLine(s: ReturnType<typeof linkSummary>): string {\n return `equation links (source: ${s.source}): ${s.withLink} of ${s.of} models record one; ${s.withoutLink} record none`;\n}\n\nfunction compositionLines(c: RouteView['composition'], relations: readonly RelationType[], indent: string): string[] {\n const out = c.running.map((r, i) => {\n const state =\n r.relation === null\n ? 'not composed (an earlier step already yields no composite claim)'\n : r.relation === 'no-composite-claim'\n ? `NO COMPOSITE CLAIM — ${relations[i - 1]!} then ${relations[i]!} has no table cell`\n : r.relation;\n return `${indent}after step ${i + 1} (${r.after}): ${state}`;\n });\n const claim = c.claim!;\n if (claim.kind === 'bound') {\n out.push(`${indent}route claim: ${claim.relation}, K = ${claim.bound.K} · delta = ${claim.bound.delta} (${claim.norm ?? 'no norm stated'})`);\n for (const nt of c.transports) {\n out.push(\n `${indent} across '${nt.bridgeId}' by its declared transport '${nt.id}' (${nt.fromModel} → ${nt.toModel}, ` +\n `K = ${nt.K}, time map uniform): witness ${nt.witness.id} ${nt.result === 'no result' ? 'has no result here (not a pass)' : nt.result}`,\n );\n }\n if (c.evidence !== null) {\n const d = c.evidence.derived.length === 0 ? 'none' : c.evidence.derived.join(', ');\n const u = c.evidence.undecided.length === 0 ? '' : `; undecided: ${c.evidence.undecided.join(', ')}`;\n out.push(`${indent}composite evidence (derived): ${d}${u} — never stronger than the weakest part`);\n }\n } else {\n out.push(`${indent}route claim: no composite claim — reason '${claim.reason}': ${claim.detail}`);\n if (c.missing.length > 0) {\n out.push(`${indent}to compose, this route would need:`);\n for (const m of c.missing) out.push(`${indent} - ${m}`);\n }\n }\n return out;\n}\n\n/** Render a focused route view as human-readable CLI output lines. */\nexport function routeText(v: RouteView): string[] {\n const out = [`\\nRoute map — ${v.from} → ${v.to} [source: ${v.source}]`];\n if (v.steps === null) {\n out.push(\n ` shown: 0 of ${v.denominator.bridges.of} atlas bridges — no chain of bridges connects these models ` +\n '(only an exact equivalence is followed in both directions); there is nothing to compose.',\n );\n out.push(' endpoints:');\n for (const m of v.models) out.push(...modelLines(m, ' ').map((l, i) => (i === 0 ? ` ${l}` : l)));\n out.push(` ${linkLine(v.equationLinks)}`);\n return out;\n }\n if (v.steps.length === 0) {\n out.push(' the endpoints are the same model: the route is empty and composes nothing.');\n return out;\n }\n out.push(\n ` shown: ${v.denominator.bridges.shown} of ${v.denominator.bridges.of} atlas bridges, ` +\n `${v.denominator.models.shown} of ${v.denominator.models.of} models — ${v.selection}`,\n );\n const results = resultsLine(v.witnessResults);\n if (results !== null) out.push(` ${results}`);\n out.push('');\n v.steps.forEach((b, i) => {\n const [head, ...rest] = bridgeLines(b, ' ');\n out.push(` step ${i + 1} ${head}`, ...rest);\n });\n out.push('');\n out.push(' composition (the composition table, folded along the route):');\n out.push(...compositionLines(v.composition, v.steps.map((b) => b.relation), ' '));\n out.push('');\n out.push(' models on the route, with the equations each records:');\n for (const m of v.models) {\n const [head, ...rest] = modelLines(m, ' ');\n out.push(` ${head}`, ...rest);\n }\n out.push(` ${linkLine(v.equationLinks)}`);\n out.push(`\\n (${v.epistemics})`);\n return out;\n}\n\n/** Render a family atlas view as human-readable CLI output lines. */\nexport function familyText(v: FamilyView): string[] {\n const d = v.denominator;\n const out = [`\\nFamily map — ${v.family} [source: ${v.source}]`];\n out.push(\n ` shown: ${d.models.shown} of ${d.models.of} atlas models; ${d.bridgesFiled.shown} bridge(s) filed under ${v.family} ` +\n `and ${d.bridgesTouching.shown} filed elsewhere that touch its models, of ${d.bridgesFiled.of} atlas bridges; ` +\n `${d.rejections} rejection(s)`,\n );\n const legend = formatAtlasFilterLegend(v.filter);\n if (legend !== null) out.push(` ${legend}`);\n const results = resultsLine(v.witnessResults);\n if (results !== null) out.push(` ${results}`);\n out.push('');\n out.push(' models, with the equations each records:');\n for (const m of v.models) {\n const [head, ...rest] = modelLines(m, ' ');\n out.push(` ${head}`, ...rest);\n }\n out.push(` ${linkLine(v.equationLinks)}`);\n for (const role of ['filed', 'touching'] as const) {\n const bs = v.bridges.filter((b) => b.role === role);\n out.push('');\n out.push(role === 'filed' ? ` bridges filed under ${v.family} (${bs.length}):` : ` bridges filed in other families that touch ${v.family} models (${bs.length}):`);\n if (bs.length === 0) out.push(' none');\n for (const b of bs) {\n const [head, ...rest] = bridgeLines(b, ' ');\n out.push(` ${head}`, ...rest);\n }\n }\n out.push('');\n out.push(` rejections (${v.rejections.length}) — claimed bridges the atlas refutes:`);\n if (v.rejections.length === 0) out.push(' none recorded');\n for (const r of v.rejections) out.push(` ${r.premises.join(' + ')} -x[${r.claimed}]-> ${r.conclusion} (${r.id}): ${r.reason}`);\n out.push(`\\n (${v.epistemics})`);\n return out;\n}\n\n/** Render a multi-route atlas view as human-readable CLI output lines. */\nexport function routesText(v: RoutesView): string[] {\n const out = [`\\nAll routes — ${v.from} → ${v.to} [source: ${v.source}]`];\n const c = v.count;\n if (v.from === v.to) {\n out.push(' the endpoints are the same model: the route is empty and composes nothing.');\n return out;\n }\n const scope = c.exhausted\n ? `${c.shown} simple route(s): the search ran out of routes, so these are all of them`\n : (c.stoppedBy === 'limit'\n ? `the first ${c.shown} simple routes: the search stopped at the limit of ${c.limit} (--max-routes), so MORE exist; `\n : `${c.shown} simple route(s) found before the search exhausted its work budget; whether more exist is UNKNOWN; `) +\n `every route of at most ${c.completeThrough} bridge(s) is among these, and longer ones may be missing`;\n out.push(` ${scope} — ${v.selection}`);\n out.push(\n ` shown: ${v.denominator.bridges.shown} of ${v.denominator.bridges.of} atlas bridges, ` +\n `${v.denominator.models.shown} of ${v.denominator.models.of} models, over the routes shown`,\n );\n if (c.shown === 0) {\n out.push(' no chain of bridges connects these models (only an exact equivalence is followed in both directions).');\n return out;\n }\n const reasons = Object.entries(v.claims.noClaim).map(([r, n]) => `${n} '${r}'`);\n out.push(\n ` route claims: ${v.claims.bound} carry a bound; ${c.shown - v.claims.bound} carry no composite claim` +\n (reasons.length === 0 ? '' : ` (${reasons.join(', ')})`),\n );\n const results = resultsLine(v.witnessResults);\n if (results !== null) out.push(` ${results}`);\n const byId = new Map(v.bridges.map((b) => [b.id, b] as const));\n v.routes.forEach((r, i) => {\n out.push('');\n const hops = r.bridges.map((id, k) => ` --[${byId.get(id)!.relation}: ${id}]--> ${r.models[k + 1]}`).join('');\n out.push(` route ${i + 1} (${r.bridges.length} bridge(s))${r.reported ? ' — the route `upt path` reports' : ''}:`);\n out.push(` ${r.models[0]}${hops}`);\n out.push(...compositionLines(r.composition, r.bridges.map((id) => byId.get(id)!.relation), ' '));\n });\n out.push('');\n out.push(` bridges on these routes (${v.bridges.length}), each once:`);\n for (const b of v.bridges) {\n const [head, ...rest] = bridgeLines(b, ' ');\n out.push(` ${head}`, ...rest);\n }\n out.push('');\n out.push(' models on these routes, with the equations each records:');\n for (const m of v.models) {\n const [head, ...rest] = modelLines(m, ' ');\n out.push(` ${head}`, ...rest);\n }\n out.push(` ${linkLine(v.equationLinks)}`);\n out.push(`\\n (${v.epistemics})`);\n return out;\n}\n\n/** Render an observable atlas view as human-readable CLI output lines. */\nexport function observableText(v: ObservableView): string[] {\n const d = v.denominator.bridges;\n const out = [`\\nObservable map — '${v.observable}' [source: ${v.source}]`];\n out.push(\n ` of ${d.of} atlas bridges: ${d.preserves} record it as preserved, ${d.translates} declare a bound translation into it, ` +\n `${d.doesNotPreserve} record it as NOT preserved, ${d.recordsNothing} record nothing about it (an absent record, not a finding)`,\n );\n out.push(` match: ${v.match}`);\n const legend = formatAtlasFilterLegend(v.filter);\n if (legend !== null) out.push(` ${legend}`);\n const results = resultsLine(v.witnessResults);\n if (results !== null) out.push(` ${results}`);\n out.push('');\n out.push(` bridges that preserve or translate it (${v.bridges.length}):`);\n if (v.bridges.length === 0) out.push(' none');\n for (const b of v.bridges) {\n const [head, ...rest] = bridgeLines(b, ' ');\n out.push(` ${head}`, ...rest);\n if (b.preservesMatched.length > 0) out.push(` preserves (recorded): ${b.preservesMatched.join('; ')}`);\n if (b.translationsMatched.length > 0) out.push(` bound translation declared into: ${b.translationsMatched.join(', ')}`);\n }\n out.push('');\n out.push(` bridges that record it as NOT preserved (${v.notPreserved.length}):`);\n if (v.notPreserved.length === 0) out.push(' none');\n for (const b of v.notPreserved) out.push(` ${b.id} (${b.relation}) [${b.family}]: does not preserve ${b.matched.join('; ')}`);\n out.push('');\n out.push(` models these bridges connect (${v.denominator.models.shown} of ${v.denominator.models.of}):`);\n for (const m of v.models) {\n const [head, ...rest] = modelLines(m, ' ');\n out.push(` ${head}`, ...rest);\n }\n out.push(` ${linkLine(v.equationLinks)}`);\n out.push(`\\n (${v.epistemics})`);\n return out;\n}\n\n// ── diagrams ───────────────────────────────────────────────────────────────\n\nconst mm = (s: string): string =>\n s.replace(/\\r\\n|\\r|\\n/g, ' ').replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\nconst dq = (s: string): string => s.replace(/\\r\\n|\\r|\\n/g, ' ').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n\ninterface Diagram {\n title: string;\n models: ModelView[];\n bridges: BridgeView[];\n /** Bridge ids drawn as the step where composition yields no composite claim. */\n breaks: Set<string>;\n}\n\n/** Any atlas map view that can be rendered as text or a diagram. */\nexport type AtlasView = RouteView | RoutesView | FamilyView | ObservableView;\n\n/** The one-line denominator every diagram carries in its title. */\nexport function viewLegend(v: AtlasView): string {\n const tail = v.witnessResults === undefined ? '' : `; witness results: ${MODE_LABEL[v.witnessResults.mode]}`;\n if (v.view === 'route') {\n const d = v.denominator;\n return (\n `route ${v.from} → ${v.to}: ${d.bridges.shown} of ${d.bridges.of} atlas bridges, ${d.models.shown} of ${d.models.of} models ` +\n `[source: ${v.source}; equation links: ${LINK_SOURCE}${tail}]`\n );\n }\n if (v.view === 'routes') {\n const d = v.denominator;\n const c = v.count;\n const scope = c.exhausted ? `all ${c.shown} simple routes` : `the first ${c.shown} simple routes (search stopped by its ${c.stoppedBy}; more may exist)`;\n return (\n `routes ${v.from} → ${v.to}: ${scope}, over ${d.bridges.shown} of ${d.bridges.of} atlas bridges and ${d.models.shown} of ` +\n `${d.models.of} models [source: ${v.source}; equation links: ${LINK_SOURCE}${tail}]`\n );\n }\n if (v.view === 'observable') {\n const d = v.denominator.bridges;\n const f = formatAtlasFilterLegend(v.filter);\n return (\n `observable '${v.observable}': ${v.bridges.length} bridge(s) shown; of ${d.of} atlas bridges ${d.preserves} record it preserved, ` +\n `${d.translates} translate into it, ${d.doesNotPreserve} record it NOT preserved, ${d.recordsNothing} record nothing ` +\n `[source: ${v.source}, recorded preserves/doesNotPreserve text and bound translations; equation links: ${LINK_SOURCE}${tail}]` +\n (f === null ? '' : ` — ${f}`)\n );\n }\n const d = v.denominator;\n const f = formatAtlasFilterLegend(v.filter);\n return (\n `family ${v.family}: ${d.models.shown} of ${d.models.of} atlas models, ${d.bridgesFiled.shown} filed + ` +\n `${d.bridgesTouching.shown} touching of ${d.bridgesFiled.of} atlas bridges [source: ${v.source}; equation links: ${LINK_SOURCE}${tail}]` +\n (f === null ? '' : ` — ${f}`)\n );\n}\n\nfunction diagramOf(v: AtlasView): Diagram {\n if (v.view === 'route') {\n const steps = v.steps ?? [];\n const br = v.composition.breaksAt;\n return { title: viewLegend(v), models: v.models, bridges: steps, breaks: new Set(br === null ? [] : [steps[br]!.id]) };\n }\n // A route-specific break is not a property of a bridge shared by several routes, so none is drawn.\n return { title: viewLegend(v), models: v.models, bridges: v.bridges, breaks: new Set() };\n}\n\nfunction idMaker(): (prefix: string, key: string) => string {\n const seen = new Map<string, string>();\n const used = new Set<string>();\n return (prefix, key) => {\n const k = `${prefix}:${key}`;\n const hit = seen.get(k);\n if (hit !== undefined) return hit;\n const base = `${prefix}_${key.replace(/[^A-Za-z0-9]/g, '_')}`;\n let id = base;\n for (let n = 1; used.has(id); n++) id = `${base}_${n}`;\n used.add(id);\n seen.set(k, id);\n return id;\n };\n}\n\n/** Models not in the view but named by a drawn bridge (a touching bridge's far end). */\nfunction endpointsOutside(d: Diagram): string[] {\n const inView = new Set(d.models.map((m) => m.id));\n return [...new Set(d.bridges.flatMap((b) => [...b.premises.map((p) => p.id), b.conclusion.id]))].filter((id) => !inView.has(id));\n}\n\nfunction edgeLabel(b: BridgeView, breaks: boolean): string {\n return `${b.relation} (${b.id})${breaks ? ' — no composite claim from here' : ''}`;\n}\n\n/** Render an atlas map view as a Mermaid flowchart. */\nexport function toMermaid(v: AtlasView): string {\n const d = diagramOf(v);\n const id = idMaker();\n // The title carries the observable the user typed, so a line break in it must not end the comment.\n const out = ['flowchart LR', `%% ${d.title.replace(/\\r\\n|\\r|\\n/g, ' ')}`, ` legend[\"${mm(d.title)}\"]:::legend`];\n for (const m of d.models) out.push(` ${id('m', m.id)}[\"${mm(`${m.id}: ${m.dynamics}`)}\"]:::model`);\n for (const m of endpointsOutside(d)) out.push(` ${id('m', m)}[\"${mm(m)}\"]:::outside`);\n // linkStyle addresses links by definition order, so the bridge links are\n // emitted before any canonicalRef link.\n const breakIdx: number[] = [];\n let link = 0;\n for (const b of d.bridges) {\n const arrow = b.relation === 'exact-equivalence' ? '<-->' : '-->';\n for (const p of b.premises) {\n if (d.breaks.has(b.id)) breakIdx.push(link);\n link++;\n out.push(` ${id('m', p.id)} ${arrow}|\"${mm(edgeLabel(b, d.breaks.has(b.id)))}\"| ${id('m', b.conclusion.id)}`);\n }\n }\n for (const m of d.models) {\n for (const l of m.equationLinks) {\n out.push(` ${id('c', l.id)}([\"${mm(l.name === null ? l.id : `${l.id}: ${l.formula}`)}\"]):::equation`);\n out.push(` ${id('m', m.id)} -.->|\"canonicalRef\"| ${id('c', l.id)}`);\n }\n }\n for (const i of breakIdx) out.push(` linkStyle ${i} stroke:#c0392b,stroke-width:2px`);\n out.push(' classDef model fill:#cfe3f7,stroke:#3a6ea5');\n out.push(' classDef outside fill:#ffffff,stroke:#999999,stroke-dasharray:4 3');\n out.push(' classDef equation fill:#f3f0e7,stroke:#8d7b4f,stroke-dasharray:4 3');\n out.push(' classDef legend fill:#ffffff,stroke:#333333');\n return out.join('\\n') + '\\n';\n}\n\n/** Render an atlas map view as a DOT graph. */\nexport function toDot(v: AtlasView): string {\n const d = diagramOf(v);\n const id = idMaker();\n const out = [\n 'digraph AtlasMap {',\n ` label=\"${dq(d.title)}\";`,\n ' rankdir=LR;',\n ' node [fontname=\"Helvetica\"];',\n ];\n for (const m of d.models) out.push(` ${id('m', m.id)} [shape=box,label=\"${dq(`${m.id}: ${m.dynamics}`)}\"];`);\n for (const m of endpointsOutside(d)) out.push(` ${id('m', m)} [shape=box,style=dashed,label=\"${dq(m)}\"];`);\n for (const b of d.bridges) {\n const brk = d.breaks.has(b.id);\n const attrs = [\n `label=\"${dq(edgeLabel(b, brk))}\"`,\n ...(b.relation === 'exact-equivalence' ? ['dir=both'] : []),\n ...(brk ? ['color=\"#c0392b\"', 'penwidth=2'] : []),\n ];\n for (const p of b.premises) out.push(` ${id('m', p.id)} -> ${id('m', b.conclusion.id)} [${attrs.join(',')}];`);\n }\n for (const m of d.models) {\n for (const l of m.equationLinks) {\n out.push(` ${id('c', l.id)} [shape=ellipse,style=dashed,label=\"${dq(l.name === null ? l.id : `${l.id}: ${l.formula}`)}\"];`);\n out.push(` ${id('m', m.id)} -> ${id('c', l.id)} [style=dashed,label=\"canonicalRef\"];`);\n }\n }\n out.push('}');\n return out.join('\\n') + '\\n';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"_atlas-route.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,2HAA2H;AAC3H,MAAM,MAAM,UAAU,GAClB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAC1C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAyB1G;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,UAAU,CAc9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAgDrG;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE1D;AAED,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,CAAC,EAAE,gBAAgB;IAG/C,KAAK;IACL,QAAQ;IACR,EAAE;IACF,SAAS;IACT,OAAO;IACP,IAAI;IACJ,EAAE;IACF,CAAC;IACD,MAAM;IACN,UAAU;IACV,OAAO;QAAI,GAAG;QAAkB,OAAO;QAAsB,OAAO;;IACpE,UAAU;IACV,OAAO;QAAI,EAAE;QAAiB,IAAI;QAAmB,IAAI;QAAmB,SAAS;;IACrF,KAAK;EAER;AAED,wFAAwF;AACxF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAEjE,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU;UAzJjC,UAAU;YAAU,mBAAmB;YAAU,MAAM;;;;;;;;;;;;;;;;;;;YA8IpD,GAAG;YAAkB,OAAO;YAAsB,OAAO;;;;YAEzD,EAAE;YAAiB,IAAI;YAAmB,IAAI;YAAmB,SAAS;;;;EAaxF"}
1
+ {"version":3,"file":"_atlas-route.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,2HAA2H;AAC3H,MAAM,MAAM,UAAU,GAClB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAC1C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CA4B1G;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,UAAU,CAc9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAgDrG;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE1D;AAED,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,CAAC,EAAE,gBAAgB;IAG/C,KAAK;IACL,QAAQ;IACR,EAAE;IACF,SAAS;IACT,OAAO;IACP,IAAI;IACJ,EAAE;IACF,CAAC;IACD,MAAM;IACN,UAAU;IACV,OAAO;QAAI,GAAG;QAAkB,OAAO;QAAsB,OAAO;;IACpE,UAAU;IACV,OAAO;QAAI,EAAE;QAAiB,IAAI;QAAmB,IAAI;QAAmB,SAAS;;IACrF,KAAK;EAER;AAED,wFAAwF;AACxF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAEjE,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU;UA5JjC,UAAU;YAAU,mBAAmB;YAAU,MAAM;;;;;;;;;;;;;;;;;;;YAiJpD,GAAG;YAAkB,OAAO;YAAsB,OAAO;;;;YAEzD,EAAE;YAAiB,IAAI;YAAmB,IAAI;YAAmB,SAAS;;;;EAaxF"}
@@ -27,8 +27,12 @@ export function selectRoute(api, from, to, command) {
27
27
  catch (e) {
28
28
  // RangeError: an unknown endpoint. Reported as a CliError (exit 1) rather
29
29
  // than surfaced as a crash — and NOT as `null`, which would be
30
- // indistinguishable from a genuinely disconnected pair.
31
- throw new CliError(`upt ${command}: ${e instanceof Error ? e.message : String(e)}`);
30
+ // indistinguishable from a genuinely disconnected pair. Any other class is
31
+ // a defect and propagates as one; converting it would present a crash as
32
+ // the user's mistake.
33
+ if (!(e instanceof RangeError))
34
+ throw e;
35
+ throw new CliError(`upt ${command}: ${e.message}`);
32
36
  }
33
37
  return { bridges, fromFamily, toFamily };
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_atlas-route.js","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_atlas-route.js","sourceRoot":"","sources":["../../../src/cli/commands/_atlas-route.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,GAAsB,EACtB,IAAY,EACZ,EAAU,EACV,OAAe;IAEf,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAsB,EAAE,CAClD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAC5E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,UAAU,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC;QACF,MAAM,IAAI,QAAQ,CAChB,OAAO,OAAO,mBAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAChH,CAAC;IACJ,CAAC;IACD,IAAI,OAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,OAAO,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,0EAA0E;QAC1E,+DAA+D;QAC/D,2EAA2E;QAC3E,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,QAAQ,CAAC,OAAO,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAsB,EAAE,OAA+B;IAChF,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,qBAAqB,CAAC;YAAE,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC;QAChH,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EACJ,IAAI,SAAS,EAAE,EAAE,IAAI,GAAG,MAAM,SAAS,EAAE,QAAQ,IAAI,GAAG,gDAAgD;gBACxG,6EAA6E;SAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAsB,EAAE,OAA+B;IACzF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAA4B,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CACV,gCAAgC,QAAQ,SAAS,IAAI,CAAC,QAAQ,uCAAuC;gBACnG,iBAAiB,YAAY,CAAC,uCAAuC,CAAC,QAAQ,CACjF,CAAC;YACF,MAAM;QACR,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAwB,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,mBAAmB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAC3F,CAAC;QACF,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,CAAC,EAAE,qCAAqC,IAAI,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,iBAAiB;YACtG,YAAY,YAAY,CAAC,mDAAmD,CAAC,6CAA6C,CAC7H,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,CAAC,QAAQ,KAAK,mBAAmB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,CAAC,EAAE,uCAAuC,KAAK,CAAC,KAAM,CAAC,IAAI,oCAAoC;YAClG,IAAI,KAAK,CAAC,EAAE,uBAAuB,CACtC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC;AACpH,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAAC,CAAmB;IACjD,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;IACvB,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1F,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE;QAC7G,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC;AACJ,CAAC;AAKD,uGAAuG;AACvG,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACtC,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;AAClE,CAAC","sourcesContent":["/**\n * The atlas route between two models, and what composing it yields — shared by\n * `upt path` and `upt map --route` so the two cannot report different routes or\n * different refusals for the same pair.\n */\nimport type { CommandCtx } from '../command.js';\nimport { CliError } from '../errors.js';\nimport type { AppliedTransport, AtlasBridge } from '../../cli-api.js';\nimport { publishedUrl } from '../published-url.js';\n\n/** What composing an atlas route yields: `boundPath`'s claim or refusal, or a refusal for a missing Lipschitz constant. */\nexport type RouteClaim =\n | ReturnType<CommandCtx['api']['boundPath']>\n | { kind: 'no-claim'; reason: 'missing-lipschitz'; detail: string };\n\n/**\n * The shortest route from `from` to `to`, or `null` when none connects them.\n * Endpoints in one family are searched in that family first, so a route that\n * exists inside it is the one reported. Endpoints in different families, or a\n * same-family pair with no route inside it, are searched across the whole\n * atlas: a family is a filing label, and a bridge such as ab-kg-schrodinger\n * (waves → diffusion) is as qualified as any other.\n */\nexport function selectRoute(\n api: CommandCtx['api'],\n from: string,\n to: string,\n command: string,\n): { bridges: readonly AtlasBridge[] | null; fromFamily: string | undefined; toFamily: string | undefined } {\n const familyOf = (id: string): string | undefined =>\n api.ATLAS_FAMILIES.find((f) => f.models.some((m) => m.id === id))?.family;\n const fromFamily = familyOf(from);\n const toFamily = familyOf(to);\n if (fromFamily === undefined || toFamily === undefined) {\n const missing = [\n ...(fromFamily === undefined ? [from] : []),\n ...(toFamily === undefined ? [to] : []),\n ];\n throw new CliError(\n `upt ${command}: unknown model ${missing.map((id) => `'${id}'`).join(' and ')}; \\`upt atlas\\` lists the models`,\n );\n }\n let bridges: readonly AtlasBridge[] | null;\n try {\n bridges = fromFamily === toFamily ? api.findPath(fromFamily, from, to) : null;\n bridges ??= api.findAtlasPath(from, to);\n } catch (e) {\n // RangeError: an unknown endpoint. Reported as a CliError (exit 1) rather\n // than surfaced as a crash — and NOT as `null`, which would be\n // indistinguishable from a genuinely disconnected pair. Any other class is\n // a defect and propagates as one; converting it would present a crash as\n // the user's mistake.\n if (!(e instanceof RangeError)) throw e;\n throw new CliError(`upt ${command}: ${e.message}`);\n }\n return { bridges, fromFamily, toFamily };\n}\n\n/**\n * What a non-empty route supports. boundPath throws, rather than inventing a\n * constant, when a step with no Lipschitz constant is followed by another\n * (ab-kg-oscillator then ab-spring-lc); that is a refusal like any other.\n */\nexport function routeClaim(api: CommandCtx['api'], bridges: readonly AtlasBridge[]): RouteClaim {\n try {\n return api.boundPath(bridges);\n } catch (e) {\n if (!(e instanceof api.MissingLipschitzError)) throw e;\n const unbounded = bridges.slice(0, -1).find((b) => b.bound === undefined && b.relation !== 'exact-equivalence');\n return {\n kind: 'no-claim',\n reason: 'missing-lipschitz',\n detail:\n `'${unbounded?.id ?? '?'}' (${unbounded?.relation ?? '?'}) states no Lipschitz constant and is not the ` +\n 'last step, so the error after it is unbounded and the path carries no bound',\n };\n }\n}\n\n/**\n * What a refused route lacks, stated as requirements rather than supplied. For\n * a `no-composite-claim`, the first silent table cell is named. Then, for that\n * refusal and for `norm-not-stated`: every exact map after a bound that declares\n * no transport of the bound's norm for the direction the route crosses it\n * (docs/planning/ADR-transported-norm-composition.md), and every exact map\n * before a bound, which would have to state how its mapping acts on that later\n * bound's norm (the exact-then-approximation cell stays silent, ADR §3).\n * Nothing here widens the table or declares a transport.\n */\nexport function missingForComposite(api: CommandCtx['api'], bridges: readonly AtlasBridge[]): string[] {\n const missing: string[] = [];\n let relation: AtlasBridge['relation'] = bridges[0]!.relation;\n for (let i = 1; i < bridges.length; i++) {\n const next = bridges[i]!;\n const composed = api.composeRelation(relation, next.relation);\n if (composed === 'no-composite-claim') {\n missing.push(\n `a composition-table cell for ${relation} then ${next.relation} (silent by design; widening it is a ` +\n `reviewed act, ${publishedUrl('docs/planning/Atlas-Phase-1-Design.md')} §2.2)`,\n );\n break;\n }\n relation = composed;\n }\n const entries = api.routeEntryModels(bridges);\n let norm: string | undefined;\n bridges.forEach((b, i) => {\n if (b.bound !== undefined) {\n norm = b.bound.norm;\n return;\n }\n if (b.relation !== 'exact-equivalence' || norm === undefined) return;\n const entry = entries[i] ?? null;\n const exit = entry === b.conclusion ? (b.premises[0] ?? null) : entry === b.premises[0] ? b.conclusion : null;\n const nt = (b.normTransports ?? []).find(\n (x) => x.from === norm && x.fromModel === entry && x.toModel === exit && x.timeMap.uniform,\n );\n if (nt !== undefined) {\n norm = nt.to;\n return;\n }\n missing.push(\n `'${b.id}' to declare a norm transport of '${norm}' for ${entry ?? '?'} → ${exit ?? '?'}, with its own ` +\n `witness (${publishedUrl('docs/planning/ADR-transported-norm-composition.md')}); an exact map carries no norm without one`,\n );\n });\n for (let i = 0; i < bridges.length; i++) {\n const b = bridges[i]!;\n if (b.relation !== 'exact-equivalence' || b.bound !== undefined) continue;\n const later = bridges.slice(i + 1).find((x) => x.bound !== undefined);\n if (later === undefined) continue;\n missing.push(\n `'${b.id}' to state how its mapping acts on '${later.bound!.norm}', the norm of the later bound on ` +\n `'${later.id}' (it states no norm)`,\n );\n }\n return missing;\n}\n\n/** The refusals {@link missingForComposite} explains. */\nexport function explainsRefusal(claim: RouteClaim): boolean {\n return claim.kind === 'no-claim' && (claim.reason === 'no-composite-claim' || claim.reason === 'norm-not-stated');\n}\n\n/** The declarative fields of an applied norm transport, as a JSON envelope carries them (no functions). */\nexport function transportReport(a: AppliedTransport) {\n const nt = a.transport;\n return {\n index: a.index,\n bridgeId: a.bridgeId,\n id: nt.id,\n fromModel: nt.fromModel,\n toModel: nt.toModel,\n from: nt.from,\n to: nt.to,\n K: nt.K,\n domain: nt.domain,\n derivation: nt.derivation,\n timeMap: { map: nt.timeMap.map, uniform: nt.timeMap.uniform, horizon: nt.timeMap.horizon },\n uniformity: nt.uniformity,\n witness: { id: nt.witness.id, kind: nt.witness.kind, test: nt.witness.test, tolerance: nt.witness.tolerance },\n basis: nt.basis,\n };\n}\n\n/** The JSON form of an applied norm transport, as {@link transportReport} builds it. */\nexport type TransportReport = ReturnType<typeof transportReport>;\n\n/** A route claim with its transports reduced to their declarative fields, so it serializes as data. */\nexport function claimReport(claim: RouteClaim) {\n if (claim.kind !== 'bound' || claim.transports === undefined) return claim;\n const { transports, ...rest } = claim;\n return { ...rest, transports: transports.map(transportReport) };\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"_discovery-opts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CA8DvG"}
1
+ {"version":3,"file":"_discovery-opts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CA4FvG"}