@excalidraw/excalidraw 0.17.1-7441-4e2c539 → 0.17.1-a38e82f

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 (249) hide show
  1. package/CHANGELOG.md +52 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/chunk-5VWQDKDR.js +20279 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/chunk-5VWQDKDR.js.map +7 -0
  4. package/dist/browser/dev/excalidraw-assets-dev/{chunk-2W5GQUR4.js → chunk-IM4WTX2M.js} +12 -6
  5. package/dist/browser/dev/excalidraw-assets-dev/chunk-IM4WTX2M.js.map +7 -0
  6. package/dist/browser/dev/excalidraw-assets-dev/{en-OC6JWP3X.js → en-IOBA4CS2.js} +4 -2
  7. package/dist/browser/dev/excalidraw-assets-dev/image-LK4UNFRZ.css +6 -0
  8. package/dist/browser/dev/excalidraw-assets-dev/image-LK4UNFRZ.css.map +7 -0
  9. package/dist/browser/dev/excalidraw-assets-dev/{image-HYNUJ3XL.js → image-VKDAL6BQ.js} +2 -4
  10. package/dist/browser/dev/excalidraw-assets-dev/roundRect-T5BX56ZF.js +161 -0
  11. package/dist/browser/dev/excalidraw-assets-dev/roundRect-T5BX56ZF.js.map +7 -0
  12. package/dist/browser/dev/index.css +189 -129
  13. package/dist/browser/dev/index.css.map +3 -3
  14. package/dist/browser/dev/index.js +34707 -26
  15. package/dist/browser/dev/index.js.map +4 -4
  16. package/dist/browser/prod/excalidraw-assets/chunk-LIG3S5TN.js +11 -0
  17. package/dist/browser/prod/excalidraw-assets/chunk-N2C5DK3B.js +55 -0
  18. package/dist/browser/prod/excalidraw-assets/en-WFZVQ7I6.js +1 -0
  19. package/dist/browser/prod/excalidraw-assets/image-4AT7LYMR.js +1 -0
  20. package/dist/browser/prod/excalidraw-assets/image-X66R2EM5.css +1 -0
  21. package/dist/browser/prod/excalidraw-assets/roundRect-2ACQK4DA.js +1 -0
  22. package/dist/browser/prod/index.css +1 -1
  23. package/dist/browser/prod/index.js +203 -1
  24. package/dist/{prod/en-RLIAOBCI.json → dev/en-TDNWCAOT.json} +9 -5
  25. package/dist/dev/index.css +189 -129
  26. package/dist/dev/index.css.map +3 -3
  27. package/dist/dev/index.js +38445 -39402
  28. package/dist/dev/index.js.map +4 -4
  29. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +12 -12
  30. package/dist/excalidraw/actions/actionAlign.d.ts +6 -6
  31. package/dist/excalidraw/actions/actionAlign.js +2 -1
  32. package/dist/excalidraw/actions/actionBoundText.d.ts +8 -8
  33. package/dist/excalidraw/actions/actionBoundText.js +8 -8
  34. package/dist/excalidraw/actions/actionCanvas.d.ts +46 -46
  35. package/dist/excalidraw/actions/actionClipboard.d.ts +27 -27
  36. package/dist/excalidraw/actions/actionClipboard.js +9 -2
  37. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +12 -12
  38. package/dist/excalidraw/actions/actionDeleteSelected.js +3 -2
  39. package/dist/excalidraw/actions/actionDistribute.d.ts +2 -2
  40. package/dist/excalidraw/actions/actionDistribute.js +1 -1
  41. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +1 -1
  42. package/dist/excalidraw/actions/actionDuplicateSelection.js +4 -3
  43. package/dist/excalidraw/actions/actionElementLock.d.ts +8 -8
  44. package/dist/excalidraw/actions/actionExport.d.ts +35 -35
  45. package/dist/excalidraw/actions/actionExport.js +4 -4
  46. package/dist/excalidraw/actions/actionFinalize.d.ts +7 -7
  47. package/dist/excalidraw/actions/actionFinalize.js +7 -6
  48. package/dist/excalidraw/actions/actionFlip.d.ts +2 -2
  49. package/dist/excalidraw/actions/actionFlip.js +11 -11
  50. package/dist/excalidraw/actions/actionFrame.d.ts +13 -13
  51. package/dist/excalidraw/actions/actionFrame.js +1 -1
  52. package/dist/excalidraw/actions/actionGroup.d.ts +8 -8
  53. package/dist/excalidraw/actions/actionGroup.js +3 -2
  54. package/dist/excalidraw/actions/actionLinearEditor.d.ts +4 -4
  55. package/dist/excalidraw/actions/actionLinearEditor.js +1 -1
  56. package/dist/excalidraw/{element/Hyperlink.d.ts → actions/actionLink.d.ts} +28 -50
  57. package/dist/excalidraw/actions/actionLink.js +40 -0
  58. package/dist/excalidraw/actions/actionMenu.d.ts +11 -11
  59. package/dist/excalidraw/actions/actionNavigate.d.ts +8 -8
  60. package/dist/excalidraw/actions/actionNavigate.js +1 -1
  61. package/dist/excalidraw/actions/actionProperties.d.ts +64 -64
  62. package/dist/excalidraw/actions/actionProperties.js +32 -27
  63. package/dist/excalidraw/actions/actionSelectAll.d.ts +4 -4
  64. package/dist/excalidraw/actions/actionSelectAll.js +1 -1
  65. package/dist/excalidraw/actions/actionStyles.d.ts +6 -6
  66. package/dist/excalidraw/actions/actionStyles.js +4 -4
  67. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +4 -4
  68. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  69. package/dist/excalidraw/actions/actionToggleStats.d.ts +4 -4
  70. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  71. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  72. package/dist/excalidraw/actions/index.d.ts +1 -1
  73. package/dist/excalidraw/actions/index.js +1 -1
  74. package/dist/excalidraw/actions/manager.js +2 -1
  75. package/dist/excalidraw/align.d.ts +2 -2
  76. package/dist/excalidraw/align.js +2 -2
  77. package/dist/excalidraw/animated-trail.d.ts +33 -0
  78. package/dist/excalidraw/animated-trail.js +96 -0
  79. package/dist/excalidraw/animation-frame-handler.d.ts +16 -0
  80. package/dist/excalidraw/animation-frame-handler.js +55 -0
  81. package/dist/excalidraw/appState.d.ts +1 -1
  82. package/dist/excalidraw/appState.js +1 -3
  83. package/dist/excalidraw/clipboard.js +5 -5
  84. package/dist/excalidraw/components/Actions.d.ts +3 -3
  85. package/dist/excalidraw/components/Actions.js +18 -7
  86. package/dist/excalidraw/components/App.d.ts +32 -17
  87. package/dist/excalidraw/components/App.js +474 -339
  88. package/dist/excalidraw/components/Button.d.ts +1 -1
  89. package/dist/excalidraw/components/FilledButton.d.ts +2 -2
  90. package/dist/excalidraw/components/FilledButton.js +27 -3
  91. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  92. package/dist/excalidraw/components/ImageExportDialog.d.ts +2 -1
  93. package/dist/excalidraw/components/ImageExportDialog.js +16 -12
  94. package/dist/excalidraw/components/JSONExportDialog.js +1 -1
  95. package/dist/excalidraw/components/{LaserTool/LaserPointerButton.d.ts → LaserPointerButton.d.ts} +1 -1
  96. package/dist/excalidraw/components/{LaserTool/LaserPointerButton.js → LaserPointerButton.js} +2 -2
  97. package/dist/excalidraw/components/LayerUI.js +3 -3
  98. package/dist/excalidraw/components/MobileMenu.js +1 -1
  99. package/dist/excalidraw/components/ProjectName.d.ts +0 -1
  100. package/dist/excalidraw/components/ProjectName.js +1 -1
  101. package/dist/excalidraw/components/SVGLayer.d.ts +8 -0
  102. package/dist/excalidraw/components/SVGLayer.js +20 -0
  103. package/dist/excalidraw/components/ShareableLinkDialog.js +10 -10
  104. package/dist/excalidraw/components/Stack.d.ts +2 -2
  105. package/dist/excalidraw/components/TTDDialog/common.js +10 -1
  106. package/dist/excalidraw/components/TextField.d.ts +5 -2
  107. package/dist/excalidraw/components/TextField.js +6 -3
  108. package/dist/excalidraw/components/Toast.d.ts +3 -2
  109. package/dist/excalidraw/components/Toast.js +2 -2
  110. package/dist/excalidraw/components/ToolButton.js +2 -1
  111. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +2 -2
  112. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +6 -5
  113. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +4 -3
  114. package/dist/excalidraw/components/canvases/StaticCanvas.js +7 -5
  115. package/dist/excalidraw/components/dropdownMenu/DropdownMenuContent.js +22 -2
  116. package/dist/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  117. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -0
  118. package/dist/excalidraw/{element → components/hyperlink}/Hyperlink.js +40 -115
  119. package/dist/excalidraw/components/hyperlink/helpers.d.ts +7 -0
  120. package/dist/excalidraw/components/hyperlink/helpers.js +49 -0
  121. package/dist/excalidraw/components/icons.d.ts +2 -1
  122. package/dist/excalidraw/components/icons.js +2 -1
  123. package/dist/excalidraw/components/live-collaboration/LiveCollaborationTrigger.js +3 -2
  124. package/dist/excalidraw/components/main-menu/DefaultItems.js +5 -2
  125. package/dist/excalidraw/constants.d.ts +8 -0
  126. package/dist/excalidraw/constants.js +10 -0
  127. package/dist/excalidraw/data/blob.js +13 -14
  128. package/dist/excalidraw/data/filesystem.d.ts +1 -1
  129. package/dist/excalidraw/data/index.d.ts +2 -1
  130. package/dist/excalidraw/data/index.js +20 -16
  131. package/dist/excalidraw/data/json.d.ts +1 -1
  132. package/dist/excalidraw/data/json.js +5 -3
  133. package/dist/excalidraw/data/resave.d.ts +1 -1
  134. package/dist/excalidraw/data/resave.js +2 -2
  135. package/dist/excalidraw/data/restore.js +8 -13
  136. package/dist/excalidraw/data/transform.js +13 -9
  137. package/dist/excalidraw/distribute.d.ts +2 -2
  138. package/dist/excalidraw/distribute.js +2 -2
  139. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +3 -2
  140. package/dist/excalidraw/element/ElementCanvasButtons.js +4 -4
  141. package/dist/excalidraw/element/binding.d.ts +9 -9
  142. package/dist/excalidraw/element/binding.js +61 -59
  143. package/dist/excalidraw/element/bounds.d.ts +5 -5
  144. package/dist/excalidraw/element/bounds.js +29 -32
  145. package/dist/excalidraw/element/collision.d.ts +11 -11
  146. package/dist/excalidraw/element/collision.js +49 -46
  147. package/dist/excalidraw/element/containerCache.d.ts +11 -0
  148. package/dist/excalidraw/element/containerCache.js +14 -0
  149. package/dist/excalidraw/element/dragElements.js +10 -19
  150. package/dist/excalidraw/element/embeddable.d.ts +11 -12
  151. package/dist/excalidraw/element/embeddable.js +17 -27
  152. package/dist/excalidraw/element/image.js +1 -2
  153. package/dist/excalidraw/element/index.d.ts +0 -1
  154. package/dist/excalidraw/element/index.js +0 -1
  155. package/dist/excalidraw/element/linearElementEditor.d.ts +35 -35
  156. package/dist/excalidraw/element/linearElementEditor.js +79 -80
  157. package/dist/excalidraw/element/newElement.d.ts +4 -6
  158. package/dist/excalidraw/element/newElement.js +11 -16
  159. package/dist/excalidraw/element/resizeElements.d.ts +6 -6
  160. package/dist/excalidraw/element/resizeElements.js +40 -46
  161. package/dist/excalidraw/element/resizeTest.d.ts +3 -3
  162. package/dist/excalidraw/element/resizeTest.js +4 -4
  163. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  164. package/dist/excalidraw/element/sizeHelpers.js +2 -2
  165. package/dist/excalidraw/element/textElement.d.ts +18 -20
  166. package/dist/excalidraw/element/textElement.js +80 -111
  167. package/dist/excalidraw/element/textWysiwyg.d.ts +1 -6
  168. package/dist/excalidraw/element/textWysiwyg.js +15 -37
  169. package/dist/excalidraw/element/transformHandles.d.ts +4 -4
  170. package/dist/excalidraw/element/transformHandles.js +6 -6
  171. package/dist/excalidraw/element/typeChecks.js +4 -1
  172. package/dist/excalidraw/element/types.d.ts +24 -11
  173. package/dist/excalidraw/emitter.d.ts +5 -9
  174. package/dist/excalidraw/emitter.js +12 -12
  175. package/dist/excalidraw/frame.d.ts +26 -20
  176. package/dist/excalidraw/frame.js +157 -84
  177. package/dist/excalidraw/groups.d.ts +3 -3
  178. package/dist/excalidraw/groups.js +11 -3
  179. package/dist/excalidraw/history.d.ts +1 -1
  180. package/dist/excalidraw/index.d.ts +7 -3
  181. package/dist/excalidraw/index.js +14 -5
  182. package/dist/excalidraw/laser-trails.d.ts +19 -0
  183. package/dist/excalidraw/laser-trails.js +95 -0
  184. package/dist/excalidraw/locales/en.json +9 -5
  185. package/dist/excalidraw/reactUtils.d.ts +14 -0
  186. package/dist/excalidraw/reactUtils.js +45 -0
  187. package/dist/excalidraw/renderer/helpers.d.ts +13 -0
  188. package/dist/excalidraw/renderer/helpers.js +39 -0
  189. package/dist/excalidraw/renderer/interactiveScene.d.ts +20 -0
  190. package/dist/excalidraw/renderer/{renderScene.js → interactiveScene.js} +199 -474
  191. package/dist/excalidraw/renderer/renderElement.d.ts +6 -6
  192. package/dist/excalidraw/renderer/renderElement.js +54 -366
  193. package/dist/excalidraw/renderer/staticScene.d.ts +11 -0
  194. package/dist/excalidraw/renderer/staticScene.js +205 -0
  195. package/dist/excalidraw/renderer/staticSvgScene.d.ts +5 -0
  196. package/dist/excalidraw/renderer/staticSvgScene.js +385 -0
  197. package/dist/excalidraw/scene/Fonts.js +2 -1
  198. package/dist/excalidraw/scene/Renderer.d.ts +1 -1
  199. package/dist/excalidraw/scene/Renderer.js +32 -20
  200. package/dist/excalidraw/scene/Scene.d.ts +10 -9
  201. package/dist/excalidraw/scene/Scene.js +45 -21
  202. package/dist/excalidraw/scene/Shape.d.ts +3 -1
  203. package/dist/excalidraw/scene/Shape.js +7 -5
  204. package/dist/excalidraw/scene/ShapeCache.d.ts +2 -1
  205. package/dist/excalidraw/scene/ShapeCache.js +1 -0
  206. package/dist/excalidraw/scene/comparisons.js +2 -1
  207. package/dist/excalidraw/scene/export.d.ts +3 -0
  208. package/dist/excalidraw/scene/export.js +20 -40
  209. package/dist/excalidraw/scene/index.d.ts +0 -1
  210. package/dist/excalidraw/scene/index.js +0 -1
  211. package/dist/excalidraw/scene/scrollbars.d.ts +1 -1
  212. package/dist/excalidraw/scene/scrollbars.js +1 -1
  213. package/dist/excalidraw/scene/selection.d.ts +5 -5
  214. package/dist/excalidraw/scene/selection.js +16 -14
  215. package/dist/excalidraw/scene/types.d.ts +11 -5
  216. package/dist/excalidraw/snapping.d.ts +7 -7
  217. package/dist/excalidraw/snapping.js +21 -20
  218. package/dist/excalidraw/types.d.ts +11 -12
  219. package/dist/excalidraw/utility-types.d.ts +5 -0
  220. package/dist/excalidraw/utils.d.ts +25 -16
  221. package/dist/excalidraw/utils.js +52 -45
  222. package/dist/{dev/en-RLIAOBCI.json → prod/en-TDNWCAOT.json} +9 -5
  223. package/dist/prod/index.css +1 -1
  224. package/dist/prod/index.js +45 -45
  225. package/dist/utils/export.d.ts +0 -6
  226. package/dist/utils/export.js +0 -6
  227. package/dist/utils/index.d.ts +3 -0
  228. package/dist/utils/index.js +3 -0
  229. package/dist/utils/withinBounds.js +2 -1
  230. package/package.json +4 -4
  231. package/dist/browser/dev/excalidraw-assets-dev/chunk-2W5GQUR4.js.map +0 -7
  232. package/dist/browser/dev/excalidraw-assets-dev/chunk-SUHLFFEF.js +0 -53449
  233. package/dist/browser/dev/excalidraw-assets-dev/chunk-SUHLFFEF.js.map +0 -7
  234. package/dist/browser/dev/excalidraw-assets-dev/image-NOPDRTTM.css +0 -5797
  235. package/dist/browser/dev/excalidraw-assets-dev/image-NOPDRTTM.css.map +0 -7
  236. package/dist/browser/prod/excalidraw-assets/chunk-HE2P7BQ6.js +0 -257
  237. package/dist/browser/prod/excalidraw-assets/chunk-OWLL6VOG.js +0 -11
  238. package/dist/browser/prod/excalidraw-assets/en-ERQOR3OC.js +0 -1
  239. package/dist/browser/prod/excalidraw-assets/image-DZ6B4AID.js +0 -1
  240. package/dist/browser/prod/excalidraw-assets/image-J2QCCYAR.css +0 -1
  241. package/dist/excalidraw/components/LaserTool/LaserPathManager.d.ts +0 -28
  242. package/dist/excalidraw/components/LaserTool/LaserPathManager.js +0 -225
  243. package/dist/excalidraw/components/LaserTool/LaserTool.d.ts +0 -8
  244. package/dist/excalidraw/components/LaserTool/LaserTool.js +0 -15
  245. package/dist/excalidraw/renderer/renderScene.d.ts +0 -25
  246. package/dist/excalidraw/vite.config.d.mts +0 -2
  247. package/dist/excalidraw/vite.config.mjs +0 -13
  248. /package/dist/browser/dev/excalidraw-assets-dev/{en-OC6JWP3X.js.map → en-IOBA4CS2.js.map} +0 -0
  249. /package/dist/browser/dev/excalidraw-assets-dev/{image-HYNUJ3XL.js.map → image-VKDAL6BQ.js.map} +0 -0
@@ -0,0 +1,55 @@
1
+ import{a as g,b as _}from"./chunk-M2JW2GFW.js";import{d as oe,f as fr}from"./chunk-SXMPUQ6M.js";var Ki=oe(Zi=>{g();var gl;(function(e){typeof DO_NOT_EXPORT_CRC>"u"?typeof Zi=="object"?e(Zi):typeof define=="function"&&define.amd?define(function(){var t={};return e(t),t}):e(gl={}):e(gl={})})(function(e){e.version="0.3.0";function t(){for(var c=0,l=new Array(256),d=0;d!=256;++d)c=d,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,l[d]=c;return typeof Int32Array<"u"?new Int32Array(l):l}var n=t(),r=typeof Buffer<"u";function o(c){if(c.length>32768&&r)return a(new Buffer(c));for(var l=-1,d=c.length-1,u=0;u<d;)l=n[(l^c.charCodeAt(u++))&255]^l>>>8,l=n[(l^c.charCodeAt(u++))&255]^l>>>8;return u===d&&(l=l>>>8^n[(l^c.charCodeAt(u))&255]),l^-1}function i(c){if(c.length>1e4)return a(c);for(var l=-1,d=0,u=c.length-3;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+3;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function a(c){for(var l=-1,d=0,u=c.length-7;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+7;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function s(c){for(var l=-1,d=0,u=c.length,f,m;d<u;)f=c.charCodeAt(d++),f<128?l=l>>>8^n[(l^f)&255]:f<2048?(l=l>>>8^n[(l^(192|f>>6&31))&255],l=l>>>8^n[(l^(128|f&63))&255]):f>=55296&&f<57344?(f=(f&1023)+64,m=c.charCodeAt(d++)&1023,l=l>>>8^n[(l^(240|f>>8&7))&255],l=l>>>8^n[(l^(128|f>>2&63))&255],l=l>>>8^n[(l^(128|m>>6&15|f&3))&255],l=l>>>8^n[(l^(128|m&63))&255]):(l=l>>>8^n[(l^(224|f>>12&15))&255],l=l>>>8^n[(l^(128|f>>6&63))&255],l=l>>>8^n[(l^(128|f&63))&255]);return l^-1}e.table=n,e.bstr=o,e.buf=i,e.str=s})});var wl=oe((tw,xl)=>{g();var Qm=Ki();xl.exports=np;var dt=new Uint8Array(4),ep=new Int32Array(dt.buffer),tp=new Uint32Array(dt.buffer);function np(e){if(e[0]!==137)throw new Error("Invalid .png file header");if(e[1]!==80)throw new Error("Invalid .png file header");if(e[2]!==78)throw new Error("Invalid .png file header");if(e[3]!==71)throw new Error("Invalid .png file header");if(e[4]!==13)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[5]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[6]!==26)throw new Error("Invalid .png file header");if(e[7]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");for(var t=!1,n=[],r=8;r<e.length;){dt[3]=e[r++],dt[2]=e[r++],dt[1]=e[r++],dt[0]=e[r++];var o=tp[0]+4,i=new Uint8Array(o);i[0]=e[r++],i[1]=e[r++],i[2]=e[r++],i[3]=e[r++];var a=String.fromCharCode(i[0])+String.fromCharCode(i[1])+String.fromCharCode(i[2])+String.fromCharCode(i[3]);if(!n.length&&a!=="IHDR")throw new Error("IHDR header missing");if(a==="IEND"){t=!0,n.push({name:a,data:new Uint8Array(0)});break}for(var s=4;s<o;s++)i[s]=e[r++];dt[3]=e[r++],dt[2]=e[r++],dt[1]=e[r++],dt[0]=e[r++];var c=ep[0],l=Qm.buf(i);if(l!==c)throw new Error("CRC values for "+a+" header do not match, PNG file is likely corrupted");var d=new Uint8Array(i.buffer.slice(4));n.push({name:a,data:d})}if(!t)throw new Error(".png file ended prematurely: no IEND header was found");return n}});var yl=oe((rw,bl)=>{g();bl.exports=rp;function rp(e,t){if(e=String(e),t=String(t),!/^[\x00-\xFF]+$/.test(e)||!/^[\x00-\xFF]+$/.test(t))throw new 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 new 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),o=0,i,a=0;a<e.length;a++){if(!(i=e.charCodeAt(a)))throw new Error("0x00 character is not permitted in tEXt keywords");r[o++]=i}r[o++]=0;for(var s=0;s<t.length;s++){if(!(i=t.charCodeAt(s)))throw new Error("0x00 character is not permitted in tEXt content");r[o++]=i}return{name:"tEXt",data:r}}});var Tl=oe((iw,vl)=>{g();vl.exports=op;function op(e){e.data&&e.name&&(e=e.data);for(var t=!0,n="",r="",o=0;o<e.length;o++){var i=e[o];if(t)i?r+=String.fromCharCode(i):t=!1;else if(i)n+=String.fromCharCode(i);else throw new Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content")}return{keyword:r,text:n}}});var _l=oe(ji=>{g();ji.encode=yl();ji.decode=Tl()});var Sl=oe((cw,Al)=>{g();Al.exports=function(e,t,n){var r=[],o=e.length;if(o===0)return r;var i=t<0?Math.max(0,t+o):t||0;for(n!==void 0&&(o=n<0?n+o:n);o-- >i;)r[o-i]=e[o];return r}});var Ml=oe((uw,Il)=>{g();var ip=Sl(),ap=Ki();Il.exports=cp;var ut=new Uint8Array(4),sp=new Int32Array(ut.buffer),lp=new Uint32Array(ut.buffer);function cp(e){var t=8,n=t,r;for(r=0;r<e.length;r++)t+=e[r].data.length,t+=12;var o=new Uint8Array(t);for(o[0]=137,o[1]=80,o[2]=78,o[3]=71,o[4]=13,o[5]=10,o[6]=26,o[7]=10,r=0;r<e.length;r++){var i=e[r],a=i.name,s=i.data,c=s.length,l=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)];lp[0]=c,o[n++]=ut[3],o[n++]=ut[2],o[n++]=ut[1],o[n++]=ut[0],o[n++]=l[0],o[n++]=l[1],o[n++]=l[2],o[n++]=l[3];for(var d=0;d<c;)o[n++]=s[d++];var u=l.concat(ip(s)),f=ap.buf(u);sp[0]=f,o[n++]=ut[3],o[n++]=ut[2],o[n++]=ut[1],o[n++]=ut[0]}return o}});var At=oe(Te=>{"use strict";g();var dp=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function up(e,t){return Object.prototype.hasOwnProperty.call(e,t)}Te.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var r in n)up(n,r)&&(e[r]=n[r])}}return e};Te.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var fp={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),o);return}for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i=e[t],a.set(i,o),o+=i.length;return a}},mp={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};Te.setTyped=function(e){e?(Te.Buf8=Uint8Array,Te.Buf16=Uint16Array,Te.Buf32=Int32Array,Te.assign(Te,fp)):(Te.Buf8=Array,Te.Buf16=Array,Te.Buf32=Array,Te.assign(Te,mp))};Te.setTyped(dp)});var ql=oe(zn=>{"use strict";g();var pp=At(),hp=4,Pl=0,Dl=1,Ep=2;function Gn(e){for(var t=e.length;--t>=0;)e[t]=0}var gp=0,Nl=1,xp=2,wp=3,bp=258,ra=29,xr=256,pr=xr+1+ra,Bn=30,oa=19,Ol=2*pr+1,mn=15,qi=16,yp=7,ia=256,Bl=16,Gl=17,zl=18,ta=[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],fo=[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],vp=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Hl=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Tp=512,St=new Array((pr+2)*2);Gn(St);var mr=new Array(Bn*2);Gn(mr);var hr=new Array(Tp);Gn(hr);var Er=new Array(bp-wp+1);Gn(Er);var aa=new Array(ra);Gn(aa);var mo=new Array(Bn);Gn(mo);function Ji(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}var Ul,$l,Yl;function Qi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Wl(e){return e<256?hr[e]:hr[256+(e>>>7)]}function gr(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ie(e,t,n){e.bi_valid>qi-n?(e.bi_buf|=t<<e.bi_valid&65535,gr(e,e.bi_buf),e.bi_buf=t>>qi-e.bi_valid,e.bi_valid+=n-qi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function ft(e,t,n){Ie(e,n[t*2],n[t*2+1])}function Vl(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function _p(e){e.bi_valid===16?(gr(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)}function Ap(e,t){var n=t.dyn_tree,r=t.max_code,o=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,d,u,f,m,p,h=0;for(f=0;f<=mn;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<Ol;l++)d=e.heap[l],f=n[n[d*2+1]*2+1]+1,f>c&&(f=c,h++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,m=0,d>=s&&(m=a[d-s]),p=n[d*2],e.opt_len+=p*(f+m),i&&(e.static_len+=p*(o[d*2+1]+m)));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(d=e.bl_count[f];d!==0;)u=e.heap[--l],!(u>r)&&(n[u*2+1]!==f&&(e.opt_len+=(f-n[u*2+1])*n[u*2],n[u*2+1]=f),d--)}}function Xl(e,t,n){var r=new Array(mn+1),o=0,i,a;for(i=1;i<=mn;i++)r[i]=o=o+n[i-1]<<1;for(a=0;a<=t;a++){var s=e[a*2+1];s!==0&&(e[a*2]=Vl(r[s]++,s))}}function Sp(){var e,t,n,r,o,i=new Array(mn+1);for(n=0,r=0;r<ra-1;r++)for(aa[r]=n,e=0;e<1<<ta[r];e++)Er[n++]=r;for(Er[n-1]=r,o=0,r=0;r<16;r++)for(mo[r]=o,e=0;e<1<<fo[r];e++)hr[o++]=r;for(o>>=7;r<Bn;r++)for(mo[r]=o<<7,e=0;e<1<<fo[r]-7;e++)hr[256+o++]=r;for(t=0;t<=mn;t++)i[t]=0;for(e=0;e<=143;)St[e*2+1]=8,e++,i[8]++;for(;e<=255;)St[e*2+1]=9,e++,i[9]++;for(;e<=279;)St[e*2+1]=7,e++,i[7]++;for(;e<=287;)St[e*2+1]=8,e++,i[8]++;for(Xl(St,pr+1,i),e=0;e<Bn;e++)mr[e*2+1]=5,mr[e*2]=Vl(e,5);Ul=new Ji(St,ta,xr+1,pr,mn),$l=new Ji(mr,fo,0,Bn,mn),Yl=new Ji(new Array(0),vp,0,oa,yp)}function Zl(e){var t;for(t=0;t<pr;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Bn;t++)e.dyn_dtree[t*2]=0;for(t=0;t<oa;t++)e.bl_tree[t*2]=0;e.dyn_ltree[ia*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Kl(e){e.bi_valid>8?gr(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Ip(e,t,n,r){Kl(e),r&&(gr(e,n),gr(e,~n)),pp.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function Ll(e,t,n,r){var o=t*2,i=n*2;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function ea(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&Ll(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!Ll(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function kl(e,t,n){var r,o,i=0,a,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+i*2]<<8|e.pending_buf[e.d_buf+i*2+1],o=e.pending_buf[e.l_buf+i],i++,r===0?ft(e,o,t):(a=Er[o],ft(e,a+xr+1,t),s=ta[a],s!==0&&(o-=aa[a],Ie(e,o,s)),r--,a=Wl(r),ft(e,a,n),s=fo[a],s!==0&&(r-=mo[a],Ie(e,r,s)));while(i<e.last_lit);ft(e,ia,t)}function na(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.elems,a,s,c=-1,l;for(e.heap_len=0,e.heap_max=Ol,a=0;a<i;a++)n[a*2]!==0?(e.heap[++e.heap_len]=c=a,e.depth[a]=0):n[a*2+1]=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--,o&&(e.static_len-=r[l*2+1]);for(t.max_code=c,a=e.heap_len>>1;a>=1;a--)ea(e,n,a);l=i;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ea(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,n[l*2]=n[a*2]+n[s*2],e.depth[l]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,n[a*2+1]=n[s*2+1]=l,e.heap[1]=l++,ea(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Ap(e,t),Xl(n,c,e.bl_count)}function Cl(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)&&(s<l?e.bl_tree[i*2]+=s:i!==0?(i!==o&&e.bl_tree[i*2]++,e.bl_tree[Bl*2]++):s<=10?e.bl_tree[Gl*2]++:e.bl_tree[zl*2]++,s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4))}function Rl(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),r=0;r<=n;r++)if(i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)){if(s<l)do ft(e,i,e.bl_tree);while(--s!==0);else i!==0?(i!==o&&(ft(e,i,e.bl_tree),s--),ft(e,Bl,e.bl_tree),Ie(e,s-3,2)):s<=10?(ft(e,Gl,e.bl_tree),Ie(e,s-3,3)):(ft(e,zl,e.bl_tree),Ie(e,s-11,7));s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4)}}function Mp(e){var t;for(Cl(e,e.dyn_ltree,e.l_desc.max_code),Cl(e,e.dyn_dtree,e.d_desc.max_code),na(e,e.bl_desc),t=oa-1;t>=3&&e.bl_tree[Hl[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Pp(e,t,n,r){var o;for(Ie(e,t-257,5),Ie(e,n-1,5),Ie(e,r-4,4),o=0;o<r;o++)Ie(e,e.bl_tree[Hl[o]*2+1],3);Rl(e,e.dyn_ltree,t-1),Rl(e,e.dyn_dtree,n-1)}function Dp(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return Pl;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Dl;for(n=32;n<xr;n++)if(e.dyn_ltree[n*2]!==0)return Dl;return Pl}var Fl=!1;function Lp(e){Fl||(Sp(),Fl=!0),e.l_desc=new Qi(e.dyn_ltree,Ul),e.d_desc=new Qi(e.dyn_dtree,$l),e.bl_desc=new Qi(e.bl_tree,Yl),e.bi_buf=0,e.bi_valid=0,Zl(e)}function jl(e,t,n,r){Ie(e,(gp<<1)+(r?1:0),3),Ip(e,t,n,!0)}function kp(e){Ie(e,Nl<<1,3),ft(e,ia,St),_p(e)}function Cp(e,t,n,r){var o,i,a=0;e.level>0?(e.strm.data_type===Ep&&(e.strm.data_type=Dp(e)),na(e,e.l_desc),na(e,e.d_desc),a=Mp(e),o=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=o&&(o=i)):o=i=n+5,n+4<=o&&t!==-1?jl(e,t,n,r):e.strategy===hp||i===o?(Ie(e,(Nl<<1)+(r?1:0),3),kl(e,St,mr)):(Ie(e,(xp<<1)+(r?1:0),3),Pp(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),kl(e,e.dyn_ltree,e.dyn_dtree)),Zl(e),r&&Kl(e)}function Rp(e,t,n){return 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[(Er[n]+xr+1)*2]++,e.dyn_dtree[Wl(t)*2]++),e.last_lit===e.lit_bufsize-1}zn._tr_init=Lp;zn._tr_stored_block=jl;zn._tr_flush_block=Cp;zn._tr_tally=Rp;zn._tr_align=kp});var sa=oe((gw,Jl)=>{"use strict";g();function Fp(e,t,n,r){for(var o=e&65535|0,i=e>>>16&65535|0,a=0;n!==0;){a=n>2e3?2e3:n,n-=a;do o=o+t[r++]|0,i=i+o|0;while(--a);o%=65521,i%=65521}return o|i<<16|0}Jl.exports=Fp});var la=oe((ww,Ql)=>{"use strict";g();function Np(){for(var e,t=[],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}var Op=Np();function Bp(e,t,n,r){var o=Op,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[(e^t[a])&255];return e^-1}Ql.exports=Bp});var po=oe((yw,ec)=>{"use strict";g();ec.exports={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"}});var cc=oe(ht=>{"use strict";g();var _e=At(),Be=ql(),oc=sa(),Yt=la(),Gp=po(),gn=0,zp=1,Hp=3,Kt=4,tc=5,pt=0,nc=1,Ge=-2,Up=-3,ca=-5,$p=-1,Yp=1,ho=2,Wp=3,Vp=4,Xp=0,Zp=2,wo=8,Kp=9,jp=15,qp=8,Jp=29,Qp=256,ua=Qp+1+Jp,eh=30,th=19,nh=2*ua+1,rh=15,$=3,Xt=258,Xe=Xt+$+1,oh=32,bo=42,fa=69,Eo=73,go=91,xo=103,pn=113,br=666,ce=1,yr=2,hn=3,$n=4,ih=3;function Zt(e,t){return e.msg=Gp[t],t}function rc(e){return(e<<1)-(e>4?9:0)}function Vt(e){for(var t=e.length;--t>=0;)e[t]=0}function Wt(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(_e.arraySet(e.output,t.pending_buf,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))}function he(e,t){Be._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Wt(e.strm)}function Y(e,t){e.pending_buf[e.pending++]=t}function wr(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function ah(e,t,n,r){var o=e.avail_in;return o>r&&(o=r),o===0?0:(e.avail_in-=o,_e.arraySet(t,e.input,e.next_in,o,n),e.state.wrap===1?e.adler=oc(e.adler,t,o,n):e.state.wrap===2&&(e.adler=Yt(e.adler,t,o,n)),e.next_in+=o,e.total_in+=o,o)}function ic(e,t){var n=e.max_chain_length,r=e.strstart,o,i,a=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-Xe?e.strstart-(e.w_size-Xe):0,l=e.window,d=e.w_mask,u=e.prev,f=e.strstart+Xt,m=l[r+a-1],p=l[r+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(o=t,!(l[o+a]!==p||l[o+a-1]!==m||l[o]!==l[r]||l[++o]!==l[r+1])){r+=2,o++;do;while(l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&r<f);if(i=Xt-(f-r),r=f-Xt,i>a){if(e.match_start=t,a=i,i>=s)break;m=l[r+a-1],p=l[r+a]}}while((t=u[t&d])>c&&--n!==0);return a<=e.lookahead?a:e.lookahead}function En(e){var t=e.w_size,n,r,o,i,a;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Xe)){_e.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,r=e.hash_size,n=r;do o=e.head[--n],e.head[n]=o>=t?o-t:0;while(--r);r=t,n=r;do o=e.prev[--n],e.prev[n]=o>=t?o-t:0;while(--r);i+=t}if(e.strm.avail_in===0)break;if(r=ah(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=r,e.lookahead+e.insert>=$)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+$-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<$)););}while(e.lookahead<Xe&&e.strm.avail_in!==0)}function sh(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(En(e),e.lookahead===0&&t===gn)return ce;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,he(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Xe&&(he(e,!1),e.strm.avail_out===0))return ce}return e.insert=0,t===Kt?(he(e,!0),e.strm.avail_out===0?hn:$n):(e.strstart>e.block_start&&(he(e,!1),e.strm.avail_out===0),ce)}function da(e,t){for(var n,r;;){if(e.lookahead<Xe){if(En(e),e.lookahead<Xe&&t===gn)return ce;if(e.lookahead===0)break}if(n=0,e.lookahead>=$&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+$-1])&e.hash_mask,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-Xe&&(e.match_length=ic(e,n)),e.match_length>=$)if(r=Be._tr_tally(e,e.strstart-e.match_start,e.match_length-$),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=$){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+$-1])&e.hash_mask,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=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Be._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(he(e,!1),e.strm.avail_out===0))return ce}return e.insert=e.strstart<$-1?e.strstart:$-1,t===Kt?(he(e,!0),e.strm.avail_out===0?hn:$n):e.last_lit&&(he(e,!1),e.strm.avail_out===0)?ce:yr}function Hn(e,t){for(var n,r,o;;){if(e.lookahead<Xe){if(En(e),e.lookahead<Xe&&t===gn)return ce;if(e.lookahead===0)break}if(n=0,e.lookahead>=$&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+$-1])&e.hash_mask,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=$-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Xe&&(e.match_length=ic(e,n),e.match_length<=5&&(e.strategy===Yp||e.match_length===$&&e.strstart-e.match_start>4096)&&(e.match_length=$-1)),e.prev_length>=$&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-$,r=Be._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-$),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+$-1])&e.hash_mask,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=$-1,e.strstart++,r&&(he(e,!1),e.strm.avail_out===0))return ce}else if(e.match_available){if(r=Be._tr_tally(e,0,e.window[e.strstart-1]),r&&he(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ce}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Be._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<$-1?e.strstart:$-1,t===Kt?(he(e,!0),e.strm.avail_out===0?hn:$n):e.last_lit&&(he(e,!1),e.strm.avail_out===0)?ce:yr}function lh(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=Xt){if(En(e),e.lookahead<=Xt&&t===gn)return ce;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=$&&e.strstart>0&&(o=e.strstart-1,r=a[o],r===a[++o]&&r===a[++o]&&r===a[++o])){i=e.strstart+Xt;do;while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=Xt-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=$?(n=Be._tr_tally(e,1,e.match_length-$),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Be._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(he(e,!1),e.strm.avail_out===0))return ce}return e.insert=0,t===Kt?(he(e,!0),e.strm.avail_out===0?hn:$n):e.last_lit&&(he(e,!1),e.strm.avail_out===0)?ce:yr}function ch(e,t){for(var n;;){if(e.lookahead===0&&(En(e),e.lookahead===0)){if(t===gn)return ce;break}if(e.match_length=0,n=Be._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(he(e,!1),e.strm.avail_out===0))return ce}return e.insert=0,t===Kt?(he(e,!0),e.strm.avail_out===0?hn:$n):e.last_lit&&(he(e,!1),e.strm.avail_out===0)?ce:yr}function mt(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}var Un;Un=[new mt(0,0,0,0,sh),new mt(4,4,8,4,da),new mt(4,5,16,8,da),new mt(4,6,32,32,da),new mt(4,4,16,16,Hn),new mt(8,16,32,32,Hn),new mt(8,16,128,128,Hn),new mt(8,32,128,256,Hn),new mt(32,128,258,1024,Hn),new mt(32,258,258,4096,Hn)];function dh(e){e.window_size=2*e.w_size,Vt(e.head),e.max_lazy_match=Un[e.level].max_lazy,e.good_match=Un[e.level].good_length,e.nice_match=Un[e.level].nice_length,e.max_chain_length=Un[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=$-1,e.match_available=0,e.ins_h=0}function uh(){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=wo,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 _e.Buf16(nh*2),this.dyn_dtree=new _e.Buf16((2*eh+1)*2),this.bl_tree=new _e.Buf16((2*th+1)*2),Vt(this.dyn_ltree),Vt(this.dyn_dtree),Vt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new _e.Buf16(rh+1),this.heap=new _e.Buf16(2*ua+1),Vt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new _e.Buf16(2*ua+1),Vt(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}function ac(e){var t;return!e||!e.state?Zt(e,Ge):(e.total_in=e.total_out=0,e.data_type=Zp,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?bo:pn,e.adler=t.wrap===2?0:1,t.last_flush=gn,Be._tr_init(t),pt)}function sc(e){var t=ac(e);return t===pt&&dh(e.state),t}function fh(e,t){return!e||!e.state||e.state.wrap!==2?Ge:(e.state.gzhead=t,pt)}function lc(e,t,n,r,o,i){if(!e)return Ge;var a=1;if(t===$p&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>Kp||n!==wo||r<8||r>15||t<0||t>9||i<0||i>Vp)return Zt(e,Ge);r===8&&(r=9);var s=new uh;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+$-1)/$),s.window=new _e.Buf8(s.w_size*2),s.head=new _e.Buf16(s.hash_size),s.prev=new _e.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new _e.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,sc(e)}function mh(e,t){return lc(e,t,wo,jp,qp,Xp)}function ph(e,t){var n,r,o,i;if(!e||!e.state||t>tc||t<0)return e?Zt(e,Ge):Ge;if(r=e.state,!e.output||!e.input&&e.avail_in!==0||r.status===br&&t!==Kt)return Zt(e,e.avail_out===0?ca:Ge);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===bo)if(r.wrap===2)e.adler=0,Y(r,31),Y(r,139),Y(r,8),r.gzhead?(Y(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Y(r,r.gzhead.time&255),Y(r,r.gzhead.time>>8&255),Y(r,r.gzhead.time>>16&255),Y(r,r.gzhead.time>>24&255),Y(r,r.level===9?2:r.strategy>=ho||r.level<2?4:0),Y(r,r.gzhead.os&255),r.gzhead.extra&&r.gzhead.extra.length&&(Y(r,r.gzhead.extra.length&255),Y(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Yt(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=fa):(Y(r,0),Y(r,0),Y(r,0),Y(r,0),Y(r,0),Y(r,r.level===9?2:r.strategy>=ho||r.level<2?4:0),Y(r,ih),r.status=pn);else{var a=wo+(r.w_bits-8<<4)<<8,s=-1;r.strategy>=ho||r.level<2?s=0:r.level<6?s=1:r.level===6?s=2:s=3,a|=s<<6,r.strstart!==0&&(a|=oh),a+=31-a%31,r.status=pn,wr(r,a),r.strstart!==0&&(wr(r,e.adler>>>16),wr(r,e.adler&65535)),e.adler=1}if(r.status===fa)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(r.gzhead.extra.length&65535)&&!(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),Wt(e),o=r.pending,r.pending===r.pending_buf_size));)Y(r,r.gzhead.extra[r.gzindex]&255),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=Eo)}else r.status=Eo;if(r.status===Eo)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),Wt(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.name.length?i=r.gzhead.name.charCodeAt(r.gzindex++)&255:i=0,Y(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.gzindex=0,r.status=go)}else r.status=go;if(r.status===go)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),Wt(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.comment.length?i=r.gzhead.comment.charCodeAt(r.gzindex++)&255:i=0,Y(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=Yt(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.status=xo)}else r.status=xo;if(r.status===xo&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&Wt(e),r.pending+2<=r.pending_buf_size&&(Y(r,e.adler&255),Y(r,e.adler>>8&255),e.adler=0,r.status=pn)):r.status=pn),r.pending!==0){if(Wt(e),e.avail_out===0)return r.last_flush=-1,pt}else if(e.avail_in===0&&rc(t)<=rc(n)&&t!==Kt)return Zt(e,ca);if(r.status===br&&e.avail_in!==0)return Zt(e,ca);if(e.avail_in!==0||r.lookahead!==0||t!==gn&&r.status!==br){var c=r.strategy===ho?ch(r,t):r.strategy===Wp?lh(r,t):Un[r.level].func(r,t);if((c===hn||c===$n)&&(r.status=br),c===ce||c===hn)return e.avail_out===0&&(r.last_flush=-1),pt;if(c===yr&&(t===zp?Be._tr_align(r):t!==tc&&(Be._tr_stored_block(r,0,0,!1),t===Hp&&(Vt(r.head),r.lookahead===0&&(r.strstart=0,r.block_start=0,r.insert=0))),Wt(e),e.avail_out===0))return r.last_flush=-1,pt}return t!==Kt?pt:r.wrap<=0?nc:(r.wrap===2?(Y(r,e.adler&255),Y(r,e.adler>>8&255),Y(r,e.adler>>16&255),Y(r,e.adler>>24&255),Y(r,e.total_in&255),Y(r,e.total_in>>8&255),Y(r,e.total_in>>16&255),Y(r,e.total_in>>24&255)):(wr(r,e.adler>>>16),wr(r,e.adler&65535)),Wt(e),r.wrap>0&&(r.wrap=-r.wrap),r.pending!==0?pt:nc)}function hh(e){var t;return!e||!e.state?Ge:(t=e.state.status,t!==bo&&t!==fa&&t!==Eo&&t!==go&&t!==xo&&t!==pn&&t!==br?Zt(e,Ge):(e.state=null,t===pn?Zt(e,Up):pt))}function Eh(e,t){var n=t.length,r,o,i,a,s,c,l,d;if(!e||!e.state||(r=e.state,a=r.wrap,a===2||a===1&&r.status!==bo||r.lookahead))return Ge;for(a===1&&(e.adler=oc(e.adler,t,n,0)),r.wrap=0,n>=r.w_size&&(a===0&&(Vt(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new _e.Buf8(r.w_size),_e.arraySet(d,t,n-r.w_size,r.w_size,0),t=d,n=r.w_size),s=e.avail_in,c=e.next_in,l=e.input,e.avail_in=n,e.next_in=0,e.input=t,En(r);r.lookahead>=$;){o=r.strstart,i=r.lookahead-($-1);do r.ins_h=(r.ins_h<<r.hash_shift^r.window[o+$-1])&r.hash_mask,r.prev[o&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=o,o++;while(--i);r.strstart=o,r.lookahead=$-1,En(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=$-1,r.match_available=0,e.next_in=c,e.input=l,e.avail_in=s,r.wrap=a,pt}ht.deflateInit=mh;ht.deflateInit2=lc;ht.deflateReset=sc;ht.deflateResetKeep=ac;ht.deflateSetHeader=fh;ht.deflate=ph;ht.deflateEnd=hh;ht.deflateSetDictionary=Eh;ht.deflateInfo="pako deflate (from Nodeca project)"});var ma=oe(Yn=>{"use strict";g();var yo=At(),dc=!0,uc=!0;try{String.fromCharCode.apply(null,[0])}catch{dc=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{uc=!1}var vr=new yo.Buf8(256);for(It=0;It<256;It++)vr[It]=It>=252?6:It>=248?5:It>=240?4:It>=224?3:It>=192?2:1;var It;vr[254]=vr[254]=1;Yn.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new yo.Buf8(s),i=0,o=0;i<s;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|n&63):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|n&63):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|n&63);return t};function fc(e,t){if(t<65534&&(e.subarray&&uc||!e.subarray&&dc))return String.fromCharCode.apply(null,yo.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}Yn.buf2binstring=function(e){return fc(e,e.length)};Yn.binstring2buf=function(e){for(var t=new yo.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t};Yn.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(a*2);for(r=0,n=0;n<a;){if(o=e[n++],o<128){s[r++]=o;continue}if(i=vr[o],i>4){s[r++]=65533,n+=i-1;continue}for(o&=i===2?31:i===3?15:7;i>1&&n<a;)o=o<<6|e[n++]&63,i--;if(i>1){s[r++]=65533;continue}o<65536?s[r++]=o:(o-=65536,s[r++]=55296|o>>10&1023,s[r++]=56320|o&1023)}return fc(s,r)};Yn.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+vr[e[n]]>t?n:t}});var pa=oe((Iw,mc)=>{"use strict";g();function gh(){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}mc.exports=gh});var gc=oe(Ar=>{"use strict";g();var Tr=cc(),_r=At(),Ea=ma(),ga=po(),xh=pa(),Ec=Object.prototype.toString,wh=0,ha=4,Wn=0,pc=1,hc=2,bh=-1,yh=0,vh=8;function xn(e){if(!(this instanceof xn))return new xn(e);this.options=_r.assign({level:bh,method:vh,chunkSize:16384,windowBits:15,memLevel:8,strategy:yh,to:""},e||{});var 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 xh,this.strm.avail_out=0;var n=Tr.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Wn)throw new Error(ga[n]);if(t.header&&Tr.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(typeof t.dictionary=="string"?r=Ea.string2buf(t.dictionary):Ec.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=Tr.deflateSetDictionary(this.strm,r),n!==Wn)throw new Error(ga[n]);this._dict_set=!0}}xn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o,i;if(this.ended)return!1;i=t===~~t?t:t===!0?ha:wh,typeof e=="string"?n.input=Ea.string2buf(e):Ec.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new _r.Buf8(r),n.next_out=0,n.avail_out=r),o=Tr.deflate(n,i),o!==pc&&o!==Wn)return this.onEnd(o),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(i===ha||i===hc))&&(this.options.to==="string"?this.onData(Ea.buf2binstring(_r.shrinkBuf(n.output,n.next_out))):this.onData(_r.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&o!==pc);return i===ha?(o=Tr.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===Wn):(i===hc&&(this.onEnd(Wn),n.avail_out=0),!0)};xn.prototype.onData=function(e){this.chunks.push(e)};xn.prototype.onEnd=function(e){e===Wn&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=_r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function xa(e,t){var n=new xn(t);if(n.push(e,!0),n.err)throw n.msg||ga[n.err];return n.result}function Th(e,t){return t=t||{},t.raw=!0,xa(e,t)}function _h(e,t){return t=t||{},t.gzip=!0,xa(e,t)}Ar.Deflate=xn;Ar.deflate=xa;Ar.deflateRaw=Th;Ar.gzip=_h});var wc=oe((Lw,xc)=>{"use strict";g();var vo=30,Ah=12;xc.exports=function(t,n){var r,o,i,a,s,c,l,d,u,f,m,p,h,E,x,w,b,T,y,D,M,A,I,P,v;r=t.state,o=t.next_in,P=t.input,i=o+(t.avail_in-5),a=t.next_out,v=t.output,s=a-(n-t.avail_out),c=a+(t.avail_out-257),l=r.dmax,d=r.wsize,u=r.whave,f=r.wnext,m=r.window,p=r.hold,h=r.bits,E=r.lencode,x=r.distcode,w=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{h<15&&(p+=P[o++]<<h,h+=8,p+=P[o++]<<h,h+=8),T=E[p&w];t:for(;;){if(y=T>>>24,p>>>=y,h-=y,y=T>>>16&255,y===0)v[a++]=T&65535;else if(y&16){D=T&65535,y&=15,y&&(h<y&&(p+=P[o++]<<h,h+=8),D+=p&(1<<y)-1,p>>>=y,h-=y),h<15&&(p+=P[o++]<<h,h+=8,p+=P[o++]<<h,h+=8),T=x[p&b];n:for(;;){if(y=T>>>24,p>>>=y,h-=y,y=T>>>16&255,y&16){if(M=T&65535,y&=15,h<y&&(p+=P[o++]<<h,h+=8,h<y&&(p+=P[o++]<<h,h+=8)),M+=p&(1<<y)-1,M>l){t.msg="invalid distance too far back",r.mode=vo;break e}if(p>>>=y,h-=y,y=a-s,M>y){if(y=M-y,y>u&&r.sane){t.msg="invalid distance too far back",r.mode=vo;break e}if(A=0,I=m,f===0){if(A+=d-y,y<D){D-=y;do v[a++]=m[A++];while(--y);A=a-M,I=v}}else if(f<y){if(A+=d+f-y,y-=f,y<D){D-=y;do v[a++]=m[A++];while(--y);if(A=0,f<D){y=f,D-=y;do v[a++]=m[A++];while(--y);A=a-M,I=v}}}else if(A+=f-y,y<D){D-=y;do v[a++]=m[A++];while(--y);A=a-M,I=v}for(;D>2;)v[a++]=I[A++],v[a++]=I[A++],v[a++]=I[A++],D-=3;D&&(v[a++]=I[A++],D>1&&(v[a++]=I[A++]))}else{A=a-M;do v[a++]=v[A++],v[a++]=v[A++],v[a++]=v[A++],D-=3;while(D>2);D&&(v[a++]=v[A++],D>1&&(v[a++]=v[A++]))}}else if(y&64){t.msg="invalid distance code",r.mode=vo;break e}else{T=x[(T&65535)+(p&(1<<y)-1)];continue n}break}}else if(y&64)if(y&32){r.mode=Ah;break e}else{t.msg="invalid literal/length code",r.mode=vo;break e}else{T=E[(T&65535)+(p&(1<<y)-1)];continue t}break}}while(o<i&&a<c);D=h>>3,o-=D,h-=D<<3,p&=(1<<h)-1,t.next_in=o,t.next_out=a,t.avail_in=o<i?5+(i-o):5-(o-i),t.avail_out=a<c?257+(c-a):257-(a-c),r.hold=p,r.bits=h}});var Sc=oe((Cw,Ac)=>{"use strict";g();var bc=At(),Vn=15,yc=852,vc=592,Tc=0,wa=1,_c=2,Sh=[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],Ih=[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],Mh=[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],Ph=[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];Ac.exports=function(t,n,r,o,i,a,s,c){var l=c.bits,d=0,u=0,f=0,m=0,p=0,h=0,E=0,x=0,w=0,b=0,T,y,D,M,A,I=null,P=0,v,S=new bc.Buf16(Vn+1),L=new bc.Buf16(Vn+1),H=null,N=0,B,k,U;for(d=0;d<=Vn;d++)S[d]=0;for(u=0;u<o;u++)S[n[r+u]]++;for(p=l,m=Vn;m>=1&&S[m]===0;m--);if(p>m&&(p=m),m===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,c.bits=1,0;for(f=1;f<m&&S[f]===0;f++);for(p<f&&(p=f),x=1,d=1;d<=Vn;d++)if(x<<=1,x-=S[d],x<0)return-1;if(x>0&&(t===Tc||m!==1))return-1;for(L[1]=0,d=1;d<Vn;d++)L[d+1]=L[d]+S[d];for(u=0;u<o;u++)n[r+u]!==0&&(s[L[n[r+u]]++]=u);if(t===Tc?(I=H=s,v=19):t===wa?(I=Sh,P-=257,H=Ih,N-=257,v=256):(I=Mh,H=Ph,v=-1),b=0,u=0,d=f,A=a,h=p,E=0,D=-1,w=1<<p,M=w-1,t===wa&&w>yc||t===_c&&w>vc)return 1;for(;;){B=d-E,s[u]<v?(k=0,U=s[u]):s[u]>v?(k=H[N+s[u]],U=I[P+s[u]]):(k=96,U=0),T=1<<d-E,y=1<<h,f=y;do y-=T,i[A+(b>>E)+y]=B<<24|k<<16|U|0;while(y!==0);for(T=1<<d-1;b&T;)T>>=1;if(T!==0?(b&=T-1,b+=T):b=0,u++,--S[d]===0){if(d===m)break;d=n[r+s[u]]}if(d>p&&(b&M)!==D){for(E===0&&(E=p),A+=f,h=d-E,x=1<<h;h+E<m&&(x-=S[h+E],!(x<=0));)h++,x<<=1;if(w+=1<<h,t===wa&&w>yc||t===_c&&w>vc)return 1;D=b&M,i[D]=p<<24|h<<16|A-a|0}}return b!==0&&(i[A+b]=d-E<<24|64<<16|0),c.bits=p,0}});var sd=oe(Ze=>{"use strict";g();var ke=At(),Aa=sa(),Et=la(),Dh=wc(),Sr=Sc(),Lh=0,Jc=1,Qc=2,Ic=4,kh=5,To=6,wn=0,Ch=1,Rh=2,ze=-2,ed=-3,Sa=-4,Fh=-5,Mc=8,td=1,Pc=2,Dc=3,Lc=4,kc=5,Cc=6,Rc=7,Fc=8,Nc=9,Oc=10,So=11,Mt=12,ba=13,Bc=14,ya=15,Gc=16,zc=17,Hc=18,Uc=19,_o=20,Ao=21,$c=22,Yc=23,Wc=24,Vc=25,Xc=26,va=27,Zc=28,Kc=29,ie=30,Ia=31,Nh=32,Oh=852,Bh=592,Gh=15,zh=Gh;function jc(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Hh(){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 ke.Buf16(320),this.work=new ke.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function nd(e){var t;return!e||!e.state?ze:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=td,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new ke.Buf32(Oh),t.distcode=t.distdyn=new ke.Buf32(Bh),t.sane=1,t.back=-1,wn)}function rd(e){var t;return!e||!e.state?ze:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,nd(e))}function od(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?ze:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,rd(e))}function id(e,t){var n,r;return e?(r=new Hh,e.state=r,r.window=null,n=od(e,t),n!==wn&&(e.state=null),n):ze}function Uh(e){return id(e,zh)}var qc=!0,Ta,_a;function $h(e){if(qc){var t;for(Ta=new ke.Buf32(512),_a=new ke.Buf32(32),t=0;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(Sr(Jc,e.lens,0,288,Ta,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Sr(Qc,e.lens,0,32,_a,0,e.work,{bits:5}),qc=!1}e.lencode=Ta,e.lenbits=9,e.distcode=_a,e.distbits=5}function ad(e,t,n,r){var o,i=e.state;return i.window===null&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new ke.Buf8(i.wsize)),r>=i.wsize?(ke.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(o=i.wsize-i.wnext,o>r&&(o=r),ke.arraySet(i.window,t,n-r,o,i.wnext),r-=o,r?(ke.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}function Yh(e,t){var n,r,o,i,a,s,c,l,d,u,f,m,p,h,E=0,x,w,b,T,y,D,M,A,I=new ke.Buf8(4),P,v,S=[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 ze;n=e.state,n.mode===Mt&&(n.mode=ba),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,u=s,f=c,A=wn;e:for(;;)switch(n.mode){case td:if(n.wrap===0){n.mode=ba;break}for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.wrap&2&&l===35615){n.check=0,I[0]=l&255,I[1]=l>>>8&255,n.check=Et(n.check,I,2,0),l=0,d=0,n.mode=Pc;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=ie;break}if((l&15)!==Mc){e.msg="unknown compression method",n.mode=ie;break}if(l>>>=4,d-=4,M=(l&15)+8,n.wbits===0)n.wbits=M;else if(M>n.wbits){e.msg="invalid window size",n.mode=ie;break}n.dmax=1<<M,e.adler=n.check=1,n.mode=l&512?Oc:Mt,l=0,d=0;break;case Pc:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.flags=l,(n.flags&255)!==Mc){e.msg="unknown compression method",n.mode=ie;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=ie;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=Et(n.check,I,2,0)),l=0,d=0,n.mode=Dc;case Dc:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.time=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,I[2]=l>>>16&255,I[3]=l>>>24&255,n.check=Et(n.check,I,4,0)),l=0,d=0,n.mode=Lc;case Lc:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=Et(n.check,I,2,0)),l=0,d=0,n.mode=kc;case kc:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=Et(n.check,I,2,0)),l=0,d=0}else n.head&&(n.head.extra=null);n.mode=Cc;case Cc:if(n.flags&1024&&(m=n.length,m>s&&(m=s),m&&(n.head&&(M=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),ke.arraySet(n.head.extra,r,i,m,M)),n.flags&512&&(n.check=Et(n.check,r,m,i)),s-=m,i+=m,n.length-=m),n.length))break e;n.length=0,n.mode=Rc;case Rc:if(n.flags&2048){if(s===0)break e;m=0;do M=r[i+m++],n.head&&M&&n.length<65536&&(n.head.name+=String.fromCharCode(M));while(M&&m<s);if(n.flags&512&&(n.check=Et(n.check,r,m,i)),s-=m,i+=m,M)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Fc;case Fc:if(n.flags&4096){if(s===0)break e;m=0;do M=r[i+m++],n.head&&M&&n.length<65536&&(n.head.comment+=String.fromCharCode(M));while(M&&m<s);if(n.flags&512&&(n.check=Et(n.check,r,m,i)),s-=m,i+=m,M)break e}else n.head&&(n.head.comment=null);n.mode=Nc;case Nc:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.check&65535)){e.msg="header crc mismatch",n.mode=ie;break}l=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Mt;break;case Oc:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}e.adler=n.check=jc(l),l=0,d=0,n.mode=So;case So:if(n.havedict===0)return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,Rh;e.adler=n.check=1,n.mode=Mt;case Mt:if(t===kh||t===To)break e;case ba:if(n.last){l>>>=d&7,d-=d&7,n.mode=va;break}for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}switch(n.last=l&1,l>>>=1,d-=1,l&3){case 0:n.mode=Bc;break;case 1:if($h(n),n.mode=_o,t===To){l>>>=2,d-=2;break e}break;case 2:n.mode=zc;break;case 3:e.msg="invalid block type",n.mode=ie}l>>>=2,d-=2;break;case Bc:for(l>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if((l&65535)!==(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ie;break}if(n.length=l&65535,l=0,d=0,n.mode=ya,t===To)break e;case ya:n.mode=Gc;case Gc:if(m=n.length,m){if(m>s&&(m=s),m>c&&(m=c),m===0)break e;ke.arraySet(o,r,i,m,a),s-=m,i+=m,c-=m,a+=m,n.length-=m;break}n.mode=Mt;break;case zc:for(;d<14;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.nlen=(l&31)+257,l>>>=5,d-=5,n.ndist=(l&31)+1,l>>>=5,d-=5,n.ncode=(l&15)+4,l>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ie;break}n.have=0,n.mode=Hc;case Hc:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.lens[S[n.have++]]=l&7,l>>>=3,d-=3}for(;n.have<19;)n.lens[S[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},A=Sr(Lh,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid code lengths set",n.mode=ie;break}n.have=0,n.mode=Uc;case Uc:for(;n.have<n.nlen+n.ndist;){for(;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,b=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(b<16)l>>>=x,d-=x,n.lens[n.have++]=b;else{if(b===16){for(v=x+2;d<v;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l>>>=x,d-=x,n.have===0){e.msg="invalid bit length repeat",n.mode=ie;break}M=n.lens[n.have-1],m=3+(l&3),l>>>=2,d-=2}else if(b===17){for(v=x+3;d<v;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,M=0,m=3+(l&7),l>>>=3,d-=3}else{for(v=x+7;d<v;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,M=0,m=11+(l&127),l>>>=7,d-=7}if(n.have+m>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ie;break}for(;m--;)n.lens[n.have++]=M}}if(n.mode===ie)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ie;break}if(n.lenbits=9,P={bits:n.lenbits},A=Sr(Jc,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid literal/lengths set",n.mode=ie;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},A=Sr(Qc,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,A){e.msg="invalid distances set",n.mode=ie;break}if(n.mode=_o,t===To)break e;case _o:n.mode=Ao;case Ao:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,Dh(e,f),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,n.mode===Mt&&(n.back=-1);break}for(n.back=0;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,b=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(w&&!(w&240)){for(T=x,y=w,D=b;E=n.lencode[D+((l&(1<<T+y)-1)>>T)],x=E>>>24,w=E>>>16&255,b=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,n.length=b,w===0){n.mode=Xc;break}if(w&32){n.back=-1,n.mode=Mt;break}if(w&64){e.msg="invalid literal/length code",n.mode=ie;break}n.extra=w&15,n.mode=$c;case $c:if(n.extra){for(v=n.extra;d<v;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Yc;case Yc:for(;E=n.distcode[l&(1<<n.distbits)-1],x=E>>>24,w=E>>>16&255,b=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(!(w&240)){for(T=x,y=w,D=b;E=n.distcode[D+((l&(1<<T+y)-1)>>T)],x=E>>>24,w=E>>>16&255,b=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,w&64){e.msg="invalid distance code",n.mode=ie;break}n.offset=b,n.extra=w&15,n.mode=Wc;case Wc:if(n.extra){for(v=n.extra;d<v;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ie;break}n.mode=Vc;case Vc:if(c===0)break e;if(m=f-c,n.offset>m){if(m=n.offset-m,m>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ie;break}m>n.wnext?(m-=n.wnext,p=n.wsize-m):p=n.wnext-m,m>n.length&&(m=n.length),h=n.window}else h=o,p=a-n.offset,m=n.length;m>c&&(m=c),c-=m,n.length-=m;do o[a++]=h[p++];while(--m);n.length===0&&(n.mode=Ao);break;case Xc:if(c===0)break e;o[a++]=n.length,c--,n.mode=Ao;break;case va:if(n.wrap){for(;d<32;){if(s===0)break e;s--,l|=r[i++]<<d,d+=8}if(f-=c,e.total_out+=f,n.total+=f,f&&(e.adler=n.check=n.flags?Et(n.check,o,f,a-f):Aa(n.check,o,f,a-f)),f=c,(n.flags?l:jc(l))!==n.check){e.msg="incorrect data check",n.mode=ie;break}l=0,d=0}n.mode=Zc;case Zc:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=ie;break}l=0,d=0}n.mode=Kc;case Kc:A=Ch;break e;case ie:A=ed;break e;case Ia:return Sa;case Nh:default:return ze}return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<ie&&(n.mode<va||t!==Ic))&&ad(e,e.output,e.next_out,f-e.avail_out)?(n.mode=Ia,Sa):(u-=e.avail_in,f-=e.avail_out,e.total_in+=u,e.total_out+=f,n.total+=f,n.wrap&&f&&(e.adler=n.check=n.flags?Et(n.check,o,f,e.next_out-f):Aa(n.check,o,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Mt?128:0)+(n.mode===_o||n.mode===ya?256:0),(u===0&&f===0||t===Ic)&&A===wn&&(A=Fh),A)}function Wh(e){if(!e||!e.state)return ze;var t=e.state;return t.window&&(t.window=null),e.state=null,wn}function Vh(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?ze:(n.head=t,t.done=!1,wn)}function Xh(e,t){var n=t.length,r,o,i;return!e||!e.state||(r=e.state,r.wrap!==0&&r.mode!==So)?ze:r.mode===So&&(o=1,o=Aa(o,t,n,0),o!==r.check)?ed:(i=ad(e,t,n,n),i?(r.mode=Ia,Sa):(r.havedict=1,wn))}Ze.inflateReset=rd;Ze.inflateReset2=od;Ze.inflateResetKeep=nd;Ze.inflateInit=Uh;Ze.inflateInit2=id;Ze.inflate=Yh;Ze.inflateEnd=Wh;Ze.inflateGetHeader=Vh;Ze.inflateSetDictionary=Xh;Ze.inflateInfo="pako inflate (from Nodeca project)"});var Ma=oe((Ow,ld)=>{"use strict";g();ld.exports={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_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}});var dd=oe((Gw,cd)=>{"use strict";g();function Zh(){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}cd.exports=Zh});var fd=oe(Mr=>{"use strict";g();var Xn=sd(),Ir=At(),Io=ma(),se=Ma(),Pa=po(),Kh=pa(),jh=dd(),ud=Object.prototype.toString;function bn(e){if(!(this instanceof bn))return new bn(e);this.options=Ir.assign({chunkSize:16384,windowBits:0,to:""},e||{});var 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 Kh,this.strm.avail_out=0;var n=Xn.inflateInit2(this.strm,t.windowBits);if(n!==se.Z_OK)throw new Error(Pa[n]);if(this.header=new jh,Xn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Io.string2buf(t.dictionary):ud.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Xn.inflateSetDictionary(this.strm,t.dictionary),n!==se.Z_OK)))throw new Error(Pa[n])}bn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o=this.options.dictionary,i,a,s,c,l,d=!1;if(this.ended)return!1;a=t===~~t?t:t===!0?se.Z_FINISH:se.Z_NO_FLUSH,typeof e=="string"?n.input=Io.binstring2buf(e):ud.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Ir.Buf8(r),n.next_out=0,n.avail_out=r),i=Xn.inflate(n,se.Z_NO_FLUSH),i===se.Z_NEED_DICT&&o&&(i=Xn.inflateSetDictionary(this.strm,o)),i===se.Z_BUF_ERROR&&d===!0&&(i=se.Z_OK,d=!1),i!==se.Z_STREAM_END&&i!==se.Z_OK)return this.onEnd(i),this.ended=!0,!1;n.next_out&&(n.avail_out===0||i===se.Z_STREAM_END||n.avail_in===0&&(a===se.Z_FINISH||a===se.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=Io.utf8border(n.output,n.next_out),c=n.next_out-s,l=Io.buf2string(n.output,s),n.next_out=c,n.avail_out=r-c,c&&Ir.arraySet(n.output,n.output,s,c,0),this.onData(l)):this.onData(Ir.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(d=!0)}while((n.avail_in>0||n.avail_out===0)&&i!==se.Z_STREAM_END);return i===se.Z_STREAM_END&&(a=se.Z_FINISH),a===se.Z_FINISH?(i=Xn.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===se.Z_OK):(a===se.Z_SYNC_FLUSH&&(this.onEnd(se.Z_OK),n.avail_out=0),!0)};bn.prototype.onData=function(e){this.chunks.push(e)};bn.prototype.onEnd=function(e){e===se.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ir.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Da(e,t){var n=new bn(t);if(n.push(e,!0),n.err)throw n.msg||Pa[n.err];return n.result}function qh(e,t){return t=t||{},t.raw=!0,Da(e,t)}Mr.Inflate=bn;Mr.inflate=Da;Mr.inflateRaw=qh;Mr.ungzip=Da});var hd=oe(($w,pd)=>{"use strict";g();var Jh=At().assign,Qh=gc(),eE=fd(),tE=Ma(),md={};Jh(md,Qh,eE,tE);pd.exports=md});var If=oe(Pi=>{"use strict";g();Object.defineProperty(Pi,"__esModule",{value:!0});Pi.sanitizeUrl=void 0;var lx=/^([^\w]*)(javascript|data|vbscript)/im,cx=/&#(\w+)(^\w|;)?/g,dx=/&(newline|tab);/gi,ux=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,fx=/^.+(:|&colon;)/gim,mx=[".","/"];function px(e){return mx.indexOf(e[0])>-1}function hx(e){return e.replace(cx,function(t,n){return String.fromCharCode(n)})}function Ex(e){var t=hx(e||"").replace(dx,"").replace(ux,"").trim();if(!t)return"about:blank";if(px(t))return t;var n=t.match(fx);if(!n)return t;var r=n[0];return lx.test(r)?"about:blank":t}Pi.sanitizeUrl=Ex});g();var ml=fr(wl(),1),pl=fr(_l(),1),jm=fr(Ml(),1);g();var Xi=fr(hd(),1);g();g();var La={};g();var yn={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};var oE=(e,t)=>t.reduce((n,r)=>(r in e&&(n[r]=e[r]),n),{}),Zw=5,Kw=5,Ed=4,Mo=4,Po=1,Ke=[0,2,4,6,8];var je=(e,t)=>t.map(n=>yn[e][n]),G={transparent:"transparent",black:"#1e1e1e",white:"#ffffff",gray:je("gray",Ke),red:je("red",Ke),pink:je("pink",Ke),grape:je("grape",Ke),violet:je("violet",Ke),blue:je("blue",Ke),cyan:je("cyan",Ke),teal:je("teal",Ke),green:je("green",Ke),yellow:je("yellow",Ke),orange:je("orange",Ke),bronze:["#f8f1ee","#eaddd7","#d2bab0","#a18072","#846358"]},gd=oE(G,["cyan","blue","violet","grape","pink","green","teal","yellow","orange","red"]),jw=[G.black,G.red[Mo],G.green[Mo],G.blue[Mo],G.yellow[Mo]],qw=[G.transparent,G.red[Po],G.green[Po],G.blue[Po],G.yellow[Po]],Jw=[G.white,"#f8f9fa","#f5faff","#fffce8","#fdf8f6"],Qw={transparent:G.transparent,white:G.white,gray:G.gray,black:G.black,bronze:G.bronze,...gd},eb={transparent:G.transparent,white:G.white,gray:G.gray,black:G.black,bronze:G.bronze,...gd},xd=e=>[G.cyan[e],G.blue[e],G.violet[e],G.grape[e],G.pink[e],G.green[e],G.teal[e],G.yellow[e],G.orange[e],G.red[e]],tb=(e,t,n)=>`#${((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}`;var Do=/Mac|iPod|iPhone|iPad/.test(navigator.platform),ab=/^Win/.test(navigator.platform),sb=/\b(android)\b/i.test(navigator.userAgent),lb="netscape"in window&&navigator.userAgent.indexOf("rv:")>1&&navigator.userAgent.indexOf("Gecko")>1,iE=navigator.userAgent.indexOf("Chrome")!==-1,cb=!iE&&navigator.userAgent.indexOf("Safari")!==-1,db=/iPad|iPhone/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,ub=()=>navigator.brave?.isBrave?.name==="isBrave",fb="Excalidraw",wd=10,bd=8,mb=5,pb=1,hb=30,gt=Math.PI/12,Lo={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",GRAB:"grab",POINTER:"pointer",MOVE:"move",AUTO:""},Eb={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},gb={enabled:"all",disabled:"none",inheritFromUI:"var(--ui-pointerEvents)"};var xb={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},wb={TEST:"test",DEVELOPMENT:"development"},bb={SHAPE_ACTIONS_MENU:"App-menu__left"},Ee={Virgil:1,Helvetica:2,Cascadia:3,Assistant:4},Pr={LIGHT:"light",DARK:"dark"},me={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},ka="Segoe UI Emoji",ko=1,xt=20,qe=Ee.Virgil,Zn="left",Co="top";var Ro=2;var yb=20,Ca={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"},yd=["text/plain","text/html"],R={json:"application/json",excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json","excalidraw.svg":"image/svg+xml","excalidraw.png":"image/png",binary:"application/octet-stream",...Ca},vb={png:"png",svg:"svg",clipboard:"clipboard"},Me={excalidraw:"excalidraw",excalidrawClipboard:"excalidraw/clipboard",excalidrawLibrary:"excalidrawlib",excalidrawClipboardWithAPI:"excalidraw-api/clipboard"},Ra=window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,Tb=500,_b=300,Ab=500;var Sb=100,Ib=.1,vd=.1,Mb=300;var Fo=La.themeFilter,Pb={addLibrary:"addLibrary"},Db={addLibrary:"addLibrary"},Lb={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},kb=730,Cb=1e3,Rb=500,Fb=1229,Nb=parseInt(La.rightSidebarWidth),Kn=2,Td=[1,2,3],Fa=10,Ob=1440,Bb=2*1024*1024,j="http://www.w3.org/2000/svg";var Na={excalidraw:2,excalidrawLibrary:2},de=5,_d=.7,Ad=11,Pt={TOP:"top",MIDDLE:"middle",BOTTOM:"bottom"},Oa={LEFT:"left",CENTER:"center",RIGHT:"right"},Sd=20,No=.25,Id=32,Ce={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},Oo="__precedingElement__",Ba={architect:0,artist:1,cartoonist:2},Gb={thin:1,bold:2,extraBold:4},ne={strokeColor:G.black,backgroundColor:G.transparent,fillStyle:"solid",strokeWidth:2,strokeStyle:"solid",roughness:Ba.artist,opacity:100,locked:!1},aE="library",Md={name:"default",defaultTab:aE},zb=new Set(["iframe","embeddable","image"]),Hb={selection:"selection",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"},Ub={OAI_API_KEY:"excalidraw-oai-api-key",MERMAID_TO_EXCALIDRAW:"mermaid-to-excalidraw",PUBLISH_LIBRARY:"publish-library-data"},Pd="Untitled";g();g();g();var Bo=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");g();var sE=Td.includes(devicePixelRatio)?devicePixelRatio:1,Dt=()=>({showWelcomeScreen:!1,theme:Pr.LIGHT,collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:ne.backgroundColor,currentItemEndArrowhead:"arrow",currentItemFillStyle:ne.fillStyle,currentItemFontFamily:qe,currentItemFontSize:xt,currentItemOpacity:ne.opacity,currentItemRoughness:ne.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:ne.strokeColor,currentItemRoundness:"round",currentItemStrokeStyle:ne.strokeStyle,currentItemStrokeWidth:ne.strokeWidth,currentItemTextAlign:Zn,cursorButton:"up",activeEmbeddable:null,draggingElement:null,editingElement:null,editingGroupId:null,editingLinearElement:null,activeTool:{type:"selection",customType:null,locked:ne.locked,lastActiveTool:null},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:sE,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:null,isBindingEnabled:!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,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,showStats:!1,startBoundElement:null,suggestedBindings:[],frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:G.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,pendingImageElementId:null,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set}),lE=(e=>e)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentChartType:{browser:!0,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},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},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},draggingElement:{browser:!1,export:!1,server:!1},editingElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},editingLinearElement:{browser:!1,export:!1,server:!1},activeTool:{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},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!1,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},pasteDialog:{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},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},showStats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBindings:{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},pendingImageElementId:{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}}),Dd=(e,t)=>{let n={};for(let r of Object.keys(e))if(lE[r]?.[t]){let i=e[r];n[r]=i}return n};var Go=e=>Dd(e,"export"),Ld=e=>Dd(e,"server"),kd=({activeTool:e})=>e.type==="eraser",Cd=({activeTool:e})=>e.type==="hand";g();g();g();g();g();g();var Rd=null;var iy=()=>{if(Rd)return Rd;let e=new Date,t=e.getFullYear(),n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0"),o=`${e.getHours()}`.padStart(2,"0"),i=`${e.getMinutes()}`.padStart(2,"0");return`${t}-${n}-${r}-${o}${i}`},ay=e=>e.charAt(0).toUpperCase()+e.slice(1),sy=e=>e instanceof HTMLElement&&e.className.includes("ToolIcon"),cE=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement,ly=e=>cE(e)||e instanceof Element&&!!e.closest("label, button"),cy=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"),Ga=({fontFamily:e})=>{for(let[t,n]of Object.entries(Ee))if(n===e)return`${t}, ${ka}`;return ka},ue=({fontSize:e,fontFamily:t})=>`${e}px ${Ga({fontFamily:t})}`,Od=(e,t)=>{let n=0,r=null,o=(...i)=>{r=i,clearTimeout(n),n=window.setTimeout(()=>{r=null,e(...i)},t)};return o.flush=()=>{if(clearTimeout(n),r){let i=r;r=null,e(...i)}},o.cancel=()=>{r=null,clearTimeout(n)},o},Bd=(e,t)=>{let n=null,r=null,o=null,i=s=>{n=window.requestAnimationFrame(()=>{n=null,e(...s),r=null,o&&(r=o,o=null,i(r))})},a=(...s)=>{if(_.MODE==="test"){e(...s);return}r=s,n===null?i(r):t?.trailing&&(o=s)};return a.flush=()=>{n!==null&&(cancelAnimationFrame(n),n=null),r&&(e(...o||r),r=o=null)},a.cancel=()=>{r=o=null,n!==null&&(cancelAnimationFrame(n),n=null)},a},Gd=e=>1-Math.pow(1-e,4),Fd=(e,t,n)=>(t-e)*Gd(n)+e,dy=({fromValues:e,toValues:t,onStep:n,duration:r=250,interpolateValue:o,onStart:i,onEnd:a,onCancel:s})=>{let c=!1,l=0,d;function u(f){if(c)return;d===void 0&&(d=f,i?.());let m=Math.min(f-d,r),p=Gd(m/r),h={};if(Object.keys(e).forEach(E=>{let x=E,w=(t[x]-e[x])*p+e[x];h[x]=w}),n(h),m<r){let E=m/r,x={};Object.keys(e).forEach(w=>{let b=w,T=e[b],y=t[b],D;D=o?o(T,y,E,b):Fd(T,y,E),D==null&&(D=Fd(T,y,E)),x[b]=D}),n(x),l=window.requestAnimationFrame(u)}else n(t),a?.()}return l=window.requestAnimationFrame(u),()=>{s?.(),c=!0,window.cancelAnimationFrame(l)}},uy=(e,t)=>{if(!e.length||t<1)return[];let n=0,r=0,o=Array(Math.ceil(e.length/t));for(;n<e.length;)o[r++]=e.slice(n,n+=t);return o};var He=(e,t)=>Math.abs(e-t),Dr=(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};var fy=e=>(e=e.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter"),Do?e.replace(/\bCtrlOrCmd\b/gi,"Cmd").replace(/\bAlt\b/i,"Option"):e.replace(/\bCtrlOrCmd\b/gi,"Ctrl")),Lr=({clientX:e,clientY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e-r)/n.value-i,c=(t-o)/n.value-a;return{x:s,y:c}},za=({sceneX:e,sceneY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e+i)*n.value+r,c=(t+a)*n.value+o;return{x:s,y:c}},my=e=>getComputedStyle(document.documentElement).getPropertyValue(`--${e}`),dE="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",uE="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",fE=new RegExp(`^[^${dE}]*[${uE}]`),Ho=e=>fE.test(e),jn=e=>{let[t,n]=e;return{x:t,y:n}},py=e=>{if(e?.name==="AbortError"){console.warn(e);return}throw e},hy=(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},Ey=(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},jt=e=>{let t=e.length===5&&e.substr(4,1)==="0",n=e.length===9&&e.substr(7,2)==="00";return t||n||e===G.transparent};var gy=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;let{overflowY:n}=window.getComputedStyle(t);if(t.scrollHeight>t.clientHeight&&(n==="auto"||n==="scroll"||n==="overlay"))return t;t=t.parentElement}return document},xy=e=>{let t=e.parentElement;for(;t;){if(t.tabIndex>-1){t.focus();return}t=t.parentElement}};var zd=e=>Array.from(e).map(t=>`0${t.toString(16)}`.slice(-2)).join(""),Lt=()=>kt()?1:Date.now(),Q=e=>e instanceof Map?e:e.reduce((t,n)=>(t.set(typeof n=="string"?n:n.id,n),t),new Map),wy=e=>e.reduce((t,n,r)=>(t.set(n.id,[n,r]),t),new Map),kt=()=>_.MODE==="test",by=(e,t)=>new CustomEvent(e,{detail:{nativeEvent:t},cancelable:!0}),yy=(e,t)=>{let n=!1;for(let r in t){let o=t[r];if(typeof o<"u"){if(e[r]===o&&(typeof o!="object"||o===null))continue;n=!0}}return n?{...e,...t}:e};var vy=()=>{try{return window.self===window.top?"top":"iframe"}catch{return"iframe"}};var Uo=e=>!!e&&typeof e=="object"&&"then"in e&&"catch"in e&&"finally"in e,Ty=e=>{let t=e?.querySelectorAll("button, a, input, select, textarea, div[tabindex], label[tabindex]");return t?Array.from(t).filter(n=>n.tabIndex>-1&&!n.disabled):[]},Nd=(e,t)=>Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t,Ha=(e,t,n,r=!1)=>{let o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;if(n&&Array.isArray(n)){for(let a of n)if(!(e[a]===t[a]||Nd(e[a],t[a])))return r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),!1;return!0}return o.every(a=>{let s=n?.[a],c=s?s(e[a],t[a]):e[a]===t[a]||Nd(e[a],t[a]);return!c&&r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),c})},_y=(e,t,{checkForDefaultPrevented:n=!0}={})=>function(o){if(e?.(o),!n||!o?.defaultPrevented)return t?.(o)},$o=(e,t,n)=>{if(!t)return e;if(n)return console.error(t),e;throw new Error(t)},Ay=e=>{let t,n,r=function(o){let i=Object.entries(o);if(t){let s=!0;for(let[c,l]of i)if(t.get(c)!==l){s=!1;break}if(s)return n}let a=e(o);return t=new Map(i),n=a,a};return r.clear=()=>{t=void 0,n=void 0},r},Hd=(e,t)=>e instanceof Set||e instanceof Map?e.has(t):"includes"in e?e.includes(t):e.hasOwnProperty(t),Sy=e=>JSON.parse(JSON.stringify(e)),Iy=e=>typeof e=="number"&&Number.isFinite(e),My=(e,t)=>Ha(e,t)?e:t;function Py(e,t,n,r){return e?(e?.addEventListener?.(t,n,r),()=>{e?.removeEventListener?.(t,n,r)}):()=>{}}var zo=(e,t)=>(e+t)/2;function Dy(e,t=!0){let n=e.length;if(n<4)return"";let r=e[0],o=e[1],i=e[2],a=`M${r[0].toFixed(2)},${r[1].toFixed(2)} Q${o[0].toFixed(2)},${o[1].toFixed(2)} ${zo(o[0],i[0]).toFixed(2)},${zo(o[1],i[1]).toFixed(2)} T`;for(let s=2,c=n-1;s<c;s++)r=e[s],o=e[s+1],a+=`${zo(r[0],o[0]).toFixed(2)},${zo(r[1],o[1]).toFixed(2)} `;return t&&(a+="Z"),a}var Ud=e=>e.replace(/\r?\n|\r/g,`
2
+ `),vn=e=>e;var wt=e=>!!e&&e.type==="image"&&!!e.fileId,Yo=e=>!!e&&e.type==="image",Wo=e=>!!e&&e.type==="embeddable",qn=e=>!!e&&e.type==="iframe",Je=e=>!!e&&(e.type==="iframe"||e.type==="embeddable"),V=e=>e!=null&&e.type==="text",kr=e=>e!=null&&e.type==="frame",$d=e=>e!=null&&e.type==="magicframe",Z=e=>e!=null&&(e.type==="frame"||e.type==="magicframe"),fe=e=>e!=null&&mE(e.type),mE=e=>e==="freedraw",ee=e=>e!=null&&Ua(e.type),q=e=>e!=null&&e.type==="arrow",Ua=e=>e==="arrow"||e==="line",Qe=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&pE(e.type),pE=e=>e==="arrow",Jn=(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),Vo=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||q(e)),$a=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 $o(t,null),!1}},Xo=e=>Vo(e)&&!!e.boundElements?.some(({type:t})=>t==="text"),Ue=e=>e!==null&&"containerId"in e&&e.containerId!==null&&V(e),Zo=e=>e==="rectangle"||e==="embeddable"||e==="iframe"||e==="image",Yd=e=>e==="line"||e==="arrow"||e==="diamond",Fy=(e,t)=>!!((e===Ce.ADAPTIVE_RADIUS||e===Ce.LEGACY)&&Zo(t.type)||e===Ce.PROPORTIONAL_RADIUS&&Yd(t.type)),Ny=e=>Yd(e.type)?{type:Ce.PROPORTIONAL_RADIUS}:Zo(e.type)?{type:Ce.ADAPTIVE_RADIUS}:null;g();g();g();g();g();g();g();g();g();g();g();g();function Ya(e,t,n){if(e&&e.length){let[r,o]=t,i=Math.PI/180*n,a=Math.cos(i),s=Math.sin(i);for(let c of e){let[l,d]=c;c[0]=(l-r)*a-(d-o)*s+r,c[1]=(l-r)*s+(d-o)*a+o}}}function hE(e,t,n){let r=[];e.forEach(o=>r.push(...o)),Ya(r,t,n)}function EE(e,t){return e[0]===t[0]&&e[1]===t[1]}function Wd(e,t,n,r=1){let o=n,i=Math.max(t,.1),a=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,s=[0,0];if(o)for(let l of a)Ya(l,s,o);let c=gE(a,i,r);if(o){for(let l of a)Ya(l,s,-o);hE(c,s,-o)}return c}function gE(e,t,n){let r=[];for(let l of e){let d=[...l];EE(d[0],d[d.length-1])||d.push([d[0][0],d[0][1]]),d.length>2&&r.push(d)}let o=[];t=Math.max(t,.1);let i=[];for(let l of r)for(let d=0;d<l.length-1;d++){let u=l[d],f=l[d+1];if(u[1]!==f[1]){let m=Math.min(u[1],f[1]);i.push({ymin:m,ymax:Math.max(u[1],f[1]),x:m===u[1]?u[0]:f[0],islope:(f[0]-u[0])/(f[1]-u[1])})}}if(i.sort((l,d)=>l.ymin<d.ymin?-1:l.ymin>d.ymin?1:l.x<d.x?-1:l.x>d.x?1:l.ymax===d.ymax?0:(l.ymax-d.ymax)/Math.abs(l.ymax-d.ymax)),!i.length)return o;let a=[],s=i[0].ymin,c=0;for(;a.length||i.length;){if(i.length){let l=-1;for(let u=0;u<i.length&&!(i[u].ymin>s);u++)l=u;i.splice(0,l+1).forEach(u=>{a.push({s,edge:u})})}if(a=a.filter(l=>!(l.edge.ymax<=s)),a.sort((l,d)=>l.edge.x===d.edge.x?0:(l.edge.x-d.edge.x)/Math.abs(l.edge.x-d.edge.x)),(n!==1||c%t===0)&&a.length>1)for(let l=0;l<a.length;l=l+2){let d=l+1;if(d>=a.length)break;let u=a[l].edge,f=a[d].edge;o.push([[Math.round(u.x),s],[Math.round(f.x),s]])}s+=n,a.forEach(l=>{l.edge.x=l.edge.x+n*l.edge.islope}),c++}return o}function bt(e,t){var n;let r=t.hachureAngle+90,o=t.hachureGap;o<0&&(o=t.strokeWidth*4),o=Math.max(o,.1);let i=1;return t.roughness>=1&&(((n=t.randomizer)===null||n===void 0?void 0:n.next())||Math.random())>.7&&(i=o),Wd(e,o,r,i||1)}var qt=class{constructor(t){this.helper=t}fillPolygons(t,n){return this._fillPolygons(t,n)}_fillPolygons(t,n){let r=bt(t,n);return{type:"fillSketch",ops:this.renderLines(r,n)}}renderLines(t,n){let r=[];for(let o of t)r.push(...this.helper.doubleLineOps(o[0][0],o[0][1],o[1][0],o[1][1],n));return r}};g();g();function Jt(e){let t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}var Ko=class extends qt{fillPolygons(t,n){let r=n.hachureGap;r<0&&(r=n.strokeWidth*4),r=Math.max(r,.1);let o=Object.assign({},n,{hachureGap:r}),i=bt(t,o),a=Math.PI/180*n.hachureAngle,s=[],c=r*.5*Math.cos(a),l=r*.5*Math.sin(a);for(let[u,f]of i)Jt([u,f])&&s.push([[u[0]-c,u[1]+l],[...f]],[[u[0]+c,u[1]-l],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,n)}}};g();var jo=class extends qt{fillPolygons(t,n){let r=this._fillPolygons(t,n),o=Object.assign({},n,{hachureAngle:n.hachureAngle+90}),i=this._fillPolygons(t,o);return r.ops=r.ops.concat(i.ops),r}};g();var qo=class{constructor(t){this.helper=t}fillPolygons(t,n){n=Object.assign({},n,{hachureAngle:0});let r=bt(t,n);return this.dotsOnLines(r,n)}dotsOnLines(t,n){let r=[],o=n.hachureGap;o<0&&(o=n.strokeWidth*4),o=Math.max(o,.1);let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=o/4;for(let s of t){let c=Jt(s),l=c/o,d=Math.ceil(l)-1,u=c-d*o,f=(s[0][0]+s[1][0])/2-o/4,m=Math.min(s[0][1],s[1][1]);for(let p=0;p<d;p++){let h=m+u+p*o,E=f-a+Math.random()*2*a,x=h-a+Math.random()*2*a,w=this.helper.ellipse(E,x,i,i,n);r.push(...w.ops)}}return{type:"fillSketch",ops:r}}};g();var Jo=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=bt(t,n);return{type:"fillSketch",ops:this.dashedLine(r,n)}}dashedLine(t,n){let r=n.dashOffset<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashOffset,o=n.dashGap<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashGap,i=[];return t.forEach(a=>{let s=Jt(a),c=Math.floor(s/(r+o)),l=(s+o-c*(r+o))/2,d=a[0],u=a[1];d[0]>u[0]&&(d=a[1],u=a[0]);let f=Math.atan((u[1]-d[1])/(u[0]-d[0]));for(let m=0;m<c;m++){let p=m*(r+o),h=p+r,E=[d[0]+p*Math.cos(f)+l*Math.cos(f),d[1]+p*Math.sin(f)+l*Math.sin(f)],x=[d[0]+h*Math.cos(f)+l*Math.cos(f),d[1]+h*Math.sin(f)+l*Math.sin(f)];i.push(...this.helper.doubleLineOps(E[0],E[1],x[0],x[1],n))}}),i}};g();var Qo=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=n.hachureGap<0?n.strokeWidth*4:n.hachureGap,o=n.zigzagOffset<0?r:n.zigzagOffset;n=Object.assign({},n,{hachureGap:r+o});let i=bt(t,n);return{type:"fillSketch",ops:this.zigzagLines(i,o,n)}}zigzagLines(t,n,r){let o=[];return t.forEach(i=>{let a=Jt(i),s=Math.round(a/(2*n)),c=i[0],l=i[1];c[0]>l[0]&&(c=i[1],l=i[0]);let d=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let u=0;u<s;u++){let f=u*2*n,m=(u+1)*2*n,p=Math.sqrt(2*Math.pow(n,2)),h=[c[0]+f*Math.cos(d),c[1]+f*Math.sin(d)],E=[c[0]+m*Math.cos(d),c[1]+m*Math.sin(d)],x=[h[0]+p*Math.cos(d+Math.PI/4),h[1]+p*Math.sin(d+Math.PI/4)];o.push(...this.helper.doubleLineOps(h[0],h[1],x[0],x[1],r),...this.helper.doubleLineOps(x[0],x[1],E[0],E[1],r))}}),o}};var Pe={};function Vd(e,t){let n=e.fillStyle||"hachure";if(!Pe[n])switch(n){case"zigzag":Pe[n]||(Pe[n]=new Ko(t));break;case"cross-hatch":Pe[n]||(Pe[n]=new jo(t));break;case"dots":Pe[n]||(Pe[n]=new qo(t));break;case"dashed":Pe[n]||(Pe[n]=new Jo(t));break;case"zigzag-line":Pe[n]||(Pe[n]=new Qo(t));break;case"hachure":default:n="hachure",Pe[n]||(Pe[n]=new qt(t));break}return Pe[n]}g();function Xd(){return Math.floor(Math.random()*2**31)}var Qn=class{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};g();g();var ei={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 xE(e){let t=new Array;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 Wa(e,t){return e.type===t}function er(e){let t=[],n=xE(e),r="BOD",o=0,i=n[o];for(;!Wa(i,2);){let a=0,s=[];if(r==="BOD")if(i.text==="M"||i.text==="m")o++,a=ei[i.text],r=i.text;else return er("M0,0"+e);else Wa(i,1)?a=ei[r]:(o++,a=ei[i.text],r=i.text);if(o+a<n.length){for(let c=o;c<o+a;c++){let l=n[c];if(Wa(l,1))s[s.length]=+l.text;else throw new Error("Param not a number: "+r+","+l.text)}if(typeof ei[r]=="number"){let c={key:r,data:s};t.push(c),o+=a,i=n[o],r==="M"&&(r="L"),r==="m"&&(r="l")}else throw new Error("Bad segment: "+r)}else throw new Error("Path data ended short")}return t}g();function Cr(e){let t=0,n=0,r=0,o=0,i=[];for(let{key:a,data:s}of e)switch(a){case"M":i.push({key:"M",data:[...s]}),[t,n]=s,[r,o]=s;break;case"m":t+=s[0],n+=s[1],i.push({key:"M",data:[t,n]}),r=t,o=n;break;case"L":i.push({key:"L",data:[...s]}),[t,n]=s;break;case"l":t+=s[0],n+=s[1],i.push({key:"L",data:[t,n]});break;case"C":i.push({key:"C",data:[...s]}),t=s[4],n=s[5];break;case"c":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"C",data:c}),t=c[4],n=c[5];break}case"Q":i.push({key:"Q",data:[...s]}),t=s[2],n=s[3];break;case"q":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"Q",data:c}),t=c[2],n=c[3];break}case"A":i.push({key:"A",data:[...s]}),t=s[5],n=s[6];break;case"a":t+=s[5],n+=s[6],i.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case"H":i.push({key:"H",data:[...s]}),t=s[0];break;case"h":t+=s[0],i.push({key:"H",data:[t]});break;case"V":i.push({key:"V",data:[...s]}),n=s[0];break;case"v":n+=s[0],i.push({key:"V",data:[n]});break;case"S":i.push({key:"S",data:[...s]}),t=s[2],n=s[3];break;case"s":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"S",data:c}),t=c[2],n=c[3];break}case"T":i.push({key:"T",data:[...s]}),t=s[0],n=s[1];break;case"t":t+=s[0],n+=s[1],i.push({key:"T",data:[t,n]});break;case"Z":case"z":i.push({key:"Z",data:[]}),t=r,n=o;break}return i}g();function Fr(e){let t=[],n="",r=0,o=0,i=0,a=0,s=0,c=0;for(let{key:l,data:d}of e){switch(l){case"M":t.push({key:"M",data:[...d]}),[r,o]=d,[i,a]=d;break;case"C":t.push({key:"C",data:[...d]}),r=d[4],o=d[5],s=d[2],c=d[3];break;case"L":t.push({key:"L",data:[...d]}),[r,o]=d;break;case"H":r=d[0],t.push({key:"L",data:[r,o]});break;case"V":o=d[0],t.push({key:"L",data:[r,o]});break;case"S":{let u=0,f=0;n==="C"||n==="S"?(u=r+(r-s),f=o+(o-c)):(u=r,f=o),t.push({key:"C",data:[u,f,...d]}),s=d[0],c=d[1],r=d[2],o=d[3];break}case"T":{let[u,f]=d,m=0,p=0;n==="Q"||n==="T"?(m=r+(r-s),p=o+(o-c)):(m=r,p=o);let h=r+2*(m-r)/3,E=o+2*(p-o)/3,x=u+2*(m-u)/3,w=f+2*(p-f)/3;t.push({key:"C",data:[h,E,x,w,u,f]}),s=m,c=p,r=u,o=f;break}case"Q":{let[u,f,m,p]=d,h=r+2*(u-r)/3,E=o+2*(f-o)/3,x=m+2*(u-m)/3,w=p+2*(f-p)/3;t.push({key:"C",data:[h,E,x,w,m,p]}),s=u,c=f,r=m,o=p;break}case"A":{let u=Math.abs(d[0]),f=Math.abs(d[1]),m=d[2],p=d[3],h=d[4],E=d[5],x=d[6];u===0||f===0?(t.push({key:"C",data:[r,o,E,x,E,x]}),r=E,o=x):(r!==E||o!==x)&&(Zd(r,o,E,x,u,f,m,p,h).forEach(function(b){t.push({key:"C",data:b})}),r=E,o=x);break}case"Z":t.push({key:"Z",data:[]}),r=i,o=a;break}n=l}return t}function wE(e){return Math.PI*e/180}function Rr(e,t,n){let r=e*Math.cos(n)-t*Math.sin(n),o=e*Math.sin(n)+t*Math.cos(n);return[r,o]}function Zd(e,t,n,r,o,i,a,s,c,l){let d=wE(a),u=[],f=0,m=0,p=0,h=0;if(l)[f,m,p,h]=l;else{[e,t]=Rr(e,t,-d),[n,r]=Rr(n,r,-d);let S=(e-n)/2,L=(t-r)/2,H=S*S/(o*o)+L*L/(i*i);H>1&&(H=Math.sqrt(H),o=H*o,i=H*i);let N=s===c?-1:1,B=o*o,k=i*i,U=B*k-B*L*L-k*S*S,W=B*L*L+k*S*S,K=N*Math.sqrt(Math.abs(U/W));p=K*o*L/i+(e+n)/2,h=K*-i*S/o+(t+r)/2,f=Math.asin(parseFloat(((t-h)/i).toFixed(9))),m=Math.asin(parseFloat(((r-h)/i).toFixed(9))),e<p&&(f=Math.PI-f),n<p&&(m=Math.PI-m),f<0&&(f=Math.PI*2+f),m<0&&(m=Math.PI*2+m),c&&f>m&&(f=f-Math.PI*2),!c&&m>f&&(m=m-Math.PI*2)}let E=m-f;if(Math.abs(E)>Math.PI*120/180){let S=m,L=n,H=r;c&&m>f?m=f+Math.PI*120/180*1:m=f+Math.PI*120/180*-1,n=p+o*Math.cos(m),r=h+i*Math.sin(m),u=Zd(n,r,L,H,o,i,a,0,c,[m,S,p,h])}E=m-f;let x=Math.cos(f),w=Math.sin(f),b=Math.cos(m),T=Math.sin(m),y=Math.tan(E/4),D=4/3*o*y,M=4/3*i*y,A=[e,t],I=[e+D*w,t-M*x],P=[n+D*T,r-M*b],v=[n,r];if(I[0]=2*A[0]-I[0],I[1]=2*A[1]-I[1],l)return[I,P,v].concat(u);{u=[I,P,v].concat(u);let S=[];for(let L=0;L<u.length;L+=3){let H=Rr(u[L][0],u[L][1],d),N=Rr(u[L+1][0],u[L+1][1],d),B=Rr(u[L+2][0],u[L+2][1],d);S.push([H[0],H[1],N[0],N[1],B[0],B[1]])}return S}}var bE={randOffset:TE,randOffsetWithRange:_E,ellipse:vE,doubleLineOps:AE};function Va(e,t,n,r,o){return{type:"path",ops:Ct(e,t,n,r,o)}}function Nr(e,t,n){let r=(e||[]).length;if(r>2){let o=[];for(let i=0;i<r-1;i++)o.push(...Ct(e[i][0],e[i][1],e[i+1][0],e[i+1][1],n));return t&&o.push(...Ct(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:o}}else if(r===2)return Va(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:"path",ops:[]}}function yE(e,t){return Nr(e,!0,t)}function Qd(e,t,n,r,o){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];return yE(i,o)}function Xa(e,t){let n=jd(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=jd(e,1.5*(1+t.roughness*.22),SE(t));n=n.concat(r)}return{type:"path",ops:n}}function vE(e,t,n,r,o){let i=Za(n,r,o);return ri(e,t,o,i).opset}function Za(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),o=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),i=Math.PI*2/o,a=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return a+=C(a*c,n),s+=C(s*c,n),{increment:i,rx:a,ry:s}}function ri(e,t,n,r){let[o,i]=qd(r.increment,e,t,r.rx,r.ry,1,r.increment*ti(.1,ti(.4,1,n),n),n),a=ni(o,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[s]=qd(r.increment,e,t,r.rx,r.ry,1.5,0,n),c=ni(s,null,n);a=a.concat(c)}return{estimatedPoints:i,opset:{type:"path",ops:a}}}function Ka(e,t,n,r,o,i,a,s,c){let l=e,d=t,u=Math.abs(n/2),f=Math.abs(r/2);u+=C(u*.01,c),f+=C(f*.01,c);let m=o,p=i;for(;m<0;)m+=Math.PI*2,p+=Math.PI*2;p-m>Math.PI*2&&(m=0,p=Math.PI*2);let h=Math.PI*2/c.curveStepCount,E=Math.min(h/2,(p-m)/2),x=Jd(E,l,d,u,f,m,p,1,c);if(!c.disableMultiStroke){let w=Jd(E,l,d,u,f,m,p,1.5,c);x.push(...w)}return a&&(s?x.push(...Ct(l,d,l+u*Math.cos(m),d+f*Math.sin(m),c),...Ct(l,d,l+u*Math.cos(p),d+f*Math.sin(p),c)):x.push({op:"lineTo",data:[l,d]},{op:"lineTo",data:[l+u*Math.cos(m),d+f*Math.sin(m)]})),{type:"path",ops:x}}function ja(e,t){let n=Fr(Cr(er(e))),r=[],o=[0,0],i=[0,0];for(let{key:a,data:s}of n)switch(a){case"M":{i=[s[0],s[1]],o=[s[0],s[1]];break}case"L":r.push(...Ct(i[0],i[1],s[0],s[1],t)),i=[s[0],s[1]];break;case"C":{let[c,l,d,u,f,m]=s;r.push(...IE(c,l,d,u,f,m,i,t)),i=[f,m];break}case"Z":r.push(...Ct(i[0],i[1],o[0],o[1],t)),i=[o[0],o[1]];break}return{type:"path",ops:r}}function oi(e,t){let n=[];for(let r of e)if(r.length){let o=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:"move",data:[r[0][0]+C(o,t),r[0][1]+C(o,t)]});for(let a=1;a<i;a++)n.push({op:"lineTo",data:[r[a][0]+C(o,t),r[a][1]+C(o,t)]})}}return{type:"fillPath",ops:n}}function Tn(e,t){return Vd(t,bE).fillPolygons(e,t)}function eu(e,t,n,r,o,i,a){let s=e,c=t,l=Math.abs(n/2),d=Math.abs(r/2);l+=C(l*.01,a),d+=C(d*.01,a);let u=o,f=i;for(;u<0;)u+=Math.PI*2,f+=Math.PI*2;f-u>Math.PI*2&&(u=0,f=Math.PI*2);let m=(f-u)/a.curveStepCount,p=[];for(let h=u;h<=f;h=h+m)p.push([s+l*Math.cos(h),c+d*Math.sin(h)]);return p.push([s+l*Math.cos(f),c+d*Math.sin(f)]),p.push([s,c]),Tn([p],a)}function TE(e,t){return C(e,t)}function _E(e,t,n){return ti(e,t,n)}function AE(e,t,n,r,o){return Ct(e,t,n,r,o,!0)}function SE(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function tu(e){return e.randomizer||(e.randomizer=new Qn(e.seed||0)),e.randomizer.next()}function ti(e,t,n,r=1){return n.roughness*r*(tu(n)*(t-e)+e)}function C(e,t,n=1){return ti(-e,e,t,n)}function Ct(e,t,n,r,o,i=!1){let a=i?o.disableMultiStrokeFill:o.disableMultiStroke,s=Kd(e,t,n,r,o,!0,!1);if(a)return s;let c=Kd(e,t,n,r,o,!0,!0);return s.concat(c)}function Kd(e,t,n,r,o,i,a){let s=Math.pow(e-n,2)+Math.pow(t-r,2),c=Math.sqrt(s),l=1;c<200?l=1:c>500?l=.4:l=-.0016668*c+1.233334;let d=o.maxRandomnessOffset||0;d*d*100>s&&(d=c/10);let u=d/2,f=.2+tu(o)*.2,m=o.bowing*o.maxRandomnessOffset*(r-t)/200,p=o.bowing*o.maxRandomnessOffset*(e-n)/200;m=C(m,o,l),p=C(p,o,l);let h=[],E=()=>C(u,o,l),x=()=>C(d,o,l),w=o.preserveVertices;return i&&(a?h.push({op:"move",data:[e+(w?0:E()),t+(w?0:E())]}):h.push({op:"move",data:[e+(w?0:C(d,o,l)),t+(w?0:C(d,o,l))]})),a?h.push({op:"bcurveTo",data:[m+e+(n-e)*f+E(),p+t+(r-t)*f+E(),m+e+2*(n-e)*f+E(),p+t+2*(r-t)*f+E(),n+(w?0:E()),r+(w?0:E())]}):h.push({op:"bcurveTo",data:[m+e+(n-e)*f+x(),p+t+(r-t)*f+x(),m+e+2*(n-e)*f+x(),p+t+2*(r-t)*f+x(),n+(w?0:x()),r+(w?0:x())]}),h}function jd(e,t,n){let r=[];r.push([e[0][0]+C(t,n),e[0][1]+C(t,n)]),r.push([e[0][0]+C(t,n),e[0][1]+C(t,n)]);for(let o=1;o<e.length;o++)r.push([e[o][0]+C(t,n),e[o][1]+C(t,n)]),o===e.length-1&&r.push([e[o][0]+C(t,n),e[o][1]+C(t,n)]);return ni(r,null,n)}function ni(e,t,n){let r=e.length,o=[];if(r>3){let i=[],a=1-n.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let s=1;s+2<r;s++){let c=e[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*e[s+1][0]-a*e[s-1][0])/6,c[1]+(a*e[s+1][1]-a*e[s-1][1])/6],i[2]=[e[s+1][0]+(a*e[s][0]-a*e[s+2][0])/6,e[s+1][1]+(a*e[s][1]-a*e[s+2][1])/6],i[3]=[e[s+1][0],e[s+1][1]],o.push({op:"bcurveTo",data:[i[1][0],i[1][1],i[2][0],i[2][1],i[3][0],i[3][1]]})}if(t&&t.length===2){let s=n.maxRandomnessOffset;o.push({op:"lineTo",data:[t[0]+C(s,n),t[1]+C(s,n)]})}}else r===3?(o.push({op:"move",data:[e[1][0],e[1][1]]}),o.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&o.push(...Ct(e[0][0],e[0][1],e[1][0],e[1][1],n));return o}function qd(e,t,n,r,o,i,a,s){let c=s.roughness===0,l=[],d=[];if(c){e=e/4,d.push([t+r*Math.cos(-e),n+o*Math.sin(-e)]);for(let u=0;u<=Math.PI*2;u=u+e){let f=[t+r*Math.cos(u),n+o*Math.sin(u)];l.push(f),d.push(f)}d.push([t+r*Math.cos(0),n+o*Math.sin(0)]),d.push([t+r*Math.cos(e),n+o*Math.sin(e)])}else{let u=C(.5,s)-Math.PI/2;d.push([C(i,s)+t+.9*r*Math.cos(u-e),C(i,s)+n+.9*o*Math.sin(u-e)]);let f=Math.PI*2+u-.01;for(let m=u;m<f;m=m+e){let p=[C(i,s)+t+r*Math.cos(m),C(i,s)+n+o*Math.sin(m)];l.push(p),d.push(p)}d.push([C(i,s)+t+r*Math.cos(u+Math.PI*2+a*.5),C(i,s)+n+o*Math.sin(u+Math.PI*2+a*.5)]),d.push([C(i,s)+t+.98*r*Math.cos(u+a),C(i,s)+n+.98*o*Math.sin(u+a)]),d.push([C(i,s)+t+.9*r*Math.cos(u+a*.5),C(i,s)+n+.9*o*Math.sin(u+a*.5)])}return[d,l]}function Jd(e,t,n,r,o,i,a,s,c){let l=i+C(.1,c),d=[];d.push([C(s,c)+t+.9*r*Math.cos(l-e),C(s,c)+n+.9*o*Math.sin(l-e)]);for(let u=l;u<=a;u=u+e)d.push([C(s,c)+t+r*Math.cos(u),C(s,c)+n+o*Math.sin(u)]);return d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),ni(d,null,c)}function IE(e,t,n,r,o,i,a,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],d=[0,0],u=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let m=0;m<u;m++)m===0?c.push({op:"move",data:[a[0],a[1]]}):c.push({op:"move",data:[a[0]+(f?0:C(l[0],s)),a[1]+(f?0:C(l[0],s))]}),d=f?[o,i]:[o+C(l[m],s),i+C(l[m],s)],c.push({op:"bcurveTo",data:[e+C(l[m],s),t+C(l[m],s),n+C(l[m],s),r+C(l[m],s),d[0],d[1]]});return c}g();function Or(e){return[...e]}function nu(e,t=0){let n=e.length;if(n<3)throw new Error("A curve must have at least three points.");let r=[];if(n===3)r.push(Or(e[0]),Or(e[1]),Or(e[2]),Or(e[2]));else{let o=[];o.push(e[0],e[0]);for(let s=1;s<e.length;s++)o.push(e[s]),s===e.length-1&&o.push(e[s]);let i=[],a=1-t;r.push(Or(o[0]));for(let s=1;s+2<o.length;s++){let c=o[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*o[s+1][0]-a*o[s-1][0])/6,c[1]+(a*o[s+1][1]-a*o[s-1][1])/6],i[2]=[o[s+1][0]+(a*o[s][0]-a*o[s+2][0])/6,o[s+1][1]+(a*o[s][1]-a*o[s+2][1])/6],i[3]=[o[s+1][0],o[s+1][1]],r.push(i[1],i[2],i[3])}}return r}g();function ME(e,t){return Math.sqrt(ii(e,t))}function ii(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function PE(e,t,n){let r=ii(t,n);if(r===0)return ii(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),ii(e,_n(t,n,o))}function _n(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function DE(e,t){let n=e[t+0],r=e[t+1],o=e[t+2],i=e[t+3],a=3*r[0]-2*n[0]-i[0];a*=a;let s=3*r[1]-2*n[1]-i[1];s*=s;let c=3*o[0]-2*i[0]-n[0];c*=c;let l=3*o[1]-2*i[1]-n[1];return l*=l,a<c&&(a=c),s<l&&(s=l),a+s}function qa(e,t,n,r){let o=r||[];if(DE(e,t)<n){let i=e[t+0];o.length?ME(o[o.length-1],i)>1&&o.push(i):o.push(i),o.push(e[t+3])}else{let a=e[t+0],s=e[t+1],c=e[t+2],l=e[t+3],d=_n(a,s,.5),u=_n(s,c,.5),f=_n(c,l,.5),m=_n(d,u,.5),p=_n(u,f,.5),h=_n(m,p,.5);qa([a,d,m,h],0,n,o),qa([h,p,f,l],0,n,o)}return o}function ru(e,t){return ai(e,0,e.length,t)}function ai(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=PE(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(ai(e,t,l+1,r,i),ai(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}function si(e,t=.15,n){let r=[],o=(e.length-1)/3;for(let i=0;i<o;i++){let a=i*3;qa(e,a,t,r)}return n&&n>0?ai(r,0,r.length,n):r}g();function ou(e,t,n){let r=er(e),o=Fr(Cr(r)),i=[],a=[],s=[0,0],c=[],l=()=>{c.length>=4&&a.push(...si(c,t)),c=[]},d=()=>{l(),a.length&&(i.push(a),a=[])};for(let{key:f,data:m}of o)switch(f){case"M":d(),s=[m[0],m[1]],a.push(s);break;case"L":l(),a.push([m[0],m[1]]);break;case"C":if(!c.length){let p=a.length?a[a.length-1]:s;c.push([p[0],p[1]])}c.push([m[0],m[1]]),c.push([m[2],m[3]]),c.push([m[4],m[5]]);break;case"Z":l(),a.push([s[0],s[1]]);break}if(d(),!n)return i;let u=[];for(let f of i){let m=ru(f,n);m.length&&u.push(m)}return u}var Re="none",et=class{constructor(t){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=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Xd()}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,n,r){return{shape:t,sets:n||[],options:r||this.defaultOptions}}line(t,n,r,o,i){let a=this._o(i);return this._d("line",[Va(t,n,r,o,a)],a)}rectangle(t,n,r,o,i){let a=this._o(i),s=[],c=Qd(t,n,r,o,a);if(a.fill){let l=[[t,n],[t+r,n],[t+r,n+o],[t,n+o]];a.fillStyle==="solid"?s.push(oi([l],a)):s.push(Tn([l],a))}return a.stroke!==Re&&s.push(c),this._d("rectangle",s,a)}ellipse(t,n,r,o,i){let a=this._o(i),s=[],c=Za(r,o,a),l=ri(t,n,a,c);if(a.fill)if(a.fillStyle==="solid"){let d=ri(t,n,a,c).opset;d.type="fillPath",s.push(d)}else s.push(Tn([l.estimatedPoints],a));return a.stroke!==Re&&s.push(l.opset),this._d("ellipse",s,a)}circle(t,n,r,o){let i=this.ellipse(t,n,r,r,o);return i.shape="circle",i}linearPath(t,n){let r=this._o(n);return this._d("linearPath",[Nr(t,!1,r)],r)}arc(t,n,r,o,i,a,s=!1,c){let l=this._o(c),d=[],u=Ka(t,n,r,o,i,a,s,!0,l);if(s&&l.fill)if(l.fillStyle==="solid"){let f=Object.assign({},l);f.disableMultiStroke=!0;let m=Ka(t,n,r,o,i,a,!0,!1,f);m.type="fillPath",d.push(m)}else d.push(eu(t,n,r,o,i,a,l));return l.stroke!==Re&&d.push(u),this._d("arc",d,l)}curve(t,n){let r=this._o(n),o=[],i=Xa(t,r);if(r.fill&&r.fill!==Re&&t.length>=3)if(r.fillStyle==="solid"){let a=Xa(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(a.ops)})}else{let a=nu(t),s=si(a,10,(1+r.roughness)/2);o.push(Tn([s],r))}return r.stroke!==Re&&o.push(i),this._d("curve",o,r)}polygon(t,n){let r=this._o(n),o=[],i=Nr(t,!0,r);return r.fill&&(r.fillStyle==="solid"?o.push(oi([t],r)):o.push(Tn([t],r))),r.stroke!==Re&&o.push(i),this._d("polygon",o,r)}path(t,n){let r=this._o(n),o=[];if(!t)return this._d("path",o,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let i=r.fill&&r.fill!=="transparent"&&r.fill!==Re,a=r.stroke!==Re,s=!!(r.simplification&&r.simplification<1),c=s?4-4*(r.simplification||1):(1+r.roughness)/2,l=ou(t,1,c),d=ja(t,r);if(i)if(r.fillStyle==="solid")if(l.length===1){let u=ja(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(u.ops)})}else o.push(oi(l,r));else o.push(Tn(l,r));return a&&(s?l.forEach(u=>{o.push(Nr(u,!1,r))}):o.push(d)),this._d("path",o,r)}opsToPath(t,n){let r="";for(let o of t.ops){let i=typeof n=="number"&&n>=0?o.data.map(a=>+a.toFixed(n)):o.data;switch(o.op){case"move":r+=`M${i[0]} ${i[1]} `;break;case"bcurveTo":r+=`C${i[0]} ${i[1]}, ${i[2]} ${i[3]}, ${i[4]} ${i[5]} `;break;case"lineTo":r+=`L${i[0]} ${i[1]} `;break}}return r.trim()}toPaths(t){let n=t.sets||[],r=t.options||this.defaultOptions,o=[];for(let i of n){let a=null;switch(i.type){case"path":a={d:this.opsToPath(i),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:Re};break;case"fillPath":a={d:this.opsToPath(i),stroke:Re,strokeWidth:0,fill:r.fill||Re};break;case"fillSketch":a=this.fillSketch(i,r);break}a&&o.push(a)}return o}fillSketch(t,n){let r=n.fillWeight;return r<0&&(r=n.strokeWidth/2),{d:this.opsToPath(t),stroke:n.fill||Re,strokeWidth:r,fill:Re}}_mergedShape(t){return t.filter((n,r)=>r===0?!0:n.op!=="move")}};var li=class{constructor(t,n){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new et(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(let a of n)switch(a.type){case"path":o.save(),o.strokeStyle=r.stroke==="none"?"transparent":r.stroke,o.lineWidth=r.strokeWidth,r.strokeLineDash&&o.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(o.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(o,a,i),o.restore();break;case"fillPath":{o.save(),o.fillStyle=r.fill||"";let s=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(o,a,i,s),o.restore();break}case"fillSketch":this.fillSketch(o,a,r);break}}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=o,this._drawToContext(t,n,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,n,r,o="nonzero"){t.beginPath();for(let i of n.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(a[0],a[1]);break;case"bcurveTo":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"lineTo":t.lineTo(a[0],a[1]);break}}n.type==="fillPath"?t.fill(o):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a),a}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a),a}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a),a}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i),i}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r),r}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r),r}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l),l}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r),r}path(t,n){let r=this.gen.path(t,n);return this.draw(r),r}};g();g();var Br="http://www.w3.org/2000/svg";var ci=class{constructor(t,n){this.svg=t,this.gen=new et(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.svg.ownerDocument||window.document,i=o.createElementNS(Br,"g"),a=t.options.fixedDecimalPlaceDigits;for(let s of n){let c=null;switch(s.type){case"path":{c=o.createElementNS(Br,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke",r.stroke),c.setAttribute("stroke-width",r.strokeWidth+""),c.setAttribute("fill","none"),r.strokeLineDash&&c.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&c.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break}case"fillPath":{c=o.createElementNS(Br,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke","none"),c.setAttribute("stroke-width","0"),c.setAttribute("fill",r.fill||""),(t.shape==="curve"||t.shape==="polygon")&&c.setAttribute("fill-rule","evenodd");break}case"fillSketch":{c=this.fillSketch(o,s,r);break}}c&&i.appendChild(c)}return i}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2);let i=t.createElementNS(Br,"path");return i.setAttribute("d",this.opsToPath(n,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",o+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,n){return this.gen.opsToPath(t,n)}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a)}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a)}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a)}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i)}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r)}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r)}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l)}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r)}path(t,n){let r=this.gen.path(t,n);return this.draw(r)}};var yt={canvas(e,t){return new li(e,t)},svg(e,t){return new ci(e,t)},generator(e){return new et(e)},newSeed(){return et.newSeed()}};g();g();g();function iu(e,t,n,r=o=>o){return e*r(.5-t*(.5-n))}function LE(e){return[-e[0],-e[1]]}function nt(e,t){return[e[0]+t[0],e[1]+t[1]]}function $e(e,t){return[e[0]-t[0],e[1]-t[1]]}function tt(e,t){return[e[0]*t,e[1]*t]}function kE(e,t){return[e[0]/t,e[1]/t]}function Gr(e){return[e[1],-e[0]]}function au(e,t){return e[0]*t[0]+e[1]*t[1]}function CE(e,t){return e[0]===t[0]&&e[1]===t[1]}function RE(e){return Math.hypot(e[0],e[1])}function FE(e){return e[0]*e[0]+e[1]*e[1]}function su(e,t){return FE($e(e,t))}function du(e){return kE(e,RE(e))}function NE(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function zr(e,t,n){let r=Math.sin(n),o=Math.cos(n),i=e[0]-t[0],a=e[1]-t[1],s=i*o-a*r,c=i*r+a*o;return[s+t[0],c+t[1]]}function Ja(e,t,n){return nt(e,tt($e(t,e),n))}function lu(e,t,n){return nt(e,tt(t,n))}var{min:tr,PI:OE}=Math,cu=.275,Hr=OE+1e-4;function BE(e,t={}){let{size:n=16,smoothing:r=.5,thinning:o=.5,simulatePressure:i=!0,easing:a=k=>k,start:s={},end:c={},last:l=!1}=t,{cap:d=!0,easing:u=k=>k*(2-k)}=s,{cap:f=!0,easing:m=k=>--k*k*k+1}=c;if(e.length===0||n<=0)return[];let p=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,p):s.taper,E=c.taper===!1?0:c.taper===!0?Math.max(n,p):c.taper,x=Math.pow(n*r,2),w=[],b=[],T=e.slice(0,10).reduce((k,U)=>{let W=U.pressure;if(i){let K=tr(1,U.distance/n),ye=tr(1,1-K);W=tr(1,k+(ye-k)*(K*cu))}return(k+W)/2},e[0].pressure),y=iu(n,o,e[e.length-1].pressure,a),D,M=e[0].vector,A=e[0].point,I=A,P=A,v=I,S=!1;for(let k=0;k<e.length;k++){let{pressure:U}=e[k],{point:W,vector:K,distance:ye,runningLength:pe}=e[k];if(k<e.length-1&&p-pe<3)continue;if(o){if(i){let xe=tr(1,ye/n),un=tr(1,1-xe);U=tr(1,T+(un-T)*(xe*cu))}y=iu(n,o,U,a)}else y=n/2;D===void 0&&(D=y);let ae=pe<h?u(pe/h):1,ct=p-pe<E?m((p-pe)/E):1;y=Math.max(.01,y*Math.min(ae,ct));let ln=(k<e.length-1?e[k+1]:e[k]).vector,ge=k<e.length-1?au(K,ln):1,Nn=au(K,M)<0&&!S,cn=ge!==null&&ge<0;if(Nn||cn){let xe=tt(Gr(M),y);for(let un=1/13,ve=0;ve<=1;ve+=un)P=zr($e(W,xe),W,Hr*ve),w.push(P),v=zr(nt(W,xe),W,Hr*-ve),b.push(v);A=P,I=v,cn&&(S=!0);continue}if(S=!1,k===e.length-1){let xe=tt(Gr(K),y);w.push($e(W,xe)),b.push(nt(W,xe));continue}let dn=tt(Gr(Ja(ln,K,ge)),y);P=$e(W,dn),(k<=1||su(A,P)>x)&&(w.push(P),A=P),v=nt(W,dn),(k<=1||su(I,v)>x)&&(b.push(v),I=v),T=U,M=K}let L=e[0].point.slice(0,2),H=e.length>1?e[e.length-1].point.slice(0,2):nt(e[0].point,[1,1]),N=[],B=[];if(e.length===1){if(!(h||E)||l){let k=lu(L,du(Gr($e(L,H))),-(D||y)),U=[];for(let W=1/13,K=W;K<=1;K+=W)U.push(zr(k,L,Hr*2*K));return U}}else{if(!(h||E&&e.length===1))if(d)for(let U=1/13,W=U;W<=1;W+=U){let K=zr(b[0],L,Hr*W);N.push(K)}else{let U=$e(w[0],b[0]),W=tt(U,.5),K=tt(U,.51);N.push($e(L,W),$e(L,K),nt(L,K),nt(L,W))}let k=Gr(LE(e[e.length-1].vector));if(E||h&&e.length===1)B.push(H);else if(f){let U=lu(H,k,y);for(let W=1/29,K=W;K<1;K+=W)B.push(zr(U,H,Hr*3*K))}else B.push(nt(H,tt(k,y)),nt(H,tt(k,y*.99)),$e(H,tt(k,y*.99)),$e(H,tt(k,y)))}return w.concat(B,b.reverse(),N)}function GE(e,t={}){var n;let{streamline:r=.5,size:o=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-r)*.85,s=Array.isArray(e[0])?e:e.map(({x:m,y:p,pressure:h=.5})=>[m,p,h]);if(s.length===2){let m=s[1];s=s.slice(0,-1);for(let p=1;p<5;p++)s.push(Ja(s[0],m,p/4))}s.length===1&&(s=[...s,[...nt(s[0],[1,1]),...s[0].slice(2)]]);let c=[{point:[s[0][0],s[0][1]],pressure:s[0][2]>=0?s[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],l=!1,d=0,u=c[0],f=s.length-1;for(let m=1;m<s.length;m++){let p=i&&m===f?s[m].slice(0,2):Ja(u.point,s[m],a);if(CE(u.point,p))continue;let h=NE(p,u.point);if(d+=h,m<f&&!l){if(d<o)continue;l=!0}u={point:p,pressure:s[m][2]>=0?s[m][2]:.5,vector:du($e(u.point,p)),distance:h,runningLength:d},c.push(u)}return c[0].vector=((n=c[1])==null?void 0:n.vector)||[0,0],c}function uu(e,t={}){return BE(GE(e,t),t)}g();g();g();g();g();var zE=(e,t)=>{let[n,r,o,i]=t,{x:a,y:s}=za({sceneX:n,sceneY:r},e),{x:c,y:l}=za({sceneX:o,sceneY:i},e);return c-a>e.width||l-s>e.height},HE=({scenePoint:e,viewportDimensions:t,zoom:n})=>({scrollX:t.width/2/n.value-e.x,scrollY:t.height/2/n.value-e.y}),es=(e,t)=>{if(e=fu(e),!e.length)return{scrollX:0,scrollY:0};let[n,r,o,i]=De(e);zE(t,[n,r,o,i])&&([n,r,o,i]=Qa(e,Lr({clientX:t.scrollX,clientY:t.scrollY},t)));let a=(n+o)/2,s=(r+i)/2;return HE({scenePoint:{x:a,y:s},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})};g();var UE=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="line"||e==="freedraw",_v=e=>e!=="image"&&e!=="frame"&&e!=="magicframe",$E=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="freedraw"||e==="arrow"||e==="line",YE=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="arrow"||e==="line",ts=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="arrow"||e==="line"||e==="diamond"||e==="image",WE=e=>e==="arrow",ns=(e,t)=>{let n=null;for(let r=e.length-1;r>=0;--r){let o=e[r];if(!o.isDeleted&&t(o)){n=o;break}}return n},VE=(e,t)=>{let n=[];return e.filter(o=>!o.isDeleted&&t(o)?qn(o)?(n.push(o),!1):!0:!1).concat(n)};g();var XE=e=>Math.max(vd,Math.min(e,30)),Mv=({viewportX:e,viewportY:t,nextZoom:n},r)=>{let o=e-r.offsetLeft,i=t-r.offsetTop,a=r.zoom.value,s=r.scrollX+(o-o/a),c=r.scrollY+(i-i/a),l=-(o-o/n),d=-(i-i/n);return{scrollX:s+l,scrollY:c+d,zoom:{value:n}}};g();g();var we=(e,t)=>[0,0,0,0,t,e,1,0];var rs=(e,t)=>[0,0,0,0,t,e,0,0];var An=(e=0,t=0)=>{let n=[0,0,0,0,0,0,0,0];if(t<0||t>7)throw new Error(`Expected \`index\` between 0 and 7, got \`${t}\``);return e!==0&&(n[t]=e),n};var nr=e=>[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]];var mu=(e,t)=>ss(t)?[e[0]+t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]+t[0],e[1]+t[1],e[2]+t[2],e[3]+t[3],e[4]+t[4],e[5]+t[5],e[6]+t[6],e[7]+t[7]],Ur=(e,t)=>ss(t)?[e[0]-t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]-t[0],e[1]-t[1],e[2]-t[2],e[3]-t[3],e[4]-t[4],e[5]-t[5],e[6]-t[6],e[7]-t[7]],Qt=(e,t)=>ss(t)?[e[0]*t,e[1]*t,e[2]*t,e[3]*t,e[4]*t,e[5]*t,e[6]*t,e[7]*t]:[qE(e,t),t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[7]*e[3]+t[0]*e[4]+t[6]*e[5]-t[5]*e[6]+t[3]*e[7],t[5]*e[0]-t[3]*e[1]+t[7]*e[2]+t[1]*e[3]-t[6]*e[4]+t[0]*e[5]+t[4]*e[6]+t[2]*e[7],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]+t[0]*e[7]],qE=(e,t)=>t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],os=(e,t)=>[t[0]*e[0],t[1]*e[0]+t[0]*e[1],t[2]*e[0]+t[0]*e[2],t[3]*e[0]+t[0]*e[3],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[0]*e[4],t[5]*e[0]-t[3]*e[1]+t[1]*e[3]+t[0]*e[5],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]],ui=(e,t)=>[is(e,t),e[1]*t[7]+e[4]*t[5]-e[5]*t[4]+e[7]*t[1],e[2]*t[7]-e[4]*t[6]+e[6]*t[4]+e[7]*t[2],e[3]*t[7]+e[5]*t[6]-e[6]*t[5]+e[7]*t[3],e[4]*t[7]+e[7]*t[4],e[5]*t[7]+e[7]*t[5],e[6]*t[7]+e[7]*t[6],e[7]*t[7]],is=(e,t)=>e[0]*t[7]+e[1]*t[6]+e[2]*t[5]+e[3]*t[4]+e[4]*t[3]+e[5]*t[2]+e[6]*t[1]+e[7]*t[0],pu=(e,t)=>[t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[7]*e[3]+t[0]*e[4]+t[3]*e[7],t[5]*e[0]+t[7]*e[2]+t[0]*e[5]+t[2]*e[7],t[6]*e[0]+t[0]*e[6],t[7]*e[0]+t[0]*e[7]],as=e=>Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6])),hu=e=>Math.sqrt(Math.abs(e[7]*e[7]-e[5]*e[5]-e[4]*e[4]+e[1]*e[1])),Sn=e=>{let t=as(e);if(t===0||t===1)return e;let n=e[6]<0?-1:1;return Qt(e,n/t)},Eu=e=>{let t=hu(e);return t===0||t===1?e:Qt(e,1/t)},ss=e=>typeof e=="number",Ov=An(1,1),Bv=An(1,2),Gv=An(1,3),zv=An(1,4),Hv=An(1,5),Uv=An(1,6),$v=An(1,7);g();g();var en=(e,t,n)=>Sn([0,n,e,t,0,0,0,0]),rr=(e,t)=>Sn(ui(t,e)),gu=(e,t)=>pu(e,t),xu=(e,t)=>gu(rr(e,t),t);var wu=e=>Math.sign(e[1]);var tn=([e,t])=>[0,0,0,0,t,e,1,0],nn=e=>[e[5],e[4]],ls=e=>[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0],yu=(e,t)=>Sn(os(e,t));var cs=(e,t)=>as(ui(e,t)),Ye=(e,t)=>is(e,t);g();var fi=e=>[0,0,0,0,e[4],e[5],0,0],vu=(e,t)=>Eu([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0]);g();var mi=(e,t)=>mu(Qt(e,Math.sin(t/2)),Math.cos(t/2)),_u=e=>[1,0,0,0,-(.5*e[5]),.5*e[4],0,0],Au=(e,t)=>{let n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]};var Su=(e,t)=>Qt(t,e),We=(e,t)=>Sn(Qt(Qt(e,t),nr(e)));g();function eg(e,t){return Math.sqrt(pi(e,t))}function pi(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function tg(e,t,n){let r=pi(t,n);if(r===0)return pi(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),pi(e,In(t,n,o))}function In(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function ng(e,t){let n=e[t+0],r=e[t+1],o=e[t+2],i=e[t+3],a=3*r[0]-2*n[0]-i[0];a*=a;let s=3*r[1]-2*n[1]-i[1];s*=s;let c=3*o[0]-2*i[0]-n[0];c*=c;let l=3*o[1]-2*i[1]-n[1];return l*=l,a<c&&(a=c),s<l&&(s=l),a+s}function ds(e,t,n,r){let o=r||[];if(ng(e,t)<n){let i=e[t+0];o.length?eg(o[o.length-1],i)>1&&o.push(i):o.push(i),o.push(e[t+3])}else{let a=e[t+0],s=e[t+1],c=e[t+2],l=e[t+3],d=In(a,s,.5),u=In(s,c,.5),f=In(c,l,.5),m=In(d,u,.5),p=In(u,f,.5),h=In(m,p,.5);ds([a,d,m,h],0,n,o),ds([h,p,f,l],0,n,o)}return o}function Iu(e,t){return hi(e,0,e.length,t)}function hi(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=tg(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(hi(e,t,l+1,r,i),hi(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}function Mu(e,t=.15,n){let r=[],o=(e.length-1)/3;for(let i=0;i<o;i++){let a=i*3;ds(e,a,t,r)}return n&&n>0?hi(r,0,r.length,n):r}g();var Pu={mouse:8,pen:16,touch:28},rg=16,fs={e:!0,s:!0,n:!0,w:!0},lT={e:!0,s:!0,n:!0,w:!0,rotation:!0},og={e:!0,s:!0,n:!0,w:!0},Du={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},us={e:!0,s:!0,n:!0,w:!0},Rt=(e,t,n,r,o,i,a)=>{let[s,c]=z(e+n/2,t+r/2,o,i,a);return[s-n/2,c-r/2,n,r]},Ei=([e,t,n,r,o,i],a,s,c,l={},d=4)=>{let u=Pu[c],f=u/s.value,m=u/s.value,p=u/s.value,h=u/s.value,E=n-e,x=r-t,w=d/s.value,b=(u-Ro*2)/(2*s.value),T={nw:l.nw?void 0:Rt(e-w-p+b,t-w-h+b,f,m,o,i,a),ne:l.ne?void 0:Rt(n+w-b,t-w-h+b,f,m,o,i,a),sw:l.sw?void 0:Rt(e-w-p+b,r+w-b,f,m,o,i,a),se:l.se?void 0:Rt(n+w-b,r+w-b,f,m,o,i,a),rotation:l.rotation?void 0:Rt(e+E/2-f/2,t-w-h+b-rg/s.value,f,m,o,i,a)},y=5*Pu.mouse/s.value;return Math.abs(E)>y&&(l.n||(T.n=Rt(e+E/2-f/2,t-w-h+b,f,m,o,i,a)),l.s||(T.s=Rt(e+E/2-f/2,r+w-b,f,m,o,i,a))),Math.abs(x)>y&&(l.w||(T.w=Rt(e-w-p+b,t+x/2-m/2,f,m,o,i,a)),l.e||(T.e=Rt(n+w-b,t+x/2-m/2,f,m,o,i,a))),T},ms=(e,t,n,r="mouse")=>{if(e.locked)return{};let o={};if(e.type==="freedraw"||ee(e)){if(e.points.length===2){let[,a]=e.points;a[0]===0||a[1]===0?o=us:a[0]>0&&a[1]<0?o=Du:a[0]>0&&a[1]>0?o=us:a[0]<0&&a[1]>0?o=Du:a[0]<0&&a[1]<0&&(o=us)}}else V(e)?o=og:Z(e)&&(o={rotation:!0});let i=ee(e)?Ro+8:Ro;return Ei(F(e,n,!0),e.angle,t,r,o,i)},Lu=(e,t)=>{if(t.editingLinearElement)return!1;if(e.length>1)return!0;let n=e[0];return ee(n)?n.points.length>2:!0};g();var re=class e{static rg=new et;static cache=new WeakMap;static get=t=>e.cache.get(t);static set=(t,n)=>e.cache.set(t,n);static delete=t=>e.cache.delete(t);static destroy=()=>{e.cache=new WeakMap};static generateElementShape=(t,n)=>{let r=n?.isExporting?void 0:e.get(t);if(r!==void 0)return r;gi.delete(t);let o=ku(t,e.rg,n||{isExporting:!1,canvasBackgroundColor:G.white,embedsValidationStatus:null});return e.cache.set(t,o),o}};var ig=e=>{if(e.type==="arrow")return!1;if(e.type==="freedraw")return!0;let t=!jt(e.backgroundColor)||Xo(e)||Je(e);return e.type==="line"?t&&Ft(e.points):t||Yo(e)},hs=(e,t,n,r,o,i)=>{let a=10/t.zoom.value,s=[r,o];if(sg(t,e)&&Lu([e],t))return bi(e,i,s,a,n);let c=X(e,i);return c&&hs(c,t,n,r,o,i)?!0:wi(e,t,n,s,i)},ag=(e,t,n,r,o,i)=>{let a=10/t.zoom.value,s=X(e,i);return s&&hs(s,t,n,r,o,i)?!1:!wi(e,t,n,[r,o],i)&&bi(e,i,[r,o],a,n)},wi=(e,t,n,r,o)=>{let i=10/t.zoom.value,a=V(e)?lg:ig(e)?Yr:cg;return xs({element:e,elementsMap:o,point:r,threshold:i,check:a,frameNameBoundsCache:n})},sg=(e,t)=>e.selectedElementIds[t.id],bi=(e,t,[n,r],o,i)=>{if(Z(e))return xs({element:e,elementsMap:t,point:[n,r],threshold:o,check:Yr,frameNameBoundsCache:i});let[a,s,c,l]=F(e,t),d=(a+c)/2,u=(s+l)/2,[f,m]=z(n,r,d,u,-e.angle);return f>a-o&&f<c+o&&m>s-o&&m<l+o},Es=(e,{x:t,y:n},r)=>{let o=gs(e,e.width,e.height);return xs({element:e,elementsMap:r,point:[t,n],threshold:o,check:dg,frameNameBoundsCache:null})},gs=(e,t,n)=>{let o=(e.type==="diamond"?1/Math.sqrt(2):1)*Math.min(t,n);return Math.max(16,Math.min(.25*o,32))},xs=e=>{switch(e.element.type){case"rectangle":case"iframe":case"embeddable":case"image":case"text":case"diamond":case"ellipse":let t=xi(e.element,e.point,e.elementsMap);return e.check(t,e.threshold);case"freedraw":return e.check(Cu(e.element,e.point,e.elementsMap),e.threshold)?hg(e.element,e.point,e.threshold,e.elementsMap):!1;case"arrow":case"line":return Eg(e);case"selection":return console.warn("This should not happen, we need to investigate why it does."),!1;case"frame":case"magicframe":{if(e.check(xi(e.element,e.point,e.elementsMap),e.threshold))return!0;let n=e.frameNameBoundsCache?.get(e.element);return n?e.check(ug(n,e.point),e.threshold):!1}}},xi=(e,t,n)=>{switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return Cu(e,t,n);case"diamond":return fg(e,t,n);case"ellipse":return mg(e,t,n)}},lg=(e,t)=>e<0,Yr=(e,t)=>e<t,cg=(e,t)=>Math.abs(e)<t,dg=(e,t)=>0<=e&&e<t,Cu=(e,t,n)=>{let[,r,o,i]=yi(e,t,n);return Math.max(Ye(r,en(0,1,-i)),Ye(r,en(1,0,-o)))},ug=(e,t)=>{let[,n,r,o]=gg(t,e);return Math.max(Ye(n,en(0,1,-o)),Ye(n,en(1,0,-r)))},fg=(e,t,n)=>{let[,r,o,i]=yi(e,t,n),a=en(i,o,-i*o);return Ye(r,a)},mg=(e,t,n)=>{let[r,o]=pg(e,t,n);return-wu(o)*Ye(r,o)},pg=(e,t,n)=>{let[,r,o,i]=yi(e,t,n),[a,s]=nn(r),c=.707,l=.707,d=o,u=i;[0,1,2,3].forEach(p=>{let h=d*c,E=u*l,x=(d*d-u*u)*c**3/d,w=(u*u-d*d)*l**3/u,b=h-x,T=E-w,y=a-x,D=s-w,M=Math.hypot(T,b),A=Math.hypot(D,y);c=Math.min(1,Math.max(0,(y*M/A+x)/d)),l=Math.min(1,Math.max(0,(D*M/A+w)/u));let I=Math.hypot(l,c);c/=I,l/=I});let f=we(d*c,u*l),m=xu(r,f);return[r,m]},hg=(e,t,n,r)=>{let o,i;if(e.angle===0)o=t[0]-e.x,i=t[1]-e.y;else{let[d,u,f,m]=F(e,r),p=le(t,[d+(f-d)/2,u+(m-u)/2],-e.angle);o=p[0]-e.x,i=p[1]-e.y}let[a,s]=e.points,c;if(be(a[0],a[1],o,i)<n||be(s[0],s[1],o,i)<n)return!0;for(let d=0;d<e.points.length;d++){let u=[s[0]-a[0],s[1]-a[1]],f=Math.hypot(u[1],u[0]),m=[u[0]/f,u[1]/f],p=[o-a[0],i-a[1]],h=(p[0]*m[0]+p[1]*m[1])/Math.hypot(m[1],m[0]);c=[a[0]+m[0]*h,a[1]+m[1]*h];let E=be(c[0],c[1],a[0],a[1]),x=be(c[0],c[1],s[0],s[1]);if(c=x<E&&E>f?s:E<x&&x>f?a:c,Math.hypot(i-c[1],o-c[0])<n)return!0;a=s,s=e.points[d+1]}let l=re.get(e);return l&&l.sets.length?e.fillStyle==="solid"?bs(l,o,i,"round"):Bu(l,o,i,n):!1},Eg=e=>{let{element:t,threshold:n}=e;if(!re.get(t))return!1;let[r,o,i,a]=yi(e.element,e.point,e.elementsMap),s=en(0,1,-a),c=en(1,0,-i);if(!Yr(Ye(o,s),n)||!Yr(Ye(o,c),n))return!1;let[l,d]=nn(r),u=re.get(t);return u?e.check===Yr&&u.some(m=>bs(m,l,d,t.roundness?"round":"sharp"))?!0:u.some(f=>Bu(f,l,d,n)):!1},yi=(e,t,n)=>{let r=tn(t),[o,i,a,s]=F(e,n),c=vi(o,i,a,s),l=mi(c,e.angle),d=We(l,r),u=Ur(d,fi(c)),f=ls(u),m=rs(e.x,e.y),p=Ur(d,m),h=(a-o)/2,E=(s-i)/2;return[p,f,h,E]},gg=(e,t)=>{let n=tn(e),[r,o,i,a]=Gu(t),s=vi(r,o,i,a),c=mi(s,t.angle),l=We(c,n),d=Ur(l,fi(s)),u=ls(d),f=rs(t.x,t.y),m=Ur(l,f),p=(i-r)/2,h=(a-o)/2;return[m,u,p,h]};var ws=(e,t)=>{let[n,r,o,i]=F(e,t),a=vi(n,r,o,i),s=mi(a,e.angle),c=nr(_u(fi(a)));return Su(s,c)},vi=(e,t,n,r)=>we((e+n)/2,(t+r)/2),Ru=(e,t,n,r)=>{let o=ws(e,r),i=We(o,tn(t)),a=We(o,tn(n)),s=rr(i,a),c=e.height/e.width,l=e.width/2,d=e.height/2,u=s[2],f=s[3],m=s[1],p=Math.abs(f),h=Math.abs(u),E;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":E=m/(l*(h+c*p));break;case"diamond":E=p<h?m/(h*l):m/(p*d);break;case"ellipse":E=m/(l*Math.sqrt(u**2+c**2*f**2));break}return E||0},Fu=(e,t,n,r)=>{if(t===0){let[c,l,d,u]=F(e,r),f=vi(c,l,d,u);return nn(f)}let o=ws(e,r),i=We(o,tn(n)),a=nr(o),s;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":s=_g(e,t,i);break;case"ellipse":s=Tg(e,t,i);break}return nn(We(a,s))},Nu=(e,t,n,r=0,o)=>{let i=ws(e,o),a=We(i,tn(t)),s=We(i,tn(n)),c=rr(a,s),l=nr(i);return xg(e,c,a,r).map(u=>nn(We(l,u)))},xg=(e,t,n,r=0)=>{let o;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":let a=Ou(e);o=a.flatMap((s,c)=>{let l=[s,a[(c+1)%4]];return wg(t,bg(l,r))}).concat(a.flatMap(s=>vg(s,r,t)));break;case"ellipse":o=yg(e,r,t);break}if(o.length<2)return[];let i=o.sort((a,s)=>cs(a,n)-cs(s,n));return[i[0],i[i.length-1]]},Ou=(e,t=1)=>{let n=t*e.width/2,r=t*e.height/2;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return[we(n,r),we(n,-r),we(-n,-r),we(-n,r)];case"diamond":return[we(0,r),we(n,0),we(0,-r),we(-n,0)]}},wg=(e,t)=>{let[n,r]=t,o=Ye(n,e),i=Ye(r,e);return o*i>=0?[]:[yu(e,rr(n,r))]},bg=(e,t)=>{let[n,r]=e,o=Au(vu(n,r),t);return[We(o,n),We(o,r)]},yg=(e,t,n)=>{let r=e.width/2+t,o=e.height/2+t,i=n[2],a=n[3],s=n[1],c=r*r*i*i+o*o*a*a,l=c-s*s;if(c===0||l<=0)return[];let d=Math.sqrt(l),u=-r*r*i*s,f=-o*o*a*s;return[we((u+r*o*a*d)/c,(f-r*o*i*d)/c),we((u-r*o*a*d)/c,(f+r*o*i*d)/c)]},vg=(e,t,n)=>{if(t===0)return Ye(n,e)===0?[e]:[];let r=n[2],o=n[3],i=n[1],[a,s]=nn(e),c=t,l=r*r+o*o,d=c*c*l-(r*a+o*s+i)**2;if(l===0||d<=0)return[];let u=Math.sqrt(d),f=a*o*o-s*r*o-r*i,m=s*r*r-a*r*o-o*i;return[we((f+o*u)/l,(m-r*u)/l),we((f-o*u)/l,(m+r*u)/l)]},Tg=(e,t,n)=>{let r=Math.abs(t),o=e.width*r/2,i=e.height*r/2,a=Math.sign(t),[s,c]=nn(n),l=c===0?1e-4:c,d=s**2*i**2+l**2*o**2,u=(-s*i**2+a*l*Math.sqrt(Math.max(0,d-o**2*i**2)))/d,f=(-u*s-1)/l;f===0&&(f=(Object.is(f,-0)?-1:1)*.01);let m=-(o**2*u)/(f**2*i**2+u**2*o**2);return we(m,(-u*m-1)/f)},_g=(e,t,n)=>{let r=Math.abs(t),o=Math.sign(t),i=Ou(e,r),a=0,s=null;return i.forEach(c=>{let l=o*rr(n,c)[1];l>a&&(a=l,s=c)}),s},Ag=(e,t,n,r,[o,i],a)=>{let s=(l,d)=>Math.pow(1-l,3)*r[d]+3*l*Math.pow(1-l,2)*n[d]+3*Math.pow(l,2)*(1-l)*t[d]+e[d]*Math.pow(l,3),c=0;for(;c<=1;){let l=s(c,0),d=s(c,1);if(Math.sqrt(Math.pow(l-o,2)+Math.pow(d-i,2))<a)return!0;c+=.01}return!1},bs=(e,t,n,r)=>{let o=rt(e),i=[],a=!1;for(let s of o)s.op==="move"?(a=!a,a&&i.push([s.data[0],s.data[1]])):s.op==="bcurveTo"?a&&(i.push([s.data[0],s.data[1]]),i.push([s.data[2],s.data[3]]),i.push([s.data[4],s.data[5]])):s.op==="lineTo"&&a&&i.push([s.data[0],s.data[1]]);if(i.length>=4){if(r==="sharp")return ps(i,t,n);let s=Mu(i,10,5);return ps(s,t,n)}return!1},Bu=(e,t,n,r)=>{let o=rt(e),i=[0,0];return o.some(({op:a,data:s},c)=>{if(a==="move")i=s;else if(a==="bcurveTo"){let l=[s[0],s[1]],d=[s[2],s[3]],u=[s[4],s[5]],f=i;return i=u,Ag(f,l,d,u,[t,n],r)}else{if(a==="lineTo")return bs(e,t,n,"sharp");a==="qcurveTo"&&console.warn("qcurveTo is not implemented yet")}return!1})};g();var DT={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",R:"KeyR",S:"KeyS"},Ne={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:Do?"metaKey":"ctrlKey",DELETE:"Delete",ENTER:"Enter",ESCAPE:"Escape",QUESTION_MARK:"?",SPACE:" ",TAB:"Tab",CHEVRON_LEFT:"<",CHEVRON_RIGHT:">",PERIOD:".",COMMA:",",SUBTRACT:"-",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"},LT=e=>e===Ne.ARROW_LEFT||e===Ne.ARROW_RIGHT||e===Ne.ARROW_DOWN||e===Ne.ARROW_UP,kT=e=>e.altKey,CT=e=>e.shiftKey,ys=e=>e.shiftKey;var WT=e=>!e[Ne.CTRL_OR_CMD],Ts=e=>e.isBindingEnabled,Vu=(e,t)=>{let n=[];return t.forEach(r=>{let o=e.getNonDeletedElement(r);o!=null&&n.push(o)}),n},Wr=(e,t,n,r)=>{let o=new Set,i=new Set;zu(e,t,n,"start",o,i,r),zu(e,n,t,"end",o,i,r);let a=Array.from(i).filter(s=>!o.has(s));Vu(ot.getScene(e),a).forEach(s=>{O(s,{boundElements:s.boundElements?.filter(c=>c.type!=="arrow"||c.id!==e.id)})})},zu=(e,t,n,r,o,i,a)=>{if(t!=="keep")if(t!=null)(n==null||(n==="keep"?!_s(e,t,r):r==="start"||n.id!==t.id))&&(vs(e,t,r,a),o.add(t.id));else{let s=Mg(e,r);s!=null&&i.add(s)}},VT=(e,t,n)=>{e.forEach(r=>{Qe(r)?Wr(r,Ti(r,"start",t,n),Ti(r,"end",t,n),n):Jn(r)&&Sg(r,n)})},Sg=(e,t)=>{Zu(e,t).forEach(([n,r])=>Wr(n,r==="end"?"keep":e,r==="start"?"keep":e,t))},XT=(e,t,n,r,o)=>{t.startBoundElement!=null&&vs(e,t.startBoundElement,"start",o);let i=Vr(r,n.getNonDeletedElements(),o);i!=null&&!_s(e,i,"end")&&vs(e,i,"end",o)},vs=(e,t,n,r)=>{O(e,{[n==="start"?"startBinding":"endBinding"]:{elementId:t.id,...Pg(e,t,n,r)}}),Q(t.boundElements||[]).has(e.id)||O(t,{boundElements:(t.boundElements||[]).concat({id:e.id,type:"arrow"})})},_s=(e,t,n)=>{let r=e[n==="start"?"endBinding":"startBinding"];return Ig(e,r?.elementId,t)},Ig=(e,t,n)=>t===n.id&&e.points.length<3,ZT=(e,t)=>{e.forEach(n=>{Qe(n)&&Wr(n,null,null,t)})},Mg=(e,t)=>{let n=t==="start"?"startBinding":"endBinding",r=e[n];return r==null?null:(O(e,{[n]:null}),r.elementId)},Vr=(e,t,n)=>ns(t,o=>Jn(o,!1)&&Es(o,e,n)),Pg=(e,t,n,r)=>{let o=n==="start"?-1:1,i=o===-1?0:e.points.length-1,a=i-o,s=J.getPointAtIndexGlobalCoordinates(e,i,r),c=J.getPointAtIndexGlobalCoordinates(e,a,r);return{focus:Ru(t,c,s,r),gap:Math.max(1,xi(t,s,r))}},rn=(e,t,n)=>{let r=(e.boundElements??[]).filter(c=>c.type==="arrow");if(r.length===0)return;let{newSize:o,simultaneouslyUpdated:i}=n??{},a=Lg(i),s=ot.getScene(e);Vu(s,r.map(c=>c.id)).forEach(c=>{if(!ee(c))return;let l=e;if(!Dg(c,l))return;let d=Uu(l,c.startBinding,o),u=Uu(l,c.endBinding,o);if(a.has(c.id)){O(c,{startBinding:d,endBinding:u});return}Hu(c,"start",d,e,t),Hu(c,"end",u,e,t),X(c,s.getNonDeletedElementsMap())&&Mn(c,s.getNonDeletedElementsMap(),!1)})},Dg=(e,t)=>e.startBinding?.elementId===t.id||e.endBinding?.elementId===t.id,Lg=e=>new Set((e||[]).map(t=>t.id)),Hu=(e,t,n,r,o)=>{if(n==null||n.elementId!==r.id&&e.points.length>2)return;let i=ot.getScene(e).getElement(n.elementId);if(i==null)return;let a=t==="start"?-1:1,s=a===-1?0:e.points.length-1,c=s-a,l=J.getPointAtIndexGlobalCoordinates(e,c,o),d=Fu(i,n.focus,l,o),u;if(n.gap===0)u=d;else{let f=Nu(i,l,d,n.gap,o);f.length===0?u=d:u=f[0]}J.movePoints(e,[{index:s,point:J.pointFromAbsoluteCoords(e,u,o)}],{[t==="start"?"startBinding":"endBinding"]:n})},Uu=(e,t,n)=>{if(t==null||n==null)return t;let{gap:r,focus:o,elementId:i}=t,{width:a,height:s}=n,{width:c,height:l}=e,d=Math.max(1,Math.min(gs(e,a,s),r*(a<s?a/c:s/l)));return{elementId:i,gap:d,focus:o}},KT=(e,t,n)=>{let r=new Set(e.map(({id:o})=>o));return e.flatMap(o=>Qe(o,!1)?kg(o,t,n).filter(i=>!r.has(i.id)):Jn(o,!1)?Zu(o,n).filter(i=>!r.has(i[0].id)):[])},kg=(e,t,n)=>[Ti(e,"start",t,n),Ti(e,"end",t,n)].filter(r=>r!=null),Ti=(e,t,n,r)=>Vr(Xu(e,t,r),n,r),Xu=(e,t,n)=>{let r=t==="start"?0:-1;return jn(J.getPointAtIndexGlobalCoordinates(e,r,n))},Zu=(e,t)=>ot.getScene(e).getNonDeletedElements().map(r=>{if(!Qe(r,!1))return null;let o=$u(r,"start",e,t),i=$u(r,"end",e,t);return!o&&!i?null:[r,o&&i?"both":o?"start":"end",e]}).filter(r=>r!=null),$u=(e,t,n,r)=>e[t==="start"?"startBinding":"endBinding"]==null&&!_s(e,n,t)&&Es(n,Xu(e,t,r),r),jT=(e,t,n,r)=>{let o=new Set,i=new Set,a=r==="duplicatesServeAsOld";t.forEach(s=>{let{boundElements:c}=s;if(c!=null&&c.length>0&&(c.forEach(l=>{a&&!n.has(l.id)&&o.add(l.id)}),i.add(n.get(s.id))),Qe(s)){if(s.startBinding!=null){let{elementId:l}=s.startBinding;a&&!n.has(l)&&i.add(l)}if(s.endBinding!=null){let{elementId:l}=s.endBinding;a&&!n.has(l)&&i.add(l)}(s.startBinding!=null||s.endBinding!=null)&&o.add(n.get(s.id))}}),e.filter(({id:s})=>o.has(s)).forEach(s=>{let{startBinding:c,endBinding:l}=s;O(s,{startBinding:Yu(c,n),endBinding:Yu(l,n)})}),e.filter(({id:s})=>i.has(s)).forEach(s=>{let{boundElements:c}=s;c!=null&&c.length>0&&O(s,{boundElements:c.map(l=>n.has(l.id)?{id:n.get(l.id),type:l.type}:l)})})},Yu=(e,t)=>{if(e==null)return null;let{elementId:n,focus:r,gap:o}=e;return{focus:r,gap:o,elementId:t.get(n)??n}},qT=(e,t)=>{let n=new Set(t.map(o=>o.id)),r=new Set;t.forEach(o=>{Jn(o)?o.boundElements?.forEach(i=>{n.has(i.id)||r.add(i.id)}):Qe(o)&&(o.startBinding&&r.add(o.startBinding.elementId),o.endBinding&&r.add(o.endBinding.elementId))}),e.filter(({id:o})=>r.has(o)).forEach(o=>{Jn(o)?O(o,{boundElements:Cg(o.boundElements,n)}):Qe(o)&&O(o,{startBinding:Wu(o.startBinding,n),endBinding:Wu(o.endBinding,n)})})},Wu=(e,t)=>e==null||t.has(e.elementId)?null:e,Cg=(e,t)=>e?e.filter(n=>!t.has(n.id)):null;var Nt={version:null,points:[],zoom:null},J=class e{elementId;selectedPointsIndices;pointerDownState;isDragging;lastUncommittedPoint;pointerOffset;startBindingElement;endBindingElement;hoverPointIndex;segmentMidPointHoveredCoords;constructor(t){this.elementId=t.id,e.normalizePoints(t),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep",this.pointerDownState={prevSelectedPointsIndices:null,lastClickedPoint:-1,origin:null,segmentMidpoint:{value:null,index:null,added:!1}},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null}static POINT_HANDLE_SIZE=10;static getElement(t,n){let r=n.get(t);return r||null}static handleBoxSelection(t,n,r,o){if(!n.editingLinearElement||n.draggingElement?.type!=="selection")return!1;let{editingLinearElement:i}=n,{selectedPointsIndices:a,elementId:s}=i,c=e.getElement(s,o);if(!c)return!1;let[l,d,u,f]=F(n.draggingElement,o),p=e.getPointsGlobalCoordinates(c,o).reduce((h,E,x)=>((E[0]>=l&&E[0]<=u&&E[1]>=d&&E[1]<=f||t.shiftKey&&a?.includes(x))&&h.push(x),h),[]);r({editingLinearElement:{...i,selectedPointsIndices:p.length?p:null}})}static handlePointDragging(t,n,r,o,i,a,s){if(!a)return!1;let{selectedPointsIndices:c,elementId:l}=a,d=e.getElement(l,s);if(!d)return!1;let u=d.points[a.pointerDownState.lastClickedPoint];if(c&&u){if(ys(t)&&c.length===1&&d.points.length>1){let m=c[0],p=d.points[m===0?1:m-1],[h,E]=e._getShiftLockedDelta(d,s,p,[r,o],t[Ne.CTRL_OR_CMD]?null:n.gridSize);e.movePoints(d,[{index:m,point:[h+p[0],E+p[1]],isDragging:m===a.pointerDownState.lastClickedPoint}])}else{let m=e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ne.CTRL_OR_CMD]?null:n.gridSize),p=m[0]-u[0],h=m[1]-u[1];e.movePoints(d,c.map(E=>{let x=E===a.pointerDownState.lastClickedPoint?e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ne.CTRL_OR_CMD]?null:n.gridSize):[d.points[E][0]+p,d.points[E][1]+h];return{index:E,point:x,isDragging:E===a.pointerDownState.lastClickedPoint}}))}if(X(d,s)&&Mn(d,s,!1),Qe(d,!1)){let m=[];c[0]===0&&m.push(jn(e.getPointGlobalCoordinates(d,d.points[0],s)));let h=c[c.length-1];h===d.points.length-1&&m.push(jn(e.getPointGlobalCoordinates(d,d.points[h],s))),m.length&&i(d,m)}return!0}return!1}static handlePointerUp(t,n,r,o,i){let{elementId:a,selectedPointsIndices:s,isDragging:c,pointerDownState:l}=n,d=e.getElement(a,i);if(!d)return n;let u={};if(c&&s){for(let f of s)if(f===0||f===d.points.length-1){Ft(d.points,r.zoom.value)&&e.movePoints(d,[{index:f,point:f===0?d.points[d.points.length-1]:d.points[0]}]);let m=Ts(r)?Vr(jn(e.getPointAtIndexGlobalCoordinates(d,f,i)),o,i):null;u[f===0?"startBindingElement":"endBindingElement"]=m}}return{...n,...u,selectedPointsIndices:c||t.shiftKey?!c&&t.shiftKey&&l.prevSelectedPointsIndices?.includes(l.lastClickedPoint)?s&&s.filter(f=>f!==l.lastClickedPoint):s:s?.includes(l.lastClickedPoint)?[l.lastClickedPoint]:s,isDragging:!1,pointerOffset:{x:0,y:0}}}static getEditorMidPoints=(t,n,r)=>{let o=X(t,n);return!r.editingLinearElement&&t.points.length>2&&!o?[]:(Nt.version===t.version&&Nt.zoom===r.zoom.value||e.updateEditorMidPointsCache(t,n,r),Nt.points)};static updateEditorMidPointsCache=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,n),i=0,a=[];for(;i<o.length-1;){if(e.isSegmentTooShort(t,t.points[i],t.points[i+1],r.zoom)){a.push(null),i++;continue}let s=e.getSegmentMidPoint(t,o[i],o[i+1],i+1,n);a.push(s),i++}Nt.points=a,Nt.version=t.version,Nt.zoom=r.zoom.value};static getSegmentMidpointHitCoords=(t,n,r,o)=>{let{elementId:i}=t,a=e.getElement(i,o);if(!a||e.getPointIndexUnderCursor(a,o,r.zoom,n.x,n.y)>=0||e.getPointsGlobalCoordinates(a,o).length>=3&&!r.editingLinearElement)return null;let l=e.POINT_HANDLE_SIZE/r.zoom.value,d=t.segmentMidPointHoveredCoords;if(d&&be(d[0],d[1],n.x,n.y)<=l)return d;let u=0,f=e.getEditorMidPoints(a,o,r);for(;u<f.length;){if(f[u]!==null&&be(f[u][0],f[u][1],n.x,n.y)<=l)return f[u];u++}return null};static isSegmentTooShort(t,n,r,o){let i=be(n[0],n[1],r[0],r[1]);return t.points.length>2&&t.roundness&&(i=Ku(t,r)),i*o.value<e.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(t,n,r,o,i){let a=Xr(n,r);if(t.points.length>2&&t.roundness){let s=As(t,t.points[o]);if(s){let c=ju(t,t.points[o],.5),[l,d]=Ss(s[0],s[1],s[2],s[3],c);a=e.getPointGlobalCoordinates(t,[l,d],i)}}return a}static getSegmentMidPointIndex(t,n,r,o){let i=e.getElement(t.elementId,o);if(!i)return-1;let a=e.getEditorMidPoints(i,o,n),s=0;for(;s<a.length;){if(e.arePointsEqual(r,a[s]))return s+1;s++}return-1}static handlePointerDown(t,n,r,o,i,a,s){let c={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!i)return c;let{elementId:l}=i,d=e.getElement(l,s);if(!d)return c;let u=e.getSegmentMidpointHitCoords(i,o,n,s),f=null;if(u&&(f=e.getSegmentMidPointIndex(i,n,u,s)),t.altKey&&n.editingLinearElement)return i.lastUncommittedPoint==null&&(O(d,{points:[...d.points,e.createPointAt(d,s,o.x,o.y,t[Ne.CTRL_OR_CMD]?null:n.gridSize)]}),c.didAddPoint=!0),r.resumeRecording(),c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:-1,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:[d.points.length-1],lastUncommittedPoint:null,endBindingElement:Vr(o,a,s)},c.didAddPoint=!0,c;let m=e.getPointIndexUnderCursor(d,s,n.zoom,o.x,o.y);if(m>=0||u)c.hitElement=d;else{let{startBindingElement:D,endBindingElement:M}=i;Ts(n)&&Qe(d)&&Wr(d,D,M,s)}let[p,h,E,x]=F(d,s),w=(p+E)/2,b=(h+x)/2,T=m>-1&&z(d.x+d.points[m][0],d.y+d.points[m][1],w,b,d.angle),y=m>-1||t.shiftKey?t.shiftKey||i.selectedPointsIndices?.includes(m)?Rg([...i.selectedPointsIndices||[],m]):[m]:null;return c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:m,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:y,pointerOffset:T?{x:o.x-T[0],y:o.y-T[1]}:{x:0,y:0}},c}static arePointsEqual(t,n){return!t&&!n?!0:!t||!n?!1:Is(t,n)}static handlePointerMove(t,n,r,o,i){if(!o.editingLinearElement)return null;let{elementId:a,lastUncommittedPoint:s}=o.editingLinearElement,c=e.getElement(a,i);if(!c)return o.editingLinearElement;let{points:l}=c,d=l[l.length-1];if(!t.altKey)return d===s&&e.deletePoints(c,[l.length-1]),{...o.editingLinearElement,lastUncommittedPoint:null};let u;if(ys(t)&&l.length>=2){let f=l[l.length-2],[m,p]=e._getShiftLockedDelta(c,i,f,[n,r],t[Ne.CTRL_OR_CMD]?null:o.gridSize);u=[m+f[0],p+f[1]]}else u=e.createPointAt(c,i,n-o.editingLinearElement.pointerOffset.x,r-o.editingLinearElement.pointerOffset.y,t[Ne.CTRL_OR_CMD]?null:o.gridSize);return d===s?e.movePoints(c,[{index:c.points.length-1,point:u}]):e.addPoints(c,o,[{point:u}]),{...o.editingLinearElement,lastUncommittedPoint:c.points[c.points.length-1]}}static getPointGlobalCoordinates(t,n,r){let[o,i,a,s]=F(t,r),c=(o+a)/2,l=(i+s)/2,{x:d,y:u}=t;return[d,u]=z(d+n[0],u+n[1],c,l,t.angle),[d,u]}static getPointsGlobalCoordinates(t,n){let[r,o,i,a]=F(t,n),s=(r+i)/2,c=(o+a)/2;return t.points.map(l=>{let{x:d,y:u}=t;return[d,u]=z(d+l[0],u+l[1],s,c,t.angle),[d,u]})}static getPointAtIndexGlobalCoordinates(t,n,r){let o=n<0?t.points.length+n:n,[i,a,s,c]=F(t,r),l=(i+s)/2,d=(a+c)/2,u=t.points[o],{x:f,y:m}=t;return u?z(f+u[0],m+u[1],l,d,t.angle):z(f,m,l,d,t.angle)}static pointFromAbsoluteCoords(t,n,r){let[o,i,a,s]=F(t,r),c=(o+a)/2,l=(i+s)/2,[d,u]=z(n[0],n[1],c,l,-t.angle);return[d-t.x,u-t.y]}static getPointIndexUnderCursor(t,n,r,o,i){let a=e.getPointsGlobalCoordinates(t,n),s=a.length;for(;--s>-1;){let c=a[s];if(be(o,i,c[0],c[1])*r.value<e.POINT_HANDLE_SIZE+1)return s}return-1}static createPointAt(t,n,r,o,i){let a=Zr(r,o,i),[s,c,l,d]=F(t,n),u=(s+l)/2,f=(c+d)/2,[m,p]=z(a[0],a[1],u,f,-t.angle);return[m-t.x,p-t.y]}static getNormalizedPoints(t){let{points:n}=t,r=n[0][0],o=n[0][1];return{points:n.map((i,a)=>[i[0]-r,i[1]-o]),x:t.x+r,y:t.y+o}}static normalizePoints(t){O(t,e.getNormalizedPoints(t))}static duplicateSelectedPoints(t,n){if(!t.editingLinearElement)return!1;let{selectedPointsIndices:r,elementId:o}=t.editingLinearElement,i=e.getElement(o,n);if(!i||r===null)return!1;let{points:a}=i,s=[],c=!1,l=-1,d=a.reduce((u,f,m)=>{if(++l,u.push(f),r.includes(m)){let h=a[m+1];h||(c=!0),u.push(h?[(f[0]+h[0])/2,(f[1]+h[1])/2]:[f[0],f[1]]),s.push(l+1),++l}return u},[]);if(O(i,{points:d}),c){let u=i.points[i.points.length-1];e.movePoints(i,[{index:i.points.length-1,point:[u[0]+30,u[1]+30]}])}return{appState:{...t,editingLinearElement:{...t.editingLinearElement,selectedPointsIndices:s}}}}static deletePoints(t,n){let r=0,o=0;if(n.includes(0)){let s=t.points.find((c,l)=>!n.includes(l));s&&(r=s[0],o=s[1])}let a=t.points.reduce((s,c,l)=>(n.includes(l)||s.push(s.length?[c[0]-r,c[1]-o]:[0,0]),s),[]);e._updatePoints(t,a,r,o)}static addPoints(t,n,r){let a=[...t.points,...r.map(s=>s.point)];e._updatePoints(t,a,0,0)}static movePoints(t,n,r){let{points:o}=t,i=0,a=0,s=n.find(({index:l})=>l===0);s&&(i=s.point[0]+o[s.index][0],a=s.point[1]+o[s.index][1]);let c=o.map((l,d)=>{let u=n.find(f=>f.index===d);if(u){if(s)return l;let f=u.point[0]-o[u.index][0],m=u.point[1]-o[u.index][1];return[l[0]+f,l[1]+m]}return i||a?[l[0]-i,l[1]-a]:l});e._updatePoints(t,c,i,a,r)}static shouldAddMidpoint(t,n,r,o){if(!e.getElement(t.elementId,o))return!1;let{segmentMidpoint:a}=t.pointerDownState;if(a.added||a.value===null||a.index===null||t.pointerDownState.origin===null)return!1;let s=t.pointerDownState.origin,c=be(s.x,s.y,n.x,n.y);return!(!r.editingLinearElement&&c<wd/r.zoom.value)}static addMidpoint(t,n,r,o,i){let a=e.getElement(t.elementId,i);if(!a)return;let{segmentMidpoint:s}=t.pointerDownState,c={pointerDownState:t.pointerDownState,selectedPointsIndices:t.selectedPointsIndices},l=e.createPointAt(a,i,n.x,n.y,o?r.gridSize:null),d=[...a.points.slice(0,s.index),l,...a.points.slice(s.index)];return O(a,{points:d}),c.pointerDownState={...t.pointerDownState,segmentMidpoint:{...t.pointerDownState.segmentMidpoint,added:!0},lastClickedPoint:s.index},c.selectedPointsIndices=[s.index],c}static _updatePoints(t,n,r,o,i){let a=or(t,n),s=or(t,t.points),c=(a[0]+a[2])/2,l=(a[1]+a[3])/2,d=(s[0]+s[2])/2,u=(s[1]+s[3])/2,f=d-c,m=u-l,p=z(r,o,f,m,t.angle);O(t,{...i,points:n,x:t.x+p[0],y:t.y+p[1]})}static _getShiftLockedDelta(t,n,r,o,i){let a=e.getPointGlobalCoordinates(t,r,n),[s,c]=Zr(o[0],o[1],i),{width:l,height:d}=Ms(a[0],a[1],s,c);return le([l,d],[0,0],-t.angle)}static getBoundTextElementPosition=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,r);o.length<2&&O(n,{isDeleted:!0});let i=0,a=0;if(t.points.length%2===1){let s=Math.floor(t.points.length/2),c=e.getPointGlobalCoordinates(t,t.points[s],r);i=c[0]-n.width/2,a=c[1]-n.height/2}else{let s=t.points.length/2-1,c=Nt.points[s];t.points.length===2&&(c=Xr(o[0],o[1])),(!c||Nt.version!==t.version)&&(c=e.getSegmentMidPoint(t,o[s],o[s+1],s+1,r)),i=c[0]-n.width/2,a=c[1]-n.height/2}return{x:i,y:a}};static getMinMaxXYWithBoundText=(t,n,r,o)=>{let[i,a,s,c]=r,l=(i+s)/2,d=(a+c)/2,{x:u,y:f}=e.getBoundTextElementPosition(t,o,n),m=u+o.width,p=f+o.height,h=le([i,a],[l,d],t.angle),E=le([s,a],[l,d],t.angle),x=le([u,f],[l,d],-t.angle),w=le([m,f],[l,d],-t.angle),b=le([u,p],[l,d],-t.angle),T=le([m,p],[l,d],-t.angle);return h[0]<E[0]&&h[1]>=E[1]?(i=Math.min(i,b[0]),s=Math.max(s,Math.max(w[0],T[0])),a=Math.min(a,x[1]),c=Math.max(c,T[1])):h[0]>=E[0]&&h[1]>E[1]?(i=Math.min(i,T[0]),s=Math.max(s,Math.max(x[0],w[0])),a=Math.min(a,b[1]),c=Math.max(c,w[1])):h[0]>=E[0]?(i=Math.min(i,w[0]),s=Math.max(s,b[0]),a=Math.min(a,T[1]),c=Math.max(c,x[1])):h[1]<=E[1]&&(i=Math.min(i,Math.min(w[0],x[0])),s=Math.max(s,T[0]),a=Math.min(a,w[1]),c=Math.max(c,b[1])),[i,a,s,c,l,d]};static getElementAbsoluteCoords=(t,n,r=!1)=>{let o,i,a,s,c;if(t.points.length<2||!re.get(t)){let{minX:f,minY:m,maxX:p,maxY:h}=t.points.reduce((E,[x,w])=>(E.minY=Math.min(E.minY,w),E.minX=Math.min(E.minX,x),E.maxX=Math.max(E.maxX,x),E.maxY=Math.max(E.maxY,w),E),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});i=f+t.x,a=m+t.y,s=p+t.x,c=h+t.y}else{let f=re.generateElementShape(t,null),m=rt(f[0]),[p,h,E,x]=Kr(m);i=p+t.x,a=h+t.y,s=E+t.x,c=x+t.y}let l=(i+s)/2,d=(a+c)/2;if(o=[i,a,s,c,l,d],!r)return o;let u=X(t,n);return u&&(o=e.getMinMaxXYWithBoundText(t,n,[i,a,s,c],u)),o}},Rg=e=>{let t=[...new Set(e.filter(n=>n!==null&&n!==-1))];return t=t.sort((n,r)=>n-r),t.length?t:null};g();var jr={},qu=(e,t)=>{let n=jr[e]||(jr[e]={height:t});return n.height=t,n},Ju=e=>{jr[e]&&delete jr[e]},p_=e=>jr[e]?.height??null;var ks=e=>Ud(e).replace(/\t/g," "),Cs=e=>ks(e).split(`
3
+ `),Fg=(e,t,n)=>{let r,o={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height};o.text=e.text,t&&(r=it(t,e),o.text=ar(e.originalText,ue(e),r));let i=Pn(o.text,ue(e),e.lineHeight);if(o.width=i.width,o.height=i.height,t){let a=Jr(t,e),s=it(t,e);if(!q(t)&&i.height>a){let u=Ls(i.height,t.type);O(t,{height:u}),qu(t.id,u)}if(i.width>s){let u=Ls(i.width,t.type);O(t,{width:u})}let c={...e,...o},{x:l,y:d}=Qu(t,c,n);o.x=l,o.y=d}O(e,o)},M_=(e,t,n)=>{let r=Q(e);t.forEach(o=>{let i=n.get(o.id),a=Dn(o);if(a){let s=n.get(a);if(s){let c=r.get(i);c&&O(c,{boundElements:(o.boundElements||[]).filter(d=>d.id!==s&&d.id!==a).concat({type:"text",id:s})});let l=r.get(s);l&&V(l)&&O(l,{containerId:c?i:null})}}})},Mn=(e,t,n,r=!1)=>{if(!Dn(e))return;Ju(e.id);let i=X(e,t);if(i&&i.text){if(!e)return;let a=i.text,s=i.height,c=i.width,l=it(e,i),d=Jr(e,i),u=e.height;if(r||n!=="n"&&n!=="s"){a&&(a=ar(i.originalText,ue(i),l));let f=Pn(a,ue(i),i.lineHeight);s=f.height,c=f.width}if(s>d){u=Ls(s,e.type);let f=u-e.height,m=!q(e)&&(n==="ne"||n==="nw"||n==="n")?e.y-f:e.y;O(e,{height:u,y:m})}O(i,{text:a,width:c,height:s}),q(e)||O(i,Qu(e,i,t))}},Qu=(e,t,n)=>{if(q(e))return J.getBoundTextElementPosition(e,t,n);let r=Fs(e),o=Jr(e,t),i=it(e,t),a,s;return t.verticalAlign===Pt.TOP?s=r.y:t.verticalAlign===Pt.BOTTOM?s=r.y+(o-t.height):s=r.y+(o/2-t.height/2),t.textAlign===Oa.LEFT?a=r.x:t.textAlign===Oa.RIGHT?a=r.x+(i-t.width):a=r.x+(i/2-t.width/2),{x:a,y:s}},Pn=(e,t,n)=>{e=e.split(`
4
+ `).map(a=>a||" ").join(`
5
+ `);let r=parseFloat(t),o=Ng(e,r,n);return{width:Rs(e,t),height:o}},ef=e=>{let t=Cs(e.text).length;return e.height/t/e.fontSize},ir=(e,t)=>e*t,_i=(e,t,n)=>{let{unitsPerEm:r,ascender:o,descender:i}=zg[e],a=t/r,s=n-a*o+a*i;return a*o+s},tf=(e,t)=>ir(e,t)+de*2,Ps,qr=(e,t)=>{Ps||(Ps=document.createElement("canvas"));let n=Ps.getContext("2d");n.font=t;let r=n.measureText(e).width;return kt()?r*10:r},Rs=(e,t)=>{let n=Cs(e),r=0;return n.forEach(o=>{r=Math.max(r,qr(o,t))}),r},Ng=(e,t,n)=>{let r=Cs(e).length;return ir(t,n)*r},Og=e=>{let t=e.split("-");return t.length>1&&t.forEach((n,r)=>{r!==t.length-1&&(t[r]=n+="-")}),t.join(" ").split(" ")},ar=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let r=[],o=e.split(`
6
+ `),i=qr(" ",t),a="",s=0,c=d=>{d.trim()&&r.push(d)},l=()=>{a="",s=0};return o.forEach(d=>{if(Rs(d,t)<=n){r.push(d);return}let f=Og(d);l();let m=0;for(;m<f.length;){let p=qr(f[m],t);if(p===n)c(f[m]),m++;else if(p>n){for(c(a),l();f[m].length>0;){let h=String.fromCodePoint(f[m].codePointAt(0)),E=nf.calculate(h,t);s+=E,f[m]=f[m].slice(h.length),s>=n?(c(a),a=h,s=E):a+=h}s+i>=n?(c(a),l()):a.endsWith("-")||(a+=" ",s+=i),m++}else for(;s<n&&m<f.length;){let h=f[m];if(s=qr(a+h,t),s>n){c(a),l();break}m++;let E=!h.endsWith("-");if(a+=h,E&&(a+=" "),s+i>=n){E?r.push(a.slice(0,-1)):r.push(a),l();break}}}a.slice(-1)===" "&&(a=a.slice(0,-1),c(a))}),r.join(`
7
+ `)},nf=(()=>{let e={};return{calculate:(r,o)=>{let i=r.charCodeAt(0);if(e[o]||(e[o]=[]),!e[o][i]){let a=qr(r,o);e[o][i]=a}return e[o][i]},getCache:r=>e[r]}})(),rf="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),of=(e,t)=>{let n=Bg(e);return n===0?Pn(rf.split("").join(`
8
+ `),e,t).width+de*2:n+de*2};var Bg=e=>{let t=nf.getCache(e);if(!t)return 0;let n=t.filter(r=>r!==void 0);return Math.max(...n)};var Dn=e=>e?.boundElements?.length&&e?.boundElements?.filter(t=>t.type==="text")[0]?.id||null,X=(e,t)=>{if(!e)return null;let n=Dn(e);return n&&t.get(n)||null},Ae=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,P_=(e,t,n)=>{if(!q(e))return{x:e.x+e.width/2,y:e.y+e.height/2};let r=J.getPointsGlobalCoordinates(e,n);if(r.length%2===1){let a=Math.floor(e.points.length/2),s=J.getPointGlobalCoordinates(e,e.points[a],n);return{x:s[0],y:s[1]}}let o=e.points.length/2-1,i=J.getEditorMidPoints(e,n,t)[o];return i||(i=J.getSegmentMidPoint(e,r[o],r[o+1],o+1,n)),{x:i[0],y:i[1]}},Fs=e=>{let t=de,n=de;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}},D_=(e,t)=>!t||q(t)?e.angle:t.angle;var L_=(e,t)=>e.some(n=>{if(Ue(n)){let r=Ae(n,t);return!q(r)}return!1}),k_=(e,t)=>e.some(n=>{if(Ue(n)){let r=Ae(n,t);return!q(r)}return V(n)}),C_=(e,t,n,r,o)=>{let i=Fe(e,t);if(i.length===1)return Vo(i[0],!1)?i[0]:null;let a=null;for(let s=e.length-1;s>=0;--s){if(e[s].isDeleted)continue;let[c,l,d,u]=F(e[s],o);if(q(e[s])&&wi(e[s],t,null,[n,r],o)){a=e[s];break}else if(c<n&&n<d&&l<r&&r<u){a=e[s];break}}return Vo(a,!1)?a:null},Gg=new Set(["rectangle","ellipse","diamond","arrow"]),R_=e=>Gg.has(e.type),Ls=(e,t)=>{e=Math.ceil(e);let n=de*2;return t==="ellipse"?Math.round((e+n)/Math.sqrt(2)*2):t==="arrow"?e+n*8:t==="diamond"?2*(e+n):e+n},it=(e,t)=>{let{width:n}=e;if(q(e)){let r=(t?.fontSize??xt)*Ad;return Math.max(_d*n,r)}return e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-de*2:e.type==="diamond"?Math.round(n/2)-de*2:n-de*2},Jr=(e,t)=>{let{height:n}=e;return q(e)?n-de*8*2<=0?t.height:n:e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-de*2:e.type==="diamond"?Math.round(n/2)-de*2:n-de*2},F_=()=>Rs(rf,ue({fontSize:xt,fontFamily:qe}))>0,Ds={[Ee.Virgil]:1.25,[Ee.Helvetica]:1.15,[Ee.Cascadia]:1.2},zg={[Ee.Virgil]:{unitsPerEm:1e3,ascender:886,descender:-374},[Ee.Helvetica]:{unitsPerEm:2048,ascender:1577,descender:-471},[Ee.Cascadia]:{unitsPerEm:2048,ascender:1977,descender:-480}},Ai=e=>e in Ds?Ds[e]:Ds[qe];var Ns="invert(100%) hue-rotate(180deg) saturate(1.25)",Hg=Dt(),df=(e,t)=>wt(e)&&!t.imageCache.has(e.fileId),uf=(e,t,n)=>n.theme==="dark"&&wt(e)&&!df(e,t)&&t.imageCache.get(e.fileId)?.mimeType!==R.svg,Ii=e=>e.type==="freedraw"?e.strokeWidth*12:20,Ug=(e,t,n)=>{let r=(t?.opacity??100)*e.opacity/1e4;return(n.has(e.id)||t&&n.has(t.id))&&(r*=Sd/100),r},$g=(e,t,n)=>{let i=Ii(e),[a,s,c,l]=F(e,t),d=ee(e)||fe(e)?He(a,c):e.width,u=ee(e)||fe(e)?He(s,l):e.height,f=d*window.devicePixelRatio+i*2,m=u*window.devicePixelRatio+i*2,p=n.value;return(f*p>32767||m*p>32767)&&(p=Math.min(32767/f,32767/m)),f*m*p*p>16777216&&(p=Math.sqrt(16777216/(f*m))),f=Math.floor(f*p),m=Math.floor(m*p),{width:f,height:m,scale:p}},Yg=(e,t,n,r,o)=>{let i=document.createElement("canvas"),a=i.getContext("2d"),s=Ii(e),{width:c,height:l,scale:d}=$g(e,t,n);i.width=c,i.height=l;let u=0,f=0;if(ee(e)||fe(e)){let[p,h]=F(e,t);u=e.x>p?He(e.x,p)*window.devicePixelRatio*d:0,f=e.y>h?He(e.y,h)*window.devicePixelRatio*d:0,a.translate(u,f)}a.save(),a.translate(s*d,s*d),a.scale(window.devicePixelRatio*d,window.devicePixelRatio*d);let m=yt.canvas(i);return uf(e,r,o)&&(a.filter=Ns),Si(e,m,a,r,o),a.restore(),{element:e,canvas:i,theme:o.theme,scale:d,zoomValue:n.value,canvasOffsetX:u,canvasOffsetY:f,boundTextElementVersion:X(e,t)?.version||null,containingFrameOpacity:Le(e,t)?.opacity||100}},ff=14,mf=document.createElement("img");mf.src=`data:${R.svg},${encodeURIComponent('<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="image" class="svg-inline--fa fa-image fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#888" d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"></path></svg>')}`;var pf=document.createElement("img");pf.src=`data:${R.svg},${encodeURIComponent('<svg viewBox="0 0 668 668" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48ZM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56ZM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.81709 0 0 .81709 124.825 145.825)"/><path d="M256 8C119.034 8 8 119.033 8 256c0 136.967 111.034 248 248 248s248-111.034 248-248S392.967 8 256 8Zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676ZM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.30366 0 0 .30366 506.822 60.065)"/></svg>')}`;var Wg=(e,t,n)=>{t.fillStyle="#E7E7E7",t.fillRect(0,0,e.width,e.height);let r=Math.min(e.width,e.height),o=Math.min(r,Math.min(r*.4,100));t.drawImage(e.status==="error"?pf:mf,e.width/2-o/2,e.height/2-o/2,o,o)},Si=(e,t,n,r,o)=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":{n.lineJoin="round",n.lineCap="round",t.draw(re.get(e));break}case"arrow":case"line":{n.lineJoin="round",n.lineCap="round",re.get(e).forEach(i=>{t.draw(i)});break}case"freedraw":{n.save(),n.fillStyle=e.strokeColor;let i=Vg(e),a=re.get(e);a&&t.draw(a),n.fillStyle=e.strokeColor,n.fill(i),n.restore();break}case"image":{let i=wt(e)?r.imageCache.get(e.fileId)?.image:void 0;i!=null&&!(i instanceof Promise)?(e.roundness&&n.roundRect&&(n.beginPath(),n.roundRect(0,0,e.width,e.height,Ot(Math.min(e.width,e.height),e)),n.clip()),n.drawImage(i,0,0,e.width,e.height)):Wg(e,n,o.zoom.value);break}default:if(V(e)){let i=Ho(e.text),a=i&&!n.canvas.isConnected;a&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",i?"rtl":"ltr"),n.save(),n.font=ue(e),n.fillStyle=e.strokeColor,n.textAlign=e.textAlign;let s=e.text.replace(/\r\n?/g,`
9
+ `).split(`
10
+ `),c=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,l=ir(e.fontSize,e.lineHeight),d=_i(e.fontFamily,e.fontSize,l);for(let u=0;u<s.length;u++)n.fillText(s[u],c,u*l+d);n.restore(),a&&n.canvas.remove()}else throw new Error(`Unimplemented type ${e.type}`)}},gi=new WeakMap,af=(e,t,n,r)=>{let o=n?r.zoom:Hg.zoom,i=gi.get(e),a=i&&i.zoomValue!==o.value&&!r?.shouldCacheIgnoreZoom,s=X(e,t)?.version||null,c=Le(e,t)?.opacity||100;if(!i||a||i.theme!==r.theme||i.boundTextElementVersion!==s||i.containingFrameOpacity!==c){let l=Yg(e,t,o,n,r);return gi.set(e,l),l}return i},sf=(e,t,n,r,o)=>{let i=e.element,a=Ii(i),s=e.scale,[c,l,d,u]=F(i,o);fe(i)&&(c=Math.floor(c),d=Math.ceil(d),l=Math.floor(l),u=Math.ceil(u));let f=((c+d)/2+r.scrollX)*window.devicePixelRatio,m=((l+u)/2+r.scrollY)*window.devicePixelRatio;t.save(),t.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let p=X(i,o);if(q(i)&&p){let h=document.createElement("canvas"),E=h.getContext("2d"),x=Math.max(He(c,d),He(l,u));h.width=x*window.devicePixelRatio*s+a*e.scale*10,h.height=x*window.devicePixelRatio*s+a*e.scale*10;let w=(h.width-e.canvas.width)/2,b=(h.height-e.canvas.height)/2;E.translate(h.width/2,h.height/2),E.rotate(i.angle),E.drawImage(e.canvas,-e.canvas.width/2,-e.canvas.height/2,e.canvas.width,e.canvas.height);let[,,,,T,y]=F(p,o);E.rotate(-i.angle);let D=h.width/2-(T-c)*window.devicePixelRatio*s-w-a*s,M=h.height/2-(y-l)*window.devicePixelRatio*s-b-a*s;E.translate(-D,-M),E.clearRect(-(p.width/2+de)*window.devicePixelRatio*s,-(p.height/2+de)*window.devicePixelRatio*s,(p.width+de*2)*window.devicePixelRatio*s,(p.height+de*2)*window.devicePixelRatio*s),t.translate(f,m),t.drawImage(h,-(d-c)/2*window.devicePixelRatio-w/s-a,-(u-l)/2*window.devicePixelRatio-b/s-a,h.width/s,h.height/s)}else if(t.translate(f,m),t.rotate(i.angle),"scale"in e.element&&!df(i,n)&&t.scale(e.element.scale[0],e.element.scale[1]),t.translate(-f,-m),t.drawImage(e.canvas,(c+r.scrollX)*window.devicePixelRatio-a*e.scale/e.scale,(l+r.scrollY)*window.devicePixelRatio-a*e.scale/e.scale,e.canvas.width/e.scale,e.canvas.height/e.scale),_.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX==="true"&&Xo(i)){let h=X(i,o),E=Fs(i);t.strokeStyle="#c92a2a",t.lineWidth=3,t.strokeRect((E.x+r.scrollX)*window.devicePixelRatio,(E.y+r.scrollY)*window.devicePixelRatio,it(i,h)*window.devicePixelRatio,Jr(i,h)*window.devicePixelRatio)}t.restore()},q_=(e,t,n)=>{t.save(),t.translate(e.x+n.scrollX,e.y+n.scrollY),t.fillStyle="rgba(0, 0, 200, 0.04)";let r=.5/n.zoom.value;t.fillRect(r,r,e.width,e.height),t.lineWidth=1/n.zoom.value,t.strokeStyle=" rgb(105, 101, 219)",t.strokeRect(r,r,e.width,e.height),t.restore()},Qr=(e,t,n,r,o,i,a)=>{switch(o.globalAlpha=Ug(e,Le(e,t),i.elementsPendingErasure),e.type){case"magicframe":case"frame":{a.frameRendering.enabled&&a.frameRendering.outline&&(o.save(),o.translate(e.x+a.scrollX,e.y+a.scrollY),o.fillStyle="rgba(0, 0, 200, 0.04)",o.lineWidth=me.strokeWidth/a.zoom.value,o.strokeStyle=me.strokeColor,$d(e)&&(o.strokeStyle=a.theme==="light"?"#7affd7":"#1d8264"),me.radius&&o.roundRect?(o.beginPath(),o.roundRect(0,0,e.width,e.height,me.radius/a.zoom.value),o.stroke(),o.closePath()):o.strokeRect(0,0,e.width,e.height),o.restore());break}case"freedraw":{if(re.generateElementShape(e,null),i.isExporting){let[s,c,l,d]=F(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,m=(l-s)/2-(e.x-s),p=(d-c)/2-(e.y-c);o.save(),o.translate(u,f),o.rotate(e.angle),o.translate(-m,-p),Si(e,r,o,i,a),o.restore()}else{let s=af(e,t,i,a);sf(s,o,i,a,n)}break}case"rectangle":case"diamond":case"ellipse":case"line":case"arrow":case"image":case"text":case"iframe":case"embeddable":{if(re.generateElementShape(e,i),i.isExporting){let[s,c,l,d]=F(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,m=(l-s)/2-(e.x-s),p=(d-c)/2-(e.y-c);if(V(e)){let E=Ae(e,t);if(q(E)){let x=J.getBoundTextElementPosition(E,e,t);m=(l-s)/2-(x.x-s),p=(d-c)/2-(x.y-c)}}o.save(),o.translate(u,f),uf(e,i,a)&&(o.filter="none");let h=X(e,t);if(q(e)&&h){let E=document.createElement("canvas"),x=E.getContext("2d"),w=Math.max(He(s,l),He(c,d)),b=Ii(e);E.width=w*a.exportScale+b*10*a.exportScale,E.height=w*a.exportScale+b*10*a.exportScale,x.translate(E.width/2,E.height/2),x.scale(a.exportScale,a.exportScale),m=e.width/2-(e.x-s),p=e.height/2-(e.y-c),x.rotate(e.angle);let T=yt.canvas(E);x.translate(-m,-p),Si(e,T,x,i,a),x.translate(m,p),x.rotate(-e.angle);let[,,,,y,D]=F(h,t),M=(s+l)/2-y,A=(c+d)/2-D;x.translate(-M,-A),x.clearRect(-h.width/2,-h.height/2,h.width,h.height),o.scale(1/a.exportScale,1/a.exportScale),o.drawImage(E,-E.width/2,-E.height/2,E.width,E.height)}else o.rotate(e.angle),e.type==="image"&&o.scale(e.scale[0],e.scale[1]),o.translate(-m,-p),Si(e,r,o,i,a);o.restore()}else{let s=af(e,t,i,a),c=o.imageSmoothingEnabled;!a?.shouldCacheIgnoreZoom&&(!e.angle||cf(e.angle))&&(o.imageSmoothingEnabled=!1),sf(s,o,i,a,n),o.imageSmoothingEnabled=c}break}default:throw new Error(`Unimplemented type ${e.type}`)}o.globalAlpha=1},hf=new WeakMap([]);function Ef(e){let t=Os(e),n=new Path2D(t);return hf.set(e,n),n}function Vg(e){return hf.get(e)}function Os(e){let t=e.simulatePressure?e.points:e.points.length?e.points.map(([r,o],i)=>[r,o,e.pressures[i]]):[[0,0,.5]],n={simulatePressure:e.simulatePressure,size:e.strokeWidth*4.25,thinning:.6,smoothing:.5,streamline:.5,easing:r=>Math.sin(r*Math.PI/2),last:!!e.lastCommittedPoint};return Zg(uu(t,n))}function lf(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}var Xg=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g;function Zg(e){if(!e.length)return"";let t=e.length-1;return e.reduce((n,r,o,i)=>(o===t?n.push(r,lf(r,i[0]),"L",i[0],"Z"):n.push(r,lf(r,i[o+1])),n),["M",e[0],"Q"]).join(" ").replace(Xg,"$1")}var Kg=e=>[8,8+e],wf=e=>[1.5,6+e];function jg(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&&ts(e.type)||ee(e)&&n>=50?t:Math.min(t/(n<10?3:2),2.5)}var Oe=(e,t=!1)=>{let n={seed:e.seed,strokeLineDash:e.strokeStyle==="dashed"?Kg(e.strokeWidth):e.strokeStyle==="dotted"?wf(e.strokeWidth):void 0,disableMultiStroke:e.strokeStyle!=="solid",strokeWidth:e.strokeStyle!=="solid"?e.strokeWidth+.5:e.strokeWidth,fillWeight:e.strokeWidth/2,hachureGap:e.strokeWidth*4,roughness:jg(e),stroke:e.strokeColor,preserveVertices:t||e.roughness<Ba.cartoonist};switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":return n.fillStyle=e.fillStyle,n.fill=jt(e.backgroundColor)?void 0:e.backgroundColor,e.type==="ellipse"&&(n.curveFitting=1),n;case"line":case"freedraw":return Ft(e.points)&&(n.fillStyle=e.fillStyle,n.fill=e.backgroundColor==="transparent"?void 0:e.backgroundColor),n;case"arrow":return n;default:throw new Error(`Unimplemented type ${e.type}`)}},gf=(e,t,n)=>Je(e)&&(t||Wo(e)&&n?.get(e.id)!==!0)&&jt(e.backgroundColor)&&jt(e.strokeColor)?{...e,roughness:0,backgroundColor:"#d3d3d3",fillStyle:"solid"}:qn(e)?{...e,strokeColor:jt(e.strokeColor)?"#000000":e.strokeColor,backgroundColor:jt(e.backgroundColor)?"#f4f4f6":e.backgroundColor}:e,xf=(e,t,n,r,o,i,a)=>{let s=Gs(e,t,n,r);if(s===null)return[];switch(r){case"dot":case"circle":case"circle_outline":{let[c,l,d]=s;return delete i.strokeLineDash,[o.circle(c,l,d,{...i,fill:r==="circle_outline"?a:e.strokeColor,fillStyle:"solid",stroke:e.strokeColor,roughness:Math.min(.5,i.roughness||0)})]}case"triangle":case"triangle_outline":{let[c,l,d,u,f,m]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,m],[c,l]],{...i,fill:r==="triangle_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"diamond":case"diamond_outline":{let[c,l,d,u,f,m,p,h]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,m],[p,h],[c,l]],{...i,fill:r==="diamond_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"bar":case"arrow":default:{let[c,l,d,u,f,m]=s;if(e.strokeStyle==="dotted"){let p=wf(e.strokeWidth-1);i.strokeLineDash=[p[0],p[1]-1]}else delete i.strokeLineDash;return i.roughness=Math.min(1,i.roughness||0),[o.line(d,u,c,l,i),o.line(f,m,c,l,i)]}}},ku=(e,t,{isExporting:n,canvasBackgroundColor:r,embedsValidationStatus:o})=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":{let i;if(e.roundness){let a=e.width,s=e.height,c=Ot(Math.min(a,s),e);i=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`,Oe(gf(e,n,o),!0))}else i=t.rectangle(0,0,e.width,e.height,Oe(gf(e,n,o),!1));return i}case"diamond":{let i,[a,s,c,l,d,u,f,m]=Bs(e);if(e.roundness){let p=Ot(Math.abs(a-f),e),h=Ot(Math.abs(l-s),e);i=t.path(`M ${a+p} ${s+h} L ${c-p} ${l-h}
11
+ C ${c} ${l}, ${c} ${l}, ${c-p} ${l+h}
12
+ L ${d+p} ${u-h}
13
+ C ${d} ${u}, ${d} ${u}, ${d-p} ${u-h}
14
+ L ${f+p} ${m+h}
15
+ C ${f} ${m}, ${f} ${m}, ${f+p} ${m-h}
16
+ L ${a-p} ${s+h}
17
+ C ${a} ${s}, ${a} ${s}, ${a+p} ${s+h}`,Oe(e,!0))}else i=t.polygon([[a,s],[c,l],[d,u],[f,m]],Oe(e));return i}case"ellipse":return t.ellipse(e.width/2,e.height/2,e.width,e.height,Oe(e));case"line":case"arrow":{let i,a=Oe(e),s=e.points.length?e.points:[[0,0]];if(e.roundness?i=[t.curve(s,a)]:a.fill?i=[t.polygon(s,a)]:i=[t.linearPath(s,a)],e.type==="arrow"){let{startArrowhead:c=null,endArrowhead:l="arrow"}=e;if(c!==null){let d=xf(e,i,"start",c,t,a,r);i.push(...d)}if(l!==null){let d=xf(e,i,"end",l,t,a,r);i.push(...d)}}return i}case"freedraw":{let i;if(Ef(e),Ft(e.points)){let a=Iu(e.points,.75);i=t.curve(a,{...Oe(e),stroke:"none"})}else i=null;return i}case"frame":case"magicframe":case"text":case"image":return null;default:return $o(e,`generateElementShape(): Unimplemented type ${e?.type}`),null}};g();var bf=e=>{let t=e.map(r=>r[0]),n=e.map(r=>r[1]);return{width:Math.max(...t)-Math.min(...t),height:Math.max(...n)-Math.min(...n)}},on=(e,t,n,r)=>{let o=n.map(m=>m[e]),i=Math.max(...o),a=Math.min(...o),s=i-a,c=s===0?1:t/s,l=1/0,d=n.map(m=>{let p=m[e]*c,h=[...m];return h[e]=p,p<l&&(l=p),h});if(!r||d.length===2)return d;let u=a-l;return d.map(m=>m.map((p,h)=>h===e?p+u:p))};var zs=class e{static boundsCache=new WeakMap;static getBounds(t,n){let r=e.boundsCache.get(t);if(r?.version&&r.version===t.version&&!Ue(t))return r.bounds;let o=e.calculateBounds(t,n);return e.boundsCache.set(t,{version:t.version,bounds:o}),o}static calculateBounds(t,n){let r,[o,i,a,s,c,l]=F(t,n);if(fe(t)){let[d,u,f,m]=Us(t.points.map(([p,h])=>z(p,h,c-t.x,l-t.y,t.angle)));return[d+t.x,u+t.y,f+t.x,m+t.y]}else if(ee(t))r=nx(t,c,l,n);else if(t.type==="diamond"){let[d,u]=z(c,i,c,l,t.angle),[f,m]=z(c,s,c,l,t.angle),[p,h]=z(o,l,c,l,t.angle),[E,x]=z(a,l,c,l,t.angle),w=Math.min(d,f,p,E),b=Math.min(u,m,h,x),T=Math.max(d,f,p,E),y=Math.max(u,m,h,x);r=[w,b,T,y]}else if(t.type==="ellipse"){let d=(a-o)/2,u=(s-i)/2,f=Math.cos(t.angle),m=Math.sin(t.angle),p=Math.hypot(d*f,u*m),h=Math.hypot(u*f,d*m);r=[c-p,l-h,c+p,l+h]}else{let[d,u]=z(o,i,c,l,t.angle),[f,m]=z(o,s,c,l,t.angle),[p,h]=z(a,s,c,l,t.angle),[E,x]=z(a,i,c,l,t.angle),w=Math.min(d,f,p,E),b=Math.min(u,m,h,x),T=Math.max(d,f,p,E),y=Math.max(u,m,h,x);r=[w,b,T,y]}return r}},F=(e,t,n=!1)=>{if(fe(e))return Jg(e);if(ee(e))return J.getElementAbsoluteCoords(e,t,n);if(V(e)){let r=t?Ae(e,t):null;if(q(r)){let o=J.getBoundTextElementPosition(r,e,t);return[o.x,o.y,o.x+e.width,o.y+e.height,o.x+e.width/2,o.y+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]},Hs=(e,t)=>{let[n,r,o,i,a,s]=F(e,t),c=[a,s];if(ee(e)||fe(e)){let x=[],w=0;for(;w<e.points.length-1;)x.push([le([e.points[w][0]+e.x,e.points[w][1]+e.y],c,e.angle),le([e.points[w+1][0]+e.x,e.points[w+1][1]+e.y],c,e.angle)]),w++;return x}let[l,d,u,f,m,p,h,E]=[[n,r],[o,r],[n,i],[o,i],[a,r],[a,i],[n,s],[o,s]].map(x=>le(x,c,e.angle));return e.type==="diamond"?[[m,h],[m,E],[p,h],[p,E]]:e.type==="ellipse"?[[m,h],[m,E],[p,h],[p,E],[m,h],[m,E],[p,h],[p,E]]:[[l,d],[u,f],[l,u],[d,f],[l,E],[u,E],[d,h],[f,h]]},Gu=e=>[e.x,e.y,e.x+e.width,e.y+e.height,e.x+e.width/2,e.y+e.height/2];var Bs=e=>{let t=Math.floor(e.width/2)+1,n=0,r=e.width,o=Math.floor(e.height/2)+1,i=t,a=e.height;return[t,n,r,o,i,a,0,o]},rt=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},yf=(e,t,n,r,o)=>{let i=1-e;return Math.pow(i,3)*t+3*Math.pow(i,2)*e*n+3*i*Math.pow(e,2)*r+Math.pow(e,3)*o},vf=(e,t,n,r)=>{let o=t-e,i=n-t,a=r-n,s=3*o-6*i+3*a,c=6*i-6*o,l=3*o,d=c*c-4*s*l;if(!(d>=0))return!1;let f=null,m=null,p=1/0,h=1/0;return s===0?p=h=-l/c:(p=(-c+Math.sqrt(d))/(2*s),h=(-c-Math.sqrt(d))/(2*s)),p>=0&&p<=1&&(f=yf(p,e,t,n,r)),h>=0&&h<=1&&(m=yf(h,e,t,n,r)),[f,m]},qg=(e,t,n,r)=>{let o=vf(e[0],t[0],n[0],r[0]),i=vf(e[1],t[1],n[1],r[1]),a=Math.min(e[0],r[0]),s=Math.max(e[0],r[0]);if(o){let d=o.filter(u=>u!==null);a=Math.min(a,...d),s=Math.max(s,...d)}let c=Math.min(e[1],r[1]),l=Math.max(e[1],r[1]);if(i){let d=i.filter(u=>u!==null);c=Math.min(c,...d),l=Math.max(l,...d)}return[a,c,s,l]},Kr=(e,t)=>{let n=[0,0],{minX:r,minY:o,maxX:i,maxY:a}=e.reduce((s,{op:c,data:l})=>{if(c==="move")n=l;else if(c==="bcurveTo"){let d=[l[0],l[1]],u=[l[2],l[3]],f=[l[4],l[5]],m=t?t(...d):d,p=t?t(...u):u,h=t?t(...f):f,E=t?t(...n):n;n=f;let[x,w,b,T]=qg(E,m,p,h);s.minX=Math.min(s.minX,x),s.minY=Math.min(s.minY,w),s.maxX=Math.max(s.maxX,b),s.maxY=Math.max(s.maxY,T)}return s},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r,o,i,a]},Us=e=>{let t=1/0,n=1/0,r=-1/0,o=-1/0;for(let[i,a]of e)t=Math.min(t,i),n=Math.min(n,a),r=Math.max(r,i),o=Math.max(o,a);return[t,n,r,o]},Jg=e=>{let[t,n,r,o]=Us(e.points),i=t+e.x,a=n+e.y,s=r+e.x,c=o+e.y;return[i,a,s,c,(i+s)/2,(a+c)/2]},Qg=e=>{switch(e){case"arrow":return 25;case"diamond":case"diamond_outline":return 12;default:return 15}},ex=e=>{switch(e){case"bar":return 90;case"arrow":return 20;default:return 25}},Gs=(e,t,n,r)=>{let o=rt(t[0]);if(o.length<1)return null;let i=n==="start"?1:o.length-1,a=o[i].data,s=[a[4],a[5]],c=[a[2],a[3]],l=[a[0],a[1]],d=o[i-1],u=[0,0];d.op==="move"?u=d.data:d.op==="bcurveTo"&&(u=[d.data[4],d.data[5]]);let f=(N,B)=>Math.pow(1-N,3)*s[B]+3*N*Math.pow(1-N,2)*c[B]+3*Math.pow(N,2)*(1-N)*l[B]+u[B]*Math.pow(N,3),[m,p]=n==="start"?u:s,[h,E]=[f(.3,0),f(.3,1)],x=Math.hypot(m-h,p-E),w=(m-h)/x,b=(p-E)/x,T=Qg(r),y=0;{let[N,B]=n==="end"?e.points[e.points.length-1]:e.points[0],[k,U]=e.points.length>1?n==="end"?e.points[e.points.length-2]:e.points[1]:[0,0];y=Math.hypot(N-k,B-U)}let M=Math.min(T,y*(r==="diamond"||r==="diamond_outline"?.25:.5)),A=m-w*M,I=p-b*M;if(r==="dot"||r==="circle"||r==="circle_outline"){let N=Math.hypot(I-p,A-m)+e.strokeWidth-2;return[m,p,N]}let P=ex(r),[v,S]=z(A,I,m,p,-P*Math.PI/180),[L,H]=z(A,I,m,p,P*Math.PI/180);if(r==="diamond"||r==="diamond_outline"){let N,B;if(n==="start"){let[k,U]=e.points.length>1?e.points[1]:[0,0];[N,B]=z(m+M*2,p,m,p,Math.atan2(U-p,k-m))}else{let[k,U]=e.points.length>1?e.points[e.points.length-2]:[0,0];[N,B]=z(m-M*2,p,m,p,Math.atan2(p-U,m-k))}return[m,p,v,S,N,B,L,H]}return[m,p,v,S,L,H]},tx=e=>{let t=yt.generator(),n=Oe(e),r=e.roundness?"curve":n.fill?"polygon":"linearPath";return t[r](e.points,n)},nx=(e,t,n,r)=>{let o=X(e,r);if(e.points.length<2){let[u,f]=e.points[0],[m,p]=z(e.x+u,e.y+f,t,n,e.angle),h=[m,p,m,p];if(o){let E=J.getMinMaxXYWithBoundText(e,r,[m,p,m,p],o);h=[E[0],E[1],E[2],E[3]]}return h}let a=re.get(e)?.[0]??tx(e),s=rt(a),l=Kr(s,(u,f)=>z(e.x+u,e.y+f,t,n,e.angle)),d=[l[0],l[1],l[2],l[3]];if(o){let u=J.getMinMaxXYWithBoundText(e,r,d,o);d=[u[0],u[1],u[2],u[3]]}return d},at=(e,t)=>zs.getBounds(e,t),De=e=>{if(!e.length)return[0,0,0,0];let t=1/0,n=-1/0,r=1/0,o=-1/0,i=Q(e);return e.forEach(a=>{let[s,c,l,d]=at(a,i);t=Math.min(t,s),r=Math.min(r,c),n=Math.max(n,l),o=Math.max(o,d)}),[t,r,n,o]},yA=(e,t)=>{let[n,r,o,i]=De(e);return[n+t.x,r+t.y,o+t.x,i+t.y]},Ln=(e,t,n,r)=>{if(!(ee(e)||fe(e)))return[e.x,e.y,e.x+t,e.y+n];let o=on(0,t,on(1,n,e.points,r),r),i;if(fe(e))i=Us(o);else{let d=yt.generator(),u=e.roundness?d.curve(o,Oe(e)):d.linearPath(o,Oe(e)),f=rt(u);i=Kr(f)}let[a,s,c,l]=i;return[a+e.x,s+e.y,c+e.x,l+e.y]},or=(e,t)=>{let n=yt.generator(),r=e.roundness==null?n.linearPath(t,Oe(e)):n.curve(t,Oe(e)),o=rt(r),[i,a,s,c]=Kr(o);return[i+e.x,a+e.y,s+e.x,c+e.y]},Qa=(e,t)=>{if(!e.length)return[0,0,0,0];let n=1/0,r=e[0],o=Q(e);return e.forEach(i=>{let[a,s,c,l]=at(i,o),d=be((a+c)/2,(s+l)/2,t.x,t.y);d<n&&(n=d,r=i)}),at(r,o)},Tf=e=>{let[t,n,r,o]=De(e);return{minX:t,minY:n,maxX:r,maxY:o,width:r-t,height:o-n,midX:(t+r)/2,midY:(n+o)/2}},vA=({scrollX:e,scrollY:t,width:n,height:r,zoom:o})=>[-e,-t,-e+n/o.value,-t+r/o.value];var z=(e,t,n,r,o)=>[(e-n)*Math.cos(o)-(t-r)*Math.sin(o)+n,(e-n)*Math.sin(o)+(t-r)*Math.cos(o)+r],le=(e,t,n)=>z(e[0],e[1],t[0],t[1],n),Mi=(e,t,n,r,o,i,a,s)=>{let c=Math.cos(r),l=Math.sin(r);return e.e&&e.w?t+=o+a:e.e?(t+=o*(1+c),n+=o*l,t+=a*(1-c),n+=a*-l):e.w&&(t+=o*(1-c),n+=o*-l,t+=a*(1+c),n+=a*l),e.n&&e.s?n+=i+s:e.n?(t+=i*l,n+=i*(1-c),t+=s*-l,n+=s*(1+c)):e.s&&(t+=i*-l,n+=i*(1+c),t+=s*l,n+=s*(1-c)),[t,n]};var be=(e,t,n,r)=>{let o=n-e,i=r-t;return Math.hypot(o,i)},Xr=(e,t)=>[(e[0]+t[0])/2,(e[1]+t[1])/2],Ft=(e,t=1)=>{if(e.length>=3){let[n,r]=[e[0],e[e.length-1]];return be(n[0],n[1],r[0],r[1])<=bd/t}return!1},ps=(e,t,n)=>{let r=e.length;if(r<3)return!1;let o=[Number.MAX_SAFE_INTEGER,n],i=[t,n],a=0;for(let s=0;s<r;s++){let c=e[s],l=e[(s+1)%r];if(rx(c,l,i,o)){if(eo(c,i,l)===0)return kn(c,i,l);a++}}return a%2===1},kn=(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]),eo=(e,t,n)=>{let r=(t[1]-e[1])*(n[0]-t[0])-(t[0]-e[0])*(n[1]-t[1]);return r===0?0:r>0?1:2},rx=(e,t,n,r)=>{let o=eo(e,t,n),i=eo(e,t,r),a=eo(n,r,e),s=eo(n,r,t);return!!(o!==i&&a!==s||o===0&&kn(e,n,t)||i===0&&kn(e,r,t)||a===0&&kn(n,e,r)||s===0&&kn(n,t,r))},Zr=(e,t,n)=>n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t],Ot=(e,t)=>{if(t.roundness?.type===Ce.PROPORTIONAL_RADIUS||t.roundness?.type===Ce.LEGACY)return e*No;if(t.roundness?.type===Ce.ADAPTIVE_RADIUS){let n=t.roundness?.value??Id,r=n/No;return e<=r?e*No:n}return 0},As=(e,t)=>{let n=re.generateElementShape(e,null);if(!n)return null;let r=rt(n[0]),o=[0,0],i=0,a=1/0,s=null;for(;i<r.length;){let{op:c,data:l}=r[i];if(c==="move"&&(o=l),c==="bcurveTo"){let d=o,u=[l[0],l[1]],f=[l[2],l[3]],m=[l[4],l[5]],p=be(m[0],m[1],t[0],t[1]);p<a&&(a=p,s=[d,u,f,m]),o=m}i++}return s},Ss=(e,t,n,r,o)=>{let i=(c,l)=>Math.pow(1-c,3)*r[l]+3*c*Math.pow(1-c,2)*n[l]+3*Math.pow(c,2)*(1-c)*t[l]+e[l]*Math.pow(c,3),a=i(o,0),s=i(o,1);return[a,s]},ox=(e,t)=>{let n=As(e,t);if(!n)return[];let r=[],o=1;for(;o>0;){let i=Ss(n[0],n[1],n[2],n[3],o);r.push([i[0],i[1]]),o-=.05}return r.length&&Is(r.at(-1),t)&&r.push([t[0],t[1]]),r},_f=(e,t)=>{let n=[];n[0]=0;let r=ox(e,t),o=0,i=0;for(;o<r.length-1;){let a=be(r[o][0],r[o][1],r[o+1][0],r[o+1][1]);i+=a,n.push(i),o++}return n},Ku=(e,t)=>_f(e,t).at(-1),ju=(e,t,n)=>{let r=_f(e,t),o=r.length-1,i=r.at(-1),a=n*i,s=0,c=o,l=0;for(;s<c;)l=Math.floor(s+(c-s)/2),r[l]<a?s=l+1:c=l;return r[l]>a&&l--,r[l]===a?l/o:1-(l+(a-r[l])/(r[l+1]-r[l]))/o},Is=(e,t)=>e[0]===t[0]&&e[1]===t[1],cf=e=>Math.round(e/Math.PI*1e4)%5e3===0,MA=([e,t],[n,r])=>e<=n?t>=n:e>=n?r>=e:!1,PA=(e,t)=>{let n=Math.max(e[0],t[0]),r=Math.min(e[1],t[1]);return n<=r?[n,r]:null},to=(e,t,n)=>e>=t&&e<=n;g();var ix=(e,t,n)=>{let r=n.reduce((o,i)=>(i.groupIds.includes(e)&&(o[i.id]=!0),o),{});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}}},FA=function(){let e=null,t=null,n=null,r=(i,a,s,c)=>{if(n!==void 0&&a===t&&i===e&&s.editingGroupId===n?.editingGroupId)return n;let l={};for(let f of i){let m=f.groupIds;if(s.editingGroupId){let p=m.indexOf(s.editingGroupId);p>-1&&(m=m.slice(0,p))}if(m.length>0){let p=m[m.length-1];l[p]=!0}}let d={},u=a.reduce((f,m)=>{let p=m.groupIds.find(h=>l[h]);return p&&(f[m.id]=!0,Array.isArray(d[p])?d[p].push(m.id):d[p]=[m.id]),f},{});for(let f of Object.keys(d))d[f].length<2&&l[f]&&(l[f]=!1);return t=a,e=i,n={editingGroupId:s.editingGroupId,selectedGroupIds:l,selectedElementIds:$s({...s.selectedElementIds,...u},c)},n},o=(i,a,s,c)=>{let l=c?c.scene.getSelectedElements({selectedElementIds:i.selectedElementIds,elements:a}):Fe(a,i);return l.length?r(l,a,i,s):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:$s(i.selectedElementIds,s)}};return o.clearCache=()=>{t=null,e=null,n=null},o}(),NA=(e,t)=>ax(e,t)!=null,ax=(e,t)=>t.groupIds.filter(n=>n!==e.editingGroupId).find(n=>e.selectedGroupIds[n]),OA=e=>Object.entries(e.selectedGroupIds).filter(([t,n])=>n).map(([t,n])=>t),Af=(e,t)=>{let n={...t,selectedGroupIds:{}};for(let r of e){let o=r.groupIds;if(t.editingGroupId){let i=o.indexOf(t.editingGroupId);i>-1&&(o=o.slice(0,i))}if(o.length>0){let i=o[o.length-1];n={...n,...ix(i,n,e)}}}return n.selectedGroupIds},BA=(e,t)=>({...e,editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[t.id]:!0}}),sx=(e,t)=>e.groupIds.includes(t),sr=(e,t)=>{let n=[];for(let r of e.values())sx(r,t)&&n.push(r);return n},GA=(e,t)=>e.groupIds.find(n=>t[n]),Sf=(e,t,n)=>{let r=[...e],o=t?e.indexOf(t):-1,i=o>-1?o:e.length;for(let a=0;a<i;a++)r[a]=n(r[a]);return r},zA=(e,t,n)=>{let r=[...e],o=n?r.indexOf(n):-1,i=o>-1?o:r.length;return r.splice(i,0,t),r},HA=(e,t)=>e.filter(n=>!t[n]),UA=(e,t)=>{let n=new Map;return e.forEach(r=>{let o=r.groupIds.length===0?r.id:r.groupIds[r.groupIds.length-1],i=n.get(o)||[],a=X(r,t);a&&i.push(a),n.set(o,[...i,r])}),Array.from(n.values())};g();g();g();g();g();var Mf=fr(If(),1),lr=e=>(e=e.trim(),e&&(0,Mf.sanitizeUrl)(e)),XA=e=>!!(e?.includes(location.origin)||e?.startsWith("/")),Pf=e=>{if(e=lr(e),e.startsWith("/"))return`${location.origin}${e}`;try{new URL(e)}catch{return"about:blank"}return e};g();g();var Df=[],Lf=e=>(Df=Df.concat(e),e);g();var Cf='<svg viewBox="0 0 24 24" stroke-width="1" width="28" height="28" xmlns="http://www.w3.org/2000/svg">',gx='<path d="M6.164 11.755a5.314 5.314 0 0 1-4.932-5.298 5.314 5.314 0 0 1 5.311-5.311 5.314 5.314 0 0 1 5.307 5.113l8.773 8.773a3.322 3.322 0 0 1 0 4.696l-.895.895a3.322 3.322 0 0 1-4.696 0l-8.868-8.868Z" style="fill:#fff"/>',Rf='<path stroke="#1b1b1f" fill="#fff" d="m7.868 11.113 7.773 7.774a2.359 2.359 0 0 0 1.667.691 2.368 2.368 0 0 0 2.357-2.358c0-.625-.248-1.225-.69-1.667L11.201 7.78 9.558 9.469l-1.69 1.643v.001Zm10.273 3.606-3.333 3.333m-3.25-6.583 2 2m-7-7 3 3M3.664 3.625l1 1M2.529 6.922l1.407-.144m5.735-2.932-1.118.866M4.285 9.823l.758-1.194m1.863-6.207-.13 1.408"/>',xx=`data:${R.svg},${encodeURIComponent(`${Cf}${Rf}</svg>`)}`,wx=`data:${R.svg},${encodeURIComponent(`${Cf}${gx}${Rf}</svg>`)}`,bx=e=>{e&&(e.style.cursor="")},yx=(e,t)=>{e&&(e.style.cursor=t)},vt,kf,vx=(e,t)=>{let r=()=>{let o=t===Pr.DARK;vt=document.createElement("canvas"),vt.theme=t,vt.height=20,vt.width=20;let i=vt.getContext("2d");i.lineWidth=1,i.beginPath(),i.arc(vt.width/2,vt.height/2,5,0,2*Math.PI),i.fillStyle=o?yn.black:yn.white,i.fill(),i.strokeStyle=o?yn.white:yn.black,i.stroke(),kf=vt.toDataURL(R.svg)};(!vt||vt.theme!==t)&&r(),yx(e,`url(${kf}) ${20/2} ${20/2}, auto`)},Ff=(e,t)=>{if(e)if(t.activeTool.type==="selection")bx(e);else if(Cd(t))e.style.cursor=Lo.GRAB;else if(kd(t))vx(e,t.theme);else if(t.activeTool.type==="laser"){let n=t.theme===Pr.LIGHT?xx:wx;e.style.cursor=`url(${n}), auto`}else["image","custom"].includes(t.activeTool.type)?t.activeTool.type!=="image"&&(e.style.cursor=Lo.AUTO):e.style.cursor=Lo.CROSSHAIR};g();g();var Tx=new Qn(Date.now()),_x=0,Tt=()=>Math.floor(Tx.next()*2**31);var st=()=>kt()?`id${_x++}`:Bo();var Bt=(e,{x:t,y:n,strokeColor:r=ne.strokeColor,backgroundColor:o=ne.backgroundColor,fillStyle:i=ne.fillStyle,strokeWidth:a=ne.strokeWidth,strokeStyle:s=ne.strokeStyle,roughness:c=ne.roughness,opacity:l=ne.opacity,width:d=0,height:u=0,angle:f=0,groupIds:m=[],frameId:p=null,roundness:h=null,boundElements:E=null,link:x=null,locked:w=ne.locked,...b})=>({id:b.id||st(),type:e,x:t,y:n,width:d,height:u,angle:f,strokeColor:r,backgroundColor:o,fillStyle:i,strokeWidth:a,strokeStyle:s,roughness:c,opacity:l,groupIds:m,frameId:p,roundness:h,seed:b.seed??Tt(),version:b.version||1,versionNonce:b.versionNonce??0,isDeleted:!1,boundElements:E,updated:Lt(),link:x,locked:w,customData:b.customData}),no=e=>Bt(e.type,e),gS=e=>Bt("embeddable",e),xS=e=>({...Bt("iframe",e)}),wS=e=>Rn({...Bt("frame",e),type:"frame",name:e?.name||null},{}),bS=e=>Rn({...Bt("magicframe",e),type:"magicframe",name:e?.name||null},{}),Nf=(e,t)=>({x:e.textAlign==="center"?t.width/2:e.textAlign==="right"?t.width:0,y:e.verticalAlign==="middle"?t.height/2:0}),_t=e=>{let t=e.fontFamily||qe,n=e.fontSize||xt,r=e.lineHeight||Ai(t),o=ks(e.text),i=Pn(o,ue({fontFamily:t,fontSize:n}),r),a=e.textAlign||Zn,s=e.verticalAlign||Co,c=Nf({textAlign:a,verticalAlign:s},i);return Rn({...Bt("text",e),text:o,fontSize:n,fontFamily:t,textAlign:a,verticalAlign:s,x:e.x-c.x,y:e.y-c.y,width:i.width,height:i.height,containerId:e.containerId||null,originalText:o,lineHeight:r},{})},Ax=(e,t,n)=>{let{width:r,height:o}=Pn(n,ue(e),e.lineHeight),{textAlign:i,verticalAlign:a}=e,s,c;if(i==="center"&&a===Pt.MIDDLE&&!e.containerId){let l=Pn(e.text,ue(e),e.lineHeight),d=Nf(e,{width:r-l.width,height:o-l.height});s=e.x-d.x,c=e.y-d.y}else{let[l,d,u,f]=F(e,t),[m,p,h,E]=Ln(e,r,o,!1),x=(l-m)/2,w=(d-p)/2,b=(u-h)/2,T=(f-E)/2;[s,c]=Mi({s:!0,e:i==="center"||i==="left",w:i==="center"||i==="right"},e.x,e.y,e.angle,x,w,b,T)}return{width:r,height:o,x:Number.isFinite(s)?s:e.x,y:Number.isFinite(c)?c:e.y}},ki=(e,t,n,r=e.text)=>{if(e.isDeleted)return;t&&(r=ar(r,ue(e),it(t,e)));let o=Ax(e,n,r);return{text:r,...o}},Sx=(e,t,n,{text:r,isDeleted:o,originalText:i})=>Rn(e,{originalText:i,isDeleted:o??e.isDeleted,...ki(e,t,n,i)}),yS=e=>({...Bt(e.type,e),points:e.points||[],pressures:[],simulatePressure:e.simulatePressure,lastCommittedPoint:null}),Cn=e=>({...Bt(e.type,e),points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null}),Ix=e=>({...Bt("image",e),strokeColor:"transparent",status:e.status??"pending",fileId:e.fileId??null,scale:e.scale??[1,1]}),Di=(e,t=0)=>{if(e==null||typeof e!="object")return e;let n=Object.prototype.toString.call(e);if(n==="[object Object]"){let r=typeof e.constructor=="function"?Object.create(Object.getPrototypeOf(e)):{};for(let o in e)if(e.hasOwnProperty(o)){if(t===0&&(o==="shape"||o==="canvas"))continue;r[o]=Di(e[o],t+1)}return r}if(Array.isArray(e)){let r=e.length,o=new Array(r);for(;r--;)o[r]=Di(e[r],t+1);return o}return _.DEV&&n!=="[object Object]"&&n!=="[object Array]"&&n.startsWith("[object ")&&console.warn(`_deepCloneElement: unexpected object type ${n}. This value will not be cloned!`),e},Ys=e=>Di(e),Li=e=>{if(kt()&&e){let t=`${e}_copy`;return window.h?.app?.getSceneElementsIncludingDeleted().find(n=>n.id===t)&&(t+="_copy"),t}return st()},Mx=(e,t,n,r)=>{let o=Ys(n);return o.id=Li(o.id),o.boundElements=null,o.updated=Lt(),o.seed=Tt(),o.groupIds=Sf(o.groupIds,e,i=>(t.has(i)||t.set(i,Li(i)),t.get(i))),r&&(o=Object.assign(o,r)),o},vS=(e,t)=>{let n=[],r=Q(e),o=new Map,i=s=>{if(o.has(s))return o.get(s);if(r.has(s)){let c=Li(s);return o.set(s,c),c}return null},a=new Map;for(let s of e){let c=Di(s);if(c.id=i(s.id),t?.randomizeSeed&&(c.seed=Tt(),ro(c)),c.groupIds&&(c.groupIds=c.groupIds.map(l=>(a.has(l)||a.set(l,Li(l)),a.get(l)))),"containerId"in c&&c.containerId){let l=i(c.containerId);c.containerId=l}if("boundElements"in c&&c.boundElements&&(c.boundElements=c.boundElements.reduce((l,d)=>{let u=i(d.id);return u&&l.push({...d,id:u}),l},[])),"endBinding"in c&&c.endBinding){let l=i(c.endBinding.elementId);c.endBinding=l?{...c.endBinding,elementId:l}:null}if("startBinding"in c&&c.startBinding){let l=i(c.startBinding.elementId);c.startBinding=l?{...c.startBinding,elementId:l}:null}c.frameId&&(c.frameId=i(c.frameId)),n.push(c)}return n};var Gt=new Map,Px=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)(?:\?t=|&t=|\?start=|&start=)?([a-zA-Z0-9_-]+)?[^\s]*$/,Dx=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,Lx=/^https:\/\/(?:www\.)?figma\.com/,kx=/^https:\/\/gist\.github\.com/,Cx=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist.github.com\/.*?)\.js["']/i,Rx=/(?:http(?:s)?:\/\/)?(?:(?:w){3}.)?(?:twitter|x).com/,Fx=/^<blockquote[\s\S]*?\shref=["'](https:\/\/(?:twitter|x).com\/[^"']*)/i,Nx=/^https:\/\/(?:www\.)?val.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,Ox=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,Of=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,Ws=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","link.excalidraw.com","gist.github.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","val.town","giphy.com","dddice.com"]),Ci=e=>`<html><body>${e}</body></html>`,Gf=e=>{if(!e)return null;if(Gt.has(e))return Gt.get(e);let t=e,n="generic",r={w:560,h:840},o=e.match(Px);if(o?.[2]){let c=o[3]?`&start=${o[3]}`:"",l=e.includes("shorts");switch(n="video",o[1]){case"embed/":case"watch?v=":case"shorts/":e=`https://www.youtube.com/embed/${o[2]}?enablejsapi=1${c}`;break;case"playlist?list=":case"embed/videoseries?list=":e=`https://www.youtube.com/embed/videoseries?list=${o[2]}&enablejsapi=1${c}`;break;default:e=`https://www.youtube.com/embed/${o[2]}?enablejsapi=1${c}`;break}return r=l?{w:315,h:560}:{w:560,h:315},Gt.set(t,{link:e,intrinsicSize:r,type:n}),{link:e,intrinsicSize:r,type:n}}let i=e.match(Dx);if(i?.[1]){let c=i?.[1],l=/^\d+$/.test(c)?void 0:new URIError("Invalid embed link format");return n="video",e=`https://player.vimeo.com/video/${c}?api=1`,r={w:560,h:315},Gt.set(t,{link:e,intrinsicSize:r,type:n}),{link:e,intrinsicSize:r,type:n,error:l}}if(e.match(Lx))return n="generic",e=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(e)}`,r={w:550,h:550},Gt.set(t,{link:e,intrinsicSize:r,type:n}),{link:e,intrinsicSize:r,type:n};let s=e.match(Nx);if(s)return e=s[1]==="embed"?s[0]:s[0].replace("/v","/embed"),Gt.set(t,{link:e,intrinsicSize:r,type:n}),{link:e,intrinsicSize:r,type:n};if(Rx.test(e)){e=e.replace(/\bx.com\b/,"twitter.com");let c;if(/<blockquote/.test(e)){let l=Ci(e);c={type:"document",srcdoc:()=>l,intrinsicSize:{w:480,h:480}}}else c={type:"document",srcdoc:l=>Ci(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${l}"><a href="${e}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480}};return Gt.set(t,c),c}if(kx.test(e)){let c;if(/<script>/.test(e)){let l=Ci(e);c={type:"document",srcdoc:()=>l,intrinsicSize:{w:550,h:720}}}else c={type:"document",srcdoc:()=>Ci(`
18
+ <script src="${e}.js"><\/script>
19
+ <style type="text/css">
20
+ * { margin: 0px; }
21
+ table, .gist { height: 100%; }
22
+ .gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
23
+ </style>
24
+ `),intrinsicSize:{w:550,h:720}};return Gt.set(e,c),c}return Gt.set(e,{link:e,intrinsicSize:r,type:n}),{link:e,intrinsicSize:r,type:n}},Ri=e=>{let t;qn(e)?t="IFrame element":t=!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=Ee.Helvetica,o=ue({fontSize:n,fontFamily:r});return _t({x:e.x+e.width/2,y:e.y+e.height/2,strokeColor:e.strokeColor!=="transparent"?e.strokeColor:"black",backgroundColor:"transparent",fontFamily:r,fontSize:n,text:ar(t,o,e.width-20),textAlign:"center",verticalAlign:Pt.MIDDLE,angle:e.angle??0})},kS=Lf({name:"setEmbeddableAsActiveTool",trackEvent:{category:"toolbar"},perform:(e,t,n,r)=>{let o=Dr(t,{type:"embeddable"});return Ff(r.canvas,{...t,activeTool:o}),{elements:e,appState:{...t,activeTool:Dr(t,{type:"embeddable"})},commitToHistory:!1}}}),Bf=(e,t)=>{try{let{hostname:n}=new URL(e),r=n.replace(/^www\./,""),o=r.replace(/^([^.]+)/,"*");if(t instanceof Set)return Ws.has(r)||Ws.has(o);if(r===t.replace(/^www\./,""))return!0}catch{}return!1},CS=e=>{let t=e.match(Fx);if(t&&t.length===2)return t[1];let n=e.match(Cx);if(n&&n.length===2)return n[1];if(Of.test(e))return`https://giphy.com/embed/${Of.exec(e)[1]}`;let r=e.match(Ox);return r&&r.length===2?r[1]:e},RS=(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(Bf(e,n))return!0;return!1}}return Bf(e,Ws)};var oo=(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)},io=(e,t,n,r,o)=>{if(!r.enabled||!r.clip)return null;let i=Le(e,o);if(i){let a=t.ownerDocument.createElementNS(j,"g");return a.setAttributeNS(j,"clip-path",`url(#${i.id})`),n.forEach(s=>a.appendChild(s)),a}return null},Vs=(e,t,n,r,o,i,a,s)=>{let c={x:i,y:a},[l,d,u,f]=F(e,t),m=(u-l)/2-(e.x-l),p=(f-d)/2-(e.y-d);if(V(e)){let b=Ae(e,t);if(q(b)){let[T,y,D,M]=F(b,t),A=J.getBoundTextElementPosition(b,e,t);m=(D-T)/2-(A.x-T),p=(M-y)/2-(A.y-y),i=i+A.x-e.x,a=a+A.y-e.y}}let h=180*e.angle/Math.PI,E=r;if(e.link){let b=r.ownerDocument.createElementNS(j,"a");b.setAttribute("href",lr(e.link)),E.appendChild(b),E=b}let x=(b,T)=>{kt()&&b.setAttribute("data-id",T.id),E.appendChild(b)},w=(Le(e,t)?.opacity??100)*e.opacity/1e4;switch(e.type){case"selection":throw new Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":{let b=re.generateElementShape(e,null),T=oo(n,b,Kn);w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`);let y=io(e,E,[T],s.frameRendering,t);x(y||T,e);break}case"iframe":case"embeddable":{let b=re.generateElementShape(e,s),T=oo(n,b,Kn),y=e.opacity/100;y!==1&&(T.setAttribute("stroke-opacity",`${y}`),T.setAttribute("fill-opacity",`${y}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`),x(T,e);let D=Ri(e);Vs(D,t,n,E,o,D.x+c.x-e.x,D.y+c.y-e.y,s);let M=oo(n,b,Kn);for(M.setAttribute("stroke-linecap","round"),M.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`);M.firstChild;)M.removeChild(M.firstChild);let A=Ot(Math.min(e.width,e.height),e),I=Gf(Pf(e.link||""));if(s.renderEmbeddables===!1||I?.type==="document"){let P=r.ownerDocument.createElementNS(j,"a");P.setAttribute("href",lr(e.link||"")),P.setAttribute("target","_blank"),P.setAttribute("rel","noopener noreferrer"),P.style.borderRadius=`${A}px`,M.appendChild(P)}else{let P=r.ownerDocument.createElementNS(j,"foreignObject");P.style.width=`${e.width}px`,P.style.height=`${e.height}px`,P.style.border="none";let v=P.ownerDocument.createElementNS(j,"div");v.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),v.style.width="100%",v.style.height="100%";let S=v.ownerDocument.createElement("iframe");S.src=I?.link??"",S.style.width="100%",S.style.height="100%",S.style.border="none",S.style.borderRadius=`${A}px`,S.style.top="0",S.style.left="0",S.allowFullscreen=!0,v.appendChild(S),P.appendChild(v),M.appendChild(P)}x(M,e);break}case"line":case"arrow":{let b=X(e,t),T=r.ownerDocument.createElementNS(j,"mask");if(b){T.setAttribute("id",`mask-${e.id}`);let A=r.ownerDocument.createElementNS(j,"rect");i=i||0,a=a||0,A.setAttribute("x","0"),A.setAttribute("y","0"),A.setAttribute("fill","#fff"),A.setAttribute("width",`${e.width+100+i}`),A.setAttribute("height",`${e.height+100+a}`),T.appendChild(A);let I=r.ownerDocument.createElementNS(j,"rect"),P=J.getBoundTextElementPosition(e,b,t),v=i+P.x-e.x,S=a+P.y-e.y;I.setAttribute("x",v.toString()),I.setAttribute("y",S.toString()),I.setAttribute("fill","#000"),I.setAttribute("width",`${b.width}`),I.setAttribute("height",`${b.height}`),I.setAttribute("opacity","1"),T.appendChild(I)}let y=r.ownerDocument.createElementNS(j,"g");b&&y.setAttribute("mask",`url(#mask-${e.id})`),y.setAttribute("stroke-linecap","round"),re.generateElementShape(e,s).forEach(A=>{let I=oo(n,A,Kn);w!==1&&(I.setAttribute("stroke-opacity",`${w}`),I.setAttribute("fill-opacity",`${w}`)),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`),e.type==="line"&&Ft(e.points)&&e.backgroundColor!=="transparent"&&I.setAttribute("fill-rule","evenodd"),y.appendChild(I)});let M=io(e,E,[y,T],s.frameRendering,t);M?(x(M,e),E.appendChild(M)):(x(y,e),E.append(T));break}case"freedraw":{let b=re.generateElementShape(e,s),T=b?oo(n,b,Kn):r.ownerDocument.createElementNS(j,"g");w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`),T.setAttribute("stroke","none");let y=r.ownerDocument.createElementNS(j,"path");y.setAttribute("fill",e.strokeColor),y.setAttribute("d",Os(e)),T.appendChild(y);let D=io(e,E,[T],s.frameRendering,t);x(D||T,e);break}case"image":{let b=Math.round(e.width),T=Math.round(e.height),y=wt(e)&&o[e.fileId];if(y){let D=`image-${y.id}`,M=r.querySelector(`#${D}`);if(!M){M=r.ownerDocument.createElementNS(j,"symbol"),M.id=D;let v=r.ownerDocument.createElementNS(j,"image");v.setAttribute("width","100%"),v.setAttribute("height","100%"),v.setAttribute("href",y.dataURL),M.appendChild(v),E.prepend(M)}let A=r.ownerDocument.createElementNS(j,"use");if(A.setAttribute("href",`#${D}`),s.exportWithDarkMode&&y.mimeType!==R.svg&&A.setAttribute("filter",Ns),A.setAttribute("width",`${b}`),A.setAttribute("height",`${T}`),A.setAttribute("opacity",`${w}`),e.scale[0]!==1||e.scale[1]!==1){let v=e.scale[0]!==1?-b:0,S=e.scale[1]!==1?-T:0;A.setAttribute("transform",`scale(${e.scale[0]}, ${e.scale[1]}) translate(${v} ${S})`)}let I=r.ownerDocument.createElementNS(j,"g");if(I.appendChild(A),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`),e.roundness){let v=r.ownerDocument.createElementNS(j,"clipPath");v.id=`image-clipPath-${e.id}`;let S=r.ownerDocument.createElementNS(j,"rect"),L=Ot(Math.min(e.width,e.height),e);S.setAttribute("width",`${e.width}`),S.setAttribute("height",`${e.height}`),S.setAttribute("rx",`${L}`),S.setAttribute("ry",`${L}`),v.appendChild(S),x(v,e),I.setAttributeNS(j,"clip-path",`url(#${v.id})`)}let P=io(e,E,[I],s.frameRendering,t);x(P||I,e)}break}case"frame":case"magicframe":{if(s.frameRendering.enabled&&s.frameRendering.outline){let b=document.createElementNS(j,"rect");b.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`),b.setAttribute("width",`${e.width}px`),b.setAttribute("height",`${e.height}px`),b.setAttribute("rx",me.radius.toString()),b.setAttribute("ry",me.radius.toString()),b.setAttribute("fill","none"),b.setAttribute("stroke",me.strokeColor),b.setAttribute("stroke-width",me.strokeWidth.toString()),x(b,e)}break}default:if(V(e)){let b=r.ownerDocument.createElementNS(j,"g");w!==1&&(b.setAttribute("stroke-opacity",`${w}`),b.setAttribute("fill-opacity",`${w}`)),b.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${m} ${p})`);let T=e.text.replace(/\r\n?/g,`
25
+ `).split(`
26
+ `),y=ir(e.fontSize,e.lineHeight),D=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,M=_i(e.fontFamily,e.fontSize,y),A=Ho(e.text)?"rtl":"ltr",I=e.textAlign==="center"?"middle":e.textAlign==="right"||A==="rtl"?"end":"start";for(let v=0;v<T.length;v++){let S=r.ownerDocument.createElementNS(j,"text");S.textContent=T[v],S.setAttribute("x",`${D}`),S.setAttribute("y",`${v*y+M}`),S.setAttribute("font-family",Ga(e)),S.setAttribute("font-size",`${e.fontSize}px`),S.setAttribute("fill",e.strokeColor),S.setAttribute("text-anchor",I),S.setAttribute("style","white-space: pre;"),S.setAttribute("direction",A),S.setAttribute("dominant-baseline","alphabetic"),b.appendChild(S)}let P=io(e,E,[b],s.frameRendering,t);x(P||b,e)}else throw new Error(`Unimplemented type ${e.type}`)}},zf=(e,t,n,r,o,i)=>{r&&(e.filter(a=>!Je(a)).forEach(a=>{if(!a.isDeleted)try{Vs(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i)}catch(s){console.error(s)}}),e.filter(a=>Je(a)).forEach(a=>{if(!a.isDeleted)try{Vs(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i)}catch(s){console.error(s)}}))};g();g();g();var cr=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{}catch{return!1}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})(),Bx=cr?import("./file-open-002ab408-MILJ6BM2.js"):import("./file-open-7c801643-BHFKUUBS.js");async function Hf(...e){return(await Bx).default(...e)}var qS=cr?import("./directory-open-4ed118d0-57WBH3LL.js"):import("./directory-open-01563666-OLGZGYEQ.js");var Gx=cr?import("./file-save-745eba88-CGSHK46Y.js"):import("./file-save-3189631c-IHOU4DOS.js");async function Uf(...e){return(await Gx).default(...e)}g();var Fi=class extends Error{constructor(t="Couldn't export canvas.",n="CANVAS_ERROR"){super(),this.name=n,this.message=t}},Ni=class extends DOMException{constructor(t="Request Aborted"){super(t,"AbortError")}},zt=class extends Error{code;constructor(t="Image Scene Data Error",n="IMAGE_SCENE_DATA_ERROR"){super(t),this.name="EncodingError",this.code=n}};var $f=500,Yf=e=>{let t=e.extensions?.reduce((r,o)=>(r.push(R[o]),r),[]),n=e.extensions?.reduce((r,o)=>o==="jpg"?r.concat(".jpg",".jpeg"):r.concat(`.${o}`),[]);return Hf({description:e.description,extensions:n,mimeTypes:t,multiple:e.multiple??!1,legacySetup:(r,o,i)=>{let a=Od(o,$f),s=()=>{c(),document.addEventListener("keyup",a),document.addEventListener("pointerup",a),a()},c=()=>{if(i.files?.length){let d=e.multiple?[...i.files]:i.files[0];r(d)}};requestAnimationFrame(()=>{window.addEventListener("focus",s)});let l=window.setInterval(()=>{c()},$f);return d=>{clearInterval(l),a.cancel(),window.removeEventListener("focus",s),document.removeEventListener("keyup",a),document.removeEventListener("pointerup",a),d&&(console.warn("Opening the file was canceled (legacy-fs)."),d(new Ni))}}})},Xs=(e,t)=>Uf(e,{fileName:`${t.name}.${t.extension}`,description:t.description,extensions:[`.${t.extension}`]},t.fileHandle);var zx=(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},ao=(e,t,n,r)=>{let o={type:Me.excalidraw,version:Na.excalidraw,source:Ra,elements:r==="local"?Oi(e):Zf(e),appState:r==="local"?Go(t):Ld(t),files:r==="local"?zx(e,n):void 0};return JSON.stringify(o,null,2)},h2=async(e,t,n,r=t.name||Pd)=>{let o=ao(e,t,n,"local"),i=new Blob([o],{type:R.excalidraw});return{fileHandle:await Xs(i,{name:r,extension:"excalidraw",description:"Excalidraw file",fileHandle:Wf(t.fileHandle)?null:t.fileHandle})}},E2=async(e,t)=>{let n=await Yf({description:"Excalidraw files"});return Vf(await Zs(n),e,t,n.handle)},Xf=e=>e?.type===Me.excalidraw&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||typeof e.appState=="object")),Ks=e=>typeof e=="object"&&e&&e.type===Me.excalidrawLibrary&&(e.version===1||e.version===2),Hx=e=>{let t={type:Me.excalidrawLibrary,version:Na.excalidrawLibrary,source:Ra,libraryItems:e};return JSON.stringify(t,null,2)},g2=async e=>{let t=Hx(e);await Xs(new Blob([t],{type:R.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"})};g();var Ux=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r)},r.onerror=o=>{n(o)},r.src=e}),Kf=async({fileIds:e,files:t,imageCache:n})=>{let r=new Map,o=new Map;return await Promise.all(e.reduce((i,a)=>{let s=t[a];return s&&!r.has(a)?(r.set(a,!0),i.concat((async()=>{try{if(s.mimeType===R.binary)throw new Error("Only images can be added to ImageCache");let c=Ux(s.dataURL),l={image:c,mimeType:s.mimeType};n.set(a,l);let d=await c;n.set(a,{...l,image:d})}catch{o.set(a,!0)}})())):i},[])),{imageCache:n,updatedFiles:r,erroredFiles:o}},jf=e=>e.filter(t=>wt(t)),$x=e=>e?.nodeName.toLowerCase()==="svg",v2=async e=>{let t=new DOMParser().parseFromString(e,R.svg),n=t.querySelector("svg");if(t.querySelector("parsererror")||!$x(n))throw new Error("Invalid SVG");if(n.hasAttribute("xmlns")||n.setAttribute("xmlns",j),!n.hasAttribute("width")||!n.hasAttribute("height")){let o=n.getAttribute("viewBox"),i=n.getAttribute("width")||"50",a=n.getAttribute("height")||"50";if(o){let s=o.match(/\d+ +\d+ +(\d+) +(\d+)/);s&&([,i,a]=s)}n.setAttribute("width",i),n.setAttribute("height",a)}return n.outerHTML};g();g();var js=document.createElement("img");js.src=`data:${R.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>')}`;var qs=([e,t,n,r],o,i)=>{let a=ff,s=a/i.zoom.value,c=a/i.zoom.value,l=a/i.zoom.value,d=(e+n)/2,u=(t+r)/2,f=(a-8)/(2*i.zoom.value),m=4/i.zoom.value,p=n+m-f,h=t-m-l+f,[E,x]=z(p+s/2,h+c/2,d,u,o);return[E-s/2,x-c/2,s,c]},Yx=(e,t,n,[r,o])=>{let i=4/n.zoom.value,[a,s,c,l]=F(e,t),[d,u,f,m]=qs([a,s,c,l],e.angle,n);return r>d-i&&r<d+i+f&&o>u-i&&o<u+m+i},L2=(e,t,n,[r,o],i)=>{if(!e.link||n.selectedElementIds[e.id])return!1;let a=4/n.zoom.value;return!i&&n.viewModeEnabled&&bi(e,t,[r,o],a,null)?!0:Yx(e,t,n,[r,o])};g();var F2=(e,t,n,r,o=!0)=>{e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),o&&e.stroke()},qf=(e,t)=>[e.width/t,e.height/t],Jf=({canvas:e,scale:t,normalizedWidth:n,normalizedHeight:r,theme:o,isExporting:i,viewBackgroundColor:a})=>{let s=e.getContext("2d");return s.setTransform(1,0,0,1,0,0),s.scale(t,t),i&&o==="dark"&&(s.filter=Fo),typeof a=="string"?((a==="transparent"||a.length===5||a.length===9||/(hsla|rgba)\(/.test(a))&&s.clearRect(0,0,n,r),s.save(),s.fillStyle=a,s.fillRect(0,0,n,r),s.restore()):s.clearRect(0,0,n,r),s};var Wx=(e,t,n,r,o,i,a)=>{let c;(E=>(E.Bold="#cccccc",E.Regular="#e5e5e5"))(c||={});let l=-Math.round(o.value/t)*t+n%t,d=-Math.round(o.value/t)*t+r%t,u=Math.min(1/o.value,1),f=1/o.value,m=[u*3,f+(u+f)];e.save(),e.lineWidth=u;for(let p=l;p<l+i+t*2;p+=t){let h=Math.round(p-n)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:m),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(p,d-t),e.lineTo(p,d+a+t*2),e.stroke()}for(let p=d;p<d+a+t*2;p+=t){let h=Math.round(p-r)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:m),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(l-t,p),e.lineTo(l+i+t*2,p),e.stroke()}e.restore()},Qf=(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,me.radius/r.zoom.value):t.rect(0,0,e.width,e.height),t.clip(),t.translate(-(e.x+r.scrollX),-(e.y+r.scrollY))},Ht,em=(e,t,n,r)=>{if(e.link&&!n.selectedElementIds[e.id]){let[o,i,a,s]=F(e,r),[c,l,d,u]=qs([o,i,a,s],e.angle,n),f=c+d/2,m=l+u/2;if(t.save(),t.translate(n.scrollX+f,n.scrollY+m),t.rotate(e.angle),!Ht||Ht.zoom!==n.zoom.value){Ht=document.createElement("canvas"),Ht.zoom=n.zoom.value,Ht.width=d*window.devicePixelRatio*n.zoom.value,Ht.height=u*window.devicePixelRatio*n.zoom.value;let p=Ht.getContext("2d");p.scale(window.devicePixelRatio*n.zoom.value,window.devicePixelRatio*n.zoom.value),p.fillStyle="#fff",p.fillRect(0,0,d,u),p.drawImage(js,0,0,d,u),p.restore(),t.drawImage(Ht,c-f,l-m,d,u)}else t.drawImage(Ht,c-f,l-m,d,u);t.restore()}},tm=({canvas:e,rc:t,elementsMap:n,allElementsMap:r,visibleElements:o,scale:i,appState:a,renderConfig:s})=>{if(e===null)return;let{renderGrid:c=!0,isExporting:l}=s,[d,u]=qf(e,i),f=Jf({canvas:e,scale:i,normalizedWidth:d,normalizedHeight:u,theme:a.theme,isExporting:l,viewBackgroundColor:a.viewBackgroundColor});f.scale(a.zoom.value,a.zoom.value),c&&a.gridSize&&Wx(f,a.gridSize,a.scrollX,a.scrollY,a.zoom,d/a.zoom.value,u/a.zoom.value);let m=new Set;o.forEach(p=>{p.groupIds.length>0&&a.frameToHighlight&&a.selectedElementIds[p.id]&&(an(p,a.frameToHighlight,n)||p.groupIds.find(h=>m.has(h)))&&p.groupIds.forEach(h=>m.add(h))}),o.filter(p=>!Je(p)).forEach(p=>{try{if((p.frameId||a.frameToHighlight?.id)&&a.frameRendering.enabled&&a.frameRendering.clip){f.save();let E=Bi(p,n,a);E&&Gi(p,n,a)&&Qf(E,f,s,a),Qr(p,n,r,t,f,s,a),f.restore()}else Qr(p,n,r,t,f,s,a);l||em(p,f,a,n)}catch(h){console.error(h)}}),o.filter(p=>Je(p)).forEach(p=>{try{let h=()=>{if(Qr(p,n,r,t,f,s,a),Je(p)&&(l||Wo(p)&&s.embedsValidationStatus.get(p.id)!==!0)&&p.width&&p.height){let x=Ri(p);Qr(x,n,r,t,f,s,a)}l||em(p,f,a,n)};if((p.frameId||a.frameToHighlight?.id)&&a.frameRendering.enabled&&a.frameRendering.clip){f.save();let x=Bi(p,n,a);x&&Gi(p,n,a)&&Qf(x,f,s,a),h(),f.restore()}else h()}catch(h){console.error(h)}})},Vx=Bd(e=>{tm(e)},{trailing:!0}),nm=(e,t)=>{if(t){Vx(e);return}tm(e)};var Xx="<!-- svg-source:excalidraw -->",Zx=(e,t)=>{if(e.width<=t)return e;let r=document.createElement("canvas").getContext("2d");r.font=ue({fontFamily:e.fontFamily,fontSize:e.fontSize});let o=e.text;if(r.measureText(o).width>t)for(let a=o.length;a>0;a--){let s=`${o.slice(0,a)}...`;if(r.measureText(s).width<=t){o=s;break}}return Rn(e,{text:o,width:t})},Kx=(e,t)=>{let n=[],r=0,o=0;for(let i of e){if(Z(i)){kr(i)?r++:o++;let a=_t({x:i.x,y:i.y-me.nameOffsetY,fontFamily:Ee.Assistant,fontSize:me.nameFontSize,lineHeight:me.nameLineHeight,strokeColor:t.exportWithDarkMode?me.nameColorDarkTheme:me.nameColorLightTheme,text:sm(i,kr(i)?r:o)});a.y-=a.height,a=Zx(a,i.width),n.push(a)}n.push(i)}return n},rm=(e,t)=>(t=t||Dt().frameRendering,{enabled:e?!0:t.enabled,outline:e?!1:t.outline,name:e?!1:t.name,clip:e?!0:t.clip}),om=({elements:e,exportingFrame:t,frameRendering:n,exportWithDarkMode:r})=>{let o;return t?o=lm(e,t):n.enabled&&n.name?o=Kx(e,{exportWithDarkMode:r}):o=e,o},im=async(e,t,n,{exportBackground:r,exportPadding:o=Fa,viewBackgroundColor:i,exportingFrame:a},s=(c,l)=>{let d=document.createElement("canvas");return d.width=c*t.exportScale,d.height=l*t.exportScale,{canvas:d,scale:t.exportScale}})=>{let c=rm(a??null,t.frameRendering??null),l=om({elements:e,exportingFrame:a,exportWithDarkMode:t.exportWithDarkMode,frameRendering:c});a&&(o=0);let[d,u,f,m]=Js(a?[a]:el(l),o),{canvas:p,scale:h=1}=s(f,m),E=Dt(),{imageCache:x}=await Kf({imageCache:new Map,fileIds:jf(l).map(w=>w.fileId),files:n});return nm({canvas:p,rc:yt.canvas(p),elementsMap:vn(Q(l)),allElementsMap:vn(Q(e)),visibleElements:l,scale:h,appState:{...t,frameRendering:c,viewBackgroundColor:r?i:null,scrollX:-d+o,scrollY:-u+o,zoom:E.zoom,shouldCacheIgnoreZoom:!1,theme:t.exportWithDarkMode?"dark":"light"},renderConfig:{canvasBackgroundColor:i,imageCache:x,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set}}),p},am=async(e,t,n,r)=>{let o=rm(r?.exportingFrame??null,t.frameRendering??null),{exportPadding:i=Fa,exportWithDarkMode:a=!1,viewBackgroundColor:s,exportScale:c=1,exportEmbedScene:l}=t,{exportingFrame:d=null}=r||{},u=om({elements:e,exportingFrame:d,exportWithDarkMode:a,frameRendering:o});d&&(i=0);let f="";if(l)try{f=await(await import("./image-4AT7LYMR.js")).encodeSvgMetadata({text:ao(e,t,n||{},"local")})}catch(P){console.error(P)}let[m,p,h,E]=Js(d?[d]:el(u),i),x=document.createElementNS(j,"svg");x.setAttribute("version","1.1"),x.setAttribute("xmlns",j),x.setAttribute("viewBox",`0 0 ${h} ${E}`),x.setAttribute("width",`${h*c}`),x.setAttribute("height",`${E*c}`),a&&x.setAttribute("filter",Fo);let w="https://excalidraw.com/";_.VITE_IS_EXCALIDRAW_NPM_PACKAGE&&(w=window.EXCALIDRAW_ASSET_PATH||`https://unpkg.com/${_.VITE_PKG_NAME}@${_.PKG_VERSION}`,w?.startsWith("/")&&(w=w.replace("/",`${window.location.origin}/`)),w=`${w}/dist/excalidraw-assets/`);let b=-m+i,T=-p+i,y=Qs(e),D="",M=Q(e);for(let P of y){let[v,S,L,H]=F(P,M),N=(L-v)/2-(P.x-v),B=(H-S)/2-(P.y-S);D+=`<clipPath id=${P.id}>
27
+ <rect transform="translate(${P.x+b} ${P.y+T}) rotate(${P.angle} ${N} ${B})"
28
+ width="${P.width}"
29
+ height="${P.height}"
30
+ >
31
+ </rect>
32
+ </clipPath>`}if(x.innerHTML=`
33
+ ${Xx}
34
+ ${f}
35
+ <defs>
36
+ <style class="style-fonts">
37
+ @font-face {
38
+ font-family: "Virgil";
39
+ src: url("${w}Virgil.woff2");
40
+ }
41
+ @font-face {
42
+ font-family: "Cascadia";
43
+ src: url("${w}Cascadia.woff2");
44
+ }
45
+ @font-face {
46
+ font-family: "Assistant";
47
+ src: url("${w}Assistant-Regular.woff2");
48
+ }
49
+ </style>
50
+ ${D}
51
+ </defs>
52
+ `,t.exportBackground&&s){let P=x.ownerDocument.createElementNS(j,"rect");P.setAttribute("x","0"),P.setAttribute("y","0"),P.setAttribute("width",`${h}`),P.setAttribute("height",`${E}`),P.setAttribute("fill",s),x.appendChild(P)}let A=yt.svg(x),I=r?.renderEmbeddables??!1;return zf(u,vn(Q(u)),A,x,n||{},{offsetX:b,offsetY:T,isExporting:!0,exportWithDarkMode:a,renderEmbeddables:I,frameRendering:o,canvasBackgroundColor:s,embedsValidationStatus:I?new Map(u.filter(P=>Z(P)).map(P=>[P.id,!0])):new Map}),x},Js=(e,t)=>{let[n,r,o,i]=De(e),a=He(n,o)+t*2,s=He(r,i)+t*2;return[n,r,a,s]},cI=(e,t,n)=>{let[,,r,o]=Js(e,t).map(i=>Math.trunc(i*n));return[r,o]};g();var jx={selection:!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},qx=e=>Object.keys(Ee).includes(e)?Ee[e]:qe,cm=e=>e?{...e,focus:e.focus||0}:null,dr=(e,t)=>{let n={type:t.type||e.type,version:e.version||1,versionNonce:e.versionNonce??0,isDeleted:e.isDeleted??!1,id:e.id||st(),fillStyle:e.fillStyle||ne.fillStyle,strokeWidth:e.strokeWidth||ne.strokeWidth,strokeStyle:e.strokeStyle??ne.strokeStyle,roughness:e.roughness??ne.roughness,opacity:e.opacity==null?ne.opacity:e.opacity,angle:e.angle||0,x:t.x??e.x??0,y:t.y??e.y??0,strokeColor:e.strokeColor||ne.strokeColor,backgroundColor:e.backgroundColor||ne.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:Zo(e.type)?Ce.LEGACY:Ce.PROPORTIONAL_RADIUS}:null,boundElements:e.boundElementIds?e.boundElementIds.map(r=>({type:"arrow",id:r})):e.boundElements??[],updated:e.updated??Lt(),link:e.link?lr(e.link):null,locked:e.locked??!1};return("customData"in e||"customData"in t)&&(n.customData="customData"in t?t.customData:e.customData),Oo in e&&(n[Oo]=e[Oo]),{...n,...tl(n),...t}},Jx=e=>{switch(e.type){case"text":let t=e.fontSize,n=e.fontFamily;if("font"in e){let[i,a]=e.font.split(" ");t=parseFloat(i),n=qx(a)}let r=typeof e.text=="string"&&e.text||"",o=e.lineHeight||(e.height?ef(e):Ai(e.fontFamily));return e=dr(e,{fontSize:t,fontFamily:n,text:r,textAlign:e.textAlign||Zn,verticalAlign:e.verticalAlign||Co,containerId:e.containerId??null,originalText:e.originalText||r,lineHeight:o}),!r&&!e.isDeleted&&(e={...e,originalText:r,isDeleted:!0},e=ro(e)),e;case"freedraw":return dr(e,{points:e.points,lastCommittedPoint:null,simulatePressure:e.simulatePressure,pressures:e.pressures});case"image":return dr(e,{status:e.status||"pending",fileId:e.fileId,scale:e.scale||[1,1]});case"line":case"draw":case"arrow":{let{startArrowhead:i=null,endArrowhead:a=e.type==="arrow"?"arrow":null}=e,s=e.x,c=e.y,l=!Array.isArray(e.points)||e.points.length<2?[[0,0],[e.width,e.height]]:e.points;return(l[0][0]!==0||l[0][1]!==0)&&({points:l,x:s,y:c}=J.getNormalizedPoints(e)),dr(e,{type:e.type==="draw"?"line":e.type,startBinding:cm(e.startBinding),endBinding:cm(e.endBinding),lastCommittedPoint:null,startArrowhead:i,endArrowhead:a,points:l,x:s,y:c})}case"ellipse":case"rectangle":case"diamond":case"iframe":case"embeddable":return dr(e,{});case"magicframe":case"frame":return dr(e,{name:e.name??null})}return null},Qx=(e,t)=>{if(e.boundElements){let n=e.boundElements.slice(),r=new Set;e.boundElements=n.reduce((o,i)=>{let a=t.get(i.id);if(a&&!r.has(i.id)){if(r.add(i.id),a.isDeleted)return o;o.push(i),V(a)&&!a.containerId&&(a.containerId=e.id)}return o},[])}},e0=(e,t)=>{let n=e.containerId?t.get(e.containerId):null;if(!n){e.containerId=null;return}if(!e.isDeleted&&n.boundElements&&!n.boundElements.find(r=>r.id===e.id)){let r=(n.boundElements||(n.boundElements=[])).slice();r.push({type:"text",id:e.id}),n.boundElements=r}},t0=(e,t)=>{e.frameId&&(t.get(e.frameId)||(e.frameId=null))},fm=(e,t,n)=>{let r=new Set,o=t?Q(t):null,i=(e||[]).reduce((s,c)=>{if(c.type!=="selection"&&!lo(c)){let l=Jx(c);if(l){let d=o?.get(c.id);d&&d.version>l.version&&(l=ro(l,d.version)),r.has(l.id)&&(l={...l,id:st()}),r.add(l.id),s.push(l)}}return s},[]);if(!n?.repairBindings)return i;let a=Q(i);for(let s of i)s.frameId&&t0(s,a),V(s)&&s.containerId?e0(s,a):s.boundElements&&Qx(s,a),n.refreshDimensions&&V(s)&&Object.assign(s,ki(s,Ae(s,a),a));return i},n0=(e,t,n)=>{let r=t[e];return r!==void 0?r:n[e]},dm={isSidebarDocked:(e,t)=>["defaultSidebarDockedPreference",e.isSidebarDocked??n0("defaultSidebarDockedPreference",e,t)]},r0=(e,t)=>{e=e||{};let n=Dt(),r={};for(let o of Object.keys(dm))if(o in e){let[i,a]=dm[o](e,n);r[i]=a}for(let[o,i]of Object.entries(n)){let a=e[o],s=t?t[o]:void 0;r[o]=a!==void 0?a:s!==void 0?s:i}return{...r,cursorButton:t?.cursorButton||"up",penDetected:t?.penDetected??(e.penMode?e.penDetected??!1:!1),activeTool:{...Dr(n,r.activeTool.type&&jx[r.activeTool.type]?r.activeTool:{type:"selection"}),lastActiveTool:null,locked:r.activeTool.locked??!1},zoom:typeof e.zoom=="number"?{value:e.zoom}:e.zoom?.value?e.zoom:n.zoom,openSidebar:typeof e.openSidebar=="string"?{name:Md.name}:r.openSidebar}},so=(e,t,n,r)=>({elements:fm(e?.elements,n,r),appState:r0(e?.appState,t||null),files:e?.files||{}}),um=e=>{let t=fm(nl(e.elements),null);return t.length?{...e,elements:t}:null},mm=(e=[],t)=>{let n=[];for(let r of e)if(Array.isArray(r)){let o=um({status:t,elements:r,id:st(),created:Date.now()});o&&n.push(o)}else{let o=r,i=um({...o,id:o.id||st(),status:o.status||t,created:o.created||Date.now()});i&&n.push(i)}return n};g();g();var lt=32,te=12,sn=256,hm=50,Fn="NOT_SPREADSHEET",ur="VALID_SPREADSHEET",co=e=>{let t=/^([-+]?)[$€£¥₩]?([-+]?)([\d.,]+)[%]?$/.exec(e);return t?parseFloat(`${(t[1]||t[2])+t[3]}`.replace(/,/g,"")):null},rl=(e,t)=>e.slice(1).every(n=>co(n[t])!==null),pm=e=>{let t=e[0].length;if(t>2)return{type:Fn,reason:"More than 2 columns"};if(t===1){if(!rl(e,0))return{type:Fn,reason:"Value is not numeric"};let c=co(e[0][0])===null,l=(c?e.slice(1):e).map(d=>co(d[0]));return l.length<2?{type:Fn,reason:"Less than two rows"}:{type:ur,spreadsheet:{title:c?e[0][0]:null,labels:null,values:l}}}let n=rl(e,0),r=rl(e,1);if(!n&&!r)return{type:Fn,reason:"Value is not numeric"};let[o,i]=r?[0,1]:[1,0],a=co(e[0][i])===null,s=a?e.slice(1):e;return s.length<2?{type:Fn,reason:"Less than 2 rows"}:{type:ur,spreadsheet:{title:a?e[0][i]:null,labels:s.map(c=>c[o]),values:s.map(c=>co(c[i]))}}},o0=e=>{let t=[];for(let n=0;n<e[0].length;n++){let r=[];for(let o=0;o<e.length;o++)r.push(e[o][n]);t.push(r)}return t},Em=e=>{let t=e.trim().split(`
53
+ `).map(i=>i.trim().split(" "));if(t.length&&t[0].length!==2&&(t=e.trim().split(`
54
+ `).map(i=>i.trim().split(","))),t.length===0)return{type:Fn,reason:"No values"};let n=t[0].length;if(!t.every(i=>i.length===n))return{type:Fn,reason:"All rows don't have same number of columns"};let o=pm(t);if(o.type!==ur){let i=pm(o0(t));if(i.type===ur)return i}return o},zi=xd(Ed),Ve={fillStyle:"hachure",fontFamily:qe,fontSize:xt,opacity:100,roughness:1,strokeColor:G.black,roundness:null,strokeStyle:"solid",strokeWidth:1,verticalAlign:Pt.MIDDLE,locked:!1},gm=e=>{let t=(lt+te)*e.values.length+te,n=sn+te*2;return{chartWidth:t,chartHeight:n}},i0=(e,t,n,r,o)=>e.labels?.map((i,a)=>_t({groupIds:[r],backgroundColor:o,...Ve,text:i.length>8?`${i.slice(0,5)}...`:i,x:t+a*(lt+te)+te*2,y:n+te/2,width:lt,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))||[],a0=(e,t,n,r,o)=>{let i=_t({groupIds:[r],backgroundColor:o,...Ve,x:t-te,y:n-te,text:"0",textAlign:"right"}),a=_t({groupIds:[r],backgroundColor:o,...Ve,x:t-te,y:n-sn-i.height/2,text:Math.max(...e.values).toLocaleString(),textAlign:"right"});return[i,a]},s0=(e,t,n,r,o)=>{let{chartWidth:i,chartHeight:a}=gm(e),s=Cn({backgroundColor:o,groupIds:[r],...Ve,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]}),c=Cn({backgroundColor:o,groupIds:[r],...Ve,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:a,points:[[0,0],[0,-a]]}),l=Cn({backgroundColor:o,groupIds:[r],...Ve,type:"line",x:t,y:n-sn-te,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:hm,points:[[0,0],[i,0]]});return[s,c,l]},xm=(e,t,n,r,o,i)=>{let{chartWidth:a,chartHeight:s}=gm(e),c=e.title?_t({backgroundColor:o,groupIds:[r],...Ve,text:e.title,x:t+a/2,y:n-sn-te*2-xt,roundness:null,textAlign:"center"}):null,l=i?no({backgroundColor:o,groupIds:[r],...Ve,type:"rectangle",x:t,y:n-s,width:a,height:s,strokeColor:G.black,fillStyle:"solid",opacity:6}):null;return[...l?[l]:[],...c?[c]:[],...i0(e,t,n,r,o),...a0(e,t,n,r,o),...s0(e,t,n,r,o)]},l0=(e,t,n)=>{let r=Math.max(...e.values),o=st(),i=zi[Math.floor(Math.random()*zi.length)];return[...e.values.map((s,c)=>{let l=s/r*sn;return no({backgroundColor:i,groupIds:[o],...Ve,type:"rectangle",x:t+c*(lt+te)+te,y:n-l-te,width:lt,height:l})}),...xm(e,t,n,o,i,_.DEV)]},c0=(e,t,n)=>{let r=Math.max(...e.values),o=st(),i=zi[Math.floor(Math.random()*zi.length)],a=0,s=[];for(let h of e.values){let E=a*(lt+te),x=-(h/r)*sn;s.push([E,x]),a++}let c=Math.max(...s.map(h=>h[0])),l=Math.max(...s.map(h=>h[1])),d=Math.min(...s.map(h=>h[0])),u=Math.min(...s.map(h=>h[1])),f=Cn({backgroundColor:i,groupIds:[o],...Ve,type:"line",x:t+te+lt/2,y:n-te,startArrowhead:null,endArrowhead:null,height:l-u,width:c-d,strokeWidth:2,points:s}),m=e.values.map((h,E)=>{let x=E*(lt+te)+te/2,w=-(h/r)*sn+te/2;return no({backgroundColor:i,groupIds:[o],...Ve,fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+x+lt/2,y:n+w-te*2,width:te,height:te})}),p=e.values.map((h,E)=>{let x=E*(lt+te)+te/2,w=h/r*sn+te/2+te;return Cn({backgroundColor:i,groupIds:[o],...Ve,type:"line",x:t+x+lt/2+te/2,y:n-w,startArrowhead:null,endArrowhead:null,height:w,strokeStyle:"dotted",opacity:hm,points:[[0,0],[0,w]]})});return[...xm(e,t,n,o,i,_.DEV),f,...p,...m]},PI=(e,t,n,r)=>e==="line"?c0(t,n,r):l0(t,n,r);var zI="clipboard"in navigator&&"readText"in navigator.clipboard,d0="clipboard"in navigator&&"writeText"in navigator.clipboard,HI="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,u0=e=>!!([Me.excalidraw,Me.excalidrawClipboard,Me.excalidrawClipboardWithAPI].includes(e?.type)&&Array.isArray(e.elements)),UI=({types:e,files:t})=>{!e&&!t&&console.warn("createPasteEvent: no types or files provided");let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});if(e)for(let[r,o]of Object.entries(e))try{if(n.clipboardData?.setData(r,o),n.clipboardData?.getData(r)!==o)throw new Error(`Failed to set "${r}" as clipboardData item`)}catch(i){throw new Error(i.message)}if(t){let r=-1;for(let o of t){r++;try{if(n.clipboardData?.items.add(o),n.clipboardData?.files[r]!==o)throw new Error(`Failed to set file "${o.name}" as clipboardData item`)}catch(i){throw new Error(i.message)}}}return n},f0=({elements:e,files:t})=>{let n=Q(e),r=new Set(e.filter(s=>Z(s))),o=!1,i=e.reduce((s,c)=>(wt(c)&&(o=!0,t&&t[c.fileId]&&(s[c.fileId]=t[c.fileId])),s),{});o&&!t&&console.warn("copyToClipboard: attempting to file element(s) without providing associated `files` object.");let a={type:Me.excalidrawClipboard,elements:e.map(s=>{if(Le(s,n)&&!r.has(Le(s,n))){let c=Ys(s);return O(c,{frameId:null}),c}return s}),files:t?i:void 0};return JSON.stringify(a)},wm=async(e,t,n)=>{await ol(f0({elements:e,files:t}),n)},m0=e=>{let t=Em(e);return t.type===ur?{spreadsheet:t.spreadsheet}:null};function bm(e){let t=[];for(let n of e.childNodes)if(n.nodeType===3){let r=n.textContent?.trim();r&&t.push({type:"text",value:r})}else if(n instanceof HTMLImageElement){let r=n.getAttribute("src");r&&r.startsWith("http")&&t.push({type:"imageUrl",value:r})}else t=t.concat(bm(n));return t}var p0=e=>{let t=e.clipboardData?.getData("text/html");if(!t)return null;try{let n=new DOMParser().parseFromString(t,"text/html"),r=bm(n.body);if(r.length)return{type:"mixedContent",value:r}}catch(n){console.error(`error in parseHTMLFromPaste: ${n.message}`)}return null},$I=async()=>{let e={};try{if(navigator.clipboard?.readText)return{"text/plain":await navigator.clipboard?.readText()}}catch(n){if(navigator.clipboard?.read)console.warn(`navigator.clipboard.readText() failed (${n.message}). Failling back to navigator.clipboard.read()`);else throw n}let t;try{t=await navigator.clipboard?.read()}catch(n){if(n.name==="DataError")return console.warn(`navigator.clipboard.read() error, clipboard is probably empty: ${n.message}`),e;throw n}for(let n of t)for(let r of n.types)if(Hd(yd,r))try{e[r]=await(await n.getType(r)).text()}catch(o){console.warn(`Cannot retrieve ${r} from clipboardItem: ${o.message}`)}return Object.keys(e).length===0&&console.warn("No clipboard data found from clipboard.read()."),e},h0=async(e,t=!1)=>{try{let n=!t&&e&&p0(e);return n?n.value.every(o=>o.type==="text")?{type:"text",value:e.clipboardData?.getData("text/plain")||n.value.map(o=>o.value).join(`
55
+ `).trim()}:n:{type:"text",value:(e.clipboardData?.getData("text/plain")||"").trim()}}catch{return{type:"text",value:""}}},YI=async(e,t=!1)=>{let n=await h0(e,t);if(n.type==="mixedContent")return{mixedContent:n.value};try{let r=!t&&m0(n.value);if(r)return r}catch(r){console.error(r)}try{let r=JSON.parse(n.value),o=r.type===Me.excalidrawClipboardWithAPI;if(u0(r))return{elements:r.elements,files:r.files,text:t?JSON.stringify(r.elements,null,2):void 0,programmaticAPI:o}}catch{}return{text:n.value}},ym=async e=>{try{await navigator.clipboard.write([new window.ClipboardItem({[R.png]:e})])}catch(t){if(Uo(e))await navigator.clipboard.write([new window.ClipboardItem({[R.png]:await e})]);else throw t}},ol=async(e,t)=>{if(d0)try{await navigator.clipboard.writeText(e||"");return}catch(n){console.error(n)}try{if(t){if(t.clipboardData?.setData("text/plain",e||""),t.clipboardData?.getData("text/plain")!==e)throw new Error("Failed to setData on clipboardEvent");return}}catch(n){console.error(n)}if(!E0(e))throw new Error("Error copying to clipboard.")},E0=e=>{e||(e=" ");let t=document.documentElement.getAttribute("dir")==="rtl",n=document.createElement("textarea");n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let r=window.pageYOffset||document.documentElement.scrollTop;n.style.top=`${r}px`,n.style.fontSize="12pt",n.setAttribute("readonly",""),n.value=e,document.body.appendChild(n);let o=!1;try{n.select(),n.setSelectionRange(0,n.value.length),o=document.execCommand("copy")}catch(i){console.error(i)}return n.remove(),o};var g0=({elements:e,appState:t,files:n,maxWidthOrHeight:r,getDimensions:o,exportPadding:i,exportingFrame:a})=>{let{elements:s,appState:c}=so({elements:e,appState:t},null,null),{exportBackground:l,viewBackgroundColor:d}=c;return im(s,{...c,offsetTop:0,offsetLeft:0,width:0,height:0},n||{},{exportBackground:l,exportPadding:i,viewBackgroundColor:d,exportingFrame:a},(u,f)=>{let m=document.createElement("canvas");if(r){typeof o=="function"&&console.warn("`getDimensions()` is ignored when `maxWidthOrHeight` is supplied.");let h=Math.max(u,f),E=r<h?r/h:t?.exportScale??1;return m.width=u*E,m.height=f*E,{canvas:m,scale:E}}let p=o?.(u,f)||{width:u,height:f};return m.width=p.width,m.height=p.height,{canvas:m,scale:p.scale??1}})},x0=async e=>{let{mimeType:t=R.png,quality:n}=e;t===R.png&&typeof n=="number"&&console.warn(`"quality" will be ignored for "${R.png}" mimeType`),t==="image/jpg"&&(t=R.jpg),t===R.jpg&&!e.appState?.exportBackground&&(console.warn(`Defaulting "exportBackground" to "true" for "${R.jpg}" mimeType`),e={...e,appState:{...e.appState,exportBackground:!0}});let r=await g0(e);return n=n||(/image\/jpe?g/.test(t)?.92:.8),new Promise((o,i)=>{r.toBlob(async a=>{if(!a)return i(new Error("couldn't export to blob"));a&&t===R.png&&e.appState?.exportEmbedScene&&(a=await vm({blob:a,metadata:ao(e.elements,e.appState,e.files||{},"local")})),o(a)},t,n)})},w0=async({elements:e,appState:t=Dt(),files:n={},exportPadding:r,renderEmbeddables:o,exportingFrame:i})=>{let{elements:a,appState:s}=so({elements:e,appState:t},null,null),c={...s,exportPadding:r};return am(a,c,n,{exportingFrame:i,renderEmbeddables:o})},eM=async e=>{if(e.type==="svg"){let t=await w0(e);await ol(t.outerHTML)}else if(e.type==="png")await ym(x0(e));else if(e.type==="json")await wm(e.elements,e.files);else throw new Error("Invalid export type")};g();var b0=e=>e.type==="diamond"?[[e.width/2,0],[e.width,e.height/2],[e.width/2,e.height],[0,e.height/2]]:[[0,0],[0+e.width,0],[0+e.width,e.height],[0,e.height]],y0=e=>ee(e)||fe(e)?e.points:b0(e),Tm=e=>{let t=e.reduce((n,[r,o])=>(n.minY=Math.min(n.minY,o),n.minX=Math.min(n.minX,r),n.maxX=Math.max(n.maxX,r),n.maxY=Math.max(n.maxY,o),n),{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},Am=e=>{let t=y0(e),{cx:n,cy:r}=Tm(t),o=[n,r],i=t.map(d=>le([d[0],d[1]],o,e.angle)),{minX:a,minY:s,maxX:c,maxY:l}=Tm(i);return[a+e.x,s+e.y,c+e.x,l+e.y]},_m=(e,t,n=!1)=>{let r=Am(e),o=t[0]<=r[0]&&t[2]>=r[2]&&t[1]<=r[1]&&t[3]>=r[3];return n?o?!0:r[0]<=t[0]&&r[2]>=t[2]&&r[1]<=t[1]&&r[3]>=t[3]:o},v0=(e,t)=>{let n=Am(e);return(to(n[0],t[0],t[2])||to(t[0],n[0],n[2]))&&(to(n[1],t[1],t[3])||to(t[1],n[1],n[3]))},Sm=({elements:e,bounds:t,type:n,errorMargin:r=0})=>{$a(t)&&(t=at(t,Q(e)));let o=[t[0]-r,t[1]-r,t[2]+r,t[3]+r],i=new Set;for(let a of e){if(i.has(a.id))continue;if(n==="overlap"?v0(a,o):n==="inside"?_m(a,o):_m(a,o,!0)){if(i.add(a.id),a.boundElements)for(let c of a.boundElements)i.add(c.id);V(a)&&a.containerId&&i.add(a.containerId),q(a)&&(a.startBinding&&i.add(a.startBinding.elementId),a.endBinding&&i.add(a.endBinding?.elementId))}}return e.filter(a=>i.has(a.id))};g();function Im(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 Dm(e,t){return e[0]*t[1]-t[0]*e[1]}function T0(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function Hi(e,t){return[e[0]-t[0],e[1]-t[1]]}var _0=1e-6;function Mm(e,t){let n=Hi(e[1],e[0]),r=Hi(t,e[0]),o=Dm(n,r);return Math.abs(o)<_0}function il(e,t){let n=Hi(e[1],e[0]),r=Hi(t,e[0]);return Dm(n,r)<0}function Pm(e,t){return Mm(e,t[0])||Mm(e,t[1])||(il(e,t[0])?!il(e,t[1]):il(e,t[1]))}function Lm(e,t){return T0(Im(e),Im(t))&&Pm(e,t)&&Pm(t,e)}var IM=(e,t,n)=>{let r=Q(e);for(let o of t)if(o.frameId){let i=n.get(o.id),a=n.get(o.frameId);if(i){let s=r.get(i);s&&O(s,{frameId:a??o.frameId},!1)}}};function km(e,t,n){let r=Hs(t,n),o=Hs(e,n);return r.some(a=>o.some(s=>Lm(a,s)))}var Cm=(e,t,n)=>Ui(di(e,t,n,!1)).filter(r=>!Z(r)&&!r.frameId||r.frameId===t.id),Rm=(e,t,n,r)=>di(e,t,r).some(o=>o.id===n.id);var Fm=(e,t,n)=>{let[r,o,i,a]=F(t,n),[s,c,l,d]=De(e);return r<=s&&o<=c&&i>=l&&a>=d},an=(e,t,n)=>Fm([e],t,n)||km(e,t,n)||Rm([t],e,t,n),MM=(e,t,n)=>{let[r,o,i,a]=F(t,n);return kn([r,o],[e.x,e.y],[i,a])};var PM=e=>{let t=new Map;for(let n of e){let r=Z(n)?n.id:n.frameId;r&&!t.has(r)&&t.set(r,uo(e,r))}return t},uo=(e,t)=>{let n=[];for(let r of e.values())r.frameId===t&&n.push(r);return n},Qs=e=>e.filter(t=>Z(t)),el=e=>{let t=Q(Qs(e));return e.filter(n=>t.has(n.id)||!n.frameId||!t.has(n.frameId))},DM=(e,t,n,r)=>{let o=uo(e,t.id),i=new Set(o),a=new Set([...Cm(e,t,r),...o.filter(f=>Rm(e,f,t,r))]),s=o.filter(f=>!a.has(f)),c=new Set(Array.from(a).flatMap(f=>f.groupIds));for(let f of s)if(!km(f,t,r))f.groupIds.length===0&&i.delete(f);else if(f.groupIds.length>0)for(let m of f.groupIds)c.add(m);for(let f of s)if(f.groupIds.length>0){let m=!0;for(let p of f.groupIds)c.has(p)&&(m=!1);m&&i.delete(f)}let l=Array.from(a).filter(f=>f.groupIds.length===0);for(let f of l)i.add(f);let d=Array.from(a).filter(f=>f.groupIds.length>0),u=Af(d,n);for(let[f,m]of Object.entries(u))if(m){let p=sr(e,f);if(Fm(p,t,r))for(let h of p)i.add(h)}return[...i].filter(f=>!(V(f)&&f.containerId))},LM=(e,t,n)=>Ui(e,Cm(e,t,n)),Le=(e,t)=>e.frameId&&t.get(e.frameId)||null,kM=(e,t)=>{let n=new Set,r=Q(e);e=Ui(e);for(let a of e)Z(a)&&a.id!==t.id&&n.add(a.id);let o=new Set,i=[];for(let a of e)if(!(Z(a)||a.frameId&&n.has(a.frameId)))if(a.groupIds.length){let s=a.groupIds.at(-1);if(!o.has(s)){o.add(s);let c=sr(e,s);if(c.some(l=>an(l,t,r)))for(let l of c)i.push(l)}}else an(a,t,r)&&i.push(a);return i},A0=(e,t,n)=>{let r=Q(e),o=new Map;for(let c of e.values())c.frameId===n.id&&o.set(c.id,!0);let i=new Set(t.map(c=>c.id)),a=[],s=new Set;for(let c of t)Z(c)&&c.id!==n.id&&s.add(c.id);for(let c of Ui(e,t)){if(Z(c)||c.frameId&&s.has(c.frameId))continue;o.has(c.id)||a.push(c);let l=X(c,r);l&&!i.has(l.id)&&!o.has(l.id)&&a.push(l)}for(let c of a)O(c,{frameId:n.id},!1);return e},Nm=(e,t)=>{let n=new Map,r=new Map;for(let o of e)if(o.frameId){n.set(o.id,o);let i=r.get(o.frameId)||[];i.push(o);let a=X(o,t);a&&(n.set(a.id,a),i.push(a)),r.set(o.frameId,i)}for(let[,o]of n)O(o,{frameId:null},!1)},S0=(e,t)=>{let n=uo(e,t.id);return Nm(n,Q(e)),e},CM=(e,t,n,r)=>A0(S0(e,n),t,n).slice(),RM=(e,t,n)=>{let r=n.scene.getSelectedElements({selectedElementIds:t.selectedElementIds,elements:e}),o=new Set(r);if(t.editingGroupId)for(let s of r)s.groupIds.length===0?o.add(s):s.groupIds.flatMap(c=>sr(e,c)).forEach(c=>o.add(c));let i=new Set,a=Q(e);return o.forEach(s=>{s.frameId&&!Z(s)&&!Gi(s,a,t)&&i.add(s)}),i.size>0&&Nm(i,a),e},Ui=(e,t)=>{let n=new Set,r=t||e;for(let a of r.values()){let s=a.groupIds[a.groupIds.length-1];s&&n.add(s)}let o=new Set;for(let a of n)sr(e,a).some(s=>Z(s))&&o.add(a);let i=[];for(let a of r.values())o.has(a.groupIds[a.groupIds.length-1])||i.push(a);return i},Bi=(e,t,n)=>{let r=V(e)&&Ae(e,t)||e;return n.selectedElementIds[r.id]&&n.selectedElementsAreBeingDragged?n.frameToHighlight:Le(r,t)},Gi=(e,t,n)=>{let r=Bi(e,t,n),o=V(e)&&Ae(e,t)||e;if(r){if(!n.selectedElementIds[e.id]||!n.selectedElementsAreBeingDragged)return!0;if(o.groupIds.length===0)return an(o,r,t);let i=new Set(o.groupIds.flatMap(a=>sr(t,a)));if(n.editingGroupId&&n.selectedElementsAreBeingDragged){let a=new Set(Fe(t,n));if(n.frameToHighlight!==null)return!0;a.forEach(c=>{i.delete(c)})}for(let a of i)if(Z(a))return!1;for(let a of i)if(an(a,r,t))return!0}return!1},sm=(e,t)=>e.name===null?kr(e)?`Frame ${t}`:`AI Frame $${t}`:e.name,lm=(e,t)=>Sm({elements:e,bounds:t,type:"overlap"}).filter(n=>!n.frameId||n.frameId===t.id);var I0=e=>{let t=new Set;return e.forEach(n=>{Z(n)&&t.add(n.id)}),e.filter(n=>!(n.frameId&&t.has(n.frameId)))},di=(e,t,n,r=!0)=>{let[o,i,a,s]=F(t,n),c=e.filter(l=>{let[d,u,f,m]=at(l,n),p=Le(l,n);if(p){let[h,E,x,w]=at(p,n);d=Math.max(h,d),u=Math.max(E,u),f=Math.min(x,f),m=Math.min(w,m)}return l.locked===!1&&l.type!=="selection"&&!Ue(l)&&o<=d&&i<=u&&a>=f&&s>=m});return c=r?I0(c):c,c=c.filter(l=>{let d=Le(l,n);return d?an(l,d,n):!0}),c},UM=(e,t,n,r)=>{let o=new Set(t.map(i=>i.id));return e.filter(i=>{let a=Om(i,n.width,n.height,n,r);return!o.has(i.id)&&a})},ZE=function(){let e=null,t=null,n=null,r=(o,i)=>(n!=null&&o===e&&i.selectedElementIds===t||(n=o.some(a=>i.selectedElementIds[a.id]),e=o,t=i.selectedElementIds),n);return r.clearCache=()=>{e=null,t=null,n=null},r}(),KE=(e,t,n)=>{let r=Array.from(new Set(Fe(e,t).map(o=>n(o))));return r.length===1?r[0]:null},Fe=(e,t,n)=>{let r=[];for(let o of e.values()){if(t.selectedElementIds[o.id]){r.push(o);continue}if(n?.includeBoundTextElement&&Ue(o)&&t.selectedElementIds[o?.containerId]){r.push(o);continue}}if(n?.includeElementsInFrames){let o=[];return r.forEach(i=>{Z(i)&&uo(e,i.id).forEach(a=>o.push(a)),o.push(i)}),o}return r},jE=(e,t)=>t.editingElement?[t.editingElement]:Fe(e,t,{includeBoundTextElement:!0}),$s=(e,t)=>Ha(t.selectedElementIds,e)?t.selectedElementIds:e;var Bm=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}},M0=e=>{let t=["includeBoundTextElement","includeElementsInFrames"],n="";for(let r of t)n+=`${r}:${e[r]?"1":"0"}`;return n},Gm=e=>typeof e=="string",al=class e{static sceneMapByElement=new WeakMap;static sceneMapById=new Map;static mapElementToScene(t,n){Gm(t)?this.sceneMapById.set(t,n):(this.sceneMapByElement.set(t,n),this.sceneMapById.set(t.id,n))}static getScene(t){return Gm(t)?this.sceneMapById.get(t)||null:this.sceneMapByElement.get(t)||null}callbacks=new Set;nonDeletedElements=[];nonDeletedElementsMap=vn(new Map);elements=[];nonDeletedFramesLikes=[];frames=[];elementsMap=vn(new Map);selectedElementsCache={selectedElementIds:null,elements:null,cache:new Map};versionNonce;getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}getSelectedElements(t){let n=M0(t),r=t?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===r&&this.selectedElementsCache.selectedElementIds===t.selectedElementIds){let i=this.selectedElementsCache.cache.get(n);if(i)return i}else t?.elements==null&&this.selectedElementsCache.cache.clear();let o=Fe(r,{selectedElementIds:t.selectedElementIds},t);return t?.elements==null&&(this.selectedElementsCache.selectedElementIds=t.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(n,o)),o}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(t){return this.elementsMap.get(t)||null}getVersionNonce(){return this.versionNonce}getNonDeletedElement(t){let n=this.getElement(t);return n&&zm(n)?n:null}mapElements(t){let n=!1,r=this.elements.map(o=>{let i=t(o);return i!==o&&(n=!0),i});return n&&this.replaceAllElements(r),n}replaceAllElements(t){this.elements=t instanceof Array?t:Array.from(t.values());let n=[];this.elementsMap.clear(),this.elements.forEach(o=>{Z(o)&&n.push(o),this.elementsMap.set(o.id,o),e.mapElementToScene(o,this)});let r=Bm(this.elements);this.nonDeletedElements=r.elements,this.nonDeletedElementsMap=r.elementsMap,this.frames=n,this.nonDeletedFramesLikes=Bm(this.frames).elements,this.informMutation()}informMutation(){this.versionNonce=Tt();for(let t of Array.from(this.callbacks))t()}addCallback(t){if(this.callbacks.has(t))throw new Error;return this.callbacks.add(t),()=>{if(!this.callbacks.has(t))throw new Error;this.callbacks.delete(t)}}destroy(){this.nonDeletedElements=[],this.elements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),e.sceneMapById.forEach((t,n)=>{t===this&&e.sceneMapById.delete(n)}),this.callbacks.clear()}insertElementAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),t,...this.elements.slice(n)];this.replaceAllElements(r)}insertElementsAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),...t,...this.elements.slice(n)];this.replaceAllElements(r)}addNewElement=t=>{t.frameId?this.insertElementAtIndex(t,this.getElementIndex(t.frameId)):this.replaceAllElements([...this.elements,t])};getElementIndex(t){return this.elements.findIndex(n=>n.id===t)}getContainerElement=t=>t&&t.containerId&&this.getElement(t.containerId)||null},ot=al;var O=(e,t,n=!0)=>{let r=!1,{points:o,fileId:i}=t;typeof o<"u"&&(t={...bf(o),...t});for(let a in t){let s=t[a];if(typeof s<"u"){if(e[a]===s&&(typeof s!="object"||s===null||a==="groupIds"||a==="scale"))continue;if(a==="scale"){let c=e[a],l=s;if(c[0]===l[0]&&c[1]===l[1])continue}else if(a==="points"){let c=e[a],l=s;if(c.length===l.length){let d=!1,u=c.length;for(;--u;){let f=c[u],m=l[u];if(f[0]!==m[0]||f[1]!==m[1]){d=!0;break}}if(!d)continue}}e[a]=s,r=!0}}return r&&((typeof t.height<"u"||typeof t.width<"u"||typeof i<"u"||typeof o<"u")&&re.delete(e),e.version++,e.versionNonce=Tt(),e.updated=Lt(),n&&ot.getScene(e)?.informMutation()),e},Rn=(e,t)=>{let n=!1;for(let r in t){let o=t[r];if(typeof o<"u"){if(e[r]===o&&(typeof o!="object"||o===null))continue;n=!0}}return n?{...e,...t,updated:Lt(),version:e.version+1,versionNonce:Tt()}:e},ro=(e,t)=>(e.version=(t??e.version)+1,e.versionNonce=Tt(),e.updated=Lt(),e);var lo=e=>ee(e)||fe(e)?e.points.length<2:e.width===0&&e.height===0,Om=(e,t,n,r,o)=>{let[i,a,s,c]=at(e,o),l=Lr({clientX:r.offsetLeft,clientY:r.offsetTop},r),d=Lr({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return l.x<=s&&l.y<=c&&d.x>=i&&d.y>=a},$i=(e,t,n)=>{let r=Math.abs(t),o=Math.abs(n);if(e==="line"||e==="arrow"||e==="freedraw"){let i=Math.round(Math.atan(o/r)/gt)*gt;i===0?n=0:i===Math.PI/2?t=0:n=r*Math.tan(i)*Math.sign(n)||n}else e!=="selection"&&(n=r*Math.sign(n));return{width:t,height:n}},Ms=(e,t,n,r)=>{let o=n-e,i=r-t,a=Math.round(Math.atan(i/o)/gt)*gt;if(a===0)i=0;else if(a===Math.PI/2)o=0;else{let s=Math.tan(a),c=-1,l=t-s*e,d=-1/s,u=-1,f=r-d*n,m=(c*f-u*l)/(s*u-d*c),p=(l*d-f*s)/(s*u-d*c);o=m-e,i=p-t}return{width:o,height:i}};var tl=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};g();var ll=(e,t,n)=>t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3],Hm=(e,t,n,r,o,i,a)=>{if(!n.selectedElementIds[e.id])return!1;let{rotation:s,...c}=ms(e,i,t,a);if(s&&ll(s,r,o))return"rotation";let l=Object.keys(c).filter(d=>{let u=c[d];return u?ll(u,r,o):!1});return l.length>0?l[0]:!1},P0=(e,t,n,r,o,i,a)=>e.reduce((s,c)=>{if(s)return s;let l=Hm(c,a,t,n,r,o,i);return l?{element:c,transformHandleType:l}:null},null),D0=([e,t,n,r],o,i,a,s)=>{let c=Ei([e,t,n,r,(e+n)/2,(t+r)/2],0,a,s,fs);return Object.keys(c).find(d=>{let u=c[d];return u&&ll(u,o,i)})||!1},sl=["ns","nesw","ew","nwse"],L0=(e,t)=>{let n=sl.indexOf(e);if(n>=0){let r=Math.round(t/(Math.PI/4));e=sl[(n+r)%sl.length]}return e},k0=e=>{let{element:t,transformHandleType:n}=e,r=t&&Math.sign(t.height)*Math.sign(t.width)===-1,o=null;switch(n){case"n":case"s":o="ns";break;case"w":case"e":o="ew";break;case"nw":case"se":r?o="nesw":o="nwse";break;case"ne":case"sw":r?o="nwse":o="nesw";break;case"rotation":return"grab"}return o&&t&&(o=L0(o,t.angle)),o?`${o}-resize`:""};g();var Yi=e=>e<0?e+2*Math.PI:e>=2*Math.PI?e-2*Math.PI:e,C0=(e,t,n,r,o,i,a,s,c,l,d)=>{if(n.length===1){let[u]=n;return t==="rotation"?(R0(u,r,s,c,o),rn(u,r)):V(u)&&(t==="nw"||t==="ne"||t==="sw"||t==="se")?(O0(u,r,t,i,s,c),rn(u,r)):t&&B0(e,a,u,r,t,i,s,c),!0}else if(n.length>1){if(t==="rotation")return z0(e,n,r,s,c,o,l,d),!0;if(t==="nw"||t==="ne"||t==="sw"||t==="se")return G0(e,n,r,t,i,s,c),!0}return!1},R0=(e,t,n,r,o)=>{let[i,a,s,c]=F(e,t),l=(i+s)/2,d=(a+c)/2,u;Z(e)?u=0:(u=5*Math.PI/2+Math.atan2(r-d,n-l),o&&(u+=gt/2,u-=u%gt),u=Yi(u));let f=Dn(e);if(O(e,{angle:u}),f){let m=ot.getScene(e)?.getElement(f);m&&!q(e)&&O(m,{angle:u})}},F0=(e,t,n,r)=>ee(e)||fe(e)?{points:on(0,t,on(1,n,e.points,r),r)}:{},cl=(e,t,n)=>{let r=e.width;if(Ue(e)){let a=Ae(e,t);a&&(r=it(a,e))}let i=e.fontSize*(n/r);return i<ko?null:{size:i}},N0=(e,t)=>({n:/^(n|ne|nw)$/.test(e)||t&&/^(s|se|sw)$/.test(e),s:/^(s|se|sw)$/.test(e)||t&&/^(n|ne|nw)$/.test(e),w:/^(w|nw|sw)$/.test(e)||t&&/^(e|ne|se)$/.test(e),e:/^(e|ne|se)$/.test(e)||t&&/^(w|nw|sw)$/.test(e)}),O0=(e,t,n,r,o,i)=>{let[a,s,c,l]=F(e,t),d=(a+c)/2,u=(s+l)/2,[f,m]=z(o,i,d,u,-e.angle),p;switch(n){case"se":p=Math.max((f-a)/(c-a),(m-s)/(l-s));break;case"nw":p=Math.max((c-f)/(c-a),(l-m)/(l-s));break;case"ne":p=Math.max((f-a)/(c-a),(l-m)/(l-s));break;case"sw":p=Math.max((c-f)/(c-a),(m-s)/(l-s));break}if(p>0){let h=e.width*p,E=e.height*p,x=cl(e,t,h);if(x===null)return;let[w,b,T,y]=Ln(e,h,E,!1),D=(a-w)/2,M=(s-b)/2,A=(c-T)/2,I=(l-y)/2,[P,v]=Mi(N0(n,r),e.x,e.y,e.angle,D,M,A,I);O(e,{fontSize:x.size,width:h,height:E,x:P,y:v})}},B0=(e,t,n,r,o,i,a,s)=>{let c=e.get(n.id),[l,d,u,f]=Ln(c,c.width,c.height,!0),m=[l,d],p=[u,f],h=Xr(m,p),E=le([a,s],h,-c.angle),[x,w,b,T]=Ln(n,n.width,n.height,!0),y=b-x,D=T-w,M=p[0]-m[0],A=p[1]-m[1],I=M/y,P=A/D,v={},S=X(n,r);o.includes("e")&&(I=(E[0]-m[0])/y),o.includes("s")&&(P=(E[1]-m[1])/D),o.includes("w")&&(I=(p[0]-E[0])/y),o.includes("n")&&(P=(p[1]-E[1])/D);let L=c.width,H=c.height,N=n.width*I,B=n.height*P;if(i&&(N=2*N-L,B=2*B-H),t){let Se=Math.abs(N)/L,On=Math.abs(B)/H;if(o.length===1&&(B*=Se,N*=On),o.length===2){let fn=Math.max(Se,On);N=L*fn*Math.sign(N),B=H*fn*Math.sign(B)}}if(S){let Se=e.get(S.id);if(Se&&(v={fontSize:Se.fontSize}),t){let On={...n,width:N,height:B},fn=cl(S,r,it(On,S));if(fn===null)return;v={fontSize:fn.size}}else{let On=of(ue(S),S.lineHeight),fn=tf(S.fontSize,S.lineHeight);N=Math.max(N,On),B=Math.max(B,fn)}}let[k,U,W,K]=Ln(c,N,B,!0),ye=W-k,pe=K-U,ae=[...m];if(["n","w","nw"].includes(o)&&(ae=[p[0]-Math.abs(ye),p[1]-Math.abs(pe)]),o==="ne"){let Se=[m[0],p[1]];ae=[Se[0],Se[1]-Math.abs(pe)]}if(o==="sw"){let Se=[p[0],m[1]];ae=[Se[0]-Math.abs(ye),Se[1]]}t&&(["s","n"].includes(o)&&(ae[0]=h[0]-ye/2),["e","w"].includes(o)&&(ae[1]=h[1]-pe/2));let ct=N<0,ln=B<0;ct&&(o.includes("e")&&(ae[0]-=Math.abs(ye)),o.includes("w")&&(ae[0]+=Math.abs(ye))),ln&&(o.includes("s")&&(ae[1]-=Math.abs(pe)),o.includes("n")&&(ae[1]+=Math.abs(pe))),i&&(ae[0]=h[0]-Math.abs(ye)/2,ae[1]=h[1]-Math.abs(pe)/2);let ge=c.angle,Nn=le(ae,h,ge),cn=[ae[0]+Math.abs(ye)/2,ae[1]+Math.abs(pe)/2],dn=le(cn,h,ge);ae=le(Nn,dn,-ge);let xe=[...ae],un=c.x-k,ve=c.y-U;xe[0]+=un,xe[1]+=ve;let qm=xe[0],Jm=xe[1],hl,El;(ee(n)||fe(n))&&(hl=on(1,B,c.points,!0),El=on(0,N,hl,!0));let $t={width:Math.abs(N),height:Math.abs(B),x:qm,y:Jm,points:El};if("scale"in n&&"scale"in c&&O(n,{scale:[(Math.sign(W-c.x)||c.scale[0])*c.scale[0],(Math.sign(K-c.y)||c.scale[1])*c.scale[1]]}),q(n)&&S&&t){let Se=$t.width/n.width*S.fontSize;if(Se<ko)return;v.fontSize=Se}$t.width!==0&&$t.height!==0&&Number.isFinite($t.x)&&Number.isFinite($t.y)&&(O(n,$t),rn(n,r,{newSize:{width:$t.width,height:$t.height}}),S&&v!=null&&O(S,{fontSize:v.fontSize}),Mn(n,r,o,t))},G0=(e,t,n,r,o,i,a)=>{let s=t.reduce((v,S)=>{let L=e.get(S.id);return L&&v.push({orig:L,latest:S}),v},[]),c=s.reduce((v,{orig:S})=>{if(!ee(S))return v;let L=Dn(S);if(!L)return v;let H=e.get(L)??null;if(!Ue(H))return v;let N=J.getBoundTextElementPosition(S,H,n);return[...v,{...H,...N}]},[]),{minX:l,minY:d,maxX:u,maxY:f,midX:m,midY:p}=Tf(s.map(({orig:v})=>v).concat(c)),h=r,E={ne:[l,f],se:[l,d],sw:[u,d],nw:[u,f]},[x,w]=o?[m,p]:E[h],b=Math.max(Math.abs(i-x)/(u-l)||0,Math.abs(a-w)/(f-d)||0)*(o?2:1);if(b===0)return;let T={ne:[i>=x,a<=w],se:[i>=x,a>=w],sw:[i<=x,a>=w],nw:[i<=x,a<=w]},[y,D]=T[h].map(v=>v?1:-1),M=y<0,A=D<0,I=[];for(let{orig:v,latest:S}of s){if(V(v)&&Ue(v))continue;let L=v.width*b,H=v.height*b,N=Yi(v.angle*y*D),B=ee(v)||fe(v),k=v.x-x,U=v.y-w,W=M&&!B?L:0,K=A&&!B?H:0,ye=x+y*(k*b+W),pe=w+D*(U*b+K),ae=F0(v,L*y,H*D,!1),ct={x:ye,y:pe,width:L,height:H,angle:N,...ae};if(Yo(v)&&s.length===1&&(ct.scale=[v.scale[0]*y,v.scale[1]*D]),ee(v)&&(M||A)){let ge=or(v,v.points),Nn=or({...v,x:ye,y:pe},ae.points),cn=[v.x,v.y],dn=[ye,pe],xe=un=>{let ve=un==="x"?0:1;return(Nn[ve+2]-dn[ve]-(cn[ve]-ge[ve])*b+(ge[ve+2]-cn[ve])*b-(dn[ve]-Nn[ve]))/2};M&&(ct.x-=xe("x")),A&&(ct.y-=xe("y"))}if(V(v)){let ge=cl(v,n,L);if(!ge)return;ct.fontSize=ge.size}let ln=e.get(Dn(v)??"");if(ln){let ge=ln.fontSize*b;if(ge<ko)return;ct.boundTextFontSize=ge}I.push({element:S,update:ct})}let P=I.map(({element:v})=>v);for(let{element:v,update:{boundTextFontSize:S,...L}}of I){let{width:H,height:N,angle:B}=L;O(v,L,!1),rn(v,n,{simultaneouslyUpdated:P,newSize:{width:H,height:N}});let k=X(v,n);k&&S&&(O(k,{fontSize:S,angle:ee(v)?void 0:B},!1),Mn(v,n,r,!0))}ot.getScene(I[0].element)?.informMutation()},z0=(e,t,n,r,o,i,a,s)=>{let c=5*Math.PI/2+Math.atan2(o-s,r-a);i&&(c+=gt/2,c-=c%gt),t.filter(l=>!Z(l)).forEach(l=>{let[d,u,f,m]=F(l,n),p=(d+f)/2,h=(u+m)/2,E=e.get(l.id)?.angle??l.angle,[x,w]=z(p,h,a,s,c+E-l.angle);O(l,{x:l.x+(x-p),y:l.y+(w-h),angle:Yi(c+E)},!1),rn(l,n,{simultaneouslyUpdated:t});let b=X(l,n);b&&!q(l)&&O(b,{x:b.x+(x-p),y:b.y+(w-h),angle:Yi(c+E)},!1)}),ot.getScene(t[0])?.informMutation()},H0=(e,t,n,r,o)=>{let[i,a,s,c]=t.length===1?F(t[0],n):De(t),l=(i+s)/2,d=(a+c)/2,u=t.length===1?t[0].angle:0;switch([r,o]=z(r,o,l,d,-u),e){case"n":return z(r-(i+s)/2,o-a,0,0,u);case"s":return z(r-(i+s)/2,o-c,0,0,u);case"w":return z(r-i,o-(a+c)/2,0,0,u);case"e":return z(r-s,o-(a+c)/2,0,0,u);case"nw":return z(r-i,o-a,0,0,u);case"ne":return z(r-s,o-a,0,0,u);case"sw":return z(r-i,o-c,0,0,u);case"se":return z(r-s,o-c,0,0,u);default:return[0,0]}},U0=(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"};g();var $0=(e,t,n,r,o,i,a)=>{let s=new Set(t),c=t.filter(u=>Z(u)).map(u=>u.id);if(c.length>0)for(let u of o.getNonDeletedElements())u.frameId!==null&&c.includes(u.frameId)&&s.add(u);let l=De(Array.from(s).map(u=>e.originalElements.get(u.id)??u)),d=Y0(l,n,i,a);s.forEach(u=>{if(Um(e,u,d),!q(u)){let f=X(u,o.getNonDeletedElementsMap());f&&Um(e,f,d)}rn(u,o.getElementsMapIncludingDeleted(),{simultaneouslyUpdated:Array.from(s)})})},Y0=(e,t,n,r)=>{let[o,i]=e,a=o+t.x+n.x,s=i+t.y+n.y;if(n.x===0||n.y===0){let[c,l]=Zr(o+t.x,i+t.y,r);n.x===0&&(a=c),n.y===0&&(s=l)}return{x:a-o,y:s-i}},Um=(e,t,n)=>{let r=e.originalElements.get(t.id)??t,o=r.x+n.x,i=r.y+n.y;O(t,{x:o,y:i})},W0=(e,t,n)=>{let[r,o]=De(e);return[t-r,n-o]},V0=(e,t,n,r,o,i,a,s,c,l,d,u=null)=>{c&&e.type!=="selection"&&(d?s=a/d:(Math.abs(i-r)>Math.abs(o-n)?{width:a,height:s}=$i(t,s,o<n?-a:a):{width:a,height:s}=$i(t,a,i<r?-s:s),s<0&&(s=-s)));let f=o<n?n-a:n,m=i<r?r-s:r;l&&(a+=a,s+=s,f=n-a/2,m=r-s/2),a!==0&&s!==0&&O(e,{x:f+(u?.x??0),y:m+(u?.y??0),width:a,height:s})};g();var X0=(e,t)=>!!(!e.viewModeEnabled&&(e.activeTool.type!=="custom"&&(e.editingElement||e.activeTool.type!=="selection"&&e.activeTool.type!=="eraser"&&e.activeTool.type!=="hand"&&e.activeTool.type!=="laser")||Fe(t,e).length));var XP=e=>e.reduce((t,n)=>t+n.version,0),fu=e=>e.filter(t=>!t.isDeleted&&!lo(t)),nl=e=>e.filter(t=>!t.isDeleted),zm=e=>!e.isDeleted,$m=e=>nl(e).map(t=>Ua(t.type)?{...t,lastCommittedPoint:null}:t),Zf=e=>$m(e),Oi=e=>$m(e);var Wm=async e=>{let t;if(e.type===R.png)try{return await(await import("./image-4AT7LYMR.js")).decodePngMetadata(e)}catch(n){throw n.message==="INVALID"?new zt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new zt("Error: cannot restore image")}else if("text"in Blob?t=await e.text():t=await new Promise(n=>{let r=new FileReader;r.readAsText(e,"utf8"),r.onloadend=()=>{r.readyState===FileReader.DONE&&n(r.result)}}),e.type===R.svg)try{return await(await import("./image-4AT7LYMR.js")).decodeSvgMetadata({svg:t})}catch(n){throw n.message==="INVALID"?new zt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new zt("Error: cannot restore image")}return t};var Z0=e=>e&&e.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,xD=e=>e==="png"||e==="svg",Wf=e=>{let t=Z0(e);return t==="png"||t==="svg"},Vi=e=>{let{type:t}=e||{};return!!t&&Object.values(Ca).includes(t)},K0=async(e,t,n,r)=>{let o=await Wm(e),i;try{try{i=JSON.parse(o)}catch(a){throw Vi(e)?new zt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):a}if(Xf(i))return{type:R.excalidraw,data:so({elements:Oi(i.elements||[]),appState:{theme:t?.theme,fileHandle:r||e.handle||null,...Go(i.appState||{}),...t?es(i.elements||[],t):{}},files:i.files},t,n,{repairBindings:!0,refreshDimensions:!1})};if(Ks(i))return{type:R.excalidrawlib,data:i};throw new Error("Error: invalid file")}catch(a){throw a instanceof zt?a:new Error("Error: invalid file")}},Vf=async(e,t,n,r)=>{let o=await K0(e,t,n,r);if(o.type!==R.excalidraw)throw new Error("Error: invalid file");return o.data},j0=(e,t="unpublished")=>{let n=JSON.parse(e);if(!Ks(n))throw new Error("Invalid library");let r=n.libraryItems||n.library;return mm(r,t)},wD=async(e,t="unpublished")=>j0(await Wm(e),t),bD=async e=>new Promise(async(t,n)=>{try{Uo(e)&&(e=await e),e.toBlob(r=>{if(!r)return n(new Fi("Error: Canvas too big","CANVAS_POSSIBLY_TOO_BIG"));t(r)})}catch(r){n(r)}}),yD=async e=>{try{let t=await window.crypto.subtle.digest("SHA-1",await Ut(e));return zd(new Uint8Array(t))}catch(t){return console.error(t),Bo(40)}},vD=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result;t(o)},r.onerror=o=>n(o),r.readAsDataURL(e)}),TD=(e,t="")=>{let n=e.indexOf(","),r=atob(e.slice(n+1)),o=e.slice(0,n).split(":")[1].split(";")[0],i=new ArrayBuffer(r.length),a=new Uint8Array(i);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);return new File([i],t,{type:o})},_D=async(e,t)=>{if(e.type===R.svg)return e;let[n,r]=await Promise.all([import("./pica-GFNRRI3K.js").then(i=>i.default),import("./image-blob-reduce.esm-2RRQLBYF.js").then(i=>i.default)]),o=r({pica:n({features:["js","wasm"]})});if(t.outputType){let{outputType:i}=t;o._create_blob=function(a){return this.pica.toBlob(a.out_canvas,i,.8).then(s=>(a.out_blob=s,a))}}if(!Vi(e))throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"});return new File([await o.toBlob(e,{max:t.maxWidthOrHeight})],e.name,{type:t.outputType||e.type})},AD=(e,t="")=>new File([new TextEncoder().encode(e)],t,{type:R.svg}),SD=async(e,t="")=>{let n;try{n=await fetch(e)}catch{throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"})}if(!n.ok)throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"});let r=await n.blob();if(r.type&&Vi(r)){let o=t||r.name||"";return new File([r],o,{type:r.type})}throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"})},ID=async e=>{let t=e.dataTransfer.files.item(0),n=await q0(e);return{file:t?await Zs(t):null,fileHandle:n}},q0=async e=>{if(cr)try{return await e.dataTransfer.items[0].getAsFileSystemHandle()||null}catch(t){return console.warn(t.name,t.message),null}return null},Ym=e=>{let t=null,n=`${[...new Uint8Array(e).slice(0,8)].join(" ")} `,r={png:"137 80 78 71 13 10 26 10 ",jpg:"255 216 255 ",gif:"71 73 70 56 57 97 "};return n===r.png?t=R.png:n.startsWith(r.jpg)?t=R.jpg:n.startsWith(r.gif)&&(t=R.gif),t},Wi=(e,t,n)=>new File([e],n||"",{type:t}),Zs=async e=>{if(e.type){if(Vi(e)){let t=await Ut(e),n=Ym(t);n&&n!==e.type&&(e=Wi(t,n,e.name))}}else if(e?.name?.endsWith(".excalidrawlib"))e=Wi(await Ut(e),R.excalidrawlib,e.name);else if(e?.name?.endsWith(".excalidraw"))e=Wi(await Ut(e),R.excalidraw,e.name);else{let t=await Ut(e),n=Ym(t);n&&(e=Wi(t,n,e.name))}return e},Ut=e=>"arrayBuffer"in e?e.arrayBuffer():new Promise((t,n)=>{let r=new FileReader;r.onload=o=>{if(!o.target?.result)return n(new Error("Couldn't convert blob to ArrayBuffer"));t(o.target.result)},r.readAsArrayBuffer(e)});var dl=e=>new Promise((t,n)=>{let r=typeof e=="string"?new Blob([new TextEncoder().encode(e)]):new Blob([e instanceof Uint8Array?e:new Uint8Array(e)]),o=new FileReader;o.onload=i=>{if(!i.target||typeof i.target.result!="string")return n(new Error("couldn't convert to byte string"));t(i.target.result)},o.readAsBinaryString(r)}),Vm=e=>{let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let r=0,o=e.length;r<o;r++)n[r]=e.charCodeAt(r);return t},Xm=e=>new TextDecoder("utf-8").decode(Vm(e)),Zm=async(e,t=!1)=>t?window.btoa(e):window.btoa(await dl(e)),Km=async(e,t=!1)=>t?window.atob(e):Xm(window.atob(e)),ul=async({text:e,compress:t})=>{let n;if(t!==!1)try{n=await dl((0,Xi.deflate)(e))}catch(r){console.error("encode: cannot deflate",r)}return{version:"1",encoding:"bstring",compressed:!!n,encoded:n||await dl(e)}},fl=async e=>{let t;switch(e.encoding){case"bstring":t=e.compressed?e.encoded:await Xm(e.encoded);break;default:throw new Error(`decode: unknown encoding "${e.encoding}"`)}return e.compressed?(0,Xi.inflate)(new Uint8Array(Vm(t)),{to:"string"}):t};var J0=async e=>{let n=(0,ml.default)(new Uint8Array(await Ut(e))).find(r=>r.name==="tEXt");return n?pl.default.decode(n.data):null},vm=async({blob:e,metadata:t})=>{let n=(0,ml.default)(new Uint8Array(await Ut(e))),r=pl.default.encode(R.excalidraw,JSON.stringify(await ul({text:t,compress:!0})));return n.splice(-1,0,r),new Blob([(0,jm.default)(n)],{type:R.png})},$D=async e=>{let t=await J0(e);if(t?.keyword===R.excalidraw)try{let n=JSON.parse(t.text);if(!("encoded"in n)){if("type"in n&&n.type===Me.excalidraw)return t.text;throw new Error("FAILED")}return await fl(n)}catch(n){throw console.error(n),new Error("FAILED")}throw new Error("INVALID")},YD=async({text:e})=>{let t=await Zm(JSON.stringify(await ul({text:e})),!0),n="";return n+=`<!-- payload-type:${R.excalidraw} -->`,n+="<!-- payload-version:2 -->",n+="<!-- payload-start -->",n+=t,n+="<!-- payload-end -->",n},WD=async({svg:e})=>{if(e.includes(`payload-type:${R.excalidraw}`)){let t=e.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!t)throw new Error("INVALID");let o=(e.match(/<!-- payload-version:(\d+) -->/)?.[1]||"1")!=="1";try{let i=await Km(t[1],o),a=JSON.parse(i);if(!("encoded"in a)){if("type"in a&&a.type===Me.excalidraw)return i;throw new Error("FAILED")}return await fl(a)}catch(i){throw console.error(i),new Error("FAILED")}}throw new Error("INVALID")};export{yn as a,Zw as b,Kw as c,Mo as d,Po as e,G as f,jw as g,qw as h,Jw as i,Qw as j,eb as k,tb as l,Do as m,ab as n,lb as o,db as p,ub as q,fb as r,wd as s,bd as t,mb as u,pb as v,hb as w,Lo as x,Eb as y,gb as z,xb as A,wb as B,bb as C,Ee as D,Pr as E,me as F,xt as G,qe as H,Zn as I,Co as J,Ro as K,yb as L,Ca as M,R as N,vb as O,Me as P,Ra as Q,Tb as R,_b as S,Ab as T,Sb as U,Ib as V,vd as W,Mb as X,Fo as Y,Pb as Z,Db as _,Lb as $,kb as aa,Cb as ba,Rb as ca,Fb as da,Nb as ea,Td as fa,Fa as ga,Ob as ha,Bb as ia,j as ja,Na as ka,de as la,Pt as ma,Oa as na,Ce as oa,Gb as pa,aE as qa,Md as ra,zb as sa,Hb as ta,Ub as ua,Pd as va,yt as wa,Bo as xa,iy as ya,ay as za,sy as Aa,cE as Ba,ly as Ca,cy as Da,Ga as Ea,ue as Fa,Od as Ga,Bd as Ha,Gd as Ia,dy as Ja,uy as Ka,He as La,Dr as Ma,fy as Na,Lr as Oa,za as Pa,my as Qa,jn as Ra,py as Sa,hy as Ta,Ey as Ua,jt as Va,gy as Wa,xy as Xa,Q as Ya,wy as Za,kt as _a,by as $a,yy as ab,vy as bb,Uo as cb,Ty as db,Ha as eb,_y as fb,$o as gb,Ay as hb,Hd as ib,Sy as jb,Iy as kb,My as lb,Py as mb,Dy as nb,Ud as ob,vn as pb,wt as qb,Yo as rb,Wo as sb,qn as tb,Je as ub,V as vb,kr as wb,$d as xb,Z as yb,ee as zb,q as Ab,Ua as Bb,Qe as Cb,pE as Db,Vo as Eb,$a as Fb,Xo as Gb,Ue as Hb,Zo as Ib,Fy as Jb,Ny as Kb,Tt as Lb,st as Mb,ot as Nb,bf as Ob,le as Pb,be as Qb,Ft as Rb,Zr as Sb,Ot as Tb,MA as Ub,PA as Vb,UE as Wb,_v as Xb,$E as Yb,YE as Zb,ts as _b,WE as $b,VE as ac,fs as bc,lT as cc,Ei as dc,ms as ec,Lu as fc,hs as gc,ag as hc,wi as ic,bi as jc,gs as kc,DT as lc,Ne as mc,LT as nc,kT as oc,CT as pc,ys as qc,WT as rc,Ts as sc,Wr as tc,VT as uc,XT as vc,vs as wc,Ig as xc,ZT as yc,Vr as zc,rn as Ac,KT as Bc,jT as Cc,qT as Dc,J as Ec,jr as Fc,qu as Gc,Ju as Hc,p_ as Ic,ks as Jc,Fg as Kc,M_ as Lc,Qu as Mc,Pn as Nc,ir as Oc,tf as Pc,Rs as Qc,ar as Rc,of as Sc,Dn as Tc,X as Uc,Ae as Vc,P_ as Wc,D_ as Xc,L_ as Yc,k_ as Zc,C_ as _c,R_ as $c,Ls as ad,it as bd,Jr as cd,F_ as dd,Ai as ed,F as fd,De as gd,yA as hd,Tf as id,vA as jd,Dt as kd,kd as ld,Cd as md,ix as nd,FA as od,NA as pd,ax as qd,OA as rd,Af as sd,BA as td,sx as ud,sr as vd,GA as wd,zA as xd,HA as yd,UA as zd,lr as Ad,XA as Bd,Pf as Cd,Df as Dd,Lf as Ed,bx as Fd,yx as Gd,vx as Hd,Ff as Id,no as Jd,gS as Kd,xS as Ld,wS as Md,bS as Nd,_t as Od,ki as Pd,Sx as Qd,yS as Rd,Cn as Sd,Ix as Td,Ys as Ud,Mx as Vd,vS as Wd,Ci as Xd,Gf as Yd,CS as Zd,RS as _d,cr as $d,Ni as ae,zt as be,Yf as ce,Xs as de,fm as ee,r0 as fe,so as ge,mm as he,J0 as ie,vm as je,$D as ke,YD as le,WD as me,Z0 as ne,xD as oe,Wf as pe,Vi as qe,K0 as re,Vf as se,j0 as te,wD as ue,bD as ve,yD as we,vD as xe,TD as ye,_D as ze,AD as Ae,SD as Be,ID as Ce,Zs as De,ao as Ee,h2 as Fe,E2 as Ge,Hx as He,g2 as Ie,Ux as Je,Kf as Ke,jf as Le,v2 as Me,qs as Ne,Yx as Oe,L2 as Pe,F2 as Qe,qf as Re,Jf as Se,Vx as Te,nm as Ue,im as Ve,am as We,cI as Xe,PI as Ye,d0 as Ze,HI as _e,UI as $e,wm as af,$I as bf,YI as cf,ym as df,ol as ef,g0 as ff,x0 as gf,w0 as hf,eM as if,_m as jf,v0 as kf,Sm as lf,IM as mf,an as nf,MM as of,PM as pf,uo as qf,Qs as rf,DM as sf,LM as tf,Le as uf,kM as vf,A0 as wf,Nm as xf,S0 as yf,CM as zf,RM as Af,Gi as Bf,sm as Cf,lm as Df,Ug as Ef,q_ as Ff,Os as Gf,re as Hf,O as If,Rn as Jf,ro as Kf,lo as Lf,Om as Mf,Ms as Nf,tl as Of,P0 as Pf,D0 as Qf,k0 as Rf,C0 as Sf,G0 as Tf,H0 as Uf,U0 as Vf,$0 as Wf,W0 as Xf,V0 as Yf,X0 as Zf,XP as _f,nl as $f,zm as ag,I0 as bg,di as cg,UM as dg,ZE as eg,KE as fg,Fe as gg,jE as hg,$s as ig,HE as jg,es as kg,XE as lg,Mv as mg};