ranui 0.2.1-alpha.5 → 0.4.1-alpha.2

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 (467) hide show
  1. package/README.md +4 -4
  2. package/README.zh-CN.md +3 -3
  3. package/dist/Temml-3BKyDWY9.js +4 -0
  4. package/dist/Temml-B3J22Yln.cjs +1 -0
  5. package/dist/{abnfDiagram-VRR7QNED-CTsqwzwi.js → abnfDiagram-VRR7QNED-C21Pc9Db.js} +4 -4
  6. package/dist/abnfDiagram-VRR7QNED-Do5oGbAb.cjs +1 -0
  7. package/dist/add-user-Dk1LIZtp.cjs +6 -0
  8. package/dist/add-user-WnpaBGEK.js +15 -0
  9. package/dist/arc-ByizYZ13.cjs +1 -0
  10. package/dist/{arc-DRPGof21.js → arc-DJJx8BhF.js} +1 -1
  11. package/dist/arc-DOGcyb-0.js +9 -0
  12. package/dist/architecture-TIHT7OUA-BJNZJd9x.cjs +1 -0
  13. package/dist/{architectureDiagram-ZJ3FMSHR-8mjyXr-w.js → architectureDiagram-ZJ3FMSHR-Dt0W9V1f.js} +7 -7
  14. package/dist/{architectureDiagram-ZJ3FMSHR-D_jWFFZx.cjs → architectureDiagram-ZJ3FMSHR-WH22GUwo.cjs} +2 -2
  15. package/dist/{arrow-down-Bi5kqUrX.js → arrow-down-DrjnnTe1.js} +4 -2
  16. package/dist/arrow-down-Dt-KyDFE.cjs +5 -0
  17. package/dist/{blockDiagram-677ZJIJ3-3F79MOSt.js → blockDiagram-677ZJIJ3-Cb0N9R3M.js} +8 -8
  18. package/dist/book-8PpGdTqf.cjs +1 -0
  19. package/dist/book-CkgJlJ4n.js +10 -0
  20. package/dist/build/config.d.ts +11 -2
  21. package/dist/builder-BjRti6oP.cjs +1 -0
  22. package/dist/builder.js +40 -40
  23. package/dist/button-DFBA474n.js +119 -0
  24. package/dist/button.js +1 -1
  25. package/dist/{c4Diagram-LMCZKHZV-Cxn_gqu_.js → c4Diagram-LMCZKHZV-CFLtikIe.js} +5 -5
  26. package/dist/{card-BHN9Xp4S.js → card-Cfkb7dIm.js} +13 -13
  27. package/dist/card.js +1 -1
  28. package/dist/{channel-k5-UxdcV.js → channel-B9hm3LKF.js} +1 -1
  29. package/dist/check-63MT_RxH.cjs +1 -0
  30. package/dist/check-circle-Cbsw_Ffd.cjs +1 -0
  31. package/dist/check-circle-Dpkv0_9Z.js +10 -0
  32. package/dist/check-circle-fill-DVVjVyV6.cjs +1 -0
  33. package/dist/check-circle-fill-eBwMoYEo.js +10 -0
  34. package/dist/{checkbox-O_J_n1_W.js → checkbox-CeVzf_ff.js} +15 -14
  35. package/dist/checkbox.js +1 -1
  36. package/dist/{chunk-32BRIVSS-jAuAwMVV.js → chunk-32BRIVSS-DhXCFCbM.js} +3 -3
  37. package/dist/{chunk-52WLFC77-wpL7en7e.js → chunk-52WLFC77-CLS2Long.js} +8 -8
  38. package/dist/chunk-5FCAYU7R-M2ohMDGf.cjs +1 -0
  39. package/dist/chunk-5HE753X5-DkUtBcPF.cjs +1 -0
  40. package/dist/chunk-5JV3BV7I-BAn3GEjF.cjs +1 -0
  41. package/dist/chunk-5TONJI2A-Bk0HPVuY.cjs +2 -0
  42. package/dist/chunk-BIQX33UG-CaI4JSOY.cjs +1 -0
  43. package/dist/{chunk-C7G6YPKG-CA-DNpvI.js → chunk-C7G6YPKG-CuJexLt7.js} +1 -1
  44. package/dist/chunk-CQNSW5MT-DHm86rAm.cjs +1 -0
  45. package/dist/chunk-CYSBUYHQ-8HNynFK-.cjs +1 -0
  46. package/dist/chunk-EMLP6XTP-DESFjGc5.cjs +1 -0
  47. package/dist/{chunk-EX3LRPZG-BCmf0iDq.js → chunk-EX3LRPZG-C-g2gFWb.js} +7 -7
  48. package/dist/{chunk-FWX5IMBZ-DZ5VYvm5.js → chunk-FWX5IMBZ-Cpx1Lg-4.js} +8 -8
  49. package/dist/{chunk-HOUHSVGY-DRQcQeMT.js → chunk-HOUHSVGY-DpvP0Kt0.js} +2 -2
  50. package/dist/{chunk-ICXQ74PX-DR8rL-xF.js → chunk-ICXQ74PX-DPZfA3a8.js} +3 -3
  51. package/dist/chunk-JG7HCLWE-DJPVQhqh.cjs +2 -0
  52. package/dist/{chunk-MOJQB5TN-BC46HDyu.js → chunk-MOJQB5TN-BWgg4qSh.js} +3 -3
  53. package/dist/chunk-MOZMSUNE-BiirTonv.cjs +1 -0
  54. package/dist/{chunk-OGEWGWER-BV51ll2w.js → chunk-OGEWGWER-CYsD5SNd.js} +2 -2
  55. package/dist/chunk-OSBZ3O6U-BDLnzsCC.cjs +1 -0
  56. package/dist/{chunk-PUDLZKDR-NdMR0Ft5.js → chunk-PUDLZKDR-Dw2BOPG-.js} +9 -9
  57. package/dist/{chunk-Q4XR5HBZ-3BHjjc9u.js → chunk-Q4XR5HBZ-D_n2NzvL.js} +4 -4
  58. package/dist/chunk-QBLGF6JB-DgQIhta2.cjs +1 -0
  59. package/dist/chunk-R7FJI6CG-BjmGc1OU.cjs +1 -0
  60. package/dist/{chunk-RYQCIY6F-BER2T9t0.js → chunk-RYQCIY6F-CIHQ94xS.js} +1 -1
  61. package/dist/chunk-U6XO7XAA-Cxdku9z7.cjs +2 -0
  62. package/dist/{chunk-V7JOEXUC-Cr_hr02u.js → chunk-V7JOEXUC-DNMlt0_E.js} +7 -7
  63. package/dist/{chunk-VAUOI2AC-izt0o4id.js → chunk-VAUOI2AC-CrgGIUR-.js} +2 -2
  64. package/dist/{chunk-VR4S4FIN-CJi5okl4.js → chunk-VR4S4FIN-DQsfbArk.js} +2 -2
  65. package/dist/{chunk-WYO6CB5R-DDHkKowO.js → chunk-WYO6CB5R-DyGmS3I6.js} +1 -1
  66. package/dist/{chunk-XXDRQBXY-BB1i_53q.js → chunk-XXDRQBXY-BeVLa_G2.js} +1 -1
  67. package/dist/chunk-YOTPTUD7-BCQ2zMB7.cjs +1 -0
  68. package/dist/{chunk-ZGVPDNZ5-6uMbTJXy.js → chunk-ZGVPDNZ5-DlEsNy2g.js} +7 -7
  69. package/dist/circle-DgoPsPmL.cjs +1 -0
  70. package/dist/circle-fold-CZf63cE1.js +9 -0
  71. package/dist/circle-fold-DGHgTbNx.cjs +1 -0
  72. package/dist/circle-line-DDD6hHbp.cjs +1 -0
  73. package/dist/circle-line-vsuTmqx8.js +9 -0
  74. package/dist/circle-rotate-B7JrnjYG.cjs +1 -0
  75. package/dist/circle-rotate-DDC3CKzB.js +9 -0
  76. package/dist/circle-spin-CIMhAYj5.cjs +1 -0
  77. package/dist/circle-spin-Djuwx9eN.js +9 -0
  78. package/dist/circle-turn-D1Z-dXF8.cjs +1 -0
  79. package/dist/circle-turn-DtYjq4Ky.js +9 -0
  80. package/dist/classDiagram-OUVF2IWQ-CkQt8O2B.js +30 -0
  81. package/dist/classDiagram-v2-EOCWNBFH-CkQt8O2B.js +30 -0
  82. package/dist/close-CDF9aHTU.js +10 -0
  83. package/dist/close-Ck_jxN7T.cjs +1 -0
  84. package/dist/close-circle-B3lBlRHE.cjs +1 -0
  85. package/dist/close-circle-DZZJhaf-.js +10 -0
  86. package/dist/close-circle-fill-Ds9W-XNo.cjs +1 -0
  87. package/dist/close-circle-fill-OiY9CVOv.js +10 -0
  88. package/dist/colorpicker-C8vbgSta.js +250 -0
  89. package/dist/colorpicker.js +1 -1
  90. package/dist/components/button/index.d.ts +1 -1
  91. package/dist/components/icon/index.d.ts +7 -0
  92. package/dist/components/loading/index.d.ts +6 -29
  93. package/dist/components/loading/types.d.ts +11 -0
  94. package/dist/components/loading/variants/arc/index.d.ts +6 -0
  95. package/dist/components/loading/variants/circle/index.d.ts +6 -0
  96. package/dist/components/loading/variants/circle-fold/index.d.ts +6 -0
  97. package/dist/components/loading/variants/circle-line/index.d.ts +6 -0
  98. package/dist/components/loading/variants/circle-rotate/index.d.ts +6 -0
  99. package/dist/components/loading/variants/circle-spin/index.d.ts +6 -0
  100. package/dist/components/loading/variants/circle-turn/index.d.ts +6 -0
  101. package/dist/components/loading/variants/cube/index.d.ts +6 -0
  102. package/dist/components/loading/variants/cube-dim/index.d.ts +6 -0
  103. package/dist/components/loading/variants/cube-fold/index.d.ts +6 -0
  104. package/dist/components/loading/variants/cube-grid/index.d.ts +6 -0
  105. package/dist/components/loading/variants/dot/index.d.ts +6 -0
  106. package/dist/components/loading/variants/dot-bar/index.d.ts +6 -0
  107. package/dist/components/loading/variants/dot-circle/index.d.ts +6 -0
  108. package/dist/components/loading/variants/dot-line/index.d.ts +6 -0
  109. package/dist/components/loading/variants/dot-pulse/index.d.ts +6 -0
  110. package/dist/components/loading/variants/double-bounce/index.d.ts +6 -0
  111. package/dist/components/loading/variants/drop/index.d.ts +6 -0
  112. package/dist/components/loading/variants/line/index.d.ts +6 -0
  113. package/dist/components/loading/variants/line-scale/index.d.ts +6 -0
  114. package/dist/components/loading/variants/pacman/index.d.ts +6 -0
  115. package/dist/components/loading/variants/pulse/index.d.ts +6 -0
  116. package/dist/components/loading/variants/rotate/index.d.ts +6 -0
  117. package/dist/components/loading/variants/scale-out/index.d.ts +6 -0
  118. package/dist/components/loading/variants/solar/index.d.ts +6 -0
  119. package/dist/components/loading/variants/square/index.d.ts +6 -0
  120. package/dist/components/loading/variants/stretch/index.d.ts +6 -0
  121. package/dist/components/loading/variants/text/index.d.ts +6 -0
  122. package/dist/components/loading/variants/triple-bounce/index.d.ts +6 -0
  123. package/dist/components/math/index.d.ts +37 -1
  124. package/dist/components/player/index.d.ts +0 -1
  125. package/dist/components/popover/index.d.ts +5 -5
  126. package/dist/components/select/index.d.ts +23 -0
  127. package/dist/{content-YOKzMoc7.js → content-WyCTQEb9.js} +7 -7
  128. package/dist/content.js +1 -1
  129. package/dist/copy-CMAYGCsm.cjs +1 -0
  130. package/dist/{cose-bilkent-JH36ORCC-DTwvJlGw.js → cose-bilkent-JH36ORCC-DCMxiO2H.js} +2 -2
  131. package/dist/cube-BHbuhZjD.cjs +1 -0
  132. package/dist/cube-BJr0a40o.js +9 -0
  133. package/dist/cube-dim-FDQVX9Sb.js +9 -0
  134. package/dist/cube-dim-JK8OwqXU.cjs +1 -0
  135. package/dist/cube-fold-68Pk6igJ.js +9 -0
  136. package/dist/cube-fold-DMmWEicy.cjs +1 -0
  137. package/dist/cube-grid-C5ONBtr1.cjs +1 -0
  138. package/dist/cube-grid-DTgwN5o-.js +9 -0
  139. package/dist/cynefin-VYW2F7L2-Yeua0tAa.cjs +1 -0
  140. package/dist/{cynefinDiagram-TSTJHNR4-Bjt4QTVh.js → cynefinDiagram-TSTJHNR4-B6dEjVBJ.js} +4 -4
  141. package/dist/{cynefinDiagram-TSTJHNR4-ISDORSxO.cjs → cynefinDiagram-TSTJHNR4-CAx-94I7.cjs} +1 -1
  142. package/dist/{dagre-VKFMJZFB-Dfku86Az.js → dagre-VKFMJZFB-CkNsP9vI.js} +10 -10
  143. package/dist/{diagram-FQU43EPY-BvQ5jmVn.js → diagram-FQU43EPY-Cefzg0En.js} +3 -3
  144. package/dist/{diagram-FQU43EPY-BAiRt5eL.cjs → diagram-FQU43EPY-Cn7-Jxoj.cjs} +2 -2
  145. package/dist/{diagram-G47NLZAW-DT2BBA0T.js → diagram-G47NLZAW-BsDJqCJu.js} +6 -6
  146. package/dist/{diagram-G47NLZAW-DGnmEa8u.cjs → diagram-G47NLZAW-Clm1JIiF.cjs} +1 -1
  147. package/dist/{diagram-NH7WQ7WH-DxgkStA3.cjs → diagram-NH7WQ7WH-BQWzEBKY.cjs} +1 -1
  148. package/dist/{diagram-NH7WQ7WH-W7jg4Vh8.js → diagram-NH7WQ7WH-DEGzjxf4.js} +4 -4
  149. package/dist/{diagram-OA4YK3LP-DkvFII73.cjs → diagram-OA4YK3LP-B90IV5Q-.cjs} +3 -3
  150. package/dist/{diagram-OA4YK3LP-jU--aqQl.js → diagram-OA4YK3LP-BZUB0lzT.js} +5 -5
  151. package/dist/{diagram-WEI45ONY-XvzRFmmY.cjs → diagram-WEI45ONY-B-8IP8vK.cjs} +1 -1
  152. package/dist/{diagram-WEI45ONY-C_Qhf4ny.js → diagram-WEI45ONY-BURO1A6S.js} +4 -4
  153. package/dist/{dist-C0Fwsvsq.js → dist-9Ly83Lo6.js} +1 -1
  154. package/dist/dot-D8taMWFZ.cjs +1 -0
  155. package/dist/dot-bar-CXBmT1RL.js +9 -0
  156. package/dist/dot-bar-Ddbyx-0a.cjs +1 -0
  157. package/dist/dot-circle-DksscvAR.js +9 -0
  158. package/dist/dot-circle-DxoSLiz7.cjs +1 -0
  159. package/dist/dot-line-8Z2hpBOL.js +9 -0
  160. package/dist/dot-line-CKcmWaBb.cjs +1 -0
  161. package/dist/dot-pulse-BC7xaifX.js +9 -0
  162. package/dist/dot-pulse-DVwedcib.cjs +1 -0
  163. package/dist/double-bounce-BVGrEHLy.js +9 -0
  164. package/dist/double-bounce-Cxp3i6ip.cjs +1 -0
  165. package/dist/download-DiDwbZL3.cjs +1 -0
  166. package/dist/drop-CTufsC6T.js +9 -0
  167. package/dist/drop-DU-RgWR1.js +16 -0
  168. package/dist/drop-_Iz47Fmh.cjs +7 -0
  169. package/dist/drop-q8qufm5t.cjs +1 -0
  170. package/dist/{dropdown-CzGAVWYC.js → dropdown-B2Sk5gQF.js} +22 -21
  171. package/dist/dropdown.js +1 -1
  172. package/dist/ebnfDiagram-CCIWWBDH-B5ZJxr_W.cjs +1 -0
  173. package/dist/{ebnfDiagram-CCIWWBDH-Gnr20Oc1.js → ebnfDiagram-CCIWWBDH-B6Gh-zq6.js} +4 -4
  174. package/dist/{erDiagram-Q63AITRT-D0Hh9b-W.js → erDiagram-Q63AITRT-B1iQoGRH.js} +13 -13
  175. package/dist/eventmodeling-45OFAUF4-_fgxNekW.cjs +1 -0
  176. package/dist/eye-BoGpexya.cjs +4 -0
  177. package/dist/eye-close-DdWDFgn0.cjs +4 -0
  178. package/dist/eye-close-pVr4NTjX.js +13 -0
  179. package/dist/eye-j7jzy-2Y.js +13 -0
  180. package/dist/factory-Ce9hR27Y.js +653 -0
  181. package/dist/flowDiagram-23GEKE2U-BxyRR3qT.js +19 -0
  182. package/dist/{form-B8afuJlF.js → form-C0-UiXLj.js} +9 -9
  183. package/dist/form.js +1 -1
  184. package/dist/fullscreen-0HIdaZda.cjs +1 -0
  185. package/dist/{ganttDiagram-NO4QXBWP-B40Eabk0.js → ganttDiagram-NO4QXBWP-BE1v5yrp.js} +6 -6
  186. package/dist/gitGraph-TEB2WS4Q-BlIs9PSc.cjs +1 -0
  187. package/dist/{gitGraphDiagram-IHSO6WYX-BUJNSssA.js → gitGraphDiagram-IHSO6WYX-BVRc2mkM.js} +3 -3
  188. package/dist/{gitGraphDiagram-IHSO6WYX-DW06165m.cjs → gitGraphDiagram-IHSO6WYX-DODKoP1i.cjs} +1 -1
  189. package/dist/github-BjP57_Xw.js +11 -0
  190. package/dist/github-_spzUZUJ.cjs +2 -0
  191. package/dist/{glass-BniIptBE.js → glass-TzHfgesD.js} +6 -6
  192. package/dist/glass.js +1 -1
  193. package/dist/globe-0D8896Sf.js +15 -0
  194. package/dist/globe-DOwlStJB.cjs +6 -0
  195. package/dist/home-C2_ARWjR.cjs +1 -0
  196. package/dist/home-COHVdQmi.js +10 -0
  197. package/dist/i18n-B3HBw6rL.js +1 -0
  198. package/dist/i18n-Cf5TtRb4-BeflTU82.js +175 -0
  199. package/dist/i18n.js +3 -2
  200. package/dist/icon-BoaQYEij.js +318 -0
  201. package/dist/icon.js +1 -1
  202. package/dist/icons.js +91 -3
  203. package/dist/iife/button.iife.js +1 -1
  204. package/dist/iife/card.iife.js +1 -1
  205. package/dist/iife/checkbox.iife.js +1 -1
  206. package/dist/iife/colorpicker.iife.js +235 -2
  207. package/dist/iife/content.iife.js +1 -1
  208. package/dist/iife/dropdown.iife.js +1 -1
  209. package/dist/iife/form.iife.js +1 -1
  210. package/dist/iife/glass.iife.js +1 -1
  211. package/dist/iife/icon.iife.js +238 -1
  212. package/dist/iife/image.iife.js +1 -1
  213. package/dist/iife/input.iife.js +238 -1
  214. package/dist/iife/link.iife.js +1 -1
  215. package/dist/iife/loading.iife.js +1 -1
  216. package/dist/iife/math.iife.js +332 -260
  217. package/dist/iife/mermaid.iife.js +489 -252
  218. package/dist/iife/message.iife.js +238 -1
  219. package/dist/iife/modal.iife.js +1 -1
  220. package/dist/iife/player.iife.js +243 -10
  221. package/dist/iife/popover.iife.js +1 -1
  222. package/dist/iife/progress.iife.js +1 -1
  223. package/dist/iife/radar.iife.js +1 -1
  224. package/dist/iife/route.iife.js +1 -1
  225. package/dist/iife/router.iife.js +1 -1
  226. package/dist/iife/scratch.iife.js +1 -1
  227. package/dist/iife/section.iife.js +1 -1
  228. package/dist/iife/select.iife.js +235 -2
  229. package/dist/iife/skeleton.iife.js +1 -1
  230. package/dist/iife/tab.iife.js +1 -1
  231. package/dist/iife/tabpane.iife.js +1 -1
  232. package/dist/iife/theme-switch.iife.js +1 -1
  233. package/dist/{image-CqoQfJoV.js → image-CNpdv9k_.js} +8 -8
  234. package/dist/image.js +1 -1
  235. package/dist/index.cjs +26 -263
  236. package/dist/index.d.ts +9 -0
  237. package/dist/index.iife.js +617 -781
  238. package/dist/index.js +88 -87
  239. package/dist/info-DKCQHKI2-Chhdpnw0.cjs +1 -0
  240. package/dist/info-circle-Ciy6yKz-.js +14 -0
  241. package/dist/info-circle-fill-ChhhmoCU.cjs +1 -0
  242. package/dist/info-circle-fill-D5WjbRhd.js +10 -0
  243. package/dist/info-circle-xp0NNK4i.cjs +5 -0
  244. package/dist/infoDiagram-FWYZ7A6U-D_0rNuCQ.cjs +2 -0
  245. package/dist/{infoDiagram-FWYZ7A6U-Dc0m9qAx.js → infoDiagram-FWYZ7A6U-Z_GyAL7u.js} +3 -3
  246. package/dist/input-_iNjylVC.js +195 -0
  247. package/dist/input.js +1 -1
  248. package/dist/{ishikawaDiagram-FXEZZL3T-DuFtHOmf.js → ishikawaDiagram-FXEZZL3T-l087wv0C.js} +4 -4
  249. package/dist/issue-DF89eLmN.js +11 -0
  250. package/dist/issue-jx2d2kOG.cjs +2 -0
  251. package/dist/{journeyDiagram-5HDEW3XC-Bshelnhq.js → journeyDiagram-5HDEW3XC-DmNilMKR.js} +4 -4
  252. package/dist/{kanban-definition-HUTT4EX6-Dogv2paU.js → kanban-definition-HUTT4EX6-CmUdDowM.js} +9 -9
  253. package/dist/latinmodernmath-BNPh95x3.cjs +1 -0
  254. package/dist/latinmodernmath-BnpcbCAh.js +4 -0
  255. package/dist/line-Bhz15vpy.js +9 -0
  256. package/dist/{line-BIPmUVxO.js → line-CteEpfCu.js} +1 -1
  257. package/dist/line-qgqu6ngc.cjs +1 -0
  258. package/dist/line-scale-CtMO8YfX.js +9 -0
  259. package/dist/line-scale-Dr9ILV5d.cjs +1 -0
  260. package/dist/{linear-B2AM4ZBe.js → linear-C8AjwHWi.js} +1 -1
  261. package/dist/{link-BCrmHvXP.js → link-CmMSKe18.js} +9 -9
  262. package/dist/link.js +1 -1
  263. package/dist/loading-DHQDAkef.js +116 -0
  264. package/dist/loading-_bxcEaz0.js +10 -0
  265. package/dist/loading-fDM8Celd.cjs +1 -0
  266. package/dist/loading-scene-DTIgBHY7.cjs +53 -0
  267. package/dist/loading-scene-nEgp25AV.js +62 -0
  268. package/dist/loading.js +1 -1
  269. package/dist/lock-DSKjvWfl.cjs +4 -0
  270. package/dist/lock-Dw1hWtdP.js +13 -0
  271. package/dist/math-DobANAnr.js +223 -0
  272. package/dist/math.js +1 -1
  273. package/dist/menu-DQpdpBLB.js +11 -0
  274. package/dist/menu-DdHtbEk4.cjs +2 -0
  275. package/dist/{mermaid-C1oQyPE3.js → mermaid-CwMPhttK.js} +11 -11
  276. package/dist/mermaid-parser.core-BgDzuhyE.cjs +3 -0
  277. package/dist/{mermaid.core-B2d5lQW2.js → mermaid.core-do05yX9X.js} +49 -49
  278. package/dist/{mermaid.core-a1hgpWfs.cjs → mermaid.core-r_D7CSaj.cjs} +2 -2
  279. package/dist/mermaid.js +1 -1
  280. package/dist/message-BFv9-X-4.js +10 -0
  281. package/dist/{message-CNdmbeLf.js → message-CT-at-dX.js} +24 -21
  282. package/dist/message-DHzOpb1d.cjs +1 -0
  283. package/dist/message.js +1 -1
  284. package/dist/{mindmap-definition-LN4V7U3C-f7s5ZePP.js → mindmap-definition-LN4V7U3C-Mj5HCDww.js} +12 -12
  285. package/dist/modal-COzuPRoz.cjs +2 -0
  286. package/dist/{modal-gRagDkTb.js → modal-DkFW7_It.js} +12 -12
  287. package/dist/modal.js +1 -1
  288. package/dist/more-l0-w-c99.js +11 -0
  289. package/dist/more-tqkE9a7G.cjs +2 -0
  290. package/dist/packet-7NZHBO7P-BIgRfmDy.cjs +1 -0
  291. package/dist/pacman-C7_BcAl5.cjs +1 -0
  292. package/dist/pacman-DSIM9KGC.js +9 -0
  293. package/dist/pegDiagram-2B236MQR-CTcfU4SV.cjs +1 -0
  294. package/dist/{pegDiagram-2B236MQR-B-Xeh55J.js → pegDiagram-2B236MQR-Crdw8nmA.js} +4 -4
  295. package/dist/pie-RZYD4A2V-BJEu4CoQ.cjs +1 -0
  296. package/dist/{pieDiagram-ENE6RG2P-CVSE95zc.js → pieDiagram-ENE6RG2P-9GNsaY-6.js} +6 -6
  297. package/dist/{pieDiagram-ENE6RG2P-BkSiP4iu.cjs → pieDiagram-ENE6RG2P-D1QD_sOE.cjs} +2 -2
  298. package/dist/{player-BkkmkqR4.js → player-Dhv_QP4a.js} +112 -113
  299. package/dist/player.js +1 -1
  300. package/dist/plugins/load-svg.d.ts +16 -3
  301. package/dist/plus-C91b38f6.js +11 -0
  302. package/dist/plus-DjDn222b.cjs +2 -0
  303. package/dist/{popover-BZKSLe3D.js → popover-DR5ua2_I.js} +17 -15
  304. package/dist/popover.js +1 -1
  305. package/dist/power-off-CM1fKRrr.js +10 -0
  306. package/dist/power-off-C_Akq2D-.cjs +1 -0
  307. package/dist/preview-ByPt3tw_.cjs +1 -0
  308. package/dist/preview-CAEhg4Xl.js +10 -0
  309. package/dist/{progress-vk40tuhm.js → progress-BRIBVXqD.js} +13 -12
  310. package/dist/progress.js +1 -1
  311. package/dist/pulse-DNmbppj-.js +9 -0
  312. package/dist/pulse-QISsDmFE.cjs +1 -0
  313. package/dist/{quadrantDiagram-ABIIQ3AL-TJ8FmqES.js → quadrantDiagram-ABIIQ3AL-rDltxRrQ.js} +3 -3
  314. package/dist/{radar-Bg0cexzU.js → radar-B9eKnRw8.js} +12 -10
  315. package/dist/radar-I7S5WNFK-DYV5_m9_.cjs +1 -0
  316. package/dist/radar.js +1 -1
  317. package/dist/railroad-3IZDKUUU-6oFUgWYG.cjs +1 -0
  318. package/dist/railroad-abnf-AHOZXSZD-DY3xJn9p.cjs +1 -0
  319. package/dist/railroad-ebnf-EBAXGLYW-DljDdad3.cjs +1 -0
  320. package/dist/railroad-peg-LSFZ7HO6-DNRdpVaC.cjs +1 -0
  321. package/dist/{railroadDiagram-RFXS5EU6-0lS5wYI7.js → railroadDiagram-RFXS5EU6-B6b0YncQ.js} +4 -4
  322. package/dist/railroadDiagram-RFXS5EU6-DCqD-VXV.cjs +1 -0
  323. package/dist/ranui.css +1 -1
  324. package/dist/refresh-CjGodz5_.cjs +1 -0
  325. package/dist/{requirementDiagram-TGXJPOKE-viCQLyJd.js → requirementDiagram-TGXJPOKE-BVEkrDX1.js} +12 -12
  326. package/dist/rolldown-runtime-DkpYurw3.js +25 -0
  327. package/dist/rotate-BX5qIRKZ.js +9 -0
  328. package/dist/rotate-VMR047YI.cjs +1 -0
  329. package/dist/{route-CGwS0cd_.js → route-C9sC9d8P.js} +10 -11
  330. package/dist/route.js +1 -1
  331. package/dist/{router-BK6DEkcN.js → router-CID9Dasr.js} +11 -11
  332. package/dist/router.js +1 -1
  333. package/dist/{sankeyDiagram-HTMAVEWB-CV6_AuMF.js → sankeyDiagram-HTMAVEWB-C_G-oWGd.js} +2 -2
  334. package/dist/scale-out-DqffQsuL.js +9 -0
  335. package/dist/scale-out-aZu3503p.cjs +1 -0
  336. package/dist/{scratch-ClF1awGi.js → scratch-y8Op8fTo.js} +8 -8
  337. package/dist/scratch.js +1 -1
  338. package/dist/search-Bci4TKOK.js +11 -0
  339. package/dist/search-DewMt8lt.cjs +2 -0
  340. package/dist/{section-BL0V7Kjf.js → section-cgPwzwLR.js} +10 -10
  341. package/dist/section.js +1 -1
  342. package/dist/{select-DRKYa3W2.js → select-Bqo_7nRL.js} +52 -46
  343. package/dist/select.js +1 -1
  344. package/dist/{sequenceDiagram-DBY2YBRQ-B9WNesh2.js → sequenceDiagram-DBY2YBRQ-B8lP53eo.js} +5 -5
  345. package/dist/setting-BlJhorAQ.cjs +1 -0
  346. package/dist/setting-RhW6oH2c.js +10 -0
  347. package/dist/{skeleton-D7JIbROq.js → skeleton-wq2ybbYv.js} +9 -9
  348. package/dist/skeleton.js +1 -1
  349. package/dist/solar-BPmDmWLU.js +9 -0
  350. package/dist/solar-DaoF834l.cjs +1 -0
  351. package/dist/sort-CZTjWeHC.cjs +7 -0
  352. package/dist/sort-tAqAKb3x.js +16 -0
  353. package/dist/sprite-DHG11_c7.cjs +138 -0
  354. package/dist/sprite-ICuni2rO.js +147 -0
  355. package/dist/square-DKQ0d_O6.js +9 -0
  356. package/dist/square-DiBkWYAH.cjs +1 -0
  357. package/dist/{src-DtRLxcYO.js → src-CM-0IT-N.js} +1 -1
  358. package/dist/ssg.js +1 -1
  359. package/dist/ssr-stream.js +1 -1
  360. package/dist/{ssr-DSGwPtEd.js → ssr-vZNJHtYm.js} +5 -5
  361. package/dist/ssr.js +1 -1
  362. package/dist/{stateDiagram-2N3HPSRC-DxH4BMSh.js → stateDiagram-2N3HPSRC-DzG4g-Br.js} +15 -15
  363. package/dist/stateDiagram-v2-6OUMAXLB-tbh4Ib6Z.js +30 -0
  364. package/dist/stretch-BXJ4labN.js +9 -0
  365. package/dist/stretch-LP22YEA3.cjs +1 -0
  366. package/dist/{swimlanes-5IMT3BWC-DcADNGpg.js → swimlanes-5IMT3BWC-CQpI-vXu.js} +10 -10
  367. package/dist/swimlanesDiagram-G3AALYLV-C_mEClzT.js +31 -0
  368. package/dist/{tab-DFVtDJb2.js → tab-DMUILL_2.js} +12 -12
  369. package/dist/tab.js +1 -1
  370. package/dist/{tabpane-C3qZGN-D.js → tabpane-R8Kyn9jv.js} +11 -11
  371. package/dist/tabpane.js +1 -1
  372. package/dist/team-DshvOQrF.cjs +1 -0
  373. package/dist/team-oJOYGlHy.js +10 -0
  374. package/dist/temml-DKTWcsY9.js +9934 -0
  375. package/dist/temml-qMLYhcAb.cjs +96 -0
  376. package/dist/test/e2e/helpers.d.ts +32 -0
  377. package/dist/test/unit/select-ssr-upgrade.test.d.ts +1 -0
  378. package/dist/text-8gI5TFOa.js +17 -0
  379. package/dist/text-C_XRjuGr.cjs +1 -0
  380. package/dist/theme-DAG2-N5e.js +52 -0
  381. package/dist/{theme-switch-BXNH5uPD.js → theme-switch-D3MpVw-R.js} +16 -17
  382. package/dist/theme-switch.js +1 -1
  383. package/dist/theme.js +1 -1
  384. package/dist/{timeline-definition-FHXFAJF6-C80VjPLh.js → timeline-definition-FHXFAJF6-JZu2t9NH.js} +5 -5
  385. package/dist/treeView-QDETBFTQ-JVYSN7d-.cjs +1 -0
  386. package/dist/treemap-6X3UGDF4-ChqvozdN.cjs +1 -0
  387. package/dist/triple-bounce-CMwTsw-f.js +9 -0
  388. package/dist/triple-bounce-CNjk5imb.cjs +1 -0
  389. package/dist/typings.d.ts +9 -0
  390. package/dist/unlock-B6Kz8QUC.cjs +4 -0
  391. package/dist/unlock-DMG2IKZP.js +13 -0
  392. package/dist/user-BvjpVTOP.js +10 -0
  393. package/dist/user-CNTRFuXZ.cjs +1 -0
  394. package/dist/utils/builder/escape.d.ts +6 -1
  395. package/dist/utils/dom.d.ts +2 -15
  396. package/dist/utils/i18n/index.d.ts +2 -69
  397. package/dist/utils/i18n.js +5 -87
  398. package/dist/utils/index.d.ts +2 -1
  399. package/dist/utils/style.d.ts +7 -5
  400. package/dist/utils-DqjNwwjC.js +48 -0
  401. package/dist/utils-nntJky78.js +646 -0
  402. package/dist/{vennDiagram-L72KCM5P-BYHB7OW8.js → vennDiagram-L72KCM5P-DM6fQj7p.js} +4 -4
  403. package/dist/wardley-OPB4EBWU-BI6su3co.cjs +1 -0
  404. package/dist/{wardleyDiagram-EHGQE667--ubmCaWM.js → wardleyDiagram-EHGQE667-CzH0l2vj.js} +4 -4
  405. package/dist/{wardleyDiagram-EHGQE667-K6ckkRZS.cjs → wardleyDiagram-EHGQE667-ZMxVQw17.cjs} +2 -2
  406. package/dist/warning-circle-2Ni7fSPp.js +10 -0
  407. package/dist/warning-circle-CxDUN_Pg.cjs +1 -0
  408. package/dist/warning-circle-fill-CNmn_n74.js +10 -0
  409. package/dist/warning-circle-fill-CRKQ8eDt.cjs +1 -0
  410. package/dist/without-content-BCQsfG1Q.cjs +1 -0
  411. package/dist/without-content-C7ATBu1N.js +10 -0
  412. package/dist/{xychartDiagram-FW5EYKEG-DLqWcTPt.js → xychartDiagram-FW5EYKEG-GL1uK3EN.js} +8 -8
  413. package/dist/zoom-in-BLTVwnRI.cjs +1 -0
  414. package/dist/zoom-out-BIXvVAC9.cjs +1 -0
  415. package/docs/COMPONENTS.md +6 -6
  416. package/docs/DESIGN.md +21 -22
  417. package/docs/style-tokens-public.md +89 -23
  418. package/package.json +119 -35
  419. package/typings.d.ts +9 -0
  420. package/dist/abnfDiagram-VRR7QNED-CH_pIv_l.cjs +0 -1
  421. package/dist/architecture-TIHT7OUA-BbBd15_y.cjs +0 -1
  422. package/dist/builtin-1lUEp_ro.js +0 -416
  423. package/dist/button-Cj-XSCsd.js +0 -117
  424. package/dist/classDiagram-OUVF2IWQ-Df0ghim9.js +0 -30
  425. package/dist/classDiagram-v2-EOCWNBFH-Df0ghim9.js +0 -30
  426. package/dist/colorpicker-CKA4xN-g.js +0 -314
  427. package/dist/cynefin-VYW2F7L2-6c1GOGXW.cjs +0 -1
  428. package/dist/ebnfDiagram-CCIWWBDH-Cu8bAlhC.cjs +0 -1
  429. package/dist/eventmodeling-45OFAUF4-C6VXxUn1.cjs +0 -1
  430. package/dist/factory-ZNhcQ4tf.js +0 -482
  431. package/dist/flowDiagram-23GEKE2U-BY4wE2vw.js +0 -19
  432. package/dist/gitGraph-TEB2WS4Q-BbtF3MDr.cjs +0 -1
  433. package/dist/icon-GZrfSeon.js +0 -256
  434. package/dist/info-DKCQHKI2-DNOtUIin.cjs +0 -1
  435. package/dist/infoDiagram-FWYZ7A6U-C8dZc-Ki.cjs +0 -2
  436. package/dist/input-ZY2Wumze.js +0 -195
  437. package/dist/katex-es-BTpuCxxV.cjs +0 -261
  438. package/dist/katex-es-CKRwcaiU.js +0 -23682
  439. package/dist/loading-M6gWxLbm.js +0 -206
  440. package/dist/math-8E-45Y8e.js +0 -52
  441. package/dist/mermaid-parser.core-DYumW1vq.cjs +0 -6
  442. package/dist/mocks-CMGoftIc.js +0 -179
  443. package/dist/packet-7NZHBO7P-DeyLCrSn.cjs +0 -1
  444. package/dist/pegDiagram-2B236MQR-Bo5Nj40u.cjs +0 -1
  445. package/dist/pie-RZYD4A2V-pDNZ2ZyB.cjs +0 -1
  446. package/dist/radar-I7S5WNFK-CY5ycn2a.cjs +0 -1
  447. package/dist/railroad-3IZDKUUU-DGzXHqt7.cjs +0 -1
  448. package/dist/railroad-abnf-AHOZXSZD-BCIHdSw6.cjs +0 -1
  449. package/dist/railroad-ebnf-EBAXGLYW-4vFZrfHF.cjs +0 -1
  450. package/dist/railroad-peg-LSFZ7HO6-D_oFW1Bo.cjs +0 -1
  451. package/dist/railroadDiagram-RFXS5EU6-DJKAtnQk.cjs +0 -1
  452. package/dist/rolldown-runtime-9ZSF5uba.js +0 -16
  453. package/dist/stateDiagram-v2-6OUMAXLB-CWfn6e7n.js +0 -30
  454. package/dist/swimlanesDiagram-G3AALYLV-DDtDtl1L.js +0 -31
  455. package/dist/test/unit/colorpicker.color.utils.test.d.ts +0 -1
  456. package/dist/test/unit/utils.math.test.d.ts +0 -1
  457. package/dist/test/unit/utils.tween.test.d.ts +0 -1
  458. package/dist/theme-kOWZbKCq.js +0 -70
  459. package/dist/treeView-QDETBFTQ-B1Ejxfpg.cjs +0 -1
  460. package/dist/treemap-6X3UGDF4-D0FeO_NX.cjs +0 -1
  461. package/dist/utils/color.d.ts +0 -52
  462. package/dist/utils/image.d.ts +0 -39
  463. package/dist/utils/math.d.ts +0 -26
  464. package/dist/utils/tween.d.ts +0 -21
  465. package/dist/utils-D1iZnChu.js +0 -614
  466. package/dist/wardley-OPB4EBWU-C1hXbbD4.cjs +0 -1
  467. package/dist/warning-circle-fill-Cz0qu7AH.js +0 -23
@@ -0,0 +1,96 @@
1
+ var w=class Rt{constructor(t,r){let a=" "+t,s;const i=r&&r.loc;if(i&&i.start<=i.end){const u=i.lexer.input;s=i.start;const h=i.end;s===u.length?a+=" at end of input: ":a+=" at position "+(s+1)+`:
2
+ `;const g=u.slice(s,h).replace(/[^]/g,"$&̲");let A;s>15?A="…"+u.slice(s-15,s):A=u.slice(0,s);let v;h+15<u.length?v=u.slice(h,h+15)+"…":v=u.slice(h),a+=A+g+v}const l=new Error(a);return l.name="ParseError",l.__proto__=Rt.prototype,l.position=s,l}};w.prototype.__proto__=Error.prototype;var Y=function(e,t){return e===void 0?t:e},Cr=/([A-Z])/g,Ye=function(e){return e.replace(Cr,"-$1").toLowerCase()},Br={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},Lr=/[&><"']/g;function te(e){return String(e).replace(Lr,t=>Br[t])}var Te=function(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?Te(e.body[0]):e:e.type==="font"?Te(e.body):e},Be=function(e){const t=Te(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},zr=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},Er=function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Ie=function(e){return+e.toFixed(4)},jt="acegıȷmnopqrsuvwxyzαγεηικμνοπρςστυχωϕ𝐚𝐜𝐞𝐠𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐮𝐯𝐰𝐱𝐲𝐳",Ke=class{constructor(e){e=e||{},this.displayMode=Y(e.displayMode,!1),this.annotate=Y(e.annotate,!1),this.leqno=Y(e.leqno,!1),this.throwOnError=Y(e.throwOnError,!1),this.errorColor=Y(e.errorColor,"#b22222"),this.macros=e.macros||{},this.wrap=Y(e.wrap,"none"),this.xml=Y(e.xml,!1),this.colorIsTextColor=Y(e.colorIsTextColor,!1),this.strict=Y(e.strict,!1),this.trust=Y(e.trust,!1),this.maxSize=e.maxSize===void 0?[1/0,1/0]:Array.isArray(e.maxSize)?e.maxSize:[1/0,1/0],this.maxExpand=Math.max(0,Y(e.maxExpand,1e3)),this.wrapDelimiterPairs=!0}isTrusted(e){if(e.url&&!e.protocol){const r=Er(e.url);if(r==null)return!1;e.protocol=r}return!!(typeof this.trust=="function"?this.trust(e):this.trust)}},Ut={},$e={};function S({type:e,names:t,props:r,handler:a,mathmlBuilder:s}){const i={type:e,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0?!0:r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:a};for(let l=0;l<t.length;++l)Ut[t[l]]=i;e&&s&&($e[e]=s)}function se({type:e,mathmlBuilder:t}){S({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},mathmlBuilder:t})}var fe=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},R=function(e){return e.type==="ordgroup"?e.body:[e]},Je=class{constructor(e){this.children=e,this.classes=[],this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createDocumentFragment();for(let t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){let e="";for(let t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){const e=t=>t.toText();return this.children.map(e).join("")}},me=function(e){return e.filter(t=>t).join(" ")},Ir=function(e,t){this.classes=e||[],this.attributes={},this.style=t||{}},Dr=function(e){const t=document.createElement(e);t.className=me(this.classes);for(const r in this.style)Object.prototype.hasOwnProperty.call(this.style,r)&&(t.style[r]=this.style[r]);for(const r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&t.setAttribute(r,this.attributes[r]);for(let r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},Nr=function(e){let t=`<${e}`;this.classes.length&&(t+=` class="${te(me(this.classes))}"`);let r="";for(const a in this.style)Object.prototype.hasOwnProperty.call(this.style,a)&&(r+=`${Ye(a)}:${this.style[a]};`);r&&(t+=` style="${r}"`);for(const a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&(t+=` ${a}="${te(this.attributes[a])}"`);t+=">";for(let a=0;a<this.children.length;a++)t+=this.children[a].toMarkup();return t+=`</${e}>`,t},Vt=class{constructor(e,t,r){Ir.call(this,e,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}toNode(){return Dr.call(this,"span")}toMarkup(){return Nr.call(this,"span")}},Pr=class{constructor(t){this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return te(this.text)}},Wt=class{constructor(e,t,r){this.href=e,this.classes=t,this.children=r||[]}toNode(){const e=document.createElement("a");e.setAttribute("href",this.href),this.classes.length>0&&(e.className=me(this.classes));for(let t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){let e=`<a href='${te(this.href)}'`;this.classes.length>0&&(e+=` class="${te(me(this.classes))}"`),e+=">";for(let t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e+="</a>",e}},Mr=class{constructor(e,t,r){this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)Object.prototype.hasOwnProperty.call(this.style,t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=`<img src='${this.src}' alt='${this.alt}'`,t="";for(const r in this.style)Object.prototype.hasOwnProperty.call(this.style,r)&&(t+=`${Ye(r)}:${this.style[r]};`);return t&&(e+=` style="${te(t)}"`),e+=">",e}};function oe(e){return new Je(e)}var p=class{constructor(e,t,r,a){this.type=e,this.attributes={},this.children=t||[],this.classes=r||[],this.style=a||{},this.label=""}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}setLabel(e){this.label=e}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=me(this.classes));for(const t in this.style)Object.prototype.hasOwnProperty.call(this.style,t)&&(e.style[t]=this.style[t]);for(let t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){let e="<"+this.type;for(const r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&(e+=" "+r+'="',e+=te(this.attributes[r]),e+='"');this.classes.length>0&&(e+=` class="${te(me(this.classes))}"`);let t="";for(const r in this.style)Object.prototype.hasOwnProperty.call(this.style,r)&&(t+=`${Ye(r)}:${this.style[r]};`);t&&(e+=` style="${t}"`),e+=">";for(let r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}},j=class{constructor(e){this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return te(this.toText())}toText(){return this.text}},Qe=e=>{let t;return e.length===1&&e[0].type==="mrow"?(t=e.pop(),t.type="mstyle"):t=new p("mstyle",e),t},ue=e=>{let t=0;if(e.body&&Array.isArray(e.body))for(const r of e.body)t+=ue(r);else if(e.body)t+=ue(e.body);else if(e.type==="supsub")t+=ue(e.base),e.sub&&(t+=.7*ue(e.sub)),e.sup&&(t+=.7*ue(e.sup));else if(e.type==="mathord"||e.type==="textord")for(const r of e.text.split("")){const a=r.codePointAt(0);96<a&&a<123||944<a&&a<970?t+=.56:47<a&&a<58?t+=.5:t+=.92}else t+=1;return t},Fr={widehat:"^",widecheck:"ˇ",widetilde:"~",wideparen:"⏜",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overbracket:"⎴",underbracket:"⎵",overgroup:"⏠",overparen:"⏜",undergroup:"⏡",underparen:"⏝",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xrightleftarrows:"⇄",xtofrom:"⇄",xleftrightharpoons:"⇋",xrightleftharpoons:"⇌",yields:"→",yieldsLeft:"←",mesomerism:"↔",longrightharpoonup:"⇀",longleftharpoondown:"↽",eqrightharpoonup:"⇀",eqleftharpoondown:"↽","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"=",yieldsLeftRight:"⇄",chemequilibrium:"⇌"},et=function(e){const t=new j(Fr[e.slice(1)]),r=new p("mo",[t]);return r.setAttribute("stretchy","true"),r},Gr=["\\widetilde","\\widehat","\\widecheck","\\utilde"],Ht=e=>{const t=et(e.label);if(Gr.includes(e.label)){const r=ue(e.base);1<r&&r<1.6?t.classes.push("tml-crooked-2"):1.6<=r&&r<2.5?t.classes.push("tml-crooked-3"):2.5<=r&&t.classes.push("tml-crooked-4")}return t},Rr={bin:1,close:1,inner:1,open:1,punct:1,rel:1},jr={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},N={math:{},text:{}};function n(e,t,r,a,s){N[e][a]={group:t,replace:r},s&&r&&(N[e][r]=N[e][a])}var o="math",f="text",B="accent-token",b="bin",M="close",ie="inner",k="mathord",O="op-token",F="open",ye="punct",m="rel",re="spacing",d="textord";n(o,m,"≡","\\equiv",!0);n(o,m,"≺","\\prec",!0);n(o,m,"≻","\\succ",!0);n(o,m,"∼","\\sim",!0);n(o,m,"⟂","\\perp",!0);n(o,m,"⪯","\\preceq",!0);n(o,m,"⪰","\\succeq",!0);n(o,m,"≃","\\simeq",!0);n(o,m,"≌","\\backcong",!0);n(o,m,"|","\\mid",!0);n(o,m,"≪","\\ll",!0);n(o,m,"≫","\\gg",!0);n(o,m,"≍","\\asymp",!0);n(o,m,"∥","\\parallel");n(o,m,"⌣","\\smile",!0);n(o,m,"⊑","\\sqsubseteq",!0);n(o,m,"⊒","\\sqsupseteq",!0);n(o,m,"≐","\\doteq",!0);n(o,m,"⌢","\\frown",!0);n(o,m,"∋","\\ni",!0);n(o,m,"∌","\\notni",!0);n(o,m,"∝","\\propto",!0);n(o,m,"⊢","\\vdash",!0);n(o,m,"⊣","\\dashv",!0);n(o,m,"∋","\\owns");n(o,m,"≘","\\arceq",!0);n(o,m,"≙","\\wedgeq",!0);n(o,m,"≚","\\veeeq",!0);n(o,m,"≛","\\stareq",!0);n(o,m,"≝","\\eqdef",!0);n(o,m,"≞","\\measeq",!0);n(o,m,"≟","\\questeq",!0);n(o,m,"≠","\\ne",!0);n(o,m,"≠","\\neq");n(o,m,"⩵","\\eqeq",!0);n(o,m,"⩶","\\eqeqeq",!0);n(o,m,"∷","\\dblcolon",!0);n(o,m,"≔","\\coloneqq",!0);n(o,m,"≕","\\eqqcolon",!0);n(o,m,"∹","\\eqcolon",!0);n(o,m,"⩴","\\Coloneqq",!0);n(o,ye,".","\\ldotp");n(o,ye,"·","\\cdotp");n(o,d,"#","\\#");n(f,d,"#","\\#");n(o,d,"&","\\&");n(f,d,"&","\\&");n(o,d,"ℵ","\\aleph",!0);n(o,d,"∀","\\forall",!0);n(o,d,"ℏ","\\hbar",!0);n(o,d,"∃","\\exists",!0);n(o,F,"∇","\\nabla",!0);n(o,d,"♭","\\flat",!0);n(o,d,"ℓ","\\ell",!0);n(o,d,"♮","\\natural",!0);n(o,d,"Å","\\Angstrom",!0);n(f,d,"Å","\\Angstrom",!0);n(o,d,"♣","\\clubsuit",!0);n(o,d,"♧","\\varclubsuit",!0);n(o,d,"℘","\\wp",!0);n(o,d,"♯","\\sharp",!0);n(o,d,"♢","\\diamondsuit",!0);n(o,d,"♦","\\vardiamondsuit",!0);n(o,d,"ℜ","\\Re",!0);n(o,d,"♡","\\heartsuit",!0);n(o,d,"♥","\\varheartsuit",!0);n(o,d,"ℑ","\\Im",!0);n(o,d,"♠","\\spadesuit",!0);n(o,d,"♤","\\varspadesuit",!0);n(o,d,"♀","\\female",!0);n(o,d,"♂","\\male",!0);n(o,d,"§","\\S",!0);n(f,d,"§","\\S");n(o,d,"¶","\\P",!0);n(f,d,"¶","\\P");n(f,d,"☺","\\smiley",!0);n(o,d,"☺","\\smiley",!0);n(o,d,"†","\\dag");n(f,d,"†","\\dag");n(f,d,"†","\\textdagger");n(o,d,"‡","\\ddag");n(f,d,"‡","\\ddag");n(f,d,"‡","\\textdaggerdbl");n(o,M,"⎱","\\rmoustache",!0);n(o,F,"⎰","\\lmoustache",!0);n(o,M,"⟯","\\rgroup",!0);n(o,F,"⟮","\\lgroup",!0);n(o,b,"∓","\\mp",!0);n(o,b,"⊖","\\ominus",!0);n(o,b,"⊎","\\uplus",!0);n(o,b,"⊓","\\sqcap",!0);n(o,b,"∗","\\ast");n(o,b,"⊔","\\sqcup",!0);n(o,b,"◯","\\bigcirc",!0);n(o,b,"∙","\\bullet",!0);n(o,b,"‡","\\ddagger");n(o,b,"≀","\\wr",!0);n(o,b,"⨿","\\amalg");n(o,b,"&","\\And");n(o,b,"⫽","\\sslash",!0);n(o,m,"⟵","\\longleftarrow",!0);n(o,m,"⇐","\\Leftarrow",!0);n(o,m,"⟸","\\Longleftarrow",!0);n(o,m,"⟶","\\longrightarrow",!0);n(o,m,"⇒","\\Rightarrow",!0);n(o,m,"⟹","\\Longrightarrow",!0);n(o,m,"↔","\\leftrightarrow",!0);n(o,m,"⟷","\\longleftrightarrow",!0);n(o,m,"⇔","\\Leftrightarrow",!0);n(o,m,"⟺","\\Longleftrightarrow",!0);n(o,m,"↤","\\mapsfrom",!0);n(o,m,"↦","\\mapsto",!0);n(o,m,"⟼","\\longmapsto",!0);n(o,m,"↗","\\nearrow",!0);n(o,m,"↩","\\hookleftarrow",!0);n(o,m,"↪","\\hookrightarrow",!0);n(o,m,"↘","\\searrow",!0);n(o,m,"↼","\\leftharpoonup",!0);n(o,m,"⇀","\\rightharpoonup",!0);n(o,m,"↙","\\swarrow",!0);n(o,m,"↽","\\leftharpoondown",!0);n(o,m,"⇁","\\rightharpoondown",!0);n(o,m,"↖","\\nwarrow",!0);n(o,m,"⇌","\\rightleftharpoons",!0);n(o,k,"↯","\\lightning",!0);n(o,k,"∎","\\QED",!0);n(o,k,"‰","\\permil",!0);n(f,d,"‰","\\permil");n(o,k,"☉","\\astrosun",!0);n(o,k,"☼","\\sun",!0);n(o,k,"☾","\\leftmoon",!0);n(o,k,"☽","\\rightmoon",!0);n(o,k,"⊕","\\Earth");n(o,m,"≮","\\nless",!0);n(o,m,"⪇","\\lneq",!0);n(o,m,"≨","\\lneqq",!0);n(o,m,"≨︀","\\lvertneqq");n(o,m,"⋦","\\lnsim",!0);n(o,m,"⪉","\\lnapprox",!0);n(o,m,"⊀","\\nprec",!0);n(o,m,"⋠","\\npreceq",!0);n(o,m,"⋨","\\precnsim",!0);n(o,m,"⪹","\\precnapprox",!0);n(o,m,"≁","\\nsim",!0);n(o,m,"∤","\\nmid",!0);n(o,m,"∤","\\nshortmid");n(o,m,"⊬","\\nvdash",!0);n(o,m,"⊭","\\nvDash",!0);n(o,m,"⋪","\\ntriangleleft");n(o,m,"⋬","\\ntrianglelefteq",!0);n(o,m,"⊄","\\nsubset",!0);n(o,m,"⊅","\\nsupset",!0);n(o,m,"⊊","\\subsetneq",!0);n(o,m,"⊊︀","\\varsubsetneq");n(o,m,"⫋","\\subsetneqq",!0);n(o,m,"⫋︀","\\varsubsetneqq");n(o,m,"≯","\\ngtr",!0);n(o,m,"⪈","\\gneq",!0);n(o,m,"≩","\\gneqq",!0);n(o,m,"≩︀","\\gvertneqq");n(o,m,"⋧","\\gnsim",!0);n(o,m,"⪊","\\gnapprox",!0);n(o,m,"⊁","\\nsucc",!0);n(o,m,"⋡","\\nsucceq",!0);n(o,m,"⋩","\\succnsim",!0);n(o,m,"⪺","\\succnapprox",!0);n(o,m,"≆","\\ncong",!0);n(o,m,"∦","\\nparallel",!0);n(o,m,"∦","\\nshortparallel");n(o,m,"⊯","\\nVDash",!0);n(o,m,"⋫","\\ntriangleright");n(o,m,"⋭","\\ntrianglerighteq",!0);n(o,m,"⊋","\\supsetneq",!0);n(o,m,"⊋","\\varsupsetneq");n(o,m,"⫌","\\supsetneqq",!0);n(o,m,"⫌︀","\\varsupsetneqq");n(o,m,"⊮","\\nVdash",!0);n(o,m,"⪵","\\precneqq",!0);n(o,m,"⪶","\\succneqq",!0);n(o,b,"⊴","\\unlhd");n(o,b,"⊵","\\unrhd");n(o,m,"↚","\\nleftarrow",!0);n(o,m,"↛","\\nrightarrow",!0);n(o,m,"⇍","\\nLeftarrow",!0);n(o,m,"⇏","\\nRightarrow",!0);n(o,m,"↮","\\nleftrightarrow",!0);n(o,m,"⇎","\\nLeftrightarrow",!0);n(o,m,"△","\\vartriangle");n(o,d,"ℏ","\\hslash");n(o,d,"▽","\\triangledown");n(o,d,"◊","\\lozenge");n(o,d,"Ⓢ","\\circledS");n(o,d,"®","\\circledR",!0);n(f,d,"®","\\circledR");n(f,d,"®","\\textregistered");n(o,d,"∡","\\measuredangle",!0);n(o,d,"∄","\\nexists");n(o,d,"℧","\\mho");n(o,d,"Ⅎ","\\Finv",!0);n(o,d,"⅁","\\Game",!0);n(o,d,"‵","\\backprime");n(o,d,"‶","\\backdprime");n(o,d,"‷","\\backtrprime");n(o,d,"▲","\\blacktriangle");n(o,d,"▼","\\blacktriangledown");n(o,d,"■","\\blacksquare");n(o,d,"⧫","\\blacklozenge");n(o,d,"★","\\bigstar");n(o,d,"∢","\\sphericalangle",!0);n(o,d,"∁","\\complement",!0);n(o,d,"╱","\\diagup");n(o,d,"╲","\\diagdown");n(o,d,"□","\\square");n(o,d,"□","\\Box");n(o,d,"◊","\\Diamond");n(o,d,"¥","\\yen",!0);n(f,d,"¥","\\yen",!0);n(o,d,"✓","\\checkmark",!0);n(f,d,"✓","\\checkmark");n(o,d,"✗","\\ballotx",!0);n(f,d,"✗","\\ballotx");n(f,d,"•","\\textbullet");n(o,d,"ℶ","\\beth",!0);n(o,d,"ℸ","\\daleth",!0);n(o,d,"ℷ","\\gimel",!0);n(o,d,"ϝ","\\digamma",!0);n(o,d,"ϰ","\\varkappa");n(o,F,"⌜","\\ulcorner",!0);n(o,M,"⌝","\\urcorner",!0);n(o,F,"⌞","\\llcorner",!0);n(o,M,"⌟","\\lrcorner",!0);n(o,m,"≦","\\leqq",!0);n(o,m,"⩽","\\leqslant",!0);n(o,m,"⪕","\\eqslantless",!0);n(o,m,"≲","\\lesssim",!0);n(o,m,"⪅","\\lessapprox",!0);n(o,m,"≊","\\approxeq",!0);n(o,b,"⋖","\\lessdot");n(o,m,"⋘","\\lll",!0);n(o,m,"≶","\\lessgtr",!0);n(o,m,"⋚","\\lesseqgtr",!0);n(o,m,"⪋","\\lesseqqgtr",!0);n(o,m,"≑","\\doteqdot");n(o,m,"≓","\\risingdotseq",!0);n(o,m,"≒","\\fallingdotseq",!0);n(o,m,"∽","\\backsim",!0);n(o,m,"⋍","\\backsimeq",!0);n(o,m,"⫅","\\subseteqq",!0);n(o,m,"⋐","\\Subset",!0);n(o,m,"⊏","\\sqsubset",!0);n(o,m,"≼","\\preccurlyeq",!0);n(o,m,"⋞","\\curlyeqprec",!0);n(o,m,"≾","\\precsim",!0);n(o,m,"⪷","\\precapprox",!0);n(o,m,"⊲","\\vartriangleleft");n(o,m,"⊴","\\trianglelefteq");n(o,m,"⊨","\\vDash",!0);n(o,m,"⊫","\\VDash",!0);n(o,m,"⊪","\\Vvdash",!0);n(o,m,"⌣","\\smallsmile");n(o,m,"⌢","\\smallfrown");n(o,m,"≏","\\bumpeq",!0);n(o,m,"≎","\\Bumpeq",!0);n(o,m,"≧","\\geqq",!0);n(o,m,"⩾","\\geqslant",!0);n(o,m,"⪖","\\eqslantgtr",!0);n(o,m,"≳","\\gtrsim",!0);n(o,m,"⪆","\\gtrapprox",!0);n(o,b,"⋗","\\gtrdot");n(o,m,"⋙","\\ggg",!0);n(o,m,"≷","\\gtrless",!0);n(o,m,"⋛","\\gtreqless",!0);n(o,m,"⪌","\\gtreqqless",!0);n(o,m,"≖","\\eqcirc",!0);n(o,m,"≗","\\circeq",!0);n(o,m,"≜","\\triangleq",!0);n(o,m,"∼","\\thicksim");n(o,m,"≈","\\thickapprox");n(o,m,"⫆","\\supseteqq",!0);n(o,m,"⋑","\\Supset",!0);n(o,m,"⊐","\\sqsupset",!0);n(o,m,"≽","\\succcurlyeq",!0);n(o,m,"⋟","\\curlyeqsucc",!0);n(o,m,"≿","\\succsim",!0);n(o,m,"⪸","\\succapprox",!0);n(o,m,"⊳","\\vartriangleright");n(o,m,"⊵","\\trianglerighteq");n(o,m,"⊩","\\Vdash",!0);n(o,m,"∣","\\shortmid");n(o,m,"∥","\\shortparallel");n(o,m,"≬","\\between",!0);n(o,m,"⋔","\\pitchfork",!0);n(o,m,"∝","\\varpropto");n(o,m,"◀","\\blacktriangleleft");n(o,m,"∴","\\therefore",!0);n(o,m,"∍","\\backepsilon");n(o,m,"▶","\\blacktriangleright");n(o,m,"∵","\\because",!0);n(o,m,"⋘","\\llless");n(o,m,"⋙","\\gggtr");n(o,b,"⊲","\\lhd");n(o,b,"⊳","\\rhd");n(o,m,"≂","\\eqsim",!0);n(o,m,"≑","\\Doteq",!0);n(o,m,"⥽","\\strictif",!0);n(o,m,"⥼","\\strictfi",!0);n(o,b,"∔","\\dotplus",!0);n(o,b,"∖","\\smallsetminus");n(o,b,"⋒","\\Cap",!0);n(o,b,"⋓","\\Cup",!0);n(o,b,"⩞","\\doublebarwedge",!0);n(o,b,"⊟","\\boxminus",!0);n(o,b,"⊞","\\boxplus",!0);n(o,b,"⧄","\\boxslash",!0);n(o,b,"⋇","\\divideontimes",!0);n(o,b,"⋉","\\ltimes",!0);n(o,b,"⋊","\\rtimes",!0);n(o,b,"⋋","\\leftthreetimes",!0);n(o,b,"⋌","\\rightthreetimes",!0);n(o,b,"⋏","\\curlywedge",!0);n(o,b,"⋎","\\curlyvee",!0);n(o,b,"⊝","\\circleddash",!0);n(o,b,"⊛","\\circledast",!0);n(o,b,"⊺","\\intercal",!0);n(o,b,"⋒","\\doublecap");n(o,b,"⋓","\\doublecup");n(o,b,"⊠","\\boxtimes",!0);n(o,b,"⋈","\\bowtie",!0);n(o,b,"⋈","\\Join");n(o,b,"⟕","\\leftouterjoin",!0);n(o,b,"⟖","\\rightouterjoin",!0);n(o,b,"⟗","\\fullouterjoin",!0);n(o,b,"∸","\\dotminus",!0);n(o,b,"⟑","\\wedgedot",!0);n(o,b,"⟇","\\veedot",!0);n(o,b,"⩢","\\doublebarvee",!0);n(o,b,"⩣","\\veedoublebar",!0);n(o,b,"⩟","\\wedgebar",!0);n(o,b,"⩠","\\wedgedoublebar",!0);n(o,b,"⩔","\\Vee",!0);n(o,b,"⩓","\\Wedge",!0);n(o,b,"⩃","\\barcap",!0);n(o,b,"⩂","\\barcup",!0);n(o,b,"⩈","\\capbarcup",!0);n(o,b,"⩀","\\capdot",!0);n(o,b,"⩇","\\capovercup",!0);n(o,b,"⩆","\\cupovercap",!0);n(o,b,"⩍","\\closedvarcap",!0);n(o,b,"⩌","\\closedvarcup",!0);n(o,b,"⨪","\\minusdot",!0);n(o,b,"⨫","\\minusfdots",!0);n(o,b,"⨬","\\minusrdots",!0);n(o,b,"⊻","\\Xor",!0);n(o,b,"⊼","\\Nand",!0);n(o,b,"⊽","\\Nor",!0);n(o,b,"⊽","\\barvee");n(o,b,"⫴","\\interleave",!0);n(o,b,"⧢","\\shuffle",!0);n(o,b,"⫶","\\threedotcolon",!0);n(o,b,"⦂","\\typecolon",!0);n(o,b,"∾","\\invlazys",!0);n(o,b,"⩋","\\twocaps",!0);n(o,b,"⩊","\\twocups",!0);n(o,b,"⩎","\\Sqcap",!0);n(o,b,"⩏","\\Sqcup",!0);n(o,b,"⩖","\\veeonvee",!0);n(o,b,"⩕","\\wedgeonwedge",!0);n(o,b,"⧗","\\blackhourglass",!0);n(o,b,"⧆","\\boxast",!0);n(o,b,"⧈","\\boxbox",!0);n(o,b,"⧇","\\boxcircle",!0);n(o,b,"⊜","\\circledequal",!0);n(o,b,"⦷","\\circledparallel",!0);n(o,b,"⦶","\\circledvert",!0);n(o,b,"⦵","\\circlehbar",!0);n(o,b,"⟡","\\concavediamond",!0);n(o,b,"⟢","\\concavediamondtickleft",!0);n(o,b,"⟣","\\concavediamondtickright",!0);n(o,b,"⋄","\\diamond",!0);n(o,b,"⧖","\\hourglass",!0);n(o,b,"⟠","\\lozengeminus",!0);n(o,b,"⌽","\\obar",!0);n(o,b,"⦸","\\obslash",!0);n(o,b,"⨸","\\odiv",!0);n(o,b,"⧁","\\ogreaterthan",!0);n(o,b,"⧀","\\olessthan",!0);n(o,b,"⦹","\\operp",!0);n(o,b,"⨷","\\Otimes",!0);n(o,b,"⨶","\\otimeshat",!0);n(o,b,"⋆","\\star",!0);n(o,b,"△","\\triangle",!0);n(o,b,"⨺","\\triangleminus",!0);n(o,b,"⨹","\\triangleplus",!0);n(o,b,"⨻","\\triangletimes",!0);n(o,b,"⟤","\\whitesquaretickleft",!0);n(o,b,"⟥","\\whitesquaretickright",!0);n(o,b,"⨳","\\smashtimes",!0);n(o,m,"⇢","\\dashrightarrow",!0);n(o,m,"⇠","\\dashleftarrow",!0);n(o,m,"⇇","\\leftleftarrows",!0);n(o,m,"⇆","\\leftrightarrows",!0);n(o,m,"⇚","\\Lleftarrow",!0);n(o,m,"↞","\\twoheadleftarrow",!0);n(o,m,"↢","\\leftarrowtail",!0);n(o,m,"↫","\\looparrowleft",!0);n(o,m,"⇋","\\leftrightharpoons",!0);n(o,m,"↶","\\curvearrowleft",!0);n(o,m,"↺","\\circlearrowleft",!0);n(o,m,"↰","\\Lsh",!0);n(o,m,"⇈","\\upuparrows",!0);n(o,m,"↿","\\upharpoonleft",!0);n(o,m,"⇃","\\downharpoonleft",!0);n(o,m,"⊶","\\origof",!0);n(o,m,"⊷","\\imageof",!0);n(o,m,"⊸","\\multimap",!0);n(o,m,"↭","\\leftrightsquigarrow",!0);n(o,m,"⇉","\\rightrightarrows",!0);n(o,m,"⇄","\\rightleftarrows",!0);n(o,m,"↠","\\twoheadrightarrow",!0);n(o,m,"↣","\\rightarrowtail",!0);n(o,m,"↬","\\looparrowright",!0);n(o,m,"↷","\\curvearrowright",!0);n(o,m,"↻","\\circlearrowright",!0);n(o,m,"↱","\\Rsh",!0);n(o,m,"⇊","\\downdownarrows",!0);n(o,m,"↾","\\upharpoonright",!0);n(o,m,"⇂","\\downharpoonright",!0);n(o,m,"⇝","\\rightsquigarrow",!0);n(o,m,"⇝","\\leadsto");n(o,m,"⇛","\\Rrightarrow",!0);n(o,m,"↾","\\restriction");n(o,d,"‘","`");n(o,d,"$","\\$");n(f,d,"$","\\$");n(f,d,"$","\\textdollar");n(o,d,"¢","\\cent");n(f,d,"¢","\\cent");n(o,d,"%","\\%");n(f,d,"%","\\%");n(o,d,"_","\\_");n(f,d,"_","\\_");n(f,d,"_","\\textunderscore");n(f,d,"␣","\\textvisiblespace",!0);n(o,d,"∠","\\angle",!0);n(o,d,"∞","\\infty",!0);n(o,d,"′","\\prime");n(o,d,"″","\\dprime");n(o,d,"‴","\\trprime");n(o,d,"⁗","\\qprime");n(o,d,"△","\\triangle");n(f,d,"Α","\\Alpha",!0);n(f,d,"Β","\\Beta",!0);n(f,d,"Γ","\\Gamma",!0);n(f,d,"Δ","\\Delta",!0);n(f,d,"Ε","\\Epsilon",!0);n(f,d,"Ζ","\\Zeta",!0);n(f,d,"Η","\\Eta",!0);n(f,d,"Θ","\\Theta",!0);n(f,d,"Ι","\\Iota",!0);n(f,d,"Κ","\\Kappa",!0);n(f,d,"Λ","\\Lambda",!0);n(f,d,"Μ","\\Mu",!0);n(f,d,"Ν","\\Nu",!0);n(f,d,"Ξ","\\Xi",!0);n(f,d,"Ο","\\Omicron",!0);n(f,d,"Π","\\Pi",!0);n(f,d,"Ρ","\\Rho",!0);n(f,d,"Σ","\\Sigma",!0);n(f,d,"Τ","\\Tau",!0);n(f,d,"Υ","\\Upsilon",!0);n(f,d,"Φ","\\Phi",!0);n(f,d,"Χ","\\Chi",!0);n(f,d,"Ψ","\\Psi",!0);n(f,d,"Ω","\\Omega",!0);n(o,k,"Α","\\Alpha",!0);n(o,k,"Β","\\Beta",!0);n(o,k,"Γ","\\Gamma",!0);n(o,k,"Δ","\\Delta",!0);n(o,k,"Ε","\\Epsilon",!0);n(o,k,"Ζ","\\Zeta",!0);n(o,k,"Η","\\Eta",!0);n(o,k,"Θ","\\Theta",!0);n(o,k,"Ι","\\Iota",!0);n(o,k,"Κ","\\Kappa",!0);n(o,k,"Λ","\\Lambda",!0);n(o,k,"Μ","\\Mu",!0);n(o,k,"Ν","\\Nu",!0);n(o,k,"Ξ","\\Xi",!0);n(o,k,"Ο","\\Omicron",!0);n(o,k,"Π","\\Pi",!0);n(o,k,"Ρ","\\Rho",!0);n(o,k,"Σ","\\Sigma",!0);n(o,k,"Τ","\\Tau",!0);n(o,k,"Υ","\\Upsilon",!0);n(o,k,"Φ","\\Phi",!0);n(o,k,"Χ","\\Chi",!0);n(o,k,"Ψ","\\Psi",!0);n(o,k,"Ω","\\Omega",!0);n(o,F,"¬","\\neg",!0);n(o,F,"¬","\\lnot");n(o,d,"⊤","\\top");n(o,d,"⊥","\\bot");n(o,d,"∅","\\emptyset");n(o,d,"⌀","\\varnothing");n(o,k,"α","\\alpha",!0);n(o,k,"β","\\beta",!0);n(o,k,"γ","\\gamma",!0);n(o,k,"δ","\\delta",!0);n(o,k,"ϵ","\\epsilon",!0);n(o,k,"ζ","\\zeta",!0);n(o,k,"η","\\eta",!0);n(o,k,"θ","\\theta",!0);n(o,k,"ι","\\iota",!0);n(o,k,"κ","\\kappa",!0);n(o,k,"λ","\\lambda",!0);n(o,k,"μ","\\mu",!0);n(o,k,"ν","\\nu",!0);n(o,k,"ξ","\\xi",!0);n(o,k,"ο","\\omicron",!0);n(o,k,"π","\\pi",!0);n(o,k,"ρ","\\rho",!0);n(o,k,"σ","\\sigma",!0);n(o,k,"τ","\\tau",!0);n(o,k,"υ","\\upsilon",!0);n(o,k,"ϕ","\\phi",!0);n(o,k,"χ","\\chi",!0);n(o,k,"ψ","\\psi",!0);n(o,k,"ω","\\omega",!0);n(o,k,"ε","\\varepsilon",!0);n(o,k,"ϑ","\\vartheta",!0);n(o,k,"ϖ","\\varpi",!0);n(o,k,"ϱ","\\varrho",!0);n(o,k,"ς","\\varsigma",!0);n(o,k,"φ","\\varphi",!0);n(o,k,"Ϙ","\\Coppa",!0);n(o,k,"ϙ","\\coppa",!0);n(o,k,"ϙ","\\varcoppa",!0);n(o,k,"Ϟ","\\Koppa",!0);n(o,k,"ϟ","\\koppa",!0);n(o,k,"Ϡ","\\Sampi",!0);n(o,k,"ϡ","\\sampi",!0);n(o,k,"Ϛ","\\Stigma",!0);n(o,k,"ϛ","\\stigma",!0);n(o,k,"⫫","\\Bot");n(o,d,"ð","\\eth",!0);n(f,d,"ð","ð");n(o,d,"Å","\\AA");n(f,d,"Å","\\AA",!0);n(o,d,"Æ","\\AE",!0);n(f,d,"Æ","\\AE",!0);n(o,d,"Ð","\\DH",!0);n(f,d,"Ð","\\DH",!0);n(o,d,"Þ","\\TH",!0);n(f,d,"Þ","\\TH",!0);n(o,d,"ß","\\ss",!0);n(f,d,"ß","\\ss",!0);n(o,d,"å","\\aa");n(f,d,"å","\\aa",!0);n(o,d,"æ","\\ae",!0);n(f,d,"æ","\\ae",!0);n(o,d,"ð","\\dh");n(f,d,"ð","\\dh",!0);n(o,d,"þ","\\th",!0);n(f,d,"þ","\\th",!0);n(o,d,"Đ","\\DJ",!0);n(f,d,"Đ","\\DJ",!0);n(o,d,"đ","\\dj",!0);n(f,d,"đ","\\dj",!0);n(o,d,"Ł","\\L",!0);n(f,d,"Ł","\\L",!0);n(o,d,"Ł","\\l",!0);n(f,d,"Ł","\\l",!0);n(o,d,"Ŋ","\\NG",!0);n(f,d,"Ŋ","\\NG",!0);n(o,d,"ŋ","\\ng",!0);n(f,d,"ŋ","\\ng",!0);n(o,d,"Œ","\\OE",!0);n(f,d,"Œ","\\OE",!0);n(o,d,"œ","\\oe",!0);n(f,d,"œ","\\oe",!0);n(o,b,"∗","∗",!0);n(o,b,"+","+");n(o,b,"∗","*");n(o,b,"⁄","/",!0);n(o,b,"⁄","⁄");n(o,b,"−","-",!0);n(o,b,"⋅","\\cdot",!0);n(o,b,"∘","\\circ",!0);n(o,b,"÷","\\div",!0);n(o,b,"±","\\pm",!0);n(o,b,"×","\\times",!0);n(o,b,"∩","\\cap",!0);n(o,b,"∪","\\cup",!0);n(o,b,"∖","\\setminus",!0);n(o,b,"∧","\\land");n(o,b,"∨","\\lor");n(o,b,"∧","\\wedge",!0);n(o,b,"∨","\\vee",!0);n(o,F,"⟦","\\llbracket",!0);n(o,M,"⟧","\\rrbracket",!0);n(o,F,"⟨","\\langle",!0);n(o,F,"⟪","\\lAngle",!0);n(o,F,"⦉","\\llangle",!0);n(o,F,"|","\\lvert");n(o,F,"‖","\\lVert",!0);n(o,d,"!","\\oc");n(o,d,"?","\\wn");n(o,d,"↓","\\shpos");n(o,d,"↕","\\shift");n(o,d,"↑","\\shneg");n(o,M,"?","?");n(o,M,"!","!");n(o,M,"‼","‼");n(o,M,"⟩","\\rangle",!0);n(o,M,"⟫","\\rAngle",!0);n(o,M,"⦊","\\rrangle",!0);n(o,M,"|","\\rvert");n(o,M,"‖","\\rVert");n(o,F,"⦃","\\lBrace",!0);n(o,M,"⦄","\\rBrace",!0);n(o,m,"=","\\equal",!0);n(o,m,":",":");n(o,m,"≈","\\approx",!0);n(o,m,"≅","\\cong",!0);n(o,m,"≥","\\ge");n(o,m,"≥","\\geq",!0);n(o,m,"←","\\gets");n(o,m,">","\\gt",!0);n(o,m,"∈","\\in",!0);n(o,m,"∉","\\notin",!0);n(o,m,"","\\@not");n(o,m,"⊂","\\subset",!0);n(o,m,"⊃","\\supset",!0);n(o,m,"⊆","\\subseteq",!0);n(o,m,"⊇","\\supseteq",!0);n(o,m,"⊈","\\nsubseteq",!0);n(o,m,"⊈","\\nsubseteqq");n(o,m,"⊉","\\nsupseteq",!0);n(o,m,"⊉","\\nsupseteqq");n(o,m,"⊨","\\models");n(o,m,"←","\\leftarrow",!0);n(o,m,"≤","\\le");n(o,m,"≤","\\leq",!0);n(o,m,"<","\\lt",!0);n(o,m,"→","\\rightarrow",!0);n(o,m,"→","\\to");n(o,m,"≱","\\ngeq",!0);n(o,m,"≱","\\ngeqq");n(o,m,"≱","\\ngeqslant");n(o,m,"≰","\\nleq",!0);n(o,m,"≰","\\nleqq");n(o,m,"≰","\\nleqslant");n(o,m,"⫫","\\Perp",!0);n(o,re," ","\\ ");n(o,re," ","\\space");n(o,re," ","\\nobreakspace");n(f,re," ","\\ ");n(f,re," "," ");n(f,re," ","\\space");n(f,re," ","\\nobreakspace");n(o,re,null,"\\nobreak");n(o,re,null,"\\allowbreak");n(o,ye,",",",");n(f,ye,":",":");n(o,ye,";",";");n(o,b,"⊼","\\barwedge");n(o,b,"⊻","\\veebar");n(o,b,"⊙","\\odot",!0);n(o,b,"⊕︎","\\oplus");n(o,b,"⊗","\\otimes",!0);n(o,d,"∂","\\partial",!0);n(o,b,"⊘","\\oslash",!0);n(o,b,"⊚","\\circledcirc",!0);n(o,b,"⊡","\\boxdot",!0);n(o,b,"△","\\bigtriangleup");n(o,b,"▽","\\bigtriangledown");n(o,b,"†","\\dagger");n(o,b,"⋄","\\diamond");n(o,b,"◃","\\triangleleft");n(o,b,"▹","\\triangleright");n(o,F,"{","\\{");n(f,d,"{","\\{");n(f,d,"{","\\textbraceleft");n(o,M,"}","\\}");n(f,d,"}","\\}");n(f,d,"}","\\textbraceright");n(o,F,"{","\\lbrace");n(o,M,"}","\\rbrace");n(o,F,"[","\\lbrack",!0);n(f,d,"[","\\lbrack",!0);n(o,M,"]","\\rbrack",!0);n(f,d,"]","\\rbrack",!0);n(o,F,"(","\\lparen",!0);n(o,M,")","\\rparen",!0);n(o,F,"⦇","\\llparenthesis",!0);n(o,M,"⦈","\\rrparenthesis",!0);n(f,d,"<","\\textless",!0);n(f,d,">","\\textgreater",!0);n(o,F,"⌊","\\lfloor",!0);n(o,M,"⌋","\\rfloor",!0);n(o,F,"⌈","\\lceil",!0);n(o,M,"⌉","\\rceil",!0);n(o,d,"\\","\\backslash");n(o,d,"|","|");n(o,d,"|","\\vert");n(f,d,"|","\\textbar",!0);n(o,d,"‖","\\|");n(o,d,"‖","\\Vert");n(f,d,"‖","\\textbardbl");n(f,d,"~","\\textasciitilde");n(f,d,"\\","\\textbackslash");n(f,d,"^","\\textasciicircum");n(o,m,"↑","\\uparrow",!0);n(o,m,"⇑","\\Uparrow",!0);n(o,m,"↓","\\downarrow",!0);n(o,m,"⇓","\\Downarrow",!0);n(o,m,"↕","\\updownarrow",!0);n(o,m,"⇕","\\Updownarrow",!0);n(o,O,"∐","\\coprod");n(o,O,"⋁","\\bigvee");n(o,O,"⋀","\\bigwedge");n(o,O,"⨄","\\biguplus");n(o,O,"⨄","\\bigcupplus");n(o,O,"⨃","\\bigcupdot");n(o,O,"⨇","\\bigdoublevee");n(o,O,"⨈","\\bigdoublewedge");n(o,O,"⋂","\\bigcap");n(o,O,"⋃","\\bigcup");n(o,O,"∫","\\int");n(o,O,"∫","\\intop");n(o,O,"∬","\\iint");n(o,O,"∭","\\iiint");n(o,O,"∏","\\prod");n(o,O,"∑","\\sum");n(o,O,"⨂","\\bigotimes");n(o,O,"⨁","\\bigoplus");n(o,O,"⨀","\\bigodot");n(o,O,"⨉","\\bigtimes");n(o,O,"∮","\\oint");n(o,O,"∯","\\oiint");n(o,O,"∰","\\oiiint");n(o,O,"∱","\\intclockwise");n(o,O,"∲","\\varointclockwise");n(o,O,"⨌","\\iiiint");n(o,O,"⨍","\\intbar");n(o,O,"⨎","\\intBar");n(o,O,"⨏","\\fint");n(o,O,"⨒","\\rppolint");n(o,O,"⨓","\\scpolint");n(o,O,"⨕","\\pointint");n(o,O,"⨖","\\sqint");n(o,O,"⨗","\\intlarhk");n(o,O,"⨘","\\intx");n(o,O,"⨙","\\intcap");n(o,O,"⨚","\\intcup");n(o,O,"⨅","\\bigsqcap");n(o,O,"⨆","\\bigsqcup");n(o,O,"∫","\\smallint");n(f,ie,"…","\\textellipsis");n(o,ie,"…","\\mathellipsis");n(f,ie,"…","\\ldots",!0);n(o,ie,"…","\\ldots",!0);n(o,ie,"⋰","\\iddots",!0);n(o,ie,"⋯","\\@cdots",!0);n(o,ie,"⋱","\\ddots",!0);n(o,d,"⋮","\\varvdots");n(f,d,"⋮","\\varvdots");n(o,B,"´","\\acute");n(o,B,"`","\\grave");n(o,B,"¨","\\ddot");n(o,B,"…","\\dddot");n(o,B,"….","\\ddddot");n(o,B,"~","\\tilde");n(o,B,"‾","\\bar");n(o,B,"˘","\\breve");n(o,B,"ˇ","\\check");n(o,B,"^","\\hat");n(o,B,"→","\\vec");n(o,B,"˙","\\dot");n(o,B,"˚","\\mathring");n(o,k,"ı","\\imath",!0);n(o,k,"ȷ","\\jmath",!0);n(o,d,"ı","ı");n(o,d,"ȷ","ȷ");n(f,d,"ı","\\i",!0);n(f,d,"ȷ","\\j",!0);n(f,d,"ø","\\o",!0);n(o,k,"ø","\\o",!0);n(f,d,"Ø","\\O",!0);n(o,k,"Ø","\\O",!0);n(f,B,"ˊ","\\'");n(f,B,"ˋ","\\`");n(f,B,"ˆ","\\^");n(f,B,"~","\\~");n(f,B,"ˉ","\\=");n(f,B,"˘","\\u");n(f,B,"˙","\\.");n(f,B,"¸","\\c");n(f,B,"˚","\\r");n(f,B,"ˇ","\\v");n(f,B,"¨",'\\"');n(f,B,"˝","\\H");n(o,B,"ˊ","\\'");n(o,B,"ˋ","\\`");n(o,B,"ˆ","\\^");n(o,B,"~","\\~");n(o,B,"ˉ","\\=");n(o,B,"˘","\\u");n(o,B,"˙","\\.");n(o,B,"¸","\\c");n(o,B,"˚","\\r");n(o,B,"ˇ","\\v");n(o,B,"¨",'\\"');n(o,B,"˝","\\H");var Ur={"--":!0,"---":!0,"``":!0,"''":!0};n(f,d,"–","--",!0);n(f,d,"–","\\textendash");n(f,d,"—","---",!0);n(f,d,"—","\\textemdash");n(f,d,"‘","`",!0);n(f,d,"‘","\\textquoteleft");n(f,d,"’","'",!0);n(f,d,"’","\\textquoteright");n(f,d,"“","``",!0);n(f,d,"“","\\textquotedblleft");n(f,d,"”","''",!0);n(f,d,"”","\\textquotedblright");n(o,d,"°","\\degree",!0);n(f,d,"°","\\degree");n(f,d,"°","\\textdegree",!0);n(o,d,"£","\\pounds");n(o,d,"£","\\mathsterling",!0);n(f,d,"£","\\pounds");n(f,d,"£","\\textsterling",!0);n(o,d,"✠","\\maltese");n(f,d,"✠","\\maltese");n(o,d,"€","\\euro",!0);n(f,d,"€","\\euro",!0);n(f,d,"€","\\texteuro");n(o,d,"©","\\copyright",!0);n(f,d,"©","\\textcopyright");n(o,d,"⌀","\\diameter",!0);n(f,d,"⌀","\\diameter");n(o,d,"𝛤","\\varGamma");n(o,d,"𝛥","\\varDelta");n(o,d,"𝛩","\\varTheta");n(o,d,"𝛬","\\varLambda");n(o,d,"𝛯","\\varXi");n(o,d,"𝛱","\\varPi");n(o,d,"𝛴","\\varSigma");n(o,d,"𝛶","\\varUpsilon");n(o,d,"𝛷","\\varPhi");n(o,d,"𝛹","\\varPsi");n(o,d,"𝛺","\\varOmega");n(f,d,"𝛤","\\varGamma");n(f,d,"𝛥","\\varDelta");n(f,d,"𝛩","\\varTheta");n(f,d,"𝛬","\\varLambda");n(f,d,"𝛯","\\varXi");n(f,d,"𝛱","\\varPi");n(f,d,"𝛴","\\varSigma");n(f,d,"𝛶","\\varUpsilon");n(f,d,"𝛷","\\varPhi");n(f,d,"𝛹","\\varPsi");n(f,d,"𝛺","\\varOmega");var Vr='0123456789/@."';for(let e=0;e<14;e++){const t=Vr.charAt(e);n(o,d,t,t)}var Wr='0123456789!@*()-=+";:?/.,';for(let e=0;e<25;e++){const t=Wr.charAt(e);n(f,d,t,t)}var Zt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let e=0;e<52;e++){const t=Zt.charAt(e);n(o,k,t,t),n(f,d,t,t)}var Hr="ÇÐÞçþℂℍℕℙℚℝℤℎℏℊℋℌℐℑℒℓ℘ℛℜℬℰℱℳℭℨ";for(let e=0;e<30;e++){const t=Hr.charAt(e);n(o,k,t,t),n(f,d,t,t)}var q="";for(let e=0;e<52;e++){q=String.fromCharCode(55349,56320+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56372+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56424+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56580+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56736+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56788+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56840+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56944+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,56632+e),n(o,k,q,q),n(f,d,q,q);const t=Zt.charAt(e);q=String.fromCharCode(55349,56476+e),n(o,k,t,q),n(f,d,t,q)}for(let e=0;e<10;e++)q=String.fromCharCode(55349,57294+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,57314+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,57324+e),n(o,k,q,q),n(f,d,q,q),q=String.fromCharCode(55349,57334+e),n(o,k,q,q),n(f,d,q,q);function Zr(e,t,r){const a=[];let s=[],i=[],l=0,u=0;for(;u<e.length;){for(;e[u]instanceof Je;)e.splice(u,1,...e[u].children);const h=e[u];if(h.attributes&&h.attributes.linebreak&&h.attributes.linebreak==="newline"){i.length>0&&s.push(new p("mrow",i)),s.push(h),i=[];const g=new p("mtd",s);g.style.textAlign="left",a.push(new p("mtr",[g])),s=[],u+=1;continue}if(i.push(h),h.type&&h.type==="mo"&&h.children.length===1&&!(h.attributes.form&&h.attributes.form==="prefix")&&!Object.prototype.hasOwnProperty.call(h.attributes,"movablelimits")){const g=h.children[0].text;if(t==="="&&g==="="){if(l+=1,l>1){i.pop();const A=new p("mrow",i);s.push(A),i=[h]}}else if(t==="tex"){const A=u<e.length-1?e[u+1]:null;let v=!0;if(!(A&&A.type==="mtext"&&A.attributes.linebreak&&A.attributes.linebreak==="nobreak"))for(let y=u+1;y<e.length;y++){const _=e[y];if(_.type&&_.type==="mspace"&&!(_.attributes.linebreak&&_.attributes.linebreak==="newline"))i.push(_),u+=1,_.attributes&&_.attributes.linebreak&&_.attributes.linebreak==="nobreak"&&(v=!1);else break}if(v){const y=new p("mrow",i);s.push(y),i=[]}}}u+=1}if(i.length>0){const h=new p("mrow",i);s.push(h)}if(a.length>0){const h=new p("mtd",s);h.style.textAlign="left";const g=new p("mtr",[h]);a.push(g);const A=new p("mtable",a);return r||(A.setAttribute("columnalign","left"),A.setAttribute("rowspacing","0em")),A}return oe(s)}var H=function(e,t,r){return N[t][e]&&N[t][e].replace&&e.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(Ur,e)&&r&&(r.fontFamily&&r.fontFamily.slice(4,6)==="tt"||r.font&&r.font.slice(4,6)==="tt"))&&(e=N[t][e].replace),new j(e)},ut=(e,t)=>{if(e.children.length===0||e.children[e.children.length-1].type!=="mtext"){const r=new p("mtext",[new j(t.children[0].text)]);e.children.push(r)}else e.children[e.children.length-1].children[0].text+=t.children[0].text},Le=e=>{if(e.type!=="mrow"&&e.type!=="mstyle"||e.children.length===0)return e;const t=new p("mrow");for(let r=0;r<e.children.length;r++){const a=e.children[r];if(a.type==="mtext"&&Object.keys(a.attributes).length===0)ut(t,a);else if(a.type==="mrow"){let s=!0;for(let i=0;i<a.children.length;i++)if(a.children[i].type!=="mtext"||Object.keys(a.attributes).length!==0){s=!1;break}if(s)for(let i=0;i<a.children.length;i++){const l=a.children[i];ut(t,l)}else t.children.push(a)}else t.children.push(a)}for(let r=0;r<t.children.length;r++)if(t.children[r].type==="mtext"){const a=t.children[r];a.children[0].text.charAt(0)===" "&&(a.children[0].text=" "+a.children[0].text.slice(1));const s=a.children[0].text.length;s>0&&a.children[0].text.charAt(s-1)===" "&&(a.children[0].text=a.children[0].text.slice(0,-1)+" ");for(const[i,l]of Object.entries(e.attributes))a.attributes[i]=l}return t.children.length===1&&t.children[0].type==="mtext"?t.children[0]:t},xe=function(e,t=!1){if(e.length===1&&!(e[0]instanceof Je))return e[0];if(!t){e[0]instanceof p&&e[0].type==="mo"&&!e[0].attributes.fence&&(e[0].attributes.lspace="0em",e[0].attributes.rspace="0em");const r=e.length-1;e[r]instanceof p&&e[r].type==="mo"&&!e[r].attributes.fence&&(e[r].attributes.lspace="0em",e[r].attributes.rspace="0em")}return new p("mrow",e)};function De(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){const t=e.children[0];return t instanceof j&&t.text==="."}else if(e.type==="mtext"&&e.children.length===1){const t=e.children[0];return t instanceof j&&t.text===" "}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){const t=e.children[0];return t instanceof j&&t.text===","}else return!1}var Xr=(e,t)=>{const r=e[t],a=e[t+1];return r.type==="atom"&&r.text===","&&r.loc&&a.loc&&r.loc.end===a.loc.start},ke=e=>e.type==="atom"&&e.family==="rel"||e.type==="mclass"&&e.mclass==="mrel",U=function(e,t,r=!1){if(!r&&e.length===1){const l=z(e[0],t);return l instanceof p&&l.type==="mo"&&(l.setAttribute("lspace","0em"),l.setAttribute("rspace","0em")),[l]}const a=[],s=[];let i;for(let l=0;l<e.length;l++)s.push(z(e[l],t));for(let l=0;l<s.length;l++){const u=s[l];if(l<e.length-1&&ke(e[l])&&ke(e[l+1])&&u.setAttribute("rspace","0em"),l>0&&ke(e[l])&&ke(e[l-1])&&u.setAttribute("lspace","0em"),u.type==="mn"&&i&&i.type==="mn"){i.children.push(...u.children);continue}else if(De(u)&&i&&i.type==="mn"){i.children.push(...u.children);continue}else if(i&&i.type==="mn"&&l<s.length-1&&s[l+1].type==="mn"&&Xr(e,l)){i.children.push(...u.children);continue}else if(u.type==="mn"&&De(i))u.children=[...i.children,...u.children],a.pop();else if((u.type==="msup"||u.type==="msub")&&u.children.length>=1&&i&&(i.type==="mn"||De(i))){const h=u.children[0];h instanceof p&&h.type==="mn"&&i&&(h.children=[...i.children,...h.children],a.pop())}a.push(u),i=u}return a},ne=function(e,t,r=!1){return xe(U(e,t,r),r)},z=function(e,t){if(!e)return new p("mrow");if($e[e.type])return $e[e.type](e,t);throw new w("Got group of unknown type: '"+e.type+"'")},dt=e=>new p("mtd",[],[],{padding:"0",width:"50%"}),Yr=["mrow","mtd","mtable","mtr"],Re=e=>{for(const t of e.children)if(t.type&&Yr.includes(t.type)){if(t.classes&&t.classes[0]==="tml-label")return t.label;{const r=Re(t);if(r)return r}}else if(!t.type){const r=Re(t);if(r)return r}},Kr=(e,t,r,a)=>{t=ne(t[0].body,r),t=Le(t),t.classes.push("tml-tag");const s=Re(e);e=new p("mtd",[e]);const i=[dt(),e,dt()];i[a?0:2].children.push(t);const l=new p("mtr",i,["tml-tageqn"]);s&&l.setAttribute("id",s);const u=new p("mtable",[l]);return u.style.width="100%",u.setAttribute("displaystyle","true"),u};function Jr(e,t,r,a){let s=null;e.length===1&&e[0].type==="tag"&&(s=e[0].tag,e=e[0].body);const i=U(e,r);if(i.length===1&&i[0]instanceof Wt)return i[0];const l=a.displayMode||a.annotate?"none":a.wrap,u=i.length===0?null:i[0];let h=i.length===1&&s===null&&u instanceof p?i[0]:Zr(i,l,a.displayMode);if(s&&(h=Kr(h,s,r,a.leqno)),a.annotate){const A=new p("annotation",[new j(t)]);A.setAttribute("encoding","application/x-tex"),h=new p("semantics",[h,A])}const g=new p("math",[h]);return a.xml&&g.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a.displayMode&&(g.setAttribute("display","block"),g.style.display="block math",g.classes=["tml-display"]),g}var Qr="DHKLUcegorsuvxyzΠΥΨαδηιμνοτυχϵ",en="BCEGIMNOPQRSTXZlpqtwΓΘΞΣΦΩβεζθξρςφψϑϕϱ",tn="AFJdfΔΛ",Xt=(e,t)=>{const r=e.isStretchy?Ht(e):new p("mo",[H(e.label,e.mode)]);e.isStretchy||r.setAttribute("stretchy","false"),e.label!=="\\vec"&&(r.style.mathDepth="0");const a=e.label==="\\c"?"munder":"mover",s=nn.has(e.label);if(a==="mover"&&e.mode==="math"&&!e.isStretchy&&e.base.text&&e.base.text.length===1){const i=e.base.text,l=e.label==="\\vec",u=l==="\\vec"?"-vec":"";l&&r.classes.push("tml-vec");const h=l?"-vec":s?"-acc":"";Qr.indexOf(i)>-1?(r.classes.push(`chr-sml${u}`),r.classes.push(`wbk-sml${h}`)):en.indexOf(i)>-1?(r.classes.push(`chr-med${u}`),r.classes.push(`wbk-med${h}`)):tn.indexOf(i)>-1?(r.classes.push(`chr-lrg${u}`),r.classes.push(`wbk-lrg${h}`)):l?r.classes.push("wbk-vec"):s&&r.classes.push("wbk-acc")}else s&&r.classes.push("wbk-acc");return new p(a,[z(e.base,t),r])},rn=new Set(["\\acute","\\check","\\grave","\\ddot","\\dddot","\\ddddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"]),nn=new Set(["\\acute","\\bar","\\breve","\\check","\\dot","\\ddot","\\grave","\\hat","\\mathring","\\`","\\'","\\^","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v"]),mt={"\\`":"̀","\\'":"́","\\^":"̂","\\~":"̃","\\=":"̄","\\u":"̆","\\.":"̇",'\\"':"̈","\\r":"̊","\\H":"̋","\\v":"̌","\\c":"̧"};S({type:"accent",names:["\\acute","\\grave","\\ddot","\\dddot","\\ddddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\overparen","\\widecheck","\\widehat","\\wideparen","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=fe(t[0]),a=!rn.has(e.funcName);return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,base:r}},mathmlBuilder:Xt});S({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\c","\\u","\\.",'\\"',"\\r","\\H","\\v"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=fe(t[0]),a=e.parser.mode;return a==="math"&&e.parser.settings.strict&&`${e.funcName}`,a==="text"&&r.text&&r.text.length===1&&e.funcName in mt&&jt.indexOf(r.text)>-1?{type:"textord",mode:"text",text:r.text+mt[e.funcName]}:e.funcName==="\\c"&&a==="text"&&r.text&&r.text.length===1?{type:"textord",mode:"text",text:r.text+"̧"}:{type:"accent",mode:a,label:e.funcName,isStretchy:!1,base:r}},mathmlBuilder:Xt});S({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underparen","\\utilde"],props:{numArgs:1},handler:({parser:e,funcName:t},r)=>{const a=r[0];return{type:"accentUnder",mode:e.mode,label:t,base:a}},mathmlBuilder:(e,t)=>{const r=Ht(e);return r.style["math-depth"]=0,new p("munder",[z(e.base,t),r])}});var ht={pt:800/803,pc:12*800/803,dd:1238/1157*800/803,cc:14856/1157*800/803,nd:685/642*800/803,nc:1370/107*800/803,sp:1/65536*800/803,mm:25.4/72,cm:2.54/72,in:1/72,px:96/72},an=["em","ex","mu","pt","mm","cm","in","px","bp","pc","dd","cc","nd","nc","sp"],Yt=function(e){return typeof e!="string"&&(e=e.unit),an.indexOf(e)>-1},Kt=e=>[1,.7,.5][Math.max(e-1,0)],J=function(e,t){let r=e.number;if(t.maxSize[0]<0&&r>0)return{number:0,unit:"em"};const a=e.unit;switch(a){case"mm":case"cm":case"in":case"px":return r*ht[a]>t.maxSize[1]?{number:t.maxSize[1],unit:"pt"}:{number:r,unit:a};case"em":case"ex":return a==="ex"&&(r*=.431),r=Math.min(r/Kt(t.level),t.maxSize[0]),{number:Ie(r),unit:"em"};case"bp":return r>t.maxSize[1]&&(r=t.maxSize[1]),{number:r,unit:"pt"};case"pt":case"pc":case"dd":case"cc":case"nd":case"nc":case"sp":return r=Math.min(r*ht[a],t.maxSize[1]),{number:Ie(r),unit:"pt"};case"mu":return r=Math.min(r/18,t.maxSize[0]),{number:Ie(r),unit:"em"};default:throw new w("Invalid unit: '"+a+"'")}},G=e=>{const t=new p("mspace");return t.setAttribute("width",e+"em"),t},Ae=(e,t=.3,r=0,a=!1)=>{if(e==null&&r===0)return G(t);const s=e?[e]:[];if(t!==0&&s.unshift(G(t)),r>0&&s.push(G(r)),a){const i=new p("mpadded",s);return i.setAttribute("height","0.1px"),i}else return new p("mrow",s)},Ne=(e,t)=>Number(e)/Kt(t),je=(e,t,r,a)=>{const s=et(e),i=e.slice(1,3)==="eq",l=e.charAt(1)==="x"?"1.75":e.slice(2,4)==="cd"?"3.0":i?"1.0":"2.0";s.setAttribute("lspace","0"),s.setAttribute("rspace",i?"0.5em":"0");const u=a.withLevel(a.level<2?2:3),h=Ne(l,u.level),g=Ne(l,3),A=Ae(null,h.toFixed(4),0),v=Ae(null,g.toFixed(4),0),y=Ne(i?0:.3,u.level).toFixed(4);let _,L;const E=t&&t.body&&(t.body.body||t.body.length>0);if(E){let C=z(t,u);C=Ae(C,y,y,e==="\\\\cdrightarrow"||e==="\\\\cdleftarrow"),_=new p("mover",[C,v])}const P=r&&r.body&&(r.body.body||r.body.length>0);if(P){let C=z(r,u);C=Ae(C,y,y),L=new p("munder",[C,v])}let T;return!E&&!P?T=new p("mover",[s,A]):E&&P?T=new p("munderover",[s,L,_]):E?T=new p("mover",[s,_]):T=new p("munder",[s,L]),l==="3.0"&&(T.style.height="1em"),T.setAttribute("accent","false"),T};S({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xleftrightharpoons","\\xrightleftharpoons","\\yields","\\yieldsLeft","\\mesomerism","\\longrightharpoonup","\\longleftharpoondown","\\yieldsLeftRight","\\chemequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler({parser:e,funcName:t},r,a){return{type:"xArrow",mode:e.mode,name:t,body:r[0],below:a[0]}},mathmlBuilder(e,t){const r=[je(e.name,e.body,e.below,t)];return r.unshift(G(.2778)),r.push(G(.2778)),new p("mrow",r)}});var pt={"\\equilibriumRight":["\\longrightharpoonup","\\eqleftharpoondown"],"\\equilibriumLeft":["\\eqrightharpoonup","\\longleftharpoondown"]};S({type:"stackedArrow",names:["\\equilibriumRight","\\equilibriumLeft"],props:{numArgs:1,numOptionalArgs:1},handler({parser:e,funcName:t},r,a){const s=r[0]?{type:"hphantom",mode:e.mode,body:r[0]}:null,i=a[0]?{type:"hphantom",mode:e.mode,body:a[0]}:null;return{type:"stackedArrow",mode:e.mode,name:t,body:r[0],upperArrowBelow:i,lowerArrowBody:s,below:a[0]}},mathmlBuilder(e,t){const r=pt[e.name][0],a=pt[e.name][1],s=je(r,e.body,e.upperArrowBelow,t),i=je(a,e.lowerArrowBody,e.below,t);let l;const u=new p("mpadded",[s]);if(u.setAttribute("voffset","0.3em"),u.setAttribute("height","+0.3em"),u.setAttribute("depth","-0.3em"),e.name==="\\equilibriumLeft"){const h=new p("mpadded",[i]);h.setAttribute("width","0.5em"),l=new p("mpadded",[G(.2778),h,u,G(.2778)])}else u.setAttribute("width",e.name==="\\equilibriumRight"?"0.5em":"0"),l=new p("mpadded",[G(.2778),u,i,G(.2778)]);return l.setAttribute("voffset","-0.18em"),l.setAttribute("height","-0.18em"),l.setAttribute("depth","+0.18em"),l}});var Jt={};function Z({type:e,names:t,props:r,handler:a,mathmlBuilder:s}){const i={type:e,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a};for(let l=0;l<t.length;++l)Jt[t[l]]=i;s&&($e[e]=s)}function $(e,t){if(!e||e.type!==t)throw new Error(`Expected node of type ${t}, but got `+(e?`node of type ${e.type}`:String(e)));return e}function tt(e){const t=ze(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?`node of type ${e.type}`:String(e)));return t}function ze(e){return e&&(e.type==="atom"||e.type==="delimiter"||Object.prototype.hasOwnProperty.call(jr,e.type))?e:null}var on={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},ft=()=>({type:"styling",body:[],mode:"math",scriptLevel:"display"}),gt=e=>e.type==="textord"&&e.text==="@",sn=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function ln(e,t,r){const a=on[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const s=r.callFunction("\\\\cdleft",[t[0]],[]),i={type:"atom",text:a,mode:"math",family:"rel"},l={type:"ordgroup",mode:"math",body:[s,r.callFunction("\\Big",[i],[]),r.callFunction("\\\\cdright",[t[1]],[])],semisimple:!0};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}function cn(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const s=e.fetch().text;if(s==="&"||s==="\\\\")e.consume();else if(s==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new w("Expected \\\\ or \\cr or \\end",e.nextToken)}let r=[];const a=[r];for(let s=0;s<t.length;s++){const i=t[s];let l=ft();for(let u=0;u<i.length;u++)if(!gt(i[u]))l.body.push(i[u]);else{r.push(l),u+=1;const h=tt(i[u]).text,g=new Array(2);if(g[0]={type:"ordgroup",mode:"math",body:[]},g[1]={type:"ordgroup",mode:"math",body:[]},!("=|.".indexOf(h)>-1))if("<>AV".indexOf(h)>-1)for(let v=0;v<2;v++){let y=!0;for(let _=u+1;_<i.length;_++){if(sn(i[_],h)){y=!1,u=_;break}if(gt(i[_]))throw new w("Missing a "+h+" character to complete a CD arrow.",i[_]);g[v].body.push(i[_])}if(y)throw new w("Missing a "+h+" character to complete a CD arrow.",i[u])}else throw new w('Expected one of "<>AV=|." after @.');const A=ln(h,g,e);r.push(A),l=ft()}s%2===0?r.push(l):r.shift(),r=[],a.push(r)}return a.pop(),e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:"math",body:a,tags:null,labels:new Array(a.length+1).fill(""),envClasses:["jot","cd"],cols:[],hLinesBeforeRow:new Array(a.length+1).fill([])}}S({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler({parser:e,funcName:t},r){return{type:"cdlabel",mode:e.mode,side:t.slice(4),label:r[0]}},mathmlBuilder(e,t){if(e.label.body.length===0)return new p("mrow",t);const r=z(e.label,t);e.side==="left"&&r.classes.push("tml-shift-left");const a=new p("mtd",[r]);a.style.padding="0";const s=new p("mtr",[a]),i=new p("mtable",[s]),l=new p("mpadded",[i]);return l.setAttribute("width","0.1px"),l.setAttribute("displaystyle","false"),l.setAttribute("scriptlevel","1"),l}});S({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler({parser:e},t){return{type:"cdlabelparent",mode:e.mode,fragment:t[0]}},mathmlBuilder(e,t){return new p("mrow",[z(e.fragment,t)])}});var Qt=e=>({type:"ordgroup",mode:"math",body:e,semisimple:!0}),Pe=(e,t)=>({type:t,mode:"math",body:Qt(e)}),un=(e,t)=>{const r=e.body;r[0].shift();const a=new Array(r.length-1).fill().map(()=>[]);for(let h=1;h<r.length;h++){a[h-1].push(r[h].shift());const g=[];for(let A=0;A<r[h].length;A++)g.push(r[h][A]);a[h-1].push(Pe(g,"vphantom"))}const s=new Array(r.length).fill().map(()=>[]);for(let h=0;h<r[0].length;h++)s[0].push(r[0][h]);for(let h=1;h<r.length;h++)for(let g=0;g<r[0].length;g++)s[h].push(Pe(r[h][g].body,"hphantom"));for(let h=0;h<r[0].length;h++)r[0][h]=Pe(r[0][h].body,"hphantom");const i={type:"array",mode:"math",body:a,cols:[{type:"align",align:"c"}],rowGaps:new Array(a.length-1).fill(null),hLinesBeforeRow:new Array(a.length+1).fill().map(()=>[]),envClasses:[],scriptLevel:"text",arraystretch:1,labels:new Array(a.length).fill(""),arraycolsep:{number:.04,unit:"em"}},l={type:"styling",mode:"math",scriptLevel:"text",body:[{type:"array",mode:"math",body:s,cols:new Array(s.length).fill({type:"align",align:"c"}),rowGaps:new Array(s.length-1).fill(null),hLinesBeforeRow:new Array(s.length+1).fill().map(()=>[]),envClasses:[],scriptLevel:"text",arraystretch:1,labels:new Array(s.length).fill(""),arraycolsep:null}]},u={type:"supsub",mode:"math",stack:!0,base:{type:"op",mode:"math",limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!0,symbol:!1,suppressBaseShift:!0,body:[{type:"leftright",mode:"math",body:[e],left:t?t[0]:"(",right:t?t[1]:")",rightColor:void 0}]},sup:l,sub:null};return Qt([i,u])},W=class er{constructor(t,r,a){this.lexer=t,this.start=r,this.end=a}static range(t,r){return r?!t||!t.loc||!r.loc||t.loc.lexer!==r.loc.lexer?null:new er(t.loc.lexer,t.loc.start,r.loc.end):t&&t.loc}},Q=class tr{constructor(t,r){this.text=t,this.loc=r}range(t,r){return new tr(r,W.range(this,t))}},D={DISPLAY:0,TEXT:1,SCRIPT:2,SCRIPTSCRIPT:3},rr={};function c(e,t){rr[e]=t}var dn=rr;c("\\noexpand",function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});c("\\expandafter",function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});c("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}});c("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}});c("\\@ifnextchar",function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return t[0].length===1&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});c("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");c("\\TextOrMath",function(e){const t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Ue=e=>{let t="";for(let r=e.length-1;r>-1;r--)t+=e[r].text;return t},rt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},bt=e=>{const t=e.future().text;return t==="EOF"?[null,""]:[rt[t.charAt(0)],t]},yt=(e,t,r)=>{for(let a=1;a<t.length;a++){const s=rt[t.charAt(a)];e*=r,e+=s}return e};c("\\char",function(e){let t=e.popToken(),r,a="";if(t.text==="'")r=8,t=e.popToken();else if(t.text==='"')r=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new w("\\char` missing argument");a=t.text.charCodeAt(0)}else r=10;if(r){let s=t.text;if(a=rt[s.charAt(0)],a==null||a>=r)throw new w(`Invalid base-${r} digit ${t.text}`);a=yt(a,s,r);let i;for([i,s]=bt(e);i!=null&&i<r;)a*=r,a+=i,a=yt(a,s,r),e.popToken(),[i,s]=bt(e)}return`\\@char{${a}}`});function nt(e){const t=e.consumeArgs(1)[0];let r="",a=t[t.length-1].loc.start;for(let s=t.length-1;s>=0;s--){const i=t[s].loc.start;i>a&&(r+=" ",a=i),r+=t[s].text,a+=t[s].text.length}return r}c("\\surd","\\sqrt{\\vphantom{|}}");c("⊕","\\oplus");c("\\long","");c("\\bgroup","{");c("\\egroup","}");c("~","\\nobreakspace");c("\\lq","`");c("\\rq","'");c("\\aa","\\r a");c("\\Bbbk","\\Bbb{k}");c("\\mathstrut","\\vphantom{(}");c("\\underbar","\\underline{\\text{#1}}");c("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");c("⋮","\\vdots");c("\\arraystretch","1");c("\\arraycolsep","6pt");c("\\substack","\\begin{subarray}{c}#1\\end{subarray}");c("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");c("\\implies","\\DOTSB\\;\\Longrightarrow\\;");c("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var xt={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcap":"\\dotsb","\\bigsqcup":"\\dotsb","\\bigtimes":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\DOTSX":"\\dotsx"};c("\\dots",function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in xt?t=xt[r]:(r.slice(0,4)==="\\not"||r in N.math&&["bin","rel"].includes(N.math[r].group))&&(t="\\dotsb"),t});var at={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};c("\\dotso",function(e){return e.future().text in at?"\\ldots\\,":"\\ldots"});c("\\dotsc",function(e){const t=e.future().text;return t in at&&t!==","?"\\ldots\\,":"\\ldots"});c("\\cdots",function(e){return e.future().text in at?"\\@cdots\\,":"\\@cdots"});c("\\dotsb","\\cdots");c("\\dotsm","\\cdots");c("\\dotsi","\\!\\cdots");c("\\idotsint","\\int\\!\\cdots\\!\\int");c("\\dotsx","\\ldots\\,");c("\\DOTSI","\\relax");c("\\DOTSB","\\relax");c("\\DOTSX","\\relax");c("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");c("\\,","{\\tmspace+{3mu}{.1667em}}");c("\\thinspace","\\,");c("\\>","\\mskip{4mu}");c("\\:","{\\tmspace+{4mu}{.2222em}}");c("\\medspace","\\:");c("\\;","{\\tmspace+{5mu}{.2777em}}");c("\\thickspace","\\;");c("\\!","{\\tmspace-{3mu}{.1667em}}");c("\\negthinspace","\\!");c("\\negmedspace","{\\tmspace-{4mu}{.2222em}}");c("\\negthickspace","{\\tmspace-{5mu}{.277em}}");c("\\enspace","\\kern.5em ");c("\\enskip","\\hskip.5em\\relax");c("\\quad","\\hskip1em\\relax");c("\\qquad","\\hskip2em\\relax");c("\\AA","\\TextOrMath{\\Angstrom}{\\mathring{A}}\\relax");c("\\tag","\\@ifstar\\tag@literal\\tag@paren");c("\\tag@paren","\\tag@literal{({#1})}");c("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new w("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});c("\\notag","\\nonumber");c("\\nonumber","\\gdef\\@eqnsw{0}");c("\\bmod","\\mathbin{\\text{mod}}");c("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");c("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");c("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");c("\\newline","\\\\\\relax");c("\\TeX","\\textrm{T}\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125em\\textrm{X}");c("\\LaTeX","\\textrm{L}\\kern-.35em\\raisebox{0.2em}{\\scriptstyle A}\\kern-.15em\\TeX");c("\\Temml","\\textrm{T}\\kern-0.2em\\lower{0.2em}{\\textrm{E}}\\kern-0.08em{\\textrm{M}\\kern-0.08em\\raise{0.2em}\\textrm{M}\\kern-0.08em\\textrm{L}}");c("\\hspace","\\@ifstar\\@hspacer\\@hspace");c("\\@hspace","\\hskip #1\\relax");c("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");c("\\colon",'\\mathpunct{\\char"3a}');c("\\prescript","\\pres@cript{_{#1}^{#2}}{}{#3}");c("\\ordinarycolon",'\\char"3a');c("\\vcentcolon","\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}}");c("\\coloneq",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"2212}');c("\\Coloneq",'\\mathrel{\\char"2237\\char"2212}');c("\\Eqqcolon",'\\mathrel{\\char"3d\\char"2237}');c("\\Eqcolon",'\\mathrel{\\char"2212\\char"2237}');c("\\colonapprox",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"2248}');c("\\Colonapprox",'\\mathrel{\\char"2237\\char"2248}');c("\\colonsim",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"223c}');c("\\Colonsim",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"223c}');c("\\ratio","\\vcentcolon");c("\\coloncolon","\\dblcolon");c("\\colonequals","\\coloneqq");c("\\coloncolonequals","\\Coloneqq");c("\\equalscolon","\\eqqcolon");c("\\equalscoloncolon","\\Eqqcolon");c("\\colonminus","\\coloneq");c("\\coloncolonminus","\\Coloneq");c("\\minuscolon","\\eqcolon");c("\\minuscoloncolon","\\Eqcolon");c("\\coloncolonapprox","\\Colonapprox");c("\\coloncolonsim","\\Colonsim");c("\\notni","\\mathrel{\\char`∌}");c("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");c("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");c("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");c("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");c("\\varlimsup","\\DOTSB\\operatorname*{\\overline{\\text{lim}}}");c("\\varliminf","\\DOTSB\\operatorname*{\\underline{\\text{lim}}}");c("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{\\text{lim}}}");c("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{\\text{lim}}}");c("\\centerdot","{\\medspace\\rule{0.167em}{0.189em}\\medspace}");c("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");c("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");c("\\plim","\\DOTSB\\operatorname*{plim}");c("\\leftmodels","\\mathop{\\reflectbox{$\\models$}}");c("\\bra","\\mathinner{\\langle{#1}|}");c("\\ket","\\mathinner{|{#1}\\rangle}");c("\\braket","\\mathinner{\\langle{#1}\\rangle}");c("\\Bra","\\left\\langle#1\\right|");c("\\Ket","\\left|#1\\right\\rangle");var nr=(e,t)=>{const r=`}\\,\\middle${t[0]==="|"?"\\vert":"\\Vert"}\\,{`;return e.slice(0,t.index)+r+e.slice(t.index+t[0].length)};c("\\Braket",function(e){let t=nt(e);const r=/\|\||\||\\\|/g;let a;for(;(a=r.exec(t))!==null;)t=nr(t,a);return"\\left\\langle{"+t+"}\\right\\rangle"});c("\\Set",function(e){let t=nt(e);const r=/\|\||\||\\\|/.exec(t);return r&&(t=nr(t,r)),"\\left\\{\\:{"+t+"}\\:\\right\\}"});c("\\set",function(e){return"\\{{"+nt(e).replace(/\|/,"}\\mid{")+"}\\}"});c("\\angln","{\\angl n}");c("\\odv","\\@ifstar\\odv@next\\odv@numerator");c("\\odv@numerator","\\frac{\\mathrm{d}#1}{\\mathrm{d}#2}");c("\\odv@next","\\frac{\\mathrm{d}}{\\mathrm{d}#2}#1");c("\\pdv","\\@ifstar\\pdv@next\\pdv@numerator");var ar=e=>{const t=e[0][0].text,r=Ue(e[1]).split(","),a=String(r.length),s=a==="1"?"\\partial":`\\partial^${a}`;let i="";return r.map(l=>{i+="\\partial "+l.trim()+"\\,"}),[t,s,i.replace(/\\,$/,"")]};c("\\pdv@numerator",function(e){const[t,r,a]=ar(e.consumeArgs(2));return`\\frac{${r} ${t}}{${a}}`});c("\\pdv@next",function(e){const[t,r,a]=ar(e.consumeArgs(2));return`\\frac{${r}}{${a}} ${t}`});c("\\upalpha","\\up@greek{\\alpha}");c("\\upbeta","\\up@greek{\\beta}");c("\\upgamma","\\up@greek{\\gamma}");c("\\updelta","\\up@greek{\\delta}");c("\\upepsilon","\\up@greek{\\epsilon}");c("\\upzeta","\\up@greek{\\zeta}");c("\\upeta","\\up@greek{\\eta}");c("\\uptheta","\\up@greek{\\theta}");c("\\upiota","\\up@greek{\\iota}");c("\\upkappa","\\up@greek{\\kappa}");c("\\uplambda","\\up@greek{\\lambda}");c("\\upmu","\\up@greek{\\mu}");c("\\upnu","\\up@greek{\\nu}");c("\\upxi","\\up@greek{\\xi}");c("\\upomicron","\\up@greek{\\omicron}");c("\\uppi","\\up@greek{\\pi}");c("\\upalpha","\\up@greek{\\alpha}");c("\\uprho","\\up@greek{\\rho}");c("\\upsigma","\\up@greek{\\sigma}");c("\\uptau","\\up@greek{\\tau}");c("\\upupsilon","\\up@greek{\\upsilon}");c("\\upphi","\\up@greek{\\phi}");c("\\upchi","\\up@greek{\\chi}");c("\\uppsi","\\up@greek{\\psi}");c("\\upomega","\\up@greek{\\omega}");c("\\invamp",'\\mathbin{\\char"214b}');c("\\parr",'\\mathbin{\\char"214b}');c("\\upand",'\\mathbin{\\char"214b}');c("\\with",'\\mathbin{\\char"26}');c("\\multimapinv",'\\mathrel{\\char"27dc}');c("\\multimapboth",'\\mathrel{\\char"29df}');c("\\scoh",'{\\mkern5mu\\char"2322\\mkern5mu}');c("\\sincoh",'{\\mkern5mu\\char"2323\\mkern5mu}');c("\\coh",`{\\mkern5mu\\rule{}{0.7em}\\mathrlap{\\smash{\\raise2mu{\\char"2322}}}
3
+ {\\smash{\\lower4mu{\\char"2323}}}\\mkern5mu}`);c("\\incoh",`{\\mkern5mu\\rule{}{0.7em}\\mathrlap{\\smash{\\raise2mu{\\char"2323}}}
4
+ {\\smash{\\lower4mu{\\char"2322}}}\\mkern5mu}`);c("\\standardstate","\\text{\\tiny\\char`⦵}");c("\\ce",function(e){return or(e.consumeArgs(1)[0],"ce")});c("\\pu",function(e){return or(e.consumeArgs(1)[0],"pu")});c("\\uniDash","{\\rule{0.672em}{0.06em}}");c("\\triDash","{\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}}");c("\\tripleDash","\\kern0.075em\\raise0.25em{\\triDash}\\kern0.075em");c("\\tripleDashOverLine","\\kern0.075em\\mathrlap{\\raise0.125em{\\uniDash}}\\raise0.34em{\\triDash}\\kern0.075em");c("\\tripleDashOverDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\triDash}}\\raise0.27em{\\uniDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em");c("\\tripleDashBetweenDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\uniDash}}\\raise0.27em{\\triDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em");var or=function(e,t){for(var r="",a=e.length&&e[e.length-1].loc.start,s=e.length-1;s>=0;s--)e[s].loc.start>a&&(r+=" ",a=e[s].loc.start),r+=e[s].text,a+=e[s].text.length;return I.go(x.go(r,t))},x={go:function(e,t){if(!e)return[];t===void 0&&(t="ce");var r="0",a={};a.parenthesisLevel=0,e=e.replace(/\n/g," "),e=e.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),e=e.replace(/[\u2026]/g,"...");for(var s,i=10,l=[];;){s!==e?(i=10,s=e):i--;var u=x.stateMachines[t],h=u.transitions[r]||u.transitions["*"];e:for(var g=0;g<h.length;g++){var A=x.patterns.match_(h[g].pattern,e);if(A){for(var v=h[g].task,y=0;y<v.action_.length;y++){var _;if(u.actions[v.action_[y].type_])_=u.actions[v.action_[y].type_](a,A.match_,v.action_[y].option);else if(x.actions[v.action_[y].type_])_=x.actions[v.action_[y].type_](a,A.match_,v.action_[y].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+v.action_[y].type_+")"];x.concatArray(l,_)}if(r=v.nextState||r,e.length>0){if(v.revisit||(e=A.remainder),!v.toContinue)break e}else return l}}if(i<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(e,t){if(t)if(Array.isArray(t))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t)},patterns:{patterns:{empty:/^$/,else:/^./,else2:/^./,space:/^\s/,"space A":/^\s(?=[A-Z\\$])/,space$:/^\s$/,"a-z":/^[a-z]/,x:/^x/,x$:/^x$/,i$:/^i$/,letters:/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,"\\greek":/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,"one lowercase latin letter $":/^(?:([a-z])(?:$|[^a-zA-Z]))$/,"$one lowercase latin letter$ $":/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,"one lowercase greek letter $":/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,digits:/^[0-9]+/,"-9.,9":/^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,"-9.,9 no missing 0":/^[+\-]?[0-9]+(?:[.,][0-9]+)?/,"(-)(9.,9)(e)(99)":function(e){var t=e.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);return t&&t[0]?{match_:t.splice(1),remainder:e.substr(t[0].length)}:null},"(-)(9)^(-9)":function(e){var t=e.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return t&&t[0]?{match_:t.splice(1),remainder:e.substr(t[0].length)}:null},"state of aggregation $":function(e){var t=x.patterns.findObserveGroups(e,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(t&&t.remainder.match(/^($|[\s,;\)\]\}])/))return t;var r=e.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return r?{match_:r[0],remainder:e.substr(r[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(e){return x.patterns.findObserveGroups(e,"^{","","","}")},"^($...$)":function(e){return x.patterns.findObserveGroups(e,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(e){return x.patterns.findObserveGroups(e,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(e){return x.patterns.findObserveGroups(e,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(e){return x.patterns.findObserveGroups(e,"_{","","","}")},"_($...$)":function(e){return x.patterns.findObserveGroups(e,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(e){return x.patterns.findObserveGroups(e,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(e){return x.patterns.findObserveGroups(e,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(e){return x.patterns.findObserveGroups(e,"","{","}","")},"{(...)}":function(e){return x.patterns.findObserveGroups(e,"{","","","}")},"$...$":function(e){return x.patterns.findObserveGroups(e,"","$","$","")},"${(...)}$":function(e){return x.patterns.findObserveGroups(e,"${","","","}$")},"$(...)$":function(e){return x.patterns.findObserveGroups(e,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(e){return x.patterns.findObserveGroups(e,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(e){return x.patterns.findObserveGroups(e,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(e){return x.patterns.findObserveGroups(e,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(e){return x.patterns.findObserveGroups(e,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(e){return x.patterns.findObserveGroups(e,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(e){return x.patterns.findObserveGroups(e,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(e){return x.patterns.findObserveGroups(e,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(e){var t=e.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/);if(t)return{match_:t[0],remainder:e.substr(t[0].length)};var r=x.patterns.findObserveGroups(e,"","$","$","");return r&&(t=r.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),t)?{match_:t[0],remainder:e.substr(t[0].length)}:null},amount2:function(e){return this.amount(e)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(e){if(e.match(/^\([a-z]+\)$/))return null;var t=e.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return t?{match_:t[0],remainder:e.substr(t[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(e,t,r,a,s,i,l,u,h,g){var A=function(T,C){if(typeof C=="string")return T.indexOf(C)!==0?null:C;var K=T.match(C);return K?K[0]:null},v=function(T,C,K){for(var V=0;C<T.length;){var le=T.charAt(C),ce=A(T.substr(C),K);if(ce!==null&&V===0)return{endMatchBegin:C,endMatchEnd:C+ce.length};if(le==="{")V++;else if(le==="}"){if(V===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];V--}C++}return V>0,null},y=A(e,t);if(y===null||(e=e.substr(y.length),y=A(e,r),y===null))return null;var _=v(e,y.length,a||s);if(_===null)return null;var L=e.substring(0,a?_.endMatchEnd:_.endMatchBegin);if(i||l){var E=this.findObserveGroups(e.substr(_.endMatchEnd),i,l,u,h);if(E===null)return null;var P=[L,E.match_];return{match_:g?P.join(""):P,remainder:E.remainder}}else return{match_:L,remainder:e.substr(_.endMatchEnd)}},match_:function(e,t){var r=x.patterns.patterns[e];if(r===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+e+")"];if(typeof r=="function")return x.patterns.patterns[e](t);var a=t.match(r);if(a){var s;return a[2]?s=[a[1],a[2]]:a[1]?s=a[1]:s=a[0],{match_:s,remainder:t.substr(a[0].length)}}return null}},actions:{"a=":function(e,t){e.a=(e.a||"")+t},"b=":function(e,t){e.b=(e.b||"")+t},"p=":function(e,t){e.p=(e.p||"")+t},"o=":function(e,t){e.o=(e.o||"")+t},"q=":function(e,t){e.q=(e.q||"")+t},"d=":function(e,t){e.d=(e.d||"")+t},"rm=":function(e,t){e.rm=(e.rm||"")+t},"text=":function(e,t){e.text_=(e.text_||"")+t},insert:function(e,t,r){return{type_:r}},"insert+p1":function(e,t,r){return{type_:r,p1:t}},"insert+p1+p2":function(e,t,r){return{type_:r,p1:t[0],p2:t[1]}},copy:function(e,t){return t},rm:function(e,t){return{type_:"rm",p1:t||""}},text:function(e,t){return x.go(t,"text")},"{text}":function(e,t){var r=["{"];return x.concatArray(r,x.go(t,"text")),r.push("}"),r},"tex-math":function(e,t){return x.go(t,"tex-math")},"tex-math tight":function(e,t){return x.go(t,"tex-math tight")},bond:function(e,t,r){return{type_:"bond",kind_:r||t}},"color0-output":function(e,t){return{type_:"color0",color:t[0]}},ce:function(e,t){return x.go(t)},"1/2":function(e,t){var r=[];t.match(/^[+\-]/)&&(r.push(t.substr(0,1)),t=t.substr(1));var a=t.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return a[1]=a[1].replace(/\$/g,""),r.push({type_:"frac",p1:a[1],p2:a[2]}),a[3]&&(a[3]=a[3].replace(/\$/g,""),r.push({type_:"tex-math",p1:a[3]})),r},"9,9":function(e,t){return x.go(t,"9,9")}},createTransitions:function(e){var t,r,a,s,i={};for(t in e)for(r in e[t])for(a=r.split("|"),e[t][r].stateArray=a,s=0;s<a.length;s++)i[a[s]]=[];for(t in e)for(r in e[t])for(a=e[t][r].stateArray||[],s=0;s<a.length;s++){var l=e[t][r];if(l.action_){l.action_=[].concat(l.action_);for(var u=0;u<l.action_.length;u++)typeof l.action_[u]=="string"&&(l.action_[u]={type_:l.action_[u]})}else l.action_=[];for(var h=t.split("|"),g=0;g<h.length;g++)if(a[s]==="*")for(var A in i)i[A].push({pattern:h[g],task:l});else i[a[s]].push({pattern:h[g],task:l})}return i},stateMachines:{}};x.stateMachines={ce:{transitions:x.createTransitions({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(e,t){var r;if((e.d||"").match(/^[0-9]+$/)){var a=e.d;e.d=void 0,r=this.output(e),e.b=a}else r=this.output(e);return x.actions["o="](e,t),r},"d= kv":function(e,t){e.d=t,e.dType="kv"},"charge or bond":function(e,t){if(e.beginsWithBond){var r=[];return x.concatArray(r,this.output(e)),x.concatArray(r,x.actions.bond(e,t,"-")),r}else e.d=t},"- after o/d":function(e,t,r){var a=x.patterns.match_("orbital",e.o||""),s=x.patterns.match_("one lowercase greek letter $",e.o||""),i=x.patterns.match_("one lowercase latin letter $",e.o||""),l=x.patterns.match_("$one lowercase latin letter$ $",e.o||""),u=t==="-"&&(a&&a.remainder===""||s||i||l);u&&!e.a&&!e.b&&!e.p&&!e.d&&!e.q&&!a&&i&&(e.o="$"+e.o+"$");var h=[];return u?(x.concatArray(h,this.output(e)),h.push({type_:"hyphen"})):(a=x.patterns.match_("digits",e.d||""),r&&a&&a.remainder===""?(x.concatArray(h,x.actions["d="](e,t)),x.concatArray(h,this.output(e))):(x.concatArray(h,this.output(e)),x.concatArray(h,x.actions.bond(e,t,"-")))),h},"a to o":function(e){e.o=e.a,e.a=void 0},"sb=true":function(e){e.sb=!0},"sb=false":function(e){e.sb=!1},"beginsWithBond=true":function(e){e.beginsWithBond=!0},"beginsWithBond=false":function(e){e.beginsWithBond=!1},"parenthesisLevel++":function(e){e.parenthesisLevel++},"parenthesisLevel--":function(e){e.parenthesisLevel--},"state of aggregation":function(e,t){return{type_:"state of aggregation",p1:x.go(t,"o")}},comma:function(e,t){var r=t.replace(/\s*$/,"");return r!==t&&e.parenthesisLevel===0?{type_:"comma enumeration L",p1:r}:{type_:"comma enumeration M",p1:r}},output:function(e,t,r){var a;if(!e.r)a=[],!e.a&&!e.b&&!e.p&&!e.o&&!e.q&&!e.d&&!r||(e.sb&&a.push({type_:"entitySkip"}),!e.o&&!e.q&&!e.d&&!e.b&&!e.p&&r!==2?(e.o=e.a,e.a=void 0):!e.o&&!e.q&&!e.d&&(e.b||e.p)?(e.o=e.a,e.d=e.b,e.q=e.p,e.a=e.b=e.p=void 0):e.o&&e.dType==="kv"&&x.patterns.match_("d-oxidation$",e.d||"")?e.dType="oxidation":e.o&&e.dType==="kv"&&!e.q&&(e.dType=void 0),a.push({type_:"chemfive",a:x.go(e.a,"a"),b:x.go(e.b,"bd"),p:x.go(e.p,"pq"),o:x.go(e.o,"o"),q:x.go(e.q,"pq"),d:x.go(e.d,e.dType==="oxidation"?"oxidation":"bd"),dType:e.dType}));else{var s;e.rdt==="M"?s=x.go(e.rd,"tex-math"):e.rdt==="T"?s=[{type_:"text",p1:e.rd||""}]:s=x.go(e.rd);var i;e.rqt==="M"?i=x.go(e.rq,"tex-math"):e.rqt==="T"?i=[{type_:"text",p1:e.rq||""}]:i=x.go(e.rq),a={type_:"arrow",r:e.r,rd:s,rq:i}}for(var l in e)l!=="parenthesisLevel"&&l!=="beginsWithBond"&&delete e[l];return a},"oxidation-output":function(e,t){var r=["{"];return x.concatArray(r,x.go(t,"oxidation")),r.push("}"),r},"frac-output":function(e,t){return{type_:"frac-ce",p1:x.go(t[0]),p2:x.go(t[1])}},"overset-output":function(e,t){return{type_:"overset",p1:x.go(t[0]),p2:x.go(t[1])}},"underset-output":function(e,t){return{type_:"underset",p1:x.go(t[0]),p2:x.go(t[1])}},"underbrace-output":function(e,t){return{type_:"underbrace",p1:x.go(t[0]),p2:x.go(t[1])}},"color-output":function(e,t){return{type_:"color",color1:t[0],color2:x.go(t[1])}},"r=":function(e,t){e.r=t},"rdt=":function(e,t){e.rdt=t},"rd=":function(e,t){e.rd=t},"rqt=":function(e,t){e.rqt=t},"rq=":function(e,t){e.rq=t},operator:function(e,t,r){return{type_:"operator",kind_:r||t}}}},a:{transitions:x.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:x.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:x.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(e){if(e.text_){var t={type_:"text",p1:e.text_};for(var r in e)delete e[r];return t}}}},pq:{transitions:x.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(e,t){return{type_:"state of aggregation subscript",p1:x.go(t,"o")}},"color-output":function(e,t){return{type_:"color",color1:t[0],color2:x.go(t[1],"pq")}}}},bd:{transitions:x.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(e,t){return{type_:"color",color1:t[0],color2:x.go(t[1],"bd")}}}},oxidation:{transitions:x.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(e,t){return{type_:"roman numeral",p1:t||""}}}},"tex-math":{transitions:x.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(e){if(e.o){var t={type_:"tex-math",p1:e.o};for(var r in e)delete e[r];return t}}}},"tex-math tight":{transitions:x.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(e,t){e.o=(e.o||"")+"{"+t+"}"},output:function(e){if(e.o){var t={type_:"tex-math",p1:e.o};for(var r in e)delete e[r];return t}}}},"9,9":{transitions:x.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:x.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(e,t){var r=[];return t[0]==="+-"||t[0]==="+/-"?r.push("\\pm "):t[0]&&r.push(t[0]),t[1]&&(x.concatArray(r,x.go(t[1],"pu-9,9")),t[2]&&(t[2].match(/[,.]/)?x.concatArray(r,x.go(t[2],"pu-9,9")):r.push(t[2])),t[3]=t[4]||t[3],t[3]&&(t[3]=t[3].trim(),t[3]==="e"||t[3].substr(0,1)==="*"?r.push({type_:"cdot"}):r.push({type_:"times"}))),t[3]&&r.push("10^{"+t[5]+"}"),r},"number^":function(e,t){var r=[];return t[0]==="+-"||t[0]==="+/-"?r.push("\\pm "):t[0]&&r.push(t[0]),x.concatArray(r,x.go(t[1],"pu-9,9")),r.push("^{"+t[2]+"}"),r},operator:function(e,t,r){return{type_:"operator",kind_:r||t}},space:function(){return{type_:"pu-space-1"}},output:function(e){var t,r=x.patterns.match_("{(...)}",e.d||"");r&&r.remainder===""&&(e.d=r.match_);var a=x.patterns.match_("{(...)}",e.q||"");if(a&&a.remainder===""&&(e.q=a.match_),e.d&&(e.d=e.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),e.d=e.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),e.q){e.q=e.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),e.q=e.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var s={d:x.go(e.d,"pu"),q:x.go(e.q,"pu")};e.o==="//"?t={type_:"pu-frac",p1:s.d,p2:s.q}:(t=s.d,s.d.length>1||s.q.length>1?t.push({type_:" / "}):t.push({type_:"/"}),x.concatArray(t,s.q))}else t=x.go(e.d,"pu-2");for(var i in e)delete e[i];return t}}},"pu-2":{transitions:x.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(e,t){e.rm+="^{"+t+"}"},space:function(){return{type_:"pu-space-2"}},output:function(e){var t=[];if(e.rm){var r=x.patterns.match_("{(...)}",e.rm||"");r&&r.remainder===""?t=x.go(r.match_,"pu"):t={type_:"rm",p1:e.rm}}for(var a in e)delete e[a];return t}}},"pu-9,9":{transitions:x.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(e){var t=[];if(e.text_=e.text_||"",e.text_.length>4){var r=e.text_.length%3;r===0&&(r=3);for(var a=e.text_.length-3;a>0;a-=3)t.push(e.text_.substr(a,3)),t.push({type_:"1000 separator"});t.push(e.text_.substr(0,r)),t.reverse()}else t.push(e.text_);for(var s in e)delete e[s];return t},"output-o":function(e){var t=[];if(e.text_=e.text_||"",e.text_.length>4){for(var r=e.text_.length-3,a=0;a<r;a+=3)t.push(e.text_.substr(a,3)),t.push({type_:"1000 separator"});t.push(e.text_.substr(a))}else t.push(e.text_);for(var s in e)delete e[s];return t}}}};var I={go:function(e,t){if(!e)return"";for(var r="",a=!1,s=0;s<e.length;s++){var i=e[s];typeof i=="string"?r+=i:(r+=I._go2(i),i.type_==="1st-level escape"&&(a=!0))}return!t&&!a&&r&&(r="{"+r+"}"),r},_goInner:function(e){return e&&I.go(e,!0)},_go2:function(e){var t;switch(e.type_){case"chemfive":t="";var r={a:I._goInner(e.a),b:I._goInner(e.b),p:I._goInner(e.p),o:I._goInner(e.o),q:I._goInner(e.q),d:I._goInner(e.d)};r.a&&(r.a.match(/^[+\-]/)&&(r.a="{"+r.a+"}"),t+=r.a+"\\,"),(r.b||r.p)&&(t+="{\\vphantom{X}}",t+="^{\\hphantom{"+(r.b||"")+"}}_{\\hphantom{"+(r.p||"")+"}}",t+="{\\vphantom{X}}",t+="^{\\vphantom{2}\\mathllap{"+(r.b||"")+"}}",t+="_{\\vphantom{2}\\mathllap{"+(r.p||"")+"}}"),r.o&&(r.o.match(/^[+\-]/)&&(r.o="{"+r.o+"}"),t+=r.o),e.dType==="kv"?((r.d||r.q)&&(t+="{\\vphantom{X}}"),r.d&&(t+="^{"+r.d+"}"),r.q&&(t+="_{"+r.q+"}")):e.dType==="oxidation"?(r.d&&(t+="{\\vphantom{X}}",t+="^{"+r.d+"}"),r.q&&(t+="{{}}",t+="_{"+r.q+"}")):(r.q&&(t+="{{}}",t+="_{"+r.q+"}"),r.d&&(t+="{{}}",t+="^{"+r.d+"}"));break;case"rm":t="\\mathrm{"+e.p1+"}";break;case"text":e.p1.match(/[\^_]/)?(e.p1=e.p1.replace(" ","~").replace("-","\\text{-}"),t="\\mathrm{"+e.p1+"}"):t="\\text{"+e.p1+"}";break;case"roman numeral":t="\\mathrm{"+e.p1+"}";break;case"state of aggregation":t="\\mskip2mu "+I._goInner(e.p1);break;case"state of aggregation subscript":t="\\mskip1mu "+I._goInner(e.p1);break;case"bond":if(t=I._getBond(e.kind_),!t)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+e.kind_+")"];break;case"frac":var a="\\frac{"+e.p1+"}{"+e.p2+"}";t="\\mathchoice{\\textstyle"+a+"}{"+a+"}{"+a+"}{"+a+"}";break;case"pu-frac":var s="\\frac{"+I._goInner(e.p1)+"}{"+I._goInner(e.p2)+"}";t="\\mathchoice{\\textstyle"+s+"}{"+s+"}{"+s+"}{"+s+"}";break;case"tex-math":t=e.p1+" ";break;case"frac-ce":t="\\frac{"+I._goInner(e.p1)+"}{"+I._goInner(e.p2)+"}";break;case"overset":t="\\overset{"+I._goInner(e.p1)+"}{"+I._goInner(e.p2)+"}";break;case"underset":t="\\underset{"+I._goInner(e.p1)+"}{"+I._goInner(e.p2)+"}";break;case"underbrace":t="\\underbrace{"+I._goInner(e.p1)+"}_{"+I._goInner(e.p2)+"}";break;case"color":t="{\\color{"+e.color1+"}{"+I._goInner(e.color2)+"}}";break;case"color0":t="\\color{"+e.color+"}";break;case"arrow":var i={rd:I._goInner(e.rd),rq:I._goInner(e.rq)},l=I._getArrow(e.r);i.rq&&(l+="[{\\rm "+i.rq+"}]"),i.rd?l+="{\\rm "+i.rd+"}":l+="{}",t=l;break;case"operator":t=I._getOperator(e.kind_);break;case"1st-level escape":t=e.p1+" ";break;case"space":t=" ";break;case"entitySkip":t="~";break;case"pu-space-1":t="~";break;case"pu-space-2":t="\\mkern3mu ";break;case"1000 separator":t="\\mkern2mu ";break;case"commaDecimal":t="{,}";break;case"comma enumeration L":t="{"+e.p1+"}\\mkern6mu ";break;case"comma enumeration M":t="{"+e.p1+"}\\mkern3mu ";break;case"comma enumeration S":t="{"+e.p1+"}\\mkern1mu ";break;case"hyphen":t="\\text{-}";break;case"addition compound":t="\\,{\\cdot}\\,";break;case"electron dot":t="\\mkern1mu \\text{\\textbullet}\\mkern1mu ";break;case"KV x":t="{\\times}";break;case"prime":t="\\prime ";break;case"cdot":t="\\cdot ";break;case"tight cdot":t="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":t="\\times ";break;case"circa":t="{\\sim}";break;case"^":t="uparrow";break;case"v":t="downarrow";break;case"ellipsis":t="\\ldots ";break;case"/":t="/";break;case" / ":t="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return t},_getArrow:function(e){switch(e){case"->":return"\\yields";case"→":return"\\yields";case"⟶":return"\\yields";case"<-":return"\\yieldsLeft";case"<->":return"\\mesomerism";case"<-->":return"\\yieldsLeftRight";case"<=>":return"\\chemequilibrium";case"⇌":return"\\chemequilibrium";case"<=>>":return"\\equilibriumRight";case"<<=>":return"\\equilibriumLeft";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(e){switch(e){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripleDash}";case"~-":return"{\\tripleDashOverLine}";case"~=":return"{\\tripleDashOverDoubleLine}";case"~--":return"{\\tripleDashOverDoubleLine}";case"-~-":return"{\\tripleDashBetweenDoubleLine}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(e){switch(e){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};c("\\darr","\\downarrow");c("\\dArr","\\Downarrow");c("\\Darr","\\Downarrow");c("\\lang","\\langle");c("\\rang","\\rangle");c("\\uarr","\\uparrow");c("\\uArr","\\Uparrow");c("\\Uarr","\\Uparrow");c("\\N","\\mathbb{N}");c("\\R","\\mathbb{R}");c("\\Z","\\mathbb{Z}");c("\\alef","\\aleph");c("\\alefsym","\\aleph");c("\\bull","\\bullet");c("\\clubs","\\clubsuit");c("\\cnums","\\mathbb{C}");c("\\Complex","\\mathbb{C}");c("\\Dagger","\\ddagger");c("\\diamonds","\\diamondsuit");c("\\empty","\\emptyset");c("\\exist","\\exists");c("\\harr","\\leftrightarrow");c("\\hArr","\\Leftrightarrow");c("\\Harr","\\Leftrightarrow");c("\\hearts","\\heartsuit");c("\\image","\\Im");c("\\infin","\\infty");c("\\isin","\\in");c("\\larr","\\leftarrow");c("\\lArr","\\Leftarrow");c("\\Larr","\\Leftarrow");c("\\lrarr","\\leftrightarrow");c("\\lrArr","\\Leftrightarrow");c("\\Lrarr","\\Leftrightarrow");c("\\natnums","\\mathbb{N}");c("\\plusmn","\\pm");c("\\rarr","\\rightarrow");c("\\rArr","\\Rightarrow");c("\\Rarr","\\Rightarrow");c("\\real","\\Re");c("\\reals","\\mathbb{R}");c("\\Reals","\\mathbb{R}");c("\\sdot","\\cdot");c("\\sect","\\S");c("\\spades","\\spadesuit");c("\\sub","\\subset");c("\\sube","\\subseteq");c("\\supe","\\supseteq");c("\\thetasym","\\vartheta");c("\\weierp","\\wp");c("\\quantity","{\\left\\{ #1 \\right\\}}");c("\\qty","{\\left\\{ #1 \\right\\}}");c("\\pqty","{\\left( #1 \\right)}");c("\\bqty","{\\left[ #1 \\right]}");c("\\vqty","{\\left\\vert #1 \\right\\vert}");c("\\Bqty","{\\left\\{ #1 \\right\\}}");c("\\absolutevalue","{\\left\\vert #1 \\right\\vert}");c("\\abs","{\\left\\vert #1 \\right\\vert}");c("\\norm","{\\left\\Vert #1 \\right\\Vert}");c("\\evaluated","{\\left.#1 \\right\\vert}");c("\\eval","{\\left.#1 \\right\\vert}");c("\\order","{\\mathcal{O} \\left( #1 \\right)}");c("\\commutator","{\\left[ #1 , #2 \\right]}");c("\\comm","{\\left[ #1 , #2 \\right]}");c("\\anticommutator","{\\left\\{ #1 , #2 \\right\\}}");c("\\acomm","{\\left\\{ #1 , #2 \\right\\}}");c("\\poissonbracket","{\\left\\{ #1 , #2 \\right\\}}");c("\\pb","{\\left\\{ #1 , #2 \\right\\}}");c("\\vectorbold","{\\boldsymbol{ #1 }}");c("\\vb","{\\boldsymbol{ #1 }}");c("\\vectorarrow","{\\vec{\\boldsymbol{ #1 }}}");c("\\va","{\\vec{\\boldsymbol{ #1 }}}");c("\\vectorunit","{{\\boldsymbol{\\hat{ #1 }}}}");c("\\vu","{{\\boldsymbol{\\hat{ #1 }}}}");c("\\dotproduct","\\mathbin{\\boldsymbol\\cdot}");c("\\vdot","{\\boldsymbol\\cdot}");c("\\crossproduct","\\mathbin{\\boldsymbol\\times}");c("\\cross","\\mathbin{\\boldsymbol\\times}");c("\\cp","\\mathbin{\\boldsymbol\\times}");c("\\gradient","{\\boldsymbol\\nabla}");c("\\grad","{\\boldsymbol\\nabla}");c("\\divergence","{\\grad\\vdot}");c("\\curl","{\\grad\\cross}");c("\\laplacian","\\nabla^2");c("\\tr","{\\operatorname{tr}}");c("\\Tr","{\\operatorname{Tr}}");c("\\rank","{\\operatorname{rank}}");c("\\erf","{\\operatorname{erf}}");c("\\Res","{\\operatorname{Res}}");c("\\principalvalue","{\\mathcal{P}}");c("\\pv","{\\mathcal{P}}");c("\\PV","{\\operatorname{P.V.}}");c("\\qqtext","{\\quad\\text{ #1 }\\quad}");c("\\qq","{\\quad\\text{ #1 }\\quad}");c("\\qcomma","{\\text{,}\\quad}");c("\\qc","{\\text{,}\\quad}");c("\\qcc","{\\quad\\text{c.c.}\\quad}");c("\\qif","{\\quad\\text{if}\\quad}");c("\\qthen","{\\quad\\text{then}\\quad}");c("\\qelse","{\\quad\\text{else}\\quad}");c("\\qotherwise","{\\quad\\text{otherwise}\\quad}");c("\\qunless","{\\quad\\text{unless}\\quad}");c("\\qgiven","{\\quad\\text{given}\\quad}");c("\\qusing","{\\quad\\text{using}\\quad}");c("\\qassume","{\\quad\\text{assume}\\quad}");c("\\qsince","{\\quad\\text{since}\\quad}");c("\\qlet","{\\quad\\text{let}\\quad}");c("\\qfor","{\\quad\\text{for}\\quad}");c("\\qall","{\\quad\\text{all}\\quad}");c("\\qeven","{\\quad\\text{even}\\quad}");c("\\qodd","{\\quad\\text{odd}\\quad}");c("\\qinteger","{\\quad\\text{integer}\\quad}");c("\\qand","{\\quad\\text{and}\\quad}");c("\\qor","{\\quad\\text{or}\\quad}");c("\\qas","{\\quad\\text{as}\\quad}");c("\\qin","{\\quad\\text{in}\\quad}");c("\\differential","{\\text{d}}");c("\\dd","{\\text{d}}");c("\\derivative","{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}");c("\\dv","{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}");c("\\partialderivative","{\\frac{\\partial{ #1 }}{\\partial{ #2 }}}");c("\\variation","{\\delta}");c("\\var","{\\delta}");c("\\functionalderivative","{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}");c("\\fdv","{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}");c("\\innerproduct","{\\left\\langle {#1} \\mid { #2} \\right\\rangle}");c("\\outerproduct","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");c("\\dyad","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");c("\\ketbra","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");c("\\op","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");c("\\expectationvalue","{\\left\\langle {#1 } \\right\\rangle}");c("\\expval","{\\left\\langle {#1 } \\right\\rangle}");c("\\ev","{\\left\\langle {#1 } \\right\\rangle}");c("\\matrixelement","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");c("\\matrixel","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");c("\\mel","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");function wt(e){const t=[];e.consumeSpaces();let r=e.fetch().text;for(r==="\\relax"&&(e.consume(),e.consumeSpaces(),r=e.fetch().text);r==="\\hline"||r==="\\hdashline";)e.consume(),t.push(r==="\\hdashline"),e.consumeSpaces(),r=e.fetch().text;return t}var we=e=>{if(!e.parser.settings.displayMode)throw new w(`{${e.envName}} can be used only in display mode.`)},mn=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/,sr=e=>{let t=e.get("\\arraystretch");typeof t!="string"&&(t=Ue(t.tokens)),t=isNaN(t)?null:Number(t);let r=e.get("\\arraycolsep");typeof r!="string"&&(r=Ue(r.tokens));const a=mn.exec(r),s=a?{number:+(a[1]+a[2]),unit:a[3]}:null;return[t,s]},vt=e=>{let t="";for(let r=0;r<e.length;r++)if(e[r].type==="label"){if(t)throw new w("Multiple \\labels in one row");t=e[r].string}return t};function ot(e){if(e.indexOf("ed")===-1)return e.indexOf("*")===-1}function ee(e,{cols:t,envClasses:r,autoTag:a,singleRow:s,emptySingleRow:i,maxNumCols:l,leqno:u,arraystretch:h,arraycolsep:g},A){const v=r&&r.includes("bordermatrix")?"}":"\\end";e.gullet.beginGroup(),s||e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();let y=[];const _=[y],L=[],E=[],P=[],T=a!=null?[]:void 0;function C(){a&&e.gullet.macros.set("\\@eqnsw","1",!0)}function K(){T&&(e.gullet.macros.get("\\df@tag")?(T.push(e.subparse([new Q("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):T.push(!!a&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(C(),P.push(wt(e));;){let V=e.parseExpression(!1,s?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),V={type:"ordgroup",mode:e.mode,body:V,semisimple:!0},y.push(V);const le=e.fetch().text;if(le==="&"){if(l&&y.length===l)if(r.includes("array")){if(e.settings.strict)throw new w("Too few columns specified in the {array} column argument.",e.nextToken)}else throw l===2?new w("The split environment accepts no more than two columns",e.nextToken):new w("The equation environment accepts only one column",e.nextToken);e.consume()}else if(le===v){K(),y.length===1&&V.body.length===0&&(_.length>1||!i)&&_.pop(),E.push(vt(V.body)),P.length<_.length+1&&P.push([]);break}else if(le==="\\\\"){e.consume();let ce;e.gullet.future().text!==" "&&(ce=e.parseSizeGroup(!0)),L.push(ce?ce.value:null),K(),E.push(vt(V.body)),P.push(wt(e)),y=[],_.push(y),C()}else throw new w("Expected & or \\\\ or \\cr or "+v,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,body:_,cols:t,rowGaps:L,hLinesBeforeRow:P,envClasses:r,autoTag:a,scriptLevel:A,tags:T,labels:E,leqno:u,arraystretch:h,arraycolsep:g}}function ir(e){return e.slice(0,1)==="d"?"display":"text"}var hn={c:"center ",l:"left ",r:"right "},kt=e=>{const t=new p("mtd",[]);return t.style={padding:"0",width:"50%"},e.envClasses.includes("multline")&&(t.style.width="7.5%"),t},X=function(e,t){const r=[],a=e.body.length,s=e.hLinesBeforeRow,i=e.tags&&e.tags.some(g=>g);for(let g=0;g<a;g++){const A=e.body[g],v=[],y=e.scriptLevel==="text"?D.TEXT:e.scriptLevel==="script"?D.SCRIPT:D.DISPLAY;for(let T=0;T<A.length;T++){const C=new p("mtd",[z(A[T],t.withLevel(y))]);if(e.envClasses.includes("multline")){const K=g===0?"left":g===a-1?"right":"center";K!=="center"&&C.classes.push("tml-"+K)}v.push(C)}const _=e.body[0].length;for(let T=0;T<_-A.length;T++)v.push(new p("mtd",[],[],t));if(i){const T=e.tags[g];let C;T===!0?C=new p("mtext",[new Vt(["tml-eqn"])]):T===!1?C=new p("mtext",[],[]):(C=ne(T[0].body,t.withLevel(y),!0),C=Le(C),C.classes=["tml-tag"]),C&&(v.unshift(kt(e)),v.push(kt(e)),e.leqno?v[0].children.push(C):v[v.length-1].children.push(C))}const L=new p("mtr",v,[]),E=e.labels.shift();E&&e.tags&&e.tags[g]&&(L.setAttribute("id",E),Array.isArray(e.tags[g])&&L.classes.push("tml-tageqn")),g===0&&s[0].length>0&&(s[0].length===2?L.children.forEach(T=>{T.style.borderTop="0.15em double"}):L.children.forEach(T=>{T.style.borderTop=s[0][0]?"0.06em dashed":"0.06em solid"})),s[g+1].length>0&&(s[g+1].length===2?L.children.forEach(T=>{T.style.borderBottom="0.15em double"}):L.children.forEach(T=>{T.style.borderBottom=s[g+1][0]?"0.06em dashed":"0.06em solid"}));let P=!0;for(let T=0;T<L.children.length;T++){const C=L.children[T].children[0];if(!(C&&C.type==="mpadded"&&C.attributes.height==="0px")){P=!1;break}}if(P){L.classes.push("ff-squash");for(let T=0;T<L.children.length;T++)L.children[T].style.paddingTop="0",L.children[T].style.paddingBottom="0"}r.push(L)}if(e.arraystretch&&e.arraystretch!==1){const g=String(1.4*e.arraystretch-.8)+"ex";for(let A=0;A<r.length;A++)for(let v=0;v<r[A].children.length;v++)r[A].children[v].style.paddingTop=g,r[A].children[v].style.paddingBottom=g}let l,u;if(e.envClasses.length>0&&(l=e.envClasses.includes("abut")||e.envClasses.includes("cases")?"0":e.envClasses.includes("small")?"0.1389":e.envClasses.includes("cd")?"0.25":"0.4",u="em"),e.arraycolsep){const g=J(e.arraycolsep,t);l=g.number.toFixed(4),u=g.unit}if(l){const g=r.length===0?0:r[0].children.length,A=(v,y)=>v===0&&y===0||v===g-1&&y===1?"0":e.envClasses[0]!=="align"?l:y===1?"0":i?v%2?"1":"0":v%2?"0":"1";for(let v=0;v<r.length;v++)for(let y=0;y<r[v].children.length;y++)r[v].children[y].style.paddingLeft=`${A(y,0)}${u}`,r[v].children[y].style.paddingRight=`${A(y,1)}${u}`}if(e.envClasses.length===0)for(let g=0;g<r.length;g++)r[g].children[0].style.paddingLeft="0em",r[g].children.length===r[0].children.length&&(r[g].children[r[g].children.length-1].style.paddingRight="0em");if(e.envClasses.length>0){const g=e.envClasses.includes("align")||e.envClasses.includes("alignat");for(let A=0;A<r.length;A++){const v=r[A];if(g){for(let y=0;y<v.children.length;y++)v.children[y].classes=["tml-"+(y%2?"left":"right")];if(i){const y=e.leqno?0:v.children.length-1;v.children[y].classes=[]}}if(v.children.length>1&&e.envClasses.includes("cases")&&(v.children[1].style.paddingLeft="1em"),e.envClasses.includes("cases")||e.envClasses.includes("subarray"))for(const y of v.children)y.classes.push("tml-left")}}let h=new p("mtable",r);if(e.envClasses.length>0&&(e.envClasses.includes("jot")?h.classes.push("tml-jot"):e.envClasses.includes("small")&&h.classes.push("tml-small")),e.scriptLevel==="display"&&h.setAttribute("displaystyle","true"),(e.autoTag||e.envClasses.includes("multline"))&&(h.style.width="100%"),e.cols&&e.cols.length>0){const g=e.cols;let A=!1,v=0,y=g.length;for(;g[v].type==="separator";)v+=1;for(;g[y-1].type==="separator";)y-=1;if(g[0].type==="separator"){const L=g[1].type==="separator"?"0.15em double":g[0].separator==="|"?"0.06em solid ":"0.06em dashed ";for(const E of h.children)E.children[0].style.borderLeft=L}let _=i?0:-1;for(let L=v;L<y;L++)if(g[L].type==="align"){const E=hn[g[L].align];_+=1;for(const P of h.children)E.trim()!=="center"&&_<P.children.length&&(P.children[_].classes=["tml-"+E.trim()]);A=!0}else if(g[L].type==="separator"){if(A){const E=g[L+1].type==="separator"?"0.15em double":g[L].separator==="|"?"0.06em solid":"0.06em dashed";for(const P of h.children)_<P.children.length&&(P.children[_].style.borderRight=E)}A=!1}if(g[g.length-1].type==="separator"){const L=g[g.length-2].type==="separator"?"0.15em double":g[g.length-1].separator==="|"?"0.06em solid":"0.06em dashed";for(const E of h.children)E.children[E.children.length-1].style.borderRight=L,E.children[E.children.length-1].style.paddingRight="0.4em"}}return e.envClasses.includes("small")&&(h=new p("mstyle",[h]),h.setAttribute("scriptlevel","1")),h},lr=function(e,t){e.envName.indexOf("ed")===-1&&we(e);const r=e.envName==="split",a=[],s=ee(e.parser,{cols:a,emptySingleRow:!0,autoTag:r?void 0:ot(e.envName),envClasses:["abut","jot"],maxNumCols:e.envName==="split"?2:void 0,leqno:e.parser.settings.leqno},"display");let i,l=0;const u=e.envName.indexOf("at")>-1;if(t[0]&&u){let h="";for(let g=0;g<t[0].body.length;g++){const A=$(t[0].body[g],"textord");h+=A.text}if(isNaN(h))throw new w("The alignat enviroment requires a numeric first argument.");i=Number(h),l=i*2}s.body.forEach(function(h){if(u){const g=h.length/2;if(i<g)throw new w(`Too many math in a row: expected ${i}, but got ${g}`,h[0])}else l<h.length&&(l=h.length)});for(let h=0;h<l;++h){let g="r";h%2===1&&(g="l"),a[h]={type:"align",align:g}}return e.envName==="split"||(u?s.envClasses.push("alignat"):s.envClasses[0]="align"),s};Z({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(ze(t[0])?[t[0]]:$(t[0],"ordgroup").body).map(function(l){const u=tt(l).text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new w("Unknown column alignment: "+u,l)}),[a,s]=sr(e.parser.gullet.macros),i={cols:r,envClasses:["array"],maxNumCols:r.length,arraystretch:a,arraycolsep:s};return ee(e.parser,i,ir(e.envName))},mathmlBuilder:X});Z({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const a={envClasses:[],cols:[]};if(e.envName.charAt(e.envName.length-1)==="*"){const u=e.parser;if(u.consumeSpaces(),u.fetch().text==="["){if(u.consume(),u.consumeSpaces(),r=u.fetch().text,"lcr".indexOf(r)===-1)throw new w("Expected l or c or r",u.nextToken);u.consume(),u.consumeSpaces(),u.expect("]"),u.consume(),a.cols=[]}}const s=ee(e.parser,a,"text");s.cols=s.body.length>0?new Array(s.body[0].length).fill({type:"align",align:r}):[];const[i,l]=sr(e.parser.gullet.macros);return s.arraystretch=i,l&&!(l===6&&l==="pt")&&(s.arraycolsep=l),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},mathmlBuilder:X});Z({type:"array",names:["bordermatrix"],props:{numArgs:0},handler(e){const t=ee(e.parser,{cols:[],envClasses:["bordermatrix"]},"text");return t.cols=t.body.length>0?new Array(t.body[0].length).fill({type:"align",align:"c"}):[],t.envClasses=[],t.arraystretch=1,e.envName==="matrix"?t:un(t,e.delimiters)},mathmlBuilder:X});Z({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){return ee(e.parser,{envClasses:["small"]},"script")},mathmlBuilder:X});Z({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(ze(t[0])?[t[0]]:$(t[0],"ordgroup").body).map(function(s){const i=tt(s).text;if("lc".indexOf(i)!==-1)return{type:"align",align:i};throw new w("Unknown column alignment: "+i,s)});if(r.length>1)throw new w("{subarray} can contain only one column");let a={cols:r,envClasses:["small"]};if(a=ee(e.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new w("{subarray} can contain only one column");return a},mathmlBuilder:X});Z({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=ee(e.parser,{cols:[],envClasses:["cases"]},ir(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},mathmlBuilder:X});Z({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:lr,mathmlBuilder:X});Z({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:lr,mathmlBuilder:X});Z({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){e.envName!=="gathered"&&we(e);const t={cols:[],envClasses:["abut","jot"],autoTag:ot(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return ee(e.parser,t,"display")},mathmlBuilder:X});Z({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){we(e);const t={autoTag:ot(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,envClasses:["align"],leqno:e.parser.settings.leqno};return ee(e.parser,t,"display")},mathmlBuilder:X});Z({type:"array",names:["multline","multline*"],props:{numArgs:0},handler(e){we(e);const t={autoTag:e.envName==="multline",maxNumCols:1,envClasses:["jot","multline"],leqno:e.parser.settings.leqno};return ee(e.parser,t,"display")},mathmlBuilder:X});Z({type:"array",names:["CD"],props:{numArgs:0},handler(e){return we(e),cn(e.parser)},mathmlBuilder:X});S({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new w(`${e.funcName} valid only within array environment`)}});var Ve=Jt;S({type:"bordermatrix",names:["\\bordermatrix","\\matrix"],props:{numArgs:0,numOptionalArgs:1},handler:({parser:e,funcName:t},r,a)=>{let s=["(",")"];if(t==="\\bordermatrix"&&a[0]&&a[0].body){const h=a[0].body;h.length===1&&h[0].type==="delimiter"&&(s=[h[0].left,h[0].right])}e.consumeSpaces(),e.consume();const i=Ve.bordermatrix,l={mode:e.mode,envName:t.slice(1),delimiters:s,parser:e},u=i.handler(l);return e.expect("}",!0),u}});S({type:"cancelto",names:["\\cancelto"],props:{numArgs:2},handler({parser:e},t){const r=t[0],a=t[1];return{type:"cancelto",mode:e.mode,body:a,to:r,isCharacterBox:Be(a)}},mathmlBuilder(e,t){const r=new p("mrow",[z(e.body,t)],["ff-narrow"]),a=new p("mphantom",[z(e.body,t)]),s=new p("mrow",[a],["tml-cancelto"]);s.style.color=t.color,e.isCharacterBox&&jt.indexOf(e.body.body[0].text)>-1&&(s.style.left="0.1em",s.style.width="90%");const i=new p("mrow",[r,s],["menclose"]);if(!e.isCharacterBox||/[f∫∑]/.test(e.body.body[0].text))a.style.paddingRight="0.2em";else{a.style.padding="0.5ex 0.1em 0 0";const v=new p("mspace",[]);v.setAttribute("height","0.85em"),r.children.push(v)}let l;if(e.isCharacterBox)l=new p("mspace",[]),l.setAttribute("height","1em");else{const v=z(e.body,t),y=new p("mpadded",[v]);y.setAttribute("width","0.1px"),l=new p("mphantom",[y])}const u=z(e.to,t);u.style.color=t.color;const h=new p("mpadded",[u]);if(!e.isCharacterBox||/[f∫∑]/.test(e.body.body[0].text)){const v=new p("mspace",[]);v.setAttribute("width","0.2em"),h.children.unshift(v)}h.setAttribute("width","0.1px");const g=new p("mover",[l,h]),A=new p("mrow",[],["ff-nudge-left"]);return oe([xe([i,g]),A])}});S({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler({parser:e,token:t},r){const a=$(r[0],"ordgroup").body;let s="";for(let l=0;l<a.length;l++){const u=$(a[l],"textord");s+=u.text}const i=parseInt(s);if(isNaN(i))throw new w(`\\@char has non-numeric argument ${s}`,t);return{type:"textord",mode:e.mode,text:String.fromCodePoint(i)}}});var pn=/^(#[a-f0-9]{3}|#?[a-f0-9]{6})$/i,fn=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i,gn=/^ *\d{1,3} *(?:, *\d{1,3} *){2}$/,bn=/^ *[10](?:\.\d*)? *(?:, *[10](?:\.\d*)? *){2}$/,yn=/^[a-f0-9]{6}$/i,At=e=>{let t=e.toString(16);return t.length===1&&(t="0"+t),t},St=JSON.parse(`{
5
+ "Apricot": "#ffb484",
6
+ "Aquamarine": "#08b4bc",
7
+ "Bittersweet": "#c84c14",
8
+ "blue": "#0000FF",
9
+ "Blue": "#303494",
10
+ "BlueGreen": "#08b4bc",
11
+ "BlueViolet": "#503c94",
12
+ "BrickRed": "#b8341c",
13
+ "brown": "#BF8040",
14
+ "Brown": "#802404",
15
+ "BurntOrange": "#f8941c",
16
+ "CadetBlue": "#78749c",
17
+ "CarnationPink": "#f884b4",
18
+ "Cerulean": "#08a4e4",
19
+ "CornflowerBlue": "#40ace4",
20
+ "cyan": "#00FFFF",
21
+ "Cyan": "#08acec",
22
+ "Dandelion": "#ffbc44",
23
+ "darkgray": "#404040",
24
+ "DarkOrchid": "#a8548c",
25
+ "Emerald": "#08ac9c",
26
+ "ForestGreen": "#089c54",
27
+ "Fuchsia": "#90348c",
28
+ "Goldenrod": "#ffdc44",
29
+ "gray": "#808080",
30
+ "Gray": "#98949c",
31
+ "green": "#00FF00",
32
+ "Green": "#08a44c",
33
+ "GreenYellow": "#e0e474",
34
+ "JungleGreen": "#08ac9c",
35
+ "Lavender": "#f89cc4",
36
+ "lightgray": "#c0c0c0",
37
+ "lime": "#BFFF00",
38
+ "LimeGreen": "#90c43c",
39
+ "magenta": "#FF00FF",
40
+ "Magenta": "#f0048c",
41
+ "Mahogany": "#b0341c",
42
+ "Maroon": "#b03434",
43
+ "Melon": "#f89c7c",
44
+ "MidnightBlue": "#086494",
45
+ "Mulberry": "#b03c94",
46
+ "NavyBlue": "#086cbc",
47
+ "olive": "#7F7F00",
48
+ "OliveGreen": "#407c34",
49
+ "orange": "#FF8000",
50
+ "Orange": "#f8843c",
51
+ "OrangeRed": "#f0145c",
52
+ "Orchid": "#b074ac",
53
+ "Peach": "#f8945c",
54
+ "Periwinkle": "#8074bc",
55
+ "PineGreen": "#088c74",
56
+ "pink": "#ff7f7f",
57
+ "Plum": "#98248c",
58
+ "ProcessBlue": "#08b4ec",
59
+ "purple": "#BF0040",
60
+ "Purple": "#a0449c",
61
+ "RawSienna": "#983c04",
62
+ "red": "#ff0000",
63
+ "Red": "#f01c24",
64
+ "RedOrange": "#f86434",
65
+ "RedViolet": "#a0246c",
66
+ "Rhodamine": "#f0549c",
67
+ "Royallue": "#0874bc",
68
+ "RoyalPurple": "#683c9c",
69
+ "RubineRed": "#f0047c",
70
+ "Salmon": "#f8948c",
71
+ "SeaGreen": "#30bc9c",
72
+ "Sepia": "#701404",
73
+ "SkyBlue": "#48c4dc",
74
+ "SpringGreen": "#c8dc64",
75
+ "Tan": "#e09c74",
76
+ "teal": "#007F7F",
77
+ "TealBlue": "#08acb4",
78
+ "Thistle": "#d884b4",
79
+ "Turquoise": "#08b4cc",
80
+ "violet": "#800080",
81
+ "Violet": "#60449c",
82
+ "VioletRed": "#f054a4",
83
+ "WildStrawberry": "#f0246c",
84
+ "yellow": "#FFFF00",
85
+ "Yellow": "#fff404",
86
+ "YellowGreen": "#98cc6c",
87
+ "YellowOrange": "#ffa41c"
88
+ }`),he=(e,t)=>{let r="";if(e==="HTML"){if(!pn.test(t))throw new w("Invalid HTML input.");r=t}else if(e==="RGB"){if(!gn.test(t))throw new w("Invalid RGB input.");t.split(",").map(a=>{r+=At(Number(a.trim()))})}else{if(!bn.test(t))throw new w("Invalid rbg input.");t.split(",").map(a=>{const s=Number(a.trim());if(s>1)throw new w("Color rgb input must be < 1.");r+=At(Number((s*255).toFixed(0)))})}return r.charAt(0)!=="#"&&(r="#"+r),r},ge=(e,t,r)=>{const a=`\\\\color@${e}`;if(!fn.exec(e))throw new w("Invalid color: '"+e+"'",r);return yn.test(e)?"#"+e:(e.charAt(0)==="#"||(t.has(a)?e=t.get(a).tokens[0].text:St[e]&&(e=St[e])),e)},cr=(e,t)=>{let r=U(e.body,t.withColor(e.color));return r.length===0&&r.push(new p("mrow")),r=r.map(a=>(a.style.color=e.color,a)),oe(r)};S({type:"color",names:["\\textcolor"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","original"]},handler({parser:e,token:t},r,a){const s=a[0]&&$(a[0],"raw").string;let i="";if(s){const u=$(r[0],"raw").string;i=he(s,u)}else i=ge($(r[0],"raw").string,e.gullet.macros,t);const l=r[1];return{type:"color",mode:e.mode,color:i,isTextColor:!0,body:R(l)}},mathmlBuilder:cr});S({type:"color",names:["\\color"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw"]},handler({parser:e,breakOnTokenText:t,token:r},a,s){const i=s[0]&&$(s[0],"raw").string;let l="";if(i){const h=$(a[0],"raw").string;l=he(i,h)}else l=ge($(a[0],"raw").string,e.gullet.macros,r);const u=e.parseExpression(!0,t,!0);return{type:"color",mode:e.mode,color:l,isTextColor:!1,body:u}},mathmlBuilder:cr});S({type:"color",names:["\\definecolor"],props:{numArgs:3,allowedInText:!0,argTypes:["raw","raw","raw"]},handler({parser:e,funcName:t,token:r},a){const s=$(a[0],"raw").string;if(!/^[A-Za-z]+$/.test(s))throw new w("Color name must be latin letters.",r);const i=$(a[1],"raw").string;if(!["HTML","RGB","rgb"].includes(i))throw new w("Color model must be HTML, RGB, or rgb.",r);const l=$(a[2],"raw").string,u=he(i,l);return e.gullet.macros.set(`\\\\color@${s}`,{tokens:[{text:u}],numArgs:0}),{type:"internal",mode:e.mode}}});S({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler({parser:e},t,r){const a=e.gullet.future().text==="["?e.parseSizeGroup(!0):null,s=!e.settings.displayMode;return{type:"cr",mode:e.mode,newLine:s,size:a&&$(a,"size").value}},mathmlBuilder(e,t){const r=new p("mo");if(e.newLine&&(r.setAttribute("linebreak","newline"),e.size)){const a=J(e.size,t);r.setAttribute("height",a.number+a.unit)}return r}});var We={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Oe=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new w("Expected a control sequence",e);return t},xn=e=>{let t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},ur=(e,t,r,a)=>{let s=e.gullet.macros.get(r.text);s==null&&(r.noexpand=!0,s={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,s,a)};S({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler({parser:e,funcName:t}){e.consumeSpaces();const r=e.fetch();if(We[r.text])return(t==="\\global"||t==="\\\\globallong")&&(r.text=We[r.text]),$(e.parseFunction(),"internal");throw new w("Invalid token after macro prefix",r)}});S({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser:e,funcName:t}){let r=e.gullet.popToken();const a=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(a))throw new w("Expected a control sequence",r);let s=0,i;const l=[[]];for(;e.gullet.future().text!=="{";)if(r=e.gullet.popToken(),r.text==="#"){if(e.gullet.future().text==="{"){i=e.gullet.future(),l[s].push("{");break}if(r=e.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new w(`Invalid argument number "${r.text}"`);if(parseInt(r.text)!==s+1)throw new w(`Argument number "${r.text}" out of order`);s++,l.push([])}else{if(r.text==="EOF")throw new w("Expected a macro definition");l[s].push(r.text)}let{tokens:u}=e.gullet.consumeArg();if(i&&u.unshift(i),t==="\\edef"||t==="\\xdef"){if(u=e.gullet.expandTokens(u),u.length>e.gullet.settings.maxExpand)throw new w("Too many expansions in an "+t);u.reverse()}return e.gullet.macros.set(a,{tokens:u,numArgs:s,delimiters:l},t===We[t]),{type:"internal",mode:e.mode}}});S({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser:e,funcName:t}){const r=Oe(e.gullet.popToken());e.gullet.consumeSpaces();const a=xn(e);return ur(e,r,a,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});S({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser:e,funcName:t}){const r=Oe(e.gullet.popToken()),a=e.gullet.popToken(),s=e.gullet.popToken();return ur(e,r,s,t==="\\\\globalfuture"),e.gullet.pushToken(s),e.gullet.pushToken(a),{type:"internal",mode:e.mode}}});S({type:"internal",names:["\\newcommand","\\renewcommand","\\providecommand"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser:e,funcName:t}){let r="";const a=e.gullet.popToken();a.text==="{"?(r=Oe(e.gullet.popToken()),e.gullet.popToken()):r=Oe(a);const s=e.gullet.isDefined(r);if(s&&t==="\\newcommand")throw new w(`\\newcommand{${r}} attempting to redefine ${r}; use \\renewcommand`);if(!s&&t==="\\renewcommand")throw new w(`\\renewcommand{${r}} when command ${r} does not yet exist; use \\newcommand`);let i=0;if(e.gullet.future().text==="["){let u=e.gullet.popToken();if(u=e.gullet.popToken(),!/^[0-9]$/.test(u.text))throw new w(`Invalid number of arguments: "${u.text}"`);if(i=parseInt(u.text),u=e.gullet.popToken(),u.text!=="]")throw new w(`Invalid argument "${u.text}"`)}const{tokens:l}=e.gullet.consumeArg();return t==="\\providecommand"&&e.gullet.macros.has(r)||e.gullet.macros.set(r,{tokens:l,numArgs:i}),{type:"internal",mode:e.mode}}});var He={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},st={"(":")","\\lparen":"\\rparen","[":"]","\\lbrack":"\\rbrack","\\{":"\\}","\\lbrace":"\\rbrace","⦇":"⦈","\\llparenthesis":"\\rrparenthesis","\\lfloor":"\\rfloor","⌊":"⌋","\\lceil":"\\rceil","⌈":"⌉","\\langle":"\\rangle","⟨":"⟩","\\lAngle":"\\rAngle","⟪":"⟫","\\llangle":"\\rrangle","⦉":"⦊","\\lvert":"\\rvert","\\lVert":"\\rVert","\\lgroup":"\\rgroup","⟮":"⟯","\\lmoustache":"\\rmoustache","⎰":"⎱","\\llbracket":"\\rrbracket","⟦":"⟧","\\lBrace":"\\rBrace","⦃":"⦄"},wn=new Set(Object.keys(st));new Set(Object.values(st));var dr=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","⦇","\\llparenthesis","⦈","\\rrparenthesis","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lAngle","⟪","\\rAngle","⟫","\\llangle","⦉","\\rrangle","⦊","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","\\llbracket","\\rrbracket","⟦","⟧","\\lBrace","\\rBrace","⦃","⦄","/","\\backslash","|","\\vert","\\|","\\Vert","‖","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]),vn=new Set(["}","\\left","\\middle","\\right"]),Ee=e=>e.length>0&&(dr.has(e)||He[e]||vn.has(e)),qt=[0,1.2,1.8,2.4,3];function be(e,t){e.type==="ordgroup"&&e.body.length===1&&(e=e.body[0]);const r=ze(e);if(r&&dr.has(r.text))return(r.text==="<"||r.text==="\\lt")&&(r.text="⟨"),(r.text===">"||r.text==="\\gt")&&(r.text="⟩"),r;throw r?new w(`Invalid delimiter '${r.text}' after '${t.funcName}'`,e):new w(`Invalid delimiter type '${e.type}'`,e)}var kn=new Set(["/","\\","\\backslash","∖","\\vert","|"]),Ce=(e,t,r,a)=>{const s=new p("mo",[H(e==="."?"":e,t)]);return s.setAttribute("fence","true"),s.setAttribute("form",r),s.setAttribute("stretchy",a?"true":"false"),s};S({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=be(t[0],e),a={type:"delimsizing",mode:e.parser.mode,size:He[e.funcName].size,mclass:He[e.funcName].mclass,delim:r.text},s=e.parser.fetch().text;return s!=="^"&&s!=="_"?a:{type:"ordgroup",mode:"math",body:[a,{type:"ordgroup",mode:"math",body:[]}]}},mathmlBuilder:e=>{const t=[],r=e.delim==="."?"":e.delim;t.push(H(r,e.mode));const a=new p("mo",t);return e.mclass==="mopen"||e.mclass==="mclose"?a.setAttribute("fence","true"):a.setAttribute("fence","false"),(kn.has(r)||r.indexOf("arrow")>-1)&&a.setAttribute("stretchy","true"),a.setAttribute("symmetric","true"),a.setAttribute("minsize",qt[e.size]+"em"),a.setAttribute("maxsize",qt[e.size]+"em"),a}});function mr(e){if(!e.body)throw new Error("Bug: The delim ParseNode wasn't fully parsed.")}S({type:"leftright-right",names:["\\right"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>({type:"leftright-right",mode:e.parser.mode,delim:be(t[0],e).text})});S({type:"leftright",names:["\\left"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=be(t[0],e),a=e.parser;++a.leftrightDepth;let s=a.parseExpression(!1,"\\right",!0),i=a.fetch();for(;i.text==="\\middle";){a.consume();const u=a.fetch().text;if(!N.math[u])throw new w(`Invalid delimiter '${u}' after '\\middle'`);be({type:"atom",mode:"math",text:u},{funcName:"\\middle"}),s.push({type:"middle",mode:"math",delim:u}),a.consume(),s=s.concat(a.parseExpression(!1,"\\right",!0)),i=a.fetch()}--a.leftrightDepth,a.expect("\\right",!1);const l=$(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:r.text,right:l.delim,isStretchy:!0}},mathmlBuilder:(e,t)=>{mr(e);const r=U(e.body,t),a=Ce(e.left,e.mode,"prefix",!0);r.unshift(a);const s=Ce(e.right,e.mode,"postfix",!0);if(e.body.length>0){const i=e.body[e.body.length-1];i.type==="color"&&!i.isTextColor&&s.setAttribute("mathcolor",i.color)}return r.push(s),xe(r)}});S({type:"delimiter",names:Array.from(wn),props:{numArgs:0,allowedInText:!0,allowedInMath:!0,allowedInArgument:!0},handler:({parser:e,funcName:t,token:r})=>{if(e.mode==="text")return{type:"textord",mode:"text",text:t,loc:r.loc};if(!e.settings.wrapDelimiterPairs)return{type:"atom",mode:"math",family:"open",loc:r.loc,text:t};const a=st[t],s=e.parseExpression(!1,a,!1);if(e.fetch().text!==a)throw new w("Unmatched delimiter");return e.consume(),{type:"delimiter",mode:e.mode,body:s,left:t,right:a}},mathmlBuilder:(e,t)=>{mr(e);const r=U(e.body,t),a=Ce(e.left,e.mode,"prefix",!1);r.unshift(a);const s=Ce(e.right,e.mode,"postfix",!1);if(e.body.length>0){const i=e.body[e.body.length-1];i.type==="color"&&!i.isTextColor&&s.setAttribute("mathcolor",i.color)}return r.push(s),xe(r)}});S({type:"middle",names:["\\middle"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=be(t[0],e);if(!e.parser.leftrightDepth)throw new w("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},mathmlBuilder:e=>{const t=H(e.delim,e.mode),r=new p("mo",[t]);return r.setAttribute("stretchy","true"),r.setAttribute("form","infix"),t.text!=="/"&&(r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em")),r}});var An=["\\boxed","\\fcolorbox","\\colorbox"],pe=(e,t)=>{const r=An.includes(e.label)?"mrow":"menclose",a=new p(r,[z(e.body,t)]);switch(e.label){case"\\overline":a.setAttribute("notation","top"),a.classes.push("tml-overline");break;case"\\underline":a.setAttribute("notation","bottom"),a.classes.push("tml-underline");break;case"\\cancel":a.setAttribute("notation","updiagonalstrike"),a.children.push(new p("mrow",[],["tml-cancel","upstrike"]));break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike"),a.children.push(new p("mrow",[],["tml-cancel","downstrike"]));break;case"\\sout":a.setAttribute("notation","horizontalstrike"),a.children.push(new p("mrow",[],["tml-cancel","sout"]));break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike"),a.children.push(new p("mrow",[],["tml-cancel","tml-xcancel"]));break;case"\\longdiv":a.setAttribute("notation","longdiv"),a.classes.push("longdiv-top"),a.children.push(new p("mrow",[],["longdiv-arc"]));break;case"\\phase":a.setAttribute("notation","phasorangle"),a.classes.push("phasor-bottom"),a.children.push(new p("mrow",[],["phasor-angle"]));break;case"\\textcircled":a.setAttribute("notation","circle"),a.classes.push("circle-pad"),a.children.push(new p("mrow",[],["textcircle"]));break;case"\\angl":a.setAttribute("notation","actuarial"),a.classes.push("actuarial");break;case"\\boxed":a.style.padding="3pt",a.style.border="1px solid",a.setAttribute("scriptlevel","0"),a.setAttribute("displaystyle","true");break;case"\\fbox":a.setAttribute("notation","box"),a.classes.push("tml-fbox");break;case"\\fcolorbox":case"\\colorbox":a.style.padding="0.3em",e.label==="\\fcolorbox"&&(a.style.border="0.0667em solid "+String(e.borderColor));break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};S({type:"enclose",names:["\\colorbox"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","text"]},handler({parser:e,funcName:t},r,a){const s=a[0]&&$(a[0],"raw").string;let i="";if(s){const u=$(r[0],"raw").string;i=he(s,u)}else i=ge($(r[0],"raw").string,e.gullet.macros);const l=r[1];return{type:"enclose",mode:e.mode,label:t,backgroundColor:i,body:l}},mathmlBuilder:pe});S({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","raw","text"]},handler({parser:e,funcName:t},r,a){const s=a[0]&&$(a[0],"raw").string;let i="",l;if(s){const h=$(r[0],"raw").string,g=$(r[0],"raw").string;i=he(s,h),l=he(s,g)}else i=ge($(r[0],"raw").string,e.gullet.macros),l=ge($(r[1],"raw").string,e.gullet.macros);const u=r[2];return{type:"enclose",mode:e.mode,label:t,backgroundColor:l,borderColor:i,body:u}},mathmlBuilder:pe});S({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler({parser:e},t){return{type:"enclose",mode:e.mode,label:"\\fbox",body:t[0]}}});S({type:"enclose",names:["\\angl","\\cancel","\\bcancel","\\xcancel","\\overline","\\boxed","\\longdiv","\\phase"],props:{numArgs:1},handler({parser:e,funcName:t},r){const a=r[0];return{type:"enclose",mode:e.mode,label:t,body:a}},mathmlBuilder:pe});S({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler({parser:e,funcName:t},r){const a=r[0];return{type:"enclose",mode:e.mode,label:t,body:a}},mathmlBuilder:pe});S({type:"enclose",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler({parser:e,funcName:t},r){const a=r[0];return{type:"enclose",mode:e.mode,label:t,body:a}},mathmlBuilder:pe});S({type:"enclose",names:["\\textcircled"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler({parser:e,funcName:t},r){const a=r[0];return{type:"enclose",mode:e.mode,label:t,body:a}},mathmlBuilder:pe});S({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler({parser:e,funcName:t},r){const a=r[0];if(a.type!=="ordgroup")throw new w("Invalid environment name",a);let s="";for(let i=0;i<a.body.length;++i)s+=$(a.body[i],"textord").text;if(t==="\\begin"){if(!Object.prototype.hasOwnProperty.call(Ve,s))throw new w("No such environment: "+s,a);const i=Ve[s],{args:l,optArgs:u}=e.parseArguments("\\begin{"+s+"}",i),h={mode:e.mode,envName:s,parser:e},g=i.handler(h,l,u);e.expect("\\end",!1);const A=e.nextToken,v=$(e.parseFunction(),"environment");if(v.name!==s)throw new w(`Mismatch: \\begin{${s}} matched by \\end{${v.name}}`,A);return g}return{type:"environment",mode:e.mode,name:s,nameGroup:a}}});S({type:"envTag",names:["\\env@tag"],props:{numArgs:1,argTypes:["math"]},handler({parser:e},t){return{type:"envTag",mode:e.mode,body:t[0]}},mathmlBuilder(e,t){return new p("mrow")}});S({type:"noTag",names:["\\env@notag"],props:{numArgs:0},handler({parser:e}){return{type:"noTag",mode:e.mode}},mathmlBuilder(e,t){return new p("mrow")}});var _t=Object.freeze({B:8426,E:8427,F:8427,H:8387,I:8391,L:8390,M:8422,R:8393,e:8394,g:8355,o:8389}),Sn=Object.freeze({C:8426,H:8388,I:8392,R:8394,Z:8398}),qn=Object.freeze({C:8383,H:8389,N:8391,P:8393,Q:8393,R:8395,Z:8394}),hr=Object.freeze({"ϵ":119527,ϑ:119564,ϰ:119534,φ:119577,ϱ:119535,ϖ:119563}),_n=Object.freeze({"ϵ":119643,ϑ:119680,ϰ:119650,φ:119693,ϱ:119651,ϖ:119679}),Tt=Object.freeze({"ϵ":119701,ϑ:119738,ϰ:119708,φ:119751,ϱ:119709,ϖ:119737}),Tn=Object.freeze({"ϵ":119759,ϑ:119796,ϰ:119766,φ:119809,ϱ:119767,ϖ:119795}),$n=Object.freeze({upperCaseLatin:{normal:e=>0,bold:e=>119743,italic:e=>119795,"bold-italic":e=>119847,script:e=>_t[e]||119899,"script-bold":e=>119951,fraktur:e=>Sn[e]||120003,"fraktur-bold":e=>120107,"double-struck":e=>qn[e]||120055,"sans-serif":e=>120159,"sans-serif-bold":e=>120211,"sans-serif-italic":e=>120263,"sans-serif-bold-italic":e=>120380,monospace:e=>120367},lowerCaseLatin:{normal:e=>0,bold:e=>119737,italic:e=>e==="h"?8358:119789,"bold-italic":e=>119841,script:e=>_t[e]||119893,"script-bold":e=>119945,fraktur:e=>119997,"fraktur-bold":e=>120101,"double-struck":e=>120049,"sans-serif":e=>120153,"sans-serif-bold":e=>120205,"sans-serif-italic":e=>120257,"sans-serif-bold-italic":e=>120309,monospace:e=>120361},upperCaseGreek:{normal:e=>0,bold:e=>119575,italic:e=>119633,"bold-italic":e=>119575,script:e=>0,"script-bold":e=>0,fraktur:e=>0,"fraktur-bold":e=>0,"double-struck":e=>0,"sans-serif":e=>119749,"sans-serif-bold":e=>119749,"sans-serif-italic":e=>0,"sans-serif-bold-italic":e=>119807,monospace:e=>0},lowerCaseGreek:{normal:e=>0,bold:e=>119569,italic:e=>119627,"bold-italic":e=>e==="ϕ"?119678:119685,script:e=>0,"script-bold":e=>0,fraktur:e=>0,"fraktur-bold":e=>0,"double-struck":e=>0,"sans-serif":e=>119743,"sans-serif-bold":e=>119743,"sans-serif-italic":e=>0,"sans-serif-bold-italic":e=>119801,monospace:e=>0},varGreek:{normal:e=>0,bold:e=>hr[e]||-51,italic:e=>0,"bold-italic":e=>_n[e]||58,script:e=>0,"script-bold":e=>0,fraktur:e=>0,"fraktur-bold":e=>0,"double-struck":e=>0,"sans-serif":e=>Tt[e]||116,"sans-serif-bold":e=>Tt[e]||116,"sans-serif-italic":e=>0,"sans-serif-bold-italic":e=>Tn[e]||174,monospace:e=>0},numeral:{normal:e=>0,bold:e=>120734,italic:e=>0,"bold-italic":e=>0,script:e=>0,"script-bold":e=>0,fraktur:e=>0,"fraktur-bold":e=>0,"double-struck":e=>120744,"sans-serif":e=>120754,"sans-serif-bold":e=>120764,"sans-serif-italic":e=>0,"sans-serif-bold-italic":e=>0,monospace:e=>120774}}),de=(e,t)=>{const r=e.codePointAt(0),a=64<r&&r<91?"upperCaseLatin":96<r&&r<123?"lowerCaseLatin":912<r&&r<938?"upperCaseGreek":944<r&&r<970||e==="ϕ"?"lowerCaseGreek":120545<r&&r<120572||hr[e]?"varGreek":47<r&&r<58?"numeral":"other";return a==="other"?e:String.fromCodePoint(r+$n[a][t](e))},On=Object.freeze({a:"ᴀ",b:"ʙ",c:"ᴄ",d:"ᴅ",e:"ᴇ",f:"ꜰ",g:"ɢ",h:"ʜ",i:"ɪ",j:"ᴊ",k:"ᴋ",l:"ʟ",m:"ᴍ",n:"ɴ",o:"ᴏ",p:"ᴘ",q:"ǫ",r:"ʀ",s:"s",t:"ᴛ",u:"ᴜ",v:"ᴠ",w:"ᴡ",x:"x",y:"ʏ",z:"ᴢ"}),Cn=["mathrm","mathit"],Bn=(e,t)=>{if(!Cn.includes(t)||!e.body||e.body.type!=="ordgroup"||e.body.body.length===1||e.body.body[0].type!=="mathord")return!1;for(let r=1;r<e.body.body.length;r++){const a=e.body.body[r].type;if(!(a==="mathord"||a==="textord"&&!isNaN(e.body.body[r].text)))return!1}return!0},pr=(e,t)=>{const r=e.font,a=t.withFont(r),s=z(e.body,a);if(s.children.length===0)return s;if(r==="boldsymbol"&&["mo","mpadded","mrow"].includes(s.type))return s.style.fontWeight="bold",s;if(Bn(e,r)){const u=s.children[0].children[0].children?s.children[0].children[0]:s.children[0];delete u.attributes.mathvariant;for(let g=1;g<s.children.length;g++)u.children[0].text+=s.children[g].children[0].children?s.children[g].children[0].children[0].text:s.children[g].children[0].text;if(r==="mathit")return u.children[0].text=u.children[0].text.split("").map(g=>de(g,"italic")).join(""),u;const h=new p("mpadded",[u]);return h.setAttribute("lspace","0"),h}let i=s.children[0].type==="mo";for(let u=1;u<s.children.length;u++)s.children[u].type==="mo"&&r==="boldsymbol"&&(s.children[u].style.fontWeight="bold"),s.children[u].type!=="mi"&&(i=!1),(s.children[u].attributes&&s.children[u].attributes.mathvariant||"")!=="normal"&&(i=!1);if(!i)return s;const l=s.children[0];for(let u=1;u<s.children.length;u++)l.children.push(s.children[u].children[0]);if(l.attributes.mathvariant&&l.attributes.mathvariant==="normal"){const u=new p("mtext",new j("​"));return new p("mrow",[u,l])}return l},$t={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};S({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\up@greek","\\boldsymbol","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathsfit","\\mathtt","\\Bbb","\\bm","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:({parser:e,funcName:t},r)=>{const a=fe(r[0]);let s=t;return s in $t&&(s=$t[s]),{type:"font",mode:e.mode,font:s.slice(1),body:a}},mathmlBuilder:pr});S({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:({parser:e,funcName:t,breakOnTokenText:r},a)=>{const{mode:s}=e,i=e.parseExpression(!0,r,!0);return{type:"font",mode:s,font:`math${t.slice(1)}`,body:{type:"ordgroup",mode:e.mode,body:i}}},mathmlBuilder:pr});var Ot=["display","text","script","scriptscript"],Ln={auto:-1,display:0,text:0,script:1,scriptscript:2},zn=(e,t)=>{let r=t;if(e==="display"){const a=r.level>=D.SCRIPT?D.TEXT:D.DISPLAY;r=r.withLevel(a)}else e==="text"&&r.level===D.DISPLAY?r=r.withLevel(D.TEXT):e==="auto"?r=r.incrementLevel():e==="script"?r=r.withLevel(D.SCRIPT):e==="scriptscript"&&(r=r.withLevel(D.SCRIPTSCRIPT));return r},it=(e,t)=>{t=zn(e.scriptLevel,t);const r=z(e.numer,t),a=z(e.denom,t);t.level===3&&(r.style.mathDepth="2",r.setAttribute("scriptlevel","2"),a.style.mathDepth="2",a.setAttribute("scriptlevel","2"));let s=new p("mfrac",[r,a]);if(!e.hasBarLine)s.setAttribute("linethickness","0px");else if(e.barSize){const i=J(e.barSize,t);s.setAttribute("linethickness",i.number+i.unit)}if(e.leftDelim!=null||e.rightDelim!=null){const i=[];if(e.leftDelim!=null){const l=new p("mo",[new j(e.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),i.push(l)}if(i.push(s),e.rightDelim!=null){const l=new p("mo",[new j(e.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),i.push(l)}s=xe(i)}return e.scriptLevel!=="auto"&&(s=new p("mstyle",[s]),s.setAttribute("displaystyle",String(e.scriptLevel==="display")),s.setAttribute("scriptlevel",Ln[e.scriptLevel])),s};S({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:({parser:e,funcName:t},r)=>{const a=r[0],s=r[1];let i=!1,l=null,u=null,h="auto";switch(t){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l="(",u=")";break;case"\\\\bracefrac":l="\\{",u="\\}";break;case"\\\\brackfrac":l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}return t==="\\cfrac"||t.startsWith("\\d")?h="display":t.startsWith("\\t")&&(h="text"),{type:"genfrac",mode:e.mode,continued:!1,numer:a,denom:s,hasBarLine:i,leftDelim:l,rightDelim:u,scriptLevel:h,barSize:null}},mathmlBuilder:it});S({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler({parser:e,funcName:t,token:r}){let a;switch(t){case"\\over":a="\\frac";break;case"\\choose":a="\\binom";break;case"\\atop":a="\\\\atopfrac";break;case"\\brace":a="\\\\bracefrac";break;case"\\brack":a="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:a,token:r}}});var Ct=function(e){let t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};S({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler({parser:e},t){const r=t[4],a=t[5],s=fe(t[0]),i=s.type==="atom"&&s.family==="open"?Ct(s.text):null,l=fe(t[1]),u=l.type==="atom"&&l.family==="close"?Ct(l.text):null,h=$(t[2],"size");let g,A=null;h.isBlank?g=!0:(A=h.value,g=A.number>0);let v="auto",y=t[3];if(y.type==="ordgroup"){if(y.body.length>0){const _=$(y.body[0],"textord");v=Ot[Number(_.text)]}}else y=$(y,"textord"),v=Ot[Number(y.text)];return{type:"genfrac",mode:e.mode,numer:r,denom:a,continued:!1,hasBarLine:g,barSize:A,leftDelim:i,rightDelim:u,scriptLevel:v}},mathmlBuilder:it});S({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler({parser:e,funcName:t,token:r},a){return{type:"infix",mode:e.mode,replaceWith:"\\\\abovefrac",barSize:$(a[0],"size").value,token:r}}});S({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:({parser:e,funcName:t},r)=>{const a=r[0],s=zr($(r[1],"infix").barSize),i=r[2],l=s.number>0;return{type:"genfrac",mode:e.mode,numer:a,denom:i,continued:!1,hasBarLine:l,barSize:s,leftDelim:null,rightDelim:null,scriptLevel:"auto"}},mathmlBuilder:it});S({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["hbox"],allowedInArgument:!0,allowedInText:!1},handler({parser:e},t){return{type:"hbox",mode:e.mode,body:R(t[0])}},mathmlBuilder(e,t){const r=t.withLevel(D.TEXT),a=ne(e.body,r);return Le(a)}});var En=(e,t)=>{const r=et(e.label);return r.style["math-depth"]=0,new p(e.isOver?"mover":"munder",[z(e.base,t),r])};S({type:"horizBracket",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler({parser:e,funcName:t},r){return{type:"horizBracket",mode:e.mode,label:t,isOver:/^\\over/.test(t),base:r[0]}},mathmlBuilder:En});S({type:"html",names:["\\class","\\id","\\style","\\data"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:({parser:e,funcName:t,token:r},a)=>{const s=$(a[0],"raw").string,i=a[1];if(e.settings.strict)throw new w(`Function "${t}" is disabled in strict mode`,r);let l;const u={};switch(t){case"\\class":u.class=s,l={command:"\\class",class:s};break;case"\\id":u.id=s,l={command:"\\id",id:s};break;case"\\style":u.style=s,l={command:"\\style",style:s};break;case"\\data":{const h=s.split(",");for(let g=0;g<h.length;g++){const A=h[g].split("=");if(A.length!==2)throw new w("Error parsing key-value for \\data");u["data-"+A[0].trim()]=A[1].trim()}l={command:"\\data",attributes:u};break}default:throw new Error("Unrecognized html command")}if(!e.settings.isTrusted(l))throw new w(`Function "${t}" is not trusted`,r);return{type:"html",mode:e.mode,attributes:u,body:R(i)}},mathmlBuilder:(e,t)=>{const r=ne(e.body,t),a=[];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/)),r.classes=a;for(const s in e.attributes)s!=="class"&&Object.prototype.hasOwnProperty.call(e.attributes,s)&&r.setAttribute(s,e.attributes[s]);return r}});var Me=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new w("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!Yt(r))throw new w("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};S({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:({parser:e,token:t},r,a)=>{let s={number:0,unit:"em"},i={number:.9,unit:"em"},l={number:0,unit:"em"},u="";if(a[0]){const g=$(a[0],"raw").string.split(",");for(let A=0;A<g.length;A++){const v=g[A].split("=");if(v.length===2){const y=v[1].trim();switch(v[0].trim()){case"alt":u=y;break;case"width":s=Me(y);break;case"height":i=Me(y);break;case"totalheight":l=Me(y);break;default:throw new w("Invalid key: '"+v[0]+"' in \\includegraphics.")}}}}const h=$(r[0],"url").url;if(u===""&&(u=h,u=u.replace(/^.*[\\/]/,""),u=u.substring(0,u.lastIndexOf("."))),!e.settings.isTrusted({command:"\\includegraphics",url:h}))throw new w('Function "\\includegraphics" is not trusted',t);return{type:"includegraphics",mode:e.mode,alt:u,width:s,height:i,totalheight:l,src:h}},mathmlBuilder:(e,t)=>{const r=J(e.height,t),a={number:0,unit:"em"};e.totalheight.number>0&&e.totalheight.unit===r.unit&&e.totalheight.number>r.number&&(a.number=e.totalheight.number-r.number,a.unit=r.unit);let s=0;e.width.number>0&&(s=J(e.width,t));const i={height:r.number+a.number+"em"};s.number>0&&(i.width=s.number+s.unit),a.number>0&&(i.verticalAlign=-a.number+a.unit);const l=new Mr(e.src,e.alt,i);return l.height=r,l.depth=a,new p("mtext",[l])}});S({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler({parser:e,funcName:t,token:r},a){const s=$(a[0],"size");if(e.settings.strict){const i=t[1]==="m",l=s.value.unit==="mu";if(i){if(!l)throw new w(`LaTeX's ${t} supports only mu units, not ${s.value.unit} units`,r);if(e.mode!=="math")throw new w(`LaTeX's ${t} works only in math mode`,r)}else if(l)throw new w(`LaTeX's ${t} doesn't support mu units`,r)}return{type:"kern",mode:e.mode,dimension:s.value}},mathmlBuilder(e,t){const r=J(e.dimension,t),a=r.number>0&&r.unit==="em"?fr(r.number):"";if(e.mode==="text"&&a.length>0){const s=new j(a);return new p("mtext",[s])}else if(r.number>=0){const s=new p("mspace");return s.setAttribute("width",r.number+r.unit),s}else{const s=new p("mrow");return s.style.marginLeft=r.number+r.unit,s}}});var fr=function(e){return e>=.05555&&e<=.05556?" ":e>=.1666&&e<=.1667?" ":e>=.2222&&e<=.2223?" ":e>=.2777&&e<=.2778?"  ":""},gr=/[^A-Za-z_0-9-]/g;S({type:"label",names:["\\label"],props:{numArgs:1,argTypes:["raw"]},handler({parser:e},t){return{type:"label",mode:e.mode,string:t[0].string.replace(gr,"")}},mathmlBuilder(e,t){const r=new p("mrow",[],["tml-label"]);return e.string.length>0&&r.setLabel(e.string),r}});var In=["\\clap","\\llap","\\rlap"];S({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap","\\clap","\\llap","\\rlap"],props:{numArgs:1,allowedInText:!0},handler:({parser:e,funcName:t,token:r},a)=>{if(In.includes(t)){if(e.settings.strict&&e.mode!=="text")throw new w(`{${t}} can be used only in text mode.
89
+ Try \\math${t.slice(1)}`,r);t=t.slice(1)}else t=t.slice(5);const s=a[0];return{type:"lap",mode:e.mode,alignment:t,body:s}},mathmlBuilder:(e,t)=>{let r;if(e.alignment==="llap"){const i=U(R(e.body),t),l=new p("mphantom",i);r=new p("mpadded",[l]),r.setAttribute("width","0.1px")}const a=z(e.body,t);let s;if(e.alignment==="llap"?(a.style.position="absolute",a.style.right="0",a.style.bottom="0",s=new p("mpadded",[r,a])):s=new p("mpadded",[a]),e.alignment==="rlap")e.body.body.length>0&&e.body.body[0].type==="genfrac"&&s.setAttribute("lspace","0.16667em");else{const i=e.alignment==="llap"?"-1":"-0.5";s.setAttribute("lspace",i+"width"),e.alignment==="llap"?s.style.position="relative":(s.style.display="flex",s.style.justifyContent="center")}return s.setAttribute("width","0.1px"),s}});S({type:"ordgroup",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler({funcName:e,parser:t},r){const a=t.mode;t.switchMode("math");const s=e==="\\("?"\\)":"$",i=t.parseExpression(!1,s);return t.expect(s),t.switchMode(a),{type:"ordgroup",mode:t.mode,body:i}}});S({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new w(`Mismatched ${e.funcName}`,t)}});var Dn=(e,t)=>{switch(t.level){case D.DISPLAY:return e.display;case D.TEXT:return e.text;case D.SCRIPT:return e.script;case D.SCRIPTSCRIPT:return e.scriptscript;default:return e.text}};S({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:({parser:e},t)=>({type:"mathchoice",mode:e.mode,display:R(t[0]),text:R(t[1]),script:R(t[2]),scriptscript:R(t[3])}),mathmlBuilder:(e,t)=>{const r=Dn(e,t);return ne(r,t)}});var Nn=["text","textord","mathord","atom"];function br(e,t){let r;const a=U(e.body,t);if(e.mclass==="minner")r=new p("mpadded",a);else if(e.mclass==="mord")e.isCharacterBox||a[0].type==="mathord"?(r=a[0],r.type="mi",r.children.length===1&&r.children[0].text&&r.children[0].text==="∇"&&r.setAttribute("mathvariant","normal")):r=new p("mi",a);else{r=new p("mrow",a),e.mustPromote?(r=a[0],r.type="mo",e.isCharacterBox&&e.body[0].text&&/[A-Za-z]/.test(e.body[0].text)&&r.setAttribute("mathvariant","italic")):r=new p("mrow",a);const s=t.level<2;r.type==="mrow"?s&&(e.mclass==="mbin"?(r.children.unshift(G(.2222)),r.children.push(G(.2222))):e.mclass==="mrel"?(r.children.unshift(G(.2778)),r.children.push(G(.2778))):e.mclass==="mpunct"?r.children.push(G(.1667)):e.mclass==="minner"&&(r.children.unshift(G(.0556)),r.children.push(G(.0556)))):e.mclass==="mbin"?(r.attributes.lspace=s?"0.2222em":"0",r.attributes.rspace=s?"0.2222em":"0"):e.mclass==="mrel"?(r.attributes.lspace=s?"0.2778em":"0",r.attributes.rspace=s?"0.2778em":"0"):e.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace=s?"0.1667em":"0"):e.mclass==="mopen"||e.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):e.mclass==="minner"&&s&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em"),e.mclass==="mopen"||e.mclass==="mclose"||(delete r.attributes.stretchy,delete r.attributes.form)}return r}S({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler({parser:e,funcName:t},r){const a=r[0],s=Be(a);let i=!0;const l={type:"mathord",text:"",mode:e.mode},u=a.body?a.body:[a];for(const h of u)if(Nn.includes(h.type))N[e.mode][h.text]?l.text+=N[e.mode][h.text].replace:h.text?l.text+=h.text:h.body&&h.body.map(g=>{l.text+=g.text});else{i=!1;break}return i&&t==="\\mathord"&&l.type==="mathord"&&l.text.length>1?l:{type:"mclass",mode:e.mode,mclass:"m"+t.slice(5),body:R(i?l:a),isCharacterBox:s,mustPromote:i}},mathmlBuilder:br});var yr=e=>{const t=e.type==="ordgroup"&&e.body.length&&e.body.length===1?e.body[0]:e;if(t.type==="atom"){const r=e.body.length>0&&e.body[0].text&&N.math[e.body[0].text]?N.math[e.body[0].text].group:t.family;return r==="bin"||r==="rel"?"m"+r:"mord"}else return"mord"};S({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler({parser:e},t){return{type:"mclass",mode:e.mode,mclass:yr(t[0]),body:R(t[1]),isCharacterBox:Be(t[1])}}});S({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler({parser:e,funcName:t},r){const a=r[1],s=r[0];let i;t!=="\\stackrel"?i=yr(a):i="mrel";const l={type:i==="mrel"||i==="mbin"?"op":"ordgroup",mode:a.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:t!=="\\stackrel",body:R(a)};return{type:"supsub",mode:s.mode,stack:!0,base:l,sup:t==="\\underset"?null:s,sub:t==="\\underset"?s:null}},mathmlBuilder:br});var Se=(e,t,r)=>{if(!e)return r;const a=z(e,t);return a.type==="mrow"&&a.children.length===0?r:a};S({type:"multiscript",names:["\\sideset","\\pres@cript"],props:{numArgs:3},handler({parser:e,funcName:t,token:r},a){if(a[2].body.length===0)throw new w(t+"cannot parse an empty base.");const s=a[2].body[0];if(e.settings.strict&&t==="\\sideset"&&!s.symbol)throw new w("The base of \\sideset must be a big operator. Try \\prescript.");if(a[0].body.length>0&&a[0].body[0].type!=="supsub"||a[1].body.length>0&&a[1].body[0].type!=="supsub")throw new w("\\sideset can parse only subscripts and superscripts in its first two arguments",r);const i=a[0].body.length>0?a[0].body[0]:null,l=a[1].body.length>0?a[1].body[0]:null;return!i&&!l?s:i?{type:"multiscript",mode:e.mode,isSideset:t==="\\sideset",prescripts:i,postscripts:l,base:s}:{type:"styling",mode:e.mode,scriptLevel:"text",body:[{type:"supsub",mode:e.mode,base:s,sup:l.sup,sub:l.sub}]}},mathmlBuilder(e,t){const r=z(e.base,t),a=new p("mprescripts"),s=new p("none");let i=[];const l=Se(e.prescripts.sub,t,s),u=Se(e.prescripts.sup,t,s);return e.isSideset&&(l.setAttribute("style","text-align: left;"),u.setAttribute("style","text-align: left;")),e.postscripts?i=[r,Se(e.postscripts.sub,t,s),Se(e.postscripts.sup,t,s),a,l,u]:i=[r,a,l,u],new p("mmultiscripts",i)}});S({type:"not",names:["\\not"],props:{numArgs:1,primitive:!0,allowedInText:!1},handler({parser:e},t){const r=Be(t[0]);let a;return r?(a=R(t[0]),a[0].text.charAt(0)==="\\"&&(a[0].text=N.math[a[0].text].replace),a[0].text=a[0].text.slice(0,1)+"̸"+a[0].text.slice(1)):a=[{type:"textord",mode:"math",text:"̸"},{type:"kern",mode:"math",dimension:{number:-.6,unit:"em"}},t[0]],{type:"not",mode:e.mode,body:a,isCharacterBox:r}},mathmlBuilder(e,t){return e.isCharacterBox?U(e.body,t,!0)[0]:ne(e.body,t)}});var Pn=["textord","mathord","atom"],Mn=["\\smallint"],lt=["textord","mathord","ordgroup","close","leftright","font"],Bt=e=>{e.attributes.lspace="0.1667em",e.attributes.rspace="0.1667em"},ve=(e,t)=>{let r;if(e.symbol)r=new p("mo",[H(e.name,e.mode)]),Mn.includes(e.name)?r.setAttribute("largeop","false"):r.setAttribute("movablelimits","false"),e.fromMathOp&&Bt(r);else if(e.body)r=new p("mo",U(e.body,t)),e.fromMathOp&&Bt(r);else if(r=new p("mi",[new j(e.name.slice(1))]),!e.parentIsSupSub){const a=new p("mo",[H("⁡","text")]),s=[r,a];if(e.needsLeadingSpace){const i=new p("mspace");i.setAttribute("width","0.1667em"),s.unshift(i)}if(!e.isFollowedByDelimiter){const i=new p("mspace");i.setAttribute("width","0.1667em"),s.push(i)}r=new p("mrow",s)}return r},Fn={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨅":"\\bigsqcap","⨆":"\\bigsqcup","⨃":"\\bigcupdot","⨇":"\\bigdoublevee","⨈":"\\bigdoublewedge","⨉":"\\bigtimes"};S({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcupplus","\\bigcupdot","\\bigcap","\\bigcup","\\bigdoublevee","\\bigdoublewedge","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcap","\\bigsqcup","\\bigtimes","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨃","⨄","⨅","⨆","⨇","⨈","⨉"],props:{numArgs:0},handler:({parser:e,funcName:t},r)=>{let a=t;return a.length===1&&(a=Fn[a]),{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!0,stack:!1,name:a}},mathmlBuilder:ve});S({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:({parser:e},t)=>{const r=t[0],a=r.body?r.body:[r],s=a.length===1&&Pn.includes(a[0].type);return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:s,fromMathOp:!0,stack:!1,name:s?a[0].text:null,body:s?null:R(r)}},mathmlBuilder:ve});var Gn={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint","∱":"\\intclockwise","∲":"\\varointclockwise","⨌":"\\iiiint","⨍":"\\intbar","⨎":"\\intBar","⨏":"\\fint","⨒":"\\rppolint","⨓":"\\scpolint","⨕":"\\pointint","⨖":"\\sqint","⨗":"\\intlarhk","⨘":"\\intx","⨙":"\\intcap","⨚":"\\intcup"};S({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\sgn","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler({parser:e,funcName:t}){const r=e.prevAtomType,a=e.gullet.future().text;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,stack:!1,isFollowedByDelimiter:Ee(a),needsLeadingSpace:r.length>0&&lt.includes(r),name:t}},mathmlBuilder:ve});S({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler({parser:e,funcName:t}){const r=e.prevAtomType,a=e.gullet.future().text;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,stack:!1,isFollowedByDelimiter:Ee(a),needsLeadingSpace:r.length>0&&lt.includes(r),name:t}},mathmlBuilder:ve});S({type:"op",names:["\\int","\\iint","\\iiint","\\iiiint","\\oint","\\oiint","\\oiiint","\\intclockwise","\\varointclockwise","\\intbar","\\intBar","\\fint","\\rppolint","\\scpolint","\\pointint","\\sqint","\\intlarhk","\\intx","\\intcap","\\intcup","∫","∬","∭","∮","∯","∰","∱","∲","⨌","⨍","⨎","⨏","⨒","⨓","⨕","⨖","⨗","⨘","⨙","⨚"],props:{numArgs:0,allowedInArgument:!0},handler({parser:e,funcName:t}){let r=t;return r.length===1&&(r=Gn[r]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,stack:!1,name:r}},mathmlBuilder:ve});var Rn=(e,t)=>{let r=U(e.body,t.withFont("mathrm")),a=!0;for(let i=0;i<r.length;i++){let l=r[i];if(l instanceof p)switch(((l.type==="mrow"||l.type==="mpadded")&&l.children.length===1&&l.children[0]instanceof p||l.type==="mrow"&&l.children.length===2&&l.children[0]instanceof p&&l.children[1]instanceof p&&l.children[1].type==="mspace"&&!l.children[1].attributes.width&&l.children[1].children.length===0)&&(l=l.children[0]),l.type){case"mi":case"mn":case"ms":case"mtext":break;case"mspace":if(l.attributes.width){const u=l.attributes.width.replace("em",""),h=fr(Number(u));h===""?a=!1:r[i]=new p("mtext",[new j(h)])}break;case"mo":{const u=l.children[0];l.children.length===1&&u instanceof j?u.text=u.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){const i=r.map(l=>l.toText()).join("");r=[new j(i)]}else if(r.length===1&&["mover","munder"].includes(r[0].type)&&(r[0].children[0].type==="mi"||r[0].children[0].type==="mtext")){if(r[0].children[0].type="mi",e.parentIsSupSub)return new p("mrow",r);{const i=new p("mo",[H("⁡","text")]);return oe([r[0],i])}}let s;if(a?(s=new p("mi",r),r[0].text.length===1&&s.setAttribute("mathvariant","normal")):s=new p("mrow",r),!e.parentIsSupSub){const i=new p("mo",[H("⁡","text")]),l=[s,i];if(e.needsLeadingSpace){const u=new p("mspace");u.setAttribute("width","0.1667em"),l.unshift(u)}if(!e.isFollowedByDelimiter){const u=new p("mspace");u.setAttribute("width","0.1667em"),l.push(u)}return oe(l)}return s};S({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1,allowedInArgument:!0},handler:({parser:e,funcName:t},r)=>{const a=r[0],s=e.prevAtomType,i=e.gullet.future().text;return{type:"operatorname",mode:e.mode,body:R(a),alwaysHandleSupSub:t==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1,isFollowedByDelimiter:Ee(i),needsLeadingSpace:s.length>0&&lt.includes(s)}},mathmlBuilder:Rn});c("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");se({type:"ordgroup",mathmlBuilder(e,t){return ne(e.body,t,e.semisimple)}});S({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:({parser:e},t)=>{const r=t[0];return{type:"phantom",mode:e.mode,body:R(r)}},mathmlBuilder:(e,t)=>{const r=U(e.body,t);return new p("mphantom",r)}});S({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:({parser:e},t)=>{const r=t[0];return{type:"hphantom",mode:e.mode,body:r}},mathmlBuilder:(e,t)=>{const r=U(R(e.body),t),a=new p("mphantom",r),s=new p("mpadded",[a]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});S({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:({parser:e},t)=>{const r=t[0];return{type:"vphantom",mode:e.mode,body:r}},mathmlBuilder:(e,t)=>{const r=U(R(e.body),t),a=new p("mphantom",r),s=new p("mpadded",[a]);return s.setAttribute("width","0.1px"),s}});S({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler({parser:e},t){return{type:"pmb",mode:e.mode,body:R(t[0])}},mathmlBuilder(e,t){const r=U(e.body,t),a=Qe(r);return a.setAttribute("style","font-weight:bold"),a}});var xr=(e,t)=>{const r=t.withLevel(D.TEXT),a=new p("mpadded",[z(e.body,r)]),s=J(e.dy,t);return a.setAttribute("voffset",s.number+s.unit),s.number>0?a.style.padding=s.number+s.unit+" 0 0 0":a.style.padding="0 0 "+Math.abs(s.number)+s.unit+" 0",a};S({type:"raise",names:["\\raise","\\lower"],props:{numArgs:2,argTypes:["size","primitive"],primitive:!0},handler({parser:e,funcName:t},r){const a=$(r[0],"size").value;t==="\\lower"&&(a.number*=-1);const s=r[1];return{type:"raise",mode:e.mode,dy:a,body:s}},mathmlBuilder:xr});S({type:"raise",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler({parser:e,funcName:t},r){const a=$(r[0],"size").value,s=r[1];return{type:"raise",mode:e.mode,dy:a,body:s}},mathmlBuilder:xr});S({type:"ref",names:["\\ref","\\eqref"],props:{numArgs:1,argTypes:["raw"]},handler({parser:e,funcName:t},r){return{type:"ref",mode:e.mode,funcName:t,string:r[0].string.replace(gr,"")}},mathmlBuilder(e,t){const r=e.funcName==="\\ref"?["tml-ref"]:["tml-ref","tml-eqref"];return new Wt("#"+e.string,r,null)}});S({type:"reflect",names:["\\reflectbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler({parser:e},t){return{type:"reflect",mode:e.mode,body:t[0]}},mathmlBuilder(e,t){const r=z(e.body,t);return r.style.transform="scaleX(-1)",r}});S({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler({parser:e}){return{type:"internal",mode:e.mode}}});S({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler({parser:e},t,r){const a=r[0],s=$(t[0],"size"),i=$(t[1],"size");return{type:"rule",mode:e.mode,shift:a&&$(a,"size").value,width:s.value,height:i.value}},mathmlBuilder(e,t){const r=J(e.width,t),a=J(e.height,t),s=e.shift?J(e.shift,t):{number:0,unit:"em"},i=t.color&&t.getColor()||"black",l=new p("mspace");if(r.number>0&&a.number>0&&l.setAttribute("mathbackground",i),l.setAttribute("width",r.number+r.unit),l.setAttribute("height",a.number+a.unit),s.number===0)return l;const u=new p("mpadded",[l]);return s.number>=0?u.setAttribute("height","+"+s.number+s.unit):(u.setAttribute("height",s.number+s.unit),u.setAttribute("depth","+"+-s.number+s.unit)),u.setAttribute("voffset",s.number+s.unit),u}});var Lt=/^[0-9]$/,jn={0:"₀",1:"₁",2:"₂",3:"₃",4:"₄",5:"₅",6:"₆",7:"₇",8:"₈",9:"₉"},Un={0:"⁰",1:"¹",2:"²",3:"³",4:"⁴",5:"⁵",6:"⁶",7:"⁷",8:"⁸",9:"⁹"};S({type:"sfrac",names:["\\sfrac"],props:{numArgs:2,allowedInText:!0,allowedInMath:!0},handler({parser:e},t){let r="";for(const s of t[0].body){if(s.type!=="textord"||!Lt.test(s.text))throw new w("Numerator must be an integer.",s);r+=s.text}let a="";for(const s of t[1].body){if(s.type!=="textord"||!Lt.test(s.text))throw new w("Denominator must be an integer.",s);a+=s.text}return{type:"sfrac",mode:e.mode,numerator:r,denominator:a}},mathmlBuilder(e,t){const r=e.numerator.split("").map(i=>Un[i]).join(""),a=e.denominator.split("").map(i=>jn[i]).join(""),s=new j(r+"⁄"+a,e.mode,t);return new p("mn",[s],["special-fraction"])}});var zt={"\\tiny":.5,"\\sixptsize":.6,"\\Tiny":.6,"\\scriptsize":.7,"\\footnotesize":.8,"\\small":.9,"\\normalsize":1,"\\large":1.2,"\\Large":1.44,"\\LARGE":1.728,"\\huge":2.074,"\\Huge":2.488};S({type:"sizing",names:["\\tiny","\\sixptsize","\\Tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],props:{numArgs:0,allowedInText:!0},handler:({breakOnTokenText:e,funcName:t,parser:r},a)=>{r.settings.strict&&r.mode==="math"&&`${t}`;const s=r.parseExpression(!1,e,!0);return{type:"sizing",mode:r.mode,funcName:t,body:s}},mathmlBuilder:(e,t)=>{const r=t.withFontSize(zt[e.funcName]),a=U(e.body,r),s=Qe(a),i=(zt[e.funcName]/t.fontSize).toFixed(4);return s.setAttribute("mathsize",i+"em"),s}});S({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:({parser:e},t,r)=>{let a=!1,s=!1;const i=r[0]&&$(r[0],"ordgroup");if(i){let u="";for(let h=0;h<i.body.length;++h)if(u=i.body[h].text,u==="t")a=!0;else if(u==="b")s=!0;else{a=!1,s=!1;break}}else a=!0,s=!0;const l=t[0];return{type:"smash",mode:e.mode,body:l,smashHeight:a,smashDepth:s}},mathmlBuilder:(e,t)=>{const r=new p("mpadded",[z(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}});var Vn=["a","c","e","ı","m","n","o","r","s","u","v","w","x","z","α","ε","ι","κ","ν","ο","π","σ","τ","υ","ω","\\alpha","\\epsilon","\\iota","\\kappa","\\nu","\\omega","\\pi","\\tau","\\omega"];S({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler({parser:e},t,r){const a=r[0],s=t[0];return s.body&&s.body.length===1&&s.body[0].text&&Vn.includes(s.body[0].text)&&s.body.push({type:"rule",mode:"math",shift:null,width:{number:0,unit:"pt"},height:{number:.5,unit:"em"}}),{type:"sqrt",mode:e.mode,body:s,index:a}},mathmlBuilder(e,t){const{body:r,index:a}=e;return a?new p("mroot",[z(r,t),z(a,t.incrementLevel())]):new p("msqrt",[z(r,t)])}});var Wn={display:0,text:1,script:2,scriptscript:3},Hn={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]};S({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({breakOnTokenText:e,funcName:t,parser:r},a){const s=r.parseExpression(!0,e,!0),i=t.slice(1,t.length-5);return{type:"styling",mode:r.mode,scriptLevel:i,body:s}},mathmlBuilder(e,t){const r=t.withLevel(Wn[e.scriptLevel]),a=U(e.body,r),s=Qe(a),i=Hn[e.scriptLevel];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});var Zn=/^m(over|under|underover)$/,Xn="DHKLUcegorsuvxyzΠΥΨαδηιμνοτυχϵ",Yn="BCEFGIMNOPQRSTXZlpqtwΓΘΞΣΦΩβεζθξρςφψϑϕϱ",Kn="AJdfΔΛ";se({type:"supsub",mathmlBuilder(e,t){let r=!1,a,s,i=!1,l=!1,u=!1;e.base&&e.base.type==="horizBracket"&&(s=!!e.sup,s===e.base.isOver&&(r=!0,a=e.base.isOver)),e.base&&!e.stack&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0,i=!e.base.symbol,l=i&&!e.isFollowedByDelimiter,u=e.base.needsLeadingSpace);const h=e.stack&&e.base.body.length===1?[z(e.base.body[0],t)]:[z(e.base,t)],g=t.inSubOrSup();if(e.sub){const y=z(e.sub,g);t.level===3&&y.setAttribute("scriptlevel","2"),h.push(y)}if(e.sup){const y=z(e.sup,g);if(t.level===3&&y.setAttribute("scriptlevel","2"),e.base&&e.base.text&&e.base.text.length===1){const _=e.base.text;Xn.indexOf(_)>-1?y.classes.push("tml-sml-pad"):Yn.indexOf(_)>-1?y.classes.push("tml-med-pad"):Kn.indexOf(_)>-1&&y.classes.push("tml-lrg-pad")}h.push(y)}let A;if(r)A=a?"mover":"munder";else if(e.sub)if(e.sup){const y=e.base;y&&(y.type==="op"&&y.limits||y.type==="multiscript")&&(t.level===D.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(t.level===D.DISPLAY||y.limits)?A="munderover":A="msubsup"}else{const y=e.base;e.stack||y&&y.type==="op"&&y.limits&&(t.level===D.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||t.level===D.DISPLAY)?A="munder":A="msub"}else{const y=e.base;y&&y.type==="op"&&y.limits&&(t.level===D.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||t.level===D.DISPLAY)?A="mover":A="msup"}let v=new p(A,h);if(i){const y=new p("mo",[H("⁡","text")]);if(u){const _=new p("mspace");_.setAttribute("width","0.1667em"),v=oe([_,v,y])}else v=oe([v,y]);if(l){const _=new p("mspace");_.setAttribute("width","0.1667em"),v.children.push(_)}}else Zn.test(A)&&(v=new p("mrow",[v]));return v}});var Jn=["\\shortmid","\\nshortmid","\\shortparallel","\\nshortparallel","\\smallsetminus"],Qn=["\\Rsh","\\Lsh","\\restriction"],ea=e=>{if(e.length===1){const t=e.codePointAt(0);return 8591<t&&t<8704}return e.indexOf("arrow")>-1||e.indexOf("harpoon")>-1||Qn.includes(e)};se({type:"atom",mathmlBuilder(e,t){const r=new p("mo",[H(e.text,e.mode)]);if(e.family==="punct")r.setAttribute("separator","true");else if(e.family==="open"||e.family==="close")e.family==="open"?(r.setAttribute("form","prefix"),r.setAttribute("stretchy","false")):e.family==="close"&&(r.setAttribute("form","postfix"),r.setAttribute("stretchy","false"));else if(e.text==="\\mid")r.setAttribute("lspace","0.22em"),r.setAttribute("rspace","0.22em"),r.setAttribute("stretchy","false");else if(e.family==="rel"&&ea(e.text))r.setAttribute("stretchy","false");else if(Jn.includes(e.text))r.setAttribute("mathsize","70%");else if(e.text===":")r.attributes.lspace="0.2222em",r.attributes.rspace="0.2222em";else if(e.needsSpacing)return e.family==="bin"?new p("mrow",[G(.222),r,G(.222)]):new p("mrow",[G(.2778),r,G(.2778)]);return r}});var Et={mathbf:"bold",mathrm:"normal",textit:"italic",mathit:"italic",mathnormal:"italic",mathbb:"double-struck",mathcal:"script",mathfrak:"fraktur",mathscr:"script",mathsf:"sans-serif",mathtt:"monospace"},wr=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsc")return"normal";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"sans-serif-bold":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";const r=t.font;if(!r||r==="mathnormal")return null;const a=e.mode;switch(r){case"mathit":return"italic";case"mathrm":{const i=e.text.codePointAt(0);return 939<i&&i<975?"italic":"normal"}case"greekItalic":return"italic";case"up@greek":return"normal";case"boldsymbol":case"mathboldsymbol":return"bold-italic";case"mathbf":return"bold";case"mathbb":return"double-struck";case"mathfrak":return"fraktur";case"mathscr":case"mathcal":return"script";case"mathsf":return"sans-serif";case"mathsfit":return"sans-serif-italic";case"mathtt":return"monospace"}let s=e.text;return N[a][s]&&N[a][s].replace&&(s=N[a][s].replace),Object.prototype.hasOwnProperty.call(Et,r)?Et[r]:null},ta=/^\d(?:[\d,.]*\d)?$/,ra=/[A-Ba-z]/,na=new Set(["\\prime","\\dprime","\\trprime","\\qprime","\\backprime","\\backdprime","\\backtrprime"]),aa=(e,t,r)=>{const a=new p(r,[e]),s=new p("mstyle",[a]);return s.style["font-style"]="italic",s.style["font-family"]="Cambria, 'Times New Roman', serif",t==="bold-italic"&&(s.style["font-weight"]="bold"),s};se({type:"mathord",mathmlBuilder(e,t){const r=H(e.text,e.mode,t),a=r.text.codePointAt(0),s=912<a&&a<938?"normal":"italic",i=wr(e,t)||s;if(i==="script")return r.text=de(r.text,i),new p("mi",[r],[t.font]);i!=="italic"&&(r.text=de(r.text,i));let l=new p("mi",[r]);if(i==="normal"&&(l.setAttribute("mathvariant","normal"),r.text.length===1)){const u=new p("mspace",[]);l=new p("mrow",[l,u])}return l}});se({type:"textord",mathmlBuilder(e,t){let r=e.text;const a=r.codePointAt(0);t.fontFamily==="textsc"&&96<a&&a<123&&(r=On[r]);const s=H(r,e.mode,t),i=wr(e,t)||"normal";let l;if(ta.test(e.text)){const u=e.mode==="text"?"mtext":"mn";if(i==="italic"||i==="bold-italic")return aa(s,i,u);i!=="normal"&&(s.text=s.text.split("").map(h=>de(h,i)).join("")),l=new p(u,[s])}else if(e.mode==="text")i!=="normal"&&(s.text=de(s.text,i)),l=new p("mtext",[s]);else if(na.has(e.text))l=new p("mo",[s]),l.classes.push("tml-prime");else{const u=s.text;i!=="italic"&&(s.text=de(s.text,i)),l=new p("mi",[s]),s.text===u&&ra.test(u)&&l.setAttribute("mathvariant","italic")}return l}});var oa={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},sa={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};se({type:"spacing",mathmlBuilder(e,t){let r;if(Object.prototype.hasOwnProperty.call(sa,e.text))r=new p("mtext",[new j(" ")]);else if(Object.prototype.hasOwnProperty.call(oa,e.text))r=new p("mo"),e.text==="\\nobreak"&&r.setAttribute("linebreak","nobreak");else throw new w(`Unknown type of space "${e.text}"`);return r}});se({type:"tag"});var It={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm","\\textsc":"textsc"},Dt={"\\textbf":"textbf","\\textmd":"textmd"},ia={"\\textit":"textit","\\textup":"textup"},la=(e,t)=>{const r=e.font;if(r){if(It[r])return t.withTextFontFamily(It[r]);if(Dt[r])return t.withTextFontWeight(Dt[r]);if(r==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(ia[r])};S({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textsc","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler({parser:e,funcName:t},r){const a=r[0];return{type:"text",mode:e.mode,body:R(a),font:t}},mathmlBuilder(e,t){const r=la(e,t),a=ne(e.body,r);return Le(a)}});S({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler({parser:e},t){return{type:"vcenter",mode:e.mode,body:t[0]}},mathmlBuilder(e,t){const r=new p("mtd",[z(e.body,t)]);r.style.padding="0";const a=new p("mtr",[r]);return new p("mtable",[a])}});S({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new w("\\verb ended by end of line instead of matching delimiter")},mathmlBuilder(e,t){const r=new j(ca(e)),a=new p("mtext",[r]);return a.setAttribute("mathvariant","monospace"),a}});var ca=e=>e.body.replace(/ /g,e.star?"␣":" "),ae=Ut,vr=`[ \r
90
+ ]`,ua="\\\\[a-zA-Z@]+",da="\\\\[^\uD800-\uDFFF]",ma=`(${ua})${vr}*`,ha=`\\\\(
91
+ |[ \r ]+
92
+ ?)[ \r ]*`,Ze="[̀-ͯ]",Nt=new RegExp(`${Ze}+$`),pa=`(${vr}+)|${ha}|([!-\\[\\]-‧‪-퟿豈-￿]${Ze}*|[�d800-�dbff][�dc00-�dfff]${Ze}*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|${ma}|${da})`,Pt=class{constructor(e,t){this.input=e,this.settings=t,this.tokenRegex=new RegExp(pa,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Q("EOF",new W(this,t,t));const r=this.tokenRegex.exec(e);if(r===null||r.index!==t)throw new w(`Unexpected character: '${e[t]}'`,new Q(e[t],new W(this,t,t+1)));const a=r[6]||r[3]||(r[2]?"\\ ":" ");if(this.catcodes[a]===14){const s=e.indexOf(`
93
+ `,this.tokenRegex.lastIndex);if(s===-1){if(this.tokenRegex.lastIndex=e.length,this.settings.strict)throw new w("% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode")}else this.tokenRegex.lastIndex=s+1;return this.lex()}return new Q(a,new W(this,t,this.tokenRegex.lastIndex))}},fa=class{constructor(e={},t={}){this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new w("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]===void 0?delete this.current[t]:this.current[t]=e[t])}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:this.builtins[e]}set(e,t,r=!1){if(r){for(let a=0;a<this.undefStack.length;a++)delete this.undefStack[a][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const a=this.undefStack[this.undefStack.length-1];a&&!Object.prototype.hasOwnProperty.call(a,e)&&(a[e]=this.current[e])}this.current[e]=t}},kr={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ga=class{constructor(e,t,r){this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new fa(dn,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Pt(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,a;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:a,end:r}=this.consumeArg(["]"])}else({tokens:a,start:t,end:r}=this.consumeArg());return this.pushToken(new Q("EOF",r.loc)),this.pushTokens(a),new Q("",W.range(t,r))}consumeSpaces(){for(;this.future().text===" ";)this.stack.pop()}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const a=this.future();let s,i=0,l=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++i;else if(s.text==="}"){if(--i,i===-1)throw new w("Extra }",s)}else if(s.text==="EOF")throw new w("Unexpected end of input in a macro argument, expected '"+(e&&r?e[l]:"}")+"'",s);if(e&&r)if((i===0||i===1&&e[l]==="{")&&s.text===e[l]){if(++l,l===e.length){t.splice(-l,l);break}}else l=0}while(i!==0||r);return a.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:a,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new w("The length of delimiters doesn't match the number of args!");const a=t[0];for(let s=0;s<a.length;s++){const i=this.popToken();if(a[s]!==i.text)throw new w("Use of the macro doesn't match its definition",i)}}const r=[];for(let a=0;a<e;a++)r.push(this.consumeArg(t&&t[a+1]).tokens);return r}expandOnce(e){const t=this.popToken(),r=t.text,a=t.noexpand?null:this._getExpansion(r);if(a==null||e&&a.unexpandable){if(e&&a==null&&r[0]==="\\"&&!this.isDefined(r))throw new w("Undefined control sequence: "+r);return this.pushToken(t),!1}if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new w("Too many expansions: infinite loop or need to increase maxExpand setting");let s=a.tokens;const i=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs){s=s.slice();for(let l=s.length-1;l>=0;--l){let u=s[l];if(u.text==="#"){if(l===0)throw new w("Incomplete placeholder at end of macro body",u);if(u=s[--l],u.text==="#")s.splice(l+1,1);else if(/^[1-9]$/.test(u.text))s.splice(l,2,...i[+u.text-1]);else throw new w("Not a valid argument number",u)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Q(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(this.expandOnce(!0)===!1){const a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return t}expandMacroAsText(e){const t=this.expandMacro(e);return t&&t.map(r=>r.text).join("")}_getExpansion(e){const t=this.macros.get(e);if(t==null)return t;if(e.length===1){const a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}const r=typeof t=="function"?t(this):t;if(typeof r=="string"){let a=0;if(r.indexOf("#")!==-1){const u=r.replace(/##/g,"");for(;u.indexOf("#"+(a+1))!==-1;)++a}const s=new Pt(r,this.settings),i=[];let l=s.lex();for(;l.text!=="EOF";)i.push(l),l=s.lex();return i.reverse(),{tokens:i,numArgs:a}}return r}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(ae,e)||Object.prototype.hasOwnProperty.call(N.math,e)||Object.prototype.hasOwnProperty.call(N.text,e)||Object.prototype.hasOwnProperty.call(kr,e)}isExpandable(e){const t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Object.prototype.hasOwnProperty.call(ae,e)&&!ae[e].primitive}},Mt=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,qe=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Ft=Object.freeze({"𝒜":"A",ℬ:"B","𝒞":"C","𝒟":"D",ℰ:"E",ℱ:"F","𝒢":"G",ℋ:"H",ℐ:"I","𝒥":"J","𝒦":"K",ℒ:"L",ℳ:"M","𝒩":"N","𝒪":"O","𝒫":"P","𝒬":"Q",ℛ:"R","𝒮":"S","𝒯":"T","𝒰":"U","𝒱":"V","𝒲":"W","𝒳":"X","𝒴":"Y","𝒵":"Z"}),Fe={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Gt={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",č:"č",ĉ:"ĉ",ċ:"ċ",ď:"ď",ḋ:"ḋ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ĺ:"ĺ",ľ:"ľ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ď:"Ď",Ḋ:"Ḋ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ĺ:"Ĺ",Ľ:"Ľ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ť:"Ť",Ṫ:"Ṫ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"},ba=["bin","op","open","punct","rel"],ya=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/,xa=/^ *\\text/,Xe=class Ar{constructor(t,r,a=!1){this.mode="math",this.gullet=new ga(t,r,this.mode),this.settings=r,this.isPreamble=a,this.leftrightDepth=0,this.prevAtomType=""}expect(t,r=!0){if(this.fetch().text!==t)throw new w(`Expected '${t}', got '${this.fetch().text}'`,this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");const t=this.parseExpression(!1);if(this.expect("EOF"),this.isPreamble){const a=Object.create(null);return Object.entries(this.gullet.macros.current).forEach(([s,i])=>{a[s]=i}),this.gullet.endGroup(),a}const r=this.gullet.macros.get("\\df@tag");return this.gullet.endGroup(),r&&(this.gullet.macros.current["\\df@tag"]=r),t}static get endOfExpression(){return["}","\\endgroup","\\end","\\right","\\endtoggle","&"]}subparse(t){const r=this.nextToken;this.consume(),this.gullet.pushToken(new Q("}")),this.gullet.pushTokens(t);const a=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,a}parseExpression(t,r,a){const s=[];for(this.prevAtomType="";;){this.mode==="math"&&this.consumeSpaces();const i=this.fetch();if(Ar.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||a&&i.text==="\\middle"||t&&ae[i.text]&&ae[i.text].infix)break;const l=this.parseAtom(r);if(l){if(l.type==="internal")continue}else break;s.push(l),this.prevAtomType=l.type==="atom"?l.family:l.type}return this.mode==="text"&&this.formLigatures(s),this.handleInfixNodes(s)}handleInfixNodes(t){let r=-1,a;for(let s=0;s<t.length;s++)if(t[s].type==="infix"){if(r!==-1)throw new w("only one infix operator per group",t[s].token);r=s,a=t[s].replaceWith}if(r!==-1&&a){let s,i;const l=t.slice(0,r),u=t.slice(r+1);l.length===1&&l[0].type==="ordgroup"?s=l[0]:s={type:"ordgroup",mode:this.mode,body:l},u.length===1&&u[0].type==="ordgroup"?i=u[0]:i={type:"ordgroup",mode:this.mode,body:u};let h;return a==="\\\\abovefrac"?h=this.callFunction(a,[s,t[r],i],[]):h=this.callFunction(a,[s,i],[]),[h]}else return t}handleSupSubscript(t){const r=this.fetch(),a=r.text;this.consume(),this.consumeSpaces();let s;do s=this.parseGroup(t);while(s.type&&s.type==="internal");if(!s)throw new w("Expected group after '"+a+"'",r);return s}formatUnsupportedCmd(t){const r=[];for(let s=0;s<t.length;s++)r.push({type:"textord",mode:"text",text:t[s]});const a={type:"text",mode:this.mode,body:r};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[a]}}parseAtom(t){const r=this.parseGroup("atom",t);if(r&&r.type==="internal"||this.mode==="text")return r;let a,s;for(;;){this.consumeSpaces();const i=this.fetch();if(i.text==="\\limits"||i.text==="\\nolimits"){if(r&&r.type==="op")r.limits=i.text==="\\limits",r.alwaysHandleSupSub=!0;else if(r&&r.type==="operatorname")r.alwaysHandleSupSub&&(r.limits=i.text==="\\limits");else throw new w("Limit controls must follow a math operator",i);this.consume()}else if(i.text==="^"){if(a)throw new w("Double superscript",i);a=this.handleSupSubscript("superscript")}else if(i.text==="_"){if(s)throw new w("Double subscript",i);s=this.handleSupSubscript("subscript")}else if(i.text==="'"){if(a)throw new w("Double superscript",i);const l={type:"textord",mode:this.mode,text:"\\prime"},u=[l];for(this.consume();this.fetch().text==="'";)u.push(l),this.consume();this.fetch().text==="^"&&u.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:u}}else if(qe[i.text]){const l=Mt.test(i.text),u=[];for(u.push(new Q(qe[i.text])),this.consume();;){const g=this.fetch().text;if(!qe[g]||Mt.test(g)!==l)break;u.unshift(new Q(qe[g])),this.consume()}const h=this.subparse(u);l?s={type:"ordgroup",mode:"math",body:h}:a={type:"ordgroup",mode:"math",body:h}}else break}if(a||s){if(r&&r.type==="multiscript"&&!r.postscripts)return r.postscripts={sup:a,sub:s},r;{const i=!r||r.type!=="op"&&r.type!=="operatorname"?void 0:Ee(this.nextToken.text);return{type:"supsub",mode:this.mode,base:r,sup:a,sub:s,isFollowedByDelimiter:i}}}else return r}parseFunction(t,r){const a=this.fetch(),s=a.text,i=ae[s];if(!i)return null;if(this.consume(),r&&r!=="atom"&&!i.allowedInArgument)throw new w("Got function '"+s+"' with no arguments"+(r?" as "+r:""),a);if(this.mode==="text"&&!i.allowedInText)throw new w("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&i.allowedInMath===!1)throw new w("Can't use function '"+s+"' in math mode",a);const l=this.prevAtomType,{args:u,optArgs:h}=this.parseArguments(s,i);return this.prevAtomType=l,this.callFunction(s,u,h,a,t)}callFunction(t,r,a,s,i){const l={funcName:t,parser:this,token:s,breakOnTokenText:i},u=ae[t];if(u&&u.handler)return u.handler(l,r,a);throw new w(`No function handler for ${t}`)}parseArguments(t,r){const a=r.numArgs+r.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};const s=[],i=[];for(let l=0;l<a;l++){let u=r.argTypes&&r.argTypes[l];const h=l<r.numOptionalArgs;(r.primitive&&u==null||r.type==="sqrt"&&l===1&&i[0]==null)&&(u="primitive");const g=this.parseGroupOfType(`argument to '${t}'`,u,h);if(h)i.push(g);else if(g!=null)s.push(g);else throw new w("Null argument, please report this as a bug")}return{args:s,optArgs:i}}parseGroupOfType(t,r,a){switch(r){case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,r);case"hbox":{const s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],scriptLevel:"text"}:null}case"raw":{const s=this.parseStringGroup("raw",a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new w("A primitive argument cannot be optional");const s=this.parseGroup(t);if(s==null)throw new w("Expected group as "+t,this.fetch());return s}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new w("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;;){const t=this.fetch().text;if(t===" "||t===" "||t==="︎")this.consume();else break}}parseStringGroup(t,r){const a=this.gullet.scanArgument(r);if(a==null)return null;let s="",i;for(;(i=this.fetch()).text!=="EOF";)s+=i.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(t,r){const a=this.fetch();let s=a,i="",l;for(;(l=this.fetch()).text!=="EOF"&&t.test(i+l.text);)s=l,i+=s.text,this.consume();if(i==="")throw new w("Invalid "+r+": '"+a.text+"'",a);return a.range(s,i)}parseSizeGroup(t){let r,a=!1;if(this.gullet.consumeSpaces(),!t&&this.gullet.future().text!=="{"?r=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):r=this.parseStringGroup("size",t),!r)return null;!t&&r.text.length===0&&(r.text="0pt",a=!0);const s=ya.exec(r.text);if(!s)throw new w("Invalid size: '"+r.text+"'",r);const i={number:+(s[1]+s[2]),unit:s[3]};if(!Yt(i))throw new w("Invalid unit: '"+i.unit+"'",r);return{type:"size",mode:this.mode,value:i,isBlank:a}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);const r=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),r==null)return null;let a=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return a=r.text.replace(/{\u2044}/g,"/"),{type:"url",mode:this.mode,url:a}}parseArgumentGroup(t,r){const a=this.gullet.scanArgument(t);if(a==null)return null;const s=this.mode;r&&this.switchMode(r),this.gullet.beginGroup();const i=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();const l={type:"ordgroup",mode:this.mode,loc:a.loc,body:i};return r&&this.switchMode(s),l}parseGroup(t,r){const a=this.fetch(),s=a.text;if(t==="argument to '\\left'")return this.parseSymbol();let i;if(s==="{"||s==="\\begingroup"||s==="\\toggle"){this.consume();const l=s==="{"?"}":s==="\\begingroup"?"\\endgroup":"\\endtoggle";this.gullet.beginGroup();const u=this.parseExpression(!1,l),h=this.fetch();this.expect(l),this.gullet.endGroup(),i={type:h.text==="\\endtoggle"?"toggle":"ordgroup",mode:this.mode,loc:W.range(a,h),body:u,semisimple:s==="\\begingroup"||void 0}}else if(i=this.parseFunction(r,t)||this.parseSymbol(),i==null&&s[0]==="\\"&&!Object.prototype.hasOwnProperty.call(kr,s)){if(this.settings.throwOnError)throw new w("Unsupported function name: "+s,a);i=this.formatUnsupportedCmd(s),this.consume()}return i}formLigatures(t){let r=t.length-1;for(let a=0;a<r;++a){const s=t[a],i=s.text;i==="-"&&t[a+1].text==="-"&&(a+1<r&&t[a+2].text==="-"?(t.splice(a,3,{type:"textord",mode:"text",loc:W.range(s,t[a+2]),text:"---"}),r-=2):(t.splice(a,2,{type:"textord",mode:"text",loc:W.range(s,t[a+1]),text:"--"}),r-=1)),(i==="'"||i==="`")&&t[a+1].text===i&&(t.splice(a,2,{type:"textord",mode:"text",loc:W.range(s,t[a+1]),text:i+i}),r-=1)}}parseSymbol(){const t=this.fetch();let r=t.text;if(/^\\verb[^a-zA-Z]/.test(r)){this.consume();let i=r.slice(5);const l=i.charAt(0)==="*";if(l&&(i=i.slice(1)),i.length<2||i.charAt(0)!==i.slice(-1))throw new w(`\\verb assertion failed --
94
+ please report what input caused this bug`);return i=i.slice(1,-1),{type:"verb",mode:"text",body:i,star:l}}if(Object.prototype.hasOwnProperty.call(Gt,r[0])&&this.mode==="math"&&!N[this.mode][r[0]]){if(this.settings.strict&&this.mode==="math")throw new w(`Accented Unicode text character "${r[0]}" used in math mode`,t);r=Gt[r[0]]+r.slice(1)}const a=this.mode==="math"?Nt.exec(r):null;a&&(r=r.substring(0,a.index),r==="i"?r="ı":r==="j"&&(r="ȷ"));let s;if(N[this.mode][r]){let i=N[this.mode][r].group;i==="bin"&&(ba.includes(this.prevAtomType)||this.prevAtomType==="")&&(i="open");const l=W.range(t);let u;if(Object.prototype.hasOwnProperty.call(Rr,i)){const h=i;u={type:"atom",mode:this.mode,family:h,loc:l,text:r},(h==="rel"||h==="bin")&&this.prevAtomType==="text"&&xa.test(l.lexer.input.slice(l.end))&&(u.needsSpacing=!0)}else{if(Ft[r]){this.consume();const h=this.fetch().text.charCodeAt(0),g=h===65025?"mathscr":"mathcal";return(h===65024||h===65025)&&this.consume(),{type:"font",mode:"math",font:g,body:{type:"mathord",mode:"math",loc:l,text:Ft[r]}}}u={type:i,mode:this.mode,loc:l,text:r}}s=u}else if(r.charCodeAt(0)>=128||Nt.exec(r)){if(this.settings.strict&&this.mode==="math")throw new w(`Unicode text character "${r[0]}" used in math mode`,t);s={type:"textord",mode:"text",loc:W.range(t),text:r}}else return null;if(this.consume(),a)for(let i=0;i<a[0].length;i++){const l=a[0][i];if(!Fe[l])throw new w(`Unknown accent ' ${l}'`,t);const u=Fe[l][this.mode]||Fe[l].text;if(!u)throw new w(`Accent ${l} unsupported in ${this.mode} mode`,t);s={type:"accent",mode:this.mode,loc:W.range(t),label:u,isStretchy:!1,base:s}}return s}},Sr=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("Temml can only parse string typed expression");let r,a;try{a=new Xe(e,t),delete a.gullet.macros.current["\\df@tag"],r=a.parse()}catch(s){if(s.toString()==="ParseError: Unmatched delimiter")t.wrapDelimiterPairs=!1,a=new Xe(e,t),delete a.gullet.macros.current["\\df@tag"],r=a.parse();else throw s}if(!(r.length>0&&r[0].type&&r[0].type==="array"&&r[0].addEqnNum)&&a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new w("\\tag works only in display mode");a.gullet.feed("\\df@tag"),r=[{type:"tag",mode:"text",body:r,tag:a.parse()}]}return r},wa=[2,2,3,3],va=class qr{constructor(t){this.level=t.level,this.color=t.color,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontSize=t.fontSize||1,this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.maxSize=t.maxSize}extend(t){const r={level:this.level,color:this.color,font:this.font,fontFamily:this.fontFamily,fontSize:this.fontSize,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize};for(const a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a]);return new qr(r)}withLevel(t){return this.extend({level:t})}incrementLevel(){return this.extend({level:Math.min(this.level+1,3)})}inSubOrSup(){return this.extend({level:wa[this.level]})}withColor(t){return this.extend({color:t})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withFontSize(t){return this.extend({fontSize:t})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}getColor(){return this.color}},ka="0.13.3";function _r(e){const t={};let r=0;const a=document.getElementsByClassName("tml-eqn");for(let i of a)for(r+=1,i.setAttribute("id","tml-eqn-"+String(r));i.tagName!=="mtable";)if(i.getElementsByClassName("tml-label").length>0){const l=i.attributes.id.value;t[l]=String(r);break}else i=i.parentElement;const s=document.getElementsByClassName("tml-tageqn");for(const i of s)if(i.getElementsByClassName("tml-label").length>0){const l=i.getElementsByClassName("tml-tag");if(l.length>0){const u=i.attributes.id.value;t[u]=l[0].textContent}}[...e.getElementsByClassName("tml-ref")].forEach(i=>{const l=i.getAttribute("href");let u=t[l.slice(1)];i.className.indexOf("tml-eqref")===-1?(u=u.replace(/^\(/,""),u=u.replace(/\)$/,"")):(u.charAt(0)!=="("&&(u="("+u),u.slice(-1)!==")"&&(u=u+")"));const h=document.createElementNS("http://www.w3.org/1998/Math/MathML","mtext");h.appendChild(document.createTextNode(u));const g=document.createElementNS("http://www.w3.org/1998/Math/MathML","math");g.appendChild(h),i.textContent="",i.appendChild(g)})}var Aa=function(e,t,r){let a=r,s=0;const i=e.length;for(;a<t.length;){const l=t[a];if(s<=0&&t.slice(a,a+i)===e)return a;l==="\\"?a++:l==="{"?s++:l==="}"&&s--,a++}return-1},Sa=function(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")},qa=/^\\(?:begin|(?:eq)?ref){/,_a=function(e,t){let r;const a=[],s=new RegExp("("+t.map(i=>Sa(i.left)).join("|")+")");for(;r=e.search(s),r!==-1;){r>0&&(a.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const i=t.findIndex(h=>e.startsWith(h.left));if(r=Aa(t[i].right,e,t[i].left.length),r===-1)break;const l=e.slice(0,r+t[i].right.length),u=qa.test(l)?l:e.slice(t[i].left.length,r);a.push({type:"math",data:u,rawData:l,display:t[i].display}),e=e.slice(r+t[i].right.length)}return e!==""&&a.push({type:"text",data:e}),a},Tr=[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{equation*}",right:"\\end{equation*}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{align*}",right:"\\end{align*}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{alignat*}",right:"\\end{alignat*}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{gather*}",right:"\\end{gather*}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\ref{",right:"}",display:!1},{left:"\\eqref{",right:"}",display:!1},{left:"\\[",right:"\\]",display:!0}],_e={$:[{left:"$$",right:"$$",display:!0},{left:"$`",right:"`$",display:!1},{left:"$",right:"$",display:!1}],"(":[{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}]},Ge=[{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{equation*}",right:"\\end{equation*}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{align*}",right:"\\end{align*}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{alignat*}",right:"\\end{alignat*}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{gather*}",right:"\\end{gather*}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\ref{",right:"}",display:!1},{left:"\\eqref{",right:"}",display:!1}],Ta=e=>e==="$"||e==="("?_e[e]:e==="$+"||e==="(+"?_e[e.slice(0,1)].concat(Ge):e==="ams"?Ge:e==="all"?_e["("].concat(_e.$).concat(Ge):Tr,$a=function(e,t){const r=_a(e,t.delimiters);if(r.length===1&&r[0].type==="text")return null;const a=document.createDocumentFragment();for(let s=0;s<r.length;s++)if(r[s].type==="text")a.appendChild(document.createTextNode(r[s].data));else{const i=document.createElement("span");let l=r[s].data;t.displayMode=r[s].display;try{t.preProcess&&(l=t.preProcess(l)),temml.render(l,i,t)}catch(u){if(!(u instanceof w))throw u;t.errorCallback("Temml auto-render: Failed to parse `"+r[s].data+"` with ",u),a.appendChild(document.createTextNode(r[s].rawData));continue}a.appendChild(i)}return a},$r=function(e,t){for(let r=0;r<e.childNodes.length;r++){const a=e.childNodes[r];if(a.nodeType===3){const s=$a(a.textContent,t);s&&(r+=s.childNodes.length-1,e.replaceChild(s,a))}else if(a.nodeType===1){const s=" "+a.className+" ";t.ignoredTags.indexOf(a.nodeName.toLowerCase())===-1&&t.ignoredClasses.every(i=>s.indexOf(" "+i+" ")===-1)&&$r(a,t)}}},Oa=function(e,t){if(!e)throw new Error("No element provided to render");const r={};for(const a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a]);r.fences?r.delimiters=Ta(r.fences):r.delimiters=r.delimiters||Tr,r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},$r(e,r),_r(e)},Or=function(e,t,r={}){t.textContent="";const a=t.tagName.toLowerCase()==="math";a&&(r.wrap="none");const s=ct(e,r);a?(t.textContent="",s.children.forEach(i=>{t.appendChild(i.toNode())})):s.children.length>1?(t.textContent="",s.children.forEach(i=>{t.appendChild(i.toNode())})):t.appendChild(s.toNode())};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: Temml doesn't work in quirks mode. Make sure your website has a suitable doctype."),Or=function(){throw new w("Temml doesn't work in quirks mode.")});var Ca=function(e,t){return ct(e,t).toMarkup()},Ba=function(e,t){const r=new Ke(t);return Sr(e,r)},La=function(e,t){const r=new Ke(t);if(r.macros={},!(typeof e=="string"||e instanceof String))throw new TypeError("Temml can only parse string typed expression");const a=new Xe(e,r,!0);return delete a.gullet.macros.current["\\df@tag"],a.parse()},za=function(e,t,r){if(r.throwOnError||!(e instanceof w))throw e;const a=new Vt(["temml-error"],[new Pr(t+`
95
+
96
+ `+e.toString())]);return a.style.color=r.errorColor,a.style.whiteSpace="pre-line",a},ct=function(e,t){const r=new Ke(t);try{return Jr(Sr(e,r),e,new va({level:r.displayMode?D.DISPLAY:D.TEXT,maxSize:r.maxSize}),r)}catch(a){return za(a,e,r)}},Ea={version:ka,render:Or,renderToString:Ca,renderMathInElement:Oa,postProcess:_r,ParseError:w,definePreamble:La,__parse:Ba,__renderToMathMLTree:ct,__defineSymbol:n,__defineMacro:c};exports.default=Ea;