collabmd 0.1.21 → 0.1.25

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 (723) hide show
  1. package/README.md +102 -12
  2. package/bin/collabmd.js +3 -2
  3. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BHWNpLuY.js +1 -0
  4. package/dist/client/assets/_basePickBy-CJWegqog.js +1 -0
  5. package/dist/client/assets/_baseUniq-CFKN1k1n.js +1 -0
  6. package/dist/client/assets/apl-khHl8vBy.js +1 -0
  7. package/dist/client/assets/ar-SA-NXDWD63E-DND5MLpM.js +8 -0
  8. package/dist/client/assets/arc-D1SV2GW0.js +1 -0
  9. package/dist/client/assets/architecture-PBZL5I3N-0dui3p7-.js +1 -0
  10. package/dist/client/assets/architectureDiagram-2XIMDMQ5-DXpDe6lq.js +36 -0
  11. package/dist/client/assets/array-BTHl6o_K.js +1 -0
  12. package/dist/client/assets/asciiarmor-7xnRhA8w.js +1 -0
  13. package/dist/client/assets/asn1-_x-T1mFB.js +1 -0
  14. package/dist/client/assets/asterisk-Ct2NwVUw.js +1 -0
  15. package/dist/client/assets/az-AZ-MXSORGZV-ILYw2sYr.js +1 -0
  16. package/dist/client/assets/bg-BG-O6MV2KSF-DmfoZHM8.js +5 -0
  17. package/dist/client/assets/blockDiagram-WCTKOSBZ-DlJn0Rs1.js +132 -0
  18. package/dist/client/assets/bn-BD-T2VJNT7N-uYQx1Wph.js +3 -0
  19. package/dist/client/assets/bn-IN-MMW2ORAC-CmlBLY7g.js +3 -0
  20. package/dist/client/assets/brainfuck-CAmdgqDN.js +1 -0
  21. package/dist/client/assets/c4Diagram-IC4MRINW-C6S9MOEW.js +10 -0
  22. package/dist/client/assets/ca-ES-MKBCGNOG-DWiYvMvF.js +8 -0
  23. package/dist/client/assets/channel-CVwYcdlk.js +1 -0
  24. package/dist/client/assets/chunk-27N2SPOM-RxZ2_zJJ.js +34 -0
  25. package/dist/client/assets/chunk-3PELD44J-BvOh9EJp.js +1 -0
  26. package/dist/client/assets/chunk-4BX2VUAB-LBTVcC6-.js +1 -0
  27. package/dist/client/assets/chunk-55IACEB6-T5nuDI6U.js +1 -0
  28. package/dist/client/assets/chunk-7E7YKBS2-CBNUsbS7.js +1 -0
  29. package/dist/client/assets/chunk-7R4GIKGN-Dh9p1sbP.js +80 -0
  30. package/{public/assets/js/chunks/chunk-IR2DOYV4.js → dist/client/assets/chunk-A66AFZZU-D0IDIehU.js} +2 -2
  31. package/dist/client/assets/chunk-C72U2L5F-DLNOvzEI.js +1 -0
  32. package/dist/client/assets/chunk-Cq_f4orQ.js +1 -0
  33. package/dist/client/assets/chunk-EGIJ26TM-BkBsHEWn.js +1 -0
  34. package/dist/client/assets/chunk-ETSVUAFD-BnK5BhxL.js +12 -0
  35. package/{public/assets/js/chunks/chunk-U6APNHAF.js → dist/client/assets/chunk-FMBD7UC4-BoiIqhkb.js} +2 -2
  36. package/dist/client/assets/chunk-GEFDOKGD-CIg-LRSp.js +2 -0
  37. package/dist/client/assets/chunk-GLR3WWYH-CqGMuOti.js +2 -0
  38. package/dist/client/assets/chunk-HHEYEP7N-Czb3OX2v.js +1 -0
  39. package/dist/client/assets/chunk-JSJVCQXG-C6-G93S3.js +1 -0
  40. package/dist/client/assets/chunk-KX2RTZJC-CJlt0Rne.js +1 -0
  41. package/dist/client/assets/chunk-KYZI473N-C-ObF5L3.js +53 -0
  42. package/dist/client/assets/chunk-L3YUKLVL-BzkNNFii.js +1 -0
  43. package/dist/client/assets/chunk-MX3YWQON-bjcMtEei.js +1 -0
  44. package/dist/client/assets/chunk-NQ4KR5QH-DY9oh8PD.js +220 -0
  45. package/dist/client/assets/chunk-O4XLMI2P-CVfnFXq8.js +7 -0
  46. package/dist/client/assets/chunk-OZEHJAEY-DyD-ywvu.js +1 -0
  47. package/dist/client/assets/chunk-PQ6SQG4A-BOJs3QbF.js +1 -0
  48. package/dist/client/assets/chunk-PU5JKC2W-1nkyDxBh.js +70 -0
  49. package/dist/client/assets/chunk-QZHKN3VN-DU7fMcaP.js +1 -0
  50. package/dist/client/assets/chunk-R5LLSJPH-D9t4mFiL.js +1 -0
  51. package/dist/client/assets/chunk-SRAX5OIU-B-Zdxy2r.js +1 -0
  52. package/dist/client/assets/chunk-WL4C6EOR-Bs95uEnp.js +189 -0
  53. package/dist/client/assets/chunk-XIRO2GV7-CtwY16Jh.js +1 -0
  54. package/dist/client/assets/chunk-XPW4576I-CvxG514V.js +32 -0
  55. package/dist/client/assets/chunk-XZSTWKYB-BNB3Mgw3.js +94 -0
  56. package/dist/client/assets/chunk-YBOYWFTD-MIDp82ug.js +1 -0
  57. package/dist/client/assets/chunk-Z5NKEFVG-CIMf1Se5.js +22 -0
  58. package/dist/client/assets/classDiagram-VBA2DB6C-CBSmkOe7.js +1 -0
  59. package/dist/client/assets/classDiagram-v2-RAHNMMFH-CJarRy94.js +1 -0
  60. package/dist/client/assets/clike-BJcwKCE7.js +1 -0
  61. package/dist/client/assets/clojure-uSRILJfc.js +1 -0
  62. package/dist/client/assets/clone-CMmi3x0H.js +1 -0
  63. package/dist/client/assets/cmake-j5-7WxMz.js +1 -0
  64. package/dist/client/assets/cobol-cnURuZ43.js +1 -0
  65. package/dist/client/assets/coffeescript-iQD116iO.js +1 -0
  66. package/dist/client/assets/commonlisp-DGzExN9H.js +1 -0
  67. package/dist/client/assets/cose-bilkent-S5V4N54A-BKEY00wk.js +1 -0
  68. package/dist/client/assets/crystal-CnjkM1-q.js +1 -0
  69. package/dist/client/assets/cs-CZ-V77HGUP7-sLBAF2Iw.js +7 -0
  70. package/dist/client/assets/css-C-Nv0c9S.js +1 -0
  71. package/dist/client/assets/cypher-hxitpny2.js +1 -0
  72. package/dist/client/assets/cytoscape.esm-0xzpJ66h.js +321 -0
  73. package/dist/client/assets/d-BtdAWoTB.js +1 -0
  74. package/dist/client/assets/da-DK-I5RFNTM4-B__PLwca.js +2 -0
  75. package/dist/client/assets/dagre-Cm2w_QpZ.js +1 -0
  76. package/dist/client/assets/dagre-KLK3FWXG-BddfhbwG.js +4 -0
  77. package/dist/client/assets/de-CH-WLRDEVBV-D61DKw_9.js +7 -0
  78. package/dist/client/assets/de-DE-DTI4WUSC-Ba3fBYEU.js +7 -0
  79. package/dist/client/assets/defaultLocale-PG3Gbk8q.js +1 -0
  80. package/dist/client/assets/diagram-E7M64L7V-BoyJ8kpo.js +24 -0
  81. package/dist/client/assets/diagram-IFDJBPK2-DLWembLL.js +43 -0
  82. package/dist/client/assets/diagram-P4PSJMXO-CPmPa0OC.js +24 -0
  83. package/dist/client/assets/diff-f_ZkWiYS.js +1 -0
  84. package/dist/client/assets/dist-BATDm5JF.js +1 -0
  85. package/dist/client/assets/dist-BDDCA7hC.js +1 -0
  86. package/dist/client/assets/dist-BEs40fGb.js +1 -0
  87. package/dist/client/assets/dist-BPyPcaZr.js +1 -0
  88. package/dist/client/assets/dist-BiNL3fhN.js +1 -0
  89. package/dist/client/assets/dist-BpEcA20b.js +2 -0
  90. package/dist/client/assets/dist-BtROnx4-.js +1 -0
  91. package/dist/client/assets/dist-CCxn5Mk-.js +13 -0
  92. package/dist/client/assets/dist-CKdaLumK.js +1 -0
  93. package/dist/client/assets/dist-CNcGnl0T.js +1 -0
  94. package/dist/client/assets/dist-CPzoLjNz.js +1 -0
  95. package/dist/client/assets/dist-CQzPpOiH.js +1 -0
  96. package/dist/client/assets/dist-Cje3pdZH.js +9 -0
  97. package/dist/client/assets/dist-CnKD4Y92.js +1 -0
  98. package/dist/client/assets/dist-CxPc5kI6.js +1 -0
  99. package/dist/client/assets/dist-Czv7DXcw.js +23 -0
  100. package/dist/client/assets/dist-D4ebIlQB.js +6 -0
  101. package/dist/client/assets/dist-D7S1mzwR.js +1 -0
  102. package/dist/client/assets/dist-DFIisyRk.js +1 -0
  103. package/dist/client/assets/dist-DGbPPlZ8.js +1 -0
  104. package/dist/client/assets/dist-DL-EaOiC.js +1 -0
  105. package/dist/client/assets/dist-DhkKj77m.js +1 -0
  106. package/dist/client/assets/dist-DnpxzfoU.js +1 -0
  107. package/dist/client/assets/dist-Dy9oGocr.js +11 -0
  108. package/dist/client/assets/dist-Le-AVwIk.js +1 -0
  109. package/dist/client/assets/dist-StJm6K24.js +1 -0
  110. package/dist/client/assets/dist-gCWIHDgw.js +1 -0
  111. package/dist/client/assets/dist-mDBaykBY.js +1 -0
  112. package/dist/client/assets/dist-tyxqXzyB.js +1 -0
  113. package/dist/client/assets/dist-vL71uaef.js +1 -0
  114. package/dist/client/assets/dockerfile-BmylqEVx.js +1 -0
  115. package/dist/client/assets/dtd-B6xdyNDx.js +1 -0
  116. package/dist/client/assets/dylan-BzUoKQTn.js +1 -0
  117. package/dist/client/assets/ebnf-BlTaNq16.js +1 -0
  118. package/dist/client/assets/ecl-CffPaRqR.js +1 -0
  119. package/dist/client/assets/editor-session-DsM3VgQv.js +16 -0
  120. package/dist/client/assets/eiffel-B66P6crR.js +1 -0
  121. package/dist/client/assets/el-GR-ZXDJ2OS4-CpEbk42T.js +7 -0
  122. package/dist/client/assets/elm-DIwllOLv.js +1 -0
  123. package/dist/client/assets/en-CTDJDZ6K-C36Iqh9O.js +1 -0
  124. package/dist/client/assets/erDiagram-INFDFZHY-Dwg_AhU2.js +70 -0
  125. package/dist/client/assets/erlang-DwYA67QU.js +1 -0
  126. package/dist/client/assets/es-ES-DYQHAD43-Ba-6t0Wr.js +7 -0
  127. package/dist/client/assets/eu-ES-QDSYU5Y3-CYzUKQ2_.js +7 -0
  128. package/dist/client/assets/excalidraw-editor-Cs5p0lBn.js +182 -0
  129. package/dist/client/assets/excalidraw-editor-D8O7A69r.css +1 -0
  130. package/dist/client/assets/excalidraw-mermaid-stub-BtCKxPxK.js +1 -0
  131. package/dist/client/assets/excalidraw-mermaid-stub-C1ZaaI05.js +1 -0
  132. package/dist/client/assets/excalidrawEditor-wgJb2hmP.js +2 -0
  133. package/dist/client/assets/fa-IR-26LZG4PM-CxLc7ohL.js +9 -0
  134. package/dist/client/assets/factor-Cc9mS1OI.js +1 -0
  135. package/dist/client/assets/fcl-DD6dBrvI.js +1 -0
  136. package/dist/client/assets/fi-FI-6YS4KDE4-DtYLOEJY.js +6 -0
  137. package/dist/client/assets/flowDiagram-PKNHOUZH-BIJd4wAz.js +162 -0
  138. package/dist/client/assets/forth-DFLLMv-i.js +1 -0
  139. package/dist/client/assets/fortran-CNZVMQdQ.js +1 -0
  140. package/dist/client/assets/fr-FR-BRLLPTZC-9O_U5gdi.js +12 -0
  141. package/dist/client/assets/ganttDiagram-A5KZAMGK-BiMwicnp.js +292 -0
  142. package/dist/client/assets/gas-DyiCLKEJ.js +1 -0
  143. package/dist/client/assets/gherkin-CHgE7bAJ.js +1 -0
  144. package/dist/client/assets/gitGraph-HDMCJU4V-iPo6Lz4k.js +1 -0
  145. package/dist/client/assets/gitGraphDiagram-K3NZZRJ6-lk_paRel.js +65 -0
  146. package/dist/client/assets/github-dark.min-Z5exjX_n.css +1 -0
  147. package/dist/client/assets/github.min-D2BCvnWf.css +1 -0
  148. package/dist/client/assets/gl-ES-OKUZTLYG-Bb7TO64O.js +6 -0
  149. package/dist/client/assets/graphlib-B2nPo9Z4.js +1 -0
  150. package/dist/client/assets/groovy-BZc3It91.js +1 -0
  151. package/dist/client/assets/haskell-DJ4hTi3A.js +1 -0
  152. package/dist/client/assets/haxe-sJjg_lHN.js +1 -0
  153. package/dist/client/assets/he-IL-26MGYIU7-CQW1igm9.js +8 -0
  154. package/dist/client/assets/hi-IN-Q4ZOGTP2-BM91ENLs.js +3 -0
  155. package/dist/client/assets/http-DwAi3Ho1.js +1 -0
  156. package/dist/client/assets/hu-HU-P2OXPSN5-HiGbsUwM.js +3 -0
  157. package/dist/client/assets/id-ID-2EIKXYN6-DEG8vRZ2.js +8 -0
  158. package/dist/client/assets/idl-CCIDRFwr.js +1 -0
  159. package/dist/client/assets/image-32MOCVDX-viHDtJGM.js +1 -0
  160. package/dist/client/assets/image-blob-reduce.esm-D4wBfumB.js +2 -0
  161. package/dist/client/assets/index-B6m_KATZ.css +1 -0
  162. package/dist/client/assets/index-D20GlrKF.js +2 -0
  163. package/dist/client/assets/info-3K5VOQVL-DePZHLA4.js +1 -0
  164. package/dist/client/assets/infoDiagram-LFFYTUFH-CiAT_kJZ.js +2 -0
  165. package/dist/client/assets/init-Bb7Vx0CW.js +1 -0
  166. package/dist/client/assets/isArrayLikeObject-DxEG9mY7.js +1 -0
  167. package/dist/client/assets/isEmpty-DGNCKhlT.js +1 -0
  168. package/dist/client/assets/ishikawaDiagram-PHBUUO56-CE3HierS.js +70 -0
  169. package/dist/client/assets/it-IT-4CFKVXI2-DSrGqCKD.js +12 -0
  170. package/dist/client/assets/ja-JP-MAND2Z4V-OFpEymIv.js +7 -0
  171. package/dist/client/assets/javascript-BlUxwA0O.js +1 -0
  172. package/dist/client/assets/javascript-DcX_cm1u.js +1 -0
  173. package/dist/client/assets/journeyDiagram-4ABVD52K-CzoczPjW.js +139 -0
  174. package/dist/client/assets/jsx-runtime-DRYOYO9I.js +1 -0
  175. package/dist/client/assets/julia-BU0qBb1w.js +1 -0
  176. package/dist/client/assets/kaa-HQRTCXTJ-CpOJ_vn4.js +1 -0
  177. package/dist/client/assets/kab-KAB-JKIKKTGH-CNPzzJH6.js +4 -0
  178. package/dist/client/assets/kanban-definition-K7BYSVSG-Cr6iNYl4.js +89 -0
  179. package/dist/client/assets/katex-DoaSnJ5T.js +261 -0
  180. package/dist/client/assets/kk-KZ-HXQ63ZFC-CgtjU5JI.js +1 -0
  181. package/dist/client/assets/km-KH-PKL3LSGX-BAJh8UnF.js +7 -0
  182. package/dist/client/assets/ko-KR-KXLREZX3-BshOksBX.js +5 -0
  183. package/dist/client/assets/ku-TR-MJ4IER3X-Bi3YtiD-.js +6 -0
  184. package/dist/client/assets/line-D2NTyhqv.js +1 -0
  185. package/dist/client/assets/linear-DntNI0Uj.js +1 -0
  186. package/dist/client/assets/livescript-uk34VDGK.js +1 -0
  187. package/dist/client/assets/lt-LT-H6WFQ6FJ-DQ2W0g7h.js +3 -0
  188. package/dist/client/assets/lua-ClQGOv84.js +1 -0
  189. package/dist/client/assets/lv-LV-GOCK6SJW-DeqTo8T7.js +4 -0
  190. package/dist/client/assets/main-DONXLDrC.js +599 -0
  191. package/dist/client/assets/math-DQo53qzt.js +1 -0
  192. package/dist/client/assets/mathematica-BDmKpvRN.js +1 -0
  193. package/dist/client/assets/mbox-T5kA6jAQ.js +1 -0
  194. package/dist/client/assets/mermaid-parser.core-Bh2Ta9ou.js +4 -0
  195. package/dist/client/assets/mermaid-runtime-CLtta79D.js +11 -0
  196. package/dist/client/assets/mindmap-definition-YRQLILUH-DufPyQO8.js +68 -0
  197. package/dist/client/assets/mirc-DRRKKkcJ.js +1 -0
  198. package/dist/client/assets/mllike-iZXopbca.js +1 -0
  199. package/dist/client/assets/modelica-DP8T2DKM.js +1 -0
  200. package/dist/client/assets/mr-IN-IXVLDMEQ-CnH5Wjc7.js +9 -0
  201. package/dist/client/assets/mscgen-DXIRw2qg.js +1 -0
  202. package/dist/client/assets/mumps-BKUS05-y.js +1 -0
  203. package/dist/client/assets/my-MM-YG6MYTTD-BefEpouO.js +1 -0
  204. package/dist/client/assets/nb-NO-XGWJISD2-CNRrlrPY.js +8 -0
  205. package/dist/client/assets/nginx-CzYOtr2G.js +1 -0
  206. package/dist/client/assets/nl-NL-XVDVCPNC-CuLTw3kL.js +13 -0
  207. package/dist/client/assets/nn-NO-EMX5MJX5-NHFRnQkl.js +4 -0
  208. package/dist/client/assets/nsis-YyYYKQIB.js +1 -0
  209. package/dist/client/assets/ntriples-ZgZuaYbW.js +1 -0
  210. package/dist/client/assets/oc-FR-ROEINTVO-8kCbAtcr.js +4 -0
  211. package/dist/client/assets/octave-CnOndUN3.js +1 -0
  212. package/dist/client/assets/ordinal-BuNU9EgZ.js +1 -0
  213. package/dist/client/assets/oz-DjW322Rn.js +1 -0
  214. package/dist/client/assets/pa-IN-ZYN6SUDY-Dh8USSIe.js +4 -0
  215. package/dist/client/assets/packet-RMMSAZCW-BVw0pEk-.js +1 -0
  216. package/dist/client/assets/pascal-BdeW5uRX.js +1 -0
  217. package/dist/client/assets/path-BxyPWlyM.js +1 -0
  218. package/dist/client/assets/percentages-5DKR754L-RQFE76Sg.js +1 -0
  219. package/dist/client/assets/perl-_CDvIe1D.js +1 -0
  220. package/dist/client/assets/pica-BG8AR4mo.js +2 -0
  221. package/dist/client/assets/pie-UPGHQEXC-ChUWa5qF.js +1 -0
  222. package/dist/client/assets/pieDiagram-SKSYHLDU--YidSJxi.js +30 -0
  223. package/dist/client/assets/pig-inWo_B4W.js +1 -0
  224. package/dist/client/assets/pl-PL-6VTG7PHC-BMbgP62B.js +12 -0
  225. package/dist/client/assets/powershell-CO5KWJsy.js +1 -0
  226. package/dist/client/assets/preload-helper-Chd9yIcd.js +1 -0
  227. package/dist/client/assets/preview-render-compiler-CWBdv5tw.js +1 -0
  228. package/dist/client/assets/preview-render-profile-BjrQVCWD.js +23 -0
  229. package/dist/client/assets/preview-render-worker-DbMTa0Y6.js +23 -0
  230. package/dist/client/assets/properties-CjVp4a6M.js +1 -0
  231. package/dist/client/assets/protobuf-DybFT2KT.js +1 -0
  232. package/dist/client/assets/pt-BR-5YFKRR5G-CyrwFw_N.js +6 -0
  233. package/dist/client/assets/pt-PT-GEIXXZ67-SpK5vaGR.js +8 -0
  234. package/dist/client/assets/pug-CM36H1hd.js +1 -0
  235. package/dist/client/assets/puppet-Dw_NDgko.js +1 -0
  236. package/dist/client/assets/python-2pwcWoy7.js +1 -0
  237. package/dist/client/assets/q-C47l8kdS.js +1 -0
  238. package/dist/client/assets/quadrantDiagram-337W2JSQ-n7EIFT_f.js +7 -0
  239. package/dist/client/assets/quick-switcher-controller-CKrGBgcl.js +5 -0
  240. package/dist/client/assets/r-BmcXGVZ5.js +1 -0
  241. package/dist/client/assets/radar-KQ55EAFF-B4gMcoDX.js +1 -0
  242. package/dist/client/assets/requirementDiagram-Z7DCOOCP-BrquJATD.js +73 -0
  243. package/dist/client/assets/ro-RO-E2P6TFZI-90dn2iUp.js +12 -0
  244. package/dist/client/assets/room-zaSnuMv5.js +4 -0
  245. package/dist/client/assets/rough.esm-C7Rbwqik.js +1 -0
  246. package/dist/client/assets/roundRect-CDlbNkEg.js +1 -0
  247. package/dist/client/assets/rpm-Cm0x5xT_.js +1 -0
  248. package/dist/client/assets/ru-RU-YBIIY43T-Cl52NZnQ.js +10 -0
  249. package/dist/client/assets/ruby-Dl-I4pxG.js +1 -0
  250. package/dist/client/assets/runtime-config-loader--hxFvh23.js +1 -0
  251. package/dist/client/assets/sankeyDiagram-WA2Y5GQK-IpD6lgfO.js +10 -0
  252. package/dist/client/assets/sas-Bxkg4GVX.js +1 -0
  253. package/dist/client/assets/scheme-CO3zogua.js +1 -0
  254. package/dist/client/assets/sequenceDiagram-2WXFIKYE-DxZ6glIZ.js +145 -0
  255. package/dist/client/assets/shell-gYrTvBTP.js +1 -0
  256. package/dist/client/assets/si-LK-673C2CI2-DMSUxT-y.js +1 -0
  257. package/dist/client/assets/sieve-COX4Kn1X.js +1 -0
  258. package/dist/client/assets/simple-mode-BY9UFVy7.js +1 -0
  259. package/dist/client/assets/sk-SK-CKZHQ4AP-DUDai5Oe.js +7 -0
  260. package/dist/client/assets/sl-SI-557H2GWM-BbLeATfl.js +6 -0
  261. package/dist/client/assets/smalltalk-Dma1z5eE.js +1 -0
  262. package/dist/client/assets/solr-BvhcdkNH.js +1 -0
  263. package/dist/client/assets/sparql-gX7W9xeh.js +1 -0
  264. package/dist/client/assets/spreadsheet-BnlQRxWz.js +1 -0
  265. package/dist/client/assets/sql-CwA10oIk.js +1 -0
  266. package/dist/client/assets/src-H0-aBY9y.js +1 -0
  267. package/dist/client/assets/stateDiagram-RAJIS63D-A-rbDcdL.js +1 -0
  268. package/dist/client/assets/stateDiagram-v2-FVOUBMTO-CKhOHHLe.js +1 -0
  269. package/dist/client/assets/stex-DhLUylSV.js +1 -0
  270. package/dist/client/assets/stylus-9ZGSp3KB.js +1 -0
  271. package/dist/client/assets/subset-shared.chunk-93a-Md8B.js +1 -0
  272. package/dist/client/assets/subset-worker.chunk-B7pmUG1o.js +1 -0
  273. package/dist/client/assets/sv-SE-XOPKKDWS-BBa-AcMf.js +8 -0
  274. package/dist/client/assets/swift-CurfpLXH.js +1 -0
  275. package/dist/client/assets/ta-IN-XBH7DQI3-9uR7ADzx.js +6 -0
  276. package/dist/client/assets/tcl-BPvzXR-t.js +1 -0
  277. package/dist/client/assets/textile-BUq3vgBH.js +1 -0
  278. package/dist/client/assets/th-TH-TOCWH3R4-Box9U3ny.js +1 -0
  279. package/dist/client/assets/tiddlywiki-DRR6E4hS.js +1 -0
  280. package/dist/client/assets/tiki-C1XMixgx.js +1 -0
  281. package/dist/client/assets/timeline-definition-YZTLITO2-DuTppHot.js +61 -0
  282. package/dist/client/assets/toml-BQjoWSzq.js +1 -0
  283. package/dist/client/assets/tr-TR-GXW6CYY5-BA8pS3C5.js +4 -0
  284. package/dist/client/assets/treemap-KZPCXAKY-on28XbV_.js +1 -0
  285. package/dist/client/assets/troff-DbgTp3Cj.js +1 -0
  286. package/dist/client/assets/ttcn-1OxchGWH.js +1 -0
  287. package/dist/client/assets/ttcn-cfg-CC8OhyHu.js +1 -0
  288. package/dist/client/assets/turtle-D1WjVU4-.js +1 -0
  289. package/dist/client/assets/uk-UA-IJKTNUDG-B6hoHqzM.js +6 -0
  290. package/dist/client/assets/uz-UZ-TBZZEA4V-CPuftH33.js +1 -0
  291. package/dist/client/assets/vault-api-client-D7C_m9eq.js +188 -0
  292. package/dist/client/assets/vault-utils-Js2T-e-h.js +1 -0
  293. package/dist/client/assets/vb-Bf-XXYNJ.js +1 -0
  294. package/dist/client/assets/vbscript-HeSyWuOi.js +1 -0
  295. package/dist/client/assets/velocity-CUkiDsJQ.js +1 -0
  296. package/dist/client/assets/vennDiagram-LZ73GAT5-J0SBkXj8.js +34 -0
  297. package/dist/client/assets/verilog-BFxB5RAN.js +1 -0
  298. package/dist/client/assets/vhdl-BJUXQE-6.js +1 -0
  299. package/dist/client/assets/vi-VN-MULSGNVB-yRFd9OXl.js +7 -0
  300. package/dist/client/assets/webidl-advQMGTP.js +1 -0
  301. package/dist/client/assets/xquery-CNzoFgd7.js +1 -0
  302. package/dist/client/assets/xychartDiagram-JWTSCODW-Dn9dSYxn.js +7 -0
  303. package/dist/client/assets/yacas-BsmlDKac.js +1 -0
  304. package/dist/client/assets/yjs-provider-reset-guard-BcnBGrS9.js +4 -0
  305. package/dist/client/assets/z80-Bnez4vZ_.js +1 -0
  306. package/dist/client/assets/zh-CN-MVX3E32U-VzUIXB4K.js +11 -0
  307. package/dist/client/assets/zh-HK-JNU5RLIE-i0G2jHO_.js +1 -0
  308. package/dist/client/assets/zh-TW-LENVCA6T-BkHZg3jv.js +9 -0
  309. package/dist/client/excalidraw-editor.html +31 -0
  310. package/{public → dist/client}/index.html +135 -222
  311. package/docker-compose.yml +13 -1
  312. package/package.json +14 -7
  313. package/src/client/app/excalidraw-editor-entry.js +4 -0
  314. package/{public → src/client/app}/excalidraw-editor.html +1 -3
  315. package/src/client/app/index.html +469 -0
  316. package/src/client/app/main-entry.js +24 -0
  317. package/src/client/application/app-shell/git-feature.js +268 -32
  318. package/src/client/application/app-shell/ui-feature-identity.js +170 -0
  319. package/src/client/application/app-shell/ui-feature-shell.js +419 -0
  320. package/src/client/application/app-shell/ui-feature-sidebar.js +98 -0
  321. package/src/client/application/app-shell/ui-feature-tab-activity.js +128 -0
  322. package/src/client/application/app-shell/ui-feature-toolbar.js +520 -0
  323. package/src/client/application/app-shell/ui-feature.js +10 -648
  324. package/src/client/application/app-shell/workspace-feature.js +46 -0
  325. package/src/client/application/app-shell-elements.js +4 -0
  326. package/src/client/application/mermaid-preview-hydrator.js +1 -1
  327. package/src/client/application/plantuml-preview-hydrator.js +1 -1
  328. package/src/client/application/workspace-coordinator.js +147 -18
  329. package/src/client/application/workspace-preview-controller.js +34 -0
  330. package/src/client/application/workspace-route-controller.js +104 -0
  331. package/src/client/bootstrap/collabmd-app-shell.js +104 -0
  332. package/src/client/domain/markdown-formatting.js +197 -52
  333. package/src/client/domain/markdown-toolbar-actions.js +191 -0
  334. package/src/client/domain/runtime-paths.js +15 -0
  335. package/src/client/domain/workspace-request-id.js +7 -0
  336. package/src/client/excalidraw-editor.js +48 -2
  337. package/src/client/infrastructure/app-version-monitor.js +114 -0
  338. package/src/client/infrastructure/auth-client.js +219 -52
  339. package/src/client/infrastructure/browser-navigation-port.js +20 -0
  340. package/src/client/infrastructure/editor-collaboration-client.js +4 -0
  341. package/src/client/infrastructure/editor-session.js +47 -7
  342. package/src/client/infrastructure/editor-view-adapter.js +122 -58
  343. package/src/client/infrastructure/runtime-config-loader.js +56 -0
  344. package/src/client/infrastructure/runtime-config.js +66 -0
  345. package/src/client/infrastructure/vault-api-client.js +41 -7
  346. package/src/client/presentation/backlinks-panel.js +42 -9
  347. package/src/client/presentation/comment-ui/comment-ui-card.js +632 -0
  348. package/src/client/presentation/comment-ui/comment-ui-layout.js +452 -0
  349. package/src/client/presentation/comment-ui/comment-ui-render.js +149 -0
  350. package/src/client/presentation/comment-ui/comment-ui-shared.js +297 -0
  351. package/src/client/presentation/comment-ui/comment-ui-state.js +268 -0
  352. package/src/client/presentation/comment-ui-controller.js +13 -1529
  353. package/src/client/presentation/comments-panel.js +2 -2
  354. package/src/client/presentation/excalidraw-embed-controller.js +60 -2
  355. package/src/client/presentation/file-action-controller.js +195 -32
  356. package/src/client/presentation/file-explorer-controller.js +16 -2
  357. package/src/client/presentation/file-explorer-view.js +248 -7
  358. package/src/client/presentation/file-history-view-controller.js +806 -0
  359. package/src/client/presentation/file-tree-state.js +100 -5
  360. package/src/client/presentation/git-diff-view-controller.js +718 -121
  361. package/src/client/presentation/git-panel-controller.js +458 -66
  362. package/src/client/presentation/layout-controller.js +1 -1
  363. package/src/client/presentation/toast-controller.js +49 -6
  364. package/src/client/styles/components/actions.css +89 -0
  365. package/src/client/styles/components/feedback.css +71 -0
  366. package/src/client/styles/components/navigation.css +68 -0
  367. package/src/client/styles/components/scrollbars.css +104 -0
  368. package/src/client/styles/components/states.css +289 -0
  369. package/src/client/styles/components/surfaces.css +155 -0
  370. package/src/client/styles/features/backlinks.css +218 -0
  371. package/src/client/styles/features/collaboration-chat.css +228 -0
  372. package/src/client/styles/features/collaboration-dialogs.css +154 -0
  373. package/src/client/styles/features/collaboration-presence.css +103 -0
  374. package/src/client/styles/features/collaboration-ui.css +3 -0
  375. package/src/client/styles/features/comment-card.css +236 -0
  376. package/src/client/styles/features/comment-markdown.css +127 -0
  377. package/src/client/styles/features/comment-overlays.css +60 -0
  378. package/src/client/styles/features/comments-drawer.css +120 -0
  379. package/src/client/styles/features/comments.css +4 -0
  380. package/src/client/styles/features/diagram-preview.css +227 -0
  381. package/src/client/styles/features/diff-commit.css +268 -0
  382. package/src/client/styles/features/diff-lines.css +160 -0
  383. package/src/client/styles/features/diff-toolbar.css +98 -0
  384. package/src/client/styles/features/diff.css +3 -0
  385. package/src/client/styles/features/embedded-preview.css +218 -0
  386. package/src/client/styles/features/git-branch.css +155 -0
  387. package/src/client/styles/features/git-files.css +105 -0
  388. package/src/client/styles/features/git-history.css +339 -0
  389. package/src/client/styles/features/git.css +3 -0
  390. package/src/client/styles/features/media-lightbox.css +157 -0
  391. package/src/client/styles/features/outline.css +115 -0
  392. package/src/client/styles/features/preview-content.css +3 -0
  393. package/src/client/styles/features/preview-markdown.css +201 -0
  394. package/src/client/styles/features/preview-sidebars.css +2 -0
  395. package/src/client/styles/features/quick-switcher.css +167 -0
  396. package/src/client/styles/foundation/themes.css +347 -0
  397. package/src/client/styles/foundation/tokens.css +66 -0
  398. package/src/client/styles/foundation/utilities.css +36 -0
  399. package/src/client/styles/layout/editor-page.css +303 -0
  400. package/src/client/styles/layout/overlays.css +132 -0
  401. package/src/client/styles/layout/responsive.css +331 -0
  402. package/src/client/styles/layout/shell.css +314 -0
  403. package/src/client/styles/layout/sidebar.css +209 -0
  404. package/src/client/styles/layout/view-modes.css +92 -0
  405. package/src/client/styles/overrides/codemirror.css +53 -0
  406. package/src/client/styles/overrides/highlightjs.css +7 -0
  407. package/src/client/styles/overrides/vendor.css +2 -0
  408. package/src/client/styles/primitives/controls.css +277 -0
  409. package/src/client/styles/style.css +25 -4945
  410. package/src/server/auth/create-auth-service.js +373 -15
  411. package/src/server/auth/session-cookie.js +30 -4
  412. package/src/server/config/build-info.js +76 -0
  413. package/src/server/config/env.js +130 -6
  414. package/src/server/create-app-server.js +8 -0
  415. package/src/server/domain/collaboration/collaboration-room.js +90 -47
  416. package/src/server/index.js +3 -1
  417. package/src/server/infrastructure/git/command-runner.js +2 -1
  418. package/src/server/infrastructure/git/git-service.js +48 -2
  419. package/src/server/infrastructure/git/history-service.js +683 -0
  420. package/src/server/infrastructure/git/parsers.js +30 -0
  421. package/src/server/infrastructure/git/responses.js +73 -0
  422. package/src/server/infrastructure/http/create-auth-api-handler.js +30 -2
  423. package/src/server/infrastructure/http/create-git-api-command-handler.js +2 -0
  424. package/src/server/infrastructure/http/create-git-api-handler.js +2 -0
  425. package/src/server/infrastructure/http/create-git-api-query-handler.js +61 -0
  426. package/src/server/infrastructure/http/create-request-handler.js +15 -0
  427. package/src/server/infrastructure/http/create-static-handler.js +11 -2
  428. package/src/server/infrastructure/http/create-vault-api-command-handler.js +67 -0
  429. package/src/server/infrastructure/persistence/path-utils.js +11 -0
  430. package/src/server/infrastructure/persistence/vault-file-store.js +158 -3
  431. package/src/server/infrastructure/workspace/workspace-mutation-coordinator.js +84 -3
  432. package/public/assets/css/base.css +0 -1
  433. package/public/assets/css/style.css +0 -1
  434. package/public/assets/js/chunks/CodeMirrorEditor-UCMRAMCV-MAKZFDBE.js +0 -12
  435. package/public/assets/js/chunks/apl-C5P5JBDI.js +0 -1
  436. package/public/assets/js/chunks/ar-SA-NXDWD63E-MF6HMEA4.js +0 -8
  437. package/public/assets/js/chunks/architecture-PBZL5I3N-55LDZ5WS.js +0 -1
  438. package/public/assets/js/chunks/architectureDiagram-2XIMDMQ5-2VP562X7.js +0 -36
  439. package/public/assets/js/chunks/asciiarmor-3NCLLELT.js +0 -1
  440. package/public/assets/js/chunks/asn1-KF4WXU3M.js +0 -1
  441. package/public/assets/js/chunks/asterisk-EA3VIN65.js +0 -1
  442. package/public/assets/js/chunks/az-AZ-MXSORGZV-AIGO4TNU.js +0 -1
  443. package/public/assets/js/chunks/bg-BG-O6MV2KSF-X6AVO2AF.js +0 -5
  444. package/public/assets/js/chunks/blockDiagram-WCTKOSBZ-KM56WWDE.js +0 -132
  445. package/public/assets/js/chunks/bn-BD-T2VJNT7N-7OMHRIGC.js +0 -3
  446. package/public/assets/js/chunks/bn-IN-MMW2ORAC-EPKMNKG7.js +0 -3
  447. package/public/assets/js/chunks/brainfuck-A3CTQVFD.js +0 -1
  448. package/public/assets/js/chunks/c4Diagram-IC4MRINW-KX6UEGQZ.js +0 -10
  449. package/public/assets/js/chunks/ca-ES-MKBCGNOG-U44SUUTN.js +0 -8
  450. package/public/assets/js/chunks/chunk-2NTQWLZD.js +0 -25
  451. package/public/assets/js/chunks/chunk-2YRP2AWD.js +0 -1
  452. package/public/assets/js/chunks/chunk-3BUCGSSJ.js +0 -1
  453. package/public/assets/js/chunks/chunk-47L7JGE3.js +0 -1
  454. package/public/assets/js/chunks/chunk-4BCHPULB.js +0 -1
  455. package/public/assets/js/chunks/chunk-4NKM6YFO.js +0 -161
  456. package/public/assets/js/chunks/chunk-4WGMPBK5.js +0 -1
  457. package/public/assets/js/chunks/chunk-55WF6Y2Q.js +0 -1
  458. package/public/assets/js/chunks/chunk-5QRWYPYT.js +0 -25
  459. package/public/assets/js/chunks/chunk-775E65SU.js +0 -1
  460. package/public/assets/js/chunks/chunk-AJRGTECU.js +0 -70
  461. package/public/assets/js/chunks/chunk-B2J3PHGY.js +0 -1
  462. package/public/assets/js/chunks/chunk-B4JKB3BC.js +0 -1
  463. package/public/assets/js/chunks/chunk-CGVY4PKT.js +0 -13
  464. package/public/assets/js/chunks/chunk-CVTRX3TE.js +0 -220
  465. package/public/assets/js/chunks/chunk-DW6KK6VF.js +0 -1
  466. package/public/assets/js/chunks/chunk-E2HMNOQL.js +0 -189
  467. package/public/assets/js/chunks/chunk-EPTJZP5H.js +0 -7
  468. package/public/assets/js/chunks/chunk-G7NUGGE7.js +0 -13
  469. package/public/assets/js/chunks/chunk-GFDM7YCF.js +0 -1
  470. package/public/assets/js/chunks/chunk-GI7LBIBP.js +0 -1
  471. package/public/assets/js/chunks/chunk-GXRL27M7.js +0 -1
  472. package/public/assets/js/chunks/chunk-H6EYDHRW.js +0 -1
  473. package/public/assets/js/chunks/chunk-HEWVH67U.js +0 -9
  474. package/public/assets/js/chunks/chunk-HOCBCDA5.js +0 -1
  475. package/public/assets/js/chunks/chunk-HS2CUOC6.js +0 -1
  476. package/public/assets/js/chunks/chunk-HUAS4BYI.js +0 -12
  477. package/public/assets/js/chunks/chunk-HVNNEPP5.js +0 -2
  478. package/public/assets/js/chunks/chunk-I2GVZI7W.js +0 -38
  479. package/public/assets/js/chunks/chunk-I6PVWGBN.js +0 -14
  480. package/public/assets/js/chunks/chunk-IZ3V3F2A.js +0 -1
  481. package/public/assets/js/chunks/chunk-KPAQHIOI.js +0 -1
  482. package/public/assets/js/chunks/chunk-M3EW4V74.js +0 -1
  483. package/public/assets/js/chunks/chunk-MK3AFU3C.js +0 -90
  484. package/public/assets/js/chunks/chunk-NM6J3ND7.js +0 -1
  485. package/public/assets/js/chunks/chunk-NO7UPWTU.js +0 -1
  486. package/public/assets/js/chunks/chunk-OHGDMMWM.js +0 -1
  487. package/public/assets/js/chunks/chunk-OOT2HALX.js +0 -1
  488. package/public/assets/js/chunks/chunk-OQLLZFFN.js +0 -1
  489. package/public/assets/js/chunks/chunk-PF6TP4EI.js +0 -1
  490. package/public/assets/js/chunks/chunk-PMOZMECZ.js +0 -85
  491. package/public/assets/js/chunks/chunk-QBGS6DJR.js +0 -1
  492. package/public/assets/js/chunks/chunk-QF3ZQ6UQ.js +0 -1
  493. package/public/assets/js/chunks/chunk-QFXMAUW4.js +0 -1
  494. package/public/assets/js/chunks/chunk-QYKIT2IH.js +0 -41
  495. package/public/assets/js/chunks/chunk-S75BI2UQ.js +0 -1
  496. package/public/assets/js/chunks/chunk-SKEZZ3H6.js +0 -1
  497. package/public/assets/js/chunks/chunk-SO6QBCB6.js +0 -1
  498. package/public/assets/js/chunks/chunk-TFP6LRYJ.js +0 -53
  499. package/public/assets/js/chunks/chunk-VOODXHXA.js +0 -1
  500. package/public/assets/js/chunks/chunk-W7WJUTSA.js +0 -3
  501. package/public/assets/js/chunks/chunk-WNXFO2F2.js +0 -1
  502. package/public/assets/js/chunks/chunk-X6EEYWV4.js +0 -6
  503. package/public/assets/js/chunks/chunk-YVW3ZETS.js +0 -1
  504. package/public/assets/js/chunks/chunk-ZR2QRTBG.js +0 -339
  505. package/public/assets/js/chunks/chunk-ZZJX4LQ2.js +0 -1
  506. package/public/assets/js/chunks/classDiagram-VBA2DB6C-IYW4O2RM.js +0 -1
  507. package/public/assets/js/chunks/classDiagram-v2-RAHNMMFH-DNKVN2WD.js +0 -1
  508. package/public/assets/js/chunks/clike-RTBH33GE.js +0 -1
  509. package/public/assets/js/chunks/clojure-BR2VJ2JI.js +0 -1
  510. package/public/assets/js/chunks/cmake-2HEWVFEE.js +0 -1
  511. package/public/assets/js/chunks/cobol-V6EIK6DN.js +0 -1
  512. package/public/assets/js/chunks/coffeescript-JW3ZOGMD.js +0 -1
  513. package/public/assets/js/chunks/commonlisp-UCWSIHYK.js +0 -1
  514. package/public/assets/js/chunks/cose-bilkent-S5V4N54A-QVYRFFNC.js +0 -1
  515. package/public/assets/js/chunks/crystal-GR4VLC3M.js +0 -1
  516. package/public/assets/js/chunks/cs-CZ-V77HGUP7-OLBAKFG5.js +0 -7
  517. package/public/assets/js/chunks/css-C5DVWGB4.js +0 -1
  518. package/public/assets/js/chunks/cypher-K7FZM5GC.js +0 -1
  519. package/public/assets/js/chunks/d-CF3QNNH5.js +0 -1
  520. package/public/assets/js/chunks/da-DK-I5RFNTM4-QJIG2SEZ.js +0 -2
  521. package/public/assets/js/chunks/dagre-KLK3FWXG-KVNBUDOY.js +0 -4
  522. package/public/assets/js/chunks/de-CH-WLRDEVBV-4MMJDMVD.js +0 -7
  523. package/public/assets/js/chunks/de-DE-DTI4WUSC-ML7C46TT.js +0 -7
  524. package/public/assets/js/chunks/diagram-E7M64L7V-ZP33VRUC.js +0 -24
  525. package/public/assets/js/chunks/diagram-IFDJBPK2-ZG35YWOD.js +0 -43
  526. package/public/assets/js/chunks/diagram-P4PSJMXO-ZGIGM7D2.js +0 -24
  527. package/public/assets/js/chunks/diff-KOMSZU7O.js +0 -1
  528. package/public/assets/js/chunks/dist-7RQKSOUX.js +0 -7
  529. package/public/assets/js/chunks/dist-ARWGZ6MN.js +0 -1
  530. package/public/assets/js/chunks/dist-DPBSGC3Y.js +0 -2
  531. package/public/assets/js/chunks/dist-E36PJE5M.js +0 -1
  532. package/public/assets/js/chunks/dist-E5NM7OBW.js +0 -1
  533. package/public/assets/js/chunks/dist-ERADYPEK.js +0 -1
  534. package/public/assets/js/chunks/dist-F43RIHBZ.js +0 -1
  535. package/public/assets/js/chunks/dist-HAB5NIXI.js +0 -1
  536. package/public/assets/js/chunks/dist-HG23OLRA.js +0 -1
  537. package/public/assets/js/chunks/dist-IEJXBSDJ.js +0 -1
  538. package/public/assets/js/chunks/dist-IQA4KVJK.js +0 -1
  539. package/public/assets/js/chunks/dist-OIQTNVT2.js +0 -3
  540. package/public/assets/js/chunks/dist-PMZJ734S.js +0 -1
  541. package/public/assets/js/chunks/dist-RCQFQRLD.js +0 -1
  542. package/public/assets/js/chunks/dist-RQLC4GVI.js +0 -1
  543. package/public/assets/js/chunks/dist-RSJGLSKC.js +0 -1
  544. package/public/assets/js/chunks/dist-SGNQZVVX.js +0 -1
  545. package/public/assets/js/chunks/dist-VCFTF7Z6.js +0 -1
  546. package/public/assets/js/chunks/dist-VTO23SHH.js +0 -1
  547. package/public/assets/js/chunks/dist-XOODBV4L.js +0 -1
  548. package/public/assets/js/chunks/dist-ZFZNCRZY.js +0 -1
  549. package/public/assets/js/chunks/dockerfile-XCIKYOSI.js +0 -1
  550. package/public/assets/js/chunks/dtd-3XFH7W6Z.js +0 -1
  551. package/public/assets/js/chunks/dylan-3UWPKVOR.js +0 -1
  552. package/public/assets/js/chunks/ebnf-OLHTL3VN.js +0 -1
  553. package/public/assets/js/chunks/ecl-43LZ3ZRM.js +0 -1
  554. package/public/assets/js/chunks/editor-session-EAUBJCHH.js +0 -22
  555. package/public/assets/js/chunks/eiffel-ISPO2UJF.js +0 -1
  556. package/public/assets/js/chunks/el-GR-ZXDJ2OS4-WSCEIO6J.js +0 -7
  557. package/public/assets/js/chunks/elm-CLK576PK.js +0 -1
  558. package/public/assets/js/chunks/en-CTDJDZ6K-IC3QAUOI.js +0 -1
  559. package/public/assets/js/chunks/erDiagram-INFDFZHY-ZMS6H2TH.js +0 -70
  560. package/public/assets/js/chunks/erlang-AVQXQFOT.js +0 -1
  561. package/public/assets/js/chunks/es-ES-DYQHAD43-XGB5X5IM.js +0 -7
  562. package/public/assets/js/chunks/eu-ES-QDSYU5Y3-LA3JTIJ2.js +0 -7
  563. package/public/assets/js/chunks/excalidraw-mermaid-stub-NYXTOJ4H.js +0 -1
  564. package/public/assets/js/chunks/fa-IR-26LZG4PM-PFALMEDX.js +0 -9
  565. package/public/assets/js/chunks/factor-CRTVBD6Q.js +0 -1
  566. package/public/assets/js/chunks/fcl-FX24LKTH.js +0 -1
  567. package/public/assets/js/chunks/fi-FI-6YS4KDE4-ES5MV6P4.js +0 -6
  568. package/public/assets/js/chunks/flowDiagram-PKNHOUZH-QD4L5IE5.js +0 -162
  569. package/public/assets/js/chunks/forth-YKDKCTVS.js +0 -1
  570. package/public/assets/js/chunks/fortran-UJWC6SLU.js +0 -1
  571. package/public/assets/js/chunks/fr-FR-BRLLPTZC-VMFE22YV.js +0 -12
  572. package/public/assets/js/chunks/ganttDiagram-A5KZAMGK-VTMTQESP.js +0 -292
  573. package/public/assets/js/chunks/gas-MYEMWGRE.js +0 -1
  574. package/public/assets/js/chunks/gherkin-JWHAU2YG.js +0 -1
  575. package/public/assets/js/chunks/gitGraph-HDMCJU4V-YPHS74XX.js +0 -1
  576. package/public/assets/js/chunks/gitGraphDiagram-K3NZZRJ6-Z3EZ634T.js +0 -65
  577. package/public/assets/js/chunks/gl-ES-OKUZTLYG-GPT42ZHV.js +0 -6
  578. package/public/assets/js/chunks/groovy-QZIZQIAK.js +0 -1
  579. package/public/assets/js/chunks/haskell-JR3G7YNW.js +0 -1
  580. package/public/assets/js/chunks/haxe-TVLAIYEN.js +0 -1
  581. package/public/assets/js/chunks/he-IL-26MGYIU7-VQ5XQYYY.js +0 -8
  582. package/public/assets/js/chunks/hi-IN-Q4ZOGTP2-2Z766MXA.js +0 -3
  583. package/public/assets/js/chunks/http-YXQRE77G.js +0 -1
  584. package/public/assets/js/chunks/hu-HU-P2OXPSN5-6XDVPGTE.js +0 -3
  585. package/public/assets/js/chunks/id-ID-2EIKXYN6-J5GWSY2S.js +0 -8
  586. package/public/assets/js/chunks/idl-RAQGJ6LJ.js +0 -1
  587. package/public/assets/js/chunks/image-32MOCVDX-JN2EUMQG.js +0 -1
  588. package/public/assets/js/chunks/image-blob-reduce.esm-K5OWL55S.js +0 -13
  589. package/public/assets/js/chunks/info-3K5VOQVL-CXJSPNNP.js +0 -1
  590. package/public/assets/js/chunks/infoDiagram-LFFYTUFH-WQ34MUJA.js +0 -2
  591. package/public/assets/js/chunks/ishikawaDiagram-PHBUUO56-4IARWKJK.js +0 -70
  592. package/public/assets/js/chunks/it-IT-4CFKVXI2-NMBWUWFF.js +0 -12
  593. package/public/assets/js/chunks/ja-JP-MAND2Z4V-GQZYXXOC.js +0 -7
  594. package/public/assets/js/chunks/javascript-NM7KDJUE.js +0 -1
  595. package/public/assets/js/chunks/journeyDiagram-4ABVD52K-FJ4LF4SX.js +0 -139
  596. package/public/assets/js/chunks/julia-LG3BH25B.js +0 -1
  597. package/public/assets/js/chunks/kaa-HQRTCXTJ-7D6PAKDJ.js +0 -1
  598. package/public/assets/js/chunks/kab-KAB-JKIKKTGH-TNKFXNAX.js +0 -4
  599. package/public/assets/js/chunks/kanban-definition-K7BYSVSG-TY4EVYI3.js +0 -89
  600. package/public/assets/js/chunks/katex-5YJCUCFD.js +0 -261
  601. package/public/assets/js/chunks/kk-KZ-HXQ63ZFC-T4HCMWED.js +0 -1
  602. package/public/assets/js/chunks/km-KH-PKL3LSGX-HTLHEJV6.js +0 -7
  603. package/public/assets/js/chunks/ko-KR-KXLREZX3-QMR52QVI.js +0 -5
  604. package/public/assets/js/chunks/ku-TR-MJ4IER3X-K5CNY4UO.js +0 -6
  605. package/public/assets/js/chunks/livescript-4CVWVI4M.js +0 -1
  606. package/public/assets/js/chunks/lt-LT-H6WFQ6FJ-IW25FAGX.js +0 -3
  607. package/public/assets/js/chunks/lua-VWGE7DQ7.js +0 -1
  608. package/public/assets/js/chunks/lv-LV-GOCK6SJW-KTDFW5OH.js +0 -4
  609. package/public/assets/js/chunks/mathematica-D7APQSEU.js +0 -1
  610. package/public/assets/js/chunks/mbox-BN3XQBYX.js +0 -1
  611. package/public/assets/js/chunks/mermaid-runtime-BIFNJ2CT.js +0 -18
  612. package/public/assets/js/chunks/mindmap-definition-YRQLILUH-5B565RNP.js +0 -68
  613. package/public/assets/js/chunks/mirc-565WBI76.js +0 -1
  614. package/public/assets/js/chunks/mllike-VV3KS46B.js +0 -1
  615. package/public/assets/js/chunks/modelica-EGX44FZV.js +0 -1
  616. package/public/assets/js/chunks/mr-IN-IXVLDMEQ-PHM5DT7Q.js +0 -9
  617. package/public/assets/js/chunks/mscgen-GFGTHENT.js +0 -1
  618. package/public/assets/js/chunks/mumps-POZYWSMI.js +0 -1
  619. package/public/assets/js/chunks/my-MM-YG6MYTTD-ZHLCMEVA.js +0 -1
  620. package/public/assets/js/chunks/nb-NO-XGWJISD2-KSDFG6YU.js +0 -8
  621. package/public/assets/js/chunks/nginx-JUBX55EU.js +0 -1
  622. package/public/assets/js/chunks/nl-NL-XVDVCPNC-KVF3ZO2R.js +0 -13
  623. package/public/assets/js/chunks/nn-NO-EMX5MJX5-34QKSHNR.js +0 -4
  624. package/public/assets/js/chunks/nsis-RC4CREGM.js +0 -1
  625. package/public/assets/js/chunks/ntriples-4WK6CNVE.js +0 -1
  626. package/public/assets/js/chunks/oc-FR-ROEINTVO-5GP4AOYO.js +0 -4
  627. package/public/assets/js/chunks/octave-GOKFN2V7.js +0 -1
  628. package/public/assets/js/chunks/oz-OQUMNC63.js +0 -1
  629. package/public/assets/js/chunks/pa-IN-ZYN6SUDY-MVL7O44W.js +0 -4
  630. package/public/assets/js/chunks/packet-RMMSAZCW-D7XTR5TT.js +0 -1
  631. package/public/assets/js/chunks/pascal-BBWQWWWD.js +0 -1
  632. package/public/assets/js/chunks/percentages-5DKR754L-DG7W23CV.js +0 -1
  633. package/public/assets/js/chunks/perl-KTPJTTAM.js +0 -1
  634. package/public/assets/js/chunks/pica-6G3NROWT.js +0 -17
  635. package/public/assets/js/chunks/pie-UPGHQEXC-KGC3O6LN.js +0 -1
  636. package/public/assets/js/chunks/pieDiagram-SKSYHLDU-KWKRDEZS.js +0 -30
  637. package/public/assets/js/chunks/pig-IJMBS4FZ.js +0 -1
  638. package/public/assets/js/chunks/pl-PL-6VTG7PHC-VADRWSX4.js +0 -12
  639. package/public/assets/js/chunks/powershell-6YGCBHDP.js +0 -1
  640. package/public/assets/js/chunks/preview-render-compiler-6Y7TKXFJ.js +0 -1
  641. package/public/assets/js/chunks/properties-5QTD3364.js +0 -1
  642. package/public/assets/js/chunks/protobuf-LTRWBIK3.js +0 -1
  643. package/public/assets/js/chunks/pt-BR-5YFKRR5G-HHF4UPO4.js +0 -6
  644. package/public/assets/js/chunks/pt-PT-GEIXXZ67-TUTAUZJK.js +0 -8
  645. package/public/assets/js/chunks/pug-U4PV3WLG.js +0 -1
  646. package/public/assets/js/chunks/puppet-WGYJPR3Y.js +0 -1
  647. package/public/assets/js/chunks/python-6YGH4S47.js +0 -1
  648. package/public/assets/js/chunks/q-VIG4IJLI.js +0 -1
  649. package/public/assets/js/chunks/quadrantDiagram-337W2JSQ-GWQRUFHQ.js +0 -7
  650. package/public/assets/js/chunks/quick-switcher-controller-A6SKH5HI.js +0 -5
  651. package/public/assets/js/chunks/r-NVPCXGTR.js +0 -1
  652. package/public/assets/js/chunks/radar-KQ55EAFF-OPO64DRI.js +0 -1
  653. package/public/assets/js/chunks/requirementDiagram-Z7DCOOCP-ASW7IPJL.js +0 -73
  654. package/public/assets/js/chunks/ro-RO-E2P6TFZI-RJFCULYF.js +0 -12
  655. package/public/assets/js/chunks/roundRect-Z3DX3W5S.js +0 -1
  656. package/public/assets/js/chunks/rpm-UEA257HD.js +0 -1
  657. package/public/assets/js/chunks/ru-RU-YBIIY43T-BF27TNVK.js +0 -10
  658. package/public/assets/js/chunks/ruby-KPQRAJGE.js +0 -1
  659. package/public/assets/js/chunks/sankeyDiagram-WA2Y5GQK-W6BBWCLW.js +0 -10
  660. package/public/assets/js/chunks/sas-L7VATVH5.js +0 -1
  661. package/public/assets/js/chunks/scheme-T2NOWR3P.js +0 -1
  662. package/public/assets/js/chunks/sequenceDiagram-2WXFIKYE-H4G3ISLN.js +0 -145
  663. package/public/assets/js/chunks/shell-DLVDUNFA.js +0 -1
  664. package/public/assets/js/chunks/si-LK-673C2CI2-IOFGU4U2.js +0 -1
  665. package/public/assets/js/chunks/sieve-BKBZYDBU.js +0 -1
  666. package/public/assets/js/chunks/sk-SK-CKZHQ4AP-6O5JGN26.js +0 -7
  667. package/public/assets/js/chunks/sl-SI-557H2GWM-2NEHLV7W.js +0 -6
  668. package/public/assets/js/chunks/smalltalk-WRJQKJSD.js +0 -1
  669. package/public/assets/js/chunks/solr-66B3BIDL.js +0 -1
  670. package/public/assets/js/chunks/sparql-S25Z47JG.js +0 -1
  671. package/public/assets/js/chunks/spreadsheet-B272EF7Y.js +0 -1
  672. package/public/assets/js/chunks/sql-BPLIIUYC.js +0 -1
  673. package/public/assets/js/chunks/stateDiagram-RAJIS63D-OF5XXRUS.js +0 -1
  674. package/public/assets/js/chunks/stateDiagram-v2-FVOUBMTO-IV2CSQSQ.js +0 -1
  675. package/public/assets/js/chunks/stex-4IJY64QX.js +0 -1
  676. package/public/assets/js/chunks/stylus-PJUHLGPT.js +0 -1
  677. package/public/assets/js/chunks/subset-shared.chunk-4NMWHS4D.js +0 -1
  678. package/public/assets/js/chunks/subset-worker.chunk-NTLP7Y66.js +0 -1
  679. package/public/assets/js/chunks/sv-SE-XOPKKDWS-Q2L6KGFV.js +0 -8
  680. package/public/assets/js/chunks/swift-UYHTO4SX.js +0 -1
  681. package/public/assets/js/chunks/ta-IN-XBH7DQI3-ISSUGZAK.js +0 -6
  682. package/public/assets/js/chunks/tcl-OQ5J3VO2.js +0 -1
  683. package/public/assets/js/chunks/textile-NOGVBEYF.js +0 -1
  684. package/public/assets/js/chunks/th-TH-TOCWH3R4-TABEAMJA.js +0 -1
  685. package/public/assets/js/chunks/tiddlywiki-SYTK4QUE.js +0 -1
  686. package/public/assets/js/chunks/tiki-P7K4ZLOM.js +0 -1
  687. package/public/assets/js/chunks/timeline-definition-YZTLITO2-HBCANIUC.js +0 -61
  688. package/public/assets/js/chunks/toml-AUZYRP36.js +0 -1
  689. package/public/assets/js/chunks/tr-TR-GXW6CYY5-5NQRN52Y.js +0 -4
  690. package/public/assets/js/chunks/treemap-KZPCXAKY-WYMCT5F7.js +0 -1
  691. package/public/assets/js/chunks/troff-XFYJNQOJ.js +0 -1
  692. package/public/assets/js/chunks/ttcn-AK2IXWU6.js +0 -1
  693. package/public/assets/js/chunks/ttcn-cfg-3IDPIYPU.js +0 -1
  694. package/public/assets/js/chunks/turtle-OIDMF46P.js +0 -1
  695. package/public/assets/js/chunks/uk-UA-IJKTNUDG-2IIL3TO5.js +0 -6
  696. package/public/assets/js/chunks/uz-UZ-TBZZEA4V-X22KVKBP.js +0 -1
  697. package/public/assets/js/chunks/vb-J6K4XVA2.js +0 -1
  698. package/public/assets/js/chunks/vbscript-FM7DDZZE.js +0 -1
  699. package/public/assets/js/chunks/velocity-6KZFEOFD.js +0 -1
  700. package/public/assets/js/chunks/vennDiagram-LZ73GAT5-EBRF3MZR.js +0 -34
  701. package/public/assets/js/chunks/verilog-EWWQPMNN.js +0 -1
  702. package/public/assets/js/chunks/vhdl-CJ3M4IHI.js +0 -1
  703. package/public/assets/js/chunks/vi-VN-MULSGNVB-TENM65C7.js +0 -7
  704. package/public/assets/js/chunks/webidl-XVBHXCRV.js +0 -1
  705. package/public/assets/js/chunks/xquery-7WZOZ4UK.js +0 -1
  706. package/public/assets/js/chunks/xychartDiagram-JWTSCODW-WIFVRQPR.js +0 -7
  707. package/public/assets/js/chunks/yacas-MZ2ZZPF3.js +0 -1
  708. package/public/assets/js/chunks/z80-I447CBF7.js +0 -1
  709. package/public/assets/js/chunks/zh-CN-MVX3E32U-S5VA2BA5.js +0 -11
  710. package/public/assets/js/chunks/zh-HK-JNU5RLIE-A4VUKZFV.js +0 -1
  711. package/public/assets/js/chunks/zh-TW-LENVCA6T-KFB6KHMM.js +0 -9
  712. package/public/assets/js/excalidraw-editor-7ORML5YA.css +0 -1
  713. package/public/assets/js/excalidraw-editor-TCIH6GJL.js +0 -347
  714. package/public/assets/js/excalidraw-editor.css +0 -1
  715. package/public/assets/js/excalidraw-editor.js +0 -1
  716. package/public/assets/js/main.js +0 -381
  717. package/public/assets/js/preview-render-worker.js +0 -30
  718. /package/{public/assets/js/assets/Assistant-Bold-ZDZZ6JHA.woff2 → dist/client/assets/Assistant-Bold-gm-uSS1B.woff2} +0 -0
  719. /package/{public/assets/js/assets/Assistant-Medium-DZ25RZU3.woff2 → dist/client/assets/Assistant-Medium-DrcxCXg3.woff2} +0 -0
  720. /package/{public/assets/js/assets/Assistant-Regular-PLF2XOGW.woff2 → dist/client/assets/Assistant-Regular-DVxZuzxb.woff2} +0 -0
  721. /package/{public/assets/js/assets/Assistant-SemiBold-CZ5MX6FK.woff2 → dist/client/assets/Assistant-SemiBold-SCI4bEL9.woff2} +0 -0
  722. /package/{public → src/client}/assets/vendor/highlight/github-dark.min.css +0 -0
  723. /package/{public → src/client}/assets/vendor/highlight/github.min.css +0 -0
@@ -0,0 +1,34 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./subset-worker.chunk-B7pmUG1o.js","./chunk-SRAX5OIU-B-Zdxy2r.js","./chunk-Cq_f4orQ.js","./chunk-Z5NKEFVG-CIMf1Se5.js","./subset-shared.chunk-93a-Md8B.js","./image-32MOCVDX-viHDtJGM.js","./pica-BG8AR4mo.js"])))=>i.map(i=>d[i]);
2
+ import{s as e,t}from"./chunk-Cq_f4orQ.js";import{t as n}from"./preload-helper-Chd9yIcd.js";import{t as r}from"./chunk-A66AFZZU-D0IDIehU.js";import{i}from"./chunk-SRAX5OIU-B-Zdxy2r.js";var a=t(((e,t)=>{t.exports=n;function n(e,t){if(e=String(e),t=String(t),!/^[\x00-\xFF]+$/.test(e)||!/^[\x00-\xFF]+$/.test(t))throw Error(`Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression`);if(e.length>=80)throw Error(`Keyword "`+e+`" is longer than the 79-character limit imposed by the PNG specification`);for(var n=e.length+t.length+1,r=new Uint8Array(n),i=0,a,o=0;o<e.length;o++){if(!(a=e.charCodeAt(o)))throw Error(`0x00 character is not permitted in tEXt keywords`);r[i++]=a}r[i++]=0;for(var s=0;s<t.length;s++){if(!(a=t.charCodeAt(s)))throw Error(`0x00 character is not permitted in tEXt content`);r[i++]=a}return{name:`tEXt`,data:r}}})),o=t(((e,t)=>{t.exports=n;function n(e){e.data&&e.name&&(e=e.data);for(var t=!0,n=``,r=``,i=0;i<e.length;i++){var a=e[i];if(t)a?r+=String.fromCharCode(a):t=!1;else if(a)n+=String.fromCharCode(a);else throw Error(`Invalid NULL character found. 0x00 character is not permitted in tEXt content`)}return{keyword:r,text:n}}})),s=t((e=>{e.encode=a(),e.decode=o()})),c=t(((e,t)=>{t.exports=function(e,t,n){var r=[],i=e.length;if(i===0)return r;var a=t<0?Math.max(0,t+i):t||0;for(n!==void 0&&(i=n<0?n+i:n);i-- >a;)r[i-a]=e[i];return r}})),l=t((e=>{(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`0.3.0`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t(),r=typeof Buffer<`u`;function i(e){if(e.length>32768&&r)return o(new Buffer(e));for(var t=-1,i=e.length-1,a=0;a<i;)t=n[(t^e.charCodeAt(a++))&255]^t>>>8,t=n[(t^e.charCodeAt(a++))&255]^t>>>8;return a===i&&(t=t>>>8^n[(t^e.charCodeAt(a))&255]),t^-1}function a(e){if(e.length>1e4)return o(e);for(var t=-1,r=0,i=e.length-3;r<i;)t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255];for(;r<i+3;)t=t>>>8^n[(t^e[r++])&255];return t^-1}function o(e){for(var t=-1,r=0,i=e.length-7;r<i;)t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255],t=t>>>8^n[(t^e[r++])&255];for(;r<i+7;)t=t>>>8^n[(t^e[r++])&255];return t^-1}function s(e){for(var t=-1,r=0,i=e.length,a,o;r<i;)a=e.charCodeAt(r++),a<128?t=t>>>8^n[(t^a)&255]:a<2048?(t=t>>>8^n[(t^(192|a>>6&31))&255],t=t>>>8^n[(t^(128|a&63))&255]):a>=55296&&a<57344?(a=(a&1023)+64,o=e.charCodeAt(r++)&1023,t=t>>>8^n[(t^(240|a>>8&7))&255],t=t>>>8^n[(t^(128|a>>2&63))&255],t=t>>>8^n[(t^(128|o>>6&15|a&3))&255],t=t>>>8^n[(t^(128|o&63))&255]):(t=t>>>8^n[(t^(224|a>>12&15))&255],t=t>>>8^n[(t^(128|a>>6&63))&255],t=t>>>8^n[(t^(128|a&63))&255]);return t^-1}e.table=n,e.bstr=i,e.buf=a,e.str=s})})),u=t(((e,t)=>{var n=c(),r=l();t.exports=s;var i=new Uint8Array(4),a=new Int32Array(i.buffer),o=new Uint32Array(i.buffer);function s(e){var t=8,s=t,c;for(c=0;c<e.length;c++)t+=e[c].data.length,t+=12;var l=new Uint8Array(t);for(l[0]=137,l[1]=80,l[2]=78,l[3]=71,l[4]=13,l[5]=10,l[6]=26,l[7]=10,c=0;c<e.length;c++){var u=e[c],d=u.name,f=u.data,p=f.length,m=[d.charCodeAt(0),d.charCodeAt(1),d.charCodeAt(2),d.charCodeAt(3)];o[0]=p,l[s++]=i[3],l[s++]=i[2],l[s++]=i[1],l[s++]=i[0],l[s++]=m[0],l[s++]=m[1],l[s++]=m[2],l[s++]=m[3];for(var h=0;h<p;)l[s++]=f[h++];var g=m.concat(n(f));a[0]=r.buf(g),l[s++]=i[3],l[s++]=i[2],l[s++]=i[1],l[s++]=i[0]}return l}})),d=t(((e,t)=>{var n=l();t.exports=o;var r=new Uint8Array(4),i=new Int32Array(r.buffer),a=new Uint32Array(r.buffer);function o(e){if(e[0]!==137||e[1]!==80||e[2]!==78||e[3]!==71)throw Error(`Invalid .png file header`);if(e[4]!==13||e[5]!==10)throw Error(`Invalid .png file header: possibly caused by DOS-Unix line ending conversion?`);if(e[6]!==26)throw Error(`Invalid .png file header`);if(e[7]!==10)throw Error(`Invalid .png file header: possibly caused by DOS-Unix line ending conversion?`);for(var t=!1,o=[],s=8;s<e.length;){r[3]=e[s++],r[2]=e[s++],r[1]=e[s++],r[0]=e[s++];var c=a[0]+4,l=new Uint8Array(c);l[0]=e[s++],l[1]=e[s++],l[2]=e[s++],l[3]=e[s++];var u=String.fromCharCode(l[0])+String.fromCharCode(l[1])+String.fromCharCode(l[2])+String.fromCharCode(l[3]);if(!o.length&&u!==`IHDR`)throw Error(`IHDR header missing`);if(u===`IEND`){t=!0,o.push({name:u,data:new Uint8Array});break}for(var d=4;d<c;d++)l[d]=e[s++];r[3]=e[s++],r[2]=e[s++],r[1]=e[s++],r[0]=e[s++];var f=i[0];if(n.buf(l)!==f)throw Error(`CRC values for `+u+` header do not match, PNG file is likely corrupted`);var p=new Uint8Array(l.buffer.slice(4));o.push({name:u,data:p})}if(!t)throw Error(`.png file ended prematurely: no IEND header was found`);return o}})),f=(e,t,n)=>Math.min(Math.max(e,t),n),p=(e,t,n=`round`)=>{let r=10**t;return Math[n]((e+2**-52)*r)/r},m=(e,t,n=`round`)=>{let r=1/t;return Math[n](e*r)/r},h=(e,t)=>(e+t)/2,g=e=>typeof e==`number`&&Number.isFinite(e),_=(e,t,n=1e-4)=>Math.abs(e-t)<n,v=e=>e<0?e%(2*Math.PI)+2*Math.PI:e%(2*Math.PI);function y(e){return e*Math.PI/180}function b(e){return e*180/Math.PI}function x(e){return Math.abs(Math.sin(2*e))<1e-4}function S(e,t,n){return e=v(e),t=v(t),n=v(n),t<n?e>=t&&e<=n:e>=t||e<=n}function C(e,t){e=v(e),t=v(t);let n=e-t;return n<-Math.PI?n+=2*Math.PI:n>Math.PI&&(n-=2*Math.PI),Math.abs(n)}function w(e,t,n=0,r=0){return[e-n,t-r]}function T(e,t=[0,0],n,r=[0,1]){let i=w(e[0]-t[0],e[1]-t[1]);return n&&ee(i)<n*n?r:i}function E(e,t){return e[0]*t[1]-t[0]*e[1]}function D(e,t){return e[0]*t[0]+e[1]*t[1]}function O(e,t){return[e[0]+t[0],e[1]+t[1]]}function k(e,t){return[e[0]-t[0],e[1]-t[1]]}function A(e,t){return w(e[0]*t,e[1]*t)}function ee(e){return e[0]*e[0]+e[1]*e[1]}function te(e){return Math.sqrt(ee(e))}var ne=e=>{let t=te(e);return t===0?w(0,0):w(e[0]/t,e[1]/t)},re=e=>w(e[1],-e[0]);function j(e,t){return typeof e==`object`?[e.x,e.y]:[e,t]}function ie(e){return e.length===2?j(e[0],e[1]):void 0}function ae(e){return e}function oe(e,t=j(0,0)){return j(t[0]+e[0],t[1]+e[1])}function se(e,t,n=1e-4){let r=Math.abs;return r(e[0]-t[0])<n&&r(e[1]-t[1])<n}function M([e,t],[n,r],i){return j((e-n)*Math.cos(i)-(t-r)*Math.sin(i)+n,(e-n)*Math.sin(i)+(t-r)*Math.cos(i)+r)}function ce(e,t=[0,0]){return j(e[0]+t[0],e[1]+t[1])}function le(e,t){return j((e[0]+t[0])/2,(e[1]+t[1])/2)}function N(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1])}function ue(e,t){let n=t[0]-e[0],r=t[1]-e[1];return n*n+r*r}var de=(e,t,n)=>ce(t,A(T(e,t),n)),fe=(e,t,n)=>t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1]),pe=[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],me=[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872];function he(e,t,n,r){return[e,t,n,r]}function ge(e,t,n,r,i=.001,a=10){let o=1/0,s=0;for(;o>=i;){if(s>=a)return null;let c=1-n,l=c*c,u=l*c,d=n*n,f=d*n,p=u*e[0][0]+3*l*n*e[1][0]+3*c*d*e[2][0]+f*e[3][0],m=u*e[0][1]+3*l*n*e[1][1]+3*c*d*e[2][1]+f*e[3][1],h=t[0][0]+r*(t[1][0]-t[0][0]),g=t[0][1]+r*(t[1][1]-t[0][1]),_=p-h,v=m-g;if(o=Math.abs(_)+Math.abs(v),o<i)break;let y=-3*l*e[0][0]+3*l*e[1][0]-6*c*n*e[1][0]-3*d*e[2][0]+6*c*n*e[2][0]+3*d*e[3][0],b=-3*l*e[0][1]+3*l*e[1][1]-6*c*n*e[1][1]-3*d*e[2][1]+6*c*n*e[2][1]+3*d*e[3][1],x=-(t[1][0]-t[0][0]),S=-(t[1][1]-t[0][1]),C=y*S-x*b;if(Math.abs(C)<1e-12)return null;let w=1/C,T=w*(S*-_-x*-v),E=w*(-b*-_+y*-v);n+=T,r+=E,s+=1}return[n,r]}var _e=(e,t)=>j((1-t)**3*e[0][0]+3*(1-t)**2*t*e[1][0]+3*(1-t)*t**2*e[2][0]+t**3*e[3][0],(1-t)**3*e[0][1]+3*(1-t)**2*t*e[1][1]+3*(1-t)*t**2*e[2][1]+t**3*e[3][1]),ve=[[.5,0],[.2,0],[.8,0]],ye=([e,t],n,r)=>{let i=ge(r,n,e,t,.01,4);if(!i)return null;let[a,o]=i;return a<0||a>1||o<0||o>1?null:_e(r,a)};function be(e,t){let n=ye(ve[0],t,e);return n?[n]:(n=ye(ve[1],t,e),n?[n]:(n=ye(ve[2],t,e),n?[n]:[]))}function xe(e,t,n=.001){let r=(e,t,r,i=n)=>{let a=e,o=t,s;for(;o-a>i;)s=(o+a)/2,r(s-i)<r(s+i)?o=s:a=s;return s},i=0;for(let n=1/0,r=0;r<30;r++){let a=N(t,_e(e,r/30));a<n&&(n=a,i=r)}let a=r(Math.max((i-1)/30,0),Math.min((i+1)/30,1),n=>N(t,_e(e,n)));return a?_e(e,a):null}function Se(e,t){let n=xe(e,t);return n?N(t,n):0}function Ce([e,t,n,r],i){return w(-3*(1-i)*(1-i)*e[0]+3*(1-i)*(1-i)*t[0]-6*i*(1-i)*t[0]-3*i*i*n[0]+6*i*(1-i)*n[0]+3*i*i*r[0],-3*(1-i)*(1-i)*e[1]+3*(1-i)*(1-i)*t[1]-6*i*(1-i)*t[1]-3*i*i*n[1]+6*i*(1-i)*n[1]+3*i*i*r[1])}function we(e,t=.5){if(e.length<2)return;let n=[];for(let r=0;r<e.length-1;r++){let i=e[r-1<0?0:r-1],a=e[r],o=e[r+1>=e.length?e.length-1:r+1],s=e[r+2>=e.length?e.length-1:r+2],c=[(o[0]-i[0])*t,(o[1]-i[1])*t],l=[(s[0]-a[0])*t,(s[1]-a[1])*t],u=a[0]+c[0]/3,d=a[1]+c[1]/3,f=o[0]-l[0]/3,p=o[1]-l[1]/3;n.push(he(j(a[0],a[1]),j(u,d),j(f,p),j(o[0],o[1])))}return n}function Te([e,t,n,r],i,a=50){let o=[];for(let s=0;s<=a;s++){let c=s/a,l=he(e,t,n,r),u=_e(l,c),d=re(ne(Ce(l,c)));o.push(oe(A(d,i),u))}return o}function Ee(e){let t=0;for(let n=0;n<24;n++){let r=Ce(e,.5*pe[n]+.5),i=Math.sqrt(r[0]*r[0]+r[1]*r[1]);t+=me[n]*i}return .5*t}function De(e,t){if(t<=0)return 0;if(t>=1)return Ee(e);let n=t/2,r=t/2,i=0;for(let t=0;t<24;t++){let a=Ce(e,n*pe[t]+r),o=Math.sqrt(a[0]*a[0]+a[1]*a[1]);i+=me[t]*o}return n*i}function Oe(e,t){if(t<=0)return _e(e,0);if(t>=1)return _e(e,1);let n=Ee(e),r=n*t,i=0,a=1,o=t,s=0,c=n*1e-4;for(let t=0;t<20&&(s=De(e,o),!(Math.abs(s-r)<c));t++)s<r?i=o:a=o,o=(i+a)/2;return _e(e,o)}function ke(e,t,n){return{center:e,halfWidth:t,halfHeight:n}}var Ae=(e,t)=>{let{halfWidth:n,halfHeight:r,center:i}=t,a=n,o=r,s=O(T(e),A(T(i),-1)),c=Math.abs(s[0]),l=Math.abs(s[1]),u=.707,d=.707;for(let e=0;e<3;e++){let e=a*u,t=o*d,n=(a*a-o*o)*u**3/a,r=(o*o-a*a)*d**3/o,i=e-n,s=t-r,f=c-n,p=l-r,m=Math.hypot(s,i),h=Math.hypot(p,f);u=Math.min(1,Math.max(0,(f*m/h+n)/a)),d=Math.min(1,Math.max(0,(p*m/h+r)/o));let g=Math.hypot(d,u);u/=g,d/=g}let[f,p]=[a*u*Math.sign(s[0]),o*d*Math.sign(s[1])];return N(oe(s),j(f,p))};function je(e,t){let n=e.halfWidth,r=e.halfHeight,i=T(t[1],t[0]),a=w(t[0][0]-e.center[0],t[0][1]-e.center[1]),o=w(i[0]/(n*n),i[1]/(r*r)),s=w(a[0]/(n*n),a[1]/(r*r)),c=D(i,o),l=D(i,s),u=D(a,s)-1,d=l*l-c*u,f=[];if(d>0){let e=(-l-Math.sqrt(d))/c,n=(-l+Math.sqrt(d))/c;0<=e&&e<=1&&f.push(j(t[0][0]+(t[1][0]-t[0][0])*e,t[0][1]+(t[1][1]-t[0][1])*e)),0<=n&&n<=1&&f.push(j(t[0][0]+(t[1][0]-t[0][0])*n,t[0][1]+(t[1][1]-t[0][1])*n))}else if(d===0){let e=-l/c;0<=e&&e<=1&&f.push(j(t[0][0]+(t[1][0]-t[0][0])*e,t[0][1]+(t[1][1]-t[0][1])*e))}return f}function Me(e,t){return[e,t]}function Ne(e,t){let n=e[1][1]-e[0][1],r=e[0][0]-e[1][0],i=t[1][1]-t[0][1],a=t[0][0]-t[1][0],o=n*a-i*r;if(o!==0){let s=n*e[0][0]+r*e[0][1],c=i*t[0][0]+a*t[0][1];return j((s*a-c*r)/o,(n*c-i*s)/o)}return null}function P(e,t){return[e,t]}var Pe=(e,t,n=1e-4)=>{let r=Fe(e,t);return r===0?!0:r<n},Fe=(e,t)=>{let[n,r]=e,[[i,a],[o,s]]=t,c=n-i,l=r-a,u=o-i,d=s-a,f=c*u+l*d,p=u*u+d*d,m=-1;p!==0&&(m=f/p);let h,g;m<0?(h=i,g=a):m>1?(h=o,g=s):(h=i+m*u,g=a+m*d);let _=n-h,v=r-g;return Math.sqrt(_*_+v*v)};function Ie(e,t,n){let r=Ne(Me(e[0],e[1]),Me(t[0],t[1]));return!r||!Pe(r,t,n)||!Pe(r,e,n)?null:r}function Le(e,t){return Ie(e,t)?0:Math.min(Fe(e[0],t),Fe(e[1],t),Fe(t[0],e),Fe(t[1],e))}function Re(...e){return Ve(e)}function ze(e){return Ve(e)}var Be=(e,t)=>{let[n,r]=e,i=0;for(let e=0;e<t.length;e++){let a=(e+1)%t.length,[o,s]=t[e],[c,l]=t[a];s<=r?l>r&&(c-o)*(r-s)-(n-o)*(l-s)>0&&i++:l<=r&&(c-o)*(r-s)-(n-o)*(l-s)<0&&i--}return i!==0};function Ve(e){return He(e)?e:[...e,e[0]]}function He(e){return se(e[0],e[e.length-1])}function Ue(e,t){return ba([e,t])}var We=([e,t],[n,r])=>e<=n?t>=n:e>=n?r>=e:!1,Ge=([e,t],[n,r])=>{let i=Math.max(e,n),a=Math.min(t,r);return i<=a?ba([i,a]):null},Ke=(e,[t,n])=>e>=t&&e<=n;function qe(e,t){return[e,t]}function Je([e,t,n],r){let i=(e,t,n)=>(e[0]-n[0])*(t[1]-n[1])-(t[0]-n[0])*(e[1]-n[1]),a=i(r,e,t),o=i(r,t,n),s=i(r,n,e);return!((a<0||o<0||s<0)&&(a>0||o>0||s>0))}var Ye=Object.create,Xe=Object.defineProperty,Ze=Object.getOwnPropertyDescriptor,Qe=Object.getOwnPropertyNames,$e=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty,tt=(e,t)=>()=>(e&&(t=e(e=0)),t),nt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Qe(t))!et.call(e,i)&&i!==n&&Xe(e,i,{get:()=>t[i],enumerable:!(r=Ze(t,i))||r.enumerable});return e},it=(e,t,n)=>(n=e==null?{}:Ye($e(e)),rt(t||!e||!e.__esModule?Xe(n,`default`,{value:e,enumerable:!0}):n,e)),at,ot=tt(()=>{at={PROD:!0}}),st=nt((e,t)=>{ot(),(function(n,r){typeof define==`function`&&define.amd?define([],r):typeof e==`object`?t.exports=r():(n.PromisePool=r(),n.promisePool=n.PromisePool)})(e,function(){var e=function(){this._listeners={}};e.prototype.addEventListener=function(e,t){this._listeners[e]=this._listeners[e]||[],this._listeners[e].indexOf(t)<0&&this._listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){if(this._listeners[e]){var n=this._listeners[e].indexOf(t);n>=0&&this._listeners[e].splice(n,1)}},e.prototype.dispatchEvent=function(e){if(this._listeners[e.type]&&this._listeners[e.type].length)for(var t=this._listeners[e.type].slice(),n=0,r=t.length;n<r;++n)t[n].call(this,e)};var t=function(e){return typeof e.constructor==`function`&&e.constructor.name===`GeneratorFunction`},n=function(e){return{next:function(){var t=e();return t?{value:t}:{done:!0}}}},r=function(e){var t=!1;return{next:function(){return t?{done:!0}:(t=!0,{value:e})}}},i=function(e,i){var a=typeof e;if(a===`object`){if(typeof e.next==`function`)return e;if(typeof e.then==`function`)return r(e)}return a===`function`?t(e)?e():n(e):r(i.resolve(e))},a=function(e,t,n){this.target=e,this.type=t,this.data=n},o=function(t,n,r){if(e.call(this),typeof n!=`number`||Math.floor(n)!==n||n<1)throw Error(`Invalid concurrency`);this._concurrency=n,this._options=r||{},this._options.promise=this._options.promise||Promise,this._iterator=i(t,this._options.promise),this._done=!1,this._size=0,this._promise=null,this._callbacks=null};return o.prototype=new e,o.prototype.constructor=o,o.prototype.concurrency=function(e){return typeof e<`u`&&(this._concurrency=e,this.active()&&this._proceed()),this._concurrency},o.prototype.size=function(){return this._size},o.prototype.active=function(){return!!this._promise},o.prototype.promise=function(){return this._promise},o.prototype.start=function(){var e=this,t=this._options.promise;return this._promise=new t(function(t,n){e._callbacks={reject:n,resolve:t},e._proceed()}),this._promise},o.prototype._fireEvent=function(e,t){this.dispatchEvent(new a(this,e,t))},o.prototype._settle=function(e){e?this._callbacks.reject(e):this._callbacks.resolve(),this._promise=null,this._callbacks=null},o.prototype._onPooledPromiseFulfilled=function(e,t){this._size--,this.active()&&(this._fireEvent(`fulfilled`,{promise:e,result:t}),this._proceed())},o.prototype._onPooledPromiseRejected=function(e,t){this._size--,this.active()&&(this._fireEvent(`rejected`,{promise:e,error:t}),this._settle(t||Error(`Unknown error`)))},o.prototype._trackPromise=function(e){var t=this;e.then(function(n){t._onPooledPromiseFulfilled(e,n)},function(n){t._onPooledPromiseRejected(e,n)}).catch(function(e){t._settle(Error(`Promise processing failed: `+e))})},o.prototype._proceed=function(){if(!this._done){for(var e={done:!1};this._size<this._concurrency&&!(e=this._iterator.next()).done;)this._size++,this._trackPromise(e.value);this._done=e===null||!!e.done}this._done&&this._size===0&&this._settle()},o.PromisePoolEvent=a,o.PromisePool=o,o})}),ct=nt(e=>{ot(),Object.defineProperty(e,`__esModule`,{value:!0}),e.sanitizeUrl=void 0;var t=/^([^\w]*)(javascript|data|vbscript)/im,n=/&#(\w+)(^\w|;)?/g,r=/&(newline|tab);/gi,i=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,a=/^.+(:|&colon;)/gim,o=[`.`,`/`];function s(e){return o.indexOf(e[0])>-1}function c(e){return e.replace(n,function(e,t){return String.fromCharCode(t)})}function l(e){var n=c(e||``).replace(r,``).replace(i,``).trim();if(!n)return`about:blank`;if(s(n))return n;var o=n.match(a);if(!o)return n;var l=o[0];return t.test(l)?`about:blank`:n}e.sanitizeUrl=l});ot(),ot();var lt=class{constructor(e){this.scoreFunction=e}content=[];sinkDown(e){let t=this.content[e],n=this.scoreFunction(t);for(;e>0;){let t=(e+1>>1)-1,r=this.content[t];if(n<this.scoreFunction(r))this.content[e]=r,e=t;else break}this.content[e]=t}bubbleUp(e){let t=this.content.length,n=this.content[e],r=this.scoreFunction(n);for(;;){let n=(e+1<<1)-1,i=n+1,a=e,o=r;if(n<t){let e=this.scoreFunction(this.content[n]);e<o&&(a=n,o=e)}if(i<t&&this.scoreFunction(this.content[i])<o&&(a=i),a===e)break;this.content[e]=this.content[a],e=a}this.content[e]=n}push(e){this.content.push(e),this.sinkDown(this.content.length-1)}pop(){if(this.content.length===0)return null;let e=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),e}remove(e){if(this.content.length===0)return;let t=this.content.indexOf(e),n=this.content.pop();t<this.content.length&&(this.content[t]=n,this.scoreFunction(n)<this.scoreFunction(e)?this.sinkDown(t):this.bubbleUp(t))}size(){return this.content.length}rescoreElement(e){this.sinkDown(this.content.indexOf(e))}};ot(),ot(),ot();function ut(e){"@babel/helpers - typeof";return ut=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ut(e)}var dt=/^\s+/,ft=/\s+$/;function F(e,t){if(e||=``,t||={},e instanceof F)return e;if(!(this instanceof F))return new F(e,t);var n=pt(e);this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=n.ok}F.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},getLuminance:function(){var e=this.toRgb(),t,n,r,i,a,o;return t=e.r/255,n=e.g/255,r=e.b/255,i=t<=.03928?t/12.92:((t+.055)/1.055)**2.4,a=n<=.03928?n/12.92:((n+.055)/1.055)**2.4,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,.2126*i+.7152*a+.0722*o},setAlpha:function(e){return this._a=Lt(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=_t(this._r,this._g,this._b);return{h:e.h*360,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=_t(this._r,this._g,this._b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.v*100);return this._a==1?`hsv(`+t+`, `+n+`%, `+r+`%)`:`hsva(`+t+`, `+n+`%, `+r+`%, `+this._roundA+`)`},toHsl:function(){var e=ht(this._r,this._g,this._b);return{h:e.h*360,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=ht(this._r,this._g,this._b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.l*100);return this._a==1?`hsl(`+t+`, `+n+`%, `+r+`%)`:`hsla(`+t+`, `+n+`%, `+r+`%, `+this._roundA+`)`},toHex:function(e){return yt(this._r,this._g,this._b,e)},toHexString:function(e){return`#`+this.toHex(e)},toHex8:function(e){return bt(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return`#`+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?`rgb(`+Math.round(this._r)+`, `+Math.round(this._g)+`, `+Math.round(this._b)+`)`:`rgba(`+Math.round(this._r)+`, `+Math.round(this._g)+`, `+Math.round(this._b)+`, `+this._roundA+`)`},toPercentageRgb:function(){return{r:Math.round(Rt(this._r,255)*100)+`%`,g:Math.round(Rt(this._g,255)*100)+`%`,b:Math.round(Rt(this._b,255)*100)+`%`,a:this._a}},toPercentageRgbString:function(){return this._a==1?`rgb(`+Math.round(Rt(this._r,255)*100)+`%, `+Math.round(Rt(this._g,255)*100)+`%, `+Math.round(Rt(this._b,255)*100)+`%)`:`rgba(`+Math.round(Rt(this._r,255)*100)+`%, `+Math.round(Rt(this._g,255)*100)+`%, `+Math.round(Rt(this._b,255)*100)+`%, `+this._roundA+`)`},toName:function(){return this._a===0?`transparent`:this._a<1?!1:Ft[yt(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var t=`#`+xt(this._r,this._g,this._b,this._a),n=t,r=this._gradientType?`GradientType = 1, `:``;if(e){var i=F(e);n=`#`+xt(i._r,i._g,i._b,i._a)}return`progid:DXImageTransform.Microsoft.gradient(`+r+`startColorstr=`+t+`,endColorstr=`+n+`)`},toString:function(e){var t=!!e;e||=this._format;var n=!1,r=this._a<1&&this._a>=0;return!t&&r&&(e===`hex`||e===`hex6`||e===`hex3`||e===`hex4`||e===`hex8`||e===`name`)?e===`name`&&this._a===0?this.toName():this.toRgbString():(e===`rgb`&&(n=this.toRgbString()),e===`prgb`&&(n=this.toPercentageRgbString()),(e===`hex`||e===`hex6`)&&(n=this.toHexString()),e===`hex3`&&(n=this.toHexString(!0)),e===`hex4`&&(n=this.toHex8String(!0)),e===`hex8`&&(n=this.toHex8String()),e===`name`&&(n=this.toName()),e===`hsl`&&(n=this.toHslString()),e===`hsv`&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return F(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(Tt,arguments)},brighten:function(){return this._applyModification(Et,arguments)},darken:function(){return this._applyModification(Dt,arguments)},desaturate:function(){return this._applyModification(St,arguments)},saturate:function(){return this._applyModification(Ct,arguments)},greyscale:function(){return this._applyModification(wt,arguments)},spin:function(){return this._applyModification(Ot,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(Mt,arguments)},complement:function(){return this._applyCombination(kt,arguments)},monochromatic:function(){return this._applyCombination(Nt,arguments)},splitcomplement:function(){return this._applyCombination(jt,arguments)},triad:function(){return this._applyCombination(At,[3])},tetrad:function(){return this._applyCombination(At,[4])}},F.fromRatio=function(e,t){if(ut(e)==`object`){var n={};for(var r in e)e.hasOwnProperty(r)&&(r===`a`?n[r]=e[r]:n[r]=Wt(e[r]));e=n}return F(e,t)};function pt(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,a=null,o=!1,s=!1;return typeof e==`string`&&(e=Yt(e)),ut(e)==`object`&&(Jt(e.r)&&Jt(e.g)&&Jt(e.b)?(t=mt(e.r,e.g,e.b),o=!0,s=String(e.r).substr(-1)===`%`?`prgb`:`rgb`):Jt(e.h)&&Jt(e.s)&&Jt(e.v)?(r=Wt(e.s),i=Wt(e.v),t=vt(e.h,r,i),o=!0,s=`hsv`):Jt(e.h)&&Jt(e.s)&&Jt(e.l)&&(r=Wt(e.s),a=Wt(e.l),t=gt(e.h,r,a),o=!0,s=`hsl`),e.hasOwnProperty(`a`)&&(n=e.a)),n=Lt(n),{ok:o,format:e.format||s,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}function mt(e,t,n){return{r:Rt(e,255)*255,g:Rt(t,255)*255,b:Rt(n,255)*255}}function ht(e,t,n){e=Rt(e,255),t=Rt(t,255),n=Rt(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),a,o,s=(r+i)/2;if(r==i)a=o=0;else{var c=r-i;switch(o=s>.5?c/(2-r-i):c/(r+i),r){case e:a=(t-n)/c+(t<n?6:0);break;case t:a=(n-e)/c+2;break;case n:a=(e-t)/c+4;break}a/=6}return{h:a,s:o,l:s}}function gt(e,t,n){var r,i,a;e=Rt(e,360),t=Rt(t,100),n=Rt(n,100);function o(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(t===0)r=i=a=n;else{var s=n<.5?n*(1+t):n+t-n*t,c=2*n-s;r=o(c,s,e+1/3),i=o(c,s,e),a=o(c,s,e-1/3)}return{r:r*255,g:i*255,b:a*255}}function _t(e,t,n){e=Rt(e,255),t=Rt(t,255),n=Rt(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),a,o,s=r,c=r-i;if(o=r===0?0:c/r,r==i)a=0;else{switch(r){case e:a=(t-n)/c+(t<n?6:0);break;case t:a=(n-e)/c+2;break;case n:a=(e-t)/c+4;break}a/=6}return{h:a,s:o,v:s}}function vt(e,t,n){e=Rt(e,360)*6,t=Rt(t,100),n=Rt(n,100);var r=Math.floor(e),i=e-r,a=n*(1-t),o=n*(1-i*t),s=n*(1-(1-i)*t),c=r%6,l=[n,o,a,a,s,n][c],u=[s,n,n,o,a,a][c],d=[a,a,s,n,n,o][c];return{r:l*255,g:u*255,b:d*255}}function yt(e,t,n,r){var i=[Ut(Math.round(e).toString(16)),Ut(Math.round(t).toString(16)),Ut(Math.round(n).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(``)}function bt(e,t,n,r,i){var a=[Ut(Math.round(e).toString(16)),Ut(Math.round(t).toString(16)),Ut(Math.round(n).toString(16)),Ut(Gt(r))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(``)}function xt(e,t,n,r){return[Ut(Gt(r)),Ut(Math.round(e).toString(16)),Ut(Math.round(t).toString(16)),Ut(Math.round(n).toString(16))].join(``)}F.equals=function(e,t){return!e||!t?!1:F(e).toRgbString()==F(t).toRgbString()},F.random=function(){return F.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function St(e,t){t=t===0?0:t||10;var n=F(e).toHsl();return n.s-=t/100,n.s=zt(n.s),F(n)}function Ct(e,t){t=t===0?0:t||10;var n=F(e).toHsl();return n.s+=t/100,n.s=zt(n.s),F(n)}function wt(e){return F(e).desaturate(100)}function Tt(e,t){t=t===0?0:t||10;var n=F(e).toHsl();return n.l+=t/100,n.l=zt(n.l),F(n)}function Et(e,t){t=t===0?0:t||10;var n=F(e).toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),F(n)}function Dt(e,t){t=t===0?0:t||10;var n=F(e).toHsl();return n.l-=t/100,n.l=zt(n.l),F(n)}function Ot(e,t){var n=F(e).toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,F(n)}function kt(e){var t=F(e).toHsl();return t.h=(t.h+180)%360,F(t)}function At(e,t){if(isNaN(t)||t<=0)throw Error(`Argument to polyad must be a positive number`);for(var n=F(e).toHsl(),r=[F(e)],i=360/t,a=1;a<t;a++)r.push(F({h:(n.h+a*i)%360,s:n.s,l:n.l}));return r}function jt(e){var t=F(e).toHsl(),n=t.h;return[F(e),F({h:(n+72)%360,s:t.s,l:t.l}),F({h:(n+216)%360,s:t.s,l:t.l})]}function Mt(e,t,n){t||=6,n||=30;var r=F(e).toHsl(),i=360/n,a=[F(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(F(r));return a}function Nt(e,t){t||=6;for(var n=F(e).toHsv(),r=n.h,i=n.s,a=n.v,o=[],s=1/t;t--;)o.push(F({h:r,s:i,v:a})),a=(a+s)%1;return o}F.mix=function(e,t,n){n=n===0?0:n||50;var r=F(e).toRgb(),i=F(t).toRgb(),a=n/100;return F({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},F.readability=function(e,t){var n=F(e),r=F(t);return(Math.max(n.getLuminance(),r.getLuminance())+.05)/(Math.min(n.getLuminance(),r.getLuminance())+.05)},F.isReadable=function(e,t,n){var r=F.readability(e,t),i,a;switch(a=!1,i=Xt(n),i.level+i.size){case`AAsmall`:case`AAAlarge`:a=r>=4.5;break;case`AAlarge`:a=r>=3;break;case`AAAsmall`:a=r>=7;break}return a},F.mostReadable=function(e,t,n){var r=null,i=0,a,o,s,c;n||={},o=n.includeFallbackColors,s=n.level,c=n.size;for(var l=0;l<t.length;l++)a=F.readability(e,t[l]),a>i&&(i=a,r=F(t[l]));return F.isReadable(e,r,{level:s,size:c})||!o?r:(n.includeFallbackColors=!1,F.mostReadable(e,[`#fff`,`#000`],n))};var Pt=F.names={aliceblue:`f0f8ff`,antiquewhite:`faebd7`,aqua:`0ff`,aquamarine:`7fffd4`,azure:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`000`,blanchedalmond:`ffebcd`,blue:`00f`,blueviolet:`8a2be2`,brown:`a52a2a`,burlywood:`deb887`,burntsienna:`ea7e5d`,cadetblue:`5f9ea0`,chartreuse:`7fff00`,chocolate:`d2691e`,coral:`ff7f50`,cornflowerblue:`6495ed`,cornsilk:`fff8dc`,crimson:`dc143c`,cyan:`0ff`,darkblue:`00008b`,darkcyan:`008b8b`,darkgoldenrod:`b8860b`,darkgray:`a9a9a9`,darkgreen:`006400`,darkgrey:`a9a9a9`,darkkhaki:`bdb76b`,darkmagenta:`8b008b`,darkolivegreen:`556b2f`,darkorange:`ff8c00`,darkorchid:`9932cc`,darkred:`8b0000`,darksalmon:`e9967a`,darkseagreen:`8fbc8f`,darkslateblue:`483d8b`,darkslategray:`2f4f4f`,darkslategrey:`2f4f4f`,darkturquoise:`00ced1`,darkviolet:`9400d3`,deeppink:`ff1493`,deepskyblue:`00bfff`,dimgray:`696969`,dimgrey:`696969`,dodgerblue:`1e90ff`,firebrick:`b22222`,floralwhite:`fffaf0`,forestgreen:`228b22`,fuchsia:`f0f`,gainsboro:`dcdcdc`,ghostwhite:`f8f8ff`,gold:`ffd700`,goldenrod:`daa520`,gray:`808080`,green:`008000`,greenyellow:`adff2f`,grey:`808080`,honeydew:`f0fff0`,hotpink:`ff69b4`,indianred:`cd5c5c`,indigo:`4b0082`,ivory:`fffff0`,khaki:`f0e68c`,lavender:`e6e6fa`,lavenderblush:`fff0f5`,lawngreen:`7cfc00`,lemonchiffon:`fffacd`,lightblue:`add8e6`,lightcoral:`f08080`,lightcyan:`e0ffff`,lightgoldenrodyellow:`fafad2`,lightgray:`d3d3d3`,lightgreen:`90ee90`,lightgrey:`d3d3d3`,lightpink:`ffb6c1`,lightsalmon:`ffa07a`,lightseagreen:`20b2aa`,lightskyblue:`87cefa`,lightslategray:`789`,lightslategrey:`789`,lightsteelblue:`b0c4de`,lightyellow:`ffffe0`,lime:`0f0`,limegreen:`32cd32`,linen:`faf0e6`,magenta:`f0f`,maroon:`800000`,mediumaquamarine:`66cdaa`,mediumblue:`0000cd`,mediumorchid:`ba55d3`,mediumpurple:`9370db`,mediumseagreen:`3cb371`,mediumslateblue:`7b68ee`,mediumspringgreen:`00fa9a`,mediumturquoise:`48d1cc`,mediumvioletred:`c71585`,midnightblue:`191970`,mintcream:`f5fffa`,mistyrose:`ffe4e1`,moccasin:`ffe4b5`,navajowhite:`ffdead`,navy:`000080`,oldlace:`fdf5e6`,olive:`808000`,olivedrab:`6b8e23`,orange:`ffa500`,orangered:`ff4500`,orchid:`da70d6`,palegoldenrod:`eee8aa`,palegreen:`98fb98`,paleturquoise:`afeeee`,palevioletred:`db7093`,papayawhip:`ffefd5`,peachpuff:`ffdab9`,peru:`cd853f`,pink:`ffc0cb`,plum:`dda0dd`,powderblue:`b0e0e6`,purple:`800080`,rebeccapurple:`663399`,red:`f00`,rosybrown:`bc8f8f`,royalblue:`4169e1`,saddlebrown:`8b4513`,salmon:`fa8072`,sandybrown:`f4a460`,seagreen:`2e8b57`,seashell:`fff5ee`,sienna:`a0522d`,silver:`c0c0c0`,skyblue:`87ceeb`,slateblue:`6a5acd`,slategray:`708090`,slategrey:`708090`,snow:`fffafa`,springgreen:`00ff7f`,steelblue:`4682b4`,tan:`d2b48c`,teal:`008080`,thistle:`d8bfd8`,tomato:`ff6347`,turquoise:`40e0d0`,violet:`ee82ee`,wheat:`f5deb3`,white:`fff`,whitesmoke:`f5f5f5`,yellow:`ff0`,yellowgreen:`9acd32`},Ft=F.hexNames=It(Pt);function It(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function Lt(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Rt(e,t){Vt(e)&&(e=`100%`);var n=Ht(e);return e=Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function zt(e){return Math.min(1,Math.max(0,e))}function Bt(e){return parseInt(e,16)}function Vt(e){return typeof e==`string`&&e.indexOf(`.`)!=-1&&parseFloat(e)===1}function Ht(e){return typeof e==`string`&&e.indexOf(`%`)!=-1}function Ut(e){return e.length==1?`0`+e:``+e}function Wt(e){return e<=1&&(e=e*100+`%`),e}function Gt(e){return Math.round(parseFloat(e)*255).toString(16)}function Kt(e){return Bt(e)/255}var qt=function(){var e=`(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)`,t=`[\\s|\\(]+(`+e+`)[,|\\s]+(`+e+`)[,|\\s]+(`+e+`)\\s*\\)?`,n=`[\\s|\\(]+(`+e+`)[,|\\s]+(`+e+`)[,|\\s]+(`+e+`)[,|\\s]+(`+e+`)\\s*\\)?`;return{CSS_UNIT:new RegExp(e),rgb:RegExp(`rgb`+t),rgba:RegExp(`rgba`+n),hsl:RegExp(`hsl`+t),hsla:RegExp(`hsla`+n),hsv:RegExp(`hsv`+t),hsva:RegExp(`hsva`+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Jt(e){return!!qt.CSS_UNIT.exec(e)}function Yt(e){e=e.replace(dt,``).replace(ft,``).toLowerCase();var t=!1;if(Pt[e])e=Pt[e],t=!0;else if(e==`transparent`)return{r:0,g:0,b:0,a:0,format:`name`};var n;return(n=qt.rgb.exec(e))?{r:n[1],g:n[2],b:n[3]}:(n=qt.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=qt.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=qt.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=qt.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=qt.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=qt.hex8.exec(e))?{r:Bt(n[1]),g:Bt(n[2]),b:Bt(n[3]),a:Kt(n[4]),format:t?`name`:`hex8`}:(n=qt.hex6.exec(e))?{r:Bt(n[1]),g:Bt(n[2]),b:Bt(n[3]),format:t?`name`:`hex`}:(n=qt.hex4.exec(e))?{r:Bt(n[1]+``+n[1]),g:Bt(n[2]+``+n[2]),b:Bt(n[3]+``+n[3]),a:Kt(n[4]+``+n[4]),format:t?`name`:`hex8`}:(n=qt.hex3.exec(e))?{r:Bt(n[1]+``+n[1]),g:Bt(n[2]+``+n[2]),b:Bt(n[3]+``+n[3]),format:t?`name`:`hex`}:!1}function Xt(e){var t,n;return e||={level:`AA`,size:`small`},t=(e.level||`AA`).toUpperCase(),n=(e.size||`small`).toLowerCase(),t!==`AA`&&t!==`AAA`&&(t=`AA`),n!==`small`&&n!==`large`&&(n=`small`),{level:t,size:n}}var Zt=typeof window<`u`?new Map:null;function Qt(e,t,n,r){let i=e/255,a=t/255,o=n/255,s=y(r),c=Math.cos(s),l=Math.sin(s),u=[.213+c*.787-l*.213,.715-c*.715-l*.715,.072-c*.072+l*.928,.213-c*.213+l*.143,.715+c*.285+l*.14,.072-c*.072-l*.283,.213-c*.213-l*.787,.715-c*.715+l*.715,.072+c*.928+l*.072],d=i*u[0]+a*u[1]+o*u[2],f=i*u[3]+a*u[4]+o*u[5],p=i*u[6]+a*u[7]+o*u[8];return{r:Math.round(Math.max(0,Math.min(1,d))*255),g:Math.round(Math.max(0,Math.min(1,f))*255),b:Math.round(Math.max(0,Math.min(1,p))*255)}}var $t=(e,t,n,r)=>{let i=f(r,0,100)/100,a=e=>{let t=e*(1-i)+(255-e)*i;return Math.round(f(t,0,255))};return{r:a(e),g:a(t),b:a(n)}},en=e=>{let t=Zt?.get(e);if(t)return t;let n=F(e),r=n.getAlpha(),i=n.toRgb(),a=$t(i.r,i.g,i.b,93),o=Qt(a.r,a.g,a.b,180),s=un(o.r,o.g,o.b,r);return Zt&&Zt.set(e,s),s},tn=(e,t)=>t.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{}),I={transparent:`transparent`,black:`#1e1e1e`,white:`#ffffff`,gray:[`#f8f9fa`,`#e9ecef`,`#ced4da`,`#868e96`,`#343a40`],red:[`#fff5f5`,`#ffc9c9`,`#ff8787`,`#fa5252`,`#e03131`],pink:[`#fff0f6`,`#fcc2d7`,`#f783ac`,`#e64980`,`#c2255c`],grape:[`#f8f0fc`,`#eebefa`,`#da77f2`,`#be4bdb`,`#9c36b5`],violet:[`#f3f0ff`,`#d0bfff`,`#9775fa`,`#7950f2`,`#6741d9`],blue:[`#e7f5ff`,`#a5d8ff`,`#4dabf7`,`#228be6`,`#1971c2`],cyan:[`#e3fafc`,`#99e9f2`,`#3bc9db`,`#15aabf`,`#0c8599`],teal:[`#e6fcf5`,`#96f2d7`,`#38d9a9`,`#12b886`,`#099268`],green:[`#ebfbee`,`#b2f2bb`,`#69db7c`,`#40c057`,`#2f9e44`],yellow:[`#fff9db`,`#ffec99`,`#ffd43b`,`#fab005`,`#f08c00`],orange:[`#fff4e6`,`#ffd8a8`,`#ffa94d`,`#fd7e14`,`#e8590c`],bronze:[`#f8f1ee`,`#eaddd7`,`#d2bab0`,`#a18072`,`#846358`]},nn=tn(I,[`cyan`,`blue`,`violet`,`grape`,`pink`,`green`,`teal`,`yellow`,`orange`,`red`]),rn=[I.black,I.red[4],I.green[4],I.blue[4],I.yellow[4]],an=[I.transparent,I.red[1],I.green[1],I.blue[1],I.yellow[1]],on=[I.white,`#f8f9fa`,`#f5faff`,`#fffce8`,`#fdf8f6`],sn={transparent:I.transparent,white:I.white,gray:I.gray,black:I.black,bronze:I.bronze,...nn},cn={transparent:I.transparent,white:I.white,gray:I.gray,black:I.black,bronze:I.bronze,...nn},ln=e=>[I.cyan[e],I.blue[e],I.violet[e],I.grape[e],I.pink[e],I.green[e],I.teal[e],I.yellow[e],I.orange[e],I.red[e]],un=(e,t,n,r)=>{let i=`#${(16777216+(e<<16)+(t<<8)+n).toString(16).slice(1)}`;return r!==void 0&&r<1?`${i}${Math.round(r*255).toString(16).padStart(2,`0`)}`:i},dn=e=>F(e).getAlpha()===0,fn=(e,t,n)=>(e*299+t*587+n*114)/1e3,pn=(e,t=160)=>{if(!e)return!0;if(dn(e))return!1;let n=F(e);if(!n.isValid())return!0;let{r,g:i,b:a}=n.toRgb();return fn(r,i,a)<t},mn=e=>{if(e=e.trim(),dn(e))return e;let t=F(e);return t.isValid()?[`hex`,`hex8`].includes(t.getFormat())&&!e.startsWith(`#`)?`#${e}`:e:null};ot();var hn=typeof window<`u`&&`ResizeObserver`in window,gn=`Excalidraw`,_n=Math.PI/12,vn={TEXT:`text`,CROSSHAIR:`crosshair`,GRABBING:`grabbing`,GRAB:`grab`,POINTER:`pointer`,MOVE:`move`,AUTO:``},yn={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},bn={enabled:`all`,disabled:`none`,inheritFromUI:`var(--ui-pointerEvents)`},xn=(e=>(e.COPY=`copy`,e.PASTE=`paste`,e.CUT=`cut`,e.KEYDOWN=`keydown`,e.KEYUP=`keyup`,e.MOUSE_MOVE=`mousemove`,e.RESIZE=`resize`,e.UNLOAD=`unload`,e.FOCUS=`focus`,e.BLUR=`blur`,e.DRAG_OVER=`dragover`,e.DROP=`drop`,e.GESTURE_END=`gestureend`,e.BEFORE_UNLOAD=`beforeunload`,e.GESTURE_START=`gesturestart`,e.GESTURE_CHANGE=`gesturechange`,e.POINTER_MOVE=`pointermove`,e.POINTER_DOWN=`pointerdown`,e.POINTER_UP=`pointerup`,e.STATE_CHANGE=`statechange`,e.WHEEL=`wheel`,e.TOUCH_START=`touchstart`,e.TOUCH_END=`touchend`,e.HASHCHANGE=`hashchange`,e.VISIBILITY_CHANGE=`visibilitychange`,e.SCROLL=`scroll`,e.EXCALIDRAW_LINK=`excalidraw-link`,e.MENU_ITEM_SELECT=`menu.itemSelect`,e.MESSAGE=`message`,e.FULLSCREENCHANGE=`fullscreenchange`,e))(xn||{}),Sn={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},Cn={TEST:`test`,DEVELOPMENT:`development`,PRODUCTION:`production`},wn={SIDEBAR:`sidebar`,SHAPE_ACTIONS_MENU:`App-menu__left`,ZOOM_ACTIONS:`zoom-actions`,SEARCH_MENU_INPUT_WRAPPER:`layer-ui__search-inputWrapper`,CONVERT_ELEMENT_TYPE_POPUP:`ConvertElementTypePopup`,SHAPE_ACTIONS_THEME_SCOPE:`shape-actions-theme-scope`,FRAME_NAME:`frame-name`,DROPDOWN_MENU_EVENT_WRAPPER:`dropdown-menu-event-wrapper`},Tn={sm:16,md:20,lg:28,xl:36},En=`Xiaolai`,Dn=`Segoe UI Emoji`,On={Virgil:1,Helvetica:2,Cascadia:3,Excalifont:5,Nunito:6,"Lilita One":7,"Comic Shanns":8,"Liberation Sans":9,Assistant:10},kn=`sans-serif`,An=`monospace`,jn={[kn]:998,[An]:999},Mn={[En]:100,...jn,[Dn]:1e3};function Nn(e){switch(e){case On.Cascadia:case On[`Comic Shanns`]:return An;default:return kn}}var Pn=e=>{let t=Nn(e);switch(e){case On.Excalifont:return[En,t,Dn];default:return[t,Dn]}},Fn={LIGHT:`light`,DARK:`dark`},In={strokeColor:`#bbb`,strokeWidth:2,strokeStyle:`solid`,fillStyle:`solid`,roughness:0,roundness:null,backgroundColor:`transparent`,radius:8,nameOffsetY:3,nameColorLightTheme:`#999999`,nameColorDarkTheme:`#7a7a7a`,nameFontSize:14,nameLineHeight:1.25},Ln=On.Excalifont,Rn=`left`,zn=7.99999,Bn=`#ffffff`,Vn=`#1e1e1e`,Hn=`#a2f1a6`,Un={svg:`image/svg+xml`,png:`image/png`,jpg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,bmp:`image/bmp`,ico:`image/x-icon`,avif:`image/avif`,jfif:`image/jfif`},Wn={text:`text/plain`,html:`text/html`,json:`application/json`,excalidraw:`application/vnd.excalidraw+json`,excalidrawClipboard:`application/vnd.excalidraw.clipboard+json`,excalidrawlib:`application/vnd.excalidrawlib+json`,excalidrawlibIds:`application/vnd.excalidrawlib.ids+json`,"excalidraw.svg":`image/svg+xml`,"excalidraw.png":`image/png`,binary:`application/octet-stream`,...Un},Gn=[Wn.text,Wn.html,...Object.values(Un)],Kn={png:`png`,svg:`svg`,clipboard:`clipboard`},qn={excalidraw:`excalidraw`,excalidrawClipboard:`excalidraw/clipboard`,excalidrawLibrary:`excalidrawlib`,excalidrawClipboardWithAPI:`excalidraw-api/clipboard`},Jn=()=>window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,Yn=.1,Xn=.1,Zn={addLibrary:`addLibrary`},Qn={addLibrary:`addLibrary`},$n={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},er=[1,2,3],tr=1440,nr=4*1024*1024,L=`http://www.w3.org/2000/svg`,rr=`<?xml version="1.0" standalone="no"?>
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ `,ir={excalidraw:2,excalidrawLibrary:2},ar=.7,or={TOP:`top`,MIDDLE:`middle`,BOTTOM:`bottom`},sr={LEFT:`left`,CENTER:`center`,RIGHT:`right`},cr=.25,lr={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},ur={architect:0,artist:1,cartoonist:2},dr={thin:1,bold:2,extraBold:4},fr={strokeColor:I.black,backgroundColor:I.transparent,fillStyle:`solid`,strokeWidth:2,strokeStyle:`solid`,roughness:ur.artist,opacity:100,locked:!1},pr=`library`,mr=`search`,hr={name:`default`,defaultTab:pr},gr=new Set([`iframe`,`embeddable`,`image`]),_r={selection:`selection`,lasso:`lasso`,rectangle:`rectangle`,diamond:`diamond`,ellipse:`ellipse`,arrow:`arrow`,line:`line`,freedraw:`freedraw`,text:`text`,image:`image`,eraser:`eraser`,hand:`hand`,frame:`frame`,magicframe:`magicframe`,embeddable:`embeddable`,laser:`laser`},vr={OAI_API_KEY:`excalidraw-oai-api-key`,MERMAID_TO_EXCALIDRAW:`mermaid-to-excalidraw`,PUBLISH_LIBRARY:`publish-library-data`},yr=`Untitled`,br={generalStats:1,elementProperties:2},xr={sharp:`sharp`,round:`round`,elbow:`elbow`},Sr=.3,Cr=`element`,wr=Symbol.for(`__test__originalId__`),Tr=(e=>(e.ACTIVE=`active`,e.AWAY=`away`,e.IDLE=`idle`,e))(Tr||{}),Er={background:`var(--mobile-action-button-bg)`};ot();var Dr={[On.Excalifont]:{metrics:{unitsPerEm:1e3,ascender:886,descender:-374,lineHeight:1.25}},[On.Nunito]:{metrics:{unitsPerEm:1e3,ascender:1011,descender:-353,lineHeight:1.25}},[On[`Lilita One`]]:{metrics:{unitsPerEm:1e3,ascender:923,descender:-220,lineHeight:1.15}},[On[`Comic Shanns`]]:{metrics:{unitsPerEm:1e3,ascender:750,descender:-250,lineHeight:1.25}},[On.Virgil]:{metrics:{unitsPerEm:1e3,ascender:886,descender:-374,lineHeight:1.25},deprecated:!0},[On.Helvetica]:{metrics:{unitsPerEm:2048,ascender:1577,descender:-471,lineHeight:1.15},deprecated:!0,local:!0},[On.Cascadia]:{metrics:{unitsPerEm:2048,ascender:1900,descender:-480,lineHeight:1.2},deprecated:!0},[On[`Liberation Sans`]]:{metrics:{unitsPerEm:2048,ascender:1854,descender:-434,lineHeight:1.15},private:!0},[On.Assistant]:{metrics:{unitsPerEm:2048,ascender:1021,descender:-287,lineHeight:1.25},private:!0},[Mn.Xiaolai]:{metrics:{unitsPerEm:1e3,ascender:880,descender:-144,lineHeight:1.25},fallback:!0},[Mn[`Segoe UI Emoji`]]:{metrics:{unitsPerEm:1e3,ascender:886,descender:-374,lineHeight:1.25},local:!0,fallback:!0}},Or={LATIN:`U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD`,LATIN_EXT:`U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF`,CYRILIC_EXT:`U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F`,CYRILIC:`U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116`,VIETNAMESE:`U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB`},kr=`local:`,Ar=(e,t,n)=>{let{unitsPerEm:r,ascender:i,descender:a}=Dr[e]?.metrics||Dr[On.Excalifont].metrics,o=t/r,s=(n-o*i+o*a)/2;return o*i+s},jr=e=>{let{lineHeight:t}=Dr[e]?.metrics||Dr[On.Excalifont].metrics;return t};ot();var Mr=class{jobs=[];running=!1;tick(){if(this.running)return;let e=this.jobs.shift();e?(this.running=!0,e.promise.resolve(xa(e.jobFactory,...e.args).finally(()=>{this.running=!1,this.tick()}))):this.running=!1}push(e,...t){let n=Ui();return this.jobs.push({jobFactory:e,promise:n,args:t}),this.tick(),n}};ot(),ot();var Nr=`excalidraw.desktopUIMode`,Pr=1440,Fr=1229,Ir=/Mac|iPod|iPhone|iPad/.test(navigator.platform),Lr=/^Win/.test(navigator.platform),Rr=/\b(android)\b/i.test(navigator.userAgent),zr=typeof window<`u`&&`netscape`in window&&navigator.userAgent.indexOf(`rv:`)>1&&navigator.userAgent.indexOf(`Gecko`)>1,Br=navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)!==-1,Vr=/iPad|iPhone/i.test(navigator.platform)||navigator.userAgent.includes(`Mac`)&&`ontouchend`in document,Hr=()=>navigator.brave?.isBrave?.name===`isBrave`,Ur=(e,t)=>e<=599||t<500&&e<1e3,Wr=(e,t)=>Math.min(e,t)>=600&&Math.max(e,t)<=1180,Gr=()=>{let e=navigator.userAgent||``,t=navigator.platform||``,n=navigator.userAgentData;if(n){let e=(n.platform||``).toLowerCase(),t=e===`windows`||e===`macos`||e===`linux`||e===`chrome os`;if(n.mobile===!0)return!0;if(n.mobile===!1&&e===`android`)return matchMedia?.(`(hover: none)`).matches&&matchMedia?.(`(pointer: coarse)`).matches;if(t)return!1}if(Vr)return!0;if(Rr){let t=/Mobile/i.test(e);if(t||!t)return matchMedia?.(`(hover: none)`).matches&&matchMedia?.(`(pointer: coarse)`).matches}return/Win|Linux|CrOS|Mac/.test(t)||/Windows NT|X11|CrOS|Macintosh/.test(e),!1},Kr=(e,t)=>Ur(e,t)?`phone`:Wr(e,t)?`tablet`:`desktop`,qr=e=>e.formFactor===`phone`?`mobile`:e.formFactor===`tablet`?`compact`:e.desktopUIMode,Jr=e=>{let t=e??``,n=`unknown`;return Vr?n=`ios`:Rr?n=`android`:t&&(n=`other`),{isMobileDevice:Gr(),platform:n}},Yr=()=>{if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(Nr);if(e===`compact`||e===`full`)return e}catch{}return null},Xr=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(Nr,e)}catch{}},Zr=e=>{if(!(e!==`compact`&&e!==`full`))return Xr(e),e},Qr={EQUAL:`Equal`,MINUS:`Minus`,NUM_ADD:`NumpadAdd`,NUM_SUBTRACT:`NumpadSubtract`,NUM_ZERO:`Numpad0`,BRACKET_RIGHT:`BracketRight`,BRACKET_LEFT:`BracketLeft`,ONE:`Digit1`,TWO:`Digit2`,THREE:`Digit3`,NINE:`Digit9`,QUOTE:`Quote`,ZERO:`Digit0`,SLASH:`Slash`,C:`KeyC`,D:`KeyD`,H:`KeyH`,V:`KeyV`,Z:`KeyZ`,Y:`KeyY`,R:`KeyR`,S:`KeyS`},$r={ARROW_DOWN:`ArrowDown`,ARROW_LEFT:`ArrowLeft`,ARROW_RIGHT:`ArrowRight`,ARROW_UP:`ArrowUp`,PAGE_UP:`PageUp`,PAGE_DOWN:`PageDown`,BACKSPACE:`Backspace`,ALT:`Alt`,CTRL_OR_CMD:Ir?`metaKey`:`ctrlKey`,DELETE:`Delete`,ENTER:`Enter`,ESCAPE:`Escape`,QUESTION_MARK:`?`,SPACE:` `,TAB:`Tab`,CHEVRON_LEFT:`<`,CHEVRON_RIGHT:`>`,PERIOD:`.`,COMMA:`,`,SUBTRACT:`-`,SLASH:`/`,A:`a`,C:`c`,D:`d`,E:`e`,F:`f`,G:`g`,H:`h`,I:`i`,L:`l`,O:`o`,P:`p`,Q:`q`,R:`r`,S:`s`,T:`t`,V:`v`,X:`x`,Y:`y`,Z:`z`,K:`k`,W:`w`,0:`0`,1:`1`,2:`2`,3:`3`,4:`4`,5:`5`,6:`6`,7:`7`,8:`8`,9:`9`},ei=new Map([[$r.Z,Qr.Z],[$r.Y,Qr.Y]]),ti=e=>/^[a-z]$/.test(e.toLowerCase()),ni=(e,t)=>{if(t===e.key.toLowerCase())return!0;let n=ei.get(t);return!!(n&&!ti(e.key)&&e.code===n)},ri=e=>e===$r.ARROW_LEFT||e===$r.ARROW_RIGHT||e===$r.ARROW_DOWN||e===$r.ARROW_UP,ii=e=>e.altKey,ai=e=>e.shiftKey,oi=e=>e.shiftKey;ot();var si=e=>{let t=e.map(e=>e[0]),n=e.map(e=>e[1]);return{width:Math.max(...t)-Math.min(...t),height:Math.max(...n)-Math.min(...n)}},ci=(e,t,n,r)=>{let i=n.map(t=>t[e]),a=Math.max(...i),o=Math.min(...i),s=a-o,c=s===0?1:t/s,l=1/0,u=n.map(t=>{let n=t[e]*c,r=[...t];return r[e]=n,n<l&&(l=n),r});if(!r||u.length===2)return u;let d=o-l;return u.map(t=>ae(t.map((t,n)=>n===e?t+d:t)))},li=(e,t,n)=>n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t];ot();var ui=it(st(),1),di=class{pool;entries={};constructor(e,t){this.pool=new ui.default(e,t)}all(){let e=e=>{if(e.data.result){let[t,n]=e.data.result;this.entries[t]=n}};return this.pool.addEventListener(`fulfilled`,e),this.pool.start().then(()=>(setTimeout(()=>{this.pool.removeEventListener(`fulfilled`,e)}),Object.values(this.entries)))}};ot(),ot(),ot();var fi=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+=`-`:e+=`_`,e),``);ot();var pi=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};ot();var mi=null,hi=()=>{if(mi)return mi;let e=new Date;return`${e.getFullYear()}-${`${e.getMonth()+1}`.padStart(2,`0`)}-${`${e.getDate()}`.padStart(2,`0`)}-${`${e.getHours()}`.padStart(2,`0`)}${`${e.getMinutes()}`.padStart(2,`0`)}`},gi=e=>e.charAt(0).toUpperCase()+e.slice(1),_i=e=>e instanceof HTMLElement&&e.className.includes(`ToolIcon`),vi=e=>e instanceof HTMLElement&&e.dataset.type===`wysiwyg`||e instanceof HTMLBRElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement,yi=e=>vi(e)||e instanceof Element&&!!e.closest(`label, button`),bi=e=>e instanceof HTMLElement&&e.dataset.type===`wysiwyg`||e instanceof HTMLBRElement||e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&(e.type===`text`||e.type===`number`||e.type===`password`||e.type===`search`)||e instanceof HTMLElement&&e.closest(`.cm-editor`)!==null,xi=({fontFamily:e})=>{for(let[t,n]of Object.entries(On))if(n===e)return`${t}${Pn(n).map(e=>`, ${e}`).join(``)}`;return Dn},Si=({fontSize:e,fontFamily:t})=>`${e}px ${xi({fontFamily:t})}`,Ci=async e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},wi=(e,t)=>{let n=0,r=null,i=(...i)=>{r=i,clearTimeout(n),n=window.setTimeout(()=>{r=null,e(...i)},t)};return i.flush=()=>{if(clearTimeout(n),r){let t=r;r=null,e(...t)}},i.cancel=()=>{r=null,clearTimeout(n)},i},Ti=e=>{let t=null,n=null,r=()=>{t=window.requestAnimationFrame(()=>{t=null;let r=n;n=null,r&&e(...r)})},i=(...e)=>{n=e,t===null&&r()};return i.flush=()=>{t!==null&&(cancelAnimationFrame(t),t=null),n&&=(e(...n),null)},i.cancel=()=>{n=null,t!==null&&(cancelAnimationFrame(t),t=null)},i},Ei=e=>1-(1-e)**4,Di=(e,t,n)=>(t-e)*Ei(n)+e,Oi=({fromValues:e,toValues:t,onStep:n,duration:r=250,interpolateValue:i,onStart:a,onEnd:o,onCancel:s})=>{let c=!1,l=0,u;function d(s){if(c)return;u===void 0&&(u=s,a?.());let f=Math.min(s-u,r),p=Ei(f/r),m={};if(Object.keys(e).forEach(n=>{let r=n;m[r]=(t[r]-e[r])*p+e[r]}),n(m),f<r){let a=f/r,o={};Object.keys(e).forEach(n=>{let r=n,s=e[r],c=t[r],l;l=i?i(s,c,a,r):Di(s,c,a),l??=Di(s,c,a),o[r]=l}),n(o),l=window.requestAnimationFrame(d)}else n(t),o?.()}return l=window.requestAnimationFrame(d),()=>{s?.(),c=!0,window.cancelAnimationFrame(l)}},ki=(e,t)=>{if(!e.length||t<1)return[];let n=0,r=0,i=Array(Math.ceil(e.length/t));for(;n<e.length;)i[r++]=e.slice(n,n+=t);return i},Ai=(e,t)=>Math.abs(e-t),ji=e=>e===`selection`||e===`lasso`,Mi=(e,t)=>t.type===`custom`?{...e.activeTool,type:`custom`,customType:t.customType,locked:t.locked??e.activeTool.locked}:{...e.activeTool,lastActiveTool:t.lastActiveToolBeforeEraser===void 0?e.activeTool.lastActiveTool:t.lastActiveToolBeforeEraser,type:t.type,customType:null,locked:t.locked??e.activeTool.locked,fromSelection:t.fromSelection??!1},Ni=({clientX:e,clientY:t},{zoom:n,offsetLeft:r,offsetTop:i,scrollX:a,scrollY:o})=>({x:(e-r)/n.value-a,y:(t-i)/n.value-o}),Pi=({sceneX:e,sceneY:t},{zoom:n,offsetLeft:r,offsetTop:i,scrollX:a,scrollY:o})=>({x:(e+a)*n.value+r,y:(t+o)*n.value+i}),Fi=e=>getComputedStyle(document.documentElement).getPropertyValue(`--${e}`),Ii=RegExp(`^[^A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿Ⰰ-﬜﷾-﹯﻽-￿]*[֑-߿יִ-﷽ﹰ-ﻼ]`),Li=e=>Ii.test(e),Ri=e=>{let[t,n]=e;return{x:t,y:n}},zi=e=>{if(e?.name===`AbortError`){console.warn(e);return}throw e},Bi=(e,t,n=0)=>{n<0&&(n=e.length+n),n=Math.min(e.length,Math.max(n,0));let r=n-1;for(;++r<e.length;)if(t(e[r],r,e))return r;return-1},Vi=(e,t,n=e.length-1)=>{n<0&&(n=e.length+n),n=Math.min(e.length-1,Math.max(n,0));let r=n+1;for(;--r>-1;)if(t(e[r],r,e))return r;return-1},Hi=(e,t)=>{for(let n=0;n<e.length;n++){let r=t(e[n],n);if(r!=null)return r}},Ui=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},Wi=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;let{overflowY:e}=window.getComputedStyle(t);if(t.scrollHeight>t.clientHeight&&(e===`auto`||e===`scroll`||e===`overlay`))return t;t=t.parentElement}return document},Gi=e=>{let t=e.parentElement;for(;t;){if(t.tabIndex>-1){t.focus();return}t=t.parentElement}},Ki=e=>{e.preventDefault(),e.returnValue=``},qi=e=>Array.from(e).map(e=>`0${e.toString(16)}`.slice(-2)).join(``),Ji=()=>ea()?1:Date.now(),R=e=>e instanceof Map?e:e.reduce((e,t)=>(e.set(typeof t==`string`?t:t.id,t),e),new Map),Yi=e=>e.reduce((e,t,n)=>(e.set(t.id,[t,n]),e),new Map),Xi=(e,t)=>e.reduce((e,n,r)=>(e[t?t(n):r]=n,e),{}),Zi=e=>e.reduce((t,n,r)=>{let i={...n,prev:null,next:null};if(r!==0){let n=t[r-1];if(i.prev=n,n.next=i,r===e.length-1){let e=t[0];i.next=e,e.prev=i}}return t.push(i),t},[]),Qi=e=>Array.isArray(e)?e:e.values(),$i=e=>Array.isArray(e)?e:Array.from(Qi(e)),ea=()=>at.MODE===Cn.TEST,ta=()=>at.MODE===Cn.DEVELOPMENT,na=()=>at.MODE===Cn.PRODUCTION,ra=()=>typeof process<`u`&&!0,ia=(e,t)=>new CustomEvent(e,{detail:{nativeEvent:t},cancelable:!0}),aa=(e,t)=>{let n=!1;for(let r in t){let i=t[r];if(typeof i<`u`){if(e[r]===i&&(typeof i!=`object`||!i))continue;n=!0}}return n?{...e,...t}:e},oa=()=>{try{return window.self===window.top?`top`:`iframe`}catch{return`iframe`}},sa=e=>!!e&&typeof e==`object`&&`then`in e&&`catch`in e&&`finally`in e,ca=e=>{let t=e?.querySelectorAll(`button, a, input, select, textarea, div[tabindex], label[tabindex]`);return t?Array.from(t).filter(e=>e.tabIndex>-1&&!e.disabled):[]},la=(e,t)=>Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t,ua=(e,t,n,r=!1)=>{let i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return r&&console.warn(`%cisShallowEqual: objects don't have same properties ->`,`color: #8B4000`,e,t),!1;if(n&&Array.isArray(n)){for(let i of n)if(!(e[i]===t[i]||la(e[i],t[i])))return r&&console.warn(`%cisShallowEqual: ${i} not equal ->`,`color: #8B4000`,e[i],t[i]),!1;return!0}return i.every(i=>{let a=n?.[i],o=a?a(e[i],t[i]):e[i]===t[i]||la(e[i],t[i]);return!o&&r&&console.warn(`%cisShallowEqual: ${i} not equal ->`,`color: #8B4000`,e[i],t[i]),o})},da=(e,t,{checkForDefaultPrevented:n=!0}={})=>function(r){if(e?.(r),!n||!r?.defaultPrevented)return t?.(r)},fa=(e,t,n)=>{if(!t)return e;if(n)return console.error(t),e;throw Error(t)};function z(e,t){if(!e)throw Error(t)}var pa=e=>{let t,n,r=function(r){let i=Object.entries(r);if(t){let e=!0;for(let[n,r]of i)if(t.get(n)!==r){e=!1;break}if(e)return n}let a=e(r);return t=new Map(i),n=a,a};return r.clear=()=>{t=void 0,n=void 0},r},ma=(e,t)=>e instanceof Set||e instanceof Map?e.has(t):`includes`in e?e.includes(t):e.hasOwnProperty(t),ha=e=>JSON.parse(JSON.stringify(e)),ga=(e,t)=>ua(e,t)?e:t;function _a(e,t,n,r){return e?(e?.addEventListener?.(t,n,r),()=>{e?.removeEventListener?.(t,n,r)}):()=>{}}function va(e,t=!0){let n=e.length;if(n<4)return``;let r=e[0],i=e[1],a=e[2],o=`M${r[0].toFixed(2)},${r[1].toFixed(2)} Q${i[0].toFixed(2)},${i[1].toFixed(2)} ${h(i[0],a[0]).toFixed(2)},${h(i[1],a[1]).toFixed(2)} T`;for(let t=2,a=n-1;t<a;t++)r=e[t],i=e[t+1],o+=`${h(r[0],i[0]).toFixed(2)},${h(r[1],i[1]).toFixed(2)} `;return t&&(o+=`Z`),o}var ya=e=>e.replace(/\r?\n|\r/g,`
5
+ `);function ba(e){return e}var xa=async(e,...t)=>new Promise(n=>{n(e(...t))}),Sa=(...e)=>Math.max(...e.map(e=>e?1:0))>0,Ca=e=>e.replace(/"/g,`&quot;`),wa=e=>Array.isArray(e)?e:[e],Ta=e=>Array.isArray(e),Ea=e=>Ta(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length,Da=(e,t)=>{if(Ea(e)===0)return null;let n=t||(e=>e),r=null;for(let t of e){let e=n(t);if((r===null||r===e)&&e!=null)r=e;else return null}return r},Oa=`excalidraw-feature-flags`,ka={COMPLEX_BINDINGS:!1},Aa=null,ja=e=>{if(!Aa)try{let e=localStorage.getItem(Oa);e&&(Aa=JSON.parse(e)??ka)}catch{}return(Aa||ka)[e]},Ma=(e,t)=>t.includes(e),Na=new pi(Date.now()),Pa=0,Fa=()=>Math.floor(Na.next()*2**31),Ia=()=>ea()?`id${Pa++}`:fi();ot();var La=it(ct(),1),Ra=e=>(e=e.trim(),e&&(0,La.sanitizeUrl)(Ca(e))),za=e=>!!(e?.includes(location.origin)||e?.startsWith(`/`)),Ba=e=>{if(e=Ra(e),e.startsWith(`/`))return`${location.origin}${e}`;try{new URL(e)}catch{return`about:blank`}return e};ot();var Va=class{subscribers=[];on(...e){let t=e.flat().filter(e=>typeof e==`function`);return this.subscribers.push(...t),()=>this.off(t)}once(...e){let t=e.flat().filter(e=>typeof e==`function`);t.push(()=>n());let n=this.on(...t);return n}off(...e){let t=e.flat();this.subscribers=this.subscribers.filter(e=>!t.includes(e))}trigger(...e){for(let t of this.subscribers)t(...e);return this}clear(){this.subscribers=[]}};ot();var Ha=class{constructor(e){this.behavior=e}emitters=new Map;lastPayload=new Map;emittedOnce=new Set;getEmitter(e){let t=this.emitters.get(e);return t||(t=new Va,this.emitters.set(e,t)),t}toPromiseValue(e){return e.length===1?e[0]:e}on(e,t){let n=this.behavior[e],r=this.lastPayload.get(e);if(t)return n.replay===`last`&&r&&(queueMicrotask(()=>t(...r)),n.cardinality===`once`)?()=>{}:this.getEmitter(e).on(t);if(n.cardinality!==`once`||n.replay!==`last`)throw Error(`Event "${String(e)}" requires a callback`);return r?Promise.resolve(this.toPromiseValue(r)):new Promise(t=>{this.getEmitter(e).once((...e)=>{t(this.toPromiseValue(e))})})}emit(e,...t){let n=this.behavior[e];if(!na()&&n.cardinality===`once`){if(this.emittedOnce.has(e))throw Error(`Event "${String(e)}" can only be emitted once`);this.emittedOnce.add(e)}n.replay===`last`&&this.lastPayload.set(e,t);try{this.getEmitter(e).trigger(...t)}finally{n.cardinality===`once`&&this.getEmitter(e).clear()}}clear(){this.lastPayload.clear(),this.emittedOnce.clear();for(let e of this.emitters.values())e.clear();this.emitters.clear()}};ot(),ot();var Ua=(e,t=5)=>parseFloat(e.toPrecision(t)),Wa=e=>Ua(e.reduce((e,t)=>e+t)/e.length);(class e{static DEBUG_LOG_TIMES=!0;static TIMES_AGGR={};static TIMES_AVG={};static LAST_DEBUG_LOG_CALL=0;static DEBUG_LOG_INTERVAL_ID=null;static LAST_FRAME_TIMESTAMP=0;static FRAME_COUNT=0;static ANIMATION_FRAME_ID=null;static scheduleAnimationFrame=()=>{e.DEBUG_LOG_INTERVAL_ID!==null&&(e.ANIMATION_FRAME_ID=requestAnimationFrame(t=>{e.LAST_FRAME_TIMESTAMP!==t&&(e.LAST_FRAME_TIMESTAMP=t,e.FRAME_COUNT++),e.DEBUG_LOG_INTERVAL_ID!==null&&e.scheduleAnimationFrame()}))};static setupInterval=()=>{e.DEBUG_LOG_INTERVAL_ID===null&&(console.info(`%c(starting perf recording)`,`color: lime`),e.DEBUG_LOG_INTERVAL_ID=window.setInterval(e.debugLogger,1e3),e.scheduleAnimationFrame()),e.LAST_DEBUG_LOG_CALL=Date.now()};static debugLogger=()=>{if(e.DEBUG_LOG_TIMES){for(let[t,{t:n,times:r}]of Object.entries(e.TIMES_AGGR))r.length&&(console.info(t,Ua(r.reduce((e,t)=>e+t)),r.sort((e,t)=>e-t).map(e=>Ua(e))),e.TIMES_AGGR[t]={t:n,times:[]});for(let[t,{t:n,times:r,avg:i}]of Object.entries(e.TIMES_AVG))if(r.length){let a=Ua(r.reduce((e,t)=>e+t)/e.FRAME_COUNT);console.info(t,`- ${r.length} calls - ${a}ms/frame across ${e.FRAME_COUNT} frames (${Ua(a/16.67*100,1)}% of frame budget)`),e.TIMES_AVG[t]={t:n,times:[],avg:i==null?a:Wa([i,a])}}}e.FRAME_COUNT=0,Date.now()-e.LAST_DEBUG_LOG_CALL>600&&e.DEBUG_LOG_INTERVAL_ID!==null&&(console.info(`%c(stopping perf recording)`,`color: red`),window.clearInterval(e.DEBUG_LOG_INTERVAL_ID),window.cancelAnimationFrame(e.ANIMATION_FRAME_ID),e.ANIMATION_FRAME_ID=null,e.FRAME_COUNT=0,e.LAST_FRAME_TIMESTAMP=0,e.DEBUG_LOG_INTERVAL_ID=null,e.TIMES_AGGR={},e.TIMES_AVG={})};static logTime=(t,n=`default`)=>{e.setupInterval();let r=performance.now(),{t:i,times:a}=e.TIMES_AGGR[n]=e.TIMES_AGGR[n]||{t:0,times:[]};i&&a.push(t??r-i),e.TIMES_AGGR[n].t=r};static logTimeAverage=(t,n=`default`)=>{e.setupInterval();let r=performance.now(),{t:i,times:a}=e.TIMES_AVG[n]=e.TIMES_AVG[n]||{t:0,times:[]};i&&a.push(t??r-i),e.TIMES_AVG[n].t=r};static logWrapper=t=>(n,r=`default`)=>(...i)=>{let a=performance.now(),o=n(...i);return e[t](performance.now()-a,r),o};static logTimeWrap=e.logWrapper(`logTime`);static logTimeAverageWrap=e.logWrapper(`logTimeAverage`);static perfWrap=(e,t=`default`)=>(...n)=>{console.time(t);let r=e(...n);return console.timeEnd(t),r};static CHANGED_CACHE={};static logChanged(t,n){let r=e.CHANGED_CACHE[t];if(e.CHANGED_CACHE[t]=n,!r)return;let i=new Set([...Object.keys(r),...Object.keys(n)]),a={};for(let e of i){let t=r[e],i=n[e];Ga(t,i)||(a[e]={prev:t,next:i})}Object.keys(a).length>0&&console.info(`[${t}] changed:`,a)}});function Ga(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Array.isArray(e)!==Array.isArray(t))return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Ga(e[r],t[r]))return!1;return!0}var Ka=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+=`-`:e+=`_`,e),``),qa=Object.create,Ja=Object.defineProperty,Ya=Object.getOwnPropertyDescriptor,Xa=Object.getOwnPropertyNames,Za=Object.getPrototypeOf,Qa=Object.prototype.hasOwnProperty,$a=(e,t)=>()=>(e&&(t=e(e=0)),t),eo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),to=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Xa(t))!Qa.call(e,i)&&i!==n&&Ja(e,i,{get:()=>t[i],enumerable:!(r=Ya(t,i))||r.enumerable});return e},no=(e,t,n)=>(n=e==null?{}:qa(Za(e)),to(t||!e||!e.__esModule?Ja(n,`default`,{value:e,enumerable:!0}):n,e)),ro,B=$a(()=>{ro={PROD:!0}}),io=eo((e,t)=>{B();var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=S(t)||0,y(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(S(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function v(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function x(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(x(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=x(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return v(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e,t,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError(n);return y(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),_(e,t,{leading:i,maxWait:t,trailing:a})}function y(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function b(e){return!!e&&typeof e==`object`}function x(e){return typeof e==`symbol`||b(e)&&p.call(e)==i}function S(e){if(typeof e==`number`)return e;if(x(e))return r;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=v});B(),B(),B(),B(),B(),B(),B(),B(),B(),B(),B();function ao(e,t,n){if(e&&e.length){let[r,i]=t,a=Math.PI/180*n,o=Math.cos(a),s=Math.sin(a);for(let t of e){let[e,n]=t;t[0]=(e-r)*o-(n-i)*s+r,t[1]=(e-r)*s+(n-i)*o+i}}}function oo(e,t,n){let r=[];e.forEach(e=>r.push(...e)),ao(r,t,n)}function so(e,t){return e[0]===t[0]&&e[1]===t[1]}function co(e,t,n,r=1){let i=n,a=Math.max(t,.1),o=e[0]&&e[0][0]&&typeof e[0][0]==`number`?[e]:e,s=[0,0];if(i)for(let e of o)ao(e,s,i);let c=lo(o,a,r);if(i){for(let e of o)ao(e,s,-i);oo(c,s,-i)}return c}function lo(e,t,n){let r=[];for(let t of e){let e=[...t];so(e[0],e[e.length-1])||e.push([e[0][0],e[0][1]]),e.length>2&&r.push(e)}let i=[];t=Math.max(t,.1);let a=[];for(let e of r)for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(n[1]!==r[1]){let e=Math.min(n[1],r[1]);a.push({ymin:e,ymax:Math.max(n[1],r[1]),x:e===n[1]?n[0]:r[0],islope:(r[0]-n[0])/(r[1]-n[1])})}}if(a.sort((e,t)=>e.ymin<t.ymin?-1:e.ymin>t.ymin?1:e.x<t.x?-1:e.x>t.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax)),!a.length)return i;let o=[],s=a[0].ymin,c=0;for(;o.length||a.length;){if(a.length){let e=-1;for(let t=0;t<a.length&&!(a[t].ymin>s);t++)e=t;a.splice(0,e+1).forEach(e=>{o.push({s,edge:e})})}if(o=o.filter(e=>!(e.edge.ymax<=s)),o.sort((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x)),(n!==1||c%t===0)&&o.length>1)for(let e=0;e<o.length;e+=2){let t=e+1;if(t>=o.length)break;let n=o[e].edge,r=o[t].edge;i.push([[Math.round(n.x),s],[Math.round(r.x),s]])}s+=n,o.forEach(e=>{e.edge.x=e.edge.x+n*e.edge.islope}),c++}return i}function uo(e,t){let n=t.hachureAngle+90,r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.max(r,.1);let i=1;return t.roughness>=1&&(t.randomizer?.next()||Math.random())>.7&&(i=r),co(e,r,n,i||1)}var fo=class{constructor(e){this.helper=e}fillPolygons(e,t){return this._fillPolygons(e,t)}_fillPolygons(e,t){let n=uo(e,t);return{type:`fillSketch`,ops:this.renderLines(n,t)}}renderLines(e,t){let n=[];for(let r of e)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],t));return n}};B(),B();function po(e){let t=e[0],n=e[1];return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}var mo=class extends fo{fillPolygons(e,t){let n=t.hachureGap;n<0&&(n=t.strokeWidth*4),n=Math.max(n,.1);let r=uo(e,Object.assign({},t,{hachureGap:n})),i=Math.PI/180*t.hachureAngle,a=[],o=n*.5*Math.cos(i),s=n*.5*Math.sin(i);for(let[e,t]of r)po([e,t])&&a.push([[e[0]-o,e[1]+s],[...t]],[[e[0]+o,e[1]-s],[...t]]);return{type:`fillSketch`,ops:this.renderLines(a,t)}}};B();var ho=class extends fo{fillPolygons(e,t){let n=this._fillPolygons(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),i=this._fillPolygons(e,r);return n.ops=n.ops.concat(i.ops),n}};B();var go=class{constructor(e){this.helper=e}fillPolygons(e,t){t=Object.assign({},t,{hachureAngle:0});let n=uo(e,t);return this.dotsOnLines(n,t)}dotsOnLines(e,t){let n=[],r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.max(r,.1);let i=t.fillWeight;i<0&&(i=t.strokeWidth/2);let a=r/4;for(let o of e){let e=po(o),s=e/r,c=Math.ceil(s)-1,l=e-c*r,u=(o[0][0]+o[1][0])/2-r/4,d=Math.min(o[0][1],o[1][1]);for(let e=0;e<c;e++){let o=d+l+e*r,s=u-a+Math.random()*2*a,c=o-a+Math.random()*2*a,f=this.helper.ellipse(s,c,i,i,t);n.push(...f.ops)}}return{type:`fillSketch`,ops:n}}};B();var _o=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=uo(e,t);return{type:`fillSketch`,ops:this.dashedLine(n,t)}}dashedLine(e,t){let n=t.dashOffset<0?t.hachureGap<0?t.strokeWidth*4:t.hachureGap:t.dashOffset,r=t.dashGap<0?t.hachureGap<0?t.strokeWidth*4:t.hachureGap:t.dashGap,i=[];return e.forEach(e=>{let a=po(e),o=Math.floor(a/(n+r)),s=(a+r-o*(n+r))/2,c=e[0],l=e[1];c[0]>l[0]&&(c=e[1],l=e[0]);let u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let e=0;e<o;e++){let a=e*(n+r),o=a+n,l=[c[0]+a*Math.cos(u)+s*Math.cos(u),c[1]+a*Math.sin(u)+s*Math.sin(u)],d=[c[0]+o*Math.cos(u)+s*Math.cos(u),c[1]+o*Math.sin(u)+s*Math.sin(u)];i.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],t))}}),i}};B();var vo=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=t.hachureGap<0?t.strokeWidth*4:t.hachureGap,r=t.zigzagOffset<0?n:t.zigzagOffset;t=Object.assign({},t,{hachureGap:n+r});let i=uo(e,t);return{type:`fillSketch`,ops:this.zigzagLines(i,r,t)}}zigzagLines(e,t,n){let r=[];return e.forEach(e=>{let i=po(e),a=Math.round(i/(2*t)),o=e[0],s=e[1];o[0]>s[0]&&(o=e[1],s=e[0]);let c=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let e=0;e<a;e++){let i=e*2*t,a=(e+1)*2*t,s=Math.sqrt(2*t**2),l=[o[0]+i*Math.cos(c),o[1]+i*Math.sin(c)],u=[o[0]+a*Math.cos(c),o[1]+a*Math.sin(c)],d=[l[0]+s*Math.cos(c+Math.PI/4),l[1]+s*Math.sin(c+Math.PI/4)];r.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],n),...this.helper.doubleLineOps(d[0],d[1],u[0],u[1],n))}}),r}},yo={};function bo(e,t){let n=e.fillStyle||`hachure`;if(!yo[n])switch(n){case`zigzag`:yo[n]||(yo[n]=new mo(t));break;case`cross-hatch`:yo[n]||(yo[n]=new ho(t));break;case`dots`:yo[n]||(yo[n]=new go(t));break;case`dashed`:yo[n]||(yo[n]=new _o(t));break;case`zigzag-line`:yo[n]||(yo[n]=new vo(t));break;case`hachure`:default:n=`hachure`,yo[n]||(yo[n]=new fo(t));break}return yo[n]}B();function xo(){return Math.floor(Math.random()*2**31)}var So=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};B(),B();var Co={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function wo(e){let t=[];for(;e!==``;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else if(e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length);else return[];return t[t.length]={type:2,text:``},t}function To(e,t){return e.type===t}function Eo(e){let t=[],n=wo(e),r=`BOD`,i=0,a=n[i];for(;!To(a,2);){let o=0,s=[];if(r===`BOD`)if(a.text===`M`||a.text===`m`)i++,o=Co[a.text],r=a.text;else return Eo(`M0,0`+e);else To(a,1)?o=Co[r]:(i++,o=Co[a.text],r=a.text);if(i+o<n.length){for(let e=i;e<i+o;e++){let t=n[e];if(To(t,1))s[s.length]=+t.text;else throw Error(`Param not a number: `+r+`,`+t.text)}if(typeof Co[r]==`number`){let e={key:r,data:s};t.push(e),i+=o,a=n[i],r===`M`&&(r=`L`),r===`m`&&(r=`l`)}else throw Error(`Bad segment: `+r)}else throw Error(`Path data ended short`)}return t}B();function Do(e){let t=0,n=0,r=0,i=0,a=[];for(let{key:o,data:s}of e)switch(o){case`M`:a.push({key:`M`,data:[...s]}),[t,n]=s,[r,i]=s;break;case`m`:t+=s[0],n+=s[1],a.push({key:`M`,data:[t,n]}),r=t,i=n;break;case`L`:a.push({key:`L`,data:[...s]}),[t,n]=s;break;case`l`:t+=s[0],n+=s[1],a.push({key:`L`,data:[t,n]});break;case`C`:a.push({key:`C`,data:[...s]}),t=s[4],n=s[5];break;case`c`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`C`,data:e}),t=e[4],n=e[5];break}case`Q`:a.push({key:`Q`,data:[...s]}),t=s[2],n=s[3];break;case`q`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`Q`,data:e}),t=e[2],n=e[3];break}case`A`:a.push({key:`A`,data:[...s]}),t=s[5],n=s[6];break;case`a`:t+=s[5],n+=s[6],a.push({key:`A`,data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case`H`:a.push({key:`H`,data:[...s]}),t=s[0];break;case`h`:t+=s[0],a.push({key:`H`,data:[t]});break;case`V`:a.push({key:`V`,data:[...s]}),n=s[0];break;case`v`:n+=s[0],a.push({key:`V`,data:[n]});break;case`S`:a.push({key:`S`,data:[...s]}),t=s[2],n=s[3];break;case`s`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`S`,data:e}),t=e[2],n=e[3];break}case`T`:a.push({key:`T`,data:[...s]}),t=s[0],n=s[1];break;case`t`:t+=s[0],n+=s[1],a.push({key:`T`,data:[t,n]});break;case`Z`:case`z`:a.push({key:`Z`,data:[]}),t=r,n=i;break}return a}B();function Oo(e){let t=[],n=``,r=0,i=0,a=0,o=0,s=0,c=0;for(let{key:l,data:u}of e){switch(l){case`M`:t.push({key:`M`,data:[...u]}),[r,i]=u,[a,o]=u;break;case`C`:t.push({key:`C`,data:[...u]}),r=u[4],i=u[5],s=u[2],c=u[3];break;case`L`:t.push({key:`L`,data:[...u]}),[r,i]=u;break;case`H`:r=u[0],t.push({key:`L`,data:[r,i]});break;case`V`:i=u[0],t.push({key:`L`,data:[r,i]});break;case`S`:{let e=0,a=0;n===`C`||n===`S`?(e=r+(r-s),a=i+(i-c)):(e=r,a=i),t.push({key:`C`,data:[e,a,...u]}),s=u[0],c=u[1],r=u[2],i=u[3];break}case`T`:{let[e,a]=u,o=0,l=0;n===`Q`||n===`T`?(o=r+(r-s),l=i+(i-c)):(o=r,l=i);let d=r+2*(o-r)/3,f=i+2*(l-i)/3,p=e+2*(o-e)/3,m=a+2*(l-a)/3;t.push({key:`C`,data:[d,f,p,m,e,a]}),s=o,c=l,r=e,i=a;break}case`Q`:{let[e,n,a,o]=u,l=r+2*(e-r)/3,d=i+2*(n-i)/3,f=a+2*(e-a)/3,p=o+2*(n-o)/3;t.push({key:`C`,data:[l,d,f,p,a,o]}),s=e,c=n,r=a,i=o;break}case`A`:{let e=Math.abs(u[0]),n=Math.abs(u[1]),a=u[2],o=u[3],s=u[4],c=u[5],l=u[6];e===0||n===0?(t.push({key:`C`,data:[r,i,c,l,c,l]}),r=c,i=l):(r!==c||i!==l)&&(jo(r,i,c,l,e,n,a,o,s).forEach(function(e){t.push({key:`C`,data:e})}),r=c,i=l);break}case`Z`:t.push({key:`Z`,data:[]}),r=a,i=o;break}n=l}return t}function ko(e){return Math.PI*e/180}function Ao(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function jo(e,t,n,r,i,a,o,s,c,l){let u=ko(o),d=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=Ao(e,t,-u),[n,r]=Ao(n,r,-u);let o=(e-n)/2,l=(t-r)/2,d=o*o/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i=d*i,a=d*a);let g=s===c?-1:1,_=i*i,v=a*a,y=_*v-_*l*l-v*o*o,b=_*l*l+v*o*o,x=g*Math.sqrt(Math.abs(y/b));m=x*i*l/a+(e+n)/2,h=x*-a*o/i+(t+r)/2,f=Math.asin(parseFloat(((t-h)/a).toFixed(9))),p=Math.asin(parseFloat(((r-h)/a).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(p=Math.PI-p),f<0&&(f=Math.PI*2+f),p<0&&(p=Math.PI*2+p),c&&f>p&&(f-=Math.PI*2),!c&&p>f&&(p-=Math.PI*2)}let g=p-f;if(Math.abs(g)>Math.PI*120/180){let e=p,t=n,s=r;p=c&&p>f?f+Math.PI*120/180*1:f+Math.PI*120/180*-1,n=m+i*Math.cos(p),r=h+a*Math.sin(p),d=jo(n,r,t,s,i,a,o,0,c,[p,e,m,h])}g=p-f;let _=Math.cos(f),v=Math.sin(f),y=Math.cos(p),b=Math.sin(p),x=Math.tan(g/4),S=4/3*i*x,C=4/3*a*x,w=[e,t],T=[e+S*v,t-C*_],E=[n+S*b,r-C*y],D=[n,r];if(T[0]=2*w[0]-T[0],T[1]=2*w[1]-T[1],l)return[T,E,D].concat(d);{d=[T,E,D].concat(d);let e=[];for(let t=0;t<d.length;t+=3){let n=Ao(d[t][0],d[t][1],u),r=Ao(d[t+1][0],d[t+1][1],u),i=Ao(d[t+2][0],d[t+2][1],u);e.push([n[0],n[1],r[0],r[1],i[0],i[1]])}return e}}var Mo={randOffset:Ko,randOffsetWithRange:qo,ellipse:Ro,doubleLineOps:Jo};function No(e,t,n,r,i){return{type:`path`,ops:Qo(e,t,n,r,i)}}function Po(e,t,n){let r=(e||[]).length;if(r>2){let i=[];for(let t=0;t<r-1;t++)i.push(...Qo(e[t][0],e[t][1],e[t+1][0],e[t+1][1],n));return t&&i.push(...Qo(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:`path`,ops:i}}else if(r===2)return No(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:`path`,ops:[]}}function Fo(e,t){return Po(e,!0,t)}function Io(e,t,n,r,i){return Fo([[e,t],[e+n,t],[e+n,t+r],[e,t+r]],i)}function Lo(e,t){let n=es(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=es(e,1.5*(1+t.roughness*.22),Yo(t));n=n.concat(r)}return{type:`path`,ops:n}}function Ro(e,t,n,r,i){return Bo(e,t,i,zo(n,r,i)).opset}function zo(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt(((e/2)**2+(t/2)**2)/2)),i=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),a=Math.PI*2/i,o=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return o+=V(o*c,n),s+=V(s*c,n),{increment:a,rx:o,ry:s}}function Bo(e,t,n,r){let[i,a]=ns(r.increment,e,t,r.rx,r.ry,1,r.increment*Zo(.1,Zo(.4,1,n),n),n),o=ts(i,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[i]=ns(r.increment,e,t,r.rx,r.ry,1.5,0,n),a=ts(i,null,n);o=o.concat(a)}return{estimatedPoints:a,opset:{type:`path`,ops:o}}}function Vo(e,t,n,r,i,a,o,s,c){let l=e,u=t,d=Math.abs(n/2),f=Math.abs(r/2);d+=V(d*.01,c),f+=V(f*.01,c);let p=i,m=a;for(;p<0;)p+=Math.PI*2,m+=Math.PI*2;m-p>Math.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/c.curveStepCount,g=Math.min(h/2,(m-p)/2),_=rs(g,l,u,d,f,p,m,1,c);if(!c.disableMultiStroke){let e=rs(g,l,u,d,f,p,m,1.5,c);_.push(...e)}return o&&(s?_.push(...Qo(l,u,l+d*Math.cos(p),u+f*Math.sin(p),c),...Qo(l,u,l+d*Math.cos(m),u+f*Math.sin(m),c)):_.push({op:`lineTo`,data:[l,u]},{op:`lineTo`,data:[l+d*Math.cos(p),u+f*Math.sin(p)]})),{type:`path`,ops:_}}function Ho(e,t){let n=Oo(Do(Eo(e))),r=[],i=[0,0],a=[0,0];for(let{key:e,data:o}of n)switch(e){case`M`:a=[o[0],o[1]],i=[o[0],o[1]];break;case`L`:r.push(...Qo(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]];break;case`C`:{let[e,n,i,s,c,l]=o;r.push(...is(e,n,i,s,c,l,a,t)),a=[c,l];break}case`Z`:r.push(...Qo(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]];break}return{type:`path`,ops:r}}function Uo(e,t){let n=[];for(let r of e)if(r.length){let e=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:`move`,data:[r[0][0]+V(e,t),r[0][1]+V(e,t)]});for(let a=1;a<i;a++)n.push({op:`lineTo`,data:[r[a][0]+V(e,t),r[a][1]+V(e,t)]})}}return{type:`fillPath`,ops:n}}function Wo(e,t){return bo(t,Mo).fillPolygons(e,t)}function Go(e,t,n,r,i,a,o){let s=e,c=t,l=Math.abs(n/2),u=Math.abs(r/2);l+=V(l*.01,o),u+=V(u*.01,o);let d=i,f=a;for(;d<0;)d+=Math.PI*2,f+=Math.PI*2;f-d>Math.PI*2&&(d=0,f=Math.PI*2);let p=(f-d)/o.curveStepCount,m=[];for(let e=d;e<=f;e+=p)m.push([s+l*Math.cos(e),c+u*Math.sin(e)]);return m.push([s+l*Math.cos(f),c+u*Math.sin(f)]),m.push([s,c]),Wo([m],o)}function Ko(e,t){return V(e,t)}function qo(e,t,n){return Zo(e,t,n)}function Jo(e,t,n,r,i){return Qo(e,t,n,r,i,!0)}function Yo(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function Xo(e){return e.randomizer||=new So(e.seed||0),e.randomizer.next()}function Zo(e,t,n,r=1){return n.roughness*r*(Xo(n)*(t-e)+e)}function V(e,t,n=1){return Zo(-e,e,t,n)}function Qo(e,t,n,r,i,a=!1){let o=a?i.disableMultiStrokeFill:i.disableMultiStroke,s=$o(e,t,n,r,i,!0,!1);if(o)return s;let c=$o(e,t,n,r,i,!0,!0);return s.concat(c)}function $o(e,t,n,r,i,a,o){let s=(e-n)**2+(t-r)**2,c=Math.sqrt(s),l=1;l=c<200?1:c>500?.4:-.0016668*c+1.233334;let u=i.maxRandomnessOffset||0;u*u*100>s&&(u=c/10);let d=u/2,f=.2+Xo(i)*.2,p=i.bowing*i.maxRandomnessOffset*(r-t)/200,m=i.bowing*i.maxRandomnessOffset*(e-n)/200;p=V(p,i,l),m=V(m,i,l);let h=[],g=()=>V(d,i,l),_=()=>V(u,i,l),v=i.preserveVertices;return a&&(o?h.push({op:`move`,data:[e+(v?0:g()),t+(v?0:g())]}):h.push({op:`move`,data:[e+(v?0:V(u,i,l)),t+(v?0:V(u,i,l))]})),o?h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+g(),m+t+(r-t)*f+g(),p+e+2*(n-e)*f+g(),m+t+2*(r-t)*f+g(),n+(v?0:g()),r+(v?0:g())]}):h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+_(),m+t+(r-t)*f+_(),p+e+2*(n-e)*f+_(),m+t+2*(r-t)*f+_(),n+(v?0:_()),r+(v?0:_())]}),h}function es(e,t,n){let r=[];r.push([e[0][0]+V(t,n),e[0][1]+V(t,n)]),r.push([e[0][0]+V(t,n),e[0][1]+V(t,n)]);for(let i=1;i<e.length;i++)r.push([e[i][0]+V(t,n),e[i][1]+V(t,n)]),i===e.length-1&&r.push([e[i][0]+V(t,n),e[i][1]+V(t,n)]);return ts(r,null,n)}function ts(e,t,n){let r=e.length,i=[];if(r>3){let a=[],o=1-n.curveTightness;i.push({op:`move`,data:[e[1][0],e[1][1]]});for(let t=1;t+2<r;t++){let n=e[t];a[0]=[n[0],n[1]],a[1]=[n[0]+(o*e[t+1][0]-o*e[t-1][0])/6,n[1]+(o*e[t+1][1]-o*e[t-1][1])/6],a[2]=[e[t+1][0]+(o*e[t][0]-o*e[t+2][0])/6,e[t+1][1]+(o*e[t][1]-o*e[t+2][1])/6],a[3]=[e[t+1][0],e[t+1][1]],i.push({op:`bcurveTo`,data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(t&&t.length===2){let e=n.maxRandomnessOffset;i.push({op:`lineTo`,data:[t[0]+V(e,n),t[1]+V(e,n)]})}}else r===3?(i.push({op:`move`,data:[e[1][0],e[1][1]]}),i.push({op:`bcurveTo`,data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&i.push(...Qo(e[0][0],e[0][1],e[1][0],e[1][1],n));return i}function ns(e,t,n,r,i,a,o,s){let c=s.roughness===0,l=[],u=[];if(c){e/=4,u.push([t+r*Math.cos(-e),n+i*Math.sin(-e)]);for(let a=0;a<=Math.PI*2;a+=e){let e=[t+r*Math.cos(a),n+i*Math.sin(a)];l.push(e),u.push(e)}u.push([t+r*Math.cos(0),n+i*Math.sin(0)]),u.push([t+r*Math.cos(e),n+i*Math.sin(e)])}else{let c=V(.5,s)-Math.PI/2;u.push([V(a,s)+t+.9*r*Math.cos(c-e),V(a,s)+n+.9*i*Math.sin(c-e)]);let d=Math.PI*2+c-.01;for(let o=c;o<d;o+=e){let e=[V(a,s)+t+r*Math.cos(o),V(a,s)+n+i*Math.sin(o)];l.push(e),u.push(e)}u.push([V(a,s)+t+r*Math.cos(c+Math.PI*2+o*.5),V(a,s)+n+i*Math.sin(c+Math.PI*2+o*.5)]),u.push([V(a,s)+t+.98*r*Math.cos(c+o),V(a,s)+n+.98*i*Math.sin(c+o)]),u.push([V(a,s)+t+.9*r*Math.cos(c+o*.5),V(a,s)+n+.9*i*Math.sin(c+o*.5)])}return[u,l]}function rs(e,t,n,r,i,a,o,s,c){let l=a+V(.1,c),u=[];u.push([V(s,c)+t+.9*r*Math.cos(l-e),V(s,c)+n+.9*i*Math.sin(l-e)]);for(let a=l;a<=o;a+=e)u.push([V(s,c)+t+r*Math.cos(a),V(s,c)+n+i*Math.sin(a)]);return u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),ts(u,null,c)}function is(e,t,n,r,i,a,o,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],u=[0,0],d=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<d;p++)p===0?c.push({op:`move`,data:[o[0],o[1]]}):c.push({op:`move`,data:[o[0]+(f?0:V(l[0],s)),o[1]+(f?0:V(l[0],s))]}),u=f?[i,a]:[i+V(l[p],s),a+V(l[p],s)],c.push({op:`bcurveTo`,data:[e+V(l[p],s),t+V(l[p],s),n+V(l[p],s),r+V(l[p],s),u[0],u[1]]});return c}B();function as(e){return[...e]}function os(e,t=0){let n=e.length;if(n<3)throw Error(`A curve must have at least three points.`);let r=[];if(n===3)r.push(as(e[0]),as(e[1]),as(e[2]),as(e[2]));else{let n=[];n.push(e[0],e[0]);for(let t=1;t<e.length;t++)n.push(e[t]),t===e.length-1&&n.push(e[t]);let i=[],a=1-t;r.push(as(n[0]));for(let e=1;e+2<n.length;e++){let t=n[e];i[0]=[t[0],t[1]],i[1]=[t[0]+(a*n[e+1][0]-a*n[e-1][0])/6,t[1]+(a*n[e+1][1]-a*n[e-1][1])/6],i[2]=[n[e+1][0]+(a*n[e][0]-a*n[e+2][0])/6,n[e+1][1]+(a*n[e][1]-a*n[e+2][1])/6],i[3]=[n[e+1][0],n[e+1][1]],r.push(i[1],i[2],i[3])}}return r}B();function ss(e,t){return Math.sqrt(cs(e,t))}function cs(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2}function ls(e,t,n){let r=cs(t,n);if(r===0)return cs(e,t);let i=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return i=Math.max(0,Math.min(1,i)),cs(e,us(t,n,i))}function us(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function ds(e,t){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3],o=3*r[0]-2*n[0]-a[0];o*=o;let s=3*r[1]-2*n[1]-a[1];s*=s;let c=3*i[0]-2*a[0]-n[0];c*=c;let l=3*i[1]-2*a[1]-n[1];return l*=l,o<c&&(o=c),s<l&&(s=l),o+s}function fs(e,t,n,r){let i=r||[];if(ds(e,t)<n){let n=e[t+0];i.length?ss(i[i.length-1],n)>1&&i.push(n):i.push(n),i.push(e[t+3])}else{let r=e[t+0],a=e[t+1],o=e[t+2],s=e[t+3],c=us(r,a,.5),l=us(a,o,.5),u=us(o,s,.5),d=us(c,l,.5),f=us(l,u,.5),p=us(d,f,.5);fs([r,c,d,p],0,n,i),fs([p,f,u,s],0,n,i)}return i}function ps(e,t){return ms(e,0,e.length,t)}function ms(e,t,n,r,i){let a=i||[],o=e[t],s=e[n-1],c=0,l=1;for(let r=t+1;r<n-1;++r){let t=ls(e[r],o,s);t>c&&(c=t,l=r)}return Math.sqrt(c)>r?(ms(e,t,l+1,r,a),ms(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function hs(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n<i;n++)fs(e,n*3,t,r);return n&&n>0?ms(r,0,r.length,n):r}B();function gs(e,t,n){let r=Oo(Do(Eo(e))),i=[],a=[],o=[0,0],s=[],c=()=>{s.length>=4&&a.push(...hs(s,t)),s=[]},l=()=>{c(),a.length&&(i.push(a),a=[])};for(let{key:e,data:t}of r)switch(e){case`M`:l(),o=[t[0],t[1]],a.push(o);break;case`L`:c(),a.push([t[0],t[1]]);break;case`C`:if(!s.length){let e=a.length?a[a.length-1]:o;s.push([e[0],e[1]])}s.push([t[0],t[1]]),s.push([t[2],t[3]]),s.push([t[4],t[5]]);break;case`Z`:c(),a.push([o[0],o[1]]);break}if(l(),!n)return i;let u=[];for(let e of i){let t=ps(e,n);t.length&&u.push(t)}return u}var _s=`none`,vs=class{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:`#000`,strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:`hachure`,fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return xo()}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,t,n){return{shape:e,sets:t||[],options:n||this.defaultOptions}}line(e,t,n,r,i){let a=this._o(i);return this._d(`line`,[No(e,t,n,r,a)],a)}rectangle(e,t,n,r,i){let a=this._o(i),o=[],s=Io(e,t,n,r,a);if(a.fill){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];a.fillStyle===`solid`?o.push(Uo([i],a)):o.push(Wo([i],a))}return a.stroke!==_s&&o.push(s),this._d(`rectangle`,o,a)}ellipse(e,t,n,r,i){let a=this._o(i),o=[],s=zo(n,r,a),c=Bo(e,t,a,s);if(a.fill)if(a.fillStyle===`solid`){let n=Bo(e,t,a,s).opset;n.type=`fillPath`,o.push(n)}else o.push(Wo([c.estimatedPoints],a));return a.stroke!==_s&&o.push(c.opset),this._d(`ellipse`,o,a)}circle(e,t,n,r){let i=this.ellipse(e,t,n,n,r);return i.shape=`circle`,i}linearPath(e,t){let n=this._o(t);return this._d(`linearPath`,[Po(e,!1,n)],n)}arc(e,t,n,r,i,a,o=!1,s){let c=this._o(s),l=[],u=Vo(e,t,n,r,i,a,o,!0,c);if(o&&c.fill)if(c.fillStyle===`solid`){let o=Object.assign({},c);o.disableMultiStroke=!0;let s=Vo(e,t,n,r,i,a,!0,!1,o);s.type=`fillPath`,l.push(s)}else l.push(Go(e,t,n,r,i,a,c));return c.stroke!==_s&&l.push(u),this._d(`arc`,l,c)}curve(e,t){let n=this._o(t),r=[],i=Lo(e,n);if(n.fill&&n.fill!==_s&&e.length>=3)if(n.fillStyle===`solid`){let t=Lo(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else{let t=hs(os(e),10,(1+n.roughness)/2);r.push(Wo([t],n))}return n.stroke!==_s&&r.push(i),this._d(`curve`,r,n)}polygon(e,t){let n=this._o(t),r=[],i=Po(e,!0,n);return n.fill&&(n.fillStyle===`solid`?r.push(Uo([e],n)):r.push(Wo([e],n))),n.stroke!==_s&&r.push(i),this._d(`polygon`,r,n)}path(e,t){let n=this._o(t),r=[];if(!e)return this._d(`path`,r,n);e=(e||``).replace(/\n/g,` `).replace(/(-\s)/g,`-`).replace(`/(ss)/g`,` `);let i=n.fill&&n.fill!==`transparent`&&n.fill!==_s,a=n.stroke!==_s,o=!!(n.simplification&&n.simplification<1),s=o?4-4*(n.simplification||1):(1+n.roughness)/2,c=gs(e,1,s),l=Ho(e,n);if(i)if(n.fillStyle===`solid`)if(c.length===1){let t=Ho(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else r.push(Uo(c,n));else r.push(Wo(c,n));return a&&(o?c.forEach(e=>{r.push(Po(e,!1,n))}):r.push(l)),this._d(`path`,r,n)}opsToPath(e,t){let n=``;for(let r of e.ops){let e=typeof t==`number`&&t>=0?r.data.map(e=>+e.toFixed(t)):r.data;switch(r.op){case`move`:n+=`M${e[0]} ${e[1]} `;break;case`bcurveTo`:n+=`C${e[0]} ${e[1]}, ${e[2]} ${e[3]}, ${e[4]} ${e[5]} `;break;case`lineTo`:n+=`L${e[0]} ${e[1]} `;break}}return n.trim()}toPaths(e){let t=e.sets||[],n=e.options||this.defaultOptions,r=[];for(let e of t){let t=null;switch(e.type){case`path`:t={d:this.opsToPath(e),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:_s};break;case`fillPath`:t={d:this.opsToPath(e),stroke:_s,strokeWidth:0,fill:n.fill||_s};break;case`fillSketch`:t=this.fillSketch(e,n);break}t&&r.push(t)}return r}fillSketch(e,t){let n=t.fillWeight;return n<0&&(n=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||_s,strokeWidth:n,fill:_s}}_mergedShape(e){return e.filter((e,t)=>t===0?!0:e.op!==`move`)}},ys=class{constructor(e,t){this.canvas=e,this.ctx=this.canvas.getContext(`2d`),this.gen=new vs(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.ctx,i=e.options.fixedDecimalPlaceDigits;for(let a of t)switch(a.type){case`path`:r.save(),r.strokeStyle=n.stroke===`none`?`transparent`:n.stroke,r.lineWidth=n.strokeWidth,n.strokeLineDash&&r.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(r.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(r,a,i),r.restore();break;case`fillPath`:{r.save(),r.fillStyle=n.fill||``;let t=e.shape===`curve`||e.shape===`polygon`||e.shape===`path`?`evenodd`:`nonzero`;this._drawToContext(r,a,i,t),r.restore();break}case`fillSketch`:this.fillSketch(r,a,n);break}}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||``,e.lineWidth=r,this._drawToContext(e,t,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,t,n,r=`nonzero`){e.beginPath();for(let r of t.ops){let t=typeof n==`number`&&n>=0?r.data.map(e=>+e.toFixed(n)):r.data;switch(r.op){case`move`:e.moveTo(t[0],t[1]);break;case`bcurveTo`:e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);break;case`lineTo`:e.lineTo(t[0],t[1]);break}}t.type===`fillPath`?e.fill(r):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a),a}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a),a}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a),a}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i),i}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n),n}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n),n}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c),c}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n),n}path(e,t){let n=this.gen.path(e,t);return this.draw(n),n}};B(),B();var bs=`http://www.w3.org/2000/svg`,xs=class{constructor(e,t){this.svg=e,this.gen=new vs(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,i=r.createElementNS(bs,`g`),a=e.options.fixedDecimalPlaceDigits;for(let o of t){let t=null;switch(o.type){case`path`:t=r.createElementNS(bs,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,n.stroke),t.setAttribute(`stroke-width`,n.strokeWidth+``),t.setAttribute(`fill`,`none`),n.strokeLineDash&&t.setAttribute(`stroke-dasharray`,n.strokeLineDash.join(` `).trim()),n.strokeLineDashOffset&&t.setAttribute(`stroke-dashoffset`,`${n.strokeLineDashOffset}`);break;case`fillPath`:t=r.createElementNS(bs,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,`none`),t.setAttribute(`stroke-width`,`0`),t.setAttribute(`fill`,n.fill||``),(e.shape===`curve`||e.shape===`polygon`)&&t.setAttribute(`fill-rule`,`evenodd`);break;case`fillSketch`:t=this.fillSketch(r,o,n);break}t&&i.appendChild(t)}return i}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);let i=e.createElementNS(bs,`path`);return i.setAttribute(`d`,this.opsToPath(t,n.fixedDecimalPlaceDigits)),i.setAttribute(`stroke`,n.fill||``),i.setAttribute(`stroke-width`,r+``),i.setAttribute(`fill`,`none`),n.fillLineDash&&i.setAttribute(`stroke-dasharray`,n.fillLineDash.join(` `).trim()),n.fillLineDashOffset&&i.setAttribute(`stroke-dashoffset`,`${n.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,t){return this.gen.opsToPath(e,t)}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a)}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a)}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a)}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i)}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n)}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n)}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c)}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n)}path(e,t){let n=this.gen.path(e,t);return this.draw(n)}},Ss={canvas(e,t){return new ys(e,t)},svg(e,t){return new xs(e,t)},generator(e){return new vs(e)},newSeed(){return vs.newSeed()}};B();var Cs=e=>{let{angle:t,width:n,height:r,x:i,y:a}=e,o=i+n/2,s=a+r/2,c=j(o,s),l;return l=e.type===`diamond`?Re(M(j(o,a),c,t),M(j(i+n,s),c,t),M(j(o,a+r),c,t),M(j(i,s),c,t)):Re(M(j(i,a),c,t),M(j(i+n,a),c,t),M(j(i+n,a+r),c,t),M(j(i,a+r),c,t)),{type:`polygon`,data:l}},ws=e=>{let{width:t,height:n,angle:r,x:i,y:a}=e;return{type:`ellipse`,data:{center:j(i+t/2,a+n/2),angle:r,halfWidth:t/2,halfHeight:n/2}}},Ts=e=>{if(!e)return[];for(let t of e.sets)if(t.type===`path`)return t.ops;return e.sets[0].ops},Es=(e,t=j(0,0),n,r)=>{let i=e=>M(j(e[0]+t[0],e[1]+t[1]),r,n),a=Ts(e),o=[],s=j(0,0);for(let e of a){if(e.op===`move`){let t=ie(e.data);z(t!=null,`Ops data is not a point`),s=i(t)}if(e.op===`bcurveTo`){let t=i(j(e.data[0],e.data[1])),n=i(j(e.data[2],e.data[3])),r=i(j(e.data[4],e.data[5]));o.push(he(s,t,n,r)),s=r}}return{type:`polycurve`,data:o}},Ds=e=>{let t=e[0],n=[];for(let r=1;r<e.length;r++){let i=e[r];n.push(P(t,i)),t=i}return n},Os=(e,t,n=!1)=>{let r=n=>M(oe(O(T(n),w(e.x,e.y))),t,e.angle),i=Ds(e.points.map(e=>r(e)));return n?{type:`polygon`,data:ze(i.flat())}:{type:`polyline`,data:i}},ks=(e,t,n=j(0,0),r,i)=>{let a=e=>M(j(e[0]+n[0],e[1]+n[1]),i,r);if(e.roundness===null)return{type:`polygon`,data:ze(e.points.map(e=>a(e)))};let o=Ts(t),s=[],c=!1;for(let e of o)e.op===`move`?(c=!c,c&&s.push(j(e.data[0],e.data[1]))):e.op===`bcurveTo`?c&&(s.push(j(e.data[0],e.data[1])),s.push(j(e.data[2],e.data[3])),s.push(j(e.data[4],e.data[5]))):e.op===`lineTo`&&c&&s.push(j(e.data[0],e.data[1]));return{type:`polygon`,data:ze(hs(s,10,5).map(e=>a(e)))}};B(),B();function As(e,t,n,r=e=>e){return e*r(.5-t*(.5-n))}function js(e){return[-e[0],-e[1]]}function Ms(e,t){return[e[0]+t[0],e[1]+t[1]]}function Ns(e,t){return[e[0]-t[0],e[1]-t[1]]}function Ps(e,t){return[e[0]*t,e[1]*t]}function Fs(e,t){return[e[0]/t,e[1]/t]}function Is(e){return[e[1],-e[0]]}function Ls(e,t){return e[0]*t[0]+e[1]*t[1]}function Rs(e,t){return e[0]===t[0]&&e[1]===t[1]}function zs(e){return Math.hypot(e[0],e[1])}function Bs(e){return e[0]*e[0]+e[1]*e[1]}function Vs(e,t){return Bs(Ns(e,t))}function Hs(e){return Fs(e,zs(e))}function Us(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function Ws(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=e[0]-t[0],o=e[1]-t[1],s=a*i-o*r,c=a*r+o*i;return[s+t[0],c+t[1]]}function Gs(e,t,n){return Ms(e,Ps(Ns(t,e),n))}function Ks(e,t,n){return Ms(e,Ps(t,n))}var{min:qs,PI:Js}=Math,Ys=.275,Xs=Js+1e-4;function Zs(e,t={}){let{size:n=16,smoothing:r=.5,thinning:i=.5,simulatePressure:a=!0,easing:o=e=>e,start:s={},end:c={},last:l=!1}=t,{cap:u=!0,easing:d=e=>e*(2-e)}=s,{cap:f=!0,easing:p=e=>--e*e*e+1}=c;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,m):s.taper,g=c.taper===!1?0:c.taper===!0?Math.max(n,m):c.taper,_=(n*r)**2,v=[],y=[],b=e.slice(0,10).reduce((e,t)=>{let r=t.pressure;if(a){let i=qs(1,t.distance/n);r=qs(1,e+(qs(1,1-i)-e)*(i*Ys))}return(e+r)/2},e[0].pressure),x=As(n,i,e[e.length-1].pressure,o),S,C=e[0].vector,w=e[0].point,T=w,E=w,D=T,O=!1;for(let t=0;t<e.length;t++){let{pressure:r}=e[t],{point:s,vector:c,distance:l,runningLength:u}=e[t];if(t<e.length-1&&m-u<3)continue;if(i){if(a){let e=qs(1,l/n),t=qs(1,1-e);r=qs(1,b+(t-b)*(e*Ys))}x=As(n,i,r,o)}else x=n/2;S===void 0&&(S=x);let f=u<h?d(u/h):1,k=m-u<g?p((m-u)/g):1;x=Math.max(.01,x*Math.min(f,k));let A=(t<e.length-1?e[t+1]:e[t]).vector,ee=t<e.length-1?Ls(c,A):1,te=Ls(c,C)<0&&!O,ne=ee!==null&&ee<0;if(te||ne){let e=Ps(Is(C),x);for(let t=0;t<=1;t+=.07692307692307693)E=Ws(Ns(s,e),s,Xs*t),v.push(E),D=Ws(Ms(s,e),s,Xs*-t),y.push(D);w=E,T=D,ne&&(O=!0);continue}if(O=!1,t===e.length-1){let e=Ps(Is(c),x);v.push(Ns(s,e)),y.push(Ms(s,e));continue}let re=Ps(Is(Gs(A,c,ee)),x);E=Ns(s,re),(t<=1||Vs(w,E)>_)&&(v.push(E),w=E),D=Ms(s,re),(t<=1||Vs(T,D)>_)&&(y.push(D),T=D),b=r,C=c}let k=e[0].point.slice(0,2),A=e.length>1?e[e.length-1].point.slice(0,2):Ms(e[0].point,[1,1]),ee=[],te=[];if(e.length===1){if(!(h||g)||l){let e=Ks(k,Hs(Is(Ns(k,A))),-(S||x)),t=[];for(let n=1/13,r=n;r<=1;r+=n)t.push(Ws(e,k,Xs*2*r));return t}}else{if(!(h||g&&e.length===1))if(u)for(let e=1/13,t=e;t<=1;t+=e){let e=Ws(y[0],k,Xs*t);ee.push(e)}else{let e=Ns(v[0],y[0]),t=Ps(e,.5),n=Ps(e,.51);ee.push(Ns(k,t),Ns(k,n),Ms(k,n),Ms(k,t))}let t=Is(js(e[e.length-1].vector));if(g||h&&e.length===1)te.push(A);else if(f){let e=Ks(A,t,x);for(let t=1/29,n=t;n<1;n+=t)te.push(Ws(e,A,Xs*3*n))}else te.push(Ms(A,Ps(t,x)),Ms(A,Ps(t,x*.99)),Ns(A,Ps(t,x*.99)),Ns(A,Ps(t,x)))}return v.concat(te,y.reverse(),ee)}function Qs(e,t={}){let{streamline:n=.5,size:r=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-n)*.85,o=Array.isArray(e[0])?e:e.map(({x:e,y:t,pressure:n=.5})=>[e,t,n]);if(o.length===2){let e=o[1];o=o.slice(0,-1);for(let t=1;t<5;t++)o.push(Gs(o[0],e,t/4))}o.length===1&&(o=[...o,[...Ms(o[0],[1,1]),...o[0].slice(2)]]);let s=[{point:[o[0][0],o[0][1]],pressure:o[0][2]>=0?o[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],c=!1,l=0,u=s[0],d=o.length-1;for(let e=1;e<o.length;e++){let t=i&&e===d?o[e].slice(0,2):Gs(u.point,o[e],a);if(Rs(u.point,t))continue;let n=Us(t,u.point);if(l+=n,e<d&&!c){if(l<r)continue;c=!0}u={point:t,pressure:o[e][2]>=0?o[e][2]:.5,vector:Hs(Ns(u.point,t)),distance:n,runningLength:l},s.push(u)}return s[0].vector=s[1]?.vector||[0,0],s}function $s(e,t={}){return Zs(Qs(e,t),t)}B(),B();var ec=(e,t,n,r,i,a,o,s)=>{let{width:c,height:l}=rc(e),u=r/c,d=i/l,p=(e.crop?.x??0)/u,m=(e.crop?.y??0)/d,h=M(j(a,o),eh(e,t),-e.angle);a=h[0],o=h[1];let g=e.width,v=e.height,y=e.crop??{x:0,y:0,width:r,height:i,naturalWidth:r,naturalHeight:i},b=y.height,x=y.width,S=e.scale[0]===-1,C=e.scale[1]===-1,w=o-e.y,T=a-e.x;n.includes(`n`)&&(v=f(e.height-w,10,C?l-m:e.height+m)),n.includes(`s`)&&(w=o-e.y-e.height,v=f(e.height+w,10,C?e.height+m:l-m)),n.includes(`e`)&&(T=a-e.x-e.width,g=f(e.width+T,10,S?e.width+p:c-p)),n.includes(`w`)&&(g=f(e.width-T,10,S?c-p:e.width+p));let E=e=>{e.height=v*d,e.width=g*u};E(y);let D=(e,t)=>{E(t),e.includes(`n`)&&(C||(t.y+=b-t.height)),e.includes(`s`)&&C&&(t.y+=b-t.height),e.includes(`e`)&&S&&(t.x+=x-t.width),e.includes(`w`)&&(S||(t.x+=x-t.width))};switch(n){case`n`:if(s){let t=p+e.width/2,n=c-p-e.width/2,r=Math.min(t,n)*2;g=f(v*s,10,r),v=g/s}D(n,y),s&&(y.x+=(x-y.width)/2);break;case`s`:if(s){let t=p+e.width/2,n=c-p-e.width/2,r=Math.min(t,n)*2;g=f(v*s,10,r),v=g/s}D(n,y),s&&(y.x+=(x-y.width)/2);break;case`w`:if(s){let t=m+e.height/2,n=l-m-e.height/2,r=Math.min(t,n)*2;v=f(g/s,10,r),g=v*s}D(n,y),s&&(y.y+=(b-y.height)/2);break;case`e`:if(s){let t=m+e.height/2,n=l-m-e.height/2,r=Math.min(t,n)*2;v=f(g/s,10,r),g=v*s}D(n,y),s&&(y.y+=(b-y.height)/2);break;case`ne`:if(s)if(T>-w){let t=C?l-m:m+e.height;v=f(g/s,10,t),g=v*s}else{let t=S?p+e.width:c-p;g=f(v*s,10,t),v=g/s}D(n,y);break;case`nw`:if(s)if(T<w){let t=C?l-m:m+e.height;v=f(g/s,10,t),g=v*s}else{let t=S?c-p:p+e.width;g=f(v*s,10,t),v=g/s}D(n,y);break;case`se`:if(s)if(T>w){let t=C?m+e.height:l-m;v=f(g/s,10,t),g=v*s}else{let t=S?p+e.width:c-p;g=f(v*s,10,t),v=g/s}D(n,y);break;case`sw`:if(s)if(-T>w){let t=C?m+e.height:l-m;v=f(g/s,10,t),g=v*s}else{let t=S?c-p:p+e.width;g=f(v*s,10,t),v=g/s}D(n,y);break;default:break}let O=tc(e,n,g,v,!!s);return _(y.width,y.naturalWidth)&&_(y.height,y.naturalHeight)&&(y=null),{x:O[0],y:O[1],width:g,height:v,crop:y}},tc=(e,t,n,r,i)=>{let[a,o,s,c]=Gm(e,e.width,e.height,!0),l=j(a,o),u=j(s,c),d=le(l,u),[f,p,m,h]=Gm(e,n,r,!0),g=m-f,_=h-p,v=[...l];if([`n`,`w`,`nw`].includes(t)&&(v=[u[0]-Math.abs(g),u[1]-Math.abs(_)]),t===`ne`){let e=[l[0],u[1]];v=[e[0],e[1]-Math.abs(_)]}if(t===`sw`){let e=[u[0],l[1]];v=[e[0]-Math.abs(g),e[1]]}i&&([`s`,`n`].includes(t)&&(v[0]=d[0]-g/2),[`e`,`w`].includes(t)&&(v[1]=d[1]-_/2));let y=e.angle;v=M(M(v,d,y),M([v[0]+Math.abs(g)/2,v[1]+Math.abs(_)/2],d,y),-y);let b=[...v];return b[0]+=e.x-f,b[1]+=e.y-p,b},nc=(e,t)=>{if(e.crop){let{width:n,height:r}=rc(e),[i,a,o,s,c,l]=Y(e,t),u=T(M(j(i,a),j(c,l),e.angle)),d=ne(k(T(M(j(o,a),j(c,l),e.angle)),u)),f=ne(k(T(M(j(i,s),j(c,l),e.angle)),u)),{cropX:p,cropY:m}=ic(e.crop,e.scale),h=O(O(u,A(d,-p*n/e.crop.naturalWidth)),A(f,-m*r/e.crop.naturalHeight)),g=oe(O(O(h,A(d,n/2)),A(f,r/2))),_=M(oe(h),g,-e.angle);return{...e,x:_[0],y:_[1],width:n,height:r,crop:null}}return e},rc=e=>e.crop?{width:e.width/(e.crop.width/e.crop.naturalWidth),height:e.height/(e.crop.height/e.crop.naturalHeight)}:{width:e.width,height:e.height},ic=(e,t)=>{let n=e.x,r=e.y,i=t[0]===-1,a=t[1]===-1;return i&&(n=e.naturalWidth-Math.abs(n)-e.width),a&&(r=e.naturalHeight-Math.abs(r)-e.height),{cropX:n,cropY:r}},ac=(e,t=!1)=>{let n=e.crop;if(!n)return null;let r=e.scale[0]===-1,i=e.scale[1]===-1,a=n.x,o=n.y;if(r&&(a=n.naturalWidth-n.width-n.x),i&&(o=n.naturalHeight-n.height-n.y),t)return{x:a,y:o};let{width:s,height:c}=rc(e);return{x:a/(n.naturalWidth/s),y:o/(n.naturalHeight/c)}};B(),B(),B(),B(),B();var oc=e=>!!e&&e.type===`image`&&!!e.fileId,sc=e=>!!e&&e.type===`image`,cc=e=>!!e&&e.type===`embeddable`,lc=e=>!!e&&e.type===`iframe`,uc=e=>!!e&&(e.type===`iframe`||e.type===`embeddable`),H=e=>e!=null&&e.type===`text`,dc=e=>e!=null&&e.type===`frame`,fc=e=>e!=null&&e.type===`magicframe`,U=e=>e!=null&&(e.type===`frame`||e.type===`magicframe`),pc=e=>e!=null&&mc(e.type),mc=e=>e===`freedraw`,hc=e=>e!=null&&bc(e.type),gc=e=>e!=null&&e.type===`line`,W=e=>e!=null&&e.type===`arrow`,G=e=>W(e)&&e.elbowed,_c=e=>W(e)&&!e.elbowed,vc=e=>W(e)&&!e.elbowed&&!e.roundness,yc=e=>W(e)&&!e.elbowed&&e.roundness!==null,bc=e=>e===`arrow`||e===`line`,xc=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&Sc(e.type),Sc=e=>e===`arrow`,Cc=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type===`rectangle`||e.type===`diamond`||e.type===`ellipse`||e.type===`image`||e.type===`iframe`||e.type===`embeddable`||e.type===`frame`||e.type===`magicframe`||e.type===`text`&&!e.containerId),wc=e=>e!=null&&(e.type===`rectangle`||e.type===`diamond`||e.type===`image`||e.type===`iframe`||e.type===`embeddable`||e.type===`frame`||e.type===`magicframe`||e.type===`text`&&!e.containerId),Tc=e=>e!=null&&(e.type===`rectangle`||e.type===`image`||e.type===`text`||e.type===`iframe`||e.type===`embeddable`||e.type===`frame`||e.type===`magicframe`||e.type===`freedraw`),Ec=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type===`rectangle`||e.type===`diamond`||e.type===`ellipse`||W(e)),Dc=e=>{let t=e?.type;if(!t)return!1;switch(t){case`text`:case`diamond`:case`rectangle`:case`iframe`:case`embeddable`:case`ellipse`:case`arrow`:case`freedraw`:case`line`:case`frame`:case`magicframe`:case`image`:case`selection`:return!0;default:return fa(t,null),!1}},Oc=e=>e.type===`rectangle`||e.type===`ellipse`||e.type===`diamond`,kc=e=>Ec(e)&&!!e.boundElements?.some(({type:e})=>e===`text`),Ac=e=>e!==null&&`containerId`in e&&e.containerId!==null&&H(e),jc=e=>!!e.startBinding||!!e.endBinding,Mc=e=>e===`rectangle`||e===`embeddable`||e===`iframe`||e===`image`,Nc=e=>e===`line`||e===`arrow`||e===`diamond`,Pc=(e,t)=>!!((e===lr.ADAPTIVE_RADIUS||e===lr.LEGACY)&&Mc(t.type)||e===lr.PROPORTIONAL_RADIUS&&Nc(t.type)),Fc=e=>Nc(e.type)?{type:lr.PROPORTIONAL_RADIUS}:Mc(e.type)?{type:lr.ADAPTIVE_RADIUS}:null,Ic=e=>vc(e)?`sharpArrow`:yc(e)?`curvedArrow`:G(e)?`elbowArrow`:`line`,Lc=e=>e.length>3&&se(e[0],e[e.length-1]),Rc=e=>e.length>3||e.length===3&&!se(e[0],e[e.length-1]),zc=new WeakMap,Bc=(e,t)=>{let n=zc.get(e);if(!n)return;let{version:r,shapes:i}=n;if(r!==e.version){zc.delete(e);return}return i.get(t)},Vc=(e,t,n)=>{let r=zc.get(e);if(!r){zc.set(e,{version:e.version,shapes:new Map([[n,t]])});return}let{version:i,shapes:a}=r;if(i!==e.version){zc.set(e,{version:e.version,shapes:new Map([[n,t]])});return}a.set(n,t)};function Hc(e){let t=Bc(e,0);if(t)return t;let n=fm(e),r=[],i=[];for(let t=0;t<n.length;t+=1){let a=n[t],o=n[t-1]&&ie(n[t-1].data.slice(-2));switch(a.op){case`move`:continue;case`lineTo`:if(!o)throw Error(`prevPoint is undefined`);r.push(P(j(e.x+o[0],e.y+o[1]),j(e.x+a.data[0],e.y+a.data[1])));continue;case`bcurveTo`:if(!o)throw Error(`prevPoint is undefined`);i.push(he(j(e.x+o[0],e.y+o[1]),j(e.x+a.data[0],e.y+a.data[1]),j(e.x+a.data[2],e.y+a.data[3]),j(e.x+a.data[4],e.y+a.data[5])));continue;default:console.error(`Unknown op type`,a.op)}}let a=[r,i];return Vc(e,a,0),a}function Uc(e,t=0){let n=Bc(e,t);if(n)return n;let r=qc(Math.min(e.width,e.height),e);r===0&&(r=.01);let i=qe(j(e.x,e.y),j(e.x+e.width,e.y+e.height)),a=P(j(i[0][0]+r,i[0][1]),j(i[1][0]-r,i[0][1])),o=P(j(i[1][0],i[0][1]+r),j(i[1][0],i[1][1]-r)),s=P(j(i[0][0]+r,i[1][1]),j(i[1][0]-r,i[1][1])),c=P(j(i[0][0],i[1][1]-r),j(i[0][0],i[0][1]+r)),l=[he(c[1],j(c[1][0]+2/3*(i[0][0]-c[1][0]),c[1][1]+2/3*(i[0][1]-c[1][1])),j(a[0][0]+2/3*(i[0][0]-a[0][0]),a[0][1]+2/3*(i[0][1]-a[0][1])),a[0]),he(a[1],j(a[1][0]+2/3*(i[1][0]-a[1][0]),a[1][1]+2/3*(i[0][1]-a[1][1])),j(o[0][0]+2/3*(i[1][0]-o[0][0]),o[0][1]+2/3*(i[0][1]-o[0][1])),o[0]),he(o[1],j(o[1][0]+2/3*(i[1][0]-o[1][0]),o[1][1]+2/3*(i[1][1]-o[1][1])),j(s[1][0]+2/3*(i[1][0]-s[1][0]),s[1][1]+2/3*(i[1][1]-s[1][1])),s[1]),he(s[0],j(s[0][0]+2/3*(i[0][0]-s[0][0]),s[0][1]+2/3*(i[1][1]-s[0][1])),j(c[0][0]+2/3*(i[0][0]-c[0][0]),c[0][1]+2/3*(i[1][1]-c[0][1])),c[0])],u=t>0?l.map(e=>we(Te(e,t))):[[l[0]],[l[1]],[l[2]],[l[3]]],d=[[P(u[0][u[0].length-1][3],u[1][0][0]),P(u[1][u[1].length-1][3],u[2][0][0]),P(u[2][u[2].length-1][3],u[3][0][0]),P(u[3][u[3].length-1][3],u[0][0][0])],u.flat()];return Vc(e,d,t),d}function Wc(e,t=0){let[n,r,i,a,o,s,c,l]=Om(e),u=e.roundness?qc(Math.abs(n-c),e):(n-c)*.01,d=e.roundness?qc(Math.abs(a-r),e):(a-r)*.01,[f,p,m,h]=[j(e.x+n,e.y+r),j(e.x+i,e.y+a),j(e.x+o,e.y+s),j(e.x+c,e.y+l)];return[he(j(p[0]-u,p[1]-d),p,p,j(p[0]-u,p[1]+d)),he(j(m[0]+u,m[1]-d),m,m,j(m[0]-u,m[1]-d)),he(j(h[0]+u,h[1]+d),h,h,j(h[0]+u,h[1]-d)),he(j(f[0]-u,f[1]+d),f,f,j(f[0]+u,f[1]+d))]}function Gc(e,t=0){let n=Bc(e,t);if(n)return n;let r=Wc(e,t).map(e=>we(Te(e,t))),i=[[P(r[0][r[0].length-1][3],r[1][0][0]),P(r[1][r[1].length-1][3],r[2][0][0]),P(r[2][r[2].length-1][3],r[3][0][0]),P(r[3][r[3].length-1][3],r[0][0][0])],r.flat()];return Vc(e,i,t),i}var Kc=(e,t=1)=>{if(e.length>=3){let[n,r]=[e[0],e[e.length-1]];return N(n,r)<=8/t}return!1},qc=(e,t)=>{if(t.roundness?.type===lr.PROPORTIONAL_RADIUS||t.roundness?.type===lr.LEGACY)return e*cr;if(t.roundness?.type===lr.ADAPTIVE_RADIUS){let n=t.roundness?.value??32;return e<=n/.25?e*cr:n}return 0},Jc=(e,t)=>{let n=e.type===`rectangle`?15:0,r=e=>{let t=A(ne(T(e[1],e[0])),n);return P(ce(e[0],t),ce(e[1],A(t,-1)))},i=eh(e,t);return[r(Tc(e)?P(M(j(e.x,e.y),i,e.angle),M(j(e.x+e.width,e.y+e.height),i,e.angle)):P(M(j(e.x+e.width/2,e.y),i,e.angle),M(j(e.x+e.width/2,e.y+e.height),i,e.angle))),r(Tc(e)?P(M(j(e.x+e.width,e.y),i,e.angle),M(j(e.x,e.y+e.height),i,e.angle)):P(M(j(e.x,e.y+e.height/2),i,e.angle),M(j(e.x+e.width,e.y+e.height/2),i,e.angle)))]},Yc=(e,t,n,r)=>{let i=eh(t,n);return(t.type===`diamond`?Wc(t).map(e=>{let n=M(_e(e,.5),i,t.angle);return j(n[0],n[1])}):[M(j(t.x+t.width,t.y+t.height/2),i,t.angle),M(j(t.x+t.width/2,t.y+t.height),i,t.angle),M(j(t.x,t.y+t.height/2),i,t.angle),M(j(t.x+t.width/2,t.y),i,t.angle)]).find(i=>N(e,i)<=Cd(r)+t.strokeWidth/2&&!du({point:e,element:t,threshold:0,elementsMap:n,overrideShouldTestInside:!0}))},Xc=(e,t,n,r,i,a,o=!0)=>{if(z(e.points.length>=2,`Arrow must have at least two points`),e.width<3&&e.height<3)return null;if(o){let e=Yc(t,n,i,a);if(e)return e}let[s,c]=Jc(n,i),l=J.getPointAtIndexGlobalCoordinates(e,r===`start`?1:e.points.length-2,i);if(e.points.length===2){let t=r===`start`?e.endBinding:e.startBinding,n=t&&i.get(t.elementId),a=t&&n&&of(uf(t.fixedPoint),n,i);a&&(l=a)}let u=P(oe(A(T(t,l),2*N(l,t)+Math.max(N(s[0],s[1]),N(c[0],c[1]))),l),l),d=Ie(s,u),f=Ie(c,u),p=d&&N(l,d),m=f&&N(l,f),h=null;return h=p!=null&&m!=null?p<m?d:f:d||f||null,h&&Du(h,n,i)?h:null};B(),B();var Zc={},Qc=(e,t)=>{let n=Zc[e]||(Zc[e]={height:t});return n.height=t,n},$c=e=>{Zc[e]&&delete Zc[e]},el=e=>Zc[e]?.height??null;B();var tl=(e,t,n)=>{let r=e.split(`
6
+ `).map(e=>e||` `).join(`
7
+ `),i=hl(r,parseFloat(t),n);return{width:ml(r,t),height:i}},nl=`ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`.toLocaleUpperCase(),rl=(e,t)=>{let n=_l(e);return n===0?tl(nl.split(``).join(`
8
+ `),e,t).width+10:n+10},il=(e,t)=>tl(``,e,t).width+10,al=()=>ml(nl,Si({fontSize:20,fontFamily:Ln}))>0,ol=e=>ya(e).replace(/\t/g,` `),sl=e=>ol(e).split(`
9
+ `),cl=e=>{let t=sl(e.text).length;return e.height/t/e.fontSize},ll=(e,t)=>e*t,ul=(e,t)=>ll(e,t)+10,dl,fl=class{canvas;constructor(){this.canvas=document.createElement(`canvas`)}getLineWidth(e,t){let n=this.canvas.getContext(`2d`);n.font=t;let r=n.measureText(e).width;return ea()?r*10:r}},pl=(e,t)=>(dl||=new fl,dl.getLineWidth(e,t)),ml=(e,t)=>{let n=sl(e),r=0;return n.forEach(e=>{r=Math.max(r,pl(e,t))}),r},hl=(e,t,n)=>{let r=sl(e).length;return ll(t,n)*r},gl=(()=>{let e={};return{calculate:(t,n)=>{let r=t.charCodeAt(0);if(e[n]||(e[n]=[]),!e[n][r]){let i=pl(t,n);e[n][r]=i}return e[n][r]},getCache:t=>e[t],clearCache:t=>{e[t]=[]}}})(),_l=e=>{let t=gl.getCache(e);if(!t)return 0;let n=t.filter(e=>e!==void 0);return Math.max(...n)};B();var vl,yl,bl,xl=e=>(vl||=K.class(...Object.values(Tl)),vl.test(e)),Sl=()=>{if(!yl)try{yl=Ol()}catch{yl=Dl()}return yl},Cl=()=>(bl||=kl(),bl),wl={WHITESPACE:/\s/u,HYPHEN:/-/u,OPENING:/<\(\[\{/u,CLOSING:/>\)\]\}.,:;!\?…\//u},Tl={CHAR:/\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}`'^〃〰〆#&*+-ー/\=|¦〒¬ ̄/u,OPENING:/([{〈《⦅「「『【〖〔〘〚<〝/u,CLOSING:/)]}〉》⦆」」』】〗〕〙〛>。.,、〟‥?!:;・〜〞/u,CURRENCY:/¥₩£¢$/u},El={FLAG:/\p{RI}\p{RI}/u,JOINER:/(?:\p{Emoji_Modifier}|\uFE0F\u20E3?|[\u{E0020}-\u{E007E}]+\u{E007F})?/u,ZWJ:/\u200D/u,ANY:/[\p{Emoji}]/u,MOST:/[\p{Extended_Pictographic}\p{Emoji_Presentation}]/u},Dl=()=>K.or(Cl(),Al.On(wl.HYPHEN,wl.WHITESPACE,Tl.CHAR)),Ol=()=>K.or(Cl(),Al.Before(wl.WHITESPACE).Build(),Al.After(wl.WHITESPACE,wl.HYPHEN).Build(),Al.Before(Tl.CHAR,Tl.CURRENCY).NotPrecededBy(wl.OPENING,Tl.OPENING).Build(),Al.After(Tl.CHAR).NotFollowedBy(wl.HYPHEN,wl.CLOSING,Tl.CLOSING).Build(),Al.BeforeMany(Tl.OPENING).NotPrecededBy(wl.OPENING).Build(),Al.AfterMany(Tl.CLOSING).NotFollowedBy(wl.CLOSING).Build(),Al.AfterMany(wl.CLOSING).FollowedBy(wl.OPENING).Build()),kl=()=>K.group(K.or(El.FLAG,K.and(El.MOST,El.JOINER,K.build(`(?:${El.ZWJ.source}(?:${El.FLAG.source}|${El.ANY.source}${El.JOINER.source}))*`)))),K={build:e=>new RegExp(e,`u`),join:(...e)=>e.map(e=>e.source).join(``),and:(...e)=>K.build(K.join(...e)),or:(...e)=>K.build(e.map(e=>e.source).join(`|`)),group:(...e)=>K.build(`(${K.join(...e)})`),class:(...e)=>K.build(`[${K.join(...e)}]`)},Al={On:(...e)=>{let t=K.join(...e);return K.build(`([${t}])`)},Before:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?=[${t}])`))},After:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?<=[${t}])`))},BeforeMany:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?<![${t}])(?=[${t}])`))},AfterMany:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?<=[${t}])(?![${t}])`))},NotBefore:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?![${t}])`))},NotAfter:(...e)=>{let t=K.join(...e);return Al.Chain(()=>K.build(`(?<![${t}])`))},Chain:e=>({Build:e,PreceededBy:(...t)=>{let n=e(),r=Al.After(...t).Build();return Al.Chain(()=>K.and(r,n))},FollowedBy:(...t)=>{let n=e(),r=Al.Before(...t).Build();return Al.Chain(()=>K.and(n,r))},NotPrecededBy:(...t)=>{let n=e(),r=Al.NotAfter(...t).Build();return Al.Chain(()=>K.and(r,n))},NotFollowedBy:(...t)=>{let n=e(),r=Al.NotBefore(...t).Build();return Al.Chain(()=>K.and(n,r))}})},jl=e=>{let t=Sl();return e.normalize(`NFC`).split(t).filter(Boolean)},Ml=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let r=[],i=e.split(`
10
+ `);for(let e of i){if(pl(e,t)<=n){r.push(e);continue}let i=Nl(e,t,n);r.push(...i)}return r.join(`
11
+ `)},Nl=(e,t,n)=>{let r=[],i=jl(e)[Symbol.iterator](),a=``,o=0,s=i.next();for(;!s.done;){let e=s.value,c=a+e,l=Il(e)?o+gl.calculate(e,t):pl(c,t);if(/\s/.test(e)||l<=n){a=c,o=l,s=i.next();continue}if(a)r.push(a.trimEnd()),a=``,o=0;else{let c=Pl(e,t,n),l=c[c.length-1]??``,u=c.slice(0,-1);r.push(...u),a=l,o=pl(l,t),s=i.next()}}if(a){let e=Fl(a,t,n);r.push(e)}return r},Pl=(e,t,n)=>{if(Cl().test(e))return[e];Ll(e);let r=[],i=Array.from(e),a=``,o=0;for(let e of i){let i=gl.calculate(e,t),s=o+i;if(s<=n){a+=e,o=s;continue}a&&r.push(a),a=e,o=i}return a&&r.push(a),r},Fl=(e,t,n)=>{if(!(pl(e,t)>n))return e;let[,r,i]=e.match(/^(.+?)(\s+)$/)??[e,e.trimEnd(),``],a=pl(r,t);for(let e of Array.from(i)){let i=gl.calculate(e,t),o=a+i;if(o>n)break;r+=e,a=o}return r},Il=e=>e.codePointAt(0)!==void 0&&e.codePointAt(1)===void 0,Ll=e=>{if((ea()||ta())&&/\s/.test(e))throw Error(`Word should not contain any whitespaces!`)},Rl=(e,t,n)=>{let r=n.getNonDeletedElementsMap(),i;na()||z(!t||!W(t)||e.angle===0,`text element angle must be 0 if bound to arrow container`);let a={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height,angle:t?W(t)?0:t.angle:e.angle};a.text=e.text,(t||!e.autoResize)&&(i=t?Zl(t,e):e.width,a.text=Ml(e.originalText,Si(e),i));let o=tl(a.text,Si(e),e.lineHeight);if(e.autoResize&&(a.width=o.width),a.height=o.height,t){let i=Ql(t,e),s=Zl(t,e);if(!W(t)&&o.height>i){let e=Xl(o.height,t.type);n.mutateElement(t,{height:e}),Qc(t.id,e)}if(o.width>s){let e=Xl(o.width,t.type);n.mutateElement(t,{width:e})}let{x:c,y:l}=Bl(t,{...e,...a},r);a.x=c,a.y=l}n.mutateElement(e,a)},zl=(e,t,n,r=!1)=>{let i=t.getNonDeletedElementsMap();if(!Vl(e))return;$c(e.id);let a=q(e,i);if(a&&a.text){if(!e)return;let o=a.text,s=a.height,c=a.width,l=Zl(e,a),u=Ql(e,a),d=e.height;if(r||n!==`n`&&n!==`s`){o&&=Ml(a.originalText,Si(a),l);let e=tl(o,Si(a),a.lineHeight);s=e.height,c=e.width}if(s>u){d=Xl(s,e.type);let r=d-e.height,i=!W(e)&&(n===`ne`||n===`nw`||n===`n`)?e.y-r:e.y;t.mutateElement(e,{height:d,y:i})}t.mutateElement(a,{text:o,width:c,height:s}),W(e)||t.mutateElement(a,Bl(e,a,i))}},Bl=(e,t,n)=>{if(W(e))return J.getBoundTextElementPosition(e,t,n);let r=Wl(e),i=Ql(e,t),a=Zl(e,t),o,s;s=t.verticalAlign===or.TOP?r.y:t.verticalAlign===or.BOTTOM?r.y+(i-t.height):r.y+(i/2-t.height/2),o=t.textAlign===sr.LEFT?r.x:t.textAlign===sr.RIGHT?r.x+(a-t.width):r.x+(a/2-t.width/2);let c=e.angle??0;if(c!==0){let e=j(r.x+a/2,r.y+i/2),[n,l]=M(j(o+t.width/2,s+t.height/2),e,c);return{x:n-t.width/2,y:l-t.height/2}}return{x:o,y:s}},Vl=e=>e?.boundElements?.length&&e?.boundElements?.find(e=>e.type===`text`)?.id||null,q=(e,t)=>{if(!e)return null;let n=Vl(e);return n&&t.get(n)||null},Hl=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,Ul=(e,t,n)=>{if(!W(e))return{x:e.x+e.width/2,y:e.y+e.height/2};if(J.getPointsGlobalCoordinates(e,n).length%2==1){let t=Math.floor(e.points.length/2),r=J.getPointGlobalCoordinates(e,e.points[t],n);return{x:r[0],y:r[1]}}let r=e.points.length/2-1,i=J.getEditorMidPoints(e,n,t)[r];return i||=J.getSegmentMidPoint(e,r+1),{x:i[0],y:i[1]}},Wl=e=>{let t=5,n=5;return e.type===`ellipse`&&(t+=e.width/2*(1-Math.sqrt(2)/2),n+=e.height/2*(1-Math.sqrt(2)/2)),e.type===`diamond`&&(t+=e.width/4,n+=e.height/4),{x:e.x+t,y:e.y+n}},Gl=(e,t)=>W(t)?0:t?t.angle:e.angle,Kl=(e,t)=>e.some(e=>Ac(e)?!W(Hl(e,t)):!1),ql=(e,t)=>e.some(e=>Ac(e)?!W(Hl(e,t)):H(e)),Jl=new Set([`rectangle`,`ellipse`,`diamond`,`arrow`]),Yl=e=>Jl.has(e.type),Xl=(e,t)=>(e=Math.ceil(e),t===`ellipse`?Math.round((e+10)/Math.sqrt(2)*2):t===`arrow`?e+80:t===`diamond`?2*(e+10):e+10),Zl=(e,t)=>{let{width:n}=e;if(W(e)){let e=(t?.fontSize??20)*11;return Math.max(ar*n,e)}return e.type===`ellipse`?Math.round(n/2*Math.sqrt(2))-10:e.type===`diamond`?Math.round(n/2)-10:n-10},Ql=(e,t)=>{let{height:n}=e;return W(e)?n-80<=0?t.height:n:e.type===`ellipse`?Math.round(n/2*Math.sqrt(2))-10:e.type===`diamond`?Math.round(n/2)-10:n-10},$l=(e,t=`
12
+
13
+ `)=>e.reduce((e,t)=>(H(t)&&e.push(t.text),e),[]).join(t);B();var eu=(e,t,n)=>{switch(e.type){case`selection`:case`rectangle`:case`image`:case`text`:case`iframe`:case`embeddable`:case`frame`:case`magicframe`:return tu(e,t,n);case`diamond`:return nu(e,t,n);case`ellipse`:return ru(e,t,n);case`line`:case`arrow`:case`freedraw`:return iu(e,n)}},tu=(e,t,n)=>{let r=M(n,eh(e,t),-e.angle),[i,a]=Uc(e);return Math.min(...i.map(e=>Fe(r,e)),...a.map(e=>Se(e,r)).filter(e=>e!==null))},nu=(e,t,n)=>{let r=M(n,eh(e,t),-e.angle),[i,a]=Gc(e);return Math.min(...i.map(e=>Fe(r,e)),...a.map(e=>Se(e,r)).filter(e=>e!==null))},ru=(e,t,n)=>{let r=eh(e,t);return Ae(M(n,r,-e.angle),ke(r,e.width/2,e.height/2))},iu=(e,t)=>{let[n,r]=Hc(e);return Math.min(...n.map(e=>Fe(t,e)),...r.map(e=>Se(e,t)))},au=e=>{if(e.type===`arrow`)return!1;let t=!dn(e.backgroundColor)||kc(e)||uc(e)||H(e);return e.type===`line`||e.type===`freedraw`?t&&Kc(e.points):t||sc(e)},ou=null,su=null,cu=1/0,lu=!1,uu=!1,du=({point:e,element:t,threshold:n,elementsMap:r,frameNameBound:i=null,overrideShouldTestInside:a=!1})=>{if(ou&&se(e,ou)&&cu<=n&&a===uu){let e=su?.deref();if(e&&e.id===t.id&&e.version===t.version&&e.versionNonce===t.versionNonce)return lu}let o=i?fe(j(i.x-n,i.y-n),e,j(i.x+i.width+n,i.y+i.height+n)):!1,s=Hm(t,r,!0);if(!fe(j(s[0]-n,s[1]-n),M(e,Xm(s),-t.angle),j(s[2]+n,s[3]+n))&&!o)return!1;let c=(a||au(t))&&Du(e,t,r)||Eu(e,t,r,n)||o;return ou=e,su=new WeakRef(t),cu=n,uu=a,lu=c,c},fu=(e,t,n,r=0)=>{let[i,a,o,s]=Hm(t,n);return i-=r,a-=r,o+=r,s+=r,fe(j(i,a),e,j(o,s))},pu=(e,t)=>!du(e)&&!mu(e.point,e.element,t)&&fu(e.point,e.element,t),mu=(e,t,n)=>{let r=q(t,n);return r?Du(e,hc(t)?{...r,...J.getBoundTextElementPosition(t,r,n)}:r,n):!1},hu=(e,[t,n],r,i=0)=>{let a=j(t,n),o=!U(e),s=Math.max(1,i);if(!$m([t-s,n-s,t+s,n+s],Hm(e,r)))return!1;if(e.frameId){let t=r.get(e.frameId);if(t&&U(t)&&!Qm(a,Hm(t,r)))return!1}let c=yu(e,r,P(eh(e,r),a)),l=eu(e,r,a);return o?c.length===0||l<=i:c.length>0&&l<=s},gu=(e,t,n,r)=>{let i=[];for(let a=t.length-1;a>=0;--a){let o=t[a];if(z(!o.isDeleted,`Elements in the function parameter for getAllElementsAtPositionForBinding() should not contain deleted elements`),Cc(o,!1)&&hu(o,e,n,r)&&(i.push(o),!dn(o.backgroundColor)))break}return i},_u=(e,t,n,r)=>{let i=gu(e,t,n,r);return!i||i.length===0?null:i.length===1?i[0]:i.sort((e,t)=>t.width**2+t.height**2-(e.width**2+e.height**2)).pop()},vu=(e,t,n,r,i)=>{let a=[];for(let t=n.length-1;t>=0;--t){let o=n[t];z(!o.isDeleted,`Elements in the function parameter for getAllElementsAtPositionForBinding() should not contain deleted elements`),Cc(o,!1)&&hu(o,e,r,i)&&a.push(o)}if(!a||a.length===0)return null;if(a.length===1)return a[0];let o=a.filter(n=>eu(n,r,e)<=Sd(n,t)||Du(e,n,r));return o.length===0?null:o[0]},yu=(e,t,n,r=0,i=!1)=>{if(!$m([Math.min(n[0][0]-r,n[1][0]-r),Math.min(n[0][1]-r,n[1][1]-r),Math.max(n[0][0]+r,n[1][0]+r),Math.max(n[0][1]+r,n[1][1]+r)],Hm(e,t)))return[];switch(e.type){case`rectangle`:case`image`:case`text`:case`iframe`:case`embeddable`:case`frame`:case`selection`:case`magicframe`:return Cu(e,t,n,r,i);case`diamond`:return wu(e,t,n,r,i);case`ellipse`:return Tu(e,t,n,r);case`line`:case`freedraw`:case`arrow`:return Su(e,n,i)}},bu=(e,t,n,r,i,a=!1)=>{for(let o of e){if(!$m(jm(o[0],o[1],o[2],o[3]),[Math.min(t[0][0],t[1][0]),Math.min(t[0][1],t[1][1]),Math.max(t[0][0],t[1][0]),Math.max(t[0][1],t[1][1])]))continue;let e=be(o,t);if(e.length>0){for(let t of e)n.push(M(t,r,i));if(a)return n}}return n},xu=(e,t,n,r,i,a=!1)=>{for(let o of e){let e=Ie(o,t);if(e&&(n.push(M(e,r,i)),a))return n}return n},Su=(e,t,n=!1)=>{let[r,i]=Hc(e),a=[];for(let e of r){let r=Ie(e,t);if(r&&(a.push(r),n))return a}for(let e of i){if(!$m(jm(e[0],e[1],e[2],e[3]),[Math.min(t[0][0],t[1][0]),Math.min(t[0][1],t[1][1]),Math.max(t[0][0],t[1][0]),Math.max(t[0][1],t[1][1])]))continue;let r=be(e,t);if(r.length>0&&(a.push(...r),n))return a}return a},Cu=(e,t,n,r=0,i=!1)=>{let a=eh(e,t),o=P(M(n[0],a,-e.angle),M(n[1],a,-e.angle)),[s,c]=Uc(e,r),l=[];return xu(s,o,l,a,e.angle,i),i&&l.length>0||bu(c,o,l,a,e.angle,i),l},wu=(e,t,n,r=0,i=!1)=>{let a=eh(e,t),o=P(M(n[0],a,-e.angle),M(n[1],a,-e.angle)),[s,c]=Gc(e,r),l=[];return xu(s,o,l,a,e.angle,i),i&&l.length>0||bu(c,o,l,a,e.angle,i),l},Tu=(e,t,n,r=0)=>{let i=eh(e,t),a=M(n[0],i,-e.angle),o=M(n[1],i,-e.angle);return je(ke(i,e.width/2+r,e.height/2+r),P(a,o)).map(t=>M(t,i,e.angle))},Eu=(e,t,n,r=1)=>eu(t,n,e)<=r,Du=(e,t,n)=>{if((hc(t)||pc(t))&&!Kc(t.points))return!1;let[r,i,a,o]=Hm(t,n);if(!fe(j(r,i),e,j(a,o)))return!1;let s=j((r+a)/2,(i+o)/2);return yu(t,n,P(e,oe(A(ne(T(e,s,.1)),Math.max(t.width,t.height)*2),s))).filter((e,t,n)=>n.findIndex(t=>se(t,e))===t).length%2==1},Ou=(e,t,n)=>((e,t)=>{let{x:r,y:i,width:a,height:o,angle:s}=e,c=eh(e,n);if(e.type===`diamond`){let[n,a,o,l,u,d,f,p]=Om(e);return[j(r+n,i+a-t),j(r+o+t,i+l),j(r+u,i+d+t),j(r+f-t,i+p)].map(e=>M(e,c,s))}if(e.type===`ellipse`){let e=r+a/2,n=i+o/2,l=a/2,u=o/2;return[j(e,n-u-t),j(e+l+t,n),j(e,n+u+t),j(e-l-t,n)].map(e=>M(e,c,s))}return[j(r-t,i-t),j(r+a+t,i-t),j(r+a+t,i+o+t),j(r-t,i+o+t)].map(e=>M(e,c,s))})(e,-1*Math.max(e.width,e.height)/20).every(e=>Du(e,t,n));B();var ku=[1,0],Au=[0,1],ju=[-1,0],Mu=[0,-1],Nu=e=>{let[t,n]=e,r=Math.abs(t),i=Math.abs(n);return t>i?ku:t<=-i?ju:n>r?Au:Mu},Pu=(e,t)=>Nu(T(e,t)),Fu=(e,t)=>Lu(Pu(e,t)),Iu=(e,t)=>e[0]===t[0]&&e[1]===t[1],Lu=e=>Iu(e,ku)||Iu(e,ju),Ru=(e,t,n)=>{let r=Xm(t);(ta()||ea())&&(z(e.width>0&&e.height>0,`Diamond element has no width or height`),z(!se(r,n),`The point is too close to the element mid point to determine heading`));let i=.95,a=oe(A(T(M(j(e.x+e.width/2,e.y),r,e.angle),r),i),r),o=oe(A(T(M(j(e.x+e.width,e.y+e.height/2),r,e.angle),r),i),r),s=oe(A(T(M(j(e.x+e.width/2,e.y+e.height),r,e.angle),r),i),r),c=oe(A(T(M(j(e.x,e.y+e.height/2),r,e.angle),r),i),r);return E(T(n,a),T(a,o))<=0&&E(T(n,a),T(a,c))>0?Pu(a,r):E(T(n,o),T(o,s))<=0&&E(T(n,o),T(o,a))>0?Pu(o,r):E(T(n,s),T(s,c))<=0&&E(T(n,s),T(s,o))>0?Pu(s,r):E(T(n,c),T(c,a))<=0&&E(T(n,c),T(c,s))>0?Pu(c,r):E(T(n,r),T(a,r))<=0&&E(T(n,r),T(o,r))>0?Pu(e.width>e.height?a:o,r):E(T(n,r),T(o,r))<=0&&E(T(n,r),T(s,r))>0?Pu(e.width>e.height?s:o,r):E(T(n,r),T(s,r))<=0&&E(T(n,r),T(c,r))>0?Pu(e.width>e.height?s:c,r):Pu(e.width>e.height?a:c,r)},zu=(e,t,n)=>{let r=Xm(t);if(e.type===`diamond`)return Ru(e,t,n);let i=de(j(t[0],t[1]),r,2),a=de(j(t[2],t[1]),r,2),o=de(j(t[0],t[3]),r,2),s=de(j(t[2],t[3]),r,2);return Je([i,a,r],n)?Mu:Je([a,s,r],n)?ku:Je([s,o,r],n)?Au:ju},Bu=e=>[e[0]===0?0:e[0]>0?-1:1,e[1]===0?0:e[1]>0?-1:1];B(),B();var Vu=1,Hu=(e,t)=>{let n=e.fixedSegments?e.fixedSegments.slice():null;if(n){let r=[];e.points.map(t=>j(e.x+t[0],e.y+t[1])).forEach((t,i,a)=>{if(i<2)return r.push(t);if(Iu(Pu(t,a[i-1]),Pu(a[i-1],a[i-2]))){let t=n?.findIndex(e=>e.index===i-1)??-1,o=n?.findIndex(e=>e.index===i)??-1;o!==-1&&(n[o].start=j(a[i-2][0]-e.x,a[i-2][1]-e.y)),t!==-1&&n.splice(t,1),r.splice(-1,1),n.forEach(e=>{e.index>i-1&&--e.index})}return r.push(t)});let i=[];r.forEach((e,t,r)=>{if(t<3)return i.push(e);if(N(r[t-2],r[t-1])<Vu){let a=n?.findIndex(e=>e.index===t-2)??-1,o=n?.findIndex(e=>e.index===t-1)??-1;o!==-1&&n.splice(o,1),a!==-1&&n.splice(a,1),i.splice(-2,2),n.forEach(e=>{e.index>t-2&&(e.index-=2)});let s=Fu(e,r[t-1]);return i.push(j(s?e[0]:r[t-2][0],s?r[t-2][1]:e[1]))}i.push(e)});let a=n.filter(e=>e.index!==1&&e.index!==i.length-1);return a.length===0?ld(ud(dd(Yu(e,Ju(e,t,i.map(t=>j(t[0]-e.x,t[1]-e.y))))??[])),a,null,null):(ta()&&z(_d(i),`Invalid elbow points with fixed segments`),ld(i,a,e.startIsSpecial,e.endIsSpecial))}return{x:e.x,y:e.y,points:e.points,fixedSegments:e.fixedSegments,startIsSpecial:e.startIsSpecial,endIsSpecial:e.endIsSpecial}},Uu=(e,t,n)=>{let r=t.map(e=>e.index),i=(e.fixedSegments?.map(e=>e.index)??[]).findIndex(e=>!r.includes(e));if(i===-1||!e.fixedSegments?.[i])return{points:e.points};let a=e.fixedSegments[i].index,o=e.fixedSegments[i-1],s=e.fixedSegments[i+1],c=e.x+(o?o.end[0]:0),l=e.y+(o?o.end[1]:0),{startHeading:u,endHeading:d,startGlobalPoint:f,endGlobalPoint:p,hoveredStartElement:m,hoveredEndElement:h,...g}=Ju({x:c,y:l,startBinding:o?null:e.startBinding,endBinding:s?null:e.endBinding,startArrowhead:null,endArrowhead:null,points:e.points},n,[j(0,0),j(e.x+(s?.start[0]??e.points[e.points.length-1][0])-c,e.y+(s?.start[1]??e.points[e.points.length-1][1])-l)],{isDragging:!1}),{points:_}=ld(ud(dd(Yu(e,{startHeading:u,endHeading:d,startGlobalPoint:f,endGlobalPoint:p,hoveredStartElement:m,hoveredEndElement:h,...g})??[])),t,null,null);if(!_||_.length<2)throw Error(`Property 'points' is required in the update returned by normalizeArrowElementUpdate()`);let v=[];if(o)for(let t=0;t<o.index;t++)v.push(j(e.x+e.points[t][0],e.y+e.points[t][1]));if(_.forEach(t=>{v.push(j(e.x+(o?o.end[0]:0)+t[0],e.y+(o?o.end[1]:0)+t[1]))}),s)for(let t=s.index;t<e.points.length;t++)v.push(j(e.x+e.points[t][0],e.y+e.points[t][1]));let y=(s?.index??e.points.length)-(o?.index??0)-1,b=t.map(e=>e.index>a?{...e,index:e.index-y+(_.length-1)}:e);return ld(v.flatMap((e,t)=>{let n=v[t-1],r=v[t+1];if(n&&r){let i=Pu(e,n),a=Pu(r,e);if(Iu(i,a))return b.forEach(e=>{e.index>t&&--e.index}),[];if(Iu(i,Bu(a)))return b.forEach(e=>{e.index>t&&(e.index+=1)}),[e,e]}return[e]}),b,!1,!1)},Wu=(e,t,n,r,i,a)=>{let o=t.map((t,n)=>e.fixedSegments==null||e.fixedSegments[n]===void 0||e.fixedSegments[n].index!==t.index||(t.start[0]!==e.fixedSegments[n].start[0]&&t.end[0]!==e.fixedSegments[n].end[0])!=(t.start[1]!==e.fixedSegments[n].start[1]&&t.end[1]!==e.fixedSegments[n].end[1])?n:null).filter(e=>e!==null).shift();if(o==null)return{points:e.points};let s=e.fixedSegments?.findIndex(e=>e.index===1)??-1,c=e.fixedSegments?.findIndex(t=>t.index===e.points.length-1)??-1,l=N(t[o].start,t[o].end),u=l<45;if(s===-1&&t[o].index===1&&i){let e=Lu(n),r=(e?Iu(n,ku):Iu(n,Au))?u?l/2:40:u?-l/2:-40;t[o].start=j(t[o].start[0]+(e?r:0),t[o].start[1]+(e?0:r))}if(c===-1&&t[o].index===e.points.length-1&&a){let e=Lu(r),n=(e?Iu(r,ku):Iu(r,Au))?u?l/2:40:u?-l/2:-40;t[o].end=j(t[o].end[0]+(e?n:0),t[o].end[1]+(e?0:n))}let d=t.map(t=>({...t,start:j(e.x+t.start[0],e.y+t.start[1]),end:j(e.x+t.end[0],e.y+t.end[1])})),f=e.points.map((t,n)=>j(e.x+t[0],e.y+t[1])),p=d[o].index-1,m=d[o].index,h=d[o].start,g=d[o].end,_=f[p-1]&&!se(f[p],f[p-1])?Fu(f[p-1],f[p]):void 0,v=f[m+1]&&!se(f[m],f[m+1])?Fu(f[m+1],f[m]):void 0;if(_!==void 0){let e=_?1:0;f[p-1][e]=h[e]}if(f[p]=h,f[m]=g,v!==void 0){let e=v?1:0;f[m+1][e]=g[e]}let y=d.findIndex(e=>e.index===p);if(y!==-1){let e=Fu(d[y].end,d[y].start)?1:0;d[y].start[e]=h[e],d[y].end=h}let b=d.findIndex(e=>e.index===m+1);if(b!==-1){let e=Fu(d[b].end,d[b].start)?1:0;d[b].end[e]=g[e],d[b].start=g}if(s===-1&&p===0){let t=i?Lu(n):Fu(f[1],f[0]);f.unshift(j(t?h[0]:e.x+e.points[0][0],t?e.y+e.points[0][1]:h[1])),i&&f.unshift(j(e.x+e.points[0][0],e.y+e.points[0][1]));for(let e of d)e.index+=i?2:1}if(c===-1&&m===e.points.length-1){let t=Lu(r);f.push(j(t?g[0]:e.x+e.points[e.points.length-1][0],t?e.y+e.points[e.points.length-1][1]:g[1])),a&&f.push(j(e.x+e.points[e.points.length-1][0],e.y+e.points[e.points.length-1][1]))}return ld(f,d.map(t=>({...t,start:j(t.start[0]-e.x,t.start[1]-e.y),end:j(t.end[0]-e.x,t.end[1]-e.y)})),!1,!1)},Gu=(e,t,n,r,i,a,o,s,c)=>{let l=e.startIsSpecial??null,u=e.endIsSpecial??null,d=t.map((n,r)=>r===0||r===t.length-1?j(e.x+n[0],e.y+n[1]):j(e.x+e.points[r][0],e.y+e.points[r][1])),f=n.map(n=>({...n,start:j(e.x+(n.start[0]-t[0][0]),e.y+(n.start[1]-t[0][1])),end:j(e.x+(n.end[0]-t[0][0]),e.y+(n.end[1]-t[0][1]))})),p=[],m=2+(l?1:0),h=2+(u?1:0);for(;p.length+m<d.length-h;)p.push(d[p.length+m]);{let e=d.at(l?2:1),t=d.at(l?3:2);if(!e||!t)throw Error(`Second and third points must exist when handling endpoint drag (${l})`);let n=Lu(r),i=Lu(Nu(T(e,t)));if(s&&n===i){let e=n?Iu(r,ku):Iu(r,Au);if(p.unshift(j(i?a[0]+(e?40:-40):t[0],i?t[1]:a[1]+(e?40:-40))),p.unshift(j(n?a[0]+(e?40:-40):a[0],n?a[1]:a[1]+(e?40:-40))),!l){l=!0;for(let e of f)e.index>1&&(e.index+=1)}}else if(p.unshift(j(i?a[0]:e[0],i?e[1]:a[1])),l){l=!1;for(let e of f)e.index>1&&--e.index}p.unshift(a)}{let e=d.at(d.length-(u?3:2)),t=d.at(d.length-(u?4:3));if(!e||!t)throw Error(`Second and third to last points must exist when handling endpoint drag (${u})`);let n=Lu(i),r=Fu(t,e);if(c&&n===r){let e=n?Iu(i,ku):Iu(i,Au);p.push(j(r?o[0]+(e?40:-40):t[0],r?t[1]:o[1]+(e?40:-40))),p.push(j(n?o[0]+(e?40:-40):o[0],n?o[1]:o[1]+(e?40:-40))),u||=!0}else p.push(j(r?o[0]:e[0],r?e[1]:o[1])),u&&=!1}return p.push(o),ld(p,f.map(({index:e})=>({index:e,start:p[e-1],end:p[e]})).map(e=>({...e,start:j(e.start[0]-a[0],e.start[1]-a[1]),end:j(e.end[0]-a[0],e.end[1]-a[1])})),l,u)},Ku=1e6,qu=(e,t,n,r)=>{if(e.points.length<2)return{points:n.points??e.points};ro.PROD||(z(!n.points||n.points.length>=2,`Updated point array length must match the arrow point length, contain exactly the new start and end points or not be specified at all (i.e. you can't add new points between start and end manually to elbow arrows)`),z(!e.fixedSegments||e.fixedSegments.map(e=>e.start[0]===e.end[0]||e.start[1]===e.end[1]).every(Boolean),`Fixed segments must be either horizontal or vertical`),z(!n.fixedSegments||n.fixedSegments.map(e=>e.start[0]===e.end[0]||e.start[1]===e.end[1]).every(Boolean),`Updates to fixed segments must be either horizontal or vertical`),z(e.points.slice(1).map((t,n)=>t[0]===e.points[n][0]||t[1]===e.points[n][1]),`Elbow arrow segments must be either horizontal or vertical`),z(n.fixedSegments?.find(t=>t.index===1&&se(t.start,(n.points??e.points)[0]))==null&&n.fixedSegments?.find(t=>t.index===(n.points??e.points).length-1&&se(t.end,(n.points??e.points)[(n.points??e.points).length-1]))==null,`The first and last segments cannot be fixed`));let i=n.fixedSegments??e.fixedSegments??[],a=n.points?n.points&&n.points.length===2?e.points.map((t,r)=>r===0?n.points[0]:r===e.points.length-1?n.points[1]:t):n.points.slice():e.points.slice(),{startBinding:o,endBinding:s,...c}=n,l=typeof o<`u`?o:e.startBinding,u=typeof s<`u`?s:e.endBinding,d=l&&cd(l.elementId,t),f=u&&cd(u.elementId,t),p=_d(a);if(l&&!d&&p||u&&!f&&p||t.size===0&&p||Object.keys(c).length===0&&(d?.id!==l?.elementId||f?.id!==u?.elementId))return ld(a.map(t=>j(e.x+t[0],e.y+t[1])),e.fixedSegments,e.startIsSpecial,e.endIsSpecial);let{startHeading:m,endHeading:h,startGlobalPoint:g,endGlobalPoint:_,hoveredStartElement:v,hoveredEndElement:y,...b}=Ju({x:e.x,y:e.y,startBinding:l,endBinding:u,startArrowhead:e.startArrowhead,endArrowhead:e.endArrowhead,points:e.points},t,a,r);return t.size===0&&p?ld(a.map(t=>j(e.x+t[0],e.y+t[1])),e.fixedSegments,e.startIsSpecial,e.endIsSpecial):!n.points&&!n.fixedSegments&&!n.startBinding&&!n.endBinding?Hu(e,t):n.startBinding===e.startBinding&&n.endBinding===e.endBinding&&(n.points??[]).every((t,n)=>se(t,e.points[n]??j(1/0,1/0)))&&p?{}:i.length===0?ld(ud(dd(Yu(e,{startHeading:m,endHeading:h,startGlobalPoint:g,endGlobalPoint:_,hoveredStartElement:v,hoveredEndElement:y,...b})??[])),i,null,null):(e.fixedSegments?.length??0)>i.length?Uu(e,i,t):n.points?n.points&&n.fixedSegments?n:Gu(e,a,i,m,h,g,_,v,y):Wu(e,i,m,h,v,y)},Ju=(e,t,n,r)=>{let i=ce(n[0],w(e.x,e.y)),a=ce(n[n.length-1],w(e.x,e.y)),o=null,s=null;if(r?.isDragging&&r?.isBindingEnabled!==!1){let e=Array.from(t.values());o=hd(i,t,e,r?.zoom)||null,s=hd(a,t,e,r?.zoom)||null}else o=e.startBinding&&cd(e.startBinding.elementId,t)||null,s=e.endBinding&&cd(e.endBinding.elementId,t)||null;let c=pd({...e,angle:0,type:`arrow`,elbowed:!0,points:n},`start`,e.startBinding?.fixedPoint,i,o,t,r?.isDragging,r?.isBindingEnabled,r?.isMidpointSnappingEnabled),l=pd({...e,angle:0,type:`arrow`,elbowed:!0,points:n},`end`,e.endBinding?.fixedPoint,a,s,t,r?.isDragging,r?.isBindingEnabled,r?.isMidpointSnappingEnabled),u=md(c,l,o,i,t,r?.zoom),d=md(l,c,s,a,t,r?.zoom),f=[c[0]-2,c[1]-2,c[0]+2,c[1]+2],p=[l[0]-2,l[1]-2,l[0]+2,l[1]+2],m=o?Zm(o,t,Xu(u,e.startArrowhead?Sd(o,{elbowed:!0})*6:Sd(o,{elbowed:!0})*2,1)):f,h=s?Zm(s,t,Xu(d,e.endArrowhead?Sd(s,{elbowed:!0})*6:Sd(s,{elbowed:!0})*2,1)):p,g=Qm(c,s?Zm(s,t,Xu(d,40,40)):p)||Qm(l,o?Zm(o,t,Xu(u,40,40)):f),_=sd(g?[f,p]:[m,h]),v=ed(g?f:m,g?p:h,_,g?Xu(u,!o&&!s?0:40,0):Xu(u,!o&&!s?0:40-(e.startArrowhead?30:10),40),g?Xu(d,!o&&!s?0:40,0):Xu(d,!o&&!s?0:40-(e.endArrowhead?30:10),40),g,o&&Zm(o,t),s&&Zm(s,t));return{dynamicAABBs:v,startDonglePosition:nd(v[0],u,c),startGlobalPoint:c,startHeading:u,endDonglePosition:nd(v[1],d,l),endGlobalPoint:l,endHeading:d,commonBounds:_,hoveredStartElement:o,hoveredEndElement:s,boundsOverlap:g,startElementBounds:m,endElementBounds:h}},Yu=(e,t)=>{let{dynamicAABBs:n,startDonglePosition:r,startGlobalPoint:i,startHeading:a,endDonglePosition:o,endGlobalPoint:s,endHeading:c,commonBounds:l,hoveredEndElement:u}=t,d=td(n,r||i,a,o||s,c,l),f=r&&od(r,d),p=o&&od(o,d),m=od(s,d);m&&u&&(m.closed=!0);let h=od(i,d);h&&e.startBinding&&(h.closed=!0);let g=f&&p&&(Qm(f.pos,n[1])||Qm(p.pos,n[0])),_=Zu(f||h,p||m,d,a||ku,c||ku,g?[]:n);if(_){let e=_.map(e=>[e.pos[0],e.pos[1]]);return f&&e.unshift(i),p&&e.push(s),e}return null},Xu=(e,t,n)=>{switch(e){case Mu:return[t,n,n,n];case ku:return[n,t,n,n];case Au:return[n,n,t,n]}return[n,n,n,t]},Zu=(e,t,n,r,i,a)=>{let o=$u(e.pos,t.pos),s=new lt(e=>e.f);for(s.push(e);s.size()>0;){let c=s.pop();if(!c||c.closed)continue;if(c===t)return Qu(e,c);c.closed=!0;let l=id(c.addr,n);for(let n=0;n<4;n++){let u=l[n];if(!u||u.closed)continue;let d=de(u.pos,c.pos,.5);if(Sa(...a.map(e=>Qm(d,e))))continue;let f=fd(n),p=c.parent?Nu(T(c.pos,c.parent.pos)):r;if(Iu(Bu(p),f)||gd(e.addr,u.addr)&&Iu(f,r)||gd(t.addr,u.addr)&&Iu(f,i))continue;let m=p!==f,h=c.g+$u(u.pos,c.pos)+(m?o**3:0),g=u.visited;if(!g||h<u.g){let e=rd(u,t,f,i);u.visited=!0,u.parent=c,u.h=$u(t.pos,u.pos)+e*o**2,u.g=h,u.f=u.g+u.h,g?s.rescoreElement(u):s.push(u)}}}return null},Qu=(e,t)=>{let n=t,r=[];for(;n.parent;)r.unshift(n),n=n.parent;return r.unshift(e),r},$u=(e,t)=>Math.abs(e[0]-t[0])+Math.abs(e[1]-t[1]),ed=(e,t,n,r,i,a,o,s)=>{let c=o??e,l=s??t,[u,d,f,p]=r??[0,0,0,0],[m,h,g,_]=i??[0,0,0,0],v=[e[0]>t[2]?e[1]>t[3]||e[3]<t[1]?Math.min((c[0]+l[2])/2,e[0]-p):(c[0]+l[2])/2:e[0]>t[0]?e[0]-p:n[0]-p,e[1]>t[3]?e[0]>t[2]||e[2]<t[0]?Math.min((c[1]+l[3])/2,e[1]-u):(c[1]+l[3])/2:e[1]>t[1]?e[1]-u:n[1]-u,e[2]<t[0]?e[1]>t[3]||e[3]<t[1]?Math.max((c[2]+l[0])/2,e[2]+d):(c[2]+l[0])/2:e[2]<t[2]?e[2]+d:n[2]+d,e[3]<t[1]?e[0]>t[2]||e[2]<t[0]?Math.max((c[3]+l[1])/2,e[3]+f):(c[3]+l[1])/2:e[3]<t[3]?e[3]+f:n[3]+f],y=[t[0]>e[2]?t[1]>e[3]||t[3]<e[1]?Math.min((l[0]+c[2])/2,t[0]-_):(l[0]+c[2])/2:t[0]>e[0]?t[0]-_:n[0]-_,t[1]>e[3]?t[0]>e[2]||t[2]<e[0]?Math.min((l[1]+c[3])/2,t[1]-m):(l[1]+c[3])/2:t[1]>e[1]?t[1]-m:n[1]-m,t[2]<e[0]?t[1]>e[3]||t[3]<e[1]?Math.max((l[2]+c[0])/2,t[2]+h):(l[2]+c[0])/2:t[2]<e[2]?t[2]+h:n[2]+h,t[3]<e[1]?t[0]>e[2]||t[2]<e[0]?Math.max((l[3]+c[1])/2,t[3]+g):(l[3]+c[1])/2:t[3]<e[3]?t[3]+g:n[3]+g],b=sd([v,y]);if(!a&&v[2]-v[0]+y[2]-y[0]>b[2]-b[0]+1e-11&&v[3]-v[1]+y[3]-y[1]>b[3]-b[1]+1e-11){let[n,r]=[(y[0]+y[2])/2,(y[1]+y[3])/2];if(t[0]>e[2]&&e[1]>t[3]){let t=v[2]+(y[0]-v[2])/2,i=y[3]+(v[1]-y[3])/2;return E(w(e[2]-n,e[1]-r),w(e[0]-n,e[3]-r))>0?[[v[0],v[1],t,v[3]],[t,y[1],y[2],y[3]]]:[[v[0],i,v[2],v[3]],[y[0],y[1],y[2],i]]}else if(e[2]<t[0]&&e[3]<t[1]){let t=v[2]+(y[0]-v[2])/2,i=v[3]+(y[1]-v[3])/2;return E(w(e[0]-n,e[1]-r),w(e[2]-n,e[3]-r))>0?[[v[0],v[1],v[2],i],[y[0],i,y[2],y[3]]]:[[v[0],v[1],t,v[3]],[t,y[1],y[2],y[3]]]}else if(e[0]>t[2]&&e[3]<t[1]){let t=y[2]+(v[0]-y[2])/2,i=v[3]+(y[1]-v[3])/2;return E(w(e[2]-n,e[1]-r),w(e[0]-n,e[3]-r))>0?[[t,v[1],v[2],v[3]],[y[0],y[1],t,y[3]]]:[[v[0],v[1],v[2],i],[y[0],i,y[2],y[3]]]}else if(e[0]>t[2]&&e[1]>t[3]){let t=y[2]+(v[0]-y[2])/2,i=y[3]+(v[1]-y[3])/2;return E(w(e[0]-n,e[1]-r),w(e[2]-n,e[3]-r))>0?[[t,v[1],v[2],v[3]],[y[0],y[1],t,y[3]]]:[[v[0],i,v[2],v[3]],[y[0],y[1],y[2],i]]}}return[v,y]},td=(e,t,n,r,i,a)=>{let o=new Set,s=new Set;n===ju||n===ku?s.add(t[1]):o.add(t[0]),i===ju||i===ku?s.add(r[1]):o.add(r[0]),e.forEach(e=>{o.add(e[0]),o.add(e[2]),s.add(e[1]),s.add(e[3])}),o.add(a[0]),o.add(a[2]),s.add(a[1]),s.add(a[3]);let c=Array.from(s).sort((e,t)=>e-t),l=Array.from(o).sort((e,t)=>e-t);return{row:c.length,col:l.length,data:c.flatMap((e,t)=>l.map((n,r)=>({f:0,g:0,h:0,closed:!1,visited:!1,parent:null,addr:[r,t],pos:[n,e]})))}},nd=(e,t,n)=>{switch(t){case Mu:return j(n[0],e[1]);case ku:return j(e[2],n[1]);case Au:return j(n[0],e[3])}return j(e[0],n[1])},rd=(e,t,n,r)=>{if(r===ku)switch(n){case ku:return e.pos[0]>=t.pos[0]?4:e.pos[1]===t.pos[1]?0:2;case Mu:return e.pos[1]>t.pos[1]&&e.pos[0]<t.pos[0]?1:3;case Au:return e.pos[1]<t.pos[1]&&e.pos[0]<t.pos[0]?1:3;case ju:return e.pos[1]===t.pos[1]?4:2}else if(r===ju)switch(n){case ku:return e.pos[1]===t.pos[1]?4:2;case Mu:return e.pos[1]>t.pos[1]&&e.pos[0]>t.pos[0]?1:3;case Au:return e.pos[1]<t.pos[1]&&e.pos[0]>t.pos[0]?1:3;case ju:return e.pos[0]<=t.pos[0]?4:e.pos[1]===t.pos[1]?0:2}else if(r===Mu)switch(n){case ku:return e.pos[1]>t.pos[1]&&e.pos[0]<t.pos[0]?1:3;case Mu:return e.pos[1]>=t.pos[1]?4:e.pos[0]===t.pos[0]?0:2;case Au:return e.pos[0]===t.pos[0]?4:2;case ju:return e.pos[1]>t.pos[1]&&e.pos[0]>t.pos[0]?1:3}else if(r===Au)switch(n){case ku:return e.pos[1]<t.pos[1]&&e.pos[0]<t.pos[0]?1:3;case Mu:return e.pos[0]===t.pos[0]?4:2;case Au:return e.pos[1]<=t.pos[1]?4:e.pos[0]===t.pos[0]?0:2;case ju:return e.pos[1]<t.pos[1]&&e.pos[0]>t.pos[0]?1:3}return 0},id=([e,t],n)=>[ad([e,t-1],n),ad([e+1,t],n),ad([e,t+1],n),ad([e-1,t],n)],ad=([e,t],n)=>e<0||e>=n.col||t<0||t>=n.row?null:n.data[t*n.col+e]??null,od=(e,t)=>{for(let n=0;n<t.col;n++)for(let r=0;r<t.row;r++){let i=ad([n,r],t);if(i&&e[0]===i.pos[0]&&e[1]===i.pos[1])return i}return null},sd=e=>[Math.min(...e.map(e=>e[0])),Math.min(...e.map(e=>e[1])),Math.max(...e.map(e=>e[2])),Math.max(...e.map(e=>e[3]))],cd=(e,t)=>{let n=t.get(e);return n&&Cc(n)?n:null},ld=(e,t,n,r)=>{let i=e[0][0],a=e[0][1],o=e.map(t=>ce(t,A(T(e[0]),-1)));return(i<-Ku||i>Ku||a<-Ku||a>Ku||i+o[o.length-1][0]<-Ku||a+o[o.length-1][0]>Ku||i+o[o.length-1][1]<-Ku||a+o[o.length-1][1]>Ku)&&console.error(`Elbow arrow normalization is outside reasonable bounds (> 1e6)`,{x:i,y:a,points:o,...si(o)}),o=o.map(([e,t])=>j(f(e,-1e6,1e6),f(t,-1e6,1e6))),{points:o,x:f(i,-1e6,1e6),y:f(a,-1e6,1e6),fixedSegments:(t?.length??0)>0?t:null,...si(o),startIsSpecial:n,endIsSpecial:r}},ud=e=>{if(e.length>1){let t=Math.abs(e[0][1]-e[1][1])<Math.abs(e[0][0]-e[1][0]);return e.filter((n,r)=>{if(r===0||r===e.length-1)return!0;let i=e[r+1],a=Math.abs(n[1]-i[1])<Math.abs(n[0]-i[0]);return t===a?(t=a,!1):(t=a,!0)})}return e},dd=e=>e.length>=4?e.filter((t,n)=>{if(n===0||n===e.length-1)return!0;let r=e[n-1];return N(r,t)>Vu}):e,fd=e=>{switch(e){case 0:return Mu;case 1:return ku;case 2:return Au}return ju},pd=(e,t,n,r,i,a,o,s=!0,c=!0)=>o?s&&i&&a?Ud(e,i,t,a,void 0,c):r:i?of(n||[0,0],i,a??R([i])):r,md=(e,t,n,r,i,a)=>Vd(e,t,n,n&&Zm(n,i,[,,,,].fill(eu(n,i,e))),r,i,a),hd=(e,t,n,r)=>_u(e,n,t,Cd(r)),gd=(e,t)=>e[0]===t[0]&&e[1]===t[1],_d=(e,t=Vu)=>e.slice(1).map((n,r)=>Math.abs(n[0]-e[r][0])<t||Math.abs(n[1]-e[r][1])<t).every(Boolean),vd=(e,t,n,r)=>{let i=!1,{points:a,fixedSegments:o,fileId:s}=n;G(e)&&(Object.keys(n).length===0||typeof a<`u`||typeof o<`u`)?n={...n,angle:0,...qu({...e,x:n.x||e.x,y:n.y||e.y},t,n,r)}:typeof a<`u`&&(n={...si(a),...n});for(let t in n){let r=n[t];if(typeof r<`u`){if(e[t]===r&&(typeof r!=`object`||!r||t===`groupIds`||t===`scale`))continue;if(t===`scale`){let n=e[t],i=r;if(n[0]===i[0]&&n[1]===i[1])continue}else if(t===`points`){let n=e[t],i=r;if(n.length===i.length){let e=!1,t=n.length;for(;--t;){let r=n[t],a=i[t];if(r[0]!==a[0]||r[1]!==a[1]){e=!0;break}}if(!e)continue}}e[t]=r,i=!0}}return i&&((typeof n.height<`u`||typeof n.width<`u`||typeof s<`u`||typeof a<`u`)&&tm.delete(e),e.version=n.version??e.version+1,e.versionNonce=n.versionNonce??Fa(),e.updated=Ji()),e},yd=(e,t,n=!1)=>{let r=!1;for(let n in t){let i=t[n];if(typeof i<`u`){if(e[n]===i&&(typeof i!=`object`||!i))continue;r=!0}}return!r&&!n?e:{...e,...t,version:t.version??e.version+1,versionNonce:t.versionNonce??Fa(),updated:Ji()}},bd=(e,t)=>(e.version=(t??e.version)+1,e.versionNonce=Fa(),e.updated=Ji(),e),xd=10/1.5,Sd=(e,t)=>(t.elbowed,5)+e.strokeWidth/2,Cd=e=>f(15/((e?.value&&e.value<1?e.value:1)*1.5),15,30),wd=e=>e.isBindingEnabled,Td=(e,t,n,r,i,a,o)=>{let{start:s,end:c}=Ad(e,t,n,r,i.getNonDeletedElementsMap(),i.getNonDeletedElements(),a,{...o,finalize:!0});if(Ed(e,s,`start`,i,a.isBindingEnabled),Ed(e,c,`end`,i,a.isBindingEnabled),s.focusPoint||c.focusPoint){let t=new Map;s.focusPoint&&t.set(0,{point:Jd(e,`startBinding`,e.startBinding,s.element,i.getNonDeletedElementsMap())||e.points[0]}),c.focusPoint&&t.set(e.points.length-1,{point:Jd(e,`endBinding`,e.endBinding,c.element,i.getNonDeletedElementsMap())||e.points[e.points.length-1]}),J.movePoints(e,i,t)}return{start:s,end:c}},Ed=(e,{mode:t,element:n,focusPoint:r},i,a,o=!0)=>{t===null?Fd(e,i,a):t!==void 0&&Pd(e,n,t,i,a,r,o)},Dd=(e,t,n,r,i)=>{z(t.size===1,`Bound elbow arrows cannot be moved`);let a=t.entries().next().value;z(a,`There should be a position update for dragging an elbow arrow endpoint`);let[o,{point:s}]=a,c=_u(J.getPointGlobalCoordinates(e,s,n),r,n,Cd(i)),l=c?{element:c,mode:`orbit`,focusPoint:J.getPointAtIndexGlobalCoordinates(e,o,n)}:{mode:null},u={mode:void 0};return o===0?{start:l,end:u}:{start:u,end:l}},Od=(e,t,n,r,i,a,o,s,c,l,u)=>{let d={mode:void 0},f={mode:void 0},p=e.points.length>2,m=J.getPointGlobalCoordinates(e,t.get(i?o:s).point,n),h=_u(m,r,n);if(i)return d=h?{element:h,mode:`inside`,focusPoint:m}:{mode:null},{start:d,end:f};if(a){let t=c?.selectedLinearElement?.initialState.origin;if(h&&e.startBinding?.elementId===h.id){let e=j(h.x+h.width/2,h.y+h.height/2);return{start:p?{mode:void 0}:{mode:`inside`,element:h,focusPoint:t??e},end:p?{mode:`orbit`,element:h,focusPoint:m}:{mode:`inside`,element:h,focusPoint:m}}}if(h&&e.startBinding){let i=e.startBinding;if(gu(m,r,n).find(e=>e.id===i.elementId)){let r=n.get(e.startBinding.elementId);return z(r,`Other element must be in the elements map`),{start:p?{mode:void 0}:{mode:r.id===h.id?`inside`:`orbit`,element:r,focusPoint:t??j(e.x,e.y)},end:{mode:`orbit`,element:h,focusPoint:m}}}}if(e.startBinding&&e.startBinding.elementId!==h?.id){let r=n.get(e.startBinding.elementId);z(r,`Other element must be in the elements map`);let i={mode:c.selectedLinearElement?.initialState.arrowStartIsInside?`inside`:`orbit`,element:r,focusPoint:u?eh(r,n):t??j(e.x,e.y)},a=h&&Ou(r,h,n),o;return o=h?{mode:(l===`inside`||l===`skip`)&&!a?`inside`:`orbit`,element:h,focusPoint:m}:{mode:null},{start:p?{mode:void 0}:i,end:o}}if(!e.startBinding)return f=h?{mode:l===`inside`||l===`skip`?`inside`:`orbit`,element:h,focusPoint:m}:{mode:null},{start:d,end:f}}z(!1,`New arrow creation should not reach here`)},kd=(e,t,n,r,i,a,o,s)=>{let c={mode:void 0},l={mode:void 0},u=o.points.length>2,d=_u(e,i,r),f=n?gu(e,i,r).some(e=>e.id===n.elementId):!1,p=n?r.get(n.elementId):null,m=f&&p?dn(p.backgroundColor):!1;return d&&p&&Ou(p,d,r),a===`inside`||a===`skip`?(c=d?{element:!f||!p||m?d:p,focusPoint:e,mode:`inside`}:{mode:null},l=s&&d&&d.id===n?.elementId?{mode:null}:l,{current:c,other:l}):d?d.id===t?.elementId&&t.mode===`inside`?{current:{mode:`inside`,focusPoint:e,element:d},other:l}:n?n.elementId===d.id?n.mode===`orbit`?(c={element:d,mode:`orbit`,focusPoint:e},l={mode:s?null:void 0},{current:c,other:u?{mode:void 0}:l}):(c={element:d,mode:`inside`,focusPoint:e},{current:c,other:u?{mode:void 0}:l}):(c=f&&p&&!m?{element:p,mode:`inside`,focusPoint:e}:{element:d,mode:`orbit`,focusPoint:e},{current:c,other:u?{mode:void 0}:l}):(c={element:d,mode:`orbit`,focusPoint:e},{current:c,other:u?{mode:void 0}:l}):{current:{mode:null},other:l}},Ad=(e,t,n,r,i,a,o,s)=>ja(`COMPLEX_BINDINGS`)?Md(e,t,i,a,o,s):jd(e,t,n,r,i,a,o,s),jd=(e,t,n,r,i,a,o,s)=>{let c=e.points.length-1,l=t.has(0),u=t.has(c),d={mode:void 0},f={mode:void 0};if(z(e.points.length>1,`Do not attempt to bind linear elements with a single point`),!l&&!u)return{start:d,end:f};if(l&&u)return{start:{mode:null},end:{mode:null}};if(!wd(o))return d=l?{mode:null}:d,f=u?{mode:null}:f,{start:d,end:f};if(G(e))return Dd(e,t,i,a,s?.zoom);let p=l?e.endBinding:e.startBinding,m=t.get(l?0:c)?.point;z(m,`Local point must be defined for ${l?`start`:`end`} dragging`);let h=J.getPointGlobalCoordinates(e,m,i),g=_u(h,a,i,Cd(o.zoom)),_=g&&(s?.angleLocked?Du(j(n,r),g,i):Du(h,g,i)),v=p?i.get(p.elementId):void 0,y=p&&v&&of(p.fixedPoint,v,i),b=v&&y&&du({point:y,element:v,elementsMap:i,threshold:0,overrideShouldTestInside:!0});if(p&&p.elementId===g?.id)return z(!s?.newArrow||o.selectedLinearElement?.initialState.origin,`appState.selectedLinearElement.initialState.origin must be defined for new arrows`),{start:{mode:`inside`,element:g,focusPoint:l?h:s?.newArrow?o.selectedLinearElement.initialState.origin:J.getPointAtIndexGlobalCoordinates(e,0,i)},end:{mode:`inside`,element:g,focusPoint:u?h:J.getPointAtIndexGlobalCoordinates(e,-1,i)}};if(s?.altKey)return{start:l?g?{mode:`inside`,element:g,focusPoint:h}:{mode:null}:d,end:u?g?{mode:`inside`,element:g,focusPoint:h}:{mode:null}:f};let x=g?_?{mode:`inside`,element:g,focusPoint:h}:{mode:`orbit`,element:g,focusPoint:Xc(e,h,g,l?`start`:`end`,i,o.zoom,o.isMidpointSnappingEnabled)||h}:{mode:null},S=J.getPointAtIndexGlobalCoordinates(e,l?-1:0,i),C=y&&v&&du({point:h,element:v,elementsMap:i,threshold:Cd(o.zoom),overrideShouldTestInside:!0}),w=(s?.newArrow?o.selectedLinearElement?.initialState.arrowStartIsInside:p?.mode===`inside`)?{mode:void 0}:v&&!b&&!C&&o.selectedLinearElement?.initialState.altFocusPoint?{mode:`orbit`,element:v,focusPoint:o.selectedLinearElement.initialState.altFocusPoint}:s?.angleLocked&&v?{mode:`orbit`,element:v,focusPoint:Xc(e,S,v,l?`end`:`start`,i,o.zoom,o.isMidpointSnappingEnabled)||S}:{mode:void 0};return{start:l?x:w,end:u?x:w}},Md=(e,t,n,r,i,a)=>{let o=i.bindMode||`orbit`,s=e.points.length-1,c=t.has(0),l=t.has(s),u={mode:void 0},d={mode:void 0};if(z(e.points.length>1,`Do not attempt to bind linear elements with a single point`),!c&&!l)return{start:u,end:d};if(c&&l)return{start:{mode:null},end:{mode:null}};if(!wd(i))return u=c?{mode:null}:u,d=l?{mode:null}:d,{start:u,end:d};if(G(e))return Dd(e,t,n,r);if(a?.newArrow){let{start:u,end:d}=Od(e,t,n,r,c,l,0,s,i,o,a?.shiftKey);return{start:u,end:d}}if(c){let i=t.get(0)?.point;z(i,`Local point must be defined for start dragging`);let{current:s,other:c}=kd(J.getPointGlobalCoordinates(e,i,n),e.startBinding,e.endBinding,n,r,o,e,a?.finalize);return{start:s,end:c}}if(l){let i=t.get(s)?.point;z(i,`Local point must be defined for end dragging`);let{current:c,other:l}=kd(J.getPointGlobalCoordinates(e,i,n),e.endBinding,e.startBinding,n,r,o,e,a?.finalize);return{start:l,end:c}}return{start:u,end:d}},Nd=(e,t,n)=>{e.forEach(e=>{Td(e,new Map,1/0,1/0,t,n)})},Pd=(e,t,n,r,i,a,o=!0)=>{let s=i.getNonDeletedElementsMap(),c;c=G(e)?{elementId:t.id,mode:`orbit`,...Yd(e,t,r,s,o)}:{elementId:t.id,mode:n,...Xd(e,t,r,s,a)},i.mutateElement(e,{[r===`start`?`startBinding`:`endBinding`]:c}),R(t.boundElements||[]).has(e.id)||i.mutateElement(t,{boundElements:(t.boundElements||[]).concat({id:e.id,type:`arrow`})})},Fd=(e,t,n)=>{let r=t===`start`?`startBinding`:`endBinding`,i=e[r];if(i==null)return null;let a=e[t===`start`?`endBinding`:`startBinding`];if(!a||a.elementId!==i.elementId){let t=n.getNonDeletedElementsMap().get(i.elementId);n.mutateElement(t,{boundElements:t.boundElements?.filter(t=>t.id!==e.id)})}return n.mutateElement(e,{[r]:null}),i.elementId},Id=(e,t,n)=>{if(!Cc(e))return;let{simultaneouslyUpdated:r}=n??{},i=Bd(r),a=t.getNonDeletedElementsMap();n?.changedElements&&(a=new Map(a),n.changedElements.forEach(e=>{a.set(e.id,e)})),tf(a,e,n=>{if(!W(n)||n.isDeleted||!zd(n,e))return;let r=n.startBinding?a.get(n.startBinding.elementId):null,o=n.endBinding?r?.id===n.endBinding.elementId?r:a.get(n.endBinding.elementId):null;if(i.has(n.id))return;let s=nf(a,n,(t,r)=>{if(t&&Cc(t)&&(r===`startBinding`||r===`endBinding`)&&(e.id===n[r]?.elementId||e.id===n[r===`startBinding`?`endBinding`:`startBinding`]?.elementId)){let e=Jd(n,r,n[r],t,a);if(e)return[r===`startBinding`?0:n.points.length-1,{point:e}]}return null}).filter(e=>e!==null);J.movePoints(n,t,new Map(s),{moveMidPointsWithElement:!!r&&r?.id===o?.id});let c=q(n,a);c&&!c.isDeleted&&zl(n,t,!1)})},Ld=(e,t,n,r,i)=>{z(!G(e),`Elbow arrows not supported for indirect updates`);let a=e[t],o=a&&n.get(a.elementId),s=J.getPointAtIndexGlobalCoordinates(e,t===`startBinding`?0:-1,n),c=o&&du({element:o,point:s,elementsMap:n,threshold:Cd(i.zoom)}),l=t===`startBinding`?`start`:`end`;if(Fd(e,l,r),c){let a=t===`startBinding`?0:e.points.length-1,c=e.points[a],u=jd(e,new Map([[a,{point:c}]]),s[0],s[1],n,r.getNonDeletedElements(),i);u[l]&&u[l].element?.id===o.id&&u[l].mode&&Pd(e,o,u[l].mode,l,r,u[l].focusPoint)}},Rd=(e,t,n,r)=>{if(W(e)){let r=t.getNonDeletedElementsMap();e.startBinding&&Ld(e,`startBinding`,r,t,n),e.endBinding&&Ld(e,`endBinding`,r,t,n)}else Id(e,t,{...r,changedElements:new Map([[e.id,e]])})},zd=(e,t)=>e.startBinding?.elementId===t.id||e.endBinding?.elementId===t.id,Bd=e=>new Set((e||[]).map(e=>e.id)),Vd=(e,t,n,r,i,a,o)=>{let s=Nu(T(t,e));return!n||!r?s:Hd(i,n,a,o)?zu(n,r,e):Nu(T(e,eh(n,a)))},Hd=(e,t,n,r)=>{let i=eu(t,n,e);return i>Cd(r)?null:i},Ud=(e,t,n,r,i,a=!0)=>{let o=G(e),s=J.getPointAtIndexGlobalCoordinates(e,n===`start`?0:-1,r);if(e.points.length<2)return s;let c=wc(t)&&o?Wd(e,t,r,s):s,l=i&&!o?i[1]:J.getPointAtIndexGlobalCoordinates(e,n===`start`?1:-2,r),u=Sd(t,e),d=Zm(t,r),f=Xm(d),p=null;if(o){let n=Lu(zu(t,d,s)),o=(a?Gd(t,r,c,.05,e):void 0)||s,l=j(n?f[0]:o[0],n?o[1]:f[1]);if(p=yu(t,r,i??P(l,oe(A(ne(T(o,l)),Math.max(t.width,t.height)*2),l)),u).sort(ue)[0],!p){let e=j(n?o[0]:f[0],n?f[1]:o[1]);p=yu(t,r,P(e,oe(A(ne(T(o,e)),Math.max(t.width,t.height)*2),e)),5).sort(ue)[0]}}else{let e=i;if(!e){let n=A(ne(T(c,l)),N(c,l)+Math.max(t.width,t.height)+u*2);e=i??P(oe(n,l),oe(A(n,-1),l))}p=N(c,l)<1?c:yu(t,r,e,u).sort((e,t)=>ue(e,l)-ue(t,l))[0]}return!p||ue(c,p)<1e-4?c:p},Wd=(e,t,n,r)=>{let i=eh(t,n),a=M(r,i,-t.angle),o=Sd(t,e);return a[0]<t.x&&a[1]<t.y?a[1]-t.y>-o?M(j(t.x-o,t.y),i,t.angle):M(j(t.x,t.y-o),i,t.angle):a[0]<t.x&&a[1]>t.y+t.height?a[0]-t.x>-o?M(j(t.x,t.y+t.height+o),i,t.angle):M(j(t.x-o,t.y+t.height),i,t.angle):a[0]>t.x+t.width&&a[1]>t.y+t.height?a[0]-t.x<t.width+o?M(j(t.x+t.width,t.y+t.height+o),i,t.angle):M(j(t.x+t.width+o,t.y+t.height),i,t.angle):a[0]>t.x+t.width&&a[1]<t.y?a[0]-t.x<t.width+o?M(j(t.x+t.width,t.y-o),i,t.angle):M(j(t.x+t.width+o,t.y),i,t.angle):r},Gd=(e,t,n,r=.05,i)=>{let{x:a,y:o,width:s,height:c,angle:l}=e,u=eh(e,t,-.1,-.1),d=M(n,u,-l),p=i?Sd(e,i):0,m=f(r*c,5,80),h=f(r*s,5,80);if(!(N(u,d)<p)){if(d[0]<=a+s/2&&d[1]>u[1]-m&&d[1]<u[1]+m)return M(j(a-p,u[1]),u,l);if(d[1]<=o+c/2&&d[0]>u[0]-h&&d[0]<u[0]+h)return M(j(u[0],o-p),u,l);if(d[0]>=a+s/2&&d[1]>u[1]-m&&d[1]<u[1]+m)return M(j(a+s+p,u[1]),u,l);if(d[1]>=o+c/2&&d[0]>u[0]-h&&d[0]<u[0]+h)return M(j(u[0],o+c+p),u,l);if(e.type===`diamond`){let e=p,t=j(a+s/4-e,o+c/4-e),n=j(a+3*s/4+e,o+c/4-e),r=j(a+s/4-e,o+3*c/4+e),i=j(a+3*s/4+e,o+3*c/4+e);if(N(t,d)<Math.max(h,m))return M(t,u,l);if(N(n,d)<Math.max(h,m))return M(n,u,l);if(N(r,d)<Math.max(h,m))return M(r,u,l);if(N(i,d)<Math.max(h,m))return M(i,u,l)}}},Kd=(e,t,n)=>{let r=e[t];if(!r)return{element:null,fixedPoint:null,focusPoint:null,binding:r,mode:null};let i=n.get(r.elementId);return{element:i,fixedPoint:r.fixedPoint,focusPoint:of(uf(r.fixedPoint),i,n),binding:r,mode:r.mode}},qd=e=>e.width*e.height,Jd=(e,t,n,r,i,a)=>{if(n==null||n.elementId!==r.id&&e.points.length>2||se(e.points[e.points.length-1],j(0,0)))return null;let o=of(uf(n.fixedPoint),r,i);if(n.mode===`inside`)return J.createPointAt(e,i,o[0],o[1],null);let{element:s,focusPoint:c}=Kd(e,t===`startBinding`?`endBinding`:`startBinding`,i),l=J.getPointAtIndexGlobalCoordinates(e,t===`startBinding`?1:-2,i),u=e.points.length===2&&c||l,d=u&&P(o,u),f=s&&d&&yu(s,i,d,Sd(s,e)).sort((e,t)=>ue(e,o)-ue(t,o))[0],p=d&&yu(r,i,d,Sd(r,e)).sort((e,t)=>ue(e,u)-ue(t,u))[0],m=e.startArrowhead!==null,h=e.endArrowhead!==null,g=!m&&!h||t===`startBinding`&&m||t===`endBinding`&&h?o:p||o;if(s&&p&&!a&&qd(s)<qd(r)*2&&du({element:s,point:p,elementsMap:i,threshold:Sd(s,e),overrideShouldTestInside:!0}))return J.createPointAt(e,i,g[0],g[1],null);let _=N(s&&(f||c)||l,p||o)<=10;return s?_?J.createPointAt(e,i,g?.[0]||o[0],g?.[1]||o[1],null):J.createPointAt(e,i,p?.[0]||o[0],p?.[1]||o[1],null):J.createPointAt(e,i,_?o[0]:p?.[0]??o[0],_?o[1]:p?.[1]??o[1],null)},Yd=(e,t,n,r,i=!0,a=!0)=>{let o=[t.x,t.y,t.x+t.width,t.y+t.height],s=M(i?Ud(e,t,n,r,void 0,a):J.getPointAtIndexGlobalCoordinates(e,n===`start`?0:-1,r),j(o[0]+(o[2]-o[0])/2,o[1]+(o[3]-o[1])/2),-t.angle);return{fixedPoint:uf([(s[0]-t.x)/t.width,(s[1]-t.y)/t.height])}},Xd=(e,t,n,r,i)=>{let a=M(i||J.getPointAtIndexGlobalCoordinates(e,n===`start`?0:-1,r),eh(t,r),-t.angle);return{fixedPoint:uf([(a[0]-t.x)/t.width,(a[1]-t.y)/t.height])}},Zd=(e,t,n)=>{for(let r of e){if(`boundElements`in r&&r.boundElements&&Object.assign(r,{boundElements:r.boundElements.reduce((e,n)=>{let r=t.get(n.id);return r&&e.push({...n,id:r}),e},[])}),`containerId`in r&&r.containerId&&Object.assign(r,{containerId:t.get(r.containerId)??null}),`endBinding`in r&&r.endBinding){let e=t.get(r.endBinding.elementId);Object.assign(r,{endBinding:e?{...r.endBinding,elementId:e}:null})}if(`startBinding`in r&&r.startBinding){let e=t.get(r.startBinding.elementId);Object.assign(r,{startBinding:e?{...r.startBinding,elementId:e}:null})}G(r)&&Object.assign(r,qu(r,n,{points:[r.points[0],r.points[r.points.length-1]]}))}},Qd=(e,t)=>{let n=R(e);for(let e of t)rf.unbindAffected(n,e,(e,t)=>vd(e,n,t)),af.unbindAffected(n,e,(e,t)=>vd(e,n,t))},$d=(e,t,n=[])=>{if(!e)return null;let r=e.filter(e=>!t.has(e.id));return r.push(...n.map(e=>({id:e.id,type:e.type}))),r},ef=new Set([`boundElements`,`frameId`,`containerId`,`startBinding`,`endBinding`]),tf=(e,t,n)=>{Cc(t)&&(t.boundElements?.slice()??[]).forEach(({id:t})=>{n(e.get(t),`boundElements`,t)})},nf=(e,t,n)=>{let r=[];if(t.frameId){let i=t.frameId;r.push(n(e.get(i),`frameId`,i))}if(Ac(t)){let i=t.containerId;r.push(n(e.get(i),`containerId`,i))}if(W(t)){if(t.startBinding){let i=t.startBinding.elementId;r.push(n(e.get(i),`startBinding`,i))}if(t.endBinding){let i=t.endBinding.elementId;r.push(n(e.get(i),`endBinding`,i))}}return r},rf=class{static unbindAffected(e,t,n){t&&nf(e,t,r=>{!r||r.isDeleted||tf(e,r,(e,i,a)=>{a===t.id&&n(r,{boundElements:$d(r.boundElements,new Set([a]))})})})}static rebindAffected=(e,t,n)=>{!t||t.isDeleted||nf(e,t,(e,r)=>{if(!e||e.isDeleted){n(t,{[r]:null});return}r!==`frameId`&&(e.boundElements?.find(e=>e.id===t.id)||(W(t)&&n(e,{boundElements:$d(e.boundElements,new Set,Array(t))}),H(t)&&(e.boundElements?.find(e=>e.type===`text`)?n(t,{[r]:null}):n(e,{boundElements:$d(e.boundElements,new Set,Array(t))}))))})}},af=class{static unbindAffected(e,t,n){t&&tf(e,t,r=>{!r||r.isDeleted||nf(e,r,(e,i,a)=>{a===t.id&&n(r,{[i]:null})})})}static rebindAffected=(e,t,n)=>{!t||t.isDeleted||tf(e,t,(e,r,i)=>{if(!e||e.isDeleted){n(t,{boundElements:$d(t.boundElements,new Set([i]))});return}H(e)&&((t.boundElements?.slice()??[]).reverse().find(e=>e.type===`text`)?.id===e.id?e.containerId!==t.id&&n(e,{containerId:t.id}):(e.containerId!==null&&n(e,{containerId:null}),n(t,{boundElements:$d(t.boundElements,new Set([e.id]))})))})}},of=(e,t,n)=>{let[r,i]=uf(e);return M(j(t.x+t.width*r,t.y+t.height*i),eh(t,n),t.angle)},sf=(e,t)=>{let n=e.startBinding&&t.get(e.startBinding.elementId),r=e.endBinding&&t.get(e.endBinding.elementId);return[n&&e.startBinding?of(e.startBinding.fixedPoint,n,t):j(e.x+e.points[0][0],e.y+e.points[0][1]),r&&e.endBinding?of(e.endBinding.fixedPoint,r,t):j(e.x+e.points[e.points.length-1][0],e.y+e.points[e.points.length-1][1])]},cf=(e,t)=>{let[n,r]=sf(e,t);return[J.pointFromAbsoluteCoords(e,n,t),J.pointFromAbsoluteCoords(e,r,t)]},lf=e=>Array.isArray(e)&&e.length===2&&e.every(e=>Number.isFinite(e)),uf=e=>{if(!lf(e))return[.5001,.5001];let t=1e-4;return Math.abs(e[0]-.5)<t||Math.abs(e[1]-.5)<t?e.map(e=>Math.abs(e-.5)<t?.5001:e):e},df=({points:e})=>{let t=e[0][0],n=e[0][1];return{points:e.map(e=>j(e[0]-t,e[1]-n)),offsetX:t,offsetY:n}},J=class e{elementId;selectedPointsIndices;initialState;isDragging;lastUncommittedPoint;lastCommittedPoint;pointerOffset;hoverPointIndex;segmentMidPointHoveredCoords;hoveredFocusPointBinding;draggedFocusPointBinding;elbowed;customLineAngle;isEditing;pointerDownState;constructor(t,n,r=!1){this.elementId=t.id,se(t.points[0],j(0,0))||(console.error(`Linear element is not normalized`,Error().stack),vd(t,n,e.getNormalizeElementPointsAndCoords(t))),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.lastCommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.initialState={prevSelectedPointsIndices:null,lastClickedPoint:-1,origin:null,segmentMidpoint:{value:null,index:null,added:!1},arrowStartIsInside:!1,altFocusPoint:null},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null,this.hoveredFocusPointBinding=null,this.draggedFocusPointBinding=null,this.elbowed=G(t)&&t.elbowed,this.customLineAngle=null,this.isEditing=r}static POINT_HANDLE_SIZE=10;static getElement(e,t){return t.get(e)||null}static handleBoxSelection(t,n,r,i){if(!n.selectedLinearElement?.isEditing||!n.selectionElement)return!1;let{selectedLinearElement:a}=n,{selectedPointsIndices:o,elementId:s}=a,c=e.getElement(s,i);if(!c)return!1;let[l,u,d,f]=Y(n.selectionElement,i),p=e.getPointsGlobalCoordinates(c,i).reduce((e,n,r)=>((n[0]>=l&&n[0]<=d&&n[1]>=u&&n[1]<=f||t.shiftKey&&o?.includes(r))&&e.push(r),e),[]).filter(e=>!(G(c)&&e!==0&&e!==c.points.length-1));r({selectedLinearElement:{...a,selectedPointsIndices:p.length?p:null}})}static handlePointerMove(t,n,r,i,a){let o=n.scene.getNonDeletedElementsMap(),s=n.scene.getNonDeletedElements(),{elementId:c}=a,l=e.getElement(c,o);z(l,`Element being dragged must exist in the scene`),z(l.points.length>1,`Element must have at least 2 points`);let u=l.points.length-1,d=l.points[u],f=l.points[u-1],p=a.customLineAngle??mf(f,l.points[u]),m=0,h=0;if(oi(t)){let[a,s]=e._getShiftLockedDelta(l,o,f,j(r,i),t[$r.CTRL_OR_CMD]?null:n.getEffectiveGridSize(),p),c=j(a+f[0],s+f[1]);m=c[0]-d[0],h=c[1]-d[1]}else{let s=e.createPointAt(l,o,r-a.pointerOffset.x,i-a.pointerOffset.y,t[$r.CTRL_OR_CMD]?null:n.getEffectiveGridSize());m=s[0]-d[0],h=s[1]-d[1]}let g=null,{positions:_,updates:v}=pf([u],m,h,r,i,o,l,s,n,oi(t),t.altKey,a);if(e.movePoints(l,n.scene,_,{startBinding:v?.startBinding,endBinding:v?.endBinding,moveMidPointsWithElement:v?.moveMidPointsWithElement},{isBindingEnabled:n.state.isBindingEnabled,isMidpointSnappingEnabled:n.state.isMidpointSnappingEnabled}),xc(l,!1)&&wd(n.state)&&(g=v?.suggestedBinding??null),xc(l)&&__(e.getPointGlobalCoordinates(l,l.points[l.points.length-1],o),l,s,o,n.scene),n.state.selectedLinearElement?.customLineAngle===p&&a.initialState.altFocusPoint&&(!g||ua(n.state.suggestedBinding??[],g)))return null;let y=xc(l)&&l.startBinding&&o.get(l.startBinding.elementId);return{selectedLinearElement:{...a,customLineAngle:p,initialState:{...a.initialState,altFocusPoint:!a.initialState.altFocusPoint&&y&&v?.suggestedBinding?.element.id!==y.id?Xc(l,j(l.x,l.y),y,`start`,o,n.state.zoom,n.state.isMidpointSnappingEnabled):a.initialState.altFocusPoint}},suggestedBinding:g}}static handlePointDragging(t,n,r,i,a){let o=n.scene.getNonDeletedElementsMap(),s=n.scene.getNonDeletedElements(),{elbowed:c,elementId:l,initialState:u}=a,d=Array.from(a.selectedPointsIndices??[]),{lastClickedPoint:f}=u,p=e.getElement(l,o);z(p,`Element being dragged must exist in the scene`),z(p.points.length>1,`Element must have at least 2 points`),z(d,`There must be selected points in order to drag them`),c&&d.some((e,t)=>e>0&&e!==p.points.length-1?(d[t]=p.points.length-1,f=p.points.length-1,!0):!1),z(f>-1&&d.includes(f)&&p.points[f],`There must be a valid lastClickedPoint in order to drag it. selectedPointsIndices(${JSON.stringify(d)}) points(0..${p.points.length-1}) lastClickedPoint(${f})`);let m=p.points[f],h=p.points[f===0?1:f-1],g=d.length===1,_=a.customLineAngle??mf(h,p.points[f]),v=d.includes(0),y=d.includes(p.points.length-1),b=0,x=0;if(oi(t)&&g){let[a,s]=e._getShiftLockedDelta(p,o,h,j(r,i),t[$r.CTRL_OR_CMD]?null:n.getEffectiveGridSize(),_),c=j(a+h[0],s+h[1]);b=c[0]-m[0],x=c[1]-m[1]}else{let s=e.createPointAt(p,o,r-a.pointerOffset.x,i-a.pointerOffset.y,t[$r.CTRL_OR_CMD]?null:n.getEffectiveGridSize());b=s[0]-m[0],x=s[1]-m[1]}let S=null,{positions:C,updates:w}=pf(d,b,x,r,i,o,p,s,n,oi(t)&&g,t.altKey,a);e.movePoints(p,n.scene,C,{startBinding:w?.startBinding,endBinding:w?.endBinding,moveMidPointsWithElement:w?.moveMidPointsWithElement},{isBindingEnabled:n.state.isBindingEnabled,isMidpointSnappingEnabled:n.state.isMidpointSnappingEnabled}),xc(p,!1)&&wd(n.state)&&(v||y)&&(S=w?.suggestedBinding??null),xc(p)&&v!==y&&__(e.getPointGlobalCoordinates(p,v?p.points[0]:p.points[p.points.length-1],o),p,s,o,n.scene),q(p,o)&&zl(p,n.scene,!1);let T=c?y?[p.points.length-1]:[0]:d,E=c?T[0]:f,D=!v&&!y?e.getPointGlobalCoordinates(p,m,o):null,O=E,k=xc(p)&&p.startBinding&&o.get(p.startBinding.elementId),A=xc(p)&&p.endBinding&&o.get(p.endBinding.elementId),ee=y&&k&&w?.suggestedBinding?.element.id!==k.id?k:v&&A&&w?.suggestedBinding?.element.id!==A.id?A:null;return{selectedLinearElement:{...a,selectedPointsIndices:T,initialState:{...a.initialState,lastClickedPoint:E,altFocusPoint:!a.initialState.altFocusPoint&&xc(p)&&ee?Xc(p,j(p.x,p.y),ee,`start`,o,n.state.zoom,n.state.isMidpointSnappingEnabled):a.initialState.altFocusPoint},segmentMidPointHoveredCoords:D,hoverPointIndex:O,isDragging:!0,customLineAngle:_},suggestedBinding:S}}static handlePointerUp(t,n,r,i){let a=i.getNonDeletedElementsMap(),{elementId:o,selectedPointsIndices:s,isDragging:c,initialState:l}=n,u=e.getElement(o,a);if(!u)return n;if(c&&s)for(let t of s)(t===0||t===u.points.length-1)&&Kc(u.points,r.zoom.value)&&(gc(u)&&i.mutateElement(u,{...gm(u,!0)},{informMutation:!1,isDragging:!1}),e.movePoints(u,i,new Map([[t,{point:t===0?u.points[u.points.length-1]:u.points[0]}]])));return{...n,segmentMidPointHoveredCoords:null,hoverPointIndex:-1,selectedPointsIndices:c||t.shiftKey?!c&&t.shiftKey&&l.prevSelectedPointsIndices?.includes(l.lastClickedPoint)?s&&s.filter(e=>e!==l.lastClickedPoint):s:s?.includes(l.lastClickedPoint)?[l.lastClickedPoint]:s,isDragging:!1,customLineAngle:null,initialState:{...n.initialState,origin:null,arrowStartIsInside:!1}}}static getEditorMidPoints=(t,n,r)=>{let i=q(t,n);if(!G(t)&&!r.selectedLinearElement?.isEditing&&t.points.length>2&&!i)return[];let a=e.getPointsGlobalCoordinates(t,n),o=0,s=[];for(;o<a.length-1;){if(e.isSegmentTooShort(t,t.points[o],t.points[o+1],o,r.zoom)){s.push(null),o++;continue}let n=e.getSegmentMidPoint(t,o+1);s.push(n),o++}return s};static getSegmentMidpointHitCoords=(t,n,r,i)=>{let{elementId:a}=t,o=e.getElement(a,i);if(!o)return null;let s=e.getPointIndexUnderCursor(o,i,r.zoom,n.x,n.y);if(!G(o)&&s>=0||e.getPointsGlobalCoordinates(o,i).length>=3&&!r.selectedLinearElement?.isEditing&&!G(o))return null;let c=(e.POINT_HANDLE_SIZE+1)/r.zoom.value,l=t.segmentMidPointHoveredCoords;if(l&&N(j(l[0],l[1]),j(n.x,n.y))<=c)return l;let u=0,d=e.getEditorMidPoints(o,i,r);for(;u<d.length;){if(d[u]!==null&&N(d[u],j(n.x,n.y))<=c)return d[u];u++}return null};static isSegmentTooShort(t,n,r,i,a){if(G(t))return i>=0&&i<t.points.length?N(n,r)*a.value<e.POINT_HANDLE_SIZE/2:!1;let o=N(n,r);if(t.points.length>2&&t.roundness){let[e,n]=Hc(t);z(e.length===0&&n.length>0,`Only linears built out of curves are supported`),z(e.length+n.length>=i,`Invalid segment index while calculating mid point`),o=Ee(n[i])}return o*a.value<e.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(e,t){if(G(e)){z(e.points.length>=t,`Invalid segment index while calculating elbow arrow mid point`);let n=le(e.points[t-1],e.points[t]);return j(e.x+n[0],e.y+n[1])}let[n,r]=Hc(e);if(z(n.length===0&&r.length>0||n.length>0&&r.length===0,`Only linears built out of either segments or curves are supported`),z(n.length+r.length>=t,`Invalid segment index while calculating mid point`),n.length){let e=n[t-1];return le(e[0],e[1])}if(r.length){let e=r[t-1];return Oe(e,.5)}z(!1,`Invalid segment type while calculating mid point`)}static getSegmentMidPointIndex(t,n,r,i){let a=e.getElement(t.elementId,i);if(!a)return-1;let o=e.getEditorMidPoints(a,i,n),s=0;for(;s<o.length;){if(e.arePointsEqual(r,o[s]))return s+1;s++}return-1}static handlePointerDown(t,n,r,i,a,o){let s=n.state,c=o.getNonDeletedElementsMap(),l={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!a)return l;let{elementId:u}=a,d=e.getElement(u,c);if(!d)return l;let f=e.getSegmentMidpointHitCoords(a,i,s,c),p=j(i.x,i.y),m=null;if(f)m=e.getSegmentMidPointIndex(a,s,f,c);else if(t.altKey&&s.selectedLinearElement?.isEditing)return a.lastUncommittedPoint??(o.mutateElement(d,{points:[...d.points,e.createPointAt(d,c,i.x,i.y,t[$r.CTRL_OR_CMD]?null:n.getEffectiveGridSize())]}),l.didAddPoint=!0),r.scheduleCapture(),l.linearElementEditor={...a,initialState:{prevSelectedPointsIndices:a.selectedPointsIndices,lastClickedPoint:-1,origin:p,segmentMidpoint:{value:f,index:m,added:!1},arrowStartIsInside:!!n.state.newElement&&(n.state.bindMode===`inside`||n.state.bindMode===`skip`),altFocusPoint:null},selectedPointsIndices:[d.points.length-1],lastUncommittedPoint:null},l.didAddPoint=!0,l;let h=e.getPointIndexUnderCursor(d,c,s.zoom,i.x,i.y);(h>=0||f)&&(l.hitElement=d);let[g,_,v,y]=Y(d,c),b=(g+v)/2,x=(_+y)/2,S=h>-1&&M(j(d.x+d.points[h][0],d.y+d.points[h][1]),j(b,x),d.angle),C=h>-1||t.shiftKey?t.shiftKey||a.selectedPointsIndices?.includes(h)?ff([...a.selectedPointsIndices||[],h]):[h]:null;return l.linearElementEditor={...a,initialState:{prevSelectedPointsIndices:a.selectedPointsIndices,lastClickedPoint:h,origin:p,segmentMidpoint:{value:f,index:m,added:!1},arrowStartIsInside:!!n.state.newElement&&(n.state.bindMode===`inside`||n.state.bindMode===`skip`),altFocusPoint:null},selectedPointsIndices:C,pointerOffset:S?{x:i.x-S[0],y:i.y-S[1]}:{x:0,y:0}},l}static arePointsEqual(e,t){return!e&&!t?!0:!e||!t?!1:se(e,t)}static handlePointerMoveInEditMode(t,n,r,i){let a=i.state;if(!a.selectedLinearElement?.isEditing)return null;let{elementId:o,lastUncommittedPoint:s}=a.selectedLinearElement,c=i.scene.getNonDeletedElementsMap(),l=e.getElement(o,c);if(!l)return a.selectedLinearElement;let{points:u}=l,d=u[u.length-1];if(!t.altKey)return d===s&&e.deletePoints(l,i,[u.length-1]),a.selectedLinearElement?.lastUncommittedPoint?{...a.selectedLinearElement,lastUncommittedPoint:null}:a.selectedLinearElement;let f;if(oi(t)&&u.length>=2){let a=u[u.length-2],[o,s]=e._getShiftLockedDelta(l,c,a,j(n,r),t[$r.CTRL_OR_CMD]?null:i.getEffectiveGridSize());f=j(o+a[0],s+a[1])}else f=e.createPointAt(l,c,n-a.selectedLinearElement.pointerOffset.x,r-a.selectedLinearElement.pointerOffset.y,t[$r.CTRL_OR_CMD]||G(l)?null:i.getEffectiveGridSize());return d===s?e.movePoints(l,i.scene,new Map([[l.points.length-1,{point:f}]])):e.addPoints(l,i.scene,[f]),{...a.selectedLinearElement,lastUncommittedPoint:l.points[l.points.length-1]}}static getPointGlobalCoordinates(e,t,n){let[r,i,a,o]=Y(e,n),s=(r+a)/2,c=(i+o)/2,{x:l,y:u}=e;return M(j(l+t[0],u+t[1]),j(s,c),e.angle)}static getPointsGlobalCoordinates(e,t){let[n,r,i,a]=Y(e,t),o=(n+i)/2,s=(r+a)/2;return e.points.map(t=>{let{x:n,y:r}=e;return M(j(n+t[0],r+t[1]),j(o,s),e.angle)})}static getPointAtIndexGlobalCoordinates(e,t,n){let r=t<0?e.points.length+t:t,[,,,,i,a]=Y(e,n),o=j(i,a),s=e.points[r],{x:c,y:l}=e;return M(s?j(c+s[0],l+s[1]):j(c,l),o,e.angle)}static pointFromAbsoluteCoords(e,t,n){if(G(e))return j(t[0]-e.x,t[1]-e.y);let[r,i,a,o]=Y(e,n),s=(r+a)/2,c=(i+o)/2,[l,u]=M(j(t[0],t[1]),j(s,c),-e.angle);return j(l-e.x,u-e.y)}static getPointIndexUnderCursor(t,n,r,i,a){let o=e.getPointsGlobalCoordinates(t,n),s=o.length;for(;--s>-1;){let t=o[s];if(N(j(i,a),j(t[0],t[1]))*r.value<e.POINT_HANDLE_SIZE+1)return s}return-1}static createPointAt(e,t,n,r,i){let a=li(n,r,i),[o,s,c,l]=Y(e,t),u=(o+c)/2,d=(s+l)/2,[f,p]=M(j(a[0],a[1]),j(u,d),-e.angle);return j(f-e.x,p-e.y)}static getNormalizeElementPointsAndCoords(e){let{points:t,offsetX:n,offsetY:r}=df(e);return{points:t,x:e.x+n,y:e.y+r}}static duplicateSelectedPoints(t,n){z(t.selectedLinearElement?.isEditing,`Not currently editing a linear element`);let r=n.getNonDeletedElementsMap(),{selectedPointsIndices:i,elementId:a}=t.selectedLinearElement,o=e.getElement(a,r);z(o,`The linear element does not exist in the provided Scene`),z(i!=null,`There are no selected points to duplicate`);let{points:s}=o,c=[],l=!1,u=-1,d=s.reduce((e,t,n)=>{if(++u,e.push(t),i.includes(n)){let r=s[n+1];r||(l=!0),e.push(r?j((t[0]+r[0])/2,(t[1]+r[1])/2):j(t[0],t[1])),c.push(u+1),++u}return e},[]);if(n.mutateElement(o,{points:d}),l){let t=o.points[o.points.length-1];e.movePoints(o,n,new Map([[o.points.length-1,{point:j(t[0]+30,t[1]+30)}]]))}return{...t,selectedLinearElement:{...t.selectedLinearElement,selectedPointsIndices:c}}}static deletePoints(t,n,r){let i=n.state.selectedLinearElement?.isEditing&&n.state.selectedLinearElement?.lastUncommittedPoint===t.points[t.points.length-1],a=t.points.filter((e,t)=>!r.includes(t));gc(t)&&t.polygon&&(i||r.includes(0)||r.includes(t.points.length-1))&&(a[0]=j(a[a.length-1][0],a[a.length-1][1]));let{points:o,offsetX:s,offsetY:c}=df({points:a});e._updatePoints(t,n.scene,o,s,c)}static addPoints(t,n,r){let i=[...t.points,...r];gc(t)&&t.polygon&&(i[0]=j(i[i.length-1][0],i[i.length-1][1]));let{points:a,offsetX:o,offsetY:s}=df({points:i});e._updatePoints(t,n,a,o,s)}static movePoints(t,n,r,i,a){let{points:o}=t;if(gc(t)&&t.polygon){let e=r.get(0),t=r.get(o.length-1);e?r.set(o.length-1,{point:j(e.point[0],e.point[1]),isDragging:e.isDragging}):t&&r.set(0,{point:j(t.point[0],t.point[1]),isDragging:t.isDragging})}let[s,c]=r.get(0)?.point??j(0,0),l=G(t)?[r.get(0)?.point??o[0],r.get(o.length-1)?.point??o[o.length-1]]:o.map((e,t)=>{let n=r.get(t)?.point??e;return i?.moveMidPointsWithElement&&t!==0&&t!==o.length-1&&!r.has(t)?n:j(n[0]-s,n[1]-c)});e._updatePoints(t,n,l,s,c,i,{isDragging:Array.from(r.values()).some(e=>e.isDragging),isBindingEnabled:a?.isBindingEnabled,isMidpointSnappingEnabled:a?.isMidpointSnappingEnabled})}static shouldAddMidpoint(t,n,r,i){let a=e.getElement(t.elementId,i);if(a&&G(a)||!a)return!1;let{segmentMidpoint:o}=t.initialState;if(o.added||o.value===null||o.index===null||t.initialState.origin===null)return!1;let s=t.initialState.origin,c=N(s,j(n.x,n.y));return!(!r.selectedLinearElement?.isEditing&&c<10/r.zoom.value)}static addMidpoint(t,n,r,i,a){let o=a.getNonDeletedElementsMap(),s=e.getElement(t.elementId,o);if(!s)return;let{segmentMidpoint:c}=t.initialState,l={pointerDownState:t.initialState,selectedPointsIndices:t.selectedPointsIndices},u=e.createPointAt(s,o,n.x,n.y,i&&!G(s)?r.getEffectiveGridSize():null),d=[...s.points.slice(0,c.index),u,...s.points.slice(c.index)];return a.mutateElement(s,{points:d}),l.pointerDownState={...t.initialState,segmentMidpoint:{...t.initialState.segmentMidpoint,added:!0},lastClickedPoint:c.index},l.selectedPointsIndices=[c.index],l}static _updatePoints(e,t,n,r,i,a,o){if(G(e)){let r={};a?.startBinding!==void 0&&(r.startBinding=a.startBinding),a?.endBinding!==void 0&&(r.endBinding=a.endBinding),r.points=Array.from(n),t.mutateElement(e,r,{informMutation:!0,isDragging:o?.isDragging??!1,isBindingEnabled:o?.isBindingEnabled,isMidpointSnappingEnabled:o?.isMidpointSnappingEnabled})}else{let o=Km(e,n),s=Km(e,e.points),c=(o[0]+o[2])/2,l=(o[1]+o[3])/2,u=(s[0]+s[2])/2,d=(s[1]+s[3])/2,f=u-c,p=d-l,m=M(j(r,i),j(f,p),e.angle);t.mutateElement(e,{...a,points:n,x:e.x+m[0],y:e.y+m[1]})}}static _getShiftLockedDelta(t,n,r,i,a,o){let s=e.getPointGlobalCoordinates(t,r,n);if(G(t))return[i[0]-s[0],i[1]-s[1]];let[c,l]=li(i[0],i[1],a),{width:u,height:d}=ah(s[0],s[1],c,l,o);return M(j(u,d),j(0,0),-t.angle)}static getBoundTextElementPosition=(t,n,r)=>{e.getPointsGlobalCoordinates(t,r).length<2&&vd(n,r,{isDeleted:!0});let i=0,a=0;if(t.points.length%2==1){let o=Math.floor(t.points.length/2),s=e.getPointGlobalCoordinates(t,t.points[o],r);i=s[0]-n.width/2,a=s[1]-n.height/2}else{let r=t.points.length/2-1,o=e.getSegmentMidPoint(t,r+1);i=o[0]-n.width/2,a=o[1]-n.height/2}return{x:i,y:a}};static getMinMaxXYWithBoundText=(t,n,r,i)=>{let[a,o,s,c]=r,l=(a+s)/2,u=(o+c)/2,{x:d,y:f}=e.getBoundTextElementPosition(t,i,n),p=d+i.width,m=f+i.height,h=j(l,u),g=M(j(a,o),h,t.angle),_=M(j(s,o),h,t.angle),v=M(j(d,f),h,-t.angle),y=M(j(p,f),h,-t.angle),b=M(j(d,m),h,-t.angle),x=M(j(p,m),h,-t.angle);return g[0]<_[0]&&g[1]>=_[1]?(a=Math.min(a,b[0]),s=Math.max(s,Math.max(y[0],x[0])),o=Math.min(o,v[1]),c=Math.max(c,x[1])):g[0]>=_[0]&&g[1]>_[1]?(a=Math.min(a,x[0]),s=Math.max(s,Math.max(v[0],y[0])),o=Math.min(o,b[1]),c=Math.max(c,y[1])):g[0]>=_[0]?(a=Math.min(a,y[0]),s=Math.max(s,b[0]),o=Math.min(o,x[1]),c=Math.max(c,v[1])):g[1]<=_[1]&&(a=Math.min(a,Math.min(y[0],v[0])),s=Math.max(s,x[0]),o=Math.min(o,y[1]),c=Math.max(c,b[1])),[a,o,s,c,l,u]};static getElementAbsoluteCoords=(t,n,r=!1)=>{let[i,a,o,s]=Mm(Ts(tm.generateElementShape(t,null)[0])),c=i+t.x,l=a+t.y,u=o+t.x,d=s+t.y,f=(c+u)/2,p=(l+d)/2,m=r&&q(t,n);return m?e.getMinMaxXYWithBoundText(t,n,[c,l,u,d],m):[c,l,u,d,f,p]};static moveFixedSegment(t,n,r,i,a){let o=a.getNonDeletedElementsMap(),s=e.getElement(t.elementId,o);if(!s||!G(s))return t;if(n&&n>0&&n<s.points.length){let e=Lu(Nu(T(s.points[n],s.points[n-1]))),o=(s.fixedSegments??[]).reduce((e,t)=>(e[t.index]=t,e),{});o[n]={index:n,start:j(e?s.points[n-1][0]:r-s.x,e?i-s.y:s.points[n-1][1]),end:j(e?s.points[n][0]:r-s.x,e?i-s.y:s.points[n][1])};let c=Object.values(o).sort((e,t)=>e.index-t.index),l=c.map(e=>e.index).reduce((e,t)=>t<n?e+1:e,0);a.mutateElement(s,{fixedSegments:c});let u=j(s.x+(s.fixedSegments[l].start[0]+s.fixedSegments[l].end[0])/2,s.y+(s.fixedSegments[l].start[1]+s.fixedSegments[l].end[1])/2);return{...t,segmentMidPointHoveredCoords:u,initialState:{...t.initialState,segmentMidpoint:{added:!1,index:s.fixedSegments[l].index,value:u}}}}return t}static deleteFixedSegment(e,t,n){t.mutateElement(e,{fixedSegments:e.fixedSegments?.filter(e=>e.index!==n)})}},ff=e=>{let t=[...new Set(e.filter(e=>e!==null&&e!==-1))];return t=t.sort((e,t)=>e-t),t.length?t:null},pf=(e,t,n,r,i,a,o,s,c,l,u,d)=>{let f=new Map(e.map(e=>[e,{point:j(o.points[e][0]+t,o.points[e][1]+n),isDragging:!0}]));if(!W(o))return{positions:f};let p=e.includes(0),m=e.includes(o.points.length-1),{start:h,end:g}=Ad(o,f,r,i,a,s,c.state,{newArrow:!!c.state.newElement,angleLocked:l,altKey:u});if(G(o)){let e=p?h.element:m?g.element:null;return{positions:f,updates:{suggestedBinding:e?{element:e,midPoint:c.state.isMidpointSnappingEnabled?Gd(e,a,j(r-d.pointerOffset.x,i-d.pointerOffset.y)):void 0}:null}}}if(!p&&!m){let e={...o,points:o.points.map((e,t)=>f.get(t)?.point??e)},t=new Map(f);if(o.startBinding){let n=a.get(o.startBinding.elementId);if(n){let r=Jd(e,`startBinding`,o.startBinding,n,a)??null;r&&t.set(0,{point:r,isDragging:!0})}}if(o.endBinding){let n=a.get(o.endBinding.elementId);if(n){let r=Jd(e,`endBinding`,o.endBinding,n,a)??null;r&&t.set(o.points.length-1,{point:r,isDragging:!0})}}return{positions:t}}if(p===m)return{positions:f};let _={suggestedBinding:null};h.mode===null?_.startBinding=null:h.mode?(_.startBinding={elementId:h.element.id,mode:h.mode,...Xd(o,h.element,`start`,a,h.focusPoint)},p&&(_.startBinding.mode===`orbit`||!ja(`COMPLEX_BINDINGS`))&&(_.suggestedBinding=h.element?{element:h.element,midPoint:Yc(j(r-d.pointerOffset.x,i-d.pointerOffset.y),h.element,a,c.state.zoom)}:null)):p&&(_.suggestedBinding=c.state.suggestedBinding),g.mode===null?_.endBinding=null:g.mode?(_.endBinding={elementId:g.element.id,mode:g.mode,...Xd(o,g.element,`end`,a,g.focusPoint)},m&&(_.endBinding.mode===`orbit`||!ja(`COMPLEX_BINDINGS`))&&(_.suggestedBinding=g.element?{element:g.element,midPoint:Yc(j(r-d.pointerOffset.x,i-d.pointerOffset.y),g.element,a,c.state.zoom)}:null)):m&&(_.suggestedBinding=c.state.suggestedBinding);let v=p?j(o.points[0][0]+t,o.points[0][1]+n):o.points[0],y=m?j(o.points[o.points.length-1][0]+t,o.points[o.points.length-1][1]+n):o.points[o.points.length-1],b={...o,points:[v,...o.points.slice(1,-1),y],startBinding:_.startBinding===void 0?o.startBinding:_.startBinding===null?null:_.startBinding,endBinding:_.endBinding===void 0?o.endBinding:_.endBinding===null?null:_.endBinding},x=o.endBinding&&b.startBinding&&p&&b.startBinding.elementId===o.endBinding.elementId,S=o.startBinding&&b.endBinding&&m&&o.startBinding.elementId===b.endBinding.elementId,C=b.endBinding?g.element??a.get(b.endBinding.elementId):null,w=x?b.points[b.points.length-1]:S&&c.state.bindMode!==`inside`&&ja(`COMPLEX_BINDINGS`)?b.points[0]:C&&Jd(o,`endBinding`,b.endBinding,C,a,m)||b.points[b.points.length-1];b.points[b.points.length-1]=w;let T=b.startBinding?h.element??a.get(b.startBinding.elementId):null,E=S&&ja(`COMPLEX_BINDINGS`)?b.points[0]:x&&c.state.bindMode!==`inside`&&ja(`COMPLEX_BINDINGS`)?w:T&&Jd(o,`startBinding`,b.startBinding,T,a,p)||b.points[0],D=!x&&!(S&&c.state.bindMode!==`inside`&&ja(`COMPLEX_BINDINGS`))&&!!C,O=N(E,b.points[0])!==0,k=new Set(e);T&&O&&k.add(0),C&&D&&k.add(o.points.length-1);let A=Array.from(k);return{updates:_,positions:new Map(A.map(e=>[e,e===0?{point:E,isDragging:!0}:e===o.points.length-1?{point:w,isDragging:!0}:f.get(e)]))}},mf=(e,t)=>Math.atan2(t[1]-e[1],t[0]-e[0]);B(),B();function hf(e){return[Math.min(e[0][0],e[1][0]),Math.min(e[0][1],e[1][1]),Math.max(e[0][0],e[1][0]),Math.max(e[0][1],e[1][1])]}function gf(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}var _f=1e-6;function vf(e,t){let n=E(T(e[1],e[0]),T(t,e[0]));return Math.abs(n)<_f}function yf(e,t){return E(T(e[1],e[0]),T(t,e[0]))<0}function bf(e,t){return vf(e,t[0])||vf(e,t[1])||(yf(e,t[0])?!yf(e,t[1]):yf(e,t[1]))}function xf(e,t){return gf(hf(e),hf(t))&&bf(e,t)&&bf(t,e)}B();var Sf=e=>e.type===`diamond`?[j(e.width/2,0),j(e.width,e.height/2),j(e.width/2,e.height),j(0,e.height/2)]:[j(0,0),j(0+e.width,0),j(0+e.width,e.height),j(0,e.height)],Cf=e=>hc(e)||pc(e)?e.points:Sf(e),wf=e=>{let t=e.reduce((e,[t,n])=>(e.minY=Math.min(e.minY,n),e.minX=Math.min(e.minX,t),e.maxX=Math.max(e.maxX,t),e.maxY=Math.max(e.maxY,n),e),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,cx:0,cy:0});return t.cx=(t.maxX+t.minX)/2,t.cy=(t.maxY+t.minY)/2,t},Tf=e=>{let t=Cf(e),{cx:n,cy:r}=wf(t),i=j(n,r),{minX:a,minY:o,maxX:s,maxY:c}=wf(t.map(t=>M(t,i,e.angle)));return[a+e.x,o+e.y,s+e.x,c+e.y]},Ef=(e,t,n=!1)=>{let r=Tf(e),i=t[0]<=r[0]&&t[2]>=r[2]&&t[1]<=r[1]&&t[3]>=r[3];return n?i?!0:r[0]<=t[0]&&r[2]>=t[2]&&r[1]<=t[1]&&r[3]>=t[3]:i},Df=(e,t)=>{let n=Tf(e);return(Ke(n[0],Ue(t[0],t[2]))||Ke(t[0],Ue(n[0],n[2])))&&(Ke(n[1],Ue(t[1],t[3]))||Ke(t[1],Ue(n[1],n[3])))},Of=({elements:e,bounds:t,type:n,errorMargin:r=0})=>{Dc(t)&&(t=Hm(t,R(e)));let i=[t[0]-r,t[1]-r,t[2]+r,t[3]+r],a=new Set;for(let t of e)if(!a.has(t.id)&&(n===`overlap`?Df(t,i):n===`inside`?Ef(t,i):Ef(t,i,!0))){if(a.add(t.id),t.boundElements)for(let e of t.boundElements)a.add(e.id);H(t)&&t.containerId&&a.add(t.containerId),W(t)&&(t.startBinding&&a.add(t.startBinding.elementId),t.endBinding&&a.add(t.endBinding?.elementId))}return e.filter(e=>a.has(e.id))};B(),B();var kf=(e,t,n)=>{let r=n.reduce((t,n)=>(n.groupIds.includes(e)&&(t[n.id]=!0),t),{});return Object.keys(r).length<2?t.selectedGroupIds[e]||t.editingGroupId===e?{selectedElementIds:t.selectedElementIds,selectedGroupIds:{...t.selectedGroupIds,[e]:!1},editingGroupId:null}:t:{editingGroupId:t.editingGroupId,selectedGroupIds:{...t.selectedGroupIds,[e]:!0},selectedElementIds:{...t.selectedElementIds,...r}}},Af=function(){let e=null,t=null,n=null,r=(r,i,a,o)=>{if(n!==void 0&&i===t&&r===e&&a.editingGroupId===n?.editingGroupId)return n;let s={};for(let e of r){let t=e.groupIds;if(a.editingGroupId){let e=t.indexOf(a.editingGroupId);e>-1&&(t=t.slice(0,e))}if(t.length>0){let e=t[t.length-1];s[e]=!0}}let c={},l=i.reduce((e,t)=>{if(t.isDeleted)return e;let n=t.groupIds.find(e=>s[e]);return n&&(e[t.id]=!0,Array.isArray(c[n])?c[n].push(t.id):c[n]=[t.id]),e},{});for(let e of Object.keys(c))c[e].length<2&&s[e]&&(s[e]=!1);return t=i,e=r,n={editingGroupId:a.editingGroupId,selectedGroupIds:s,selectedElementIds:$f({...a.selectedElementIds,...l},o)},n},i=(e,t,n,i)=>{let a=i?i.scene.getSelectedElements({selectedElementIds:e.selectedElementIds,elements:t}):Zf(t,e);return a.length?r(a,t,e,n):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:$f(e.selectedElementIds,n)}};return i.clearCache=()=>{t=null,e=null,n=null},i}(),jf=(e,t)=>Mf(e,t)!=null,Mf=(e,t)=>t.groupIds.filter(t=>t!==e.editingGroupId).find(t=>e.selectedGroupIds[t]),Nf=e=>Object.entries(e.selectedGroupIds).filter(([e,t])=>t).map(([e,t])=>e),Pf=(e,t)=>{let n={...t,selectedGroupIds:{}};for(let r of e){let i=r.groupIds;if(t.editingGroupId){let e=i.indexOf(t.editingGroupId);e>-1&&(i=i.slice(0,e))}if(i.length>0){let t=i[i.length-1];n={...n,...kf(t,n,e)}}}return n.selectedGroupIds},Ff=(e,t)=>({...e,editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[t.id]:!0}}),If=(e,t)=>e.groupIds.includes(t),Lf=(e,t)=>{let n=[];for(let r of e.values())If(r,t)&&n.push(r);return n},Rf=(e,t)=>e.groupIds.find(e=>t[e]),zf=(e,t,n)=>{let r=[...e],i=n?r.indexOf(n):-1,a=i>-1?i:r.length;return r.splice(a,0,t),r},Bf=(e,t)=>e.filter(e=>!t[e]),Vf=(e,t)=>{let n=new Map;return e.forEach(e=>{let r=e.groupIds.length===0?e.id:e.groupIds[e.groupIds.length-1],i=n.get(r)||[],a=q(e,t);a&&i.push(a),n.set(r,[...i,e])}),Array.from(n.values())},Hf=e=>{let t=new Set;for(let[,n]of e)if(!n.isDeleted)for(let e of n.groupIds??[])t.add(e);return t},Uf=e=>{let t=e.flatMap(e=>e.groupIds),n=new Map,r=0;for(let e of t)n.set(e,(n.get(e)??0)+1),n.get(e)>r&&(r=n.get(e));return r===e.length},Wf=e=>e.groupIds.length>0,Gf=(e,t,n)=>{let r=[...e],i=t?e.indexOf(t):-1,a=i>-1?i:e.length;for(let e=0;e<a;e++)r[e]=n(r[e]);return r},Kf=(e,t,n)=>{let r=Nf(n),i=e.filter(e=>!Ac(e)),a=new Map,o=new Map,s=e=>{let n=o.get(e.id)||[],r=q(e,t);r&&n.push(r),o.set(e.id,[...n,e])},c=(e,n)=>{let r=a.get(n)||[],i=q(e,t);i&&r.push(i),a.set(n,[...r,e])},l=(e,t)=>{let n=e.groupIds.indexOf(t,0);return e.groupIds.slice(0,n).length>0?c(e,e.groupIds[n-1]):s(e)},u=e.every(e=>jf(n,e));return i.forEach(e=>{let t=Rf(e,n.selectedGroupIds);t?r.length===1&&u?l(e,t):c(e,t):s(e)}),Array.from(a.values()).concat(Array.from(o.values()))},qf=e=>{let t=new Set;return e.forEach(e=>{U(e)&&t.add(e.id)}),e.filter(e=>!(e.frameId&&t.has(e.frameId)))},Jf=(e,t,n,r=!0)=>{let[i,a,o,s]=Y(t,n),c=e.filter(e=>{let[t,r,c,l]=Hm(e,n),u=gp(e,n);if(u){let[e,i,a,o]=Hm(u,n);t=Math.max(e,t),r=Math.max(i,r),c=Math.min(a,c),l=Math.min(o,l)}return e.locked===!1&&e.type!==`selection`&&!Ac(e)&&i<=t&&a<=r&&o>=c&&s>=l});return c=r?qf(c):c,c=c.filter(e=>{let t=gp(e,n);return t?sp(e,t,n):!0}),c},Yf=(e,t,n,r)=>{let i=new Set(t.map(e=>e.id));return e.filter(e=>{let t=nh(e,n.width,n.height,n,r);return!i.has(e.id)&&t})},Xf=function(){let e=null,t=null,n=null,r=(r,i)=>(n!=null&&r===e&&i.selectedElementIds===t||(n=r.some(e=>i.selectedElementIds[e.id]),e=r,t=i.selectedElementIds),n);return r.clearCache=()=>{e=null,t=null,n=null},r}(),Zf=(e,t,n)=>{let r=new Set,i=[];for(let a of e.values()){if(t.selectedElementIds[a.id]){i.push(a),r.add(a.id);continue}if(n?.includeBoundTextElement&&Ac(a)&&t.selectedElementIds[a?.containerId]){i.push(a),r.add(a.id);continue}}if(n?.includeElementsInFrames){let t=[];return i.forEach(n=>{U(n)&&up(e,n.id).forEach(e=>!r.has(e.id)&&t.push(e)),t.push(n)}),t}return i},Qf=(e,t)=>t.editingTextElement?[t.editingTextElement]:t.newElement?[t.newElement]:Zf(e,t,{includeBoundTextElement:!0}),$f=(e,t)=>ua(t.selectedElementIds,e)?t.selectedElementIds:e,ep=(e,t)=>{let n=e.filter(hc);if(n.length===1){let r=n[0],i=r.boundElements?.map(e=>e.id)??[];if(e.every(e=>e.id===r.id||i.includes(e.id)))return new J(r,R(t))}return null},tp=(e,t,n)=>({selectedLinearElement:ep(e,t),...Af({editingGroupId:n.editingGroupId,selectedElementIds:qf(e).reduce((e,t)=>(Ac(t)||(e[t.id]=!0),e),{})},t,n,null)}),np=(e,t,n)=>{let r=R(e);for(let e of t)if(e.frameId){let t=n.get(e.id),i=n.get(e.frameId),a=t&&r.get(t);a&&vd(a,r,{frameId:i??null})}};function rp(e,t,n){let r=Cm(t,n),i=Cm(e,n);return r.some(e=>i.some(t=>xf(e,t)))}var ip=(e,t,n)=>Cp(Jf(e,t,n,!1)).filter(e=>!U(e)&&!e.frameId||e.frameId===t.id),ap=(e,t,n)=>Jf([t],e,n).some(e=>e.id===t.id),op=(e,t,n)=>{let[r,i,a,o]=Y(t,n),[s,c,l,u]=Um(e);return r<=s&&i<=c&&a>=l&&o>=u},sp=(e,t,n)=>op([e],t,n)||rp(e,t,n)||ap(e,t,n),cp=(e,t,n)=>{let[r,i,a,o]=Y(t,n);return fe(j(r,i),j(e.x,e.y),j(a,o))},lp=e=>{let t=new Map;for(let n of e){let r=U(n)?n.id:n.frameId;r&&!t.has(r)&&t.set(r,up(e,r))}return t},up=(e,t)=>{let n=[];for(let r of e.values())r.frameId===t&&n.push(r);return n},dp=e=>e.filter(e=>U(e)),fp=e=>{let t=R(dp(e));return e.filter(e=>t.has(e.id)||!e.frameId||!t.has(e.frameId))},pp=(e,t,n,r)=>{let i=up(e,t.id),a=new Set(i),o=new Set([...ip(e,t,r),...i.filter(e=>ap(e,t,r))]),s=i.filter(e=>!o.has(e)),c=new Set(Array.from(o).flatMap(e=>e.groupIds));for(let e of s)if(!rp(e,t,r))e.groupIds.length===0&&a.delete(e);else if(e.groupIds.length>0)for(let t of e.groupIds)c.add(t);for(let e of s)if(e.groupIds.length>0){let t=!0;for(let n of e.groupIds)c.has(n)&&(t=!1);t&&a.delete(e)}let l=Array.from(o).filter(e=>e.groupIds.length===0);for(let e of l)a.add(e);let u=Pf(Array.from(o).filter(e=>e.groupIds.length>0),n);for(let[n,i]of Object.entries(u))if(i){let i=Lf(e,n);if(op(i,t,r))for(let e of i)a.add(e)}return[...a].filter(e=>!(H(e)&&e.containerId))},mp=(e,t,n)=>hp(Cp(e,ip(e,t,n)),t,n),hp=(e,t,n)=>{let r=[],i=new Map;for(let a of e){let e=!1;if(a.groupIds.length>0){if(a.groupIds.some(e=>i.get(e)))e=!0;else{let r=new Set(a.groupIds.flatMap(e=>Lf(n,e)));e=!op(Array.from(r),t,n)}a.groupIds.forEach(t=>{i.set(t,e)})}e||r.push(a)}return r},gp=(e,t)=>e.frameId&&t.get(e.frameId)||null,_p=(e,t)=>{let n=new Set,r=R(e);e=Cp(e);for(let r of e)U(r)&&r.id!==t.id&&n.add(r.id);let i=new Set,a=[];for(let o of e)if(!(U(o)||o.frameId&&n.has(o.frameId)))if(o.groupIds.length){let n=o.groupIds.at(-1);if(!i.has(n)){i.add(n);let o=Lf(e,n);if(o.some(e=>sp(e,t,r)))for(let e of o)a.push(e)}}else sp(o,t,r)&&a.push(o);return a},vp=(e,t,n,r)=>{let i=R(e),a=new Map;for(let t of e.values())t.frameId===n.id&&a.set(t.id,!0);let o=new Set(t.map(e=>e.id)),s=[],c=new Set;for(let e of t)U(e)&&e.id!==n.id&&c.add(e.id);for(let n of Cp(e,t)){if(U(n)||n.frameId&&c.has(n.frameId)||n.frameId&&r.selectedElementIds[n.id]&&r.selectedElementIds[n.frameId])continue;a.has(n.id)||s.push(n);let e=q(n,i);e&&!o.has(e.id)&&!a.has(e.id)&&s.push(e)}for(let e of s)vd(e,i,{frameId:n.id});return e},yp=(e,t)=>{let n=new Map,r=new Map;for(let i of e)if(i.frameId){n.set(i.id,i);let e=r.get(i.frameId)||[];e.push(i);let a=q(i,t);a&&(n.set(a.id,a),e.push(a)),r.set(i.frameId,e)}for(let[,e]of n)vd(e,t,{frameId:null})},bp=(e,t)=>(yp(up(e,t.id),R(e)),e),xp=(e,t,n,r)=>vp(bp(e,n),t,n,r.state).slice(),Sp=(e,t,n)=>{let r=n.scene.getSelectedElements({selectedElementIds:t.selectedElementIds,elements:e}),i=new Set(r);if(t.editingGroupId)for(let t of r)t.groupIds.length===0?i.add(t):t.groupIds.flatMap(t=>Lf(e,t)).forEach(e=>i.add(e));let a=new Set,o=R(e);return i.forEach(e=>{e.frameId&&!U(e)&&!Tp(e,o,t)&&a.add(e)}),a.size>0&&yp(a,o),e},Cp=(e,t)=>{let n=new Set,r=t||e;for(let e of r.values()){let t=e.groupIds[e.groupIds.length-1];t&&n.add(t)}let i=new Set;for(let t of n)Lf(e,t).some(e=>U(e))&&i.add(t);let a=[];for(let e of r.values())i.has(e.groupIds[e.groupIds.length-1])||a.push(e);return a},wp=(e,t,n)=>{let r=H(e)&&Hl(e,t)||e;return r.frameId&&n.selectedElementIds[r.id]&&n.selectedElementIds[r.frameId]?gp(r,t):n.selectedElementIds[r.id]&&n.selectedElementsAreBeingDragged?n.frameToHighlight:gp(r,t)},Tp=(e,t,n,r)=>{let i=r?.targetFrame??wp(e,t,n);if(!i)return!1;let a=H(e)&&Hl(e,t)||e,o=e=>{r?.checkedGroups&&a.groupIds.forEach(t=>{r.checkedGroups?.set(t,e)})};if(!n.selectedElementIds[a.id]||!n.selectedElementsAreBeingDragged||n.selectedElementIds[a.id]&&n.selectedElementIds[i.id])return!0;if(a.groupIds.length===0)return sp(a,i,t);for(let e of a.groupIds)if(r?.checkedGroups?.has(e))return r.checkedGroups.get(e);let s=new Set(a.groupIds.filter(e=>r?.checkedGroups?!r.checkedGroups.has(e):!0).flatMap(e=>Lf(t,e)));if(n.editingGroupId&&n.selectedElementsAreBeingDragged){let e=new Set(Zf(t,n));if(n.frameToHighlight!==null)return!0;e.forEach(e=>{s.delete(e)})}for(let e of s)if(U(e))return o(!1),!1;for(let e of s)if(sp(e,i,t))return o(!0),!0;return!1},Ep=(e,t,n,r,i)=>{if(!n.frameRendering||!n.frameRendering.clip)return!1;let a=rp(e,t,r)||ap(e,t,r);if(a){for(let t of e.groupIds)i?.set(t,!0);return!0}if(!a&&e.groupIds.length>0&&!op([e],t,r)){let a=!1;if(n.selectedElementsAreBeingDragged)a=Tp(e,r,n,{targetFrame:t,checkedGroups:i});else{a=e.frameId===t.id;for(let t of e.groupIds)i?.set(t,a)}for(let t of e.groupIds)i?.set(t,a);return a}return!1},Dp=`Frame`,Op=`AI Frame`,kp=e=>dc(e)?Dp:Op,Ap=e=>e.name===null?kp(e):e.name,jp=(e,t)=>Of({elements:e,bounds:t,type:`overlap`}).filter(e=>!e.frameId||e.frameId===t.id),Mp=e=>{let t=R(e);return e.length>1&&e.some(e=>e.frameId&&t.has(e.frameId))},Np=(e,t)=>oc(e)&&!t.imageCache.has(e.fileId),Pp=e=>{switch(e.type){case`freedraw`:return e.strokeWidth*12;case`text`:return e.fontSize/2;case`arrow`:return e.endArrowhead||e.endArrowhead?40:20;default:return 20}},Fp=(e,t,n,r,i=1)=>{let a=(t?.opacity??100)*e.opacity/1e4*i;return(n.has(e.id)||r&&r.some(t=>t.id===e.id)||t&&n.has(t.id))&&(a*=20/100),a},Ip=(e,t,n)=>{let r=Pp(e),[i,a,o,s]=Y(e,t),c=hc(e)||pc(e)?Ai(i,o):e.width,l=hc(e)||pc(e)?Ai(a,s):e.height,u=c*window.devicePixelRatio+r*2,d=l*window.devicePixelRatio+r*2,f=n.value;return(u*f>32767||d*f>32767)&&(f=Math.min(32767/u,32767/d)),u*d*f*f>16777216&&(f=Math.sqrt(16777216/(u*d))),u=Math.floor(u*f),d=Math.floor(d*f),{width:u,height:d,scale:f}},Lp=(e,t,n,r,i)=>{let a=document.createElement(`canvas`),o=a.getContext(`2d`),s=Pp(e),{width:c,height:l,scale:u}=Ip(e,t,n);if(!c||!l)return null;a.width=c,a.height=l;let d=-100,f=0;if(hc(e)||pc(e)){let[n,r]=Y(e,t);d=e.x>n?Ai(e.x,n)*window.devicePixelRatio*u:0,f=e.y>r?Ai(e.y,r)*window.devicePixelRatio*u:0,o.translate(d,f)}o.save(),o.translate(s*u,s*u),o.scale(window.devicePixelRatio*u,window.devicePixelRatio*u),Vp(e,Ss.canvas(a),o,r),o.restore();let p=q(e,t),m=document.createElement(`canvas`),h=m.getContext(`2d`);if(W(e)&&p){let[n,r,i,o]=Y(e,t),c=Math.max(Ai(n,i),Ai(r,o));m.width=c*window.devicePixelRatio*u+s*u*10,m.height=c*window.devicePixelRatio*u+s*u*10,h.translate(m.width/2,m.height/2),h.rotate(e.angle),h.drawImage(a,-a.width/2,-a.height/2,a.width,a.height);let[,,,,l,d]=Y(p,t);h.rotate(-e.angle);let f=(m.width-a.width)/2,g=(m.height-a.height)/2,_=m.width/2-(l-n)*window.devicePixelRatio*u-f-s*u,v=m.height/2-(d-r)*window.devicePixelRatio*u-g-s*u;h.translate(-_,-v),h.clearRect(-(p.width/2+5)*window.devicePixelRatio*u,-(p.height/2+5)*window.devicePixelRatio*u,(p.width+10)*window.devicePixelRatio*u,(p.height+10)*window.devicePixelRatio*u)}return{element:e,canvas:a,theme:i.theme,scale:u,zoomValue:n.value,canvasOffsetX:d,canvasOffsetY:f,boundTextElementVersion:q(e,t)?.version||null,containingFrameOpacity:gp(e,t)?.opacity||100,boundTextCanvas:m,angle:e.angle,imageCrop:sc(e)?e.crop:null}},Rp=typeof document<`u`?document.createElement(`img`):{src:``};Rp.src=`data:${Wn.svg},%3Csvg%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20data-prefix%3D%22fas%22%20data-icon%3D%22image%22%20class%3D%22svg-inline--fa%20fa-image%20fa-w-16%22%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20fill%3D%22%23888%22%20d%3D%22M464%20448H48c-26.51%200-48-21.49-48-48V112c0-26.51%2021.49-48%2048-48h416c26.51%200%2048%2021.49%2048%2048v288c0%2026.51-21.49%2048-48%2048zM112%20120c-30.928%200-56%2025.072-56%2056s25.072%2056%2056%2056%2056-25.072%2056-56-25.072-56-56-56zM64%20384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971%200L208%20320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971%200L64%20336v48z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E`;var zp=typeof document<`u`?document.createElement(`img`):{src:``};zp.src=`data:${Wn.svg},%3Csvg%20viewBox%3D%220%200%20668%20668%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%22%3E%3Cpath%20d%3D%22M464%20448H48c-26.51%200-48-21.49-48-48V112c0-26.51%2021.49-48%2048-48h416c26.51%200%2048%2021.49%2048%2048v288c0%2026.51-21.49%2048-48%2048ZM112%20120c-30.928%200-56%2025.072-56%2056s25.072%2056%2056%2056%2056-25.072%2056-56-25.072-56-56-56ZM64%20384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971%200L208%20320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971%200L64%20336v48Z%22%20style%3D%22fill%3A%23888%3Bfill-rule%3Anonzero%22%20transform%3D%22matrix(.81709%200%200%20.81709%20124.825%20145.825)%22%2F%3E%3Cpath%20d%3D%22M256%208C119.034%208%208%20119.033%208%20256c0%20136.967%20111.034%20248%20248%20248s248-111.034%20248-248S392.967%208%20256%208Zm130.108%20117.892c65.448%2065.448%2070%20165.481%2020.677%20235.637L150.47%20105.216c70.204-49.356%20170.226-44.735%20235.638%2020.676ZM125.892%20386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53%20406.784c-70.203%2049.356-170.226%2044.736-235.638-20.676Z%22%20style%3D%22fill%3A%23888%3Bfill-rule%3Anonzero%22%20transform%3D%22matrix(.30366%200%200%20.30366%20506.822%2060.065)%22%2F%3E%3C%2Fsvg%3E`;var Bp=(e,t,n)=>{t.fillStyle=n===Fn.DARK?`#2E2E2E`:`#E7E7E7`,t.fillRect(0,0,e.width,e.height);let r=Math.min(e.width,e.height),i=Math.min(r,Math.min(r*.4,100));t.drawImage(e.status===`error`?zp:Rp,e.width/2-i/2,e.height/2-i/2,i,i)},Vp=(e,t,n,r)=>{switch(e.type){case`rectangle`:case`iframe`:case`embeddable`:case`diamond`:case`ellipse`:n.lineJoin=`round`,n.lineCap=`round`,t.draw(tm.generateElementShape(e,r));break;case`arrow`:case`line`:n.lineJoin=`round`,n.lineCap=`round`,tm.generateElementShape(e,r).forEach(e=>{t.draw(e)});break;case`freedraw`:{n.save();let i=tm.generateElementShape(e,r);for(let a of i)typeof a==`string`?(n.fillStyle=r.theme===Fn.DARK?en(e.strokeColor):e.strokeColor,n.fill(new Path2D(a))):t.draw(a);n.restore();break}case`image`:{n.save();let t=e.fileId===null?null:r.imageCache.get(e.fileId),i=oc(e)?t?.image:void 0;if(i!=null&&!(i instanceof Promise)){e.roundness&&n.roundRect&&(n.beginPath(),n.roundRect(0,0,e.width,e.height,qc(Math.min(e.width,e.height),e)),n.clip());let{x:a,y:o,width:s,height:c}=e.crop?e.crop:{x:0,y:0,width:i.naturalWidth,height:i.naturalHeight},l=r.theme===Fn.DARK&&t?.mimeType===Wn.svg;if(l&&Br){let t=window.devicePixelRatio||1,r=document.createElement(`canvas`);r.width=e.width*t,r.height=e.height*t;let l=r.getContext(`2d`);if(l){l.scale(t,t),l.drawImage(i,a,o,s,c,0,0,e.width,e.height);let u=l.getImageData(0,0,r.width,r.height),d=u.data;for(let e=0;e<d.length;e+=4)d[e]=255-d[e],d[e+1]=255-d[e+1],d[e+2]=255-d[e+2];l.putImageData(u,0,0),n.drawImage(r,0,0,r.width,r.height,0,0,e.width,e.height)}}else l&&(n.filter=`invert(93%) hue-rotate(180deg)`),n.drawImage(i,a,o,s,c,0,0,e.width,e.height)}else Bp(e,n,r.theme);n.restore();break}default:if(H(e)){let t=Li(e.text),i=t&&!n.canvas.isConnected;i&&document.body.appendChild(n.canvas),n.canvas.setAttribute(`dir`,t?`rtl`:`ltr`),n.save(),n.font=Si(e),n.fillStyle=r.theme===Fn.DARK?en(e.strokeColor):e.strokeColor,n.textAlign=e.textAlign;let a=e.text.replace(/\r\n?/g,`
14
+ `).split(`
15
+ `),o=e.textAlign===`center`?e.width/2:e.textAlign===`right`?e.width:0,s=ll(e.fontSize,e.lineHeight),c=Ar(e.fontFamily,e.fontSize,s);for(let e=0;e<a.length;e++)n.fillText(a[e],o,e*s+c);n.restore(),i&&n.canvas.remove()}else throw Error(`Unimplemented type ${e.type}`)}},Hp=new WeakMap,Up=(e,t,n,r)=>{let i=n?r.zoom:{value:1},a=Hp.get(e),o=a&&a.zoomValue!==i.value&&!r?.shouldCacheIgnoreZoom,s=q(e,t),c=s?.version||null,l=sc(e)?e.crop:null,u=gp(e,t)?.opacity||100;if(!a||o||a.theme!==r.theme||a.boundTextElementVersion!==c||a.imageCrop!==l||a.containingFrameOpacity!==u||W(e)&&s&&e.angle!==a.angle){let a=Lp(e,t,i,n,r);return a?(Hp.set(e,a),a):null}return a},Wp=(e,t,n,r,i)=>{let a=e.element,o=Pp(a),s=e.scale,[c,l,u,d]=Y(a,i),f=((c+u)/2+r.scrollX)*window.devicePixelRatio,p=((l+d)/2+r.scrollY)*window.devicePixelRatio;t.save(),t.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let m=q(a,i);if(W(a)&&m){let n=(e.boundTextCanvas.width-e.canvas.width)/2,r=(e.boundTextCanvas.height-e.canvas.height)/2;t.translate(f,p),t.drawImage(e.boundTextCanvas,-(u-c)/2*window.devicePixelRatio-n/s-o,-(d-l)/2*window.devicePixelRatio-r/s-o,e.boundTextCanvas.width/s,e.boundTextCanvas.height/s)}else if(t.translate(f,p),t.rotate(a.angle),`scale`in e.element&&!Np(a,n)&&t.scale(e.element.scale[0],e.element.scale[1]),t.translate(-f,-p),t.drawImage(e.canvas,(c+r.scrollX)*window.devicePixelRatio-o*e.scale/e.scale,(l+r.scrollY)*window.devicePixelRatio-o*e.scale/e.scale,e.canvas.width/e.scale,e.canvas.height/e.scale),ro.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX===`true`&&kc(a)){let e=q(a,i),n=Wl(a);t.strokeStyle=`#c92a2a`,t.lineWidth=3,t.strokeRect((n.x+r.scrollX)*window.devicePixelRatio,(n.y+r.scrollY)*window.devicePixelRatio,Zl(a,e)*window.devicePixelRatio,Ql(a,e)*window.devicePixelRatio)}t.restore()},Gp=(e,t,n,r)=>{t.save(),t.translate(e.x+n.scrollX,e.y+n.scrollY),t.fillStyle=`rgba(0, 0, 200, 0.04)`;let i=.5/n.zoom.value;t.fillRect(i,i,e.width,e.height),t.lineWidth=1/n.zoom.value,t.strokeStyle=r,t.strokeRect(i,i,e.width,e.height),t.restore()},Kp=(e,t,n,r,i,a,o)=>{let s=o.openDialog?.name===`elementLinkSelector`&&!o.selectedElementIds[e.id]&&!o.hoveredElementIds[e.id];switch(i.globalAlpha=Fp(e,gp(e,t),a.elementsPendingErasure,a.pendingFlowchartNodes,s?Sr:1),e.type){case`magicframe`:case`frame`:o.frameRendering.enabled&&o.frameRendering.outline&&(i.save(),i.translate(e.x+o.scrollX,e.y+o.scrollY),i.fillStyle=`rgba(0, 0, 200, 0.04)`,i.lineWidth=In.strokeWidth/o.zoom.value,i.strokeStyle=o.theme===Fn.DARK?en(In.strokeColor):In.strokeColor,fc(e)&&(i.strokeStyle=o.theme===Fn.LIGHT?`#7affd7`:en(`#1d8264`)),In.radius&&i.roundRect?(i.beginPath(),i.roundRect(0,0,e.width,e.height,In.radius/o.zoom.value),i.stroke(),i.closePath()):i.strokeRect(0,0,e.width,e.height),i.restore());break;case`freedraw`:if(a.isExporting){let[n,s,c,l]=Y(e,t),u=(n+c)/2+o.scrollX,d=(s+l)/2+o.scrollY,f=(c-n)/2-(e.x-n),p=(l-s)/2-(e.y-s);i.save(),i.translate(u,d),i.rotate(e.angle),i.translate(-f,-p),Vp(e,r,i,a),i.restore()}else{let t=Up(e,n,a,o);if(!t)return;Wp(t,i,a,o,n)}break;case`rectangle`:case`diamond`:case`ellipse`:case`line`:case`arrow`:case`image`:case`text`:case`iframe`:case`embeddable`:if(a.isExporting){let[n,s,c,l]=Y(e,t),u=(n+c)/2+o.scrollX,d=(s+l)/2+o.scrollY,f=(c-n)/2-(e.x-n),p=(l-s)/2-(e.y-s);if(H(e)){let r=Hl(e,t);if(W(r)){let i=J.getBoundTextElementPosition(r,e,t);f=(c-n)/2-(i.x-n),p=(l-s)/2-(i.y-s)}}i.save(),i.translate(u,d);let m=q(e,t);if(W(e)&&m){let r=document.createElement(`canvas`),u=r.getContext(`2d`),d=Math.max(Ai(n,c),Ai(s,l)),h=Pp(e);r.width=d*o.exportScale+h*10*o.exportScale,r.height=d*o.exportScale+h*10*o.exportScale,u.translate(r.width/2,r.height/2),u.scale(o.exportScale,o.exportScale),f=e.width/2-(e.x-n),p=e.height/2-(e.y-s),u.rotate(e.angle);let g=Ss.canvas(r);u.translate(-f,-p),Vp(e,g,u,a),u.translate(f,p),u.rotate(-e.angle);let[,,,,_,v]=Y(m,t),y=(n+c)/2-_,b=(s+l)/2-v;u.translate(-y,-b),u.clearRect(-m.width/2,-m.height/2,m.width,m.height),i.scale(1/o.exportScale,1/o.exportScale),i.drawImage(r,-r.width/2,-r.height/2,r.width,r.height)}else i.rotate(e.angle),e.type===`image`&&i.scale(e.scale[0],e.scale[1]),i.translate(-f,-p),Vp(e,r,i,a);i.restore()}else{let r=Up(e,n,a,o);if(!r)return;let s=i.imageSmoothingEnabled;if(!o?.shouldCacheIgnoreZoom&&(!e.angle||x(e.angle))&&(i.imageSmoothingEnabled=!1),e.id===o.croppingElementId&&sc(r.element)&&r.element.crop!==null){i.save(),i.globalAlpha=.1;let e=Lp(nc(r.element,t),n,o.zoom,a,o);e&&Wp(e,i,a,o,n),i.restore()}Wp(r,i,a,o,n),i.imageSmoothingEnabled=s}break;default:throw Error(`Unimplemented type ${e.type}`)}i.globalAlpha=1};function qp(e,t,n){let r=Hm({...e,angle:0},n),i=j((r[0]+r[2])/2,(r[1]+r[3])/2);return z(t.length>=2,`Freepath outline must have at least 2 points`),t.slice(2).reduce((t,n)=>(t.push(P(t[t.length-1][1],M(j(n[0]+e.x,n[1]+e.y),i,e.angle))),t),[P(M(j(t[0][0]+e.x,t[0][1]+e.y),i,e.angle),M(j(t[1][0]+e.x,t[1][1]+e.y),i,e.angle))])}B();var Jp=e=>e===`rectangle`||e===`iframe`||e===`embeddable`||e===`ellipse`||e===`diamond`||e===`line`||e===`freedraw`,Yp=e=>e===`rectangle`||e===`ellipse`||e===`diamond`||e===`freedraw`||e===`arrow`||e===`line`||e===`text`||e===`embeddable`,Xp=e=>e===`rectangle`||e===`iframe`||e===`embeddable`||e===`ellipse`||e===`diamond`||e===`freedraw`||e===`arrow`||e===`line`,Zp=e=>e===`rectangle`||e===`iframe`||e===`embeddable`||e===`ellipse`||e===`diamond`||e===`arrow`||e===`line`,Qp=e=>e===`rectangle`||e===`iframe`||e===`embeddable`||e===`line`||e===`diamond`||e===`image`,$p=e=>e===`arrow`,em=e=>e===`arrow`,tm=class e{static rg=new vs;static cache=new WeakMap;static get=(t,n)=>{let r=e.cache.get(t);if(r&&(n===null||r.theme===n))return r.shape};static delete=t=>{e.cache.delete(t),Hp.delete(t)};static destroy=()=>{e.cache=new WeakMap};static generateElementShape=(t,n)=>{let r=n?.isExporting?void 0:e.get(t,n?n.theme:null);if(r!==void 0)return r;Hp.delete(t);let i=pm(t,e.rg,n||{isExporting:!1,canvasBackgroundColor:I.white,embedsValidationStatus:null,theme:Fn.LIGHT});return n?.isExporting||e.cache.set(t,{shape:i,theme:n?.theme||Fn.LIGHT}),i}},nm=e=>[8,8+e],rm=e=>[1.5,6+e];function im(e){let t=e.roughness,n=Math.max(e.width,e.height),r=Math.min(e.width,e.height);return r>=20&&n>=50||r>=15&&e.roundness&&Qp(e.type)||hc(e)&&n>=50?t:Math.min(t/(n<10?3:2),2.5)}var am=(e,t=!1,n=!1)=>{let r={seed:e.seed,strokeLineDash:e.strokeStyle===`dashed`?nm(e.strokeWidth):e.strokeStyle===`dotted`?rm(e.strokeWidth):void 0,disableMultiStroke:e.strokeStyle!==`solid`,strokeWidth:e.strokeStyle===`solid`?e.strokeWidth:e.strokeWidth+.5,fillWeight:e.strokeWidth/2,hachureGap:e.strokeWidth*4,roughness:im(e),stroke:n?en(e.strokeColor):e.strokeColor,preserveVertices:t||e.roughness<ur.cartoonist};switch(e.type){case`rectangle`:case`iframe`:case`embeddable`:case`diamond`:case`ellipse`:return r.fillStyle=e.fillStyle,r.fill=dn(e.backgroundColor)?void 0:n?en(e.backgroundColor):e.backgroundColor,e.type===`ellipse`&&(r.curveFitting=1),r;case`line`:case`freedraw`:return Kc(e.points)&&(r.fillStyle=e.fillStyle,r.fill=e.backgroundColor===`transparent`?void 0:n?en(e.backgroundColor):e.backgroundColor),r;case`arrow`:return r;default:throw Error(`Unimplemented type ${e.type}`)}},om=(e,t,n)=>uc(e)&&(t||cc(e)&&n?.get(e.id)!==!0)&&dn(e.backgroundColor)&&dn(e.strokeColor)?{...e,roughness:0,backgroundColor:`#d3d3d3`,fillStyle:`solid`}:lc(e)?{...e,strokeColor:dn(e.strokeColor)?`#000000`:e.strokeColor,backgroundColor:dn(e.backgroundColor)?`#f4f4f6`:e.backgroundColor}:e,sm=(e,t,n)=>{if(t===null)return[];let[,,r,i,a,o]=t;return[e.line(r,i,a,o,n)]},cm=(e,t,n)=>{if(t===null)return[];let[r,i,a,o,s,c]=t;return[e.line(a,o,r,i,n),e.line(s,c,r,i,n)]},lm=(e,t)=>{let n={...t};if(e.strokeStyle===`dotted`){let t=rm(e.strokeWidth-1);n.strokeLineDash=[t[0],t[1]-1]}else delete n.strokeLineDash;return n.roughness=Math.min(1,n.roughness||0),n},um=(e,t,n,r,i,a=1)=>{if(r===null)return[];let[o,s,c]=r,l={...t,fill:i,fillStyle:`solid`,stroke:n,roughness:Math.min(.5,t.roughness||0)};return delete l.strokeLineDash,[e.circle(o,s,c*a,l)]},dm=(e,t,n,r,i,a,o,s)=>{if(r===null)return[];let c=s?en(e.strokeColor):e.strokeColor,l=s?en(o):o,u=.8;switch(r){case`circle`:case`circle_outline`:return um(i,a,c,zm(e,t,n,r),r===`circle_outline`?l:c);case`triangle`:case`triangle_outline`:{let o=zm(e,t,n,r);if(o===null)return[];let[s,u,d,f,p,m]=o,h={...a,fill:r===`triangle_outline`?l:c,fillStyle:`solid`,roughness:Math.min(1,a.roughness||0)};return delete h.strokeLineDash,[i.polygon([[s,u],[d,f],[p,m],[s,u]],h)]}case`diamond`:case`diamond_outline`:{let o=zm(e,t,n,r);if(o===null)return[];let[s,u,d,f,p,m,h,g]=o,_={...a,fill:r===`diamond_outline`?l:c,fillStyle:`solid`,roughness:Math.min(1,a.roughness||0)};return delete _.strokeLineDash,[i.polygon([[s,u],[d,f],[p,m],[h,g],[s,u]],_)]}case`cardinality_one`:return sm(i,zm(e,t,n,r),lm(e,a));case`cardinality_many`:return cm(i,zm(e,t,n,r),lm(e,a));case`cardinality_one_or_many`:{let r=lm(e,a);return[...cm(i,zm(e,t,n,`cardinality_many`),r),...sm(i,zm(e,t,n,`cardinality_one`,-.25),r)]}case`cardinality_exactly_one`:{let r=lm(e,a);return[...sm(i,zm(e,t,n,`cardinality_one`,-.5),r),...sm(i,zm(e,t,n,`cardinality_one`),r)]}case`cardinality_zero_or_one`:{let r=lm(e,a);return[...um(i,a,c,zm(e,t,n,`circle_outline`,1.5),l,u),...sm(i,zm(e,t,n,`cardinality_one`,-.5),r)]}case`cardinality_zero_or_many`:{let r=lm(e,a);return[...cm(i,zm(e,t,n,`cardinality_many`),r),...um(i,a,c,zm(e,t,n,`circle_outline`,1.5),l,u)]}default:return cm(i,zm(e,t,n,r),lm(e,a))}},fm=e=>{let t=new vs,n={seed:e.seed,disableMultiStroke:!0,disableMultiStrokeFill:!0,roughness:0,preserveVertices:!0},r=Xm(e.points.reduce((t,n)=>[Math.min(e.x+n[0],t[0]),Math.min(e.y+n[1],t[1]),Math.max(e.x+n[0],t[2]),Math.max(e.y+n[1],t[3])],[1/0,1/0,-1/0,-1/0]));switch(e.type){case`line`:case`arrow`:{let i=e.points.length?e.points:[j(0,0)];return G(e)?t.path(mm(i,16),n).sets[0].ops:e.roundness?t.curve(i,n).sets[0].ops.slice(0,e.points.length).map((t,n)=>{if(n===0){let n=M(j(e.x+t.data[0],e.y+t.data[1]),r,e.angle);return{op:`move`,data:j(n[0]-e.x,n[1]-e.y)}}return{op:`bcurveTo`,data:[M(j(e.x+t.data[0],e.y+t.data[1]),r,e.angle),M(j(e.x+t.data[2],e.y+t.data[3]),r,e.angle),M(j(e.x+t.data[4],e.y+t.data[5]),r,e.angle)].map(t=>j(t[0]-e.x,t[1]-e.y)).flat()}}):i.map((t,n)=>{let i=M(j(e.x+t[0],e.y+t[1]),r,e.angle);return{op:n===0?`move`:`lineTo`,data:j(i[0]-e.x,i[1]-e.y)}})}case`freedraw`:{if(e.points.length<2)return[];let i=ps(e.points,.75);return t.curve(i,n).sets[0].ops.slice(0,e.points.length).map((t,n)=>{if(n===0){let n=M(j(e.x+t.data[0],e.y+t.data[1]),r,e.angle);return{op:`move`,data:j(n[0]-e.x,n[1]-e.y)}}return{op:`bcurveTo`,data:[M(j(e.x+t.data[0],e.y+t.data[1]),r,e.angle),M(j(e.x+t.data[2],e.y+t.data[3]),r,e.angle),M(j(e.x+t.data[4],e.y+t.data[5]),r,e.angle)].map(t=>j(t[0]-e.x,t[1]-e.y)).flat()}})}}},pm=(e,t,{isExporting:n,canvasBackgroundColor:r,embedsValidationStatus:i,theme:a})=>{let o=a===Fn.DARK;switch(e.type){case`rectangle`:case`iframe`:case`embeddable`:{let r;if(e.roundness){let a=e.width,s=e.height,c=qc(Math.min(a,s),e);r=t.path(`M ${c} 0 L ${a-c} 0 Q ${a} 0, ${a} ${c} L ${a} ${s-c} Q ${a} ${s}, ${a-c} ${s} L ${c} ${s} Q 0 ${s}, 0 ${s-c} L 0 ${c} Q 0 0, ${c} 0`,am(om(e,n,i),!0,o))}else r=t.rectangle(0,0,e.width,e.height,am(om(e,n,i),!1,o));return r}case`diamond`:{let n,[r,i,a,s,c,l,u,d]=Om(e);if(e.roundness){let f=qc(Math.abs(r-u),e),p=qc(Math.abs(s-i),e);n=t.path(`M ${r+f} ${i+p} L ${a-f} ${s-p}
16
+ C ${a} ${s}, ${a} ${s}, ${a-f} ${s+p}
17
+ L ${c+f} ${l-p}
18
+ C ${c} ${l}, ${c} ${l}, ${c-f} ${l-p}
19
+ L ${u+f} ${d+p}
20
+ C ${u} ${d}, ${u} ${d}, ${u+f} ${d-p}
21
+ L ${r-f} ${i+p}
22
+ C ${r} ${i}, ${r} ${i}, ${r+f} ${i+p}`,am(e,!0,o))}else n=t.polygon([[r,i],[a,s],[c,l],[u,d]],am(e,!1,o));return n}case`ellipse`:return t.ellipse(e.width/2,e.height/2,e.width,e.height,am(e,!1,o));case`line`:case`arrow`:{let n,i=am(e,!1,o),a=e.points.length?e.points:[j(0,0)];if(G(e)?a.every(e=>Math.abs(e[0])<=1e6&&Math.abs(e[1])<=1e6)?n=[t.path(mm(a,16),am(e,!0,o))]:(console.error(`Elbow arrow with extreme point positions detected. Arrow not rendered.`,e.id,JSON.stringify(a)),n=[]):n=e.roundness?[t.curve(a,i)]:i.fill?[t.polygon(a,i)]:[t.linearPath(a,i)],e.type===`arrow`){let{startArrowhead:a=null,endArrowhead:s=`arrow`}=e;if(a!==null){let s=dm(e,n,`start`,a,t,i,r,o);n.push(...s)}if(s!==null){let a=dm(e,n,`end`,s,t,i,r,o);n.push(...a)}}return n}case`freedraw`:{let n=[];if(Kc(e.points)){let r=ps(e.points,.75);n.push(t.curve(r,{...am(e,!1,o),stroke:`none`}))}return n.push(_m(e)),n}case`frame`:case`magicframe`:case`text`:case`image`:return null;default:return fa(e,`generateElementShape(): Unimplemented type ${e?.type}`),null}},mm=(e,t)=>{let n=[];for(let r=1;r<e.length-1;r+=1){let i=e[r-1],a=e[r+1],o=e[r],s=Fu(o,i),c=Fu(a,o),l=Math.min(t,N(e[r],a)/2,N(e[r],i)/2);s?i[0]<o[0]?n.push([e[r][0]-l,e[r][1]]):n.push([e[r][0]+l,e[r][1]]):i[1]<o[1]?n.push([e[r][0],e[r][1]-l]):n.push([e[r][0],e[r][1]+l]),n.push(e[r]),c?a[0]<o[0]?n.push([e[r][0]-l,e[r][1]]):n.push([e[r][0]+l,e[r][1]]):a[1]<o[1]?n.push([e[r][0],e[r][1]-l]):n.push([e[r][0],e[r][1]+l])}let r=[`M ${e[0][0]} ${e[0][1]}`];for(let e=0;e<n.length;e+=3)r.push(`L ${n[e][0]} ${n[e][1]}`),r.push(`Q ${n[e+1][0]} ${n[e+1][1]}, ${n[e+2][0]} ${n[e+2][1]}`);return r.push(`L ${e[e.length-1][0]} ${e[e.length-1][1]}`),r.join(` `)},hm=(e,t)=>{switch(e.type){case`rectangle`:case`diamond`:case`frame`:case`magicframe`:case`embeddable`:case`image`:case`iframe`:case`text`:case`selection`:return Cs(e);case`arrow`:case`line`:{let n=tm.generateElementShape(e,null)[0],[,,,,r,i]=Y(e,t);return au(e)?ks(e,n,j(e.x,e.y),e.angle,j(r,i)):Es(n,j(e.x,e.y),e.angle,j(r,i))}case`ellipse`:return ws(e);case`freedraw`:{let[,,,,n,r]=Y(e,t);return Os(e,j(n,r),au(e))}}},gm=(e,t)=>{let n=[...e.points];if(t){if(!Rc(e.points))return null;let t=n[0],r=n[n.length-1];Math.hypot(t[0]-r[0],t[1]-r[1])>20||n.length<4?n.push(j(t[0],t[1])):n[n.length-1]=j(t[0],t[1])}return{polygon:t,points:n}},_m=e=>xm(vm(e)),vm=e=>$s(e.simulatePressure?e.points:e.points.length?e.points.map(([t,n],r)=>[t,n,e.pressures[r]]):[[0,0,.5]],{simulatePressure:e.simulatePressure,size:e.strokeWidth*4.25,thinning:.6,smoothing:.5,streamline:.5,easing:e=>Math.sin(e*Math.PI/2),last:!0}),ym=(e,t)=>[(e[0]+t[0])/2,(e[1]+t[1])/2],bm=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g,xm=e=>{if(!e.length)return``;let t=e.length-1;return e.reduce((e,n,r,i)=>(r===t?e.push(n,ym(n,i[0]),`L`,i[0],`Z`):e.push(n,ym(n,i[r+1])),e),[`M`,e[0],`Q`]).join(` `).replace(bm,`$1`)},Sm=class e{static boundsCache=new WeakMap;static nonRotatedBoundsCache=new WeakMap;static getBounds(t,n,r=!1){let i=r&&t.angle!==0?e.nonRotatedBoundsCache.get(t):e.boundsCache.get(t);if(i?.version&&i.version===t.version&&!Ac(t))return i.bounds;if(r&&t.angle!==0){let r=e.calculateBounds({...t,angle:0},n);return e.nonRotatedBoundsCache.set(t,{version:t.version,bounds:r}),r}let a=e.calculateBounds(t,n);return e.boundsCache.set(t,{version:t.version,bounds:a}),a}static calculateBounds(e,t){let n,[r,i,a,o,s,c]=Y(e,t);if(pc(e)){let[t,n,r,i]=Nm(e.points.map(([t,n])=>M(j(t,n),j(s-e.x,c-e.y),e.angle)));return[t+e.x,n+e.y,r+e.x,i+e.y]}else if(hc(e))n=Vm(e,s,c,t);else if(e.type===`diamond`){let[t,l]=M(j(s,i),j(s,c),e.angle),[u,d]=M(j(s,o),j(s,c),e.angle),[f,p]=M(j(r,c),j(s,c),e.angle),[m,h]=M(j(a,c),j(s,c),e.angle);n=[Math.min(t,u,f,m),Math.min(l,d,p,h),Math.max(t,u,f,m),Math.max(l,d,p,h)]}else if(e.type===`ellipse`){let t=(a-r)/2,l=(o-i)/2,u=Math.cos(e.angle),d=Math.sin(e.angle),f=Math.hypot(t*u,l*d),p=Math.hypot(l*u,t*d);n=[s-f,c-p,s+f,c+p]}else{let[t,l]=M(j(r,i),j(s,c),e.angle),[u,d]=M(j(r,o),j(s,c),e.angle),[f,p]=M(j(a,o),j(s,c),e.angle),[m,h]=M(j(a,i),j(s,c),e.angle);n=[Math.min(t,u,f,m),Math.min(l,d,p,h),Math.max(t,u,f,m),Math.max(l,d,p,h)]}return n}},Y=(e,t,n=!1)=>{if(pc(e))return Pm(e);if(hc(e))return J.getElementAbsoluteCoords(e,t,n);if(H(e)){let n=t?Hl(e,t):null;if(W(n)){let{x:r,y:i}=J.getBoundTextElementPosition(n,e,t);return[r,i,r+e.width,i+e.height,r+e.width/2,i+e.height/2]}}return[e.x,e.y,e.x+e.width,e.y+e.height,e.x+e.width/2,e.y+e.height/2]},Cm=(e,t)=>{let n=hm(e,t),[r,i,a,o,s,c]=Y(e,t),l=j(s,c);if(n.type===`polycurve`){let t=n.data.map(e=>hs(e,10)),r=[];if(gc(e)&&!e.polygon||W(e))for(let e of t){let t=0;for(;t<e.length-1;)r.push(P(j(e[t][0],e[t][1]),j(e[t+1][0],e[t+1][1]))),t++}else{let e=t.flat(),n=0;for(;n<e.length-1;)r.push(P(j(e[n][0],e[n][1]),j(e[n+1][0],e[n+1][1]))),n++}return r}else{if(n.type===`polyline`)return n.data;if(wm(e)){let[t,n]=Uc(e),r=n.map(t=>Em(t,l,e.angle)).flat();return[...Tm(t,l,e.angle),...r]}else if(e.type===`diamond`){let[t,n]=Gc(e),r=n.map(t=>Em(t,l,e.angle)).flat();return[...Tm(t,l,e.angle),...r]}else if(n.type===`polygon`){if(H(e)){let n=Hl(e,t);if(n&&hc(n))return[P(j(r,i),j(a,i)),P(j(a,i),j(a,o)),P(j(a,o),j(r,o)),P(j(r,o),j(r,i))]}let s=n.data,c=[];for(let e=0;e<s.length-1;e++)c.push(P(s[e],s[e+1]));return c}else if(n.type===`ellipse`)return Dm(e)}let[u,d,f,p,,,m,h]=[[r,i],[a,i],[r,o],[a,o],[s,i],[s,o],[r,c],[a,c]].map(t=>M(t,l,e.angle));return[P(u,d),P(f,p),P(u,f),P(d,p),P(u,h),P(f,h),P(d,m),P(p,m)]},wm=e=>e!=null&&(e.type===`rectangle`||e.type===`image`||e.type===`iframe`||e.type===`embeddable`||e.type===`frame`||e.type===`magicframe`||e.type===`text`&&!e.containerId),Tm=(e,t,n)=>e.map(e=>P(M(e[0],t,n),M(e[1],t,n))),Em=(e,t,n)=>{let r=hs(e,10),i=0,a=[];for(;i<r.length-1;)a.push(P(M(j(r[i][0],r[i][1]),t,n),M(j(r[i+1][0],r[i+1][1]),t,n))),i++;return a},Dm=e=>{let t=j(e.x+e.width/2,e.y+e.height/2),n=e.width/2,r=e.height/2,i=[],a=[],o=Math.PI*2/90;for(let i=0;i<90;i++){let s=i*o,c=t[0]+n*Math.cos(s),l=t[1]+r*Math.sin(s);a.push(M(j(c,l),t,e.angle))}for(let e=0;e<a.length-1;e++)i.push(P(a[e],a[e+1]));return i.push(P(a[a.length-1],a[0])),i},Om=e=>{let t=Math.floor(e.width/2)+1,n=e.width,r=Math.floor(e.height/2)+1;return[t,0,n,r,t,e.height,0,r]},km=(e,t,n,r,i)=>{let a=1-e;return a**3*t+3*a**2*e*n+3*a*e**2*r+e**3*i},Am=(e,t,n,r)=>{let i=t-e,a=n-t,o=r-n,s=3*i-6*a+3*o,c=6*a-6*i,l=3*i,u=c*c-4*s*l;if(!(u>=0))return!1;let d=null,f=null,p=1/0,m=1/0;return s===0?p=m=-l/c:(p=(-c+Math.sqrt(u))/(2*s),m=(-c-Math.sqrt(u))/(2*s)),p>=0&&p<=1&&(d=km(p,e,t,n,r)),m>=0&&m<=1&&(f=km(m,e,t,n,r)),[d,f]},jm=(e,t,n,r)=>{let i=Am(e[0],t[0],n[0],r[0]),a=Am(e[1],t[1],n[1],r[1]),o=Math.min(e[0],r[0]),s=Math.max(e[0],r[0]);if(i){let e=i.filter(e=>e!==null);o=Math.min(o,...e),s=Math.max(s,...e)}let c=Math.min(e[1],r[1]),l=Math.max(e[1],r[1]);if(a){let e=a.filter(e=>e!==null);c=Math.min(c,...e),l=Math.max(l,...e)}return[o,c,s,l]},Mm=(e,t)=>{let n=j(0,0),{minX:r,minY:i,maxX:a,maxY:o}=e.reduce((e,{op:r,data:i})=>{if(r===`move`){let e=ie(i);z(e!=null,`Op data is not a point`),n=e}else if(r===`bcurveTo`){let r=j(i[0],i[1]),a=j(i[2],i[3]),o=j(i[4],i[5]),s=t?t(r):r,c=t?t(a):a,l=t?t(o):o,u=t?t(n):n;n=o;let[d,f,p,m]=jm(u,s,c,l);e.minX=Math.min(e.minX,d),e.minY=Math.min(e.minY,f),e.maxX=Math.max(e.maxX,p),e.maxY=Math.max(e.maxY,m)}return e},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r,i,a,o]},Nm=e=>{let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let[a,o]of e)t=Math.min(t,a),n=Math.min(n,o),r=Math.max(r,a),i=Math.max(i,o);return[t,n,r,i]},Pm=e=>{let[t,n,r,i]=Nm(e.points),a=t+e.x,o=n+e.y,s=r+e.x,c=i+e.y;return[a,o,s,c,(a+s)/2,(o+c)/2]},Fm=20,Im=15,Lm=e=>{switch(e){case`arrow`:return 25;case`diamond`:case`diamond_outline`:return 12;case`cardinality_many`:case`cardinality_one_or_many`:case`cardinality_zero_or_many`:return Im;case`cardinality_one`:case`cardinality_exactly_one`:case`cardinality_zero_or_one`:return Fm;default:return 15}},Rm=e=>{switch(e){case`bar`:return 90;case`arrow`:return 20;default:return 25}},zm=(e,t,n,r,i=0)=>{if(r===null||t.length<1)return null;let a=Ts(t[0]);if(a.length<1)return null;let o=n===`start`?1:a.length-1,s=a[o].data;z(s.length===6,`Op data length is not 6`);let c=j(s[4],s[5]),l=j(s[2],s[3]),u=j(s[0],s[1]),d=a[o-1],f=j(0,0);if(d.op===`move`){let e=ie(d.data);z(e!=null,`Op data is not a point`),f=e}else d.op===`bcurveTo`&&(f=j(d.data[4],d.data[5]));let p=(e,t)=>(1-e)**3*c[t]+3*e*(1-e)**2*l[t]+3*e**2*(1-e)*u[t]+f[t]*e**3,[m,h]=n===`start`?f:c,[g,_]=[p(.3,0),p(.3,1)],v=Math.hypot(m-g,h-_),b=(m-g)/v,x=(h-_)/v,S=Lm(r),C=0;{let[t,r]=n===`end`?e.points[e.points.length-1]:e.points[0],[i,a]=e.points.length>1?n===`end`?e.points[e.points.length-2]:e.points[1]:[0,0];C=Math.hypot(t-i,r-a)}let w=Math.min(S,C*(r===`diamond`||r===`diamond_outline`?.25:.5)),T=m-b*w*i,E=h-x*w*i,D=T-b*w,O=E-x*w;if(r===`circle`||r===`circle_outline`)return[T,E,Math.hypot(O-E,D-T)+e.strokeWidth-2];let k=Rm(r);if(r===`cardinality_many`||r===`cardinality_one_or_many`){let[e,t]=M(j(T,E),j(D,O),y(-k)),[n,r]=M(j(T,E),j(D,O),y(k));return[D,O,e,t,n,r]}let[A,ee]=M(j(D,O),j(T,E),-k*Math.PI/180),[te,ne]=M(j(D,O),j(T,E),y(k));if(r===`diamond`||r===`diamond_outline`){let t,r;if(n===`start`){let[n,i]=e.points.length>1?e.points[1]:[0,0];[t,r]=M(j(T+w*2,E),j(T,E),Math.atan2(i-E,n-T))}else{let[n,i]=e.points.length>1?e.points[e.points.length-2]:[0,0];[t,r]=M(j(T-w*2,E),j(T,E),Math.atan2(E-i,T-n))}return[T,E,A,ee,t,r,te,ne]}return[T,E,A,ee,te,ne]},Bm=e=>{let t=Ss.generator(),n=am(e);return t[e.roundness?`curve`:n.fill?`polygon`:`linearPath`](e.points,n)},Vm=(e,t,n,r)=>{let i=q(e,r);if(e.points.length<2){let[a,o]=e.points[0],[s,c]=M(j(e.x+a,e.y+o),j(t,n),e.angle),l=[s,c,s,c];if(i){let t=J.getMinMaxXYWithBoundText(e,r,[s,c,s,c],i);l=[t[0],t[1],t[2],t[3]]}return l}let a=Mm(Ts(tm.get(e,null)?.[0]??Bm(e)),([r,i])=>M(j(e.x+r,e.y+i),j(t,n),e.angle)),o=[a[0],a[1],a[2],a[3]];if(i){let t=J.getMinMaxXYWithBoundText(e,r,o,i);o=[t[0],t[1],t[2],t[3]]}return o},Hm=(e,t,n=!1)=>Sm.getBounds(e,t,n),Um=(e,t)=>{if(!Ea(e))return[0,0,0,0];let n=1/0,r=-1/0,i=1/0,a=-1/0,o=t||R(e);return e.forEach(e=>{let[t,s,c,l]=Hm(e,o);n=Math.min(n,t),i=Math.min(i,s),r=Math.max(r,c),a=Math.max(a,l)}),[n,i,r,a]},Wm=(e,t)=>{let[n,r,i,a]=Um(e);return[n+t.x,r+t.y,i+t.x,a+t.y]},Gm=(e,t,n,r)=>{if(!(hc(e)||pc(e)))return[e.x,e.y,e.x+t,e.y+n];let i=ci(0,t,ci(1,n,e.points,r),r),a;if(pc(e))a=Nm(i);else{let t=Ss.generator();a=Mm(Ts(e.roundness?t.curve(i,am(e)):t.linearPath(i,am(e))))}let[o,s,c,l]=a;return[o+e.x,s+e.y,c+e.x,l+e.y]},Km=(e,t)=>{let n=Ss.generator(),[r,i,a,o]=Mm(Ts(e.roundness==null?n.linearPath(t,am(e)):n.curve(t,am(e))));return[r+e.x,i+e.y,a+e.x,o+e.y]},qm=(e,t)=>{if(!e.length)return[0,0,0,0];let n=1/0,r=e[0],i=R(e);return e.forEach(e=>{let[a,o,s,c]=Hm(e,i),l=N(j((a+s)/2,(o+c)/2),j(t.x,t.y));l<n&&(n=l,r=e)}),Hm(r,i)},Jm=e=>{let[t,n,r,i]=Um(e);return{minX:t,minY:n,maxX:r,maxY:i,width:r-t,height:i-n,midX:(t+r)/2,midY:(n+i)/2}},Ym=({scrollX:e,scrollY:t,width:n,height:r,zoom:i})=>[-e,-t,-e+n/i.value,-t+r/i.value],Xm=e=>j(e[0]+(e[2]-e[0])/2,e[1]+(e[3]-e[1])/2),Zm=(e,t,n)=>{let r={minX:e.x,minY:e.y,maxX:e.x+e.width,maxY:e.y+e.height,midX:e.x+e.width/2,midY:e.y+e.height/2},i=eh(e,t),[a,o]=M(j(r.minX,r.minY),i,e.angle),[s,c]=M(j(r.maxX,r.minY),i,e.angle),[l,u]=M(j(r.maxX,r.maxY),i,e.angle),[d,f]=M(j(r.minX,r.maxY),i,e.angle),p=[Math.min(a,s,l,d),Math.min(o,c,u,f),Math.max(a,s,l,d),Math.max(o,c,u,f)];if(n){let[e,t,r,i]=n;return[p[0]-i,p[1]-e,p[2]+t,p[3]+r]}return p},Qm=(e,t)=>e[0]>t[0]&&e[0]<t[2]&&e[1]>t[1]&&e[1]<t[3],$m=(e,t)=>{if(e==null||t==null)return!1;let[n,r,i,a]=e,[o,s,c,l]=t;return n<c&&i>o&&r<l&&a>s},eh=(e,t,n=0,r=0)=>{if(hc(e)){let[i,a,o,s]=Y(e,t),[c,l]=j((i+o)/2,(a+s)/2);return j(c+n,l+r)}let[i,a]=Xm(Hm(e,t));return j(i+n,a+r)},th=e=>hc(e)||pc(e)?e.points.length<2||e.points.length===2&&W(e)&&se(e.points[0],e.points[e.points.length-1],.1):e.width===0&&e.height===0,nh=(e,t,n,r,i)=>{let[a,o,s,c]=Hm(e,i),l=Ni({clientX:r.offsetLeft,clientY:r.offsetTop},r),u=Ni({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return l.x<=s&&l.y<=c&&u.x>=a&&u.y>=o},rh=(e,t,n,r,i,a)=>{let[o,s,c,l]=Um(e,i),u=Ni({clientX:r.offsetLeft+(a?.left||0),clientY:r.offsetTop+(a?.top||0)},r),d=Ni({clientX:r.offsetLeft+t-(a?.right||0),clientY:r.offsetTop+n-(a?.bottom||0)},r);return o>=u.x&&s>=u.y&&c<=d.x&&l<=d.y},ih=(e,t,n)=>{let r=Math.abs(t),i=Math.abs(n);if(e===`line`||e===`arrow`||e===`freedraw`){let e=Math.round(Math.atan(i/r)/_n)*_n;e===0?n=0:e===Math.PI/2?t=0:n=r*Math.tan(e)*Math.sign(n)||n}else e!==`selection`&&(n=r*Math.sign(n));return{width:t,height:n}},ah=(e,t,n,r,i)=>{let a=n-e,o=r-t,s=Math.atan2(o,a),c=Math.round(s/_n)*_n;if(i){let e=Math.floor(i/_n)*_n;S(s,e,e+_n)&&(c=C(s,i)<_n/6?i:v(s)>v(i)?e+_n:e)}if(c===0)o=0;else if(c===Math.PI/2)a=0;else{let i=Math.tan(c),s=t-i*e,l=-1/i,u=r-l*n,d=(-1*u- -1*s)/(i*-1-l*-1),f=(s*l-u*i)/(i*-1-l*-1);a=d-e,o=f-t}return{width:a,height:o}},oh=e=>{let t={width:e.width,height:e.height,x:e.x,y:e.y};if(e.width<0){let n=Math.abs(e.width);t.width=n,t.x=e.x-n}if(e.height<0){let n=Math.abs(e.height);t.height=n,t.y=e.y-n}return t};B();var sh=(e,t,n,r)=>{let i=Kf(e,n.getNonDeletedElementsMap(),r),a=Jm(e);return i.flatMap(e=>{let r=ch(e,a,t);return e.map(t=>{let i=n.mutateElement(t,{x:t.x+r.x,y:t.y+r.y});return Id(t,n,{simultaneouslyUpdated:e}),i})})},ch=(e,t,{axis:n,position:r})=>{let i=Jm(e),[a,o]=n===`x`?[`minX`,`maxX`]:[`minY`,`maxY`],s={x:0,y:0};return r===`start`?{...s,[n]:t[a]-i[a]}:r===`end`?{...s,[n]:t[o]-i[o]}:{...s,[n]:(t[a]+t[o])/2-(i[a]+i[o])/2}};B(),B(),B(),B();var lh=e=>{let t=e.slice(),n=new Set,r=e=>{let t=e[0]?.groupIds?.join(``),n=[e[0]],i=[];for(let r of e.slice(1))r.groupIds?.join(``)===t?n.push(r):i.push(r);return i.length?[...n,...r(i)]:n},i=new Map;return t.forEach((e,a)=>{if(!i.has(e.id))if(e.groupIds?.length){let o=e.groupIds[e.groupIds.length-1],s=t.slice(a).filter(e=>{let t=e?.groupIds?.some(e=>e===o);return t&&i.set(e.id,!0),t});for(let e of r(s))n.add(e)}else n.add(e)}),n.size===e.length?[...n]:(console.error(`normalizeGroupElementOrder: lost some elements... bailing!`),e)},uh=e=>{let t=Yi(e),n=e.slice(),r=new Set;return n.forEach((e,i)=>{e&&(e.boundElements?.length?(r.add(e),n[i]=null,e.boundElements.forEach(e=>{let i=t.get(e.id);i&&e.type===`text`&&(r.add(i[0]),n[i[1]]=null)})):e.type===`text`&&e.containerId&&t.get(e.containerId)?.[0].boundElements?.find(t=>t.id===e.id)||(r.add(e),n[i]=null))}),r.size===e.length?[...r]:(console.error(`normalizeBoundElementsOrder: lost some elements... bailing!`),e)},dh=e=>uh(lh(e)),fh=(e,t,n,r)=>{let i=hh(n);return ea()&&gh(i,n.id),i.id=Ia(),i.updated=Ji(),r&&(i.seed=Fa(),bd(i)),i.groupIds=Gf(i.groupIds,e,e=>(t.has(e)||t.set(e,Ia()),t.get(e))),i},ph=e=>{let{elements:t}=e,n=`appState`in e?e.appState:{editingGroupId:null,selectedGroupIds:{}},r=new Map,i=new Map,a=[],o=[],s=new Map,c=new Map,l=new Map,u=R(t),d=e.type===`in-place`?e.idsOfElementsToDuplicate:new Map(t.map(e=>[e.id,e]));if(e.type===`in-place`)for(let n of Object.keys(e.appState.selectedGroupIds))t.filter(e=>e.groupIds?.includes(n)).forEach(e=>d.set(e.id,e));t=dh(t);let f=t.slice(),p=t=>{let u=wa(t).reduce((t,u)=>{if(r.has(u.id))return t;r.set(u.id,!0);let d=fh(n.editingGroupId,i,u,e.randomizeSeed);return r.set(d.id,!0),l.set(d.id,d),s.set(u.id,d.id),c.set(d.id,u),o.push(u),a.push(d),t.push(d),t},[]);return Array.isArray(t)?u:u[0]||null},m=(e,t)=>{if(t){if(e>f.length-1){f.push(...wa(t));return}f.splice(e+1,0,...wa(t))}},h=new Set(t.filter(e=>d.has(e.id)&&U(e)).map(e=>e.id));for(let e of t){if(r.has(e.id)||!d.has(e.id))continue;let i=Mf(n,e);if(i){let e=Lf(t,i).flatMap(e=>U(e)?[...up(t,e.id),e]:[e]);m(Vi(f,e=>e.groupIds?.includes(i)),p(e));continue}if(!(e.frameId&&h.has(e.frameId))){if(U(e)){let n=e.id,r=up(t,n);m(Vi(f,e=>e.frameId===n||e.id===n),p([...r,e]));continue}if(kc(e)){let t=q(e,u),n=Vi(f,t=>t.id===e.id||`containerId`in t&&t.containerId===e.id);t?m(n,p([e,t])):m(n,p(e));continue}if(Ac(e)){let t=Hl(e,u),n=Vi(f,n=>n.id===e.id||n.id===t?.id);t?m(n,p([t,e])):m(n,p(e));continue}m(Vi(f,t=>t.id===e.id),p(e))}}if(Zd(a,s,l),np(f,o,s),e.overrides)for(let t of a){let n=c.get(t.id);n&&Object.assign(t,e.overrides({duplicateElement:t,origElement:n,origIdToDuplicateId:s}))}return{duplicatedElements:a,duplicateElementsMap:l,elementsWithDuplicates:f,origIdToDuplicateId:s}},mh=(e,t=0)=>{if(typeof e!=`object`||!e)return e;let n=Object.prototype.toString.call(e);if(n===`[object Object]`){let n=typeof e.constructor==`function`?Object.create(Object.getPrototypeOf(e)):{};for(let r in e)if(e.hasOwnProperty(r)){if(t===0&&(r===`shape`||r===`canvas`))continue;n[r]=mh(e[r],t+1)}return n}if(Array.isArray(e)){let n=e.length,r=Array(n);for(;n--;)r[n]=mh(e[n],t+1);return r}return ro.DEV&&n!==`[object Object]`&&n!==`[object Array]`&&n.startsWith(`[object `)&&console.warn(`_deepCloneElement: unexpected object type ${n}. This value will not be cloned!`),e},hh=e=>mh(e),gh=(e,t)=>{Object.defineProperty(e,wr,{value:t,writable:!1,enumerable:!1})},_h={IMMEDIATELY:`IMMEDIATELY`,NEVER:`NEVER`,EVENTUALLY:`EVENTUALLY`},vh=class{constructor(e){this.app=e}onDurableIncrementEmitter=new Va;onStoreIncrementEmitter=new Va;scheduledMacroActions=new Set;scheduledMicroActions=[];_snapshot=wh.empty();get snapshot(){return this._snapshot}set snapshot(e){this._snapshot=e}scheduleAction(e){this.scheduledMacroActions.add(e),this.satisfiesScheduledActionsInvariant()}scheduleCapture(){this.scheduleAction(_h.IMMEDIATELY)}scheduleMicroAction(e){let{action:t}=e,n;if(`change`in e)n=e.change;else{let r=wh.create(this.app.scene.getElementsMapIncludingDeleted(),this.app.state),i=r.maybeClone(t,e.elements?Wh(e.elements):void 0,e.appState);n=yh.create(r,i)}let r=`delta`in e?e.delta:void 0;this.scheduledMicroActions.push(()=>this.processAction({action:t,change:n,delta:r}))}commit(e,t){this.flushMicroActions();try{let n=this.getScheduledMacroAction();this.processAction({action:n,elements:e,appState:t})}finally{this.satisfiesScheduledActionsInvariant(),this.scheduledMacroActions=new Set}}clear(){this.snapshot=wh.empty(),this.scheduledMacroActions=new Set}emitDurableIncrement(e,t=void 0,n=void 0){let r=this.snapshot,i,a;if(i=t||yh.create(r,e),a=n||Ch.calculate(r,e),!a.isEmpty()){let e=new xh(i,a);this.onDurableIncrementEmitter.trigger(e),this.onStoreIncrementEmitter.trigger(e)}}emitEphemeralIncrement(e,t=void 0){let n;if(t)n=t;else{let t=this.snapshot;n=yh.create(t,e)}let r=new Sh(n);this.onStoreIncrementEmitter.trigger(r)}applyChangeToSnapshot(e){let t=this.snapshot,n=this.snapshot.applyChange(e);return t===n?null:n}maybeCloneSnapshot(e,t,n){if(!t&&!n)return null;let r=this.snapshot,i=this.snapshot.maybeClone(e,t,n);return r===i?null:i}flushMicroActions(){for(let e of this.scheduledMicroActions)try{e()}catch(e){console.error(`Failed to execute scheduled micro action`,e)}this.scheduledMicroActions=[]}processAction(e){let{action:t}=e;if(t===_h.EVENTUALLY&&!this.onStoreIncrementEmitter.subscribers.length)return;let n;if(n=`change`in e?this.applyChangeToSnapshot(e.change):this.maybeCloneSnapshot(t,e.elements,e.appState),!n)return;let r=`change`in e?e.change:void 0,i=`delta`in e?e.delta:void 0;try{switch(t){case _h.IMMEDIATELY:this.emitDurableIncrement(n,r,i);break;case _h.NEVER:case _h.EVENTUALLY:this.emitEphemeralIncrement(n,r);break;default:fa(t,`Unknown store action`)}}finally{switch(t){case _h.IMMEDIATELY:case _h.NEVER:this.snapshot=n;break}}}getScheduledMacroAction(){let e;return e=this.scheduledMacroActions.has(_h.IMMEDIATELY)?_h.IMMEDIATELY:this.scheduledMacroActions.has(_h.NEVER)?_h.NEVER:_h.EVENTUALLY,e}satisfiesScheduledActionsInvariant(){if(!(this.scheduledMacroActions.size>=0&&this.scheduledMacroActions.size<=Object.keys(_h).length)){let e=`There can be at most three store actions scheduled at the same time, but there are "${this.scheduledMacroActions.size}".`;if(console.error(e,this.scheduledMacroActions.values()),ea()||ta())throw Error(e)}}},yh=class e{constructor(e,t){this.elements=e,this.appState=t}static create(t,n){return new e(n.getChangedElements(t),n.getChangedAppState(t))}},bh=class{constructor(e,t){this.type=e,this.change=t}static isDurable(e){return e.type===`durable`}static isEphemeral(e){return e.type===`ephemeral`}},xh=class extends bh{constructor(e,t){super(`durable`,e),this.change=e,this.delta=t}},Sh=class extends bh{constructor(e){super(`ephemeral`,e),this.change=e}},Ch=class e{constructor(e,t,n){this.id=e,this.elements=t,this.appState=n}static create(e,t,n={id:Ia()}){return new this(n.id,e,t)}static calculate(e,t){let n=t.metadata.didElementsChange?ng.calculate(e.elements,t.elements):ng.empty(),r=t.metadata.didAppStateChange?tg.calculate(e.appState,t.appState):tg.empty();return this.create(n,r)}static restore(e){let{id:t,elements:n,appState:r}=e;return new this(t,ng.restore(n),tg.restore(r))}static load({id:e,elements:{added:t,removed:n,updated:r},appState:{delta:i}}){let a=ng.create(t,n,r),o=tg.create(i);return new this(e,a,o)}static squash(...t){let n=e.empty();for(let e of t)n.elements.squash(e.elements),n.appState.squash(e.appState);return n}static inverse(e){return this.create(e.elements.inverse(),e.appState.inverse())}static applyTo(e,t,n,r){let[i,a]=e.elements.applyTo(t,wh.empty().elements,r),[o,s]=e.appState.applyTo(n,i);return[i,o,a||s]}static applyLatestChanges(e,t,n,r){return this.create(e.elements.applyLatestChanges(t,n,r),e.appState,{id:e.id})}static empty(){return e.create(ng.empty(),tg.empty())}isEmpty(){return this.elements.isEmpty()&&this.appState.isEmpty()}},wh=class e{constructor(e,t,n={didElementsChange:!1,didAppStateChange:!1,isEmpty:!1}){this.elements=e,this.appState=t,this.metadata=n}_lastChangedElementsHash=0;_lastChangedAppStateHash=0;static create(t,n,r={didElementsChange:!1,didAppStateChange:!1}){return new e(t,Oh(n)?n:Dh(n),r)}static empty(){return new e(new Map,Eh(),{didElementsChange:!1,didAppStateChange:!1,isEmpty:!0})}getChangedElements(e){let t={};for(let n of Qi(e.elements))this.elements.get(n.id)||(t[n.id]=yd(n,{isDeleted:!0}));for(let n of Qi(this.elements))e.elements.get(n.id)!==n&&(t[n.id]=n);return t}getChangedAppState(e){return X.getRightDifferences(e.appState,this.appState).reduce((e,t)=>Object.assign(e,{[t]:this.appState[t]}),{})}isEmpty(){return this.metadata.isEmpty}applyChange(t){let n=new Map(this.elements);for(let[e,r]of Object.entries(t.elements))n.set(e,r);let r=Dh({...this.appState,...t.appState});return e.create(n,r,{didElementsChange:Object.keys(t.elements).length>0,didAppStateChange:Object.keys(t.appState).length>0})}maybeClone(t,n,r){let i={shouldCompareHashes:!1};t===_h.EVENTUALLY&&(i.shouldCompareHashes=!0);let a=this.maybeCreateElementsSnapshot(n,i),o=this.maybeCreateAppStateSnapshot(r,i),s=!1,c=!1;return this.elements!==a&&(s=!0),this.appState!==o&&(c=!0),!s&&!c?this:new e(a,o,{didElementsChange:s,didAppStateChange:c})}maybeCreateAppStateSnapshot(e,t={shouldCompareHashes:!1}){if(!e)return this.appState;let n=Oh(e)?e:Dh(e);return this.detectChangedAppState(n,t)?n:this.appState}maybeCreateElementsSnapshot(e,t={shouldCompareHashes:!1}){if(!e)return this.elements;let n=this.detectChangedElements(e,t);return n?.size?this.createElementsSnapshot(n):this.elements}detectChangedAppState(e,t={shouldCompareHashes:!1}){if(this.appState===e)return;let n=X.isRightDifferent(this.appState,e);if(!n)return;let r=kv(JSON.stringify(e));if(!(t.shouldCompareHashes&&this._lastChangedAppStateHash===r))return this._lastChangedAppStateHash=r,n}detectChangedElements(e,t={shouldCompareHashes:!1}){if(this.elements===e)return;let n=new Map;for(let t of Qi(this.elements))e.get(t.id)||n.set(t.id,yd(t,{isDeleted:!0}));for(let t of Qi(e)){let e=this.elements.get(t.id);if(!e||e.version<t.version){if(sc(t)&&!oc(t))continue;n.set(t.id,t)}}if(!n.size)return;let r=Ov(n);if(!(t.shouldCompareHashes&&this._lastChangedElementsHash===r))return this._lastChangedElementsHash=r,n}createElementsSnapshot(e){let t=new Map;for(let e of Qi(this.elements))t.set(e.id,e);for(let n of Qi(e))t.set(n.id,hh(n));return t}},Th=`__observedAppState`,Eh=()=>({name:null,editingGroupId:null,viewBackgroundColor:I.white,selectedElementIds:{},selectedGroupIds:{},selectedLinearElement:null,croppingElementId:null,activeLockedId:null,lockedMultiSelections:{}}),Dh=e=>{let t={name:e.name,editingGroupId:e.editingGroupId,viewBackgroundColor:e.viewBackgroundColor,selectedElementIds:e.selectedElementIds,selectedGroupIds:e.selectedGroupIds,croppingElementId:e.croppingElementId,activeLockedId:e.activeLockedId,lockedMultiSelections:e.lockedMultiSelections,selectedLinearElement:e.selectedLinearElement?{elementId:e.selectedLinearElement.elementId,isEditing:!!e.selectedLinearElement.isEditing}:null};return Reflect.defineProperty(t,Th,{value:!0,enumerable:!1}),t},Oh=e=>!!Reflect.get(e,Th);B(),B();var kh=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`;function Ah(e,t,n){let r=n[0];if(t!=null&&e>=t)throw Error(e+` >= `+t);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw Error(`trailing zero`);if(t){let i=0;for(;(e[i]||r)===t[i];)i++;if(i>0)return t.slice(0,i)+Ah(e.slice(i),t.slice(i),n)}let i=e?n.indexOf(e[0]):0,a=t==null?n.length:n.indexOf(t[0]);return a-i>1?n[Math.round(.5*(i+a))]:t&&t.length>1?t.slice(0,1):n[i]+Ah(e.slice(1),null,n)}function jh(e){if(e.length!==Mh(e[0]))throw Error(`invalid integer part of order key: `+e)}function Mh(e){if(e>=`a`&&e<=`z`)return e.charCodeAt(0)-97+2;if(e>=`A`&&e<=`Z`)return 90-e.charCodeAt(0)+2;throw Error(`invalid order key head: `+e)}function Nh(e){let t=Mh(e[0]);if(t>e.length)throw Error(`invalid order key: `+e);return e.slice(0,t)}function Ph(e,t){if(e===`A`+t[0].repeat(26))throw Error(`invalid order key: `+e);let n=Nh(e);if(e.slice(n.length).slice(-1)===t[0])throw Error(`invalid order key: `+e)}function Fh(e,t){jh(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])+1;n===t.length?r[e]=t[0]:(r[e]=t[n],i=!1)}if(i){if(n===`Z`)return`a`+t[0];if(n===`z`)return null;let e=String.fromCharCode(n.charCodeAt(0)+1);return e>`a`?r.push(t[0]):r.pop(),e+r.join(``)}else return n+r.join(``)}function Ih(e,t){jh(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])-1;n===-1?r[e]=t.slice(-1):(r[e]=t[n],i=!1)}if(i){if(n===`a`)return`Z`+t.slice(-1);if(n===`A`)return null;let e=String.fromCharCode(n.charCodeAt(0)-1);return e<`Z`?r.push(t.slice(-1)):r.pop(),e+r.join(``)}else return n+r.join(``)}function Lh(e,t,n=kh){if(e!=null&&Ph(e,n),t!=null&&Ph(t,n),e!=null&&t!=null&&e>=t)throw Error(e+` >= `+t);if(e==null){if(t==null)return`a`+n[0];let e=Nh(t),r=t.slice(e.length);if(e===`A`+n[0].repeat(26))return e+Ah(``,r,n);if(e<t)return e;let i=Ih(e,n);if(i==null)throw Error(`cannot decrement any more`);return i}if(t==null){let t=Nh(e),r=e.slice(t.length);return Fh(t,n)??t+Ah(r,null,n)}let r=Nh(e),i=e.slice(r.length),a=Nh(t),o=t.slice(a.length);if(r===a)return r+Ah(i,o,n);let s=Fh(r,n);if(s==null)throw Error(`cannot increment any more`);return s<t?s:r+Ah(i,null,n)}function Rh(e,t,n,r=kh){if(n===0)return[];if(n===1)return[Lh(e,t,r)];if(t==null){let i=Lh(e,t,r),a=[i];for(let e=0;e<n-1;e++)i=Lh(i,t,r),a.push(i);return a}if(e==null){let i=Lh(e,t,r),a=[i];for(let t=0;t<n-1;t++)i=Lh(e,i,r),a.push(i);return a.reverse(),a}let i=Math.floor(n/2),a=Lh(e,t,r);return[...Rh(e,a,i,r),a,...Rh(a,t,n-i-1,r)]}var zh=class extends Error{code=`ELEMENT_HAS_INVALID_INDEX`},Bh=(e,{shouldThrow:t=!1,includeBoundTextValidation:n=!1,ignoreLogs:r,reconciliationContext:i})=>{let a=[],o=e=>`${e?.index}:${e?.id}:${e?.type}:${e?.isDeleted}:${e?.version}:${e?.versionNonce}`,s=e.map(e=>e.index);for(let[t,r]of s.entries()){let i=s[t-1],c=s[t+1];if(qh(r,i,c)||a.push(`Fractional indices invariant has been compromised: "${o(e[t-1])}", "${o(e[t])}", "${o(e[t+1])}"`),n&&kc(e[t])){let n=e[t],r=q(n,R(e));r&&r.index<=n.index&&a.push(`Fractional indices invariant for bound elements has been compromised: "${o(r)}", "${o(n)}"`)}}if(a.length){let n=new zh,s=[];if(i&&(s.push(`Additional reconciliation context:`),s.push(i.localElements.map(e=>o(e))),s.push(i.remoteElements.map(e=>o(e)))),r||console.error(a.join(`
23
+
24
+ `),n.stack,e.map(e=>o(e)),...s),t)throw n}},Vh=e=>e.sort((e,t)=>Yh(e)&&Yh(t)?e.index<t.index?-1:e.index>t.index?1:e.id<t.id?-1:1:1),Hh=(e,t)=>{try{let n=R(e),r=Jh(e,Gh(e,t));Bh(e.map(e=>{let t=r.get(e);return t?{...e,index:t.index}:e}),{includeBoundTextValidation:!1,shouldThrow:!0,ignoreLogs:!0});for(let[e,{index:t}]of r)vd(e,n,{index:t})}catch{Uh(e)}return e},Uh=e=>{let t=R(e),n=Jh(e,Kh(e));for(let[e,{index:r}]of n)vd(e,t,{index:r});return e},Wh=e=>{let t=R(e),n=Jh(e,Kh(e));for(let[e,{index:r}]of n)t.set(e.id,yd(e,{index:r}));return t},Gh=(e,t)=>{let n=[],r=0;for(;r<e.length;)if(t.has(e[r].id)){let i=[r-1,r];for(;++r<e.length&&t.has(e[r].id);)i.push(r);i.push(r),n.push(i)}else r++;return n},Kh=e=>{let t=[],n,r,i=-1,a=0,o=t=>{let n=e[i]?e[i].index:void 0,r=e[t-1]?.index;return!n&&r||n&&r&&r>n?[r,t-1]:[n,i]},s=t=>{let n=e[a]?e[a].index:void 0;if(n&&t<a)return[n,a];let r=a;for(;++r<e.length;){let t=e[r]?.index;if(!n&&t||n&&t&&t>n)return[t,r]}return[void 0,r]},c=0;for(;c<e.length;){let l=e[c].index;if([n,i]=o(c),[r,a]=s(c),qh(l,n,r))c++;else{let l=[i,c];for(;++c<e.length;){let t=e[c].index,[u,d]=o(c),[f,p]=s(c);if(qh(t,u,f))break;[n,i]=[u,d],[r,a]=[f,p],l.push(c)}l.push(a),t.push(l)}}return t},qh=(e,t,n)=>e?t&&n?t<e&&e<n:!t&&n?e<n:t&&!n?t<e:!!e:!1,Jh=(e,t)=>{let n=new Map;for(let r of t){let t=r.shift(),i=r.pop(),a=Rh(e[t]?.index,e[i]?.index,r.length);for(let t=0;t<r.length;t++){let i=e[r[t]];n.set(i,{index:a[t]})}}return n},Yh=e=>!!e.index;B();var Xh=no(io(),1),Zh=e=>{let t=new Map,n=[];for(let r of e)r.isDeleted||(n.push(r),t.set(r.id,r));return{elementsMap:t,elements:n}},Qh=(0,Xh.default)(e=>{(ta()||ea()||window?.DEBUG_FRACTIONAL_INDICES)&&Bh(e,{shouldThrow:ta()||ea(),includeBoundTextValidation:!0})},1e3*60,{leading:!0,trailing:!1}),$h=e=>{let t=[`includeBoundTextElement`,`includeElementsInFrames`],n=``;for(let r of t)n+=`${r}:${e[r]?`1`:`0`}`;return n},eg=class{callbacks=new Set;nonDeletedElements=[];nonDeletedElementsMap=ba(new Map);elements=[];nonDeletedFramesLikes=[];frames=[];elementsMap=ba(new Map);selectedElementsCache={selectedElementIds:null,elements:null,cache:new Map};sceneNonce;getSceneNonce(){return this.sceneNonce}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}constructor(e=null,t){e&&this.replaceAllElements(e,t)}getSelectedElements(e){let t=$h(e),n=e?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===n&&this.selectedElementsCache.selectedElementIds===e.selectedElementIds){let e=this.selectedElementsCache.cache.get(t);if(e)return e}else e?.elements??this.selectedElementsCache.cache.clear();let r=Zf(n,{selectedElementIds:e.selectedElementIds},e);return e?.elements??(this.selectedElementsCache.selectedElementIds=e.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(t,r)),r}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(e){return this.elementsMap.get(e)||null}getNonDeletedElement(e){let t=this.getElement(e);return t&&Mv(t)?t:null}mapElements(e){let t=!1,n=this.elements.map(n=>{let r=e(n);return r!==n&&(t=!0),r});return t&&this.replaceAllElements(n),t}replaceAllElements(e,t){let n=$i(e),r=[];t?.skipValidation||Qh(n),this.elements=Uh(n),this.elementsMap.clear(),this.elements.forEach(e=>{U(e)&&r.push(e),this.elementsMap.set(e.id,e)});let i=Zh(this.elements);this.nonDeletedElements=i.elements,this.nonDeletedElementsMap=i.elementsMap,this.frames=r,this.nonDeletedFramesLikes=Zh(this.frames).elements,this.triggerUpdate()}triggerUpdate(){this.sceneNonce=Fa();for(let e of Array.from(this.callbacks))e()}onUpdate(e){if(this.callbacks.has(e))throw Error();return this.callbacks.add(e),()=>{if(!this.callbacks.has(e))throw Error();this.callbacks.delete(e)}}destroy(){this.elements=[],this.nonDeletedElements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),this.callbacks.clear()}insertElementAtIndex(e,t){if(!Number.isFinite(t)||t<0)throw Error(`insertElementAtIndex can only be called with index >= 0`);let n=[...this.elements.slice(0,t),e,...this.elements.slice(t)];Hh(n,R([e])),this.replaceAllElements(n)}insertElementsAtIndex(e,t){if(!e.length)return;if(!Number.isFinite(t)||t<0)throw Error(`insertElementAtIndex can only be called with index >= 0`);let n=[...this.elements.slice(0,t),...e,...this.elements.slice(t)];Hh(n,R(e)),this.replaceAllElements(n)}insertElement=e=>{let t=e.frameId?this.getElementIndex(e.frameId):this.elements.length;this.insertElementAtIndex(e,t)};insertElements=e=>{if(!e.length)return;let t=e[0]?.frameId?this.getElementIndex(e[0].frameId):this.elements.length;this.insertElementsAtIndex(e,t)};getElementIndex(e){return this.elements.findIndex(t=>t.id===e)}getContainerElement=e=>e&&e.containerId&&this.getElement(e.containerId)||null;getElementsFromId=e=>{let t=this.getNonDeletedElementsMap(),n=t.get(e);return n?[n]:Lf(t,e)};mutateElement(e,t,n={informMutation:!0,isDragging:!1}){let r=this.getNonDeletedElementsMap(),{version:i}=e,{version:a}=vd(e,r,t,n);return this.elementsMap.has(e.id)&&i!==a&&n.informMutation&&this.triggerUpdate(),e}},X=class e{constructor(e,t){this.deleted=e,this.inserted=t}static create(t,n,r,i){return new e(r&&i!==`inserted`?r(t,`deleted`):t,r&&i!==`deleted`?r(n,`inserted`):n)}static calculate(t,n,r,i){if(t===n)return e.empty();let a={},o={};for(let e of this.getDifferences(t,n))a[e]=t[e],o[e]=n[e];let[s,c]=i?i(a,o):[a,o];return e.create(s,c,r)}static empty(){return new e({},{})}static isEmpty(e){return!Object.keys(e.deleted).length&&!Object.keys(e.inserted).length}static merge(t,n,r=e.empty()){return e.create({...t.deleted,...n.deleted,...r.deleted},{...t.inserted,...n.inserted,...r.inserted})}static mergeObjects(e,t,n={}){let r={...e};for(let e of Object.keys(n))delete r[e];return{...r,...t}}static mergeArrays(t,n,r,i){return Object.values(e.mergeObjects(Xi(t??[],i),Xi(n??[],i),Xi(r??[],i)))}static diffObjects(t,n,r,i){if(!t[r]&&!n[r])return;let a=t[r]!==null&&typeof t[r]==`object`,o=n[r]!==null&&typeof n[r]==`object`;if(a||o){let a=t[r]??{},o=n[r]??{},s=e.getLeftDifferences(a,o).reduce((e,t)=>(e[t]=i(a[t]),e),{}),c=e.getRightDifferences(a,o).reduce((e,t)=>(e[t]=i(o[t]),e),{});Object.keys(s).length||Object.keys(c).length?(Reflect.set(t,r,s),Reflect.set(n,r,c)):(Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r))}else t[r]===n[r]&&(Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r))}static diffArrays(t,n,r,i){if(!(!t[r]&&!n[r])&&(Array.isArray(t[r])||Array.isArray(n[r]))){let a=Array.isArray(t[r])?t[r]:[],o=Array.isArray(n[r])?n[r]:[],s=Xi(e.getLeftDifferences(Xi(a,i),Xi(o,i)),e=>e),c=Xi(e.getRightDifferences(Xi(a,i),Xi(o,i)),e=>e);if(Object.keys(s).length||Object.keys(c).length){let e=a.filter(e=>s[i?i(e):String(e)]),l=o.filter(e=>c[i?i(e):String(e)]);Reflect.set(t,r,e),Reflect.set(n,r,l)}else Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r)}}static isLeftDifferent(e,t,n=!1){return!!this.distinctKeysIterator(`left`,e,t,n).next().value}static isRightDifferent(e,t,n=!1){return!!this.distinctKeysIterator(`right`,e,t,n).next().value}static isInnerDifferent(e,t,n=!1){return!!this.distinctKeysIterator(`inner`,e,t,n).next().value}static isDifferent(e,t,n=!1){return!!this.distinctKeysIterator(`full`,e,t,n).next().value}static getLeftDifferences(e,t,n=!1){return Array.from(this.distinctKeysIterator(`left`,e,t,n)).sort()}static getRightDifferences(e,t,n=!1){return Array.from(this.distinctKeysIterator(`right`,e,t,n)).sort()}static getInnerDifferences(e,t,n=!1){return Array.from(this.distinctKeysIterator(`inner`,e,t,n)).sort()}static getDifferences(e,t,n=!1){return Array.from(this.distinctKeysIterator(`full`,e,t,n)).sort()}static*distinctKeysIterator(e,t,n,r=!1){if(t===n)return;let i=[];e===`left`?i=Object.keys(t):e===`right`?i=Object.keys(n):e===`inner`?i=Object.keys(t).filter(e=>e in n):e===`full`?i=Array.from(new Set([...Object.keys(t),...Object.keys(n)])):fa(e,`Unknown distinctKeysIterator's join param "${e}"`,!0);for(let e of i){let i=t[e],a=n[e];if(i!==a){if(!r&&typeof i==`object`&&typeof a==`object`&&i!==null&&a!==null&&ua(i,a))continue;yield e}}}},tg=class e{constructor(e){this.delta=e}static create(t){return new e(t)}static calculate(t,n){return new e(X.calculate(t,n,e.orderAppStateKeys,e.postProcess))}static restore(t){let{delta:n}=t;return new e(n)}static empty(){return new e(X.create({},{}))}inverse(){return new e(X.create(this.delta.inserted,this.delta.deleted))}squash(e){if(e.isEmpty())return this;let t=X.mergeObjects(this.delta.deleted.selectedElementIds??{},e.delta.deleted.selectedElementIds??{}),n=X.mergeObjects(this.delta.inserted.selectedElementIds??{},e.delta.inserted.selectedElementIds??{}),r=X.mergeObjects(this.delta.deleted.selectedGroupIds??{},e.delta.deleted.selectedGroupIds??{}),i=X.mergeObjects(this.delta.inserted.selectedGroupIds??{},e.delta.inserted.selectedGroupIds??{}),a=X.mergeObjects(this.delta.deleted.lockedMultiSelections??{},e.delta.deleted.lockedMultiSelections??{}),o=X.mergeObjects(this.delta.inserted.lockedMultiSelections??{},e.delta.inserted.lockedMultiSelections??{}),s={},c={};return(Object.keys(t).length||Object.keys(n).length)&&(c.selectedElementIds=t,s.selectedElementIds=n),(Object.keys(r).length||Object.keys(i).length)&&(c.selectedGroupIds=r,s.selectedGroupIds=i),(Object.keys(a).length||Object.keys(o).length)&&(c.lockedMultiSelections=a,s.lockedMultiSelections=o),this.delta=X.merge(this.delta,e.delta,X.create(c,s)),this}applyTo(e,t){try{let{selectedElementIds:n={},selectedGroupIds:r={},lockedMultiSelections:i={}}=this.delta.deleted,{selectedElementIds:a={},selectedGroupIds:o={},lockedMultiSelections:s={},selectedLinearElement:c,...l}=this.delta.inserted,u=X.mergeObjects(e.selectedElementIds,a,n),d=X.mergeObjects(e.selectedGroupIds,o,r),f=X.mergeObjects(e.lockedMultiSelections,s,i),p=c&&t.has(c.elementId)?new J(t.get(c.elementId),t,c.isEditing):null,m={...e,...l,selectedElementIds:u,selectedGroupIds:d,lockedMultiSelections:f,selectedLinearElement:typeof c<`u`?p:e.selectedLinearElement};return[m,this.filterInvisibleChanges(e,m,t)]}catch(t){if(console.error(`Couldn't apply appstate change`,t),ea()||ta())throw t;return[e,!1]}}isEmpty(){return X.isEmpty(this.delta)}filterInvisibleChanges(t,n,r){let i=Dh(t),a=Dh(n),o=X.isRightDifferent(e.stripElementsProps(i),e.stripElementsProps(a)),s=X.isRightDifferent(e.stripStandaloneProps(i),e.stripStandaloneProps(a));if(!o&&!s)return!1;let c={value:o};if(s){let o=X.getRightDifferences(e.stripStandaloneProps(i),e.stripStandaloneProps(a)),s=new Set;(o.includes(`editingGroupId`)||o.includes(`selectedGroupIds`))&&(s=Hf(r));for(let i of o)switch(i){case`selectedElementIds`:n[i]=e.filterSelectedElements(n[i],r,c);break;case`selectedGroupIds`:n[i]=e.filterSelectedGroups(n[i],s,c);break;case`croppingElementId`:{let e=n[i];if(!e)c.value=!0;else{let t=r.get(e);t&&!t.isDeleted?c.value=!0:n[i]=null}break}case`editingGroupId`:let a=n[i];a?s.has(a)?c.value=!0:n[i]=null:c.value=!0;break;case`selectedLinearElement`:let o=n[i];if(!o)c.value=!0;else{let e=r.get(o.elementId);e&&!e.isDeleted?c.value=!0:n[i]=null}break;case`lockedMultiSelections`:ua(t[i]||{},n[i]||{})||(c.value=!0);break;case`activeLockedId`:(t[i]||null)!==(n[i]||null)&&(c.value=!0);break;default:fa(i,`Unknown ObservedElementsAppState's key "${i}"`,!0)}}return c.value}static filterSelectedElements(e,t,n){let r=Object.keys(e);if(!r.length)return n.value=!0,e;let i={...e};for(let e of r){let r=t.get(e);r&&!r.isDeleted?n.value=!0:delete i[e]}return i}static filterSelectedGroups(e,t,n){if(!Object.keys(e).length)return n.value=!0,e;let r={...e};for(let e of Object.keys(r))t.has(e)?n.value=!0:delete r[e];return r}static stripElementsProps(e){let{editingGroupId:t,selectedGroupIds:n,selectedElementIds:r,selectedLinearElement:i,croppingElementId:a,lockedMultiSelections:o,activeLockedId:s,...c}=e;return c}static stripStandaloneProps(e){let{name:t,viewBackgroundColor:n,...r}=e;return r}static postProcess(e,t){try{X.diffObjects(e,t,`selectedElementIds`,e=>!0),X.diffObjects(e,t,`selectedGroupIds`,e=>e??!1),X.diffObjects(e,t,`lockedMultiSelections`,e=>e??{})}catch(e){if(console.error(`Couldn't postprocess appstate change deltas.`),ea()||ta())throw e}finally{return[e,t]}}static orderAppStateKeys(e){let t={};for(let n of Object.keys(e).sort())t[n]=e[n];return t}},ng=class e{constructor(e,t,n){this.added=e,this.removed=t,this.updated=n}static create(t,n,r,i={shouldRedistribute:!1}){let a;if(i.shouldRedistribute){let i={},o={},s={},c=[...Object.entries(t),...Object.entries(n),...Object.entries(r)];for(let[e,t]of c)this.satisfiesAddition(t)?i[e]=t:this.satisfiesRemoval(t)?o[e]=t:s[e]=t;a=new e(i,o,s)}else a=new e(t,n,r);return(ea()||ta())&&(e.validate(a,`added`,this.satisfiesAddition),e.validate(a,`removed`,this.satisfiesRemoval),e.validate(a,`updated`,this.satisfiesUpdate)),a}static restore(t){let{added:n,removed:r,updated:i}=t;return e.create(n,r,i)}static satisfiesAddition=({deleted:e,inserted:t})=>e.isDeleted===!0&&!t.isDeleted;static satisfiesRemoval=({deleted:e,inserted:t})=>!e.isDeleted&&t.isDeleted===!0;static satisfiesUpdate=({deleted:e,inserted:t})=>!!e.isDeleted==!!t.isDeleted;static satisfiesCommmonInvariants=({deleted:e,inserted:t})=>!!(Number.isInteger(e.version)&&Number.isInteger(t.version)&&e.version>=0&&t.version>=0&&e.version!==t.version);static satisfiesUniqueInvariants=(e,t)=>{let{added:n,removed:r,updated:i}=e;return[n[t],r[t],i[t]].filter(Boolean).length===1};static validate(e,t,n){for(let[r,i]of Object.entries(e[t]))if(!this.satisfiesCommmonInvariants(i)||!this.satisfiesUniqueInvariants(e,r)||!n(i))throw console.error(`Broken invariant for "${t}" delta, element "${r}", delta:`,i),Error(`ElementsDelta invariant broken for element "${r}".`)}static calculate(t,n){if(t===n)return e.empty();let r={},i={},a={};for(let r of t.values())if(!n.get(r.id)){let t={...r},n={isDeleted:!0,version:r.version+1,versionNonce:Fa()},o=X.create(t,n,e.stripIrrelevantProps);r.isDeleted?a[r.id]=o:i[r.id]=o}for(let o of n.values()){let n=t.get(o.id);if(!n){let t={isDeleted:!0,version:o.version-1,versionNonce:Fa()},n={...o},i=X.create(t,n,e.stripIrrelevantProps);o.isDeleted?a[o.id]=i:r[o.id]=i;continue}if(n.versionNonce!==o.versionNonce){let t=X.calculate(n,o,e.stripIrrelevantProps,e.postProcess);if(typeof n.isDeleted==`boolean`&&typeof o.isDeleted==`boolean`&&n.isDeleted!==o.isDeleted){n.isDeleted&&!o.isDeleted?r[o.id]=t:i[o.id]=t;continue}a[o.id]=t}}return e.create(r,i,a)}static empty(){return e.create({},{},{})}inverse(){let t=e=>{let t={};for(let[n,{inserted:r,deleted:i}]of Object.entries(e))t[n]=X.create({...r},{...i});return t},n=t(this.added),r=t(this.removed),i=t(this.updated);return e.create(r,n,i)}isEmpty(){return Object.keys(this.added).length===0&&Object.keys(this.removed).length===0&&Object.keys(this.updated).length===0}applyLatestChanges(t,n,r){let i=(e,t)=>(n,r)=>{let i;switch(r){case`deleted`:i=e;break;case`inserted`:i=t;break}if(!i)return console.error(`Element not found when trying to apply latest changes`),n;let a={};for(let e of Object.keys(n))switch(e){case`boundElements`:a[e]=n[e];break;default:a[e]=i[e]}return a},a=e=>{let a={};for(let[o,s]of Object.entries(e)){let e=t.get(o),c=n.get(o),l=null;l=e||c?X.create(s.deleted,s.inserted,i(e,c),r):s,X.isInnerDifferent(l.deleted,l.inserted)&&(a[o]=l)}return a},o=a(this.added),s=a(this.removed),c=a(this.updated);return e.create(o,s,c,{shouldRedistribute:!0})}applyTo(t,n=wh.empty().elements,r){let i=new Map(t),a,o={containsVisibleDifference:!1,containsZindexDifference:!1,applyDirection:void 0};try{let s=e.createApplier(t,i,n,o,r),c=s(this.added),l=s(this.removed),u=s(this.updated),d=this.resolveConflicts(t,i,o.applyDirection);a=new Map([...c,...l,...u,...d])}catch(e){if(console.error(`Couldn't apply elements delta`,e),ea()||ta())throw e;return[t,!0]}try{i=e.reorderElements(i,a,o),e.redrawElements(i,a)}catch(e){if(console.error(`Couldn't mutate elements after applying elements change`,e),ea()||ta())throw e}finally{return[i,o.containsVisibleDifference]}}squash(t){if(t.isEmpty())return this;let{added:n,removed:r,updated:i}=t,a=(e,t)=>{let n=X.mergeArrays(e.deleted.boundElements??[],t.deleted.boundElements??[],void 0,e=>e.id)??[],r=X.mergeArrays(e.inserted.boundElements??[],t.inserted.boundElements??[],void 0,e=>e.id)??[];if(!(!n.length&&!r.length))return X.create({boundElements:n},{boundElements:r})};for(let[e,t]of Object.entries(n)){let n=this.added[e]??this.removed[e]??this.updated[e];if(!n)this.added[e]=t;else{let r=a(n,t);delete this.removed[e],delete this.updated[e],this.added[e]=X.merge(n,t,r)}}for(let[e,t]of Object.entries(r)){let n=this.added[e]??this.removed[e]??this.updated[e];if(!n)this.removed[e]=t;else{let r=a(n,t);delete this.added[e],delete this.updated[e],this.removed[e]=X.merge(n,t,r)}}for(let[e,t]of Object.entries(i)){let n=this.added[e]??this.removed[e]??this.updated[e];if(!n)this.updated[e]=t;else{let r=a(n,t),i=X.merge(n,t,r);n===this.added[e]?this.added[e]=i:n===this.removed[e]?this.removed[e]=i:this.updated[e]=i}}return(ea()||ta())&&(e.validate(this,`added`,e.satisfiesAddition),e.validate(this,`removed`,e.satisfiesRemoval),e.validate(this,`updated`,e.satisfiesUpdate)),this}static createApplier=(t,n,r,i,a)=>o=>{let s=e.createGetter(n,r,i);return Object.entries(o).reduce((r,[o,c])=>{let l=s(o,c.inserted);if(l){let s=e.applyDelta(l,c,i,a);if(n.set(s.id,s),r.set(s.id,s),!i.applyDirection){let e=t.get(o);e&&(i.applyDirection=e.version>s.version?`backward`:`forward`)}}return r},new Map)};static createGetter=(e,t,n)=>(r,i)=>{let a=e.get(r);return a||(a=t.get(r),a?(n.containsZindexDifference=!0,(!i.isDeleted||i.isDeleted&&!a.isDeleted)&&(n.containsVisibleDifference=!0)):a=yd({id:r,version:1},{...i})),a};static applyDelta(t,n,r,i){let a={};for(let e of Object.keys(n.inserted)){if(e===`boundElements`||i?.excludedProperties?.has(e))continue;let t=n.inserted[e];Reflect.set(a,e,t)}if(n.deleted.boundElements?.length||n.inserted.boundElements?.length){let e=X.mergeArrays(t.boundElements,n.inserted.boundElements,n.deleted.boundElements,e=>e.id);Object.assign(a,{boundElements:e})}if(!r.containsVisibleDifference){let{index:n,...i}=a;r.containsVisibleDifference=e.checkForVisibleDifference(t,i)}return r.containsZindexDifference||=n.deleted.index!==n.inserted.index,yd(t,a,!0)}static checkForVisibleDifference(e,t){return e.isDeleted&&t.isDeleted!==!1?!1:e.isDeleted&&t.isDeleted===!1||e.isDeleted===!1&&t.isDeleted?!0:X.isRightDifferent(e,t)}resolveConflicts(t,n,r=`forward`){let i=new Map,a=(e,a)=>{let o=n.get(e.id);if(!o)return;let s=t.get(e.id),c=r===`forward`?o.version+1:o.version-1,l=a,u;u=s===o?yd(o,{...l,version:c},!0):vd(o,n,{...l,version:s?.version===o.version?c:o.version}),i.set(u.id,u),n.set(u.id,u)};for(let r of Object.keys(this.removed))e.unbindAffected(t,n,r,a);for(let r of Object.keys(this.added))e.rebindAffected(t,n,r,a);for(let[r]of Array.from(Object.entries(this.updated)).filter(([e,t])=>Object.keys({...t.deleted,...t.inserted}).find(e=>ef.has(e)))){let i=n.get(r);!i||i.isDeleted||e.rebindAffected(t,n,r,a)}let o=new Map(Array.from(t).filter(([e])=>i.has(e)));return this.squash(e.calculate(o,i)),i}static unbindAffected(e,t,n,r){let i=()=>e.get(n),a=()=>t.get(n);rf.unbindAffected(t,i(),r),rf.unbindAffected(t,a(),r),af.unbindAffected(t,i(),r),af.unbindAffected(t,a(),r)}static rebindAffected(e,t,n,r){let i=()=>e.get(n),a=()=>t.get(n);rf.unbindAffected(t,i(),r),rf.rebindAffected(t,a(),r),af.unbindAffected(t,i(),(e,t)=>{H(e)&&r(e,t)}),af.rebindAffected(t,a(),r)}static redrawElements(t,n){try{let r=new eg(t,{skipValidation:!0});e.redrawTextBoundingBoxes(r,n),e.redrawBoundArrows(r,n)}catch(e){if(console.error(`Couldn't redraw elements`,e),ea()||ta())throw e}finally{return t}}static redrawTextBoundingBoxes(e,t){let n=e.getNonDeletedElementsMap(),r=new Map;for(let e of t.values()){if(Ac(e)){let{containerId:t}=e,i=t?n.get(t):void 0;i&&r.set(i.id,{container:i,boundText:e})}if(kc(e)){let t=Vl(e),i=t?n.get(t):void 0;i&&r.set(e.id,{container:e,boundText:i})}}for(let{container:t,boundText:n}of r.values())t.isDeleted||n.isDeleted||Rl(n,t,e)}static redrawBoundArrows(e,t){for(let n of t.values())!n.isDeleted&&Cc(n)&&Id(n,e,{changedElements:t})}static reorderElements(e,t,n){if(!n.containsZindexDifference)return e;let r=Array.from(e.values()),i=Vh([...r]),a=X.getRightDifferences(r,i,!0).reduce((e,n)=>{let i=r[Number(n)];return i&&t.has(i.id)&&e.set(i.id,i),e},new Map);return!n.containsVisibleDifference&&a.size&&(n.containsVisibleDifference=!0),R(Hh(i,a))}static postProcess(e,t){try{X.diffArrays(e,t,`boundElements`,e=>e.id);let n=e.points??[],r=t.points??[];X.isDifferent(n,r)||(Reflect.deleteProperty(e,`points`),Reflect.deleteProperty(t,`points`))}catch(e){if(console.error(`Couldn't postprocess elements delta.`),ea()||ta())throw e}finally{return[e,t]}}static stripIrrelevantProps(e){let{id:t,updated:n,...r}=e;return r}};B();var rg=(e,t,n,r,i)=>{let[a,o,s,c]=n.axis===`x`?[`minX`,`midX`,`maxX`,`width`]:[`minY`,`midY`,`maxY`,`height`],l=Jm(e),u=Kf(e,t,r).map(e=>[e,Jm(e)]).sort((e,t)=>e[1][o]-t[1][o]),d=0;for(let e of u)d+=e[1][c];let f=(l[c]-d)/(u.length-1);if(f<0){let e=u.findIndex(e=>e[1][a]===l[a]),t=u.findIndex(e=>e[1][s]===l[s]),r=(u[t][1][o]-u[e][1][o])/(u.length-1),c=u[e][1][o];return u.flatMap(([a,s],l)=>{let u={x:0,y:0};return l!==e&&l!==t&&(c+=r,u[n.axis]=c-s[o]),a.map(e=>{let t=i.mutateElement(e,{x:e.x+u.x,y:e.y+u.y});return Id(e,i,{simultaneouslyUpdated:a}),t})})}let p=l[a];return u.flatMap(([e,t])=>{let r={x:0,y:0};return r[n.axis]=p-t[a],p+=f,p+=t[c],e.map(t=>{let n=i.mutateElement(t,{x:t.x+r.x,y:t.y+r.y});return Id(t,i,{simultaneouslyUpdated:e}),n})})};B();var ig=(e,t,n,r,i,a)=>{if(t.length===1&&G(t[0])&&(t[0].startBinding||t[0].endBinding))return;let o=t.filter(e=>{if(G(e)&&e.startBinding&&e.endBinding){let n=t.find(t=>t.id===e.startBinding?.elementId),r=t.find(t=>t.id===e.endBinding?.elementId);return n&&r}return!0}),s=new Set(o),c=o.filter(e=>U(e)).map(e=>e.id);if(c.length>0)for(let e of r.getNonDeletedElements())e.frameId!==null&&c.includes(e.frameId)&&s.add(e);let l=[];for(let t of s){let n=e.originalElements.get(t.id);if(!n)return;l.push(n)}let u=ag(Um(l),n,i,a),d=new Set(Array.from(s,e=>e.id));s.forEach(t=>{let n=!W(t),i=n||(t.startBinding?d.has(t.startBinding.elementId):!1),a=n||(t.endBinding?d.has(t.endBinding.elementId):!1);if(W(t)){if(s.size>1||Math.max(Math.abs(u.x),Math.abs(u.y))>10||!t.startBinding&&!t.endBinding){og(e,t,r,u);let n=t.startBinding&&!i,o=t.endBinding&&!a;(n||o)&&(n&&Fd(t,`start`,r),o&&Fd(t,`end`,r))}}else{og(e,t,r,u);let n=q(t,r.getNonDeletedElementsMap());n&&og(e,n,r,u),Id(t,r,{simultaneouslyUpdated:Array.from(s)})}})},ag=(e,t,n,r)=>{let[i,a]=e,o=i+t.x+n.x,s=a+t.y+n.y;if(n.x===0||n.y===0){let[e,c]=li(i+t.x,a+t.y,r);n.x===0&&(o=e),n.y===0&&(s=c)}return{x:o-i,y:s-a}},og=(e,t,n,r)=>{let i=e.originalElements.get(t.id)??t,a=i.x+r.x,o=i.y+r.y;n.mutateElement(t,{x:a,y:o})},sg=(e,t,n)=>{let[r,i]=Um(e);return[t-r,n-i]},cg=({newElement:e,elementType:t,originX:n,originY:r,x:i,y:a,width:o,height:s,shouldMaintainAspectRatio:c,shouldResizeFromCenter:l,zoom:u,scene:d,widthAspectRatio:f=null,originOffset:p=null,informMutation:m=!0})=>{c&&e.type!==`selection`&&(f?s=o/f:(Math.abs(a-r)>Math.abs(i-n)?{width:o,height:s}=ih(t,s,i<n?-o:o):{width:o,height:s}=ih(t,o,a<r?-s:s),s<0&&(s=-s)));let h=i<n?n-o:n,g=a<r?r-s:r;l&&(o+=o,s+=s,h=n-o/2,g=r-s/2);let _=null;if(H(e)){s=e.height;let t=il(Si({fontSize:e.fontSize,fontFamily:e.fontFamily}),e.lineHeight);o=Math.max(o,t),Math.abs(i-n)>36/u&&(_={autoResize:!1}),g=r,l&&(h=n-o/2)}if(o!==0&&s!==0){let t=null;sc(e)&&(t={initialWidth:o,initialHeight:s}),d.mutateElement(e,{x:h+(p?.x??0),y:g+(p?.y??0),width:o,height:s,..._,...t},{informMutation:m,isDragging:!1})}};B();var lg=(e,t)=>{let n=window.location.href;try{let t=new URL(n);return t.searchParams.set(Cr,e),Ra(t.toString())}catch(e){console.error(e)}return Ra(n)},ug=(e,t)=>{if(e.length>0&&dg(e)){if(e.length===1)return{id:e[0].id,type:`element`};if(e.length>1){let n=Object.keys(t.selectedGroupIds)[0];return n?{id:n,type:`group`}:{id:e[0].groupIds[0],type:`group`}}}return null},dg=e=>!!(e.length===1||e.length>1&&Uf(e)),fg=e=>{try{let t=new URL(e);return t.searchParams.has(`element`)&&t.host===window.location.host}catch{return!1}},pg=e=>{try{let{searchParams:t}=new URL(e);if(t.has(`element`))return t.get(Cr)}catch{}return null};B(),B();var mg=(e,{x:t,y:n,strokeColor:r=fr.strokeColor,backgroundColor:i=fr.backgroundColor,fillStyle:a=fr.fillStyle,strokeWidth:o=fr.strokeWidth,strokeStyle:s=fr.strokeStyle,roughness:c=fr.roughness,opacity:l=fr.opacity,width:u=0,height:d=0,angle:f=0,groupIds:p=[],frameId:m=null,index:h=null,roundness:g=null,boundElements:_=null,link:v=null,locked:y=fr.locked,...b})=>((t<-1e6||t>1e6||n<-1e6||n>1e6||u<-1e6||u>1e6||d<-1e6||d>1e6)&&console.error(`New element size or position is too large`,{x:t,y:n,width:u,height:d,points:b.points}),{id:b.id||Ia(),type:e,x:t,y:n,width:u,height:d,angle:f,strokeColor:r,backgroundColor:i,fillStyle:a,strokeWidth:o,strokeStyle:s,roughness:c,opacity:l,groupIds:p,frameId:m,index:h,roundness:g,seed:b.seed??Fa(),version:b.version||1,versionNonce:b.versionNonce??0,isDeleted:!1,boundElements:_,updated:Ji(),link:v,locked:y,customData:b.customData}),hg=e=>mg(e.type,e),gg=e=>mg(`embeddable`,e),_g=e=>({...mg(`iframe`,e)}),vg=e=>yd({...mg(`frame`,e),type:`frame`,name:e?.name||null},{}),yg=e=>yd({...mg(`magicframe`,e),type:`magicframe`,name:e?.name||null},{}),bg=(e,t)=>({x:e.textAlign===`center`?t.width/2:e.textAlign===`right`?t.width:0,y:e.verticalAlign===`middle`?t.height/2:0}),xg=e=>{let t=e.fontFamily||Ln,n=e.fontSize||20,r=e.lineHeight||jr(t),i=ol(e.text),a=tl(i,Si({fontFamily:t,fontSize:n}),r),o=e.textAlign||`left`,s=e.verticalAlign||`top`,c=bg({textAlign:o,verticalAlign:s},a);return yd({...mg(`text`,e),text:i,fontSize:n,fontFamily:t,textAlign:o,verticalAlign:s,x:e.x-c.x,y:e.y-c.y,width:a.width,height:a.height,containerId:e.containerId||null,originalText:e.originalText??i,autoResize:e.autoResize??!0,lineHeight:r},{})},Sg=(e,t,n)=>{let{width:r,height:i}=tl(n,Si(e),e.lineHeight);e.autoResize||(r=e.width);let{textAlign:a,verticalAlign:o}=e,s,c;if(a===`center`&&o===or.MIDDLE&&!e.containerId&&e.autoResize){let t=tl(e.text,Si(e),e.lineHeight),n=bg(e,{width:r-t.width,height:i-t.height});s=e.x-n.x,c=e.y-n.y}else{let[n,o,l,u]=Y(e,t),[d,f,p,m]=Gm(e,r,i,!1),h=(n-d)/2,g=(o-f)/2,_=(l-p)/2,v=(u-m)/2;[s,c]=Cg({s:!0,e:a===`center`||a===`left`,w:a===`center`||a===`right`},e.x,e.y,e.angle,h,g,_,v)}return{width:r,height:i,x:Number.isFinite(s)?s:e.x,y:Number.isFinite(c)?c:e.y}},Cg=(e,t,n,r,i,a,o,s)=>{let c=Math.cos(r),l=Math.sin(r);return e.e&&e.w?t+=i+o:e.e?(t+=i*(1+c),n+=i*l,t+=o*(1-c),n+=o*-l):e.w&&(t+=i*(1-c),n+=i*-l,t+=o*(1+c),n+=o*l),e.n&&e.s?n+=a+s:e.n?(t+=a*l,n+=a*(1-c),t+=s*-l,n+=s*(1+c)):e.s&&(t+=a*-l,n+=a*(1+c),t+=s*l,n+=s*(1-c)),[t,n]},wg=(e,t,n,r=e.text)=>{if(e.isDeleted)return;(t||!e.autoResize)&&(r=Ml(r,Si(e),t?Zl(t,e):e.width));let i=Sg(e,n,r);return{text:r,...i}},Tg=e=>({...mg(e.type,e),points:e.points||[],pressures:e.pressures||[],simulatePressure:e.simulatePressure}),Eg=e=>{let t={...mg(e.type,e),points:e.points||[],startBinding:null,endBinding:null,startArrowhead:null,endArrowhead:null};return gc(t)?{...t,polygon:e.polygon??!1}:t},Dg=e=>e.elbowed?{...mg(e.type,e),points:e.points||[],startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null,elbowed:!0,fixedSegments:e.fixedSegments||[],startIsSpecial:!1,endIsSpecial:!1}:{...mg(e.type,e),points:e.points||[],startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null,elbowed:!1},Og=e=>({...mg(`image`,e),strokeColor:`transparent`,status:e.status??`pending`,fileId:e.fileId??null,scale:e.scale??[1,1],crop:e.crop??null}),kg=new Map,Ag=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)/,jg=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}\.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,Mg=/^https:\/\/(?:www\.)?figma\.com/,Ng=/^https:\/\/gist\.github\.com\/([\w_-]+)\/([\w_-]+)/,Pg=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist\.github\.com\/.*?)\.js["']/i,Fg=/^(?:https?:\/\/)?forms\.microsoft\.com\//,Ig=/(?:https?:\/\/)?(?:(?:w){3}\.)?(?:twitter|x)\.com\/[^/]+\/status\/(\d+)/,Lg=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:twitter|x)\.com\/[^"']*)/i,Rg=/^https:\/\/(?:www\.)?val\.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,zg=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,Bg=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,Vg=/^(?:http(?:s)?:\/\/)?(?:www\.)?reddit\.com\/r\/([a-zA-Z0-9_]+)\/comments\/([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)\/?(?:\?[^#\s]*)?(?:#[^\s]*)?$/,Hg=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:www\.)?reddit\.com\/[^"']*)/i,Ug=e=>{let t;try{let n=new URL(e.startsWith(`http`)?e:`https://${e}`);t=n.searchParams.get(`t`)||n.searchParams.get(`start`)}catch{t=e.match(/[?&#](?:t|start)=([^&#\s]+)/)?.[1]}if(!t)return 0;if(/^\d+$/.test(t))return parseInt(t,10);let n=t.match(/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/);if(!n)return 0;let[,r=`0`,i=`0`,a=`0`]=n;return parseInt(r)*3600+parseInt(i)*60+parseInt(a)},Wg=e=>{try{let t=new URL(e.startsWith(`http`)?e:`https://${e}`);if(t.hostname.replace(/^www\./,``)!==`drive.google.com`)return null;let n=null,r=t.pathname.match(/^\/file\/d\/([^/]+)(?:\/|$)/);if(r?.[1]?n=r[1]:(t.pathname===`/open`||t.pathname===`/uc`)&&(n=t.searchParams.get(`id`)),!n||!/^[a-zA-Z0-9_-]+$/.test(n))return null;let i=t.searchParams.get(`resourcekey`),a=Ug(t.toString());return{fileId:n,resourceKey:i&&/^[a-zA-Z0-9_-]+$/.test(i)?i:void 0,timestamp:a>0?a:void 0}}catch{return null}},Gg=new Set([`youtube.com`,`youtu.be`,`vimeo.com`,`player.vimeo.com`,`drive.google.com`,`figma.com`,`link.excalidraw.com`,`gist.github.com`,`twitter.com`,`x.com`,`*.simplepdf.eu`,`stackblitz.com`,`val.town`,`giphy.com`,`reddit.com`,`forms.microsoft.com`]),Kg=new Set([`youtube.com`,`youtu.be`,`vimeo.com`,`player.vimeo.com`,`drive.google.com`,`figma.com`,`twitter.com`,`x.com`,`*.simplepdf.eu`,`stackblitz.com`,`reddit.com`,`forms.microsoft.com`]),qg=e=>`<html><body>${e}</body></html>`,Jg=e=>{if(!e)return null;if(kg.has(e))return kg.get(e);let t=e,n=Kg.has(Xg(e,Kg)||``),r=`generic`,i={w:560,h:840},a=e.match(Ag);if(a?.[2]){let o=Ug(t),s=o>0?`&start=${o}`:``,c=e.includes(`shorts`);switch(r=`video`,a[1]){case`embed/`:case`watch?v=`:case`shorts/`:e=`https://www.youtube.com/embed/${a[2]}?enablejsapi=1${s}`;break;case`playlist?list=`:case`embed/videoseries?list=`:e=`https://www.youtube.com/embed/videoseries?list=${a[2]}&enablejsapi=1${s}`;break;default:e=`https://www.youtube.com/embed/${a[2]}?enablejsapi=1${s}`;break}return i=c?{w:315,h:560}:{w:560,h:315},kg.set(t,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}}let o=e.match(jg);if(o?.[1]){let a=o?.[1],s=/^\d+$/.test(a)?void 0:URIError(`Invalid embed link format`);return r=`video`,e=`https://player.vimeo.com/video/${a}?api=1`,i={w:560,h:315},kg.set(t,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,error:s,sandbox:{allowSameOrigin:n}}}let s=Wg(e);if(s){r=`video`;let a=new URLSearchParams;s.resourceKey&&a.set(`resourcekey`,s.resourceKey),s.timestamp&&a.set(`t`,`${s.timestamp}`);let o=a.toString();return e=`https://drive.google.com/file/d/${s.fileId}/preview${o?`?${o}`:``}`,i={w:560,h:315},kg.set(t,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}}if(e.match(Mg))return r=`generic`,e=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(e)}`,i={w:550,h:550},kg.set(t,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}};let c=e.match(Rg);if(c)return e=c[1]===`embed`?c[0]:c[0].replace(`/v`,`/embed`),kg.set(t,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}};if(Fg.test(e)&&!e.includes(`embed=true`)&&(e+=e.includes(`?`)?`&embed=true`:`?embed=true`),Ig.test(e)){let r=e.match(Ig)[1],i=Ca(`https://twitter.com/x/status/${r}`),a={type:`document`,srcdoc:e=>qg(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${e}"><a href="${i}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:n}};return kg.set(t,a),a}if(Vg.test(e)){let[,r,i,a]=e.match(Vg),o=Ca(`https://reddit.com/r/${r}/comments/${i}/${a}`),s={type:`document`,srcdoc:e=>qg(`<blockquote class="reddit-embed-bq" data-embed-theme="${e}"><a href="${o}"></a><br></blockquote><script async="" src="https://embed.reddit.com/widgets.js" charset="UTF-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:n}};return kg.set(t,s),s}if(Ng.test(e)){let[,t,r]=e.match(Ng),i=Ca(`https://gist.github.com/${t}/${r}`),a={type:`document`,srcdoc:()=>qg(`
25
+ <script src="${i}.js"><\/script>
26
+ <style type="text/css">
27
+ * { margin: 0px; }
28
+ table, .gist { height: 100%; }
29
+ .gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
30
+ </style>
31
+ `),intrinsicSize:{w:550,h:720},sandbox:{allowSameOrigin:n}};return kg.set(e,a),a}return kg.set(e,{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:i,type:r,sandbox:{allowSameOrigin:n}}},Yg=e=>{let t;t=lc(e)?`IFrame element`:!e.link||e?.link===``?`Empty Web-Embed`:e.link;let n=Math.max(Math.min(e.width/2,e.width/t.length),e.width/30),r=On.Helvetica,i=Si({fontSize:n,fontFamily:r});return xg({x:e.x+e.width/2,y:e.y+e.height/2,strokeColor:e.strokeColor===`transparent`?`black`:e.strokeColor,backgroundColor:`transparent`,fontFamily:r,fontSize:n,text:Ml(t,i,e.width-20),textAlign:`center`,verticalAlign:or.MIDDLE,angle:e.angle??0})},Xg=(e,t)=>{try{let{hostname:n}=new URL(e),r=n.replace(/^www\./,``);if(t instanceof Set){if(Gg.has(r))return r;let e=r.replace(/^([^.]+)/,`*`);return Gg.has(e)?e:null}let i=t.replace(/^www\./,``);if(r===i)return i}catch{}return null},Zg=e=>{let t=e.match(Lg);if(t&&t.length===2)return t[1];let n=e.match(Hg);if(n&&n.length===2)return n[1];let r=e.match(Pg);if(r&&r.length===2)return r[1];if(Bg.test(e))return`https://giphy.com/embed/${Bg.exec(e)[1]}`;let i=e.match(zg);return i&&i.length===2?i[1]:e},Qg=(e,t)=>{if(!e)return!1;if(t!=null)if(typeof t==`function`){let n=t(e);if(typeof n==`boolean`)return n}else{if(typeof t==`boolean`)return t;if(t instanceof RegExp)return t.test(e);if(Array.isArray(t)){for(let n of t)if(n instanceof RegExp){if(e.match(n))return!0}else if(Xg(e,n))return!0;return!1}}return!!Xg(e,Gg)};B();var $g=100,e_=100,t_=e=>{switch(e){case $r.ARROW_UP:return`up`;case $r.ARROW_DOWN:return`down`;case $r.ARROW_RIGHT:return`right`;case $r.ARROW_LEFT:return`left`;default:return`right`}},n_=(e,t,n,r)=>{let i=[...n.values()].reduce((r,i)=>{let a;if(G(i)&&(a=i[e===`predecessors`?`startBinding`:`endBinding`])&&i[e===`predecessors`?`endBinding`:`startBinding`]?.elementId===t.id){let o=n.get(a.elementId);if(!o)return r;z(Cc(o),`not an ExcalidrawBindableElement`);let s=e===`predecessors`?i.points[i.points.length-1]:[0,0],c=zu(t,Zm(t,n),[s[0]+i.x,s[1]+i.y]);r.push({relative:o,heading:c})}return r},[]);switch(r){case`up`:return i.filter(e=>Iu(e.heading,Mu)).map(e=>e.relative);case`down`:return i.filter(e=>Iu(e.heading,Au)).map(e=>e.relative);case`right`:return i.filter(e=>Iu(e.heading,ku)).map(e=>e.relative);case`left`:return i.filter(e=>Iu(e.heading,ju)).map(e=>e.relative)}},r_=(e,t,n)=>n_(`successors`,e,t,n),i_=(e,t,n)=>n_(`predecessors`,e,t,n),a_=(e,t,n)=>{let r=e_+e.width;if(n===`up`||n===`down`){let r=$g+e.height,i=e.x,a=e.x+e.width;if(t.every(e=>e.x+e.width<i||e.x>a))return{x:0,y:r*(n===`up`?-1:1)}}else if(n===`right`||n===`left`){let r=e.y,i=e.y+e.height;if(t.every(e=>e.y+e.height<r||e.y>i))return{x:(e_+e.width)*(n===`left`?-1:1),y:0}}if(n===`up`||n===`down`){let i=$g+e.height,a=(t.length,i),o=t.length===0?0:(t.length+1)%2==0?(t.length+1)/2*r:t.length/2*r*-1;return n===`up`?{x:o,y:a*-1}:{x:o,y:a}}let i=$g+e.height,a=(t.length,e_+e.width),o=t.length===0?0:(t.length+1)%2==0?(t.length+1)/2*i:t.length/2*i*-1;return n===`left`?{x:a*-1,y:o}:{x:a,y:o}},o_=(e,t,n,r)=>{let i=r.getNonDeletedElementsMap(),a=r_(e,i,n),o=i_(e,i,n),s=a_(e,[...a,...o],n),c=hg({type:e.type,x:e.x+s.x,y:e.y+s.y,width:e.width,height:e.height,roundness:e.roundness,roughness:e.roughness,backgroundColor:e.backgroundColor,strokeColor:e.strokeColor,strokeWidth:e.strokeWidth,opacity:e.opacity,fillStyle:e.fillStyle,strokeStyle:e.strokeStyle});return z(Oc(c),`not an ExcalidrawFlowchartNodeElement`),{nextNode:c,bindingArrow:c_(e,c,n,t,r)}},s_=(e,t,n,r,i)=>{let a=[];for(let o=0;o<i;o++){let s,c;if(n===`left`||n===`right`){let t=$g*(i-1)+i*e.height,r=e.y+e.height/2-t/2,a=e_+e.width;n===`left`&&(a*=-1),s=e.x+a,c=r+($g+e.height)*o}else{let t=e_*(i-1)+i*e.width,r=e.x+e.width/2-t/2,a=$g+e.height;n===`up`&&(a*=-1),c=e.y+a,s=r+(e_+e.width)*o}let l=hg({type:e.type,x:s,y:c,width:e.width,height:e.height,roundness:e.roundness,roughness:e.roughness,backgroundColor:e.backgroundColor,strokeColor:e.strokeColor,strokeWidth:e.strokeWidth,opacity:e.opacity,fillStyle:e.fillStyle,strokeStyle:e.strokeStyle});z(Oc(l),`not an ExcalidrawFlowchartNodeElement`);let u=c_(e,l,n,t,r);a.push(l),a.push(u)}return a},c_=(e,t,n,r,i)=>{let a,o;switch(n){case`up`:a=e.x+e.width/2,o=e.y-6;break;case`down`:a=e.x+e.width/2,o=e.y+e.height+6;break;case`right`:a=e.x+e.width+6,o=e.y+e.height/2;break;case`left`:a=e.x-6,o=e.y+e.height/2;break}let s,c;switch(n){case`up`:s=t.x+t.width/2-a,c=t.y+t.height-o+6;break;case`down`:s=t.x+t.width/2-a,c=t.y-o-6;break;case`right`:s=t.x-a-6,c=t.y-o+t.height/2;break;case`left`:s=t.x+t.width-a+6,c=t.y-o+t.height/2;break}let l=Dg({type:`arrow`,x:a,y:o,startArrowhead:null,endArrowhead:r.currentItemEndArrowhead,strokeColor:e.strokeColor,strokeStyle:e.strokeStyle,strokeWidth:e.strokeWidth,opacity:e.opacity,roughness:e.roughness,points:[j(0,0),j(s,c)],elbowed:!0}),u=i.getNonDeletedElementsMap();Pd(l,e,`orbit`,`start`,i),Pd(l,t,`orbit`,`end`,i);let d=new Map;d.set(e.id,e),d.set(t.id,t),d.set(l.id,l),J.movePoints(l,i,new Map([[1,{point:l.points[1]}]]));let f=qu(l,ba(new Map([...u.entries(),[e.id,e],[t.id,t],[l.id,l]])),{points:l.points});return{...l,...f}},l_=class{isExploring=!1;sameLevelNodes=[];sameLevelIndex=0;direction=null;visitedNodes=new Set;clear(){this.isExploring=!1,this.sameLevelNodes=[],this.sameLevelIndex=0,this.direction=null,this.visitedNodes.clear()}exploreByDirection(e,t,n){if(!Cc(e))return null;if(n!==this.direction&&this.clear(),this.visitedNodes.has(e.id)||this.visitedNodes.add(e.id),this.isExploring&&n===this.direction&&this.sameLevelNodes.length>1)return this.sameLevelIndex=(this.sameLevelIndex+1)%this.sameLevelNodes.length,this.sameLevelNodes[this.sameLevelIndex].id;let r=[...r_(e,t,n),...i_(e,t,n)];if(r.length>0)return this.sameLevelIndex=0,this.isExploring=!0,this.sameLevelNodes=r,this.direction=n,this.visitedNodes.add(r[0].id),r[0].id;if(n===this.direction||!this.isExploring){this.isExploring||this.visitedNodes.add(e.id);let r=[`up`,`right`,`down`,`left`].filter(e=>e!==n).map(n=>[...r_(e,t,n),...i_(e,t,n)]).flat().filter(e=>!this.visitedNodes.has(e.id));for(let e of r)if(!this.visitedNodes.has(e.id))return this.visitedNodes.add(e.id),this.isExploring=!0,this.direction=n,e.id}return null}},u_=class{isCreatingChart=!1;numberOfNodes=0;direction=`right`;pendingNodes=null;createNodes(e,t,n,r){let i=r.getNonDeletedElementsMap();if(n!==this.direction){let{nextNode:i,bindingArrow:a}=o_(e,t,n,r);this.numberOfNodes=1,this.isCreatingChart=!0,this.direction=n,this.pendingNodes=[i,a]}else{this.numberOfNodes+=1;let i=s_(e,t,n,r,this.numberOfNodes);this.isCreatingChart=!0,this.direction=n,this.pendingNodes=i}if(e.frameId){let t=i.get(e.frameId);z(t&&dc(t),`not an ExcalidrawFrameElement`),t&&this.pendingNodes.every(e=>op([e],t,i)||sp(e,t,i))&&(this.pendingNodes=this.pendingNodes.map(t=>vd(t,i,{frameId:e.frameId})))}}clear(){this.isCreatingChart=!1,this.pendingNodes=null,this.direction=null,this.numberOfNodes=0}},d_=(e,t)=>{for(let[,n]of t)if(n.type===`arrow`&&(n.startBinding?.elementId===e.id||n.endBinding?.elementId===e.id))return!0;return!1};B(),B();var f_=(e,t)=>e.frameId===t||e.id===t,p_=(e,t,n)=>{let r=[],i=[],a=null,o=-1,s=R(n||Zf(e,t,{includeBoundTextElement:!0,includeElementsInFrames:!0}));for(;++o<e.length;){let t=e[o];s.get(t.id)?(i.length&&(r=r.concat(i),i=[]),r.push(o),a=o+1):t.isDeleted&&a===o?(a=o+1,i.push(o)):i=[]}return r},m_=e=>{let t=0;return e.reduce((n,r,i)=>(i>0&&e[i-1]!==r-1&&(t=++t),(n[t]||(n[t]=[])).push(r),n),[])},h_=(e,t,n,r)=>{if(`containerId`in e&&e.containerId){let i=r.getElement(e.containerId);if(i)return n===`left`?Math.min(t.indexOf(i),t.indexOf(e)):Math.max(t.indexOf(i),t.indexOf(e))}else{let i=e.boundElements?.find(e=>e.type!==`arrow`)?.id;if(i){let a=r.getElement(i);if(a)return n===`left`?Math.min(t.indexOf(a),t.indexOf(e)):Math.max(t.indexOf(a),t.indexOf(e))}}},g_=(e,t)=>{let n=-1,r=-1;return e.forEach((e,i)=>{f_(e,t)&&(n===-1&&(n=i),r=i)}),n===-1?[]:e.slice(n,r+1)},__=(e,t,n,r,i,a)=>{let o=a||_u(e,n,r);if(!o)return n;let s=q(o,r),c=H(o)?Hl(o,r):null,l=[o.id,s?.id,c?.id].filter(e=>!!e),u=n.findIndex(e=>l.includes(e.id)),d=n.findIndex(e=>e.id===t.id);if(d!==-1&&u!==-1&&d<u){let e=Array.from(n),t=e.splice(d,1)[0];e.splice(u,0,t),i.replaceAllElements(e)}return n},v_=(e,t,n,r,i,a)=>{let o=t[n],s=t=>t.isDeleted?!1:i?t.frameId===i:e.editingGroupId?t.groupIds.includes(e.editingGroupId):!0,c=r===`left`?Vi(t,e=>s(e),Math.max(0,n-1)):Bi(t,e=>s(e),n+1),l=t[c];if(!l)return-1;if(e.editingGroupId){if(o?.groupIds.join(``)===l?.groupIds.join(``))return h_(l,t,r,a)??c;if(!l?.groupIds.includes(e.editingGroupId))return-1}if(!i&&(l.frameId||U(l))){let e=g_(t,l.frameId||l.id);return r===`left`?t.indexOf(e[0]):t.indexOf(e[e.length-1])}if(!l.groupIds.length)return h_(l,t,r,a)??c;let u=Lf(t,e.editingGroupId?l.groupIds[l.groupIds.indexOf(e.editingGroupId)-1]:l.groupIds[l.groupIds.length-1]);return u.length?r===`left`?t.indexOf(u[0]):t.indexOf(u[u.length-1]):c},y_=(e,t)=>t.reduce((t,n)=>{let r=e[n];return t.set(r.id,r),t},new Map),b_=(e,t,n,r)=>{let i=p_(e,t),a=y_(e,i),o=m_(i);n===`right`&&(o=o.reverse());let s=new Set(i.filter(t=>U(e[t])).map(t=>e[t].id));return o.forEach((i,a)=>{let o=i[0],c=i[i.length-1],l=n===`left`?o:c,u=i.some(t=>{let n=e[t];return n.frameId&&s.has(n.frameId)})?null:e[l]?.frameId,d=v_(t,e,l,n,u,r);if(d===-1||l===d)return;let f=n===`left`?e.slice(0,d):e.slice(0,o),p=e.slice(o,c+1),m=n===`left`?e.slice(d,o):e.slice(c+1,d+1),h=n===`left`?e.slice(c+1):e.slice(d+1);e=n===`left`?[...f,...p,...m,...h]:[...f,...m,...p,...h]}),Hh(e,a),e},x_=(e,t,n,r,i)=>{let a=p_(e,t,i),o=y_(e,a),s=[],c,l;if(n===`left`){if(r)c=Bi(e,e=>f_(e,r));else if(t.editingGroupId){let n=Lf(e,t.editingGroupId);if(!n.length)return e;c=e.indexOf(n[0])}else c=0;l=a[a.length-1]}else{if(r)l=Vi(e,e=>f_(e,r));else if(t.editingGroupId){let n=Lf(e,t.editingGroupId);if(!n.length)return e;l=e.indexOf(n[n.length-1])}else l=e.length-1;c=a[0]}c===-1&&(c=0);for(let t=c;t<l+1;t++)a.includes(t)||s.push(e[t]);let u=Array.from(o.values()),d=e.slice(0,c),f=e.slice(l+1),p=n===`left`?[...d,...u,...s,...f]:[...d,...s,...u,...f];return Hh(p,o),p};function S_(e,t,n,r){let i=R(Zf(e,t,{includeBoundTextElement:!0,includeElementsInFrames:!0})),a={regularElements:[],frameChildren:new Map},o=new Set;for(let t of e)i.has(t.id)&&U(t)&&o.add(t.id);for(let t of e)if(i.has(t.id))if(U(t)||t.frameId&&o.has(t.frameId))a.regularElements.push(t);else if(!t.frameId)a.regularElements.push(t);else{let e=a.frameChildren.get(t.frameId)||[];e.push(t),a.frameChildren.set(t.frameId,e)}let s=e,c=Array.from(a.frameChildren.entries());for(let[i,a]of c)s=r(e,t,n,i,a);return r(s,t,n,null,a.regularElements)}var C_=(e,t,n)=>b_(e,t,`left`,n),w_=(e,t,n)=>b_(e,t,`right`,n),T_=(e,t)=>S_(e,t,`left`,x_),E_=(e,t)=>S_(e,t,`right`,x_),D_=(e,t,n,r,i,a,o=!1)=>{if(G(t)||!wd(i)||t.points.length!==2)return!1;if(!o){let a=t.startBinding?.elementId===n.id?0:t.points.length-1;if(N(e,J.getPointAtIndexGlobalCoordinates(t,a,r))<6.666666666666667*1.5/i.zoom.value)return!1}return N(e,J.getPointAtIndexGlobalCoordinates(t,a===`end`?t.points.length-1:0,r))>=6.666666666666667*1.5/i.zoom.value&&du({element:n,elementsMap:r,point:e,threshold:Sd(n,t),overrideShouldTestInside:!0})},O_=(e,t,n,r,i,a,o)=>{let s=new Map,c=n?`startBinding`:`endBinding`,l=n?`endBinding`:`startBinding`,u=e[c],d=e[l];if(u&&t){let i=t&&d&&u.elementId===d.elementId;u=o||i?{...u,mode:`inside`}:{...u,mode:`orbit`};let a=n?0:e.points.length-1,l=Jd(e,c,u,t,r,!0);l&&s.set(a,{point:l})}if(d&&d.mode===`orbit`){let i=r.get(d.elementId);if(i&&Cc(i)&&wd(a)){let a=t&&d.elementId===t.id;d=o||a?{...d,mode:`inside`}:{...d,mode:`orbit`};let c=n?e.points.length-1:0,u=Jd(e,l,d,i,r);u&&s.set(c,{point:u})}}s.size>0&&J.movePoints(e,i,s,{[c]:u,[l]:d})},k_=(e,t,n,r,i,a,o)=>{let s=J.getElement(e.elementId,t);if(!s||!xc(s)||G(s)||!e.hoveredFocusPointBinding||!e.draggedFocusPointBinding)return;let c=e.draggedFocusPointBinding===`start`,l=c?s.startBinding:s.endBinding,{x:u,y:d}=e.pointerOffset,f=j(n.x-u,n.y-d),p=c?`startBinding`:`endBinding`,m=vu(f,s,r.getNonDeletedElements(),t,Cd(i.zoom));if(m&&wd(i)){s[p]&&m.id!==l?.elementId&&Fd(s,e.draggedFocusPointBinding,r);let n=o&&s[p]?.mode===`orbit`?`inside`:!o&&s[p]?.mode===`inside`?`orbit`:null;(!s[p]||n)&&Pd(s,m,n||`orbit`,e.draggedFocusPointBinding,r,f),r.mutateElement(s,{[p]:{...s[p],elementId:m.id,mode:n||s[p]?.mode||`orbit`,...Xd(s,m,e.draggedFocusPointBinding,t,f)}})}else{let e=new Map,n=c?0:s.points.length-1;e.set(n,{point:J.createPointAt(s,t,f[0],f[1],a)}),J.movePoints(s,r,e),s[p]&&Fd(s,c?`start`:`end`,r)}O_(s,m,c,t,r,i,o),m&&wd(i)&&__(f,s,r.getElementsIncludingDeleted(),t,r,m)},A_=(e,t,n,r)=>{let i=j(t.origin.x,t.origin.y),a=xd*1.5/r.zoom.value;if(e.startBinding?.elementId){let t=n.get(e.startBinding.elementId);if(t&&Cc(t)&&!t.isDeleted){let o=of(e.startBinding.fixedPoint,t,n);if(D_(o,e,t,n,r,`start`)&&N(i,o)<=a)return{hitFocusPoint:`start`,pointerOffset:{x:i[0]-o[0],y:i[1]-o[1]}}}}if(e.endBinding?.elementId){let t=n.get(e.endBinding.elementId);if(t&&Cc(t)&&!t.isDeleted){let o=of(e.endBinding.fixedPoint,t,n);if(D_(o,e,t,n,r,`end`)&&N(i,o)<=a)return{hitFocusPoint:`end`,pointerOffset:{x:i[0]-o[0],y:i[1]-o[1]}}}}return{hitFocusPoint:null,pointerOffset:{x:0,y:0}}},j_=(e,t)=>{z(e.draggedFocusPointBinding,`Must have a dragged focus point at pointer release`);let n=J.getElement(e.elementId,t.getNonDeletedElementsMap());z(n,`Arrow must be in the scene`);let r=e.draggedFocusPointBinding===`start`?`startBinding`:`endBinding`,i=e.draggedFocusPointBinding===`start`?`endBinding`:`startBinding`,a=n[r]?.elementId,o=n[i]?.elementId,s=a&&t.getNonDeletedElements().find(e=>e.id!==a&&e.id!==o&&Cc(e)&&e.boundElements?.find(({id:e})=>e===n.id));s&&t.mutateElement(s,{boundElements:s.boundElements?.filter(({id:e})=>e!==n.id)});let c=a&&t.getNonDeletedElementsMap().get(a);c&&t.mutateElement(c,{boundElements:[...(c.boundElements||[])?.filter(({id:e})=>e!==n.id),{id:n.id,type:`arrow`}]})},M_=(e,t,n,r,i)=>{let a=r.getNonDeletedElementsMap(),o=j(t,n),s=xd*1.5/i.zoom.value;if(e.startBinding?.elementId){let t=a.get(e.startBinding.elementId);if(t&&Cc(t)&&!t.isDeleted){let n=of(e.startBinding.fixedPoint,t,a);if(D_(n,e,t,a,i,`start`)&&N(o,n)<=s)return`start`}}if(e.endBinding?.elementId){let t=a.get(e.endBinding.elementId);if(t&&Cc(t)&&!t.isDeleted){let n=of(e.endBinding.fixedPoint,t,a);if(D_(n,e,t,a,i,`end`)&&N(o,n)<=s)return`end`}}return null};B();var N_=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r)},r.onerror=e=>{n(e)},r.src=e}),P_=async({fileIds:e,files:t,imageCache:n})=>{let r=new Map,i=new Map;return await Promise.all(e.reduce((e,a)=>{let o=t[a];return o&&!r.has(a)?(r.set(a,!0),e.concat((async()=>{try{if(o.mimeType===Wn.binary)throw Error(`Only images can be added to ImageCache`);let e=N_(o.dataURL),t={image:e,mimeType:o.mimeType};n.set(a,t);let r=await e;n.set(a,{...t,image:r})}catch{i.set(a,!0)}})())):e},[])),{imageCache:n,updatedFiles:r,erroredFiles:i}},F_=e=>e.filter(e=>oc(e)),I_=e=>e?.nodeName.toLowerCase()===`svg`,L_=e=>{let t=new DOMParser().parseFromString(e,Wn.svg),n=t.querySelector(`svg`);if(t.querySelector(`parsererror`)||!I_(n))throw Error(`Invalid SVG`);{n.hasAttribute(`xmlns`)||n.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`);let e=n.getAttribute(`width`),t=n.getAttribute(`height`);(e?.includes(`%`)||e===`auto`)&&(e=null),(t?.includes(`%`)||t===`auto`)&&(t=null);let r=n.getAttribute(`viewBox`);if(!e||!t){if(e||=`50`,t||=`50`,r){let n=r.match(/\d+ +\d+ +(\d+(?:\.\d+)?) +(\d+(?:\.\d+)?)/);n&&([,e,t]=n)}n.setAttribute(`width`,e),n.setAttribute(`height`,t)}return r||n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.outerHTML}};B();var R_=(e,t,n,r=50)=>{if(!e||e.length===0)return[];let i=[],a=Array.isArray(e[0])?e:e.map(e=>[e]),o=a.length,s=Math.max(1,Math.ceil(Math.sqrt(o))),c=[];for(let e=0;e<o;e+=s)c.push(a.slice(e,e+s));let l=0,u=c.map(e=>{let t=0,n=0,i=e.map(e=>{let[t,n,r,i]=Um(e);return{elements:e,bounds:[t,n,r,i],width:r-t,height:i-n}});return i.forEach((e,a)=>{t+=e.width,a<i.length-1&&(t+=r),e.height>n&&(n=e.height)}),l+=n,{unitBounds:i,width:t,maxHeight:n}}),d=n-(l+Math.max(0,c.length-1)*r)/2;return u.forEach(e=>{let{unitBounds:n,width:a,maxHeight:o}=e,s=t-a/2;n.forEach(e=>{let[t,n]=e.bounds,a=s-t,o=d-n;e.elements.forEach(e=>{i.push(yd(e,{x:e.x+a,y:e.y+o}))}),s+=e.width+r}),d+=o+r}),i};B();var z_=(e,t,n,r,i,a,o,s,c,l,u)=>{let d=r.getNonDeletedElementsMap();if(n.length===1){let[l]=n;if(t===`rotation`)G(l)||(B_(l,r,s,c,i),Id(l,r));else if(t){let i=n[0].id,l=d.get(i),u=e.get(i);if(l&&u){let{nextWidth:n,nextHeight:i}=X_(l,u,t,s,c,{shouldMaintainAspectRatio:o,shouldResizeFromCenter:a});Y_(n,i,l,u,e,r,t,{shouldMaintainAspectRatio:o,shouldResizeFromCenter:a})}}return H(l)&&Id(l,r),!0}else if(n.length>1){if(t===`rotation`)return W_(e,n,r,s,c,i,l,u),!0;if(t){let{nextWidth:i,nextHeight:l,flipByX:u,flipByY:f,originalBoundingBox:p}=Z_(n,e,d,t,s,c,{shouldMaintainAspectRatio:o,shouldResizeFromCenter:a});return Q_(n,d,t,r,e,{shouldResizeFromCenter:a,shouldMaintainAspectRatio:o,flipByX:u,flipByY:f,nextWidth:i,nextHeight:l,originalBoundingBox:p}),!0}}return!1},B_=(e,t,n,r,i)=>{let[a,o,s,c]=Y(e,t.getNonDeletedElementsMap()),l=(a+s)/2,u=(o+c)/2,d;U(e)?d=0:(d=5*Math.PI/2+Math.atan2(r-u,n-l),i&&(d+=_n/2,d-=d%_n),d=v(d));let f=Vl(e),p={angle:d};if(xc(e)&&(p={...p},e.startBinding&&Fd(e,`start`,t),e.endBinding&&Fd(e,`end`,t)),t.mutateElement(e,p),f){let n=t.getElement(f);if(n&&!W(e)){let{x:r,y:i}=Bl(e,n,t.getNonDeletedElementsMap());t.mutateElement(n,{angle:d,x:r,y:i})}}},V_=(e,t,n,r)=>hc(e)||pc(e)?{points:ci(0,t,ci(1,n,e.points,r),r)}:{},H_=(e,t,n)=>{let r=e.width;if(Ac(e)){let n=Hl(e,t);n&&(r=Zl(n,e))}let i=e.fontSize*(n/r);return i<1?null:{size:i}},U_=(e,t,n,r,i,a,o)=>{let s=n.getNonDeletedElementsMap(),c=t.width*(o/t.height),l=H_(t,s,c);if(l!==null){if(r.includes(`n`)||r.includes(`s`)){let a=J_(j(e.x,e.y),e.width,e.height,c,o,e.angle,r,!1,i);n.mutateElement(t,{fontSize:l.size,width:c,height:o,x:a.x,y:a.y});return}if(r===`e`||r===`w`){let o=il(Si({fontSize:t.fontSize,fontFamily:t.fontFamily}),t.lineHeight),s=Math.max(o,a),c=Ml(t.originalText,Si(t),Math.abs(s)),l=tl(c,Si(t),t.lineHeight),u=l.height,d=J_(j(e.x,e.y),e.width,e.height,s,u,t.angle,r,!1,i),f={width:Math.abs(s),height:Math.abs(l.height),x:d.x,y:d.y,text:c,autoResize:!1};n.mutateElement(t,f)}}},W_=(e,t,n,r,i,a,o,s)=>{let c=n.getNonDeletedElementsMap(),l=5*Math.PI/2+Math.atan2(i-s,r-o);a&&(l+=_n/2,l-=l%_n);let u=new Map(t.map(e=>[e.id,e]));for(let r of t)if(!U(r)){let[i,a,d,f]=Y(r,c),p=(i+d)/2,m=(a+f)/2,h=e.get(r.id)?.angle??r.angle,[g,_]=M(j(p,m),j(o,s),l+h-r.angle),y=G(r)?{points:cf(r,c)}:{x:r.x+(g-p),y:r.y+(_-m),angle:v(l+h)};n.mutateElement(r,y),Id(r,n,{simultaneouslyUpdated:t}),xc(r)&&(r.startBinding&&(u.has(r.startBinding.elementId)||Fd(r,`start`,n)),r.endBinding&&(u.has(r.endBinding.elementId)||Fd(r,`end`,n)));let b=q(r,c);if(b&&!W(r)){let{x:e,y:t}=Bl(r,b,c);n.mutateElement(b,{x:e,y:t,angle:v(l+h)})}}n.triggerUpdate()},G_=(e,t,n,r,i)=>{let[a,o,s,c]=t.length===1?Y(t[0],n):Um(t),l=(a+s)/2,u=(o+c)/2,d=t.length===1?t[0].angle:0;switch([r,i]=M(j(r,i),j(l,u),-d),e){case`n`:return M(j(r-(a+s)/2,i-o),j(0,0),d);case`s`:return M(j(r-(a+s)/2,i-c),j(0,0),d);case`w`:return M(j(r-a,i-(o+c)/2),j(0,0),d);case`e`:return M(j(r-s,i-(o+c)/2),j(0,0),d);case`nw`:return M(j(r-a,i-o),j(0,0),d);case`ne`:return M(j(r-s,i-o),j(0,0),d);case`sw`:return M(j(r-a,i-c),j(0,0),d);case`se`:return M(j(r-s,i-c),j(0,0),d);default:return[0,0]}},K_=(e,t)=>{let[,[n,r]]=t.points;return e===`nw`&&(n<0||r<0)||e===`ne`&&n>=0||e===`sw`&&n<=0||e===`se`&&(n>0||r>0)?`end`:`origin`},q_=(e,t,n)=>{if(n)return`center`;if(t)switch(e){case`n`:return`south-side`;case`e`:return`west-side`;case`s`:return`north-side`;case`w`:return`east-side`;case`ne`:return`bottom-left`;case`nw`:return`bottom-right`;case`se`:return`top-left`;case`sw`:return`top-right`}return[`e`,`se`,`s`].includes(e)?`top-left`:[`n`,`nw`,`w`].includes(e)?`bottom-right`:e===`ne`?`bottom-left`:`top-right`},J_=(e,t,n,r,i,a,o,s,c)=>{let l=q_(o,s,c),[u,d]=e;switch(l){case`top-left`:return{x:u+(t-r)/2+(r-t)/2*Math.cos(a)+(n-i)/2*Math.sin(a),y:d+(n-i)/2+(r-t)/2*Math.sin(a)+(i-n)/2*Math.cos(a)};case`top-right`:return{x:u+(t-r)/2*(Math.cos(a)+1)+(n-i)/2*Math.sin(a),y:d+(n-i)/2+(t-r)/2*Math.sin(a)+(i-n)/2*Math.cos(a)};case`bottom-left`:return{x:u+(t-r)/2*(1-Math.cos(a))+(i-n)/2*Math.sin(a),y:d+(n-i)/2*(Math.cos(a)+1)+(r-t)/2*Math.sin(a)};case`bottom-right`:return{x:u+(t-r)/2*(Math.cos(a)+1)+(i-n)/2*Math.sin(a),y:d+(n-i)/2*(Math.cos(a)+1)+(t-r)/2*Math.sin(a)};case`center`:return{x:u-(r-t)/2,y:d-(i-n)/2};case`east-side`:return{x:u+(t-r)/2*(Math.cos(a)+1),y:d+(t-r)/2*Math.sin(a)+(n-i)/2};case`west-side`:return{x:u+(t-r)/2*(1-Math.cos(a)),y:d+(r-t)/2*Math.sin(a)+(n-i)/2};case`north-side`:return{x:u+(t-r)/2+(n-i)/2*Math.sin(a),y:d+(i-n)/2*(Math.cos(a)-1)};case`south-side`:return{x:u+(t-r)/2+(i-n)/2*Math.sin(a),y:d+(n-i)/2*(Math.cos(a)+1)}}},Y_=(e,t,n,r,i,a,o,{shouldInformMutation:s=!0,shouldMaintainAspectRatio:c=!1,shouldResizeFromCenter:l=!1}={})=>{if(H(n)&&H(r))return U_(r,n,a,o,l,e,t);let u={},d=a.getNonDeletedElementsMap(),f=q(n,d);if(f){let r=i.get(f.id);if(r&&(u={fontSize:r.fontSize}),c){let r=H_(f,d,Zl({...n,width:e,height:t},f));if(r===null)return;u={fontSize:r.size}}else{let n=rl(Si(f),f.lineHeight),r=ul(f.fontSize,f.lineHeight);e=Math.max(e,n),t=Math.max(t,r)}}let p=V_(r,e,t,!0),m=j(r.x,r.y);if(hc(r)){let[e,t]=Hm(r,i);m=j(e,t)}let h=J_(m,r.width,r.height,e,t,r.angle,o,c,l);if(hc(r)&&p.points){let e=r.x-m[0],t=r.y-m[1];h.x+=e,h.y+=t;let n=p.points[0][0],i=p.points[0][1];h.x+=n,h.y+=i,p.points=p.points.map(e=>j(e[0]-n,e[1]-i))}if(e<0&&(h.x+=e),t<0&&(h.y+=t),`scale`in n&&`scale`in r&&a.mutateElement(n,{scale:[(Math.sign(e)||r.scale[0])*r.scale[0],(Math.sign(t)||r.scale[1])*r.scale[1]]}),W(n)&&f&&c){let t=e/n.width*f.fontSize;if(t<1)return;u.fontSize=t}if(e!==0&&t!==0&&Number.isFinite(h.x)&&Number.isFinite(h.y)){let r={...h,width:Math.abs(e),height:Math.abs(t),...p};xc(n)&&(n.startBinding&&(r={...r},n.startBinding&&Fd(n,`start`,a)),n.endBinding&&(r={...r,endBinding:null})),a.mutateElement(n,r,{informMutation:s,isDragging:!1}),f&&u!=null&&a.mutateElement(f,{fontSize:u.fontSize}),zl(n,a,o,c),Id(n,a)}},X_=(e,t,n,r,i,{shouldMaintainAspectRatio:a=!1,shouldResizeFromCenter:o=!1}={})=>{let[s,c,l,u]=Gm(t,t.width,t.height,!0),d=j(s,c),f=j(l,u),p=le(d,f),m=M(j(r,i),p,-t.angle),[h,g,_,v]=Gm(e,e.width,e.height,!0),y=_-h,b=v-g,x=f[0]-d[0],S=f[1]-d[1],C=x/y,w=S/b;n.includes(`e`)&&(C=(m[0]-d[0])/y),n.includes(`s`)&&(w=(m[1]-d[1])/b),n.includes(`w`)&&(C=(f[0]-m[0])/y),n.includes(`n`)&&(w=(f[1]-m[1])/b);let T=e.width*C,E=e.height*w;if(o&&(T=2*T-t.width,E=2*E-t.height),a){let e=Math.abs(T)/t.width,r=Math.abs(E)/t.height;if(n.length===1&&(E*=e,T*=r),n.length===2){let n=Math.max(e,r);T=t.width*n*Math.sign(T),E=t.height*n*Math.sign(E)}}return{nextWidth:T,nextHeight:E}},Z_=(e,t,n,r,i,a,{shouldMaintainAspectRatio:o=!1,shouldResizeFromCenter:s=!1}={})=>{let c=e.map(e=>t.get(e.id)),l=c.reduce((e,r)=>{if(!hc(r))return e;let i=Vl(r);if(!i)return e;let a=t.get(i)??null;return Ac(a)?[...e,{...a,...J.getBoundTextElementPosition(r,a,n)}]:e},[]),u=Jm(c.map(e=>e).concat(l)),{minX:d,minY:f,maxX:p,maxY:m,midX:h,midY:g}=u,_=p-d,v=m-f,y={ne:[d,m],se:[d,f],sw:[p,f],nw:[p,m],e:[d,f+v/2],w:[p,f+v/2],n:[d+_/2,m],s:[d+_/2,f]},[b,x]=s?[h,g]:y[r],S=s?2:1,C=Math.max(Math.abs(i-b)/_||0,Math.abs(a-x)/v||0)*S,w=r.includes(`e`)||r.includes(`w`)?Math.abs(i-b)*S:_,T=r.includes(`n`)||r.includes(`s`)?Math.abs(a-x)*S:v;o&&(w=_*C*Math.sign(i-b),T=v*C*Math.sign(a-x));let[E,D]={ne:[i<b,a>x],se:[i<b,a<x],sw:[i>b,a<x],nw:[i>b,a>x],e:[i<b,!1],w:[i>b,!1],n:[!1,a>x],s:[!1,a<x]}[r].map(e=>e);return{originalBoundingBox:u,nextWidth:w,nextHeight:T,flipByX:E,flipByY:D}},Q_=(e,t,n,r,i,{shouldMaintainAspectRatio:a=!1,shouldResizeFromCenter:o=!1,flipByX:s=!1,flipByY:c=!1,nextHeight:l,nextWidth:u,originalBoundingBox:d}={})=>{if(u===void 0&&l===void 0&&s===void 0&&c===void 0||l===0||u===0)return;i||=t;let f=e.reduce((e,t)=>{let n=i.get(t.id);return n&&e.push({orig:n,latest:t}),e},[]),p;if(d)p=d;else{let e=f.reduce((e,{orig:n})=>{if(!hc(n))return e;let r=Vl(n);if(!r)return e;let a=i.get(r)??null;return Ac(a)?[...e,{...a,...J.getBoundTextElementPosition(n,a,t)}]:e},[]);p=Jm(f.map(({orig:e})=>e).concat(e))}let{minX:m,minY:h,maxX:g,maxY:_,midX:y,midY:b}=p,x=g-m,S=_-h;if(u===void 0&&l===void 0&&(u=x,l=S),a&&(u===void 0?u=x/S*l:l===void 0?l=S/x*u:Math.abs(u/l-x/S)>.001&&(u=x/S*l)),u&&l){let e=n.includes(`e`)||n.includes(`w`)?Math.abs(u)/x:1,d=n.includes(`n`)||n.includes(`s`)?Math.abs(l)/S:1,p;p=n.length===1?n.includes(`e`)||n.includes(`w`)?e:d:Math.max(Math.abs(u)/x||0,Math.abs(l)/S||0);let C={ne:[m,_],se:[m,h],sw:[g,h],nw:[g,_],e:[m,h+S/2],w:[g,h+S/2],n:[m+x/2,_],s:[m+x/2,h]},[w,T]=o?[y,b]:C[n],E=a||f.some(e=>e.latest.angle!==0||H(e.latest)||Wf(e.latest));E&&(e=p,d=p);let[D,O]=[s?-1:1,c?-1:1],k=[];for(let{orig:n,latest:r}of f){if(H(n)&&Ac(n))continue;let a=n.width*e,o=n.height*d,l=v(n.angle*D*O),u=hc(n)||pc(n),f=n.x-w,m=n.y-T,h=s&&!u?a:0,g=c&&!u?o:0,_=w+D*(f*e+h),y=T+O*(m*d+g),b=V_(n,a*D,o*O,!1),x={x:_,y,width:a,height:o,angle:l,...b};if(G(n)&&(n.startBinding&&(x.startBinding={...n.startBinding,fixedPoint:[s?-n.startBinding.fixedPoint[0]+1:n.startBinding.fixedPoint[0],c?-n.startBinding.fixedPoint[1]+1:n.startBinding.fixedPoint[1]]}),n.endBinding&&(x.endBinding={...n.endBinding,fixedPoint:[s?-n.endBinding.fixedPoint[0]+1:n.endBinding.fixedPoint[0],c?-n.endBinding.fixedPoint[1]+1:n.endBinding.fixedPoint[1]]}),n.fixedSegments&&b.points&&(x.fixedSegments=n.fixedSegments.map(e=>({...e,start:b.points[e.index-1],end:b.points[e.index]})))),sc(n)&&(x.scale=[n.scale[0]*D,n.scale[1]*O]),H(n)){let e=H_(n,t,a);if(!e)return;x.fontSize=e.size}let S=i.get(Vl(n)??``);if(S)if(E){let e=S.fontSize*p;if(e<1)return;x.boundTextFontSize=e}else x.boundTextFontSize=S.fontSize;k.push({element:r,update:x})}let A=k.map(({element:e})=>e),ee=new Map(k.map(({element:e})=>[e.id,e]));for(let{element:e,update:{boundTextFontSize:i,...a}}of k){let{angle:o}=a;r.mutateElement(e,a),Id(e,r,{simultaneouslyUpdated:A}),xc(e)&&(e.startBinding&&(ee.has(e.startBinding.elementId)||Fd(e,`start`,r)),e.endBinding&&(ee.has(e.endBinding.elementId)||Fd(e,`end`,r)));let s=q(e,t);s&&i&&(r.mutateElement(s,{fontSize:i,angle:hc(e)?void 0:o}),zl(e,r,n,!0))}r.triggerUpdate()}};B(),B();var $_={mouse:8,pen:16,touch:28},ev=16,tv={e:!0,s:!0,n:!0,w:!0},nv={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},rv={e:!0,s:!0,n:!0,w:!0},iv=(e,t,n,r,i,a,o)=>{let[s,c]=M(j(e+n/2,t+r/2),j(i,a),o);return[s-n/2,c-r/2,n,r]},av=e=>!(e.formFactor===`phone`&&e.userAgent.isMobileDevice),ov=e=>av(e)?tv:{},sv=([e,t,n,r,i,a],o,s,c,l={},u=4,d=2)=>{let f=$_[c],p=f/s.value,m=f/s.value,h=f/s.value,g=f/s.value,_=n-e,v=r-t,y=u/s.value,b=(f-d*2)/(2*s.value),x={nw:l.nw?void 0:iv(e-y-h+b,t-y-g+b,p,m,i,a,o),ne:l.ne?void 0:iv(n+y-b,t-y-g+b,p,m,i,a,o),sw:l.sw?void 0:iv(e-y-h+b,r+y-b,p,m,i,a,o),se:l.se?void 0:iv(n+y-b,r+y-b,p,m,i,a,o),rotation:l.rotation?void 0:iv(e+_/2-p/2,t-y-g+b-ev/s.value,p,m,i,a,o)},S=5*$_.mouse/s.value;return Math.abs(_)>S&&(l.n||(x.n=iv(e+_/2-p/2,t-y-g+b,p,m,i,a,o)),l.s||(x.s=iv(e+_/2-p/2,r+y-b,p,m,i,a,o))),Math.abs(v)>S&&(l.w||(x.w=iv(e-y-h+b,t+v/2-m/2,p,m,i,a,o)),l.e||(x.e=iv(n+y-b,t+v/2-m/2,p,m,i,a,o))),x},cv=(e,t,n,r=`mouse`,i=tv)=>{if(e.locked||G(e))return{};if(e.type===`freedraw`||hc(e)){if(e.points.length===2){let[,t]=e.points;t[0]===0||t[1]===0?i=rv:t[0]>0&&t[1]<0?i=nv:t[0]>0&&t[1]>0?i=rv:t[0]<0&&t[1]>0?i=nv:t[0]<0&&t[1]<0&&(i=rv)}}else U(e)&&(i={...i,rotation:!0});let a=hc(e)?10:sc(e)?0:2;return sv(Y(e,n,!0),e.angle,t,r,i,a,sc(e)?0:void 0)},lv=(e,t,n)=>{if(t.selectedLinearElement?.isEditing||t.selectedLinearElement?.isDragging)return!1;if(e.length>1)return!0;let r=e[0];return G(r)?!1:hc(r)?r.points.length>2&&!n.userAgent.isMobileDevice:!0},uv=(e,t,n)=>t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3],dv=(e,t,n,r,i,a,o,s)=>{if(!n.selectedElementIds[e.id])return!1;let{rotation:c,...l}=cv(e,a,t,o,ov(s));if(c&&uv(c,r,i))return`rotation`;let u=Object.keys(l).filter(e=>{let t=l[e];return t?uv(t,r,i):!1});if(u.length>0)return u[0];if(av(s)){let[n,o,s,c,l,u]=Y(e,t);if(!(hc(e)&&e.points.length<=2)){let t=sc(e)?0:4/a.value,d=4/a.value,f=_v(j(n-t,o-t),j(s+t,c+t),j(l,u),e.angle);for(let[e,t]of Object.entries(f))if(Pe(j(r,i),t,d))return e}}return!1},fv=(e,t,n,r,i,a,o,s)=>e.reduce((e,c)=>{if(e)return e;let l=dv(c,o,t,n,r,i,a,s);return l?{element:c,transformHandleType:l}:null},null),pv=([e,t,n,r],i,a,o,s,c)=>{let l=sv([e,t,n,r,(e+n)/2,(t+r)/2],0,o,s,ov(c)),u=Object.keys(l).find(e=>{let t=l[e];return t&&uv(t,i,a)});if(u)return u;if(av(c)){let s=(e+n)/2,c=(t+r)/2,l=4/o.value,u=_v(j(e-l,t-l),j(n+l,r+l),j(s,c),0);for(let[e,t]of Object.entries(u))if(Pe(j(i,a),t,l))return e}return!1},mv=[`ns`,`nesw`,`ew`,`nwse`],hv=(e,t)=>{let n=mv.indexOf(e);return n>=0&&(e=mv[(n+Math.round(t/(Math.PI/4)))%mv.length]),e},gv=e=>{let{element:t,transformHandleType:n}=e,r=t&&Math.sign(t.height)*Math.sign(t.width)===-1,i=null;switch(n){case`n`:case`s`:i=`ns`;break;case`w`:case`e`:i=`ew`;break;case`nw`:case`se`:i=r?`nesw`:`nwse`;break;case`ne`:case`sw`:i=r?`nwse`:`nesw`;break;case`rotation`:return`grab`}return i&&t&&(i=hv(i,t.angle)),i?`${i}-resize`:``},_v=([e,t],[n,r],i,a)=>{let o=M(j(e,t),i,a),s=M(j(n,t),i,a),c=M(j(e,r),i,a),l=M(j(n,r),i,a);return{n:[o,s],e:[s,l],s:[l,c],w:[c,o]}};B();var vv=(e,t)=>!!(!e.viewModeEnabled&&e.openDialog?.name!==`elementLinkSelector`&&(e.activeTool.type!==`custom`&&(e.editingTextElement||e.activeTool.type!==`selection`&&e.activeTool.type!==`lasso`&&e.activeTool.type!==`eraser`&&e.activeTool.type!==`hand`&&e.activeTool.type!==`laser`)||Zf(t,e).length));B();var yv={width:100,height:0},bv=100,xv=(e,t,n)=>{let r=xg({x:0,y:0,textAlign:sr.CENTER,verticalAlign:or.MIDDLE,...t,containerId:e.id,strokeColor:t.strokeColor||e.strokeColor});return Object.assign(e,{boundElements:(e.boundElements||[]).concat({type:`text`,id:r.id})}),Rl(r,e,n),[e,r]},Sv=(e,t,n,r,i)=>{let a,o;if(Object.assign(e,{startBinding:e?.startBinding||null,endBinding:e.endBinding||null}),t){let n=t?.width??bv,o=t?.height??bv,s;t.id&&(s=r.getElement(t.id),s||console.error(`No element for start binding with id ${t.id} found`));let c=t.x||e.x-n,l=t.y||e.y-o/2,u=s?s.type:t.type;if(u){if(u===`text`){let n=``;s&&s.type===`text`?n=s.text:t.type===`text`&&(n=t.text),n||console.error(`No text found for start binding text element for ${e.id}`),a=xg({x:c,y:l,type:`text`,...s,...t,text:n}),Object.assign(a,{x:t.x||e.x-a.width,y:t.y||e.y-a.height/2})}else switch(u){case`rectangle`:case`ellipse`:case`diamond`:a=hg({x:c,y:l,width:n,height:o,...s,...t,type:u});break;default:fa(e,`Unhandled element start type "${t.type}"`,!0)}Pd(e,a,`orbit`,`start`,i)}}if(n){let t=n?.height??bv,a=n?.width??bv,s;n.id&&(s=r.getElement(n.id),s||console.error(`No element for end binding with id ${n.id} found`));let c=n.x||e.x+e.width,l=n.y||e.y-t/2,u=s?s.type:n.type;if(u){if(u===`text`){let t=``;s&&s.type===`text`?t=s.text:n.type===`text`&&(t=n.text),t||console.error(`No text found for end binding text element for ${e.id}`),o=xg({x:c,y:l,type:`text`,...s,...n,text:t}),Object.assign(o,{y:n.y||e.y-o.height/2})}else switch(u){case`rectangle`:case`ellipse`:case`diamond`:o=hg({x:c,y:l,width:a,height:t,...s,...n,type:u});break;default:fa(e,`Unhandled element end type "${u}"`,!0)}Pd(e,o,`orbit`,`end`,i)}}if(e.points.length<2)return{linearElement:e,startBoundElement:a,endBoundElement:o};let s=e.points.length-1,c=.5,l=ha(e.points);return e.points[s][0]>e.points[s-1][0]&&(l[0][0]=c,l[s][0]-=c),e.points[s][0]<e.points[s-1][0]&&(l[0][0]=-c,l[s][0]+=c),e.points[s][1]>e.points[s-1][1]&&(l[0][1]=c,l[s][1]-=c),e.points[s][1]<e.points[s-1][1]&&(l[0][1]=-c,l[s][1]+=c),Object.assign(e,J.getNormalizeElementPointsAndCoords({...e,points:l})),{linearElement:e,startBoundElement:a,endBoundElement:o}},Cv=class{excalidrawElements=new Map;add=e=>{e&&this.excalidrawElements.set(e.id,e)};getElements=()=>Uh(Array.from(this.excalidrawElements.values()));getElementsMap=()=>ba(R(this.getElements()));getElement=e=>this.excalidrawElements.get(e)},wv=(e,t)=>{if(!e)return[];let n=ha(e),r=new Cv,i=new Map,a=new Map;for(let e of n){let n,o=e.id;switch(t?.regenerateIds!==!1&&Object.assign(e,{id:Ia()}),e.type){case`rectangle`:case`ellipse`:case`diamond`:{let t=e?.label?.text&&e.width===void 0?0:e?.width||bv,r=e?.label?.text&&e.height===void 0?0:e?.height||bv;n=hg({...e,width:t,height:r});break}case`line`:{let t=e.width||yv.width,r=e.height||yv.height;n=Eg({width:t,height:r,points:[j(0,0),j(t,r)],...e});break}case`arrow`:{let t=e.width||yv.width,r=e.height||yv.height;n=Dg({width:t,height:r,endArrowhead:`arrow`,points:[j(0,0),j(t,r)],...e,type:`arrow`}),Object.assign(n,si(n.points));break}case`text`:{let t=e?.fontFamily||Ln,r=e?.fontSize||20,i=e?.lineHeight||jr(t),a=tl(ol(e.text??``),Si({fontFamily:t,fontSize:r}),i);n=xg({width:a.width,height:a.height,fontFamily:t,fontSize:r,...e});break}case`image`:n=Og({width:e?.width||bv,height:e?.height||bv,...e});break;case`frame`:n=vg({x:0,y:0,...e});break;case`magicframe`:n=yg({x:0,y:0,...e});break;case`freedraw`:case`iframe`:case`embeddable`:n=e;break;default:n=e,fa(e,`Unhandled element type "${e.type}"`,!0)}r.getElement(n.id)?console.error(`Duplicate id found for ${n.id}`):(r.add(n),i.set(n.id,e),o&&a.set(o,n.id))}let o=new eg(r.getElementsMap());for(let[e,t]of i){let n=r.getElement(e);switch(t.type){case`rectangle`:case`ellipse`:case`diamond`:case`arrow`:if(t.label?.text){let[e,i]=xv(n,t?.label,o);if(r.add(e),r.add(i),W(e)){let n=t.type===`arrow`?t?.start:void 0,i=t.type===`arrow`?t?.end:void 0;if(n&&n.id){let e=a.get(n.id);e&&Object.assign(n,{id:e})}if(i&&i.id){let e=a.get(i.id);e&&Object.assign(i,{id:e})}let{linearElement:s,startBoundElement:c,endBoundElement:l}=Sv(e,n,i,r,o);e=s,r.add(s),r.add(c),r.add(l)}}else switch(t.type){case`arrow`:{let{start:e,end:i}=t;if(e&&e.id){let t=a.get(e.id);Object.assign(e,{id:t})}if(i&&i.id){let e=a.get(i.id);Object.assign(i,{id:e})}let{linearElement:s,startBoundElement:c,endBoundElement:l}=Sv(n,e,i,r,o);r.add(s),r.add(c),r.add(l);break}}break}}for(let[e,t]of i){if(t.type!==`frame`&&t.type!==`magicframe`)continue;let n=r.getElement(e);if(!n)throw Error(`Excalidraw element with id ${e} doesn't exist`);let i=[];t.children.forEach(e=>{let t=a.get(e);if(!t)throw Error(`Element with ${e} wasn't mapped correctly`);let o=r.getElement(t);if(!o)throw Error(`Frame element with id ${t} doesn't exist`);Object.assign(o,{frameId:n.id}),o?.boundElements?.forEach(e=>{let t=r.getElement(e.id);if(!t)throw Error(`Bound element with id ${e.id} doesn't exist`);Object.assign(t,{frameId:n.id}),i.push(t)}),i.push(o)});let[o,s,c,l]=Um(i);o-=10,s-=10,c+=10,l+=10;let u=n?.x||o,d=n?.y||s,f=n?.width||c-o,p=n?.height||l-s;Object.assign(n,{x:u,y:d,width:f,height:p}),ta()&&t.children.length&&(n?.x||n?.y||n?.width||n?.height)&&console.info(`User provided frame attributes are being considered, if you find this inaccurate, please remove any of the attributes - x, y, width and height so frame coordinates and dimensions are calculated automatically`)}return r.getElements()};B();var Tv=({app:e,event:t})=>{let n=e.state;if(n.selectedLinearElement&&e.lastPointerMoveCoords){if(n.selectedLinearElement.draggedFocusPointBinding)return k_(n.selectedLinearElement,e.scene.getNonDeletedElementsMap(),e.lastPointerMoveCoords,e.scene,n,e.getEffectiveGridSize(),t.altKey),!0;if(n.selectedLinearElement.hoverPointIndex!==null&&e.lastPointerMoveEvent&&n.selectedLinearElement.initialState.lastClickedPoint>=0&&n.selectedLinearElement.isDragging)return J.handlePointDragging(e.lastPointerMoveEvent,e,e.lastPointerMoveCoords.x,e.lastPointerMoveCoords.y,n.selectedLinearElement),!0}return!1};B();var Ev=e=>{switch(e){case void 0:case null:return null;case`dot`:return`circle`;case`crowfoot_one`:return`cardinality_one`;case`crowfoot_many`:return`cardinality_many`;case`crowfoot_one_or_many`:return`cardinality_one_or_many`;default:return e}},Dv=e=>{let t=Ev(e);return t===null?null:t},Ov=e=>{let t=5381;for(let n of Qi(e))t=(t<<5)+t+n.versionNonce;return t>>>0},kv=e=>{let t=5381;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)+t+r}return t>>>0},Av=e=>e.filter(e=>!e.isDeleted&&!th(e)),jv=e=>e.filter(e=>!e.isDeleted),Mv=e=>!e.isDeleted;function Nv(e,t,n){if(e&&e.length){let[r,i]=t,a=Math.PI/180*n,o=Math.cos(a),s=Math.sin(a);for(let t of e){let[e,n]=t;t[0]=(e-r)*o-(n-i)*s+r,t[1]=(e-r)*s+(n-i)*o+i}}}function Pv(e,t,n){let r=[];e.forEach(e=>r.push(...e)),Nv(r,t,n)}function Fv(e,t){return e[0]===t[0]&&e[1]===t[1]}function Iv(e,t,n,r=1){let i=n,a=Math.max(t,.1),o=e[0]&&e[0][0]&&typeof e[0][0]==`number`?[e]:e,s=[0,0];if(i)for(let e of o)Nv(e,s,i);let c=Lv(o,a,r);if(i){for(let e of o)Nv(e,s,-i);Pv(c,s,-i)}return c}function Lv(e,t,n){let r=[];for(let t of e){let e=[...t];Fv(e[0],e[e.length-1])||e.push([e[0][0],e[0][1]]),e.length>2&&r.push(e)}let i=[];t=Math.max(t,.1);let a=[];for(let e of r)for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(n[1]!==r[1]){let e=Math.min(n[1],r[1]);a.push({ymin:e,ymax:Math.max(n[1],r[1]),x:e===n[1]?n[0]:r[0],islope:(r[0]-n[0])/(r[1]-n[1])})}}if(a.sort((e,t)=>e.ymin<t.ymin?-1:e.ymin>t.ymin?1:e.x<t.x?-1:e.x>t.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax)),!a.length)return i;let o=[],s=a[0].ymin,c=0;for(;o.length||a.length;){if(a.length){let e=-1;for(let t=0;t<a.length&&!(a[t].ymin>s);t++)e=t;a.splice(0,e+1).forEach(e=>{o.push({s,edge:e})})}if(o=o.filter(e=>!(e.edge.ymax<=s)),o.sort((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x)),(n!==1||c%t===0)&&o.length>1)for(let e=0;e<o.length;e+=2){let t=e+1;if(t>=o.length)break;let n=o[e].edge,r=o[t].edge;i.push([[Math.round(n.x),s],[Math.round(r.x),s]])}s+=n,o.forEach(e=>{e.edge.x=e.edge.x+n*e.edge.islope}),c++}return i}function Rv(e,t){let n=t.hachureAngle+90,r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.max(r,.1);let i=1;return t.roughness>=1&&(t.randomizer?.next()||Math.random())>.7&&(i=r),Iv(e,r,n,i||1)}var zv=class{constructor(e){this.helper=e}fillPolygons(e,t){return this._fillPolygons(e,t)}_fillPolygons(e,t){let n=Rv(e,t);return{type:`fillSketch`,ops:this.renderLines(n,t)}}renderLines(e,t){let n=[];for(let r of e)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],t));return n}};function Bv(e){let t=e[0],n=e[1];return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}var Vv=class extends zv{fillPolygons(e,t){let n=t.hachureGap;n<0&&(n=t.strokeWidth*4),n=Math.max(n,.1);let r=Rv(e,Object.assign({},t,{hachureGap:n})),i=Math.PI/180*t.hachureAngle,a=[],o=n*.5*Math.cos(i),s=n*.5*Math.sin(i);for(let[e,t]of r)Bv([e,t])&&a.push([[e[0]-o,e[1]+s],[...t]],[[e[0]+o,e[1]-s],[...t]]);return{type:`fillSketch`,ops:this.renderLines(a,t)}}},Hv=class extends zv{fillPolygons(e,t){let n=this._fillPolygons(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),i=this._fillPolygons(e,r);return n.ops=n.ops.concat(i.ops),n}},Uv=class{constructor(e){this.helper=e}fillPolygons(e,t){t=Object.assign({},t,{hachureAngle:0});let n=Rv(e,t);return this.dotsOnLines(n,t)}dotsOnLines(e,t){let n=[],r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.max(r,.1);let i=t.fillWeight;i<0&&(i=t.strokeWidth/2);let a=r/4;for(let o of e){let e=Bv(o),s=e/r,c=Math.ceil(s)-1,l=e-c*r,u=(o[0][0]+o[1][0])/2-r/4,d=Math.min(o[0][1],o[1][1]);for(let e=0;e<c;e++){let o=d+l+e*r,s=u-a+Math.random()*2*a,c=o-a+Math.random()*2*a,f=this.helper.ellipse(s,c,i,i,t);n.push(...f.ops)}}return{type:`fillSketch`,ops:n}}},Wv=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=Rv(e,t);return{type:`fillSketch`,ops:this.dashedLine(n,t)}}dashedLine(e,t){let n=t.dashOffset<0?t.hachureGap<0?t.strokeWidth*4:t.hachureGap:t.dashOffset,r=t.dashGap<0?t.hachureGap<0?t.strokeWidth*4:t.hachureGap:t.dashGap,i=[];return e.forEach(e=>{let a=Bv(e),o=Math.floor(a/(n+r)),s=(a+r-o*(n+r))/2,c=e[0],l=e[1];c[0]>l[0]&&(c=e[1],l=e[0]);let u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let e=0;e<o;e++){let a=e*(n+r),o=a+n,l=[c[0]+a*Math.cos(u)+s*Math.cos(u),c[1]+a*Math.sin(u)+s*Math.sin(u)],d=[c[0]+o*Math.cos(u)+s*Math.cos(u),c[1]+o*Math.sin(u)+s*Math.sin(u)];i.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],t))}}),i}},Gv=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=t.hachureGap<0?t.strokeWidth*4:t.hachureGap,r=t.zigzagOffset<0?n:t.zigzagOffset;t=Object.assign({},t,{hachureGap:n+r});let i=Rv(e,t);return{type:`fillSketch`,ops:this.zigzagLines(i,r,t)}}zigzagLines(e,t,n){let r=[];return e.forEach(e=>{let i=Bv(e),a=Math.round(i/(2*t)),o=e[0],s=e[1];o[0]>s[0]&&(o=e[1],s=e[0]);let c=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let e=0;e<a;e++){let i=e*2*t,a=(e+1)*2*t,s=Math.sqrt(2*t**2),l=[o[0]+i*Math.cos(c),o[1]+i*Math.sin(c)],u=[o[0]+a*Math.cos(c),o[1]+a*Math.sin(c)],d=[l[0]+s*Math.cos(c+Math.PI/4),l[1]+s*Math.sin(c+Math.PI/4)];r.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],n),...this.helper.doubleLineOps(d[0],d[1],u[0],u[1],n))}}),r}},Kv={};function qv(e,t){let n=e.fillStyle||`hachure`;if(!Kv[n])switch(n){case`zigzag`:Kv[n]||(Kv[n]=new Vv(t));break;case`cross-hatch`:Kv[n]||(Kv[n]=new Hv(t));break;case`dots`:Kv[n]||(Kv[n]=new Uv(t));break;case`dashed`:Kv[n]||(Kv[n]=new Wv(t));break;case`zigzag-line`:Kv[n]||(Kv[n]=new Gv(t));break;default:n=`hachure`,Kv[n]||(Kv[n]=new zv(t));break}return Kv[n]}function Jv(){return Math.floor(Math.random()*2**31)}var Yv=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}},Xv=0,Zv=1,Qv=2,$v={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function ey(e){let t=[];for(;e!==``;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:Xv,text:RegExp.$1},e=e.substr(RegExp.$1.length);else if(e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))t[t.length]={type:Zv,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length);else return[];return t[t.length]={type:Qv,text:``},t}function ty(e,t){return e.type===t}function ny(e){let t=[],n=ey(e),r=`BOD`,i=0,a=n[i];for(;!ty(a,Qv);){let o=0,s=[];if(r===`BOD`)if(a.text===`M`||a.text===`m`)i++,o=$v[a.text],r=a.text;else return ny(`M0,0`+e);else ty(a,Zv)?o=$v[r]:(i++,o=$v[a.text],r=a.text);if(i+o<n.length){for(let e=i;e<i+o;e++){let t=n[e];if(ty(t,Zv))s[s.length]=+t.text;else throw Error(`Param not a number: `+r+`,`+t.text)}if(typeof $v[r]==`number`){let e={key:r,data:s};t.push(e),i+=o,a=n[i],r===`M`&&(r=`L`),r===`m`&&(r=`l`)}else throw Error(`Bad segment: `+r)}else throw Error(`Path data ended short`)}return t}function ry(e){let t=0,n=0,r=0,i=0,a=[];for(let{key:o,data:s}of e)switch(o){case`M`:a.push({key:`M`,data:[...s]}),[t,n]=s,[r,i]=s;break;case`m`:t+=s[0],n+=s[1],a.push({key:`M`,data:[t,n]}),r=t,i=n;break;case`L`:a.push({key:`L`,data:[...s]}),[t,n]=s;break;case`l`:t+=s[0],n+=s[1],a.push({key:`L`,data:[t,n]});break;case`C`:a.push({key:`C`,data:[...s]}),t=s[4],n=s[5];break;case`c`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`C`,data:e}),t=e[4],n=e[5];break}case`Q`:a.push({key:`Q`,data:[...s]}),t=s[2],n=s[3];break;case`q`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`Q`,data:e}),t=e[2],n=e[3];break}case`A`:a.push({key:`A`,data:[...s]}),t=s[5],n=s[6];break;case`a`:t+=s[5],n+=s[6],a.push({key:`A`,data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case`H`:a.push({key:`H`,data:[...s]}),t=s[0];break;case`h`:t+=s[0],a.push({key:`H`,data:[t]});break;case`V`:a.push({key:`V`,data:[...s]}),n=s[0];break;case`v`:n+=s[0],a.push({key:`V`,data:[n]});break;case`S`:a.push({key:`S`,data:[...s]}),t=s[2],n=s[3];break;case`s`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`S`,data:e}),t=e[2],n=e[3];break}case`T`:a.push({key:`T`,data:[...s]}),t=s[0],n=s[1];break;case`t`:t+=s[0],n+=s[1],a.push({key:`T`,data:[t,n]});break;case`Z`:case`z`:a.push({key:`Z`,data:[]}),t=r,n=i;break}return a}function iy(e){let t=[],n=``,r=0,i=0,a=0,o=0,s=0,c=0;for(let{key:l,data:u}of e){switch(l){case`M`:t.push({key:`M`,data:[...u]}),[r,i]=u,[a,o]=u;break;case`C`:t.push({key:`C`,data:[...u]}),r=u[4],i=u[5],s=u[2],c=u[3];break;case`L`:t.push({key:`L`,data:[...u]}),[r,i]=u;break;case`H`:r=u[0],t.push({key:`L`,data:[r,i]});break;case`V`:i=u[0],t.push({key:`L`,data:[r,i]});break;case`S`:{let e=0,a=0;n===`C`||n===`S`?(e=r+(r-s),a=i+(i-c)):(e=r,a=i),t.push({key:`C`,data:[e,a,...u]}),s=u[0],c=u[1],r=u[2],i=u[3];break}case`T`:{let[e,a]=u,o=0,l=0;n===`Q`||n===`T`?(o=r+(r-s),l=i+(i-c)):(o=r,l=i);let d=r+2*(o-r)/3,f=i+2*(l-i)/3,p=e+2*(o-e)/3,m=a+2*(l-a)/3;t.push({key:`C`,data:[d,f,p,m,e,a]}),s=o,c=l,r=e,i=a;break}case`Q`:{let[e,n,a,o]=u,l=r+2*(e-r)/3,d=i+2*(n-i)/3,f=a+2*(e-a)/3,p=o+2*(n-o)/3;t.push({key:`C`,data:[l,d,f,p,a,o]}),s=e,c=n,r=a,i=o;break}case`A`:{let e=Math.abs(u[0]),n=Math.abs(u[1]),a=u[2],o=u[3],s=u[4],c=u[5],l=u[6];e===0||n===0?(t.push({key:`C`,data:[r,i,c,l,c,l]}),r=c,i=l):(r!==c||i!==l)&&(sy(r,i,c,l,e,n,a,o,s).forEach(function(e){t.push({key:`C`,data:e})}),r=c,i=l);break}case`Z`:t.push({key:`Z`,data:[]}),r=a,i=o;break}n=l}return t}function ay(e){return Math.PI*e/180}function oy(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function sy(e,t,n,r,i,a,o,s,c,l){let u=ay(o),d=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=oy(e,t,-u),[n,r]=oy(n,r,-u);let o=(e-n)/2,l=(t-r)/2,d=o*o/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i=d*i,a=d*a);let g=s===c?-1:1,_=i*i,v=a*a,y=_*v-_*l*l-v*o*o,b=_*l*l+v*o*o,x=g*Math.sqrt(Math.abs(y/b));m=x*i*l/a+(e+n)/2,h=x*-a*o/i+(t+r)/2,f=Math.asin(parseFloat(((t-h)/a).toFixed(9))),p=Math.asin(parseFloat(((r-h)/a).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(p=Math.PI-p),f<0&&(f=Math.PI*2+f),p<0&&(p=Math.PI*2+p),c&&f>p&&(f-=Math.PI*2),!c&&p>f&&(p-=Math.PI*2)}let g=p-f;if(Math.abs(g)>Math.PI*120/180){let e=p,t=n,s=r;p=c&&p>f?f+Math.PI*120/180*1:f+Math.PI*120/180*-1,n=m+i*Math.cos(p),r=h+a*Math.sin(p),d=sy(n,r,t,s,i,a,o,0,c,[p,e,m,h])}g=p-f;let _=Math.cos(f),v=Math.sin(f),y=Math.cos(p),b=Math.sin(p),x=Math.tan(g/4),S=4/3*i*x,C=4/3*a*x,w=[e,t],T=[e+S*v,t-C*_],E=[n+S*b,r-C*y],D=[n,r];if(T[0]=2*w[0]-T[0],T[1]=2*w[1]-T[1],l)return[T,E,D].concat(d);{d=[T,E,D].concat(d);let e=[];for(let t=0;t<d.length;t+=3){let n=oy(d[t][0],d[t][1],u),r=oy(d[t+1][0],d[t+1][1],u),i=oy(d[t+2][0],d[t+2][1],u);e.push([n[0],n[1],r[0],r[1],i[0],i[1]])}return e}}var cy={randOffset:Sy,randOffsetWithRange:Cy,ellipse:my,doubleLineOps:wy};function ly(e,t,n,r,i){return{type:`path`,ops:Oy(e,t,n,r,i)}}function uy(e,t,n){let r=(e||[]).length;if(r>2){let i=[];for(let t=0;t<r-1;t++)i.push(...Oy(e[t][0],e[t][1],e[t+1][0],e[t+1][1],n));return t&&i.push(...Oy(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:`path`,ops:i}}else if(r===2)return ly(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:`path`,ops:[]}}function dy(e,t){return uy(e,!0,t)}function fy(e,t,n,r,i){return dy([[e,t],[e+n,t],[e+n,t+r],[e,t+r]],i)}function py(e,t){let n=Ay(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=Ay(e,1.5*(1+t.roughness*.22),Ty(t));n=n.concat(r)}return{type:`path`,ops:n}}function my(e,t,n,r,i){return gy(e,t,i,hy(n,r,i)).opset}function hy(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt(((e/2)**2+(t/2)**2)/2)),i=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),a=Math.PI*2/i,o=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return o+=Z(o*c,n),s+=Z(s*c,n),{increment:a,rx:o,ry:s}}function gy(e,t,n,r){let[i,a]=My(r.increment,e,t,r.rx,r.ry,1,r.increment*Dy(.1,Dy(.4,1,n),n),n),o=jy(i,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[i]=My(r.increment,e,t,r.rx,r.ry,1.5,0,n),a=jy(i,null,n);o=o.concat(a)}return{estimatedPoints:a,opset:{type:`path`,ops:o}}}function _y(e,t,n,r,i,a,o,s,c){let l=e,u=t,d=Math.abs(n/2),f=Math.abs(r/2);d+=Z(d*.01,c),f+=Z(f*.01,c);let p=i,m=a;for(;p<0;)p+=Math.PI*2,m+=Math.PI*2;m-p>Math.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/c.curveStepCount,g=Math.min(h/2,(m-p)/2),_=Ny(g,l,u,d,f,p,m,1,c);if(!c.disableMultiStroke){let e=Ny(g,l,u,d,f,p,m,1.5,c);_.push(...e)}return o&&(s?_.push(...Oy(l,u,l+d*Math.cos(p),u+f*Math.sin(p),c),...Oy(l,u,l+d*Math.cos(m),u+f*Math.sin(m),c)):_.push({op:`lineTo`,data:[l,u]},{op:`lineTo`,data:[l+d*Math.cos(p),u+f*Math.sin(p)]})),{type:`path`,ops:_}}function vy(e,t){let n=iy(ry(ny(e))),r=[],i=[0,0],a=[0,0];for(let{key:e,data:o}of n)switch(e){case`M`:a=[o[0],o[1]],i=[o[0],o[1]];break;case`L`:r.push(...Oy(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]];break;case`C`:{let[e,n,i,s,c,l]=o;r.push(...Py(e,n,i,s,c,l,a,t)),a=[c,l];break}case`Z`:r.push(...Oy(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]];break}return{type:`path`,ops:r}}function yy(e,t){let n=[];for(let r of e)if(r.length){let e=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:`move`,data:[r[0][0]+Z(e,t),r[0][1]+Z(e,t)]});for(let a=1;a<i;a++)n.push({op:`lineTo`,data:[r[a][0]+Z(e,t),r[a][1]+Z(e,t)]})}}return{type:`fillPath`,ops:n}}function by(e,t){return qv(t,cy).fillPolygons(e,t)}function xy(e,t,n,r,i,a,o){let s=e,c=t,l=Math.abs(n/2),u=Math.abs(r/2);l+=Z(l*.01,o),u+=Z(u*.01,o);let d=i,f=a;for(;d<0;)d+=Math.PI*2,f+=Math.PI*2;f-d>Math.PI*2&&(d=0,f=Math.PI*2);let p=(f-d)/o.curveStepCount,m=[];for(let e=d;e<=f;e+=p)m.push([s+l*Math.cos(e),c+u*Math.sin(e)]);return m.push([s+l*Math.cos(f),c+u*Math.sin(f)]),m.push([s,c]),by([m],o)}function Sy(e,t){return Z(e,t)}function Cy(e,t,n){return Dy(e,t,n)}function wy(e,t,n,r,i){return Oy(e,t,n,r,i,!0)}function Ty(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function Ey(e){return e.randomizer||=new Yv(e.seed||0),e.randomizer.next()}function Dy(e,t,n,r=1){return n.roughness*r*(Ey(n)*(t-e)+e)}function Z(e,t,n=1){return Dy(-e,e,t,n)}function Oy(e,t,n,r,i,a=!1){let o=a?i.disableMultiStrokeFill:i.disableMultiStroke,s=ky(e,t,n,r,i,!0,!1);if(o)return s;let c=ky(e,t,n,r,i,!0,!0);return s.concat(c)}function ky(e,t,n,r,i,a,o){let s=(e-n)**2+(t-r)**2,c=Math.sqrt(s),l=1;l=c<200?1:c>500?.4:-.0016668*c+1.233334;let u=i.maxRandomnessOffset||0;u*u*100>s&&(u=c/10);let d=u/2,f=.2+Ey(i)*.2,p=i.bowing*i.maxRandomnessOffset*(r-t)/200,m=i.bowing*i.maxRandomnessOffset*(e-n)/200;p=Z(p,i,l),m=Z(m,i,l);let h=[],g=()=>Z(d,i,l),_=()=>Z(u,i,l),v=i.preserveVertices;return a&&(o?h.push({op:`move`,data:[e+(v?0:g()),t+(v?0:g())]}):h.push({op:`move`,data:[e+(v?0:Z(u,i,l)),t+(v?0:Z(u,i,l))]})),o?h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+g(),m+t+(r-t)*f+g(),p+e+2*(n-e)*f+g(),m+t+2*(r-t)*f+g(),n+(v?0:g()),r+(v?0:g())]}):h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+_(),m+t+(r-t)*f+_(),p+e+2*(n-e)*f+_(),m+t+2*(r-t)*f+_(),n+(v?0:_()),r+(v?0:_())]}),h}function Ay(e,t,n){let r=[];r.push([e[0][0]+Z(t,n),e[0][1]+Z(t,n)]),r.push([e[0][0]+Z(t,n),e[0][1]+Z(t,n)]);for(let i=1;i<e.length;i++)r.push([e[i][0]+Z(t,n),e[i][1]+Z(t,n)]),i===e.length-1&&r.push([e[i][0]+Z(t,n),e[i][1]+Z(t,n)]);return jy(r,null,n)}function jy(e,t,n){let r=e.length,i=[];if(r>3){let a=[],o=1-n.curveTightness;i.push({op:`move`,data:[e[1][0],e[1][1]]});for(let t=1;t+2<r;t++){let n=e[t];a[0]=[n[0],n[1]],a[1]=[n[0]+(o*e[t+1][0]-o*e[t-1][0])/6,n[1]+(o*e[t+1][1]-o*e[t-1][1])/6],a[2]=[e[t+1][0]+(o*e[t][0]-o*e[t+2][0])/6,e[t+1][1]+(o*e[t][1]-o*e[t+2][1])/6],a[3]=[e[t+1][0],e[t+1][1]],i.push({op:`bcurveTo`,data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(t&&t.length===2){let e=n.maxRandomnessOffset;i.push({op:`lineTo`,data:[t[0]+Z(e,n),t[1]+Z(e,n)]})}}else r===3?(i.push({op:`move`,data:[e[1][0],e[1][1]]}),i.push({op:`bcurveTo`,data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&i.push(...Oy(e[0][0],e[0][1],e[1][0],e[1][1],n));return i}function My(e,t,n,r,i,a,o,s){let c=s.roughness===0,l=[],u=[];if(c){e/=4,u.push([t+r*Math.cos(-e),n+i*Math.sin(-e)]);for(let a=0;a<=Math.PI*2;a+=e){let e=[t+r*Math.cos(a),n+i*Math.sin(a)];l.push(e),u.push(e)}u.push([t+r*Math.cos(0),n+i*Math.sin(0)]),u.push([t+r*Math.cos(e),n+i*Math.sin(e)])}else{let c=Z(.5,s)-Math.PI/2;u.push([Z(a,s)+t+.9*r*Math.cos(c-e),Z(a,s)+n+.9*i*Math.sin(c-e)]);let d=Math.PI*2+c-.01;for(let o=c;o<d;o+=e){let e=[Z(a,s)+t+r*Math.cos(o),Z(a,s)+n+i*Math.sin(o)];l.push(e),u.push(e)}u.push([Z(a,s)+t+r*Math.cos(c+Math.PI*2+o*.5),Z(a,s)+n+i*Math.sin(c+Math.PI*2+o*.5)]),u.push([Z(a,s)+t+.98*r*Math.cos(c+o),Z(a,s)+n+.98*i*Math.sin(c+o)]),u.push([Z(a,s)+t+.9*r*Math.cos(c+o*.5),Z(a,s)+n+.9*i*Math.sin(c+o*.5)])}return[u,l]}function Ny(e,t,n,r,i,a,o,s,c){let l=a+Z(.1,c),u=[];u.push([Z(s,c)+t+.9*r*Math.cos(l-e),Z(s,c)+n+.9*i*Math.sin(l-e)]);for(let a=l;a<=o;a+=e)u.push([Z(s,c)+t+r*Math.cos(a),Z(s,c)+n+i*Math.sin(a)]);return u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),jy(u,null,c)}function Py(e,t,n,r,i,a,o,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],u=[0,0],d=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<d;p++)p===0?c.push({op:`move`,data:[o[0],o[1]]}):c.push({op:`move`,data:[o[0]+(f?0:Z(l[0],s)),o[1]+(f?0:Z(l[0],s))]}),u=f?[i,a]:[i+Z(l[p],s),a+Z(l[p],s)],c.push({op:`bcurveTo`,data:[e+Z(l[p],s),t+Z(l[p],s),n+Z(l[p],s),r+Z(l[p],s),u[0],u[1]]});return c}function Fy(e){return[...e]}function Iy(e,t=0){let n=e.length;if(n<3)throw Error(`A curve must have at least three points.`);let r=[];if(n===3)r.push(Fy(e[0]),Fy(e[1]),Fy(e[2]),Fy(e[2]));else{let n=[];n.push(e[0],e[0]);for(let t=1;t<e.length;t++)n.push(e[t]),t===e.length-1&&n.push(e[t]);let i=[],a=1-t;r.push(Fy(n[0]));for(let e=1;e+2<n.length;e++){let t=n[e];i[0]=[t[0],t[1]],i[1]=[t[0]+(a*n[e+1][0]-a*n[e-1][0])/6,t[1]+(a*n[e+1][1]-a*n[e-1][1])/6],i[2]=[n[e+1][0]+(a*n[e][0]-a*n[e+2][0])/6,n[e+1][1]+(a*n[e][1]-a*n[e+2][1])/6],i[3]=[n[e+1][0],n[e+1][1]],r.push(i[1],i[2],i[3])}}return r}function Ly(e,t){return Math.sqrt(Ry(e,t))}function Ry(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2}function zy(e,t,n){let r=Ry(t,n);if(r===0)return Ry(e,t);let i=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return i=Math.max(0,Math.min(1,i)),Ry(e,By(t,n,i))}function By(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Vy(e,t){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3],o=3*r[0]-2*n[0]-a[0];o*=o;let s=3*r[1]-2*n[1]-a[1];s*=s;let c=3*i[0]-2*a[0]-n[0];c*=c;let l=3*i[1]-2*a[1]-n[1];return l*=l,o<c&&(o=c),s<l&&(s=l),o+s}function Hy(e,t,n,r){let i=r||[];if(Vy(e,t)<n){let n=e[t+0];i.length?Ly(i[i.length-1],n)>1&&i.push(n):i.push(n),i.push(e[t+3])}else{let r=.5,a=e[t+0],o=e[t+1],s=e[t+2],c=e[t+3],l=By(a,o,r),u=By(o,s,r),d=By(s,c,r),f=By(l,u,r),p=By(u,d,r),m=By(f,p,r);Hy([a,l,f,m],0,n,i),Hy([m,p,d,c],0,n,i)}return i}function Uy(e,t,n,r,i){let a=i||[],o=e[t],s=e[n-1],c=0,l=1;for(let r=t+1;r<n-1;++r){let t=zy(e[r],o,s);t>c&&(c=t,l=r)}return Math.sqrt(c)>r?(Uy(e,t,l+1,r,a),Uy(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function Wy(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n<i;n++)Hy(e,n*3,t,r);return n&&n>0?Uy(r,0,r.length,n):r}function Gy(e,t){return Math.sqrt(Ky(e,t))}function Ky(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2}function qy(e,t,n){let r=Ky(t,n);if(r===0)return Ky(e,t);let i=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return i=Math.max(0,Math.min(1,i)),Ky(e,Jy(t,n,i))}function Jy(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Yy(e,t){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3],o=3*r[0]-2*n[0]-a[0];o*=o;let s=3*r[1]-2*n[1]-a[1];s*=s;let c=3*i[0]-2*a[0]-n[0];c*=c;let l=3*i[1]-2*a[1]-n[1];return l*=l,o<c&&(o=c),s<l&&(s=l),o+s}function Xy(e,t,n,r){let i=r||[];if(Yy(e,t)<n){let n=e[t+0];i.length?Gy(i[i.length-1],n)>1&&i.push(n):i.push(n),i.push(e[t+3])}else{let r=.5,a=e[t+0],o=e[t+1],s=e[t+2],c=e[t+3],l=Jy(a,o,r),u=Jy(o,s,r),d=Jy(s,c,r),f=Jy(l,u,r),p=Jy(u,d,r),m=Jy(f,p,r);Xy([a,l,f,m],0,n,i),Xy([m,p,d,c],0,n,i)}return i}function Zy(e,t){return Qy(e,0,e.length,t)}function Qy(e,t,n,r,i){let a=i||[],o=e[t],s=e[n-1],c=0,l=1;for(let r=t+1;r<n-1;++r){let t=qy(e[r],o,s);t>c&&(c=t,l=r)}return Math.sqrt(c)>r?(Qy(e,t,l+1,r,a),Qy(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function $y(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n<i;n++)Xy(e,n*3,t,r);return n&&n>0?Qy(r,0,r.length,n):r}function eb(e,t,n){let r=iy(ry(ny(e))),i=[],a=[],o=[0,0],s=[],c=()=>{s.length>=4&&a.push(...$y(s,t)),s=[]},l=()=>{c(),a.length&&(i.push(a),a=[])};for(let{key:e,data:t}of r)switch(e){case`M`:l(),o=[t[0],t[1]],a.push(o);break;case`L`:c(),a.push([t[0],t[1]]);break;case`C`:if(!s.length){let e=a.length?a[a.length-1]:o;s.push([e[0],e[1]])}s.push([t[0],t[1]]),s.push([t[2],t[3]]),s.push([t[4],t[5]]);break;case`Z`:c(),a.push([o[0],o[1]]);break}if(l(),!n)return i;let u=[];for(let e of i){let t=Zy(e,n);t.length&&u.push(t)}return u}var tb=`none`,nb=class{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:`#000`,strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:`hachure`,fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Jv()}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,t,n){return{shape:e,sets:t||[],options:n||this.defaultOptions}}line(e,t,n,r,i){let a=this._o(i);return this._d(`line`,[ly(e,t,n,r,a)],a)}rectangle(e,t,n,r,i){let a=this._o(i),o=[],s=fy(e,t,n,r,a);if(a.fill){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];a.fillStyle===`solid`?o.push(yy([i],a)):o.push(by([i],a))}return a.stroke!==tb&&o.push(s),this._d(`rectangle`,o,a)}ellipse(e,t,n,r,i){let a=this._o(i),o=[],s=hy(n,r,a),c=gy(e,t,a,s);if(a.fill)if(a.fillStyle===`solid`){let n=gy(e,t,a,s).opset;n.type=`fillPath`,o.push(n)}else o.push(by([c.estimatedPoints],a));return a.stroke!==tb&&o.push(c.opset),this._d(`ellipse`,o,a)}circle(e,t,n,r){let i=this.ellipse(e,t,n,n,r);return i.shape=`circle`,i}linearPath(e,t){let n=this._o(t);return this._d(`linearPath`,[uy(e,!1,n)],n)}arc(e,t,n,r,i,a,o=!1,s){let c=this._o(s),l=[],u=_y(e,t,n,r,i,a,o,!0,c);if(o&&c.fill)if(c.fillStyle===`solid`){let o=Object.assign({},c);o.disableMultiStroke=!0;let s=_y(e,t,n,r,i,a,!0,!1,o);s.type=`fillPath`,l.push(s)}else l.push(xy(e,t,n,r,i,a,c));return c.stroke!==tb&&l.push(u),this._d(`arc`,l,c)}curve(e,t){let n=this._o(t),r=[],i=py(e,n);if(n.fill&&n.fill!==tb&&e.length>=3)if(n.fillStyle===`solid`){let t=py(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else{let t=Wy(Iy(e),10,(1+n.roughness)/2);r.push(by([t],n))}return n.stroke!==tb&&r.push(i),this._d(`curve`,r,n)}polygon(e,t){let n=this._o(t),r=[],i=uy(e,!0,n);return n.fill&&(n.fillStyle===`solid`?r.push(yy([e],n)):r.push(by([e],n))),n.stroke!==tb&&r.push(i),this._d(`polygon`,r,n)}path(e,t){let n=this._o(t),r=[];if(!e)return this._d(`path`,r,n);e=(e||``).replace(/\n/g,` `).replace(/(-\s)/g,`-`).replace(`/(ss)/g`,` `);let i=n.fill&&n.fill!==`transparent`&&n.fill!==tb,a=n.stroke!==tb,o=!!(n.simplification&&n.simplification<1),s=o?4-4*(n.simplification||1):(1+n.roughness)/2,c=eb(e,1,s),l=vy(e,n);if(i)if(n.fillStyle===`solid`)if(c.length===1){let t=vy(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else r.push(yy(c,n));else r.push(by(c,n));return a&&(o?c.forEach(e=>{r.push(uy(e,!1,n))}):r.push(l)),this._d(`path`,r,n)}opsToPath(e,t){let n=``;for(let r of e.ops){let e=typeof t==`number`&&t>=0?r.data.map(e=>+e.toFixed(t)):r.data;switch(r.op){case`move`:n+=`M${e[0]} ${e[1]} `;break;case`bcurveTo`:n+=`C${e[0]} ${e[1]}, ${e[2]} ${e[3]}, ${e[4]} ${e[5]} `;break;case`lineTo`:n+=`L${e[0]} ${e[1]} `;break}}return n.trim()}toPaths(e){let t=e.sets||[],n=e.options||this.defaultOptions,r=[];for(let e of t){let t=null;switch(e.type){case`path`:t={d:this.opsToPath(e),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:tb};break;case`fillPath`:t={d:this.opsToPath(e),stroke:tb,strokeWidth:0,fill:n.fill||tb};break;case`fillSketch`:t=this.fillSketch(e,n);break}t&&r.push(t)}return r}fillSketch(e,t){let n=t.fillWeight;return n<0&&(n=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||tb,strokeWidth:n,fill:tb}}_mergedShape(e){return e.filter((e,t)=>t===0?!0:e.op!==`move`)}},rb=class{constructor(e,t){this.canvas=e,this.ctx=this.canvas.getContext(`2d`),this.gen=new nb(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.ctx,i=e.options.fixedDecimalPlaceDigits;for(let a of t)switch(a.type){case`path`:r.save(),r.strokeStyle=n.stroke===`none`?`transparent`:n.stroke,r.lineWidth=n.strokeWidth,n.strokeLineDash&&r.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(r.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(r,a,i),r.restore();break;case`fillPath`:{r.save(),r.fillStyle=n.fill||``;let t=e.shape===`curve`||e.shape===`polygon`||e.shape===`path`?`evenodd`:`nonzero`;this._drawToContext(r,a,i,t),r.restore();break}case`fillSketch`:this.fillSketch(r,a,n);break}}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||``,e.lineWidth=r,this._drawToContext(e,t,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,t,n,r=`nonzero`){e.beginPath();for(let r of t.ops){let t=typeof n==`number`&&n>=0?r.data.map(e=>+e.toFixed(n)):r.data;switch(r.op){case`move`:e.moveTo(t[0],t[1]);break;case`bcurveTo`:e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);break;case`lineTo`:e.lineTo(t[0],t[1]);break}}t.type===`fillPath`?e.fill(r):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a),a}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a),a}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a),a}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i),i}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n),n}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n),n}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c),c}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n),n}path(e,t){let n=this.gen.path(e,t);return this.draw(n),n}},ib=`http://www.w3.org/2000/svg`,ab=class{constructor(e,t){this.svg=e,this.gen=new nb(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,i=r.createElementNS(ib,`g`),a=e.options.fixedDecimalPlaceDigits;for(let o of t){let t=null;switch(o.type){case`path`:t=r.createElementNS(ib,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,n.stroke),t.setAttribute(`stroke-width`,n.strokeWidth+``),t.setAttribute(`fill`,`none`),n.strokeLineDash&&t.setAttribute(`stroke-dasharray`,n.strokeLineDash.join(` `).trim()),n.strokeLineDashOffset&&t.setAttribute(`stroke-dashoffset`,`${n.strokeLineDashOffset}`);break;case`fillPath`:t=r.createElementNS(ib,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,`none`),t.setAttribute(`stroke-width`,`0`),t.setAttribute(`fill`,n.fill||``),(e.shape===`curve`||e.shape===`polygon`)&&t.setAttribute(`fill-rule`,`evenodd`);break;case`fillSketch`:t=this.fillSketch(r,o,n);break}t&&i.appendChild(t)}return i}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);let i=e.createElementNS(ib,`path`);return i.setAttribute(`d`,this.opsToPath(t,n.fixedDecimalPlaceDigits)),i.setAttribute(`stroke`,n.fill||``),i.setAttribute(`stroke-width`,r+``),i.setAttribute(`fill`,`none`),n.fillLineDash&&i.setAttribute(`stroke-dasharray`,n.fillLineDash.join(` `).trim()),n.fillLineDashOffset&&i.setAttribute(`stroke-dashoffset`,`${n.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,t){return this.gen.opsToPath(e,t)}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a)}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a)}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a)}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i)}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n)}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n)}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c)}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n)}path(e,t){let n=this.gen.path(e,t);return this.draw(n)}},ob={canvas(e,t){return new rb(e,t)},svg(e,t){return new ab(e,t)},generator(e){return new nb(e)},newSeed(){return nb.newSeed()}},sb=4,cb=0,lb=1,ub=2;function db(e){let t=e.length;for(;--t>=0;)e[t]=0}var fb=0,pb=1,mb=2,hb=3,gb=258,_b=29,vb=256,yb=vb+1+_b,bb=30,xb=19,Sb=2*yb+1,Cb=15,wb=16,Tb=7,Eb=256,Db=16,Ob=17,kb=18,Ab=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),jb=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Mb=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Nb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pb=512,Fb=Array((yb+2)*2);db(Fb);var Ib=Array(bb*2);db(Ib);var Lb=Array(Pb);db(Lb);var Rb=Array(gb-hb+1);db(Rb);var zb=Array(_b);db(zb);var Bb=Array(bb);db(Bb);function Vb(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var Hb,Ub,Wb;function Gb(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var Kb=e=>e<256?Lb[e]:Lb[256+(e>>>7)],qb=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Jb=(e,t,n)=>{e.bi_valid>wb-n?(e.bi_buf|=t<<e.bi_valid&65535,qb(e,e.bi_buf),e.bi_buf=t>>wb-e.bi_valid,e.bi_valid+=n-wb):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},Yb=(e,t,n)=>{Jb(e,n[t*2],n[t*2+1])},Xb=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Zb=e=>{e.bi_valid===16?(qb(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Qb=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=Cb;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<Sb;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},$b=(e,t,n)=>{let r=Array(Cb+1),i=0,a,o;for(a=1;a<=Cb;a++)r[a]=i=i+n[a-1]<<1;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=Xb(r[t]++,t))}},ex=()=>{let e,t,n,r,i,a=Array(Cb+1);for(n=0,r=0;r<_b-1;r++)for(zb[r]=n,e=0;e<1<<Ab[r];e++)Rb[n++]=r;for(Rb[n-1]=r,i=0,r=0;r<16;r++)for(Bb[r]=i,e=0;e<1<<jb[r];e++)Lb[i++]=r;for(i>>=7;r<bb;r++)for(Bb[r]=i<<7,e=0;e<1<<jb[r]-7;e++)Lb[256+ i++]=r;for(t=0;t<=Cb;t++)a[t]=0;for(e=0;e<=143;)Fb[e*2+1]=8,e++,a[8]++;for(;e<=255;)Fb[e*2+1]=9,e++,a[9]++;for(;e<=279;)Fb[e*2+1]=7,e++,a[7]++;for(;e<=287;)Fb[e*2+1]=8,e++,a[8]++;for($b(Fb,yb+1,a),e=0;e<bb;e++)Ib[e*2+1]=5,Ib[e*2]=Xb(e,5);Hb=new Vb(Fb,Ab,vb+1,yb,Cb),Ub=new Vb(Ib,jb,0,bb,Cb),Wb=new Vb([],Mb,0,xb,Tb)},tx=e=>{let t;for(t=0;t<yb;t++)e.dyn_ltree[t*2]=0;for(t=0;t<bb;t++)e.dyn_dtree[t*2]=0;for(t=0;t<xb;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Eb*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},nx=e=>{e.bi_valid>8?qb(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},rx=(e,t,n,r)=>{nx(e),r&&(qb(e,n),qb(e,~n)),e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},ix=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},ax=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&ix(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!ix(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},ox=(e,t,n)=>{let r,i,a=0,o,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,r===0?Yb(e,i,t):(o=Rb[i],Yb(e,o+vb+1,t),s=Ab[o],s!==0&&(i-=zb[o],Jb(e,i,s)),r--,o=Kb(r),Yb(e,o,n),s=jb[o],s!==0&&(r-=Bb[o],Jb(e,r,s)));while(a<e.last_lit);Yb(e,Eb,t)},sx=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=Sb,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)ax(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ax(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,ax(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Qb(e,t),$b(n,c,e.bl_count)},cx=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[Ob*2]++:e.bl_tree[kb*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[Db*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},lx=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do Yb(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(Yb(e,Ob,e.bl_tree),Jb(e,s-3,3)):(Yb(e,kb,e.bl_tree),Jb(e,s-11,7)):(a!==i&&(Yb(e,a,e.bl_tree),s--),Yb(e,Db,e.bl_tree),Jb(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},ux=e=>{let t;for(cx(e,e.dyn_ltree,e.l_desc.max_code),cx(e,e.dyn_dtree,e.d_desc.max_code),sx(e,e.bl_desc),t=xb-1;t>=3&&e.bl_tree[Nb[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},dx=(e,t,n,r)=>{let i;for(Jb(e,t-257,5),Jb(e,n-1,5),Jb(e,r-4,4),i=0;i<r;i++)Jb(e,e.bl_tree[Nb[i]*2+1],3);lx(e,e.dyn_ltree,t-1),lx(e,e.dyn_dtree,n-1)},fx=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return cb;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return lb;for(n=32;n<vb;n++)if(e.dyn_ltree[n*2]!==0)return lb;return cb},px=!1,mx=e=>{px||=(ex(),!0),e.l_desc=new Gb(e.dyn_ltree,Hb),e.d_desc=new Gb(e.dyn_dtree,Ub),e.bl_desc=new Gb(e.bl_tree,Wb),e.bi_buf=0,e.bi_valid=0,tx(e)},hx=(e,t,n,r)=>{Jb(e,(fb<<1)+(r?1:0),3),rx(e,t,n,!0)},gx={_tr_init:mx,_tr_stored_block:hx,_tr_flush_block:(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===ub&&(e.strm.data_type=fx(e)),sx(e,e.l_desc),sx(e,e.d_desc),o=ux(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?hx(e,t,n,r):e.strategy===sb||a===i?(Jb(e,(pb<<1)+(r?1:0),3),ox(e,Fb,Ib)):(Jb(e,(mb<<1)+(r?1:0),3),dx(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),ox(e,e.dyn_ltree,e.dyn_dtree)),tx(e),r&&nx(e)},_tr_tally:(e,t,n)=>(e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(Rb[n]+vb+1)*2]++,e.dyn_dtree[Kb(t)*2]++),e.last_lit===e.lit_bufsize-1),_tr_align:e=>{Jb(e,pb<<1,3),Yb(e,Eb,Fb),Zb(e)}},_x=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},vx=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})()),yx=(e,t,n,r)=>{let i=vx,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},bx={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},xx={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:Sx,_tr_stored_block:Cx,_tr_flush_block:wx,_tr_tally:Tx,_tr_align:Ex}=gx,{Z_NO_FLUSH:Dx,Z_PARTIAL_FLUSH:Ox,Z_FULL_FLUSH:kx,Z_FINISH:Ax,Z_BLOCK:jx,Z_OK:Mx,Z_STREAM_END:Nx,Z_STREAM_ERROR:Px,Z_DATA_ERROR:Fx,Z_BUF_ERROR:Ix,Z_DEFAULT_COMPRESSION:Lx,Z_FILTERED:Rx,Z_HUFFMAN_ONLY:zx,Z_RLE:Bx,Z_FIXED:Vx,Z_DEFAULT_STRATEGY:Hx,Z_UNKNOWN:Ux,Z_DEFLATED:Wx}=xx,Gx=9,Kx=15,qx=8,Jx=286,Yx=30,Xx=19,Zx=2*Jx+1,Qx=15,Q=3,$x=258,eS=$x+Q+1,tS=32,nS=42,rS=69,iS=73,aS=91,oS=103,sS=113,cS=666,lS=1,uS=2,dS=3,fS=4,pS=3,mS=(e,t)=>(e.msg=bx[t],t),hS=e=>(e<<1)-(e>4?9:0),gS=e=>{let t=e.length;for(;--t>=0;)e[t]=0},_S=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,vS=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},yS=(e,t)=>{wx(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,vS(e.strm)},$=(e,t)=>{e.pending_buf[e.pending++]=t},bS=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},xS=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=_x(e.adler,t,i,n):e.state.wrap===2&&(e.adler=yx(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},SS=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-eS?e.strstart-(e.w_size-eS):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+$x,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=$x-(f-r),r=f-$x,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},CS=e=>{let t=e.w_size,n,r,i,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-eS)){e.window.set(e.window.subarray(t,t+t),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,r=e.hash_size,n=r;do i=e.head[--n],e.head[n]=i>=t?i-t:0;while(--r);r=t,n=r;do i=e.prev[--n],e.prev[n]=i>=t?i-t:0;while(--r);a+=t}if(e.strm.avail_in===0)break;if(r=xS(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=r,e.lookahead+e.insert>=Q)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=_S(e,e.ins_h,e.window[o+1]);e.insert&&(e.ins_h=_S(e,e.ins_h,e.window[o+Q-1]),e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<Q)););}while(e.lookahead<eS&&e.strm.avail_in!==0)},wS=(e,t)=>{let n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(CS(e),e.lookahead===0&&t===Dx)return lS;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;let r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,yS(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-eS&&(yS(e,!1),e.strm.avail_out===0))return lS}return e.insert=0,t===Ax?(yS(e,!0),e.strm.avail_out===0?dS:fS):(e.strstart>e.block_start&&(yS(e,!1),e.strm.avail_out),lS)},TS=(e,t)=>{let n,r;for(;;){if(e.lookahead<eS){if(CS(e),e.lookahead<eS&&t===Dx)return lS;if(e.lookahead===0)break}if(n=0,e.lookahead>=Q&&(e.ins_h=_S(e,e.ins_h,e.window[e.strstart+Q-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-eS&&(e.match_length=SS(e,n)),e.match_length>=Q)if(r=Tx(e,e.strstart-e.match_start,e.match_length-Q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Q){e.match_length--;do e.strstart++,e.ins_h=_S(e,e.ins_h,e.window[e.strstart+Q-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=_S(e,e.ins_h,e.window[e.strstart+1]);else r=Tx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(yS(e,!1),e.strm.avail_out===0))return lS}return e.insert=e.strstart<Q-1?e.strstart:Q-1,t===Ax?(yS(e,!0),e.strm.avail_out===0?dS:fS):e.last_lit&&(yS(e,!1),e.strm.avail_out===0)?lS:uS},ES=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<eS){if(CS(e),e.lookahead<eS&&t===Dx)return lS;if(e.lookahead===0)break}if(n=0,e.lookahead>=Q&&(e.ins_h=_S(e,e.ins_h,e.window[e.strstart+Q-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Q-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-eS&&(e.match_length=SS(e,n),e.match_length<=5&&(e.strategy===Rx||e.match_length===Q&&e.strstart-e.match_start>4096)&&(e.match_length=Q-1)),e.prev_length>=Q&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-Q,r=Tx(e,e.strstart-1-e.prev_match,e.prev_length-Q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=_S(e,e.ins_h,e.window[e.strstart+Q-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Q-1,e.strstart++,r&&(yS(e,!1),e.strm.avail_out===0))return lS}else if(e.match_available){if(r=Tx(e,0,e.window[e.strstart-1]),r&&yS(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return lS}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(r=Tx(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<Q-1?e.strstart:Q-1,t===Ax?(yS(e,!0),e.strm.avail_out===0?dS:fS):e.last_lit&&(yS(e,!1),e.strm.avail_out===0)?lS:uS},DS=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=$x){if(CS(e),e.lookahead<=$x&&t===Dx)return lS;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Q&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+$x;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=$x-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Q?(n=Tx(e,1,e.match_length-Q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Tx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(yS(e,!1),e.strm.avail_out===0))return lS}return e.insert=0,t===Ax?(yS(e,!0),e.strm.avail_out===0?dS:fS):e.last_lit&&(yS(e,!1),e.strm.avail_out===0)?lS:uS},OS=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(CS(e),e.lookahead===0)){if(t===Dx)return lS;break}if(e.match_length=0,n=Tx(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(yS(e,!1),e.strm.avail_out===0))return lS}return e.insert=0,t===Ax?(yS(e,!0),e.strm.avail_out===0?dS:fS):e.last_lit&&(yS(e,!1),e.strm.avail_out===0)?lS:uS};function kS(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var AS=[new kS(0,0,0,0,wS),new kS(4,4,8,4,TS),new kS(4,5,16,8,TS),new kS(4,6,32,32,TS),new kS(4,4,16,16,ES),new kS(8,16,32,32,ES),new kS(8,16,128,128,ES),new kS(8,32,128,256,ES),new kS(32,128,258,1024,ES),new kS(32,258,258,4096,ES)],jS=e=>{e.window_size=2*e.w_size,gS(e.head),e.max_lazy_match=AS[e.level].max_lazy,e.good_match=AS[e.level].good_length,e.nice_match=AS[e.level].nice_length,e.max_chain_length=AS[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Q-1,e.match_available=0,e.ins_h=0};function MS(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Wx,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Zx*2),this.dyn_dtree=new Uint16Array((2*Yx+1)*2),this.bl_tree=new Uint16Array((2*Xx+1)*2),gS(this.dyn_ltree),gS(this.dyn_dtree),gS(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Qx+1),this.heap=new Uint16Array(2*Jx+1),gS(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Jx+1),gS(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var NS=e=>{if(!e||!e.state)return mS(e,Px);e.total_in=e.total_out=0,e.data_type=Ux;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?nS:sS,e.adler=t.wrap===2?0:1,t.last_flush=Dx,Sx(t),Mx},PS=e=>{let t=NS(e);return t===Mx&&jS(e.state),t},FS=(e,t)=>!e||!e.state||e.state.wrap!==2?Px:(e.state.gzhead=t,Mx),IS=(e,t,n,r,i,a)=>{if(!e)return Px;let o=1;if(t===Lx&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>Gx||n!==Wx||r<8||r>15||t<0||t>9||a<0||a>Vx)return mS(e,Px);r===8&&(r=9);let s=new MS;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Q-1)/Q),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=n,PS(e)},LS={deflateInit:(e,t)=>IS(e,t,Wx,Kx,qx,Hx),deflateInit2:IS,deflateReset:PS,deflateResetKeep:NS,deflateSetHeader:FS,deflate:(e,t)=>{let n,r;if(!e||!e.state||t>jx||t<0)return e?mS(e,Px):Px;let i=e.state;if(!e.output||!e.input&&e.avail_in!==0||i.status===cS&&t!==Ax)return mS(e,e.avail_out===0?Ix:Px);i.strm=e;let a=i.last_flush;if(i.last_flush=t,i.status===nS)if(i.wrap===2)e.adler=0,$(i,31),$(i,139),$(i,8),i.gzhead?($(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),$(i,i.gzhead.time&255),$(i,i.gzhead.time>>8&255),$(i,i.gzhead.time>>16&255),$(i,i.gzhead.time>>24&255),$(i,i.level===9?2:i.strategy>=zx||i.level<2?4:0),$(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&($(i,i.gzhead.extra.length&255),$(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=yx(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=rS):($(i,0),$(i,0),$(i,0),$(i,0),$(i,0),$(i,i.level===9?2:i.strategy>=zx||i.level<2?4:0),$(i,pS),i.status=sS);else{let t=Wx+(i.w_bits-8<<4)<<8,n=-1;n=i.strategy>=zx||i.level<2?0:i.level<6?1:i.level===6?2:3,t|=n<<6,i.strstart!==0&&(t|=tS),t+=31-t%31,i.status=sS,bS(i,t),i.strstart!==0&&(bS(i,e.adler>>>16),bS(i,e.adler&65535)),e.adler=1}if(i.status===rS)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),vS(e),n=i.pending,i.pending===i.pending_buf_size));)$(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=iS)}else i.status=iS;if(i.status===iS)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),vS(e),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?i.gzhead.name.charCodeAt(i.gzindex++)&255:0,$(i,r)}while(r!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),r===0&&(i.gzindex=0,i.status=aS)}else i.status=aS;if(i.status===aS)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),vS(e),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?i.gzhead.comment.charCodeAt(i.gzindex++)&255:0,$(i,r)}while(r!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=yx(e.adler,i.pending_buf,i.pending-n,n)),r===0&&(i.status=oS)}else i.status=oS;if(i.status===oS&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&vS(e),i.pending+2<=i.pending_buf_size&&($(i,e.adler&255),$(i,e.adler>>8&255),e.adler=0,i.status=sS)):i.status=sS),i.pending!==0){if(vS(e),e.avail_out===0)return i.last_flush=-1,Mx}else if(e.avail_in===0&&hS(t)<=hS(a)&&t!==Ax)return mS(e,Ix);if(i.status===cS&&e.avail_in!==0)return mS(e,Ix);if(e.avail_in!==0||i.lookahead!==0||t!==Dx&&i.status!==cS){let n=i.strategy===zx?OS(i,t):i.strategy===Bx?DS(i,t):AS[i.level].func(i,t);if((n===dS||n===fS)&&(i.status=cS),n===lS||n===dS)return e.avail_out===0&&(i.last_flush=-1),Mx;if(n===uS&&(t===Ox?Ex(i):t!==jx&&(Cx(i,0,0,!1),t===kx&&(gS(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),vS(e),e.avail_out===0))return i.last_flush=-1,Mx}return t===Ax?i.wrap<=0?Nx:(i.wrap===2?($(i,e.adler&255),$(i,e.adler>>8&255),$(i,e.adler>>16&255),$(i,e.adler>>24&255),$(i,e.total_in&255),$(i,e.total_in>>8&255),$(i,e.total_in>>16&255),$(i,e.total_in>>24&255)):(bS(i,e.adler>>>16),bS(i,e.adler&65535)),vS(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending===0?Nx:Mx):Mx},deflateEnd:e=>{if(!e||!e.state)return Px;let t=e.state.status;return t!==nS&&t!==rS&&t!==iS&&t!==aS&&t!==oS&&t!==sS&&t!==cS?mS(e,Px):(e.state=null,t===sS?mS(e,Fx):Mx)},deflateSetDictionary:(e,t)=>{let n=t.length;if(!e||!e.state)return Px;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==nS||r.lookahead)return Px;if(i===1&&(e.adler=_x(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(gS(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,CS(r);r.lookahead>=Q;){let e=r.strstart,t=r.lookahead-(Q-1);do r.ins_h=_S(r,r.ins_h,r.window[e+Q-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++;while(--t);r.strstart=e,r.lookahead=Q-1,CS(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Q-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,Mx},deflateInfo:`pako deflate (from Nodeca project)`},RS=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),zS={assign:function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!=`object`)throw TypeError(n+`must be non-object`);for(let t in n)RS(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;let n=new Uint8Array(t);for(let t=0,r=0,i=e.length;t<i;t++){let i=e[t];n.set(i,r),r+=i.length}return n}},BS=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{BS=!1}var VS=new Uint8Array(256);for(let e=0;e<256;e++)VS[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;VS[254]=VS[254]=1;var HS=e=>{let t,n,r,i,a,o=e.length,s=0;for(i=0;i<o;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),a=0,i=0;a<s;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},US=(e,t)=>{if(t<65534&&e.subarray&&BS)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n},WS={string2buf:HS,buf2string:(e,t)=>{let n,r,i=t||e.length,a=Array(i*2);for(r=0,n=0;n<i;){let t=e[n++];if(t<128){a[r++]=t;continue}let o=VS[t];if(o>4){a[r++]=65533,n+=o-1;continue}for(t&=o===2?31:o===3?15:7;o>1&&n<i;)t=t<<6|e[n++]&63,o--;if(o>1){a[r++]=65533;continue}t<65536?a[r++]=t:(t-=65536,a[r++]=55296|t>>10&1023,a[r++]=56320|t&1023)}return US(a,r)},utf8border:(e,t)=>{t||=e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+VS[e[n]]>t?n:t}};function GS(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}var KS=GS,qS=Object.prototype.toString,{Z_NO_FLUSH:JS,Z_SYNC_FLUSH:YS,Z_FULL_FLUSH:XS,Z_FINISH:ZS,Z_OK:QS,Z_STREAM_END:$S,Z_DEFAULT_COMPRESSION:eC,Z_DEFAULT_STRATEGY:tC,Z_DEFLATED:nC}=xx;function rC(e){this.options=zS.assign({level:eC,method:nC,chunkSize:16384,windowBits:15,memLevel:8,strategy:tC},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new KS,this.strm.avail_out=0;let n=LS.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==QS)throw Error(bx[n]);if(t.header&&LS.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e=typeof t.dictionary==`string`?WS.string2buf(t.dictionary):qS.call(t.dictionary)===`[object ArrayBuffer]`?new Uint8Array(t.dictionary):t.dictionary,n=LS.deflateSetDictionary(this.strm,e),n!==QS)throw Error(bx[n]);this._dict_set=!0}}rC.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=t===~~t?t:t===!0?ZS:JS,typeof e==`string`?n.input=WS.string2buf(e):qS.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===YS||a===XS)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=LS.deflate(n,a),i===$S)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=LS.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===QS;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0},rC.prototype.onData=function(e){this.chunks.push(e)},rC.prototype.onEnd=function(e){e===QS&&(this.result=zS.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function iC(e,t){let n=new rC(t);if(n.push(e,!0),n.err)throw n.msg||bx[n.err];return n.result}function aC(e,t){return t||={},t.raw=!0,iC(e,t)}function oC(e,t){return t||={},t.gzip=!0,iC(e,t)}var sC={Deflate:rC,deflate:iC,deflateRaw:aC,gzip:oC,constants:xx},cC=30,lC=12,uC=function(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=cC;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=cC;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=cC;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(!(y&64)){v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}else if(y&32){E.mode=lC;break top}else{e.msg=`invalid literal/length code`,E.mode=cC;break top}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p},dC=15,fC=852,pC=592,mC=0,hC=1,gC=2,_C=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),vC=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),yC=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),bC=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),xC=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T=0,E,D=new Uint16Array(dC+1),O=new Uint16Array(dC+1),k=null,A=0,ee,te,ne;for(l=0;l<=dC;l++)D[l]=0;for(u=0;u<r;u++)D[t[n+u]]++;for(p=c,f=dC;f>=1&&D[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&D[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=dC;l++)if(g<<=1,g-=D[l],g<0)return-1;if(g>0&&(e===mC||f!==1))return-1;for(O[1]=0,l=1;l<dC;l++)O[l+1]=O[l]+D[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[O[t[n+u]]++]=u);if(e===mC?(w=k=o,E=19):e===hC?(w=_C,T-=257,k=vC,A-=257,E=256):(w=yC,k=bC,E=-1),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===hC&&_>fC||e===gC&&_>pC)return 1;for(;;){ee=l-h,o[u]<E?(te=0,ne=o[u]):o[u]>E?(te=k[A+o[u]],ne=w[T+o[u]]):(te=96,ne=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=ee<<24|te<<16|ne|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--D[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=D[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===hC&&_>fC||e===gC&&_>pC)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},SC=0,CC=1,wC=2,{Z_FINISH:TC,Z_BLOCK:EC,Z_TREES:DC,Z_OK:OC,Z_STREAM_END:kC,Z_NEED_DICT:AC,Z_STREAM_ERROR:jC,Z_DATA_ERROR:MC,Z_MEM_ERROR:NC,Z_BUF_ERROR:PC,Z_DEFLATED:FC}=xx,IC=1,LC=2,RC=3,zC=4,BC=5,VC=6,HC=7,UC=8,WC=9,GC=10,KC=11,qC=12,JC=13,YC=14,XC=15,ZC=16,QC=17,$C=18,ew=19,tw=20,nw=21,rw=22,iw=23,aw=24,ow=25,sw=26,cw=27,lw=28,uw=29,dw=30,fw=31,pw=32,mw=852,hw=592,gw=15,_w=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function vw(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var yw=e=>{if(!e||!e.state)return jC;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=IC,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(mw),t.distcode=t.distdyn=new Int32Array(hw),t.sane=1,t.back=-1,OC},bw=e=>{if(!e||!e.state)return jC;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,yw(e)},xw=(e,t)=>{let n;if(!e||!e.state)return jC;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15)?jC:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,bw(e))},Sw=(e,t)=>{if(!e)return jC;let n=new vw;e.state=n,n.window=null;let r=xw(e,t);return r!==OC&&(e.state=null),r},Cw=e=>Sw(e,gw),ww=!0,Tw,Ew,Dw=e=>{if(ww){Tw=new Int32Array(512),Ew=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(xC(CC,e.lens,0,288,Tw,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;xC(wC,e.lens,0,32,Ew,0,e.work,{bits:5}),ww=!1}e.lencode=Tw,e.lenbits=9,e.distcode=Ew,e.distbits=5},Ow=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},kw={inflateReset:bw,inflateReset2:xw,inflateResetKeep:yw,inflateInit:Cw,inflateInit2:Sw,inflate:(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return jC;n=e.state,n.mode===qC&&(n.mode=JC),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=OC;inf_leave:for(;;)switch(n.mode){case IC:if(n.wrap===0){n.mode=JC;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=yx(n.check,T,2,0),l=0,u=0,n.mode=LC;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=dw;break}if((l&15)!==FC){e.msg=`unknown compression method`,n.mode=dw;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0)n.wbits=C;else if(C>n.wbits){e.msg=`invalid window size`,n.mode=dw;break}n.dmax=1<<n.wbits,e.adler=n.check=1,n.mode=l&512?GC:qC,l=0,u=0;break;case LC:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!==FC){e.msg=`unknown compression method`,n.mode=dw;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=dw;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&(T[0]=l&255,T[1]=l>>>8&255,n.check=yx(n.check,T,2,0)),l=0,u=0,n.mode=RC;case RC:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=yx(n.check,T,4,0)),l=0,u=0,n.mode=zC;case zC:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&(T[0]=l&255,T[1]=l>>>8&255,n.check=yx(n.check,T,2,0)),l=0,u=0,n.mode=BC;case BC:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&(T[0]=l&255,T[1]=l>>>8&255,n.check=yx(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=VC;case VC:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&(n.check=yx(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=HC;case HC:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&(n.check=yx(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=UC;case UC:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&(n.check=yx(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=WC;case WC:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=dw;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=qC;break;case GC:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=_w(l),l=0,u=0,n.mode=KC;case KC:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,AC;e.adler=n.check=1,n.mode=qC;case qC:if(t===EC||t===DC)break inf_leave;case JC:if(n.last){l>>>=u&7,u-=u&7,n.mode=cw;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=YC;break;case 1:if(Dw(n),n.mode=tw,t===DC){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=QC;break;case 3:e.msg=`invalid block type`,n.mode=dw}l>>>=2,u-=2;break;case YC:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=dw;break}if(n.length=l&65535,l=0,u=0,n.mode=XC,t===DC)break inf_leave;case XC:n.mode=ZC;case ZC:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=qC;break;case QC:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=dw;break}n.have=0,n.mode=$C;case $C:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=xC(SC,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=dw;break}n.have=0,n.mode=ew;case ew:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=dw;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=dw;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===dw)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=dw;break}if(n.lenbits=9,E={bits:n.lenbits},w=xC(CC,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=dw;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=xC(wC,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=dw;break}if(n.mode=tw,t===DC)break inf_leave;case tw:n.mode=nw;case nw:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,uC(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===qC&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=sw;break}if(v&32){n.back=-1,n.mode=qC;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=dw;break}n.extra=v&15,n.mode=rw;case rw:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=iw;case iw:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=dw;break}n.offset=y,n.extra=v&15,n.mode=aw;case aw:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=dw;break}n.mode=ow;case ow:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=dw;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=nw);break;case sw:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=nw;break;case cw:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,f&&(e.adler=n.check=n.flags?yx(n.check,i,f,o-f):_x(n.check,i,f,o-f)),f=c,(n.flags?l:_w(l))!==n.check){e.msg=`incorrect data check`,n.mode=dw;break}l=0,u=0}n.mode=lw;case lw:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=dw;break}l=0,u=0}n.mode=uw;case uw:w=kC;break inf_leave;case dw:w=MC;break inf_leave;case fw:return NC;case pw:default:return jC}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<dw&&(n.mode<cw||t!==TC))&&Ow(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&&f&&(e.adler=n.check=n.flags?yx(n.check,i,f,e.next_out-f):_x(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===qC?128:0)+(n.mode===tw||n.mode===XC?256:0),(d===0&&f===0||t===TC)&&w===OC&&(w=PC),w},inflateEnd:e=>{if(!e||!e.state)return jC;let t=e.state;return t.window&&=null,e.state=null,OC},inflateGetHeader:(e,t)=>{if(!e||!e.state)return jC;let n=e.state;return n.wrap&2?(n.head=t,t.done=!1,OC):jC},inflateSetDictionary:(e,t)=>{let n=t.length,r,i,a;return!e||!e.state||(r=e.state,r.wrap!==0&&r.mode!==KC)?jC:r.mode===KC&&(i=1,i=_x(i,t,n,0),i!==r.check)?MC:(a=Ow(e,t,n,n),a?(r.mode=fw,NC):(r.havedict=1,OC))},inflateInfo:`pako inflate (from Nodeca project)`};function Aw(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}var jw=Aw,Mw=Object.prototype.toString,{Z_NO_FLUSH:Nw,Z_FINISH:Pw,Z_OK:Fw,Z_STREAM_END:Iw,Z_NEED_DICT:Lw,Z_STREAM_ERROR:Rw,Z_DATA_ERROR:zw,Z_MEM_ERROR:Bw}=xx;function Vw(e){this.options=zS.assign({chunkSize:1024*64,windowBits:15,to:``},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new KS,this.strm.avail_out=0;let n=kw.inflateInit2(this.strm,t.windowBits);if(n!==Fw||(this.header=new jw,kw.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary==`string`?t.dictionary=WS.string2buf(t.dictionary):Mw.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=kw.inflateSetDictionary(this.strm,t.dictionary),n!==Fw))))throw Error(bx[n])}Vw.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i=this.options.dictionary,a,o,s;if(this.ended)return!1;for(o=t===~~t?t:t===!0?Pw:Nw,Mw.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=kw.inflate(n,o),a===Lw&&i&&(a=kw.inflateSetDictionary(n,i),a===Fw?a=kw.inflate(n,o):a===zw&&(a=Lw));n.avail_in>0&&a===Iw&&n.state.wrap>0&&e[n.next_in]!==0;)kw.inflateReset(n),a=kw.inflate(n,o);switch(a){case Rw:case zw:case Lw:case Bw:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===Iw))if(this.options.to===`string`){let e=WS.utf8border(n.output,n.next_out),t=n.next_out-e,i=WS.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Fw&&s===0)){if(a===Iw)return a=kw.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},Vw.prototype.onData=function(e){this.chunks.push(e)},Vw.prototype.onEnd=function(e){e===Fw&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=zS.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Hw(e,t){let n=new Vw(t);if(n.push(e),n.err)throw n.msg||bx[n.err];return n.result}function Uw(e,t){return t||={},t.raw=!0,Hw(e,t)}var Ww={Inflate:Vw,inflate:Hw,inflateRaw:Uw,ungzip:Hw,constants:xx},{Deflate:Gw,deflate:Kw,deflateRaw:qw,gzip:Jw}=sC,{Inflate:Yw,inflate:Xw,inflateRaw:Zw,ungzip:Qw}=Ww,$w=Kw,eT=Xw,tT=(()=>{if(typeof self>`u`)return!1;if(`top`in self&&self!==top)try{top.window.document._=0}catch{return!1}return`showOpenFilePicker`in self})(),nT=tT?Promise.resolve().then(function(){return sT}):Promise.resolve().then(function(){return fT});async function rT(...e){return(await nT).default(...e)}tT?Promise.resolve().then(function(){return uT}):Promise.resolve().then(function(){return pT});var iT=tT?Promise.resolve().then(function(){return dT}):Promise.resolve().then(function(){return mT});async function aT(...e){return(await iT).default(...e)}var oT=async e=>{let t=await e.getFile();return t.handle=e,t},sT={__proto__:null,default:async(e=[{}])=>{Array.isArray(e)||(e=[e]);let t=[];e.forEach((e,n)=>{t[n]={description:e.description||`Files`,accept:{}},e.mimeTypes?e.mimeTypes.map(r=>{t[n].accept[r]=e.extensions||[]}):t[n].accept[`*/*`]=e.extensions||[]});let n=await window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),r=await Promise.all(n.map(oT));return e[0].multiple?r:r[0]}};function cT(e){function t(e){if(Object(e)!==e)return Promise.reject(TypeError(e+` is not an object.`));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return cT=function(e){this.s=e,this.n=e.next},cT.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return n===void 0?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return n===void 0?Promise.reject(e):t(n.apply(this.s,arguments))}},new cT(e)}var lT=async(e,t,n=e.name,r)=>{let i=[],a=[];var o,s=!1,c=!1;try{for(var l,u=function(e){var t,n,r,i=2;for(typeof Symbol<`u`&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&(t=e[n])!=null)return t.call(e);if(r&&(t=e[r])!=null)return new cT(t.call(e));n=`@@asyncIterator`,r=`@@iterator`}throw TypeError(`Object is not async iterable`)}(e.values());s=!(l=await u.next()).done;s=!1){let o=l.value,s=`${n}/${o.name}`;o.kind===`file`?a.push(o.getFile().then(t=>(t.directoryHandle=e,t.handle=o,Object.defineProperty(t,`webkitRelativePath`,{configurable:!0,enumerable:!0,get:()=>s})))):o.kind!==`directory`||!t||r&&r(o)||i.push(lT(o,t,s,r))}}catch(e){c=!0,o=e}finally{try{s&&u.return!=null&&await u.return()}finally{if(c)throw o}}return[...(await Promise.all(i)).flat(),...await Promise.all(a)]},uT={__proto__:null,default:async(e={})=>{e.recursive=e.recursive||!1,e.mode=e.mode||`read`;let t=await window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return(await(await t.values()).next()).done?[t]:lT(t,e.recursive,void 0,e.skipDirectory)}},dT={__proto__:null,default:async(e,t=[{}],n=null,r=!1,i=null)=>{Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||`Untitled`;let a=[],o=null;if(e instanceof Blob&&e.type?o=e.type:e.headers&&e.headers.get(`content-type`)&&(o=e.headers.get(`content-type`)),t.forEach((e,t)=>{a[t]={description:e.description||`Files`,accept:{}},e.mimeTypes?(t===0&&o&&e.mimeTypes.push(o),e.mimeTypes.map(n=>{a[t].accept[n]=e.extensions||[]})):o?a[t].accept[o]=e.extensions||[]:a[t].accept[`*/*`]=e.extensions||[]}),n)try{await n.getFile()}catch(e){if(n=null,r)throw e}let s=n||await window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:a,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1});!n&&i&&i(s);let c=await s.createWritable();return`stream`in e?(await e.stream().pipeTo(c),s):`body`in e?(await e.body.pipeTo(c),s):(await c.write(await e),await c.close(),s)}},fT={__proto__:null,default:async(e=[{}])=>(Array.isArray(e)||(e=[e]),new Promise((t,n)=>{let r=document.createElement(`input`);r.type=`file`;let i=[...e.map(e=>e.mimeTypes||[]),...e.map(e=>e.extensions||[])].join();r.multiple=e[0].multiple||!1,r.accept=i||``,r.style.display=`none`,document.body.append(r),r.addEventListener(`cancel`,()=>{r.remove(),n(new DOMException(`The user aborted a request.`,`AbortError`))}),r.addEventListener(`change`,()=>{r.remove(),t(r.multiple?Array.from(r.files):r.files[0])}),`showPicker`in HTMLInputElement.prototype?r.showPicker():r.click()}))},pT={__proto__:null,default:async(e=[{}])=>(Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise((t,n)=>{let r=document.createElement(`input`);r.type=`file`,r.webkitdirectory=!0,r.style.display=`none`,document.body.append(r),r.addEventListener(`cancel`,()=>{r.remove(),n(new DOMException(`The user aborted a request.`,`AbortError`))}),r.addEventListener(`change`,()=>{r.remove();let n=Array.from(r.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(n=n.filter(t=>t.webkitRelativePath.split(`/`).every(t=>!e[0].skipDirectory({name:t,kind:`directory`})))):n=n.filter(e=>e.webkitRelativePath.split(`/`).length===2),t(n)}),`showPicker`in HTMLInputElement.prototype?r.showPicker():r.click()}))},mT={__proto__:null,default:async(e,t={})=>{Array.isArray(t)&&(t=t[0]);let n=document.createElement(`a`),r=e;`body`in e&&(r=await async function(e,t){let n=e.getReader(),r=new ReadableStream({start:e=>async function t(){return n.read().then(({done:n,value:r})=>{if(!n)return e.enqueue(r),t();e.close()})}()}),i=await new Response(r).blob();return n.releaseLock(),new Blob([i],{type:t})}(e.body,e.headers.get(`content-type`))),n.download=t.fileName||`Untitled`,n.href=URL.createObjectURL(await r);let i=()=>{typeof a==`function`&&a()},a=t.legacySetup&&t.legacySetup(i,()=>a(),n);return n.addEventListener(`click`,()=>{setTimeout(()=>URL.revokeObjectURL(n.href),3e4),i()}),n.click(),null}},hT=e(s(),1),gT=e(u(),1),_T=e(d(),1),vT=er.includes(devicePixelRatio)?devicePixelRatio:1,yT=()=>({showWelcomeScreen:!1,theme:Fn.LIGHT,collaborators:new Map,currentItemBackgroundColor:fr.backgroundColor,currentItemEndArrowhead:`arrow`,currentItemFillStyle:fr.fillStyle,currentItemFontFamily:Ln,currentItemFontSize:20,currentItemOpacity:fr.opacity,currentItemRoughness:fr.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:fr.strokeColor,currentItemRoundness:ea()?`sharp`:`round`,currentItemArrowType:xr.round,currentItemStrokeStyle:fr.strokeStyle,currentItemStrokeWidth:fr.strokeWidth,currentItemTextAlign:Rn,currentHoveredFontFamily:null,cursorButton:`up`,activeEmbeddable:null,newElement:null,editingTextElement:null,editingGroupId:null,activeTool:{type:`selection`,customType:null,locked:fr.locked,fromSelection:!1,lastActiveTool:null},preferredSelectionTool:{type:`selection`,initialized:!1},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:vT,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:20,gridStep:5,gridModeEnabled:!1,isBindingEnabled:!0,bindingPreference:`enabled`,isMidpointSnappingEnabled:!0,defaultSidebarDockedPreference:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:`mouse`,multiElement:null,name:null,contextMenu:null,openMenu:null,openPopup:null,openSidebar:null,openDialog:null,previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},hoveredElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,stats:{open:!1,panels:br.generalStats|br.elementProperties},startBoundElement:null,suggestedBinding:null,frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:I.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set,isCropping:!1,croppingElementId:null,searchMatches:null,lockedMultiSelections:{},activeLockedId:null,bindMode:`orbit`}),bT=(e=>e)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentItemBackgroundColor:{browser:!0,export:!1,server:!1},currentItemEndArrowhead:{browser:!0,export:!1,server:!1},currentItemFillStyle:{browser:!0,export:!1,server:!1},currentItemFontFamily:{browser:!0,export:!1,server:!1},currentItemFontSize:{browser:!0,export:!1,server:!1},currentItemRoundness:{browser:!0,export:!1,server:!1},currentItemArrowType:{browser:!0,export:!1,server:!1},currentItemOpacity:{browser:!0,export:!1,server:!1},currentItemRoughness:{browser:!0,export:!1,server:!1},currentItemStartArrowhead:{browser:!0,export:!1,server:!1},currentItemStrokeColor:{browser:!0,export:!1,server:!1},currentItemStrokeStyle:{browser:!0,export:!1,server:!1},currentItemStrokeWidth:{browser:!0,export:!1,server:!1},currentItemTextAlign:{browser:!0,export:!1,server:!1},currentHoveredFontFamily:{browser:!1,export:!1,server:!1},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},newElement:{browser:!1,export:!1,server:!1},editingTextElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},activeTool:{browser:!0,export:!1,server:!1},preferredSelectionTool:{browser:!0,export:!1,server:!1},penMode:{browser:!0,export:!1,server:!1},penDetected:{browser:!0,export:!1,server:!1},errorMessage:{browser:!1,export:!1,server:!1},exportBackground:{browser:!0,export:!1,server:!1},exportEmbedScene:{browser:!0,export:!1,server:!1},exportScale:{browser:!0,export:!1,server:!1},exportWithDarkMode:{browser:!0,export:!1,server:!1},fileHandle:{browser:!1,export:!1,server:!1},gridSize:{browser:!0,export:!0,server:!0},gridStep:{browser:!0,export:!0,server:!0},gridModeEnabled:{browser:!0,export:!0,server:!0},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!0,export:!1,server:!1},bindingPreference:{browser:!0,export:!1,server:!1},isMidpointSnappingEnabled:{browser:!0,export:!1,server:!1},defaultSidebarDockedPreference:{browser:!0,export:!1,server:!1},isLoading:{browser:!1,export:!1,server:!1},isResizing:{browser:!1,export:!1,server:!1},isRotating:{browser:!1,export:!1,server:!1},lastPointerDownWith:{browser:!0,export:!1,server:!1},multiElement:{browser:!1,export:!1,server:!1},name:{browser:!0,export:!1,server:!1},offsetLeft:{browser:!1,export:!1,server:!1},offsetTop:{browser:!1,export:!1,server:!1},contextMenu:{browser:!1,export:!1,server:!1},openMenu:{browser:!0,export:!1,server:!1},openPopup:{browser:!1,export:!1,server:!1},openSidebar:{browser:!0,export:!1,server:!1},openDialog:{browser:!1,export:!1,server:!1},previousSelectedElementIds:{browser:!0,export:!1,server:!1},resizingElement:{browser:!1,export:!1,server:!1},scrolledOutside:{browser:!0,export:!1,server:!1},scrollX:{browser:!0,export:!1,server:!1},scrollY:{browser:!0,export:!1,server:!1},selectedElementIds:{browser:!0,export:!1,server:!1},hoveredElementIds:{browser:!1,export:!1,server:!1},selectedGroupIds:{browser:!0,export:!1,server:!1},selectedElementsAreBeingDragged:{browser:!1,export:!1,server:!1},selectionElement:{browser:!1,export:!1,server:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1,server:!1},stats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBinding:{browser:!1,export:!1,server:!1},frameRendering:{browser:!1,export:!1,server:!1},frameToHighlight:{browser:!1,export:!1,server:!1},editingFrame:{browser:!1,export:!1,server:!1},elementsToHighlight:{browser:!1,export:!1,server:!1},toast:{browser:!1,export:!1,server:!1},viewBackgroundColor:{browser:!0,export:!0,server:!0},width:{browser:!1,export:!1,server:!1},zenModeEnabled:{browser:!0,export:!1,server:!1},zoom:{browser:!0,export:!1,server:!1},viewModeEnabled:{browser:!1,export:!1,server:!1},showHyperlinkPopup:{browser:!1,export:!1,server:!1},selectedLinearElement:{browser:!0,export:!1,server:!1},snapLines:{browser:!1,export:!1,server:!1},originSnapOffset:{browser:!1,export:!1,server:!1},objectsSnapModeEnabled:{browser:!0,export:!1,server:!1},userToFollow:{browser:!1,export:!1,server:!1},followedBy:{browser:!1,export:!1,server:!1},isCropping:{browser:!1,export:!1,server:!1},croppingElementId:{browser:!1,export:!1,server:!1},searchMatches:{browser:!1,export:!1,server:!1},lockedMultiSelections:{browser:!0,export:!0,server:!0},activeLockedId:{browser:!1,export:!1,server:!1},bindMode:{browser:!0,export:!1,server:!1}}),xT=(e,t)=>{let n={};for(let r of Object.keys(e))bT[r]?.[t]&&(n[r]=e[r]);return n},ST=e=>xT(e,`export`),CT=e=>xT(e,`server`),wT=({activeTool:e})=>e.type===`eraser`,TT=({activeTool:e})=>e.type===`hand`,ET=class extends Error{constructor(e=`Couldn't export canvas.`,t=`CANVAS_ERROR`){super(),this.name=t,this.message=e}},DT=class extends DOMException{constructor(e=`Request Aborted`){super(e,`AbortError`)}},OT=class extends Error{constructor(e=`Image Scene Data Error`,t=`IMAGE_SCENE_DATA_ERROR`){super(e),i(this,`code`),this.name=`EncodingError`,this.code=t}},kT=class extends Error{constructor(e=`Worker URL is not defined!`,t=`WORKER_URL_NOT_DEFINED`){super(e),i(this,`code`),this.name=`WorkerUrlNotDefinedError`,this.code=t}},AT=class extends Error{constructor(e=`Worker has to be in a separate chunk!`,t=`WORKER_IN_THE_MAIN_CHUNK`){super(e),i(this,`code`),this.name=`WorkerInTheMainChunkError`,this.code=t}},jT=class extends Error{constructor(e){super(e),this.name=`ExcalidrawError`}},MT=(e,t)=>{let[n,r,i,a]=t,{x:o,y:s}=Pi({sceneX:n,sceneY:r},e),{x:c,y:l}=Pi({sceneX:i,sceneY:a},e);return c-o>e.width||l-s>e.height},NT=({scenePoint:e,viewportDimensions:t,zoom:n,offsets:r})=>{let i=(t.width-(r?.right??0))/2/n.value-e.x;i+=(r?.left??0)/2/n.value;let a=(t.height-(r?.bottom??0))/2/n.value-e.y;return a+=(r?.top??0)/2/n.value,{scrollX:i,scrollY:a}},PT=(e,t)=>{if(e=Av(e),!e.length)return{scrollX:0,scrollY:0};let[n,r,i,a]=Um(e);return MT(t,[n,r,i,a])&&([n,r,i,a]=qm(e,Ni({clientX:t.scrollX,clientY:t.scrollY},t))),NT({scenePoint:{x:(n+i)/2,y:(r+a)/2},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})},FT=e=>f(p(e,6),Xn,30),IT=e=>f(Math.round(e),1,100),LT=e=>f(Math.round(e),1,100),RT=e=>{let t=typeof e==`string`?new TextEncoder().encode(e):e instanceof Uint8Array?e:new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return n},zT=e=>{let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0,r=e.length;t<r;t++)n[t]=e.charCodeAt(t);return t},BT=e=>new TextDecoder(`utf-8`).decode(zT(e)),VT=(e,t=!1)=>t?window.btoa(e):window.btoa(RT(e)),HT=(e,t=!1)=>t?window.atob(e):BT(window.atob(e)),UT=({text:e,compress:t})=>{let n;if(t!==!1)try{n=RT($w(e))}catch(e){console.error(`encode: cannot deflate`,e)}return{version:`1`,encoding:`bstring`,compressed:!!n,encoded:n||RT(e)}},WT=e=>{let t;switch(e.encoding){case`bstring`:t=e.compressed?e.encoded:BT(e.encoded);break;default:throw Error(`decode: unknown encoding "${e.encoding}"`)}return e.compressed?eT(new Uint8Array(zT(t)),{to:`string`}):t},GT=async e=>{let t=e.extensions?.reduce((e,t)=>(e.push(Wn[t]),e),[]),n=e.extensions?.reduce((e,t)=>t===`jpg`?e.concat(`.jpg`,`.jpeg`):e.concat(`.${t}`),[]),r=await rT({description:e.description,extensions:n,mimeTypes:t,multiple:e.multiple??!1});return Array.isArray(r)?await Promise.all(r.map(e=>BD(e))):await BD(r)},KT=(e,t)=>aT(e,{fileName:`${t.name}.${t.extension}`,description:t.description,extensions:[`.${t.extension}`],mimeTypes:t.mimeTypes},t.fileHandle,!1),qT=(e,t)=>{let n={};for(let r of e)!r.isDeleted&&`fileId`in r&&r.fileId&&t[r.fileId]&&(n[r.fileId]=t[r.fileId]);return n},JT=(e,t,n,r)=>{let i={type:qn.excalidraw,version:ir.excalidraw,source:Jn(),elements:e,appState:r===`local`?ST(t):CT(t),files:r===`local`?qT(e,n):void 0};return JSON.stringify(i,null,2)},YT=async({data:e,filename:t,fileHandle:n})=>({fileHandle:await KT(Promise.resolve(e).then(({elements:e,appState:t,files:n})=>{let r=JT(e,t,n,`local`);return new Blob([r],{type:Wn.excalidraw})}),{name:t,extension:`excalidraw`,description:`Excalidraw file`,fileHandle:xD(n)?null:n})}),XT=async(e,t)=>{let n=await GT({description:`Excalidraw files`});return TD(n,e,t,n.handle)},ZT=e=>e?.type===qn.excalidraw&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||typeof e.appState==`object`)),QT=e=>typeof e==`object`&&e&&e.type===qn.excalidrawLibrary&&(e.version===1||e.version===2),$T=e=>{let t={type:qn.excalidrawLibrary,version:ir.excalidrawLibrary,source:Jn(),libraryItems:e};return JSON.stringify(t,null,2)},eE=async e=>{let t=$T(e);await KT(new Blob([t],{type:Wn.excalidrawlib}),{name:`library`,extension:`excalidrawlib`,description:`Excalidraw library file`})},tE=[{uri:`./fonts/Cascadia/CascadiaCode-Regular.woff2`}],nE=[{uri:`./fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2`,descriptors:{unicodeRange:`U+20-7e,U+a1-a6,U+a8,U+ab-ac,U+af-b1,U+b4,U+b8,U+bb-bc,U+bf-cf,U+d1-d7,U+d9-de,U+e0-ef,U+f1-f7,U+f9-ff,U+131,U+152-153,U+2c6,U+2da,U+2dc,U+2013-2014,U+2018-201a,U+201c-201d,U+2020-2022,U+2026,U+2039-203a,U+2044,U+20ac,U+2191,U+2193,U+2212`}},{uri:`./fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2`,descriptors:{unicodeRange:`U+100-10f,U+112-125,U+128-130,U+134-137,U+139-13c,U+141-148,U+14c-151,U+154-161,U+164-165,U+168-17f,U+1bf,U+1f7,U+218-21b,U+237,U+1e80-1e85,U+1ef2-1ef3,U+a75b`}},{uri:`./fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2`,descriptors:{unicodeRange:`U+2c7,U+2d8-2d9,U+2db,U+2dd,U+315,U+2190,U+2192,U+2200,U+2203-2204,U+2264-2265,U+f6c3`}},{uri:`./fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2`,descriptors:{unicodeRange:`U+3bb`}}],rE=[{uri:kr}],iE=class{constructor(e){i(this,`instance`),i(this,`debounceTerminate`),this.instance=new Worker(e,{type:`module`})}},aE=class e{constructor(e,t){i(this,`idleWorkers`,new Set),i(this,`workerUrl`),i(this,`workerTTL`),this.workerUrl=e,this.workerTTL=t.ttl||1e3}static create(t,n={}){if(!t)throw new kT;if(!import.meta.url||t.toString()===import.meta.url)throw new AT;return new e(t,n)}async postMessage(e,t){let n,r=Array.from(this.idleWorkers).shift();return r?(this.idleWorkers.delete(r),n=r):n=await this.createWorker(),new Promise((r,i)=>{n.instance.onmessage=this.onMessageHandler(n,r),n.instance.onerror=this.onErrorHandler(n,i),n.instance.postMessage(e,t),n.debounceTerminate(()=>i(Error(`Active worker did not respond for ${this.workerTTL}ms!`)))})}async clear(){for(let e of this.idleWorkers)e.debounceTerminate.cancel(),e.instance.terminate();this.idleWorkers.clear()}async createWorker(){let e=new iE(this.workerUrl);return e.debounceTerminate=wi(t=>{e.instance.terminate(),this.idleWorkers.has(e)?(this.idleWorkers.delete(e),console.debug(`Job finished! Idle worker has been released from the pool.`)):t?t():console.error(`Worker has been terminated!`)},this.workerTTL),e}onMessageHandler(e,t){return n=>{e.debounceTerminate(),this.idleWorkers.add(e),t(n.data)}}onErrorHandler(e,t){return n=>{e.debounceTerminate(()=>t(n)),e.debounceTerminate.flush(),this.clear()}}},oE=typeof Worker<`u`,sE=async(e,t)=>{let{Commands:n,subsetToBase64:r,toBase64:i}=await dE();return oE?xa(async()=>{try{let r=await pE(),a=e.slice(0);return i(await r.postMessage({command:n.Subset,arrayBuffer:a,codePoints:t},{transfer:[a]}))}catch(n){return oE=!1,ra()&&(n instanceof kT||n instanceof AT)||console.error(`Failed to use workers for subsetting, falling back to the main thread.`,n),r(e,t)}}):r(e,t)},cE=null,lE=null,uE=async()=>(cE||=n(()=>import(`./subset-worker.chunk-B7pmUG1o.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),cE),dE=async()=>(lE||=n(()=>import(`./subset-shared.chunk-93a-Md8B.js`),__vite__mapDeps([4,1,2,3]),import.meta.url),lE),fE=null,pE=()=>(fE||=xa(async()=>{let{WorkerUrl:e}=await uE();return aE.create(e)}),fE),mE=class e{constructor(t,n,r){i(this,`urls`),i(this,`fontFace`),this.urls=e.createUrls(n);let a=this.urls.map(t=>`url(${t}) ${e.getFormat(t)}`).join(`, `);this.fontFace=new FontFace(t,a,{display:`swap`,style:`normal`,weight:`400`,...r})}toCSS(e){if(!this.getUnicodeRangeRegex().test(e))return;let t=Array.from(e).map(e=>e.codePointAt(0));return this.getContent(t).then(e=>`@font-face { font-family: ${this.fontFace.family}; src: url(${e}); }`)}async getContent(e){let t=0,n=[];for(;t<this.urls.length;){let r=this.urls[t];try{return await sE(await this.fetchFont(r),e)}catch(e){n.push(`"${r.toString()}" returned error "${e}"`)}t++}return console.error(`Failed to fetch font family "${this.fontFace.family}"`,JSON.stringify(n,void 0,2)),this.urls.length?this.urls[this.urls.length-1].toString():``}fetchFont(e){return xa(async()=>{let t=await fetch(e,{cache:`force-cache`,headers:{Accept:`font/woff2`}});if(!t.ok){let n=e instanceof URL?e.toString():`dataurl`;throw Error(`Failed to fetch "${n}": ${t.statusText}`)}return await t.arrayBuffer()})}getUnicodeRangeRegex(){let e=this.fontFace.unicodeRange.split(/,\s*/).map(e=>{let[t,n]=e.replace(`U+`,``).split(`-`);return n?`\\u{${t}}-\\u{${n}}`:`\\u{${t}}`}).join(``);return RegExp(`[${e}]`,`u`)}static createUrls(t){if(t.startsWith(`data`))return[t];if(t.startsWith(`local:`))return[];if(t.startsWith(`http`))return[new URL(t)];let n=t.replace(/^\/+/,``),r=[];if(typeof window.EXCALIDRAW_ASSET_PATH==`string`){let e=this.normalizeBaseUrl(window.EXCALIDRAW_ASSET_PATH);r.push(new URL(n,e))}else Array.isArray(window.EXCALIDRAW_ASSET_PATH)&&window.EXCALIDRAW_ASSET_PATH.forEach(e=>{let t=this.normalizeBaseUrl(e);r.push(new URL(n,t))});return r.push(new URL(n,e.ASSETS_FALLBACK_URL)),r}static getFormat(e){if(!(e instanceof URL))return``;try{let t=new URL(e).pathname.split(`.`);return t.length===1?``:`format('${t.pop()}')`}catch{return``}}static normalizeBaseUrl(e){let t=e;return/^\.?\//.test(t)&&(t=new URL(t.replace(/^\.?\/+/,``),window?.location?.origin).toString()),t=`${t.replace(/\/+$/,``)}/`,t}};i(mE,`ASSETS_FALLBACK_URL`,`https://esm.sh/${r.PKG_NAME?`${r.PKG_NAME}@${r.PKG_VERSION}`:`@excalidraw/excalidraw`}/dist/prod/`);var hE=mE,gE=[{uri:`./fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2`,descriptors:{unicodeRange:`U+20-7e,U+a0-a3,U+a5-a6,U+a8-ab,U+ad-b1,U+b4,U+b6-b8,U+ba-ff,U+131,U+152-153,U+2bc,U+2c6,U+2da,U+2dc,U+304,U+308,U+2013-2014,U+2018-201a,U+201c-201e,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203a,U+20ac,U+2122,U+2212`}},{uri:`./fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2`,descriptors:{unicodeRange:`U+100-130,U+132-137,U+139-149,U+14c-151,U+154-17e,U+192,U+1fc-1ff,U+218-21b,U+237,U+1e80-1e85,U+1ef2-1ef3,U+2113`}},{uri:`./fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2`,descriptors:{unicodeRange:`U+400-45f,U+490-491,U+2116`}},{uri:`./fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2`,descriptors:{unicodeRange:`U+37e,U+384-38a,U+38c,U+38e-393,U+395-3a1,U+3a3-3a8,U+3aa-3cf,U+3d7`}},{uri:`./fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2`,descriptors:{unicodeRange:`U+2c7,U+2d8-2d9,U+2db,U+2dd,U+302,U+306-307,U+30a-30c,U+326-328,U+212e,U+2211,U+fb01-fb02`}},{uri:`./fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2`,descriptors:{unicodeRange:`U+462-463,U+472-475,U+4d8-4d9,U+4e2-4e3,U+4e6-4e9,U+4ee-4ef`}},{uri:`./fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2`,descriptors:{unicodeRange:`U+300-301,U+303`}}],_E=[{uri:kr}],vE=[{uri:`./fonts/Liberation/LiberationSans-Regular.woff2`}],yE=[{uri:`./fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2`,descriptors:{unicodeRange:Or.LATIN_EXT}},{uri:`./fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2`,descriptors:{unicodeRange:Or.LATIN}}],bE=[{uri:`./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2`,descriptors:{unicodeRange:Or.CYRILIC_EXT,weight:`500`}},{uri:`./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2`,descriptors:{unicodeRange:Or.CYRILIC,weight:`500`}},{uri:`./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2`,descriptors:{unicodeRange:Or.VIETNAMESE,weight:`500`}},{uri:`./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2`,descriptors:{unicodeRange:Or.LATIN_EXT,weight:`500`}},{uri:`./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2`,descriptors:{unicodeRange:Or.LATIN,weight:`500`}}],xE=[{uri:`./fonts/Virgil/Virgil-Regular.woff2`}],SE=[{uri:`./fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2`,descriptors:{unicodeRange:`U+f9b8-fa6d,U+fe32,U+fe45-fe4f,U+ff02-ff0b,U+ff0d-ff1e,U+ff20-ff2a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2`,descriptors:{unicodeRange:`U+20dd-20de,U+25ef,U+ff2b-ffbe,U+ffc2-ffc7,U+ffca-ffcf,U+ffd2-ffd7,U+ffda-ffdc,U+ffe0-ffe6,U+ffe8-ffee`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2`,descriptors:{unicodeRange:`U+d7eb-d7fb,U+f900-f9b7`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2`,descriptors:{unicodeRange:`U+d6f2-d7a3,U+d7b0-d7c6,U+d7cb-d7ea`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2`,descriptors:{unicodeRange:`U+d609-d6f1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2`,descriptors:{unicodeRange:`U+d520-d608`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2`,descriptors:{unicodeRange:`U+d437-d51f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2`,descriptors:{unicodeRange:`U+d34e-d436`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2`,descriptors:{unicodeRange:`U+d265-d34d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2`,descriptors:{unicodeRange:`U+d17c-d264`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2`,descriptors:{unicodeRange:`U+d093-d17b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2`,descriptors:{unicodeRange:`U+cfaa-d092`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2`,descriptors:{unicodeRange:`U+cec1-cfa9`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2`,descriptors:{unicodeRange:`U+cdd8-cec0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2`,descriptors:{unicodeRange:`U+ccf1-cdd7`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2`,descriptors:{unicodeRange:`U+cc08-ccf0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2`,descriptors:{unicodeRange:`U+cb43-cc07`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2`,descriptors:{unicodeRange:`U+ca83-cb42`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2`,descriptors:{unicodeRange:`U+c9a1-ca82`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2`,descriptors:{unicodeRange:`U+c8b8-c9a0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2`,descriptors:{unicodeRange:`U+c7cf-c8b7`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2`,descriptors:{unicodeRange:`U+c6e6-c7ce`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2`,descriptors:{unicodeRange:`U+c5fd-c6e5`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2`,descriptors:{unicodeRange:`U+c514-c5fc`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2`,descriptors:{unicodeRange:`U+c42b-c513`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2`,descriptors:{unicodeRange:`U+c341-c34e,U+c350-c42a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2`,descriptors:{unicodeRange:`U+c258-c340`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2`,descriptors:{unicodeRange:`U+c16f-c257`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2`,descriptors:{unicodeRange:`U+c086-c16e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2`,descriptors:{unicodeRange:`U+bf9d-c085`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2`,descriptors:{unicodeRange:`U+beb4-bf9c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2`,descriptors:{unicodeRange:`U+bdcb-beb3`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2`,descriptors:{unicodeRange:`U+bce2-bdca`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2`,descriptors:{unicodeRange:`U+bbf9-bce1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2`,descriptors:{unicodeRange:`U+bb10-bbf8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2`,descriptors:{unicodeRange:`U+ba27-bb0f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2`,descriptors:{unicodeRange:`U+b93e-ba26`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2`,descriptors:{unicodeRange:`U+b855-b93d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2`,descriptors:{unicodeRange:`U+b76c-b854`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2`,descriptors:{unicodeRange:`U+b683-b76b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2`,descriptors:{unicodeRange:`U+b59a-b682`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2`,descriptors:{unicodeRange:`U+b4b1-b599`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2`,descriptors:{unicodeRange:`U+11fb-11ff,U+b3cd-b4b0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2`,descriptors:{unicodeRange:`U+11e6-11fa,U+b2f9-b3cc`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2`,descriptors:{unicodeRange:`U+11d1-11e5,U+b225-b2f8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2`,descriptors:{unicodeRange:`U+11bc-11d0,U+b151-b224`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2`,descriptors:{unicodeRange:`U+11a7-11bb,U+b07d-b150`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2`,descriptors:{unicodeRange:`U+1191-11a6,U+afaa-b07c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2`,descriptors:{unicodeRange:`U+117c-1190,U+aed6-afa9`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2`,descriptors:{unicodeRange:`U+1167-117b,U+ae02-aed5`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2`,descriptors:{unicodeRange:`U+1152-115e,U+1160-1166,U+ad2d-ae01`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2`,descriptors:{unicodeRange:`U+113d-1151,U+ac59-ad2c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2`,descriptors:{unicodeRange:`U+1100-113c,U+9f95-9f98,U+9f9c-9f9e,U+9fa1-9fce,U+9fd0,U+a960-a97c,U+ac00-ac58`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2`,descriptors:{unicodeRange:`U+9771-9772,U+9775,U+9777-977b,U+977d-9784,U+9786-978a,U+978c,U+978e-9790,U+9793,U+9795-9797,U+9799-979f,U+97a1-97a2,U+97a4-97aa,U+97ac,U+97ae,U+97b0-97b1,U+97b3,U+97b5-97e5,U+97e8,U+97ee-97f2,U+97f4,U+97f7-982d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2`,descriptors:{unicodeRange:`U+9491,U+9496,U+9498,U+94c7,U+94cf,U+94d3-94d4,U+94da,U+94e6,U+94fb,U+951c,U+9520,U+9527,U+9533,U+953d,U+9543,U+9548,U+954b,U+9555,U+955a,U+9560,U+956e,U+9574-9575,U+9577-957e,U+9580-95e7,U+95ec,U+95ff,U+9607,U+9613,U+9618,U+961b,U+961e,U+9620,U+9623-9629,U+962b-962d,U+962f-9630,U+9637-963a,U+963e,U+9641,U+9643,U+964a,U+964e-964f,U+9651-9653,U+9656-965a,U+965c-965e,U+9660,U+9663,U+9665-9666,U+966b,U+966d-9671,U+9673,U+9678-9684,U+9687,U+9689-968a,U+968c,U+968e,U+9691-9693`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2`,descriptors:{unicodeRange:`U+923c-9273,U+9275-928d,U+928f-92ad,U+92af-92c7,U+92c9-92ee`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2`,descriptors:{unicodeRange:`U+9159,U+915b-915c,U+915f-9160,U+9166-9168,U+916b,U+916d,U+9173,U+917a-917c,U+9180-9184,U+9186,U+9188,U+918a,U+918e-918f,U+9193-9199,U+919c-91a1,U+91a4-91a9,U+91ab-91ac,U+91b0-91b3,U+91b6-91b9,U+91bb-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91db,U+91dd-923b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2`,descriptors:{unicodeRange:`U+902b-902c,U+9030-9034,U+9037,U+9039-903a,U+903d,U+903f-9040,U+9043,U+9045-9046,U+9048-904c,U+904e,U+9054-9056,U+9059-905a,U+905c-9061,U+9064,U+9066-9067,U+9069-906c,U+906f-9073,U+9076-907c,U+907e,U+9081,U+9084-9087,U+9089-908a,U+908c-9090,U+9092,U+9094,U+9096,U+9098,U+909a,U+909c,U+909e-90a0,U+90a4-90a5,U+90a7-90a9,U+90ab,U+90ad,U+90b2,U+90b7,U+90bc-90bd,U+90bf-90c0,U+90c2-90c3,U+90c6,U+90c8-90c9,U+90cb-90cd,U+90d2,U+90d4-90d6,U+90d8-90da,U+90de-90e0,U+90e3-90e5,U+90e9-90ea,U+90ec,U+90ee,U+90f0-90f3,U+90f5-90f7,U+90f9-90fc,U+90ff-9101,U+9103,U+9105-9118,U+911a-911d,U+911f-9121,U+9124-912e,U+9130,U+9132-9138,U+913a-9142,U+9144-9145,U+9147-9148,U+9151,U+9153-9156,U+9158`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2`,descriptors:{unicodeRange:`U+8f03-8f65,U+8f6a,U+8f80,U+8f8c,U+8f92,U+8f9d,U+8fa0-8fa2,U+8fa4-8fa7,U+8faa,U+8fac-8faf,U+8fb2-8fb5,U+8fb7-8fb8,U+8fba-8fbc,U+8fbf-8fc0,U+8fc3,U+8fc6,U+8fc9-8fcd,U+8fcf,U+8fd2,U+8fd6-8fd7,U+8fda,U+8fe0-8fe1,U+8fe3,U+8fe7,U+8fec,U+8fef,U+8ff1-8ff2,U+8ff4-8ff6,U+8ffa-8ffc,U+8ffe-8fff,U+9007-9008,U+900c,U+900e,U+9013,U+9015,U+9018-9019,U+901c,U+9023-9025,U+9027-902a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2`,descriptors:{unicodeRange:`U+8d03-8d1c,U+8d20,U+8d51-8d52,U+8d57,U+8d5f,U+8d65,U+8d68-8d6a,U+8d6c,U+8d6e-8d6f,U+8d71-8d72,U+8d78-8d80,U+8d82-8d83,U+8d86-8d89,U+8d8c-8d90,U+8d92-8d93,U+8d95-8d9e,U+8da0-8da2,U+8da4-8db0,U+8db2,U+8db6-8db7,U+8db9,U+8dbb,U+8dbd,U+8dc0-8dc2,U+8dc5,U+8dc7-8dca,U+8dcd,U+8dd0,U+8dd2-8dd5,U+8dd8-8dd9,U+8ddc,U+8de0-8de2,U+8de5-8de7,U+8de9,U+8ded-8dee,U+8df0-8df2,U+8df4,U+8df6,U+8dfc,U+8dfe-8e04,U+8e06-8e08,U+8e0b,U+8e0d-8e0e,U+8e10-8e13,U+8e15-8e1c,U+8e20-8e21,U+8e24-8e28,U+8e2b,U+8e2d,U+8e30,U+8e32-8e34,U+8e36-8e38,U+8e3b-8e3c,U+8e3e-8e3f,U+8e43,U+8e45-8e46`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2`,descriptors:{unicodeRange:`U+8bea,U+8c09,U+8c1e,U+8c38-8c40,U+8c42-8c45,U+8c48,U+8c4a-8c4b,U+8c4d-8c54,U+8c56-8c59,U+8c5b-8c60,U+8c63-8c69,U+8c6c-8c72,U+8c74-8c77,U+8c7b-8c81,U+8c83-8c84,U+8c86-8c88,U+8c8b,U+8c8d-8c93,U+8c95-8c97,U+8c99-8d02`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2`,descriptors:{unicodeRange:`U+8a64-8a78,U+8a7a-8a88,U+8a8b-8a92,U+8a94-8b06,U+8b08-8b1b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2`,descriptors:{unicodeRange:`U+8987-89c0,U+89c3,U+89cd,U+89d3-89d5,U+89d7-89d9,U+89db,U+89dd,U+89df-89e2,U+89e4,U+89e7-89ea,U+89ec-89ee,U+89f0-89f2,U+89f4-89ff,U+8a01-8a06,U+8a08-8a3d,U+8a3f-8a47,U+8a49-8a63`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2`,descriptors:{unicodeRange:`U+87e3-87e4,U+87e6-87e9,U+87eb-87ed,U+87ef-87f8,U+87fa-87fd,U+87ff-8802,U+8804-8809,U+880b-8812,U+8814,U+8817-881a,U+881c-8820,U+8823-8831,U+8833-8838,U+883a-883b,U+883d-883f,U+8841-8843,U+8846-884b,U+884e-8853,U+8855-8856,U+8858,U+885a-8860,U+8866-8867,U+886a,U+886d,U+886f,U+8871,U+8873-8876,U+8878-887c,U+8880,U+8883,U+8886-8887,U+8889-888a,U+888c,U+888e-8891,U+8893-8895,U+8897-889b,U+889d-88a1,U+88a3,U+88a5-88aa,U+88ac,U+88ae-88b0,U+88b2-88b6,U+88b8-88bb`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2`,descriptors:{unicodeRange:`U+86e7-86e8,U+86ea-86ec,U+86ef,U+86f5-86f7,U+86fa-86fd,U+86ff,U+8701,U+8704-8706,U+870b-870c,U+870e-8711,U+8714,U+8716,U+8719,U+871b,U+871d,U+871f-8720,U+8724,U+8726-8728,U+872a-872d,U+872f-8730,U+8732-8733,U+8735-8736,U+8738-873a,U+873c-873d,U+8740-8746,U+874a-874b,U+874d,U+874f-8752,U+8754-8756,U+8758,U+875a-875f,U+8761-8762,U+8766-876d,U+876f,U+8771-8773,U+8775,U+8777-877a,U+877f-8781,U+8784,U+8786-8787,U+8789-878a,U+878c,U+878e-8792,U+8794-8796,U+8798-879e,U+87a0-87a7,U+87a9-87aa,U+87ae,U+87b0-87b2,U+87b4,U+87b6-87b9,U+87bb-87bc,U+87be-87bf,U+87c1-87c5,U+87c7-87c9,U+87cc-87d0,U+87d4-87da,U+87dc-87df,U+87e1-87e2`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2`,descriptors:{unicodeRange:`U+8604,U+8606-8610,U+8612-8615,U+8617-8626,U+8628,U+862a-8637,U+8639-863b,U+863d-864c,U+8652-8653,U+8655-8659,U+865b-865d,U+865f-8661,U+8663-866a,U+866d,U+866f-8670,U+8672-8678,U+8683-8689,U+868e-8692,U+8694,U+8696-869b,U+869e-86a2,U+86a5-86a6,U+86ab,U+86ad-86ae,U+86b2-86b3,U+86b7-86b9,U+86bb-86bf,U+86c1-86c3,U+86c5,U+86c8,U+86cc-86cd,U+86d2-86d3,U+86d5-86d7,U+86da,U+86dc-86dd,U+86e0-86e3,U+86e5-86e6`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2`,descriptors:{unicodeRange:`U+8456,U+8458,U+845d-8460,U+8462,U+8464-8468,U+846a,U+846e-8470,U+8472,U+8474,U+8477,U+8479,U+847b-8481,U+8483-8486,U+848a,U+848d,U+848f-8496,U+8498,U+849a-849b,U+849d-84a0,U+84a2-84ae,U+84b0-84b1,U+84b3,U+84b5-84b7,U+84bb-84bc,U+84be,U+84c0,U+84c2-84c3,U+84c5-84c8,U+84cb-84cc,U+84ce-84cf,U+84d2,U+84d4-84d5,U+84d7-84dc,U+84de,U+84e1-84e2,U+84e4,U+84e7-84eb,U+84ed-84ef,U+84f1-84fb,U+84fd-84fe,U+8500-850b,U+850d-8510,U+8512,U+8514-8516,U+8518-8519,U+851b-851e,U+8520,U+8522-852a,U+852d-8536,U+853e-8542,U+8544-8547,U+854b-854f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2`,descriptors:{unicodeRange:`U+82c2-82c3,U+82c5-82c6,U+82c9,U+82d0,U+82d6,U+82d9-82da,U+82dd,U+82e2,U+82e7-82ea,U+82ec-82ee,U+82f0,U+82f2-82f3,U+82f5-82f6,U+82f8,U+82fa,U+82fc-8300,U+830a-830b,U+830d,U+8310,U+8312-8313,U+8316,U+8318-8319,U+831d-8326,U+8329-832a,U+832e,U+8330,U+8332,U+8337,U+833b,U+833d-833f,U+8341-8342,U+8344-8345,U+8348,U+834a-834e,U+8353,U+8355-8359,U+835d,U+8362,U+8370-8376,U+8379-837a,U+837e-8384,U+8387-8388,U+838a-838d,U+838f-8391,U+8394-8397,U+8399-839a,U+839d,U+839f,U+83a1-83a7,U+83ac-83af,U+83b5,U+83bb,U+83be-83bf,U+83c2-83c4,U+83c6,U+83c8-83c9,U+83cb,U+83cd-83ce,U+83d0-83d3,U+83d5,U+83d7,U+83d9-83db,U+83de,U+83e2-83e4,U+83e6-83e8,U+83eb-83ef,U+83f3-83f7,U+83fa-83fc,U+83fe-8400,U+8402,U+8405,U+8407-840a,U+8410,U+8412-8417,U+8419-841b,U+841e-8423,U+8429-8430,U+8432-8437,U+8439-843b,U+843e-8445,U+8447-8450,U+8452-8455`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2`,descriptors:{unicodeRange:`U+81a4-81a5,U+81a7,U+81a9,U+81ab-81b2,U+81b4-81b9,U+81bc-81bf,U+81c4-81c5,U+81c7-81c9,U+81cb,U+81cd-81e2,U+81e4-81e6,U+81e8-81e9,U+81eb,U+81ee-81f2,U+81f5-81fa,U+81fd,U+81ff,U+8203,U+8207-820b,U+820e-820f,U+8211,U+8213,U+8215-821a,U+821d,U+8220,U+8224-8227,U+8229,U+822e,U+8232,U+823a,U+823c-823d,U+823f-8243,U+8245-8246,U+8248,U+824a,U+824c-824e,U+8250-8257,U+8259,U+825b-825e,U+8260-8267,U+8269-826d,U+8271,U+8275-8278,U+827b-827c,U+8280-8281,U+8283,U+8285-8287,U+8289,U+828c,U+8290,U+8293-8296,U+829a-829b,U+829e,U+82a0,U+82a2-82a3,U+82a7,U+82b2,U+82b5-82b6,U+82ba-82bc,U+82bf-82c0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2`,descriptors:{unicodeRange:`U+8059,U+805b-8068,U+806b-8070,U+8072-807e,U+8081-8082,U+8085,U+8088,U+808a,U+808d-8092,U+8094-8095,U+8097,U+8099,U+809e,U+80a3,U+80a6-80a8,U+80ac,U+80b0,U+80b3,U+80b5-80b6,U+80b8-80b9,U+80bb,U+80c5,U+80c7-80cb,U+80cf-80d5,U+80d8,U+80df-80e0,U+80e2-80e3,U+80e6,U+80ee,U+80f5,U+80f7,U+80f9,U+80fb,U+80fe-8101,U+8103-8105,U+8107-8108,U+810b-810c,U+8115,U+8117,U+8119,U+811b-811d,U+811f-812b,U+812d-812e,U+8130,U+8133-8135,U+8137,U+8139-813d,U+813f-8145,U+8147,U+8149,U+814d-814f,U+8152,U+8156-8158,U+815b-815f,U+8161-8164,U+8166,U+8168,U+816a-816c,U+816f,U+8172-8173,U+8175-8178,U+8181,U+8183-8187,U+8189,U+818b-818e,U+8190,U+8192-8197,U+8199-819a,U+819e-81a2`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2`,descriptors:{unicodeRange:`U+7f3c-7f41,U+7f43,U+7f46-7f4f,U+7f52-7f53,U+7f56,U+7f59,U+7f5b-7f5e,U+7f60,U+7f63-7f67,U+7f6b-7f6d,U+7f6f-7f70,U+7f73,U+7f75-7f78,U+7f7a-7f7d,U+7f7f-7f80,U+7f82-7f89,U+7f8b,U+7f8d,U+7f8f-7f93,U+7f95-7f99,U+7f9b-7f9c,U+7fa0,U+7fa2-7fa3,U+7fa5-7fa6,U+7fa8-7fae,U+7fb1,U+7fb3-7fb7,U+7fba-7fbb,U+7fbe,U+7fc0,U+7fc2-7fc4,U+7fc6-7fc9,U+7fcb,U+7fcd,U+7fcf-7fd3,U+7fd6-7fd7,U+7fd9-7fde,U+7fe2-7fe4,U+7fe7-7fe8,U+7fea-7fed,U+7fef,U+7ff2,U+7ff4-7ffa,U+7ffd-7fff,U+8002,U+8007-800a,U+800e-800f,U+8011,U+8013,U+801a-801b,U+801d-801f,U+8021,U+8023-8024,U+802b-8030,U+8032,U+8034,U+8039-803a,U+803c,U+803e,U+8040-8041,U+8044-8045,U+8047-8049,U+804e-8051,U+8053,U+8055-8057`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2`,descriptors:{unicodeRange:`U+7cd8,U+7cda-7cdb,U+7cdd-7cde,U+7ce1-7ce7,U+7ce9-7cee,U+7cf0-7cf7,U+7cf9-7cfa,U+7cfc-7d09,U+7d0b-7d1f,U+7d21,U+7d23-7d26,U+7d28-7d2a,U+7d2c-7d2e,U+7d30-7d6d,U+7d6f-7d76,U+7d78-7d94`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2`,descriptors:{unicodeRange:`U+7afe,U+7b00-7b02,U+7b05,U+7b07,U+7b09,U+7b0c-7b0e,U+7b10,U+7b12-7b13,U+7b16-7b18,U+7b1a,U+7b1c-7b1d,U+7b1f,U+7b21-7b23,U+7b27,U+7b29,U+7b2d,U+7b2f-7b30,U+7b32,U+7b34-7b37,U+7b39,U+7b3b,U+7b3d,U+7b3f-7b44,U+7b46,U+7b48,U+7b4a,U+7b4d-7b4e,U+7b53,U+7b55,U+7b57,U+7b59,U+7b5c,U+7b5e-7b5f,U+7b61,U+7b63-7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b76,U+7b78,U+7b7a,U+7b7c-7b7d,U+7b7f,U+7b81-7b84,U+7b86-7b8c,U+7b8e-7b8f,U+7b91-7b93,U+7b96,U+7b98-7b9b,U+7b9e-7ba0,U+7ba3-7ba5,U+7bae-7bb0,U+7bb2-7bb3,U+7bb5-7bb7,U+7bb9-7bc0,U+7bc2-7bc5,U+7bc8-7bcb,U+7bcd-7bd0,U+7bd2,U+7bd4-7bd8,U+7bdb-7bdc,U+7bde-7be0,U+7be2-7be4,U+7be7-7be9,U+7beb-7bed,U+7bef-7bf0,U+7bf2-7bf6,U+7bf8-7bfb,U+7bfd,U+7bff-7c06,U+7c08-7c0a,U+7c0d-7c0e,U+7c10-7c13`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2`,descriptors:{unicodeRange:`U+7a10-7a13,U+7a15-7a16,U+7a18-7a19,U+7a1b-7a1d,U+7a1f,U+7a21-7a22,U+7a24-7a32,U+7a34-7a36,U+7a38,U+7a3a,U+7a3e,U+7a40-7a45,U+7a47-7a50,U+7a52-7a56,U+7a58-7a6f,U+7a71-7a73,U+7a75,U+7a7b-7a7e,U+7a82,U+7a85,U+7a87,U+7a89-7a8c,U+7a8e-7a90,U+7a93-7a94,U+7a99-7a9b,U+7a9e,U+7aa1-7aa4,U+7aa7,U+7aa9-7aab,U+7aae-7ab2,U+7ab4-7abe,U+7ac0-7aca,U+7acc-7ad5,U+7ad7-7ad8,U+7ada-7add,U+7ae1-7ae2,U+7ae4,U+7ae7-7aec,U+7aee,U+7af0-7af8,U+7afb-7afc`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2`,descriptors:{unicodeRange:`U+790d-7912,U+7914-791d,U+791f-7923,U+7925-7933,U+7935-7939,U+793d,U+793f,U+7942-7945,U+7947,U+794a-7952,U+7954-7955,U+7958-7959,U+7961,U+7963-7964,U+7966,U+7969-796c,U+796e,U+7970-7976,U+7979,U+797b-797f,U+7982-7983,U+7986-7989,U+798b-798e,U+7990-7999,U+799b-79a6,U+79a8-79b2,U+79b4-79b8,U+79bc,U+79bf,U+79c2,U+79c4-79c5,U+79c7-79c8,U+79ca,U+79cc,U+79ce-79d0,U+79d3-79d4,U+79d6-79d7,U+79d9-79de,U+79e0-79e2,U+79e5,U+79e8,U+79ea,U+79ec,U+79ee,U+79f1-79f7,U+79f9-79fa,U+79fc,U+79fe-79ff,U+7a01,U+7a04-7a05,U+7a07-7a0a,U+7a0c,U+7a0f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2`,descriptors:{unicodeRange:`U+77d8-77da,U+77dd-77e1,U+77e4,U+77e6,U+77e8,U+77ea,U+77ef-77f2,U+77f4-77f5,U+77f7,U+77f9-77fc,U+7803-7808,U+780a-780b,U+780e-7810,U+7813,U+7815,U+7819,U+781b,U+781e,U+7820-7822,U+7824,U+7828,U+782a-782b,U+782e-782f,U+7831-7833,U+7835-7836,U+783d,U+783f,U+7841-7844,U+7846,U+7848-784b,U+784d,U+784f,U+7851,U+7853-7854,U+7858-785c,U+785e-7869,U+786f-7876,U+7878-787b,U+787d-7886,U+7888,U+788a-788b,U+788f-7890,U+7892,U+7894-7896,U+7899,U+789d-789e,U+78a0,U+78a2,U+78a4,U+78a6,U+78a8-78af,U+78b5-78b8,U+78ba-78bd,U+78bf-78c0,U+78c2-78c4,U+78c6-78c8,U+78cc-78cf,U+78d1-78d3,U+78d6-78d8,U+78da-78e7,U+78e9-78eb,U+78ed-78f1,U+78f3,U+78f5-78f6,U+78f8-78f9,U+78fb-7900,U+7902-7904,U+7906-790c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2`,descriptors:{unicodeRange:`U+76af-76b0,U+76b3,U+76b5-76be,U+76c0-76c1,U+76c3-76c4,U+76c7,U+76c9,U+76cb-76cc,U+76d3,U+76d5,U+76d9-76da,U+76dc-76de,U+76e0-76e4,U+76e6-76ed,U+76f0,U+76f3,U+76f5-76f7,U+76fa-76fb,U+76fd,U+76ff-7703,U+7705-7706,U+770a,U+770c,U+770e-7718,U+771b-771e,U+7721,U+7723-7725,U+7727,U+772a-772c,U+772e,U+7730-7734,U+7739,U+773b,U+773d-773f,U+7742,U+7744-7746,U+7748-774f,U+7752-7759,U+775c-7760,U+7764,U+7767,U+7769-776a,U+776d-7778,U+777a-777c,U+7781-7783,U+7786-778b,U+778f-7790,U+7793-779e,U+77a1,U+77a3-77a4,U+77a6,U+77a8,U+77ab,U+77ad-77af,U+77b1-77b2,U+77b4,U+77b6-77ba,U+77bc,U+77be,U+77c0-77cc,U+77ce-77d6`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2`,descriptors:{unicodeRange:`U+7589-758a,U+758c-758e,U+7590,U+7593,U+7595,U+7598,U+759b-759c,U+759e,U+75a2,U+75a6-75aa,U+75ad,U+75b6-75b7,U+75ba-75bb,U+75bf-75c1,U+75c6,U+75cb-75cc,U+75ce-75d1,U+75d3,U+75d7,U+75d9-75da,U+75dc-75dd,U+75df-75e1,U+75e5,U+75e9,U+75ec-75ef,U+75f2-75f3,U+75f5-75f8,U+75fa-75fb,U+75fd-75fe,U+7602,U+7604,U+7606-7609,U+760b,U+760d-760f,U+7611-7614,U+7616,U+761a,U+761c-761e,U+7621,U+7623,U+7627-7628,U+762c,U+762e-762f,U+7631-7632,U+7636-7637,U+7639-763b,U+763d,U+7641-7642,U+7644-764b,U+764e-7653,U+7655,U+7657-765b,U+765d,U+765f-7662,U+7664-766a,U+766c-766e,U+7670-7677,U+7679-767a,U+767c,U+767f-7681,U+7683,U+7685,U+7689-768a,U+768c-768d,U+768f-7690,U+7692,U+7694-7695,U+7697-7698,U+769a-76a3,U+76a5-76ad`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2`,descriptors:{unicodeRange:`U+7492-749b,U+749d,U+749f-74a6,U+74aa-74b9,U+74bb-74d1,U+74d3-74db,U+74dd,U+74df,U+74e1,U+74e5,U+74e7-74ed,U+74f0-74f3,U+74f5,U+74f8-74fe,U+7500-7503,U+7505-750c,U+750e,U+7510,U+7512,U+7514-7517,U+751b,U+751d-751e,U+7520-7524,U+7526-7527,U+752a,U+752e,U+7534,U+7536,U+7539,U+753c-753d,U+753f,U+7541-7544,U+7546-7547,U+7549-754a,U+754d,U+7550-7553,U+7555-7558,U+755d-7564,U+7567-7569,U+756b-7571,U+7573,U+7575-7577,U+757a-757e,U+7580-7582,U+7584-7585,U+7587-7588`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2`,descriptors:{unicodeRange:`U+7372-737d,U+737f-7383,U+7385-7386,U+7388,U+738a,U+738c-738d,U+738f-7390,U+7392-7395,U+7397-739a,U+739c-739e,U+73a0-73a1,U+73a3-73a8,U+73aa,U+73ac-73ad,U+73b1,U+73b4-73b6,U+73b8-73b9,U+73bc-73bf,U+73c1,U+73c3-73c7,U+73cb-73cc,U+73ce,U+73d2-73d8,U+73da-73dd,U+73df,U+73e1-73e4,U+73e6,U+73e8,U+73ea-73ec,U+73ee-73f1,U+73f3-7402,U+7404,U+7407-7408,U+740b-740e,U+7411-7419,U+741c-7421,U+7423-7424,U+7427,U+7429,U+742b,U+742d,U+742f,U+7431-7432,U+7437-743b,U+743d-7440,U+7442-7454,U+7456,U+7458,U+745d,U+7460-746c,U+746e-746f,U+7471-7475,U+7478-747d,U+747f,U+7482,U+7484-7486,U+7488-748a,U+748c-748d,U+748f,U+7491`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2`,descriptors:{unicodeRange:`U+7054-705d,U+705f-706a,U+706e,U+7071-7074,U+7077,U+7079-707b,U+707d,U+7081-7084,U+7086-7088,U+708b-708d,U+708f-7091,U+7093,U+7097-7098,U+709a-709b,U+709e-70aa,U+70b0,U+70b2,U+70b4-70b6,U+70ba,U+70be-70bf,U+70c4-70c7,U+70c9,U+70cb-70d7,U+70da,U+70dc-70de,U+70e0-70e3,U+70e5,U+70ea,U+70ee,U+70f0-70f6,U+70f8,U+70fa-70fc,U+70fe-7108,U+710b-710f,U+7111-7112,U+7114,U+7117,U+711b-7125,U+7127-712e,U+7132-7135,U+7137-7144,U+7146-7149,U+714b,U+714d,U+714f-715b,U+715d,U+715f-7163,U+7165,U+7169-716d,U+716f-7171,U+7174-7177`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2`,descriptors:{unicodeRange:`U+722e-722f,U+7232-7234,U+723a,U+723c,U+723e,U+7240-7246,U+7249-724b,U+724e-7251,U+7253-7255,U+7257-7258,U+725a,U+725c,U+725e,U+7260,U+7263-7265,U+7268,U+726a-726d,U+7270-7271,U+7273-7274,U+7276-7278,U+727b-727d,U+7282-7283,U+7285-7289,U+728c,U+728e,U+7290-7291,U+7293-729e,U+72a0-72ab,U+72ae,U+72b1-72b3,U+72b5,U+72ba-72c0,U+72c5-72c7,U+72c9-72cc,U+72cf,U+72d1,U+72d3-72d6,U+72d8,U+72da-72dd,U+72df,U+72e2-72e7,U+72ea-72eb,U+72f5-72f6,U+72f9,U+72fd-7300,U+7302,U+7304-7309,U+730b-730d,U+730f-7312,U+7314,U+7318-731a,U+731f-7320,U+7323-7324,U+7326-7328,U+732d,U+732f-7330,U+7332-7333,U+7335-7336,U+733a-733d,U+7340-734c,U+734e-734f,U+7351,U+7353-7356,U+7358-735f,U+7361-736b,U+736e,U+7370-7371`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2`,descriptors:{unicodeRange:`U+6ec5-6ec6,U+6ec8-6eca,U+6ecc-6ece,U+6ed0,U+6ed2,U+6ed6,U+6ed8-6ed9,U+6edb-6edd,U+6ee3,U+6ee7,U+6eea-6ef3,U+6ef5-6ef8,U+6efa-6f01,U+6f03-6f05,U+6f07-6f08,U+6f0a-6f0e,U+6f10-6f12,U+6f16-6f1f,U+6f21-6f23,U+6f25-6f28,U+6f2c,U+6f2e,U+6f30,U+6f32,U+6f34-6f35,U+6f37-6f3d,U+6f3f-6f45,U+6f48-6f4a,U+6f4c,U+6f4e-6f57,U+6f59-6f5b,U+6f5d,U+6f5f-6f61,U+6f63-6f65,U+6f67-6f6c,U+6f6f-6f71,U+6f73,U+6f75-6f77,U+6f79,U+6f7b,U+6f7d-6f83,U+6f85-6f87,U+6f8a-6f8b,U+6f8f-6f9b,U+6f9d-6fa0,U+6fa2-6fa6,U+6fa8-6fb1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2`,descriptors:{unicodeRange:`U+6d73,U+6d75-6d76,U+6d79-6d7b,U+6d7d-6d81,U+6d83-6d84,U+6d86-6d87,U+6d8a-6d8b,U+6d8d,U+6d8f-6d90,U+6d92,U+6d96-6d9a,U+6d9c,U+6da2,U+6da5,U+6dac-6dad,U+6db0-6db1,U+6db3-6db4,U+6db6-6db7,U+6db9-6dbe,U+6dc1-6dc3,U+6dc8-6dca,U+6dcd-6dd0,U+6dd2-6dd5,U+6dd7,U+6dda-6ddc,U+6ddf,U+6de2-6de3,U+6de5,U+6de7-6dea,U+6ded,U+6def-6df0,U+6df2,U+6df4-6df6,U+6df8,U+6dfa,U+6dfd-6e04,U+6e06-6e09,U+6e0b,U+6e0f,U+6e12-6e13,U+6e15,U+6e18-6e19,U+6e1b-6e1c,U+6e1e-6e1f,U+6e22,U+6e26-6e28,U+6e2a,U+6e2c,U+6e2e,U+6e30-6e31,U+6e33,U+6e35-6e37,U+6e39,U+6e3b-6e42,U+6e45-6e4c,U+6e4f-6e52,U+6e55,U+6e57,U+6e59-6e5a,U+6e5c-6e5e,U+6e60-6e6a,U+6e6c-6e6d,U+6e6f-6e7d,U+6e80-6e82,U+6e84,U+6e87-6e88,U+6e8a-6e8e,U+6e91-6e97,U+6e99-6e9b,U+6e9d-6e9e,U+6ea0-6ea1,U+6ea3-6ea4,U+6ea6,U+6ea8-6ea9,U+6eab-6eae,U+6eb0,U+6eb3,U+6eb5,U+6eb8-6eb9,U+6ebc,U+6ebe-6ec0,U+6ec3-6ec4`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2`,descriptors:{unicodeRange:`U+6bbb-6bbe,U+6bc0,U+6bc3-6bc4,U+6bc6-6bca,U+6bcc,U+6bce,U+6bd0-6bd1,U+6bd8,U+6bda,U+6bdc-6be0,U+6be2-6be9,U+6bec-6bee,U+6bf0-6bf2,U+6bf4,U+6bf6-6bf8,U+6bfa-6bfc,U+6bfe-6c04,U+6c08-6c0c,U+6c0e,U+6c12,U+6c17,U+6c1c-6c1e,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d,U+6c31,U+6c33,U+6c36-6c37,U+6c39-6c3c,U+6c3e-6c3f,U+6c43-6c45,U+6c48,U+6c4b-6c4f,U+6c51-6c53,U+6c56,U+6c58-6c5a,U+6c62-6c63,U+6c65-6c67,U+6c6b-6c6f,U+6c71,U+6c73,U+6c75,U+6c77-6c78,U+6c7a-6c7c,U+6c7f-6c80,U+6c84,U+6c87,U+6c8a-6c8b,U+6c8d-6c8e,U+6c91-6c92,U+6c95-6c98,U+6c9a,U+6c9c-6c9e,U+6ca0,U+6ca2,U+6ca8,U+6cac,U+6caf-6cb0,U+6cb4-6cb7,U+6cba,U+6cc0-6cc3,U+6cc6-6cc8,U+6ccb,U+6ccd-6ccf,U+6cd1-6cd2,U+6cd8-6cda,U+6cdc-6cdd,U+6cdf,U+6ce4,U+6ce6-6ce7,U+6ce9,U+6cec-6ced,U+6cf2,U+6cf4,U+6cf9,U+6cff-6d00,U+6d02-6d03,U+6d05-6d06,U+6d08-6d0a,U+6d0d,U+6d0f-6d11,U+6d13-6d16,U+6d18,U+6d1c-6d1d,U+6d1f-6d24,U+6d26,U+6d28-6d29,U+6d2c-6d2d,U+6d2f-6d30,U+6d34,U+6d36-6d38,U+6d3a,U+6d3f-6d40,U+6d42,U+6d44,U+6d49,U+6d4c,U+6d50,U+6d55-6d58,U+6d5b,U+6d5d,U+6d5f,U+6d61-6d62,U+6d64-6d65,U+6d67-6d68,U+6d6b-6d6d,U+6d70-6d72`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2`,descriptors:{unicodeRange:`U+6967-696a,U+696c-696d,U+696f-6970,U+6972-6976,U+697a-697b,U+697d-697f,U+6981,U+6983,U+6985,U+698a-698c,U+698e-6993,U+6996-6997,U+6999-699a,U+699d-69a6,U+69a9-69aa,U+69ac,U+69ae-69b0,U+69b2-69b3,U+69b5-69b6,U+69b8-69ba,U+69bc-69c0,U+69c2-69c9,U+69cb,U+69cd,U+69cf,U+69d1-69d3,U+69d5-69da,U+69dc-69de,U+69e1-69ec,U+69ee-69f1,U+69f3-69fc,U+69fe,U+6a00-6a09,U+6a0b-6a16,U+6a19-6a1e,U+6a20,U+6a22-6a27,U+6a29,U+6a2b-6a2e,U+6a30,U+6a32-6a34,U+6a36-6a3c,U+6a3f-6a43,U+6a45-6a46,U+6a48-6a4a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2`,descriptors:{unicodeRange:`U+6830-6831,U+6834-6836,U+683a-683b,U+683f,U+6847,U+684b,U+684d,U+684f,U+6852,U+6856-685f,U+686a,U+686c-6873,U+6875,U+6878-6880,U+6882,U+6884,U+6887-688e,U+6890-6892,U+6894-6896,U+6898-68a1,U+68a3-68a5,U+68a9-68ac,U+68ae,U+68b1-68b2,U+68b4,U+68b6-68bf,U+68c1,U+68c3-68c8,U+68ca,U+68cc,U+68ce-68d1,U+68d3-68d4,U+68d6-68d7,U+68d9,U+68db-68df,U+68e1-68e2,U+68e4-68ed,U+68ef,U+68f2-68f4,U+68f6-68f8,U+68fb,U+68fd-6900,U+6902-6904,U+6906-690a,U+690c,U+690f,U+6911,U+6913-691e,U+6921-6923,U+6925-692c,U+692e-692f,U+6931-6933,U+6935-6938,U+693a-693c,U+693e,U+6940-6941,U+6943-6953,U+6955-6956,U+6958-6959,U+695b-695c,U+695f,U+6961-6962,U+6964-6965`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2`,descriptors:{unicodeRange:`U+66b8,U+66ba-66bd,U+66bf-66d8,U+66da,U+66de-66e5,U+66e7-66e8,U+66ea-66ef,U+66f1,U+66f5-66f6,U+66f8,U+66fa-66fb,U+66fd,U+6701-6707,U+670c,U+670e-670f,U+6711-6713,U+6716,U+6718-671a,U+671c,U+671e,U+6720-6725,U+6727,U+6729,U+672e,U+6730,U+6732-6733,U+6736-6739,U+673b-673c,U+673e-673f,U+6741,U+6744-6745,U+6747,U+674a-674b,U+674d,U+6752,U+6754-6755,U+6757-675b,U+675d,U+6762-6764,U+6766-6767,U+676b-676c,U+676e,U+6771,U+6774,U+6776,U+6778-677b,U+677d,U+6780,U+6782-6783,U+6785-6786,U+6788,U+678a,U+678c-678f,U+6791-6794,U+6796,U+6799,U+679b,U+679f-67a1,U+67a4,U+67a6,U+67a9,U+67ac,U+67ae,U+67b1-67b2,U+67b4,U+67b9-67c0,U+67c2,U+67c5-67ce,U+67d5-67d7,U+67db,U+67df,U+67e1,U+67e3-67e4,U+67e6-67e8,U+67ea-67eb,U+67ed-67ee,U+67f2,U+67f5-67fc,U+67fe,U+6801-6804,U+6806,U+680d,U+6810,U+6812,U+6814-6815,U+6818-681c,U+681e-6820,U+6822-6828,U+682b-682f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2`,descriptors:{unicodeRange:`U+6569-656a,U+656d-656f,U+6571,U+6573,U+6575-6576,U+6578-6586,U+6588-658a,U+658d-658f,U+6592,U+6594-6596,U+6598,U+659a,U+659d-659e,U+65a0,U+65a2-65a3,U+65a6,U+65a8,U+65aa,U+65ac,U+65ae,U+65b1-65b8,U+65ba-65bb,U+65be-65c0,U+65c2,U+65c7-65ca,U+65cd,U+65d0-65d1,U+65d3-65d5,U+65d8-65df,U+65e1,U+65e3-65e4,U+65ea-65eb,U+65f2-65f5,U+65f8-65f9,U+65fb-65ff,U+6601,U+6604-6605,U+6607-6609,U+660b,U+660d,U+6610-6612,U+6616-6618,U+661a-661c,U+661e,U+6621-6624,U+6626,U+6629-662c,U+662e,U+6630,U+6632-6633,U+6637-663b,U+663d,U+663f-6640,U+6642,U+6644-664a,U+664d-664e,U+6650-6651,U+6658-6659,U+665b-665e,U+6660,U+6662-6663,U+6665,U+6667,U+6669-666d,U+6671-6673,U+6675,U+6678-6679,U+667b-667d,U+667f-6681,U+6683,U+6685-6686,U+6688-668b,U+668d-6690,U+6692-6695,U+6698-669c,U+669e-66a6,U+66a9-66ad,U+66af-66b3,U+66b5-66b7`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2`,descriptors:{unicodeRange:`U+5f30,U+5f32-5f38,U+5f3b,U+5f3d-5f3f,U+5f41-5f4f,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e-5f60,U+5f63,U+5f65,U+5f67-5f68,U+5f6b,U+5f6e-5f6f,U+5f72,U+5f74-5f76,U+5f78,U+5f7a,U+5f7d-5f7f,U+5f83,U+5f86,U+5f8d-5f8f,U+5f91,U+5f93-5f94,U+5f96,U+5f9a-5f9b,U+5f9d-5fa0,U+5fa2-5fa7,U+5fa9,U+5fab-5fac,U+5faf-5fb4,U+5fb6,U+5fb8-5fbb,U+5fbe-5fc2,U+5fc7-5fc8,U+5fca-5fcb,U+5fce,U+5fd3-5fd5,U+5fda-5fdc,U+5fde-5fdf,U+5fe2-5fe3,U+5fe5-5fe6,U+5fe8-5fe9,U+5fec,U+5fef-5ff0,U+5ff2-5ff4,U+5ff6-5ff7,U+5ff9-5ffa,U+5ffc,U+6007-6009,U+600b-600c,U+6010-6011,U+6013,U+6017-6018,U+601a,U+601e-601f,U+6022-6024,U+602c-602e,U+6030-6034,U+6036-603a,U+603d-603e,U+6040,U+6044-604a,U+604c,U+604e-604f,U+6051,U+6053-6054,U+6056-6058,U+605b-605c,U+605e-6061,U+6065-6066,U+606e,U+6071-6072,U+6074-6075,U+6077,U+607e,U+6080-6082,U+6085-6088,U+608a-608b,U+608e-6091,U+6093,U+6095,U+6097-6099,U+609c,U+609e,U+60a1-60a2,U+60a4-60a5,U+60a7,U+60a9-60aa,U+60ae,U+60b0,U+60b3,U+60b5-60b7,U+60b9-60ba,U+60bd-60c4,U+60c7-60c9,U+60cc`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2`,descriptors:{unicodeRange:`U+635a-635d,U+6360,U+6364-6366,U+6368,U+636a-636c,U+636f-6370,U+6372-6375,U+6378-6379,U+637c-637f,U+6381,U+6383-6386,U+638b,U+638d,U+6391,U+6393-6395,U+6397,U+6399-639f,U+63a1,U+63a4,U+63a6,U+63ab,U+63af,U+63b1-63b2,U+63b5-63b6,U+63b9,U+63bb,U+63bd,U+63bf-63c3,U+63c5,U+63c7-63c8,U+63ca-63cc,U+63d1,U+63d3-63d5,U+63d7-63dd,U+63df,U+63e2,U+63e4-63e8,U+63eb-63ec,U+63ee-63f1,U+63f3,U+63f5,U+63f7,U+63f9-63fc,U+63fe,U+6403-6404,U+6406-640a,U+640d-640e,U+6411-6412,U+6415-641a,U+641d,U+641f,U+6422-6425,U+6427-6429,U+642b,U+642e-6433,U+6435-6439,U+643b-643c,U+643e,U+6440,U+6442-6443,U+6449,U+644b-6451,U+6453,U+6455-6457,U+6459-645d,U+645f-6466,U+6468,U+646a-646c,U+646e-6477,U+647b-6481,U+6483,U+6486,U+6488-648f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2`,descriptors:{unicodeRange:`U+61c5-61c7,U+61c9,U+61cc-61d0,U+61d3,U+61d5-61e5,U+61e7-61f4,U+61f6-61fe,U+6200-6205,U+6207,U+6209,U+6213-6214,U+6219,U+621c-621e,U+6220,U+6223,U+6226-6229,U+622b,U+622d,U+622f-6232,U+6235-6236,U+6238-623c,U+6242,U+6244-6246,U+624a,U+624f-6250,U+6255-6257,U+6259-625a,U+625c-6262,U+6264-6265,U+6268,U+6271-6272,U+6274-6275,U+6277-6278,U+627a-627b,U+627d,U+6281-6283,U+6285-6288,U+628b-6290,U+6294,U+6299,U+629c-629e,U+62a3,U+62a6-62a7,U+62a9-62aa,U+62ad-62b0,U+62b2-62b4,U+62b6-62b8,U+62ba,U+62be,U+62c0-62c1,U+62c3,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd-62de,U+62e0-62e1,U+62e4,U+62ea-62eb,U+62f0,U+62f2,U+62f5,U+62f8-62fb,U+6300,U+6303-6306,U+630a-630d,U+630f-6310,U+6312-6315,U+6317-6319,U+631c,U+6326-6327,U+6329,U+632c-632e,U+6330-6331,U+6333-6338,U+633b-633c,U+633e-6341,U+6344,U+6347-6348,U+634a,U+6351-6354,U+6356-6359`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2`,descriptors:{unicodeRange:`U+5dd0-5dda,U+5ddc,U+5ddf-5de0,U+5de3-5de4,U+5dea,U+5dec-5ded,U+5df0,U+5df5-5df6,U+5df8-5dfc,U+5dff-5e00,U+5e04,U+5e07,U+5e09-5e0b,U+5e0d-5e0e,U+5e12-5e13,U+5e17,U+5e1e-5e25,U+5e28-5e2c,U+5e2f-5e30,U+5e32-5e36,U+5e39-5e3a,U+5e3e-5e41,U+5e43,U+5e46-5e4b,U+5e4d-5e53,U+5e56-5e5a,U+5e5c-5e5d,U+5e5f-5e60,U+5e63-5e71,U+5e75,U+5e77,U+5e79,U+5e7e,U+5e81-5e83,U+5e85,U+5e88-5e89,U+5e8c-5e8e,U+5e92,U+5e98,U+5e9b,U+5e9d,U+5ea1-5ea4,U+5ea8-5eac,U+5eae-5eb2,U+5eb4,U+5eba-5ebd,U+5ebf-5ec8,U+5ecb-5ed0,U+5ed4-5ed5,U+5ed7-5eda,U+5edc-5ee7,U+5ee9,U+5eeb-5ef3,U+5ef5,U+5ef8-5ef9,U+5efb-5efd,U+5f05-5f07,U+5f09,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f16,U+5f19-5f1a,U+5f1c-5f1e,U+5f21-5f24,U+5f28,U+5f2b-5f2c,U+5f2e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2`,descriptors:{unicodeRange:`U+60cd-60d0,U+60d2-60d4,U+60d6-60d7,U+60d9,U+60db,U+60de,U+60e1-60e5,U+60ea,U+60f1-60f2,U+60f5,U+60f7-60f8,U+60fb-60ff,U+6102-6105,U+6107,U+610a-610c,U+6110-6114,U+6116-6119,U+611b-611e,U+6121-6122,U+6125,U+6128-612a,U+612c-613e,U+6140-6147,U+6149,U+614b,U+614d,U+614f-6150,U+6152-6154,U+6156-615c,U+615e-6161,U+6163-6166,U+6169-616f,U+6171-6174,U+6176,U+6178-618a,U+618c-618d,U+618f-6193,U+6195-619c,U+619e-61a6,U+61aa-61ab,U+61ad-61b6,U+61b8-61bd,U+61bf-61c1,U+61c3-61c4`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2`,descriptors:{unicodeRange:`U+5cf4-5cfa,U+5cfc-5d01,U+5d04-5d05,U+5d08-5d0d,U+5d0f-5d13,U+5d15,U+5d17-5d1a,U+5d1c-5d1d,U+5d1f-5d23,U+5d25,U+5d28,U+5d2a-5d2c,U+5d2f-5d33,U+5d35-5d3c,U+5d3f-5d46,U+5d48-5d49,U+5d4d-5d57,U+5d59-5d5a,U+5d5c,U+5d5e-5d68,U+5d6a,U+5d6d-5d6e,U+5d70-5d73,U+5d75-5d81,U+5d83-5d98,U+5d9a-5d9c,U+5d9e-5db6,U+5db8-5dc4,U+5dc6-5dcc,U+5dce-5dcf`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2`,descriptors:{unicodeRange:`U+5b52,U+5b56,U+5b5e,U+5b60-5b61,U+5b67-5b68,U+5b6b,U+5b6d-5b6f,U+5b72,U+5b74,U+5b76-5b79,U+5b7b-5b7c,U+5b7e-5b7f,U+5b82,U+5b86,U+5b8a,U+5b8d-5b8e,U+5b90-5b92,U+5b94,U+5b96,U+5b9f,U+5ba7-5ba9,U+5bac-5baf,U+5bb1-5bb2,U+5bb7,U+5bba-5bbc,U+5bc0-5bc1,U+5bc3,U+5bc8-5bcb,U+5bcd-5bcf,U+5bd1,U+5bd4-5bdc,U+5be0,U+5be2-5be3,U+5be6-5be7,U+5be9-5bed,U+5bef,U+5bf1-5bf7,U+5bfd-5bfe,U+5c00,U+5c02-5c03,U+5c05,U+5c07-5c08,U+5c0b-5c0e,U+5c10,U+5c12-5c13,U+5c17,U+5c19,U+5c1b,U+5c1e-5c21,U+5c23,U+5c26,U+5c28-5c2b,U+5c2d-5c30,U+5c32-5c33,U+5c35-5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c54,U+5c56-5c58,U+5c5a-5c5d,U+5c5f,U+5c62,U+5c64,U+5c67-5c6d,U+5c70,U+5c72-5c78,U+5c7b-5c7e,U+5c80,U+5c83-5c87,U+5c89-5c8b,U+5c8e-5c8f,U+5c92-5c93,U+5c95,U+5c9d-5ca1,U+5ca4-5ca8,U+5caa,U+5cae-5cb0,U+5cb2,U+5cb4,U+5cb6,U+5cb9-5cbc,U+5cbe,U+5cc0,U+5cc2-5cc3,U+5cc5-5cca,U+5ccc-5cd1,U+5cd3-5cd8,U+5cda-5ce0,U+5ce2-5ce3,U+5ce7,U+5ce9,U+5ceb-5cec,U+5cee-5cef,U+5cf1-5cf3`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2`,descriptors:{unicodeRange:`U+593b,U+593d-5940,U+5943,U+5945-5946,U+594a,U+594c-594d,U+5950,U+5952-5953,U+5959,U+595b-595f,U+5961,U+5963-5964,U+5966-5972,U+5975,U+5977,U+597a-597c,U+597e-5980,U+5985,U+5989,U+598b-598c,U+598e-5991,U+5994-5995,U+5998,U+599a-599d,U+599f-59a2,U+59a6-59a7,U+59ac-59ad,U+59b0-59b1,U+59b3-59b8,U+59ba,U+59bc-59bd,U+59bf-59c5,U+59c7-59c9,U+59cc-59cf,U+59d5-59d6,U+59d9,U+59db,U+59de-59e2,U+59e4,U+59e6-59e7,U+59e9-59eb,U+59ed-59f8,U+59fa,U+59fc-59fe,U+5a00,U+5a02,U+5a0a-5a0b,U+5a0d-5a10,U+5a12,U+5a14-5a17,U+5a19-5a1b,U+5a1d-5a1e,U+5a21-5a22,U+5a24,U+5a26-5a28,U+5a2a-5a30,U+5a33,U+5a35,U+5a37-5a3b,U+5a3d-5a3f,U+5a41-5a45,U+5a47-5a48,U+5a4b-5a54,U+5a56-5a59,U+5a5b-5a61,U+5a63-5a66,U+5a68-5a69,U+5a6b-5a73,U+5a78-5a79,U+5a7b-5a7e,U+5a80-5a90`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2`,descriptors:{unicodeRange:`U+5a91,U+5a93-5a99,U+5a9c-5aa9,U+5aab-5ab1,U+5ab4,U+5ab6-5ab7,U+5ab9-5abd,U+5abf-5ac0,U+5ac3-5ac8,U+5aca-5acb,U+5acd-5ad1,U+5ad3,U+5ad5,U+5ad7,U+5ad9-5adb,U+5add-5adf,U+5ae2,U+5ae4-5ae5,U+5ae7-5ae8,U+5aea,U+5aec-5af0,U+5af2-5b08,U+5b0a-5b15,U+5b18-5b31,U+5b33,U+5b35-5b36,U+5b38-5b3f,U+5b41-5b4f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2`,descriptors:{unicodeRange:`U+5843,U+5845-584b,U+584e-5850,U+5852-5853,U+5855-5857,U+5859-585d,U+585f-5864,U+5866-586a,U+586d-587d,U+587f,U+5882,U+5884,U+5886-5888,U+588a-5891,U+5894-5898,U+589b-589d,U+58a0-58a7,U+58aa-58bb,U+58bd-58c0,U+58c2-58c4,U+58c6-58d0,U+58d2-58d4,U+58d6-58e3,U+58e5-58ea,U+58ed,U+58ef,U+58f1-58f2,U+58f4-58f5,U+58f7-58f8,U+58fa-5901,U+5903,U+5905-5906,U+5908-590c,U+590e,U+5910-5913,U+5917-5918,U+591b,U+591d-591e,U+5920-5923,U+5926,U+5928,U+592c,U+5930,U+5932-5933,U+5935-5936`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2`,descriptors:{unicodeRange:`U+56d0-56d3,U+56d5-56d6,U+56d8-56d9,U+56dc,U+56e3,U+56e5-56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f6-56f8,U+56fb-56fc,U+5700-5702,U+5705,U+5707,U+570b-571b,U+571d-571e,U+5720-5722,U+5724-5727,U+572b,U+5731-5732,U+5734-5738,U+573c-573d,U+573f,U+5741,U+5743-5746,U+5748-5749,U+574b,U+5752-5756,U+5758-5759,U+5762-5763,U+5765,U+5767,U+576c,U+576e,U+5770-5772,U+5774-5775,U+5778-577a,U+577d-5781,U+5787-578a,U+578d-5791,U+5794-579a,U+579c-579f,U+57a5,U+57a8,U+57aa,U+57ac,U+57af-57b1,U+57b3,U+57b5-57b7,U+57b9-57c1,U+57c4-57ca,U+57cc-57cd,U+57d0-57d1,U+57d3,U+57d6-57d7,U+57db-57dc,U+57de,U+57e1-57e3,U+57e5-57ec,U+57ee,U+57f0-57f3,U+57f5-57f7,U+57fb-57fc,U+57fe-57ff,U+5801,U+5803-5805,U+5808-580a,U+580c,U+580e-5810,U+5812-5814,U+5816-5818,U+581a-581d,U+581f,U+5822-5823,U+5825-5829,U+582b-582f,U+5831-5834,U+5836-5842`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2`,descriptors:{unicodeRange:`U+55f9-55fc,U+55ff,U+5602-5607,U+560a-560b,U+560d,U+5610-5617,U+5619-561a,U+561c-561d,U+5620-5622,U+5625-5626,U+5628-562b,U+562e-5630,U+5633,U+5635,U+5637-5638,U+563a,U+563c-563e,U+5640-564b,U+564f-5653,U+5655-5656,U+565a-565b,U+565d-5661,U+5663,U+5665-5667,U+566d-5670,U+5672-5675,U+5677-567a,U+567d-5684,U+5687-568d,U+5690-5692,U+5694-56a2,U+56a4-56ae,U+56b0-56b6,U+56b8-56bb,U+56bd-56c9,U+56cb-56cf`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2`,descriptors:{unicodeRange:`U+5286-5287,U+5289-528f,U+5291-5292,U+5294-529a,U+529c,U+52a4-52a7,U+52ae-52b0,U+52b4-52bd,U+52c0-52c2,U+52c4-52c6,U+52c8,U+52ca,U+52cc-52cf,U+52d1,U+52d3-52d5,U+52d7,U+52d9-52de,U+52e0-52e3,U+52e5-52ef,U+52f1-52f8,U+52fb-52fd,U+5301-5304,U+5307,U+5309-530c,U+530e,U+5311-5314,U+5318,U+531b-531c,U+531e-531f,U+5322,U+5324-5325,U+5327-5329,U+532b-532d,U+532f-5338,U+533c-533d,U+5340,U+5342,U+5344,U+5346,U+534b-534d,U+5350,U+5354,U+5358-5359,U+535b,U+535d,U+5365,U+5368,U+536a,U+536c-536d,U+5372,U+5376,U+5379,U+537b-537e,U+5380-5381,U+5383,U+5387-5388,U+538a,U+538e-5394,U+5396-5397,U+5399,U+539b-539c,U+539e,U+53a0-53a1,U+53a4,U+53a7,U+53aa-53ad,U+53af-53b5,U+53b7-53ba,U+53bc-53be,U+53c0,U+53c3-53c7,U+53ce-53d0,U+53d2-53d3,U+53d5,U+53da,U+53dc-53de,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+53fe-5400,U+5402,U+5405,U+5407,U+540b,U+5414,U+5418-541a,U+541c,U+5422,U+5424-5425,U+542a,U+5430,U+5433,U+5436-5437,U+543a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2`,descriptors:{unicodeRange:`U+5101-5105,U+5108-510a,U+510c-5111,U+5113-5120,U+5122-513e,U+5142,U+5147,U+514a,U+514c,U+514e-5150,U+5152-5153,U+5157-5159,U+515b,U+515d-5161,U+5163-5164,U+5166-5167,U+5169-516a,U+516f,U+5172,U+517a,U+517e-517f,U+5183-5184,U+5186-5187,U+518a-518b,U+518e-5191,U+5193-5194,U+5198,U+519a,U+519d-519f,U+51a1,U+51a3,U+51a6-51aa,U+51ad-51ae,U+51b4,U+51b8-51ba,U+51be-51bf,U+51c1-51c3,U+51c5,U+51c8,U+51ca,U+51cd-51ce,U+51d0,U+51d2-51da,U+51dc,U+51de-51df,U+51e2-51e3,U+51e5-51ea,U+51ec,U+51ee,U+51f1-51f2,U+51f4,U+51f7,U+51fe,U+5204-5205,U+5209,U+520b-520c,U+520f-5210,U+5213-5215,U+521c,U+521e-521f,U+5221-5223,U+5225-5227,U+522a,U+522c,U+522f,U+5231-5232,U+5234-5235,U+523c,U+523e,U+5244-5249,U+524b,U+524e-524f,U+5252-5253,U+5255,U+5257-525b,U+525d,U+525f-5260,U+5262-5264,U+5266,U+5268,U+526b-526e,U+5270-5271,U+5273-527c,U+527e,U+5280,U+5283-5285`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2`,descriptors:{unicodeRange:`U+543d,U+543f,U+5441-5442,U+5444-5445,U+5447,U+5449,U+544c-544f,U+5451,U+545a,U+545d-5461,U+5463,U+5465,U+5467,U+5469-5470,U+5474,U+5479-547a,U+547e-547f,U+5481,U+5483,U+5485,U+5487-548a,U+548d,U+5491,U+5493,U+5497-5498,U+549c,U+549e-54a2,U+54a5,U+54ae,U+54b0,U+54b2,U+54b5-54b7,U+54b9-54ba,U+54bc,U+54be,U+54c3,U+54c5,U+54ca-54cb,U+54d6,U+54d8,U+54db,U+54e0-54e4,U+54eb-54ec,U+54ef-54f1,U+54f4-54f9,U+54fb,U+54fe,U+5500,U+5502-5505,U+5508,U+550a-550e,U+5512-5513,U+5515-551a,U+551c-551f,U+5521,U+5525-5526,U+5528-5529,U+552b,U+552d,U+5532,U+5534-5536,U+5538-553b,U+553d,U+5540,U+5542,U+5545,U+5547-5548,U+554b-554f,U+5551-5554,U+5557-555b,U+555d-5560,U+5562-5563,U+5568-5569,U+556b,U+556f-5574,U+5579-557a,U+557d,U+557f,U+5585-5586,U+558c-558e,U+5590,U+5592-5593,U+5595-5597,U+559a-559b,U+559e,U+55a0-55a6,U+55a8-55b0,U+55b2,U+55b4,U+55b6,U+55b8,U+55ba,U+55bc,U+55bf-55c3,U+55c6-55c8,U+55ca-55cb,U+55ce-55d0,U+55d5,U+55d7-55db,U+55de,U+55e0,U+55e2,U+55e7,U+55e9,U+55ed-55ee,U+55f0-55f1,U+55f4,U+55f6,U+55f8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2`,descriptors:{unicodeRange:`U+4fe0,U+4fe2,U+4fe4-4fe5,U+4fe7,U+4feb-4fec,U+4ff0,U+4ff2,U+4ff4-4ff7,U+4ff9,U+4ffb-4ffd,U+4fff-500b,U+500e,U+5010-5011,U+5013,U+5015-5017,U+501b,U+501d-501e,U+5020,U+5022-5024,U+5027,U+502b,U+502f-5039,U+503b,U+503d,U+503f-5042,U+5044-5046,U+5049-504b,U+504d,U+5050-5054,U+5056-5059,U+505b,U+505d-5064,U+5066-506b,U+506d-5075,U+5078-507a,U+507c-507d,U+5081-5084,U+5086-5087,U+5089-508c,U+508e-50a2,U+50a4,U+50a6,U+50aa-50ab,U+50ad-50b1,U+50b3-50b9,U+50bc-50ce,U+50d0-50d5,U+50d7-50d9,U+50db-50e5,U+50e8-50eb,U+50ef-50f2,U+50f4,U+50f6-50fa,U+50fc-5100`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2`,descriptors:{unicodeRange:`U+49d5-4a77`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2`,descriptors:{unicodeRange:`U+4dac-4dad,U+4daf-4db5,U+4e02,U+4e04-4e06,U+4e0f,U+4e12,U+4e17,U+4e1f-4e21,U+4e23,U+4e26,U+4e29,U+4e2e-4e2f,U+4e31,U+4e33,U+4e35,U+4e37,U+4e3c,U+4e40-4e42,U+4e44,U+4e46,U+4e4a,U+4e51,U+4e55,U+4e57,U+4e5a-4e5b,U+4e62-4e65,U+4e67-4e68,U+4e6a-4e6f,U+4e72,U+4e74-4e7d,U+4e7f-4e85,U+4e87,U+4e8a,U+4e90,U+4e96-4e97,U+4e99,U+4e9c-4e9e,U+4ea3,U+4eaa,U+4eaf-4eb1,U+4eb4,U+4eb6-4eb9,U+4ebc-4ebe,U+4ec8,U+4ecc,U+4ecf-4ed0,U+4ed2,U+4eda-4edc,U+4ee0,U+4ee2,U+4ee6-4ee7,U+4ee9,U+4eed-4eef,U+4ef1,U+4ef4,U+4ef8-4efa,U+4efc,U+4efe,U+4f00,U+4f02-4f08,U+4f0b-4f0c,U+4f12-4f16,U+4f1c-4f1d,U+4f21,U+4f23,U+4f28-4f29,U+4f2c-4f2e,U+4f31,U+4f33,U+4f35,U+4f37,U+4f39,U+4f3b,U+4f3e-4f42,U+4f44-4f45,U+4f47-4f4c,U+4f52,U+4f54,U+4f56,U+4f61-4f62,U+4f66,U+4f68,U+4f6a-4f6b,U+4f6d-4f6e,U+4f71-4f72,U+4f75,U+4f77-4f7a,U+4f7d,U+4f80-4f82,U+4f85-4f87,U+4f8a,U+4f8c,U+4f8e,U+4f90,U+4f92-4f93,U+4f95-4f96,U+4f98-4f9a,U+4f9c,U+4f9e-4f9f,U+4fa1-4fa2,U+4fa4,U+4fab,U+4fad,U+4fb0-4fb4,U+4fb6-4fbe,U+4fc0-4fc2,U+4fc6-4fc9,U+4fcb-4fcd,U+4fd2-4fd6,U+4fd9,U+4fdb`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2`,descriptors:{unicodeRange:`U+4933-49d4`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2`,descriptors:{unicodeRange:`U+487a-4932`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2`,descriptors:{unicodeRange:`U+47d2-4879,U+2ce7c,U+2ce88,U+2ce93`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2`,descriptors:{unicodeRange:`U+4756-47d1,U+2ca02,U+2ca0e,U+2ca7d,U+2caa9,U+2cb29,U+2cb2e,U+2cb31,U+2cb38-2cb39,U+2cb3f,U+2cb41,U+2cb4e,U+2cb5a,U+2cb64,U+2cb69,U+2cb6c,U+2cb6f,U+2cb76,U+2cb78,U+2cb7c,U+2cbb1,U+2cbbf-2cbc0,U+2cbce,U+2cc5f,U+2ccf5-2ccf6,U+2ccfd,U+2ccff,U+2cd02-2cd03,U+2cd0a,U+2cd8b,U+2cd8d,U+2cd8f-2cd90,U+2cd9f-2cda0,U+2cda8,U+2cdad-2cdae,U+2cdd5,U+2ce18,U+2ce1a,U+2ce23,U+2ce26,U+2ce2a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2`,descriptors:{unicodeRange:`U+46c3-4755,U+2c488,U+2c494,U+2c497,U+2c542,U+2c613,U+2c618,U+2c621,U+2c629,U+2c62b-2c62d,U+2c62f,U+2c642,U+2c64a-2c64b,U+2c72c,U+2c72f,U+2c79f,U+2c7c1,U+2c7fd,U+2c8d9,U+2c8de,U+2c8e1,U+2c8f3,U+2c907,U+2c90a,U+2c91d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2`,descriptors:{unicodeRange:`U+4629-46c2,U+2bdf7,U+2be29,U+2c029-2c02a,U+2c0a9,U+2c0ca,U+2c1d5,U+2c1d9,U+2c1f9,U+2c27c,U+2c288,U+2c2a4,U+2c317,U+2c35b,U+2c361,U+2c364`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2`,descriptors:{unicodeRange:`U+458e-4628,U+2b7a9,U+2b7c5,U+2b7e6,U+2b7f9,U+2b806,U+2b80a,U+2b81c,U+2b8b8,U+2bac7,U+2bb5f,U+2bb62,U+2bb7c,U+2bb83,U+2bc1b,U+2bd77,U+2bd87`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2`,descriptors:{unicodeRange:`U+4449-4511,U+2afa2,U+2b127-2b128,U+2b137-2b138,U+2b1ed`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2`,descriptors:{unicodeRange:`U+439b-4448,U+2a437,U+2a5f1,U+2a602,U+2a61a,U+2a6b2,U+2a7dd,U+2a8fb,U+2a917,U+2aa30,U+2aa36,U+2aa58`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2`,descriptors:{unicodeRange:`U+4275-430d,U+298c6,U+29a72,U+29d98,U+29ddb,U+29e15,U+29e3d,U+29e49`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2`,descriptors:{unicodeRange:`U+4132-41de,U+28bef,U+28c47,U+28c4f,U+28c51,U+28c54,U+28d10,U+28d71,U+28dfb,U+28e1f,U+28e36,U+28e89,U+28e99,U+28eeb,U+28f32,U+28ff8,U+292a0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2`,descriptors:{unicodeRange:`U+41df-4274,U+292b1,U+29490,U+295cf,U+2967f,U+296f0,U+29719,U+29750`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2`,descriptors:{unicodeRange:`U+408e-4131,U+285c8-285c9,U+28678,U+28695,U+286d7,U+286fa,U+287e0,U+28946,U+28949,U+2896b,U+28987-28988,U+289ba-289bb,U+28a1e,U+28a29,U+28a43,U+28a71,U+28a99,U+28acd,U+28add,U+28ae4,U+28b49,U+28bc1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2`,descriptors:{unicodeRange:`U+3e83-3f2f,U+27139,U+273da-273db,U+273fe,U+27410,U+27449,U+27614-27615,U+27631,U+27684,U+27693,U+2770e,U+27723,U+27752`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2`,descriptors:{unicodeRange:`U+3f30-3fdb,U+27985,U+27a84,U+27bb3,U+27bbe,U+27bc7,U+27cb8,U+27da0,U+27e10`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2`,descriptors:{unicodeRange:`U+3fdc-408d,U+27fb7,U+27ff9,U+2808a,U+280bb,U+2815d,U+28277,U+28282,U+282e2,U+282f3,U+283cd,U+28408,U+2840c,U+28455,U+28468,U+2856b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2`,descriptors:{unicodeRange:`U+3dd2-3e82,U+26a58,U+26a8c,U+26ab7,U+26aff,U+26b5c,U+26c21,U+26c29,U+26c73,U+26cdd,U+26e40,U+26e65,U+26f94,U+26ff6-26ff8,U+270f4,U+2710d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2`,descriptors:{unicodeRange:`U+3d34-3dd1,U+2648d,U+26676,U+2667e,U+266b0,U+2671d,U+2677c,U+267cc,U+268dd,U+268ea,U+26951,U+2696f,U+269dd,U+269fa,U+26a1e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2`,descriptors:{unicodeRange:`U+3c76-3d33,U+25d0a,U+25da1,U+25e2e,U+25e56,U+25e62,U+25e65,U+25ec2,U+25ed7-25ed8,U+25ee8,U+25f23,U+25f5c,U+25fd4,U+25fe0,U+25ffb,U+2600c,U+26017,U+26060,U+260ed,U+26221,U+26270,U+26286,U+2634c,U+26402`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2`,descriptors:{unicodeRange:`U+3bda-3c75,U+25771,U+257a9,U+257b4,U+259c4,U+259d4,U+25ae3-25ae4,U+25af1,U+25bb2,U+25c14,U+25c4b,U+25c64`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2`,descriptors:{unicodeRange:`U+3b25-3bd9,U+2504a,U+25055,U+25122,U+2512b,U+251a9,U+251cd,U+251e5,U+2521e,U+2524c,U+2542e,U+2548e,U+254d9,U+2550e,U+25532,U+25562,U+255a7-255a8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2`,descriptors:{unicodeRange:`U+3a6b-3b24,U+24896,U+249db,U+24a4d,U+24a7d,U+24ac9,U+24b56,U+24b6f,U+24c16,U+24d14,U+24dea,U+24e0e,U+24e37,U+24e6a,U+24e8b,U+24eaa`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2`,descriptors:{unicodeRange:`U+39a9-3a6a,U+24096,U+24103,U+241ac,U+241c6,U+241fe,U+243bc,U+243f8,U+244d3,U+24629,U+246a5,U+247f1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2`,descriptors:{unicodeRange:`U+38e3-39a8,U+23a98,U+23c7f,U+23c97-23c98,U+23cfe,U+23d00,U+23d0e,U+23d40,U+23dd3,U+23df9-23dfa,U+23e23,U+23f7e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2`,descriptors:{unicodeRange:`U+3760-382a,U+22ab8,U+22b43,U+22b46,U+22b4f-22b50,U+22ba6,U+22bca,U+22c1d,U+22c24,U+22c55,U+22d4c,U+22de1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2`,descriptors:{unicodeRange:`U+382b-38e2,U+231b6,U+231c3-231c4,U+231f5,U+23350,U+23372,U+233d0,U+233d2-233d3,U+233d5,U+233da,U+233df,U+233e4,U+2344a-2344b,U+23451,U+23465,U+234e4,U+2355a,U+23594,U+235c4,U+235cb,U+23638-2363a,U+23647,U+2370c,U+2371c,U+2373f,U+23763-23764,U+237e7,U+237ff,U+23824,U+2383d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2`,descriptors:{unicodeRange:`U+3698-375f,U+22218,U+2231e,U+223ad,U+224dc,U+226f3,U+2285b,U+228ab,U+2298f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2`,descriptors:{unicodeRange:`U+35e6-3697,U+21c56,U+21cde,U+21d2d,U+21d45,U+21d62,U+21d78,U+21d92,U+21d9c,U+21da1,U+21db7,U+21de0,U+21e33-21e34,U+21f1e,U+21f76,U+21ffa,U+2217b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2`,descriptors:{unicodeRange:`U+3444-350e,U+20ad3,U+20b1d,U+20b9f,U+20c41,U+20cbf,U+20cd0,U+20d45,U+20de1,U+20e64,U+20e6d,U+20e95,U+20e9d,U+20ea2,U+20f5f,U+210c1,U+21201,U+2123d,U+21255,U+21274,U+2127b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2`,descriptors:{unicodeRange:`U+350f-35e5,U+212d7,U+212e4,U+212fd,U+2131b,U+21336,U+21344,U+2139a,U+213c4,U+21413,U+2146d-2146e,U+215d7,U+21647,U+216b4,U+21706,U+21742,U+218bd,U+219c3`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2`,descriptors:{unicodeRange:`U+336d-3443,U+2032b,U+20371,U+20381,U+203f9,U+2044a,U+20509,U+20547,U+205d6,U+20628,U+20676,U+2074f,U+20779,U+20807,U+2083a,U+20895,U+208b9,U+2097c,U+2099d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2`,descriptors:{unicodeRange:`U+328b-336c,U+2000b,U+20089,U+200a2,U+200a4,U+20164,U+201a2,U+20213`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2`,descriptors:{unicodeRange:`U+3192-31ba,U+31c0-31e3,U+31f0-321e,U+3220-328a,U+1f250-1f251`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2`,descriptors:{unicodeRange:`U+2f74-2fd5,U+3000,U+3003-3007,U+3012-3013,U+3018-301c,U+3020-3029,U+302f-303f,U+3041-3096,U+3099-30a1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2`,descriptors:{unicodeRange:`U+30a2-30ff,U+3105-312f,U+3131-318e,U+3190-3191`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2`,descriptors:{unicodeRange:`U+4e36,U+4ea0,U+4f74,U+4f91,U+4f94,U+4fc5,U+507e,U+50ed,U+5182,U+51f5,U+525e,U+5282,U+52f9,U+5326,U+537a,U+53a3,U+5423,U+5459,U+54b4,U+54d9,U+55c9,U+57f4,U+580b,U+5902,U+5925,U+5a08,U+5ab5,U+5b84,U+5be4,U+5c22,U+5cb5,U+5cbd,U+5d3e,U+5e31,U+5e5e,U+5e80,U+5ee8,U+5f82,U+5fc9,U+5fed,U+600a,U+605d,U+609b,U+609d,U+60dd,U+6243,U+6322,U+63ce,U+640c,U+643f,U+6445,U+64d7,U+6534,U+6549,U+656b,U+6603,U+674c,U+680a,U+6864,U+69d4,U+6a65,U+6c2a,U+6c46,U+6c5c,U+6d0e,U+6d48,U+6e2b,U+6eb2,U+6eb7,U+6f89,U+706c,U+70b1,U+7113,U+71d4,U+727f,U+72f3,U+7303,U+7321,U+736c,U+736f,U+74a9,U+74de,U+750d,U+7513,U+7592,U+75c4,U+7605,U+760a,U+761b,U+7625,U+762d,U+7643,U+7707,U+7747,U+77b5,U+7839,U+784e,U+78a5,U+7924,U+793b,U+798a,U+7a03,U+7a06,U+7a78,U+7a80,U+7aad,U+7ba8,U+7be5,U+7cc8,U+7ec1,U+7f0b,U+7f0f,U+7f12,U+7f68,U+7f9d,U+8025,U+809c,U+80ad,U+80b7,U+80e8,U+811e,U+8204,U+8223,U+822d,U+823b,U+824b,U+825a,U+827d,U+827f,U+828f,U+82c8,U+8307,U+831b,U+8347,U+837d,U+839b,U+83a9,U+83f9,U+84b9,U+8579,U+864d,U+867f,U+86b0,U+86d1,U+86d8,U+86f2,U+8764,U+8770,U+8788,U+8797,U+87ac-87ad,U+87b5,U+881b,U+8844,U+88bc,U+88fc,U+8930,U+89cf,U+89d6,U+8ba0,U+8bd4,U+8c02,U+8c2b,U+8c85,U+8e23,U+8f81-8f82,U+8fd5,U+90b6,U+90db,U+914e,U+9164,U+91ad,U+943e,U+94b7-94b8,U+94eb,U+950d,U+9514,U+9516,U+9518,U+9529,U+9538,U+953f,U+954e,U+955f,U+95fc,U+9667,U+96b3,U+9792,U+97b2,U+98a1,U+9969,U+9987,U+9998,U+9a80,U+9a92,U+9a96,U+9adf,U+9cb4,U+9cbd,U+9cd0,U+9cd4,U+9e31,U+9e3a,U+9e71,U+9ee5,U+9eea,U+9ef9,U+9fa0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2`,descriptors:{unicodeRange:`U+4e0c,U+4e28,U+4e3f,U+4ec2,U+502e,U+50ba,U+5155,U+5181,U+522d,U+5281,U+5290,U+5369,U+53b6,U+54d5,U+54dc,U+54ff,U+552a,U+553c,U+5588,U+55b5,U+5686,U+570a,U+5776,U+5786,U+57a4,U+5820,U+5865,U+58bc,U+5b32,U+5b65,U+5c1c,U+5c66,U+5c6e,U+5c8d,U+5ddb,U+5f2a,U+5f50,U+5f61,U+6067,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+6343,U+63ad,U+63f2,U+640b,U+6420,U+6434,U+6496,U+64d0,U+6509,U+652e,U+67a8,U+6833,U+6844,U+684a,U+6920,U+6957,U+6971,U+6a8e,U+6a91,U+6aa0,U+6b43,U+6bea,U+6bf5,U+6c15,U+6cd0,U+6ee0,U+6f24,U+6f2d,U+70c0,U+721d,U+728b,U+72c3,U+72e8,U+730a,U+7338-7339,U+734d,U+746d,U+752f,U+754e,U+770d,U+7735,U+778d,U+77a2,U+77e7,U+7857,U+786d,U+78c9,U+78f2,U+791e,U+7953,U+7b58,U+7b9d,U+7bda,U+7cd7,U+7f32-7f33,U+8022,U+8028-8029,U+8035,U+804d,U+8080,U+80c2,U+80e9,U+80ec,U+80f2,U+810e,U+8221,U+8274,U+82b0,U+82e0,U+83b0,U+8487-8488,U+848e,U+84cd,U+84d0,U+8539,U+857a,U+85a8,U+85b7,U+867c,U+871e,U+8723,U+877e,U+878b,U+8793,U+8803,U+88d2,U+8966,U+89cc,U+89eb,U+8b26,U+8c8a,U+8c98,U+8d33,U+8d47,U+8d55,U+8dbc,U+8e40,U+8e94,U+8f77,U+8f79,U+9058,U+91a2,U+91b5,U+928e,U+9494,U+94b6,U+94de,U+94f4,U+94f9,U+950a,U+950e,U+951e,U+952b,U+953c,U+953e,U+9544,U+9561,U+9564,U+9569,U+95f6,U+9603,U+960d,U+963d,U+9674,U+9794,U+97ab,U+98a5,U+9a9f,U+9ab1,U+9ad1,U+9b0f,U+9b2f,U+9c92,U+9c95,U+9cba,U+9cbc,U+9cc6,U+9ccb,U+9cd8,U+9e32,U+9e38,U+9e5b,U+9e7e,U+9eb4,U+9efb-9efc,U+9f3d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2`,descriptors:{unicodeRange:`U+2e3b,U+2e80-2e99,U+2e9b-2ef3,U+2f00-2f73,U+ffffd`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2`,descriptors:{unicodeRange:`U+4e69,U+4f1b,U+4f67,U+4f7e,U+4fdc,U+50e6,U+5196,U+5202,U+5233,U+523f,U+52a2,U+536e,U+5476,U+54ad,U+54cf,U+5537,U+561e,U+56dd,U+56df,U+5709,U+572c,U+57cf,U+57f8,U+580d,U+5881,U+589a,U+5941,U+59b2,U+5c25,U+5d24,U+5d74,U+5e42,U+5e8b,U+5eb3,U+5ed2,U+5fad,U+6003,U+603c,U+6083,U+6100,U+6126,U+6206,U+62ca,U+638e,U+63b4,U+6426,U+646d,U+6535,U+65c4,U+66db,U+6715,U+6769,U+6798,U+67c3,U+6861,U+698d,U+69ca,U+69ed,U+69f2,U+69ff,U+6a18,U+6b39,U+6bb3,U+6c0d,U+6cb2,U+6cd6,U+6cf7,U+6cfa,U+6d33,U+6e16,U+6e53-6e54,U+6ebb,U+6fb6,U+709d,U+72ad,U+72f7,U+72fb,U+7313,U+739f,U+74ba,U+754b,U+755b,U+758b,U+75ac,U+75d6,U+7617,U+7635,U+7640,U+76a4,U+76b2,U+775a,U+77bd,U+781f,U+79b3,U+7b2b,U+7b31,U+7b3e,U+7b6e,U+7b9c,U+7c0b,U+7c9e,U+7cc1,U+7ce8,U+7ea5,U+7f21,U+7f27,U+7f74,U+7fb0,U+8031,U+8071,U+80ea,U+8114,U+8160,U+81a6,U+81c1,U+829f,U+82a4,U+82fb,U+831a,U+8333,U+836c,U+83b6,U+83f8,U+8411,U+841c,U+8489,U+848c,U+85a4,U+8627,U+8629,U+866e,U+86b5,U+872e,U+8731,U+877b,U+877d,U+87ea,U+8813,U+8816,U+8864,U+88ce,U+88e5,U+897b,U+89cb,U+89f3,U+8bfc,U+8c35,U+8d46,U+8d4d,U+8dba,U+8e3a,U+8f75,U+8f7e,U+8fd3,U+9161,U+9179,U+917e,U+91a3,U+94ac,U+94d7,U+94e5,U+952a,U+952c,U+9545,U+9565,U+9568,U+956a,U+961d,U+96e0,U+972a,U+9730,U+989f,U+98e7,U+990d,U+9967,U+9993,U+9aa3,U+9ac0,U+9ae1,U+9aeb,U+9af9,U+9c86,U+9c8b,U+9ca0-9ca1,U+9ca3,U+9ce2,U+9e48,U+9e6a,U+9e87,U+9ee2,U+9ee9,U+9f17,U+9f19,U+9f2c,U+9f80`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2`,descriptors:{unicodeRange:`U+4ef3,U+50d6,U+50ec,U+51ab,U+51b1,U+52d6,U+54a9,U+54da,U+55be,U+55cd,U+564d,U+572f,U+574c,U+576b,U+57d8,U+57fd,U+5844,U+59d2,U+5ae0,U+5b16,U+5b37,U+5b5b,U+5b80,U+5d1e,U+5d6b,U+5efe,U+5f11,U+5f56,U+5f58,U+5f73,U+5f8c,U+5fc4,U+5fe4,U+602b,U+6106,U+610d,U+63de,U+63f8,U+641b,U+64e4,U+6634,U+676a,U+67b5,U+681d,U+6883,U+69b1,U+69e0,U+6b37,U+6b9b,U+6d7c,U+6ed7,U+6f36,U+6f72,U+6f8c,U+7035,U+7039,U+7173,U+7178,U+7228,U+728f,U+72b4,U+72ef,U+72f4,U+7331,U+7481,U+74e0,U+7540,U+75c3,U+75e6,U+763c,U+764d,U+76cd,U+7704,U+7743,U+7780,U+7847,U+786a,U+78b9,U+7962,U+7a02,U+7aac,U+7ab3,U+7b0a,U+7b4c,U+7b7b,U+7bfc,U+7c0f,U+7c16,U+7c40,U+7ca2,U+7cc7,U+7cf8,U+7d77,U+7e3b,U+7ea1,U+7ea9,U+7ef2,U+7f02,U+7f07,U+7f0c,U+7f23,U+7f2f,U+7fbc,U+8016,U+8020,U+812c,U+8136,U+8182,U+822f,U+8233,U+825f,U+8268,U+8284,U+8288,U+8291,U+8308,U+8311,U+835b,U+836d,U+83dd,U+8406,U+840f,U+845c,U+84b4,U+84e3,U+850c,U+855e,U+863c,U+86ba,U+86c4,U+86de,U+86f1,U+873e,U+87bd,U+87db,U+880a,U+883c,U+887f,U+88f0,U+890a,U+892b,U+895e,U+89ef,U+8a48,U+8bdc,U+8c18,U+8c33,U+8c94,U+8db1,U+8dcf,U+8dd6,U+8de3,U+8e6f,U+8e90,U+8f7a,U+8fb6,U+902d,U+90be,U+91af,U+936a,U+948b,U+94d8,U+9513,U+953a,U+956c,U+963c,U+9654,U+966c,U+9688,U+97b4,U+996b,U+9a75,U+9a7a,U+9aba,U+9aed,U+9b08,U+9b43,U+9c8e,U+9c94,U+9c9a,U+9e2b,U+9e36,U+9e4b,U+9e4e,U+9e55,U+9e63,U+9e68-9e69,U+9ebd,U+9ec9,U+9f0d,U+9f37,U+9f51`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2`,descriptors:{unicodeRange:`U+50a7,U+5240,U+5261,U+52ac,U+531a,U+5363,U+5432,U+5452,U+5456,U+5472,U+5478,U+553f,U+5575,U+5581,U+55cc,U+55fe,U+5601,U+572e,U+57d2,U+57ef,U+581e,U+5924,U+5981,U+5997,U+59a3,U+5aaa,U+5ab8,U+5b34,U+5d5d,U+5def,U+5e11,U+5e91,U+5ed1,U+5ef4,U+5f40,U+600d,U+6019,U+601b,U+605a,U+6092,U+60ab,U+6217,U+623d,U+6369,U+65d2,U+6661,U+670a,U+6753,U+67a7,U+6855,U+68f9,U+6939,U+696e,U+6980,U+6a7c,U+6aab,U+6b82,U+6bf3,U+6bf9,U+6c05,U+6c19-6c1a,U+6ca9,U+6cf6,U+6d1a,U+6dab,U+6f74,U+7085,U+7198,U+71b5,U+7256,U+725d,U+727e,U+72fa,U+7322,U+738e,U+73e5,U+750f,U+755a,U+7594,U+75b3,U+760c,U+7615,U+7630,U+763f,U+77ec,U+7817,U+78a1,U+78d9,U+7905,U+7b2a,U+7b2e,U+7b62,U+7b85,U+7bcc,U+7bea,U+7c26,U+7c74,U+7c9c-7c9d,U+7e47,U+7e9b,U+7e9f,U+7ee0,U+7ee8,U+7ef1,U+7f01,U+7f11,U+7f17,U+7f36,U+7f7e,U+7fee,U+802a,U+80cd,U+8112,U+8169,U+8234,U+8279,U+8298,U+82ca,U+82d8,U+82e1,U+83c0,U+83d4,U+83df,U+8401,U+8451,U+845a,U+8476,U+8478,U+84ba,U+84bd,U+84e0,U+851f,U+8548,U+8556,U+8585,U+868d,U+86e9,U+86f4,U+86f8,U+8765,U+8785,U+87ab,U+87ee,U+8832,U+8872,U+88b7,U+88e2-88e3,U+89da,U+8bce,U+8bd3,U+8bd6,U+8bf9,U+8c16,U+8c73,U+8d5c,U+8dde,U+8f6d,U+8f94,U+8fe8,U+9011,U+915e,U+9185,U+918c,U+94ab,U+94d1,U+94f3,U+9515,U+951d,U+9558,U+9567,U+96ce,U+96e9,U+9785,U+9878,U+987c,U+9883,U+98d1,U+9954,U+9963,U+9a93,U+9ac1,U+9acc,U+9b1f,U+9b49,U+9b4d,U+9b51,U+9ca7,U+9cae,U+9cce,U+9cd3,U+9e37,U+9e39,U+9e41,U+9e46,U+9f22,U+9f2f,U+9f39,U+9f85`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2`,descriptors:{unicodeRange:`U+4e5c,U+4edf,U+4f25,U+4f32,U+4f5e,U+4f76,U+4faa,U+4fe6,U+5028,U+5048,U+5250,U+535f,U+538d,U+53c1,U+5412,U+5443,U+54d4,U+54dd,U+5541,U+5550,U+5577,U+55dd,U+55f3,U+560f,U+562c,U+5657-5658,U+5664,U+56af,U+575c,U+577c,U+57b2,U+57da,U+5800,U+5a62,U+5aeb,U+5c3b,U+5ca3,U+5d26,U+5d9d,U+5f01,U+5fb5,U+5fdd,U+5ff8,U+6029,U+6041,U+6079,U+60b1,U+6222,U+629f,U+6332,U+63bc,U+63e0,U+6485,U+65ab,U+65c3,U+65c6,U+668c,U+669d,U+66be,U+67fd,U+6800,U+68fc,U+690b,U+6924,U+6978,U+69a7,U+6a3e,U+6a50,U+6a5b,U+6a97,U+6b24,U+6b8d,U+6baa,U+6c10,U+6c54,U+6ceb,U+6d04,U+6d4d,U+6eb1,U+6ebd,U+7110,U+71b3,U+71f9,U+7230,U+728d,U+7292,U+72b8,U+72d2,U+7360,U+73a2,U+7511,U+75a0,U+75c8,U+779f,U+7826,U+7877,U+7a39,U+7aa8,U+7ae6,U+7b04,U+7b0f,U+7baa,U+7bac,U+7c1f,U+7ccd,U+7ecb,U+7ed4,U+7ed7,U+7efb,U+7f0d,U+7f5f,U+7faf,U+7fd5,U+7fe5,U+8027,U+80bc,U+80dd,U+80fc,U+8132,U+815a,U+8167,U+816d,U+81ca,U+8228,U+82a1,U+82a9,U+82ab,U+82cc,U+8351,U+8368,U+83b8,U+83d8,U+83ea,U+83f0,U+8497,U+84c1,U+858f,U+85ff,U+867b,U+86a8-86a9,U+870a,U+8722,U+876e,U+877c,U+87e5,U+8888,U+88df,U+8919,U+8bcc,U+8bdf,U+8be8,U+8bee,U+8c20,U+8c2f,U+8d36,U+8df8,U+8e05,U+8e2f,U+8f9a,U+9021,U+908b,U+90b4,U+90ba,U+90d0,U+90eb,U+90fe,U+91aa,U+933e,U+9486-9487,U+948d,U+9490,U+94ad,U+94bd,U+94d6,U+94d9,U+9507,U+9546,U+955e,U+956b,U+95e9,U+9604,U+960b,U+9612,U+9615,U+9617,U+96b9,U+989a-989b,U+989e,U+9a78,U+9a7d,U+9aa0,U+9aa2,U+9ac2,U+9b23,U+9b3b,U+9c82,U+9cca,U+9cd9,U+9e28,U+9e5a,U+9e5e,U+9e6c,U+9efe,U+9f0b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2`,descriptors:{unicodeRange:`U+4e47,U+4e8d,U+4f65,U+4f89,U+50ee,U+520e,U+5416,U+5454,U+54bb,U+54c2,U+54d3,U+54de,U+5591,U+55e5,U+560c,U+566b,U+5769,U+578c,U+5793,U+57e4,U+5889,U+593c,U+59ab,U+5ad4,U+5ad8,U+5af1,U+5b53,U+5ba5,U+5c59,U+5c63,U+5d5b,U+5e0f,U+5e14,U+5edb,U+5fbc,U+6004,U+60ad,U+610e,U+61b7,U+624c,U+634c,U+647a,U+64ba,U+65f0,U+6600,U+66f7,U+67e2,U+67f0,U+680c,U+686b,U+6874,U+691f,U+6989,U+6a17,U+6b81,U+6b84,U+6c06-6c07,U+6c3d,U+6d07,U+6d27,U+6d2b,U+6d91,U+6e6b,U+6e8f,U+6fde,U+70bb,U+723b,U+726e,U+72b0,U+72ce,U+72f2,U+7301,U+731e,U+737e,U+7477,U+748e,U+74ff,U+7633,U+7654,U+771a,U+7726,U+7765,U+7768,U+781c,U+7829,U+78d4,U+7913,U+7957,U+79d5,U+79eb,U+7a70,U+7a86,U+7b25,U+7b38,U+7b47,U+7b72,U+7ba6-7ba7,U+7dae,U+7ee1,U+7efe,U+7f26,U+7f31,U+7f35,U+801c,U+8043,U+809f,U+80ab,U+80d7,U+8118,U+8188,U+81cc,U+823e,U+8244,U+824f,U+82b4,U+82c1,U+82e4,U+82f4,U+8306,U+833a,U+835c,U+839c,U+83b3,U+83bc,U+846d,U+867a,U+868b,U+8734,U+87ca,U+886e,U+887e,U+88a2,U+88c9,U+8921,U+8bb5,U+8bf3,U+8c04,U+8c17,U+8c1d,U+8c25,U+8c36,U+8c55,U+8c78,U+8d3d,U+8d40,U+8d59,U+8d67,U+8d91,U+8dbf,U+8deb-8dec,U+8dfd,U+8e14,U+8e41,U+8f8e,U+900b,U+9044,U+9062,U+90cf,U+9123,U+9146,U+9162,U+9172,U+918d,U+9190,U+92c8,U+93ca,U+948c,U+94aa,U+94b2,U+94c8,U+94ca,U+94d5,U+94df,U+94e9-94ea,U+94f7,U+94fc-94fd,U+951b,U+954f,U+9554,U+9559,U+9566,U+9571-9572,U+95f1,U+9608,U+960f,U+97af,U+988f,U+98d5,U+992e,U+9955,U+9ab0,U+9b32,U+9c90,U+9c9e,U+9ca5,U+9ca9,U+9cad,U+9cb1,U+9cc3,U+9e47,U+9ee7,U+9f87`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2`,descriptors:{unicodeRange:`U+4e93,U+4ec4,U+4ef5,U+4f27,U+4f7b,U+4fe3,U+5080,U+5121,U+51eb,U+5208,U+52f0,U+53f5,U+5453,U+5466,U+54a6,U+54bf,U+54d0,U+5533,U+5549,U+5556,U+556d,U+558f,U+55f2,U+55f5,U+5627,U+567b,U+56d4,U+571c,U+5739,U+57b4,U+5807,U+58c5,U+59a4,U+59af,U+59d8,U+5a09,U+5a0c,U+5a4a,U+5ad2,U+5b6c,U+5ca2,U+5cac,U+5d03,U+5d6c,U+5db7,U+5ebe,U+5f2d,U+5fea,U+6042,U+6120,U+6175,U+6221,U+623e,U+6339,U+638a,U+643d,U+64b8,U+64e2,U+66e9,U+67b3,U+67c1,U+67d2,U+6832,U+6877,U+68f0,U+6934,U+6966,U+6987,U+6998,U+69c1,U+69ce,U+6a3d,U+6a84,U+6aa9,U+6b87,U+6bd6,U+6c16,U+6c18,U+6cd4,U+6cee,U+6de0,U+6e0c,U+6ecf,U+6f4b,U+70b7,U+7168,U+72d9,U+7352,U+73b3,U+73d0,U+7441,U+74d2,U+75a5,U+75e7-75e8,U+7610,U+7619,U+765e,U+772d,U+7812,U+782c,U+784c,U+7850,U+7856,U+789b,U+78f4,U+7a51,U+7b15,U+7b1e,U+7b24,U+7b5a,U+7bb8,U+7bc1,U+7bd9,U+7ed0,U+7ee6,U+7efa,U+7f1b,U+7f1f,U+7f22,U+7f45,U+7f71,U+7fa7,U+7fbf,U+7ff3,U+8052,U+80b1,U+80db,U+80f4,U+81bb,U+81ec,U+8202,U+8210,U+8249,U+828a,U+828e,U+82e3,U+8315,U+8369,U+8378,U+83a8,U+83aa,U+83b4,U+83e1,U+84fc,U+8538,U+853b,U+859c,U+85ae,U+86b4,U+86c9,U+86cf,U+8725,U+879f,U+87b3,U+887d,U+88fe,U+8a8a,U+8ba7,U+8c07,U+8c14,U+8c30,U+8c47,U+8db5,U+8dd7,U+8e1f,U+8e69,U+8e70,U+8e85,U+8f78,U+8f87,U+8f8b,U+8f8f,U+90c4,U+9143,U+917d,U+948f,U+94cd,U+94d2,U+94ef,U+954a,U+9609-960a,U+96d2,U+9708,U+9765,U+97ea,U+9880,U+98a7,U+996c,U+9980,U+9991,U+9a88,U+9ab6,U+9afb,U+9b47,U+9c87,U+9c9b,U+9cb5,U+9cc7,U+9e2c,U+9e42,U+9e58,U+9ecd,U+9ecf,U+9f8a,U+9f8c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2`,descriptors:{unicodeRange:`U+4ebb,U+4edd,U+4fa9,U+502c,U+50a5,U+51c7,U+51fc,U+523d,U+5241,U+530f,U+5464,U+549d,U+54a3,U+5514,U+5527,U+555c,U+556e,U+5576,U+55b1,U+55b9,U+55eb,U+5624,U+564c,U+5671,U+5685,U+568f,U+56d7,U+56e1,U+57a1,U+57d9,U+5942,U+5a67,U+5c50,U+5c7a,U+5c98,U+5d06,U+5d27,U+5d6f,U+5df3,U+5dfd,U+5e19,U+5ea0,U+5eb9,U+5eea,U+5ffe,U+600f,U+606b,U+6215,U+622c,U+6266,U+62bb,U+62bf,U+6308,U+6387,U+63b8,U+63c4,U+63c6,U+63f6,U+6441,U+6555,U+659b,U+6677,U+66a7,U+6775,U+678b,U+679e,U+6840,U+6849,U+6860,U+68c2,U+6910,U+6a28,U+6a2f,U+6a79,U+6b92-6b93,U+6bc2,U+6bfd,U+6c29,U+6c32,U+6c86,U+6cc5,U+6d0c,U+6d60,U+6da0,U+6ddd,U+6e86,U+6ed3,U+6edf,U+6fb9,U+6fd1,U+6fef,U+7023,U+7080,U+70ca,U+712f,U+7145,U+7284,U+732c,U+73c8,U+73d9,U+740a,U+7457,U+7596,U+759d,U+75a3,U+75d8,U+75e3-75e4,U+75ff,U+7622,U+7688,U+76b4,U+76e5,U+7818,U+7887,U+789a,U+78b2,U+7b08,U+7b33,U+7c2a,U+7ccc,U+7ea8,U+7ec0,U+7fe6,U+8012,U+8084,U+8093,U+80e4,U+80ef,U+8297,U+82a8,U+82be,U+8331,U+8366,U+83c5,U+83fd,U+8473,U+84a1,U+84ca,U+84d1,U+857b,U+85c1,U+85d3,U+8605,U+8662,U+86aa,U+86b1,U+86d4,U+86ed,U+86f3,U+8709,U+8748,U+874c,U+8763,U+89c7,U+89de,U+89e5,U+8a3e,U+8ba6,U+8c00,U+8c21,U+8c49,U+8c7a,U+8d30,U+8df9,U+8e51,U+8e59,U+8f6b,U+8f73,U+8ff3,U+9016,U+9026,U+902f,U+9099,U+909b,U+90c7,U+914a,U+91ae,U+91ba,U+9495,U+94a3,U+94af,U+94ba,U+94bf,U+94cc,U+94e1,U+94f0,U+9531,U+955d,U+95f3,U+9697,U+96bc,U+975b,U+977c,U+98a2,U+998a,U+9994-9995,U+9a9b,U+9ab7,U+9ac5,U+9c91,U+9ccf,U+9cd5,U+9e29,U+9edc,U+9edf,U+9f83,U+9f88-9f89`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2`,descriptors:{unicodeRange:`U+4ee8,U+4f22,U+4f43,U+4f57,U+4f5d,U+4f6f,U+4ff8,U+502d,U+507b,U+5345,U+53df,U+53fb,U+544b,U+5482,U+54a7,U+54cc,U+550f,U+5544,U+5555,U+5594,U+55e8,U+55ec,U+55ef,U+564e,U+56f9,U+5704,U+576d,U+5785,U+57ad,U+5914,U+5958,U+599e,U+59aa,U+59be,U+5a06,U+5abe,U+5ae1,U+5b40,U+5bee,U+5cbf,U+5cc4,U+5ccb,U+5d47,U+603f,U+6078,U+607d,U+607f,U+608c,U+609a,U+60fa,U+61ff,U+621b,U+622e,U+626a,U+6371,U+63ae,U+63cd,U+63d6,U+6410,U+6414,U+6421,U+6448,U+64d8,U+6710,U+6748,U+6772,U+680e,U+6954,U+69ab,U+6c68,U+6c8f,U+6ca4,U+6d2e,U+6e4e,U+6e98,U+6fe0,U+7094,U+70e9,U+7116,U+7119,U+723f,U+73c9,U+74e4,U+753e,U+7548,U+75bd,U+75cd,U+7618,U+7634,U+76c5,U+76f1,U+7708,U+7719,U+777e,U+7791,U+77b3,U+7823,U+7827,U+7830,U+7889,U+7893,U+7949,U+795c,U+79e3,U+7a14,U+7a88,U+7a95,U+7aa0,U+7afd,U+7b90,U+7bd1,U+7bfe,U+7da6,U+7ec2,U+7eef,U+7f03-7f04,U+7f08,U+7f58,U+7f61,U+7f9f,U+8174,U+8200,U+828d,U+82c4,U+82d5,U+82dc,U+82f7,U+832d,U+835a,U+840b,U+8438,U+852b,U+869d,U+86ac,U+86d0,U+86f0,U+8782,U+87a8,U+87d1-87d2,U+87e0,U+8839,U+8913,U+891b,U+8934,U+8941,U+89ca,U+89ce,U+8a07,U+8ba3,U+8bc5,U+8bcb,U+8bdb,U+8c11,U+8c15,U+8c29,U+8c32,U+8dc4,U+8dce,U+8ddb,U+8dfa,U+8e09,U+8e1d,U+8e39,U+8e42,U+8e49,U+8e4b,U+8e8f,U+8f71-8f72,U+9004,U+9036,U+9097,U+90dc,U+90e2,U+90e6,U+90ef,U+9104,U+919a,U+91b4,U+938f,U+9497,U+950f,U+9557,U+9562-9563,U+9573,U+9606,U+9649,U+972d,U+973e,U+97a3,U+97eb,U+988c,U+9894,U+98a6,U+9974,U+9977,U+997d,U+9a90,U+9a9d,U+9aef,U+9ca2,U+9ccd,U+9cdf,U+9e20,U+9e4c,U+9e6b,U+9f3e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2`,descriptors:{unicodeRange:`U+4ede,U+4ee1,U+4eeb,U+4fda,U+4ffe,U+5025,U+506c,U+50f3,U+5106,U+520d,U+525c,U+52ad,U+530d,U+5310,U+539d,U+53a9,U+53fc,U+5421,U+5477,U+54e7,U+551b,U+5530,U+557e,U+5599,U+55c4,U+55d1,U+55d4,U+55df,U+55e4,U+55ea,U+5623,U+562d,U+5654,U+56eb,U+56f5,U+57a7,U+57d5,U+57dd,U+584d,U+5880,U+58ec,U+59dd,U+5a32,U+5a55,U+5a75,U+5b51,U+5b71,U+5b73,U+5cd2,U+5ce4,U+5e5b,U+5e96,U+5fd2,U+607b,U+61d1,U+634b,U+636d,U+63b3,U+63ff,U+64c0,U+661d,U+6657,U+66dc,U+67a5,U+6841,U+6867,U+6901,U+699b,U+6a47,U+6b46,U+6c21,U+6c24,U+6c35,U+6c4a,U+6c94,U+6ca3,U+6d39,U+6d63,U+6d6f,U+6d94,U+705e,U+71e7,U+726f,U+72cd,U+72de,U+72f0,U+7325,U+7350,U+7391,U+741a,U+757f,U+7583,U+75b1,U+75b4,U+75b8,U+75c2,U+75f1,U+766f,U+7699,U+7751,U+789c,U+7a17,U+7be6,U+7cb2,U+7ea3,U+7eb0,U+7ebe,U+7eeb,U+7f25,U+7f2c,U+7fb8,U+8026,U+8037,U+8153,U+8171,U+8191,U+8214,U+821b,U+8222,U+826e,U+82eb,U+830c,U+8314,U+8334,U+83d6,U+8418,U+843c,U+84ff,U+8564,U+8572,U+8616,U+866c,U+8693,U+86a3,U+86a7,U+86af,U+86b6,U+86c6,U+86ca,U+8708,U+870d,U+8759,U+8760,U+87af,U+87c6,U+8869,U+88c6,U+89d0,U+8b07,U+8baa-8bab,U+8bc2,U+8be4,U+8bf0,U+8c2a,U+8c62,U+8c89,U+8d49,U+8d6d,U+8d84,U+8d94,U+8db8,U+8dc6,U+8e2e,U+8e3d,U+8e47,U+8e7f,U+9005,U+9051,U+907d,U+9082,U+9088,U+90b0,U+90d3,U+9150,U+949c,U+94a4,U+94b9,U+94cb,U+94e0,U+9509,U+9512,U+951f,U+9534,U+9552-9553,U+965f,U+96b0,U+9791,U+9889,U+9990,U+9a9c,U+9aa7,U+9c88,U+9cb2-9cb3,U+9cb6-9cb7,U+9cc5,U+9cdc,U+9e22,U+9e2a,U+9e57,U+9e67,U+9e73,U+9e82,U+9eb8,U+9ee0,U+9f9b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2`,descriptors:{unicodeRange:`U+4eb5,U+4f09,U+4f5a,U+4f8f,U+4fce,U+4fdf,U+4fea,U+4ff3,U+500c,U+500f,U+504e,U+5088,U+52be,U+5420,U+5457,U+5499,U+549b,U+54c6,U+54d2,U+558b,U+559f,U+55bd,U+55d6,U+565c,U+567c,U+568e,U+5768,U+577b,U+57a9,U+57ed,U+59f9,U+5a11,U+5a40,U+5ae6,U+5b6a,U+5b93,U+5bb8,U+5c15,U+5c99,U+5c9c,U+5cc1,U+5d2e,U+5d4b,U+5d99,U+5e54,U+5e61,U+5fcf-5fd1,U+6002,U+6006,U+6014,U+60af,U+60c6,U+60da,U+60f4,U+621f,U+62c8,U+631b,U+631e,U+63e9,U+64b5,U+655d,U+6619,U+6635,U+6641,U+67ad,U+67b0,U+67b7,U+67e9,U+684e,U+688f,U+695d,U+696b,U+69b7,U+6a58,U+6c26,U+6d35,U+6d43,U+6d9e,U+6dd9,U+6dec,U+6e11,U+6e6e,U+6e9f,U+6ec2,U+6ee2,U+6ef9,U+6f09,U+6f66,U+6f8d,U+6fc2,U+6fc9,U+729f,U+72c8,U+73de,U+7430,U+7566,U+7579,U+75c9,U+75e2,U+75fc,U+762a,U+7638,U+7678,U+76c2,U+76f9,U+778c,U+77cd,U+77dc,U+7800,U+781d,U+782d,U+783b-783c,U+78a3,U+78ec,U+7980,U+7a23,U+7b95,U+7bdd,U+7c0c,U+7c41,U+7c91,U+7cb3,U+7cc5,U+7ecc,U+7f19,U+7fca,U+8006,U+8069,U+807f,U+80bd,U+80ed,U+814b,U+8198,U+82cb,U+82d2,U+834f,U+8360,U+847a,U+84d6,U+84e5,U+8537,U+85d0,U+8671,U+86a4,U+86ce,U+86f9,U+8703,U+8707,U+8737,U+873b,U+8815,U+8936,U+8bc3,U+8bcf,U+8bd2,U+8bd8,U+8be9,U+8c0c,U+8c0f,U+8c4c,U+8d45,U+8d5d,U+8d73,U+8e31,U+8e6d,U+8e76,U+8fe4,U+9041,U+90d7,U+9169,U+92ae,U+94a1,U+94c4,U+94c9,U+94db,U+94e7,U+9503,U+9506,U+9517,U+9528,U+9537,U+9542,U+9549,U+95fe,U+9616,U+961a,U+96c9,U+96f3,U+9701,U+970e,U+9739,U+9753,U+9798,U+98d2-98d3,U+98d9-98da,U+9968,U+996f,U+9984,U+9997,U+9acb,U+9b03,U+9c85,U+9ca8,U+9cab,U+9e49,U+9e51,U+9e66,U+9f10`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2`,descriptors:{unicodeRange:`U+4e15,U+4e1e,U+4e2b,U+4eb3,U+4ec9,U+4f0e,U+4f64,U+501c,U+50a9,U+510b,U+51a2,U+51bc,U+527d,U+52d0,U+53fd,U+5429,U+542e,U+5486,U+54af,U+5506,U+5511,U+5522,U+552c,U+556c,U+55b3,U+55d2,U+55e6,U+55fd,U+561f,U+5639,U+5659,U+5662,U+5693,U+572a,U+5892,U+598a,U+5992,U+59a9,U+5a20,U+5ae3,U+5b17,U+5b7d,U+5d34,U+5d3d,U+5d4a,U+5d82,U+5e1a-5e1b,U+5ea5,U+5f0b,U+5f77,U+5fd6,U+5fff,U+6026,U+6035,U+6063,U+60b4,U+60bb,U+60ee,U+612b,U+6194,U+61ca,U+61e6,U+61f5,U+620a,U+6248,U+62a1,U+62d7,U+6376,U+637b,U+652b,U+65bc,U+65cc,U+65ce,U+65d6,U+664c,U+665f,U+6666,U+6684,U+66b9,U+6773,U+6777,U+6787,U+67de,U+6845,U+693d,U+6994,U+6a35,U+6d54,U+6d5c,U+6d8e,U+6dd6,U+6eb4,U+6f2a,U+6f78,U+704f,U+70ec,U+7118,U+714a,U+7172,U+71b9,U+724d,U+728a,U+7337,U+733e,U+7396,U+73b7,U+73cf,U+7428,U+742c,U+742e,U+74ee,U+74f4,U+7525,U+753a,U+7572,U+75d4,U+765c,U+768e,U+7762,U+777d,U+77fd,U+7825,U+7837,U+78b4,U+795f,U+79ed,U+7a1e,U+7b06,U+7b20,U+7ba9,U+7bab,U+7c7c,U+7cbd,U+7cdc,U+7ec9,U+7ef6,U+7f30,U+7f42,U+7f44,U+7f54,U+7f94,U+8004,U+800b,U+8019,U+809b,U+80ae,U+80c4,U+80f1,U+8146,U+816e,U+817c,U+81c0,U+81fc,U+81fe,U+822b,U+830f,U+832f,U+8340,U+8365,U+8385,U+8392,U+83a0,U+8424,U+84af,U+869c,U+8713,U+8717-8718,U+87c0,U+87cb,U+87fe,U+8821,U+8902,U+89d1,U+8bb9,U+8c12,U+8d32,U+8d53,U+8df7,U+8e7c,U+8f7c,U+8f95,U+8fab,U+9052,U+905b,U+9095,U+909d,U+90c5,U+911e,U+9122,U+916a,U+919b,U+948e,U+9492,U+949a,U+94b5,U+94bc,U+94c6,U+94f1,U+9502,U+9511,U+9536,U+956f-9570,U+9602,U+9621,U+9631,U+998b,U+99a5,U+9a81,U+9a9e,U+9ebe,U+9f8b`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2`,descriptors:{unicodeRange:`U+4f2b,U+4f3d,U+4fac,U+5043,U+5055,U+5140,U+5156,U+51cb,U+5243,U+531d,U+536f,U+53a5,U+53ae,U+53f1,U+541d,U+5431,U+547b,U+5492,U+5494,U+54a4,U+54aa,U+54ce,U+54fd,U+5509,U+5520,U+553e,U+557b,U+55c5,U+55e1,U+55f7,U+5608,U+5636,U+563b,U+5773,U+57a0,U+5811,U+587e,U+58d5,U+59e3,U+5a29,U+5a6a,U+5a76,U+5a7a,U+5ac9,U+5b62,U+5b95,U+5c49,U+5c8c,U+5cab,U+5cb7,U+5d02,U+5d58,U+5e44,U+5e7a,U+5eff,U+5f29,U+5f89,U+5f9c,U+5fa8,U+6005,U+6043,U+60b8,U+60d8,U+60ec,U+60f0,U+6115,U+618e,U+630e,U+637a,U+6390,U+63ac,U+63b0,U+64de,U+6525,U+6538,U+65ee-65ef,U+6631,U+6636,U+6654,U+677c,U+67b8,U+67d8,U+683e,U+6886,U+68b5,U+692d,U+6963,U+6979,U+6988,U+6b59,U+6b9a,U+6c69,U+6c74,U+6cae,U+6ce0,U+6cef,U+6d95,U+6dc5,U+6dde,U+6de6,U+6dfc,U+6ea7,U+6f15,U+6f29,U+7096,U+70c3,U+7131,U+715c,U+7166,U+7266,U+7317,U+731d,U+7329,U+73e9,U+7425,U+7455,U+7490,U+74ef,U+7519,U+75b5,U+75b9,U+75de,U+7656,U+7663,U+7691,U+7729,U+77fe,U+783e,U+787c,U+795a,U+7a79,U+7abf,U+7b3a,U+7b4f,U+7b60,U+7b75,U+7b8d,U+7bb4,U+7bd3,U+7be1,U+7cbc,U+7edb,U+7f1c,U+7f8c,U+7fb2,U+7fb9,U+7fce,U+7ff1,U+810d,U+81c6,U+82a5,U+82aa,U+82de,U+8317,U+8343,U+835e,U+8364,U+836a,U+853a,U+8543,U+854a,U+8559,U+8568,U+85b0,U+85b9,U+864f,U+86e4,U+8715,U+8845,U+8884,U+88e8,U+88f1,U+8983,U+8be1,U+8c1f,U+8c27,U+8c5a,U+8c82,U+8d58,U+8dbe,U+8f98,U+9035,U+9074,U+90a1,U+9149,U+9157,U+93d6,U+949d,U+94c2,U+94e3-94e4,U+95eb,U+95f0,U+9611,U+9619,U+9642,U+968d,U+9706,U+970f,U+97ed,U+988a,U+9893,U+98e8,U+9a77,U+9a87,U+9aa1,U+9abc,U+9cdd,U+9e2f,U+9e33,U+9e44,U+9e5c,U+9e9d,U+9edd`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2`,descriptors:{unicodeRange:`U+4f58,U+4f6c,U+4f70,U+4fd0,U+5014,U+51bd,U+524c,U+5315,U+5323,U+535e,U+540f,U+542d,U+545b,U+548e,U+549a,U+54ab,U+54fc,U+5567,U+556a,U+5600,U+5618,U+563f,U+5669,U+56f1,U+56ff,U+573b,U+574d,U+579b,U+57b8,U+57c2,U+586c,U+58f9,U+595a,U+598d,U+5993,U+5996,U+59d7,U+5b7a,U+5ba6,U+5c4e,U+5c96,U+5ce5,U+5eb6,U+5f08,U+5f99,U+602f,U+6059,U+606c,U+607a,U+60ed,U+61a9,U+620c,U+6249,U+62a8,U+62c4,U+62ed,U+62fd,U+6342,U+6345,U+6396,U+63a3,U+6402,U+6413,U+642a,U+6487,U+64a9,U+64ac,U+64ae,U+64b7,U+659f,U+65a1,U+667e,U+66f3,U+67e0,U+69db,U+69df,U+6aac,U+6b86,U+6c50,U+6c5e,U+6c76,U+6c85,U+6c8c,U+6cde,U+6d19,U+6d52,U+6da7,U+6db8,U+6e1a,U+6e25,U+6e4d,U+6e5f,U+6ec1,U+6f31,U+6f7a,U+6fa7,U+6fe1,U+701b,U+70ab,U+70f7,U+717d,U+71a8,U+7252,U+72c4,U+72e1,U+7315,U+736d,U+73ae,U+73c0,U+73c2,U+740f,U+75a4,U+7600-7601,U+768b,U+76bf,U+76d4,U+7728,U+772f,U+776c,U+77a0,U+77b0,U+77f8,U+783a,U+78d0,U+78fa,U+7977,U+7a37,U+7a92,U+7afa,U+7b71,U+7b94,U+7cef,U+7f28,U+7fe1,U+808b,U+80e5,U+80eb,U+8110,U+8113,U+812f,U+814c,U+81c3,U+8235,U+82d4,U+8309,U+83c1,U+8431,U+8469,U+84bf,U+84d3,U+84df,U+84e6,U+8511,U+8638,U+86c0,U+86db,U+86fe,U+8757,U+8822,U+8882,U+8885,U+8892,U+88f3,U+892a,U+8ba5,U+8bd9,U+8be0,U+8be7,U+8bfd,U+8c1a,U+8d4a,U+8d4e,U+8d66,U+8dda,U+8e0c,U+8e52,U+8e74,U+8e87,U+8f76,U+8fc2,U+8fe6,U+900d,U+9068,U+90ac,U+90b3,U+90b8,U+90e7,U+9119,U+9131,U+915a,U+916e,U+94b4,U+94d0,U+94e2,U+94ec,U+94ff,U+9522,U+9535,U+9556,U+965b,U+96f9,U+9774,U+9981,U+998d,U+998f,U+9a6e,U+9a7f,U+9a8a,U+9b13,U+9c9f,U+9e3e,U+9e43,U+9e6d,U+9e8b,U+9e92,U+9edb,U+9eef`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2`,descriptors:{unicodeRange:`U+4e10,U+4e56,U+4e98,U+4ec3,U+4f3a,U+4f5f,U+4f88,U+4f97,U+4fa5,U+4fe8,U+504c,U+5197,U+52fa,U+5364,U+53e8,U+5406,U+543c,U+545c,U+5471,U+5480,U+5495,U+54b3,U+54df,U+54e6,U+54ee,U+557c,U+5583,U+55dc,U+55e3,U+566c,U+592f,U+5944,U+5983,U+59ca,U+59e5,U+5a13,U+5a7f,U+5b09,U+5bd0,U+5e4c,U+5eb5,U+5f1b,U+5f3c,U+608d,U+60cb,U+61a7,U+61ac,U+61cb,U+6233,U+62a0,U+62e7,U+62ee,U+62f4,U+62f7,U+634e,U+6382,U+63c9,U+63ea,U+6400,U+645e,U+6482,U+6556,U+6593,U+6615,U+664f,U+66e6,U+672d,U+675e,U+67da,U+6805,U+6808,U+6868,U+68a2,U+695e,U+69ad,U+6a80,U+6a90,U+6b83,U+6be1,U+6c30,U+6cad,U+6cb1,U+6cf1,U+6d31,U+6d93,U+6dae,U+6dbf,U+6dc6-6dc7,U+6e0d,U+6e32,U+6e3a,U+6e85,U+6eba,U+6f3e,U+6f5e,U+6f7c,U+6fee,U+71ee,U+722a,U+72b7,U+72e9,U+73ba,U+73d1,U+7409,U+7435-7436,U+7459-745a,U+747e,U+7487,U+74e2,U+7504,U+752c-752d,U+7599,U+759f,U+75a1,U+75ca,U+75f0,U+761f,U+7629,U+777f,U+7785,U+77a5,U+77bf,U+78d5,U+7934,U+7940,U+79a7,U+7b19,U+7c38,U+7c95,U+7cb1,U+7ce0,U+7eca,U+7ef7,U+7f2b,U+7f81,U+7fcc,U+8046,U+8148,U+8165,U+819b,U+81ba,U+828b,U+82ae,U+82b7,U+82d3,U+8301,U+830e,U+831c,U+8338,U+837c,U+8393,U+8398,U+83ba,U+83e0,U+83e9,U+853c,U+8654,U+86df,U+8712,U+873f,U+874e,U+8783,U+8859,U+88a4,U+8925,U+8bb7,U+8bff,U+8c19,U+8c1b,U+8c24,U+8c2c,U+8d61,U+8db4,U+8e6c,U+8f8a,U+8fe5,U+8ff8,U+901e,U+90f4,U+912f,U+9163,U+9170,U+91dc,U+949b,U+94a8,U+94b3,U+94c0,U+94e8,U+9525,U+9530,U+9539,U+954c-954d,U+9550,U+955b,U+962a,U+9685,U+96cc,U+9776,U+988d,U+9975,U+9985,U+9a6f,U+9aa5,U+9ab8,U+9c7f,U+9ca4,U+9cb8,U+9e25,U+9e35,U+9e4a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2`,descriptors:{unicodeRange:`U+4ea2,U+4ea5,U+4f36,U+4f84,U+4f8d,U+501a,U+5029,U+516e,U+51a5,U+51c4,U+51f8,U+5201,U+527f,U+5321,U+5352,U+5366,U+53e9,U+54c7,U+5632,U+5676,U+56b7,U+56bc,U+56da,U+56e4,U+5703,U+5729,U+5742,U+57a2-57a3,U+5815,U+58d1,U+5919,U+592d,U+5955,U+5a05,U+5a25,U+5a34,U+5b70,U+5b75,U+5bdd,U+5bf0,U+5c41,U+5c79,U+5c91,U+5c94,U+5ce6,U+5ced,U+5d69,U+5dc5,U+5e16,U+5e27,U+5f27,U+5f95,U+5ffb,U+6020,U+604d,U+6055,U+60e6,U+60eb,U+6123,U+618b,U+61a8,U+620d,U+62c7,U+62ce,U+62d9,U+631f,U+634d,U+6452,U+6479,U+64ce,U+64d2,U+655b,U+660a,U+6726,U+67c4,U+6809,U+6853,U+68e3,U+68f1,U+68fa,U+693f,U+6942,U+6995,U+69a8,U+69b4,U+6a71,U+6b89,U+6bcb,U+6bd3,U+6bd9,U+6c40,U+6cf8,U+6cfe,U+6d85,U+6da3,U+6daa,U+6e0e,U+6e43-6e44,U+6f88,U+7078,U+7099,U+70bd,U+70d9,U+70fd,U+7109,U+7184,U+7239,U+733f,U+73f2,U+748b,U+749c,U+749e,U+759a,U+75d2,U+75eb,U+7620,U+766b,U+7693,U+76cf,U+7738,U+773a,U+776b,U+778e,U+77aa,U+7852,U+78be,U+7948,U+795b,U+7960,U+796f,U+79ba,U+7a20,U+7a96,U+7aa5,U+7b03,U+7b28,U+7b50,U+7b77,U+7bc6,U+7bf1,U+7c27,U+7d0a,U+7ead,U+7ec5,U+7ee2,U+7ef0,U+7efd,U+7f0e,U+7f2e,U+7f79,U+7f9a,U+8098,U+80da,U+80e7,U+80f0,U+80f3,U+80fa,U+818a,U+81e7,U+8237-8238,U+8299,U+82b8,U+82ce,U+837b,U+83bd,U+83cf,U+8426,U+8475,U+85c9,U+85d5,U+85dc,U+85e9,U+871a,U+8747,U+8749,U+888d,U+8910,U+891a,U+8bb4,U+8be3,U+8bec,U+8bf2,U+8c06,U+8c0d,U+8d31,U+8d48,U+8de4,U+8e1e,U+8e4a,U+8e66,U+8f84,U+8f97,U+9083,U+90e1,U+9165,U+91c9,U+94b0,U+94f5,U+9504,U+9532,U+956d,U+95f5,U+95fa,U+9668,U+9698,U+96bd,U+9704,U+9773,U+9890,U+996a,U+997a,U+9a74,U+9a8b,U+9cc4,U+9ccc`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2`,descriptors:{unicodeRange:`U+4ea8,U+4f1e,U+4f51,U+4f63,U+4f7c,U+4f83,U+4fa0,U+4fd1,U+4ffa,U+5018,U+5026,U+508d,U+50bb,U+50f5,U+50fb,U+5162,U+5319,U+5320,U+538c,U+5413,U+541f,U+5475,U+54bd,U+54d1,U+5589,U+5598,U+575f,U+57ae,U+57e0,U+5937,U+5974,U+5978,U+59ae,U+5a1f,U+5a49,U+5ab3,U+5b99,U+5b9b,U+5ba0,U+5be1,U+5be5,U+5c09,U+5c27,U+5de2,U+5e9a,U+5f26,U+5f8a,U+5f98,U+6021,U+606d,U+60bc,U+60d5,U+60e7,U+611a,U+614c,U+6254,U+626f,U+6292,U+6296,U+62b9,U+62e2,U+631a,U+631d,U+6320,U+6346,U+63ba,U+6467,U+64bc,U+658b,U+663c,U+6643,U+6652,U+6656,U+6687,U+66d9,U+66dd,U+66f0,U+673d,U+67ab,U+6816-6817,U+68a7,U+68ad,U+68cd,U+68e0,U+6986,U+69fd,U+6b47,U+6bd7,U+6c1f,U+6c2e-6c2f,U+6cbe,U+6de4,U+6e1d,U+6e83,U+6e9c,U+6ed4-6ed5,U+6f4d,U+70f9,U+7130,U+716e,U+718f,U+71ac,U+71e5,U+72fc,U+731c,U+7334,U+73ca,U+7422,U+7426,U+745f,U+7470,U+75af,U+75f4,U+762b,U+763e,U+7696,U+7737,U+7741,U+77a7,U+77bb,U+77ee,U+785d,U+788c,U+78ca,U+7901,U+796d,U+7985,U+79fd,U+7a3c,U+7a57,U+7a74,U+7b5b,U+7caa,U+7cb9,U+7cd5,U+7eac,U+7eb6,U+7ed1,U+7ee5,U+7f20,U+7f2a,U+7f38,U+7f69,U+7fa1,U+8018,U+8038,U+803f,U+804b,U+80a2,U+80be,U+80d6,U+817a,U+81fb,U+820c,U+82ad,U+82af,U+82bd,U+8327,U+8354,U+835f,U+8367,U+836b,U+840c,U+841d,U+8471,U+849c,U+84b2,U+84c9,U+8517,U+851a,U+8549,U+8681,U+8721,U+8776,U+88d9,U+88f9,U+89c5,U+8c1c,U+8c34,U+8d81,U+8d9f,U+8e0a,U+8e72,U+8eb2,U+8fed,U+901b,U+902e,U+906e,U+9091,U+90aa,U+90af,U+915d,U+9171,U+946b,U+9489,U+9499,U+94a5,U+9508,U+9524,U+952d,U+9551,U+9576,U+95f7,U+9600,U+96b6,U+96c0,U+9756,U+97f6,U+98a0,U+98a4,U+997f,U+9a73,U+9a86,U+9ad3,U+9e3d,U+9ed4`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2`,descriptors:{unicodeRange:`U+4e4d,U+4e5e,U+4ec7,U+4ed5,U+50da,U+50e7,U+515c,U+51a4,U+51ff,U+5203,U+5254,U+5300,U+533e,U+5375,U+53ee,U+5435,U+543b,U+5455,U+548b,U+548f,U+54d7,U+54fa,U+5578,U+5587,U+55a7,U+560e,U+5760,U+576f,U+5777,U+5830,U+58a9,U+5962,U+59e8,U+5a07,U+5a23,U+5a3c,U+5b5a,U+5bb5,U+5bc5,U+5bde,U+5c7f,U+5cb1,U+5ce8,U+5cea,U+5d29,U+5d4c,U+5e18,U+5f57,U+5f5d,U+5f87,U+5ff1,U+6016,U+601c,U+6064,U+6177,U+61d2,U+625b,U+62e3,U+62f1,U+634f,U+63a0,U+6401,U+6405,U+6495,U+64c2,U+6512,U+6577,U+6590,U+65a7,U+65a9,U+65f7,U+6627,U+6655,U+6714,U+6795,U+67d1,U+67ff,U+68b3,U+68d5,U+68d8,U+6930,U+6960,U+6977,U+69bb,U+69d0,U+6a31,U+6b7c,U+6bb4,U+6c22,U+6c72,U+6c79,U+6c7e,U+6c81,U+6c93,U+6ca5,U+6cbc,U+6ce3,U+6cfb,U+6d3c,U+6da9,U+6df3,U+6e2d,U+6eaf,U+6ec7,U+6f13,U+6f33,U+6f62,U+6fa1,U+7011,U+707c,U+708a,U+70c1,U+70d8,U+70eb,U+711a,U+7194,U+7281,U+7316,U+7357,U+7384,U+7405,U+742a,U+745b,U+7574,U+7578,U+75ea,U+7682,U+7792,U+77d7,U+77e9,U+77eb,U+77f6,U+780c,U+78c5,U+7941,U+79e4,U+7a1a,U+7a9c,U+7ad6,U+7b5d,U+7bf7,U+7c07,U+7c3f,U+7c9f,U+7ca5,U+7cdf,U+7e82,U+7eab,U+7ece,U+7eda,U+7f09,U+7f15,U+7f9e,U+7fdf,U+7fe9,U+803b,U+803d,U+80aa,U+80b4,U+813e,U+8155,U+817b,U+819d,U+821c,U+82b9,U+82df,U+82ef,U+8304,U+83b9,U+8446,U+853d,U+85af,U+85fb,U+8650,U+865e,U+86d9,U+86ee,U+8700,U+8862,U+889c,U+88d4,U+88f8,U+895f,U+8a79,U+8bb3,U+8bb6,U+8bc0,U+8beb,U+8bf5,U+8c23,U+8c79,U+8d1e,U+8dcb,U+8e29,U+8e44,U+8e81,U+8eac,U+8eaf,U+8f8d,U+9050,U+90f8,U+914b,U+948a,U+94be,U+94ee,U+950c,U+9540,U+962e,U+9647,U+9661,U+9699,U+96cf,U+9716,U+9761,U+97a0,U+97e7,U+9a7c,U+9a8f,U+9ae6,U+9cd6,U+9e26`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2`,descriptors:{unicodeRange:`U+4fa3,U+4fae,U+4fd8,U+4fef,U+50a3,U+5189,U+5195,U+51db,U+51f3,U+51f9,U+5220,U+5228,U+5288,U+52ff,U+532e,U+533f,U+5351,U+53db,U+53ed,U+5450,U+5484,U+5490,U+54c9,U+54e9,U+5501,U+5507,U+5543,U+55d3,U+56a3,U+575e,U+589f,U+5984,U+59ec,U+5a04,U+5a36,U+5a77,U+5a9a-5a9b,U+5ab2,U+5ac2,U+5ad6,U+5bc7,U+5c2c,U+5c34,U+5c51,U+5cd9,U+5d0e,U+5deb,U+5e3c,U+5e87,U+5ed3,U+5f13,U+5f64,U+5fe1,U+606a,U+6096,U+60df,U+60f6,U+60f9,U+6151,U+620e,U+6241,U+6252,U+6273,U+627c,U+6289,U+62c2,U+62cc,U+62ef,U+6361,U+6363,U+63b7,U+63e3,U+6518,U+66ae,U+6756,U+6789,U+6813,U+6829,U+6862,U+6866,U+6893,U+6897,U+690e,U+6984,U+69cc,U+6a1f,U+6a44,U+6a59,U+6ba1,U+6c13,U+6c90,U+6ca6,U+6cbd,U+6ccc,U+6cd3,U+6cd7,U+6d4a,U+6d4f,U+6d5a,U+6d9f,U+6da1,U+6dcc,U+6ea5,U+6ee4,U+6ee6,U+6f2f,U+6f8e,U+701a,U+7095,U+709c,U+70af,U+70db,U+70e8,U+714e,U+715e,U+71a0,U+71ce,U+7235,U+7280,U+72d0,U+72f8,U+73ab,U+7410,U+745c,U+7480,U+74a7-74a8,U+74e3,U+75ae,U+75f9,U+76b1,U+76ce,U+7736,U+77e2-77e3,U+781a,U+789f,U+797a,U+79be,U+79c3,U+79c6,U+79f8,U+7a8d,U+7a98,U+7aa6,U+7aff,U+7b1b,U+7cd9,U+7d6e,U+7ede,U+7eee,U+7f00,U+7f24,U+7f2d,U+7fd8,U+800d,U+8116,U+8151,U+81b3,U+8205,U+82c7,U+82db,U+832c,U+8335,U+8339,U+8386,U+846b,U+8587,U+8611,U+8682,U+868a,U+868c,U+8774,U+88d8,U+88f4,U+8912,U+8b6c,U+8bbd,U+8c0e,U+8c41,U+8d26,U+8d3b-8d3c,U+8d50,U+8dea,U+8e35,U+8f99,U+8fe2,U+8fe9,U+9017,U+914c,U+916f,U+9175-9176,U+918b,U+94a0,U+94ae,U+94ce,U+94f2,U+951a,U+952f,U+9541,U+9640,U+9672,U+968b,U+96cd,U+96ef,U+9713,U+97ec,U+9885,U+9992,U+9a6d,U+9a79,U+9a85,U+9cbb,U+9cd7,U+9cde,U+9e93,U+9f9f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2`,descriptors:{unicodeRange:`U+4e11,U+4ed7,U+4fcf,U+4fe9,U+4fed,U+50ac,U+50b2,U+5112,U+5180,U+5188,U+51f6,U+522e,U+5265,U+52cb,U+52df,U+5349,U+5367,U+5378,U+537f,U+5395,U+5398,U+53d4,U+543e,U+5440,U+5446,U+54b8,U+5565-5566,U+5580,U+55bb,U+56ca,U+572d,U+573e,U+574e,U+5782-5784,U+58f3,U+5938-5939,U+5948,U+594e,U+5a1c,U+5a74,U+5ae9,U+5b55,U+5b5c,U+5bb0,U+5bd3,U+5bf8,U+5c3f,U+5d14,U+5d2d,U+5df7,U+5dfe,U+5e05-5e06,U+5e1c,U+5e62,U+5e7b,U+5e7d,U+5ed6,U+5f2f,U+5f66,U+5f6c,U+5fa1,U+604b,U+609f,U+60a6,U+60e8,U+6101,U+6124,U+6127,U+6148,U+61be,U+6247,U+62d8,U+62da,U+633d,U+635e,U+6367,U+6380,U+638f,U+63a9,U+63fd,U+641c,U+64e6,U+655e,U+6572,U+6591,U+65a5,U+6691,U+6735,U+67a2-67a3,U+67ef,U+680b,U+6876,U+6905,U+6a0a,U+6a61,U+6b79,U+6bb7,U+6bbf,U+6c41,U+6c55,U+6c83,U+6c9b,U+6ca7,U+6cfc,U+6d46,U+6d51,U+6d74,U+6d9d,U+6daf,U+6dc0,U+6deb,U+6e17,U+6e24,U+6e89,U+6ea2,U+6ef4,U+6f6d,U+707f,U+70b3,U+70e4,U+70ef,U+710a,U+722c,U+725f,U+7261,U+72ee,U+72f1,U+730e,U+732b,U+7433,U+7538,U+75bc,U+7624,U+7709,U+7750,U+7779,U+7802,U+7898,U+78a7,U+78b1,U+78cb,U+78f7,U+7984,U+7a83,U+7aed,U+7b3c,U+7b4b,U+7c92,U+7c98,U+7ca4,U+7eb9,U+7ee3,U+7ef3,U+7ef5,U+7f05,U+7f55,U+7f62,U+7fc1,U+7fd4,U+7fe0,U+8042,U+806a,U+80a0,U+80a4,U+80c3,U+8102,U+8106,U+814a,U+8154,U+8247,U+8258,U+82cd,U+8328,U+832b,U+8389,U+83ca,U+845b,U+846c,U+84b8,U+8574,U+859b,U+8680,U+8695,U+86c7,U+8702,U+886c,U+8896,U+88b1,U+88e4,U+8bc8,U+8c10,U+8c26,U+8c28,U+8c2d,U+8d4c,U+8d63,U+8f67,U+8f74,U+8fc4,U+9006,U+9063,U+90a2,U+90b1,U+90c1,U+9177,U+9189,U+9493,U+949e,U+94fe,U+9610,U+961c,U+96a7,U+96fe,U+978d,U+97f5,U+9888,U+997c,U+9a84,U+9b3c,U+9b44-9b45,U+9b54,U+9e64,U+9f0e,U+9f9a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2`,descriptors:{unicodeRange:`U+4e19,U+4e38,U+4e53,U+4e7e,U+4e9f,U+4ec6,U+4f50,U+4fde,U+502a,U+5154,U+517d,U+51d1,U+51f0,U+5239,U+5256,U+52c9,U+52fe,U+5308,U+532a,U+535c,U+5384,U+53a2,U+53a8,U+53c9,U+53e0,U+5496,U+54ac,U+54c0,U+54c4,U+54e8,U+5561,U+5582,U+561b,U+5631,U+566a,U+5764,U+576a,U+5792,U+57ab,U+584c,U+5885,U+58f6,U+59a8,U+5acc,U+5bc2,U+5c38-5c39,U+5c60,U+5c6f,U+5c82,U+5c90,U+5d16,U+5dcd,U+5e37,U+5e90,U+5eb8,U+5f6a,U+5fcc,U+6012,U+6068,U+6073,U+607c,U+6094,U+6109,U+621a,U+626e,U+6284,U+62d0,U+62e6,U+62fe,U+6321,U+6328,U+632b,U+6349,U+6454,U+65ed,U+660f,U+6674,U+66a8,U+6749,U+674f,U+6760,U+67af,U+6850,U+6854,U+6869,U+68a8,U+68d2,U+68f5,U+6912,U+6b49,U+6b6a,U+6bef,U+6c28,U+6c5d,U+6c82,U+6cab,U+6cb8,U+6cc4,U+6cf5,U+6d47,U+6d78,U+6da4,U+6dc4,U+6dcb,U+6df9,U+6e0a,U+6e23,U+6e5b,U+6eb6,U+6f06,U+6f47,U+6f84,U+6f9c,U+6fd2,U+7076,U+70ac,U+7199,U+723d,U+72ac,U+72ed,U+7476,U+7529,U+752b,U+754f,U+7554,U+75d5,U+7626,U+76ef,U+7720,U+7766,U+7784,U+77ac,U+780d,U+7838,U+7845,U+786b,U+78b3,U+7978,U+79b9,U+79c9,U+79e7,U+7a3d,U+7a84,U+7a9f,U+7b0b,U+7b52,U+7c7d,U+7f1a,U+7fc5,U+7ff0,U+804a,U+8086-8087,U+808c,U+809a,U+80ba,U+810a,U+8180,U+818f,U+81c2,U+81ed,U+8231,U+8292,U+829c,U+82a6,U+82d1,U+8346,U+838e,U+839e,U+83c7,U+83f1,U+8403,U+840e,U+8513,U+857e,U+85e4,U+867e,U+871c,U+87ba,U+87f9,U+884d,U+8944,U+8a93,U+8c05,U+8d2c,U+8d2e,U+8d42-8d43,U+8dfb,U+8e22,U+8eba,U+8f69,U+8f9c,U+8fa3,U+8fa8,U+8fb1,U+900a,U+9038,U+903b,U+9042,U+904f,U+90b5,U+90dd,U+9102,U+9187,U+94a7,U+94c5,U+9523,U+95f8,U+95fd,U+960e,U+964b-964c,U+96c1,U+9709,U+971c,U+97ad,U+9882,U+9965,U+9976,U+9988,U+99a8,U+9a82,U+9a9a,U+9b41,U+9c8d,U+9e45,U+9e70,U+9e9f,U+9f3b,U+9f7f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2`,descriptors:{unicodeRange:`U+4e08,U+4e18,U+4e1b,U+4e22,U+4e27,U+4e32,U+4e52,U+4e73,U+4ead,U+4ed4,U+4ed9,U+4ef0,U+4fa6,U+5076,U+5179,U+51bb,U+51c9,U+51ef,U+51fd,U+524a,U+526a,U+529d,U+52ab,U+5306,U+5339,U+53d9,U+540a,U+5410,U+541e,U+5439,U+54b1,U+54ed,U+5564,U+558a,U+55b7,U+5634,U+574a,U+5751,U+57a6,U+57cb,U+57d4,U+5824,U+582a,U+5835,U+5858,U+5893,U+58e4,U+5951,U+5986,U+59da,U+59fb,U+59ff,U+5a03,U+5a46,U+5ac1,U+5b5d,U+5bfa,U+5c18,U+5c3a,U+5c48,U+5c4f,U+5c61,U+5cb3,U+5d1b,U+5e15,U+5e3d,U+5e99,U+5e9e,U+5eca,U+5f0a,U+5f17-5f18,U+5f25,U+5f7c,U+5fcd,U+6028,U+60a0,U+60ac,U+60d1,U+614e,U+6155,U+6168,U+61c8,U+6208,U+6212,U+6251,U+629a-629b,U+62ab-62ac,U+62fc,U+6323,U+632a,U+63d2,U+643a,U+6491-6492,U+649e,U+64b0,U+64c5,U+659c,U+6614,U+662d,U+6664,U+6670,U+6676,U+6746,U+67cf,U+67d4,U+682a,U+6843,U+6846,U+68da,U+6b3a,U+6b67,U+6c27,U+6c5b,U+6c64,U+6c70,U+6caa,U+6cca,U+6ce1,U+6d12,U+6d45,U+6dd1,U+6dd8,U+6e34,U+6e7f,U+6ee5,U+6f02,U+7092,U+70c2,U+70e6,U+7115,U+7237,U+7272,U+727a,U+72c2,U+739b,U+73b2,U+743c,U+751c,U+758f,U+75b2,U+7686,U+76c6,U+76d2,U+76fc,U+775b,U+77a9,U+7816,U+788e,U+7897,U+78b0,U+79bd,U+7a0d,U+7a91,U+7a9d,U+7ae3,U+7bad,U+7cca,U+7d2b,U+7eb1,U+7f06,U+7f14,U+7f1d,U+7f50,U+7ffc,U+8036,U+80bf,U+80c1,U+80ce,U+80f8,U+8109,U+810f,U+8170,U+8179,U+819c,U+821f,U+8230,U+8236,U+8273,U+829d,U+82f9,U+8305,U+8350,U+83b2,U+83cc,U+8404,U+840d,U+8427,U+8482,U+8679,U+8854,U+886b,U+8bbc,U+8be6,U+8c31,U+8c6b,U+8d4b,U+8dcc,U+8e2a,U+8e48,U+8f90,U+8fb0,U+9022,U+903c,U+903e,U+9065,U+916c,U+917f,U+94a9,U+94c3,U+94dd,U+94ed,U+9510,U+953b,U+96c7,U+970d,U+9738,U+9877,U+987d,U+989c,U+98d8,U+9a70,U+9a91,U+9aa4,U+9b42,U+9b4f,U+9e2d,U+9e3f,U+9e7f,U+9f20`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2`,descriptors:{unicodeRange:`U+4e59,U+4ed3,U+4f0f,U+4f38,U+4f69,U+4fa7,U+4faf,U+4ff1,U+5077,U+5085,U+5144,U+5151,U+51af,U+51b6,U+51cc,U+523a,U+5251,U+5269,U+5272,U+52d8,U+5353,U+5389,U+53f9,U+5401,U+5415,U+541b,U+54f2,U+5524,U+554a,U+559d,U+5609,U+5740,U+575d,U+5806,U+5821,U+586b,U+5915,U+594f,U+5960,U+5999,U+59a5,U+59b9,U+59c6,U+59d1,U+59dc,U+5b5f,U+5b64,U+5b87,U+5bb4,U+5bbf,U+5c16,U+5c1d,U+5c3e,U+5c9a,U+5ca9,U+5cad,U+5cfb,U+5de1,U+5de7,U+5de9,U+5ef7,U+5f04,U+5f70,U+5f79,U+5fc6,U+602a,U+6050,U+6052,U+6070,U+6084,U+60b2,U+60dc,U+60e9,U+6167,U+6170,U+61c2,U+6270,U+6291,U+62b1,U+62bc,U+62dc,U+62df,U+62f3,U+6324,U+633a,U+6377,U+6398,U+63cf,U+640f,U+642c-642d,U+6458,U+6478,U+6500,U+654c,U+6566,U+658c,U+65c1,U+65cb,U+65e8,U+65ec,U+6696-6697,U+6734,U+679a,U+679d,U+67dc,U+67f3-67f4,U+680f,U+683d,U+684c,U+68af,U+699c,U+6bc1,U+6c0f,U+6c1b,U+6c57,U+6c6a,U+6d3d,U+6d6e,U+6d82,U+6db5,U+6dee,U+6e58,U+6eaa,U+6ecb,U+6ede,U+6ee9,U+6f0f,U+6f20,U+6f58,U+704c,U+7070,U+70b8,U+718a,U+7238,U+7262,U+7275,U+72b9,U+72d7,U+72e0,U+741b,U+7434,U+7483,U+74f6-74f7,U+75ab,U+764c,U+7761,U+7855,U+7891,U+78c1,U+79d2,U+7a00,U+7a3b,U+7c97,U+7ea4,U+7eb2,U+7ed2,U+7eea,U+7ef8,U+7f18,U+7fbd,U+8000,U+8010,U+8096,U+809d,U+80a9,U+817f,U+81e3,U+8206,U+8212,U+82ac,U+8302,U+8361,U+8377,U+83f2,U+8461,U+848b,U+84ec,U+8521,U+85aa,U+8870,U+8877,U+8881,U+888b,U+88ad,U+88c2,U+8986,U+8bd1,U+8bf1,U+8d24,U+8d2a,U+8d3e-8d3f,U+8d41,U+8d56,U+8d64,U+8d6b,U+8e0f,U+8f70,U+8f85,U+8f88,U+8fa9,U+9003,U+901d,U+90b9,U+90ce,U+94a6,U+94f8,U+9505,U+95ea,U+95ef,U+95f2,U+95f9,U+9601,U+9605,U+9634,U+966a,U+9677,U+9690,U+9694,U+96d5,U+971e,U+9896-9897,U+9972,U+9a71,U+9a76,U+9a7e,U+9e1f,U+9e23`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2`,descriptors:{unicodeRange:`U+4e01,U+4e43,U+4ea6,U+4ef2,U+4eff,U+4f26,U+4f2a,U+4f2f,U+4f5b,U+4fa8,U+4fca,U+4fd7,U+5021,U+504f,U+5141,U+51c0,U+51dd,U+51e4,U+51ed,U+5200,U+5237,U+5427,U+5448,U+54a8,U+5706,U+5708,U+5723,U+575b,U+57c3,U+5899,U+58a8,U+58c1,U+5976,U+5988,U+59bb,U+59d0,U+59d3,U+5a18,U+5a31,U+5a92,U+5b54,U+5b85,U+5baa-5bab,U+5bc4,U+5bd2,U+5be8,U+5bff,U+5c65,U+5d07,U+5e1d,U+5e78,U+5e7c,U+5f03,U+5f1f,U+5f39,U+5f6d,U+5f92,U+5faa,U+5fbd,U+5fe7,U+5ffd,U+60a8,U+60ef,U+6108,U+6162,U+622a,U+6234,U+626b,U+626d,U+62c6,U+62d2,U+62d4,U+62d6,U+62e8,U+6316,U+6355,U+63ed,U+6447,U+64a4,U+65f1,U+6606,U+6628,U+664b,U+6668,U+6682,U+66f9,U+66fc,U+66ff,U+6717,U+6740,U+676d,U+67aa,U+67ec,U+67f1,U+6842,U+6851,U+695a,U+6982,U+6a2a,U+6b20,U+6b23,U+6b32,U+6b96,U+6bc5,U+6beb,U+6c60,U+6c9f,U+6cea,U+6cf3,U+6d1e,U+6d53,U+6d66,U+6d69,U+6d8c,U+6d9b,U+6db2,U+6de1,U+6dfb,U+6e14,U+6ed1,U+6eda,U+6ee8,U+6f2b,U+706d,U+7089,U+708e,U+70ad-70ae,U+70e7,U+7126,U+714c,U+71c3,U+71d5,U+7206,U+7259,U+731b,U+73a9,U+73bb,U+74dc,U+7532,U+7545,U+755c,U+75c7,U+7687,U+76d7,U+76f2,U+788d,U+78e8,U+79e6,U+79e9,U+7a3f,U+7a46,U+7a97,U+7af9,U+7bee,U+7c4d,U+7c89,U+7cd6,U+7eb5,U+7ebd,U+7ed8,U+8017,U+8033,U+80c0,U+80de,U+80f6,U+8138,U+817e,U+81a8,U+820d,U+827e,U+82b3,U+82d7,U+83b1,U+84c4,U+84dd,U+8584,U+864e,U+865a,U+866b,U+86cb,U+88d5,U+89e6,U+8bca,U+8bde,U+8bfa,U+8c0a,U+8c37,U+8c46,U+8c6a,U+8c8c,U+8d1d,U+8d29,U+8d4f,U+8d54,U+8d5a,U+8d60,U+8d62,U+8f7f,U+8f96,U+8f9e-8f9f,U+8fc1,U+8fdf,U+8fea,U+8ff7,U+9012,U+906d,U+9075,U+90a6,U+90bb,U+90ca,U+9178,U+9192,U+91ca,U+94bb,U+94dc,U+94fa,U+9501,U+950b,U+9521,U+955c,U+963b,U+9655,U+9675-9676,U+9887,U+9891,U+9971,U+9a97,U+9ece,U+9ed8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2`,descriptors:{unicodeRange:`U+4e1d,U+4e39,U+4e4c,U+4e4f,U+4e54,U+4e58,U+4e95,U+4ea1,U+4eab,U+4eae,U+4ec1,U+4f10,U+4f19,U+4f30,U+4f34,U+4fb5,U+503e,U+518c,U+5192,U+51a0,U+51ac,U+51b0,U+51e1,U+5211,U+5242,U+52a3,U+52b2,U+52c3,U+52c7,U+52d2,U+52e4,U+5377,U+539a,U+53a6,U+53e5,U+5417,U+5510,U+552f,U+5531,U+574f-5750,U+5761,U+5851,U+5854,U+58ee,U+593a,U+5949,U+5954,U+5a5a,U+5b8b,U+5bbd,U+5c04,U+5c0a,U+5c4b,U+5ce1,U+5cf0,U+5e10,U+5e8a,U+5e9f,U+5ec9,U+5f31,U+5f84,U+5fd8-5fd9,U+5fe0,U+6015,U+6062,U+6069,U+6076,U+6089,U+60a3,U+60ca,U+620f,U+624e,U+6263,U+6298,U+62a2,U+62bd,U+6311,U+6350,U+6389,U+638c,U+63f4,U+6446,U+644a,U+6469,U+64cd,U+654f,U+6562,U+656c,U+65d7,U+65e6,U+65fa,U+660c,U+6653,U+66b4,U+670b,U+672b,U+676f-6770,U+6881,U+6885,U+68a6,U+68cb,U+68ee,U+6b8a,U+6c88-6c89,U+6cc9,U+6ce5,U+6d01,U+6d17,U+6d1b,U+6d59,U+6d6a,U+6da8,U+6df7,U+6e10,U+6e20-6e21,U+6f5c,U+706f,U+70bc,U+719f,U+7267,U+732a,U+73cd,U+7518,U+756a,U+7586,U+7591,U+75db,U+76c8,U+76d0,U+76d6,U+76d8,U+76df,U+76fe,U+77db,U+7801,U+786c,U+795d,U+7965,U+79cb,U+7a77,U+7a7f,U+7aef,U+7b11,U+7bb1,U+7bc7,U+7ea0,U+7eaf,U+7ed5,U+7edc,U+7f13,U+7f29,U+7f34,U+7f8a,U+7ffb,U+8015,U+8058,U+805a,U+8083,U+80af,U+80c6,U+80cc,U+811a,U+8150,U+82e5,U+8336,U+8352,U+83ab,U+8428,U+8463,U+852c,U+8861,U+89c8,U+8bcd,U+8bd7,U+8bda,U+8be2,U+8bef,U+8bf8,U+8c0b,U+8c13,U+8d34,U+8d3a,U+8d74,U+8d76,U+8da3,U+8dd1,U+8ddd,U+8ddf,U+8df3,U+8f68,U+8f6f,U+8f7d,U+8f91,U+8f9b,U+8fbd,U+8fc8,U+8fd4,U+8feb,U+8ff9,U+900f,U+9057,U+907f-9080,U+90d1,U+90ed,U+91ce,U+9519,U+9526,U+95ed,U+9614,U+9635,U+9644,U+9686,U+96c5,U+96ea,U+9707,U+9732,U+9759,U+978b,U+9876,U+9881,U+9910,U+996e,U+9970,U+9c81,U+9e21,U+9ebb,U+9f84`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2`,descriptors:{unicodeRange:`U+4e3d,U+4e4e,U+4e71,U+4e8f,U+4ed8,U+4eea,U+4f0a,U+4f0d,U+4f11,U+4f1f,U+4f24,U+4f3c,U+4f73,U+4fc4,U+500d,U+5012,U+501f,U+503a,U+505c,U+507f,U+50a8,U+514d,U+5178,U+517c,U+51b2,U+51b7,U+520a,U+5238,U+523b,U+52b1,U+535a,U+5371,U+5385,U+53eb-53ec,U+53f3,U+53f6,U+5409,U+542b,U+542f,U+5434,U+5462,U+5473,U+547c,U+54c8,U+54ea,U+56fa,U+5733,U+5757,U+5766,U+5802,U+585e,U+590f,U+591c,U+591f,U+5947,U+594b,U+5987,U+5a01,U+5b59,U+5b63,U+5b88,U+5b97,U+5b9c,U+5bbe,U+5bfb,U+5c01,U+5c1a,U+5c24,U+5c3c,U+5c97,U+5c9b,U+5cb8,U+5de6,U+5e01,U+5e2e,U+5e45,U+5e55,U+5e84,U+5ef6,U+5f02,U+5f52,U+5f69,U+5f7b,U+5f90,U+5fae,U+6000,U+600e,U+6025,U+60e0,U+6276,U+6297,U+62b5,U+62cd,U+62d3,U+62e5,U+62e9,U+62ff,U+6302,U+632f,U+63e1,U+6444,U+64ad,U+653b,U+6551,U+6563,U+65a4,U+65e7,U+6620,U+667a,U+66f2,U+671d,U+6731,U+6742,U+675f,U+6768,U+677e-677f,U+6790,U+67b6,U+67d3,U+6863,U+68b0,U+68c9,U+690d,U+6b8b,U+6bcd,U+6bd2,U+6bd5,U+6c38,U+6c61,U+6cbf,U+6cdb,U+6cf0,U+6d2a,U+6d89,U+6da6,U+6f6e,U+6fb3,U+7075,U+707e,U+70df,U+7164,U+7236,U+725b,U+7389,U+73e0,U+745e,U+74e6,U+751a,U+7537,U+75be,U+76ae,U+76db,U+793c,U+7956,U+7981,U+79d8,U+79df,U+79fb,U+7adf,U+7ae5,U+7b14,U+7b26,U+7b54,U+7b79,U+7d2f,U+7eb8,U+7eba,U+7ec6,U+7ee9,U+7eff,U+7f5a,U+7f6a,U+7f72,U+8089,U+80a5,U+80e1,U+8111,U+8131,U+821e,U+822c,U+8270,U+8499,U+8651,U+867d,U+8840,U+8857,U+8863,U+88c1,U+89c9,U+89d2,U+8a89,U+8bed,U+8bfe,U+8c01,U+8c22,U+8d21,U+8d25,U+8d2f,U+8d5e,U+8d75,U+8d8b,U+8dc3,U+8de8,U+8df5,U+8f6e,U+8f86,U+8f89,U+8fc5,U+8ff0,U+8ffd,U+9014,U+904d,U+90ae,U+9274,U+949f,U+952e,U+969c,U+96c4,U+96e8,U+96f6-96f7,U+97e9,U+987f,U+996d,U+9a7b,U+9aa8,U+9c7c,U+9c9c,U+9e4f,U+9f13,U+9f50`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2`,descriptors:{unicodeRange:`U+4e13,U+4e16,U+4e1c,U+4e24,U+4e3e,U+4e49,U+4e61,U+4e66,U+4e89,U+4e8c,U+4e94,U+4e9b,U+4ea4,U+4eac,U+4ebf,U+4eca,U+4ef6-4ef7,U+4efb,U+4f18,U+4f20,U+4f46,U+4f7f,U+4fe1,U+503c,U+505a,U+5146,U+5148,U+515a,U+5171,U+5177,U+519b,U+51b3,U+51c6,U+51e0,U+5212,U+521b,U+522b,U+529e,U+52bf,U+534e-534f,U+5355,U+5357,U+5382,U+539f,U+53bb,U+53bf,U+53c2,U+53c8,U+53ca,U+53d6-53d8,U+53e3,U+53ea,U+53f0,U+540d,U+5411,U+56db,U+56de,U+56e0,U+56e2,U+578b,U+57ce,U+57fa,U+589e,U+5904,U+5934,U+5982,U+5b89,U+5b8c,U+5bfc,U+5c06,U+5c11,U+5c40,U+5c71,U+5e38,U+5e72,U+5e76,U+5e7f,U+5e94,U+5e9c,U+5f0f,U+5f15,U+5f20,U+5f3a,U+5f62,U+5f88,U+5fc5,U+5fd7,U+5feb,U+601d,U+6027,U+60c5,U+60f3,U+610f,U+6216,U+6218,U+624b,U+624d,U+6279,U+628a,U+6295,U+6301,U+6307,U+636e,U+63a5,U+63a8,U+652f,U+6536,U+653e,U+6548,U+6559,U+6570,U+65bd,U+65e0,U+6602,U+660e,U+6613,U+66f4,U+6700,U+670d,U+671f,U+672f,U+6743,U+674e,U+6751,U+6761,U+6784,U+6797,U+679c,U+67e5,U+6807,U+6837,U+683c,U+6b21,U+6b63-6b65,U+6bcf,U+6bd4,U+6c42,U+6c5f,U+6ca1,U+6cbb,U+6d3b,U+6d41,U+6d88,U+6df1,U+70b9,U+7136,U+7269,U+7279,U+7531,U+754c,U+767e,U+76ca,U+76f8,U+770b,U+7740,U+7814,U+79ef,U+7a0b,U+7a0e,U+7a76,U+7b80,U+7cbe,U+7cfb,U+7e41,U+7ea7,U+7ec4,U+7ec7,U+7ed3,U+7ed9,U+7edf,U+7f8e,U+8001,U+804c,U+8054,U+80b2,U+81f3,U+8425,U+8868,U+88ab,U+897f,U+89c1-89c2,U+89c4,U+89c6,U+89e3,U+8ba1,U+8ba4,U+8bae,U+8bb0,U+8bba,U+8bc1,U+8c03,U+8d28,U+8d39,U+8def,U+8f66,U+8f6c,U+8fd0-8fd1,U+9020,U+9053,U+90a3,U+90fd,U+91cc,U+9500,U+9547,U+95e8,U+95f4,U+961f,U+9645,U+9662,U+96be,U+96c6,U+9700,U+9769,U+97e6,U+9875,U+9879,U+9886,U+9898,U+98ce,U+9996,U+2b5af,U+2cc56,U+2e9f5,U+30edd-30ede`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2`,descriptors:{unicodeRange:`U+4e03,U+4e30,U+4e34,U+4e45,U+4e60,U+4e70,U+4e88,U+4e91-4e92,U+4ea9,U+4eb2,U+4ec0,U+4ecb,U+4ecd,U+4ee4,U+4fee,U+5019,U+5047,U+50cf,U+5145,U+516d,U+5170,U+5175,U+5199,U+51cf,U+51fb,U+521a,U+5224,U+5267,U+52aa,U+5347-5348,U+534a,U+5356,U+5361,U+536b,U+5370,U+538b,U+53e4,U+53e6,U+5403,U+5426,U+5428,U+542c,U+5438,U+5668,U+56ed,U+56f4,U+56fe,U+57df,U+592a,U+5957,U+5b69,U+5b81,U+5b8f,U+5b98,U+5b9d,U+5ba1,U+5ba4,U+5bb3,U+5bc6,U+5bdf,U+5c3d,U+5c5e,U+5c81,U+5ddd,U+5de8,U+5dee,U+5e0c,U+5e86,U+5e8f,U+5e93,U+5e95,U+5e97,U+5ea7,U+5ead,U+5eb7,U+5f55,U+5f81,U+5f85,U+5ff5,U+6001,U+613f,U+6258,U+6267,U+6269,U+626c,U+627e,U+62db,U+62ec,U+6325,U+635f,U+6362,U+6388,U+6392,U+63a2,U+63a7,U+63aa,U+641e,U+6545,U+6597,U+65e2,U+65e9,U+661f,U+665a,U+666e-666f,U+66fe,U+6728,U+67d0,U+6811,U+6838,U+6865,U+697c,U+6b22,U+6b27,U+6b4c,U+6b62,U+6b66,U+6b7b,U+6bdb,U+6c47,U+6c49,U+6c7d,U+6c99,U+6cfd,U+6d0b,U+6d25,U+6d32,U+6d3e,U+6d4b,U+6e29,U+6e56,U+6e7e,U+6f14,U+6fc0,U+706b,U+70c8,U+7247,U+72af,U+72b6,U+72ec,U+732e,U+73ed,U+7403,U+7533,U+753b,U+7559,U+7565,U+7597,U+767b,U+773c,U+7763,U+77ed,U+77ff,U+7968,U+798f,U+79bb,U+79c0-79c1,U+7ad9,U+7ae0,U+7b51,U+7b7e,U+7cae,U+7d22,U+7ea2,U+7eb3,U+7eb7,U+7ec3,U+7ec8,U+7ecd,U+7edd,U+7efc,U+7f16,U+7f3a,U+7f51,U+7f57,U+7f6e,U+80dc,U+822a,U+8239,U+826f,U+82cf,U+82e6,U+8349,U+8363,U+83dc,U+8457,U+85cf,U+878d,U+8865,U+8a00,U+8b66,U+8ba2,U+8ba8,U+8bad,U+8bb2,U+8bc9,U+8bd5,U+8bfb,U+8d2b,U+8d35,U+8d37,U+8f7b,U+8f93,U+8fce,U+8fdd,U+9000-9002,U+9010,U+9047,U+9093,U+9152,U+9488,U+94a2,U+9633,U+9636,U+963f,U+9646,U+9648,U+964d,U+9664,U+9669,U+9760,U+97f3,U+987a,U+987e,U+9884,U+98de,U+9986,U+9ed1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2`,descriptors:{unicodeRange:`U+4e14,U+4e25,U+4e48,U+4e50,U+4e5d,U+4e9a,U+4ec5,U+4efd,U+4f17,U+4f4e-4f4f,U+4f55,U+4f59,U+4f60,U+4f8b,U+4f9b,U+4f9d,U+4fbf,U+4fc3,U+5065,U+513f,U+5149,U+514b,U+516b,U+5174,U+517b,U+518d,U+51b5,U+5207,U+5217-5219,U+521d,U+526f,U+529f,U+52a9,U+52b3,U+5305,U+533b,U+5343,U+5360,U+5373-5374,U+5386,U+53cb-53cd,U+53f2,U+53f7,U+544a,U+5468,U+547d,U+54cd,U+552e,U+5584,U+56f0,U+571f,U+5747,U+575a,U+57f9,U+5883,U+58eb,U+58f0,U+5907,U+590d,U+592e,U+5931,U+5956,U+5965,U+5973,U+5979,U+59cb,U+5b57-5b58,U+5b83,U+5ba2-5ba3,U+5bb9,U+5bcc,U+5c42,U+5c45,U+5c4a,U+5dde,U+5df1,U+5df4,U+5e03,U+5e08,U+5e26,U+5e2d,U+5f71,U+5f80,U+5f8b,U+5fb7,U+606f,U+611f,U+6237,U+623f,U+6253,U+627f,U+6293,U+62a4,U+62c5,U+62c9,U+6309,U+6574,U+6599,U+65ad,U+65af,U+65c5,U+65cf,U+6625,U+663e,U+671b,U+672a,U+6750,U+6781,U+6821,U+6839,U+6848,U+68c0,U+6a21,U+6b3e,U+6bb5,U+6c14,U+6cb3,U+6cb9,U+6ce8,U+6e05,U+6e2f,U+6e38,U+6e90,U+6ee1,U+70ed,U+7167,U+7231,U+7248,U+724c,U+7387,U+738b,U+73af,U+7530,U+75c5,U+767d,U+76d1,U+76f4,U+771f,U+77e5,U+77f3,U+7834,U+7840,U+786e,U+793a,U+795e,U+79f0,U+7a33,U+7a7a,U+7a81,U+7ade,U+7b56,U+7b97,U+7c73,U+7c7b,U+7d20,U+7d27,U+7ea6,U+7eaa,U+7ebf,U+7ee7,U+7eed,U+7ef4,U+7fa4,U+8003,U+80a1,U+81f4,U+8272,U+827a,U+8282,U+82b1,U+82f1,U+8303,U+836f,U+83b7,U+843d,U+88c5,U+8ba9,U+8baf,U+8bb8,U+8bbf,U+8bc4,U+8bc6,U+8bdd,U+8be5,U+8bf7,U+8c08,U+8c61,U+8d1f,U+8d22-8d23,U+8d27,U+8d2d,U+8d38,U+8d5b,U+8d70,U+8d85,U+8d8a,U+8db3,U+8eab,U+8f83,U+8fb9,U+8fdc,U+8fde,U+9009,U+901f,U+914d,U+91c7,U+94b1,U+94c1,U+94f6,U+95fb,U+9632,U+9650,U+968f,U+9752,U+975e,U+987b,U+989d,U+98df,U+9999,U+9a6c,U+9a8c,U+9ec4,U+9feb-9fec`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2`,descriptors:{unicodeRange:`U+98fb-990c,U+990e-990f,U+9911-992d,U+992f-9953,U+9956-9962,U+9964,U+9966,U+9973,U+9978-9979,U+997b,U+997e,U+9982-9983,U+9989,U+998c,U+998e,U+999a-99a4,U+99a6-99a7,U+99a9-99c8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2`,descriptors:{unicodeRange:`U+8e4c-8e50,U+8e53-8e58,U+8e5a-8e65,U+8e67-8e68,U+8e6a-8e6b,U+8e6e,U+8e71,U+8e73,U+8e75,U+8e77-8e7b,U+8e7d-8e7e,U+8e80,U+8e82-8e84,U+8e86,U+8e88-8e8e,U+8e91-8e93,U+8e95-8e9b,U+8e9d,U+8e9f-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3-8eb9,U+8ebb-8ecd,U+8ecf-8f02`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2`,descriptors:{unicodeRange:`U+2e3a,U+3001-3002,U+3008-3011,U+3014-3017,U+301d-301f,U+4dae,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e1a,U+4e2a,U+4e2d,U+4e3a-4e3b,U+4e4b,U+4e5f,U+4e86,U+4e8b,U+4e8e,U+4ea7,U+4eba,U+4ece,U+4ed1,U+4ed6,U+4ee3,U+4ee5,U+4eec,U+4f01,U+4f1a,U+4f4d,U+4f53,U+4f5c,U+4fdd,U+5143,U+5165,U+5168,U+516c,U+5173,U+5176,U+5185,U+519c,U+51fa,U+5206,U+5229,U+5230,U+5236,U+524d,U+529b,U+52a0-52a1,U+52a8,U+5316-5317,U+533a,U+5341,U+5362,U+53d1,U+53ef,U+53f8,U+5404,U+5408,U+540c,U+540e,U+5458,U+548c,U+54c1,U+54e5,U+5546,U+559c,U+56fd,U+5728,U+5730,U+573a,U+5916,U+591a,U+5927,U+5929,U+592b,U+597d,U+59d4,U+5b50,U+5b66,U+5b9a,U+5b9e,U+5bb6,U+5bf9,U+5c0f,U+5c14,U+5c31,U+5c55,U+5de5,U+5df2,U+5e02,U+5e73-5e74,U+5ea6,U+5efa,U+5f00,U+5f53,U+5f97,U+5fc3,U+603b,U+6210-6211,U+6240,U+6280,U+62a5,U+63d0,U+6539,U+653f,U+6587,U+65b0,U+65b9,U+65e5,U+65f6,U+662f,U+6708-6709,U+672c,U+673a,U+675c,U+6765,U+6c11,U+6c34,U+6cd5,U+6ce2,U+6d4e,U+6d77,U+73b0,U+7406,U+751f,U+7528,U+7535,U+7684,U+76ee,U+793e,U+79cd,U+79d1,U+7acb,U+7b2c,U+7b49,U+7ba1,U+7ecf,U+8005,U+800c,U+80fd,U+81ea,U+884c,U+8981,U+8bbe,U+8bf4,U+8d44,U+8d77,U+8fbe,U+8fc7,U+8fd8-8fd9,U+8fdb,U+901a,U+90e8,U+91cd,U+91cf,U+91d1,U+9485,U+957f,U+95ee,U+9762,U+9ad8,U+9ea6,U+9f99,U+9fcf,U+9fd4,U+9fed,U+fe10-fe19,U+fe30-fe31,U+fe33-fe44,U+ff01,U+ff0c,U+ff1f,U+2b4e7,U+2b7f7,U+2b7fc,U+2cb2d,U+2cb3b,U+2cb4a,U+2cb5b,U+2cb73`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2`,descriptors:{unicodeRange:`U+6490,U+6493-6494,U+6497-6498,U+649a-649d,U+649f-64a3,U+64a5-64a8,U+64aa-64ab,U+64af,U+64b1-64b4,U+64b6,U+64b9,U+64bb,U+64bd-64bf,U+64c1,U+64c3-64c4,U+64c6-64cc,U+64cf,U+64d1,U+64d3-64d6,U+64d9-64dd,U+64df-64e1,U+64e3,U+64e5,U+64e7-64ff,U+6501-6508,U+650a-6511,U+6513-6517,U+6519-6524,U+6526-652a,U+652c-652d,U+6530-6533,U+6537,U+653a,U+653c-653d,U+6540-6544,U+6546-6547,U+654a-654b,U+654d-654e,U+6550,U+6552-6554,U+6557-6558,U+655a,U+655c,U+655f-6561,U+6564-6565,U+6567-6568`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2`,descriptors:{unicodeRange:`U+9695-9696,U+969a-969b,U+969d-96a6,U+96a8-96af,U+96b1-96b2,U+96b4-96b5,U+96b7-96b8,U+96ba-96bb,U+96bf,U+96c2-96c3,U+96c8,U+96ca-96cb,U+96d0-96d1,U+96d3-96d4,U+96d6-96df,U+96e1-96e7,U+96eb-96ee,U+96f0-96f2,U+96f4-96f5,U+96f8,U+96fa-96fd,U+96ff,U+9702-9703,U+9705,U+970a-970c,U+9710-9712,U+9714-9715,U+9717-971b,U+971d,U+971f-9729,U+972b-972c,U+972e-972f,U+9731,U+9733-9737,U+973a-973d,U+973f-9751,U+9754-9755,U+9757-9758,U+975a,U+975c-975d,U+975f,U+9763-9764,U+9766-9768,U+976a-9770`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2`,descriptors:{unicodeRange:`U+6af0-6b1f,U+6b25-6b26,U+6b28-6b31,U+6b33-6b36,U+6b38,U+6b3b-6b3d,U+6b3f-6b42,U+6b44-6b45,U+6b48,U+6b4a-6b4b,U+6b4d-6b58,U+6b5a-6b61,U+6b68-6b69,U+6b6b-6b78,U+6b7a,U+6b7d-6b80,U+6b85,U+6b88,U+6b8c,U+6b8e-6b91,U+6b94-6b95,U+6b97-6b99,U+6b9c-6ba0,U+6ba2-6ba9,U+6bab-6bb2,U+6bb6,U+6bb8-6bba`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2`,descriptors:{unicodeRange:`U+430e-439a,U+29e8a,U+29ec4,U+29edb,U+29ee9,U+29f7e,U+29f83,U+29f8c,U+29fce,U+2a01a,U+2a02f,U+2a082,U+2a0f9,U+2a190,U+2a38c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2`,descriptors:{unicodeRange:`U+92ef-933d,U+933f-9369,U+936b-9388`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2`,descriptors:{unicodeRange:`U+4512-458d,U+2b300,U+2b363,U+2b36f,U+2b372,U+2b37d,U+2b404,U+2b410,U+2b413,U+2b461,U+2b4ef,U+2b4f6,U+2b4f9,U+2b50d-2b50e,U+2b536,U+2b5ae,U+2b5b3,U+2b5e7,U+2b5f4,U+2b61c-2b61d,U+2b626-2b628,U+2b62a,U+2b62c,U+2b695-2b696,U+2b6ad,U+2b6ed`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2`,descriptors:{unicodeRange:`U+88bd-88c0,U+88c3-88c4,U+88c7-88c8,U+88ca-88cd,U+88cf-88d1,U+88d3,U+88d6-88d7,U+88da-88de,U+88e0-88e1,U+88e6-88e7,U+88e9-88ef,U+88f2,U+88f5-88f7,U+88fa-88fb,U+88fd,U+88ff-8901,U+8903-8909,U+890b-890f,U+8911,U+8914-8918,U+891c-8920,U+8922-8924,U+8926-8929,U+892c-892f,U+8931-8933,U+8935,U+8937-8940,U+8942-8943,U+8945-895d,U+8960-8965,U+8967-897a,U+897c-897e,U+8980,U+8982,U+8984-8985`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2`,descriptors:{unicodeRange:`U+4b0b-4ba0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2`,descriptors:{unicodeRange:`U+7179,U+717b-717c,U+717e-7183,U+7185-7189,U+718b-718e,U+7190-7193,U+7195-7197,U+719a-719e,U+71a1-71a7,U+71a9-71ab,U+71ad-71b2,U+71b4,U+71b6-71b8,U+71ba-71c2,U+71c4-71cd,U+71cf-71d3,U+71d6-71df,U+71e1-71e4,U+71e6,U+71e8-71ed,U+71ef-71f8,U+71fa-7205,U+7207-721c,U+721e-7227,U+7229,U+722b,U+722d`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2`,descriptors:{unicodeRange:`U+982e-9874,U+988b,U+988e,U+9892,U+9895,U+9899,U+98a3,U+98a8-98cd,U+98cf-98d0,U+98d4,U+98d6-98d7,U+98db-98dd,U+98e0-98e6,U+98e9-98fa`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2`,descriptors:{unicodeRange:`U+7c14-7c15,U+7c17-7c1e,U+7c20-7c25,U+7c28-7c29,U+7c2b-7c37,U+7c39-7c3e,U+7c42-7c4c,U+7c4e-7c72,U+7c75-7c7a,U+7c7e-7c88,U+7c8a-7c90,U+7c93-7c94,U+7c96,U+7c99-7c9b,U+7ca0-7ca1,U+7ca3,U+7ca6-7ca9,U+7cab-7cad,U+7caf-7cb0,U+7cb4-7cb8,U+7cba-7cbb,U+7cbf-7cc0,U+7cc2-7cc4,U+7cc6,U+7cc9,U+7ccb,U+7cce-7cd4`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2`,descriptors:{unicodeRange:`U+7d95-7da5,U+7da7-7dad,U+7daf-7e2a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2`,descriptors:{unicodeRange:`U+4a78-4b0a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2`,descriptors:{unicodeRange:`U+9b30-9b31,U+9b33-9b3a,U+9b3d-9b40,U+9b46,U+9b4a-9b4c,U+9b4e,U+9b50,U+9b52-9b53,U+9b55-9bcf`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2`,descriptors:{unicodeRange:`U+6a4b-6a4f,U+6a51-6a57,U+6a5a,U+6a5c-6a60,U+6a62-6a64,U+6a66-6a70,U+6a72-6a78,U+6a7a-6a7b,U+6a7d-6a7f,U+6a81-6a83,U+6a85-6a8d,U+6a8f,U+6a92-6a96,U+6a98-6a9f,U+6aa1-6aa8,U+6aaa,U+6aad-6aef`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2`,descriptors:{unicodeRange:`U+99c9-9a53`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2`,descriptors:{unicodeRange:`U+8550-8555,U+8557-8558,U+855a-855d,U+855f-8563,U+8565-8567,U+8569-8571,U+8573,U+8575-8578,U+857c-857d,U+857f-8583,U+8586,U+8588-858e,U+8590-859a,U+859d-85a3,U+85a5-85a7,U+85a9,U+85ab-85ad,U+85b1-85b6,U+85b8,U+85ba-85c0,U+85c2-85c8,U+85ca-85ce,U+85d1-85d2,U+85d4,U+85d6-85db,U+85dd-85e3,U+85e5-85e8,U+85ea-85fa,U+85fc-85fe,U+8600-8603`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2`,descriptors:{unicodeRange:`U+6fb2,U+6fb4-6fb5,U+6fb7-6fb8,U+6fba-6fbf,U+6fc1,U+6fc3-6fc8,U+6fca-6fd0,U+6fd3-6fdd,U+6fdf,U+6fe2-6fed,U+6ff0-7010,U+7012-7019,U+701c-7022,U+7024-7034,U+7036-7038,U+703a-704b,U+704d-704e,U+7050-7053`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2`,descriptors:{unicodeRange:`U+4ba1-4c2c`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2`,descriptors:{unicodeRange:`U+9a54-9a6b,U+9a72,U+9a83,U+9a89,U+9a8d-9a8e,U+9a94-9a95,U+9a99,U+9aa6,U+9aa9-9aaf,U+9ab2-9ab5,U+9ab9,U+9abb,U+9abd-9abf,U+9ac3-9ac4,U+9ac6-9aca,U+9acd-9ad0,U+9ad2,U+9ad4-9ad7,U+9ad9-9ade,U+9ae0,U+9ae2-9ae5,U+9ae7-9aea,U+9aec,U+9aee,U+9af0-9af8,U+9afa,U+9afc-9b02,U+9b04-9b07,U+9b09-9b0e,U+9b10-9b12,U+9b14-9b1e,U+9b20-9b22,U+9b24-9b2e`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2`,descriptors:{unicodeRange:`U+9d1a-9da1`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2`,descriptors:{unicodeRange:`U+9e13-9e1e,U+9e24,U+9e27,U+9e2e,U+9e30,U+9e34,U+9e3b-9e3c,U+9e40,U+9e4d,U+9e50,U+9e52-9e54,U+9e56,U+9e59,U+9e5d,U+9e5f-9e62,U+9e65,U+9e6e-9e6f,U+9e72,U+9e74-9e7d,U+9e80-9e81,U+9e83-9e86,U+9e89-9e8a,U+9e8c-9e91,U+9e94-9e9c,U+9e9e,U+9ea0-9ea5,U+9ea7-9eb3,U+9eb5-9eb7,U+9eb9-9eba,U+9ebc,U+9ebf-9ec3,U+9ec5-9ec8,U+9eca-9ecc,U+9ed0,U+9ed2-9ed3,U+9ed5-9ed7,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee3-9ee4,U+9ee6,U+9ee8,U+9eeb-9eee,U+9ef0-9ef8`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2`,descriptors:{unicodeRange:`U+8b1c-8b25,U+8b27-8b65,U+8b67-8b6b,U+8b6d-8b9f,U+8bac,U+8bb1,U+8bbb,U+8bc7,U+8bd0`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2`,descriptors:{unicodeRange:`U+4cad-4d2f`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2`,descriptors:{unicodeRange:`U+9c4b-9c7b,U+9c7d-9c7e,U+9c80,U+9c83-9c84,U+9c89-9c8a,U+9c8c,U+9c8f,U+9c93,U+9c96-9c99,U+9c9d,U+9caa,U+9cac,U+9caf,U+9cb9,U+9cbe-9cc2,U+9cc8-9cc9,U+9cd1-9cd2,U+9cda-9cdb,U+9ce0-9ce1,U+9ce3-9d19`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2`,descriptors:{unicodeRange:`U+9389-938e,U+9390-93c9,U+93cb-93d5,U+93d7-9410`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2`,descriptors:{unicodeRange:`U+20a0-20b5,U+20b9-20ba,U+20bc-20bd,U+4e2c,U+5107,U+5216,U+5293,U+54f3,U+5523,U+5819,U+5adc,U+5c88,U+5e3b,U+5fee,U+62f6,U+63be,U+6484,U+6499,U+67d9,U+67dd,U+6d5e,U+6f46,U+717a,U+71e0,U+72c1,U+73e7,U+75b0,U+7603,U+7722,U+7809,U+7811,U+7946,U+7967,U+799a,U+7b45,U+7ba2,U+8014,U+80d9,U+8159,U+817d,U+81a3,U+81aa,U+8201,U+833c,U+836e,U+83e5,U+8459,U+84f0,U+8729,U+8753,U+87d3,U+89dc,U+8bf6,U+8c2e,U+8e2c,U+8e9c,U+8e9e,U+8ece,U+8fee,U+9139,U+914f,U+9174,U+9191,U+960c,U+9622,U+9a98,U+9b48,U+9ca6,U+9cb0,U+9da2-9e12,U+9e88,U+9f44,U+9f86`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2`,descriptors:{unicodeRange:`U+9bd0-9c4a`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2`,descriptors:{unicodeRange:`U+4c2d-4cac`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2`,descriptors:{unicodeRange:`U+4d30-4dab`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2`,descriptors:{unicodeRange:`U+9411-943d,U+943f-946a,U+946c-9484`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2`,descriptors:{unicodeRange:`U+9efa,U+9efd,U+9eff-9f0a,U+9f0c,U+9f0f,U+9f11-9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1f,U+9f21,U+9f23-9f2b,U+9f2d-9f2e,U+9f30-9f36,U+9f38,U+9f3a,U+9f3c,U+9f3f-9f43,U+9f45-9f4f,U+9f52-9f7e,U+9f81-9f82,U+9f8d-9f94`}},{uri:`./fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2`,descriptors:{unicodeRange:`U+7e2b-7e3a,U+7e3c-7e40,U+7e42-7e46,U+7e48-7e81,U+7e83-7e9a,U+7e9c-7e9e,U+7eae,U+7eb4,U+7ebb-7ebc,U+7ed6,U+7ee4,U+7eec,U+7ef9,U+7f0a,U+7f10,U+7f1e,U+7f37,U+7f39,U+7f3b`}}],CE=class e{constructor(t){i(this,`scene`),i(this,`getSceneFamilies`,()=>e.getUniqueFamilies(this.scene.getNonDeletedElements())),i(this,`onLoaded`,t=>{let n=!0;for(let r of t){let t=`${r.family}-${r.style}-${r.weight}-${r.unicodeRange}`;e.loadedFontsCache.has(t)||(e.loadedFontsCache.add(t),n=!1)}if(n)return;let r=!1,i=this.scene.getNonDeletedElementsMap();for(let e of this.scene.getNonDeletedElements())if(H(e)){r=!0,tm.delete(e),gl.clearCache(Si(e));let t=Hl(e,i);t&&tm.delete(t)}r&&this.scene.triggerUpdate()}),i(this,`loadSceneFonts`,async()=>{let t=this.getSceneFamilies(),n=e.getCharsPerFamily(this.scene.getNonDeletedElements());return e.loadFontFaces(t,n)}),this.scene=t}static get registered(){return e._registered?e._initialized||(e._registered=new Map([...e.init().entries(),...e._registered.entries()])):e._registered=e.init(),e._registered}get registered(){return e.registered}static async generateFontFaceDeclarations(t){let n=e.getUniqueFamilies(t),r=e.getCharsPerFamily(t),i=n.find(e=>Pn(e).includes(En));if(i){let t=e.getCharacters(r,i);if(xl(t)){let e=Mn[En];r[e]=new Set(t),n.unshift(Mn[En])}}let a=await new di(e.fontFacesStylesGenerator(n,r),3).all();return Array.from(new Set(a))}static async loadFontFaces(t,n){for(let{fontFaces:t,metadata:n}of e.registered.values())if(!n.local)for(let{fontFace:e}of t)window.document.fonts.has(e)||window.document.fonts.add(e);return(await new di(e.fontFacesLoader(t,n),10).all()).flat().filter(Boolean)}static*fontFacesLoader(t,n){for(let[r,i]of t.entries()){let t=Si({fontFamily:i,fontSize:Tn.sm}),a=e.getCharacters(n,i);window.document.fonts.check(t,a)||(yield xa(async()=>{try{return[r,await window.document.fonts.load(t,a)]}catch(n){console.error(`Failed to load font "${t}" from urls "${e.registered.get(i)?.fontFaces.map(e=>e.urls)}"`,n)}}))}}static*fontFacesStylesGenerator(t,n){for(let[r,i]of t.entries()){let{fontFaces:t,metadata:a}=e.registered.get(i)??{};if(!Array.isArray(t)){console.error(`Couldn't find registered fonts for font-family "${i}"`,e.registered);continue}if(!a?.local)for(let[a,o]of t.entries())yield xa(async()=>{try{let t=e.getCharacters(n,i),s=await o.toCSS(t);return s?[r*1e4+a,s]:void 0}catch(e){console.error(`Couldn't transform font-face to css for family "${o.fontFace.family}"`,e)}})}}static register(e,t,...n){let r=On[e]??Mn[e];return this.registered.get(r)||this.registered.set(r,{metadata:t,fontFaces:n.map(({uri:t,descriptors:n})=>new hE(e,t,n))}),this.registered}static init(){let t={registered:new Map},n=(n,...r)=>{let i=Dr[On[n]??Mn[n]]??Dr[On.Excalifont];e.register.call(t,n,i,...r)};return n(`Cascadia`,...tE),n(`Comic Shanns`,...nE),n(`Excalifont`,...gE),n(`Helvetica`,..._E),n(`Liberation Sans`,...vE),n(`Lilita One`,...yE),n(`Nunito`,...bE),n(`Virgil`,...xE),n(En,...SE),n(Dn,...rE),e._initialized=!0,t.registered}static getUniqueFamilies(e){return Array.from(e.reduce((e,t)=>(H(t)&&e.add(t.fontFamily),e),new Set))}static getCharsPerFamily(e){let t={};for(let n of e)if(H(n))for(let e of n.originalText)t[n.fontFamily]||(t[n.fontFamily]=new Set),t[n.fontFamily].add(e);return t}static getCharacters(e,t){return e[t]?Array.from(e[t]).join(``):``}static getAllFamilies(){return Array.from(e.registered.keys())}};i(CE,`loadedFontsCache`,new Set),i(CE,`_registered`),i(CE,`_initialized`,!1),i(CE,`loadElementsFonts`,async e=>{let t=CE.getUniqueFamilies(e),n=CE.getCharsPerFamily(e);return CE.loadFontFaces(t,n)});var wE=CE,TE=12,EE=document.createElement(`img`);EE.src=`data:${Wn.svg}, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231971c2%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-external-link%22%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%3E%3C%2Fpath%3E%3Cpolyline%20points%3D%2215%203%2021%203%2021%209%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2210%22%20y1%3D%2214%22%20x2%3D%2221%22%20y2%3D%223%22%3E%3C%2Fline%3E%3C%2Fsvg%3E`;var DE=document.createElement(`img`);DE.src=`data:${Wn.svg}, %3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%20width%3D%2216%22%20%20height%3D%2216%22%20%20viewBox%3D%220%200%2024%2024%22%20%20fill%3D%22none%22%20%20stroke%3D%22%231971c2%22%20%20stroke-width%3D%222%22%20%20stroke-linecap%3D%22round%22%20%20stroke-linejoin%3D%22round%22%20%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-arrow-big-right-line%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M12%209v-3.586a1%201%200%200%201%201.707%20-.707l6.586%206.586a1%201%200%200%201%200%201.414l-6.586%206.586a1%201%200%200%201%20-1.707%20-.707v-3.586h-6v-6h6z%22%20%2F%3E%3Cpath%20d%3D%22M3%209v6%22%20%2F%3E%3C%2Fsvg%3E`;var OE=([e,t,n,r],i,a)=>{let o=TE,s=a.zoom.value>1?a.zoom.value:1,c=o/s,l=o/s,u=o/s,d=(e+n)/2,f=(t+r)/2,p=(o-8)/(2*s),m=4/s,h=n+m-p,g=t-m-u+p,[_,v]=M(j(h+c/2,g+l/2),j(d,f),i);return[_-c/2,v-l/2,c,l]},kE=(e,t,n,[r,i])=>{let a=4/n.zoom.value,[o,s,c,l]=Y(e,t),[u,d,f,p]=OE([o,s,c,l],e.angle,n);return r>u-a&&r<u+a+f&&i>d-a&&i<d+p+a},AE=(e,t,n,[r,i],a)=>!e.link||n.selectedElementIds[e.id]?!1:!a&&n.viewModeEnabled&&fu(j(r,i),e,t)?!0:kE(e,t,n,j(r,i)),jE=(e,t,n,r,i,a=!0)=>{e.beginPath(),e.arc(t,n,r,0,Math.PI*2),a&&e.fill(),i&&e.stroke()},ME=(e,t)=>[e.width/t,e.height/t],NE=({canvas:e,scale:t,normalizedWidth:n,normalizedHeight:r,theme:i,isExporting:a,viewBackgroundColor:o})=>{let s=e.getContext(`2d`);return s.setTransform(1,0,0,1,0,0),s.scale(t,t),typeof o==`string`?((o===`transparent`||o.length===5||o.length===9||/(hsla|rgba)\(/.test(o))&&s.clearRect(0,0,n,r),s.save(),s.fillStyle=i===Fn.DARK?en(o):o,s.fillRect(0,0,n,r),s.restore()):s.clearRect(0,0,n,r),s},PE=(e,t,n,r,i,a,o,s,c=!1,l=0)=>{e.save(),e.translate(a,o),e.rotate(s),c&&e.fillRect(t-a,n-o,r,i),l&&e.roundRect?(e.beginPath(),e.roundRect(t-a,n-o,r,i,l),e.stroke(),e.closePath()):e.strokeRect(t-a,n-o,r,i),e.restore()},FE={[Fn.LIGHT]:{bold:`#dddddd`,regular:`#e5e5e5`},[Fn.DARK]:{bold:en(`#dddddd`),regular:en(`#e5e5e5`)}},IE=(e,t,n,r,i,a,o,s,c)=>{let l=r%t-t,u=i%t-t,d=t*a.value,f=1/a.value;e.save(),a.value===1&&e.translate(l%1?0:.5,u%1?0:.5);for(let i=l;i<l+s+t*2;i+=t){let s=n>1&&Math.round(i-r)%(n*t)===0;if(!s&&d<10)continue;let l=Math.min(1/a.value,s?4:1);e.lineWidth=l;let p=[l*3,f+(l+f)];e.beginPath(),e.setLineDash(s?[]:p),e.strokeStyle=s?FE[o].bold:FE[o].regular,e.moveTo(i,u-t),e.lineTo(i,Math.ceil(u+c+t*2)),e.stroke()}for(let r=u;r<u+c+t*2;r+=t){let c=n>1&&Math.round(r-i)%(n*t)===0;if(!c&&d<10)continue;let u=Math.min(1/a.value,c?4:1);e.lineWidth=u;let p=[u*3,f+(u+f)];e.beginPath(),e.setLineDash(c?[]:p),e.strokeStyle=c?FE[o].bold:FE[o].regular,e.moveTo(l-t,r),e.lineTo(Math.ceil(l+s+t*2),r),e.stroke()}e.restore()},LE=(e,t,n,r)=>{t.translate(e.x+r.scrollX,e.y+r.scrollY),t.beginPath(),t.roundRect?t.roundRect(0,0,e.width,e.height,In.radius/r.zoom.value):t.rect(0,0,e.width,e.height),t.clip(),t.translate(-(e.x+r.scrollX),-(e.y+r.scrollY))},RE={regularLink:null,elementLink:null},zE=(e,t,n,r)=>{if(e.link&&!n.selectedElementIds[e.id]){let[i,a,o,s]=Y(e,r),[c,l,u,d]=OE([i,a,o,s],e.angle,n),f=c+u/2,p=l+d/2;t.save(),t.translate(n.scrollX+f,n.scrollY+p),t.rotate(e.angle);let m=fg(e.link)?`elementLink`:`regularLink`,h=RE[m];if(!h||h.zoom!==n.zoom.value){h=Object.assign(document.createElement(`canvas`),{zoom:n.zoom.value}),h.width=u*window.devicePixelRatio*n.zoom.value,h.height=d*window.devicePixelRatio*n.zoom.value,RE[m]=h;let e=h.getContext(`2d`);e.scale(window.devicePixelRatio*n.zoom.value,window.devicePixelRatio*n.zoom.value),e.fillStyle=n.viewBackgroundColor||`#fff`,e.fillRect(0,0,u,d),m===`elementLink`?e.drawImage(DE,0,0,u,d):e.drawImage(EE,0,0,u,d),e.restore()}t.globalAlpha=e.opacity/100,t.drawImage(h,c-f,l-p,u,d),t.restore()}},BE=({canvas:e,rc:t,elementsMap:n,allElementsMap:r,visibleElements:i,scale:a,appState:o,renderConfig:s})=>{if(e===null)return;let{renderGrid:c=!0,isExporting:l}=s,[u,d]=ME(e,a),f=NE({canvas:e,scale:a,normalizedWidth:u,normalizedHeight:d,theme:o.theme,isExporting:l,viewBackgroundColor:o.viewBackgroundColor});f.scale(o.zoom.value,o.zoom.value),c&&IE(f,o.gridSize,o.gridStep,o.scrollX,o.scrollY,o.zoom,s.theme,u/o.zoom.value,d/o.zoom.value);let p=new Set;i.forEach(e=>{e.groupIds.length>0&&o.frameToHighlight&&o.selectedElementIds[e.id]&&(sp(e,o.frameToHighlight,n)||e.groupIds.find(e=>p.has(e)))&&e.groupIds.forEach(e=>p.add(e))});let m=new Map;i.filter(e=>!uc(e)).forEach(e=>{try{let i=e.frameId||o.frameToHighlight?.id;if(H(e)&&e.containerId&&n.has(e.containerId))return;if(f.save(),i&&o.frameRendering.enabled&&o.frameRendering.clip){let i=wp(e,n,o);i&&Ep(e,i,o,n,m)&&LE(i,f,s,o),Kp(e,n,r,t,f,s,o)}else Kp(e,n,r,t,f,s,o);let a=q(e,n);a&&Kp(a,n,r,t,f,s,o),f.restore(),l||zE(e,f,o,n)}catch(t){console.error(t,e.id,e.x,e.y,e.width,e.height)}}),i.filter(e=>uc(e)).forEach(e=>{try{let i=()=>{Kp(e,n,r,t,f,s,o),uc(e)&&(l||cc(e)&&s.embedsValidationStatus.get(e.id)!==!0)&&e.width&&e.height&&Kp(Yg(e),n,r,t,f,s,o),l||zE(e,f,o,n)};if((e.frameId||o.frameToHighlight?.id)&&o.frameRendering.enabled&&o.frameRendering.clip){f.save();let t=wp(e,n,o);t&&Ep(e,t,o,n,m)&&LE(t,f,s,o),i(),f.restore()}else i()}catch(e){console.error(e)}}),s.pendingFlowchartNodes?.forEach(e=>{try{Kp(e,n,r,t,f,s,o)}catch(e){console.error(e)}})},VE=Ti(e=>{BE(e)}),HE=(e,t)=>{if(t){VE(e);return}BE(e)},UE=(e,t,n)=>{if(typeof n>`u`)return e.draw(t);let r={sets:t.sets,shape:t.shape,options:{...t.options,fixedDecimalPlaceDigits:n}};return e.draw(r)},WE=(e,t,n,r,i)=>{if(!r.enabled||!r.clip)return null;let a=gp(e,i);if(a){let e=t.ownerDocument.createElementNS(L,`g`);return e.setAttributeNS(L,`clip-path`,`url(#${a.id})`),n.forEach(t=>e.appendChild(t)),e}return null},GE=(e,t,n,r,i,a,o,s)=>{let c={x:a,y:o},[l,u,d,f]=Y(e,t),p=(d-l)/2-(e.x-l),m=(f-u)/2-(e.y-u);if(H(e)){let n=Hl(e,t);if(W(n)){let[r,i,s,c]=Y(n,t),l=J.getBoundTextElementPosition(n,e,t);p=(s-r)/2-(l.x-r),m=(c-i)/2-(l.y-i),a=a+l.x-e.x,o=o+l.y-e.y}}let h=180*e.angle/Math.PI,g=r;if(e.link){let t=r.ownerDocument.createElementNS(L,`a`);t.setAttribute(`href`,Ra(e.link)),g.appendChild(t),g=t}let _=(e,t)=>{ea()&&e.setAttribute(`data-id`,t.id),g.appendChild(e)},v=(gp(e,t)?.opacity??100)*e.opacity/1e4;switch(e.type){case`selection`:throw Error(`Selection rendering is not supported for SVG`);case`rectangle`:case`diamond`:case`ellipse`:{let r=UE(n,tm.generateElementShape(e,s),2);v!==1&&(r.setAttribute(`stroke-opacity`,`${v}`),r.setAttribute(`fill-opacity`,`${v}`)),r.setAttribute(`stroke-linecap`,`round`),r.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`),_(WE(e,g,[r],s.frameRendering,t)||r,e);break}case`iframe`:case`embeddable`:{let l=tm.generateElementShape(e,s),u=UE(n,l,2),d=e.opacity/100;d!==1&&(u.setAttribute(`stroke-opacity`,`${d}`),u.setAttribute(`fill-opacity`,`${d}`)),u.setAttribute(`stroke-linecap`,`round`),u.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`),_(u,e);let f=Yg(e);GE(f,t,n,g,i,f.x+c.x-e.x,f.y+c.y-e.y,s);let v=UE(n,l,2);for(v.setAttribute(`stroke-linecap`,`round`),v.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`);v.firstChild;)v.removeChild(v.firstChild);let y=qc(Math.min(e.width,e.height),e),b=Jg(Ba(e.link||``));if(s.renderEmbeddables===!1||b?.type===`document`){let t=r.ownerDocument.createElementNS(L,`a`);t.setAttribute(`href`,Ra(e.link||``)),t.setAttribute(`target`,`_blank`),t.setAttribute(`rel`,`noopener noreferrer`),t.style.borderRadius=`${y}px`,v.appendChild(t)}else{let t=r.ownerDocument.createElementNS(L,`foreignObject`);t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.border=`none`;let n=t.ownerDocument.createElementNS(L,`div`);n.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),n.style.width=`100%`,n.style.height=`100%`;let i=n.ownerDocument.createElement(`iframe`);i.src=b?.link??``,i.style.width=`100%`,i.style.height=`100%`,i.style.border=`none`,i.style.borderRadius=`${y}px`,i.style.top=`0`,i.style.left=`0`,i.allowFullscreen=!0,n.appendChild(i),t.appendChild(n),v.appendChild(t)}_(v,e);break}case`line`:case`arrow`:{let i=q(e,t),c=r.ownerDocument.createElementNS(L,`mask`);if(i){c.setAttribute(`id`,`mask-${e.id}`);let n=r.ownerDocument.createElementNS(L,`rect`);a||=0,o||=0,n.setAttribute(`x`,`0`),n.setAttribute(`y`,`0`),n.setAttribute(`fill`,`#fff`),n.setAttribute(`width`,`${e.width+100+a}`),n.setAttribute(`height`,`${e.height+100+o}`),c.appendChild(n);let s=r.ownerDocument.createElementNS(L,`rect`),l=J.getBoundTextElementPosition(e,i,t),u=a+l.x-e.x,d=o+l.y-e.y;s.setAttribute(`x`,u.toString()),s.setAttribute(`y`,d.toString()),s.setAttribute(`fill`,`#000`),s.setAttribute(`width`,`${i.width}`),s.setAttribute(`height`,`${i.height}`),s.setAttribute(`opacity`,`1`),c.appendChild(s)}let l=r.ownerDocument.createElementNS(L,`g`);i&&l.setAttribute(`mask`,`url(#mask-${e.id})`),l.setAttribute(`stroke-linecap`,`round`),tm.generateElementShape(e,s).forEach(t=>{let r=UE(n,t,2);v!==1&&(r.setAttribute(`stroke-opacity`,`${v}`),r.setAttribute(`fill-opacity`,`${v}`)),r.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`),e.type===`line`&&Kc(e.points)&&e.backgroundColor!==`transparent`&&r.setAttribute(`fill-rule`,`evenodd`),l.appendChild(r)});let u=WE(e,g,[l,c],s.frameRendering,t);u?(_(u,e),g.appendChild(u)):(_(l,e),g.append(c));break}case`freedraw`:{let i=r.ownerDocument.createElementNS(L,`g`),c=tm.generateElementShape(e,s);for(let t of c)if(typeof t==`string`){let n=r.ownerDocument.createElementNS(L,`path`);n.setAttribute(`fill`,s.theme===Fn.DARK?en(e.strokeColor):e.strokeColor),n.setAttribute(`d`,t),i.appendChild(n)}else{let e=UE(n,t,2);if(e.nodeName===`g`)for(;e.firstChild;)i.appendChild(e.firstChild);else i.appendChild(e)}v!==1&&(i.setAttribute(`stroke-opacity`,`${v}`),i.setAttribute(`fill-opacity`,`${v}`)),i.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`),i.setAttribute(`stroke`,`none`),_(WE(e,g,[i],s.frameRendering,t)||i,e);break}case`image`:{let n=Math.round(e.width),c=Math.round(e.height),l=oc(e)&&i[e.fileId];if(l){let{reuseImages:i=!0}=s,u=`image-${l.id}`,d=e.width,f=e.height;e.crop&&({width:d,height:f}=rc(e),u=`image-crop-${l.id}-${kv(`${d}x${f}`)}`),i||(u=`image-${e.id}`);let y=r.querySelector(`#${u}`);if(!y){y=r.ownerDocument.createElementNS(L,`symbol`),y.id=u;let t=r.ownerDocument.createElementNS(L,`image`);t.setAttribute(`href`,l.dataURL),t.setAttribute(`preserveAspectRatio`,`none`),e.crop||!i?(t.setAttribute(`width`,`${d}`),t.setAttribute(`height`,`${f}`)):(t.setAttribute(`width`,`100%`),t.setAttribute(`height`,`100%`)),y.appendChild(t),(g.querySelector(`defs`)||g).prepend(y)}let b=r.ownerDocument.createElementNS(L,`use`);b.setAttribute(`href`,`#${u}`);let x=0,S=0;if(e.crop){let{width:t,height:n}=rc(e);x=e.crop.x/(e.crop.naturalWidth/t),S=e.crop.y/(e.crop.naturalHeight/n)}let C=p+x,w=m+S;b.setAttribute(`width`,`${n+x}`),b.setAttribute(`height`,`${c+S}`),b.setAttribute(`opacity`,`${v}`),(e.scale[0]!==1||e.scale[1]!==1)&&b.setAttribute(`transform`,`translate(${C} ${w}) scale(${e.scale[0]} ${e.scale[1]}) translate(${-C} ${-w})`);let T=r.ownerDocument.createElementNS(L,`g`);if(s.theme===Fn.DARK&&l.mimeType===Wn.svg&&T.setAttribute(`filter`,`invert(93%) hue-rotate(180deg)`),e.crop){let t=r.ownerDocument.createElementNS(L,`mask`);t.setAttribute(`id`,`mask-image-crop-${e.id}`),t.setAttribute(`fill`,`#fff`);let i=r.ownerDocument.createElementNS(L,`rect`);i.setAttribute(`x`,`${x}`),i.setAttribute(`y`,`${S}`),i.setAttribute(`width`,`${n}`),i.setAttribute(`height`,`${c}`),t.appendChild(i),g.appendChild(t),T.setAttribute(`mask`,`url(#${t.id})`)}if(T.appendChild(b),T.setAttribute(`transform`,`translate(${a-x} ${o-S}) rotate(${h} ${C} ${w})`),e.roundness){let t=r.ownerDocument.createElementNS(L,`clipPath`);t.id=`image-clipPath-${e.id}`,t.setAttribute(`clipPathUnits`,`userSpaceOnUse`);let n=r.ownerDocument.createElementNS(L,`rect`),i=qc(Math.min(e.width,e.height),e),a=e.crop?x:0,o=e.crop?S:0;n.setAttribute(`x`,`${a}`),n.setAttribute(`y`,`${o}`),n.setAttribute(`width`,`${e.width}`),n.setAttribute(`height`,`${e.height}`),n.setAttribute(`rx`,`${i}`),n.setAttribute(`ry`,`${i}`),t.appendChild(n),_(t,e),T.setAttributeNS(L,`clip-path`,`url(#${t.id})`)}_(WE(e,g,[T],s.frameRendering,t)||T,e)}break}case`frame`:case`magicframe`:if(s.frameRendering.enabled&&s.frameRendering.outline){let t=document.createElementNS(L,`rect`);t.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`),t.setAttribute(`width`,`${e.width}px`),t.setAttribute(`height`,`${e.height}px`),t.setAttribute(`rx`,In.radius.toString()),t.setAttribute(`ry`,In.radius.toString()),t.setAttribute(`fill`,`none`),t.setAttribute(`stroke`,s.theme===Fn.DARK?en(In.strokeColor):In.strokeColor),t.setAttribute(`stroke-width`,In.strokeWidth.toString()),_(t,e)}break;default:if(H(e)){let n=r.ownerDocument.createElementNS(L,`g`);v!==1&&(n.setAttribute(`stroke-opacity`,`${v}`),n.setAttribute(`fill-opacity`,`${v}`)),n.setAttribute(`transform`,`translate(${a||0} ${o||0}) rotate(${h} ${p} ${m})`);let i=e.text.replace(/\r\n?/g,`
32
+ `).split(`
33
+ `),c=ll(e.fontSize,e.lineHeight),l=e.textAlign===`center`?e.width/2:e.textAlign===`right`?e.width:0,u=Ar(e.fontFamily,e.fontSize,c),d=Li(e.text)?`rtl`:`ltr`,f=e.textAlign===`center`?`middle`:e.textAlign===`right`||d===`rtl`?`end`:`start`;for(let t=0;t<i.length;t++){let a=r.ownerDocument.createElementNS(L,`text`);a.textContent=i[t],a.setAttribute(`x`,`${l}`),a.setAttribute(`y`,`${t*c+u}`),a.setAttribute(`font-family`,xi(e)),a.setAttribute(`font-size`,`${e.fontSize}px`),a.setAttribute(`fill`,s.theme===Fn.DARK?en(e.strokeColor):e.strokeColor),a.setAttribute(`text-anchor`,f),a.setAttribute(`style`,`white-space: pre;`),a.setAttribute(`direction`,d),a.setAttribute(`dominant-baseline`,`alphabetic`),n.appendChild(a)}_(WE(e,g,[n],s.frameRendering,t)||n,e)}else throw Error(`Unimplemented type ${e.type}`)}},KE=(e,t,n,r,i,a)=>{r&&(e.filter(e=>!uc(e)).forEach(e=>{if(!e.isDeleted){if(H(e)&&e.containerId&&t.has(e.containerId))return;try{GE(e,t,n,r,i,e.x+a.offsetX,e.y+a.offsetY,a);let o=q(e,t);o&&GE(o,t,n,r,i,o.x+a.offsetX,o.y+a.offsetY,a)}catch(e){console.error(e)}}}),e.filter(e=>uc(e)).forEach(e=>{if(!e.isDeleted)try{GE(e,t,n,r,i,e.x+a.offsetX,e.y+a.offsetY,a)}catch(e){console.error(e)}}))},qE=(e,t)=>{if(e.width<=t)return e;let n=document.createElement(`canvas`).getContext(`2d`);n.font=Si({fontFamily:e.fontFamily,fontSize:e.fontSize});let r=e.text;if(n.measureText(r).width>t)for(let e=r.length;e>0;e--){let i=`${r.slice(0,e)}...`;if(n.measureText(i).width<=t){r=i;break}}return yd(e,{text:r,width:t})},JE=(e,t)=>{let n=[];for(let r of e){if(U(r)){let e=xg({x:r.x,y:r.y-In.nameOffsetY,fontFamily:On.Helvetica,fontSize:In.nameFontSize,lineHeight:In.nameLineHeight,strokeColor:t.exportWithDarkMode?In.nameColorDarkTheme:In.nameColorLightTheme,text:Ap(r)});e.y-=e.height,e=qE(e,r.width),n.push(e)}n.push(r)}return n},YE=(e,t)=>(t||=yT().frameRendering,{enabled:e?!0:t.enabled,outline:e?!1:t.outline,name:e?!1:t.name,clip:e?!0:t.clip}),XE=({elements:e,exportingFrame:t,frameRendering:n,exportWithDarkMode:r})=>{let i;return i=t?jp(e,t):n.enabled&&n.name?JE(e,{exportWithDarkMode:r}):e,i},ZE=async(e,t,n,{exportBackground:r,exportPadding:i=10,viewBackgroundColor:a,exportingFrame:o},s=(e,n)=>{let r=document.createElement(`canvas`);return r.width=e*t.exportScale,r.height=n*t.exportScale,{canvas:r,scale:t.exportScale}},c=async()=>{await wE.loadElementsFonts(e)})=>{await c();let l=YE(o??null,t.frameRendering??null);o&&(l.clip=!1);let u=XE({elements:e,exportingFrame:o,exportWithDarkMode:t.exportWithDarkMode,frameRendering:l});o&&(i=0);let[d,f,p,m]=nD(o?[o]:fp(u),i),{canvas:h,scale:g=1}=s(p,m),_=yT(),{imageCache:v}=await P_({imageCache:new Map,fileIds:F_(u).map(e=>e.fileId),files:n});return HE({canvas:h,rc:ob.canvas(h),elementsMap:ba(R(u)),allElementsMap:ba(R(Uh(e))),visibleElements:u,scale:g,appState:{...t,frameRendering:l,viewBackgroundColor:r?a:null,scrollX:-d+i,scrollY:-f+i,zoom:_.zoom,shouldCacheIgnoreZoom:!1,theme:t.exportWithDarkMode?Fn.DARK:Fn.LIGHT},renderConfig:{canvasBackgroundColor:a,imageCache:v,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set,pendingFlowchartNodes:null,theme:t.exportWithDarkMode?Fn.DARK:Fn.LIGHT}}),h},QE=e=>document.createComment(` ${e} `),$E=async(e,t,n,r)=>{let i=YE(r?.exportingFrame??null,t.frameRendering??null),{exportPadding:a=10,exportWithDarkMode:o=!1,viewBackgroundColor:s,exportScale:c=1,exportEmbedScene:l}=t,{exportingFrame:u=null}=r||{},d=XE({elements:e,exportingFrame:u,exportWithDarkMode:o,frameRendering:i});u&&(a=0);let[f,p,m,h]=nD(u?[u]:fp(d),a),g=-f+a,_=-p+a,v=document.createElementNS(L,`svg`);v.setAttribute(`version`,`1.1`),v.setAttribute(`xmlns`,L),v.setAttribute(`viewBox`,`0 0 ${m} ${h}`),v.setAttribute(`width`,`${m*c}`),v.setAttribute(`height`,`${h*c}`);let y=v.ownerDocument.createElementNS(L,`defs`),b=v.ownerDocument.createElementNS(L,`metadata`);if(v.appendChild(QE(`svg-source:excalidraw`)),v.appendChild(b),v.appendChild(y),l)try{eD({metadataElement:b,payload:JT(e,t,n||{},`local`)})}catch(e){console.error(e)}let x=dp(e);if(x.length){let t=R(e);for(let e of x){let n=v.ownerDocument.createElementNS(L,`clipPath`);n.setAttribute(`id`,e.id);let[r,i,a,o]=Y(e,t),s=(a-r)/2-(e.x-r),c=(o-i)/2-(e.y-i),l=v.ownerDocument.createElementNS(L,`rect`);l.setAttribute(`transform`,`translate(${e.x+g} ${e.y+_}) rotate(${e.angle} ${s} ${c})`),l.setAttribute(`width`,`${e.width}`),l.setAttribute(`height`,`${e.height}`),u||(l.setAttribute(`rx`,`${In.radius}`),l.setAttribute(`ry`,`${In.radius}`)),n.appendChild(l),y.appendChild(n)}}let S=r?.skipInliningFonts?[]:await wE.generateFontFaceDeclarations(e),C=`
34
+ `,w=v.ownerDocument.createElementNS(L,`style`);if(w.classList.add(`style-fonts`),w.appendChild(document.createTextNode(`${C}${S.join(C)}`)),y.appendChild(w),t.exportBackground&&s){let e=v.ownerDocument.createElementNS(L,`rect`);e.setAttribute(`x`,`0`),e.setAttribute(`y`,`0`),e.setAttribute(`width`,`${m}`),e.setAttribute(`height`,`${h}`),e.setAttribute(`fill`,o?en(s):s),v.appendChild(e)}let T=ob.svg(v),E=r?.renderEmbeddables??!1;return KE(d,ba(R(d)),T,v,n||{},{offsetX:g,offsetY:_,isExporting:!0,exportWithDarkMode:o,renderEmbeddables:E,frameRendering:i,canvasBackgroundColor:s,embedsValidationStatus:E?new Map(d.filter(e=>U(e)).map(e=>[e.id,!0])):new Map,reuseImages:r?.reuseImages??!0,theme:o?Fn.DARK:Fn.LIGHT}),v},eD=({payload:e,metadataElement:t})=>{let n=VT(JSON.stringify(UT({text:e})),!0);t.appendChild(QE(`payload-type:${Wn.excalidraw}`)),t.appendChild(QE(`payload-version:2`)),t.appendChild(QE(`payload-start`)),t.appendChild(document.createTextNode(n)),t.appendChild(QE(`payload-end`))},tD=({svg:e})=>{if(e.includes(`payload-type:${Wn.excalidraw}`)){let t=e.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!t)throw Error(`INVALID`);let n=(e.match(/<!-- payload-version:(\d+) -->/)?.[1]||`1`)!==`1`;try{let e=HT(t[1],n),r=JSON.parse(e);if(!(`encoded`in r)){if(`type`in r&&r.type===qn.excalidraw)return e;throw Error(`FAILED`)}return WT(r)}catch(e){throw console.error(e),Error(`FAILED`)}}throw Error(`INVALID`)},nD=(e,t)=>{let[n,r,i,a]=Um(e);return[n,r,Ai(n,i)+t*2,Ai(r,a)+t*2]},rD=(e,t,n)=>{let[,,r,i]=nD(e,t).map(e=>Math.trunc(e*n));return[r,i]},iD={selection:!0,lasso:!0,text:!0,rectangle:!0,diamond:!0,ellipse:!0,line:!0,image:!0,arrow:!0,freedraw:!0,eraser:!1,custom:!0,frame:!0,embeddable:!0,hand:!0,laser:!1,magicframe:!1},aD=e=>Object.keys(On).includes(e)?On[e]:Ln,oD=(e,t,n,r,i)=>{try{if(!t)return null;if(G(e))return{...t,fixedPoint:uf(t.fixedPoint),mode:t.mode||`orbit`};if(t.mode)return t.elementId?{elementId:t.elementId,mode:t.mode,fixedPoint:uf(t.fixedPoint)}:null;let a=n.get(t.elementId),o=a||r?.get(t.elementId),s=a?n:r;if(o&&s){let n=J.getPointAtIndexGlobalCoordinates(e,i===`start`?0:e.points.length-1,s),r=Du(n,o,s)?`inside`:`orbit`,a={...e,startBinding:e.startBinding?.elementId?{...e.startBinding,mode:r,fixedPoint:uf(e.startBinding.fixedPoint)}:null,endBinding:e.endBinding?.elementId?{...e.endBinding,mode:r,fixedPoint:uf(e.endBinding.fixedPoint)}:null},{fixedPoint:c}=Xd(a,o,i,s,r===`inside`?n:Xc(a,n,o,i,s,{value:1})||n);return{mode:r,elementId:t.elementId,fixedPoint:c}}console.error(`could not repair binding for element`)}catch(e){console.error(`Error repairing binding:`,e)}return null},sD=(e,t)=>{let n={type:t.type||e.type,version:e.version||1,versionNonce:e.versionNonce??0,index:e.index??null,isDeleted:e.isDeleted??!1,id:e.id||Ia(),fillStyle:e.fillStyle||fr.fillStyle,strokeWidth:e.strokeWidth||fr.strokeWidth,strokeStyle:e.strokeStyle??fr.strokeStyle,roughness:e.roughness??fr.roughness,opacity:e.opacity==null?fr.opacity:e.opacity,angle:e.angle||0,x:t.x??e.x??0,y:t.y??e.y??0,strokeColor:e.strokeColor||fr.strokeColor,backgroundColor:e.backgroundColor||fr.backgroundColor,width:e.width||0,height:e.height||0,seed:e.seed??1,groupIds:e.groupIds??[],frameId:e.frameId??null,roundness:e.roundness?e.roundness:e.strokeSharpness===`round`?{type:Mc(e.type)?lr.LEGACY:lr.PROPORTIONAL_RADIUS}:null,boundElements:e.boundElementIds?e.boundElementIds.map(e=>({type:`arrow`,id:e})):e.boundElements??[],updated:e.updated??Ji(),link:e.link?Ra(e.link):null,locked:e.locked??!1};(`customData`in e||`customData`in t)&&(n.customData=`customData`in t?t.customData:e.customData);let r={...e,...n,...oh(n),...t};return delete r.strokeSharpness,delete r.boundElementIds,r},cD=(e,t,n,r)=>{switch(e={...e},e.type){case`text`:delete e.rawText;let i=e.fontSize,a=e.fontFamily;if(`font`in e){let[t,n]=e.font.split(` `);i=parseFloat(t),a=aD(n)}let o=typeof e.text==`string`&&e.text||``,s=e.lineHeight||(e.height?cl(e):jr(e.fontFamily));return e=sD(e,{fontSize:i,fontFamily:a,text:o,textAlign:e.textAlign||`left`,verticalAlign:e.verticalAlign||`top`,containerId:e.containerId??null,originalText:e.originalText||o,autoResize:e.autoResize??!0,lineHeight:s}),r?.deleteInvisibleElements&&!o&&!e.isDeleted&&(e={...e,originalText:o,isDeleted:!0},e=bd(e)),e;case`freedraw`:return sD(e,{points:e.points,simulatePressure:e.simulatePressure,pressures:e.pressures});case`image`:return sD(e,{status:e.status||`pending`,fileId:e.fileId,scale:e.scale||[1,1],crop:e.crop??null});case`line`:case`draw`:let c=Ev(e.startArrowhead),l=Ev(e.endArrowhead),u=e.x,d=e.y,f=!Array.isArray(e.points)||e.points.length<2?[j(0,0),j(e.width,e.height)]:e.points;return(f[0][0]!==0||f[0][1]!==0)&&({points:f,x:u,y:d}=J.getNormalizeElementPointsAndCoords(e)),sD(e,{type:`line`,startBinding:null,endBinding:null,startArrowhead:c,endArrowhead:l,points:f,x:u,y:d,...gc(e)?{polygon:Lc(e.points)?e.polygon??!1:!1}:{},...si(f)});case`arrow`:{let r=Ev(e.startArrowhead),i=e.endArrowhead===void 0?`arrow`:Ev(e.endArrowhead),a=e.x,o=e.y,s=!Array.isArray(e.points)||e.points.length<2?[j(0,0),j(e.width,e.height)]:e.points,c={type:e.type,startBinding:oD(e,e.startBinding,t,n,`start`),endBinding:oD(e,e.endBinding,t,n,`end`),startArrowhead:r,endArrowhead:i,points:s,x:a,y:o,elbowed:e.elbowed,...si(s)},l=G(e)?sD(e,{...c,elbowed:!0,fixedSegments:e.fixedSegments?.length&&c.points.length>=4?e.fixedSegments:null,startIsSpecial:e.startIsSpecial,endIsSpecial:e.endIsSpecial}):sD(e,c);return{...l,...J.getNormalizeElementPointsAndCoords(l)}}case`ellipse`:case`rectangle`:case`diamond`:case`iframe`:case`embeddable`:return sD(e,{});case`magicframe`:case`frame`:return sD(e,{name:e.name??null})}return null},lD=(e,t)=>{if(e.boundElements){let n=e.boundElements.slice(),r=new Set;e.boundElements=n.reduce((n,i)=>{let a=t.get(i.id);if(a&&!r.has(i.id)){if(r.add(i.id),a.isDeleted)return n;n.push(i),H(a)&&!a.containerId&&(a.containerId=e.id)}return n},[])}},uD=(e,t)=>{let n=e.containerId?t.get(e.containerId):null;if(e.angle=W(n)?0:n?.angle??0,!n){e.containerId=null;return}if(!e.isDeleted&&n.boundElements&&!n.boundElements.find(t=>t.id===e.id)){let t=(n.boundElements||=[]).slice();t.push({type:`text`,id:e.id}),n.boundElements=t}},dD=(e,t)=>{e.frameId&&(t.get(e.frameId)||(e.frameId=null))},fD=(e,t,n)=>{let r=new Set,i=R(e||[]),a=t?R(t):null,o=Uh((e||[]).reduce((e,t)=>{if(t.type===`selection`)return e;let o;try{o=cD(t,i,a,{deleteInvisibleElements:n?.deleteInvisibleElements})}catch(e){console.error(`Error restoring element:`,e),o=null}if(o){let i=a?.get(t.id),s=n?.deleteInvisibleElements&&th(t);s&&(o=bd(o,i?.version)),s&&(o={...o,isDeleted:!0}),r.has(o.id)&&(o={...o,id:Ia()}),r.add(o.id),e.push(o)}return e},[]));if(!n?.repairBindings)return o;let s=R(o);for(let e of o)e.frameId&&dD(e,s),H(e)&&e.containerId?uD(e,s):e.boundElements&&lD(e,s),n.refreshDimensions&&H(e)&&Object.assign(e,wg(e,Hl(e,s),s)),hc(e)&&(e.startBinding&&(!s.has(e.startBinding.elementId)||!W(e))&&(e.startBinding=null),e.endBinding&&(!s.has(e.endBinding.elementId)||!W(e))&&(e.endBinding=null));return o.map(e=>{if(G(e)&&!jc(e)&&!_d(e.points))return{...e,...qu(e,s,{points:[j(0,0),e.points[e.points.length-1]]}),index:e.index};if(G(e)&&e.startBinding&&e.endBinding&&e.startBinding.elementId===e.endBinding.elementId&&e.points.length>1&&e.points.some(([e,t])=>Math.abs(e)>1e6||Math.abs(t)>1e6)){console.error(`Fixing self-bound elbow arrow`,e.id);let t=s.get(e.startBinding.elementId);return t?{...e,x:t.x+t.width/2,y:t.y-5,width:t.width,height:t.height,points:[j(0,0),j(0,-10),j(t.width/2+5,-10),j(t.width/2+5,t.height/2+5)]}:(console.error(`Bound element not found`,e.startBinding.elementId),e)}return e})},pD=(e,t,n)=>{let r=t[e];return r===void 0?n[e]:r},mD={isSidebarDocked:(e,t)=>[`defaultSidebarDockedPreference`,e.isSidebarDocked??pD(`defaultSidebarDockedPreference`,e,t)]},hD=(e,t)=>{e||={};let n=yT(),r={};for(let t of Object.keys(mD))if(t in e){let[i,a]=mD[t](e,n);r[i]=a}for(let[i,a]of Object.entries(n)){let n=e[i],o=t?t[i]:void 0;r[i]=n===void 0?o===void 0?a:o:n}return{...r,cursorButton:t?.cursorButton||`up`,penDetected:t?.penDetected??(e.penMode?e.penDetected??!1:!1),activeTool:{...Mi(n,r.activeTool.type&&iD[r.activeTool.type]?r.activeTool:{type:`selection`}),lastActiveTool:null,locked:r.activeTool.locked??!1},zoom:{value:FT(g(e.zoom)?e.zoom:e.zoom?.value??n.zoom.value)},openSidebar:typeof e.openSidebar==`string`?{name:hr.name}:r.openSidebar,gridSize:IT(g(e.gridSize)?e.gridSize:20),gridStep:LT(g(e.gridStep)?e.gridStep:5),editingFrame:null}},gD=e=>{let t=fD(jv(e.elements),null);return t.length?{...e,elements:t}:null},_D=(e=[],t)=>{let n=[];for(let r of e)if(Array.isArray(r)){let e=gD({status:t,elements:r,id:Ia(),created:Date.now()});e&&n.push(e)}else{let e=r,i=gD({...e,id:e.id||Ia(),status:e.status||t,created:e.created||Date.now()});i&&n.push(i)}return n},vD=async e=>{let t;if(e.type===Wn.png)try{return await(await n(async()=>{let{decodePngMetadata:e}=await import(`./image-32MOCVDX-viHDtJGM.js`);return{decodePngMetadata:e}},__vite__mapDeps([5,1,2]),import.meta.url)).decodePngMetadata(e)}catch(e){throw e.message===`INVALID`?new OT(`Image doesn't contain scene`,`IMAGE_NOT_CONTAINS_SCENE_DATA`):new OT(`Error: cannot restore image`)}else if(t=`text`in Blob?await e.text():await new Promise(t=>{let n=new FileReader;n.readAsText(e,`utf8`),n.onloadend=()=>{n.readyState===FileReader.DONE&&t(n.result)}}),e.type===Wn.svg)try{return tD({svg:t})}catch(e){throw e.message===`INVALID`?new OT(`Image doesn't contain scene`,`IMAGE_NOT_CONTAINS_SCENE_DATA`):new OT(`Error: cannot restore image`)}return t},yD=e=>e&&e.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,bD=e=>e===`png`||e===`svg`,xD=e=>{let t=yD(e);return t===`png`||t===`svg`},SD=e=>!!e&&Object.values(Un).includes(e),CD=e=>{let{type:t}=e||{};return SD(t)},wD=async(e,t,n,r)=>{let i=await vD(e),a;try{try{a=JSON.parse(i)}catch(t){throw CD(e)?new OT(`Image doesn't contain scene`,`IMAGE_NOT_CONTAINS_SCENE_DATA`):t}if(ZT(a))return{type:Wn.excalidraw,data:{elements:fD(a.elements,n,{repairBindings:!0,deleteInvisibleElements:!0}),appState:hD({theme:t?.theme,fileHandle:r||e.handle||null,...ST(a.appState||{}),...t?PT(a.elements||[],t):{}},t),files:a.files||{}}};if(QT(a))return{type:Wn.excalidrawlib,data:a};throw Error(`Error: invalid file`)}catch(e){throw e instanceof OT?e:Error(`Error: invalid file`)}},TD=async(e,t,n,r)=>{let i=await wD(e,t,n,r);if(i.type!==Wn.excalidraw)throw Error(`Error: invalid file`);return i.data},ED=(e,t=`unpublished`)=>{let n=JSON.parse(e);if(!QT(n))throw Error(`Invalid library`);return _D(n.libraryItems||n.library,t)},DD=async(e,t=`unpublished`)=>ED(await vD(e),t),OD=async e=>new Promise(async(t,n)=>{try{sa(e)&&(e=await e),e.toBlob(e=>{if(!e)return n(new ET(`Error: Canvas too big`,`CANVAS_POSSIBLY_TOO_BIG`));t(e)})}catch(e){n(e)}}),kD=async e=>{try{let t=await window.crypto.subtle.digest(`SHA-1`,await VD(e));return qi(new Uint8Array(t))}catch(e){return console.error(e),Ka(40)}},AD=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=r.result;t(e)},r.onerror=e=>n(e),r.readAsDataURL(e)}),jD=(e,t)=>`data:${t};base64,${VT(RT(e),!0)}`,MD=e=>HT(e.slice(e.indexOf(`,`)+1)),ND=async(t,r)=>{if(t.type===Wn.svg)return t;let[i,a]=await Promise.all([n(()=>import(`./pica-BG8AR4mo.js`).then(t=>e(t.default,1)).then(e=>e.default),__vite__mapDeps([6,2]),import.meta.url),n(()=>import(`./image-blob-reduce.esm-D4wBfumB.js`).then(e=>e.default),[],import.meta.url)]),o=a({pica:i({features:[`js`,`wasm`]})});if(r.outputType){let{outputType:e}=r;o._create_blob=function(t){return this.pica.toBlob(t.out_canvas,e,.8).then(e=>(t.out_blob=e,t))}}if(!CD(t))throw Error(`Error: unsupported file type`,{cause:`UNSUPPORTED`});return new File([await o.toBlob(t,{max:r.maxWidthOrHeight,alpha:!0})],t.name,{type:r.outputType||t.type})},PD=(e,t=``)=>new File([new TextEncoder().encode(e)],t,{type:Wn.svg}),FD=async(e,t=``)=>{let n;try{n=await fetch(e)}catch{throw Error(`Error: failed to fetch image`,{cause:`FETCH_ERROR`})}if(!n.ok)throw Error(`Error: failed to fetch image`,{cause:`FETCH_ERROR`});let r=await n.blob();if(r.type&&CD(r)){let e=t||r.name||``;return new File([r],e,{type:r.type})}throw Error(`Error: unsupported file type`,{cause:`UNSUPPORTED`})},ID=async e=>{if(tT)try{return await(e instanceof DataTransferItem?e:e.dataTransfer?.items?.[0]).getAsFileSystemHandle()||null}catch(e){return console.warn(e.name,e.message),null}return null},LD=async e=>{let t=null,n=[...new Uint8Array(await VD(e.slice(0,15)))].join(` `),r={png:/^137 80 78 71 13 10 26 10\b/,jpg:/^255 216 255\b/,gif:/^71 73 70 56 57 97\b/,webp:/^82 73 70 70 \d+ \d+ \d+ \d+ 87 69 66 80 86 80 56\b/};for(let e of Object.keys(r))if(n.match(r[e])){t=Wn[e];break}return t||e.type||null},RD=(e,t,n)=>new File([e],n||``,{type:t}),zD=Symbol(`fileNormalized`),BD=async e=>{if(e[zD])return e;if(e?.name?.endsWith(`.excalidrawlib`))e=RD(e,Wn.excalidrawlib,e.name);else if(e?.name?.endsWith(`.excalidraw`))e=RD(e,Wn.excalidraw,e.name);else if(!e.type||e.type?.startsWith(`image/`)){let t=await LD(e);t&&t!==e.type&&(e=RD(e,t,e.name))}return e[zD]=!0,e},VD=e=>`arrayBuffer`in e?e.arrayBuffer():new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{if(!e.target?.result)return n(Error(`Couldn't convert blob to ArrayBuffer`));t(e.target.result)},r.readAsArrayBuffer(e)}),HD=async e=>{let t=(0,_T.default)(new Uint8Array(await VD(e))).find(e=>e.name===`tEXt`);return t?hT.decode(t.data):null},UD=async({blob:e,metadata:t})=>{let n=(0,_T.default)(new Uint8Array(await VD(e))),r=hT.encode(Wn.excalidraw,JSON.stringify(UT({text:t,compress:!0})));return n.splice(-1,0,r),new Blob([(0,gT.default)(n)],{type:Wn.png})},WD=async e=>{let t=await HD(e);if(t?.keyword===Wn.excalidraw)try{let e=JSON.parse(t.text);if(!(`encoded`in e)){if(`type`in e&&e.type===qn.excalidraw)return t.text;throw Error(`FAILED`)}return WT(e)}catch(e){throw console.error(e),Error(`FAILED`)}throw Error(`INVALID`)};export{LT as $,Si as $a,oc as $i,el as $n,za as $o,Hm as $r,ea as $s,gm as $t,ME as A,Ma as Aa,k as Ac,hc as Ai,al as An,un as Ao,Tv as Ar,_a as As,Yc as At,DT as B,en as Ba,j as Bc,Ec as Bi,rc as Bn,Zn as Bo,Uc as Br,zi as Bs,pg as Bt,ZE as C,fp as Ca,m as Cc,L_ as Ci,$m as Cn,Fa as Co,rg as Cr,Hi as Cs,Id as Ct,wE as D,Hh as Da,Le as Dc,bc as Di,wg as Dn,sa as Do,Ql as Dr,Ha as Ds,Yp as Dt,$E as E,fc as Ea,N as Ec,cv as Ei,H as En,$r as Eo,Rf as Er,ni as Es,Dc as Et,jE as F,Ei as Fa,M as Fc,eh as Fi,Xl as Fn,yi as Fo,Zl as Fr,ri as Fs,qc as Ft,bD as G,gr as Ga,fu as Gi,_p as Gn,Va as Go,il as Gr,hn as Gs,Ym as Gt,HE as H,gi as Ha,Be as Hc,F_ as Hi,vp as Hn,Tr as Ho,sh as Hr,dr as Hs,t_ as Ht,NT as I,cn as Ia,Ue as Ic,Y_ as Ii,Vl as In,Da as Io,P_ as Ir,Ji as Is,Ic as It,ID as J,sn as Ja,$f as Ji,q as Jn,gn as Jo,jf as Jr,Ri as Js,Wm as Jt,NE as K,z as Ka,Kp as Ki,pu as Kn,pn as Ko,Xp as Kr,zr as Ks,Tg as Kt,jT as L,wi as La,se as Lc,Sc as Li,d_ as Ln,Oi as Lo,vm as Lr,hr as Ls,W as Lt,VE as M,$n as Ma,y as Mc,kv as Mi,E_ as Mn,li as Mo,Qg as Mr,_i as Ms,Bh as Mt,ND as N,ta as Na,f as Nc,Ff as Ni,yh as Nn,va as No,Pf as Nr,cr as Ns,Ml as Nt,DD as O,Kf as Oa,ne as Oc,Dv as Oi,$c as On,Ui as Oo,au as Or,Lr as Os,Ul as Ot,OT as P,zn as Pa,p as Pc,wv as Pi,hg as Pn,rn as Po,Cc as Pr,yn as Ps,l_ as Pt,AE as Q,Xn as Qa,xd as Qi,tl as Qn,Vi as Qo,nh as Qr,Fi as Qs,tm as Qt,kD as R,ma as Ra,ze as Rc,zf as Ri,Eg as Rn,pr as Ro,eg as Rr,In as Rs,pp as Rt,PT as S,vd as Sa,T as Sc,Wf as Si,yg as Sn,hi as So,z_ as Sr,mr as Ss,Fc as St,_D as T,fg as Ta,ie as Tc,mu as Ti,ec as Tn,L as To,ql as Tr,vn as Ts,hh as Tt,MD as U,xn as Ua,ul as Ui,Rd as Un,Pr as Uo,qf as Ur,wn as Us,Pd as Ut,OD as V,ga as Va,w as Vc,yu as Vi,Zf as Vn,ki as Vo,Dg as Vr,Wi as Vs,qg as Vt,UD as W,R as Wa,Gc as Wi,G as Wn,Ai as Wo,sp as Wr,oi as Ws,ac as Wt,hD as X,ba as Xa,Fd as Xi,j_ as Xn,nr as Xo,kc as Xr,oa as Xs,Qc as Xt,YT as Y,Ci as Ya,ph as Yi,Mp as Yn,Br as Yo,Zc as Yr,Zr as Ys,_g as Yt,HD as Z,on as Za,bp as Zi,k_ as Zn,br as Zo,Jp as Zr,or as Zs,V_ as Zt,wT as _,tp as _a,ji as _c,Af as _i,Td as _n,bi as _o,R_ as _r,Zi as _s,J as _t,WD as a,Tp as aa,aa as ac,Ep as ai,Pc as an,vi as ao,Xd as ar,Ln as as,Y as at,KT as b,Yl as ba,Ge as bc,Cd as bi,K_ as bn,Kn as bo,Qf as br,yr as bs,zl as bt,ED as c,Bl as ca,Ir as cc,qu as ci,lp as cn,Ti as co,U as cr,I as cs,Og as ct,FT as d,dg as da,Bn as dc,w_ as di,of as dn,xa as do,Ov as dr,Pi as ds,dp as dt,_c as ea,ir as ec,up as ei,Dh as en,pa as eo,xp as er,ua as es,yD as et,rD as f,yp as fa,ia as fc,Um as fi,xg as fn,Gn as fo,mp as fr,Ia as fs,Oc as ft,eE as g,du as ga,er as gc,Zg as gi,Lf as gn,Yn as go,Bf as gr,Fn as gs,jc as gt,PD as h,Rl as ha,Fr as hc,oh as hi,u_ as hn,an as ho,th as hr,Ki as hs,Kc as ht,AD as i,Kl as ia,ai as ic,D_ as ii,gc as in,Ni as io,Ap as ir,vr as is,nb as it,RD as j,mn as ja,b as jc,gg as ji,lg as jn,_r as jo,Ac as jr,jr as js,T_ as jt,fD as k,Ka as ka,We as kc,Jf as ki,ov as kn,Un as ko,Gp as kr,Mi as ks,kf as kt,xD as l,Yf as la,qn as lc,Jm as li,ug as ln,ur as lo,M_ as lr,Gi as ls,Qp as lt,SD as m,ol as ma,Vn as mc,Vf as mi,C_ as mn,ya as mo,Mc as mr,qr as ms,bd as mt,FD as n,Xf as na,lr as nc,Cm as ni,sg as nn,Kr as no,Fp as nr,On as ns,tT as nt,OE as o,sc as oa,Hn as oc,vv as oi,Hl as on,na as oo,Sp as or,bn as os,jp as ot,BD as p,Nf as pa,Sr as pc,Uh as pi,_u as pn,Mr as po,gv as pr,xi as ps,ig as pt,CD as q,Jn as qa,Uf as qi,Yd as qn,Qn as qo,Gl as qr,tr as qs,sv as qt,PE as r,$p as ra,Sn as rc,Vh as ri,yd as rn,rr as ro,gp as rr,dn as rs,ob as rt,JT as s,If as sa,fa as sc,vh as si,Nd as sn,ln as so,_h as sr,ii as ss,A_ as st,GT as t,Qd as ta,Jr as tc,ll as ti,lv as tn,Vr as to,Rc as tr,sr as ts,jD as tt,TD as u,Zp as ua,xr as uc,cp as ui,cc as un,ca as uo,Wc as ur,Tn as us,xc as ut,yT as v,G_ as va,P as vc,Q_ as vi,Du as vn,da as vo,rh as vr,Wn as vs,cg as vt,XT as w,fv as wa,D as wc,ml as wi,wd as wn,Hr as wo,jv as wr,Ba as ws,wp as wt,wD as x,vg as xa,_e as xc,qp as xi,$l as xn,ha as xo,em as xr,Rn as xs,Ch as xt,TT as y,Mv as ya,g as yc,uc as yi,Lc as yn,Er as yo,lc as yr,Ra as ys,kp as yt,LE as z,Qr as za,Re as zc,Jg as zi,pc as zn,ja as zo,rl as zr,Yr as zs,pv as zt};