kritzel-stencil 0.0.126 → 0.0.128

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 (451) hide show
  1. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  3. package/dist/cjs/index-C7Read21.js +2638 -0
  4. package/dist/cjs/index-C7Read21.js.map +1 -0
  5. package/dist/cjs/index-CUSIflVf.js +1597 -0
  6. package/dist/cjs/index-CUSIflVf.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +17 -0
  8. package/dist/cjs/index.cjs.js.map +1 -0
  9. package/dist/cjs/kritzel-brush-style_22.cjs.entry.js +3133 -0
  10. package/dist/cjs/loader.cjs.js +14 -0
  11. package/dist/cjs/loader.cjs.js.map +1 -0
  12. package/dist/cjs/stencil.cjs.js +26 -0
  13. package/dist/cjs/stencil.cjs.js.map +1 -0
  14. package/dist/collection/classes/commands/add-object.command.js +17 -0
  15. package/dist/collection/classes/commands/add-object.command.js.map +1 -0
  16. package/dist/collection/classes/commands/add-selection-group.command.js +20 -0
  17. package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -0
  18. package/dist/collection/classes/commands/base.command.js +15 -0
  19. package/dist/collection/classes/commands/base.command.js.map +1 -0
  20. package/dist/collection/classes/commands/batch.command.js +14 -0
  21. package/dist/collection/classes/commands/batch.command.js.map +1 -0
  22. package/dist/collection/classes/commands/move-selection-group.command.js +25 -0
  23. package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -0
  24. package/dist/collection/classes/commands/remove-object.command.js +20 -0
  25. package/dist/collection/classes/commands/remove-object.command.js.map +1 -0
  26. package/dist/collection/classes/commands/remove-selection-group.command.js +18 -0
  27. package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -0
  28. package/dist/collection/classes/commands/resize-selection-group.command.js +18 -0
  29. package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -0
  30. package/dist/collection/classes/commands/rotate-selection-group.command.js +24 -0
  31. package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -0
  32. package/dist/collection/classes/commands/update-object.command.js +32 -0
  33. package/dist/collection/classes/commands/update-object.command.js.map +1 -0
  34. package/dist/collection/classes/commands/update-viewport.command.js +23 -0
  35. package/dist/collection/classes/commands/update-viewport.command.js.map +1 -0
  36. package/dist/collection/classes/database.class.js +227 -0
  37. package/dist/collection/classes/database.class.js.map +1 -0
  38. package/dist/collection/classes/handlers/base.handler.js +7 -0
  39. package/dist/collection/classes/handlers/base.handler.js.map +1 -0
  40. package/dist/collection/classes/handlers/context-menu.handler.js +47 -0
  41. package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -0
  42. package/dist/collection/classes/handlers/hover.handler.js +19 -0
  43. package/dist/collection/classes/handlers/hover.handler.js.map +1 -0
  44. package/dist/collection/classes/handlers/key.handler.js +80 -0
  45. package/dist/collection/classes/handlers/key.handler.js.map +1 -0
  46. package/dist/collection/classes/handlers/move.handler.js +100 -0
  47. package/dist/collection/classes/handlers/move.handler.js.map +1 -0
  48. package/dist/collection/classes/handlers/resize.handler.js +158 -0
  49. package/dist/collection/classes/handlers/resize.handler.js.map +1 -0
  50. package/dist/collection/classes/handlers/rotation.handler.js +118 -0
  51. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -0
  52. package/dist/collection/classes/handlers/selection.handler.js +200 -0
  53. package/dist/collection/classes/handlers/selection.handler.js.map +1 -0
  54. package/dist/collection/classes/history.class.js +84 -0
  55. package/dist/collection/classes/history.class.js.map +1 -0
  56. package/dist/collection/classes/objects/base-object.class.js +205 -0
  57. package/dist/collection/classes/objects/base-object.class.js.map +1 -0
  58. package/dist/collection/classes/objects/custom-element.class.js +53 -0
  59. package/dist/collection/classes/objects/custom-element.class.js.map +1 -0
  60. package/dist/collection/classes/objects/image.class.js +54 -0
  61. package/dist/collection/classes/objects/image.class.js.map +1 -0
  62. package/dist/collection/classes/objects/path.class.js +269 -0
  63. package/dist/collection/classes/objects/path.class.js.map +1 -0
  64. package/dist/collection/classes/objects/selection-box.class.js +23 -0
  65. package/dist/collection/classes/objects/selection-box.class.js.map +1 -0
  66. package/dist/collection/classes/objects/selection-group.class.js +158 -0
  67. package/dist/collection/classes/objects/selection-group.class.js.map +1 -0
  68. package/dist/collection/classes/objects/text.class.js +144 -0
  69. package/dist/collection/classes/objects/text.class.js.map +1 -0
  70. package/dist/{stencil/icon-registry.class-Bw5YkOTi.js → collection/classes/registries/icon-registry.class.js} +7 -7
  71. package/dist/collection/classes/registries/icon-registry.class.js.map +1 -0
  72. package/dist/collection/classes/registries/tool.registry.js +18 -0
  73. package/dist/collection/classes/registries/tool.registry.js.map +1 -0
  74. package/dist/collection/classes/reviver.class.js +66 -0
  75. package/dist/collection/classes/reviver.class.js.map +1 -0
  76. package/dist/collection/classes/store.class.js +410 -0
  77. package/dist/collection/classes/store.class.js.map +1 -0
  78. package/dist/collection/classes/structures/circular-buffer.structure.js +46 -0
  79. package/dist/collection/classes/structures/circular-buffer.structure.js.map +1 -0
  80. package/dist/collection/classes/structures/octree.structure.js +115 -0
  81. package/dist/collection/classes/structures/octree.structure.js.map +1 -0
  82. package/dist/collection/classes/tools/base-tool.class.js +31 -0
  83. package/dist/collection/classes/tools/base-tool.class.js.map +1 -0
  84. package/dist/collection/classes/tools/brush-tool.class.js +116 -0
  85. package/dist/collection/classes/tools/brush-tool.class.js.map +1 -0
  86. package/dist/collection/classes/tools/eraser-tool.class.js +86 -0
  87. package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -0
  88. package/dist/collection/classes/tools/image-tool.class.js +91 -0
  89. package/dist/collection/classes/tools/image-tool.class.js.map +1 -0
  90. package/dist/collection/classes/tools/selection-tool.class.js +156 -0
  91. package/dist/collection/classes/tools/selection-tool.class.js.map +1 -0
  92. package/dist/collection/classes/tools/text-tool.class.js +116 -0
  93. package/dist/collection/classes/tools/text-tool.class.js.map +1 -0
  94. package/dist/collection/classes/viewport.class.js +152 -0
  95. package/dist/collection/classes/viewport.class.js.map +1 -0
  96. package/dist/collection/classes/workspace.class.js +10 -0
  97. package/dist/collection/classes/workspace.class.js.map +1 -0
  98. package/dist/collection/collection-manifest.json +33 -0
  99. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -0
  100. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +154 -0
  101. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -0
  102. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +29 -0
  103. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +670 -0
  104. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -0
  105. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +60 -0
  106. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +1483 -0
  107. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -0
  108. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +44 -0
  109. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +100 -0
  110. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -0
  111. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +21 -0
  112. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +108 -0
  113. package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -0
  114. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -0
  115. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +147 -0
  116. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -0
  117. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +53 -0
  118. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +215 -0
  119. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -0
  120. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -0
  121. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +92 -0
  122. package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -0
  123. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -0
  124. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +115 -0
  125. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -0
  126. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -0
  127. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +112 -0
  128. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -0
  129. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +17 -0
  130. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js +94 -0
  131. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -0
  132. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +166 -0
  133. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +272 -0
  134. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -0
  135. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +218 -0
  136. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -0
  137. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +74 -0
  138. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +324 -0
  139. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -0
  140. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +28 -0
  141. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +91 -0
  142. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -0
  143. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +17 -0
  144. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +181 -0
  145. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -0
  146. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +55 -0
  147. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +141 -0
  148. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -0
  149. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +19 -0
  150. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +136 -0
  151. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -0
  152. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.css +19 -0
  153. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +116 -0
  154. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -0
  155. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +124 -0
  156. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +280 -0
  157. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -0
  158. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +33 -0
  159. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +79 -0
  160. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -0
  161. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +5 -0
  162. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +209 -0
  163. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -0
  164. package/dist/{stencil/default-text-tool.config-DvOZmpuR.js → collection/configs/default-brush-tool.config.js} +2 -38
  165. package/dist/collection/configs/default-brush-tool.config.js.map +1 -0
  166. package/dist/collection/configs/default-engine-state.js +61 -0
  167. package/dist/collection/configs/default-engine-state.js.map +1 -0
  168. package/dist/collection/configs/default-text-tool.config.js +32 -0
  169. package/dist/collection/configs/default-text-tool.config.js.map +1 -0
  170. package/dist/collection/constants/engine.constants.js +3 -0
  171. package/dist/collection/constants/engine.constants.js.map +1 -0
  172. package/dist/collection/enums/event-button.enum.js +7 -0
  173. package/dist/collection/enums/event-button.enum.js.map +1 -0
  174. package/dist/collection/enums/handle-type.enum.js +8 -0
  175. package/dist/collection/enums/handle-type.enum.js.map +1 -0
  176. package/dist/collection/helpers/class.helper.js +6 -0
  177. package/dist/collection/helpers/class.helper.js.map +1 -0
  178. package/dist/collection/helpers/devices.helper.js +6 -0
  179. package/dist/collection/helpers/devices.helper.js.map +1 -0
  180. package/dist/collection/helpers/event.helper.js +58 -0
  181. package/dist/collection/helpers/event.helper.js.map +1 -0
  182. package/dist/collection/helpers/geometry.helper.js +53 -0
  183. package/dist/collection/helpers/geometry.helper.js.map +1 -0
  184. package/dist/collection/helpers/html.helper.js +36 -0
  185. package/dist/collection/helpers/html.helper.js.map +1 -0
  186. package/dist/collection/helpers/keyboard.helper.js +31 -0
  187. package/dist/collection/helpers/keyboard.helper.js.map +1 -0
  188. package/dist/collection/helpers/math.helper.js +6 -0
  189. package/dist/collection/helpers/math.helper.js.map +1 -0
  190. package/dist/collection/helpers/object.helper.js +38 -0
  191. package/dist/collection/helpers/object.helper.js.map +1 -0
  192. package/dist/collection/index.js +21 -0
  193. package/dist/collection/index.js.map +1 -0
  194. package/dist/collection/interfaces/bounding-box.interface.js +2 -0
  195. package/dist/collection/interfaces/bounding-box.interface.js.map +1 -0
  196. package/dist/collection/interfaces/command.interface.js +2 -0
  197. package/dist/collection/interfaces/command.interface.js.map +1 -0
  198. package/dist/collection/interfaces/context-menu-item.interface.js +2 -0
  199. package/dist/collection/interfaces/context-menu-item.interface.js.map +1 -0
  200. package/dist/collection/interfaces/debug-info.interface.js +2 -0
  201. package/dist/collection/interfaces/debug-info.interface.js.map +1 -0
  202. package/dist/collection/interfaces/engine-state.interface.js +2 -0
  203. package/dist/collection/interfaces/engine-state.interface.js.map +1 -0
  204. package/dist/collection/interfaces/menu-item.interface.js +2 -0
  205. package/dist/collection/interfaces/menu-item.interface.js.map +1 -0
  206. package/dist/collection/interfaces/object.interface.js +2 -0
  207. package/dist/collection/interfaces/object.interface.js.map +1 -0
  208. package/dist/collection/interfaces/path-options.interface.js +2 -0
  209. package/dist/collection/interfaces/path-options.interface.js.map +1 -0
  210. package/dist/collection/interfaces/point.interface.js +2 -0
  211. package/dist/collection/interfaces/point.interface.js.map +1 -0
  212. package/dist/collection/interfaces/polygon.interface.js +2 -0
  213. package/dist/collection/interfaces/polygon.interface.js.map +1 -0
  214. package/dist/collection/interfaces/selection-state.interface.js +2 -0
  215. package/dist/collection/interfaces/selection-state.interface.js.map +1 -0
  216. package/dist/collection/interfaces/serializable.interface.js +2 -0
  217. package/dist/collection/interfaces/serializable.interface.js.map +1 -0
  218. package/dist/collection/interfaces/tool.interface.js +2 -0
  219. package/dist/collection/interfaces/tool.interface.js.map +1 -0
  220. package/dist/collection/interfaces/toolbar-control.interface.js +2 -0
  221. package/dist/collection/interfaces/toolbar-control.interface.js.map +1 -0
  222. package/dist/collection/types/state.types.js +2 -0
  223. package/dist/collection/types/state.types.js.map +1 -0
  224. package/dist/components/index.d.ts +8 -0
  225. package/dist/components/index.js +28 -0
  226. package/dist/components/index.js.map +1 -0
  227. package/dist/components/kritzel-brush-style.js +9 -0
  228. package/dist/components/kritzel-brush-style.js.map +1 -0
  229. package/dist/components/kritzel-color-palette.js +9 -0
  230. package/dist/components/kritzel-color-palette.js.map +1 -0
  231. package/dist/components/kritzel-color.js +9 -0
  232. package/dist/components/kritzel-color.js.map +1 -0
  233. package/dist/components/kritzel-context-menu.js +9 -0
  234. package/dist/components/kritzel-context-menu.js.map +1 -0
  235. package/dist/components/kritzel-control-brush-config.js +9 -0
  236. package/dist/components/kritzel-control-brush-config.js.map +1 -0
  237. package/dist/components/kritzel-control-text-config.js +9 -0
  238. package/dist/components/kritzel-control-text-config.js.map +1 -0
  239. package/dist/components/kritzel-controls.js +9 -0
  240. package/dist/components/kritzel-controls.js.map +1 -0
  241. package/dist/components/kritzel-cursor-trail.js +9 -0
  242. package/dist/components/kritzel-cursor-trail.js.map +1 -0
  243. package/dist/components/kritzel-dropdown.js +9 -0
  244. package/dist/components/kritzel-dropdown.js.map +1 -0
  245. package/dist/components/kritzel-editor.js +439 -0
  246. package/dist/components/kritzel-editor.js.map +1 -0
  247. package/dist/components/kritzel-engine.js +9 -0
  248. package/dist/components/kritzel-engine.js.map +1 -0
  249. package/dist/components/kritzel-font-family.js +9 -0
  250. package/dist/components/kritzel-font-family.js.map +1 -0
  251. package/dist/components/kritzel-font-size.js +9 -0
  252. package/dist/components/kritzel-font-size.js.map +1 -0
  253. package/dist/components/kritzel-font.js +9 -0
  254. package/dist/components/kritzel-font.js.map +1 -0
  255. package/dist/components/kritzel-icon.js +9 -0
  256. package/dist/components/kritzel-icon.js.map +1 -0
  257. package/dist/components/kritzel-menu.d.ts +11 -0
  258. package/dist/components/kritzel-menu.js +9 -0
  259. package/dist/components/kritzel-menu.js.map +1 -0
  260. package/dist/components/kritzel-portal.d.ts +11 -0
  261. package/dist/components/kritzel-portal.js +9 -0
  262. package/dist/components/kritzel-portal.js.map +1 -0
  263. package/dist/components/kritzel-split-button.d.ts +11 -0
  264. package/dist/components/kritzel-split-button.js +9 -0
  265. package/dist/components/kritzel-split-button.js.map +1 -0
  266. package/dist/components/kritzel-stroke-size.js +9 -0
  267. package/dist/components/kritzel-stroke-size.js.map +1 -0
  268. package/dist/components/kritzel-tooltip.js +9 -0
  269. package/dist/components/kritzel-tooltip.js.map +1 -0
  270. package/dist/components/kritzel-utility-panel.js +9 -0
  271. package/dist/components/kritzel-utility-panel.js.map +1 -0
  272. package/dist/components/kritzel-workspace-manager.d.ts +11 -0
  273. package/dist/components/kritzel-workspace-manager.js +9 -0
  274. package/dist/components/kritzel-workspace-manager.js.map +1 -0
  275. package/dist/{stencil/kritzel-color.entry.js → components/p-5CJxFNEE.js} +31 -11
  276. package/dist/components/p-5CJxFNEE.js.map +1 -0
  277. package/dist/{stencil/brush-tool.class-D1U3x9_Y.js → components/p-B7VrEdgP.js} +77 -110
  278. package/dist/components/p-B7VrEdgP.js.map +1 -0
  279. package/dist/{stencil/kritzel-color-palette.entry.js → components/p-BAPUTr3K.js} +40 -12
  280. package/dist/components/p-BAPUTr3K.js.map +1 -0
  281. package/dist/{stencil/kritzel-controls.entry.js → components/p-BB22cVkU.js} +135 -27
  282. package/dist/components/p-BB22cVkU.js.map +1 -0
  283. package/dist/components/p-BLmFBe2a.js +96 -0
  284. package/dist/components/p-BLmFBe2a.js.map +1 -0
  285. package/dist/components/p-BU2q3PRS.js +84 -0
  286. package/dist/components/p-BU2q3PRS.js.map +1 -0
  287. package/dist/components/p-BZ-j_4CK.js +46 -0
  288. package/dist/components/p-BZ-j_4CK.js.map +1 -0
  289. package/dist/components/p-BaKb8ZLg.js +104 -0
  290. package/dist/components/p-BaKb8ZLg.js.map +1 -0
  291. package/dist/components/p-Bb6od8He.js +42 -0
  292. package/dist/components/p-Bb6od8He.js.map +1 -0
  293. package/dist/components/p-BcQTDgzV.js +56 -0
  294. package/dist/components/p-BcQTDgzV.js.map +1 -0
  295. package/dist/components/p-BeVv4o5c.js +14 -0
  296. package/dist/components/p-BeVv4o5c.js.map +1 -0
  297. package/dist/components/p-BmJbJwkH.js +167 -0
  298. package/dist/components/p-BmJbJwkH.js.map +1 -0
  299. package/dist/components/p-BqrTPNyu.js +1330 -0
  300. package/dist/components/p-BqrTPNyu.js.map +1 -0
  301. package/dist/{stencil/kritzel-dropdown.entry.js → components/p-BvlGgLAQ.js} +39 -11
  302. package/dist/components/p-BvlGgLAQ.js.map +1 -0
  303. package/dist/components/p-BzSz74Ci.js +56 -0
  304. package/dist/components/p-BzSz74Ci.js.map +1 -0
  305. package/dist/components/p-D-zg05gA.js +3148 -0
  306. package/dist/components/p-D-zg05gA.js.map +1 -0
  307. package/dist/{stencil/event-button.enum-D8W6LE-c.js → components/p-D8W6LE-c.js} +2 -2
  308. package/dist/components/p-D8W6LE-c.js.map +1 -0
  309. package/dist/components/p-DV4ERZv5.js +112 -0
  310. package/dist/components/p-DV4ERZv5.js.map +1 -0
  311. package/dist/{stencil/kritzel-cursor-trail.entry.js → components/p-DtmZW6eP.js} +32 -11
  312. package/dist/components/p-DtmZW6eP.js.map +1 -0
  313. package/dist/components/p-V4ui5aWj.js +63 -0
  314. package/dist/components/p-V4ui5aWj.js.map +1 -0
  315. package/dist/{stencil/kritzel-font-family.entry.js → components/p-_ntxNi8v.js} +37 -11
  316. package/dist/components/p-_ntxNi8v.js.map +1 -0
  317. package/dist/components/p-a7KmQzo4.js +113 -0
  318. package/dist/components/p-a7KmQzo4.js.map +1 -0
  319. package/dist/components/p-hSuNJiIq.js +152 -0
  320. package/dist/components/p-hSuNJiIq.js.map +1 -0
  321. package/dist/{stencil/kritzel-tooltip.entry.js → components/p-jG1e48OE.js} +39 -14
  322. package/dist/components/p-jG1e48OE.js.map +1 -0
  323. package/dist/components/p-rQeWFfPG.js +54 -0
  324. package/dist/components/p-rQeWFfPG.js.map +1 -0
  325. package/dist/components/p-sQmW5NRu.js +156 -0
  326. package/dist/components/p-sQmW5NRu.js.map +1 -0
  327. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  328. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  329. package/dist/esm/index-J4NpPimy.js +2611 -0
  330. package/dist/esm/index-J4NpPimy.js.map +1 -0
  331. package/dist/esm/index-NiIEUDzj.js +1570 -0
  332. package/dist/esm/index-NiIEUDzj.js.map +1 -0
  333. package/dist/esm/index.js +2 -0
  334. package/dist/esm/index.js.map +1 -0
  335. package/dist/esm/kritzel-brush-style_22.entry.js +3110 -0
  336. package/dist/esm/loader.js +12 -0
  337. package/dist/esm/loader.js.map +1 -0
  338. package/dist/esm/stencil.js +22 -0
  339. package/dist/esm/stencil.js.map +1 -0
  340. package/dist/index.cjs.js +1 -0
  341. package/dist/index.js +1 -0
  342. package/dist/stencil/index.esm.js +1 -16
  343. package/dist/stencil/index.esm.js.map +1 -1
  344. package/dist/stencil/loader.esm.js.map +1 -1
  345. package/dist/stencil/p-4a0009e7.entry.js +2 -0
  346. package/dist/stencil/p-4a0009e7.entry.js.map +1 -0
  347. package/dist/stencil/p-DQuL1Twl.js +2 -0
  348. package/dist/stencil/p-DQuL1Twl.js.map +1 -0
  349. package/dist/stencil/p-J4NpPimy.js +2 -0
  350. package/dist/stencil/p-J4NpPimy.js.map +1 -0
  351. package/dist/stencil/p-NiIEUDzj.js +3 -0
  352. package/dist/stencil/p-NiIEUDzj.js.map +1 -0
  353. package/dist/stencil/stencil.esm.js +1 -49
  354. package/dist/stencil/stencil.esm.js.map +1 -1
  355. package/dist/types/classes/commands/add-object.command.d.ts +1 -1
  356. package/dist/types/classes/commands/add-selection-group.command.d.ts +1 -1
  357. package/dist/types/classes/commands/base.command.d.ts +2 -2
  358. package/dist/types/classes/commands/batch.command.d.ts +1 -1
  359. package/dist/types/classes/commands/move-selection-group.command.d.ts +1 -1
  360. package/dist/types/classes/commands/remove-object.command.d.ts +1 -1
  361. package/dist/types/classes/commands/remove-selection-group.command.d.ts +1 -1
  362. package/dist/types/classes/commands/resize-selection-group.command.d.ts +1 -1
  363. package/dist/types/classes/commands/rotate-selection-group.command.d.ts +1 -1
  364. package/dist/types/classes/commands/update-object.command.d.ts +1 -1
  365. package/dist/types/classes/commands/update-viewport.command.d.ts +1 -1
  366. package/dist/types/classes/database.class.d.ts +28 -0
  367. package/dist/types/classes/history.class.d.ts +1 -0
  368. package/dist/types/classes/objects/base-object.class.d.ts +2 -0
  369. package/dist/types/classes/objects/path.class.d.ts +1 -0
  370. package/dist/types/classes/objects/text.class.d.ts +1 -1
  371. package/dist/types/classes/store.class.d.ts +19 -2
  372. package/dist/types/classes/structures/octree.structure.d.ts +1 -0
  373. package/dist/types/classes/workspace.class.d.ts +16 -0
  374. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +6 -1
  375. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +12 -2
  376. package/dist/types/components/shared/kritzel-menu/kritzel-menu.d.ts +24 -0
  377. package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +24 -0
  378. package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +24 -0
  379. package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +3 -4
  380. package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +2 -1
  381. package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +25 -0
  382. package/dist/types/components.d.ts +250 -2
  383. package/dist/types/helpers/html.helper.d.ts +3 -1
  384. package/dist/types/interfaces/command.interface.d.ts +1 -1
  385. package/dist/types/interfaces/debug-info.interface.d.ts +1 -0
  386. package/dist/types/interfaces/engine-state.interface.d.ts +3 -0
  387. package/dist/types/interfaces/menu-item.interface.d.ts +9 -0
  388. package/dist/types/interfaces/object.interface.d.ts +2 -0
  389. package/dist/types/stencil-public-runtime.d.ts +21 -0
  390. package/package.json +63 -62
  391. package/dist/stencil/brush-tool.class-D1U3x9_Y.js.map +0 -1
  392. package/dist/stencil/default-text-tool.config-DvOZmpuR.js.map +0 -1
  393. package/dist/stencil/engine.constants-DsjjAmnl.js +0 -7
  394. package/dist/stencil/engine.constants-DsjjAmnl.js.map +0 -1
  395. package/dist/stencil/event-button.enum-D8W6LE-c.js.map +0 -1
  396. package/dist/stencil/icon-registry.class-Bw5YkOTi.js.map +0 -1
  397. package/dist/stencil/image-tool.class-uKAmXFSl.js +0 -1341
  398. package/dist/stencil/image-tool.class-uKAmXFSl.js.map +0 -1
  399. package/dist/stencil/index-Df69oUcb.js +0 -4334
  400. package/dist/stencil/index-Df69oUcb.js.map +0 -1
  401. package/dist/stencil/kritzel-brush-style.entry.esm.js.map +0 -1
  402. package/dist/stencil/kritzel-brush-style.entry.js +0 -31
  403. package/dist/stencil/kritzel-brush-style.entry.js.map +0 -1
  404. package/dist/stencil/kritzel-color-palette.entry.esm.js.map +0 -1
  405. package/dist/stencil/kritzel-color-palette.entry.js.map +0 -1
  406. package/dist/stencil/kritzel-color.entry.esm.js.map +0 -1
  407. package/dist/stencil/kritzel-color.entry.js.map +0 -1
  408. package/dist/stencil/kritzel-context-menu-B2p1_Ffh.js +0 -91
  409. package/dist/stencil/kritzel-context-menu-B2p1_Ffh.js.map +0 -1
  410. package/dist/stencil/kritzel-context-menu-DPHV6MRm.js +0 -91
  411. package/dist/stencil/kritzel-context-menu-DPHV6MRm.js.map +0 -1
  412. package/dist/stencil/kritzel-context-menu.entry.esm.js.map +0 -1
  413. package/dist/stencil/kritzel-context-menu.entry.js +0 -5
  414. package/dist/stencil/kritzel-context-menu.entry.js.map +0 -1
  415. package/dist/stencil/kritzel-control-brush-config.entry.esm.js.map +0 -1
  416. package/dist/stencil/kritzel-control-brush-config.entry.js +0 -54
  417. package/dist/stencil/kritzel-control-brush-config.entry.js.map +0 -1
  418. package/dist/stencil/kritzel-control-text-config.entry.esm.js.map +0 -1
  419. package/dist/stencil/kritzel-control-text-config.entry.js +0 -42
  420. package/dist/stencil/kritzel-control-text-config.entry.js.map +0 -1
  421. package/dist/stencil/kritzel-controls.entry.esm.js.map +0 -1
  422. package/dist/stencil/kritzel-controls.entry.js.map +0 -1
  423. package/dist/stencil/kritzel-cursor-trail.entry.esm.js.map +0 -1
  424. package/dist/stencil/kritzel-cursor-trail.entry.js.map +0 -1
  425. package/dist/stencil/kritzel-dropdown.entry.esm.js.map +0 -1
  426. package/dist/stencil/kritzel-dropdown.entry.js.map +0 -1
  427. package/dist/stencil/kritzel-editor.entry.esm.js.map +0 -1
  428. package/dist/stencil/kritzel-editor.entry.js +0 -180
  429. package/dist/stencil/kritzel-editor.entry.js.map +0 -1
  430. package/dist/stencil/kritzel-engine.entry.esm.js.map +0 -1
  431. package/dist/stencil/kritzel-engine.entry.js +0 -1318
  432. package/dist/stencil/kritzel-engine.entry.js.map +0 -1
  433. package/dist/stencil/kritzel-font-family.entry.esm.js.map +0 -1
  434. package/dist/stencil/kritzel-font-family.entry.js.map +0 -1
  435. package/dist/stencil/kritzel-font-size.entry.esm.js.map +0 -1
  436. package/dist/stencil/kritzel-font-size.entry.js +0 -29
  437. package/dist/stencil/kritzel-font-size.entry.js.map +0 -1
  438. package/dist/stencil/kritzel-font.entry.esm.js.map +0 -1
  439. package/dist/stencil/kritzel-font.entry.js +0 -25
  440. package/dist/stencil/kritzel-font.entry.js.map +0 -1
  441. package/dist/stencil/kritzel-icon.entry.esm.js.map +0 -1
  442. package/dist/stencil/kritzel-icon.entry.js +0 -29
  443. package/dist/stencil/kritzel-icon.entry.js.map +0 -1
  444. package/dist/stencil/kritzel-stroke-size.entry.esm.js.map +0 -1
  445. package/dist/stencil/kritzel-stroke-size.entry.js +0 -28
  446. package/dist/stencil/kritzel-stroke-size.entry.js.map +0 -1
  447. package/dist/stencil/kritzel-tooltip.entry.esm.js.map +0 -1
  448. package/dist/stencil/kritzel-tooltip.entry.js.map +0 -1
  449. package/dist/stencil/kritzel-utility-panel.entry.esm.js.map +0 -1
  450. package/dist/stencil/kritzel-utility-panel.entry.js +0 -33
  451. package/dist/stencil/kritzel-utility-panel.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerInstance","createEvent","h","Host","getElement","KritzelBrushTool","KritzelTextTool","KritzelMouseButton","KritzelSelectionTool","DEFAULT_BRUSH_CONFIG","KritzelEraserTool","DEFAULT_TEXT_CONFIG","KritzelImageTool","KritzelEventHelper","KritzelBaseCommand","KritzelSelectionGroup","KrtizelSelectionBox","ObjectHelper","KritzelReviver","RemoveSelectionGroupCommand","RemoveObjectCommand","BatchCommand","AddObjectCommand","AddSelectionGroupCommand","KritzelToolRegistry","UpdateObjectCommand","KritzelBaseHandler","KritzelBaseTool","KritzelKeyboardHelper","kritzelBrushStyleCss","KritzelBrushStyle","constructor","hostRef","this","typeChange","type","brushOptions","value","label","handleDropdownValueChange","event","emit","detail","render","dropdownOptions","map","option","key","options","onValueChanged","class","slot","name","size","style","kritzelColorCss","KritzelColor","isLightColor","hexColor","r","g","b","sanitizedHex","startsWith","slice","length","parseInt","substring","isNaN","luminance","isColorVeryLight","width","height","borderRadius","display","position","white","backgroundColor","top","left","kritzelColorPaletteCss","KritzelColorPalette","colorChange","colors","selectedColor","isExpanded","isOpaque","handleColorClick","color","calculateHeight","colorsPerRow","rowHeight","gap","rowCount","Math","ceil","displayedColors","expandedHeight","expanded","selected","onClick","kritzelContextMenuCss","KritzelContextMenu","actionSelected","processedItems","componentWillLoad","updateMenuItems","onItemsChanged","handleItemClick","item","isDisabled","evaluateProperty","defaultValue","Promise","resolve","objects","processed","items","isVisible","visible","disabled","push","index","onTouchStart","icon","hostElement","watchers","kritzelControlBrushConfigCss","KritzelControlBrushConfig","toolChange","palette","handleToolChange","newTool","palettes","tool","handleToggleExpand","handleTypeChange","handleColorChange","handleSizeChange","flexDirection","alignItems","justifyContent","onTypeChange","title","visibillity","visibility","onColorChange","selectedSize","onSizeChange","kritzelControlTextConfigCss","KritzelControlTextConfig","handleFamilyChange","fontFamily","fontColor","fontSize","selectedFontFamily","onFontFamilyChange","KritzelDevicesHelper","isTouchDevice","window","matchMedia","matches","kritzelControlsCss","KritzelControls","isControlsReady","controls","activeControl","isUtilityPanelVisible","firstConfig","isTooltipVisible","kritzelEngine","handleDocumentClick","element","target","closest","handleKeyDown","_a","preventDefault","closeTooltip","enable","handleActiveToolChange","find","control","setFocus","activeToolAsTextTool","activeToolAsBrushTool","initializeEngine","initializeTools","customElements","whenDefined","host","parentElement","querySelector","Error","c","registerTool","config","isDefault","changeActiveTool","console","warn","handleControlClick","handleConfigClick","stopPropagation","disable","Object","assign","_b","hasNoConfig","undefined","mobile","bottom","onUndo","undo","onRedo","redo","onDelete","delete","_c","_d","_e","_f","_g","_h","_event","call","anchorElement","shadowRoot","onToolChange","cursor","pointerEvents","border","assetsDirs","kritzelCursorTrailCss","KritzelCursorTrail","cursorTrailPoints","isLeftButtonDown","TRAIL_DURATION_MS","MAX_TRAIL_POINTS","componentDidLoad","trailCleanupIntervalId","setInterval","now","Date","newTrailPoints","filter","p","timestamp","disconnectedCallback","clearInterval","handleMouseDown","ev","pointerType","button","Left","store","state","pointers","handlePointerMove","newPoint","x","clientX","y","clientY","updatedTrail","handlePointerUp","xmlns","opacity","zIndex","point","prevPoint","age","progress","max","min","baseStrokeWidth","x1","toString","y1","x2","y2","stroke","kritzelDropdownCss","KritzelDropdown","valueChanged","selectStyles","hasSuffixContent","hasPrefixContent","handleSelectChange","newValue","internalValue","evaluateSuffixContent","suffixSlotElement","newHasContent","assignedNodes","flatten","evaluatePrefixContent","prefixSlotElement","updateInternalValue","externalValueChanged","optionsChanged","proposedValue","emitChange","finalValue","isValidValue","some","opt","selectClasses","ref","el","onSlotchange","onInput","KritzelIconRegistry","register","svgContent","registry","has","set","get","registerIcons","icons","prototype","hasOwnProperty","Map","pen","highlighter","eraser","image","copy","paste","cut","download","plus","check","ABSOLUTE_SCALE_MAX","ABSOLUTE_SCALE_MIN","kritzelEditorCss","KritzelEditor","isReady","scaleMax","scaleMin","globalContextMenuItems","async","engineRef","getCopiedObjects","action","menu","selectAllObjectsInViewport","objectContextMenuItems","_","isEditable","object","edit","bringToFront","sendToBack","customSvgIcons","isControlsVisible","isEngineReady","isWorkspaceManagerReady","workspaces","onIsEngineReady","checkIsReady","onIsControlsReady","getObjectById","id","addObject","updateObject","updatedProperties","removeObject","getSelectedObjects","selectObjects","clearSelection","centerObjectInViewport","handleTouchStart","cancelable","registerCustomSvgIcons","onEngineReady","activeWorkspace","svg","entries","onWorkspaceChange","onIsWorkspaceManagerReady","workspace","onWorkspacesChange","controlsRef","KritzelViewport","initialTouchDistance","startX","startY","_store","viewportWidth","clientWidth","viewportHeight","clientHeight","translateX","translateY","handleResize","hasViewportChanged","rerender","handlePointerDown","adjustedClientX","offsetX","adjustedClientY","offsetY","Right","isPanning","activePointers","Array","from","values","currentPath","isScaling","firstTouchX","firstTouchY","secondTouchX","secondTouchY","sqrt","pow","hostRect","getBoundingClientRect","xRelativeToHost","yRelativeToHost","pointerX","scale","pointerY","skipContextMenu","updateWorkspaceViewport","currentTouchDistance","midpointX","midpointY","scaleRatio","newScale","translateXAdjustment","translateYAdjustment","handleWheel","ctrlKey","isMainMouseWheel","handleZoom","handlePan","rect","delta","deltaY","scaleStep","panSpeed","deltaX","UpdateViewportCommand","initiator","previousViewport","skipHistory","super","currentViewport","execute","KritzelCircularBuffer","capacity","head","tail","buffer","fill","add","pop","peek","lastIndex","isEmpty","clear","KritzelHistory","undoStack","historyBufferSize","redoStack","reset","executeCommand","command","addUpdateViewportCommand","debugInfo","logCommands","info","KritzelOctree","bounds","children","insert","intersects","rotatedBoundingBox","subdivide","child","update","findIndex","o","remove","predicate","splice","query","range","results","allObjects","z","depth","halfWidth","halfHeight","halfDepth","a","DEFAULT_ENGINE_STATE","activeTool","activeText","copiedObjects","objectsOctree","selectionBox","selectionGroup","resizeHandleType","isEnabled","isFocused","isSelecting","isResizing","isResizeHandleSelected","isRotating","isRotationHandleSelected","isDragging","isDrawing","isErasing","isWriting","isCtrlKeyPressed","isContextMenuVisible","contextMenuItems","contextMenuX","contextMenuY","showObjectInfo","showViewportInfo","logDatabase","translateXMax","translateXMin","translateYMax","translateYMin","longTouchTimeout","longTouchDelay","KritzelDatabase","dbName","dbVersion","isLoggingEnabled","db","open","stores","reject","log","request","indexedDB","onerror","error","onsuccess","result","onupgradeneeded","forEach","storeConfig","objectStoreNames","contains","createObjectStore","indices","createIndex","keyPath","close","storeName","executeTransaction","getAll","put","deleteByRange","getAllByRange","getAllByIndex","indexName","mode","transaction","objectStore","requestResult","oncomplete","onabort","batch","actions","storeNames","extractStoreNamesFromActions","promises","tempDbInstance","resolveRequest","rejectRequest","all","then","promise","catch","err","abort","storeNamesSet","Set","storeNameCollector","Proxy","prop","includes","KritzelWorkspace","viewport","createdAt","updatedAt","KritzelStore","history","_history","database","_database","_state","currentZIndex","selectedObjects","isSelected","_listeners","_kritzelEngine","Infinity","initializeDatabase","initializeWorkspace","getWorkspaces","mostRecentWorkspace","sort","getTime","fallbackWorkspace","generateUUID","isExistingWorkspace","getWorkspace","updateWorkspace","createWorkspace","initializeWorkspaceObjects","workspaceId","objectsFromDb","IDBKeyRange","bound","reviver","revivedObject","revive","addObjectToDatabase","updateObjectInDatabase","deleteObjectFromDatabase","objectId","w","deleteWorkspace","objectRange","forceUpdate","findObjectById","deselectAllObjects","onStateChange","property","listener","setState","oldValue","String","deleteSelectedObjectsCommand","obj","removeSelectionGroupCommand","commands","deleteObject","removeObjectCommand","adjustedX","adjustedY","updatePosition","addCopiedObjectsCommands","addCopiedObjectsAsSelectionGroupCommand","getTool","bringForward","increaseZIndexCommands","sendBackward","decreaseZIndexCommands","create","addOrRemove","rotation","objectsInViewport","resetActiveText","getObjectFromPointerEvent","selector","elementAtPoint","elementFromPoint","selectedObject","getObjectsFromPointerEvent","elementsAtPoint","elementsFromPoint","objectIds","getCanvasPoint","xWithoutTranslate","yWithoutTranslate","worldX","worldY","KritzelKeyHandler","shiftKey","selectAll","insertFromClipboard","handleKeyUp","KritzelContextMenuHandler","handleContextMenu","menuWidthEstimate","menuHeightEstimate","margin","innerWidth","innerHeight","KritzelClassHelper","isInstanceOf","className","__class__","kritzelEngineCss","KritzelEngine","newWorkspace","validateScaleMax","validateScaleMin","isSelectionActive","activeToolChange","workspacesChange","contextMenuElement","contextMenuHandler","keyHandler","_registerStateChangeListeners","hideContextMenu","isPointerEventOnContextMenu","onLongTouchPress","setPointerCapture","pointerId","releasePointerCapture","handlePointerCancel","updateFocus","isInside","right","path","composedPath","kritzelEngineElement","isInKritzelEngine","handleClick","toolName","toolClass","toolConfig","registeredTool","onDeactivate","onActivate","focus","generateId","centerInViewport","ws","_handleActiveToolChange","bind","_handleIsFocusedChange","forceHideKeyboard","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","_7","_8","computedStyle","getComputedStyle","baseHandleSizePx","getPropertyValue","trim","baseHandleSize","parseFloat","baseHandleTouchSize","transform","isInViewport","transformationMatrix","transformOrigin","totalHeight","totalWidth","rotationDegrees","markedForRemoval","minHeight","minWidth","borderColor","borderWidth","borderStyle","padding","overflow","mount","unmount","viewBox","d","src","userSelect","draggable","onDragStart","e","onKeyDown","handleInput","rows","outline","resize","whiteSpace","isReadonly","caretColor","strokeWidth","strokeLinecap","cx","cy","isDebugInfoVisible","onActionSelected","kritzelFontCss","KritzelFont","kritzelFontFamilyCss","KritzelFontFamily","fontFamilyChange","fontOptions","isValidCurrentFont","kritzelFontSizeCss","KritzelFontSize","sizeChange","sizes","handleSizeClick","kritzelIconCss","KritzelIcon","styles","role","innerHTML","kritzelMenuCss","KritzelMenu","parentIndex","parent","activeItemIndex","editingIndex","openChildMenuIndex","childMenuAnchor","cancelButton","saveButton","onEditingIndexChange","editInput","handleWindowClick","handleEscape","click","handleEnter","requestAnimationFrame","isViewMode","handleSelect","select","tabIndex","inactive","active","currentTarget","anchor","onClose","cancel","save","KritzelHTMLHelper","getNumericValueFromStyle","getScrollableParent","parentNode","tagName","overflowY","isElementInViewport","scrollableParent","document","documentElement","parentRect","DEFAULT_OFFSET","MIN_LEFT_POSITION","Z_INDEX","ID_PORTAL","KritzelPortal","autoFocus","moved","handleScroll","isAnchorInViewport","calculatePosition","anchorChanged","calculateLeft","portal","refRect","portalRect","offset","maxLeft","round","scrollX","calculateTop","scrollY","createPortal","createElement","setAttribute","body","append","moveElementToPortal","appendChild","addEventListener","removeEventListener","kritzelSplitButtonCss","KritzelSplitButton","buttonClick","optionSelect","menuOpened","menuClosed","dropdownIcon","isMenuOpen","clickedInside","node","closeMenu","once","toggleMenu","openMenu","handleButtonClick","buttonIcon","buttonText","splitMenuButton","maxHeight","kritzelStrokeSizeCss","KritzelStrokeSize","kritzelTooltipCss","MOBILE_BREAKPOINT","KritzelTooltip","arrowSize","positionX","arrowOffset","isMobileView","handleWindowResize","calculateAdjustedPosition","componentWillUpdate","anchorRect","tooltipContent","tooltipRect","transition","marginBottom","borderLeft","borderRight","borderTop","kritzelUtilityPanelCss","KritzelUtilityPanel","handleUndo","handleRedo","kritzelWorkspaceManagerCss","KritzelWorkspaceManager","workspaceChange","handleNewWorkspace","splitButtonRef","handleMenuClosed","handleSave","updatedWorkspace","selectWorkspace","handleRename","handleDelete","workspaceToDelete","newActiveWorkspace","sortedWorkspaces","uniqueWorkspaces","workspaceSelectionOptions","onButtonClick","onMenuClosed"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,OAAWC,MAAkB,8BACzEC,OAAuBC,OAAsBC,OAAyBC,OAA2BC,OAA2BC,OAAwBC,OAA0BC,OAAuBC,OAAyBC,OAAyBC,OAA4BC,OAA0BC,EAAmBC,OAAqBC,OAAkCC,OAA0BC,OAAmBC,OAAuBC,OAA+BC,OAA0BC,OAA0BC,OAAyBC,OAAsBC,MAA6B,kBAExmB,MAAMC,EAAuB,yuBAE7B,MAAMC,EAAoB,MACtB,WAAAC,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKC,WAAajC,EAAYgC,KAAM,cACpCA,KAAKE,KAAO,MACZF,KAAKG,aAAe,CAChB,CAAEC,MAAO,MAAOC,MAAO,OACvB,CAAED,MAAO,cAAeC,MAAO,eAEvC,CACA,yBAAAC,CAA0BC,GACtBP,KAAKC,WAAWO,KAAKD,EAAME,OAC/B,CACA,MAAAC,GACI,MAAMC,EAAkBX,KAAKG,aAAaS,KAAIC,IAAU,CACpDT,MAAOS,EAAOT,MACdC,MAAOQ,EAAOR,UAElB,OAAQpC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,mBAAoB,CAAE6C,IAAK,2CAA4CC,QAASJ,EAAiBP,MAAOJ,KAAKE,KAAMc,eAAgBT,GAASP,KAAKM,0BAA0BC,IAAUtC,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,qBAAsBC,KAAM,UAAYjD,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAMnB,KAAKE,KAAMkB,KAAM,OAC1c,GAEJvB,EAAkBwB,MAAQzB,EAE1B,MAAM0B,EAAkB,+UAExB,MAAMC,EAAe,MACjB,WAAAzB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKoB,KAAO,EAChB,CACA,YAAAI,CAAaC,GACT,IAAKA,EACD,OAAO,MACX,IAAIC,EAAI,EAAGC,EAAI,EAAGC,EAAI,EACtB,IAAIC,EAAeJ,EAASK,WAAW,KAAOL,EAASM,MAAM,GAAKN,EAClE,GAAII,EAAaG,SAAW,EAAG,CAC3BN,EAAIO,SAASJ,EAAa,GAAKA,EAAa,GAAI,IAChDF,EAAIM,SAASJ,EAAa,GAAKA,EAAa,GAAI,IAChDD,EAAIK,SAASJ,EAAa,GAAKA,EAAa,GAAI,GACpD,MACK,GAAIA,EAAaG,SAAW,EAAG,CAChCN,EAAIO,SAASJ,EAAaK,UAAU,EAAG,GAAI,IAC3CP,EAAIM,SAASJ,EAAaK,UAAU,EAAG,GAAI,IAC3CN,EAAIK,SAASJ,EAAaK,UAAU,EAAG,GAAI,GAC/C,KACK,CACD,OAAO,KACX,CACA,GAAIC,MAAMT,IAAMS,MAAMR,IAAMQ,MAAMP,GAAI,CAClC,OAAO,KACX,CACA,MAAMQ,EAAY,KAAQV,EAAI,KAAQC,EAAI,KAAQC,EAClD,OAAOQ,EAAY,GACvB,CACA,MAAA1B,GACI,MAAM2B,EAAmBrC,KAAKwB,aAAaxB,KAAKI,OAChD,OAAQnC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,kBAAmBI,MAAO,CAC1JiB,MAAO,GAAGtC,KAAKoB,SACfmB,OAAQ,GAAGvC,KAAKoB,SAChBoB,aAAc,MACdC,QAAS,eACTC,SAAU,aACTzE,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,CACpE,eAAgB,KAChB0B,MAASN,GACVhB,MAAO,CACNuB,gBAAiB5C,KAAKI,MACtBkC,MAAO,GAAGtC,KAAKoB,SACfmB,OAAQ,GAAGvC,KAAKoB,SAChBoB,aAAc,MACdE,SAAU,WACVG,IAAK,IACLC,KAAM,IACNL,QAAS,mBAErB,GAEJlB,EAAaF,MAAQC,EAErB,MAAMyB,EAAyB,guBAE/B,MAAMC,EAAsB,MACxB,WAAAlD,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKiD,YAAcjF,EAAYgC,KAAM,eACrCA,KAAKkD,OAAS,GACdlD,KAAKmD,cAAgB,KACrBnD,KAAKoD,WAAa,MAClBpD,KAAKqD,SAAW,KACpB,CACA,gBAAAC,CAAiBC,GACbvD,KAAKmD,cAAgBI,EACrBvD,KAAKiD,YAAYzC,KAAK+C,EAC1B,CACA,eAAAC,GACI,MAAMC,EAAe,EACrB,MAAMC,EAAY,GAClB,MAAMC,EAAM,EACZ,MAAMC,EAAWC,KAAKC,KAAK9D,KAAKkD,OAAOlB,OAASyB,GAChD,MAAO,GAAGG,EAAWF,GAAaE,EAAW,GAAKD,KACtD,CACA,MAAAjD,GACI,MAAMqD,EAAkB/D,KAAKoD,WAAapD,KAAKkD,OAASlD,KAAKkD,OAAOnB,MAAM,EAAG,GAC7E,MAAMiC,EAAiBhE,KAAKoD,WAAapD,KAAKwD,kBAAoB,OAClE,OAAQvF,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,CAChI,aAAc,KACdgD,SAAYjE,KAAKoD,YAClB/B,MAAO,CACNkB,OAAQyB,IACPD,EAAgBnD,KAAI2C,GAAUtF,EAAE,MAAO,CAAEgD,MAAO,CACjD,kBAAmB,KACnBiD,SAAYlE,KAAKmD,gBAAkBI,GACpCY,QAAS,IAAMnE,KAAKsD,iBAAiBC,IAAUtF,EAAE,gBAAiB,CAAEmC,MAAOmD,QACtF,GAEJP,EAAoB3B,MAAQ0B,EAE5B,MAAMqB,EAAwB,0xCAE9B,MAAMC,EAAqB,MACvB,WAAAvE,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKsE,eAAiBtG,EAAYgC,KAAM,kBACxCA,KAAKuE,eAAiB,EAC1B,CACA,iBAAAC,GACIxE,KAAKyE,iBACT,CACA,cAAAC,GACI1E,KAAKyE,iBACT,CACA,eAAAE,CAAgBC,EAAMC,GAClB,IAAKA,EAAY,CACb7E,KAAKsE,eAAe9D,KAAKoE,EAC7B,CACJ,CACA,sBAAME,CAAiB1E,EAAO2E,GAC1B,UAAW3E,IAAU,UAAW,CAC5B,OAAOA,CACX,CACA,UAAWA,IAAU,WAAY,CAC7B,aAAa4E,QAAQC,QAAQ7E,EAAM,KAAMJ,KAAKkF,SAClD,CACA,OAAOH,CACX,CACA,qBAAMN,GACF,MAAMU,EAAY,GAClB,IAAK,MAAMP,KAAQ5E,KAAKoF,MAAO,CAC3B,MAAMC,QAAkBrF,KAAK8E,iBAAiBF,EAAKU,QAAS,MAC5D,GAAID,EAAW,CACX,MAAMR,QAAmB7E,KAAK8E,iBAAiBF,EAAKW,SAAU,OAC9DJ,EAAUK,KAAK,CAAEZ,OAAMC,cAC3B,CACJ,CACA7E,KAAKuE,eAAiBY,CAC1B,CACA,MAAAzE,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,kBAAoBjB,KAAKuE,eAAe3D,KAAI,EAAGgE,OAAMC,cAAcY,IAAWxH,EAAE,SAAU,CAAE6C,IAAK,GAAG8D,EAAKvE,SAASoF,IAASxE,MAAO,CAAE,YAAa,KAAMsE,SAAUV,GAAcV,QAAS,IAAMnE,KAAK2E,gBAAgBC,EAAMC,GAAaa,aAAc,IAAM1F,KAAK2E,gBAAgBC,EAAMC,GAAaU,SAAUV,GAAcD,EAAKe,MAAQ1H,EAAE,eAAgB,CAAEkD,KAAMyD,EAAKe,KAAMvE,KAAM,KAAOnD,EAAE,OAAQ,CAAEgD,MAAO,SAAW2D,EAAKvE,WACxiB,CACA,eAAIuF,GAAgB,OAAOzH,EAAW6B,KAAO,CAC7C,mBAAW6F,GAAa,MAAO,CAC3BT,MAAS,CAAC,kBACX,GAEPf,EAAmBhD,MAAQ+C,EAE3B,MAAM0B,EAA+B,qTAErC,MAAMC,EAA4B,MAC9B,WAAAjG,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKgG,WAAahI,EAAYgC,KAAM,cACpCA,KAAKoD,WAAa,MAClBpD,KAAKiG,QAAU,EACnB,CACA,gBAAAC,CAAiBC,GACbnG,KAAKiG,QAAUE,EAAQC,SAASD,EAAQjG,KAC5C,CACA,iBAAAsE,GACIxE,KAAKiG,QAAUjG,KAAKqG,KAAKD,SAASpG,KAAKqG,KAAKnG,KAChD,CACA,kBAAAoG,GACItG,KAAKoD,YAAcpD,KAAKoD,UAC5B,CACA,gBAAAmD,CAAiBhG,GACbP,KAAKiG,QAAUjG,KAAKqG,KAAKD,SAAS7F,EAAME,QACxCT,KAAKqG,KAAKnG,KAAOK,EAAME,OACvBT,KAAKqG,KAAK9C,MAAQvD,KAAKiG,QAAQ,GAC/BjG,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,iBAAAG,CAAkBjG,GACdP,KAAKqG,KAAK9C,MAAQhD,EAAME,OACxBT,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,gBAAAI,CAAiBlG,GACbP,KAAKqG,KAAKjF,KAAOb,EAAME,OACvBT,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,MAAA3F,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CO,MAAO,CAChIoB,QAAS,OACTiE,cAAe,MACfC,WAAY,SACZC,eAAgB,aAChBtE,MAAO,OACPqB,IAAK,QACJ1F,EAAE,sBAAuB,CAAE6C,IAAK,2CAA4CZ,KAAMF,KAAKqG,KAAKnG,KAAM2G,aAActG,GAASP,KAAKuG,iBAAiBhG,KAAWtC,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,gBAAiBkD,QAAS,IAAMnE,KAAKsG,qBAAsBQ,MAAO9G,KAAKoD,WAAa,WAAa,SAAU/B,MAAOrB,KAAKiG,QAAQjE,OAAS,EAAI,CAAE+E,YAAa,WAAc,CAAEC,WAAY,WAAc/I,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAMnB,KAAKoD,WAAa,aAAe,mBAAqBnF,EAAE,wBAAyB,CAAE6C,IAAK,2CAA4CoC,OAAQlD,KAAKiG,QAAS9C,cAAenD,KAAKqG,KAAK9C,MAAOH,WAAYpD,KAAKoD,WAAYC,SAAU,KAAM4D,cAAe1D,GAASvD,KAAKwG,kBAAkBjD,KAAWtF,EAAE,sBAAuB,CAAE6C,IAAK,2CAA4CoG,aAAclH,KAAKqG,KAAKjF,KAAM+F,aAAc5G,GAASP,KAAKyG,iBAAiBlG,KACr7B,CACA,mBAAWsF,GAAa,MAAO,CAC3BQ,KAAQ,CAAC,oBACV,GAEPN,EAA0B1E,MAAQyE,EAElC,MAAMsB,EAA8B,sTAEpC,MAAMC,EAA2B,MAC7B,WAAAvH,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKgG,WAAahI,EAAYgC,KAAM,cACpCA,KAAKoD,WAAa,KACtB,CACA,kBAAAkD,GACItG,KAAKoD,YAAcpD,KAAKoD,UAC5B,CACA,kBAAAkE,CAAmB/G,GACfP,KAAKqG,KAAKkB,WAAahH,EAAME,OAC7BT,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,iBAAAG,CAAkBjG,GACdP,KAAKqG,KAAKmB,UAAYjH,EAAME,OAC5BT,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,gBAAAI,CAAiBlG,GACbP,KAAKqG,KAAKoB,SAAWlH,EAAME,OAC3BT,KAAKgG,WAAWxF,KAAKR,KAAKqG,KAC9B,CACA,MAAA3F,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CO,MAAO,CAChIoB,QAAS,OACTiE,cAAe,MACfC,WAAY,SACZC,eAAgB,aAChBtE,MAAO,OACPqB,IAAK,QACJ1F,EAAE,sBAAuB,CAAE6C,IAAK,2CAA4C4G,mBAAoB1H,KAAKqG,KAAKkB,WAAYI,mBAAoBpH,GAASP,KAAKsH,mBAAmB/G,KAAWtC,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,gBAAiBkD,QAAS,IAAMnE,KAAKsG,qBAAsBQ,MAAO9G,KAAKoD,WAAa,WAAa,UAAYnF,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAMnB,KAAKoD,WAAa,aAAe,mBAAqBnF,EAAE,wBAAyB,CAAE6C,IAAK,2CAA4CoC,OAAQlD,KAAKqG,KAAKJ,QAAS9C,cAAenD,KAAKqG,KAAKmB,UAAWpE,WAAYpD,KAAKoD,WAAY6D,cAAe1G,GAASP,KAAKwG,kBAAkBjG,KAAWtC,EAAE,oBAAqB,CAAE6C,IAAK,2CAA4CoG,aAAclH,KAAKqG,KAAKoB,SAAUF,WAAYvH,KAAKqG,KAAKkB,WAAYJ,aAAc5G,GAASP,KAAKyG,iBAAiBlG,KACt5B,GAEJ8G,EAAyBhG,MAAQ+F,EAEjC,MAAMQ,EACF,oBAAOC,GACH,OAAOC,OAAOC,WAAW,yBAAyBC,OACtD,EAGJ,MAAMC,EAAqB,gnFAE3B,MAAMC,EAAkB,MACpB,WAAApI,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKmI,gBAAkBnK,EAAYgC,KAAM,mBACzCA,KAAKoI,SAAW,GAChBpI,KAAKqI,cAAgB,KACrBrI,KAAKsI,sBAAwB,KAC7BtI,KAAKuI,YAAc,KACnBvI,KAAKwI,iBAAmB,MACxBxI,KAAK6H,cAAgBD,EAAqBC,gBAC1C7H,KAAKyI,cAAgB,IACzB,CACA,mBAAAC,CAAoBnI,GAChB,MAAMoI,EAAUpI,EAAMqI,OACtB,IAAK5I,KAAKyI,eAAiBE,EAAQE,QAAQ,oBAAqB,CAC5D,MACJ,CACA7I,KAAKwI,iBAAmB,KAC5B,CACA,aAAAM,CAAcvI,GACV,IAAIwI,EACJ,GAAIxI,EAAMO,MAAQ,SAAU,CACxBP,EAAMyI,iBACNhJ,KAAKiJ,gBACJF,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAGG,QACtE,CACJ,CACA,4BAAMC,CAAuB5I,GACzB,IAAIwI,EACJ/I,KAAKqI,cAAgBrI,KAAKoI,SAASgB,MAAKC,GAAWA,EAAQhD,OAAS9F,EAAME,UAAW,YAC7EsI,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAGO,WAC7E,CACA,kBAAML,GACFjJ,KAAKwI,iBAAmB,KAC5B,CACA,wBAAIe,GACA,IAAIR,EACJ,OAAQA,EAAK/I,KAAKqI,iBAAmB,MAAQU,SAAY,OAAS,EAAIA,EAAG1C,IAC7E,CACA,yBAAImD,GACA,IAAIT,EACJ,OAAQA,EAAK/I,KAAKqI,iBAAmB,MAAQU,SAAY,OAAS,EAAIA,EAAG1C,IAC7E,CACA,uBAAM7B,SACIxE,KAAKyJ,yBACLzJ,KAAK0J,kBACX1J,KAAKmI,gBAAgB3H,MACzB,CACA,sBAAMiJ,SACIE,eAAeC,YAAY,kBACjC5J,KAAKyI,cAAgBzI,KAAK6J,KAAKC,cAAcC,cAAc,kBAC3D,IAAK/J,KAAKyI,cAAe,CACrB,MAAM,IAAIuB,MAAM,8CACpB,CACJ,CACA,qBAAMN,GACF,IAAK,MAAMO,KAAKjK,KAAKoI,SAAU,CAC3B,GAAI6B,EAAE/J,OAAS,QAAU+J,EAAE5D,KAAM,CAC7B4D,EAAE5D,WAAarG,KAAKyI,cAAcyB,aAAaD,EAAE9I,KAAM8I,EAAE5D,KAAM4D,EAAEE,OACrE,CACA,GAAIF,EAAE/J,OAAS,QAAU+J,EAAEG,WAAaH,EAAE5D,KAAM,OACtCrG,KAAKyI,cAAc4B,iBAAiBJ,EAAE5D,MAC5CrG,KAAKqI,cAAgB4B,CACzB,CACA,GAAIA,EAAE/J,OAAS,SAAU,CACrB,GAAIF,KAAKuI,cAAgB,KAAM,CAC3BvI,KAAKuI,YAAc0B,CACvB,KACK,CACDK,QAAQC,KAAK,kEACjB,CACJ,CACJ,CACJ,CACA,wBAAMC,CAAmBnB,GACrBrJ,KAAKqI,cAAgBgB,EACrB,GAAIrJ,KAAKqI,cAAcnI,OAAS,OAAQ,OAC9BF,KAAKyI,cAAc4B,iBAAiBrK,KAAKqI,cAAchC,KACjE,CACJ,CACA,iBAAAoE,CAAkBlK,GACd,IAAIwI,EACJxI,EAAMmK,kBACN1K,KAAKwI,kBAAoBxI,KAAKwI,kBAC7BO,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAG4B,SACtE,CACA,sBAAMzE,CAAiB3F,GACnBP,KAAKqI,cAAgBuC,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG7K,KAAKqI,eAAgB,CAAEhC,KAAM9F,EAAME,eAClFT,KAAKyI,cAAc4B,iBAAiBrK,KAAKqI,cAAchC,KACjE,CACA,MAAA3F,GACI,IAAIqI,EAAI+B,EACR,MAAMC,IAAgBhC,EAAK/I,KAAKqI,iBAAmB,MAAQU,SAAY,OAAS,EAAIA,EAAGoB,UAAYa,aAAeF,EAAK9K,KAAKqI,iBAAmB,MAAQyC,SAAY,OAAS,EAAIA,EAAGX,UAAY,KAC/L,OAAQlM,EAAEC,EAAM,CAAE4C,IAAK,2CAA4CG,MAAO,CAClEgK,OAAQjL,KAAK6H,gBACZ7H,KAAKsI,uBAA0BrK,EAAE,wBAAyB,CAAE6C,IAAK,2CAA4CO,MAAO,CACrHqB,SAAU,WACVwI,OAAQ,OACRpI,KAAM,QACPqI,OAAQ,KAAQ,IAAIpC,EAAI,OAAQA,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAGqC,MAAM,EAAKC,OAAQ,KAAQ,IAAItC,EAAI,OAAQA,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAGuC,MAAM,EAAKC,SAAU,KAAQ,IAAIxC,EAAI,OAAQA,EAAK/I,KAAKyI,iBAAmB,MAAQM,SAAY,OAAS,EAAIA,EAAGyC,QAAQ,IAASvN,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,oBAAsBjB,KAAKoI,SAASxH,KAAIyI,IAC1b,IAAIN,EAAI+B,EAAIW,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAChC,GAAIzC,EAAQnJ,OAAS,OAAQ,CACzB,OAAQjC,EAAE,SAAU,CAAEgD,MAAO,CACrB,kBAAmB,KACnBiD,WAAc6E,EAAK/I,KAAKqI,iBAAmB,MAAQU,SAAY,OAAS,EAAIA,EAAG5H,SAAWkI,IAAY,MAAQA,SAAiB,OAAS,EAAIA,EAAQlI,OACrJL,IAAKuI,EAAQlI,KAAMgD,QAAS4H,IAAY,IAAIhD,EAAI,OAAQA,EAAK/I,KAAKwK,sBAAwB,MAAQzB,SAAY,OAAS,EAAIA,EAAGiD,KAAKhM,KAAMqJ,EAAQ,GAAOpL,EAAE,eAAgB,CAAEkD,KAAMkI,EAAQ1D,OACrM,CACA,GAAI0D,EAAQnJ,OAAS,UAAW,CAC5B,OAAOjC,EAAE,MAAO,CAAEgD,MAAO,kBAAmBH,IAAKuI,EAAQlI,MAC7D,CACA,GAAIkI,EAAQnJ,OAAS,UAAYmJ,EAAQlI,SAAW2J,EAAK9K,KAAKuI,eAAiB,MAAQuC,SAAY,OAAS,EAAIA,EAAG3J,OAASnB,KAAKqI,cAAe,CAC5I,OAAQpK,EAAE,MAAO,CAAEgD,MAAO,2BAA4BH,IAAKuI,EAAQlI,MAAQlD,EAAE,kBAAmB,CAAEoH,UAAWrF,KAAKwI,iBAAkByD,eAAgBR,EAAKzL,KAAK6J,KAAKqC,cAAgB,MAAQT,SAAY,OAAS,EAAIA,EAAG1B,cAAc,8BAAgC9L,EAAE,MAAO,CAAEoD,MAAO,CAAEiB,MAAO,QAASC,OAAQ,SAAYvC,KAAKqI,cAAclH,OAAS,SAAYlD,EAAE,+BAAgC,CAAEoI,KAAMrG,KAAKwJ,sBAAuB2C,aAAc5L,IAAW,IAAIwI,EAAI,OAAQA,EAAK/I,KAAKkG,oBAAsB,MAAQ6C,SAAY,OAAS,EAAIA,EAAGiD,KAAKhM,KAAMO,EAAM,IAASP,KAAKqI,cAAclH,OAAS,QAAWlD,EAAE,8BAA+B,CAAEoI,KAAMrG,KAAKuJ,qBAAsB4C,aAAc5L,IAAW,IAAIwI,EAAI,OAAQA,EAAK/I,KAAKkG,oBAAsB,MAAQ6C,SAAY,OAAS,EAAIA,EAAGiD,KAAKhM,KAAMO,EAAM,MAAWtC,EAAE,MAAO,CAAEgD,MAAO,iBAAkBkD,QAAS5D,IAAW,IAAIwI,EAAI,OAAQA,EAAK/I,KAAKyK,qBAAuB,MAAQ1B,SAAY,OAAS,EAAIA,EAAGiD,KAAKhM,KAAMO,EAAM,EAAKc,MAAO,CACx8B+K,OAAQpM,KAAKqI,cAAc8B,OAAS,UAAY,UAChDkC,cAAetB,EAAc,OAAS,SACrC/K,KAAKqI,cAAchC,gBAAgBjI,GAAqBH,EAAE,MAAO,CAAEgD,MAAO,mBAAqBhD,EAAE,gBAAiB,CAAEmC,OAAQsL,EAAK1L,KAAKwJ,yBAA2B,MAAQkC,SAAY,OAAS,EAAIA,EAAGnI,MAAOnC,MAAOuK,EAAK3L,KAAKwJ,yBAA2B,MAAQmC,SAAY,OAAS,EAAIA,EAAGvK,KAAMC,MAAO,CAC1SmB,aAAc,MACd8J,OAAQ,WACJtM,KAAKqI,cAAchC,gBAAgBhI,GAAoBJ,EAAE,MAAO,CAAEgD,MAAO,kBAAoBhD,EAAE,eAAgB,CAAEsJ,YAAaqE,EAAK5L,KAAKuJ,wBAA0B,MAAQqC,SAAY,OAAS,EAAIA,EAAGrE,WAAYnG,MAAOyK,EAAK7L,KAAKuJ,wBAA0B,MAAQsC,SAAY,OAAS,EAAIA,EAAGpE,SAAUlE,OAAQuI,EAAK9L,KAAKuJ,wBAA0B,MAAQuC,SAAY,OAAS,EAAIA,EAAGtE,aAAgBuD,GAAe9M,EAAE,MAAO,CAAEgD,MAAO,eAC5b,MAER,CACA,qBAAWsL,GAAe,MAAO,CAAC,YAAc,CAChD,QAAI1C,GAAS,OAAO1L,EAAW6B,KAAO,GAE1CkI,EAAgB7G,MAAQ4G,EAExB,MAAMuE,EAAwB,6GAE9B,MAAMC,EAAqB,MACvB,WAAA3M,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK0M,kBAAoB,GACzB1M,KAAK2M,iBAAmB,MACxB3M,KAAK4M,kBAAoB,IACzB5M,KAAK6M,iBAAmB,EAC5B,CACA,gBAAAC,GACI9M,KAAK+M,uBAAyBjF,OAAOkF,aAAY,KAC7C,MAAMC,EAAMC,KAAKD,MACjB,MAAME,EAAiBnN,KAAK0M,kBAAkBU,QAAOC,GAAKJ,EAAMI,EAAEC,UAAYtN,KAAK4M,oBACnF,GAAIO,EAAenL,SAAWhC,KAAK0M,kBAAkB1K,OAAQ,CACzDhC,KAAK0M,kBAAoBS,CAC7B,IACD,GACP,CACA,oBAAAI,GACI,GAAIvN,KAAK+M,uBAAwB,CAC7BjF,OAAO0F,cAAcxN,KAAK+M,uBAC9B,CACJ,CACA,eAAAU,CAAgBC,GACZ,GAAIA,EAAGC,cAAgB,QAAS,CAC5B,GAAID,EAAGE,SAAWtP,EAAmBuP,KAAM,CACvC7N,KAAK2M,iBAAmB,KACxB3M,KAAK0M,kBAAoB,EAC7B,CACJ,CACA,GAAIgB,EAAGC,cAAgB,QAAS,CAC5B,GAAI3N,KAAK8N,MAAMC,MAAMC,SAAS5M,OAAS,EAAG,CACtCpB,KAAK2M,iBAAmB,KACxB3M,KAAK0M,kBAAoB,EAC7B,CACJ,CACJ,CACA,iBAAAuB,CAAkBP,GACd,IAAK1N,KAAK2M,iBAAkB,CACxB,MACJ,CACA,MAAMuB,EAAW,CAAEC,EAAGT,EAAGU,QAASC,EAAGX,EAAGY,QAAShB,UAAWJ,KAAKD,OACjE,MAAMsB,EAAe,CAACL,KAAalO,KAAK0M,mBACxC,GAAI6B,EAAavM,OAAShC,KAAK6M,iBAAkB,CAC7C7M,KAAK0M,kBAAoB6B,EAAaxM,MAAM,EAAG/B,KAAK6M,iBACxD,KACK,CACD7M,KAAK0M,kBAAoB6B,CAC7B,CACJ,CACA,eAAAC,CAAgBd,GACZ,GAAIA,EAAGC,cAAgB,QAAS,CAC5B,GAAID,EAAGE,SAAWtP,EAAmBuP,KAAM,CACvC7N,KAAK2M,iBAAmB,MACxB3M,KAAK0M,kBAAoB,EAC7B,CACJ,CACA,GAAIgB,EAAGC,cAAgB,QAAS,CAC5B,GAAI3N,KAAK8N,MAAMC,MAAMC,SAAS5M,OAAS,EAAG,CACtCpB,KAAK2M,iBAAmB,MACxB3M,KAAK0M,kBAAoB,EAC7B,CACJ,CACJ,CACA,MAAAhM,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8Cd,KAAK0M,kBAAkB1K,OAAS,GAAM/D,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,mBAAoBwN,MAAO,6BAA8BpN,MAAO,CACtOqB,SAAU,WACVI,KAAM,IACND,IAAK,IACLP,MAAO,OACPC,OAAQ,OACR8J,cAAe,OACfqC,QAAS,2CACTC,OAAQ,SACP3O,KAAK0M,kBAAkB3K,MAAM,GAAGnB,KAAI,CAACgO,EAAOnJ,KACjD,MAAMoJ,EAAY7O,KAAK0M,kBAAkBjH,GACzC,MAAMwH,EAAMC,KAAKD,MACjB,MAAM6B,EAAM7B,EAAM2B,EAAMtB,UACxB,MAAMyB,EAAWlL,KAAKmL,IAAI,EAAGnL,KAAKoL,IAAI,EAAGH,EAAM9O,KAAK4M,oBACpD,GAAImC,GAAY,EACZ,OAAO,KACX,MAAMG,EAAkBrL,KAAKmL,IAAI,EAAG,IAAM,EAAID,IAC9C,OAAQ9Q,EAAE,OAAQ,CAAE6C,IAAK,iBAAiB8N,EAAMtB,YAAa6B,GAAIN,EAAUV,EAAEiB,WAAYC,GAAIR,EAAUR,EAAEe,WAAYE,GAAIV,EAAMT,EAAEiB,WAAYG,GAAIX,EAAMP,EAAEe,WAAYI,OAAQ,wDAAyD,eAAgBN,EAAgBE,WAAY,iBAAkB,SAAW,KAEvT,GAEJ3C,EAAmBpL,MAAQmL,EAE3B,MAAMiD,EAAqB,ukCAE3B,MAAMC,EAAkB,MACpB,WAAA5P,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK2P,aAAe3R,EAAYgC,KAAM,gBACtCA,KAAKe,QAAU,GACff,KAAK4P,aAAe,CAAC,EACrB5P,KAAK6P,iBAAmB,MACxB7P,KAAK8P,iBAAmB,MACxB9P,KAAK+P,mBAAsBxP,IACvB,MAAMyP,EAAWzP,EAAMqI,OAAOxI,MAC9B,GAAIJ,KAAKiQ,gBAAkBD,EAAU,CACjChQ,KAAKiQ,cAAgBD,EACrBhQ,KAAK2P,aAAanP,KAAKR,KAAKiQ,cAChC,GAEJjQ,KAAKkQ,sBAAwB,KACzB,GAAIlQ,KAAKmQ,kBAAmB,CACxB,MAAMC,EAAgBpQ,KAAKmQ,kBAAkBE,cAAc,CAAEC,QAAS,OAAQtO,OAAS,EACvF,GAAIhC,KAAK6P,mBAAqBO,EAAe,CACzCpQ,KAAK6P,iBAAmBO,CAC5B,CACJ,KACK,CACD,GAAIpQ,KAAK6P,mBAAqB,MAAO,CACjC7P,KAAK6P,iBAAmB,KAC5B,CACJ,GAEJ7P,KAAKuQ,sBAAwB,KACzB,GAAIvQ,KAAKwQ,kBAAmB,CACxB,MAAMJ,EAAgBpQ,KAAKwQ,kBAAkBH,cAAc,CAAEC,QAAS,OAAQtO,OAAS,EACvF,GAAIhC,KAAK8P,mBAAqBM,EAAe,CACzCpQ,KAAK8P,iBAAmBM,CAC5B,CACJ,KACK,CACD,GAAIpQ,KAAK8P,mBAAqB,MAAO,CACjC9P,KAAK8P,iBAAmB,KAC5B,CACJ,EAER,CACA,iBAAAtL,GACIxE,KAAKyQ,oBAAoBzQ,KAAKI,MAAO,OACrCJ,KAAKkQ,wBACLlQ,KAAKuQ,uBACT,CACA,oBAAAG,CAAqBV,GACjB,GAAIA,IAAahQ,KAAKiQ,cAAe,CACjCjQ,KAAKyQ,oBAAoBT,EAAU,MACvC,CACJ,CACA,cAAAW,GACI3Q,KAAKyQ,oBAAoBzQ,KAAKiQ,cAAe,KACjD,CACA,mBAAAQ,CAAoBG,EAAeC,GAC/B,IAAIC,EAAaF,EACjB,GAAI5Q,KAAKe,SAAWf,KAAKe,QAAQiB,OAAS,EAAG,CACzC,MAAM+O,EAAe/Q,KAAKe,QAAQiQ,MAAKC,GAAOA,EAAI7Q,QAAU0Q,IAC5D,IAAKA,IAAeC,EAAc,CAC9BD,EAAa9Q,KAAKe,QAAQ,GAAGX,KACjC,CACJ,KACK,CACD0Q,EAAa9F,SACjB,CACA,GAAIhL,KAAKiQ,gBAAkBa,EAAY,CACnC9Q,KAAKiQ,cAAgBa,EACrB,GAAID,GAAeD,IAAkBE,GAAcF,IAAkB5F,UAAY,CAC7EhL,KAAK2P,aAAanP,KAAKR,KAAKiQ,cAChC,CACJ,CACJ,CACA,MAAAvP,GACI,MAAMwQ,EAAgB,CAClB,gBAAiB,KACjB,oBAAqBlR,KAAK6P,iBAC1B,oBAAqB7P,KAAK8P,kBAE9B,OAAQ7R,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,oBAAsBhD,EAAE,OAAQ,CAAE6C,IAAK,2CAA4CK,KAAM,SAAUgQ,IAAKC,GAAMpR,KAAKwQ,kBAAoBY,EAAIC,aAAcrR,KAAKuQ,wBAA0BtS,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAOiQ,EAAe7P,MAAOuJ,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG7K,KAAK4P,cAAe,CAAEtN,MAAOtC,KAAKsC,QAAUgP,QAAStR,KAAK+P,oBAAsB/P,KAAKe,QAAQH,KAAIC,GAAW5C,EAAE,SAAU,CAAEmC,MAAOS,EAAOT,MAAOiB,MAAOR,EAAOQ,MAAO6C,SAAUrD,EAAOT,QAAUJ,KAAKiQ,eAAiBpP,EAAOR,UAAWpC,EAAE,OAAQ,CAAE6C,IAAK,2CAA4CK,KAAM,SAAUgQ,IAAKC,GAAMpR,KAAKmQ,kBAAoBiB,EAAIC,aAAcrR,KAAKkQ,yBAC/yB,CACA,mBAAWrK,GAAa,MAAO,CAC3BzF,MAAS,CAAC,wBACVW,QAAW,CAAC,kBACb,GAEP2O,EAAgBrO,MAAQoO,EAExB,MAAM8B,EACF,eAAOC,CAASrQ,EAAMsQ,GAClB,GAAIzR,KAAK0R,SAASC,IAAIxQ,GAAO,CACzBmJ,QAAQC,KAAK,wBAAwBpJ,oDACzC,CACAnB,KAAK0R,SAASE,IAAIzQ,EAAMsQ,EAC5B,CACA,UAAOI,CAAI1Q,GACP,OAAOnB,KAAK0R,SAASG,IAAI1Q,EAC7B,CACA,oBAAO2Q,CAAcC,GACjB,IAAK,MAAM5Q,KAAQ4Q,EAAO,CACtB,GAAInH,OAAOoH,UAAUC,eAAejG,KAAK+F,EAAO5Q,GAAO,CACnDnB,KAAKwR,SAASrQ,EAAM4Q,EAAM5Q,GAC9B,CACJ,CACJ,CACA,UAAOwQ,CAAIxQ,GACP,OAAOnB,KAAK0R,SAASC,IAAIxQ,EAC7B,EAEJoQ,EAAoBG,SAAW,IAAIQ,IACnCX,EAAoBO,cAAc,CAC9B1F,OAAU,6SACV+F,IAAO,ySACPC,YAAe,4TACfC,OAAU,sSACVnS,KAAQ,+QACRoS,MAAS,uSACT,eAAgB,qLAChB,aAAc,uLACdC,KAAQ,oUACRC,MAAS,8aACTC,IAAO,gWACPjH,OAAU,8YACV,iBAAkB,mSAClB,eAAgB,sSAChB,aAAc,2bACdkH,SAAY,iVACZtH,KAAQ,kRACRE,KAAQ,oRACRqH,KAAQ,kPACR,oBAAqB,+TACrBxE,EAAK,+OACLyE,MAAS,wOAGb,MAAMC,EAAqB,IAC3B,MAAMC,EAAqB,KAE3B,MAAMC,EAAmB,4aAEzB,MAAMC,EAAgB,MAClB,WAAAlT,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKiT,QAAUjV,EAAYgC,KAAM,WACjCA,KAAKkT,SAAWL,EAChB7S,KAAKmT,SAAWL,EAChB9S,KAAKoI,SAAW,CACZ,CACIjH,KAAM,YACNjB,KAAM,OACNmG,KAAM9H,EACNoH,KAAM,UAEV,CACIxE,KAAM,QACNjB,KAAM,OACNmG,KAAMjI,EACNuH,KAAM,MACNyE,UAAW,KACXD,OAAQ3L,GAEZ,CACI2C,KAAM,SACNjB,KAAM,OACNmG,KAAM5H,EACNkH,KAAM,UAEV,CACIxE,KAAM,OACNjB,KAAM,OACNmG,KAAMhI,EACNsH,KAAM,OACNwE,OAAQzL,GAEZ,CACIyC,KAAM,QACNjB,KAAM,OACNmG,KAAM1H,EACNgH,KAAM,SAEV,CACIxE,KAAM,UACNjB,KAAM,WAEV,CACIiB,KAAM,SACNjB,KAAM,WAGdF,KAAKoT,uBAAyB,CAC1B,CACI/S,MAAO,QACPsF,KAAM,QACNJ,SAAU8N,gBAAmBrT,KAAKsT,UAAUC,oBAAoBvR,SAAW,EAC3EwR,OAAQC,GAAQzT,KAAKsT,UAAUd,MAAMiB,EAAKtF,EAAGsF,EAAKpF,IAEtD,CAAEhO,MAAO,aAAcsF,KAAM,aAAc6N,OAAQ,IAAMxT,KAAK0T,+BAElE1T,KAAK2T,uBAAyB,CAC1B,CACItT,MAAO,OACPsF,KAAM,MACNL,QAAS,CAACsO,EAAG1O,IAAYA,EAAQlD,SAAW,GAAKkD,EAAQ,GAAG2O,WAC5DL,OAAQ,CAACI,EAAG1O,KACR,GAAIA,EAAQlD,SAAW,EAAG,CACtB,MAAM8R,EAAS5O,EAAQ,GACvB,GAAI4O,EAAOD,WAAY,CACnBC,EAAOC,MACX,CACJ,IAGR,CAAE1T,MAAO,OAAQsF,KAAM,OAAQ6N,OAAQ,IAAMxT,KAAKsT,UAAUf,QAC5D,CACIlS,MAAO,QACPsF,KAAM,QACNJ,SAAU8N,gBAAmBrT,KAAKsT,UAAUC,oBAAoBvR,SAAW,EAC3EwR,OAAQ,CAACC,EAAMG,IAAM5T,KAAKsT,UAAUd,MAAMiB,EAAKtF,EAAGsF,EAAKpF,IAE3D,CAAEhO,MAAO,SAAUsF,KAAM,SAAU6N,OAAQ,IAAMxT,KAAKsT,UAAU9H,UAChE,CAAEnL,MAAO,iBAAkBsF,KAAM,iBAAkB6N,OAAQ,IAAMxT,KAAKsT,UAAUU,gBAChF,CAAE3T,MAAO,eAAgBsF,KAAM,eAAgB6N,OAAQ,IAAMxT,KAAKsT,UAAUW,eAEhFjU,KAAKkU,eAAiB,CAAC,EACvBlU,KAAKmU,kBAAoB,KACzBnU,KAAKsI,sBAAwB,KAC7BtI,KAAKoU,cAAgB,MACrBpU,KAAKmI,gBAAkB,MACvBnI,KAAKqU,wBAA0B,MAC/BrU,KAAKsU,WAAa,EACtB,CACA,eAAAC,CAAgBvE,GACZ,GAAIA,GAAYhQ,KAAKmI,gBAAiB,CAClCnI,KAAKwU,cACT,CACJ,CACA,iBAAAC,CAAkBzE,GACd,GAAIA,GAAYhQ,KAAKoU,cAAe,CAChCpU,KAAKwU,cACT,CACJ,CACA,mBAAME,CAAcC,GAChB,OAAO3U,KAAKsT,UAAUoB,cAAcC,EACxC,CACA,eAAMC,CAAUd,GACZ,OAAO9T,KAAKsT,UAAUsB,UAAUd,EACpC,CACA,kBAAMe,CAAaf,EAAQgB,GACvB,OAAO9U,KAAKsT,UAAUuB,aAAaf,EAAQgB,EAC/C,CACA,kBAAMC,CAAajB,GACf,OAAO9T,KAAKsT,UAAUyB,aAAajB,EACvC,CACA,wBAAMkB,GACF,OAAOhV,KAAKsT,UAAU0B,oBAC1B,CACA,mBAAMC,CAAc/P,GAChB,OAAOlF,KAAKsT,UAAU2B,cAAc/P,EACxC,CACA,gCAAMwO,GACF,OAAO1T,KAAKsT,UAAUI,4BAC1B,CACA,oBAAMwB,GACFlV,KAAKsT,UAAU4B,gBACnB,CACA,4BAAMC,CAAuBrB,GACzB,OAAO9T,KAAKsT,UAAU6B,uBAAuBrB,EACjD,CACA,gBAAAsB,CAAiB7U,GACb,GAAIA,EAAM8U,WAAY,CAClB9U,EAAMyI,gBACV,CACJ,CACA,gBAAA8D,GACI9M,KAAKsV,wBACT,CACA,kBAAMd,SACI7K,eAAeC,YAAY,wBAC3BD,eAAeC,YAAY,mCAC3BD,eAAeC,YAAY,0BAC3BD,eAAeC,YAAY,kBACjC,IAAK5J,KAAKoU,gBAAkBpU,KAAKmI,kBAAoBnI,KAAKqU,wBAAyB,CAC/E,MACJ,CACArU,KAAKiT,QAAQzS,KAAKR,KAAK6J,KAC3B,CACA,aAAA0L,CAAchV,GACVP,KAAKoU,cAAgB,KACrBpU,KAAKwV,gBAAkBjV,EAAME,OAAO+U,gBACpCxV,KAAKsU,WAAa/T,EAAME,OAAO6T,UACnC,CACA,sBAAAgB,GACI,IAAK,MAAOnU,EAAMsU,KAAQ7K,OAAO8K,QAAQ1V,KAAKkU,gBAAiB,CAC3D3C,EAAoBC,SAASrQ,EAAMsU,EACvC,CACJ,CACA,MAAA/U,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,4BAA6B,CAAE6C,IAAK,2CAA4CwT,WAAYtU,KAAKsU,WAAYkB,gBAAiBxV,KAAKwV,gBAAiBG,kBAAmBpV,GAASP,KAAKwV,gBAAkBjV,EAAME,OAAQmV,0BAA2B,IAAO5V,KAAKqU,wBAA0B,OAAUpW,EAAE,iBAAkB,CAAE6C,IAAK,2CAA4CqQ,IAAKC,GAAOpR,KAAKsT,UAAYlC,EAAKyE,UAAW7V,KAAKwV,gBAAiBtC,SAAUlT,KAAKkT,SAAUC,SAAUnT,KAAKmT,SAAUC,uBAAwBpT,KAAKoT,uBAAwBO,uBAAwB3T,KAAK2T,uBAAwBY,gBAAiBhU,GAASP,KAAKuV,cAAchV,GAAQuV,mBAAoBvV,GAASP,KAAKsU,WAAa/T,EAAME,SAAWxC,EAAE,mBAAoB,CAAE6C,IAAK,2CAA4CqQ,IAAKC,GAAOpR,KAAK+V,YAAc3E,EAAKhJ,SAAUpI,KAAKoI,SAAUE,sBAAuBtI,KAAKsI,sBAAuBjH,MAAOrB,KAAKmU,kBAAoB,CAAE1R,QAAS,QAAW,CAAEA,QAAS,QAAUgS,kBAAmB,IAAOzU,KAAKmI,gBAAkB,OAC3jC,CACA,QAAI0B,GAAS,OAAO1L,EAAW6B,KAAO,CACtC,mBAAW6F,GAAa,MAAO,CAC3BuO,cAAiB,CAAC,mBAClBjM,gBAAmB,CAAC,qBACrB,GAEP6K,EAAc3R,MAAQ0R,EAEtB,MAAMiD,EACF,WAAAlW,CAAYgO,EAAOjE,GACf7J,KAAKiW,qBAAuB,EAC5BjW,KAAKkW,OAAS,EACdlW,KAAKmW,OAAS,EACdnW,KAAKoW,OAAStI,EACd9N,KAAKoW,OAAOrI,MAAMlE,KAAOA,EACzB7J,KAAKoW,OAAOrI,MAAMsI,cAAgBxM,EAAKyM,YACvCtW,KAAKoW,OAAOrI,MAAMwI,eAAiB1M,EAAK2M,aACxCxW,KAAKoW,OAAOrI,MAAMmI,OAAS,EAC3BlW,KAAKoW,OAAOrI,MAAMoI,OAAS,EAC3BnW,KAAKoW,OAAOrI,MAAM0I,WAAa,EAC/BzW,KAAKoW,OAAOrI,MAAM2I,WAAa,CACnC,CACA,YAAAC,GACI3W,KAAKoW,OAAOrI,MAAMsI,cAAgBrW,KAAKoW,OAAOrI,MAAMlE,KAAKyM,YACzDtW,KAAKoW,OAAOrI,MAAMwI,eAAiBvW,KAAKoW,OAAOrI,MAAMlE,KAAK2M,aAC1DxW,KAAKoW,OAAOrI,MAAM6I,mBAAqB,KACvC5W,KAAKoW,OAAOS,UAChB,CACA,iBAAAC,CAAkBvW,GACd,GAAIA,EAAMoN,cAAgB,QAAS,CAC/B,MAAMoJ,EAAkBxW,EAAM6N,QAAUpO,KAAKoW,OAAOY,QACpD,MAAMC,EAAkB1W,EAAM+N,QAAUtO,KAAKoW,OAAOc,QACpD,GAAI3W,EAAMqN,SAAWtP,EAAmB6Y,MAAO,CAC3CnX,KAAKoW,OAAOrI,MAAMqJ,UAAY,KAC9BpX,KAAKoW,OAAOrI,MAAMmI,OAASa,EAC3B/W,KAAKoW,OAAOrI,MAAMoI,OAASc,CAC/B,CACJ,CACA,GAAI1W,EAAMoN,cAAgB,QAAS,CAC/B,MAAM0J,EAAiBC,MAAMC,KAAKvX,KAAKoW,OAAOrI,MAAMC,SAASwJ,UAC7D,GAAIH,EAAerV,SAAW,EAAG,CAC7BhC,KAAKoW,OAAOrI,MAAM0J,YAAc,KAChCzX,KAAKoW,OAAOrI,MAAM2J,UAAY,KAC9B,MAAMC,EAAcN,EAAe,GAAGjJ,QAAUpO,KAAKoW,OAAOY,QAC5D,MAAMY,EAAcP,EAAe,GAAG/I,QAAUtO,KAAKoW,OAAOc,QAC5D,MAAMW,EAAeR,EAAe,GAAGjJ,QAAUpO,KAAKoW,OAAOY,QAC7D,MAAMc,EAAeT,EAAe,GAAG/I,QAAUtO,KAAKoW,OAAOc,QAC7DlX,KAAKiW,qBAAuBpS,KAAKkU,KAAKlU,KAAKmU,IAAIL,EAAcE,EAAc,GAAKhU,KAAKmU,IAAIJ,EAAcE,EAAc,IACrH9X,KAAKkW,QAAUyB,EAAcE,GAAgB,EAC7C7X,KAAKmW,QAAUyB,EAAcE,GAAgB,EAC7C9X,KAAKoW,OAAOS,UAChB,CACJ,CACJ,CACA,iBAAA5I,CAAkB1N,GACd,GAAIA,EAAMoN,cAAgB,QAAS,CAC/B,MAAMsK,EAAWjY,KAAKoW,OAAOrI,MAAMlE,KAAKqO,wBACxC,MAAMC,EAAkB5X,EAAM6N,QAAU6J,EAASnV,KACjD,MAAMsV,EAAkB7X,EAAM+N,QAAU2J,EAASpV,IACjD7C,KAAKoW,OAAOrI,MAAMsK,UAAYF,EAAkBnY,KAAKoW,OAAOrI,MAAM0I,YAAczW,KAAKoW,OAAOrI,MAAMuK,MAClGtY,KAAKoW,OAAOrI,MAAMwK,UAAYH,EAAkBpY,KAAKoW,OAAOrI,MAAM2I,YAAc1W,KAAKoW,OAAOrI,MAAMuK,MAClG,GAAItY,KAAKoW,OAAOrI,MAAMqJ,UAAW,CAC7BpX,KAAKoW,OAAOrI,MAAM0I,YAAczW,KAAKoW,OAAOrI,MAAMmI,OAASiC,EAC3DnY,KAAKoW,OAAOrI,MAAM2I,YAAc1W,KAAKoW,OAAOrI,MAAMoI,OAASiC,EAC3DpY,KAAKoW,OAAOrI,MAAMmI,OAASiC,EAC3BnY,KAAKoW,OAAOrI,MAAMoI,OAASiC,EAC3BpY,KAAKoW,OAAOrI,MAAM6I,mBAAqB,KACvC5W,KAAKoW,OAAOrI,MAAMyK,gBAAkB,KACpCxY,KAAKoW,OAAOS,WACZ7W,KAAKoW,OAAOqC,wBAAwBzY,KAAKoW,OAAOrI,MAAM0I,WAAYzW,KAAKoW,OAAOrI,MAAM2I,WAAY1W,KAAKoW,OAAOrI,MAAMuK,MACtH,CACJ,CACA,GAAI/X,EAAMoN,cAAgB,QAAS,CAC/B,MAAMsK,EAAWjY,KAAKoW,OAAOrI,MAAMlE,KAAKqO,wBACxC,MAAMC,EAAkB5X,EAAM6N,QAAU6J,EAASnV,KACjD,MAAMsV,EAAkB7X,EAAM+N,QAAU2J,EAASpV,IACjD7C,KAAKoW,OAAOrI,MAAMsK,UAAYF,EAAkBnY,KAAKoW,OAAOrI,MAAM0I,YAAczW,KAAKoW,OAAOrI,MAAMuK,MAClGtY,KAAKoW,OAAOrI,MAAMwK,UAAYH,EAAkBpY,KAAKoW,OAAOrI,MAAM2I,YAAc1W,KAAKoW,OAAOrI,MAAMuK,MAClG,MAAMjB,EAAiBC,MAAMC,KAAKvX,KAAKoW,OAAOrI,MAAMC,SAASwJ,UAC7D,GAAIH,EAAerV,SAAW,EAAG,CAC7B,MAAM2V,EAAcN,EAAe,GAAGjJ,QAAUpO,KAAKoW,OAAOY,QAC5D,MAAMY,EAAcP,EAAe,GAAG/I,QAAUtO,KAAKoW,OAAOc,QAC5D,MAAMW,EAAeR,EAAe,GAAGjJ,QAAUpO,KAAKoW,OAAOY,QAC7D,MAAMc,EAAeT,EAAe,GAAG/I,QAAUtO,KAAKoW,OAAOc,QAC7D,MAAMwB,EAAuB7U,KAAKkU,KAAKlU,KAAKmU,IAAIL,EAAcE,EAAc,GAAKhU,KAAKmU,IAAIJ,EAAcE,EAAc,IACtH,MAAMa,GAAahB,EAAcE,GAAgB,EACjD,MAAMe,GAAahB,EAAcE,GAAgB,EACjD,MAAMe,EAAaH,EAAuB1Y,KAAKiW,qBAC/C,MAAM6C,EAAW9Y,KAAKoW,OAAOrI,MAAMuK,MAAQO,EAC3C,GAAIC,EAAW9Y,KAAKoW,OAAOrI,MAAMmF,UAAY4F,EAAW9Y,KAAKoW,OAAOrI,MAAMoF,SAAU,CAChFnT,KAAKoW,OAAOrI,MAAM0I,YAAckC,EAAY3Y,KAAKkW,OACjDlW,KAAKoW,OAAOrI,MAAM2I,YAAckC,EAAY5Y,KAAKmW,MACrD,KACK,CACD,MAAM4C,GAAwBJ,EAAY3Y,KAAKoW,OAAOrI,MAAM0I,aAAeoC,EAAa,GACxF,MAAMG,GAAwBJ,EAAY5Y,KAAKoW,OAAOrI,MAAM2I,aAAemC,EAAa,GACxF7Y,KAAKoW,OAAOrI,MAAM0I,YAAckC,EAAY3Y,KAAKkW,OAAS6C,EAC1D/Y,KAAKoW,OAAOrI,MAAM2I,YAAckC,EAAY5Y,KAAKmW,OAAS6C,EAC1DhZ,KAAKoW,OAAOrI,MAAMuK,MAAQQ,EAC1B9Y,KAAKiW,qBAAuByC,CAChC,CACA1Y,KAAKkW,OAASyC,EACd3Y,KAAKmW,OAASyC,EACd5Y,KAAKoW,OAAOrI,MAAM6I,mBAAqB,KACvC5W,KAAKoW,OAAOS,WACZ7W,KAAKoW,OAAOqC,wBAAwBzY,KAAKoW,OAAOrI,MAAM0I,WAAYzW,KAAKoW,OAAOrI,MAAM2I,WAAY1W,KAAKoW,OAAOrI,MAAMuK,MACtH,CACJ,CACJ,CACA,eAAA9J,CAAgBjO,GACZ,GAAIA,EAAMoN,cAAgB,QAAS,CAC/B,GAAI3N,KAAKoW,OAAOrI,MAAMqJ,UAAW,CAC7BpX,KAAKoW,OAAOrI,MAAMqJ,UAAY,MAC9BpX,KAAKoW,OAAOS,UAChB,CACJ,CACA,GAAItW,EAAMoN,cAAgB,QAAS,CAC/B3N,KAAKoW,OAAOrI,MAAM2J,UAAY,MAC9B1X,KAAKoW,OAAOS,UAChB,CACJ,CACA,WAAAoC,CAAY1Y,GACRA,EAAMyI,iBACN,GAAIzI,EAAM2Y,UAAY,MAAQta,EAAmBua,iBAAiB5Y,GAAQ,CACtEP,KAAKoZ,WAAW7Y,EACpB,CACA,IAAKA,EAAM2Y,QAAS,CAChBlZ,KAAKqZ,UAAU9Y,EACnB,CACJ,CACA,UAAA6Y,CAAW7Y,GACP,MAAM+Y,EAAOtZ,KAAKoW,OAAOrI,MAAMlE,KAAKqO,wBACpC,MAAMC,EAAkB5X,EAAM6N,QAAUkL,EAAKxW,KAC7C,MAAMsV,EAAkB7X,EAAM+N,QAAUgL,EAAKzW,IAC7C7C,KAAKoW,OAAOrI,MAAMsK,UAAYF,EAAkBnY,KAAKoW,OAAOrI,MAAM0I,YAAczW,KAAKoW,OAAOrI,MAAMuK,MAClGtY,KAAKoW,OAAOrI,MAAMwK,UAAYH,EAAkBpY,KAAKoW,OAAOrI,MAAM2I,YAAc1W,KAAKoW,OAAOrI,MAAMuK,MAClG,MAAMiB,EAAQhZ,EAAMiZ,OAAS,GAAKxZ,KAAKoW,OAAOrI,MAAM0L,UAAYzZ,KAAKoW,OAAOrI,MAAMuK,MAAQtY,KAAKoW,OAAOrI,MAAM0L,UAAYzZ,KAAKoW,OAAOrI,MAAMuK,MAC1I,MAAMQ,EAAWjV,KAAKoL,IAAIjP,KAAKoW,OAAOrI,MAAMmF,SAAUrP,KAAKmL,IAAIhP,KAAKoW,OAAOrI,MAAMoF,SAAUnT,KAAKoW,OAAOrI,MAAMuK,MAAQiB,IACrH,MAAMV,EAAaC,EAAW9Y,KAAKoW,OAAOrI,MAAMuK,MAChD,MAAMS,GAAwBZ,EAAkBnY,KAAKoW,OAAOrI,MAAM0I,aAAeoC,EAAa,GAC9F,MAAMG,GAAwBZ,EAAkBpY,KAAKoW,OAAOrI,MAAM2I,aAAemC,EAAa,GAC9F7Y,KAAKoW,OAAOrI,MAAMuK,MAAQQ,EAC1B9Y,KAAKoW,OAAOrI,MAAM0I,YAAcsC,EAChC/Y,KAAKoW,OAAOrI,MAAM2I,YAAcsC,EAChChZ,KAAKoW,OAAOrI,MAAM6I,mBAAqB,KACvC5W,KAAKoW,OAAOS,WACZ7W,KAAKoW,OAAOqC,wBAAwBzY,KAAKoW,OAAOrI,MAAM0I,WAAYzW,KAAKoW,OAAOrI,MAAM2I,WAAY1W,KAAKoW,OAAOrI,MAAMuK,MACtH,CACA,SAAAe,CAAU9Y,GACN,MAAMmZ,EAAW,GACjB1Z,KAAKoW,OAAOrI,MAAM0I,YAAclW,EAAMoZ,OAASD,EAC/C1Z,KAAKoW,OAAOrI,MAAM2I,YAAcnW,EAAMiZ,OAASE,EAC/C1Z,KAAKoW,OAAOrI,MAAM6I,mBAAqB,KACvC5W,KAAKoW,OAAOS,WACZ7W,KAAKoW,OAAOqC,wBAAwBzY,KAAKoW,OAAOrI,MAAM0I,WAAYzW,KAAKoW,OAAOrI,MAAM2I,WAAY1W,KAAKoW,OAAOrI,MAAMuK,MACtH,EAGJ,MAAMsB,WAA8B/a,EAChC,WAAAiB,CAAYgO,EAAO+L,EAAWC,EAAkBC,EAAc,OAC1DC,MAAMlM,EAAO+L,EAAWE,GACxB/Z,KAAK8Z,iBAAmBA,EACxB9Z,KAAKia,gBAAkB,CACnB3B,MAAOtY,KAAKoW,OAAOrI,MAAMuK,MACzB7B,WAAYzW,KAAKoW,OAAOrI,MAAM0I,WAC9BC,WAAY1W,KAAKoW,OAAOrI,MAAM2I,WAEtC,CACA,OAAAwD,GACIla,KAAKoW,OAAOrI,MAAMuK,MAAQtY,KAAKia,gBAAgB3B,MAC/CtY,KAAKoW,OAAOrI,MAAM0I,WAAazW,KAAKia,gBAAgBxD,WACpDzW,KAAKoW,OAAOrI,MAAM2I,WAAa1W,KAAKia,gBAAgBvD,UACxD,CACA,IAAAtL,GACIpL,KAAKoW,OAAOrI,MAAMuK,MAAQtY,KAAK8Z,iBAAiBxB,MAChDtY,KAAKoW,OAAOrI,MAAM0I,WAAazW,KAAK8Z,iBAAiBrD,WACrDzW,KAAKoW,OAAOrI,MAAM2I,WAAa1W,KAAK8Z,iBAAiBpD,UACzD,EAGJ,MAAMyD,GACF,WAAAra,CAAYsa,GACRpa,KAAKqa,KAAO,EACZra,KAAKsa,KAAO,EACZta,KAAKoB,KAAO,EACZpB,KAAKoa,SAAWA,EAChBpa,KAAKua,OAAS,IAAIjD,MAAM8C,GAAUI,KAAK,KAC3C,CACA,GAAAC,CAAI7V,GACA5E,KAAKua,OAAOva,KAAKqa,MAAQzV,EACzB5E,KAAKqa,MAAQra,KAAKqa,KAAO,GAAKra,KAAKoa,SACnC,GAAIpa,KAAKoB,KAAOpB,KAAKoa,SAAU,CAC3Bpa,KAAKoB,MACT,KACK,CACDpB,KAAKsa,MAAQta,KAAKsa,KAAO,GAAKta,KAAKoa,QACvC,CACJ,CACA,GAAAM,GACI,GAAI1a,KAAKoB,OAAS,EAAG,CACjB,OAAO,IACX,CACApB,KAAKqa,MAAQra,KAAKqa,KAAO,EAAIra,KAAKoa,UAAYpa,KAAKoa,SACnD,MAAMxV,EAAO5E,KAAKua,OAAOva,KAAKqa,MAC9Bra,KAAKua,OAAOva,KAAKqa,MAAQ,KACzBra,KAAKoB,OACL,OAAOwD,CACX,CACA,IAAA+V,GACI,GAAI3a,KAAKoB,OAAS,EAAG,CACjB,OAAO,IACX,CACA,MAAMwZ,GAAa5a,KAAKqa,KAAO,EAAIra,KAAKoa,UAAYpa,KAAKoa,SACzD,OAAOpa,KAAKua,OAAOK,EACvB,CACA,OAAAC,GACI,OAAO7a,KAAKoB,OAAS,CACzB,CACA,KAAA0Z,GACI9a,KAAKua,OAAOC,KAAK,MACjBxa,KAAKqa,KAAO,EACZra,KAAKsa,KAAO,EACZta,KAAKoB,KAAO,CAChB,EAGJ,MAAM2Z,GACF,WAAAjb,CAAYgO,GACR9N,KAAKoW,OAAStI,EACd9N,KAAKgb,UAAY,IAAIb,GAAsBna,KAAKoW,OAAOrI,MAAMkN,mBAC7Djb,KAAKkb,UAAY,IAAIf,GAAsBna,KAAKoW,OAAOrI,MAAMkN,mBAC7Djb,KAAK8Z,iBAAmB,CACpBxB,MAAOtY,KAAKoW,OAAOrI,MAAMuK,MACzBmB,UAAWzZ,KAAKoW,OAAOrI,MAAM0L,UAC7BhD,WAAYzW,KAAKoW,OAAOrI,MAAM0I,WAC9BC,WAAY1W,KAAKoW,OAAOrI,MAAM2I,WAEtC,CACA,KAAAyE,GACInb,KAAKgb,UAAUF,QACf9a,KAAKkb,UAAUJ,QACf9a,KAAK8Z,iBAAmB,CACpBxB,MAAOtY,KAAKoW,OAAOrI,MAAMuK,MACzBmB,UAAWzZ,KAAKoW,OAAOrI,MAAM0L,UAC7BhD,WAAYzW,KAAKoW,OAAOrI,MAAM0I,WAC9BC,WAAY1W,KAAKoW,OAAOrI,MAAM2I,WAEtC,CACA,cAAA0E,CAAeC,GACX,GAAIrb,KAAKoW,OAAOrI,MAAM6I,mBAAoB,CACtC5W,KAAKsb,0BACT,CACAD,EAAQnB,UACR,GAAImB,EAAQtB,cAAgB,MAAO,CAC/B,GAAI/Z,KAAKoW,OAAOrI,MAAMwN,UAAUC,YAAa,CACzClR,QAAQmR,KAAK,MAAOJ,EACxB,CACArb,KAAKgb,UAAUP,IAAIY,GACnB,GAAIrb,KAAKkb,UAAUL,YAAc,MAAO,CACpC7a,KAAKkb,UAAUJ,OACnB,CACJ,CACA9a,KAAKoW,OAAOS,UAChB,CACA,IAAAzL,GACI,GAAIpL,KAAKoW,OAAOrI,MAAM6I,mBAAoB,CACtC,MAAMyE,EAAU,IAAIzB,GAAsB5Z,KAAKoW,OAAQpW,KAAMA,KAAK8Z,kBAClEuB,EAAQjQ,OACRpL,KAAKoW,OAAOrI,MAAM6I,mBAAqB,MACvC5W,KAAKoW,OAAOS,WACZ,MACJ,CACA,MAAMwE,EAAUrb,KAAKgb,UAAUN,MAC/B,GAAIW,EAAS,CACTA,EAAQjQ,OACR,GAAIpL,KAAKoW,OAAOrI,MAAMwN,UAAUC,YAC5BlR,QAAQmR,KAAK,OAAQJ,GACzBrb,KAAKkb,UAAUT,IAAIY,EACvB,CACArb,KAAKoW,OAAOS,UAChB,CACA,IAAAvL,GACI,MAAM+P,EAAUrb,KAAKkb,UAAUR,MAC/B,GAAIW,EAAS,CACTA,EAAQnB,UACR,GAAIla,KAAKoW,OAAOrI,MAAMwN,UAAUC,YAC5BlR,QAAQmR,KAAK,OAAQJ,GACzBrb,KAAKgb,UAAUP,IAAIY,EACvB,CACArb,KAAKoW,OAAOS,UAChB,CACA,wBAAAyE,GACI,MAAMD,EAAU,IAAIzB,GAAsB5Z,KAAKoW,OAAQpW,KAAMA,KAAK8Z,kBAClEuB,EAAQnB,UACRla,KAAKgb,UAAUP,IAAIY,GACnB,GAAIrb,KAAKkb,UAAUL,YAAc,MAAO,CACpC7a,KAAKkb,UAAUJ,OACnB,CACA9a,KAAKoW,OAAOrI,MAAM6I,mBAAqB,MACvC5W,KAAK8Z,iBAAmB,CACpBxB,MAAOtY,KAAKoW,OAAOrI,MAAMuK,MACzBmB,UAAWzZ,KAAKoW,OAAOrI,MAAM0L,UAC7BhD,WAAYzW,KAAKoW,OAAOrI,MAAM0I,WAC9BC,WAAY1W,KAAKoW,OAAOrI,MAAM2I,WAEtC,EAGJ,MAAMgF,GACF,WAAA5b,CAAY6b,EAAQvB,EAAW,GAC3Bpa,KAAKkF,QAAU,GACflF,KAAK4b,SAAW,KAChB5b,KAAK2b,OAASA,EACd3b,KAAKoa,SAAWA,CACpB,CACA,KAAAe,GACInb,KAAKkF,QAAU,GACflF,KAAK4b,SAAW,IACpB,CACA,MAAAC,CAAO/H,GACH,IAAK9T,KAAK8b,WAAWhI,EAAOiI,mBAAoB/b,KAAK2b,QAAS,CAC1D,OAAO,KACX,CACA,GAAI3b,KAAKkF,QAAQlD,OAAShC,KAAKoa,UAAYpa,KAAK4b,WAAa,KAAM,CAC/D5b,KAAKkF,QAAQM,KAAKsO,GAClB,OAAO,IACX,CACA,GAAI9T,KAAK4b,WAAa,KAAM,CACxB5b,KAAKgc,WACT,CACA,IAAK,MAAMC,KAASjc,KAAK4b,SAAU,CAC/B,GAAIK,EAAMJ,OAAO/H,GAAS,CACtB,OAAO,IACX,CACJ,CACA,OAAO,KACX,CACA,MAAAoI,CAAOpI,GACH,MAAMrO,EAAQzF,KAAKkF,QAAQiX,WAAUC,GAAKA,EAAEzH,KAAOb,EAAOa,KAC1D,GAAIlP,KAAW,EAAG,CACdzF,KAAKkF,QAAQO,GAASqO,EACtB,OAAO,IACX,CACA,GAAI9T,KAAK4b,WAAa,KAAM,CACxB,IAAK,MAAMK,KAASjc,KAAK4b,SAAU,CAC/B,GAAIK,EAAMC,OAAOpI,GAAS,CACtB,OAAO,IACX,CACJ,CACJ,CACA,OAAO,KACX,CACA,MAAAuI,CAAOC,GACH,MAAM7W,EAAQzF,KAAKkF,QAAQiX,WAAUC,GAAKE,EAAUF,KACpD,GAAI3W,KAAW,EAAG,CACdzF,KAAKkF,QAAQqX,OAAO9W,EAAO,EAC/B,CACA,GAAIzF,KAAK4b,WAAa,KAAM,CACxB,IAAK,MAAMK,KAASjc,KAAK4b,SAAU,CAC/BK,EAAMI,OAAOC,EACjB,CACJ,CACJ,CACA,KAAAE,CAAMC,GACF,MAAMC,EAAU,GAChB,IAAK1c,KAAK8b,WAAWW,EAAOzc,KAAK2b,QAAS,CACtC,OAAOe,CACX,CACA,IAAK,MAAM5I,KAAU9T,KAAKkF,QAAS,CAC/B,GAAIlF,KAAK8b,WAAWhI,EAAOiI,mBAAoBU,GAAQ,CACnDC,EAAQlX,KAAKsO,EACjB,CACJ,CACA,GAAI9T,KAAK4b,WAAa,KAAM,CACxB,IAAK,MAAMK,KAASjc,KAAK4b,SAAU,CAC/Bc,EAAQlX,QAAQyW,EAAMO,MAAMC,GAChC,CACJ,CACA,OAAOC,CACX,CACA,MAAAtP,CAAOkP,GACH,MAAMI,EAAU1c,KAAKkF,QAAQkI,QAAOgP,GAAKE,EAAUF,KACnD,GAAIpc,KAAK4b,WAAa,KAAM,CACxB,IAAK,MAAMK,KAASjc,KAAK4b,SAAU,CAC/Bc,EAAQlX,QAAQyW,EAAM7O,OAAOkP,GACjC,CACJ,CACA,OAAOI,CACX,CACA,UAAAC,GACI,MAAMD,EAAU,IAAI1c,KAAKkF,SACzB,GAAIlF,KAAK4b,WAAa,KAAM,CACxB,IAAK,MAAMK,KAASjc,KAAK4b,SAAU,CAC/Bc,EAAQlX,QAAQyW,EAAMU,aAC1B,CACJ,CACA,OAAOD,CACX,CACA,SAAAV,GACI,MAAM7N,EAAEA,EAACE,EAAEA,EAACuO,EAAEA,EAACta,MAAEA,EAAKC,OAAEA,EAAMsa,MAAEA,GAAU7c,KAAK2b,OAC/C,MAAMmB,EAAYxa,EAAQ,EAC1B,MAAMya,EAAaxa,EAAS,EAC5B,MAAMya,EAAYH,EAAQ,EAC1B7c,KAAK4b,SAAW,CACZ,IAAIF,GAAc,CAAEvN,IAAGE,IAAGuO,IAAGta,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC5F,IAAIsB,GAAc,CAAEvN,EAAGA,EAAI2O,EAAWzO,IAAGuO,IAAGta,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC3G,IAAIsB,GAAc,CAAEvN,IAAGE,EAAGA,EAAI0O,EAAYH,IAAGta,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC5G,IAAIsB,GAAc,CAAEvN,EAAGA,EAAI2O,EAAWzO,EAAGA,EAAI0O,EAAYH,IAAGta,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC3H,IAAIsB,GAAc,CAAEvN,IAAGE,IAAGuO,EAAGA,EAAII,EAAW1a,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC3G,IAAIsB,GAAc,CAAEvN,EAAGA,EAAI2O,EAAWzO,IAAGuO,EAAGA,EAAII,EAAW1a,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC1H,IAAIsB,GAAc,CAAEvN,IAAGE,EAAGA,EAAI0O,EAAYH,EAAGA,EAAII,EAAW1a,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAC3H,IAAIsB,GAAc,CAAEvN,EAAGA,EAAI2O,EAAWzO,EAAGA,EAAI0O,EAAYH,EAAGA,EAAII,EAAW1a,MAAOwa,EAAWva,OAAQwa,EAAYF,MAAOG,GAAahd,KAAKoa,UAElJ,CACA,UAAA0B,CAAWmB,EAAGrb,GACV,QAASqb,EAAE9O,GAAKvM,EAAEuM,EAAIvM,EAAEU,OACpB2a,EAAE9O,EAAI8O,EAAE3a,OAASV,EAAEuM,GACnB8O,EAAE5O,GAAKzM,EAAEyM,EAAIzM,EAAEW,QACf0a,EAAE5O,EAAI4O,EAAE1a,QAAUX,EAAEyM,EAE5B,EAGJ,MAAM6O,GAAuB,CACzB1H,gBAAiB,KACjB2H,WAAY,KACZC,WAAY,KACZ3F,YAAa,KACb4F,cAAe,KACfC,cAAe,KACfC,aAAc,KACdC,eAAgB,KAChBC,iBAAkB,KAClB7G,mBAAoB,MACpB3D,QAAS,MACTyK,UAAW,KACXhG,UAAW,MACXN,UAAW,MACXuG,UAAW,MACXC,YAAa,MACbC,WAAY,MACZC,uBAAwB,MACxBC,WAAY,MACZC,yBAA0B,MAC1BC,WAAY,MACZC,UAAW,MACXC,UAAW,MACXC,UAAW,MACXC,iBAAkB,MAClBC,qBAAsB,MACtBC,iBAAkB,GAClBC,aAAc,EACdC,aAAc,EACdjG,gBAAiB,MACjB+C,UAAW,CACPmD,eAAgB,MAChBC,iBAAkB,MAClBnD,YAAa,MACboD,YAAa,OAEjB/U,KAAM,KACNwO,SAAU,EACVE,SAAU,EACVD,MAAO,EACPpF,SAAU,EACVC,SAAU,EACVsG,UAAW,KACXvD,OAAQ,EACRC,OAAQ,EACRM,WAAY,EACZoI,cAAe,IACfC,cAAe,EACfpI,WAAY,EACZqI,cAAe,IACfC,cAAe,EACf3I,cAAe,EACfE,eAAgB,EAChB0E,kBAAmB,IACnBgE,iBAAkB,KAClBC,eAAgB,IAChBlR,SAAU,IAAIkE,IACdoC,WAAY,IAGhB,MAAM6K,GACF,WAAArf,CAAYsf,EAAQC,EAAWC,EAAmB,OAC9Ctf,KAAKuf,GAAK,KACVvf,KAAKof,OAASA,EACdpf,KAAKqf,UAAYA,EACjBrf,KAAKsf,iBAAmBA,CAC5B,CACA,UAAME,CAAKC,GACP,OAAO,IAAIza,SAAQ,CAACC,EAASya,KACzB,GAAI1f,KAAKuf,GAAI,CACTta,IACA,MACJ,CACA,GAAIjF,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,iCAAiC3f,KAAKof,oBAAoBpf,KAAKqf,YAC/E,CACA,MAAMO,EAAUC,UAAUL,KAAKxf,KAAKof,OAAQpf,KAAKqf,WACjDO,EAAQE,QAAU,KACdxV,QAAQyV,MAAM,mBAAoBH,EAAQG,OAC1CL,EAAOE,EAAQG,MAAM,EAEzBH,EAAQI,UAAY,KAChBhgB,KAAKuf,GAAKK,EAAQK,OAClB,GAAIjgB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,4CAChB,CACA1a,GAAS,EAEb2a,EAAQM,gBAAkB3f,IACtB,GAAIP,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,4CAA4C3f,KAAKof,SACjE,CACA,MAAMG,EAAKhf,EAAMqI,OAAOqX,OACxBR,EAAOU,SAAQC,IACX,IAAKb,EAAGc,iBAAiBC,SAASF,EAAYjf,MAAO,CACjD,GAAInB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,+BAA+BS,EAAYjf,OAC3D,CACA,MAAM2M,EAAQyR,EAAGgB,kBAAkBH,EAAYjf,KAAMif,EAAYrf,SACjE,GAAIqf,EAAYI,QAAS,CACrBJ,EAAYI,QAAQL,SAAQ1a,IACxB,GAAIzF,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,+BAA+Bla,EAAMtE,kBAAkBif,EAAYjf,OACnF,CACA2M,EAAM2S,YAAYhb,EAAMtE,KAAMsE,EAAMib,QAASjb,EAAM1E,QAAQ,GAEnE,CACJ,IACF,CACL,GAET,CACA,KAAA4f,GACI,GAAI3gB,KAAKuf,GAAI,CACT,GAAIvf,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,iCAAiC3f,KAAKof,SACtD,CACApf,KAAKuf,GAAGoB,QACR3gB,KAAKuf,GAAK,IACd,CACJ,CACA,SAAM9E,CAAImG,EAAWhc,GACjB,GAAI5E,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,mBAAoB,CAAEiB,YAAWhc,QACjD,CACA,OAAO5E,KAAK6gB,mBAAmBD,EAAW,aAAa9S,GAASA,EAAM2M,IAAI7V,IAC9E,CACA,SAAMiN,CAAI+O,EAAW9f,GACjB,GAAId,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,mBAAoB,CAAEiB,YAAW9f,OACjD,CACA,OAAOd,KAAK6gB,mBAAmBD,EAAW,YAAY9S,GAASA,EAAM+D,IAAI/Q,IAC7E,CACA,YAAMggB,CAAOF,GACT,GAAI5gB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,sBAAuB,CAAEiB,aACzC,CACA,OAAO5gB,KAAK6gB,mBAAmBD,EAAW,YAAY9S,GAASA,EAAMgT,UACzE,CACA,YAAM5E,CAAO0E,EAAWhc,GACpB,GAAI5E,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,sBAAuB,CAAEiB,YAAWhc,QACpD,CACA,OAAO5E,KAAK6gB,mBAAmBD,EAAW,aAAa9S,GAASA,EAAMiT,IAAInc,IAC9E,CACA,YAAM,CAAOgc,EAAW9f,GACpB,GAAId,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,sBAAuB,CAAEiB,YAAW9f,OACpD,CACA,OAAOd,KAAK6gB,mBAAmBD,EAAW,aAAa9S,GAASA,EAAMtC,OAAO1K,IACjF,CACA,mBAAMkgB,CAAcJ,EAAWnE,GAC3B,GAAIzc,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,6BAA8B,CAAEiB,YAAWnE,SAC3D,CACA,OAAOzc,KAAK6gB,mBAAmBD,EAAW,aAAa9S,GAASA,EAAMtC,OAAOiR,IACjF,CACA,mBAAMwE,CAAcL,EAAWnE,GAC3B,GAAIzc,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,6BAA8B,CAAEiB,YAAWnE,SAC3D,CACA,OAAOzc,KAAK6gB,mBAAmBD,EAAW,YAAY9S,GAC3CA,EAAMgT,OAAOrE,IAE5B,CACA,mBAAMyE,CAAcN,EAAWO,EAAW3E,GACtC,GAAIxc,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,6BAA8B,CAAEiB,YAAWO,YAAW3E,SACtE,CACA,OAAOxc,KAAK6gB,mBAAmBD,EAAW,YAAY9S,IAClD,MAAMrI,EAAQqI,EAAMrI,MAAM0b,GAC1B,OAAO1b,EAAMqb,OAAOtE,EAAM,GAElC,CACA,wBAAMqE,CAAmBD,EAAWQ,EAAM5N,GACtC,IAAKxT,KAAKuf,GAAI,CACV,MAAM,IAAIvV,MAAM,wBACpB,CACA,OAAO,IAAIhF,SAAQ,CAACC,EAASya,KACzB,MAAM2B,EAAcrhB,KAAKuf,GAAG8B,YAAYT,EAAWQ,GACnD,MAAMtT,EAAQuT,EAAYC,YAAYV,GACtC,MAAMhB,EAAUpM,EAAO1F,GACvB,IAAIyT,EACJF,EAAYG,WAAa,KACrBvc,EAAQsc,EAAc,EAE1BF,EAAYI,QAAU,KAClB,IAAI1Y,EACJ2W,GAAQ3W,EAAKsY,EAAYtB,SAAW,MAAQhX,SAAY,EAAIA,EAAK,IAAIiB,MAAM,uBAAuB,EAEtGqX,EAAYvB,QAAU,KAClBJ,EAAO2B,EAAYtB,MAAM,EAE7BH,EAAQI,UAAY,KAChBuB,EAAgB3B,EAAQK,MAAM,CACjC,GAET,CACA,WAAMyB,CAAMC,GACR,IAAK3hB,KAAKuf,GAAI,CACV,MAAM,IAAIvV,MAAM,wBACpB,CACA,MAAM4X,QAAmB5hB,KAAK6hB,6BAA6BF,GAC3D,GAAI3hB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,0CAA2C,CAAEiC,cAC7D,CACA,OAAO,IAAI5c,SAAQ,CAACC,EAASya,KACzB,MAAM2B,EAAcrhB,KAAKuf,GAAG8B,YAAYO,EAAY,aACpD,MAAMlF,EAAU,GAChB,MAAMoF,EAAW,GACjB,MAAMC,EAAiB,CACnBtH,IAAK,CAACmG,EAAWhc,IAAS5E,KAAKya,IAAImG,EAAWhc,GAC9CiN,IAAK,CAAC+O,EAAW9f,IAAQd,KAAK6R,IAAI+O,EAAW9f,GAC7CggB,OAASF,GAAc5gB,KAAK8gB,OAAOF,GACnC1E,OAAQ,CAAC0E,EAAWhc,IAAS5E,KAAKkc,OAAO0E,EAAWhc,GACpD4G,OAAQ,CAACoV,EAAW9f,IAAQd,KAAKwL,OAAOoV,EAAW9f,GACnDkgB,cAAe,CAACJ,EAAWnE,IAAUzc,KAAKghB,cAAcJ,EAAWnE,GACnEwE,cAAe,CAACL,EAAWnE,IAAUzc,KAAKihB,cAAcL,EAAWnE,GACnEyE,cAAe,CAACN,EAAWO,EAAW3E,IAAUxc,KAAKkhB,cAAcN,EAAWO,EAAW3E,GACzFqE,mBAAoB,CAACD,EAAWQ,EAAM5N,IAC3B,IAAIxO,SAAQ,CAACgd,EAAgBC,KAChC,GAAIjiB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,sCAAuC,CAAEiB,YAAWQ,QACpE,CACA,MAAMtT,EAAQuT,EAAYC,YAAYV,GACtC,MAAMhB,EAAUpM,EAAO1F,GACvB8R,EAAQI,UAAY,KAChB,GAAIhgB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,+CAAgD,CAAEM,OAAQL,EAAQK,QAClF,CACA+B,EAAepC,EAAQK,OAAO,EAElCL,EAAQE,QAAU,KACdxV,QAAQyV,MAAM,0CAA2CH,EAAQG,OACjEkC,EAAcrC,EAAQG,MAAM,CAC/B,KAIbsB,EAAYG,WAAa,KACrB,GAAIxhB,KAAKsf,iBAAkB,CACvBhV,QAAQqV,IAAI,0CAChB,CACA3a,QAAQkd,IAAIJ,GAAUK,MAAK,IAAMld,EAAQyX,IAAS,EAEtD2E,EAAYI,QAAU,KAClB,IAAI1Y,EACJuB,QAAQyV,MAAM,yCAA0CsB,EAAYtB,OACpEL,GAAQ3W,EAAKsY,EAAYtB,SAAW,MAAQhX,SAAY,EAAIA,EAAK,IAAIiB,MAAM,uBAAuB,EAEtGqX,EAAYvB,QAAU,KAClBxV,QAAQyV,MAAM,uCAAwCsB,EAAYtB,OAClEL,EAAO2B,EAAYtB,MAAM,EAE7B4B,EAAQxB,SAAQ,CAAC3M,EAAQ/N,KACrB,MAAM2c,EAAU5O,EAAOuO,GAClBI,MAAKlC,IACNvD,EAAQjX,GAASwa,CAAM,IAEtBoC,OAAMC,IACP,IAAKjB,EAAYtB,MAAO,CACpBsB,EAAYkB,OAChB,CACA7C,EAAO4C,EAAI,IAEfR,EAAStc,KAAK4c,EAAQ,GACxB,GAEV,CACA,kCAAMP,CAA6BF,GAC/B,MAAMa,EAAgB,IAAIC,IAC1B,MAAMC,EAAqB,IAAIC,MAAM3iB,KAAM,CACvC6R,IAAK,CAACjJ,EAAQga,KACV,GAAI,CAAC,MAAO,MAAO,SAAU,SAAU,SAAU,gBAAiB,gBAAiB,iBAAiBC,SAASD,GAAO,CAChH,OAAQhC,IACJ4B,EAAc/H,IAAImG,GAClB,OAAO5b,QAAQC,SAAS,CAEhC,CACA,OAAO2D,EAAOga,EAAK,UAGrB5d,QAAQkd,IAAIP,EAAQ/gB,KAAI4S,GAAUA,EAAOkP,MAC/C,OAAOpL,MAAMC,KAAKiL,EACtB,EAGJ,MAAMM,GACF,WAAAhjB,CAAY6U,EAAIxT,EAAM4hB,EAAW,CAAEtM,WAAY,EAAGC,WAAY,EAAG4B,MAAO,IACpEtY,KAAK2U,GAAKA,EACV3U,KAAKmB,KAAOA,EACZnB,KAAKgjB,UAAY,IAAI9V,KACrBlN,KAAKijB,UAAY,IAAI/V,KACrBlN,KAAK+iB,SAAWA,CACpB,EAGJ,MAAMG,GACF,WAAIC,GACA,OAAOnjB,KAAKojB,QAChB,CACA,YAAIC,GACA,OAAOrjB,KAAKsjB,SAChB,CACA,SAAIvV,GACA,OAAO/N,KAAKujB,MAChB,CACA,iBAAIC,GACA,OAAOxjB,KAAKujB,OAAOjG,cAAclQ,QAAOgP,KAAOA,aAAatd,MAA4Bsd,aAAard,KAAsBiD,MAC/H,CACA,cAAI2a,GACA,OAAO3c,KAAKujB,OAAOjG,cAAcX,YACrC,CACA,mBAAI8G,GACA,OAAOzjB,KAAK2c,WAAWvP,QAAOgP,KAAOA,aAAatd,KAAwBsO,QAAOgP,GAAKA,EAAEsH,YAC5F,CACA,WAAI1M,GACA,OAAOhX,KAAKujB,OAAO1Z,KAAKqO,wBAAwBpV,IACpD,CACA,WAAIoU,GACA,OAAOlX,KAAKujB,OAAO1Z,KAAKqO,wBAAwBrV,GACpD,CACA,cAAIgC,GACA,OAAO7E,KAAKujB,OAAO7F,YAAc,OAAS1d,KAAKujB,OAAOtQ,UAAY,OAASjT,KAAKujB,OAAO/N,kBAAoB,IAC/G,CACA,WAAA1V,CAAY2I,GACRzI,KAAK2jB,WAAa,IAAIzR,IACtBlS,KAAKkF,QAAU,GACflF,KAAKujB,OAASrG,GACdld,KAAK4jB,eAAiBnb,EACtBzI,KAAKojB,SAAW,IAAIrI,GAAe/a,MACnCA,KAAKsjB,UAAY,IAAInE,GAAgB,YAAa,EAAGnf,KAAKujB,OAAOhI,UAAUqD,aAC3E5e,KAAKujB,OAAOjG,cAAgB,IAAI5B,GAAc,CAC1CvN,GAAI0V,SACJxV,GAAIwV,SACJjH,GAAIiH,SACJvhB,MAAOuhB,SACPthB,OAAQshB,SACRhH,MAAOgH,UAEf,CACA,wBAAMC,SACI9jB,KAAKsjB,UAAU9D,KAAK,CACtB,CACIre,KAAM,UACNJ,QAAS,CAAE2f,QAAS,CAAC,cAAe,QAExC,CAAEvf,KAAM,aAAcJ,QAAS,CAAE2f,QAAS,SAE9C1gB,KAAK6W,UACT,CACA,yBAAMkN,CAAoBlO,GACtB,IAAI9M,EACJ,MAAMuL,QAAmBtU,KAAKgkB,gBAC9B,MAAMC,EAAsB,IAAI3P,GAAY4P,MAAK,CAACjH,EAAGrb,IAAMA,EAAEqhB,UAAUkB,UAAYlH,EAAEgG,UAAUkB,YAAW,GAC1G,MAAMC,EAAoB,IAAItB,GAAiB9jB,EAAaqlB,eAAgB,iBAC5ErkB,KAAKujB,OAAO/N,iBAAmBzM,EAAK8M,IAAc,MAAQA,SAAmB,EAAIA,EAAYoO,KAAyB,MAAQlb,SAAY,EAAIA,EAAKqb,EACnJ,MAAME,QAA4BtkB,KAAKukB,aAAavkB,KAAKujB,OAAO/N,gBAAgBb,IAChF,GAAI2P,EAAqB,OACftkB,KAAKwkB,gBAAgBxkB,KAAKujB,OAAO/N,gBAC3C,KACK,OACKxV,KAAKykB,gBAAgBzkB,KAAKujB,OAAO/N,gBAC3C,CACAxV,KAAKujB,OAAOjP,iBAAmBtU,KAAKgkB,gBACpChkB,KAAK+N,MAAM0I,WAAazW,KAAKujB,OAAO/N,gBAAgBuN,SAAStM,WAC7DzW,KAAK+N,MAAM2I,WAAa1W,KAAKujB,OAAO/N,gBAAgBuN,SAASrM,WAC7D1W,KAAK+N,MAAMuK,MAAQtY,KAAKujB,OAAO/N,gBAAgBuN,SAASzK,YAClDtY,KAAK0kB,2BAA2B1kB,KAAKujB,OAAO/N,gBAAgBb,GACtE,CACA,gCAAM+P,CAA2BC,GAC7B3kB,KAAKujB,OAAOjG,cAAcnC,QAC1Bnb,KAAKojB,SAASjI,QACd,MAAMyJ,QAAsB5kB,KAAKsjB,UAAUrC,cAAc,UAAW4D,YAAYC,MAAM,CAACH,GAAc,CAACA,EAAa,OACnH,MAAMI,EAAU,IAAI9lB,EAAee,MACnC4kB,EAAczE,SAAQxX,IAClB,MAAMqc,EAAgBD,EAAQE,OAAOtc,GACrC3I,KAAKujB,OAAOjG,cAAczB,OAAOmJ,EAAc,IAEnDhlB,KAAK6W,UACT,CACA,6BAAM4B,CAAwBhC,EAAYC,EAAY4B,GAClD,IAAKtY,KAAK+N,MAAMyH,gBAAiB,CAC7B,MAAM,IAAIxL,MAAM,4BACpB,CACAhK,KAAK+N,MAAMyH,gBAAgBuN,SAAW,CAClCtM,aACAC,aACA4B,SAEJtY,KAAK+N,MAAMyH,gBAAgByN,UAAY,IAAI/V,WACrClN,KAAKsjB,UAAUpH,OAAO,aAAclc,KAAK+N,MAAMyH,gBACzD,CACA,yBAAM0P,CAAoBpR,GACtB,IAAK9T,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,IAAKhK,KAAK+N,MAAMyH,gBAAiB,CAC7B,MAAM,IAAIxL,MAAM,4BACpB,CACAhK,KAAK+N,MAAMyH,gBAAgByN,UAAY,IAAI/V,WACrClN,KAAKsjB,UAAU5B,MAAM,CAACnC,GAAMA,EAAG9E,IAAI,UAAW3G,GAASyL,GAAMA,EAAGrD,OAAO,aAAclc,KAAK+N,MAAMyH,mBAAmB6M,OAAMC,IAC3HhY,QAAQyV,MAAM,mCAAoCuC,EAAI,GAE9D,CACA,4BAAM6C,CAAuBrR,GACzB,IAAK9T,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,IAAKhK,KAAK+N,MAAMyH,gBAAiB,CAC7B,MAAM,IAAIxL,MAAM,4BACpB,CACAhK,KAAK+N,MAAMyH,gBAAgByN,UAAY,IAAI/V,WACrClN,KAAKsjB,UAAU5B,MAAM,CAACnC,GAAMA,EAAGrD,OAAO,UAAWpI,GAASyL,GAAMA,EAAGrD,OAAO,aAAclc,KAAK+N,MAAMyH,mBAAmB6M,OAAMC,IAC9HhY,QAAQyV,MAAM,qCAAsCuC,EAAI,GAEhE,CACA,8BAAM8C,CAAyBC,GAC3B,IAAKrlB,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,IAAKhK,KAAK+N,MAAMyH,gBAAiB,CAC7B,MAAM,IAAIxL,MAAM,4BACpB,CACAhK,KAAK+N,MAAMyH,gBAAgByN,UAAY,IAAI/V,WACrClN,KAAKsjB,UAAU5B,MAAM,CAACnC,GAAMA,EAAG/T,OAAO,UAAW,CAACxL,KAAK+N,MAAMyH,gBAAgBb,GAAI0Q,IAAY9F,GAAMA,EAAGrD,OAAO,aAAclc,KAAK+N,MAAMyH,mBAAmB6M,OAAMC,IACjKhY,QAAQyV,MAAM,uCAAwCuC,EAAI,GAElE,CACA,YAAAiC,CAAa5P,GACT,IAAK3U,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,OAAOhK,KAAKsjB,UAAUzR,IAAI,aAAc8C,EAC5C,CACA,aAAAqP,GACI,IAAKhkB,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,OAAOhK,KAAKsjB,UAAUxC,OAAO,aACjC,CACA,qBAAM2D,CAAgB5O,GAClB,IAAK7V,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA6L,EAAUmN,UAAY,IAAI9V,KAC1B2I,EAAUoN,UAAY,IAAI/V,WACpBlN,KAAKsjB,UAAU7I,IAAI,aAAc5E,GACvC7V,KAAK+N,MAAMuG,WAAW9O,KAAKqQ,EAC/B,CACA,qBAAM2O,CAAgB3O,GAClB,IAAK7V,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA6L,EAAUoN,UAAY,IAAI/V,WACpBlN,KAAKsjB,UAAUpH,OAAO,aAAcrG,GAC1C,MAAMpQ,EAAQzF,KAAK+N,MAAMuG,WAAW6H,WAAUmJ,GAAKA,EAAE3Q,KAAOkB,EAAUlB,KACtE,GAAIlP,KAAW,EAAG,CACdzF,KAAK+N,MAAMuG,WAAW7O,GAASoQ,CACnC,CACJ,CACA,qBAAM0P,CAAgB1P,GAClB,IAAK7V,KAAKsjB,UAAW,CACjB,MAAM,IAAItZ,MAAM,2BACpB,CACA,MAAMwb,EAAcX,YAAYC,MAAM,CAACjP,EAAUlB,IAAK,CAACkB,EAAUlB,GAAI,YAC/D3U,KAAKsjB,UAAUtC,cAAc,UAAWwE,SACxCxlB,KAAKsjB,UAAU9X,OAAO,aAAcqK,EAAUlB,GACxD,CACA,QAAAkC,GACI,GAAI7W,KAAK4jB,eAAgB,CACrB5jB,KAAK4jB,eAAe6B,aACxB,CACJ,CACA,cAAAC,CAAe/Q,GACX,IAAK,MAAMb,KAAU9T,KAAK2c,WAAY,CAClC,GAAI7I,EAAOa,KAAOA,EAAI,CAClB,OAAOb,CACX,CACJ,CACA,OAAO,IACX,CACA,kBAAA6R,GACI,GAAI3lB,KAAKujB,OAAO/F,eAAgB,CAC5Bxd,KAAKojB,SAAShI,eAAe,IAAIlc,EAA4Bc,KAAMA,MACvE,CACJ,CACA,aAAA4lB,CAAcC,EAAUC,GACpB,IAAK9lB,KAAK2jB,WAAWhS,IAAIkU,GAAW,CAChC7lB,KAAK2jB,WAAW/R,IAAIiU,EAAU,IAAIpD,IACtC,CACAziB,KAAK2jB,WAAW9R,IAAIgU,GAAUpL,IAAIqL,EACtC,CACA,QAAAC,CAASF,EAAUzlB,GACf,MAAM4lB,EAAWhmB,KAAKujB,OAAOsC,GAC7B,GAAIG,IAAa5lB,EAAO,CACpBJ,KAAKujB,OAAOsC,GAAYzlB,EACxB,GAAIJ,KAAK2jB,WAAWhS,IAAIkU,GAAW,CAC/B7lB,KAAK2jB,WAAW9R,IAAIgU,GAAU1F,SAAQ2F,GAAYA,EAAS1lB,EAAO4lB,EAAUC,OAAOJ,KACvF,CACJ,CACJ,CACA,SACI,IAAK7lB,KAAK+N,MAAMyP,eAAgB,CAC5B,MACJ,CACA,MAAM0I,EAA+BlmB,KAAK+N,MAAMyP,eAAetY,QAAQtE,KAAIulB,GAAO,IAAIhnB,EAAoBa,KAAMA,KAAK+N,MAAMyP,eAAgB2I,KAC3I,MAAMC,EAA8B,IAAIlnB,EAA4Bc,KAAMA,KAAK+N,MAAMyP,gBACrF,MAAM6I,EAAW,IAAIH,EAA8BE,GACnDpmB,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAK+N,MAAMyP,eAAgB6I,GAClF,CACA,YAAAC,CAAa3R,EAAIoF,EAAc,OAC3B,MAAMjG,EAAS9T,KAAK0lB,eAAe/Q,GACnC,GAAIb,EAAQ,CACR,MAAMyS,EAAsB,IAAIpnB,EAAoBa,KAAMA,KAAM8T,EAAQiG,GACxE/Z,KAAKmjB,QAAQ/H,eAAemL,EAChC,CACJ,CACA,IAAAhU,GACIvS,KAAK+N,MAAMsP,cAAgBrd,KAAK+N,MAAMyP,eAAejL,MACzD,CACA,KAAAC,CAAMrE,EAAGE,GACLrO,KAAK+N,MAAMsP,cAAcqG,WAAa,KACtC,MAAM8C,EAAYrY,IAAMnD,UAAYmD,EAAInO,KAAK+N,MAAMsP,cAAc5G,WAAa,GAC9E,MAAMgQ,EAAYpY,IAAMrD,UAAYqD,EAAIrO,KAAK+N,MAAMsP,cAAc3G,WAAa,GAC9E1W,KAAK+N,MAAMsP,cAAcqJ,eAAeF,EAAWC,GACnD,MAAMJ,EAAW,GACjB,GAAIrmB,KAAK+N,MAAMyP,iBAAmB,KAAM,CACpC6I,EAAS7gB,KAAK,IAAItG,EAA4Bc,KAAMA,KAAK+N,MAAMyP,gBACnE,CACA,MAAMmJ,EAA2B3mB,KAAK+N,MAAMsP,cAAcnY,QAAQtE,KAAIulB,GAAO,IAAI9mB,EAAiBW,KAAMA,KAAMmmB,KAC9G,MAAMS,EAA0C,IAAItnB,EAAyBU,KAAMA,KAAMA,KAAK+N,MAAMsP,eACpGgJ,EAAS7gB,QAAQmhB,EAA0BC,GAC3C5mB,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAMqmB,IACzDrmB,KAAK+N,MAAM6P,YAAc,MACzB5d,KAAK+N,MAAMsP,cAAgBrd,KAAK+N,MAAMyP,eAAejL,OACrDvS,KAAK+lB,SAAS,aAAcxmB,EAAoBsnB,QAAQ,aAC5D,CACA,YAAAC,CAAahT,GACT,MAAM9E,EAAMhP,KAAK2c,WAAW3a,OAAS,EACrC,MAAMkD,EAAU4O,EAAS,CAACA,GAAU9T,KAAK+N,MAAMyP,eAAetY,QAC9D,MAAM6hB,EAAyB7hB,EAAQtE,KAAIulB,IACvC,GAAIA,EAAIxX,SAAWK,EAAK,CACpB,MACJ,CACA,OAAO,IAAIxP,EAAoBQ,KAAMA,KAAMmmB,EAAK,CAAExX,OAAQwX,EAAIxX,OAAS,GAAI,IAE/E3O,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAM+mB,GAC7D,CACA,YAAAC,CAAalT,GACT,MAAM7E,EAAM,EACZ,MAAM/J,EAAU4O,EAAS,CAACA,GAAU9T,KAAK+N,MAAMyP,eAAetY,QAC9D,MAAM+hB,EAAyB/hB,EAAQtE,KAAIulB,IACvC,GAAIA,EAAIxX,SAAWM,EAAK,CACpB,MACJ,CACA,OAAO,IAAIzP,EAAoBQ,KAAMA,KAAMmmB,EAAK,CAAExX,OAAQwX,EAAIxX,OAAS,GAAI,IAE/E3O,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAMinB,GAC7D,CACA,YAAAjT,CAAaF,GACT,MAAM9E,EAAMnL,KAAKmL,OAAOhP,KAAK2c,WAAW/b,KAAIulB,GAAOA,EAAIxX,UAAW,EAClE,MAAMzJ,EAAU4O,EAAS,CAACA,GAAU9T,KAAK+N,MAAMyP,eAAetY,QAC9D,MAAM6hB,EAAyB7hB,EAAQtE,KAAIulB,GAChC,IAAI3mB,EAAoBQ,KAAMA,KAAMmmB,EAAK,CAAExX,OAAQK,MAE9DhP,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAM+mB,GAC7D,CACA,UAAA9S,CAAWH,GACP,MAAM7E,EAAMpL,KAAKoL,OAAOjP,KAAK2c,WAAW/b,KAAIulB,GAAOA,EAAIxX,UAAW,EAClE,MAAMzJ,EAAU4O,EAAS,CAACA,GAAU9T,KAAK+N,MAAMyP,eAAetY,QAC9D,MAAM+hB,EAAyB/hB,EAAQtE,KAAIulB,GAChC,IAAI3mB,EAAoBQ,KAAMA,KAAMmmB,EAAK,CAAExX,OAAQM,MAE9DjP,KAAKmjB,QAAQ/H,eAAe,IAAIhc,EAAaY,KAAMA,KAAMinB,GAC7D,CACA,aAAAhS,CAAc/P,GACV,GAAIA,EAAQlD,SAAW,EAAG,CACtB,MACJ,CACA,MAAMwb,EAAiB1e,EAAsBooB,OAAOlnB,MACpDkF,EAAQib,SAAQgG,IACZA,EAAIzC,WAAa,MACjBlG,EAAe2J,YAAYhB,EAAI,IAEnC3I,EAAekG,WAAa,KAC5B1jB,KAAK+N,MAAMyP,eAAiBA,EAC5B,GAAItY,EAAQlD,SAAW,EAAG,CACtBwb,EAAe4J,SAAW5J,EAAetY,QAAQ,GAAGkiB,QACxD,CACApnB,KAAKmjB,QAAQ/H,eAAe,IAAI9b,EAAyBU,KAAMA,KAAMwd,GACzE,CACA,0BAAA9J,GACI,MAAM2T,EAAoBrnB,KAAKujB,OAAOjG,cACjCd,MAAM,CACPrO,GAAInO,KAAKujB,OAAO9M,WAAazW,KAAKujB,OAAOjL,MACzCjK,GAAIrO,KAAKujB,OAAO7M,WAAa1W,KAAKujB,OAAOjL,MACzCsE,EAAG5c,KAAKujB,OAAOjL,MACfhW,MAAOtC,KAAKujB,OAAOlN,cAAgBrW,KAAKujB,OAAOjL,MAC/C/V,OAAQvC,KAAKujB,OAAOhN,eAAiBvW,KAAKujB,OAAOjL,MACjDuE,MAAO,MAENzP,QAAOgP,KAAOA,aAAatd,MAA4Bsd,aAAard,MAA0Bqd,aAAa/X,KAChH,GAAIgjB,EAAkBrlB,OAAS,EAAG,CAC9B,MAAMwb,EAAiB1e,EAAsBooB,OAAOlnB,MACpDqnB,EAAkBlH,SAAQgG,IACtBA,EAAIzC,WAAa,MACjBlG,EAAe2J,YAAYhB,EAAI,IAEnC3I,EAAekG,WAAa,KAC5B1jB,KAAK+N,MAAM6P,YAAc,MACzB,GAAIyJ,EAAkBrlB,SAAW,EAAG,CAChCwb,EAAe4J,SAAW5J,EAAetY,QAAQ,GAAGkiB,QACxD,CACApnB,KAAKmjB,QAAQ/H,eAAe,IAAI9b,EAAyBU,KAAMA,KAAMwd,IACrExd,KAAK+lB,SAAS,aAAcxmB,EAAoBsnB,QAAQ,aAC5D,CACJ,CACA,cAAA3R,GACI,MAAMmG,EAAU,IAAInc,EAA4Bc,KAAMA,KAAK+N,MAAMyP,gBACjExd,KAAKmjB,QAAQ/H,eAAeC,GAC5Brb,KAAK+N,MAAMyP,eAAiB,KAC5Bxd,KAAK+N,MAAMwP,aAAe,KAC1Bvd,KAAK+N,MAAM6P,YAAc,MACzB5d,KAAK+N,MAAM+P,uBAAyB,MACpC9d,KAAK+N,MAAMiQ,yBAA2B,KAC1C,CACA,eAAAsJ,GACI,GAAItnB,KAAK+N,MAAMqP,YAAcpd,KAAK+N,MAAMqP,WAAWhd,QAAU,IAAK,CAC9DJ,KAAKsmB,aAAatmB,KAAK+N,MAAMqP,WAAWzI,GAAI,KAChD,CACA3U,KAAK+N,MAAMqP,WAAa,IAC5B,CACA,yBAAAmK,CAA0BhnB,EAAOinB,EAAW,WACxC,IAAIze,EACJ,MAAMmD,GAAcnD,EAAK/I,KAAK+N,MAAMlE,QAAU,MAAQd,SAAY,OAAS,EAAIA,EAAGmD,WAClF,IAAKA,EACD,OAAO,KACX,MAAMkC,EAAU7N,EAAM6N,QACtB,MAAME,EAAU/N,EAAM+N,QACtB,MAAMmZ,EAAiBvb,EAAWwb,iBAAiBtZ,EAASE,GAC5D,IAAKmZ,EACD,OAAO,KACX,MAAME,EAAiBF,EAAe5e,QAAQ2e,GAC9C,GAAIG,EAAgB,CAChB,OAAO3nB,KAAK2c,WAAWvT,MAAK0K,GAAU6T,EAAehT,KAAOb,EAAOa,IACvE,CACA,OAAO,IACX,CACA,0BAAAiT,CAA2BrnB,EAAOinB,EAAW,WACzC,IAAIze,EACJ,MAAMmD,GAAcnD,EAAK/I,KAAK+N,MAAMlE,QAAU,MAAQd,SAAY,OAAS,EAAIA,EAAGmD,WAClF,IAAKA,EACD,MAAO,GACX,MAAMkC,EAAU7N,EAAM6N,QACtB,MAAME,EAAU/N,EAAM+N,QACtB,MAAMuZ,EAAkB3b,EAAW4b,kBAAkB1Z,EAASE,GAC9D,IAAKuZ,GAAmBA,EAAgB7lB,SAAW,EAC/C,MAAO,GACX,MAAM+lB,EAAY,IAAItF,IACtBoF,EAAgB1H,SAAQxX,IACpB,MAAMgf,EAAiBhf,EAAQE,QAAQ2e,GACvC,GAAIG,GAAkBA,EAAehT,GAAI,CACrCoT,EAAUtN,IAAIkN,EAAehT,GACjC,KAEJ,GAAIoT,EAAU3mB,KAAO,EAAG,CACpB,OAAOpB,KAAK2c,WAAWvP,QAAO0G,GAAUiU,EAAUpW,IAAImC,EAAOa,MAAKuP,MAAK,CAACjH,EAAGrb,IAAMA,EAAE+M,OAASsO,EAAEtO,QAClG,CACA,MAAO,EACX,CACA,cAAAqZ,CAAeznB,GACX,IAAKP,KAAK+N,MAAMlE,KAAM,CAClB,MAAO,CAAEsE,EAAG,EAAGE,EAAG,EACtB,CAEA,MAAM4J,EAAWjY,KAAK+N,MAAMlE,KAAKqO,wBAEjC,MAAMC,EAAkB5X,EAAM6N,QAAU6J,EAASnV,KACjD,MAAMsV,EAAkB7X,EAAM+N,QAAU2J,EAASpV,IAEjD,MAAMolB,EAAoB9P,EAAkBnY,KAAK+N,MAAM0I,WACvD,MAAMyR,EAAoB9P,EAAkBpY,KAAK+N,MAAM2I,WAEvD,MAAMyR,EAASF,EAAoBjoB,KAAK+N,MAAMuK,MAC9C,MAAM8P,EAASF,EAAoBloB,KAAK+N,MAAMuK,MAC9C,MAAO,CAAEnK,EAAGga,EAAQ9Z,EAAG+Z,EAC3B,EAGJ,MAAMC,WAA0B5oB,EAC5B,WAAAK,CAAYgO,GACRkM,MAAMlM,EACV,CACA,aAAAhF,CAAcvI,GACV,GAAIP,KAAKoW,OAAOrI,MAAM4P,YAAc,MAAO,CACvC,MACJ,CACA3d,KAAKoW,OAAOrI,MAAMsQ,iBAAmB9d,EAAM2Y,QAC3C,GAAIlZ,KAAKoW,OAAOrI,MAAMsQ,iBAAkB,CACpC9d,EAAMyI,gBACV,CACA,GAAIzI,EAAMO,MAAQ,UAAYd,KAAKoW,OAAOrI,MAAMyP,eAAgB,CAC5Dxd,KAAKoW,OAAOlB,gBAChB,CACA,GAAI3U,EAAMO,MAAQ,UAAYd,KAAKoW,OAAOrI,MAAMyP,eAAgB,CAC5Dxd,KAAKoW,OAAO5K,QAChB,CACA,GAAIjL,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO+M,QAAQ/X,MACxB,CACA,GAAI7K,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO+M,QAAQ7X,MACxB,CACA,GAAI/K,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO2P,SAAS,aAAcxmB,EAAoBsnB,QAAQ,cAC/D7mB,KAAKoW,OAAOuP,oBAChB,CACA,GAAIplB,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO2P,SAAS,aAAcxmB,EAAoBsnB,QAAQ,UAC/D7mB,KAAKoW,OAAOuP,oBAChB,CACA,GAAIplB,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO2P,SAAS,aAAcxmB,EAAoBsnB,QAAQ,WAC/D7mB,KAAKoW,OAAOuP,oBAChB,CACA,GAAIplB,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO2P,SAAS,aAAcxmB,EAAoBsnB,QAAQ,UAC/D7mB,KAAKoW,OAAOuP,oBAChB,CACA,GAAIplB,EAAMO,MAAQ,KAAOP,EAAM2Y,QAAS,CACpClZ,KAAKoW,OAAO2P,SAAS,aAAcxmB,EAAoBsnB,QAAQ,SAC/D7mB,KAAKoW,OAAOuP,oBAChB,CACA,GAAIplB,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMyP,eAAgB,CACxExd,KAAKoW,OAAO7D,OACZvS,KAAKoW,OAAOS,UAChB,CACA,GAAItW,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMsP,cAAe,CACvErd,KAAKoW,OAAO5D,OAChB,CACA,GAAIjS,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMyP,eAAgB,CACxExd,KAAKoW,OAAO0Q,cAChB,CACA,GAAIvmB,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMyP,eAAgB,CACxExd,KAAKoW,OAAO4Q,cAChB,CACA,GAAIzmB,EAAMO,MAAQ,KAAOP,EAAM+nB,UAAYtoB,KAAKoW,OAAOrI,MAAMyP,eAAgB,CACzExd,KAAKoW,OAAOpC,cAChB,CACA,GAAIzT,EAAMO,MAAQ,KAAOP,EAAM+nB,UAAYtoB,KAAKoW,OAAOrI,MAAMyP,eAAgB,CACzExd,KAAKoW,OAAOnC,YAChB,CACA,GAAI1T,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMqP,WAAY,CACpEpd,KAAKoW,OAAOrI,MAAMqP,WAAWmL,WACjC,CACA,GAAIhoB,EAAMO,MAAQ,KAAOP,EAAM2Y,SAAWlZ,KAAKoW,OAAOrI,MAAMqP,WAAY,CACpEpd,KAAKoW,OAAOrI,MAAMqP,WAAWoL,qBACjC,CACJ,CACA,WAAAC,CAAYloB,GACR,GAAIP,KAAKoW,OAAOrI,MAAM4P,YAAc,MAAO,CACvC,MACJ,CACA3d,KAAKoW,OAAOrI,MAAMsQ,iBAAmB9d,EAAM2Y,OAC/C,EAGJ,MAAMwP,WAAkCjpB,EACpC,WAAAK,CAAYgO,EAAOsF,EAAwBO,GACvCqG,MAAMlM,GACN9N,KAAKoT,uBAAyB,GAC9BpT,KAAK2T,uBAAyB,GAC9B3T,KAAKoT,uBAAyBA,EAC9BpT,KAAK2T,uBAAyBA,CAClC,CACA,iBAAAgV,CAAkBpoB,GACd,GAAIP,KAAKoW,OAAOrI,MAAMyK,gBAAiB,CACnCxY,KAAKoW,OAAOrI,MAAMyK,gBAAkB,MACpC,MACJ,CACA,MAAMmP,EAAiB3nB,KAAKoW,OAAOmR,0BAA0BhnB,EAAO,WACpE,GAAIonB,KAAoBA,aAA0B7oB,GAAwB,CACtEkB,KAAKoW,OAAOrI,MAAMyP,eAAiB1e,EAAsBooB,OAAOlnB,KAAKoW,QACrEpW,KAAKoW,OAAOrI,MAAMyP,eAAe2J,YAAYQ,GAC7C3nB,KAAKoW,OAAOrI,MAAMyP,eAAekG,WAAa,KAC9C1jB,KAAKoW,OAAOrI,MAAMyP,eAAe4J,SAAWO,EAAeP,SAC3DpnB,KAAKoW,OAAOrI,MAAM6P,YAAc,MAChC5d,KAAKoW,OAAO+M,QAAQ/H,eAAe,IAAI9b,EAAyBU,KAAKoW,OAAQpW,KAAMA,KAAKoW,OAAOrI,MAAMyP,gBACzG,CACAxd,KAAKoW,OAAOrI,MAAMwQ,iBAAmBve,KAAKoW,OAAOrI,MAAMyP,eAAiBxd,KAAK2T,uBAAyB3T,KAAKoT,uBAC3G,IAAIjF,EAAI5N,EAAM6N,QAAUpO,KAAKoW,OAAOY,QACpC,IAAI3I,EAAI9N,EAAM+N,QAAUtO,KAAKoW,OAAOc,QACpC,MAAM0R,EAAoB,IAC1B,MAAMC,EAAqB,IAC3B,MAAMC,EAAS,GACf,GAAI3a,EAAIya,EAAoB9gB,OAAOihB,WAAaD,EAAQ,CACpD3a,EAAIrG,OAAOihB,WAAaH,EAAoBE,CAChD,CACA,GAAIza,EAAIwa,EAAqB/gB,OAAOkhB,YAAcF,EAAQ,CACtDza,EAAIvG,OAAOkhB,YAAcH,EAAqBC,CAClD,CACA3a,EAAItK,KAAKmL,IAAI8Z,EAAQ3a,GACrBE,EAAIxK,KAAKmL,IAAI8Z,EAAQza,GACrBrO,KAAKoW,OAAOrI,MAAMyQ,aAAerQ,EACjCnO,KAAKoW,OAAOrI,MAAM0Q,aAAepQ,EACjCrO,KAAKoW,OAAOrI,MAAMuQ,qBAAuB,KACzCte,KAAKoW,OAAOrI,MAAM2P,UAAY,MAC9B1d,KAAKoW,OAAOS,UAChB,EAGJ,MAAMoS,GACF,mBAAOC,CAAapV,EAAQqV,GACxB,QAASrV,GAAUA,EAAOsV,YAAcD,CAC5C,EAGJ,MAAME,GAAmB,gxBAEzB,MAAMC,GAAgB,MAClB,iBAAA3T,CAAkB4T,GACd,GAAIA,EAAc,CACdvpB,KAAK8N,MAAMiW,oBAAoBwF,EACnC,CACJ,CACA,gBAAAC,CAAiBxZ,GACb,GAAIA,EAAW6C,EAAoB,CAC/BvI,QAAQC,KAAK,mCAAmCsI,MAChD7S,KAAKkT,SAAWL,EAChB7S,KAAK8N,MAAMC,MAAMmF,SAAWlT,KAAKkT,QACrC,KACK,CACDlT,KAAK8N,MAAMC,MAAMmF,SAAWlD,CAChC,CACJ,CACA,gBAAAyZ,CAAiBzZ,GACb,GAAIA,EAAW8C,EAAoB,CAC/BxI,QAAQC,KAAK,gCAAgCuI,MAC7C9S,KAAKmT,SAAWL,EAChB9S,KAAK8N,MAAMC,MAAMoF,SAAWnT,KAAKmT,QACrC,KACK,CACDnT,KAAK8N,MAAMC,MAAMoF,SAAWnD,CAChC,CACJ,CACA,eAAI4N,GACA,OAAO5d,KAAK8N,MAAMC,MAAMoP,sBAAsB5e,GAAwByB,KAAK8N,MAAMC,MAAM6P,WAC3F,CACA,qBAAI8L,GACA,OAAO1pB,KAAK8N,MAAMC,MAAMoP,sBAAsB5e,GAAwByB,KAAK8N,MAAMC,MAAMyP,iBAAmB,IAC9G,CACA,WAAA1d,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKoU,cAAgBpW,EAAYgC,KAAM,iBACvCA,KAAK2pB,iBAAmB3rB,EAAYgC,KAAM,oBAC1CA,KAAK4pB,iBAAmB5rB,EAAYgC,KAAM,oBAC1CA,KAAKkT,SAAWL,EAChB7S,KAAKmT,SAAWL,EAChB9S,KAAKylB,YAAc,EACnBzlB,KAAK6pB,mBAAqB,KAC1B7pB,KAAK8N,MAAQ,IAAIoV,GAAaljB,KAClC,CACA,iBAAAwE,GACIxE,KAAKwpB,iBAAiBxpB,KAAKkT,UAC3BlT,KAAKypB,iBAAiBzpB,KAAKmT,SAC/B,CACA,sBAAMrG,GACF9M,KAAK8pB,mBAAqB,IAAIpB,GAA0B1oB,KAAK8N,MAAO9N,KAAKoT,uBAAwBpT,KAAK2T,wBACtG3T,KAAK+pB,WAAa,IAAI1B,GAAkBroB,KAAK8N,OAC7C9N,KAAK+iB,SAAW,IAAI/M,EAAgBhW,KAAK8N,MAAO9N,KAAK6J,MACrD7J,KAAKgqB,sCACChqB,KAAK8N,MAAMgW,2BACX9jB,KAAK8N,MAAMiW,oBAAoB/jB,KAAK6V,WAC1C,GAAI7V,KAAK8N,MAAMC,MAAMkF,UAAY,MAAO,CACpCjT,KAAK8N,MAAMC,MAAMkF,QAAU,KAC3BjT,KAAKoU,cAAc5T,KAAKR,KAAK8N,MAAMC,MACvC,CACJ,CACA,WAAAkL,CAAYvL,GACR,IAAI3E,EAAI+B,EACR,GAAI9K,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA,GAAI7E,KAAK8N,MAAMC,MAAMuQ,qBAAsB,CACvCte,KAAKiqB,iBACT,CACAjqB,KAAK+iB,SAAS9J,YAAYvL,IACzB5C,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGoU,cAAgB,MAAQrS,SAAY,OAAS,EAAIA,EAAGmO,YAAYvL,EAC1I,CACA,iBAAAoJ,CAAkBpJ,GACd,IAAI3E,EAAI+B,EACR,GAAI9K,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA,GAAIjG,EAAmBsrB,4BAA4Bxc,KAAQ,OAAS1N,KAAK8N,MAAMC,MAAMuQ,qBAAsB,CACvGte,KAAKiqB,kBACL,MACJ,CACArrB,EAAmBurB,iBAAiBzc,GAAKnN,IACrC,KAAMP,KAAK8N,MAAMC,MAAMoP,sBAAsB5e,GAAuB,CAChE,MACJ,CACAyB,KAAK8pB,mBAAmBnB,kBAAkBpoB,EAAM,IAEpDP,KAAK6J,KAAKugB,kBAAkB1c,EAAG2c,WAC/BrqB,KAAK8N,MAAMC,MAAMC,SAAS4D,IAAIlE,EAAG2c,UAAW3c,GAC5C1N,KAAK+iB,SAASjM,kBAAkBpJ,IAC/B5C,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGoU,cAAgB,MAAQrS,SAAY,OAAS,EAAIA,EAAGgM,kBAAkBpJ,EAChJ,CACA,iBAAAO,CAAkBP,GACd,IAAI3E,EAAI+B,EACR,GAAI9K,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA7E,KAAK8N,MAAMC,MAAMC,SAAS4D,IAAIlE,EAAG2c,UAAW3c,GAC5C1N,KAAK+iB,SAAS9U,kBAAkBP,IAC/B5C,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGoU,cAAgB,MAAQrS,SAAY,OAAS,EAAIA,EAAGmD,kBAAkBP,EAChJ,CACA,eAAAc,CAAgBd,GACZ,IAAI3E,EAAI+B,EACR,GAAI9K,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA7E,KAAK8N,MAAMC,MAAMC,SAASxC,OAAOkC,EAAG2c,WACpCrqB,KAAK6J,KAAKygB,sBAAsB5c,EAAG2c,WACnCrqB,KAAK+iB,SAASvU,gBAAgBd,IAC7B5C,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGoU,cAAgB,MAAQrS,SAAY,OAAS,EAAIA,EAAG0D,gBAAgBd,EAC9I,CACA,mBAAA6c,CAAoB7c,GAChB,IAAI3E,EAAI+B,EACR,GAAI9K,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA7E,KAAK6J,KAAKygB,sBAAsB5c,EAAG2c,WACnCrqB,KAAK8N,MAAMC,MAAMC,SAASxC,OAAOkC,EAAG2c,WACpCrqB,KAAK+iB,SAASvU,gBAAgBd,IAC7B5C,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGoU,cAAgB,MAAQrS,SAAY,OAAS,EAAIA,EAAG0D,gBAAgBd,EAC9I,CACA,iBAAAib,CAAkBjb,GACdA,EAAG1E,iBACH,GAAIhJ,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA,GAAI6I,EAAGC,cAAgB,QAAS,CAC5B,MACJ,CACA3N,KAAK8pB,mBAAmBnB,kBAAkBjb,EAC9C,CACA,YAAAiJ,GACI3W,KAAK+iB,SAASpM,cAClB,CACA,aAAA7N,CAAc4E,GACV1N,KAAK+pB,WAAWjhB,cAAc4E,EAClC,CACA,WAAA+a,CAAY/a,GACR1N,KAAK+pB,WAAWtB,YAAY/a,EAChC,CACA,WAAA8c,CAAY9c,GACR,GAAI1N,KAAK8N,MAAMjJ,WAAY,CACvB,MACJ,CACA,MAAMyU,EAAOtZ,KAAK8N,MAAMC,MAAMlE,KAAKqO,wBACnC,MAAMuS,EAAW/c,EAAGU,SAAWkL,EAAKxW,MAAQ4K,EAAGU,SAAWkL,EAAKoR,OAAShd,EAAGY,SAAWgL,EAAKzW,KAAO6K,EAAGY,SAAWgL,EAAKpO,OACrH,MAAMyf,EAAOjd,EAAGkd,eAChB,MAAMC,EAAuB7qB,KAAK6J,KAAKhB,QAAQ,kBAC/C,MAAMiiB,EAAoBH,EAAK9H,SAASgI,GAAwB7qB,KAAK6J,MACrE7J,KAAK8N,MAAMiY,SAAS,YAAa0E,GAAYK,EACjD,CACA,WAAAC,GACI/qB,KAAKkJ,QACT,CACA,kBAAMgB,CAAa8gB,EAAUC,EAAWC,GACpC,UAAWD,IAAc,cAAgBA,EAAUjZ,qBAAqBtS,GAAkB,CACtF4K,QAAQyV,MAAM,4BAA4BiL,iDAC1C,OAAO,IACX,CACA,MAAMG,EAAiB5rB,EAAoB2K,aAAa8gB,EAAUC,EAAWjrB,KAAK8N,OAClF,GAAIod,EAAY,CACZtgB,OAAO8K,QAAQwV,GAAY/K,SAAQ,EAAErf,EAAKV,MACtC+qB,EAAerqB,GAAOV,CAAK,GAEnC,CACA,OAAO4E,QAAQC,QAAQkmB,EAC3B,CACA,sBAAM9gB,CAAiBhE,GACnB,IAAI0C,GACHA,EAAK/I,KAAK8N,MAAMC,MAAMoP,cAAgB,MAAQpU,SAAY,OAAS,EAAIA,EAAGqiB,eAC3EprB,KAAK8N,MAAMiY,SAAS,aAAc1f,GAClCrG,KAAK8N,MAAM6X,qBACXtf,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKglB,YACrD,CACA,cAAM/hB,GACFtJ,KAAK6J,KAAKyhB,QACVtrB,KAAK8N,MAAMC,MAAM4P,UAAY,IACjC,CACA,aAAMhT,GACF3K,KAAK8N,MAAMC,MAAM2P,UAAY,MAC7B1d,KAAKylB,aACT,CACA,YAAMvc,GACFlJ,KAAK8N,MAAMC,MAAM2P,UAAY,KAC7B1d,KAAKylB,aACT,CACA,YAAM,GACFzlB,KAAK8N,MAAMtC,QACf,CACA,UAAM+G,GACFvS,KAAK8N,MAAMyE,MACf,CACA,WAAMC,CAAMrE,EAAGE,GACXrO,KAAK8N,MAAM0E,MAAMrE,EAAGE,EACxB,CACA,kBAAMyY,CAAahT,GACf9T,KAAK8N,MAAMgZ,aAAahT,EAC5B,CACA,kBAAMkT,CAAalT,GACf9T,KAAK8N,MAAMkZ,aAAalT,EAC5B,CACA,kBAAME,CAAaF,GACf9T,KAAK8N,MAAMkG,aAAaF,EAC5B,CACA,gBAAMG,CAAWH,GACb9T,KAAK8N,MAAMmG,WAAWH,EAC1B,CACA,UAAM1I,GACFpL,KAAK8N,MAAMqV,QAAQ/X,MACvB,CACA,UAAME,GACFtL,KAAK8N,MAAMqV,QAAQ7X,MACvB,CACA,qBAAM2e,GACFjqB,KAAK8N,MAAMC,MAAMC,SAAS8M,QAC1B9a,KAAK8N,MAAMC,MAAMuQ,qBAAuB,MACxCte,KAAK8N,MAAMC,MAAMwP,aAAe,KAChCvd,KAAK8N,MAAMC,MAAM6P,YAAc,KACnC,CACA,mBAAMlJ,CAAcC,GAChB,MAAMb,EAAS9T,KAAK8N,MAAM5I,QAAQkE,MAAK+c,GAAOA,EAAIxR,KAAOA,IACzD,OAAOb,GAAU,IACrB,CACA,eAAMc,CAAUd,GACZ9T,KAAK8N,MAAM6X,qBACX7R,EAAOa,GAAKb,EAAOyX,aACnBzX,EAAOsC,OAASpW,KAAK8N,MACrBgG,EAAOwE,MAAQxE,EAAOwE,MAAQxE,EAAOwE,MAAQtY,KAAK8N,MAAMC,MAAMuK,MAC9DxE,EAAOnF,OAAS3O,KAAK8N,MAAM0V,cAC3B,MAAMnI,EAAU,IAAIhc,EAAiBW,KAAK8N,MAAO9N,KAAM8T,GACvD9T,KAAK8N,MAAMqV,QAAQ/H,eAAeC,GAClC,OAAOvH,CACX,CACA,kBAAMe,CAAaf,EAAQgB,GACvB9U,KAAK8N,MAAM6X,qBACX,MAAMtK,EAAU,IAAI7b,EAAoBQ,KAAK8N,MAAO9N,KAAM8T,EAAQgB,GAClE9U,KAAK8N,MAAMqV,QAAQ/H,eAAeC,GAClC,OAAOvH,CACX,CACA,kBAAMiB,CAAajB,GACf9T,KAAK8N,MAAM6X,qBACX,MAAMtK,EAAU,IAAIlc,EAAoBa,KAAK8N,MAAO9N,KAAM8T,GAC1D9T,KAAK8N,MAAMqV,QAAQ/H,eAAeC,GAClC,OAAOvH,CACX,CACA,wBAAMkB,GACF,OAAOhV,KAAK8N,MAAMC,MAAMyP,eAAiBxd,KAAK8N,MAAMC,MAAMyP,eAAetY,QAAU,EACvF,CACA,mBAAM+P,CAAc/P,GAChB,IAAI6D,GACHA,EAAK/I,KAAK8N,MAAMC,MAAMoP,cAAgB,MAAQpU,SAAY,OAAS,EAAIA,EAAGqiB,eAC3EprB,KAAK8N,MAAMiY,SAAS,aAAcxmB,EAAoBsnB,QAAQ,cAC9D7mB,KAAK8N,MAAM6X,qBACX3lB,KAAK8N,MAAMmH,cAAc/P,EAC7B,CACA,gCAAMwO,GACF,IAAI3K,GACHA,EAAK/I,KAAK8N,MAAMC,MAAMoP,cAAgB,MAAQpU,SAAY,OAAS,EAAIA,EAAGqiB,eAC3EprB,KAAK8N,MAAMiY,SAAS,aAAcxmB,EAAoBsnB,QAAQ,cAC9D7mB,KAAK8N,MAAM6X,qBACX3lB,KAAK8N,MAAM4F,4BACf,CACA,oBAAMwB,GACFlV,KAAK8N,MAAMoH,gBACf,CACA,4BAAMC,CAAuBrB,GACzBA,EAAO0X,mBACP,MAAMnQ,EAAU,IAAI7b,EAAoBQ,KAAK8N,MAAO9N,KAAM8T,EAAQA,GAClE9T,KAAK8N,MAAMqV,QAAQ/H,eAAeC,GAClC,OAAOvH,CACX,CACA,sBAAMP,GACF,IAAIxK,EACJ,QAASA,EAAK/I,KAAK8N,MAAMC,MAAMsP,iBAAmB,MAAQtU,SAAY,OAAS,EAAIA,EAAG7D,UAAY,EACtG,CACA,qBAAMuf,CAAgB5O,GAClB,OAAO7V,KAAK8N,MAAM2W,gBAAgB5O,GAAWsM,MAAK,KAC9CniB,KAAK4pB,iBAAiBppB,KAAKR,KAAK8N,MAAMC,MAAMuG,WAAW,GAE/D,CACA,qBAAMkQ,CAAgB3O,GAClB,OAAO7V,KAAK8N,MAAM0W,gBAAgB3O,GAAWsM,MAAK,KAC9CniB,KAAK4pB,iBAAiBppB,KAAKR,KAAK8N,MAAMC,MAAMuG,WAAW,GAE/D,CACA,qBAAMiR,CAAgB1P,GAClB,OAAO7V,KAAK8N,MAAMyX,gBAAgB1P,GAAWsM,MAAK,KAC9CniB,KAAK4pB,iBAAiBppB,KAAKR,KAAK8N,MAAMC,MAAMuG,WAAWlH,QAAOqe,GAAMA,EAAG9W,KAAOkB,EAAUlB,KAAI,GAEpG,CACA,mBAAMqP,GACF,OAAOhkB,KAAK8N,MAAMkW,eACtB,CACA,6BAAAgG,GACIhqB,KAAK8N,MAAM8X,cAAc,aAAc5lB,KAAK0rB,wBAAwBC,KAAK3rB,OACzEA,KAAK8N,MAAM8X,cAAc,YAAa5lB,KAAK4rB,uBAAuBD,KAAK3rB,MAC3E,CACA,uBAAA0rB,CAAwBvO,GACpB,KAAMA,aAAsB5e,GAAuB,CAC/CyB,KAAK8N,MAAMoH,gBACf,CACAlV,KAAK8N,MAAMC,MAAMyK,gBAAkB,MACnCxY,KAAK2pB,iBAAiBnpB,KAAK2c,GAC3Bxd,EAAsBksB,mBAC1B,CACA,sBAAAD,CAAuBjO,GACnB,IAAKA,EAAW,CACZ3d,KAAK8N,MAAMwZ,iBACf,CACJ,CACA,MAAA5mB,GACI,IAAIqI,EAAI+B,EAAIW,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIggB,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACpI,MAAMC,EAAgBzlB,OAAO0lB,iBAAiBxtB,KAAK6J,MACnD,MAAM4jB,EAAmBF,EAAcG,iBAAiB,mCAAmCC,QAAU,MACrG,MAAMC,EAAiBC,WAAWJ,GAClC,MAAMK,EAAsBF,EAAiB,EAAI,GAAK,GAAKA,EAC3D,OAAQ3vB,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,cAAeI,MAAO,CAAEoB,QAASzC,KAAK8N,MAAMC,MAAMwN,UAAUoD,iBAAmB,QAAU,SAAY1gB,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,uBAAwBgK,GAAM/B,EAAK/I,KAAK8N,MAAMC,SAAW,MAAQhF,SAAY,OAAS,EAAIA,EAAGyM,mBAAqB,MAAQ1K,SAAY,OAAS,EACtbA,EAAG6J,IAAK1W,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,yBAA0B4K,GAAMD,EAAKzL,KAAK8N,MAAMC,SAAW,MAAQtC,SAAY,OAAS,EAAIA,EAAG+J,mBAAqB,MAAQ9J,SAAY,OAAS,EACvNA,EAAGvK,MAAOlD,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiB6K,EAAK3L,KAAK8N,MAAMC,SAAW,MAAQpC,SAAY,OAAS,EACjJA,EAAG8K,YAAaxY,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiB8K,EAAK5L,KAAK8N,MAAMC,SAAW,MAAQnC,SAAY,OAAS,EACvJA,EAAG8K,YAAazY,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,mBAAoB+K,EAAK7L,KAAK8N,MAAMC,SAAW,MAAQlC,SAAY,OAAS,EAC1JA,EAAGwK,eAAgBpY,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,oBAAqBgL,EAAK9L,KAAK8N,MAAMC,SAAW,MAAQjC,SAAY,OAAS,EAC9JA,EAAGyK,gBAAiBtY,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,sBAAuBd,KAAK8N,MAAM5I,QAAQlD,QAAS/D,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,WAAYgrB,EAAK9rB,KAAK8N,MAAMC,SAAW,MAAQ+d,SAAY,OAAS,EACvQA,EAAGxT,OAAQra,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiBkrB,GAAMD,EAAK/rB,KAAK8N,MAAMC,SAAW,MAAQge,SAAY,OAAS,EAAIA,EAAG5O,cAAgB,MAAQ6O,SAAY,OAAS,EAC5MA,EAAG7qB,MAAOlD,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,yBAA0BmrB,EAAKjsB,KAAK8N,MAAMC,SAAW,MAAQke,SAAY,OAAS,EAAIA,EAAGrV,oBAAsB,OAAS,SAAU3Y,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiBorB,EAAKlsB,KAAK8N,MAAMC,SAAW,MAAQme,SAAY,OAAS,EAAIA,EAAGxO,WAAa,OAAS,SAAUzf,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiBqrB,EAAKnsB,KAAK8N,MAAMC,SAAW,MAAQoe,SAAY,OAAS,EAAIA,EAAGzU,WAAa,OAAS,SAAUzZ,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiBsrB,EAAKpsB,KAAK8N,MAAMC,SAAW,MAAQqe,SAAY,OAAS,EAAIA,EAAGhV,WAAa,OAAS,SAAUnZ,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,cAAed,KAAK8N,MAAMC,MAAM4P,UAAY,OAAS,SAAU1f,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,gBAAiBd,KAAK4d,YAAc,OAAS,SAAU3f,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,sBAAuBd,KAAK0pB,kBAAoB,OAAS,SAAUzrB,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,2BAA4Bd,KAAK8N,MAAMC,MAAM+P,uBAAyB,OAAS,SAAU7f,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,6BAA8Bd,KAAK8N,MAAMC,MAAMiQ,yBAA2B,OAAS,SAAU/f,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,cAAed,KAAK8N,MAAMC,MAAMmQ,UAAY,OAAS,SAAUjgB,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,cAAed,KAAK8N,MAAMC,MAAMqQ,UAAY,OAAS,SAAUngB,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,cAAeurB,EAAKrsB,KAAK8N,MAAMC,SAAW,MAAQse,SAAY,OAAS,EACxvDA,EAAGhU,UAAWpa,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,cAAewrB,EAAKtsB,KAAK8N,MAAMC,SAAW,MAAQue,SAAY,OAAS,EACnJA,EAAG/T,UAAWta,EAAE,MAAO,CAAE6C,IAAK,4CAA8C,sBAAuByrB,EAAKvsB,KAAK8N,MAAMC,MAAMyP,kBAAoB,MAAQ+O,SAAY,OAAS,EAAIA,EAAGrnB,QAAQlD,SAAW,IAAK/D,EAAE,MAAO,CAAE6C,IAAK,2CAA4C6T,GAAI,SAAU1T,MAAO,SAAUI,MAAO,CACvS0sB,UAAW,WAAWvB,EAAKxsB,KAAK8N,MAAMC,SAAW,MAAQye,SAAY,OAAS,EAAIA,EAAGlU,iBAAiBmU,EAAKzsB,KAAK8N,MAAMC,SAAW,MAAQ0e,SAAY,OAAS,EAAIA,EAAGnU,WAAWoU,EAAK1sB,KAAK8N,MAAMC,SAAW,MAAQ2e,SAAY,OAAS,EAAIA,EAAGjW,gBAAgBkW,EAAK3sB,KAAK8N,MAAMC,SAAW,MAAQ4e,SAAY,OAAS,EAAIA,EAAGjW,iBAC5TkW,EAAK5sB,KAAK8N,MAAMC,MAAMuP,cAAcX,gBAAkB,MAAQiQ,SAAY,OAAS,EACzFA,EAAGhsB,KAAIkT,IACH,IAAI/K,EAAI+B,EAAIW,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIggB,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAC5E,OAAQvuB,EAAE,MAAO,CAAE6C,IAAKgT,EAAOa,GAAItT,MAAO,CAAEoB,QAASqR,EAAOka,eAAiB,QAAU,OAAQD,UAAWja,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOma,qBAAsBC,gBAAiB,WAAYvf,OAAQmF,EAAOnF,OAAOS,WAAY1M,SAAU,aAAgBzE,EAAE,MAAO,CAAEwQ,MAAO,6BAA8BkG,GAAIb,EAAOa,GAAI1T,MAAO,SAAUI,MAAO,CAC/VkB,OAAQuR,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOqa,YAAY/e,WAC3E9M,MAAOwR,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOsa,WAAWhf,WACzEtM,KAAM,IACND,IAAK,IACLH,SAAU,WACVqrB,UAAW,UAAUja,EAAOua,sBAC5BH,gBAAiB,SACjBxf,QAASoF,EAAOwa,iBAAmB,MAAQxa,EAAOpF,QAAQU,WAC1D/C,cAAeyH,EAAOwa,iBAAmB,OAAS,SACjDrwB,EAAE,gBAAiB,CAAEkQ,EAAG,IAAKE,EAAG,IAAK/L,MAAOwR,EAAOsa,WAAWhf,WAAY7M,OAAQuR,EAAOqa,YAAY/e,WAAY/N,MAAO,CACzHktB,UAAW,IACXC,SAAU,IACV5rB,gBAAiBkR,EAAOlR,gBACxB6rB,YAAa3a,EAAO2a,YACpBC,YAAa5a,EAAO4a,YAAc,KAClCC,YAAa,QACbC,QAAS9a,EAAO8a,QAAU,KAC1BC,SAAU,YACT5F,GAAmBC,aAAapV,EAAQ,gBAAmB7V,EAAE,MAAO,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAYtgB,MAAO,6BAA8BpN,MAAO,CAC1KkB,OAAQuR,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOvR,OAAO6M,WACtE9M,MAAOwR,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOxR,MAAM8M,WACpE1M,SAAU,WACVmsB,SAAU,WACXG,QAASlb,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOkb,SAAW/wB,EAAE,OAAQ,CAAEgxB,EAAGnb,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOmb,EAAGzU,KAAM1G,EAAO0G,KAAMhL,OAAQsE,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOtE,UAAayZ,GAAmBC,aAAapV,EAAQ,iBAAoB7V,EAAE,MAAO,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAYG,IAAKpb,EAAOob,IAAK7tB,MAAO,CACxYiB,MAAO,OACPC,OAAQ,OACR4sB,WAAY,OACZ9iB,cAAe,QAChB+iB,UAAW,MAAOC,YAAaC,GAAKA,EAAEtmB,mBAAsBigB,GAAmBC,aAAapV,EAAQ,gBAAmB7V,EAAE,WAAY,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAY3uB,MAAO0T,EAAO1T,MAAOmvB,UAAWhvB,GAASuT,EAAOhL,cAAcvI,GAAQ+Q,QAAS/Q,GAASuT,EAAO0b,YAAYjvB,GAAQkvB,KAAM3b,EAAO2b,KAAMpuB,MAAO,CAC1UiB,MAAO,OACPC,OAAQ,OACRgB,MAAOuQ,EAAOtM,UACdC,WAAYsB,EAAK+K,EAAOrM,YAAc,MAAQsB,SAAY,OAAS,EAAIA,EAAGqG,YAAc,KACxF7H,WAAYuM,EAAOvM,WACnB+E,OAAQ,OACRojB,QAAS,OACTC,OAAQ,OACRd,SAAU,SACVpsB,QAAS,QACTmsB,QAAS,MACTgB,WAAY,SACZvjB,cAAeyH,EAAO+b,WAAa,OAAS,OAC5CzjB,OAAQ0H,EAAO+b,WAAa,UAAY,OACxCC,WAAYhc,EAAO+b,WAAa,cAAgB,UAC7C5G,GAAmBC,aAAapV,EAAQ,yBAA4B7V,EAAE,MAAO,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAY1tB,MAAO,CAChJiB,MAAO,OACPC,OAAQ,OACR8J,cAAe,OACfwiB,SAAU,SACVpsB,QAAS,WACNwmB,GAAmBC,aAAapV,EAAQ,0BAA6B7V,EAAE,MAAO,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAY1tB,MAAO,CACjJiB,MAAO,OACPC,OAAQ,UACL0mB,GAAmBC,aAAapV,EAAQ,wBAA2B7V,EAAE,MAAO,CAAEkT,IAAKC,GAAOA,EAAK0C,EAAOgb,MAAM1d,GAAM0C,EAAOib,UAAY1tB,MAAO,CAC/IiB,MAAO,OACPC,OAAQ,WACJtE,EAAE,OAAQ,CAAEkR,GAAI,IAAKE,GAAI,IAAKC,GAAIwE,EAAOsa,WAAY7e,GAAI,IAAKlO,MAAO,CACzEmO,OAAQ,iDACRugB,YAAa,qDAAqDjc,EAAOwE,YAAYxN,EAAK9K,KAAK8N,MAAMC,SAAW,MAAQjD,SAAY,OAAS,EAAIA,EAAGwN,SACpJ0X,cAAe,UAChBhpB,WAAY8M,EAAO4P,WAAa,UAAY,WAAazlB,EAAE,OAAQ,CAAEkR,GAAI,IAAKE,GAAI,IAAKC,GAAI,IAAKC,GAAIuE,EAAOqa,YAAa9sB,MAAO,CAC9HmO,OAAQ,iDACRugB,YAAa,qDAAqDjc,EAAOwE,YAAY7M,EAAKzL,KAAK8N,MAAMC,SAAW,MAAQtC,SAAY,OAAS,EAAIA,EAAG6M,SACpJ0X,cAAe,UAChBhpB,WAAY8M,EAAO4P,WAAa,UAAY,WAAazlB,EAAE,OAAQ,CAAEkR,GAAI,IAAKE,GAAIyE,EAAOqa,YAAa7e,GAAIwE,EAAOsa,WAAY7e,GAAIuE,EAAOqa,YAAa9sB,MAAO,CAC3JmO,OAAQ,iDACRugB,YAAa,qDAAqDjc,EAAOwE,YAAY5M,EAAK1L,KAAK8N,MAAMC,SAAW,MAAQrC,SAAY,OAAS,EAAIA,EAAG4M,SACpJ0X,cAAe,UAChBhpB,WAAY8M,EAAO4P,WAAa,UAAY,WAAazlB,EAAE,OAAQ,CAAEkR,GAAI2E,EAAOsa,WAAY/e,GAAI,IAAKC,GAAIwE,EAAOsa,WAAY7e,GAAIuE,EAAOqa,YAAa9sB,MAAO,CAC1JmO,OAAQ,iDACRugB,YAAa,qDAAqDjc,EAAOwE,YAAY3M,EAAK3L,KAAK8N,MAAMC,SAAW,MAAQpC,SAAY,OAAS,EAAIA,EAAG2M,SACpJ0X,cAAe,UAChBhpB,WAAY8M,EAAO4P,WAAa,UAAY,WAAazlB,EAAE,SAAU,CAAEgD,MAAO,yBAA0BgvB,GAAI,IAAKC,GAAI,IAAKxuB,EAAG,GAAIksB,EAAiB9Z,EAAOwE,QAAW1M,EAAK5L,KAAK8N,MAAMC,SAAW,MAAQnC,SAAY,OAAS,EAAIA,EAAG0M,SAAUjX,MAAO,CACnPmZ,KAAM,kDACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,iCAAkCgvB,GAAI,IAAKC,GAAI,IAAKxuB,EAAG,GAAIosB,EAAsBha,EAAOwE,QAAWzM,EAAK7L,KAAK8N,MAAMC,SAAW,MAAQlC,SAAY,OAAS,EAAIA,EAAGyM,SAAUjX,MAAO,CACrRmZ,KAAM,eACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,0BAA2BgvB,GAAInc,EAAOsa,WAAY8B,GAAI,IAAKxuB,EAAG,GAAIksB,EAAiB9Z,EAAOwE,QAAWxM,EAAK9L,KAAK8N,MAAMC,SAAW,MAAQjC,SAAY,OAAS,EAAIA,EAAGwM,SAAUjX,MAAO,CACvRmZ,KAAM,kDACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,kCAAmCgvB,GAAInc,EAAOsa,WAAY8B,GAAI,IAAKxuB,EAAG,GAAIosB,EAAsBha,EAAOwE,QAAWwT,EAAK9rB,KAAK8N,MAAMC,SAAW,MAAQ+d,SAAY,OAAS,EAAIA,EAAGxT,SAAUjX,MAAO,CACpSmZ,KAAM,eACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,4BAA6BgvB,GAAI,IAAKC,GAAIpc,EAAOqa,YAAazsB,EAAG,GAAIksB,EAAiB9Z,EAAOwE,QAAWyT,EAAK/rB,KAAK8N,MAAMC,SAAW,MAAQge,SAAY,OAAS,EAAIA,EAAGzT,SAAUjX,MAAO,CAC1RmZ,KAAM,kDACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,oCAAqCgvB,GAAI,IAAKC,GAAIpc,EAAOqa,YAAazsB,EAAG,GAAIosB,EAAsBha,EAAOwE,QAAW0T,EAAKhsB,KAAK8N,MAAMC,SAAW,MAAQie,SAAY,OAAS,EAAIA,EAAG1T,SAAUjX,MAAO,CACvSmZ,KAAM,eACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,6BAA8BgvB,GAAInc,EAAOsa,WAAY8B,GAAIpc,EAAOqa,YAAazsB,EAAG,GAAIksB,EAAiB9Z,EAAOwE,QAAW2T,EAAKjsB,KAAK8N,MAAMC,SAAW,MAAQke,SAAY,OAAS,EAAIA,EAAG3T,SAAUjX,MAAO,CACzSmZ,KAAM,kDACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,qCAAsCgvB,GAAInc,EAAOsa,WAAY8B,GAAIpc,EAAOqa,YAAazsB,EAAG,GAAIosB,EAAsBha,EAAOwE,QAAW4T,EAAKlsB,KAAK8N,MAAMC,SAAW,MAAQme,SAAY,OAAS,EAAIA,EAAG5T,SAAUjX,MAAO,CACtTmZ,KAAM,eACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,OAAQ,CAAEkR,GAAI2E,EAAOsa,WAAa,EAAG/e,GAAI,IAAKC,GAAIwE,EAAOsa,WAAa,EAAG7e,KAAO,GAAKuE,EAAOwE,QAAW6T,EAAKnsB,KAAK8N,MAAMC,SAAW,MAAQoe,SAAY,OAAS,EAAIA,EAAG7T,QAASjX,MAAO,CACrQmO,OAAQ,iDACRugB,YAAa,qDAAqDjc,EAAOwE,YAAY8T,EAAKpsB,KAAK8N,MAAMC,SAAW,MAAQqe,SAAY,OAAS,EAAIA,EAAG9T,UACrJtR,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,kBAAmBgvB,GAAInc,EAAOsa,WAAa,EAAG8B,KAAO,GAAKpc,EAAOwE,QAAW+T,EAAKrsB,KAAK8N,MAAMC,SAAW,MAAQse,SAAY,OAAS,EAAIA,EAAG/T,QAAS5W,EAAG,GAAIksB,EAAiB9Z,EAAOwE,QAAWgU,EAAKtsB,KAAK8N,MAAMC,SAAW,MAAQue,SAAY,OAAS,EAAIA,EAAGhU,SAAUjX,MAAO,CAChXmZ,KAAM,kDACPxT,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,SAAU,CAAEgD,MAAO,0BAA2BgvB,GAAInc,EAAOsa,WAAa,EAAG8B,KAAO,GAAKpc,EAAOwE,QAAWiU,EAAKvsB,KAAK8N,MAAMC,SAAW,MAAQwe,SAAY,OAAS,EAAIA,EAAGjU,QAAS5W,EAAG,GAAIosB,EAAsBha,EAAOwE,QAAWkU,EAAKxsB,KAAK8N,MAAMC,SAAW,MAAQye,SAAY,OAAS,EAAIA,EAAGlU,SAAUjX,MAAO,CAC7XmZ,KAAM,cACNpO,OAAQ,QACTpF,WAAY8M,EAAO4P,aAAe1jB,KAAK4d,YAAc,UAAY,WAAa3f,EAAE,IAAK,CAAEoD,MAAO,CAAEoB,QAASzC,KAAK8N,MAAMC,MAAMwN,UAAUmD,eAAiB,QAAU,OAAQrS,cAAe,SAAYpO,EAAE,gBAAiB,CAAEkQ,EAAG2F,EAAOsa,WAAWhf,WAAYf,EAAG,IAAK/L,MAAO,QAASC,OAAQ,QAASlB,MAAO,CAAEktB,UAAW,IAAKC,SAAU,IAAK/rB,QAASqR,EAAOqc,mBAAqB,QAAU,SAAYlyB,EAAE,MAAO,CAAEoD,MAAO,CAAEiB,MAAO,OAAQC,OAAQ,SAAYtE,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,WAAY9b,EAAOnF,QAAS1Q,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,eAAgB9b,EAAO2C,YAAaxY,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,eAAgB9b,EAAO4C,YAAazY,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,UAAW9b,EAAOxR,OAAQrE,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,WAAY9b,EAAOvR,QAAStE,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,UAAW9b,EAAOwE,OAAQra,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,aAAc9b,EAAOsT,UAAWnpB,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,MAAO9b,EAAO3F,GAAIlQ,EAAE,MAAO,CAAEoD,MAAO,CAAEuuB,WAAY,WAAc,MAAO9b,EAAOzF,OAAQ,IAC5lCpQ,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,SAAUwN,MAAO,6BAA8BpN,MAAO,CACzHkB,QAASsqB,EAAK7sB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQoV,SAAY,OAAS,EAAIA,EAAGtqB,OAAO6M,WAC3F9M,OAAQwqB,EAAK9sB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQqV,SAAY,OAAS,EAAIA,EAAGxqB,MAAM8M,WACzFtM,KAAM,IACND,IAAK,IACL8L,QAASoe,EAAK/sB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQsV,SAAY,OAAS,EAAIA,EAAGpe,OAAOS,WAC3F1M,SAAU,WACVqrB,WAAYf,EAAKhtB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQuV,SAAY,OAAS,EAAIA,EAAGiB,qBACvFC,gBAAiB,WACjBW,SAAU,WACXG,SAAU/B,EAAKjtB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQwV,SAAY,OAAS,EAAIA,EAAG+B,SAAW/wB,EAAE,OAAQ,CAAE6C,IAAK,2CAA4CmuB,GAAI/B,EAAKltB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQyV,SAAY,OAAS,EAAIA,EAAG+B,EAAGzU,MAAO2S,EAAKntB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQ0V,SAAY,OAAS,EAAIA,EAAG3S,KAAMhL,QAAS4d,EAAKptB,KAAK8N,MAAMC,MAAM0J,eAAiB,MAAQ2V,SAAY,OAAS,EAAIA,EAAG5d,WAAaxP,KAAK8N,MAAMC,MAAMuQ,sBAAyBrgB,EAAE,uBAAwB,CAAE6C,IAAK,2CAA4CG,MAAO,eAAgBkQ,IAAKC,GAAOpR,KAAK6pB,mBAAqBzY,EAAKhM,MAAOpF,KAAK8N,MAAMC,MAAMwQ,iBAAkBrZ,UAAWmoB,EAAKrtB,KAAK8N,MAAMC,MAAMyP,kBAAoB,MAAQ6P,SAAY,OAAS,EAAIA,EAAGnoB,UAAY,GAAI7D,MAAO,CAC1vBqB,SAAU,QACVI,KAAM,GAAG9C,KAAK8N,MAAMC,MAAMyQ,iBAC1B3b,IAAK,GAAG7C,KAAK8N,MAAMC,MAAM0Q,iBACzB9P,OAAQ,SACTyhB,iBAAkB7vB,IACjB,IAAIwI,EACJxI,EAAME,OAAO+S,OAAO,CAChBrF,IAAKnO,KAAK8N,MAAMC,MAAM0I,WAAazW,KAAK8N,MAAMC,MAAMyQ,cAAgBxe,KAAK8N,MAAMC,MAAMuK,MACrFjK,IAAKrO,KAAK8N,MAAMC,MAAM2I,WAAa1W,KAAK8N,MAAMC,MAAM0Q,cAAgBze,KAAK8N,MAAMC,MAAMuK,QACrFvP,EAAK/I,KAAK8N,MAAMC,MAAMyP,kBAAoB,MAAQzU,SAAY,OAAS,EAAIA,EAAG7D,SAClFlF,KAAKiqB,iBAAiB,MACjBqD,EAAKttB,KAAK8N,MAAMC,SAAW,MAAQuf,SAAY,OAAS,EAAIA,EAAGnQ,sBAAuB1e,IAAsBuB,KAAK8N,MAAMC,MAAM2J,WAAazZ,EAAE,uBAAwB,CAAE6C,IAAK,2CAA4CgN,MAAO9N,KAAK8N,QACpP,CACA,QAAIjE,GAAS,OAAO1L,EAAW6B,KAAO,CACtC,mBAAW6F,GAAa,MAAO,CAC3BgQ,UAAa,CAAC,qBACd3C,SAAY,CAAC,oBACbC,SAAY,CAAC,oBACd,GAEPmW,GAAcjoB,MAAQgoB,GAEtB,MAAMgH,GAAiB,yIAEvB,MAAMC,GAAc,MAChB,WAAAxwB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKuH,WAAa,oBAClBvH,KAAKoB,KAAO,GACZpB,KAAKuD,MAAQ,SACjB,CACA,MAAA7C,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,eAAgBI,MAAO,CACvJkG,WAAYvH,KAAKuH,WACjBE,SAAU,GAAGzH,KAAKoB,SAClBmC,MAAOvD,KAAKuD,QACX,KACb,GAEJ+sB,GAAYjvB,MAAQgvB,GAEpB,MAAME,GAAuB,yxBAE7B,MAAMC,GAAoB,MACtB,WAAA1wB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKywB,iBAAmBzyB,EAAYgC,KAAM,oBAC1CA,KAAK0wB,YAAc,CACf,CAAEtwB,MAAO,QAASC,MAAO,SACzB,CAAED,MAAO,UAAWC,MAAO,WAC3B,CAAED,MAAO,YAAaC,MAAO,aAC7B,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,eAAgBC,MAAO,gBAChC,CAAED,MAAO,kBAAmBC,MAAO,mBACnC,CAAED,MAAO,UAAWC,MAAO,WAC3B,CAAED,MAAO,WAAYC,MAAO,YAC5B,CAAED,MAAO,cAAeC,MAAO,eAC/B,CAAED,MAAO,kBAAmBC,MAAO,oBAEvCL,KAAKM,0BAA6BC,IAC9BP,KAAKywB,iBAAiBjwB,KAAKD,EAAME,OAAO,CAEhD,CACA,iBAAA+D,GACI,GAAIxE,KAAK0wB,aAAe1wB,KAAK0wB,YAAY1uB,OAAS,EAAG,CACjD,MAAM2uB,EAAqB3wB,KAAK0wB,YAAY1f,MAAKC,GAAOA,EAAI7Q,QAAUJ,KAAK0H,qBAC3E,IAAK1H,KAAK0H,qBAAuBipB,EAAoB,CACjD3wB,KAAK0H,mBAAqB1H,KAAK0wB,YAAY,GAAGtwB,KAClD,CACJ,CACJ,CACA,MAAAM,GACI,MAAMC,EAAkBX,KAAK0wB,YAAY9vB,KAAIC,IAAU,CACnDT,MAAOS,EAAOT,MACdC,MAAOQ,EAAOR,MACdgB,MAAO,CAAEkG,WAAY1G,EAAOT,WAEhC,OAAQnC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,mBAAoB,CAAE6C,IAAK,2CAA4CC,QAASJ,EAAiBP,MAAOJ,KAAK0H,mBAAoB1G,eAAgBhB,KAAKM,0BAA2BsP,aAAc,CAAErI,WAAYvH,KAAK0H,qBAAwBzJ,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,oBAAqBC,KAAM,UAAY,KAAMjD,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,gCAAiCC,KAAM,UAAY,MACjiB,GAEJsvB,GAAkBnvB,MAAQkvB,GAE1B,MAAMK,GAAqB,6hBAE3B,MAAMC,GAAkB,MACpB,WAAA/wB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK8wB,WAAa9yB,EAAYgC,KAAM,cACpCA,KAAK+wB,MAAQ,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACjC/wB,KAAKkH,aAAe,KACpBlH,KAAKuH,WAAa,OACtB,CACA,eAAAypB,CAAgB5vB,GACZpB,KAAKkH,aAAe9F,EACpBpB,KAAK8wB,WAAWtwB,KAAKY,EACzB,CACA,MAAAV,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8Cd,KAAK+wB,MAAMnwB,KAAIQ,GAASnD,EAAE,MAAO,CAAEgD,MAAO,CACvG,iBAAkB,KAClBiD,SAAYlE,KAAKkH,eAAiB9F,GACnC+C,QAAS,IAAMnE,KAAKgxB,gBAAgB5vB,IAASnD,EAAE,eAAgB,CAAEsJ,WAAYvH,KAAKuH,WAAYnG,KAAMA,OAC/G,GAEJyvB,GAAgBxvB,MAAQuvB,GAExB,MAAMK,GAAiB,qKAEvB,MAAMC,GAAc,MAChB,WAAApxB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKoB,KAAO,EAChB,CACA,MAAAV,GACI,MAAM+Q,EAAaF,EAAoBM,IAAI7R,KAAKmB,MAChD,IAAKsQ,EAAY,CACbnH,QAAQyV,MAAM,wBAAwB/f,KAAKmB,gCAC3C,OAAOlD,EAAE,OAAQ,CAAEgD,MAAO,aAAc,aAAc,eAAejB,KAAKmB,kBAAoB,IAClG,CACA,MAAMgwB,EAAS,CACX7uB,MAAO,GAAGtC,KAAKoB,SACfmB,OAAQ,GAAGvC,KAAKoB,UAEpB,OAAQnD,EAAEC,EAAM,CAAEmD,MAAO8vB,GAAUlzB,EAAE,OAAQ,CAAE,eAAgB+B,KAAKK,MAAO+wB,KAAMpxB,KAAKK,MAAQ,MAAQ2K,UAAW,aAAchL,KAAKK,MAAOgxB,UAAW5f,IAC1J,GAEJyf,GAAY7vB,MAAQ4vB,GAEpB,MAAMK,GAAiB,osHAEvB,MAAMC,GAAc,MAChB,WAAAzxB,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK2gB,MAAQ3iB,EAAYgC,KAAM,SAC/BA,KAAKoF,MAAQ,GACbpF,KAAKwxB,YAAc,KACnBxxB,KAAKyxB,OAAS,KACdzxB,KAAK0xB,gBAAkB,KACvB1xB,KAAK2xB,aAAe,KACpB3xB,KAAK4xB,mBAAqB,KAC1B5xB,KAAK6xB,gBAAkB,KACvB7xB,KAAK8xB,aAAe,KACpB9xB,KAAK+xB,WAAa,IACtB,CACA,oBAAAC,CAAqBhiB,GACjB,GAAIA,IAAa,KAAM,CACnBhQ,KAAK4xB,mBAAqB,KAC1B5xB,KAAKiyB,UAAYjnB,UACjB,MACJ,CACJ,CACA,iBAAAknB,CAAkB3xB,GACd,GAAIP,KAAK4xB,qBAAuB,KAAM,CAClC,MACJ,CACA,MAAMhpB,EAASrI,EAAMqI,OACrB,IAAK5I,KAAK6J,KAAKyW,SAAS1X,GAAS,CAC7B5I,KAAK4xB,mBAAqB,IAC9B,CACJ,CACA,YAAAO,CAAa5xB,GACT,IAAIwI,EACJ,GAAIxI,EAAMO,MAAQ,SAAU,CACxB,GAAId,KAAK4xB,qBAAuB,KAAM,CAClC,MACJ,CACA,GAAI5xB,KAAK2xB,eAAiB,KAAM,EAC3B5oB,EAAK/I,KAAK8xB,gBAAkB,MAAQ/oB,SAAY,OAAS,EAAIA,EAAGqpB,QACjE,MACJ,CACApyB,KAAK2gB,MAAMngB,MACf,CACJ,CACA,WAAA6xB,CAAY9xB,GACR,IAAIwI,EACJ,GAAIxI,EAAMO,MAAQ,QAAS,CACvB,GAAId,KAAK2xB,eAAiB,KAAM,EAC3B5oB,EAAK/I,KAAK+xB,cAAgB,MAAQhpB,SAAY,OAAS,EAAIA,EAAGqpB,QAC/D,MACJ,CACJ,CACJ,CACA,gBAAAtlB,GACIwlB,uBAAsB,KAClBtyB,KAAK6J,KAAKyhB,OAAO,GAEzB,CACA,UAAAiH,CAAW9sB,GACP,OAAOzF,KAAK2xB,eAAiBlsB,CACjC,CACA,YAAA+sB,CAAa5tB,GACT,IAAImE,EACJ,GAAInE,EAAKW,UAAYvF,KAAK2xB,eAAiB,MAAQ3xB,KAAK4xB,qBAAuB,KAAM,CACjF,MACJ,EACC7oB,EAAKnE,EAAK6tB,UAAY,MAAQ1pB,SAAY,OAAS,EAAIA,EAAGiD,KAAKpH,EAAMA,EAC1E,CACA,MAAAlE,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,2CAA4C4xB,SAAU,GAAK1yB,KAAKoF,MAAMxE,KAAI,CAACgE,EAAMa,IAAWxH,EAAE,SAAU,CAAEy0B,SAAU,EAAGzxB,MAAO,CAC7I,YAAa,KACbsE,SAAYX,EAAKW,SACjBotB,SAAY3yB,KAAK4xB,qBAAuB,MAAQ5xB,KAAK4xB,qBAAuBnsB,EAC5E,aAAczF,KAAK4xB,qBAAuBnsB,EAC1C,YAAazF,KAAK2xB,eAAiBlsB,EACnCmtB,OAAU5yB,KAAK0xB,kBAAoBjsB,GACpCtB,QAAS,IAAMnE,KAAKwyB,aAAa5tB,IAAS5E,KAAKuyB,WAAW9sB,KAAW,MAASxH,EAAE,MAAO,CAAEgD,MAAO,kBAAoBhD,EAAE,OAAQ,CAAEgD,MAAO,mBAAqB2D,EAAKvE,OAAQpC,EAAE,MAAO,KAAM2G,EAAKgX,UAAYhX,EAAKgX,SAAS5Z,OAAS,GAAM/D,EAAE,SAAU,CAAEgD,MAAO,mBAAoByxB,SAAU,EAAGvuB,QAAS5D,IACpS,GAAIP,KAAK2xB,eAAiB,KACtB,OACJpxB,EAAMmK,kBACN1K,KAAK6xB,gBAAkB7xB,KAAK4xB,qBAAuBnsB,EAAQ,KAAOlF,EAAMsyB,cACxE7yB,KAAK4xB,mBAAqB5xB,KAAK4xB,qBAAuBnsB,EAAQ,KAAOA,CAAK,GACzExH,EAAE,eAAgB,CAAEkD,KAAM,oBAAqBC,KAAM,MAASpB,KAAK4xB,qBAAuBnsB,GAAUxH,EAAE,iBAAkB,CAAE60B,OAAQ9yB,KAAK6xB,gBAAiB3a,QAAS,EAAG6b,QAAS,IAAM/yB,KAAK4xB,mBAAqB,MAAQ3zB,EAAE,eAAgB,CAAEoD,MAAO,CAAEmtB,SAAU,SAAWppB,MAAOR,EAAKgX,SAAU4V,YAAa/rB,EAAOgsB,OAAQ7sB,EAAMmuB,QAAS,KACzU,IAAIhqB,EACJ/I,KAAK4xB,mBAAqB,MACzB7oB,EAAK/I,KAAK6xB,mBAAqB,MAAQ9oB,SAAY,OAAS,EAAIA,EAAGuiB,OAAO,OACpEtrB,KAAKuyB,WAAW9sB,KAAW,OAAUxH,EAAE,MAAO,CAAEgD,MAAO,kBAAoBhD,EAAE,QAAS,CAAEy0B,SAAU,EAAGvhB,IAAKC,IACjHpR,KAAKiyB,UAAY7gB,EACjBkhB,uBAAsB,KAClB,IAAIvpB,EAAI+B,GACP/B,EAAK/I,KAAKiyB,aAAe,MAAQlpB,SAAY,OAAS,EAAIA,EAAGuiB,SAC7DxgB,EAAK9K,KAAKiyB,aAAe,MAAQnnB,SAAY,OAAS,EAAIA,EAAG2nB,QAAQ,GACxE,EACHvyB,KAAM,OAAQiB,KAAM,aAAesE,EAAOrF,MAAOwE,EAAKvE,MAAOiR,QAASge,GAAM1qB,EAAKvE,MAAQivB,EAAE1mB,OAAOxI,QAAWnC,EAAE,MAAO,CAAEoD,MAAO,CAAEoB,QAAS,OAAQkB,IAAK,QAAW1F,EAAE,SAAU,CAAEkT,IAAKC,GAAOpR,KAAK8xB,aAAe1gB,EAAKnQ,MAAO,mBAAoByxB,SAAU,EAAGvuB,QAAS,KAAQ,IAAI4E,EAAI,OAAQA,EAAKnE,EAAKouB,UAAY,MAAQjqB,SAAY,OAAS,EAAIA,EAAGiD,KAAKpH,EAAMA,EAAK,GAAO3G,EAAE,eAAgB,CAAEkD,KAAM,IAAKC,KAAM,MAAQnD,EAAE,SAAU,CAAEkT,IAAKC,GAAOpR,KAAK+xB,WAAa3gB,EAAKnQ,MAAO,mBAAoByxB,SAAU,EAAGvuB,QAAS,KAAQ,IAAI4E,EAAI,OAAQA,EAAKnE,EAAKquB,QAAU,MAAQlqB,SAAY,OAAS,EAAIA,EAAGiD,KAAKpH,EAAMA,EAAK,GAAO3G,EAAE,eAAgB,CAAEkD,KAAM,QAASC,KAAM,WACzpB,CACA,QAAIyI,GAAS,OAAO1L,EAAW6B,KAAO,CACtC,mBAAW6F,GAAa,MAAO,CAC3B8rB,aAAgB,CAAC,wBAClB,GAEPJ,GAAYlwB,MAAQiwB,GAEpB,MAAM4B,GACF,+BAAOC,CAAyBxqB,EAASkd,GACrC,MAAMzlB,EAAQ0H,OAAO0lB,iBAAiB7kB,GAAS+kB,iBAAiB7H,GAChE,OAAOgI,WAAWztB,IAAU,CAChC,CACA,0BAAOgzB,CAAoBzqB,GACvB,IAAII,EAAI+B,EACR,IAAKnC,EAAS,CACV,OAAOb,MACX,CACA,MAAM2pB,GAAU3mB,GAAM/B,EAAKJ,EAAQ0qB,cAAgB,MAAQtqB,SAAY,OAAS,EAAIA,EAAGc,QAAU,MAAQiB,SAAY,EAAIA,EAAKnC,EAAQmB,cACtI,IAAK2nB,GAAUA,EAAO6B,UAAY,OAAQ,CACtC,OAAOxrB,MACX,CACA,MAAMzG,EAAQyG,OAAO0lB,iBAAiBiE,GACtC,GAAIpwB,EAAMwtB,WAAa,QAAUxtB,EAAMkyB,YAAc,QAAUlyB,EAAMwtB,WAAa,UAAYxtB,EAAMkyB,YAAc,SAAU,CACxH,OAAO9B,CACX,CACA,OAAOzxB,KAAKozB,oBAAoB3B,EACpC,CACA,0BAAO+B,CAAoB7qB,GACvB,IAAKA,EAAS,CACV,OAAO,KACX,CACA,MAAM8qB,EAAmBzzB,KAAKozB,oBAAoBzqB,GAClD,MAAM2Q,EAAO3Q,EAAQuP,wBACrB,GAAIub,IAAqB3rB,OAAQ,CAC7B,MAAMyO,EAAiBzO,OAAOkhB,aAAe0K,SAASC,gBAAgBnd,aACtE,MAAMH,EAAgBvO,OAAOihB,YAAc2K,SAASC,gBAAgBrd,YACpE,OAAOgD,EAAKzW,KAAO,GAAKyW,EAAKxW,MAAQ,GAAKwW,EAAKpO,QAAUqL,GAAkB+C,EAAKoR,OAASrU,CAC7F,CACA,MAAMud,EAAaH,EAAiBvb,wBACpC,OAAOoB,EAAKzW,KAAO+wB,EAAW/wB,KAAOyW,EAAKxW,MAAQ8wB,EAAW9wB,MAAQwW,EAAKpO,QAAU0oB,EAAW1oB,QAAUoO,EAAKoR,OAASkJ,EAAWlJ,KACtI,EAGJ,MAAMmJ,GAAiB,EACvB,MAAMC,GAAoB,EAC1B,MAAMC,GAAU,OAChB,MAAMC,GAAY,SAClB,MAAMC,GAAgB,MAClB,WAAAn0B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK2gB,MAAQ3iB,EAAYgC,KAAM,SAC/BA,KAAKk0B,UAAY,KACjBl0B,KAAKm0B,MAAQ,MACbn0B,KAAKo0B,aAAe,KAChB,MAAMC,EAAqBnB,GAAkBM,oBAAoBxzB,KAAK8yB,QACtE,IAAKuB,EAAoB,CACrBr0B,KAAK2gB,MAAMngB,OACX,MACJ,CACAR,KAAKs0B,mBAAmB,CAEhC,CACA,aAAAC,CAAcvkB,GACV,GAAIA,EAAU,CACVhQ,KAAKs0B,mBACT,CACJ,CACA,YAAA3d,GACI3W,KAAKs0B,mBACT,CACA,aAAAE,GACI,IAAIzrB,EACJ,IAAK/I,KAAK8yB,SAAW9yB,KAAKy0B,OACtB,OAAO,EACX,MAAMC,EAAU10B,KAAK8yB,OAAO5a,wBAC5B,MAAMyc,EAAa30B,KAAKy0B,OAAOvc,wBAC/B,MAAM0c,GAAU7rB,EAAK/I,KAAKgX,WAAa,MAAQjO,SAAY,EAAIA,EAAK8qB,GACpE,IAAI/wB,EAAO4xB,EAAQ5xB,KAAO8xB,EAC1B,MAAMC,EAAU/sB,OAAOihB,WAAa4L,EAAWryB,MAAQwxB,GACvD,GAAIhxB,EAAOgxB,GACPhxB,EAAOgxB,GACX,GAAIhxB,EAAO+xB,EACP/xB,EAAO+xB,EACX,OAAOhxB,KAAKixB,MAAMhyB,EAAOgF,OAAOitB,QACpC,CACA,YAAAC,GACI,IAAIjsB,EACJ,IAAK/I,KAAK8yB,SAAW9yB,KAAKy0B,OACtB,OAAO,EACX,MAAMC,EAAU10B,KAAK8yB,OAAO5a,wBAC5B,MAAMyc,EAAa30B,KAAKy0B,OAAOvc,wBAC/B,MAAM0c,GAAU7rB,EAAK/I,KAAKkX,WAAa,MAAQnO,SAAY,EAAIA,EAAK8qB,GACpE,IAAIhxB,EAAM6xB,EAAQxpB,OAAS0pB,EAC3B,GAAI/xB,EAAM8xB,EAAWpyB,OAASuF,OAAOkhB,YAAa,CAC9CnmB,EAAM6xB,EAAQ7xB,IAAM8xB,EAAWpyB,OAASqyB,CAC5C,CACA,OAAO/wB,KAAKixB,MAAMjyB,EAAMiF,OAAOmtB,QACnC,CACA,YAAAC,GACIl1B,KAAKy0B,OAASf,SAASyB,cAAc,OACrCn1B,KAAKy0B,OAAOW,aAAa,KAAMpB,IAC/Bh0B,KAAKy0B,OAAOpzB,MAAMsN,OAASolB,GAC3B/zB,KAAKy0B,OAAOpzB,MAAMqB,SAAW,WAC7B1C,KAAKy0B,OAAOpzB,MAAMwB,IAAM,MACxB7C,KAAKy0B,OAAOpzB,MAAMyB,KAAO,MACzB4wB,SAAS2B,KAAKC,OAAOt1B,KAAKy0B,OAC9B,CACA,mBAAAc,GACIv1B,KAAKy0B,OAAOe,YAAYx1B,KAAK2I,SAC7B3I,KAAKm0B,MAAQ,IACjB,CACA,iBAAAG,GACI,IAAKt0B,KAAK8yB,SAAW9yB,KAAKy0B,OACtB,OACJ,MAAM5xB,EAAM7C,KAAKg1B,eACjB,MAAMlyB,EAAO9C,KAAKw0B,gBAClBx0B,KAAKy0B,OAAOpzB,MAAMwB,IAAM,GAAGA,MAC3B7C,KAAKy0B,OAAOpzB,MAAMyB,KAAO,GAAGA,KAChC,CACA,iBAAA0B,GACIxE,KAAKk1B,cACT,CACA,gBAAApoB,GACI,IAAI/D,EACJ/I,KAAKu1B,sBACL,GAAIv1B,KAAK8yB,OAAQ,CACb9yB,KAAKs0B,oBACLt0B,KAAKyzB,iBAAmBP,GAAkBE,oBAAoBpzB,KAAK8yB,SAClE/pB,EAAK/I,KAAKyzB,oBAAsB,MAAQ1qB,SAAY,OAAS,EAAIA,EAAG0sB,iBAAiB,SAAUz1B,KAAKo0B,aACzG,CACJ,CACA,oBAAA7mB,GACI,IAAIxE,EACJ/I,KAAKm0B,MAAQn0B,KAAKy0B,OAAOpY,SAAYrc,KAAKm0B,MAAQ,MACjDprB,EAAK/I,KAAKyzB,oBAAsB,MAAQ1qB,SAAY,OAAS,EAAIA,EAAG2sB,oBAAoB,SAAU11B,KAAKo0B,aAC5G,CACA,MAAA1zB,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,2CAA4CqQ,IAAKC,GAAOpR,KAAK2I,QAAUyI,GAAOnT,EAAE,OAAQ,CAAE6C,IAAK,6CAC1H,CACA,mBAAW+E,GAAa,MAAO,CAC3BitB,OAAU,CAAC,iBACZ,GAGP,MAAM6C,GAAwB,gqDAE9B,MAAMC,GAAqB,MACvB,WAAA91B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK61B,YAAc73B,EAAYgC,KAAM,eACrCA,KAAK81B,aAAe93B,EAAYgC,KAAM,gBACtCA,KAAK+1B,WAAa/3B,EAAYgC,KAAM,cACpCA,KAAKg2B,WAAah4B,EAAYgC,KAAM,cACpCA,KAAKi2B,aAAe,eACpBj2B,KAAKe,QAAU,GACff,KAAKuF,SAAW,MAChBvF,KAAK0xB,gBAAkB,KACvB1xB,KAAK2xB,aAAe,KACpB3xB,KAAKk2B,WAAa,MAClBl2B,KAAK0I,oBAAuBnI,IACxB,MAAMoqB,EAAQpqB,EAAMqqB,cAAgBrqB,EAAMqqB,gBAAmB,GAC7D,MAAMuL,EAAgBxL,EAAK3Z,MAAKolB,IAASA,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAK9C,WAAa,yBAA2B8C,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAK9C,WAAa,iBAChM,IAAK6C,EAAe,CAChBn2B,KAAKq2B,WACT,MACK,GAAIr2B,KAAKk2B,WAAY,CACtBxC,SAAS+B,iBAAiB,QAASz1B,KAAK0I,oBAAqB,CAAE4tB,KAAM,MACzE,GAEJt2B,KAAKu2B,WAAa,KACd,GAAIv2B,KAAKk2B,WAAY,CACjBl2B,KAAKq2B,WACT,KACK,CACDr2B,KAAKw2B,UACT,GAEJx2B,KAAKy2B,kBAAoB,KACrB,IAAKz2B,KAAKuF,SAAU,CAChBvF,KAAK61B,YAAYr1B,MACrB,EAER,CACA,cAAMg2B,GACF,GAAIx2B,KAAKuF,UAAYvF,KAAKk2B,WACtB,OACJl2B,KAAKk2B,WAAa,KAClBl2B,KAAK+1B,WAAWv1B,OAChBkzB,SAAS+B,iBAAiB,QAASz1B,KAAK0I,oBAAqB,CAAE4tB,KAAM,MACzE,CACA,eAAMD,GACF,GAAIr2B,KAAKuF,WAAavF,KAAKk2B,WACvB,OACJl2B,KAAKk2B,WAAa,MAClBl2B,KAAKg2B,WAAWx1B,OAChBR,KAAK6J,KAAKyhB,OACd,CACA,MAAA5qB,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,2CAA4C4xB,SAAU,GAAKz0B,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,oBAAqByxB,SAAU,EAAGvuB,QAASnE,KAAKy2B,kBAAmBlxB,SAAUvF,KAAKuF,UAAYvF,KAAK02B,YAAcz4B,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAMnB,KAAK02B,aAAe12B,KAAK22B,YAAe14B,EAAE,OAAQ,CAAE6C,IAAK,4CAA8Cd,KAAK22B,WAAY,KAAM32B,KAAKe,QAAQiB,OAAQ,MAAQ/D,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,kBAAoBhD,EAAE,SAAU,CAAE6C,IAAK,2CAA4CqQ,IAAKC,GAAOpR,KAAK42B,gBAAkBxlB,EAAKnQ,MAAO,oBAAqByxB,SAAU,EAAGvuB,QAASnE,KAAKu2B,WAAYhxB,SAAUvF,KAAKuF,UAAYtH,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAMnB,KAAKi2B,gBAAkBh4B,EAAE,iBAAkB,CAAE6C,IAAK,2CAA4CgyB,OAAQ9yB,KAAK6J,KAAMqN,QAAS,GAAKlX,KAAKk2B,YAAej4B,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CO,MAAO,CAAEw1B,UAAW,QAASv0B,MAAO,SAAW8C,MAAOpF,KAAKe,QAAS2wB,gBAAiB1xB,KAAK0xB,gBAAiBC,aAAc3xB,KAAK2xB,aAAcoB,QAAS,IAAM/yB,KAAKq2B,eACltC,CACA,QAAIxsB,GAAS,OAAO1L,EAAW6B,KAAO,GAE1C41B,GAAmBv0B,MAAQs0B,GAE3B,MAAMmB,GAAuB,+gBAE7B,MAAMC,GAAoB,MACtB,WAAAj3B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAK8wB,WAAa9yB,EAAYgC,KAAM,cACpCA,KAAK+wB,MAAQ,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,IAC/B/wB,KAAKkH,aAAe,IACxB,CACA,eAAA8pB,CAAgB5vB,GACZpB,KAAKkH,aAAe9F,EACpBpB,KAAK8wB,WAAWtwB,KAAKY,EACzB,CACA,MAAAV,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8Cd,KAAK+wB,MAAMnwB,KAAIQ,GAASnD,EAAE,MAAO,CAAEgD,MAAO,CACvG,iBAAkB,KAClBiD,SAAYlE,KAAKkH,eAAiB9F,GACnC+C,QAAS,IAAMnE,KAAKgxB,gBAAgB5vB,IAASnD,EAAE,gBAAiB,CAAEmC,MAAO,UAAWgB,KAAMA,OACrG,GAEJ21B,GAAkB11B,MAAQy1B,GAE1B,MAAME,GAAoB,2cAE1B,MAAMC,GAAoB,IAC1B,MAAMC,GAAiB,MACnB,WAAAp3B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKqF,UAAY,MACjBrF,KAAKm3B,UAAY,EACjBn3B,KAAKkX,QAAU,GACflX,KAAKo3B,UAAY,EACjBp3B,KAAKq3B,YAAc,MACnBr3B,KAAKs3B,aAAexvB,OAAOihB,WAAakO,EAC5C,CACA,kBAAAM,GACIv3B,KAAKs3B,aAAexvB,OAAOihB,WAAakO,GACxCj3B,KAAKw3B,2BACT,CACA,iBAAAhzB,GACIxE,KAAKs3B,aAAexvB,OAAOihB,WAAakO,GACxCj3B,KAAKw3B,2BACT,CACA,mBAAAC,GACIz3B,KAAKw3B,2BACT,CACA,yBAAAA,GACI,IAAIzuB,EACJ,GAAI/I,KAAKqF,WAAarF,KAAKiM,cAAe,CACtC,MAAMyrB,EAAa13B,KAAKiM,cAAciM,wBACtC,MAAMyf,GAAkB5uB,EAAK/I,KAAKoR,GAAGlF,cAAgB,MAAQnD,SAAY,OAAS,EAAIA,EAAGgB,cAAc,oBACvG,IAAK/J,KAAKs3B,aAAc,CACpBt3B,KAAKo3B,UAAYM,EAAW50B,KAAO40B,EAAWp1B,MAAQ,EACtDtC,KAAKq3B,YAAc,QAAQ,SAASr3B,KAAKm3B,cAC7C,KACK,CACD,MAAMS,EAAcD,EAAezf,wBACnClY,KAAKo3B,UAAYM,EAAW50B,KAAO40B,EAAWp1B,MAAQ,EAAIs1B,EAAYt1B,MAAQ,EAC9EtC,KAAKq3B,YAAc,GAAGK,EAAW50B,KAAO40B,EAAWp1B,MAAQ,EAAIs1B,EAAY90B,KAAO9C,KAAKm3B,aAC3F,CACJ,CACJ,CACA,MAAAz2B,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,2CAA4CO,MAAO,CAClEqB,SAAU,QACViM,OAAQ,OACRkpB,WAAY,uDACZ7wB,WAAYhH,KAAKqF,UAAY,UAAY,SACzCvC,MAAO9C,KAAKs3B,aAAe,GAAGt3B,KAAKo3B,cAAgB,MACnDU,aAAc,GAAG93B,KAAKkX,QAAUlX,KAAKm3B,gBACpCl5B,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,kBAAmBkD,QAAS5D,GAASA,EAAMmK,mBAAqBzM,EAAE,OAAQ,CAAE6C,IAAK,6CAA+C7C,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,wBAAyBI,MAAO,CACvSqB,SAAU,QACVI,KAAM9C,KAAKq3B,YACXnsB,OAAQ,IAAIlL,KAAKm3B,UAAY,QAC5Bl5B,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,gBAAiBI,MAAO,CAC5F02B,WAAY,GAAG/3B,KAAKm3B,gCACpBa,YAAa,GAAGh4B,KAAKm3B,gCACrBc,UAAW,GAAGj4B,KAAKm3B,8EACnB/pB,OAAQ,+CACNnP,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,qBAAsBI,MAAO,CAClGqB,SAAU,WACVJ,MAAO,GAAGtC,KAAKm3B,UAAY,MAC3B50B,OAAQ,GAAGvC,KAAKm3B,cAChBv0B,gBAAiB,4DACjBsI,OAAQ,GAAGlL,KAAKm3B,UAAY,WAExC,CACA,MAAI/lB,GAAO,OAAOjT,EAAW6B,KAAO,GAExCk3B,GAAe71B,MAAQ21B,GAEvB,MAAMkB,GAAyB,2fAE/B,MAAMC,GAAsB,MACxB,WAAAr4B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKoL,KAAOpN,EAAYgC,KAAM,QAC9BA,KAAKsL,KAAOtN,EAAYgC,KAAM,QAC9BA,KAAKwL,OAASxN,EAAYgC,KAAM,SACpC,CACA,UAAAo4B,CAAW73B,GACP,GAAIA,EAAM8U,WAAY,CAClB9U,EAAMyI,iBACNzI,EAAMmK,kBACN1K,KAAKoL,KAAK5K,MACd,CACJ,CACA,UAAA63B,CAAW93B,GACPA,EAAMyI,iBACNzI,EAAMmK,kBACN1K,KAAKsL,KAAK9K,MACd,CACA,MAAAE,GACI,OAAQzC,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,iBAAkBkD,QAAS5D,GAASP,KAAKo4B,WAAW73B,IAAUtC,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAM,UAAYlD,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,iBAAkBkD,QAAS5D,GAASP,KAAKq4B,WAAW93B,IAAUtC,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAM,UAAYlD,EAAE,MAAO,CAAE6C,IAAK,2CAA4CG,MAAO,sBAAwBhD,EAAE,SAAU,CAAE6C,IAAK,2CAA4CG,MAAO,kBAAoBhD,EAAE,eAAgB,CAAE6C,IAAK,2CAA4CK,KAAM,SAAUgD,QAAS,IAAMnE,KAAKwL,OAAOhL,UACpyB,GAEJ23B,GAAoB92B,MAAQ62B,GAE5B,MAAMI,GAA6B,sDAEnC,MAAMC,GAA0B,MAC5B,WAAAz4B,CAAYC,GACRhC,EAAiBiC,KAAMD,GACvBC,KAAKqU,wBAA0BrW,EAAYgC,KAAM,2BACjDA,KAAKw4B,gBAAkBx6B,EAAYgC,KAAM,mBACzCA,KAAKsU,WAAa,GAClBtU,KAAK2xB,aAAe,KACpB3xB,KAAKupB,aAAe,KACpBvpB,KAAKyI,cAAgB,KACrBzI,KAAKy4B,mBAAqBplB,UACtB,IAAItK,SACIA,EAAK/I,KAAK04B,kBAAoB,MAAQ3vB,SAAY,OAAS,EAAIA,EAAGytB,YAC1ElE,uBAAsB,KAClBtyB,KAAKupB,aAAe,IAAIzG,GAAiB9jB,EAAaqlB,eAAgB,iBACtErkB,KAAK2xB,aAAe,CAAC,GACvB,EAEN3xB,KAAK24B,iBAAmB,KACpB34B,KAAK2xB,aAAe,KACpB3xB,KAAKupB,aAAe,IAAI,EAE5BvpB,KAAK44B,WAAavlB,MAAOzO,IACrB,MAAMiR,EAAYjR,EAAKxE,MACvB,MAAMy4B,EAAmBjuB,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGgL,GAAY,CAAE1U,KAAMyD,EAAKvE,QAClF,GAAIL,KAAKupB,aAAc,OACbvpB,KAAKyI,cAAcgc,gBAAgBoU,GACzC74B,KAAK84B,gBAAgBD,EACzB,KACK,OACK74B,KAAKyI,cAAc+b,gBAAgBqU,EAC7C,CACA74B,KAAK2xB,aAAe,KACpB3xB,KAAKupB,aAAe,IAAI,EAE5BvpB,KAAK+4B,aAAgBtzB,IACjBzF,KAAK2xB,aAAelsB,CAAK,EAE7BzF,KAAKg5B,aAAe3lB,MAAO4lB,IACvB,IAAIlwB,QACE/I,KAAKyI,cAAc8c,gBAAgB0T,GACzC,KAAMlwB,EAAK/I,KAAKwV,mBAAqB,MAAQzM,SAAY,OAAS,EAAIA,EAAG4L,MAAQskB,EAAkBtkB,GAAI,CACnG,MAAMukB,EAAqBl5B,KAAKm5B,iBAAiB/vB,MAAKkc,GAAKA,EAAE3Q,KAAOskB,EAAkBtkB,MAAO,KAC7F3U,KAAK84B,gBAAgBI,EACzB,EAER,CACA,oBAAIC,GACA,MAAMC,EAAmB,IAAI,IAAIlnB,IAAIlS,KAAKsU,WAAW1T,KAAIiV,GAAa,CAACA,EAAUlB,GAAIkB,MAAa2B,UAClG,MAAO,CAACxX,KAAKupB,gBAAiB6P,GAAkBhsB,QAAOqe,GAAMA,IAAO,OAAMvH,MAAK,CAACjH,EAAGrb,IAAMA,EAAEohB,UAAUmB,UAAYlH,EAAE+F,UAAUmB,WACjI,CACA,mBAAIuN,GACA,OAAO1xB,KAAKm5B,iBAAiBhd,WAAUsP,IAAQ,IAAI1iB,EAAI,OAAO0iB,EAAG9W,OAAS5L,EAAK/I,KAAKwV,mBAAqB,MAAQzM,SAAY,OAAS,EAAIA,EAAG4L,GAAG,GACpJ,CACA,uBAAMnQ,SACIxE,KAAKyJ,mBACXzJ,KAAKqU,wBAAwB7T,MACjC,CACA,sBAAMiJ,SACIE,eAAeC,YAAY,kBACjC5J,KAAKyI,cAAgBzI,KAAK6J,KAAKC,cAAcC,cAAc,kBAC3D,IAAK/J,KAAKyI,cAAe,CACrB,MAAM,IAAIuB,MAAM,8CACpB,CACJ,CACA,YAAAwoB,CAAa3c,GACT7V,KAAK84B,gBAAgBjjB,EACzB,CACA,eAAAijB,CAAgBjjB,GACZ,GAAI7V,KAAK2xB,eAAiB,KACtB,OACJ3xB,KAAKwV,gBAAkBxV,KAAKm5B,iBAAiB/vB,MAAKqiB,GAAMA,EAAG9W,KAAOkB,EAAUlB,KAC5E3U,KAAKw4B,gBAAgBh4B,KAAKqV,EAC9B,CACA,MAAAnV,GACI,MAAM24B,EAA4Br5B,KAAKm5B,iBAAiBv4B,KAAI,CAAC6qB,EAAIhmB,KAAU,CACvEpF,MAAOorB,EAAGtqB,KACVf,MAAOqrB,EACPgH,OAAQ,IAAMzyB,KAAKwyB,aAAa/G,GAChCuH,OAAQhzB,KAAK24B,iBACb1F,KAAMjzB,KAAK44B,WACXhd,SAAU,CACN,CACIvb,MAAO,SACPD,MAAO,SACPqyB,OAAQ,IAAMzyB,KAAK+4B,aAAatzB,IAEpC,CACIpF,MAAO,SACPD,MAAO,SACPmF,SAAUvF,KAAKm5B,iBAAiBn3B,QAAU,EAC1CywB,OAAQ,IAAMzyB,KAAKg5B,aAAavN,SAI5C,OAAQxtB,EAAEC,EAAM,CAAE4C,IAAK,4CAA8C7C,EAAE,uBAAwB,CAAE6C,IAAK,2CAA4CqQ,IAAKC,GAAOpR,KAAK04B,eAAiBtnB,EAAKslB,WAAY,OAAQ31B,QAASs4B,EAA2B3H,gBAAiB1xB,KAAK0xB,gBAAiBC,aAAc3xB,KAAK2xB,aAAc2H,cAAet5B,KAAKy4B,mBAAoBc,aAAcv5B,KAAK24B,mBACxX,CACA,QAAI9uB,GAAS,OAAO1L,EAAW6B,KAAO,GAE1Cu4B,GAAwBl3B,MAAQi3B,UAEvBz4B,yBAA0C0B,mBAA+ByB,2BAA8CqB,0BAA4C0B,kCAA2DsB,iCAAyDa,sBAAqCuE,0BAA4CiD,sBAAqCsD,oBAAiCsW,qBAAiCgH,mBAA6BE,0BAA0CK,wBAAsCK,mBAA6BK,mBAA6B0C,qBAAiC2B,2BAA4CmB,0BAA0CG,sBAAmCiB,4BAA8CI","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ const o=()=>{};export{o as g};
2
+ //# sourceMappingURL=p-DQuL1Twl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DQuL1Twl.js","sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\nexport const globalStyles = \"\";\n"],"names":[],"mappings":"AAAY,MAAC,aAAa,GAAG,MAAM;;;;"}
@@ -0,0 +1,2 @@
1
+ class t{constructor(t,i,s=false){var e,n;this._store=t;this.initiator=(n=(e=i===null||i===void 0?void 0:i.constructor)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"Unknown";this.skipHistory=s}execute(){throw new Error("Method not implemented.")}undo(){throw new Error("Method not implemented.")}}var i=undefined&&undefined.__rest||function(t,i){var s={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&i.indexOf(e)<0)s[e]=t[e];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var n=0,e=Object.getOwnPropertySymbols(t);n<e.length;n++){if(i.indexOf(e[n])<0&&Object.prototype.propertyIsEnumerable.call(t,e[n]))s[e[n]]=t[e[n]]}return s};class s{static generateUUID(){return Math.random().toString(36).substr(2,9)}static clone(t){const s=t=>{const s=t,{element:e}=s,n=i(s,["_store","_elementRef","totalWidth","totalHeight","element"]);const r=structuredClone(n);if(e&&typeof e==="object"&&"nodeType"in e&&e.nodeType===1){r.element=e.cloneNode(true)}return r};if(Array.isArray(t)){return t.map(s)}return s(t)}static isEmpty(t){if(t===null||t===undefined){return true}return(Object===null||Object===void 0?void 0:Object.keys(t).length)===0&&(t===null||t===void 0?void 0:t.constructor)===Object}}class e extends t{constructor(t,i,s,e,n=false){super(t,i,n);this.object=s;this.updatedProperties=e;this.previousProperties={};for(const t in e){if(e.hasOwnProperty(t)){this.previousProperties[t]=this.object[t]}}}execute(){for(const t in this.updatedProperties){if(this.updatedProperties.hasOwnProperty(t)){this.object[t]=this.updatedProperties[t]}}this._store.updateObjectInDatabase(s.clone(this.object))}undo(){for(const t in this.previousProperties){if(this.previousProperties.hasOwnProperty(t)){this.object[t]=this.previousProperties[t]}}this._store.updateObjectInDatabase(s.clone(this.object))}}class n{static registerTool(t,i,s){const e=new i(s);e.name=t;this.registry[t]=e;return e}static getTool(t){const i=this.registry[t];if(!i){console.warn(`Unknown tool: ${t}`);return null}return i}}n.registry={};class r{constructor(t){this.__class__=this.constructor.name;this.name="base-tool";this._store=t}onActivate(){}onDeactivate(){}handlePointerDown(t){}handlePointerMove(t){}handlePointerUp(t){}handleWheel(t){}revive(t){Object.assign(this,t);return this}}class h extends t{constructor(t,i,s,e=false){super(t,i,e);this.object=s}execute(){this._store.state.objectsOctree.insert(this.object);this._store.addObjectToDatabase(s.clone(this.object))}undo(){this._store.state.objectsOctree.remove((t=>t.id===this.object.id));this._store.deleteObjectFromDatabase(this.object.id)}}var o;(function(t){t[t["Left"]=0]="Left";t[t["Middle"]=1]="Middle";t[t["Right"]=2]="Right"})(o||(o={}));class c{static isRightClick(t){return t.button===o.Right}static isLeftClick(t){return t.button===o.Left}static isMainMouseWheel(t){return Math.abs(t.deltaY)>0&&Math.abs(t.deltaX)===0&&Number.isInteger(t.deltaY)}static isPointerEventOnContextMenu(t){const i=t.composedPath();const s=i.find((t=>t.classList&&t.classList.contains("context-menu")));return!!s}static onLongTouchPress(t,i,s){if(t.pointerType!=="touch"){s===null||s===void 0?void 0:s();return()=>{}}const e=400;const n=10;const r=t.clientX;const h=t.clientY;const o=t.target;const c=setTimeout((()=>{d();i(t)}),e);const f=()=>{clearTimeout(c);d();s===null||s===void 0?void 0:s()};const a=t=>{if(Math.abs(t.clientX-r)>n||Math.abs(t.clientY-h)>n){f()}};const u=()=>{f()};const l=()=>{f()};const d=()=>{o.removeEventListener("pointermove",a);o.removeEventListener("pointerup",u);o.removeEventListener("pointercancel",l)};o.addEventListener("pointermove",a,{passive:true});o.addEventListener("pointerup",u,{once:true});o.addEventListener("pointercancel",l,{once:true});return f}}class f{static forceHideKeyboard(){if(document.activeElement instanceof HTMLElement){document.activeElement.blur()}}static enableInteractiveWidget(){const t=document.querySelector('meta[name="viewport"][content*="interactive-widget=resizes-content"]');if(t){let i=t.getAttribute("content");if(!i.includes("interactive-widget=resizes-content")){i+=", interactive-widget=resizes-content"}t.setAttribute("content",i)}}static disableInteractiveWidget(){const t=document.querySelector('meta[name="viewport"][content*="interactive-widget=resizes-content"]');if(t){let i=t.getAttribute("content");let s=i.replace(/\s*interactive-widget=resizes-content\s*[,;]?/g,"");s=s.replace(/,(\s*,)+/g,",").replace(/^,/,"").replace(/,$/,"").trim();t.setAttribute("content",s)}}}class a extends r{constructor(t){super(t);this.fontFamily="Arial";this.fontSize=16;this.fontColor="#000000";this.palette=["#000000","#FFFFFF","#FF0000","#00FF00","#0000FF","#FFFF00","#FF00FF","#00FFFF","#808080","#C0C0C0","#800000","#008000","#000080","#808000","#800080"]}handlePointerDown(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){const i=t.composedPath().slice(1);const s=i.find((t=>t.classList&&t.classList.contains("object")));const e=this._store.findObjectById(s===null||s===void 0?void 0:s.id);if(this._store.state.activeText===null&&e&&e instanceof d){this._store.state.activeText=e;e.focus();return}if(this._store.state.activeText!==null&&e instanceof d){e.focus();return}if(this._store.state.activeText!==null){this._store.resetActiveText();this._store.setState("activeTool",n.getTool("selection"));return}if(c.isLeftClick(t)===false){return}const r=t.clientX-this._store.offsetX;const o=t.clientY-this._store.offsetY;const f=d.create(this._store,this.fontSize,this.fontFamily);f.fontColor=this.fontColor;f.translateX=(r-this._store.state.translateX)/this._store.state.scale;f.translateY=(o-this._store.state.translateY)/this._store.state.scale;f.zIndex=this._store.currentZIndex;this._store.state.activeText=f;this._store.history.executeCommand(new h(this._store,this,f))}if(t.pointerType==="touch"){const i=Array.from(this._store.state.pointers.values());const s=t.composedPath().slice(1);const e=s.find((t=>t.classList&&t.classList.contains("object")));const r=this._store.findObjectById(e===null||e===void 0?void 0:e.id);if(this._store.state.activeText===null&&r&&r instanceof d){this._store.state.activeText=r;r.focus();return}if(this._store.state.activeText!==null&&r instanceof d){r.focus();return}if(this._store.state.activeText!==null){this._store.resetActiveText();this._store.setState("activeTool",n.getTool("selection"));return}if(i.length>1){return}f.disableInteractiveWidget();const o=Math.round(i[0].clientX-this._store.offsetX);const c=Math.round(i[0].clientY-this._store.offsetY);const a=d.create(this._store,this.fontSize,this.fontFamily);a.fontColor=this.fontColor;a.translateX=(o-this._store.state.translateX)/this._store.state.scale;a.translateY=(c-this._store.state.translateY)/this._store.state.scale;a.zIndex=this._store.currentZIndex;this._store.state.activeText=a;this._store.history.executeCommand(new h(this._store,this,a))}}handlePointerUp(t){var i,s,e,n;if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){(i=this._store.state.activeText)===null||i===void 0?void 0:i.updateTextareaDimensions();(s=this._store.state.activeText)===null||s===void 0?void 0:s.focus()}if(t.pointerType==="touch"){(e=this._store.state.activeText)===null||e===void 0?void 0:e.updateTextareaDimensions();(n=this._store.state.activeText)===null||n===void 0?void 0:n.focus();f.enableInteractiveWidget()}}}class u{static doPolygonsIntersect(t,i){const s=[t.bottomLeft,t.bottomRight,t.topRight,t.topLeft];const e=[i.bottomLeft,i.bottomRight,i.topRight,i.topLeft];for(const t of s){if(this.isPointInPolygon(t,e)){return true}}for(const t of e){if(this.isPointInPolygon(t,s)){return true}}for(let t=0;t<s.length;t++){const i=s[t];const n=s[(t+1)%s.length];for(let t=0;t<e.length;t++){const s=e[t];const r=e[(t+1)%e.length];if(this.intersectLines(i,n,s,r)){return true}}}return false}static isPointInPolygon(t,i){let s=false;for(let e=0,n=i.length-1;e<i.length;n=e++){const r=i[e].x,h=i[e].y;const o=i[n].x,c=i[n].y;const f=h>t.y!==c>t.y&&t.x<(o-r)*(t.y-h)/(c-h)+r;if(f)s=!s}return s}static intersectLines(t,i,s,e){const n=(i.x-t.x)*(e.y-s.y)-(i.y-t.y)*(e.x-s.x);if(n===0){return false}const r=((s.x-t.x)*(e.y-s.y)-(s.y-t.y)*(e.x-s.x))/n;const h=-((t.x-s.x)*(i.y-t.y)-(t.y-s.y)*(i.x-t.x))/n;return r>=0&&r<=1&&h>=0&&h<=1}}class l{get totalWidth(){return this.width+this.padding*2}get totalHeight(){return this.height+this.padding*2}set elementRef(t){this._elementRef=t}get elementRef(){return this._elementRef}get boundingBox(){return{x:this.translateX,y:this.translateY,z:this.scale,width:this.totalWidth/this.scale,height:this.totalHeight/this.scale,depth:0}}get rotatedBoundingBox(){return{x:this.minXRotated,y:this.minYRotated,z:this.scale,width:this.maxXRotated-this.minXRotated,height:this.maxYRotated-this.minYRotated,depth:0}}get rotatedPolygon(){const t=this.translateX+this.totalWidth/2/this.scale;const i=this.translateY+this.totalHeight/2/this.scale;const s=this.rotation;const e=this.totalWidth/this.scale;const n=this.totalHeight/this.scale;const r={topLeft:{x:this.translateX,y:this.translateY},topRight:{x:this.translateX+e,y:this.translateY},bottomRight:{x:this.translateX+e,y:this.translateY+n},bottomLeft:{x:this.translateX,y:this.translateY+n}};const h=Object.keys(r).reduce(((e,n)=>{const h=r[n];const o=Math.cos(s)*(h.x-t)-Math.sin(s)*(h.y-i)+t;const c=Math.sin(s)*(h.x-t)+Math.cos(s)*(h.y-i)+i;e[n]={x:o,y:c};return e}),{});return h}get minXRotated(){const t=[this.rotatedPolygon.topLeft.x,this.rotatedPolygon.topRight.x,this.rotatedPolygon.bottomRight.x,this.rotatedPolygon.bottomLeft.x];return Math.min(...t)}get minYRotated(){const t=[this.rotatedPolygon.topLeft.y,this.rotatedPolygon.topRight.y,this.rotatedPolygon.bottomRight.y,this.rotatedPolygon.bottomLeft.y];return Math.min(...t)}get maxXRotated(){const t=[this.rotatedPolygon.topLeft.x,this.rotatedPolygon.topRight.x,this.rotatedPolygon.bottomRight.x,this.rotatedPolygon.bottomLeft.x];return Math.max(...t)}get maxYRotated(){const t=[this.rotatedPolygon.topLeft.y,this.rotatedPolygon.topRight.y,this.rotatedPolygon.bottomRight.y,this.rotatedPolygon.bottomLeft.y];return Math.max(...t)}get transformationMatrix(){const t=1/this.scale;const i=this.translateX;const s=this.translateY;return`matrix(${t}, 0, 0, ${t}, ${i}, ${s})`}get rotationDegrees(){return this.rotation*(180/Math.PI)}get centerX(){return this.translateX+this.totalWidth/2}get centerY(){return this.translateY+this.totalHeight/2}constructor(){this.__class__="KritzelBaseObject";this.borderWidth=0;this.opacity=1;this.padding=0;this.resizing=false;this.rotation=0;this.markedForRemoval=false;this.zIndex=0;this.isVisible=true;this.isSelected=false;this.isHovered=false;this.isMounted=false;this.isEditable=false;this.isInteractive=false;this.isDebugInfoVisible=false;this.id=this.generateId()}static create(t){const i=new l;i._store=t;i.zIndex=t.currentZIndex;i.workspaceId=t.state.activeWorkspace.id;return i}mount(t){if(this.isMounted){return}this.elementRef=t;this.isMounted=true}unmount(){if(!this.isMounted){return}this.isMounted=false}remount(){if(!this.isMounted){return}this.isMounted=false}generateId(){return s.generateUUID()}isInViewport(){const t={x:-this._store.state.translateX/this._store.state.scale,y:-this._store.state.translateY/this._store.state.scale,width:this._store.state.viewportWidth/this._store.state.scale,height:this._store.state.viewportHeight/this._store.state.scale};return this.boundingBox.x<t.x+t.width&&this.boundingBox.x+this.boundingBox.width>t.x&&this.boundingBox.y<t.y+t.height&&this.boundingBox.y+this.boundingBox.height>t.y}centerInViewport(){const t=this._store.state.scale;this.translateX=(this._store.state.viewportWidth/2-this.totalWidth/2-this._store.state.translateX)/t;this.translateY=(this._store.state.viewportHeight/2-this.totalHeight/2-this._store.state.translateY)/t}move(t,i,s,e){const n=(t-s)/this._store.state.scale;const r=(i-e)/this._store.state.scale;this.translateX+=n;this.translateY+=r}resize(t,i,s,e){if(s<=1||e<=1){return}this.width=s;this.height=e;this.translateX=t;this.translateY=i}rotate(t){this.rotation=t}copy(){const t=Object.create(Object.getPrototypeOf(this));Object.assign(t,this);t.id=this.generateId();t.isMounted=false;return t}onSelectedClick(){}revive(t){Object.assign(this,t);return this}isClass(t){return this.__class__===t}edit(){}hitTest(t,i){return true}hitTestPolygon(t){const i=this.rotatedPolygon;return u.doPolygonsIntersect(i,t)}updatePosition(t,i){this.translateX=t;this.translateY=i;this._store.state.objectsOctree.update(this)}}class d extends l{get isReadonly(){return!(this._store.state.activeTool instanceof a)}constructor(t){super();this.__class__="KritzelText";this.value="";this.fontFamily="Arial";this.fontSize=8;this.fontColor="#000000";this.initialWidth=3;this.isNew=true;this.isDebugInfoVisible=true;this.isEditable=true;this.rows=1;if(t){this.value=t.value||" ";this.translateX=t.translateX||0;this.translateY=t.translateY||0;this.fontSize=t.fontSize||8;this.fontFamily=t.fontFamily||"Arial";this.fontColor=t.fontColor||"#000000";this.height=t.height||this.fontSize*1.2;this.width=t.width||0;this.scale=t.scale||1}}static create(t,i,s){const e=new d;e._store=t;e.id=e.generateId();e.workspaceId=t.state.activeWorkspace.id;e.fontSize=i;e.fontFamily=s;e.translateX=0;e.translateY=0;e.width=e.initialWidth/(e._store.state.scale<0?e._store.state.scale:1);e.height=e.fontSize*1.2/(e._store.state.scale<0?e._store.state.scale:1);e.padding=5;e.backgroundColor="transparent";e.scale=e._store.state.scale;e.value=" ";e.zIndex=t.currentZIndex;return e}mount(t){if(this.isMounted&&this.elementRef===t||this.isInViewport()===false){return}this.elementRef=t;this.isMounted=true}resize(t,i,s,e){if(s<=1||e<=1){return}const n=e/this.height;this.fontSize=this.fontSize*n;this.width=this.width*n;this.height=e;this.translateX=t;this.translateY=i}handleKeyDown(t){if(this.isReadonly){t.preventDefault();t.stopPropagation()}}handleInput(t){const i=t.target;if(i.value===""){this.value=" ";i.value=" ";i.selectionStart=i.selectionEnd=i.value.length}else{this.value=i.value.trim()}this.updateTextareaDimensions()}updateTextareaDimensions(){if(this.elementRef){const t=document.createElement("span");t.style.position="absolute";t.style.whiteSpace="pre-wrap";t.style.visibility="hidden";t.style.fontSize=window.getComputedStyle(this.elementRef).fontSize;t.style.fontFamily=window.getComputedStyle(this.elementRef).fontFamily;t.innerHTML=this.elementRef.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"<br>")+"<br>";document.body.appendChild(t);const i=t.offsetWidth;const s=t.offsetHeight;document.body.removeChild(t);this.width=i;this.height=s;this._store.history.executeCommand(new e(this._store,this,this,Object.assign({},this)))}}focus(){if(this.elementRef){this.elementRef.focus()}}selectAll(){if(this.elementRef){this.elementRef.select()}}insertFromClipboard(){if(this.elementRef){this.elementRef.focus();try{navigator.clipboard.readText().then((t=>{const i=this.elementRef.selectionStart;const s=this.elementRef.selectionEnd;const e=this.elementRef.value;this.elementRef.value=e.substring(0,i)+t+e.substring(s);this.elementRef.selectionStart=this.elementRef.selectionEnd=i+t.length;this.value=this.elementRef.value;this.updateTextareaDimensions()}))}catch(t){console.error("Failed to read clipboard contents:",t)}}}edit(){this._store.setState("activeTool",n.getTool("text"));this._store.state.selectionGroup=null;this._store.state.selectionBox=null;this._store.state.activeText=this;setTimeout((()=>{this.focus()}),300)}}var v={};var w;function A(){if(w)return v;w=1;(function(t){var i=Object.defineProperty;var s=t=>i(t,"__esModule",{value:true});var e=(t,e)=>{s(t);for(var n in e)i(t,n,{get:e[n],enumerable:true})};e(t,{default:()=>T,getStroke:()=>P,getStrokeOutlinePoints:()=>E,getStrokePoints:()=>F});function n(t,i,s,e=t=>t){return t*e(.5-i*(.5-s))}function r(t){return[-t[0],-t[1]]}function h(t,i){return[t[0]+i[0],t[1]+i[1]]}function o(t,i){return[t[0]-i[0],t[1]-i[1]]}function c(t,i){return[t[0]*i,t[1]*i]}function f(t,i){return[t[0]/i,t[1]/i]}function a(t){return[t[1],-t[0]]}function u(t,i){return t[0]*i[0]+t[1]*i[1]}function l(t,i){return t[0]===i[0]&&t[1]===i[1]}function d(t){return Math.hypot(t[0],t[1])}function v(t){return t[0]*t[0]+t[1]*t[1]}function w(t,i){return v(o(t,i))}function A(t){return f(t,d(t))}function p(t,i){return Math.hypot(t[1]-i[1],t[0]-i[0])}function m(t,i,s){let e=Math.sin(s),n=Math.cos(s),r=t[0]-i[0],h=t[1]-i[1],o=r*n-h*e,c=r*e+h*n;return[o+i[0],c+i[1]]}function g(t,i,s){return h(t,c(o(i,t),s))}function y(t,i,s){return h(t,c(i,s))}var{min:M,PI:b}=Math,U=.275,x=b+1e-4;function E(t,i={}){let{size:s=16,smoothing:e=.5,thinning:f=.5,simulatePressure:l=true,easing:d=t=>t,start:v={},end:p={},last:b=false}=i,{cap:E=true,easing:F=t=>t*(2-t)}=v,{cap:P=true,easing:T=t=>--t*t*t+1}=p;if(t.length===0||s<=0)return[];let B=t[t.length-1].runningLength,k=v.taper===false?0:v.taper===true?Math.max(s,B):v.taper,S=p.taper===false?0:p.taper===true?Math.max(s,B):p.taper,I=Math.pow(s*e,2),j=[],C=[],O=t.slice(0,10).reduce(((t,i)=>{let e=i.pressure;if(l){let n=M(1,i.distance/s),r=M(1,1-n);e=M(1,t+(r-t)*(n*U))}return(t+e)/2}),t[0].pressure),Q=n(s,f,t[t.length-1].pressure,d),z,R=t[0].vector,D=t[0].point,K=D,L=D,$=K,H=false;for(let i=0;i<t.length;i++){let{pressure:e}=t[i],{point:r,vector:v,distance:A,runningLength:p}=t[i];if(i<t.length-1&&B-p<3)continue;if(f){if(l){let t=M(1,A/s),i=M(1,1-t);e=M(1,O+(i-O)*(t*U))}Q=n(s,f,e,d)}else Q=s/2;z===void 0&&(z=Q);let y=p<k?F(p/k):1,b=B-p<S?T((B-p)/S):1;Q=Math.max(.01,Q*Math.min(y,b));let E=(i<t.length-1?t[i+1]:t[i]).vector,P=i<t.length-1?u(v,E):1,W=u(v,R)<0&&!H,_=P!==null&&P<0;if(W||_){let t=c(a(R),Q);for(let i=1/13,s=0;s<=1;s+=i)L=m(o(r,t),r,x*s),j.push(L),$=m(h(r,t),r,x*-s),C.push($);D=L,K=$,_&&(H=true);continue}if(H=false,i===t.length-1){let t=c(a(v),Q);j.push(o(r,t)),C.push(h(r,t));continue}let X=c(a(g(E,v,P)),Q);L=o(r,X),(i<=1||w(D,L)>I)&&(j.push(L),D=L),$=h(r,X),(i<=1||w(K,$)>I)&&(C.push($),K=$),O=e,R=v}let W=t[0].point.slice(0,2),_=t.length>1?t[t.length-1].point.slice(0,2):h(t[0].point,[1,1]),X=[],Y=[];if(t.length===1){if(!(k||S)||b){let t=y(W,A(a(o(W,_))),-(z||Q)),i=[];for(let s=1/13,e=s;e<=1;e+=s)i.push(m(t,W,x*2*e));return i}}else{if(!(k||S&&t.length===1))if(E)for(let t=1/13,i=t;i<=1;i+=t){let t=m(C[0],W,x*i);X.push(t)}else{let t=o(j[0],C[0]),i=c(t,.5),s=c(t,.51);X.push(o(W,i),o(W,s),h(W,s),h(W,i))}let i=a(r(t[t.length-1].vector));if(S||k&&t.length===1)Y.push(_);else if(P){let t=y(_,i,Q);for(let i=1/29,s=i;s<1;s+=i)Y.push(m(t,_,x*3*s))}else Y.push(h(_,c(i,Q)),h(_,c(i,Q*.99)),o(_,c(i,Q*.99)),o(_,c(i,Q)))}return j.concat(Y,C.reverse(),X)}function F(t,i={}){var s;let{streamline:e=.5,size:n=16,last:r=false}=i;if(t.length===0)return[];let c=.15+(1-e)*.85,f=Array.isArray(t[0])?t:t.map((({x:t,y:i,pressure:s=.5})=>[t,i,s]));if(f.length===2){let t=f[1];f=f.slice(0,-1);for(let i=1;i<5;i++)f.push(g(f[0],t,i/4))}f.length===1&&(f=[...f,[...h(f[0],[1,1]),...f[0].slice(2)]]);let a=[{point:[f[0][0],f[0][1]],pressure:f[0][2]>=0?f[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],u=false,d=0,v=a[0],w=f.length-1;for(let t=1;t<f.length;t++){let i=r&&t===w?f[t].slice(0,2):g(v.point,f[t],c);if(l(v.point,i))continue;let s=p(i,v.point);if(d+=s,t<w&&!u){if(d<n)continue;u=true}v={point:i,pressure:f[t][2]>=0?f[t][2]:.5,vector:A(o(v.point,i)),distance:s,runningLength:d},a.push(v)}return a[0].vector=((s=a[1])==null?void 0:s.vector)||[0,0],a}function P(t,i={}){return E(F(t,i),i)}var T=P})(v);return v}var p=A();class m{static average(t,i){return(t+i)/2}}class g extends l{get viewBox(){return`${this.x} ${this.y} ${this.width} ${this.height}`}constructor(t){var i,s,e,n,r,h;super();this.__class__="KritzelPath";this.stroke="none";this.lineSlack=.5;this.x=0;this.y=0;this.height=0;this.width=0;this.scale=1;this.isVisible=true;this.isDebugInfoVisible=true;this._adjustedPoints=null;this.options=t;this.points=(i=t===null||t===void 0?void 0:t.points)!==null&&i!==void 0?i:[];this.translateX=(s=t===null||t===void 0?void 0:t.translateX)!==null&&s!==void 0?s:0;this.translateY=(e=t===null||t===void 0?void 0:t.translateY)!==null&&e!==void 0?e:0;this.scale=(n=t===null||t===void 0?void 0:t.scale)!==null&&n!==void 0?n:1;this.strokeWidth=(r=t===null||t===void 0?void 0:t.strokeWidth)!==null&&r!==void 0?r:8;this.fill=(h=t===null||t===void 0?void 0:t.fill)!==null&&h!==void 0?h:"#000000";this.d=this.generateSvgPath();this.updateDimensions()}static create(t,i){var s,e,n,r,h,o;const c=new g;c._store=t;c.id=c.generateId();c.workspaceId=t.state.activeWorkspace.id;c.options=i;c.points=(s=i===null||i===void 0?void 0:i.points)!==null&&s!==void 0?s:[];c.translateX=(e=i===null||i===void 0?void 0:i.translateX)!==null&&e!==void 0?e:0;c.translateY=(n=i===null||i===void 0?void 0:i.translateY)!==null&&n!==void 0?n:0;c.scale=(r=i===null||i===void 0?void 0:i.scale)!==null&&r!==void 0?r:1;c.strokeWidth=(h=i===null||i===void 0?void 0:i.strokeWidth)!==null&&h!==void 0?h:8;c.fill=(o=i===null||i===void 0?void 0:i.fill)!==null&&o!==void 0?o:"#000000";c.zIndex=t.currentZIndex;c.d=c.generateSvgPath();c.updateDimensions();return c}resize(t,i,s,e){if(s<=1||e<=1){return}const n=s/this.width;const r=e/this.height;this.width=s;this.height=e;this.points=this.points.map((([t,i])=>[t*n,i*r]));this.d=this.generateSvgPath();this.width=Math.max(...this.points.map((t=>t[0])))-Math.min(...this.points.map((t=>t[0])))+this.strokeWidth;this.height=Math.max(...this.points.map((t=>t[1])))-Math.min(...this.points.map((t=>t[1])))+this.strokeWidth;this.x=Math.min(...this.points.map((t=>t[0])))-this.strokeWidth/2;this.y=Math.min(...this.points.map((t=>t[1])))-this.strokeWidth/2;this.translateX=t;this.translateY=i;this._adjustedPoints=null}rotate(t){this.rotation=t;this._adjustedPoints=null}move(t,i,s,e){const n=(t-s)/this._store.state.scale;const r=(i-e)/this._store.state.scale;this.translateX+=n;this.translateY+=r;this._adjustedPoints=null}hitTest(t,i){const s=this.strokeWidth/this.scale/2;if(this._adjustedPoints===null){this._adjustedPoints=this.computeAdjustedPoints()}if(this._adjustedPoints.length===1){const e=this._adjustedPoints[0];const n=this.pointToLineSegmentDistance(t,i,e[0],e[1],e[0],e[1]);return n<=s}for(let e=0;e<this._adjustedPoints.length-1;e++){const n=this._adjustedPoints[e];const r=this._adjustedPoints[e+1];const h=this.pointToLineSegmentDistance(t,i,n[0],n[1],r[0],r[1]);if(h<=s){return true}}return false}hitTestPolygon(t){const i=this.strokeWidth/this.scale/2;if(this._adjustedPoints===null){this._adjustedPoints=this.computeAdjustedPoints()}const s=[{x:t.bottomLeft.x,y:t.bottomLeft.y},{x:t.bottomRight.x,y:t.bottomRight.y},{x:t.topRight.x,y:t.topRight.y},{x:t.topLeft.x,y:t.topLeft.y}];for(const[t,i]of this._adjustedPoints){if(u.isPointInPolygon({x:t,y:i},s)){return true}}for(const t of s){if(this.hitTest(t.x,t.y)){return true}}for(let t=0;t<this._adjustedPoints.length-1;t++){const i={x:this._adjustedPoints[t][0],y:this._adjustedPoints[t][1]};const e={x:this._adjustedPoints[t+1][0],y:this._adjustedPoints[t+1][1]};for(let t=0;t<s.length;t++){const n=s[t];const r=s[(t+1)%s.length];if(u.intersectLines(i,e,n,r)){return true}}}for(let t=0;t<this._adjustedPoints.length-1;t++){const e=this._adjustedPoints[t];const n=this._adjustedPoints[t+1];for(let t=0;t<s.length;t++){const r=s[t];const h=s[(t+1)%s.length];const o=this.pointToLineSegmentDistance(r.x,r.y,e[0],e[1],n[0],n[1]);const c=this.pointToLineSegmentDistance(h.x,h.y,e[0],e[1],n[0],n[1]);const f=this.pointToLineSegmentDistance(e[0],e[1],r.x,r.y,h.x,h.y);const a=this.pointToLineSegmentDistance(n[0],n[1],r.x,r.y,h.x,h.y);const u=Math.min(o,c,f,a);if(u<=i){return true}}}return false}updatePosition(t,i){this.translateX=t;this.translateY=i;this._adjustedPoints=null;this._store.state.objectsOctree.update(this)}computeAdjustedPoints(){var t;if(!((t=this.points)===null||t===void 0?void 0:t.length)){return[]}const i=this.rotation;const s=Math.cos(i);const e=Math.sin(i);const n=this.points.map((t=>t[0]));const r=this.points.map((t=>t[1]));const h={x:(Math.min(...n)+Math.max(...n))/2,y:(Math.min(...r)+Math.max(...r))/2};const{x:o,y:c}=h;const f=this.points.map((([t,i])=>{const n=t-o;const r=i-c;return[o+n*s-r*e,c+n*e+r*s]}));return f.map((([t,i])=>[Math.abs(t-this.x)/this.scale+this.translateX,Math.abs(i-this.y)/this.scale+this.translateY]))}pointToLineSegmentDistance(t,i,s,e,n,r){const h=t-s;const o=i-e;const c=n-s;const f=r-e;const a=h*c+o*f;const u=c*c+f*f;let l=-1;if(u!==0){l=a/u}let d,v;if(l<0){d=s;v=e}else if(l>1){d=n;v=r}else{d=s+l*c;v=e+l*f}const w=t-d;const A=i-v;return Math.sqrt(w*w+A*A)}updateDimensions(){const t=this.points.map((([t,i])=>{const s=t*Math.cos(this.rotation)-i*Math.sin(this.rotation);const e=t*Math.sin(this.rotation)+i*Math.cos(this.rotation);return[s,e]}));const i=Math.min(...t.map((t=>t[0]-this.strokeWidth/2)));const s=Math.min(...t.map((t=>t[1]-this.strokeWidth/2)));const e=Math.max(...t.map((t=>t[0]+this.strokeWidth/2)));const n=Math.max(...t.map((t=>t[1]+this.strokeWidth/2)));this.width=e-i+this.lineSlack;this.height=n-s+this.lineSlack;this.x=i;this.y=s;this.translateX=(this.x+this.translateX)/this.scale;this.translateY=(this.y+this.translateY)/this.scale}generateSvgPath(){const t=this.getStrokeFromPoints(this.points,this.strokeWidth);return this.getSvgPathFromStroke(t)}getStrokeFromPoints(t,i){return p.getStroke(t,{size:i,thinning:.5,smoothing:.5,streamline:.5,easing:t=>t,simulatePressure:true,last:true,start:{cap:true,taper:0,easing:t=>t},end:{cap:true,taper:0,easing:t=>t}})}getSvgPathFromStroke(t,i=true){const s=t.length;if(s<4){return``}let e=t[0];let n=t[1];const r=t[2];let h=`M${e[0].toFixed(2)},${e[1].toFixed(2)} Q${n[0].toFixed(2)},${n[1].toFixed(2)} ${m.average(n[0],r[0]).toFixed(2)},${m.average(n[1],r[1]).toFixed(2)} T`;for(let i=2,r=s-1;i<r;i++){e=t[i];n=t[i+1];h+=`${m.average(e[0],n[0]).toFixed(2)},${m.average(e[1],n[1]).toFixed(2)} `}if(i){h+="Z"}return h}}class y extends l{constructor(t){super();this.__class__="KritzelImage";this.src="";this.maxWidth=300;this.maxHeight=300;this.maxCompressionSize=300;this.isDebugInfoVisible=true;this.src=(t===null||t===void 0?void 0:t.src)||"";this.x=(t===null||t===void 0?void 0:t.x)||0;this.y=(t===null||t===void 0?void 0:t.y)||0;this.translateX=(t===null||t===void 0?void 0:t.translateX)||0;this.translateY=(t===null||t===void 0?void 0:t.translateY)||0;this.scale=(t===null||t===void 0?void 0:t.scale)||1}static create(t){const i=new y;i._store=t;i.id=i.generateId();i.workspaceId=t.state.activeWorkspace.id;i.x=0;i.y=0;i.translateX=0;i.translateY=0;i.scale=i._store.state.scale;i.zIndex=t.currentZIndex;return i}resize(t,i,s,e){if(s<=1||e<=1){return}const n=e/this.height;this.width=this.width*n;this.height=this.height*n;this.translateX=t;this.translateY=i}calculateScaledDimensions(t){let i=t.width;let s=t.height;if(t.width>this.maxWidth||t.height>this.maxHeight){const e=this.maxWidth/t.width;const n=this.maxHeight/t.height;const r=Math.min(e,n);i=t.width*r;s=t.height*r}return{scaledWidth:i,scaledHeight:s}}}class M extends r{constructor(t){super(t);this.type="pen";this.color="#000000";this.size=6;this.palettes={pen:["#000000","#FFFFFF","#FF0000","#00FF00","#0000FF","#FFFF00","#FF00FF","#00FFFF","#808080","#C0C0C0","#800000","#008000","#000080","#808000","#800080"],highlighter:["#ffff00","#ffb347","#b4ffb4"]}}handlePointerDown(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){if(c.isLeftClick(t)){this._store.state.isDrawing=true;const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this._store.state.currentPath=g.create(this._store,{points:[[i,s]],translateX:-this._store.state.translateX,translateY:-this._store.state.translateY,scale:this._store.state.scale,fill:this.color,strokeWidth:this.size})}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());if(t.length===1){const i=Math.round(t[0].clientX-this._store.offsetX);const s=Math.round(t[0].clientY-this._store.offsetY);this._store.state.isDrawing=true;this._store.state.currentPath=g.create(this._store,{points:[[i,s]],translateX:-this._store.state.translateX,translateY:-this._store.state.translateY,scale:this._store.state.scale,fill:this.color,strokeWidth:this.size});this._store.rerender()}}}handlePointerMove(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){if(this._store.state.isDrawing){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this._store.state.currentPath=g.create(this._store,{points:[...this._store.state.currentPath.points,[i,s]],translateX:-this._store.state.translateX,translateY:-this._store.state.translateY,scale:this._store.state.scale,fill:this.color,strokeWidth:this.size});this._store.rerender()}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());if(t.length===1){const i=Math.round(t[0].clientX-this._store.offsetX);const s=Math.round(t[0].clientY-this._store.offsetY);this._store.state.currentPath=g.create(this._store,{points:[...this._store.state.currentPath.points,[i,s]],translateX:-this._store.state.translateX,translateY:-this._store.state.translateY,scale:this._store.state.scale,fill:this.color,strokeWidth:this.size});this._store.rerender()}}}handlePointerUp(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){if(this._store.state.isDrawing){this._store.state.isDrawing=false;if(this._store.state.currentPath){this._store.state.currentPath.zIndex=this._store.currentZIndex;this._store.history.executeCommand(new h(this._store,this,this._store.state.currentPath))}this._store.state.currentPath=undefined}}if(t.pointerType==="touch"){if(this._store.state.isDrawing){this._store.state.isDrawing=false;if(this._store.state.currentPath){this._store.state.currentPath.zIndex=this._store.currentZIndex;this._store.history.executeCommand(new h(this._store,this,this._store.state.currentPath))}this._store.state.currentPath=undefined;this._store.rerender()}}}}class b extends t{constructor(t,i,s,e=false){super(t,i,e);this.commands=s}execute(){this.commands.forEach((t=>t.execute()))}undo(){this.commands.forEach((t=>t.undo()))}}class U extends l{constructor(t){super();this.__class__="KritzelCustomElement";this.isInteractive=true;if(t){this.translateX=t.translateX||0;this.translateY=t.translateY||0;this.scale=t.scale||1;this.element=t.element;this.height=t.height||0;this.width=t.width||0}}static create(t,i){const s=new U(i);s._store=t;s.id=s.generateId();s.workspaceId=t.state.activeWorkspace.id;return s}mount(t){if(this.isMounted){return}this.elementRef=t;this.isMounted=true;this.elementRef.appendChild(this.element)}resize(t,i,s,e){if(s<=1||e<=1){return}this.width=s;this.height=e;this.translateX=t;this.translateY=i;if(this.element){this.element.style.width=`${s}px`;this.element.style.height=`${e}px`}}copy(){const t=Object.create(Object.getPrototypeOf(this));Object.assign(t,this);t.id=this.generateId();t.isMounted=false;t.element=this.element.cloneNode(true);return t}}class x extends t{constructor(t,i,s,e=false){super(t,i,e);this.object=s}execute(){this._store.state.objectsOctree.remove((t=>t.id===this.object.id));this._store.state.objectsOctree.filter((t=>t instanceof U)).forEach((t=>t.remount()));this._store.deleteObjectFromDatabase(this.object.id)}undo(){this._store.state.objectsOctree.insert(this.object);this._store.state.objectsOctree.filter((t=>t instanceof U)).forEach((t=>t.remount()));this._store.addObjectToDatabase(s.clone(this.object))}}class E extends r{constructor(t){super(t);this.touchStartTimeout=null}handlePointerDown(t){if(t.pointerType==="mouse"){if(c.isLeftClick(t)){this._store.state.isErasing=true}}if(t.pointerType==="touch"){this.touchStartTimeout=setTimeout((()=>{if(this._store.state.pointers.size===1&&!this._store.state.isScaling){this._store.state.isErasing=true}}),80)}}handlePointerMove(t){var i;if(t.pointerType==="mouse"){if(this._store.state.isErasing){const i=this._store.getObjectsFromPointerEvent(t,".object");if(i.length===0)return;const s=this._store.state.pointerX;const e=this._store.state.pointerY;i.forEach((t=>{t.markedForRemoval=t.hitTest(s,e)}));this._store.rerender()}}if(t.pointerType==="touch"){if(this._store.state.pointers.size===1&&this._store.state.isErasing){const s=(i=this._store.state.host)===null||i===void 0?void 0:i.shadowRoot;if(!s)return;const e=this._store.getObjectsFromPointerEvent(t,".object");if(e.length===0)return;const n=this._store.state.pointerX;const r=this._store.state.pointerY;e.forEach((t=>{t.markedForRemoval=t.hitTest(n,r)}));this._store.rerender()}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._store.state.isErasing){const t=this._store.allObjects.filter((t=>t.markedForRemoval)).map((t=>{t.markedForRemoval=false;return new x(this._store,this,t)}));if(t.length>0){this._store.history.executeCommand(new b(this._store,this,t))}this._store.state.isErasing=false}}if(t.pointerType==="touch"){clearTimeout(this.touchStartTimeout);if(this._store.state.isErasing){const t=this._store.allObjects.filter((t=>t.markedForRemoval)).map((t=>{t.markedForRemoval=false;return new x(this._store,this,t)}));if(t.length>0){this._store.history.executeCommand(new b(this._store,this,t))}this._store.state.isErasing=false}}}}class F extends t{constructor(t,i,s=false){super(t,i,s);this.previousSelectionGroup=this._store.state.selectionGroup}execute(){this._store.state.objectsOctree.remove((t=>{var i;return t.id===((i=this.previousSelectionGroup)===null||i===void 0?void 0:i.id)}));this._store.state.selectionGroup=null}undo(){if(this.previousSelectionGroup){this._store.state.objectsOctree.insert(this.previousSelectionGroup);this._store.state.selectionGroup=this.previousSelectionGroup}}}class P extends t{constructor(t,i,s,e,n,r,h=false,o=false){super(t,i,o);this.startX=s;this.startY=e;this.endX=n;this.endY=r;this.skipExecution=h;this.selectionGroup=this._store.state.selectionGroup}execute(){if(this.skipExecution){this.skipExecution=false;return}this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.move(this.startX,this.startY,this.endX,this.endY)}undo(){this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.move(this.endX,this.endY,this.startX,this.startY)}}class T{constructor(t){this._store=t}}class B extends T{constructor(t){super(t)}handlePointerDown(t){var i,s;if(t.pointerType==="mouse"){if(c.isLeftClick(t)){if(((i=this._store.state.selectionGroup)===null||i===void 0?void 0:i.isSelected)&&!this._store.state.isResizeHandleSelected&&!this._store.state.isRotationHandleSelected){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this._store.state.isDragging=true;this.dragStartX=i;this.dragStartY=s;this.startX=this.dragStartX;this.startY=this.dragStartY}}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());if(this._store.state.pointers.size===1){if(((s=this._store.state.selectionGroup)===null||s===void 0?void 0:s.isSelected)&&!this._store.state.isResizeHandleSelected&&!this._store.state.isRotationHandleSelected){const i=Math.round(t[0].clientX-this._store.offsetX);const s=Math.round(t[0].clientY-this._store.offsetY);this.dragStartX=i;this.dragStartY=s;this.startX=i;this.startY=s}}}}handlePointerMove(t){if(t.pointerType==="mouse"){if(this._store.state.isDragging&&this._store.state.selectionGroup){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this.endX=i;this.endY=s;this._store.state.selectionGroup.move(i,s,this.dragStartX,this.dragStartY);this.dragStartX=i;this.dragStartY=s}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());if(this._store.state.pointers.size===1&&this._store.state.selectionGroup&&!this._store.state.isResizeHandleSelected&&!this._store.state.isRotationHandleSelected){const i=Math.round(t[0].clientX-this._store.offsetX);const s=Math.round(t[0].clientY-this._store.offsetY);this._store.state.isDragging=true;this.endX=i;this.endY=s;const e=Math.abs(i-this.startX);const n=Math.abs(s-this.startY);const r=5;if(e>r||n>r){clearTimeout(this._store.state.longTouchTimeout);this._store.state.selectionGroup.move(i,s,this.dragStartX,this.dragStartY);this.dragStartX=i;this.dragStartY=s}}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._store.state.isDragging){this._store.state.isDragging=false;const t=new P(this._store,this,this.endX,this.endY,this.startX,this.startY,true);const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,{translateX:t.translateX,translateY:t.translateY})));this._store.history.executeCommand(new b(this._store,this,[t,...i]))}}if(t.pointerType==="touch"){if(this._store.state.isDragging){this._store.state.isDragging=false;const t=new P(this._store,this,this.endX,this.endY,this.startX,this.startY,true);const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,{translateX:t.translateX,translateY:t.translateY})));this._store.history.executeCommand(new b(this._store,this,[t,...i]))}}}}var k;(function(t){t["TopLeft"]="top-left";t["TopRight"]="top-right";t["BottomLeft"]="bottom-left";t["BottomRight"]="bottom-right"})(k||(k={}));class S extends t{constructor(t,i,s,e,n=false){super(t,i,n);this.previousSize=s;this.newSize=e;this.selectionGroup=this._store.state.selectionGroup}execute(){this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.resize(this.newSize.x,this.newSize.y,this.newSize.width,this.newSize.height)}undo(){this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.resize(this.previousSize.x,this.previousSize.y,this.previousSize.width,this.previousSize.height)}}class I extends T{constructor(t){super(t);this.initialMouseX=0;this.initialMouseY=0;this.initialSize={x:0,y:0,width:0,height:0};this.newSize={x:0,y:0,width:0,height:0}}handlePointerDown(t){if(t.pointerType==="mouse"){if(c.isLeftClick(t)){if(this._store.state.selectionGroup&&this._store.state.isResizeHandleSelected){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this._store.state.isResizing=true;this.initialMouseX=i;this.initialMouseY=s;this.initialSize.width=this._store.state.selectionGroup.width;this.initialSize.height=this._store.state.selectionGroup.height;this.initialSize.x=this._store.state.selectionGroup.translateX;this.initialSize.y=this._store.state.selectionGroup.translateY}}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}if(t.length===1){if(this._store.state.selectionGroup&&this._store.state.isResizeHandleSelected){const t=Math.round(i.clientX-this._store.offsetX);const s=Math.round(i.clientY-this._store.offsetY);this._store.state.isResizing=true;this.initialMouseX=t;this.initialMouseY=s;this.initialSize.width=this._store.state.selectionGroup.width;this.initialSize.height=this._store.state.selectionGroup.height;this.initialSize.x=this._store.state.selectionGroup.translateX;this.initialSize.y=this._store.state.selectionGroup.translateY;clearTimeout(this._store.state.longTouchTimeout)}}}}handlePointerMove(t){if(t.pointerType==="mouse"){if(this._store.state.isResizing&&this._store.state.selectionGroup){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;const e=i-this.initialMouseX;const n=s-this.initialMouseY;switch(this._store.state.resizeHandleType){case k.TopLeft:this.newSize.width=this.initialSize.width-e;this.newSize.height=this.initialSize.height-n;this.newSize.x=e/this._store.state.scale+this.initialSize.x;this.newSize.y=n/this._store.state.scale+this.initialSize.y;break;case k.TopRight:this.newSize.width=this.initialSize.width+e;this.newSize.height=this.initialSize.height-n;this.newSize.x=this.initialSize.x;this.newSize.y=n/this._store.state.scale+this.initialSize.y;break;case k.BottomLeft:this.newSize.width=this.initialSize.width-e;this.newSize.height=this.initialSize.height+n;this.newSize.x=e/this._store.state.scale+this.initialSize.x;this.newSize.y=this.initialSize.y;break;case k.BottomRight:this.newSize.width=this.initialSize.width+e;this.newSize.height=this.initialSize.height+n;this.newSize.x=this.initialSize.x;this.newSize.y=this.initialSize.y;break}this._store.state.selectionGroup.resize(this.newSize.x,this.newSize.y,this.newSize.width,this.newSize.height);this._store.rerender()}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}if(this._store.state.isResizing&&this._store.state.selectionGroup){const t=Math.round(i.clientX-this._store.offsetX);const s=Math.round(i.clientY-this._store.offsetY);const e=t-this.initialMouseX;const n=s-this.initialMouseY;switch(this._store.state.resizeHandleType){case k.TopLeft:this.newSize.width=this.initialSize.width-e;this.newSize.height=this.initialSize.height-n;this.newSize.x=e/this._store.state.scale+this.initialSize.x;this.newSize.y=n/this._store.state.scale+this.initialSize.y;break;case k.TopRight:this.newSize.width=this.initialSize.width+e;this.newSize.height=this.initialSize.height-n;this.newSize.x=this.initialSize.x;this.newSize.y=n/this._store.state.scale+this.initialSize.y;break;case k.BottomLeft:this.newSize.width=this.initialSize.width-e;this.newSize.height=this.initialSize.height+n;this.newSize.x=e/this._store.state.scale+this.initialSize.x;this.newSize.y=this.initialSize.y;break;case k.BottomRight:this.newSize.width=this.initialSize.width+e;this.newSize.height=this.initialSize.height+n;this.newSize.x=this.initialSize.x;this.newSize.y=this.initialSize.y;break}this._store.state.selectionGroup.resize(this.newSize.x,this.newSize.y,this.newSize.width,this.newSize.height);clearTimeout(this._store.state.longTouchTimeout)}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._store.state.isResizing){const t=new S(this._store,this,structuredClone(this.initialSize),structuredClone(this.newSize));const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,Object.assign({},t))));this._store.history.executeCommand(new b(this._store,this,[t,...i]));this._store.state.isResizing=false;this._store.rerender()}}if(t.pointerType==="touch"){if(this._store.state.isResizing){const t=new S(this._store,this,structuredClone(this.initialSize),structuredClone(this.newSize));const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,Object.assign({},t))));this._store.history.executeCommand(new b(this._store,this,[t,...i]));this._store.state.isResizing=false;this._store.rerender();clearTimeout(this._store.state.longTouchTimeout)}}}}class j extends t{constructor(t,i,s,e=false){super(t,i,e);this.rotation=s;this.initialRotation=this._store.state.selectionGroup.rotation;this.selectionGroup=this._store.state.selectionGroup}execute(){this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.rotate(this.rotation);this._store.state.selectionGroup.objects.forEach((t=>{this._store.state.objectsOctree.update(t)}))}undo(){this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionGroup.rotate(this.rotation-this.initialRotation);this._store.state.selectionGroup.objects.forEach((t=>{this._store.state.objectsOctree.update(t)}))}}class C extends T{constructor(t){super(t);this.initialRotation=0;this.rotation=0}handlePointerDown(t){if(t.pointerType==="mouse"){if(c.isLeftClick(t)){if(this._store.state.selectionGroup&&this._store.state.isRotationHandleSelected){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;this._store.state.isRotating=true;const e=this._store.state.selectionGroup.translateX+this._store.state.selectionGroup.width/2/this._store.state.scale;const n=this._store.state.selectionGroup.translateY+this._store.state.selectionGroup.height/2/this._store.state.scale;const r=(i-this._store.state.translateX)/this._store.state.scale;const h=(s-this._store.state.translateY)/this._store.state.scale;this.initialRotation=Math.atan2(n-h,e-r)-this._store.state.selectionGroup.rotation}}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}if(t.length===1){if(this._store.state.selectionGroup&&this._store.state.isRotationHandleSelected){const t=Math.round(i.clientX-this._store.offsetX);const s=Math.round(i.clientY-this._store.offsetY);this._store.state.isRotating=true;const e=this._store.state.selectionGroup.translateX+this._store.state.selectionGroup.width/2/this._store.state.scale;const n=this._store.state.selectionGroup.translateY+this._store.state.selectionGroup.height/2/this._store.state.scale;const r=(t-this._store.state.translateX)/this._store.state.scale;const h=(s-this._store.state.translateY)/this._store.state.scale;this.initialRotation=Math.atan2(n-h,e-r)-this._store.state.selectionGroup.rotation;clearTimeout(this._store.state.longTouchTimeout)}}}}handlePointerMove(t){if(t.pointerType==="mouse"){if(this._store.state.isRotating&&this._store.state.selectionGroup){const i=t.clientX-this._store.offsetX;const s=t.clientY-this._store.offsetY;const e=this._store.state.selectionGroup.translateX+this._store.state.selectionGroup.width/2/this._store.state.scale;const n=this._store.state.selectionGroup.translateY+this._store.state.selectionGroup.height/2/this._store.state.scale;const r=(i-this._store.state.translateX)/this._store.state.scale;const h=(s-this._store.state.translateY)/this._store.state.scale;const o=Math.atan2(n-h,e-r);this.rotation=o-this.initialRotation;this._store.state.selectionGroup.rotate(this.rotation);this._store.rerender()}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}if(this._store.state.isRotating&&this._store.state.selectionGroup){const t=Math.round(i.clientX-this._store.offsetX);const s=Math.round(i.clientY-this._store.offsetY);const e=this._store.state.selectionGroup.translateX+this._store.state.selectionGroup.width/2/this._store.state.scale;const n=this._store.state.selectionGroup.translateY+this._store.state.selectionGroup.height/2/this._store.state.scale;const r=(t-this._store.state.translateX)/this._store.state.scale;const h=(s-this._store.state.translateY)/this._store.state.scale;const o=Math.atan2(n-h,e-r);this.rotation=o-this.initialRotation;this._store.state.selectionGroup.rotate(this.rotation);this._store.rerender();clearTimeout(this._store.state.longTouchTimeout)}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._store.state.isRotating){const t=new j(this._store,this,this.rotation);const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,{rotation:t.rotation,translateX:t.translateX,translateY:t.translateY})));this._store.history.executeCommand(new b(this._store,this,[t,...i]));this._store.state.isRotating=false;this.initialRotation=0;this.rotation=0}}if(t.pointerType==="touch"){if(this._store.state.isRotating){const t=new j(this._store,this,this.rotation);const i=this._store.state.selectionGroup.objects.map((t=>new e(this._store,this,t,{rotation:t.rotation})));this._store.history.executeCommand(new b(this._store,this,[t,...i]));this._store.state.isRotating=false;this.initialRotation=0;this.rotation=0;clearTimeout(this._store.state.longTouchTimeout)}}}}class O extends l{constructor(){super(...arguments);this.__class__="KrtizelSelectionBox";this.objects=[]}static create(t){const i=new O;i._store=t;i.id=i.generateId();i.workspaceId=t.state.activeWorkspace.id;i.scale=t.state.scale;i.zIndex=99999;i.backgroundColor="var(--kritzel-selection-box-background-color, rgba(0, 122, 255, 0.2))";i.borderColor="var(--kritzel-selection-box-border-color, rgba(0, 122, 255, 0.5))";i.borderWidth=2;i.height=0;i.width=0;return i}}class Q extends t{constructor(t,i,s,e=false){super(t,i,e);this.selectionGroup=s}execute(){this._store.state.objectsOctree.remove((t=>t instanceof O));this._store.state.objectsOctree.insert(this.selectionGroup);this._store.state.selectionGroup=this.selectionGroup;this._store.state.selectionBox=null}undo(){this._store.state.objectsOctree.remove((t=>t.id===this.selectionGroup.id));this._store.state.selectionGroup=null;this._store.state.selectionBox=null}}class z extends T{get isSelectionClick(){return this._store.state.selectionBox&&this._store.state.selectionBox.width===0&&this._store.state.selectionBox.height===0}get isSelectionDrag(){return this._store.state.selectionBox&&(this._store.state.selectionBox.width>0||this._store.state.selectionBox.height>0)}constructor(t){super(t);this.touchStartX=0;this.touchStartY=0;this.touchStartTimeout=null}handlePointerDown(t){if(t.pointerType==="mouse"){if(c.isLeftClick(t)&&!this._store.state.selectionGroup){this.startMouseSelection(t)}}if(t.pointerType==="touch"){this.touchStartTimeout=setTimeout((()=>{if(this._store.state.pointers.size===1&&!this._store.state.isScaling&&!this._store.state.selectionGroup){this.startTouchSelection();this.updateTouchSelection()}}),80)}}handlePointerMove(t){if(t.pointerType==="mouse"){if(this._store.state.isSelecting){this.updateMouseSelection(t)}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());const i=Math.round(t[0].clientX-this._store.offsetX);const s=Math.round(t[0].clientY-this._store.offsetY);const e=Math.abs(i-this.touchStartX);const n=Math.abs(s-this.touchStartY);const r=5;if((e>r||n>r)&&this._store.state.isSelecting){this.updateTouchSelection();clearTimeout(this._store.state.longTouchTimeout)}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(c.isLeftClick(t)&&this._store.state.isSelecting){if(this.isSelectionClick){const i=this._store.state.pointerX;const s=this._store.state.pointerY;const e=this._store.getObjectsFromPointerEvent(t,".object").find((t=>t.hitTest(i,s)));this.addObjectToSelectionGroup(e);this.removeSelectionBox()}if(this.isSelectionDrag){this.updateMouseSelection(t);this.addSelectedObjectsToSelectionGroup();this.removeSelectionBox()}}}if(t.pointerType==="touch"){clearTimeout(this.touchStartTimeout);if(this._store.state.isSelecting){if(this.isSelectionClick){const i=this._store.state.pointerX;const s=this._store.state.pointerY;const e=this._store.getObjectsFromPointerEvent(t,".object").find((t=>t.hitTest(i,s)));this.addObjectToSelectionGroup(e);this.removeSelectionBox()}if(this.isSelectionDrag){this.updateTouchSelection();this.addSelectedObjectsToSelectionGroup();this.removeSelectionBox()}this._store.state.skipContextMenu=false}}}removeSelectionBox(){this._store.state.selectionBox=null;this._store.state.isSelecting=false;this._store.state.objectsOctree.remove((t=>t instanceof O));this._store.rerender()}startMouseSelection(t){let i,s;i=t.clientX-this._store.offsetX;s=t.clientY-this._store.offsetY;const e=O.create(this._store);this.startX=(i-this._store.state.translateX)/this._store.state.scale;this.startY=(s-this._store.state.translateY)/this._store.state.scale;e.translateX=this.startX;e.translateY=this.startY;this._store.state.selectionGroup=null;this._store.state.selectionBox=e;this._store.state.isSelecting=true;this._store.state.objectsOctree.remove((t=>t instanceof O||t instanceof L));this._store.state.objectsOctree.insert(e)}startTouchSelection(){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}let s,e;s=Math.round(i.clientX-this._store.offsetX);e=Math.round(i.clientY-this._store.offsetY);this.touchStartX=s;this.touchStartY=e;const n=O.create(this._store);this.startX=(s-this._store.state.translateX)/this._store.state.scale;this.startY=(e-this._store.state.translateY)/this._store.state.scale;n.translateX=this.startX;n.translateY=this.startY;this._store.state.selectionGroup=null;this._store.state.selectionBox=n;this._store.state.isSelecting=true;this._store.state.objectsOctree.remove((t=>t instanceof O||t instanceof L));this._store.state.objectsOctree.insert(n)}updateMouseSelection(t){let i,s;i=t.clientX-this._store.offsetX;s=t.clientY-this._store.offsetY;const e=this._store.state.selectionBox;if(e){const t=(i-this._store.state.translateX)/e.scale;const n=(s-this._store.state.translateY)/e.scale;e.width=Math.abs(t-this.startX)*e.scale;e.height=Math.abs(n-this.startY)*e.scale;e.translateX=Math.min(t,this.startX);e.translateY=Math.min(n,this.startY);this.updateSelectedObjects();this._store.rerender()}}updateTouchSelection(){const t=Array.from(this._store.state.pointers.values());const i=t[0];if(!i){return}let s,e;s=Math.round(i.clientX-this._store.offsetX);e=Math.round(i.clientY-this._store.offsetY);const n=this._store.state.selectionBox;if(n){const t=(s-this._store.state.translateX)/n.scale;const i=(e-this._store.state.translateY)/n.scale;n.width=Math.abs(t-this.startX)*n.scale;n.height=Math.abs(i-this.startY)*n.scale;n.translateX=Math.min(t,this.startX);n.translateY=Math.min(i,this.startY);this.updateSelectedObjects()}}updateSelectedObjects(){this._store.allObjects.filter((t=>!(t instanceof O))).forEach((t=>t.isSelected=t.hitTestPolygon(this._store.state.selectionBox.rotatedPolygon)))}addObjectToSelectionGroup(t){if(!t){return}this._store.state.selectionGroup=L.create(this._store);this._store.state.selectionGroup.addOrRemove(t);this._store.state.selectionGroup.isSelected=true;this._store.state.selectionGroup.rotation=t.rotation;this._store.history.executeCommand(new Q(this._store,this,this._store.state.selectionGroup))}addSelectedObjectsToSelectionGroup(){const t=this._store.selectedObjects;if(t.length===0){return}this._store.state.selectionGroup=L.create(this._store);t.forEach((t=>{t.isSelected=false;this._store.state.selectionGroup.addOrRemove(t)}));this._store.state.selectionGroup.isSelected=true;if(this._store.state.selectionGroup.length===1){this._store.state.selectionGroup.rotation=this._store.state.selectionGroup.objects[0].rotation}this._store.history.executeCommand(new Q(this._store,this,this._store.state.selectionGroup))}}class R extends T{constructor(t){super(t)}handlePointerMove(t){if(t.pointerType==="mouse"){const i=this._store.getObjectFromPointerEvent(t,".object");if(!i)return;const s=this._store.state.pointerX;const e=this._store.state.pointerY;i.isHovered=i.hitTest(s,e)}}}class D extends r{constructor(t){super(t);this.selectionHandler=new z(this._store);this.moveHandler=new B(this._store);this.hoverHandler=new R(this._store);this.resizeHandler=new I(this._store);this.rotationHandler=new C(this._store)}handlePointerDown(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){if(c.isLeftClick(t)){this._store.state.isResizeHandleSelected=this.isHandleSelected(t);this._store.state.isRotationHandleSelected=this.isRotationHandleSelected(t);this._store.state.resizeHandleType=this.getHandleType(t);const i=this.getSelectedObject(t);const s=i&&this._store.state.selectionGroup&&i.id!==this._store.state.selectionGroup.id;if((i===null||s)&&this._store.state.selectionGroup&&!this._store.state.isResizeHandleSelected&&!this._store.state.isRotationHandleSelected){this._store.history.executeCommand(new F(this._store,this._store.state.selectionGroup))}if(i&&i.isSelected===false&&(i===null||i===void 0?void 0:i.objects.length)===1&&i.objects[0].isInteractive){return}}this.moveHandler.handlePointerDown(t);this.selectionHandler.handlePointerDown(t);this.resizeHandler.handlePointerDown(t);this.rotationHandler.handlePointerDown(t);this._store.rerender()}if(t.pointerType==="touch"){if(this._store.state.isScaling===true){return}if(this._store.state.pointers.size===1){this._store.state.isResizeHandleSelected=this.isHandleSelected(t);this._store.state.isRotationHandleSelected=this.isRotationHandleSelected(t);this._store.state.resizeHandleType=this.getHandleType(t);const i=this.getSelectedObject(t);const s=i&&this._store.state.selectionGroup&&i.id!==this._store.state.selectionGroup.id;if(!this._store.state.selectionGroup&&i){this._store.state.skipContextMenu=true}if((i===null||s)&&this._store.state.selectionGroup&&!this._store.state.isResizeHandleSelected&&!this._store.state.isRotationHandleSelected){this._store.history.executeCommand(new F(this._store,this._store.state.selectionGroup))}}this.rotationHandler.handlePointerDown(t);this.resizeHandler.handlePointerDown(t);this.moveHandler.handlePointerDown(t);this.selectionHandler.handlePointerDown(t)}}handlePointerMove(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){this.moveHandler.handlePointerMove(t);this.hoverHandler.handlePointerMove(t);this.selectionHandler.handlePointerMove(t);this.resizeHandler.handlePointerMove(t);this.rotationHandler.handlePointerMove(t);this._store.rerender()}if(t.pointerType==="touch"){if(this._store.state.isScaling===true){return}this.rotationHandler.handlePointerMove(t);this.resizeHandler.handlePointerMove(t);this.moveHandler.handlePointerMove(t);this.selectionHandler.handlePointerMove(t);this._store.rerender()}}handlePointerUp(t){if(t.cancelable){t.preventDefault()}if(t.pointerType==="mouse"){this.moveHandler.handlePointerUp(t);this.selectionHandler.handlePointerUp(t);this.resizeHandler.handlePointerUp(t);this.rotationHandler.handlePointerUp(t);this._store.rerender()}if(t.pointerType==="touch"){if(this._store.state.isScaling===true){return}this.rotationHandler.handlePointerUp(t);this.resizeHandler.handlePointerUp(t);this.moveHandler.handlePointerUp(t);this.selectionHandler.handlePointerUp(t)}}getSelectedObject(t){const i=t.composedPath().slice(1);const s=i.find((t=>t.classList&&t.classList.contains("object")));const e=this._store.findObjectById(s===null||s===void 0?void 0:s.id);if(!e){return null}if(e instanceof L){return e}else{const t=L.create(this._store);t.translateX=0;t.translateY=0;t.addOrRemove(e);return t}}getHandleType(t){var i;const s=(i=this._store.state.host)===null||i===void 0?void 0:i.shadowRoot;if(!s)return;const e=s.elementFromPoint(t.clientX,t.clientY);const n=e===null||e===void 0?void 0:e.closest(".resize-handle-overlay");return n===null||n===void 0?void 0:n.classList[1]}isHandleSelected(t){var i;const s=(i=this._store.state.host)===null||i===void 0?void 0:i.shadowRoot;if(!s)return false;const e=s.elementFromPoint(t.clientX,t.clientY);return!!(e===null||e===void 0?void 0:e.classList.contains("resize-handle-overlay"))}isRotationHandleSelected(t){const i=t.composedPath();return!!i.find((t=>t.classList&&t.classList.contains("rotation-handle-overlay")))}}class K{constructor(t){this._store=t}revive(t){if(t&&typeof t==="object"){if(t.__class__){let i;switch(t.__class__){case"KritzelPath":i=g.create(this._store).revive(t);break;case"KritzelText":i=d.create(this._store,t.fontSize,t.fontFamily).revive(t);break;case"KritzelImage":i=y.create(this._store).revive(t);break;case"KritzelCustomElement":i=U.create(this._store).revive(t);break;case"KritzelSelectionGroup":i=L.create(this._store).revive(t);break;case"KritzelBrushTool":i=new M(this._store);break;case"KritzelEraserTool":i=new E(this._store);break;case"KritzelImageTool":i=new Ut(this._store);break;case"KritzelSelectionTool":i=new D(this._store);break;case"KritzelTextTool":i=new a(this._store);break;default:i=t}return i}const i=Array.isArray(t)?[]:{};for(const s in t){if(Object.prototype.hasOwnProperty.call(t,s)){i[s]=this.revive(t[s])}}return i}return t}}class L extends l{constructor(){super(...arguments);this.__class__="KritzelSelectionGroup";this.objects=[];this.unchangedObjects=[]}get length(){return this.objects.length}static create(t){const i=new L;i._store=t;i.id=i.generateId();i.workspaceId=t.state.activeWorkspace.id;i.scale=t.state.scale;i.zIndex=99999;return i}addOrRemove(t){const i=this.objects.findIndex((i=>i.id===t.id));if(i===-1){this.objects.push(t)}else{this.objects.splice(i,1)}this.unchangedObjects=s.clone(this.objects);this.refreshObjectDimensions()}deselectAllChildren(){this.objects.forEach((t=>t.isSelected=false))}updatePosition(t,i){this.objects.forEach((s=>{const e=s.translateX-this.translateX;const n=s.translateY-this.translateY;s.updatePosition(t+e,i+n)}));this.unchangedObjects.forEach((s=>{const e=s.translateX-this.translateX;const n=s.translateY-this.translateY;s.translateX=t+e;s.translateY=i+n}));this.translateX=t;this.translateY=i;this._store.state.objectsOctree.update(this)}move(t,i,s,e){const n=(t-s)/this._store.state.scale;const r=(i-e)/this._store.state.scale;this.translateX+=n;this.translateY+=r;this._store.state.objectsOctree.update(this);this.objects.forEach((n=>{n.move(t,i,s,e);this._store.state.objectsOctree.update(n)}));this.unchangedObjects.forEach((t=>{t.translateX+=n;t.translateY+=r}))}resize(t,i,e,n){const r=e/this.width;const h=n/this.height;const o=t-this.translateX;const c=i-this.translateY;this.objects.forEach((t=>{const i=t.width*r;const s=t.height*h;const e=t.translateX+o+(t.translateX-this.translateX)*(r-1);const n=t.translateY+c+(t.translateY-this.translateY)*(h-1);t.resize(e,n,i,s);this._store.state.objectsOctree.update(t)}));this.refreshObjectDimensions();this.unchangedObjects=s.clone(this.objects)}rotate(t){this.rotation=t;const i=this.translateX+this.totalWidth/2/this.scale;const s=this.translateY+this.totalHeight/2/this.scale;const e=t;const n=Math.cos(e);const r=Math.sin(e);this.objects.forEach((e=>{const h=this.getUnchangedObject(e.id);const o=this.getOffsetXToCenter(h);const c=this.getOffsetYToCenter(h);const f=n*o-r*c;const a=r*o+n*c;e.translateX=i+f-e.totalWidth/2/e.scale;e.translateY=s+a-e.totalHeight/2/e.scale;e.rotate(this.objects.length===1?t:t+h.rotation);this._store.state.objectsOctree.update(e)}))}copy(){const t=L.create(this._store);let i=this._store.currentZIndex;this.objects.sort(((t,i)=>t.zIndex-i.zIndex)).forEach((s=>{const e=s.copy();e.zIndex=i;t.addOrRemove(e);i++}));t.unchangedObjects=s.clone(t.objects);if(this.objects.length===1){t.rotation=this.objects[0].rotation}return t}refreshObjectDimensions(){if(this.objects.length===1){const t=this.objects[0];this.minX=t.boundingBox.x/this.scale;this.maxX=t.boundingBox.x/this.scale+t.boundingBox.width;this.minY=t.boundingBox.y/this.scale;this.maxY=t.boundingBox.y/this.scale+t.boundingBox.height;this.translateX=(this.minX-this.padding)*this.scale;this.translateY=(this.minY-this.padding)*this.scale;this.width=(this.maxX-this.minX-this.padding)*this.scale;this.height=(this.maxY-this.minY-this.padding)*this.scale}else{this.minX=Math.min(...this.objects.map((t=>t.minXRotated)));this.maxX=Math.max(...this.objects.map((t=>t.maxXRotated)));this.minY=Math.min(...this.objects.map((t=>t.minYRotated)));this.maxY=Math.max(...this.objects.map((t=>t.maxYRotated)));this.translateX=this.minX-this.padding;this.translateY=this.minY-this.padding;this.width=(this.maxX-this.minX-this.padding)*this.scale;this.height=(this.maxY-this.minY-this.padding)*this.scale}this._store.state.objectsOctree.update(this)}getOffsetXToCenter(t){const i=t.translateX+t.totalWidth/t.scale/2;const s=this.translateX+this.totalWidth/this.scale/2;return i-s}getOffsetYToCenter(t){const i=t.translateY+t.totalHeight/t.scale/2;const s=this.translateY+this.totalHeight/this.scale/2;return i-s}getUnchangedObject(t){const i=this.unchangedObjects.find((i=>i.id===t));const s=new K(this._store);return s.revive(i)}}function $(t,i){return i.forEach((function(i){i&&"string"!=typeof i&&!Array.isArray(i)&&Object.keys(i).forEach((function(s){if("default"!==s&&!(s in t)){var e=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(t,s,e.get?e:{enumerable:true,get:function(){return i[s]}})}}))})),Object.freeze(t)}function H(t,i){return new Promise((function(s,e){let n;return W(t).then((function(t){try{return n=t,s(new Blob([i.slice(0,2),n,i.slice(2)],{type:"image/jpeg"}))}catch(t){return e(t)}}),e)}))}const W=t=>new Promise(((i,s)=>{const e=new FileReader;e.addEventListener("load",(({target:{result:t}})=>{const e=new DataView(t);let n=0;if(65496!==e.getUint16(n))return s("not a valid JPEG");for(n+=2;;){const r=e.getUint16(n);if(65498===r)break;const h=e.getUint16(n+2);if(65505===r&&1165519206===e.getUint32(n+4)){const r=n+10;let o;switch(e.getUint16(r)){case 18761:o=true;break;case 19789:o=false;break;default:return s("TIFF header contains invalid endian")}if(42!==e.getUint16(r+2,o))return s("TIFF header contains invalid version");const c=e.getUint32(r+4,o),f=r+c+2+12*e.getUint16(r+c,o);for(let t=r+c+2;t<f;t+=12){if(274==e.getUint16(t,o)){if(3!==e.getUint16(t+2,o))return s("Orientation data type is invalid");if(1!==e.getUint32(t+4,o))return s("Orientation data count is invalid");e.setUint16(t+8,1,o);break}}return i(t.slice(n,n+2+h))}n+=2+h}return i(new Blob)})),e.readAsArrayBuffer(t)}));var _={},X={get exports(){return _},set exports(t){_=t}};!function(t){var i,s,e={};X.exports=e,e.parse=function(t,i){for(var s=e.bin.readUshort,n=e.bin.readUint,r=0,h={},o=new Uint8Array(t),c=o.length-4;101010256!=n(o,c);)c--;r=c;r+=4;var f=s(o,r+=4);s(o,r+=2);var a=n(o,r+=2),u=n(o,r+=4);r+=4,r=u;for(var l=0;l<f;l++){n(o,r),r+=4,r+=4,r+=4,n(o,r+=4);a=n(o,r+=4);var d=n(o,r+=4),v=s(o,r+=4),w=s(o,r+2),A=s(o,r+4);r+=6;var p=n(o,r+=8);r+=4,r+=v+w+A,e._readLocal(o,p,h,a,d,i)}return h},e._readLocal=function(t,i,s,n,r,h){var o=e.bin.readUshort,c=e.bin.readUint;c(t,i),o(t,i+=4),o(t,i+=2);var f=o(t,i+=2);c(t,i+=2),c(t,i+=4),i+=4;var a=o(t,i+=8),u=o(t,i+=2);i+=2;var l=e.bin.readUTF8(t,i,a);if(i+=a,i+=u,h)s[l]={size:r,csize:n};else{var d=new Uint8Array(t.buffer,i);if(0==f)s[l]=new Uint8Array(d.buffer.slice(i,i+n));else{if(8!=f)throw"unknown compression method: "+f;var v=new Uint8Array(r);e.inflateRaw(d,v),s[l]=v}}},e.inflateRaw=function(t,i){return e.F.inflate(t,i)},e.inflate=function(t,i){return e.inflateRaw(new Uint8Array(t.buffer,t.byteOffset+2,t.length-6),i)},e.deflate=function(t,i){null==i&&(i={level:6});var s=0,n=new Uint8Array(50+Math.floor(1.1*t.length));n[s]=120,n[s+1]=156,s+=2,s=e.F.deflateRaw(t,n,s,i.level);var r=e.adler(t,0,t.length);return n[s+0]=r>>>24&255,n[s+1]=r>>>16&255,n[s+2]=r>>>8&255,n[s+3]=r>>>0&255,new Uint8Array(n.buffer,0,s+4)},e.deflateRaw=function(t,i){null==i&&(i={level:6});var s=new Uint8Array(50+Math.floor(1.1*t.length)),n=e.F.deflateRaw(t,s,n,i.level);return new Uint8Array(s.buffer,0,n)},e.encode=function(t,i){null==i&&(i=false);var s=0,n=e.bin.writeUint,r=e.bin.writeUshort,h={};for(var o in t){var c=!e._noNeed(o)&&!i,f=t[o],a=e.crc.crc(f,0,f.length);h[o]={cpr:c,usize:f.length,crc:a,file:c?e.deflateRaw(f):f}}for(var o in h)s+=h[o].file.length+30+46+2*e.bin.sizeUTF8(o);s+=22;var u=new Uint8Array(s),l=0,d=[];for(var o in h){var v=h[o];d.push(l),l=e._writeHeader(u,l,o,v,0)}var w=0,A=l;for(var o in h){v=h[o];d.push(l),l=e._writeHeader(u,l,o,v,1,d[w++])}var p=l-A;return n(u,l,101010256),l+=4,r(u,l+=4,w),r(u,l+=2,w),n(u,l+=2,p),n(u,l+=4,A),l+=4,l+=2,u.buffer},e._noNeed=function(t){var i=t.split(".").pop().toLowerCase();return-1!="png,jpg,jpeg,zip".indexOf(i)},e._writeHeader=function(t,i,s,n,r,h){var o=e.bin.writeUint,c=e.bin.writeUshort,f=n.file;return o(t,i,0==r?67324752:33639248),i+=4,1==r&&(i+=2),c(t,i,20),c(t,i+=2,0),c(t,i+=2,n.cpr?8:0),o(t,i+=2,0),o(t,i+=4,n.crc),o(t,i+=4,f.length),o(t,i+=4,n.usize),c(t,i+=4,e.bin.sizeUTF8(s)),c(t,i+=2,0),i+=2,1==r&&(i+=2,i+=2,o(t,i+=6,h),i+=4),i+=e.bin.writeUTF8(t,i,s),0==r&&(t.set(f,i),i+=f.length),i},e.crc={table:function(){for(var t=new Uint32Array(256),i=0;i<256;i++){for(var s=i,e=0;e<8;e++)1&s?s=3988292384^s>>>1:s>>>=1;t[i]=s}return t}(),update:function(t,i,s,n){for(var r=0;r<n;r++)t=e.crc.table[255&(t^i[s+r])]^t>>>8;return t},crc:function(t,i,s){return 4294967295^e.crc.update(4294967295,t,i,s)}},e.adler=function(t,i,s){for(var e=1,n=0,r=i,h=i+s;r<h;){for(var o=Math.min(r+5552,h);r<o;)n+=e+=t[r++];e%=65521,n%=65521}return n<<16|e},e.bin={readUshort:function(t,i){return t[i]|t[i+1]<<8},writeUshort:function(t,i,s){t[i]=255&s,t[i+1]=s>>8&255},readUint:function(t,i){return 16777216*t[i+3]+(t[i+2]<<16|t[i+1]<<8|t[i])},writeUint:function(t,i,s){t[i]=255&s,t[i+1]=s>>8&255,t[i+2]=s>>16&255,t[i+3]=s>>24&255},readASCII:function(t,i,s){for(var e="",n=0;n<s;n++)e+=String.fromCharCode(t[i+n]);return e},writeASCII:function(t,i,s){for(var e=0;e<s.length;e++)t[i+e]=s.charCodeAt(e)},pad:function(t){return t.length<2?"0"+t:t},readUTF8:function(t,i,s){for(var n,r="",h=0;h<s;h++)r+="%"+e.bin.pad(t[i+h].toString(16));try{n=decodeURIComponent(r)}catch(n){return e.bin.readASCII(t,i,s)}return n},writeUTF8:function(t,i,s){for(var e=s.length,n=0,r=0;r<e;r++){var h=s.charCodeAt(r);if(0==(4294967168&h))t[i+n]=h,n++;else if(0==(4294965248&h))t[i+n]=192|h>>6,t[i+n+1]=128|h>>0&63,n+=2;else if(0==(4294901760&h))t[i+n]=224|h>>12,t[i+n+1]=128|h>>6&63,t[i+n+2]=128|h>>0&63,n+=3;else{if(0!=(4292870144&h))throw"e";t[i+n]=240|h>>18,t[i+n+1]=128|h>>12&63,t[i+n+2]=128|h>>6&63,t[i+n+3]=128|h>>0&63,n+=4}}return n},sizeUTF8:function(t){for(var i=t.length,s=0,e=0;e<i;e++){var n=t.charCodeAt(e);if(0==(4294967168&n))s++;else if(0==(4294965248&n))s+=2;else if(0==(4294901760&n))s+=3;else{if(0!=(4292870144&n))throw"e";s+=4}}return s}},e.F={},e.F.deflateRaw=function(t,i,s,n){var r=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][n],h=e.F.U,o=e.F._goodIndex;var c=e.F._putsE,f=0,a=s<<3,u=0,l=t.length;if(0==n){for(;f<l;){c(i,a,f+(x=Math.min(65535,l-f))==l?1:0),a=e.F._copyExact(t,f,x,i,a+8),f+=x}return a>>>3}var d=h.lits,v=h.strt,w=h.prev,A=0,p=0,m=0,g=0,y=0,M=0;for(l>2&&(v[M=e.F._hash(t,0)]=0),f=0;f<l;f++){if(y=M,f+1<l-2){M=e.F._hash(t,f+1);var b=f+1&32767;w[b]=v[M],v[M]=b}if(u<=f){(A>14e3||p>26697)&&l-f>100&&(u<f&&(d[A]=f-u,A+=2,u=f),a=e.F._writeBlock(f==l-1||u==l?1:0,d,A,g,t,m,f-m,i,a),A=p=g=0,m=f);var U=0;f<l-2&&(U=e.F._bestMatch(t,f,w,y,Math.min(r[2],l-f),r[3]));var x=U>>>16,E=65535&U;if(0!=U){E=65535&U;var F=o(x=U>>>16,h.of0);h.lhst[257+F]++;var P=o(E,h.df0);h.dhst[P]++,g+=h.exb[F]+h.dxb[P],d[A]=x<<23|f-u,d[A+1]=E<<16|F<<8|P,A+=2,u=f+x}else h.lhst[t[f]]++;p++}}for(m==f&&0!=t.length||(u<f&&(d[A]=f-u,A+=2,u=f),a=e.F._writeBlock(1,d,A,g,t,m,f-m,i,a),A=0,p=0,A=p=g=0,m=f);0!=(7&a);)a++;return a>>>3},e.F._bestMatch=function(t,i,s,n,r,h){var o=32767&i,c=s[o],f=o-c+32768&32767;if(c==o||n!=e.F._hash(t,i-f))return 0;for(var a=0,u=0,l=Math.min(32767,i);f<=l&&0!=--h&&c!=o;){if(0==a||t[i+a]==t[i+a-f]){var d=e.F._howLong(t,i,f);if(d>a){if(u=f,(a=d)>=r)break;f+2<d&&(d=f+2);for(var v=0,w=0;w<d-2;w++){var A=i-f+w+32768&32767,p=A-s[A]+32768&32767;p>v&&(v=p,c=A)}}}f+=(o=c)-(c=s[o])+32768&32767}return a<<16|u},e.F._howLong=function(t,i,s){if(t[i]!=t[i-s]||t[i+1]!=t[i+1-s]||t[i+2]!=t[i+2-s])return 0;var e=i,n=Math.min(t.length,i+258);for(i+=3;i<n&&t[i]==t[i-s];)i++;return i-e},e.F._hash=function(t,i){return(t[i]<<8|t[i+1])+(t[i+2]<<4)&65535},e.saved=0,e.F._writeBlock=function(t,i,s,n,r,h,o,c,f){var a,u,l,d,v,w,A,p,m,g=e.F.U,y=e.F._putsF,M=e.F._putsE;g.lhst[256]++,u=(a=e.F.getTrees())[0],l=a[1],d=a[2],v=a[3],w=a[4],A=a[5],p=a[6],m=a[7];var b=32+(0==(f+3&7)?0:8-(f+3&7))+(o<<3),U=n+e.F.contSize(g.fltree,g.lhst)+e.F.contSize(g.fdtree,g.dhst),x=n+e.F.contSize(g.ltree,g.lhst)+e.F.contSize(g.dtree,g.dhst);x+=14+3*A+e.F.contSize(g.itree,g.ihst)+(2*g.ihst[16]+3*g.ihst[17]+7*g.ihst[18]);for(var E=0;E<286;E++)g.lhst[E]=0;for(E=0;E<30;E++)g.dhst[E]=0;for(E=0;E<19;E++)g.ihst[E]=0;var F=b<U&&b<x?0:U<x?1:2;if(y(c,f,t),y(c,f+1,F),f+=3,0==F){for(;0!=(7&f);)f++;f=e.F._copyExact(r,h,o,c,f)}else{var P,T;if(1==F&&(P=g.fltree,T=g.fdtree),2==F){e.F.makeCodes(g.ltree,u),e.F.revCodes(g.ltree,u),e.F.makeCodes(g.dtree,l),e.F.revCodes(g.dtree,l),e.F.makeCodes(g.itree,d),e.F.revCodes(g.itree,d),P=g.ltree,T=g.dtree,M(c,f,v-257),M(c,f+=5,w-1),M(c,f+=5,A-4),f+=4;for(var B=0;B<A;B++)M(c,f+3*B,g.itree[1+(g.ordr[B]<<1)]);f+=3*A,f=e.F._codeTiny(p,g.itree,c,f),f=e.F._codeTiny(m,g.itree,c,f)}for(var k=h,S=0;S<s;S+=2){for(var I=i[S],j=I>>>23,C=k+(8388607&I);k<C;)f=e.F._writeLit(r[k++],P,c,f);if(0!=j){var O=i[S+1],Q=O>>16,z=O>>8&255,R=255&O;M(c,f=e.F._writeLit(257+z,P,c,f),j-g.of0[z]),f+=g.exb[z],y(c,f=e.F._writeLit(R,T,c,f),Q-g.df0[R]),f+=g.dxb[R],k+=j}}f=e.F._writeLit(256,P,c,f)}return f},e.F._copyExact=function(t,i,s,e,n){var r=n>>>3;return e[r]=s,e[r+1]=s>>>8,e[r+2]=255-e[r],e[r+3]=255-e[r+1],r+=4,e.set(new Uint8Array(t.buffer,i,s),r),n+(s+4<<3)},e.F.getTrees=function(){for(var t=e.F.U,i=e.F._hufTree(t.lhst,t.ltree,15),s=e.F._hufTree(t.dhst,t.dtree,15),n=[],r=e.F._lenCodes(t.ltree,n),h=[],o=e.F._lenCodes(t.dtree,h),c=0;c<n.length;c+=2)t.ihst[n[c]]++;for(c=0;c<h.length;c+=2)t.ihst[h[c]]++;for(var f=e.F._hufTree(t.ihst,t.itree,7),a=19;a>4&&0==t.itree[1+(t.ordr[a-1]<<1)];)a--;return[i,s,f,r,o,a,n,h]},e.F.getSecond=function(t){for(var i=[],s=0;s<t.length;s+=2)i.push(t[s+1]);return i},e.F.nonZero=function(t){for(var i="",s=0;s<t.length;s+=2)0!=t[s+1]&&(i+=(s>>1)+",");return i},e.F.contSize=function(t,i){for(var s=0,e=0;e<i.length;e++)s+=i[e]*t[1+(e<<1)];return s},e.F._codeTiny=function(t,i,s,n){for(var r=0;r<t.length;r+=2){var h=t[r],o=t[r+1];n=e.F._writeLit(h,i,s,n);var c=16==h?2:17==h?3:7;h>15&&(e.F._putsE(s,n,o,c),n+=c)}return n},e.F._lenCodes=function(t,i){for(var s=t.length;2!=s&&0==t[s-1];)s-=2;for(var e=0;e<s;e+=2){var n=t[e+1],r=e+3<s?t[e+3]:-1,h=e+5<s?t[e+5]:-1,o=0==e?-1:t[e-1];if(0==n&&r==n&&h==n){for(var c=e+5;c+2<s&&t[c+2]==n;)c+=2;(f=Math.min(c+1-e>>>1,138))<11?i.push(17,f-3):i.push(18,f-11),e+=2*f-2}else if(n==o&&r==n&&h==n){for(c=e+5;c+2<s&&t[c+2]==n;)c+=2;var f=Math.min(c+1-e>>>1,6);i.push(16,f-3),e+=2*f-2}else i.push(n,0)}return s>>>1},e.F._hufTree=function(t,i,s){var n=[],r=t.length,h=i.length,o=0;for(o=0;o<h;o+=2)i[o]=0,i[o+1]=0;for(o=0;o<r;o++)0!=t[o]&&n.push({lit:o,f:t[o]});var c=n.length,f=n.slice(0);if(0==c)return 0;if(1==c){var a=n[0].lit;f=0==a?1:0;return i[1+(a<<1)]=1,i[1+(f<<1)]=1,1}n.sort((function(t,i){return t.f-i.f}));var u=n[0],l=n[1],d=0,v=1,w=2;for(n[0]={lit:-1,f:u.f+l.f,l:u,r:l,d:0};v!=c-1;)u=d!=v&&(w==c||n[d].f<n[w].f)?n[d++]:n[w++],l=d!=v&&(w==c||n[d].f<n[w].f)?n[d++]:n[w++],n[v++]={lit:-1,f:u.f+l.f,l:u,r:l};var A=e.F.setDepth(n[v-1],0);for(A>s&&(e.F.restrictDepth(f,s,A),A=s),o=0;o<c;o++)i[1+(f[o].lit<<1)]=f[o].d;return A},e.F.setDepth=function(t,i){return-1!=t.lit?(t.d=i,i):Math.max(e.F.setDepth(t.l,i+1),e.F.setDepth(t.r,i+1))},e.F.restrictDepth=function(t,i,s){var e=0,n=1<<s-i,r=0;for(t.sort((function(t,i){return i.d==t.d?t.f-i.f:i.d-t.d})),e=0;e<t.length&&t[e].d>i;e++){var h=t[e].d;t[e].d=i,r+=n-(1<<s-h)}for(r>>>=s-i;r>0;){(h=t[e].d)<i?(t[e].d++,r-=1<<i-h-1):e++}for(;e>=0;e--)t[e].d==i&&r<0&&(t[e].d--,r++);0!=r&&console.log("debt left")},e.F._goodIndex=function(t,i){var s=0;return i[16|s]<=t&&(s|=16),i[8|s]<=t&&(s|=8),i[4|s]<=t&&(s|=4),i[2|s]<=t&&(s|=2),i[1|s]<=t&&(s|=1),s},e.F._writeLit=function(t,i,s,n){return e.F._putsF(s,n,i[t<<1]),n+i[1+(t<<1)]},e.F.inflate=function(t,i){var s=Uint8Array;if(3==t[0]&&0==t[1])return i||new s(0);var n=e.F,r=n._bitsF,h=n._bitsE,o=n._decodeTiny,c=n.makeCodes,f=n.codes2map,a=n._get17,u=n.U,l=null==i;l&&(i=new s(t.length>>>2<<3));for(var d,v,w=0,A=0,p=0,m=0,g=0,y=0,M=0,b=0,U=0;0==w;)if(w=r(t,U,1),A=r(t,U+1,2),U+=3,0!=A){if(l&&(i=e.F._check(i,b+(1<<17))),1==A&&(d=u.flmap,v=u.fdmap,y=511,M=31),2==A){p=h(t,U,5)+257,m=h(t,U+5,5)+1,g=h(t,U+10,4)+4,U+=14;for(var x=0;x<38;x+=2)u.itree[x]=0,u.itree[x+1]=0;var E=1;for(x=0;x<g;x++){var F=h(t,U+3*x,3);u.itree[1+(u.ordr[x]<<1)]=F,F>E&&(E=F)}U+=3*g,c(u.itree,E),f(u.itree,E,u.imap),d=u.lmap,v=u.dmap,U=o(u.imap,(1<<E)-1,p+m,t,U,u.ttree);var P=n._copyOut(u.ttree,0,p,u.ltree);y=(1<<P)-1;var T=n._copyOut(u.ttree,p,m,u.dtree);M=(1<<T)-1,c(u.ltree,P),f(u.ltree,P,d),c(u.dtree,T),f(u.dtree,T,v)}for(;;){var B=d[a(t,U)&y];U+=15&B;var k=B>>>4;if(k>>>8==0)i[b++]=k;else{if(256==k)break;var S=b+k-254;if(k>264){var I=u.ldef[k-257];S=b+(I>>>3)+h(t,U,7&I),U+=7&I}var j=v[a(t,U)&M];U+=15&j;var C=j>>>4,O=u.ddef[C],Q=(O>>>4)+r(t,U,15&O);for(U+=15&O,l&&(i=e.F._check(i,b+(1<<17)));b<S;)i[b]=i[b++-Q],i[b]=i[b++-Q],i[b]=i[b++-Q],i[b]=i[b++-Q];b=S}}}else{0!=(7&U)&&(U+=8-(7&U));var z=4+(U>>>3),R=t[z-4]|t[z-3]<<8;l&&(i=e.F._check(i,b+R)),i.set(new s(t.buffer,t.byteOffset+z,R),b),U=z+R<<3,b+=R}return i.length==b?i:i.slice(0,b)},e.F._check=function(t,i){var s=t.length;if(i<=s)return t;var e=new Uint8Array(Math.max(s<<1,i));return e.set(t,0),e},e.F._decodeTiny=function(t,i,s,n,r,h){for(var o=e.F._bitsE,c=e.F._get17,f=0;f<s;){var a=t[c(n,r)&i];r+=15&a;var u=a>>>4;if(u<=15)h[f]=u,f++;else{var l=0,d=0;16==u?(d=3+o(n,r,2),r+=2,l=h[f-1]):17==u?(d=3+o(n,r,3),r+=3):18==u&&(d=11+o(n,r,7),r+=7);for(var v=f+d;f<v;)h[f]=l,f++}}return r},e.F._copyOut=function(t,i,s,e){for(var n=0,r=0,h=e.length>>>1;r<s;){var o=t[r+i];e[r<<1]=0,e[1+(r<<1)]=o,o>n&&(n=o),r++}for(;r<h;)e[r<<1]=0,e[1+(r<<1)]=0,r++;return n},e.F.makeCodes=function(t,i){for(var s,n,r,h,o=e.F.U,c=t.length,f=o.bl_count,a=0;a<=i;a++)f[a]=0;for(a=1;a<c;a+=2)f[t[a]]++;var u=o.next_code;for(s=0,f[0]=0,n=1;n<=i;n++)s=s+f[n-1]<<1,u[n]=s;for(r=0;r<c;r+=2)0!=(h=t[r+1])&&(t[r]=u[h],u[h]++)},e.F.codes2map=function(t,i,s){for(var n=t.length,r=e.F.U.rev15,h=0;h<n;h+=2)if(0!=t[h+1])for(var o=h>>1,c=t[h+1],f=o<<4|c,a=i-c,u=t[h]<<a,l=u+(1<<a);u!=l;){s[r[u]>>>15-i]=f,u++}},e.F.revCodes=function(t,i){for(var s=e.F.U.rev15,n=15-i,r=0;r<t.length;r+=2){var h=t[r]<<i-t[r+1];t[r]=s[h]>>>n}},e.F._putsE=function(t,i,s){s<<=7&i;var e=i>>>3;t[e]|=s,t[e+1]|=s>>>8},e.F._putsF=function(t,i,s){s<<=7&i;var e=i>>>3;t[e]|=s,t[e+1]|=s>>>8,t[e+2]|=s>>>16},e.F._bitsE=function(t,i,s){return(t[i>>>3]|t[1+(i>>>3)]<<8)>>>(7&i)&(1<<s)-1},e.F._bitsF=function(t,i,s){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16)>>>(7&i)&(1<<s)-1},e.F._get17=function(t,i){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16)>>>(7&i)},e.F._get25=function(t,i){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16|t[3+(i>>>3)]<<24)>>>(7&i)},e.F.U=(i=Uint16Array,s=Uint32Array,{next_code:new i(16),bl_count:new i(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[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,999,999,999],exb:[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,0,0,0],ldef:new i(32),df0:[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,65535,65535],dxb:[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,0,0],ddef:new s(32),flmap:new i(512),fltree:[],fdmap:new i(32),fdtree:[],lmap:new i(32768),ltree:[],ttree:[],dmap:new i(32768),dtree:[],imap:new i(512),itree:[],rev15:new i(32768),lhst:new s(286),dhst:new s(30),ihst:new s(19),lits:new s(15e3),strt:new i(65536),prev:new i(32768)}),function(){for(var t=e.F.U,i=0;i<32768;i++){var s=i;s=(4278255360&(s=(4042322160&(s=(3435973836&(s=(2863311530&s)>>>1|(1431655765&s)<<1))>>>2|(858993459&s)<<2))>>>4|(252645135&s)<<4))>>>8|(16711935&s)<<8,t.rev15[i]=(s>>>16|s<<16)>>>17}function n(t,i,s){for(;0!=i--;)t.push(0,s)}for(i=0;i<32;i++)t.ldef[i]=t.of0[i]<<3|t.exb[i],t.ddef[i]=t.df0[i]<<4|t.dxb[i];n(t.fltree,144,8),n(t.fltree,112,9),n(t.fltree,24,7),n(t.fltree,8,8),e.F.makeCodes(t.fltree,9),e.F.codes2map(t.fltree,9,t.flmap),e.F.revCodes(t.fltree,9),n(t.fdtree,32,5),e.F.makeCodes(t.fdtree,5),e.F.codes2map(t.fdtree,5,t.fdmap),e.F.revCodes(t.fdtree,5),n(t.itree,19,0),n(t.ltree,286,0),n(t.dtree,30,0),n(t.ttree,320,0)}()}();var Y=$({__proto__:null,default:_},[_]);const G=function(){var t={nextZero(t,i){for(;0!=t[i];)i++;return i},readUshort:(t,i)=>t[i]<<8|t[i+1],writeUshort(t,i,s){t[i]=s>>8&255,t[i+1]=255&s},readUint:(t,i)=>16777216*t[i]+(t[i+1]<<16|t[i+2]<<8|t[i+3]),writeUint(t,i,s){t[i]=s>>24&255,t[i+1]=s>>16&255,t[i+2]=s>>8&255,t[i+3]=255&s},readASCII(t,i,s){let e="";for(let n=0;n<s;n++)e+=String.fromCharCode(t[i+n]);return e},writeASCII(t,i,s){for(let e=0;e<s.length;e++)t[i+e]=s.charCodeAt(e)},readBytes(t,i,s){const e=[];for(let n=0;n<s;n++)e.push(t[i+n]);return e},pad:t=>t.length<2?`0${t}`:t,readUTF8(i,s,e){let n,r="";for(let n=0;n<e;n++)r+=`%${t.pad(i[s+n].toString(16))}`;try{n=decodeURIComponent(r)}catch(n){return t.readASCII(i,s,e)}return n}};function i(i,s,e,n){const h=s*e,o=r(n),c=Math.ceil(s*o/8),f=new Uint8Array(4*h),a=new Uint32Array(f.buffer),{ctype:u}=n,{depth:l}=n,d=t.readUshort;if(6==u){const t=h<<2;if(8==l)for(var v=0;v<t;v+=4)f[v]=i[v],f[v+1]=i[v+1],f[v+2]=i[v+2],f[v+3]=i[v+3];if(16==l)for(v=0;v<t;v++)f[v]=i[v<<1]}else if(2==u){const t=n.tabs.tRNS;if(null==t){if(8==l)for(v=0;v<h;v++){var w=3*v;a[v]=255<<24|i[w+2]<<16|i[w+1]<<8|i[w]}if(16==l)for(v=0;v<h;v++){w=6*v;a[v]=255<<24|i[w+4]<<16|i[w+2]<<8|i[w]}}else{var A=t[0];const s=t[1],e=t[2];if(8==l)for(v=0;v<h;v++){var p=v<<2;w=3*v;a[v]=255<<24|i[w+2]<<16|i[w+1]<<8|i[w],i[w]==A&&i[w+1]==s&&i[w+2]==e&&(f[p+3]=0)}if(16==l)for(v=0;v<h;v++){p=v<<2,w=6*v;a[v]=255<<24|i[w+4]<<16|i[w+2]<<8|i[w],d(i,w)==A&&d(i,w+2)==s&&d(i,w+4)==e&&(f[p+3]=0)}}}else if(3==u){const t=n.tabs.PLTE,r=n.tabs.tRNS,o=r?r.length:0;if(1==l)for(var m=0;m<e;m++){var g=m*c,y=m*s;for(v=0;v<s;v++){p=y+v<<2;var M=3*(b=i[g+(v>>3)]>>7-((7&v)<<0)&1);f[p]=t[M],f[p+1]=t[M+1],f[p+2]=t[M+2],f[p+3]=b<o?r[b]:255}}if(2==l)for(m=0;m<e;m++)for(g=m*c,y=m*s,v=0;v<s;v++){p=y+v<<2,M=3*(b=i[g+(v>>2)]>>6-((3&v)<<1)&3);f[p]=t[M],f[p+1]=t[M+1],f[p+2]=t[M+2],f[p+3]=b<o?r[b]:255}if(4==l)for(m=0;m<e;m++)for(g=m*c,y=m*s,v=0;v<s;v++){p=y+v<<2,M=3*(b=i[g+(v>>1)]>>4-((1&v)<<2)&15);f[p]=t[M],f[p+1]=t[M+1],f[p+2]=t[M+2],f[p+3]=b<o?r[b]:255}if(8==l)for(v=0;v<h;v++){var b;p=v<<2,M=3*(b=i[v]);f[p]=t[M],f[p+1]=t[M+1],f[p+2]=t[M+2],f[p+3]=b<o?r[b]:255}}else if(4==u){if(8==l)for(v=0;v<h;v++){p=v<<2;var U=i[x=v<<1];f[p]=U,f[p+1]=U,f[p+2]=U,f[p+3]=i[x+1]}if(16==l)for(v=0;v<h;v++){var x;p=v<<2,U=i[x=v<<2];f[p]=U,f[p+1]=U,f[p+2]=U,f[p+3]=i[x+2]}}else if(0==u)for(A=n.tabs.tRNS?n.tabs.tRNS:-1,m=0;m<e;m++){const t=m*c,e=m*s;if(1==l)for(var E=0;E<s;E++){var F=(U=255*(i[t+(E>>>3)]>>>7-(7&E)&1))==255*A?0:255;a[e+E]=F<<24|U<<16|U<<8|U}else if(2==l)for(E=0;E<s;E++){F=(U=85*(i[t+(E>>>2)]>>>6-((3&E)<<1)&3))==85*A?0:255;a[e+E]=F<<24|U<<16|U<<8|U}else if(4==l)for(E=0;E<s;E++){F=(U=17*(i[t+(E>>>1)]>>>4-((1&E)<<2)&15))==17*A?0:255;a[e+E]=F<<24|U<<16|U<<8|U}else if(8==l)for(E=0;E<s;E++){F=(U=i[t+E])==A?0:255;a[e+E]=F<<24|U<<16|U<<8|U}else if(16==l)for(E=0;E<s;E++){U=i[t+(E<<1)],F=d(i,t+(E<<1))==A?0:255;a[e+E]=F<<24|U<<16|U<<8|U}}return f}function s(t,i,s,o){const c=r(t),f=Math.ceil(s*c/8),a=new Uint8Array((f+1+t.interlace)*o);return i=t.tabs.CgBI?n(i,a):e(i,a),0==t.interlace?i=h(i,t,0,s,o):1==t.interlace&&(i=function t(i,s){const e=s.width,n=s.height,o=r(s),c=o>>3,f=Math.ceil(e*o/8),a=new Uint8Array(n*f);let u=0;const l=[0,0,4,0,2,0,1],d=[0,4,0,2,0,1,0],v=[8,8,8,4,4,2,2],w=[8,8,4,4,2,2,1];let A=0;for(;A<7;){const t=v[A],r=w[A];let m=0,g=0,y=l[A];for(;y<n;)y+=t,g++;let M=d[A];for(;M<e;)M+=r,m++;const b=Math.ceil(m*o/8);h(i,s,u,m,g);let U=0,x=l[A];for(;x<n;){let s=d[A],n=u+U*b<<3;for(;s<e;){var p;if(1==o)p=(p=i[n>>3])>>7-(7&n)&1,a[x*f+(s>>3)]|=p<<7-((7&s)<<0);if(2==o)p=(p=i[n>>3])>>6-(7&n)&3,a[x*f+(s>>2)]|=p<<6-((3&s)<<1);if(4==o)p=(p=i[n>>3])>>4-(7&n)&15,a[x*f+(s>>1)]|=p<<4-((1&s)<<2);if(o>=8){const t=x*f+s*c;for(let s=0;s<c;s++)a[t+s]=i[(n>>3)+s]}n+=o,s+=r}U++,x+=t}m*g!=0&&(u+=g*(1+b)),A+=1}return a}(i,t)),i}function e(t,i){return n(new Uint8Array(t.buffer,2,t.length-6),i)}var n=function(){const t={H:{}};return t.H.N=function(i,s){const e=Uint8Array;let n,r,h=0,o=0,c=0,f=0,a=0,u=0,l=0,d=0,v=0;if(3==i[0]&&0==i[1])return s||new e(0);const w=t.H,A=w.b,p=w.e,m=w.R,g=w.n,y=w.A,M=w.Z,b=w.m,U=null==s;for(U&&(s=new e(i.length>>>2<<5));0==h;)if(h=A(i,v,1),o=A(i,v+1,2),v+=3,0!=o){if(U&&(s=t.H.W(s,d+(1<<17))),1==o&&(n=b.J,r=b.h,u=511,l=31),2==o){c=p(i,v,5)+257,f=p(i,v+5,5)+1,a=p(i,v+10,4)+4,v+=14;let t=1;for(var x=0;x<38;x+=2)b.Q[x]=0,b.Q[x+1]=0;for(x=0;x<a;x++){const s=p(i,v+3*x,3);b.Q[1+(b.X[x]<<1)]=s,s>t&&(t=s)}v+=3*a,g(b.Q,t),y(b.Q,t,b.u),n=b.w,r=b.d,v=m(b.u,(1<<t)-1,c+f,i,v,b.v);const s=w.V(b.v,0,c,b.C);u=(1<<s)-1;const e=w.V(b.v,c,f,b.D);l=(1<<e)-1,g(b.C,s),y(b.C,s,n),g(b.D,e),y(b.D,e,r)}for(;;){const t=n[M(i,v)&u];v+=15&t;const e=t>>>4;if(e>>>8==0)s[d++]=e;else{if(256==e)break;{let t=d+e-254;if(e>264){const s=b.q[e-257];t=d+(s>>>3)+p(i,v,7&s),v+=7&s}const n=r[M(i,v)&l];v+=15&n;const h=n>>>4,o=b.c[h],c=(o>>>4)+A(i,v,15&o);for(v+=15&o;d<t;)s[d]=s[d++-c],s[d]=s[d++-c],s[d]=s[d++-c],s[d]=s[d++-c];d=t}}}}else{0!=(7&v)&&(v+=8-(7&v));const n=4+(v>>>3),r=i[n-4]|i[n-3]<<8;U&&(s=t.H.W(s,d+r)),s.set(new e(i.buffer,i.byteOffset+n,r),d),v=n+r<<3,d+=r}return s.length==d?s:s.slice(0,d)},t.H.W=function(t,i){const s=t.length;if(i<=s)return t;const e=new Uint8Array(s<<1);return e.set(t,0),e},t.H.R=function(i,s,e,n,r,h){const o=t.H.e,c=t.H.Z;let f=0;for(;f<e;){const t=i[c(n,r)&s];r+=15&t;const e=t>>>4;if(e<=15)h[f]=e,f++;else{let t=0,i=0;16==e?(i=3+o(n,r,2),r+=2,t=h[f-1]):17==e?(i=3+o(n,r,3),r+=3):18==e&&(i=11+o(n,r,7),r+=7);const s=f+i;for(;f<s;)h[f]=t,f++}}return r},t.H.V=function(t,i,s,e){let n=0,r=0;const h=e.length>>>1;for(;r<s;){const s=t[r+i];e[r<<1]=0,e[1+(r<<1)]=s,s>n&&(n=s),r++}for(;r<h;)e[r<<1]=0,e[1+(r<<1)]=0,r++;return n},t.H.n=function(i,s){const e=t.H.m,n=i.length;let r,h,o;let c;const f=e.j;for(var a=0;a<=s;a++)f[a]=0;for(a=1;a<n;a+=2)f[i[a]]++;const u=e.K;for(r=0,f[0]=0,h=1;h<=s;h++)r=r+f[h-1]<<1,u[h]=r;for(o=0;o<n;o+=2)c=i[o+1],0!=c&&(i[o]=u[c],u[c]++)},t.H.A=function(i,s,e){const n=i.length,r=t.H.m.r;for(let t=0;t<n;t+=2)if(0!=i[t+1]){const n=t>>1,h=i[t+1],o=n<<4|h,c=s-h;let f=i[t]<<c;const a=f+(1<<c);for(;f!=a;){e[r[f]>>>15-s]=o,f++}}},t.H.l=function(i,s){const e=t.H.m.r,n=15-s;for(let t=0;t<i.length;t+=2){const r=i[t]<<s-i[t+1];i[t]=e[r]>>>n}},t.H.M=function(t,i,s){s<<=7&i;const e=i>>>3;t[e]|=s,t[e+1]|=s>>>8},t.H.I=function(t,i,s){s<<=7&i;const e=i>>>3;t[e]|=s,t[e+1]|=s>>>8,t[e+2]|=s>>>16},t.H.e=function(t,i,s){return(t[i>>>3]|t[1+(i>>>3)]<<8)>>>(7&i)&(1<<s)-1},t.H.b=function(t,i,s){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16)>>>(7&i)&(1<<s)-1},t.H.Z=function(t,i){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16)>>>(7&i)},t.H.i=function(t,i){return(t[i>>>3]|t[1+(i>>>3)]<<8|t[2+(i>>>3)]<<16|t[3+(i>>>3)]<<24)>>>(7&i)},t.H.m=function(){const t=Uint16Array,i=Uint32Array;return{K:new t(16),j:new t(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[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,999,999,999],T:[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,0,0,0],q:new t(32),p:[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,65535,65535],z:[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,0,0],c:new i(32),J:new t(512),_:[],h:new t(32),$:[],w:new t(32768),C:[],v:[],d:new t(32768),D:[],u:new t(512),Q:[],r:new t(32768),s:new i(286),Y:new i(30),a:new i(19),t:new i(15e3),k:new t(65536),g:new t(32768)}}(),function(){const i=t.H.m;for(var s=0;s<32768;s++){let t=s;t=(2863311530&t)>>>1|(1431655765&t)<<1,t=(3435973836&t)>>>2|(858993459&t)<<2,t=(4042322160&t)>>>4|(252645135&t)<<4,t=(4278255360&t)>>>8|(16711935&t)<<8,i.r[s]=(t>>>16|t<<16)>>>17}function e(t,i,s){for(;0!=i--;)t.push(0,s)}for(s=0;s<32;s++)i.q[s]=i.S[s]<<3|i.T[s],i.c[s]=i.p[s]<<4|i.z[s];e(i._,144,8),e(i._,112,9),e(i._,24,7),e(i._,8,8),t.H.n(i._,9),t.H.A(i._,9,i.J),t.H.l(i._,9),e(i.$,32,5),t.H.n(i.$,5),t.H.A(i.$,5,i.h),t.H.l(i.$,5),e(i.Q,19,0),e(i.C,286,0),e(i.D,30,0),e(i.v,320,0)}(),t.H.N}();function r(t){return[1,null,3,1,2,null,4][t.ctype]*t.depth}function h(t,i,s,e,n){let h=r(i);const c=Math.ceil(e*h/8);let f,a;h=Math.ceil(h/8);let u=t[s],l=0;if(u>1&&(t[s]=[0,0,1][u-2]),3==u)for(l=h;l<c;l++)t[l+1]=t[l+1]+(t[l+1-h]>>>1)&255;for(let i=0;i<n;i++)if(f=s+i*c,a=f+i+1,u=t[a-1],l=0,0==u)for(;l<c;l++)t[f+l]=t[a+l];else if(1==u){for(;l<h;l++)t[f+l]=t[a+l];for(;l<c;l++)t[f+l]=t[a+l]+t[f+l-h]}else if(2==u)for(;l<c;l++)t[f+l]=t[a+l]+t[f+l-c];else if(3==u){for(;l<h;l++)t[f+l]=t[a+l]+(t[f+l-c]>>>1);for(;l<c;l++)t[f+l]=t[a+l]+(t[f+l-c]+t[f+l-h]>>>1)}else{for(;l<h;l++)t[f+l]=t[a+l]+o(0,t[f+l-c],0);for(;l<c;l++)t[f+l]=t[a+l]+o(t[f+l-h],t[f+l-c],t[f+l-h-c])}return t}function o(t,i,s){const e=t+i-s,n=e-t,r=e-i,h=e-s;return n*n<=r*r&&n*n<=h*h?t:r*r<=h*h?i:s}function c(i,s,e){e.width=t.readUint(i,s),s+=4,e.height=t.readUint(i,s),s+=4,e.depth=i[s],s++,e.ctype=i[s],s++,e.compress=i[s],s++,e.filter=i[s],s++,e.interlace=i[s],s++}function f(t,i,s,e,n,r,h,o,c){const f=Math.min(i,n),a=Math.min(s,r);let u=0,l=0;for(let s=0;s<a;s++)for(let r=0;r<f;r++)if(h>=0&&o>=0?(u=s*i+r<<2,l=(o+s)*n+h+r<<2):(u=(-o+s)*i-h+r<<2,l=s*n+r<<2),0==c)e[l]=t[u],e[l+1]=t[u+1],e[l+2]=t[u+2],e[l+3]=t[u+3];else if(1==c){var d=t[u+3]*(1/255),v=t[u]*d,w=t[u+1]*d,A=t[u+2]*d,p=e[l+3]*(1/255),m=e[l]*p,g=e[l+1]*p,y=e[l+2]*p;const i=1-d,s=d+p*i,n=0==s?0:1/s;e[l+3]=255*s,e[l+0]=(v+m*i)*n,e[l+1]=(w+g*i)*n,e[l+2]=(A+y*i)*n}else if(2==c){d=t[u+3],v=t[u],w=t[u+1],A=t[u+2],p=e[l+3],m=e[l],g=e[l+1],y=e[l+2];d==p&&v==m&&w==g&&A==y?(e[l]=0,e[l+1]=0,e[l+2]=0,e[l+3]=0):(e[l]=v,e[l+1]=w,e[l+2]=A,e[l+3]=d)}else if(3==c){d=t[u+3],v=t[u],w=t[u+1],A=t[u+2],p=e[l+3],m=e[l],g=e[l+1],y=e[l+2];if(d==p&&v==m&&w==g&&A==y)continue;if(d<220&&p>20)return false}return true}return{decode:function i(r){const h=new Uint8Array(r);let o=8;const f=t,a=f.readUshort,u=f.readUint,l={tabs:{},frames:[]},d=new Uint8Array(h.length);let v,w=0,A=0;const p=[137,80,78,71,13,10,26,10];for(var m=0;m<8;m++)if(h[m]!=p[m])throw"The input is not a PNG file!";for(;o<h.length;){const t=f.readUint(h,o);o+=4;const i=f.readASCII(h,o,4);if(o+=4,"IHDR"==i)c(h,o,l);else if("iCCP"==i){for(var g=o;0!=h[g];)g++;f.readASCII(h,o,g-o);const s=h.slice(g+2,o+t);let r=null;try{r=e(s)}catch(t){r=n(s)}l.tabs[i]=r}else if("CgBI"==i)l.tabs[i]=h.slice(o,o+4);else if("IDAT"==i){for(m=0;m<t;m++)d[w+m]=h[o+m];w+=t}else if("acTL"==i)l.tabs[i]={num_frames:u(h,o),num_plays:u(h,o+4)},v=new Uint8Array(h.length);else if("fcTL"==i){if(0!=A)(E=l.frames[l.frames.length-1]).data=s(l,v.slice(0,A),E.rect.width,E.rect.height),A=0;const t={x:u(h,o+12),y:u(h,o+16),width:u(h,o+4),height:u(h,o+8)};let i=a(h,o+22);i=a(h,o+20)/(0==i?100:i);const e={rect:t,delay:Math.round(1e3*i),dispose:h[o+24],blend:h[o+25]};l.frames.push(e)}else if("fdAT"==i){for(m=0;m<t-4;m++)v[A+m]=h[o+m+4];A+=t-4}else if("pHYs"==i)l.tabs[i]=[f.readUint(h,o),f.readUint(h,o+4),h[o+8]];else if("cHRM"==i){l.tabs[i]=[];for(m=0;m<8;m++)l.tabs[i].push(f.readUint(h,o+4*m))}else if("tEXt"==i||"zTXt"==i){null==l.tabs[i]&&(l.tabs[i]={});var y=f.nextZero(h,o),M=f.readASCII(h,o,y-o),b=o+t-y-1;if("tEXt"==i)x=f.readASCII(h,y+1,b);else{var U=e(h.slice(y+2,y+2+b));x=f.readUTF8(U,0,U.length)}l.tabs[i][M]=x}else if("iTXt"==i){null==l.tabs[i]&&(l.tabs[i]={});y=0,g=o;y=f.nextZero(h,g);M=f.readASCII(h,g,y-g);const s=h[g=y+1];var x;g+=2,y=f.nextZero(h,g),f.readASCII(h,g,y-g),g=y+1,y=f.nextZero(h,g),f.readUTF8(h,g,y-g);b=t-((g=y+1)-o);if(0==s)x=f.readUTF8(h,g,b);else{U=e(h.slice(g,g+b));x=f.readUTF8(U,0,U.length)}l.tabs[i][M]=x}else if("PLTE"==i)l.tabs[i]=f.readBytes(h,o,t);else if("hIST"==i){const t=l.tabs.PLTE.length/3;l.tabs[i]=[];for(m=0;m<t;m++)l.tabs[i].push(a(h,o+2*m))}else if("tRNS"==i)3==l.ctype?l.tabs[i]=f.readBytes(h,o,t):0==l.ctype?l.tabs[i]=a(h,o):2==l.ctype&&(l.tabs[i]=[a(h,o),a(h,o+2),a(h,o+4)]);else if("gAMA"==i)l.tabs[i]=f.readUint(h,o)/1e5;else if("sRGB"==i)l.tabs[i]=h[o];else if("bKGD"==i)0==l.ctype||4==l.ctype?l.tabs[i]=[a(h,o)]:2==l.ctype||6==l.ctype?l.tabs[i]=[a(h,o),a(h,o+2),a(h,o+4)]:3==l.ctype&&(l.tabs[i]=h[o]);else if("IEND"==i)break;o+=t,f.readUint(h,o),o+=4}var E;return 0!=A&&((E=l.frames[l.frames.length-1]).data=s(l,v.slice(0,A),E.rect.width,E.rect.height)),l.data=s(l,d,l.width,l.height),delete l.compress,delete l.interlace,delete l.filter,l},toRGBA8:function t(s){const e=s.width,n=s.height;if(null==s.tabs.acTL)return[i(s.data,e,n,s).buffer];const r=[];null==s.frames[0].data&&(s.frames[0].data=s.data);const h=e*n*4,o=new Uint8Array(h),c=new Uint8Array(h),a=new Uint8Array(h);for(let t=0;t<s.frames.length;t++){const l=s.frames[t],d=l.rect.x,v=l.rect.y,w=l.rect.width,A=l.rect.height,p=i(l.data,w,A,s);if(0!=t)for(var u=0;u<h;u++)a[u]=o[u];if(0==l.blend?f(p,w,A,o,e,n,d,v,0):1==l.blend&&f(p,w,A,o,e,n,d,v,1),r.push(o.buffer.slice(0)),0==l.dispose);else if(1==l.dispose)f(c,w,A,o,e,n,d,v,0);else if(2==l.dispose)for(u=0;u<h;u++)o[u]=a[u]}return r},_paeth:o,_copyTile:f,_bin:t}}();!function(){const{_copyTile:t}=G,{_bin:i}=G,s=G._paeth;var e={table:function(){const t=new Uint32Array(256);for(let i=0;i<256;i++){let s=i;for(let t=0;t<8;t++)1&s?s=3988292384^s>>>1:s>>>=1;t[i]=s}return t}(),update(t,i,s,n){for(let r=0;r<n;r++)t=e.table[255&(t^i[s+r])]^t>>>8;return t},crc:(t,i,s)=>4294967295^e.update(4294967295,t,i,s)};function n(t,i,s,e){i[s]+=t[0]*e>>4,i[s+1]+=t[1]*e>>4,i[s+2]+=t[2]*e>>4,i[s+3]+=t[3]*e>>4}function r(t){return Math.max(0,Math.min(255,t))}function h(t,i){const s=t[0]-i[0],e=t[1]-i[1],n=t[2]-i[2],r=t[3]-i[3];return s*s+e*e+n*n+r*r}function o(t,i,s,e,o,c,f){null==f&&(f=1);const a=e.length,u=[];for(var l=0;l<a;l++){const t=e[l];u.push([t>>>0&255,t>>>8&255,t>>>16&255,t>>>24&255])}for(l=0;l<a;l++){let t=4294967295;for(var d=0,v=0;v<a;v++){var w=h(u[l],u[v]);v!=l&&w<t&&(t=w,d=v)}}const A=new Uint32Array(o.buffer),p=new Int16Array(i*s*4),m=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(l=0;l<m.length;l++)m[l]=255*((m[l]+.5)/16-.5);for(let o=0;o<s;o++)for(let y=0;y<i;y++){var g;l=4*(o*i+y);if(2!=f)g=[r(t[l]+p[l]),r(t[l+1]+p[l+1]),r(t[l+2]+p[l+2]),r(t[l+3]+p[l+3])];else{w=m[4*(3&o)+(3&y)];g=[r(t[l]+w),r(t[l+1]+w),r(t[l+2]+w),r(t[l+3]+w)]}d=0;let M=16777215;for(v=0;v<a;v++){const t=h(g,u[v]);t<M&&(M=t,d=v)}const b=u[d],U=[g[0]-b[0],g[1]-b[1],g[2]-b[2],g[3]-b[3]];1==f&&(y!=i-1&&n(U,p,l+4,7),o!=s-1&&(0!=y&&n(U,p,l+4*i-4,3),n(U,p,l+4*i,5),y!=i-1&&n(U,p,l+4*i+4,1))),c[l>>2]=d,A[l>>2]=e[d]}}function c(t,s,n,r,h){null==h&&(h={});const{crc:o}=e,c=i.writeUint,f=i.writeUshort,a=i.writeASCII;let u=8;const l=t.frames.length>1;let d,v=false,w=33+(l?20:0);if(null!=h.sRGB&&(w+=13),null!=h.pHYs&&(w+=21),null!=h.iCCP&&(d=pako.deflate(h.iCCP),w+=21+d.length+4),3==t.ctype){for(var A=t.plte.length,p=0;p<A;p++)t.plte[p]>>>24!=255&&(v=true);w+=8+3*A+4+(v?8+1*A+4:0)}for(var m=0;m<t.frames.length;m++){l&&(w+=38),w+=(b=t.frames[m]).cimg.length+12,0!=m&&(w+=4)}w+=12;const g=new Uint8Array(w),y=[137,80,78,71,13,10,26,10];for(p=0;p<8;p++)g[p]=y[p];if(c(g,u,13),u+=4,a(g,u,"IHDR"),u+=4,c(g,u,s),u+=4,c(g,u,n),u+=4,g[u]=t.depth,u++,g[u]=t.ctype,u++,g[u]=0,u++,g[u]=0,u++,g[u]=0,u++,c(g,u,o(g,u-17,17)),u+=4,null!=h.sRGB&&(c(g,u,1),u+=4,a(g,u,"sRGB"),u+=4,g[u]=h.sRGB,u++,c(g,u,o(g,u-5,5)),u+=4),null!=h.iCCP){const t=13+d.length;c(g,u,t),u+=4,a(g,u,"iCCP"),u+=4,a(g,u,"ICC profile"),u+=11,u+=2,g.set(d,u),u+=d.length,c(g,u,o(g,u-(t+4),t+4)),u+=4}if(null!=h.pHYs&&(c(g,u,9),u+=4,a(g,u,"pHYs"),u+=4,c(g,u,h.pHYs[0]),u+=4,c(g,u,h.pHYs[1]),u+=4,g[u]=h.pHYs[2],u++,c(g,u,o(g,u-13,13)),u+=4),l&&(c(g,u,8),u+=4,a(g,u,"acTL"),u+=4,c(g,u,t.frames.length),u+=4,c(g,u,null!=h.loop?h.loop:0),u+=4,c(g,u,o(g,u-12,12)),u+=4),3==t.ctype){c(g,u,3*(A=t.plte.length)),u+=4,a(g,u,"PLTE"),u+=4;for(p=0;p<A;p++){const i=3*p,s=t.plte[p],e=255&s,n=s>>>8&255,r=s>>>16&255;g[u+i+0]=e,g[u+i+1]=n,g[u+i+2]=r}if(u+=3*A,c(g,u,o(g,u-3*A-4,3*A+4)),u+=4,v){c(g,u,A),u+=4,a(g,u,"tRNS"),u+=4;for(p=0;p<A;p++)g[u+p]=t.plte[p]>>>24&255;u+=A,c(g,u,o(g,u-A-4,A+4)),u+=4}}let M=0;for(m=0;m<t.frames.length;m++){var b=t.frames[m];l&&(c(g,u,26),u+=4,a(g,u,"fcTL"),u+=4,c(g,u,M++),u+=4,c(g,u,b.rect.width),u+=4,c(g,u,b.rect.height),u+=4,c(g,u,b.rect.x),u+=4,c(g,u,b.rect.y),u+=4,f(g,u,r[m]),u+=2,f(g,u,1e3),u+=2,g[u]=b.dispose,u++,g[u]=b.blend,u++,c(g,u,o(g,u-30,30)),u+=4);const i=b.cimg;c(g,u,(A=i.length)+(0==m?0:4)),u+=4;const s=u;a(g,u,0==m?"IDAT":"fdAT"),u+=4,0!=m&&(c(g,u,M++),u+=4),g.set(i,u),u+=A,c(g,u,o(g,s,u-s)),u+=4}return c(g,u,0),u+=4,a(g,u,"IEND"),u+=4,c(g,u,o(g,u-4,4)),u+=4,g.buffer}function f(t,i,s){for(let e=0;e<t.frames.length;e++){const n=t.frames[e];const r=n.rect.height,h=new Uint8Array(r*n.bpl+r);n.cimg=d(n.img,r,n.bpp,n.bpl,h,i,s)}}function a(i,s,e,n,r){const h=r[0],c=r[1],f=r[2],a=r[3],d=r[4],v=r[5];let A=6,p=8,m=255;for(var g=0;g<i.length;g++){const t=new Uint8Array(i[g]);for(var y=t.length,M=0;M<y;M+=4)m&=t[M+3]}const b=255!=m,U=function i(s,e,n,r,h,o){const c=[];for(var f=0;f<s.length;f++){const i=new Uint8Array(s[f]),u=new Uint32Array(i.buffer);var a;let v=0,A=0,p=e,m=n,g=r?1:0;if(0!=f){const y=o||r||1==f||0!=c[f-2].dispose?1:2;let M=0,b=1e9;for(let t=0;t<y;t++){var d=new Uint8Array(s[f-1-t]);const i=new Uint32Array(s[f-1-t]);let r=e,o=n,c=-1,a=-1;for(let t=0;t<n;t++)for(let s=0;s<e;s++){u[w=t*e+s]!=i[w]&&(s<r&&(r=s),s>c&&(c=s),t<o&&(o=t),t>a&&(a=t))}-1==c&&(r=o=c=a=0),h&&(1==(1&r)&&r--,1==(1&o)&&o--);const l=(c-r+1)*(a-o+1);l<b&&(b=l,M=t,v=r,A=o,p=c-r+1,m=a-o+1)}d=new Uint8Array(s[f-1-M]);1==M&&(c[f-1].dispose=2),a=new Uint8Array(p*m*4),t(d,e,n,a,p,m,-v,-A,0),g=t(i,e,n,a,p,m,-v,-A,3)?1:0,1==g?l(i,e,n,a,{x:v,y:A,width:p,height:m}):t(i,e,n,a,p,m,-v,-A,0)}else a=i.slice(0);c.push({rect:{x:v,y:A,width:p,height:m},img:a,blend:g,dispose:0})}if(r)for(f=0;f<c.length;f++){if(1==(A=c[f]).blend)continue;const t=A.rect,i=c[f-1].rect,r=Math.min(t.x,i.x),o=Math.min(t.y,i.y),a={x:r,y:o,width:Math.max(t.x+t.width,i.x+i.width)-r,height:Math.max(t.y+t.height,i.y+i.height)-o};c[f-1].dispose=1,f-1!=0&&u(s,e,n,c,f-1,a,h),u(s,e,n,c,f,a,h)}let v=0;if(1!=s.length)for(var w=0;w<c.length;w++){var A;v+=(A=c[w]).rect.width*A.rect.height}return c}(i,s,e,h,c,f),x={},E=[],F=[];if(0!=n){const t=[];for(M=0;M<U.length;M++)t.push(U[M].img.buffer);const i=function t(i){let s=0;for(var e=0;e<i.length;e++)s+=i[e].byteLength;const n=new Uint8Array(s);let r=0;for(e=0;e<i.length;e++){const t=new Uint8Array(i[e]),s=t.length;for(let i=0;i<s;i+=4){let s=t[i],e=t[i+1],h=t[i+2];const o=t[i+3];0==o&&(s=e=h=0),n[r+i]=s,n[r+i+1]=e,n[r+i+2]=h,n[r+i+3]=o}r+=s}return n.buffer}(t),s=w(i,n);for(M=0;M<s.plte.length;M++)E.push(s.plte[M].est.rgba);let e=0;for(M=0;M<U.length;M++){const t=(T=U[M]).img.length;var P=new Uint8Array(s.inds.buffer,e>>2,t>>2);F.push(P);const i=new Uint8Array(s.abuf,e,t);v&&o(T.img,T.rect.width,T.rect.height,E,i,P),T.img.set(i),e+=t}}else for(g=0;g<U.length;g++){var T=U[g];const t=new Uint32Array(T.img.buffer);var B=T.rect.width;y=t.length,P=new Uint8Array(y);F.push(P);for(M=0;M<y;M++){const i=t[M];if(0!=M&&i==t[M-1])P[M]=P[M-1];else if(M>B&&i==t[M-B])P[M]=P[M-B];else{let t=x[i];if(null==t&&(x[i]=t=E.length,E.push(i),E.length>=300))break;P[M]=t}}}const k=E.length;k<=256&&0==d&&(p=k<=2?1:k<=4?2:k<=16?4:8,p=Math.max(p,a));for(g=0;g<U.length;g++){(T=U[g]).rect.x;B=T.rect.width;const t=T.rect.height;let i=T.img;let s=4*B,e=4;if(k<=256&&0==d){s=Math.ceil(p*B/8);var S=new Uint8Array(s*t);const n=F[g];for(let i=0;i<t;i++){M=i*s;const t=i*B;if(8==p)for(var I=0;I<B;I++)S[M+I]=n[t+I];else if(4==p)for(I=0;I<B;I++)S[M+(I>>1)]|=n[t+I]<<4-4*(1&I);else if(2==p)for(I=0;I<B;I++)S[M+(I>>2)]|=n[t+I]<<6-2*(3&I);else if(1==p)for(I=0;I<B;I++)S[M+(I>>3)]|=n[t+I]<<7-1*(7&I)}i=S,A=3,e=1}else if(0==b&&1==U.length){S=new Uint8Array(B*t*3);const n=B*t;for(M=0;M<n;M++){const t=3*M,s=4*M;S[t]=i[s],S[t+1]=i[s+1],S[t+2]=i[s+2]}i=S,A=2,e=3,s=3*B}T.img=i,T.bpl=s,T.bpp=e}return{ctype:A,depth:p,plte:E,frames:U}}function u(i,s,e,n,r,h,o){const c=Uint8Array,f=Uint32Array,a=new c(i[r-1]),u=new f(i[r-1]),d=r+1<i.length?new c(i[r+1]):null,v=new c(i[r]),w=new f(v.buffer);let A=s,p=e,m=-1,g=-1;for(let t=0;t<h.height;t++)for(let i=0;i<h.width;i++){const e=h.x+i,o=h.y+t,c=o*s+e,f=w[c];0==f||0==n[r-1].dispose&&u[c]==f&&(null==d||0!=d[4*c+3])||(e<A&&(A=e),e>m&&(m=e),o<p&&(p=o),o>g&&(g=o))}-1==m&&(A=p=m=g=0),o&&(1==(1&A)&&A--,1==(1&p)&&p--),h={x:A,y:p,width:m-A+1,height:g-p+1};const y=n[r];y.rect=h,y.blend=1,y.img=new Uint8Array(h.width*h.height*4),0==n[r-1].dispose?(t(a,s,e,y.img,h.width,h.height,-h.x,-h.y,0),l(v,s,e,y.img,h)):t(v,s,e,y.img,h.width,h.height,-h.x,-h.y,0)}function l(i,s,e,n,r){t(i,s,e,n,r.width,r.height,-r.x,-r.y,2)}function d(t,i,s,e,n,r,h){const o=[];let c,f=[0,1,2,3,4];-1!=r?f=[r]:(i*e>5e5||1==s)&&(f=[0]),h&&(c={level:0});const a=Y;for(var u=0;u<f.length;u++){for(let r=0;r<i;r++)v(n,t,r,e,s,f[u]);o.push(a.deflate(n,c))}let l,d=1e9;for(u=0;u<o.length;u++)o[u].length<d&&(l=u,d=o[u].length);return o[l]}function v(t,i,e,n,r,h){const o=e*n;let c=o+e;if(t[c]=h,c++,0==h)if(n<500)for(var f=0;f<n;f++)t[c+f]=i[o+f];else t.set(new Uint8Array(i.buffer,o,n),c);else if(1==h){for(f=0;f<r;f++)t[c+f]=i[o+f];for(f=r;f<n;f++)t[c+f]=i[o+f]-i[o+f-r]+256&255}else if(0==e){for(f=0;f<r;f++)t[c+f]=i[o+f];if(2==h)for(f=r;f<n;f++)t[c+f]=i[o+f];if(3==h)for(f=r;f<n;f++)t[c+f]=i[o+f]-(i[o+f-r]>>1)+256&255;if(4==h)for(f=r;f<n;f++)t[c+f]=i[o+f]-s(i[o+f-r],0,0)+256&255}else{if(2==h)for(f=0;f<n;f++)t[c+f]=i[o+f]+256-i[o+f-n]&255;if(3==h){for(f=0;f<r;f++)t[c+f]=i[o+f]+256-(i[o+f-n]>>1)&255;for(f=r;f<n;f++)t[c+f]=i[o+f]+256-(i[o+f-n]+i[o+f-r]>>1)&255}if(4==h){for(f=0;f<r;f++)t[c+f]=i[o+f]+256-s(0,i[o+f-n],0)&255;for(f=r;f<n;f++)t[c+f]=i[o+f]+256-s(i[o+f-r],i[o+f-n],i[o+f-r-n])&255}}}function w(t,i){const s=new Uint8Array(t),e=s.slice(0),n=new Uint32Array(e.buffer),r=A(e,i),h=r[0],o=r[1],c=s.length,f=new Uint8Array(c>>2);let a;if(s.length<2e7)for(var u=0;u<c;u+=4){a=p(h,l=s[u]*(1/255),d=s[u+1]*(1/255),v=s[u+2]*(1/255),w=s[u+3]*(1/255)),f[u>>2]=a.ind,n[u>>2]=a.est.rgba}else for(u=0;u<c;u+=4){var l=s[u]*(1/255),d=s[u+1]*(1/255),v=s[u+2]*(1/255),w=s[u+3]*(1/255);for(a=h;a.left;)a=m(a.est,l,d,v,w)<=0?a.left:a.right;f[u>>2]=a.ind,n[u>>2]=a.est.rgba}return{abuf:e.buffer,inds:f,plte:o}}function A(t,i,s){null==s&&(s=1e-4);const e=new Uint32Array(t.buffer),n={i0:0,i1:t.length,bst:null,est:null,tdst:0,left:null,right:null};n.bst=M(t,n.i0,n.i1),n.est=b(n.bst);const r=[n];for(;r.length<i;){let i=0,n=0;for(var h=0;h<r.length;h++)r[h].est.L>i&&(i=r[h].est.L,n=h);if(i<s)break;const o=r[n],c=g(t,e,o.i0,o.i1,o.est.e,o.est.eMq255);if(o.i0>=c||o.i1<=c){o.est.L=0;continue}const f={i0:o.i0,i1:c,bst:null,est:null,tdst:0,left:null,right:null};f.bst=M(t,f.i0,f.i1),f.est=b(f.bst);const a={i0:c,i1:o.i1,bst:null,est:null,tdst:0,left:null,right:null};a.bst={R:[],m:[],N:o.bst.N-f.bst.N};for(h=0;h<16;h++)a.bst.R[h]=o.bst.R[h]-f.bst.R[h];for(h=0;h<4;h++)a.bst.m[h]=o.bst.m[h]-f.bst.m[h];a.est=b(a.bst),o.left=f,o.right=a,r[n]=f,r.push(a)}r.sort(((t,i)=>i.bst.N-t.bst.N));for(h=0;h<r.length;h++)r[h].ind=h;return[n,r]}function p(t,i,s,e,n){if(null==t.left)return t.tdst=function t(i,s,e,n,r){const h=s-i[0],o=e-i[1],c=n-i[2],f=r-i[3];return h*h+o*o+c*c+f*f}(t.est.q,i,s,e,n),t;const r=m(t.est,i,s,e,n);let h=t.left,o=t.right;r>0&&(h=t.right,o=t.left);const c=p(h,i,s,e,n);if(c.tdst<=r*r)return c;const f=p(o,i,s,e,n);return f.tdst<c.tdst?f:c}function m(t,i,s,e,n){const{e:r}=t;return r[0]*i+r[1]*s+r[2]*e+r[3]*n-t.eMq}function g(t,i,s,e,n,r){for(e-=4;s<e;){for(;y(t,s,n)<=r;)s+=4;for(;y(t,e,n)>r;)e-=4;if(s>=e)break;const h=i[s>>2];i[s>>2]=i[e>>2],i[e>>2]=h,s+=4,e-=4}for(;y(t,s,n)>r;)s-=4;return s+4}function y(t,i,s){return t[i]*s[0]+t[i+1]*s[1]+t[i+2]*s[2]+t[i+3]*s[3]}function M(t,i,s){const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=[0,0,0,0],r=s-i>>2;for(let r=i;r<s;r+=4){const i=t[r]*(1/255),s=t[r+1]*(1/255),h=t[r+2]*(1/255),o=t[r+3]*(1/255);n[0]+=i,n[1]+=s,n[2]+=h,n[3]+=o,e[0]+=i*i,e[1]+=i*s,e[2]+=i*h,e[3]+=i*o,e[5]+=s*s,e[6]+=s*h,e[7]+=s*o,e[10]+=h*h,e[11]+=h*o,e[15]+=o*o}return e[4]=e[1],e[8]=e[2],e[9]=e[6],e[12]=e[3],e[13]=e[7],e[14]=e[11],{R:e,m:n,N:r}}function b(t){const{R:i}=t,{m:s}=t,{N:e}=t,n=s[0],r=s[1],h=s[2],o=s[3],c=0==e?0:1/e,f=[i[0]-n*n*c,i[1]-n*r*c,i[2]-n*h*c,i[3]-n*o*c,i[4]-r*n*c,i[5]-r*r*c,i[6]-r*h*c,i[7]-r*o*c,i[8]-h*n*c,i[9]-h*r*c,i[10]-h*h*c,i[11]-h*o*c,i[12]-o*n*c,i[13]-o*r*c,i[14]-o*h*c,i[15]-o*o*c],a=f,u=U;let l=[Math.random(),Math.random(),Math.random(),Math.random()],d=0,v=0;if(0!=e)for(let t=0;t<16&&(l=u.multVec(a,l),v=Math.sqrt(u.dot(l,l)),l=u.sml(1/v,l),!(0!=t&&Math.abs(v-d)<1e-9));t++)d=v;const w=[n*c,r*c,h*c,o*c];return{Cov:f,q:w,e:l,L:d,eMq255:u.dot(u.sml(255,w),l),eMq:u.dot(l,w),rgba:(Math.round(255*w[3])<<24|Math.round(255*w[2])<<16|Math.round(255*w[1])<<8|Math.round(255*w[0])<<0)>>>0}}var U={multVec:(t,i)=>[t[0]*i[0]+t[1]*i[1]+t[2]*i[2]+t[3]*i[3],t[4]*i[0]+t[5]*i[1]+t[6]*i[2]+t[7]*i[3],t[8]*i[0]+t[9]*i[1]+t[10]*i[2]+t[11]*i[3],t[12]*i[0]+t[13]*i[1]+t[14]*i[2]+t[15]*i[3]],dot:(t,i)=>t[0]*i[0]+t[1]*i[1]+t[2]*i[2]+t[3]*i[3],sml:(t,i)=>[t*i[0],t*i[1],t*i[2],t*i[3]]};G.encode=function t(i,s,e,n,r,h,o){null==n&&(n=0),null==o&&(o=false);const u=a(i,s,e,n,[false,false,false,0,o,false]);return f(u,-1),c(u,s,e,r,h)},G.encodeLL=function t(i,s,e,n,r,h,o,a){const u={ctype:0+(1==n?0:2)+(0==r?0:4),depth:h,frames:[]},l=(n+r)*h,d=l*s;for(let t=0;t<i.length;t++)u.frames.push({rect:{x:0,y:0,width:s,height:e},img:new Uint8Array(i[t]),blend:0,dispose:1,bpp:Math.ceil(l/8),bpl:Math.ceil(d/8)});return f(u,0,true),c(u,s,e,o,a)},G.encode.compress=a,G.encode.dither=o,G.quantize=w,G.quantize.getKDtree=A,G.quantize.getNearest=p}();const N={toArrayBuffer(t,i){const s=t.width,e=t.height,n=s<<2,r=t.getContext("2d").getImageData(0,0,s,e),h=new Uint32Array(r.data.buffer),o=(32*s+31)/32<<2,c=o*e,f=122+c,a=new ArrayBuffer(f),u=new DataView(a),l=1<<20;let d,v,w,A,p=l,m=0,g=0,y=0;function M(t){u.setUint16(g,t,true),g+=2}function b(t){u.setUint32(g,t,true),g+=4}function U(t){g+=t}M(19778),b(f),U(4),b(122),b(108),b(s),b(-e>>>0),M(1),M(32),b(3),b(c),b(2835),b(2835),U(8),b(16711680),b(65280),b(255),b(4278190080),b(1466527264),function t(){for(;m<e&&p>0;){for(A=122+m*o,d=0;d<n;)p--,v=h[y++],w=v>>>24,u.setUint32(A+d,v<<8|w),d+=4;m++}y<h.length?(p=l,setTimeout(t,N._dly)):i(a)}()},toBlob(t,i){this.toArrayBuffer(t,(t=>{i(new Blob([t],{type:"image/bmp"}))}))},_dly:9};var q={CHROME:"CHROME",FIREFOX:"FIREFOX",DESKTOP_SAFARI:"DESKTOP_SAFARI",IE:"IE",IOS:"IOS",ETC:"ETC"},V={[q.CHROME]:16384,[q.FIREFOX]:11180,[q.DESKTOP_SAFARI]:16384,[q.IE]:8192,[q.IOS]:4096,[q.ETC]:8192};const Z="undefined"!=typeof window,J="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,tt=Z&&window.cordova&&window.cordova.require&&window.cordova.require("cordova/modulemapper"),it=(Z||J)&&(tt&&tt.getOriginalSymbol(window,"File")||"undefined"!=typeof File&&File),st=(Z||J)&&(tt&&tt.getOriginalSymbol(window,"FileReader")||"undefined"!=typeof FileReader&&FileReader);function et(t,i,s=Date.now()){return new Promise((e=>{const n=t.split(","),r=n[0].match(/:(.*?);/)[1],h=globalThis.atob(n[1]);let o=h.length;const c=new Uint8Array(o);for(;o--;)c[o]=h.charCodeAt(o);const f=new Blob([c],{type:r});f.name=i,f.lastModified=s,e(f)}))}function nt(t){return new Promise(((i,s)=>{const e=new st;e.onload=()=>i(e.result),e.onerror=t=>s(t),e.readAsDataURL(t)}))}function rt(t){return new Promise(((i,s)=>{const e=new Image;e.onload=()=>i(e),e.onerror=t=>s(t),e.src=t}))}function ht(){if(void 0!==ht.cachedResult)return ht.cachedResult;let t=q.ETC;const{userAgent:i}=navigator;return/Chrom(e|ium)/i.test(i)?t=q.CHROME:/iP(ad|od|hone)/i.test(i)&&/WebKit/i.test(i)?t=q.IOS:/Safari/i.test(i)?t=q.DESKTOP_SAFARI:/Firefox/i.test(i)?t=q.FIREFOX:(/MSIE/i.test(i)||true==!!document.documentMode)&&(t=q.IE),ht.cachedResult=t,ht.cachedResult}function ot(t,i){const s=ht(),e=V[s];let n=t,r=i,h=n*r;const o=n>r?r/n:n/r;for(;h>e*e;){const t=(e+n)/2,i=(e+r)/2;t<i?(r=i,n=i*o):(r=t*o,n=t),h=n*r}return{width:n,height:r}}function ct(t,i){let s,e;try{if(s=new OffscreenCanvas(t,i),e=s.getContext("2d"),null===e)throw new Error("getContext of OffscreenCanvas returns null")}catch(t){s=document.createElement("canvas"),e=s.getContext("2d")}return s.width=t,s.height=i,[s,e]}function ft(t,i){const{width:s,height:e}=ot(t.width,t.height),[n,r]=ct(s,e);return i&&/jpe?g/.test(i)&&(r.fillStyle="white",r.fillRect(0,0,n.width,n.height)),r.drawImage(t,0,0,n.width,n.height),n}function at(){return void 0!==at.cachedResult||(at.cachedResult=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"undefined"!=typeof document&&"ontouchend"in document),at.cachedResult}function ut(t,i={}){return new Promise((function(s,e){let n,r;var h=function(){try{return r=ft(n,i.fileType||t.type),s([n,r])}catch(t){return e(t)}},o=function(i){try{var s=function(t){try{throw t}catch(t){return e(t)}};try{let i;return nt(t).then((function(t){try{return i=t,rt(i).then((function(t){try{return n=t,function(){try{return h()}catch(t){return e(t)}}()}catch(t){return s(t)}}),s)}catch(t){return s(t)}}),s)}catch(t){s(t)}}catch(t){return e(t)}};try{if(at()||[q.DESKTOP_SAFARI,q.MOBILE_SAFARI].includes(ht()))throw new Error("Skip createImageBitmap on IOS and Safari");return createImageBitmap(t).then((function(t){try{return n=t,h()}catch(t){return o()}}),o)}catch(t){o()}}))}function lt(t,i,s,e,n=1){return new Promise((function(r,h){let o;if("image/png"===i){let f,a,u;return f=t.getContext("2d"),({data:a}=f.getImageData(0,0,t.width,t.height)),u=G.encode([a.buffer],t.width,t.height,4096*n),o=new Blob([u],{type:i}),o.name=s,o.lastModified=e,c.call(this)}{if("image/bmp"===i)return new Promise((i=>N.toBlob(t,i))).then(function(t){try{return o=t,o.name=s,o.lastModified=e,l.call(this)}catch(t){return h(t)}}.bind(this),h);{if("function"==typeof OffscreenCanvas&&t instanceof OffscreenCanvas)return t.convertToBlob({type:i,quality:n}).then(function(t){try{return o=t,o.name=s,o.lastModified=e,d.call(this)}catch(t){return h(t)}}.bind(this),h);{let v;return v=t.toDataURL(i,n),et(v,s,e).then(function(t){try{return o=t,d.call(this)}catch(t){return h(t)}}.bind(this),h)}function d(){return l.call(this)}}function l(){return c.call(this)}}function c(){return r(o)}}))}function dt(t){t.width=0,t.height=0}function vt(){return new Promise((function(t,i){let s,e,n,r;return void 0!==vt.cachedResult?t(vt.cachedResult):et("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==","test.jpg",Date.now()).then((function(h){try{return s=h,ut(s).then((function(h){try{return e=h[1],lt(e,s.type,s.name,s.lastModified).then((function(s){try{return n=s,dt(e),ut(n).then((function(s){try{return r=s[0],vt.cachedResult=1===r.width&&2===r.height,t(vt.cachedResult)}catch(t){return i(t)}}),i)}catch(t){return i(t)}}),i)}catch(t){return i(t)}}),i)}catch(t){return i(t)}}),i)}))}function wt(t){return new Promise(((i,s)=>{const e=new st;e.onload=t=>{const s=new DataView(t.target.result);if(65496!=s.getUint16(0,false))return i(-2);const e=s.byteLength;let n=2;for(;n<e;){if(s.getUint16(n+2,false)<=8)return i(-1);const t=s.getUint16(n,false);if(n+=2,65505==t){if(1165519206!=s.getUint32(n+=2,false))return i(-1);const t=18761==s.getUint16(n+=6,false);n+=s.getUint32(n+4,t);const e=s.getUint16(n,t);n+=2;for(let r=0;r<e;r++)if(274==s.getUint16(n+12*r,t))return i(s.getUint16(n+12*r+8,t))}else{if(65280!=(65280&t))break;n+=s.getUint16(n,false)}}return i(-1)},e.onerror=t=>s(t),e.readAsArrayBuffer(t)}))}function At(t,i){const{width:s}=t,{height:e}=t,{maxWidthOrHeight:n}=i;let r,h=t;return isFinite(n)&&(s>n||e>n)&&([h,r]=ct(s,e),s>e?(h.width=n,h.height=e/s*n):(h.width=s/e*n,h.height=n),r.drawImage(t,0,0,h.width,h.height),dt(t)),h}function pt(t,i){const{width:s}=t,{height:e}=t,[n,r]=ct(s,e);switch(i>4&&i<9?(n.width=e,n.height=s):(n.width=s,n.height=e),i){case 2:r.transform(-1,0,0,1,s,0);break;case 3:r.transform(-1,0,0,-1,s,e);break;case 4:r.transform(1,0,0,-1,0,e);break;case 5:r.transform(0,1,1,0,0,0);break;case 6:r.transform(0,1,-1,0,e,0);break;case 7:r.transform(0,-1,-1,0,e,s);break;case 8:r.transform(0,-1,1,0,0,s)}return r.drawImage(t,0,0,s,e),dt(t),n}function mt(t,i,s=0){return new Promise((function(e,n){let r,h,o,c,f,a,u,l,d,v,w,A,p,m,g,y,M,b,U,x;function E(t=5){if(i.signal&&i.signal.aborted)throw i.signal.reason;r+=t,i.onProgress(Math.min(r,100))}function F(t){if(i.signal&&i.signal.aborted)throw i.signal.reason;r=Math.min(Math.max(t,r),100),i.onProgress(r)}return r=s,h=i.maxIteration||10,o=1024*i.maxSizeMB*1024,E(),ut(t,i).then(function(s){try{return[,c]=s,E(),f=At(c,i),E(),new Promise((function(s,e){var n;if(!(n=i.exifOrientation))return wt(t).then(function(t){try{return n=t,r.call(this)}catch(t){return e(t)}}.bind(this),e);function r(){return s(n)}return r.call(this)})).then(function(s){try{return a=s,E(),vt().then(function(s){try{return u=s?f:pt(f,a),E(),l=i.initialQuality||1,d=i.fileType||t.type,lt(u,d,t.name,t.lastModified,l).then(function(s){try{{if(v=s,E(),w=v.size>o,A=v.size>t.size,!w&&!A)return F(100),e(v);var r;function a(){if(h--&&(g>o||g>p)){let i,s;return i=x?.95*U.width:U.width,s=x?.95*U.height:U.height,[M,b]=ct(i,s),b.drawImage(U,0,0,i,s),l*="image/png"===d?.85:.95,lt(M,d,t.name,t.lastModified,l).then((function(t){try{return y=t,dt(U),U=M,g=y.size,F(Math.min(99,Math.floor((m-g)/(m-o)*100))),a}catch(t){return n(t)}}),n)}return[1]}return p=t.size,m=v.size,g=m,U=u,x=!i.alwaysKeepResolution&&w,(r=function(t){for(;t;){if(t.then)return void t.then(r,n);try{if(t.pop){if(t.length)return t.pop()?P.call(this):t;t=a}else t=t.call(this)}catch(t){return n(t)}}}.bind(this))(a);function P(){return dt(U),dt(M),dt(f),dt(u),dt(c),F(100),e(y)}}}catch(T){return n(T)}}.bind(this),n)}catch(t){return n(t)}}.bind(this),n)}catch(t){return n(t)}}.bind(this),n)}catch(t){return n(t)}}.bind(this),n)}))}const gt="\nlet scriptImported = false\nself.addEventListener('message', async (e) => {\n const { file, id, imageCompressionLibUrl, options } = e.data\n options.onProgress = (progress) => self.postMessage({ progress, id })\n try {\n if (!scriptImported) {\n // console.log('[worker] importScripts', imageCompressionLibUrl)\n self.importScripts(imageCompressionLibUrl)\n scriptImported = true\n }\n // console.log('[worker] self', self)\n const compressedFile = await imageCompression(file, options)\n self.postMessage({ file: compressedFile, id })\n } catch (e) {\n // console.error('[worker] error', e)\n self.postMessage({ error: e.message + '\\n' + e.stack, id })\n }\n})\n";let yt;function Mt(t,i){return new Promise(((s,e)=>{yt||(yt=function t(i){const s=[];return s.push(i),URL.createObjectURL(new Blob(s))}(gt));const n=new Worker(yt);n.addEventListener("message",(function t(r){if(i.signal&&i.signal.aborted)n.terminate();else if(void 0===r.data.progress){if(r.data.error)return e(new Error(r.data.error)),void n.terminate();s(r.data.file),n.terminate()}else i.onProgress(r.data.progress)})),n.addEventListener("error",e),i.signal&&i.signal.addEventListener("abort",(()=>{e(i.signal.reason),n.terminate()})),n.postMessage({file:t,imageCompressionLibUrl:i.libURL,options:{...i,onProgress:void 0,signal:void 0}})}))}function bt(t,i){return new Promise((function(s,e){let n,r,h,o,c,f;if(n={...i},h=0,({onProgress:o}=n),n.maxSizeMB=n.maxSizeMB||Number.POSITIVE_INFINITY,c="boolean"!=typeof n.useWebWorker||n.useWebWorker,delete n.useWebWorker,n.onProgress=t=>{h=t,"function"==typeof o&&o(h)},!(t instanceof Blob||t instanceof it))return e(new Error("The file given is not an instance of Blob or File"));if(!/^image/.test(t.type))return e(new Error("The file given is not an image"));if(f="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,!c||"function"!=typeof Worker||f)return mt(t,n).then(function(t){try{return r=t,l.call(this)}catch(t){return e(t)}}.bind(this),e);var a=function(){try{return l.call(this)}catch(t){return e(t)}}.bind(this),u=function(i){try{return mt(t,n).then((function(t){try{return r=t,a()}catch(t){return e(t)}}),e)}catch(t){return e(t)}};try{return n.libURL=n.libURL||"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js",Mt(t,n).then((function(t){try{return r=t,a()}catch(t){return u()}}),u)}catch(t){u()}function l(){try{r.name=t.name,r.lastModified=t.lastModified}catch(t){}try{n.preserveExif&&"image/jpeg"===t.type&&(!n.fileType||n.fileType&&n.fileType===t.type)&&(r=H(t,r))}catch(t){}return s(r)}}))}bt.getDataUrlFromFile=nt,bt.getFilefromDataUrl=et,bt.loadImage=rt,bt.drawImageInCanvas=ft,bt.drawFileInCanvas=ut,bt.canvasToFile=lt,bt.getExifOrientation=wt,bt.handleMaxWidthOrHeight=At,bt.followExifOrientation=pt,bt.cleanupCanvasMemory=dt,bt.isAutoOrientationInBrowser=vt,bt.approximateBelowMaximumCanvasSizeOfBrowser=ot,bt.copyExifWithoutOrientation=H,bt.getBrowserName=ht,bt.version="2.0.2";class Ut extends r{constructor(t){super(t);this.fileInput=null;this.maxCompressionSize=300;this.setupFileInput()}onActivate(){this.openFilePicker()}openFilePicker(){if(this._store.isDisabled){return}this.fileInput.click()}setupFileInput(){this.fileInput=document.createElement("input");this.fileInput.type="file";this.fileInput.accept="image/*";this.fileInput.style.display="none";this.fileInput.addEventListener("change",this.handleFileSelect.bind(this));this.fileInput.addEventListener("cancel",this.handleCancel.bind(this));document.body.appendChild(this.fileInput)}handleFileSelect(t){const i=t.target;if(i.files&&i.files[0]){const t=i.files[0];bt(t,{maxWidthOrHeight:this.maxCompressionSize}).then((t=>{this.readFile(t)})).catch((t=>{console.error("Error during image compression or processing:",t);this.handleCancel()}))}else{console.info("File selection cancelled by user.");this.handleCancel()}if(i){i.value=""}}readFile(t){const i=new FileReader;i.onload=t=>{var i;const s=new Image;s.src=(i=t.target)===null||i===void 0?void 0:i.result;s.onload=()=>this.createKritzelImage(s)};i.readAsDataURL(t)}createKritzelImage(t){const i=y.create(this._store);const{scaledWidth:s,scaledHeight:e}=i.calculateScaledDimensions(t);i.src=t.src;i.width=s;i.height=e;i.zIndex=this._store.currentZIndex;i.centerInViewport();this.addImageToStore(i);return i}addImageToStore(t){const i=L.create(this._store);i.addOrRemove(t);i.isSelected=true;const s=new h(this._store,this,t);const e=new Q(this._store,this,i);this._store.history.executeCommand(new b(this._store,this,[s,e]));this._store.setState("activeTool",n.getTool("selection"))}handleCancel(){this._store.setState("activeTool",n.getTool("selection"))}}const xt={type:"pen",color:"#000000",size:16,palettes:{pen:["#000000","#ff5252","#ffbc00","#00c853","#0000FF","#d500f9","#fafafa","#a52714","#ee8100","#558b2f","#01579b","#8e24aa","#90a4ae","#ff4081","#ff6e40","#aeea00","#304ffe","#7c4dff","#cfd8dc","#f8bbd0","#ffccbc","#f0f4c3","#9fa8da","#d1c4e9"],highlighter:["#0000006e","#ff52526e","#ffbb006e","#00c8536e","#0000FF6e","#d500f96e","#fafafa6e","#a527146e","#ee81006e","#558b2f6e","#01579b6e","#8e24aa6e","#90a4ae6e","#ff40816e","#ff6e406e","#aeea006e","#304ffe6e","#7c4dff6e","#cfd8dc6e","#f8bbd06e","#ffccbc6e","#f0f4c36e","#9fa8da6e","#d1c4e96e"]}};const Et={color:"#000000",size:8,fontFamily:"Arial",palette:["#000000","#ff5252","#ffbc00","#00c853","#0000FF","#d500f9","#fafafa","#a52714","#ee8100","#558b2f","#01579b","#8e24aa","#90a4ae","#ff4081","#ff6e40","#aeea00","#304ffe","#7c4dff","#cfd8dc","#f8bbd0","#ffccbc","#f0f4c3","#9fa8da","#d1c4e9"]};export{h as A,b as B,xt as D,M as K,s as O,F as R,e as U,a,o as b,D as c,E as d,Et as e,Ut as f,c as g,t as h,L as i,O as j,K as k,x as l,Q as m,n,T as o,r as p,f as q,d as r,g as s,y as t};
2
+ //# sourceMappingURL=p-J4NpPimy.js.map