omegga 1.2.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/README.md +50 -11
  2. package/dist/brickadia/config.js +26 -90
  3. package/dist/brickadia/config.js.map +1 -1
  4. package/dist/brickadia/server.js +290 -293
  5. package/dist/brickadia/server.js.map +1 -1
  6. package/dist/cli/auth.js +149 -177
  7. package/dist/cli/auth.js.map +1 -1
  8. package/dist/cli/config.js +64 -66
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +14 -14
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/installer.js +37 -43
  13. package/dist/cli/installer.js.map +1 -1
  14. package/dist/cli/plugin.js +651 -682
  15. package/dist/cli/plugin.js.map +1 -1
  16. package/dist/cli/terminal.js +811 -733
  17. package/dist/cli/terminal.js.map +1 -1
  18. package/dist/config/formats/format_js.js +6 -6
  19. package/dist/config/formats/format_js.js.map +1 -1
  20. package/dist/config/formats/format_yml.js +7 -10
  21. package/dist/config/formats/format_yml.js.map +1 -1
  22. package/dist/config/index.js +46 -68
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/config/reader.js +16 -27
  25. package/dist/config/reader.js.map +1 -1
  26. package/dist/config/validator.js +23 -25
  27. package/dist/config/validator.js.map +1 -1
  28. package/dist/config/writer.js +11 -21
  29. package/dist/config/writer.js.map +1 -1
  30. package/dist/index.js +18 -64
  31. package/dist/index.js.map +1 -1
  32. package/dist/info/default_commands.json.js +39 -0
  33. package/dist/info/default_commands.json.js.map +1 -0
  34. package/dist/logger.js +61 -60
  35. package/dist/logger.js.map +1 -1
  36. package/dist/main.js +425 -471
  37. package/dist/main.js.map +1 -1
  38. package/dist/omegga/auth.js +101 -148
  39. package/dist/omegga/auth.js.map +1 -1
  40. package/dist/omegga/commandInjector.js +261 -251
  41. package/dist/omegga/commandInjector.js.map +1 -1
  42. package/dist/omegga/index.js +14 -52
  43. package/dist/omegga/index.js.map +1 -1
  44. package/dist/omegga/logWrangler.js +224 -275
  45. package/dist/omegga/logWrangler.js.map +1 -1
  46. package/dist/omegga/matchers/auth.js +36 -50
  47. package/dist/omegga/matchers/auth.js.map +1 -1
  48. package/dist/omegga/matchers/chat.js +49 -71
  49. package/dist/omegga/matchers/chat.js.map +1 -1
  50. package/dist/omegga/matchers/command.js +25 -36
  51. package/dist/omegga/matchers/command.js.map +1 -1
  52. package/dist/omegga/matchers/exit.js +15 -18
  53. package/dist/omegga/matchers/exit.js.map +1 -1
  54. package/dist/omegga/matchers/index.js +26 -40
  55. package/dist/omegga/matchers/index.js.map +1 -1
  56. package/dist/omegga/matchers/init.js +20 -23
  57. package/dist/omegga/matchers/init.js.map +1 -1
  58. package/dist/omegga/matchers/interact.js +58 -64
  59. package/dist/omegga/matchers/interact.js.map +1 -1
  60. package/dist/omegga/matchers/join.js +74 -95
  61. package/dist/omegga/matchers/join.js.map +1 -1
  62. package/dist/omegga/matchers/leave.js +43 -56
  63. package/dist/omegga/matchers/leave.js.map +1 -1
  64. package/dist/omegga/matchers/mapChange.js +26 -35
  65. package/dist/omegga/matchers/mapChange.js.map +1 -1
  66. package/dist/omegga/matchers/minigameJoin.js +24 -31
  67. package/dist/omegga/matchers/minigameJoin.js.map +1 -1
  68. package/dist/omegga/matchers/version.js +42 -49
  69. package/dist/omegga/matchers/version.js.map +1 -1
  70. package/dist/omegga/player.js +562 -528
  71. package/dist/omegga/player.js.map +1 -1
  72. package/dist/omegga/plugin/interface.js +91 -98
  73. package/dist/omegga/plugin/interface.js.map +1 -1
  74. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +578 -429
  75. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
  76. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +282 -294
  77. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -1
  78. package/dist/omegga/plugin/plugin_node_safe.js +365 -393
  79. package/dist/omegga/plugin/plugin_node_safe.js.map +1 -1
  80. package/dist/omegga/plugin/plugin_node_unsafe.js +119 -179
  81. package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -1
  82. package/dist/omegga/plugin.js +402 -347
  83. package/dist/omegga/plugin.js.map +1 -1
  84. package/dist/omegga/server.js +742 -774
  85. package/dist/omegga/server.js.map +1 -1
  86. package/dist/omegga/wrapper.js +64 -91
  87. package/dist/omegga/wrapper.js.map +1 -1
  88. package/dist/plugin.js +11 -31
  89. package/dist/plugin.js.map +1 -1
  90. package/dist/softconfig.js +139 -100
  91. package/dist/softconfig.js.map +1 -1
  92. package/dist/updater/steam.js +104 -114
  93. package/dist/updater/steam.js.map +1 -1
  94. package/dist/util/brdb.js +496 -528
  95. package/dist/util/brdb.js.map +1 -1
  96. package/dist/util/brick/checkBounds.js +11 -15
  97. package/dist/util/brick/checkBounds.js.map +1 -1
  98. package/dist/util/brick/constants.js +723 -174
  99. package/dist/util/brick/constants.js.map +1 -1
  100. package/dist/util/brick/displayName.js +204 -211
  101. package/dist/util/brick/displayName.js.map +1 -1
  102. package/dist/util/brick/getBounds.js +29 -41
  103. package/dist/util/brick/getBounds.js.map +1 -1
  104. package/dist/util/brick/getBrickSize.js +6 -7
  105. package/dist/util/brick/getBrickSize.js.map +1 -1
  106. package/dist/util/brick/getScaleAxis.js +24 -30
  107. package/dist/util/brick/getScaleAxis.js.map +1 -1
  108. package/dist/util/brick/index.js +8 -29
  109. package/dist/util/brick/index.js.map +1 -1
  110. package/dist/util/brick/rotate.js +29 -34
  111. package/dist/util/brick/rotate.js.map +1 -1
  112. package/dist/util/brick/setOwnership.js +13 -19
  113. package/dist/util/brick/setOwnership.js.map +1 -1
  114. package/dist/util/chat.js +53 -44
  115. package/dist/util/chat.js.map +1 -1
  116. package/dist/util/color.js +112 -124
  117. package/dist/util/color.js.map +1 -1
  118. package/dist/util/file.js +54 -98
  119. package/dist/util/file.js.map +1 -1
  120. package/dist/util/index.js +84 -106
  121. package/dist/util/index.js.map +1 -1
  122. package/dist/util/map.js +18 -20
  123. package/dist/util/map.js.map +1 -1
  124. package/dist/util/pattern.js +6 -9
  125. package/dist/util/pattern.js.map +1 -1
  126. package/dist/util/time.js +31 -34
  127. package/dist/util/time.js.map +1 -1
  128. package/dist/util/uuid.js +10 -8
  129. package/dist/util/uuid.js.map +1 -1
  130. package/dist/util/wsl.js +19 -25
  131. package/dist/util/wsl.js.map +1 -1
  132. package/dist/version.js +7 -9
  133. package/dist/version.js.map +1 -1
  134. package/dist/webserver/backend/api.js +784 -874
  135. package/dist/webserver/backend/api.js.map +1 -1
  136. package/dist/webserver/backend/calendar.js +14 -17
  137. package/dist/webserver/backend/calendar.js.map +1 -1
  138. package/dist/webserver/backend/database.js +563 -613
  139. package/dist/webserver/backend/database.js.map +1 -1
  140. package/dist/webserver/backend/index.js +153 -191
  141. package/dist/webserver/backend/index.js.map +1 -1
  142. package/dist/webserver/backend/metrics.js +219 -248
  143. package/dist/webserver/backend/metrics.js.map +1 -1
  144. package/dist/webserver/backend/util.js +47 -68
  145. package/dist/webserver/backend/util.js.map +1 -1
  146. package/dist/worker.js +322 -0
  147. package/dist/worker.js.map +1 -0
  148. package/package.json +16 -11
  149. package/public/app.html +18 -18
  150. package/public/assets/IconArrowRight-BuVxhqKX.js +2 -0
  151. package/public/assets/{IconArrowRight-CA5_cccJ.js.map → IconArrowRight-BuVxhqKX.js.map} +1 -1
  152. package/public/assets/IconCheck-DOe3u7iH.js +2 -0
  153. package/public/assets/{IconCheck-Dyq5qyY1.js.map → IconCheck-DOe3u7iH.js.map} +1 -1
  154. package/public/assets/IconLockOpen-Bs7Tsf6u.js +2 -0
  155. package/public/assets/{IconLockOpen-D95XLORK.js.map → IconLockOpen-Bs7Tsf6u.js.map} +1 -1
  156. package/public/assets/IconWorld-B6GK5qpx.js +2 -0
  157. package/public/assets/{IconWorld-DtARpBKX.js.map → IconWorld-B6GK5qpx.js.map} +1 -1
  158. package/public/assets/IconWorldPlus-DpfueG8_.js +2 -0
  159. package/public/assets/{IconWorldPlus-CGBAsLNj.js.map → IconWorldPlus-DpfueG8_.js.map} +1 -1
  160. package/public/assets/IconX-CvmO0bbE.js +2 -0
  161. package/public/assets/{IconX-SYtbnYKI.js.map → IconX-CvmO0bbE.js.map} +1 -1
  162. package/public/assets/app-nJIpyOiP.js +6 -0
  163. package/public/assets/{app-BtOlgo__.js.map → app-nJIpyOiP.js.map} +1 -1
  164. package/public/assets/{auth-CvxEWAMc.js → auth-6N37o421.js} +2 -2
  165. package/public/assets/{auth-CvxEWAMc.js.map → auth-6N37o421.js.map} +1 -1
  166. package/public/assets/client-BT1QYH0O.js +10 -0
  167. package/public/assets/{client-C5T7_OK9.js.map → client-BT1QYH0O.js.map} +1 -1
  168. package/public/assets/index-2cgXLhrt.js +2 -0
  169. package/public/assets/{index-CRRRLlCc.js.map → index-2cgXLhrt.js.map} +1 -1
  170. package/public/assets/index-3dNmNZ9B.js +10 -0
  171. package/public/assets/{index-Bq9C9SqB.js.map → index-3dNmNZ9B.js.map} +1 -1
  172. package/public/assets/{index-i4mjW0og.js → index-CrN8I5Az.js} +2 -2
  173. package/public/assets/index-CrN8I5Az.js.map +1 -0
  174. package/public/assets/index-CtCtK5BX.js +2 -0
  175. package/public/assets/{index-DqHVrEeL.js.map → index-CtCtK5BX.js.map} +1 -1
  176. package/public/assets/index-D0OPOe3j.js +2 -0
  177. package/public/assets/{index-c0qeY2gs.js.map → index-D0OPOe3j.js.map} +1 -1
  178. package/public/assets/{index-DYcAgWjJ.js → index-DY750sgZ.js} +2 -2
  179. package/public/assets/{index-DYcAgWjJ.js.map → index-DY750sgZ.js.map} +1 -1
  180. package/public/assets/jsx-runtime-BX5r4UiA.js +2 -0
  181. package/public/assets/jsx-runtime-BX5r4UiA.js.map +1 -0
  182. package/public/assets/jsx-runtime-DldvXD6N.js +2 -0
  183. package/public/assets/{jsx-runtime-Bw5QeaCk.js.map → jsx-runtime-DldvXD6N.js.map} +1 -1
  184. package/public/assets/shared/@components-DdtLZOaA.js +2 -0
  185. package/public/assets/shared/@components-DdtLZOaA.js.map +1 -0
  186. package/public/assets/shared/{@hooks-DfTzYBIL.js → @hooks-Ch_hJYh0.js} +2 -2
  187. package/public/assets/shared/{@hooks-DfTzYBIL.js.map → @hooks-Ch_hJYh0.js.map} +1 -1
  188. package/public/assets/shared/{@nanostores_react-HTG3s0lp.js → @nanostores_react-DJPF1Eqx.js} +2 -2
  189. package/public/assets/shared/{@nanostores_react-HTG3s0lp.js.map → @nanostores_react-DJPF1Eqx.js.map} +1 -1
  190. package/public/assets/shared/@tabler_icons-react-B4bN8gHc.js +3 -0
  191. package/public/assets/shared/{@tabler_icons-react--FJWdUou.js.map → @tabler_icons-react-B4bN8gHc.js.map} +1 -1
  192. package/public/assets/shared/nanostores-BFqqIY_c.js.map +1 -1
  193. package/public/assets/shared/react-dom-8Rcmh_FG.js +2 -0
  194. package/public/assets/shared/{react-dom-BznoGTRX.js.map → react-dom-8Rcmh_FG.js.map} +1 -1
  195. package/public/assets/shared/react-iXLZ_Bod.js +2 -0
  196. package/public/assets/shared/{react-CR6vSpIu.js.map → react-iXLZ_Bod.js.map} +1 -1
  197. package/public/assets/shared/react_jsx-runtime-BwhiLcBy.js +2 -0
  198. package/public/assets/shared/{react_jsx-runtime-C15Zu6_p.js.map → react_jsx-runtime-BwhiLcBy.js.map} +1 -1
  199. package/public/assets/shared/{wouter-DbmGxXTo.js → wouter-CUC1caxu.js} +2 -2
  200. package/public/assets/shared/wouter-CUC1caxu.js.map +1 -0
  201. package/public/auth.html +14 -14
  202. package/templates/safe-ts/omegga.d.ts +31 -1
  203. package/dist/brickadia/config.d.ts +0 -3
  204. package/dist/brickadia/presets.d.ts +0 -65
  205. package/dist/brickadia/presets.js +0 -3
  206. package/dist/brickadia/presets.js.map +0 -1
  207. package/dist/brickadia/server.d.ts +0 -36
  208. package/dist/brickadia/types.d.ts +0 -45
  209. package/dist/brickadia/types.js +0 -3
  210. package/dist/brickadia/types.js.map +0 -1
  211. package/dist/cli/auth.d.ts +0 -26
  212. package/dist/cli/config.d.ts +0 -10
  213. package/dist/cli/index.d.ts +0 -30
  214. package/dist/cli/installer.d.ts +0 -1
  215. package/dist/cli/plugin.d.ts +0 -22
  216. package/dist/cli/terminal.d.ts +0 -25
  217. package/dist/config/authorizer.d.ts +0 -2
  218. package/dist/config/authorizer.js +0 -38
  219. package/dist/config/authorizer.js.map +0 -1
  220. package/dist/config/formats/format_js.d.ts +0 -3
  221. package/dist/config/formats/format_yml.d.ts +0 -3
  222. package/dist/config/index.d.ts +0 -18
  223. package/dist/config/reader.d.ts +0 -3
  224. package/dist/config/types.d.ts +0 -50
  225. package/dist/config/types.js +0 -3
  226. package/dist/config/types.js.map +0 -1
  227. package/dist/config/validator.d.ts +0 -6
  228. package/dist/config/writer.d.ts +0 -3
  229. package/dist/index.d.ts +0 -22
  230. package/dist/info/default_commands.json +0 -29
  231. package/dist/logger.d.ts +0 -41
  232. package/dist/main.d.ts +0 -1
  233. package/dist/omegga/auth.d.ts +0 -9
  234. package/dist/omegga/commandInjector.d.ts +0 -35
  235. package/dist/omegga/index.d.ts +0 -7
  236. package/dist/omegga/logWrangler.d.ts +0 -32
  237. package/dist/omegga/matchers/auth.d.ts +0 -10
  238. package/dist/omegga/matchers/chat.d.ts +0 -10
  239. package/dist/omegga/matchers/command.d.ts +0 -7
  240. package/dist/omegga/matchers/exit.d.ts +0 -3
  241. package/dist/omegga/matchers/index.d.ts +0 -3
  242. package/dist/omegga/matchers/init.d.ts +0 -3
  243. package/dist/omegga/matchers/interact.d.ts +0 -4
  244. package/dist/omegga/matchers/join.d.ts +0 -4
  245. package/dist/omegga/matchers/leave.d.ts +0 -4
  246. package/dist/omegga/matchers/mapChange.d.ts +0 -3
  247. package/dist/omegga/matchers/minigameJoin.d.ts +0 -9
  248. package/dist/omegga/matchers/types.d.ts +0 -5
  249. package/dist/omegga/matchers/types.js +0 -3
  250. package/dist/omegga/matchers/types.js.map +0 -1
  251. package/dist/omegga/matchers/version.d.ts +0 -3
  252. package/dist/omegga/player.d.ts +0 -81
  253. package/dist/omegga/plugin/interface.d.ts +0 -30
  254. package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +0 -23
  255. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +0 -145
  256. package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +0 -1
  257. package/dist/omegga/plugin/plugin_node_safe/worker.js +0 -367
  258. package/dist/omegga/plugin/plugin_node_safe/worker.js.map +0 -1
  259. package/dist/omegga/plugin/plugin_node_safe.d.ts +0 -23
  260. package/dist/omegga/plugin/plugin_node_unsafe.d.ts +0 -13
  261. package/dist/omegga/plugin.d.ts +0 -63
  262. package/dist/omegga/server.d.ts +0 -166
  263. package/dist/omegga/types.d.ts +0 -49
  264. package/dist/omegga/types.js +0 -3
  265. package/dist/omegga/types.js.map +0 -1
  266. package/dist/omegga/wrapper.d.ts +0 -32
  267. package/dist/plugin.d.ts +0 -916
  268. package/dist/softconfig.d.ts +0 -67
  269. package/dist/tsconfig.tsbuildinfo +0 -1
  270. package/dist/updater/index.d.ts +0 -1
  271. package/dist/updater/index.js +0 -10
  272. package/dist/updater/index.js.map +0 -1
  273. package/dist/updater/steam.d.ts +0 -52
  274. package/dist/util/brdb.d.ts +0 -31
  275. package/dist/util/brick/checkBounds.d.ts +0 -8
  276. package/dist/util/brick/constants.d.ts +0 -18
  277. package/dist/util/brick/displayName.d.ts +0 -7
  278. package/dist/util/brick/getBounds.d.ts +0 -5
  279. package/dist/util/brick/getBrickSize.d.ts +0 -3
  280. package/dist/util/brick/getScaleAxis.d.ts +0 -3
  281. package/dist/util/brick/index.d.ts +0 -14
  282. package/dist/util/brick/rotate.d.ts +0 -16
  283. package/dist/util/brick/setOwnership.d.ts +0 -12
  284. package/dist/util/chat.d.ts +0 -23
  285. package/dist/util/color.d.ts +0 -13
  286. package/dist/util/file.d.ts +0 -5
  287. package/dist/util/index.d.ts +0 -183
  288. package/dist/util/map.d.ts +0 -6
  289. package/dist/util/pattern.d.ts +0 -1
  290. package/dist/util/time.d.ts +0 -39
  291. package/dist/util/uuid.d.ts +0 -3
  292. package/dist/util/wsl.d.ts +0 -2
  293. package/dist/version.d.ts +0 -2
  294. package/dist/webserver/backend/api.d.ts +0 -115
  295. package/dist/webserver/backend/calendar.d.ts +0 -5
  296. package/dist/webserver/backend/database.d.ts +0 -150
  297. package/dist/webserver/backend/index.d.ts +0 -30
  298. package/dist/webserver/backend/metrics.d.ts +0 -3
  299. package/dist/webserver/backend/types.d.ts +0 -114
  300. package/dist/webserver/backend/types.js +0 -3
  301. package/dist/webserver/backend/types.js.map +0 -1
  302. package/dist/webserver/backend/util.d.ts +0 -2
  303. package/dist/webserver/index.d.ts +0 -2
  304. package/dist/webserver/index.js +0 -9
  305. package/dist/webserver/index.js.map +0 -1
  306. package/public/assets/IconArrowRight-CA5_cccJ.js +0 -7
  307. package/public/assets/IconCheck-Dyq5qyY1.js +0 -17
  308. package/public/assets/IconLockOpen-D95XLORK.js +0 -7
  309. package/public/assets/IconWorld-DtARpBKX.js +0 -72
  310. package/public/assets/IconWorldPlus-CGBAsLNj.js +0 -182
  311. package/public/assets/IconX-SYtbnYKI.js +0 -12
  312. package/public/assets/app-BtOlgo__.js +0 -6
  313. package/public/assets/client-C5T7_OK9.js +0 -26
  314. package/public/assets/index-Bq9C9SqB.js +0 -10
  315. package/public/assets/index-CRRRLlCc.js +0 -10
  316. package/public/assets/index-DqHVrEeL.js +0 -10
  317. package/public/assets/index-c0qeY2gs.js +0 -10
  318. package/public/assets/index-i4mjW0og.js.map +0 -1
  319. package/public/assets/jsx-runtime-Bw5QeaCk.js +0 -10
  320. package/public/assets/jsx-runtime-DoEZbXM1.js +0 -2
  321. package/public/assets/jsx-runtime-DoEZbXM1.js.map +0 -1
  322. package/public/assets/shared/@components-DVehBp7v.js +0 -2
  323. package/public/assets/shared/@components-DVehBp7v.js.map +0 -1
  324. package/public/assets/shared/@tabler_icons-react--FJWdUou.js +0 -29458
  325. package/public/assets/shared/react-CR6vSpIu.js +0 -2
  326. package/public/assets/shared/react-dom-BznoGTRX.js +0 -2
  327. package/public/assets/shared/react_jsx-runtime-C15Zu6_p.js +0 -2
  328. package/public/assets/shared/wouter-DbmGxXTo.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import{c as Bl}from"./client-BT1QYH0O.js";import{j as e}from"./jsx-runtime-BX5r4UiA.js";import{r as M,a as Ul}from"./index-CrN8I5Az.js";import{N as qe,P as De,S as Oe,r as X,I as Gl,C as $l,s as Pe,i as $e,a as ye,U as Bt,L as Wa,b as Jo,c as ve,D as _a,T as we,d as le,e as Yl,f as Kl,R as Xl,u as Zo,$ as Qo,g as Vl,h as Jl,j as Zl,k as Ql,l as eu,m as tu,n as ru}from"./index-3dNmNZ9B.js";import{u as Ee,L as ut,a as Ct,S as el,R as me,b as nu,c as au}from"./index-2cgXLhrt.js";import{d as de,i as su,h as tl,a as Fa,b as wa,l as iu,r as Pt,c as qt,e as ou,f as Dt,g as ja,j as Ot,k as Ne,m as lu}from"./utils-Ds3ldd-U.js";import{a as H,L as fe,F as Ie,I as ie,H as Sa,D as Ra,M as rl,P as ba,u as mt}from"./index-DY750sgZ.js";import{I as uu,a as vt,b as cu,c as du,d as hu,e as fu,f as nl,g as Ba,h as pu,i as yt,j as gu,k as Et,l as mu,m as al,n as sl,o as vu,p as bt,q as il,r as ol,s as yu,t as bu,u as xu,v as _u,w as wu,x as ju,y as Su,z as ll,A as Ru,B as Cu,C as Ua,D as Ga,E as ul,F as cl,G as Pu,H as qu,J as Du}from"./IconWorldPlus-DpfueG8_.js";import xt from"./IconArrowRight-BuVxhqKX.js";import{a as Ou,g as Ca}from"./_commonjsHelpers-CE1G-McA.js";import{r as pe}from"./index-D0OPOe3j.js";import{r as Pa}from"./index-CtCtK5BX.js";import{I as Eu,a as dl,b as _t,c as hl,d as $a,e as Nu}from"./IconWorld-B6GK5qpx.js";import{a as ct}from"./IconX-CvmO0bbE.js";import{I as Tu}from"./IconCheck-DOe3u7iH.js";import{useStore as Ce}from"./shared/@nanostores_react-DJPF1Eqx.js";import{useSaved as Mu,SavedSpan as Au,SavedStatus as ku}from"./shared/@hooks-Ch_hJYh0.js";import{a as fl}from"./index-CSV4ZXsq.js";import"./jsx-runtime-DldvXD6N.js";import"./index-CJ4e7_2M.js";let wt=-1,jt=-1,Fe=!1,Be,Xe;const he=document.createElement("div");Object.assign(he.style,{position:"fixed",left:"-1000px",top:"-1000px",border:"2px solid black",background:"white",fontFamily:"Glacial Indifference",fontWeight:"bold",fontSize:"16px",padding:"8px",maxWidth:"300px",zIndex:"100000",borderRadius:"8px",pointerEvents:"none",opacity:0,transition:"opacity .2s ease"});he.innerText="";document.body.appendChild(he);document.body.addEventListener("mousemove",t=>{wt=t.clientX,jt=t.clientY,Be&&pl()});function pl(){const t=document.body.clientWidth,n=document.body.clientHeight;Object.assign(he.style,{left:wt+(wt<t/2?16:-16-he.clientWidth)+"px",top:jt+(jt<n/2?16:-16-he.clientHeight)+"px"})}function gl(t){if(!t||!t.getAttribute)return;const n=t.getAttribute("data-tooltip");return n||gl(t.parentNode??null)}function zu(){const t=document.elementFromPoint(wt,jt),n=gl(t),r=he.innerText;!n&&Fe&&!Be&&(Fe=!1,clearTimeout(Xe)),n&&!Fe&&!Be?(clearTimeout(Xe),Fe=!0,Xe=setTimeout(()=>{he.innerText=n,pl(),he.style.opacity="1",Be=!0},400)):r!==n&&Be&&Fe&&(clearTimeout(Xe),Fe=!1,Xe=setTimeout(()=>{Be=!1,Object.assign(he.style,{left:"-1000px",top:"-1000px"})},300),he.style.opacity="0")}setInterval(()=>{zu()},100);const Lu=()=>e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Not Found"}),e.jsx(De,{children:e.jsx(Oe,{})})]}),Ya=["January","February","March","April","May","June","July","August","September","October","November","December"],je=(t,n=!1)=>Object.keys(t).map(Number).sort((r,a)=>n?a-r:r-a),Iu=()=>{const[t,n]=Ee("/history/:time?"),r=n?.time,[a,i]=M.useState(!0),[s,o]=M.useState(!0),[c,y]=M.useState(!1),[b,C]=M.useState({}),[_,S]=M.useState(0),P=M.useMemo(()=>new Date().getFullYear(),[]),[w,v]=M.useState(P),u=M.useMemo(()=>new Date().getMonth(),[]),[h,l]=M.useState(u),f=M.useMemo(()=>new Date().getDate(),[]),m=M.useRef(null),[p,g]=M.useState(null),[d,j]=M.useState(null),O=M.useRef(null),D=M.useRef(null),q=M.useRef([]),N=M.useCallback(async()=>{i(!0);const A=await X("chat.calendar");C(A),i(!1)},[]),T=M.useCallback(A=>{if(!A.length)return;q.current=q.current.concat(A),q.current.sort((x,R)=>x.created-R.created);const z=q.current[0].created,$=q.current[q.current.length-1].created;for(let x=0;x<q.current.length;x++){const R=q.current[x],E=new Date(R.created);R.date=E.getDate(),x===0||R.date!==q.current[x-1].date?R.newDay=`${Ya[E.getMonth()]} ${R.date}, ${E.getFullYear()}`:R.newDay=void 0}O.current=z,D.current=$,S(x=>x+1)},[]),I=M.useCallback(async({before:A,after:z},$)=>{i(!0);const x=await X("chat.history",{before:A,after:z});return T(x),$==="bottom"&&q.current.length>200&&q.current.splice(0,q.current.length-200),$==="top"&&q.current.length>200&&q.current.splice(200,q.current.length-200),o(!1),i(!1),x},[]),F=()=>new Promise(A=>{const z=m.current?.querySelector(".scroll-scroller");window.requestAnimationFrame(()=>{z&&(z.scrollTop=z.scrollHeight,A())})});M.useEffect(()=>{const A=r&&new Date(r.match(/^\d+$/)?Number(r):r);(async()=>(s&&await N(),A&&!Number.isNaN(A.getTime())?(q.current=[],await I({before:A.getTime()-1}),await I({after:A.getTime()-1}),requestAnimationFrame(()=>{m.current?.querySelector(".focused")?.scrollIntoView({block:"center"})})):(q.current=[],await I({before:Date.now()}),F())))()},[r]);const B=async(A,z,$)=>{q.current=[],S(R=>R+1);const x=new Date(A,z,$).getTime();await I({after:x})},V=async()=>{if(p&&O.current&&O.current<=p)return;(await I({before:O.current},"top")).length===0&&g(O.current)},J=async()=>{if(d&&D.current&&D.current>=d)return;(await I({after:D.current},"bottom")).length===0&&j(D.current)},Q=M.useMemo(()=>je(b),[b]),Y=M.useMemo(()=>je(b,!0),[b]),te=M.useMemo(()=>{const A=Y.find(z=>z>w)??null;return A?[A,je(b[A])[0]]:null},[b,Y]),re=M.useMemo(()=>{const A=Q.find(z=>z<w)??null;return A?[A,je(b[A],!0)[0]]:null},[b,Q]),se=M.useMemo(()=>{if(h!==11&&b[w]){const $=je(b[w]).find(x=>x>h);if(typeof $=="number")return[w,$]}const A=Q.find($=>$>w);if(!A)return null;const z=je(b[A])[0];return typeof z!="number"?null:[A,z]},[w,h,Q,b]),ue=M.useMemo(()=>{if(h!==0&&b[w]){const $=je(b[w],!0).find(x=>x<h);if(typeof $=="number")return[w,$]}const A=Y.find($=>$<w);if(!A)return null;const z=je(b[A],!0)[0];return typeof z!="number"?null:[A,z]},[w,h,b]),oe=A=>{A&&(v(w),l(h))},Me=new Date(w,h+1,0).getDate(),Ae=new Date(w,h,1).getDay();return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"History",children:e.jsxs("div",{className:"calendar-container",children:[e.jsxs(H,{normal:!0,boxy:!0,style:{marginRight:0},"data-tooltip":"Show a calendar previewing days",onClick:()=>y(!c),children:[e.jsx(uu,{})," Calendar"]}),c&&e.jsxs("div",{className:"calendar",children:[e.jsxs("div",{className:"year",children:[e.jsx(H,{icon:!0,normal:!0,disabled:!re,onClick:()=>oe(re),children:e.jsx(vt,{})}),w,e.jsx(H,{icon:!0,normal:!0,disabled:!te,onClick:()=>oe(te),children:e.jsx(xt,{})})]}),e.jsxs("div",{className:"month",children:[e.jsx(H,{icon:!0,normal:!0,disabled:!ue,onClick:()=>oe(ue),children:e.jsx(vt,{})}),Ya[h],e.jsx(H,{icon:!0,normal:!0,disabled:!se,onClick:()=>oe(se),children:e.jsx(xt,{})})]}),e.jsxs("div",{className:"calendar-days",children:[e.jsx("div",{className:"week-header days",children:"S"}),e.jsx("div",{className:"week-header days",children:"M"}),e.jsx("div",{className:"week-header days",children:"T"}),e.jsx("div",{className:"week-header days",children:"W"}),e.jsx("div",{className:"week-header days",children:"T"}),e.jsx("div",{className:"week-header days",children:"F"}),e.jsx("div",{className:"week-header days",children:"S"}),Array.from({length:Ae}).map((A,z)=>e.jsx("div",{},`empty-${z}`)),Array.from({length:Me}).map((A,z)=>e.jsx("div",{className:`days ${u===h&&P===w&&z+1===f?"today":""} ${!(u===h&&P===w&&z+1>f)&&b[w]?.[h]?.[z]?"available":""}`,onClick:()=>B(w,h,z+1),children:z+1},z))]})]})]})}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsx("div",{className:"generic-container history-container",ref:m,children:e.jsxs("div",{className:"chat-history",children:[e.jsx("div",{className:"scroll-container",children:e.jsx(Gl,{loading:a,onTop:V,onBottom:J,onTopScrollsToBottom:!1,offset:500,className:"scroll-scroller",children:q.current.map(A=>e.jsxs(Ul.Fragment,{children:[A.newDay&&e.jsx("div",{className:"chat-new-day",children:A.newDay}),e.jsx($l,{log:A},A._id)]},A._id))})}),e.jsx(fe,{active:a&&s,size:"huge",children:"Loading Chat"})]})})]})]})};var Ut={exports:{}},Ve={},it={exports:{}},Hu=it.exports,Ka;function qa(){return Ka||(Ka=1,(function(t,n){(function(r,a){a(n)})(Hu,(function(r){function a(A){return function($,x,R,E,k,W,L){return A($,x,L)}}function i(A){return function($,x,R,E){if(!$||!x||typeof $!="object"||typeof x!="object")return A($,x,R,E);var k=E.get($),W=E.get(x);if(k&&W)return k===x&&W===$;E.set($,x),E.set(x,$);var L=A($,x,R,E);return E.delete($),E.delete(x),L}}function s(A,z){var $={};for(var x in A)$[x]=A[x];for(var x in z)$[x]=z[x];return $}function o(A){return A.constructor===Object||A.constructor==null}function c(A){return typeof A.then=="function"}function y(A,z){return A===z||A!==A&&z!==z}var b="[object Arguments]",C="[object Boolean]",_="[object Date]",S="[object RegExp]",P="[object Map]",w="[object Number]",v="[object Object]",u="[object Set]",h="[object String]",l=Object.prototype.toString;function f(A){var z=A.areArraysEqual,$=A.areDatesEqual,x=A.areMapsEqual,R=A.areObjectsEqual,E=A.areRegExpsEqual,k=A.areSetsEqual,W=A.createIsNestedEqual,L=W(G);function G(U,K,ee){if(U===K)return!0;if(!U||!K||typeof U!="object"||typeof K!="object")return U!==U&&K!==K;if(o(U)&&o(K))return R(U,K,L,ee);var ke=Array.isArray(U),ce=Array.isArray(K);if(ke||ce)return ke===ce&&z(U,K,L,ee);var ae=l.call(U);return ae!==l.call(K)?!1:ae===_?$(U,K,L,ee):ae===S?E(U,K,L,ee):ae===P?x(U,K,L,ee):ae===u?k(U,K,L,ee):ae===v||ae===b?c(U)||c(K)?!1:R(U,K,L,ee):ae===C||ae===w||ae===h?y(U.valueOf(),K.valueOf()):!1}return G}function m(A,z,$,x){var R=A.length;if(z.length!==R)return!1;for(;R-- >0;)if(!$(A[R],z[R],R,R,A,z,x))return!1;return!0}var p=i(m);function g(A,z){return y(A.valueOf(),z.valueOf())}function d(A,z,$,x){var R=A.size===z.size;if(!R)return!1;if(!A.size)return!0;var E={},k=0;return A.forEach(function(W,L){if(R){var G=!1,U=0;z.forEach(function(K,ee){!G&&!E[U]&&(G=$(L,ee,k,U,A,z,x)&&$(W,K,L,ee,A,z,x))&&(E[U]=!0),U++}),k++,R=G}}),R}var j=i(d),O="_owner",D=Object.prototype.hasOwnProperty;function q(A,z,$,x){var R=Object.keys(A),E=R.length;if(Object.keys(z).length!==E)return!1;for(var k;E-- >0;){if(k=R[E],k===O){var W=!!A.$$typeof,L=!!z.$$typeof;if((W||L)&&W!==L)return!1}if(!D.call(z,k)||!$(A[k],z[k],k,k,A,z,x))return!1}return!0}var N=i(q);function T(A,z){return A.source===z.source&&A.flags===z.flags}function I(A,z,$,x){var R=A.size===z.size;if(!R)return!1;if(!A.size)return!0;var E={};return A.forEach(function(k,W){if(R){var L=!1,G=0;z.forEach(function(U,K){!L&&!E[G]&&(L=$(k,U,W,K,A,z,x))&&(E[G]=!0),G++}),R=L}}),R}var F=i(I),B=Object.freeze({areArraysEqual:m,areDatesEqual:g,areMapsEqual:d,areObjectsEqual:q,areRegExpsEqual:T,areSetsEqual:I,createIsNestedEqual:a}),V=Object.freeze({areArraysEqual:p,areDatesEqual:g,areMapsEqual:j,areObjectsEqual:N,areRegExpsEqual:T,areSetsEqual:F,createIsNestedEqual:a}),J=f(B);function Q(A,z){return J(A,z,void 0)}var Y=f(s(B,{createIsNestedEqual:function(){return y}}));function te(A,z){return Y(A,z,void 0)}var re=f(V);function se(A,z){return re(A,z,new WeakMap)}var ue=f(s(V,{createIsNestedEqual:function(){return y}}));function oe(A,z){return ue(A,z,new WeakMap)}function Me(A){return f(s(B,A(B)))}function Ae(A){var z=f(s(V,A(V)));return(function($,x,R){return R===void 0&&(R=new WeakMap),z($,x,R)})}r.circularDeepEqual=se,r.circularShallowEqual=oe,r.createCustomCircularEqual=Ae,r.createCustomEqual=Me,r.deepEqual=Q,r.sameValueZeroEqual=y,r.shallowEqual=te,Object.defineProperty(r,"__esModule",{value:!0})}))})(it,it.exports)),it.exports}var ht={exports:{}},Xa;function Nt(){if(Xa)return ht.exports;Xa=1;function t(r){var a,i,s="";if(typeof r=="string"||typeof r=="number")s+=r;else if(typeof r=="object")if(Array.isArray(r)){var o=r.length;for(a=0;a<o;a++)r[a]&&(i=t(r[a]))&&(s&&(s+=" "),s+=i)}else for(i in r)r[i]&&(s&&(s+=" "),s+=i);return s}function n(){for(var r,a,i=0,s="",o=arguments.length;i<o;i++)(r=arguments[i])&&(a=t(r))&&(s&&(s+=" "),s+=a);return s}return ht.exports=n,ht.exports.clsx=n,ht.exports}var Z={},Gt,Va;function Wu(){return Va||(Va=1,Gt=function(n,r,a){return n===r?!0:n.className===r.className&&a(n.style,r.style)&&n.width===r.width&&n.autoSize===r.autoSize&&n.cols===r.cols&&n.draggableCancel===r.draggableCancel&&n.draggableHandle===r.draggableHandle&&a(n.verticalCompact,r.verticalCompact)&&a(n.compactType,r.compactType)&&a(n.layout,r.layout)&&a(n.margin,r.margin)&&a(n.containerPadding,r.containerPadding)&&n.rowHeight===r.rowHeight&&n.maxRows===r.maxRows&&n.isBounded===r.isBounded&&n.isDraggable===r.isDraggable&&n.isResizable===r.isResizable&&n.allowOverlap===r.allowOverlap&&n.preventCollision===r.preventCollision&&n.useCSSTransforms===r.useCSSTransforms&&n.transformScale===r.transformScale&&n.isDroppable===r.isDroppable&&a(n.resizeHandles,r.resizeHandles)&&a(n.resizeHandle,r.resizeHandle)&&n.onLayoutChange===r.onLayoutChange&&n.onDragStart===r.onDragStart&&n.onDrag===r.onDrag&&n.onDragStop===r.onDragStop&&n.onResizeStart===r.onResizeStart&&n.onResize===r.onResize&&n.onResizeStop===r.onResizeStop&&n.onDrop===r.onDrop&&a(n.droppingItem,r.droppingItem)&&a(n.innerRef,r.innerRef)}),Gt}var Ja;function Ke(){if(Ja)return Z;Ja=1,Object.defineProperty(Z,"__esModule",{value:!0}),Z.bottom=a,Z.childrenEqual=y,Z.cloneLayout=i,Z.cloneLayoutItem=c,Z.collides=C,Z.compact=_,Z.compactItem=w,Z.compactType=A,Z.correctBounds=v,Z.fastPositionEqual=b,Z.fastRGLPropsEqual=void 0,Z.getAllCollisions=l,Z.getFirstCollision=h,Z.getLayoutItem=u,Z.getStatics=f,Z.modifyLayout=s,Z.moveElement=m,Z.moveElementAwayFromCollision=p,Z.noop=void 0,Z.perc=g,Z.resizeItemInDirection=Y,Z.setTopLeft=re,Z.setTransform=te,Z.sortLayoutItems=se,Z.sortLayoutItemsByColRow=oe,Z.sortLayoutItemsByRowCol=ue,Z.synchronizeLayoutWithChildren=Me,Z.validateLayout=Ae,Z.withLayoutItem=o;var t=qa(),n=r(pe());function r(x){return x&&x.__esModule?x:{default:x}}function a(x){let R=0,E;for(let k=0,W=x.length;k<W;k++)E=x[k].y+x[k].h,E>R&&(R=E);return R}function i(x){const R=Array(x.length);for(let E=0,k=x.length;E<k;E++)R[E]=c(x[E]);return R}function s(x,R){const E=Array(x.length);for(let k=0,W=x.length;k<W;k++)R.i===x[k].i?E[k]=R:E[k]=x[k];return E}function o(x,R,E){let k=u(x,R);return k?(k=E(c(k)),x=s(x,k),[x,k]):[x,null]}function c(x){return{w:x.w,h:x.h,x:x.x,y:x.y,i:x.i,minW:x.minW,maxW:x.maxW,minH:x.minH,maxH:x.maxH,moved:!!x.moved,static:!!x.static,isDraggable:x.isDraggable,isResizable:x.isResizable,resizeHandles:x.resizeHandles,isBounded:x.isBounded}}function y(x,R){return(0,t.deepEqual)(n.default.Children.map(x,E=>E?.key),n.default.Children.map(R,E=>E?.key))&&(0,t.deepEqual)(n.default.Children.map(x,E=>E?.props["data-grid"]),n.default.Children.map(R,E=>E?.props["data-grid"]))}Z.fastRGLPropsEqual=Wu();function b(x,R){return x.left===R.left&&x.top===R.top&&x.width===R.width&&x.height===R.height}function C(x,R){return!(x.i===R.i||x.x+x.w<=R.x||x.x>=R.x+R.w||x.y+x.h<=R.y||x.y>=R.y+R.h)}function _(x,R,E,k){const W=f(x),L=se(x,R),G=Array(x.length);for(let U=0,K=L.length;U<K;U++){let ee=c(L[U]);ee.static||(ee=w(W,ee,R,E,L,k),W.push(ee)),G[x.indexOf(L[U])]=ee,ee.moved=!1}return G}const S={x:"w",y:"h"};function P(x,R,E,k){const W=S[k];R[k]+=1;const L=x.map(G=>G.i).indexOf(R.i);for(let G=L+1;G<x.length;G++){const U=x[G];if(!U.static){if(U.y>R.y+R.h)break;C(R,U)&&P(x,U,E+R[W],k)}}R[k]=E}function w(x,R,E,k,W,L){const G=E==="vertical",U=E==="horizontal";if(G)for(R.y=Math.min(a(x),R.y);R.y>0&&!h(x,R);)R.y--;else if(U)for(;R.x>0&&!h(x,R);)R.x--;let K;for(;(K=h(x,R))&&!(E===null&&L);)if(U?P(W,R,K.x+K.w,"x"):P(W,R,K.y+K.h,"y"),U&&R.x+R.w>k)for(R.x=k-R.w,R.y++;R.x>0&&!h(x,R);)R.x--;return R.y=Math.max(R.y,0),R.x=Math.max(R.x,0),R}function v(x,R){const E=f(x);for(let k=0,W=x.length;k<W;k++){const L=x[k];if(L.x+L.w>R.cols&&(L.x=R.cols-L.w),L.x<0&&(L.x=0,L.w=R.cols),!L.static)E.push(L);else for(;h(E,L);)L.y++}return x}function u(x,R){for(let E=0,k=x.length;E<k;E++)if(x[E].i===R)return x[E]}function h(x,R){for(let E=0,k=x.length;E<k;E++)if(C(x[E],R))return x[E]}function l(x,R){return x.filter(E=>C(E,R))}function f(x){return x.filter(R=>R.static)}function m(x,R,E,k,W,L,G,U,K){if(R.static&&R.isDraggable!==!0||R.y===k&&R.x===E)return x;`${R.i}${String(E)}${String(k)}${R.x}${R.y}`;const ee=R.x,ke=R.y;typeof E=="number"&&(R.x=E),typeof k=="number"&&(R.y=k),R.moved=!0;let ce=se(x,G);(G==="vertical"&&typeof k=="number"?ke>=k:G==="horizontal"&&typeof E=="number"&&ee>=E)&&(ce=ce.reverse());const We=l(ce,R),dt=We.length>0;if(dt&&K)return i(x);if(dt&&L)return`${R.i}`,R.x=ee,R.y=ke,R.moved=!1,x;for(let Ft=0,Fl=We.length;Ft<Fl;Ft++){const ze=We[Ft];`${R.i}${R.x}${R.y}${ze.i}${ze.x}${ze.y}`,!ze.moved&&(ze.static?x=p(x,ze,R,W,G):x=p(x,R,ze,W,G))}return x}function p(x,R,E,k,W,L){const G=W==="horizontal",U=W==="vertical",K=R.static;if(k){k=!1;const ce={x:G?Math.max(R.x-E.w,0):E.x,y:U?Math.max(R.y-E.h,0):E.y,w:E.w,h:E.h,i:"-1"},ae=h(x,ce),We=ae&&ae.y+ae.h>R.y,dt=ae&&R.x+R.w>ae.x;if(ae){if(We&&U)return m(x,E,void 0,R.y+1,k,K,W);if(We&&W==null)return R.y=E.y,E.y=E.y+E.h,x;if(dt&&G)return m(x,R,E.x,void 0,k,K,W)}else return`${E.i}${ce.x}${ce.y}`,m(x,E,G?ce.x:void 0,U?ce.y:void 0,k,K,W)}const ee=G?E.x+1:void 0,ke=U?E.y+1:void 0;return ee==null&&ke==null?x:m(x,E,G?E.x+1:void 0,U?E.y+1:void 0,k,K,W)}function g(x){return x*100+"%"}const d=(x,R,E,k)=>x+E>k?R:E,j=(x,R,E)=>x<0?R:E,O=x=>Math.max(0,x),D=x=>Math.max(0,x),q=(x,R,E)=>{let{left:k,height:W,width:L}=R;const G=x.top-(W-x.height);return{left:k,width:L,height:j(G,x.height,W),top:D(G)}},N=(x,R,E)=>{let{top:k,left:W,height:L,width:G}=R;return{top:k,height:L,width:d(x.left,x.width,G,E),left:O(W)}},T=(x,R,E)=>{let{top:k,height:W,width:L}=R;const G=x.left-(L-x.width);return{height:W,width:G<0?x.width:d(x.left,x.width,L,E),top:D(k),left:O(G)}},I=(x,R,E)=>{let{top:k,left:W,height:L,width:G}=R;return{width:G,left:W,height:j(k,x.height,L),top:D(k)}},Q={n:q,ne:function(){return q(arguments.length<=0?void 0:arguments[0],N(...arguments))},e:N,se:function(){return I(arguments.length<=0?void 0:arguments[0],N(...arguments))},s:I,sw:function(){return I(arguments.length<=0?void 0:arguments[0],T(...arguments))},w:T,nw:function(){return q(arguments.length<=0?void 0:arguments[0],T(...arguments))}};function Y(x,R,E,k){const W=Q[x];return W?W(R,{...R,...E},k):E}function te(x){let{top:R,left:E,width:k,height:W}=x;const L=`translate(${E}px,${R}px)`;return{transform:L,WebkitTransform:L,MozTransform:L,msTransform:L,OTransform:L,width:`${k}px`,height:`${W}px`,position:"absolute"}}function re(x){let{top:R,left:E,width:k,height:W}=x;return{top:`${R}px`,left:`${E}px`,width:`${k}px`,height:`${W}px`,position:"absolute"}}function se(x,R){return R==="horizontal"?oe(x):R==="vertical"?ue(x):x}function ue(x){return x.slice(0).sort(function(R,E){return R.y>E.y||R.y===E.y&&R.x>E.x?1:R.y===E.y&&R.x===E.x?0:-1})}function oe(x){return x.slice(0).sort(function(R,E){return R.x>E.x||R.x===E.x&&R.y>E.y?1:-1})}function Me(x,R,E,k,W){x=x||[];const L=[];n.default.Children.forEach(R,U=>{if(U?.key==null)return;const K=u(x,String(U.key)),ee=U.props["data-grid"];K&&ee==null?L.push(c(K)):ee?L.push(c({...ee,i:U.key})):L.push(c({w:1,h:1,x:0,y:a(L),i:String(U.key)}))});const G=v(L,{cols:E});return W?G:_(G,k,E)}function Ae(x){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const E=["x","y","w","h"];if(!Array.isArray(x))throw new Error(R+" must be an array!");for(let k=0,W=x.length;k<W;k++){const L=x[k];for(let G=0;G<E.length;G++){const U=E[G],K=L[U];if(typeof K!="number"||Number.isNaN(K))throw new Error(`ReactGridLayout: ${R}[${k}].${U} must be a number! Received: ${K} (${typeof K})`)}if(typeof L.i<"u"&&typeof L.i!="string")throw new Error(`ReactGridLayout: ${R}[${k}].i must be a string! Received: ${L.i} (${typeof L.i})`)}}function A(x){const{verticalCompact:R,compactType:E}=x||{};return R===!1?null:E}function z(){}const $=()=>{};return Z.noop=$,Z}var xe={},Za;function Da(){if(Za)return xe;Za=1,Object.defineProperty(xe,"__esModule",{value:!0}),xe.calcGridColWidth=t,xe.calcGridItemPosition=r,xe.calcGridItemWHPx=n,xe.calcWH=i,xe.calcXY=a,xe.clamp=s;function t(o){const{margin:c,containerPadding:y,containerWidth:b,cols:C}=o;return(b-c[0]*(C-1)-y[0]*2)/C}function n(o,c,y){return Number.isFinite(o)?Math.round(c*o+Math.max(0,o-1)*y):o}function r(o,c,y,b,C,_){const{margin:S,containerPadding:P,rowHeight:w}=o,v=t(o),u={};return _&&_.resizing?(u.width=Math.round(_.resizing.width),u.height=Math.round(_.resizing.height)):(u.width=n(b,v,S[0]),u.height=n(C,w,S[1])),_&&_.dragging?(u.top=Math.round(_.dragging.top),u.left=Math.round(_.dragging.left)):_&&_.resizing&&typeof _.resizing.top=="number"&&typeof _.resizing.left=="number"?(u.top=Math.round(_.resizing.top),u.left=Math.round(_.resizing.left)):(u.top=Math.round((w+S[1])*y+P[1]),u.left=Math.round((v+S[0])*c+P[0])),u}function a(o,c,y,b,C){const{margin:_,containerPadding:S,cols:P,rowHeight:w,maxRows:v}=o,u=t(o);let h=Math.round((y-S[0])/(u+_[0])),l=Math.round((c-S[1])/(w+_[1]));return h=s(h,0,P-b),l=s(l,0,v-C),{x:h,y:l}}function i(o,c,y,b,C,_){const{margin:S,maxRows:P,cols:w,rowHeight:v}=o,u=t(o);let h=Math.round((c+S[0])/(u+S[0])),l=Math.round((y+S[1])/(v+S[1])),f=s(h,0,w-b),m=s(l,0,P-C);return["sw","w","nw"].indexOf(_)!==-1&&(f=s(h,0,w)),["nw","n","ne"].indexOf(_)!==-1&&(m=s(l,0,P)),{w:f,h:m}}function s(o,c,y){return Math.max(Math.min(o,y),c)}return xe}var Je={},$t={exports:{}},Yt,Qa;function Fu(){if(Qa)return Yt;Qa=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Yt=t,Yt}var Kt,es;function Bu(){if(es)return Kt;es=1;var t=Fu();function n(){}function r(){}return r.resetWarningCache=n,Kt=function(){function a(o,c,y,b,C,_){if(_!==t){var S=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw S.name="Invariant Violation",S}}a.isRequired=a;function i(){return a}var s={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:i,element:a,elementType:a,instanceOf:i,node:a,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:r,resetWarningCache:n};return s.PropTypes=s,s},Kt}var ts;function Te(){return ts||(ts=1,$t.exports=Bu()()),$t.exports}var Ze={exports:{}},Xt={},ne={},Se={},rs;function Tt(){if(rs)return Se;rs=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.dontSetMe=i,Se.findInArray=t,Se.int=a,Se.isFunction=n,Se.isNum=r;function t(s,o){for(let c=0,y=s.length;c<y;c++)if(o.apply(o,[s[c],c,s]))return s[c]}function n(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Function]"}function r(s){return typeof s=="number"&&!isNaN(s)}function a(s){return parseInt(s,10)}function i(s,o,c){if(s[o])return new Error(`Invalid prop ${o} passed to ${c} - do not set this, set it on the child.`)}return Se}var Re={},ns;function Uu(){if(ns)return Re;ns=1,Object.defineProperty(Re,"__esModule",{value:!0}),Re.browserPrefixToKey=r,Re.browserPrefixToStyle=a,Re.default=void 0,Re.getPrefix=n;const t=["Moz","Webkit","O","ms"];function n(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const o=window.document?.documentElement?.style;if(!o||s in o)return"";for(let c=0;c<t.length;c++)if(r(s,t[c])in o)return t[c];return""}function r(s,o){return o?`${o}${i(s)}`:s}function a(s,o){return o?`-${o.toLowerCase()}-${s}`:s}function i(s){let o="",c=!0;for(let y=0;y<s.length;y++)c?(o+=s[y].toUpperCase(),c=!1):s[y]==="-"?c=!0:o+=s[y];return o}return Re.default=n(),Re}var as;function Oa(){if(as)return ne;as=1,Object.defineProperty(ne,"__esModule",{value:!0}),ne.addClassName=p,ne.addEvent=o,ne.addUserSelectStyles=l,ne.createCSSTransform=P,ne.createSVGTransform=w,ne.getTouch=u,ne.getTouchIdentifier=h,ne.getTranslation=v,ne.innerHeight=C,ne.innerWidth=_,ne.matchesSelector=i,ne.matchesSelectorAndParentsTo=s,ne.offsetXYFromParent=S,ne.outerHeight=y,ne.outerWidth=b,ne.removeClassName=g,ne.removeEvent=c,ne.scheduleRemoveUserSelectStyles=f;var t=Tt(),n=r(Uu());function r(d,j){if(typeof WeakMap=="function")var O=new WeakMap,D=new WeakMap;return(r=function(q,N){if(!N&&q&&q.__esModule)return q;var T,I,F={__proto__:null,default:q};if(q===null||typeof q!="object"&&typeof q!="function")return F;if(T=N?D:O){if(T.has(q))return T.get(q);T.set(q,F)}for(const B in q)B!=="default"&&{}.hasOwnProperty.call(q,B)&&((I=(T=Object.defineProperty)&&Object.getOwnPropertyDescriptor(q,B))&&(I.get||I.set)?T(F,B,I):F[B]=q[B]);return F})(d,j)}let a="";function i(d,j){return a||(a=(0,t.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(O){return(0,t.isFunction)(d[O])})),(0,t.isFunction)(d[a])?d[a](j):!1}function s(d,j,O){let D=d;do{if(i(D,j))return!0;if(D===O)return!1;D=D.parentNode}while(D);return!1}function o(d,j,O,D){if(!d)return;const q={capture:!0,...D};d.addEventListener?d.addEventListener(j,O,q):d.attachEvent?d.attachEvent("on"+j,O):d["on"+j]=O}function c(d,j,O,D){if(!d)return;const q={capture:!0,...D};d.removeEventListener?d.removeEventListener(j,O,q):d.detachEvent?d.detachEvent("on"+j,O):d["on"+j]=null}function y(d){let j=d.clientHeight;const O=d.ownerDocument.defaultView.getComputedStyle(d);return j+=(0,t.int)(O.borderTopWidth),j+=(0,t.int)(O.borderBottomWidth),j}function b(d){let j=d.clientWidth;const O=d.ownerDocument.defaultView.getComputedStyle(d);return j+=(0,t.int)(O.borderLeftWidth),j+=(0,t.int)(O.borderRightWidth),j}function C(d){let j=d.clientHeight;const O=d.ownerDocument.defaultView.getComputedStyle(d);return j-=(0,t.int)(O.paddingTop),j-=(0,t.int)(O.paddingBottom),j}function _(d){let j=d.clientWidth;const O=d.ownerDocument.defaultView.getComputedStyle(d);return j-=(0,t.int)(O.paddingLeft),j-=(0,t.int)(O.paddingRight),j}function S(d,j,O){const q=j===j.ownerDocument.body?{left:0,top:0}:j.getBoundingClientRect(),N=(d.clientX+j.scrollLeft-q.left)/O,T=(d.clientY+j.scrollTop-q.top)/O;return{x:N,y:T}}function P(d,j){const O=v(d,j,"px");return{[(0,n.browserPrefixToKey)("transform",n.default)]:O}}function w(d,j){return v(d,j,"")}function v(d,j,O){let{x:D,y:q}=d,N=`translate(${D}${O},${q}${O})`;if(j){const T=`${typeof j.x=="string"?j.x:j.x+O}`,I=`${typeof j.y=="string"?j.y:j.y+O}`;N=`translate(${T}, ${I})`+N}return N}function u(d,j){return d.targetTouches&&(0,t.findInArray)(d.targetTouches,O=>j===O.identifier)||d.changedTouches&&(0,t.findInArray)(d.changedTouches,O=>j===O.identifier)}function h(d){if(d.targetTouches&&d.targetTouches[0])return d.targetTouches[0].identifier;if(d.changedTouches&&d.changedTouches[0])return d.changedTouches[0].identifier}function l(d){if(!d)return;let j=d.getElementById("react-draggable-style-el");j||(j=d.createElement("style"),j.type="text/css",j.id="react-draggable-style-el",j.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
+ `,j.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
+ `,d.getElementsByTagName("head")[0].appendChild(j)),d.body&&p(d.body,"react-draggable-transparent-selection")}function f(d){window.requestAnimationFrame?window.requestAnimationFrame(()=>{m(d)}):m(d)}function m(d){if(d)try{if(d.body&&g(d.body,"react-draggable-transparent-selection"),d.selection)d.selection.empty();else{const j=(d.defaultView||window).getSelection();j&&j.type!=="Caret"&&j.removeAllRanges()}}catch{}}function p(d,j){d.classList?d.classList.add(j):d.className.match(new RegExp(`(?:^|\\s)${j}(?!\\S)`))||(d.className+=` ${j}`)}function g(d,j){d.classList?d.classList.remove(j):d.className=d.className.replace(new RegExp(`(?:^|\\s)${j}(?!\\S)`,"g"),"")}return ne}var ge={},ss;function ml(){if(ss)return ge;ss=1,Object.defineProperty(ge,"__esModule",{value:!0}),ge.canDragX=i,ge.canDragY=s,ge.createCoreData=c,ge.createDraggableData=y,ge.getBoundPosition=r,ge.getControlPosition=o,ge.snapToGrid=a;var t=Tt(),n=Oa();function r(_,S,P){if(!_.props.bounds)return[S,P];let{bounds:w}=_.props;w=typeof w=="string"?w:b(w);const v=C(_);if(typeof w=="string"){const{ownerDocument:u}=v,h=u.defaultView;let l;if(w==="parent"?l=v.parentNode:l=v.getRootNode().querySelector(w),!(l instanceof h.HTMLElement))throw new Error('Bounds selector "'+w+'" could not find an element.');const f=l,m=h.getComputedStyle(v),p=h.getComputedStyle(f);w={left:-v.offsetLeft+(0,t.int)(p.paddingLeft)+(0,t.int)(m.marginLeft),top:-v.offsetTop+(0,t.int)(p.paddingTop)+(0,t.int)(m.marginTop),right:(0,n.innerWidth)(f)-(0,n.outerWidth)(v)-v.offsetLeft+(0,t.int)(p.paddingRight)-(0,t.int)(m.marginRight),bottom:(0,n.innerHeight)(f)-(0,n.outerHeight)(v)-v.offsetTop+(0,t.int)(p.paddingBottom)-(0,t.int)(m.marginBottom)}}return(0,t.isNum)(w.right)&&(S=Math.min(S,w.right)),(0,t.isNum)(w.bottom)&&(P=Math.min(P,w.bottom)),(0,t.isNum)(w.left)&&(S=Math.max(S,w.left)),(0,t.isNum)(w.top)&&(P=Math.max(P,w.top)),[S,P]}function a(_,S,P){const w=Math.round(S/_[0])*_[0],v=Math.round(P/_[1])*_[1];return[w,v]}function i(_){return _.props.axis==="both"||_.props.axis==="x"}function s(_){return _.props.axis==="both"||_.props.axis==="y"}function o(_,S,P){const w=typeof S=="number"?(0,n.getTouch)(_,S):null;if(typeof S=="number"&&!w)return null;const v=C(P),u=P.props.offsetParent||v.offsetParent||v.ownerDocument.body;return(0,n.offsetXYFromParent)(w||_,u,P.props.scale)}function c(_,S,P){const w=!(0,t.isNum)(_.lastX),v=C(_);return w?{node:v,deltaX:0,deltaY:0,lastX:S,lastY:P,x:S,y:P}:{node:v,deltaX:S-_.lastX,deltaY:P-_.lastY,lastX:_.lastX,lastY:_.lastY,x:S,y:P}}function y(_,S){const P=_.props.scale;return{node:S.node,x:_.state.x+S.deltaX/P,y:_.state.y+S.deltaY/P,deltaX:S.deltaX/P,deltaY:S.deltaY/P,lastX:_.state.x,lastY:_.state.y}}function b(_){return{left:_.left,top:_.top,right:_.right,bottom:_.bottom}}function C(_){const S=_.findDOMNode();if(!S)throw new Error("<DraggableCore>: Unmounted during event!");return S}return ge}var Qe={},ft={},is;function vl(){if(is)return ft;is=1,Object.defineProperty(ft,"__esModule",{value:!0}),ft.default=t;function t(){}return ft}var os;function Gu(){if(os)return Qe;os=1,Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.default=void 0;var t=y(pe()),n=c(Te()),r=c(Pa()),a=Oa(),i=ml(),s=Tt(),o=c(vl());function c(v){return v&&v.__esModule?v:{default:v}}function y(v,u){if(typeof WeakMap=="function")var h=new WeakMap,l=new WeakMap;return(y=function(f,m){if(!m&&f&&f.__esModule)return f;var p,g,d={__proto__:null,default:f};if(f===null||typeof f!="object"&&typeof f!="function")return d;if(p=m?l:h){if(p.has(f))return p.get(f);p.set(f,d)}for(const j in f)j!=="default"&&{}.hasOwnProperty.call(f,j)&&((g=(p=Object.defineProperty)&&Object.getOwnPropertyDescriptor(f,j))&&(g.get||g.set)?p(d,j,g):d[j]=f[j]);return d})(v,u)}function b(v,u,h){return(u=C(u))in v?Object.defineProperty(v,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):v[u]=h,v}function C(v){var u=_(v,"string");return typeof u=="symbol"?u:u+""}function _(v,u){if(typeof v!="object"||!v)return v;var h=v[Symbol.toPrimitive];if(h!==void 0){var l=h.call(v,u);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(v)}const S={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let P=S.mouse,w=class extends t.Component{constructor(){super(...arguments),b(this,"dragging",!1),b(this,"lastX",NaN),b(this,"lastY",NaN),b(this,"touchIdentifier",null),b(this,"mounted",!1),b(this,"handleDragStart",u=>{if(this.props.onMouseDown(u),!this.props.allowAnyClick&&typeof u.button=="number"&&u.button!==0)return!1;const h=this.findDOMNode();if(!h||!h.ownerDocument||!h.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:l}=h;if(this.props.disabled||!(u.target instanceof l.defaultView.Node)||this.props.handle&&!(0,a.matchesSelectorAndParentsTo)(u.target,this.props.handle,h)||this.props.cancel&&(0,a.matchesSelectorAndParentsTo)(u.target,this.props.cancel,h))return;u.type==="touchstart"&&!this.props.allowMobileScroll&&u.preventDefault();const f=(0,a.getTouchIdentifier)(u);this.touchIdentifier=f;const m=(0,i.getControlPosition)(u,f,this);if(m==null)return;const{x:p,y:g}=m,d=(0,i.createCoreData)(this,p,g);(0,o.default)("DraggableCore: handleDragStart: %j",d),(0,o.default)("calling",this.props.onStart),!(this.props.onStart(u,d)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,a.addUserSelectStyles)(l),this.dragging=!0,this.lastX=p,this.lastY=g,(0,a.addEvent)(l,P.move,this.handleDrag),(0,a.addEvent)(l,P.stop,this.handleDragStop))}),b(this,"handleDrag",u=>{const h=(0,i.getControlPosition)(u,this.touchIdentifier,this);if(h==null)return;let{x:l,y:f}=h;if(Array.isArray(this.props.grid)){let g=l-this.lastX,d=f-this.lastY;if([g,d]=(0,i.snapToGrid)(this.props.grid,g,d),!g&&!d)return;l=this.lastX+g,f=this.lastY+d}const m=(0,i.createCoreData)(this,l,f);if((0,o.default)("DraggableCore: handleDrag: %j",m),this.props.onDrag(u,m)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const d=document.createEvent("MouseEvents");d.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(d)}return}this.lastX=l,this.lastY=f}),b(this,"handleDragStop",u=>{if(!this.dragging)return;const h=(0,i.getControlPosition)(u,this.touchIdentifier,this);if(h==null)return;let{x:l,y:f}=h;if(Array.isArray(this.props.grid)){let d=l-this.lastX||0,j=f-this.lastY||0;[d,j]=(0,i.snapToGrid)(this.props.grid,d,j),l=this.lastX+d,f=this.lastY+j}const m=(0,i.createCoreData)(this,l,f);if(this.props.onStop(u,m)===!1||this.mounted===!1)return!1;const g=this.findDOMNode();g&&this.props.enableUserSelectHack&&(0,a.scheduleRemoveUserSelectStyles)(g.ownerDocument),(0,o.default)("DraggableCore: handleDragStop: %j",m),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,g&&((0,o.default)("DraggableCore: Removing handlers"),(0,a.removeEvent)(g.ownerDocument,P.move,this.handleDrag),(0,a.removeEvent)(g.ownerDocument,P.stop,this.handleDragStop))}),b(this,"onMouseDown",u=>(P=S.mouse,this.handleDragStart(u))),b(this,"onMouseUp",u=>(P=S.mouse,this.handleDragStop(u))),b(this,"onTouchStart",u=>(P=S.touch,this.handleDragStart(u))),b(this,"onTouchEnd",u=>(P=S.touch,this.handleDragStop(u)))}componentDidMount(){this.mounted=!0;const u=this.findDOMNode();u&&(0,a.addEvent)(u,S.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const u=this.findDOMNode();if(u){const{ownerDocument:h}=u;(0,a.removeEvent)(h,S.mouse.move,this.handleDrag),(0,a.removeEvent)(h,S.touch.move,this.handleDrag),(0,a.removeEvent)(h,S.mouse.stop,this.handleDragStop),(0,a.removeEvent)(h,S.touch.stop,this.handleDragStop),(0,a.removeEvent)(u,S.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,a.scheduleRemoveUserSelectStyles)(h)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:r.default.findDOMNode(this)}render(){return t.cloneElement(t.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return Qe.default=w,b(w,"displayName","DraggableCore"),b(w,"propTypes",{allowAnyClick:n.default.bool,allowMobileScroll:n.default.bool,children:n.default.node.isRequired,disabled:n.default.bool,enableUserSelectHack:n.default.bool,offsetParent:function(v,u){if(v[u]&&v[u].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:n.default.arrayOf(n.default.number),handle:n.default.string,cancel:n.default.string,nodeRef:n.default.object,onStart:n.default.func,onDrag:n.default.func,onStop:n.default.func,onMouseDown:n.default.func,scale:n.default.number,className:s.dontSetMe,style:s.dontSetMe,transform:s.dontSetMe}),b(w,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),Qe}var ls;function $u(){return ls||(ls=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return y.default}}),t.default=void 0;var n=_(pe()),r=C(Te()),a=C(Pa()),i=Nt(),s=Oa(),o=ml(),c=Tt(),y=C(Gu()),b=C(vl());function C(h){return h&&h.__esModule?h:{default:h}}function _(h,l){if(typeof WeakMap=="function")var f=new WeakMap,m=new WeakMap;return(_=function(p,g){if(!g&&p&&p.__esModule)return p;var d,j,O={__proto__:null,default:p};if(p===null||typeof p!="object"&&typeof p!="function")return O;if(d=g?m:f){if(d.has(p))return d.get(p);d.set(p,O)}for(const D in p)D!=="default"&&{}.hasOwnProperty.call(p,D)&&((j=(d=Object.defineProperty)&&Object.getOwnPropertyDescriptor(p,D))&&(j.get||j.set)?d(O,D,j):O[D]=p[D]);return O})(h,l)}function S(){return S=Object.assign?Object.assign.bind():function(h){for(var l=1;l<arguments.length;l++){var f=arguments[l];for(var m in f)({}).hasOwnProperty.call(f,m)&&(h[m]=f[m])}return h},S.apply(null,arguments)}function P(h,l,f){return(l=w(l))in h?Object.defineProperty(h,l,{value:f,enumerable:!0,configurable:!0,writable:!0}):h[l]=f,h}function w(h){var l=v(h,"string");return typeof l=="symbol"?l:l+""}function v(h,l){if(typeof h!="object"||!h)return h;var f=h[Symbol.toPrimitive];if(f!==void 0){var m=f.call(h,l);if(typeof m!="object")return m;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(h)}class u extends n.Component{static getDerivedStateFromProps(l,f){let{position:m}=l,{prevPropsPosition:p}=f;return m&&(!p||m.x!==p.x||m.y!==p.y)?((0,b.default)("Draggable: getDerivedStateFromProps %j",{position:m,prevPropsPosition:p}),{x:m.x,y:m.y,prevPropsPosition:{...m}}):null}constructor(l){super(l),P(this,"onDragStart",(f,m)=>{if((0,b.default)("Draggable: onDragStart: %j",m),this.props.onStart(f,(0,o.createDraggableData)(this,m))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),P(this,"onDrag",(f,m)=>{if(!this.state.dragging)return!1;(0,b.default)("Draggable: onDrag: %j",m);const p=(0,o.createDraggableData)(this,m),g={x:p.x,y:p.y,slackX:0,slackY:0};if(this.props.bounds){const{x:j,y:O}=g;g.x+=this.state.slackX,g.y+=this.state.slackY;const[D,q]=(0,o.getBoundPosition)(this,g.x,g.y);g.x=D,g.y=q,g.slackX=this.state.slackX+(j-g.x),g.slackY=this.state.slackY+(O-g.y),p.x=g.x,p.y=g.y,p.deltaX=g.x-this.state.x,p.deltaY=g.y-this.state.y}if(this.props.onDrag(f,p)===!1)return!1;this.setState(g)}),P(this,"onDragStop",(f,m)=>{if(!this.state.dragging||this.props.onStop(f,(0,o.createDraggableData)(this,m))===!1)return!1;(0,b.default)("Draggable: onDragStop: %j",m);const g={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:j,y:O}=this.props.position;g.x=j,g.y=O}this.setState(g)}),this.state={dragging:!1,dragged:!1,x:l.position?l.position.x:l.defaultPosition.x,y:l.position?l.position.y:l.defaultPosition.y,prevPropsPosition:{...l.position},slackX:0,slackY:0,isElementSVG:!1},l.position&&!(l.onDrag||l.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??a.default.findDOMNode(this)}render(){const{axis:l,bounds:f,children:m,defaultPosition:p,defaultClassName:g,defaultClassNameDragging:d,defaultClassNameDragged:j,position:O,positionOffset:D,scale:q,...N}=this.props;let T={},I=null;const B=!!!O||this.state.dragging,V=O||p,J={x:(0,o.canDragX)(this)&&B?this.state.x:V.x,y:(0,o.canDragY)(this)&&B?this.state.y:V.y};this.state.isElementSVG?I=(0,s.createSVGTransform)(J,D):T=(0,s.createCSSTransform)(J,D);const Q=(0,i.clsx)(m.props.className||"",g,{[d]:this.state.dragging,[j]:this.state.dragged});return n.createElement(y.default,S({},N,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(m),{className:Q,style:{...m.props.style,...T},transform:I}))}}t.default=u,P(u,"displayName","Draggable"),P(u,"propTypes",{...y.default.propTypes,axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:c.dontSetMe,style:c.dontSetMe,transform:c.dontSetMe}),P(u,"defaultProps",{...y.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(Xt)),Xt}var us;function Ea(){if(us)return Ze.exports;us=1;const{default:t,DraggableCore:n}=$u();return Ze.exports=t,Ze.exports.default=t,Ze.exports.DraggableCore=n,Ze.exports}var et={exports:{}},tt={},pt={},cs;function Yu(){if(cs)return pt;cs=1,pt.__esModule=!0,pt.cloneElement=c;var t=n(pe());function n(y){return y&&y.__esModule?y:{default:y}}function r(y,b){var C=Object.keys(y);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(y);b&&(_=_.filter(function(S){return Object.getOwnPropertyDescriptor(y,S).enumerable})),C.push.apply(C,_)}return C}function a(y){for(var b=1;b<arguments.length;b++){var C=arguments[b]!=null?arguments[b]:{};b%2?r(Object(C),!0).forEach(function(_){i(y,_,C[_])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(C)):r(Object(C)).forEach(function(_){Object.defineProperty(y,_,Object.getOwnPropertyDescriptor(C,_))})}return y}function i(y,b,C){return b=s(b),b in y?Object.defineProperty(y,b,{value:C,enumerable:!0,configurable:!0,writable:!0}):y[b]=C,y}function s(y){var b=o(y,"string");return typeof b=="symbol"?b:String(b)}function o(y,b){if(typeof y!="object"||y===null)return y;var C=y[Symbol.toPrimitive];if(C!==void 0){var _=C.call(y,b);if(typeof _!="object")return _;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(y)}function c(y,b){return b.style&&y.props.style&&(b.style=a(a({},y.props.style),b.style)),b.className&&y.props.className&&(b.className=y.props.className+" "+b.className),t.default.cloneElement(y,b)}return pt}var rt={},ds;function yl(){if(ds)return rt;ds=1,rt.__esModule=!0,rt.resizableProps=void 0;var t=n(Te());Ea();function n(a){return a&&a.__esModule?a:{default:a}}var r={axis:t.default.oneOf(["both","x","y","none"]),className:t.default.string,children:t.default.element.isRequired,draggableOpts:t.default.shape({allowAnyClick:t.default.bool,cancel:t.default.string,children:t.default.node,disabled:t.default.bool,enableUserSelectHack:t.default.bool,offsetParent:t.default.node,grid:t.default.arrayOf(t.default.number),handle:t.default.string,nodeRef:t.default.object,onStart:t.default.func,onDrag:t.default.func,onStop:t.default.func,onMouseDown:t.default.func,scale:t.default.number}),height:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];var c=s[0];if(c.axis==="both"||c.axis==="y"){var y;return(y=t.default.number).isRequired.apply(y,s)}return t.default.number.apply(t.default,s)},handle:t.default.oneOfType([t.default.node,t.default.func]),handleSize:t.default.arrayOf(t.default.number),lockAspectRatio:t.default.bool,maxConstraints:t.default.arrayOf(t.default.number),minConstraints:t.default.arrayOf(t.default.number),onResizeStop:t.default.func,onResizeStart:t.default.func,onResize:t.default.func,resizeHandles:t.default.arrayOf(t.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:t.default.number,width:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];var c=s[0];if(c.axis==="both"||c.axis==="x"){var y;return(y=t.default.number).isRequired.apply(y,s)}return t.default.number.apply(t.default,s)}};return rt.resizableProps=r,rt}var hs;function bl(){if(hs)return tt;hs=1,tt.__esModule=!0,tt.default=void 0;var t=o(pe()),n=Ea(),r=Yu(),a=yl(),i=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function s(h){if(typeof WeakMap!="function")return null;var l=new WeakMap,f=new WeakMap;return(s=function(p){return p?f:l})(h)}function o(h,l){if(h&&h.__esModule)return h;if(h===null||typeof h!="object"&&typeof h!="function")return{default:h};var f=s(l);if(f&&f.has(h))return f.get(h);var m={},p=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in h)if(g!=="default"&&Object.prototype.hasOwnProperty.call(h,g)){var d=p?Object.getOwnPropertyDescriptor(h,g):null;d&&(d.get||d.set)?Object.defineProperty(m,g,d):m[g]=h[g]}return m.default=h,f&&f.set(h,m),m}function c(){return c=Object.assign?Object.assign.bind():function(h){for(var l=1;l<arguments.length;l++){var f=arguments[l];for(var m in f)Object.prototype.hasOwnProperty.call(f,m)&&(h[m]=f[m])}return h},c.apply(this,arguments)}function y(h,l){if(h==null)return{};var f={},m=Object.keys(h),p,g;for(g=0;g<m.length;g++)p=m[g],!(l.indexOf(p)>=0)&&(f[p]=h[p]);return f}function b(h,l){var f=Object.keys(h);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(h);l&&(m=m.filter(function(p){return Object.getOwnPropertyDescriptor(h,p).enumerable})),f.push.apply(f,m)}return f}function C(h){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?b(Object(f),!0).forEach(function(m){_(h,m,f[m])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(f)):b(Object(f)).forEach(function(m){Object.defineProperty(h,m,Object.getOwnPropertyDescriptor(f,m))})}return h}function _(h,l,f){return l=S(l),l in h?Object.defineProperty(h,l,{value:f,enumerable:!0,configurable:!0,writable:!0}):h[l]=f,h}function S(h){var l=P(h,"string");return typeof l=="symbol"?l:String(l)}function P(h,l){if(typeof h!="object"||h===null)return h;var f=h[Symbol.toPrimitive];if(f!==void 0){var m=f.call(h,l);if(typeof m!="object")return m;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(h)}function w(h,l){h.prototype=Object.create(l.prototype),h.prototype.constructor=h,v(h,l)}function v(h,l){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(m,p){return m.__proto__=p,m},v(h,l)}var u=(function(h){w(l,h);function l(){for(var m,p=arguments.length,g=new Array(p),d=0;d<p;d++)g[d]=arguments[d];return m=h.call.apply(h,[this].concat(g))||this,m.handleRefs={},m.lastHandleRect=null,m.slack=null,m}var f=l.prototype;return f.componentWillUnmount=function(){this.resetData()},f.resetData=function(){this.lastHandleRect=this.slack=null},f.runConstraints=function(p,g){var d=this.props,j=d.minConstraints,O=d.maxConstraints,D=d.lockAspectRatio;if(!j&&!O&&!D)return[p,g];if(D){var q=this.props.width/this.props.height,N=p-this.props.width,T=g-this.props.height;Math.abs(N)>Math.abs(T*q)?g=p/q:p=g*q}var I=p,F=g,B=this.slack||[0,0],V=B[0],J=B[1];return p+=V,g+=J,j&&(p=Math.max(j[0],p),g=Math.max(j[1],g)),O&&(p=Math.min(O[0],p),g=Math.min(O[1],g)),this.slack=[V+(I-p),J+(F-g)],[p,g]},f.resizeHandler=function(p,g){var d=this;return function(j,O){var D=O.node,q=O.deltaX,N=O.deltaY;p==="onResizeStart"&&d.resetData();var T=(d.props.axis==="both"||d.props.axis==="x")&&g!=="n"&&g!=="s",I=(d.props.axis==="both"||d.props.axis==="y")&&g!=="e"&&g!=="w";if(!(!T&&!I)){var F=g[0],B=g[g.length-1],V=D.getBoundingClientRect();if(d.lastHandleRect!=null){if(B==="w"){var J=V.left-d.lastHandleRect.left;q+=J}if(F==="n"){var Q=V.top-d.lastHandleRect.top;N+=Q}}d.lastHandleRect=V,B==="w"&&(q=-q),F==="n"&&(N=-N);var Y=d.props.width+(T?q/d.props.transformScale:0),te=d.props.height+(I?N/d.props.transformScale:0),re=d.runConstraints(Y,te);Y=re[0],te=re[1];var se=Y!==d.props.width||te!==d.props.height,ue=typeof d.props[p]=="function"?d.props[p]:null,oe=p==="onResize"&&!se;ue&&!oe&&(j.persist==null||j.persist(),ue(j,{node:D,size:{width:Y,height:te},handle:g})),p==="onResizeStop"&&d.resetData()}}},f.renderResizeHandle=function(p,g){var d=this.props.handle;if(!d)return t.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+p,ref:g});if(typeof d=="function")return d(p,g);var j=typeof d.type=="string",O=C({ref:g},j?{}:{handleAxis:p});return t.cloneElement(d,O)},f.render=function(){var p=this,g=this.props,d=g.children,j=g.className,O=g.draggableOpts;g.width,g.height,g.handle,g.handleSize,g.lockAspectRatio,g.axis,g.minConstraints,g.maxConstraints,g.onResize,g.onResizeStop,g.onResizeStart;var D=g.resizeHandles;g.transformScale;var q=y(g,i);return(0,r.cloneElement)(d,C(C({},q),{},{className:(j?j+" ":"")+"react-resizable",children:[].concat(d.props.children,D.map(function(N){var T,I=(T=p.handleRefs[N])!=null?T:p.handleRefs[N]=t.createRef();return t.createElement(n.DraggableCore,c({},O,{nodeRef:I,key:"resizableHandle-"+N,onStop:p.resizeHandler("onResizeStop",N),onStart:p.resizeHandler("onResizeStart",N),onDrag:p.resizeHandler("onResize",N)}),p.renderResizeHandle(N,I))}))}))},l})(t.Component);return tt.default=u,u.propTypes=a.resizableProps,u.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},tt}var nt={},fs;function Ku(){if(fs)return nt;fs=1,nt.__esModule=!0,nt.default=void 0;var t=c(pe()),n=s(Te()),r=s(bl()),a=yl(),i=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function s(l){return l&&l.__esModule?l:{default:l}}function o(l){if(typeof WeakMap!="function")return null;var f=new WeakMap,m=new WeakMap;return(o=function(g){return g?m:f})(l)}function c(l,f){if(l&&l.__esModule)return l;if(l===null||typeof l!="object"&&typeof l!="function")return{default:l};var m=o(f);if(m&&m.has(l))return m.get(l);var p={},g=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var d in l)if(d!=="default"&&Object.prototype.hasOwnProperty.call(l,d)){var j=g?Object.getOwnPropertyDescriptor(l,d):null;j&&(j.get||j.set)?Object.defineProperty(p,d,j):p[d]=l[d]}return p.default=l,m&&m.set(l,p),p}function y(){return y=Object.assign?Object.assign.bind():function(l){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var p in m)Object.prototype.hasOwnProperty.call(m,p)&&(l[p]=m[p])}return l},y.apply(this,arguments)}function b(l,f){var m=Object.keys(l);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(l);f&&(p=p.filter(function(g){return Object.getOwnPropertyDescriptor(l,g).enumerable})),m.push.apply(m,p)}return m}function C(l){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?b(Object(m),!0).forEach(function(p){_(l,p,m[p])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(m)):b(Object(m)).forEach(function(p){Object.defineProperty(l,p,Object.getOwnPropertyDescriptor(m,p))})}return l}function _(l,f,m){return f=S(f),f in l?Object.defineProperty(l,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):l[f]=m,l}function S(l){var f=P(l,"string");return typeof f=="symbol"?f:String(f)}function P(l,f){if(typeof l!="object"||l===null)return l;var m=l[Symbol.toPrimitive];if(m!==void 0){var p=m.call(l,f);if(typeof p!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(f==="string"?String:Number)(l)}function w(l,f){if(l==null)return{};var m={},p=Object.keys(l),g,d;for(d=0;d<p.length;d++)g=p[d],!(f.indexOf(g)>=0)&&(m[g]=l[g]);return m}function v(l,f){l.prototype=Object.create(f.prototype),l.prototype.constructor=l,u(l,f)}function u(l,f){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,g){return p.__proto__=g,p},u(l,f)}var h=(function(l){v(f,l);function f(){for(var p,g=arguments.length,d=new Array(g),j=0;j<g;j++)d[j]=arguments[j];return p=l.call.apply(l,[this].concat(d))||this,p.state={width:p.props.width,height:p.props.height,propsWidth:p.props.width,propsHeight:p.props.height},p.onResize=function(O,D){var q=D.size;p.props.onResize?(O.persist==null||O.persist(),p.setState(q,function(){return p.props.onResize&&p.props.onResize(O,D)})):p.setState(q)},p}f.getDerivedStateFromProps=function(g,d){return d.propsWidth!==g.width||d.propsHeight!==g.height?{width:g.width,height:g.height,propsWidth:g.width,propsHeight:g.height}:null};var m=f.prototype;return m.render=function(){var g=this.props,d=g.handle,j=g.handleSize;g.onResize;var O=g.onResizeStart,D=g.onResizeStop,q=g.draggableOpts,N=g.minConstraints,T=g.maxConstraints,I=g.lockAspectRatio,F=g.axis;g.width,g.height;var B=g.resizeHandles,V=g.style,J=g.transformScale,Q=w(g,i);return t.createElement(r.default,{axis:F,draggableOpts:q,handle:d,handleSize:j,height:this.state.height,lockAspectRatio:I,maxConstraints:T,minConstraints:N,onResizeStart:O,onResize:this.onResize,onResizeStop:D,resizeHandles:B,transformScale:J,width:this.state.width},t.createElement("div",y({},Q,{style:C(C({},V),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},f})(t.Component);return nt.default=h,h.propTypes=C(C({},a.resizableProps),{},{children:n.default.element}),nt}var ps;function Xu(){return ps||(ps=1,et.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},et.exports.Resizable=bl().default,et.exports.ResizableBox=Ku().default),et.exports}var _e={},gs;function xl(){if(gs)return _e;gs=1,Object.defineProperty(_e,"__esModule",{value:!0}),_e.resizeHandleType=_e.resizeHandleAxesType=_e.default=void 0;var t=r(Te()),n=r(pe());function r(s){return s&&s.__esModule?s:{default:s}}const a=_e.resizeHandleAxesType=t.default.arrayOf(t.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),i=_e.resizeHandleType=t.default.oneOfType([t.default.node,t.default.func]);return _e.default={className:t.default.string,style:t.default.object,width:t.default.number,autoSize:t.default.bool,cols:t.default.number,draggableCancel:t.default.string,draggableHandle:t.default.string,verticalCompact:function(s){s.verticalCompact},compactType:t.default.oneOf(["vertical","horizontal"]),layout:function(s){var o=s.layout;o!==void 0&&Ke().validateLayout(o,"layout")},margin:t.default.arrayOf(t.default.number),containerPadding:t.default.arrayOf(t.default.number),rowHeight:t.default.number,maxRows:t.default.number,isBounded:t.default.bool,isDraggable:t.default.bool,isResizable:t.default.bool,allowOverlap:t.default.bool,preventCollision:t.default.bool,useCSSTransforms:t.default.bool,transformScale:t.default.number,isDroppable:t.default.bool,resizeHandles:a,resizeHandle:i,onLayoutChange:t.default.func,onDragStart:t.default.func,onDrag:t.default.func,onDragStop:t.default.func,onResizeStart:t.default.func,onResize:t.default.func,onResizeStop:t.default.func,onDrop:t.default.func,droppingItem:t.default.shape({i:t.default.string.isRequired,w:t.default.number.isRequired,h:t.default.number.isRequired}),children:function(s,o){const c=s[o],y={};n.default.Children.forEach(c,function(b){if(b?.key!=null){if(y[b.key])throw new Error('Duplicate child key "'+b.key+'" found! This will cause problems in ReactGridLayout.');y[b.key]=!0}})},innerRef:t.default.any},_e}var ms;function Vu(){if(ms)return Je;ms=1,Object.defineProperty(Je,"__esModule",{value:!0}),Je.default=void 0;var t=b(pe()),n=Pa(),r=b(Te()),a=Ea(),i=Xu(),s=Ke(),o=Da(),c=xl(),y=b(Nt());function b(w){return w&&w.__esModule?w:{default:w}}function C(w,v,u){return(v=_(v))in w?Object.defineProperty(w,v,{value:u,enumerable:!0,configurable:!0,writable:!0}):w[v]=u,w}function _(w){var v=S(w,"string");return typeof v=="symbol"?v:v+""}function S(w,v){if(typeof w!="object"||!w)return w;var u=w[Symbol.toPrimitive];if(u!==void 0){var h=u.call(w,v);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(w)}let P=class extends t.default.Component{constructor(){super(...arguments),C(this,"state",{resizing:null,dragging:null,className:""}),C(this,"elementRef",t.default.createRef()),C(this,"onDragStart",(v,u)=>{let{node:h}=u;const{onDragStart:l,transformScale:f}=this.props;if(!l)return;const m={top:0,left:0},{offsetParent:p}=h;if(!p)return;const g=p.getBoundingClientRect(),d=h.getBoundingClientRect(),j=d.left/f,O=g.left/f,D=d.top/f,q=g.top/f;m.left=j-O+p.scrollLeft,m.top=D-q+p.scrollTop,this.setState({dragging:m});const{x:N,y:T}=(0,o.calcXY)(this.getPositionParams(),m.top,m.left,this.props.w,this.props.h);return l.call(this,this.props.i,N,T,{e:v,node:h,newPosition:m})}),C(this,"onDrag",(v,u,h)=>{let{node:l,deltaX:f,deltaY:m}=u;const{onDrag:p}=this.props;if(!p)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let g=this.state.dragging.top+m,d=this.state.dragging.left+f;const{isBounded:j,i:O,w:D,h:q,containerWidth:N}=this.props,T=this.getPositionParams();if(j){const{offsetParent:V}=l;if(V){const{margin:J,rowHeight:Q}=this.props,Y=V.clientHeight-(0,o.calcGridItemWHPx)(q,Q,J[1]);g=(0,o.clamp)(g,0,Y);const te=(0,o.calcGridColWidth)(T),re=N-(0,o.calcGridItemWHPx)(D,te,J[0]);d=(0,o.clamp)(d,0,re)}}const I={top:g,left:d};h?this.setState({dragging:I}):(0,n.flushSync)(()=>{this.setState({dragging:I})});const{x:F,y:B}=(0,o.calcXY)(T,g,d,D,q);return p.call(this,O,F,B,{e:v,node:l,newPosition:I})}),C(this,"onDragStop",(v,u)=>{let{node:h}=u;const{onDragStop:l}=this.props;if(!l)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:f,h:m,i:p}=this.props,{left:g,top:d}=this.state.dragging,j={top:d,left:g};this.setState({dragging:null});const{x:O,y:D}=(0,o.calcXY)(this.getPositionParams(),d,g,f,m);return l.call(this,p,O,D,{e:v,node:h,newPosition:j})}),C(this,"onResizeStop",(v,u,h)=>this.onResizeHandler(v,u,h,"onResizeStop")),C(this,"onResizeStart",(v,u,h)=>this.onResizeHandler(v,u,h,"onResizeStart")),C(this,"onResize",(v,u,h)=>this.onResizeHandler(v,u,h,"onResize"))}shouldComponentUpdate(v,u){if(this.props.children!==v.children||this.props.droppingPosition!==v.droppingPosition)return!0;const h=(0,o.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),l=(0,o.calcGridItemPosition)(this.getPositionParams(v),v.x,v.y,v.w,v.h,u);return!(0,s.fastPositionEqual)(h,l)||this.props.useCSSTransforms!==v.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(v){this.moveDroppingItem(v)}moveDroppingItem(v){const{droppingPosition:u}=this.props;if(!u)return;const h=this.elementRef.current;if(!h)return;const l=v.droppingPosition||{left:0,top:0},{dragging:f}=this.state,m=f&&u.left!==l.left||u.top!==l.top;if(!f)this.onDragStart(u.e,{node:h,deltaX:u.left,deltaY:u.top});else if(m){const p=u.left-f.left,g=u.top-f.top;this.onDrag(u.e,{node:h,deltaX:p,deltaY:g},!0)}}getPositionParams(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:v.cols,containerPadding:v.containerPadding,containerWidth:v.containerWidth,margin:v.margin,maxRows:v.maxRows,rowHeight:v.rowHeight}}createStyle(v){const{usePercentages:u,containerWidth:h,useCSSTransforms:l}=this.props;let f;return l?f=(0,s.setTransform)(v):(f=(0,s.setTopLeft)(v),u&&(f.left=(0,s.perc)(v.left/h),f.width=(0,s.perc)(v.width/h))),f}mixinDraggable(v,u){return t.default.createElement(a.DraggableCore,{disabled:!u,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},v)}curryResizeHandler(v,u){return(h,l)=>u(h,l,v)}mixinResizable(v,u,h){const{cols:l,minW:f,minH:m,maxW:p,maxH:g,transformScale:d,resizeHandles:j,resizeHandle:O}=this.props,D=this.getPositionParams(),q=(0,o.calcGridItemPosition)(D,0,0,l,0).width,N=(0,o.calcGridItemPosition)(D,0,0,f,m),T=(0,o.calcGridItemPosition)(D,0,0,p,g),I=[N.width,N.height],F=[Math.min(T.width,q),Math.min(T.height,1/0)];return t.default.createElement(i.Resizable,{draggableOpts:{disabled:!h},className:h?void 0:"react-resizable-hide",width:u.width,height:u.height,minConstraints:I,maxConstraints:F,onResizeStop:this.curryResizeHandler(u,this.onResizeStop),onResizeStart:this.curryResizeHandler(u,this.onResizeStart),onResize:this.curryResizeHandler(u,this.onResize),transformScale:d,resizeHandles:j,handle:O},v)}onResizeHandler(v,u,h,l){let{node:f,size:m,handle:p}=u;const g=this.props[l];if(!g)return;const{x:d,y:j,i:O,maxH:D,minH:q,containerWidth:N}=this.props,{minW:T,maxW:I}=this.props;let F=m;f&&(F=(0,s.resizeItemInDirection)(p,h,m,N),(0,n.flushSync)(()=>{this.setState({resizing:l==="onResizeStop"?null:F})}));let{w:B,h:V}=(0,o.calcWH)(this.getPositionParams(),F.width,F.height,d,j,p);B=(0,o.clamp)(B,Math.max(T,1),I),V=(0,o.clamp)(V,q,D),g.call(this,O,B,V,{e:v,node:f,size:F,handle:p})}render(){const{x:v,y:u,w:h,h:l,isDraggable:f,isResizable:m,droppingPosition:p,useCSSTransforms:g}=this.props,d=(0,o.calcGridItemPosition)(this.getPositionParams(),v,u,h,l,this.state),j=t.default.Children.only(this.props.children);let O=t.default.cloneElement(j,{ref:this.elementRef,className:(0,y.default)("react-grid-item",j.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":f,"react-draggable-dragging":!!this.state.dragging,dropping:!!p,cssTransforms:g}),style:{...this.props.style,...j.props.style,...this.createStyle(d)}});return O=this.mixinResizable(O,d,m),O=this.mixinDraggable(O,f),O}};return Je.default=P,C(P,"propTypes",{children:r.default.element,cols:r.default.number.isRequired,containerWidth:r.default.number.isRequired,rowHeight:r.default.number.isRequired,margin:r.default.array.isRequired,maxRows:r.default.number.isRequired,containerPadding:r.default.array.isRequired,x:r.default.number.isRequired,y:r.default.number.isRequired,w:r.default.number.isRequired,h:r.default.number.isRequired,minW:function(w,v){const u=w[v];if(typeof u!="number")return new Error("minWidth not Number");if(u>w.w||u>w.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(w,v){const u=w[v];if(typeof u!="number")return new Error("maxWidth not Number");if(u<w.w||u<w.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(w,v){const u=w[v];if(typeof u!="number")return new Error("minHeight not Number");if(u>w.h||u>w.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(w,v){const u=w[v];if(typeof u!="number")return new Error("maxHeight not Number");if(u<w.h||u<w.minH)return new Error("maxHeight smaller than item height/minHeight")},i:r.default.string.isRequired,resizeHandles:c.resizeHandleAxesType,resizeHandle:c.resizeHandleType,onDragStop:r.default.func,onDragStart:r.default.func,onDrag:r.default.func,onResizeStop:r.default.func,onResizeStart:r.default.func,onResize:r.default.func,isDraggable:r.default.bool.isRequired,isResizable:r.default.bool.isRequired,isBounded:r.default.bool.isRequired,static:r.default.bool,useCSSTransforms:r.default.bool.isRequired,transformScale:r.default.number,className:r.default.string,handle:r.default.string,cancel:r.default.string,droppingPosition:r.default.shape({e:r.default.object.isRequired,left:r.default.number.isRequired,top:r.default.number.isRequired})}),C(P,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1}),Je}var vs;function _l(){if(vs)return Ve;vs=1,Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.default=void 0;var t=y(pe()),n=qa(),r=c(Nt()),a=Ke(),i=Da(),s=c(Vu()),o=c(xl());function c(v){return v&&v.__esModule?v:{default:v}}function y(v,u){if(typeof WeakMap=="function")var h=new WeakMap,l=new WeakMap;return(y=function(f,m){if(!m&&f&&f.__esModule)return f;var p,g,d={__proto__:null,default:f};if(f===null||typeof f!="object"&&typeof f!="function")return d;if(p=m?l:h){if(p.has(f))return p.get(f);p.set(f,d)}for(const j in f)j!=="default"&&{}.hasOwnProperty.call(f,j)&&((g=(p=Object.defineProperty)&&Object.getOwnPropertyDescriptor(f,j))&&(g.get||g.set)?p(d,j,g):d[j]=f[j]);return d})(v,u)}function b(v,u,h){return(u=C(u))in v?Object.defineProperty(v,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):v[u]=h,v}function C(v){var u=_(v,"string");return typeof u=="symbol"?u:u+""}function _(v,u){if(typeof v!="object"||!v)return v;var h=v[Symbol.toPrimitive];if(h!==void 0){var l=h.call(v,u);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(v)}const S="react-grid-layout";let P=!1;try{P=/firefox/i.test(navigator.userAgent)}catch{}let w=class extends t.Component{constructor(){super(...arguments),b(this,"state",{activeDrag:null,layout:(0,a.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,a.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),b(this,"dragEnterCounter",0),b(this,"onDragStart",(u,h,l,f)=>{let{e:m,node:p}=f;const{layout:g}=this.state,d=(0,a.getLayoutItem)(g,u);if(!d)return;const j={w:d.w,h:d.h,x:d.x,y:d.y,placeholder:!0,i:u};return this.setState({oldDragItem:(0,a.cloneLayoutItem)(d),oldLayout:g,activeDrag:j}),this.props.onDragStart(g,d,d,null,m,p)}),b(this,"onDrag",(u,h,l,f)=>{let{e:m,node:p}=f;const{oldDragItem:g}=this.state;let{layout:d}=this.state;const{cols:j,allowOverlap:O,preventCollision:D}=this.props,q=(0,a.getLayoutItem)(d,u);if(!q)return;const N={w:q.w,h:q.h,x:q.x,y:q.y,placeholder:!0,i:u};d=(0,a.moveElement)(d,q,h,l,!0,D,(0,a.compactType)(this.props),j,O),this.props.onDrag(d,g,q,N,m,p),this.setState({layout:O?d:(0,a.compact)(d,(0,a.compactType)(this.props),j),activeDrag:N})}),b(this,"onDragStop",(u,h,l,f)=>{let{e:m,node:p}=f;if(!this.state.activeDrag)return;const{oldDragItem:g}=this.state;let{layout:d}=this.state;const{cols:j,preventCollision:O,allowOverlap:D}=this.props,q=(0,a.getLayoutItem)(d,u);if(!q)return;d=(0,a.moveElement)(d,q,h,l,!0,O,(0,a.compactType)(this.props),j,D);const T=D?d:(0,a.compact)(d,(0,a.compactType)(this.props),j);this.props.onDragStop(T,g,q,null,m,p);const{oldLayout:I}=this.state;this.setState({activeDrag:null,layout:T,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(T,I)}),b(this,"onResizeStart",(u,h,l,f)=>{let{e:m,node:p}=f;const{layout:g}=this.state,d=(0,a.getLayoutItem)(g,u);d&&(this.setState({oldResizeItem:(0,a.cloneLayoutItem)(d),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(g,d,d,null,m,p))}),b(this,"onResize",(u,h,l,f)=>{let{e:m,node:p,size:g,handle:d}=f;const{oldResizeItem:j}=this.state,{layout:O}=this.state,{cols:D,preventCollision:q,allowOverlap:N}=this.props;let T=!1,I,F,B;const[V,J]=(0,a.withLayoutItem)(O,u,Y=>{let te;return F=Y.x,B=Y.y,["sw","w","nw","n","ne"].indexOf(d)!==-1&&(["sw","nw","w"].indexOf(d)!==-1&&(F=Y.x+(Y.w-h),h=Y.x!==F&&F<0?Y.w:h,F=F<0?0:F),["ne","n","nw"].indexOf(d)!==-1&&(B=Y.y+(Y.h-l),l=Y.y!==B&&B<0?Y.h:l,B=B<0?0:B),T=!0),q&&!N&&(te=(0,a.getAllCollisions)(O,{...Y,w:h,h:l,x:F,y:B}).filter(se=>se.i!==Y.i).length>0,te&&(B=Y.y,l=Y.h,F=Y.x,h=Y.w,T=!1)),Y.w=h,Y.h=l,Y});if(!J)return;I=V,T&&(I=(0,a.moveElement)(V,J,F,B,!0,this.props.preventCollision,(0,a.compactType)(this.props),D,N));const Q={w:J.w,h:J.h,x:J.x,y:J.y,static:!0,i:u};this.props.onResize(I,j,J,Q,m,p),this.setState({layout:N?I:(0,a.compact)(I,(0,a.compactType)(this.props),D),activeDrag:Q})}),b(this,"onResizeStop",(u,h,l,f)=>{let{e:m,node:p}=f;const{layout:g,oldResizeItem:d}=this.state,{cols:j,allowOverlap:O}=this.props,D=(0,a.getLayoutItem)(g,u),q=O?g:(0,a.compact)(g,(0,a.compactType)(this.props),j);this.props.onResizeStop(q,d,D,null,m,p);const{oldLayout:N}=this.state;this.setState({activeDrag:null,layout:q,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(q,N)}),b(this,"onDragOver",u=>{if(u.preventDefault(),u.stopPropagation(),P&&!u.nativeEvent.target?.classList.contains(S))return!1;const{droppingItem:h,onDropDragOver:l,margin:f,cols:m,rowHeight:p,maxRows:g,width:d,containerPadding:j,transformScale:O}=this.props,D=l?.(u);if(D===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const q={...h,...D},{layout:N}=this.state,T=u.currentTarget.getBoundingClientRect(),I=u.clientX-T.left,F=u.clientY-T.top,B={left:I/O,top:F/O,e:u};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:V,top:J}=this.state.droppingPosition;(V!=I||J!=F)&&this.setState({droppingPosition:B})}}else{const V={cols:m,margin:f,maxRows:g,rowHeight:p,containerWidth:d,containerPadding:j||f},J=(0,i.calcXY)(V,F,I,q.w,q.h);this.setState({droppingDOMNode:t.createElement("div",{key:q.i}),droppingPosition:B,layout:[...N,{...q,x:J.x,y:J.y,static:!1,isDraggable:!0}]})}}),b(this,"removeDroppingPlaceholder",()=>{const{droppingItem:u,cols:h}=this.props,{layout:l}=this.state,f=(0,a.compact)(l.filter(m=>m.i!==u.i),(0,a.compactType)(this.props),h,this.props.allowOverlap);this.setState({layout:f,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),b(this,"onDragLeave",u=>{u.preventDefault(),u.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),b(this,"onDragEnter",u=>{u.preventDefault(),u.stopPropagation(),this.dragEnterCounter++}),b(this,"onDrop",u=>{u.preventDefault(),u.stopPropagation();const{droppingItem:h}=this.props,{layout:l}=this.state,f=l.find(m=>m.i===h.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(l,f,u)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(u,h){let l;return h.activeDrag?null:(!(0,n.deepEqual)(u.layout,h.propsLayout)||u.compactType!==h.compactType?l=u.layout:(0,a.childrenEqual)(u.children,h.children)||(l=h.layout),l?{layout:(0,a.synchronizeLayoutWithChildren)(l,u.children,u.cols,(0,a.compactType)(u),u.allowOverlap),compactType:u.compactType,children:u.children,propsLayout:u.layout}:null)}shouldComponentUpdate(u,h){return this.props.children!==u.children||!(0,a.fastRGLPropsEqual)(this.props,u,n.deepEqual)||this.state.activeDrag!==h.activeDrag||this.state.mounted!==h.mounted||this.state.droppingPosition!==h.droppingPosition}componentDidUpdate(u,h){if(!this.state.activeDrag){const l=this.state.layout,f=h.layout;this.onLayoutMaybeChanged(l,f)}}containerHeight(){if(!this.props.autoSize)return;const u=(0,a.bottom)(this.state.layout),h=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return u*this.props.rowHeight+(u-1)*this.props.margin[1]+h*2+"px"}onLayoutMaybeChanged(u,h){h||(h=this.state.layout),(0,n.deepEqual)(h,u)||this.props.onLayoutChange(u)}placeholder(){const{activeDrag:u}=this.state;if(!u)return null;const{width:h,cols:l,margin:f,containerPadding:m,rowHeight:p,maxRows:g,useCSSTransforms:d,transformScale:j}=this.props;return t.createElement(s.default,{w:u.w,h:u.h,x:u.x,y:u.y,i:u.i,className:`react-grid-placeholder ${this.state.resizing?"placeholder-resizing":""}`,containerWidth:h,cols:l,margin:f,containerPadding:m||f,maxRows:g,rowHeight:p,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:d,transformScale:j},t.createElement("div",null))}processGridItem(u,h){if(!u||!u.key)return;const l=(0,a.getLayoutItem)(this.state.layout,String(u.key));if(!l)return null;const{width:f,cols:m,margin:p,containerPadding:g,rowHeight:d,maxRows:j,isDraggable:O,isResizable:D,isBounded:q,useCSSTransforms:N,transformScale:T,draggableCancel:I,draggableHandle:F,resizeHandles:B,resizeHandle:V}=this.props,{mounted:J,droppingPosition:Q}=this.state,Y=typeof l.isDraggable=="boolean"?l.isDraggable:!l.static&&O,te=typeof l.isResizable=="boolean"?l.isResizable:!l.static&&D,re=l.resizeHandles||B,se=Y&&q&&l.isBounded!==!1;return t.createElement(s.default,{containerWidth:f,cols:m,margin:p,containerPadding:g||p,maxRows:j,rowHeight:d,cancel:I,handle:F,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:Y,isResizable:te,isBounded:se,useCSSTransforms:N&&J,usePercentages:!J,transformScale:T,w:l.w,h:l.h,x:l.x,y:l.y,i:l.i,minH:l.minH,minW:l.minW,maxH:l.maxH,maxW:l.maxW,static:l.static,droppingPosition:h?Q:void 0,resizeHandles:re,resizeHandle:V},u)}render(){const{className:u,style:h,isDroppable:l,innerRef:f}=this.props,m=(0,r.default)(S,u),p={height:this.containerHeight(),...h};return t.createElement("div",{ref:f,className:m,style:p,onDrop:l?this.onDrop:a.noop,onDragLeave:l?this.onDragLeave:a.noop,onDragEnter:l?this.onDragEnter:a.noop,onDragOver:l?this.onDragOver:a.noop},t.Children.map(this.props.children,g=>this.processGridItem(g)),l&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}};return Ve.default=w,b(w,"displayName","ReactGridLayout"),b(w,"propTypes",o.default),b(w,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:a.noop,onDragStart:a.noop,onDrag:a.noop,onDragStop:a.noop,onResizeStart:a.noop,onResize:a.noop,onResizeStop:a.noop,onDrop:a.noop,onDropDragOver:a.noop}),Ve}var at={},Le={},ys;function wl(){if(ys)return Le;ys=1,Object.defineProperty(Le,"__esModule",{value:!0}),Le.findOrGenerateResponsiveLayout=a,Le.getBreakpointFromWidth=n,Le.getColsFromBreakpoint=r,Le.sortBreakpoints=i;var t=Ke();function n(s,o){const c=i(s);let y=c[0];for(let b=1,C=c.length;b<C;b++){const _=c[b];o>s[_]&&(y=_)}return y}function r(s,o){if(!o[s])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+s+" is missing!");return o[s]}function a(s,o,c,y,b,C){if(s[c])return(0,t.cloneLayout)(s[c]);let _=s[y];const S=i(o),P=S.slice(S.indexOf(c));for(let w=0,v=P.length;w<v;w++){const u=P[w];if(s[u]){_=s[u];break}}return _=(0,t.cloneLayout)(_||[]),(0,t.compact)((0,t.correctBounds)(_,{cols:b}),C,b)}function i(s){return Object.keys(s).sort(function(c,y){return s[c]-s[y]})}return Le}var bs;function Ju(){if(bs)return at;bs=1,Object.defineProperty(at,"__esModule",{value:!0}),at.default=void 0;var t=c(pe()),n=o(Te()),r=qa(),a=Ke(),i=wl(),s=o(_l());function o(v){return v&&v.__esModule?v:{default:v}}function c(v,u){if(typeof WeakMap=="function")var h=new WeakMap,l=new WeakMap;return(c=function(f,m){if(!m&&f&&f.__esModule)return f;var p,g,d={__proto__:null,default:f};if(f===null||typeof f!="object"&&typeof f!="function")return d;if(p=m?l:h){if(p.has(f))return p.get(f);p.set(f,d)}for(const j in f)j!=="default"&&{}.hasOwnProperty.call(f,j)&&((g=(p=Object.defineProperty)&&Object.getOwnPropertyDescriptor(f,j))&&(g.get||g.set)?p(d,j,g):d[j]=f[j]);return d})(v,u)}function y(){return y=Object.assign?Object.assign.bind():function(v){for(var u=1;u<arguments.length;u++){var h=arguments[u];for(var l in h)({}).hasOwnProperty.call(h,l)&&(v[l]=h[l])}return v},y.apply(null,arguments)}function b(v,u,h){return(u=C(u))in v?Object.defineProperty(v,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):v[u]=h,v}function C(v){var u=_(v,"string");return typeof u=="symbol"?u:u+""}function _(v,u){if(typeof v!="object"||!v)return v;var h=v[Symbol.toPrimitive];if(h!==void 0){var l=h.call(v,u);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(v)}const S=v=>Object.prototype.toString.call(v);function P(v,u){return v==null?null:Array.isArray(v)?v:v[u]}let w=class extends t.Component{constructor(){super(...arguments),b(this,"state",this.generateInitialState()),b(this,"onLayoutChange",u=>{this.props.onLayoutChange(u,{...this.props.layouts,[this.state.breakpoint]:u})})}generateInitialState(){const{width:u,breakpoints:h,layouts:l,cols:f}=this.props,m=(0,i.getBreakpointFromWidth)(h,u),p=(0,i.getColsFromBreakpoint)(m,f),g=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,i.findOrGenerateResponsiveLayout)(l,h,m,m,p,g),breakpoint:m,cols:p}}static getDerivedStateFromProps(u,h){if(!(0,r.deepEqual)(u.layouts,h.layouts)){const{breakpoint:l,cols:f}=h;return{layout:(0,i.findOrGenerateResponsiveLayout)(u.layouts,u.breakpoints,l,l,f,u.compactType),layouts:u.layouts}}return null}componentDidUpdate(u){(this.props.width!=u.width||this.props.breakpoint!==u.breakpoint||!(0,r.deepEqual)(this.props.breakpoints,u.breakpoints)||!(0,r.deepEqual)(this.props.cols,u.cols))&&this.onWidthChange(u)}onWidthChange(u){const{breakpoints:h,cols:l,layouts:f,compactType:m}=this.props,p=this.props.breakpoint||(0,i.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),g=this.state.breakpoint,d=(0,i.getColsFromBreakpoint)(p,l),j={...f};if(g!==p||u.breakpoints!==h||u.cols!==l){g in j||(j[g]=(0,a.cloneLayout)(this.state.layout));let q=(0,i.findOrGenerateResponsiveLayout)(j,h,p,g,d,m);q=(0,a.synchronizeLayoutWithChildren)(q,this.props.children,d,m,this.props.allowOverlap),j[p]=q,this.props.onBreakpointChange(p,d),this.props.onLayoutChange(q,j),this.setState({breakpoint:p,layout:q,cols:d})}const O=P(this.props.margin,p),D=P(this.props.containerPadding,p);this.props.onWidthChange(this.props.width,O,d,D)}render(){const{breakpoint:u,breakpoints:h,cols:l,layouts:f,margin:m,containerPadding:p,onBreakpointChange:g,onLayoutChange:d,onWidthChange:j,...O}=this.props;return t.createElement(s.default,y({},O,{margin:P(m,this.state.breakpoint),containerPadding:P(p,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}};return at.default=w,b(w,"propTypes",{breakpoint:n.default.string,breakpoints:n.default.object,allowOverlap:n.default.bool,cols:n.default.object,margin:n.default.oneOfType([n.default.array,n.default.object]),containerPadding:n.default.oneOfType([n.default.array,n.default.object]),layouts(v,u){if(S(v[u])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+S(v[u]));Object.keys(v[u]).forEach(h=>{if(!(h in v.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,a.validateLayout)(v.layouts[h],"layouts."+h)})},width:n.default.number.isRequired,onBreakpointChange:n.default.func,onLayoutChange:n.default.func,onWidthChange:n.default.func}),b(w,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:a.noop,onLayoutChange:a.noop,onWidthChange:a.noop}),at}var gt={},jl=(function(){if(typeof Map<"u")return Map;function t(n,r){var a=-1;return n.some(function(i,s){return i[0]===r?(a=s,!0):!1}),a}return(function(){function n(){this.__entries__=[]}return Object.defineProperty(n.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),n.prototype.get=function(r){var a=t(this.__entries__,r),i=this.__entries__[a];return i&&i[1]},n.prototype.set=function(r,a){var i=t(this.__entries__,r);~i?this.__entries__[i][1]=a:this.__entries__.push([r,a])},n.prototype.delete=function(r){var a=this.__entries__,i=t(a,r);~i&&a.splice(i,1)},n.prototype.has=function(r){return!!~t(this.__entries__,r)},n.prototype.clear=function(){this.__entries__.splice(0)},n.prototype.forEach=function(r,a){a===void 0&&(a=null);for(var i=0,s=this.__entries__;i<s.length;i++){var o=s[i];r.call(a,o[1],o[0])}},n})()})(),xa=typeof window<"u"&&typeof document<"u"&&window.document===document,St=(function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()})(),Zu=(function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(St):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}})(),Qu=2;function ec(t,n){var r=!1,a=!1,i=0;function s(){r&&(r=!1,t()),a&&c()}function o(){Zu(s)}function c(){var y=Date.now();if(r){if(y-i<Qu)return;a=!0}else r=!0,a=!1,setTimeout(o,n);i=y}return c}var tc=20,rc=["top","right","bottom","left","width","height","size","weight"],nc=typeof MutationObserver<"u",ac=(function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=ec(this.refresh.bind(this),tc)}return t.prototype.addObserver=function(n){~this.observers_.indexOf(n)||this.observers_.push(n),this.connected_||this.connect_()},t.prototype.removeObserver=function(n){var r=this.observers_,a=r.indexOf(n);~a&&r.splice(a,1),!r.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){var n=this.updateObservers_();n&&this.refresh()},t.prototype.updateObservers_=function(){var n=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return n.forEach(function(r){return r.broadcastActive()}),n.length>0},t.prototype.connect_=function(){!xa||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),nc?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!xa||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(n){var r=n.propertyName,a=r===void 0?"":r,i=rc.some(function(s){return!!~a.indexOf(s)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t})(),Sl=(function(t,n){for(var r=0,a=Object.keys(n);r<a.length;r++){var i=a[r];Object.defineProperty(t,i,{value:n[i],enumerable:!1,writable:!1,configurable:!0})}return t}),Ye=(function(t){var n=t&&t.ownerDocument&&t.ownerDocument.defaultView;return n||St}),Rl=Mt(0,0,0,0);function Rt(t){return parseFloat(t)||0}function xs(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return n.reduce(function(a,i){var s=t["border-"+i+"-width"];return a+Rt(s)},0)}function sc(t){for(var n=["top","right","bottom","left"],r={},a=0,i=n;a<i.length;a++){var s=i[a],o=t["padding-"+s];r[s]=Rt(o)}return r}function ic(t){var n=t.getBBox();return Mt(0,0,n.width,n.height)}function oc(t){var n=t.clientWidth,r=t.clientHeight;if(!n&&!r)return Rl;var a=Ye(t).getComputedStyle(t),i=sc(a),s=i.left+i.right,o=i.top+i.bottom,c=Rt(a.width),y=Rt(a.height);if(a.boxSizing==="border-box"&&(Math.round(c+s)!==n&&(c-=xs(a,"left","right")+s),Math.round(y+o)!==r&&(y-=xs(a,"top","bottom")+o)),!uc(t)){var b=Math.round(c+s)-n,C=Math.round(y+o)-r;Math.abs(b)!==1&&(c-=b),Math.abs(C)!==1&&(y-=C)}return Mt(i.left,i.top,c,y)}var lc=(function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof Ye(t).SVGGraphicsElement}:function(t){return t instanceof Ye(t).SVGElement&&typeof t.getBBox=="function"}})();function uc(t){return t===Ye(t).document.documentElement}function cc(t){return xa?lc(t)?ic(t):oc(t):Rl}function dc(t){var n=t.x,r=t.y,a=t.width,i=t.height,s=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,o=Object.create(s.prototype);return Sl(o,{x:n,y:r,width:a,height:i,top:r,right:n+a,bottom:i+r,left:n}),o}function Mt(t,n,r,a){return{x:t,y:n,width:r,height:a}}var hc=(function(){function t(n){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Mt(0,0,0,0),this.target=n}return t.prototype.isActive=function(){var n=cc(this.target);return this.contentRect_=n,n.width!==this.broadcastWidth||n.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var n=this.contentRect_;return this.broadcastWidth=n.width,this.broadcastHeight=n.height,n},t})(),fc=(function(){function t(n,r){var a=dc(r);Sl(this,{target:n,contentRect:a})}return t})(),pc=(function(){function t(n,r,a){if(this.activeObservations_=[],this.observations_=new jl,typeof n!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=n,this.controller_=r,this.callbackCtx_=a}return t.prototype.observe=function(n){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(n instanceof Ye(n).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(n)||(r.set(n,new hc(n)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(n){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(n instanceof Ye(n).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(n)&&(r.delete(n),r.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var n=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&n.activeObservations_.push(r)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var n=this.callbackCtx_,r=this.activeObservations_.map(function(a){return new fc(a.target,a.broadcastRect())});this.callback_.call(n,r,n),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t})(),Cl=typeof WeakMap<"u"?new WeakMap:new jl,Pl=(function(){function t(n){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ac.getInstance(),a=new pc(n,r,this);Cl.set(this,a)}return t})();["observe","unobserve","disconnect"].forEach(function(t){Pl.prototype[t]=function(){var n;return(n=Cl.get(this))[t].apply(n,arguments)}});var gc=(function(){return typeof St.ResizeObserver<"u"?St.ResizeObserver:Pl})();const mc=Object.freeze(Object.defineProperty({__proto__:null,default:gc},Symbol.toStringTag,{value:"Module"})),vc=Ou(mc);var _s;function yc(){if(_s)return gt;_s=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=_;var t=s(pe()),n=i(Te()),r=i(vc),a=i(Nt());function i(S){return S&&S.__esModule?S:{default:S}}function s(S,P){if(typeof WeakMap=="function")var w=new WeakMap,v=new WeakMap;return(s=function(u,h){if(!h&&u&&u.__esModule)return u;var l,f,m={__proto__:null,default:u};if(u===null||typeof u!="object"&&typeof u!="function")return m;if(l=h?v:w){if(l.has(u))return l.get(u);l.set(u,m)}for(const p in u)p!=="default"&&{}.hasOwnProperty.call(u,p)&&((f=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(u,p))&&(f.get||f.set)?l(m,p,f):m[p]=u[p]);return m})(S,P)}function o(){return o=Object.assign?Object.assign.bind():function(S){for(var P=1;P<arguments.length;P++){var w=arguments[P];for(var v in w)({}).hasOwnProperty.call(w,v)&&(S[v]=w[v])}return S},o.apply(null,arguments)}function c(S,P,w){return(P=y(P))in S?Object.defineProperty(S,P,{value:w,enumerable:!0,configurable:!0,writable:!0}):S[P]=w,S}function y(S){var P=b(S,"string");return typeof P=="symbol"?P:P+""}function b(S,P){if(typeof S!="object"||!S)return S;var w=S[Symbol.toPrimitive];if(w!==void 0){var v=w.call(S,P);if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(P==="string"?String:Number)(S)}const C="react-grid-layout";function _(S){var P;return P=class extends t.Component{constructor(){super(...arguments),c(this,"state",{width:1280}),c(this,"elementRef",t.createRef()),c(this,"mounted",!1),c(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new r.default(u=>{if(this.elementRef.current instanceof HTMLElement){const l=u[0].contentRect.width;this.setState({width:l})}});const v=this.elementRef.current;v instanceof HTMLElement&&this.resizeObserver.observe(v)}componentWillUnmount(){this.mounted=!1;const v=this.elementRef.current;v instanceof HTMLElement&&this.resizeObserver.unobserve(v),this.resizeObserver.disconnect()}render(){const{measureBeforeMount:v,...u}=this.props;return v&&!this.mounted?t.createElement("div",{className:(0,a.default)(this.props.className,C),style:this.props.style,ref:this.elementRef}):t.createElement(S,o({innerRef:this.elementRef},u,this.state))}},c(P,"defaultProps",{measureBeforeMount:!1}),c(P,"propTypes",{measureBeforeMount:n.default.bool}),P}return gt}var ws;function bc(){return ws||(ws=1,(function(t){t.exports=_l().default,t.exports.utils=Ke(),t.exports.calculateUtils=Da(),t.exports.Responsive=Ju().default,t.exports.Responsive.utils=wl(),t.exports.WidthProvider=yc().default})(Ut)),Ut.exports}var xc=bc();const _c=Ca(xc),wc=()=>{const[t,n]=M.useState([]),[r,a]=M.useState(""),i=M.useRef(null),s=()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)};M.useEffect(()=>{const c=y=>{n(b=>{const C=[...b,y];return C.length>50?C.slice(C.length-50):C})};return Pe.on("chat",c),$e("subscribe","chat"),X("chat.recent").then(y=>{n(y.reverse())}),()=>{Pe.off("chat",c),$e("unsubscribe","chat")}},[]),M.useLayoutEffect(()=>{s()},[t]);const o=c=>{c.preventDefault(),!(r.length>140||r.length===0)&&(Jo("chat",r),a(""))};return e.jsxs("div",{className:"chat-widget",children:[e.jsx(ye,{className:"messages",ref:i,children:e.jsx("div",{className:"messages-child",children:t.map(c=>e.jsxs("div",{className:"log-entry",children:[c.action==="msg"&&e.jsxs("div",{className:"chat-message",children:[c.user?.web?"[":"",e.jsx(Bt,{color:!0,user:c.user}),c.user?.web?"]":"",":"," ",e.jsx(Wa,{as:"span",children:c.message})]}),c.action==="leave"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Bt,{user:c.user})," left the game."]}),c.action==="join"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Bt,{user:c.user})," joined the game",c.user?.isFirst?" for the first time":"","."]}),c.action==="server"&&e.jsx(Wa,{as:"div",className:"server-message",children:c.message})]},c._id))})}),e.jsx("form",{onSubmit:o,children:e.jsxs(Ie,{children:[e.jsx(ie,{roboto:!0,type:"text",placeholder:"Message",value:r,onChange:c=>a(c)}),e.jsx(H,{normal:!0,icon:!0,style:{marginLeft:"10px"},onClick:o,children:e.jsx(cu,{})})]})})]})},jc=()=>{const[t,n]=M.useState(null);return M.useEffect(()=>(Pe.on("server.status",n),$e("subscribe","status"),X("server.status").then(n),()=>{Pe.off("server.status",n),$e("unsubscribe","status")}),[]),e.jsxs("div",{className:"status-widget",children:[t?.players&&e.jsx(ye,{className:"players",children:e.jsxs("div",{className:"players-child",children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Name:"})," ",t.serverName]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Uptime:"})," ",de(t.time)]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Bricks:"})," ",t.bricks]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Players:"})," ",t.players.length]})]}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},children:"Name"}),e.jsx("th",{children:"Time"}),e.jsx("th",{children:"Ping"})]})}),e.jsx("tbody",{children:t.players.map(r=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx(ut,{className:"user",to:"/players/"+r.id,children:r.name})}),e.jsx("td",{style:{textAlign:"right"},children:de(r.time)}),e.jsx("td",{style:{textAlign:"right"},children:r.ping})]},r.address+r.id))})]})]})}),!t?.players&&e.jsx(fe,{blur:!0,size:"huge",children:"Loading Status"})]})},Vt={chat:{component:wc,icon:hu,tooltip:"Chat with online players"},status:{component:jc,icon:Eu,tooltip:"View current online players and server status"}},js=[{x:0,y:0,w:2,h:2,i:"chat"},{x:2,y:0,w:2,h:2,i:"status"}],Sc={minW:2,maxW:10,minH:2,maxH:10},Rc=[8,8],Cc=()=>{const[t,n]=M.useState(()=>{if(localStorage.omeggaDashLayout2)try{return JSON.parse(localStorage.omeggaDashLayout2)}catch(_){return console.error("Invalid layout in localStorage, using default layout",_),js}return js});M.useEffect(()=>{localStorage.omeggaDashLayout2=JSON.stringify(t)},[t]);const r=_=>{n(t.filter(S=>S.i!==_))},a=_=>{_ in Vt&&n([...t,{x:0,y:0,w:2,h:2,i:_}])},[i,s]=M.useState(!1),o=Object.fromEntries(t.map(_=>[_.i,!0])),c=M.useCallback(_=>{n(_)},[]),y=M.useRef(null),[b,C]=M.useState(null);return M.useEffect(()=>{y.current&&C(y.current.clientWidth);const _=new ResizeObserver(S=>{for(const P of S)P.target===y.current&&C(P.contentRect.width)});return y.current&&_.observe(y.current),()=>{_.disconnect()}},[y.current]),e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Dashboard",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(H,{normal:!0,boxy:!0,"data-tooltip":"Add more widgets to the dashboard",onClick:()=>s(!i),children:[e.jsx(du,{}),"Widgets"]}),e.jsx("div",{className:"widgets-list",style:{display:i?"block":"none"},children:Object.entries(Vt).map(([_,S])=>e.jsxs("div",{className:"widget-item",children:[e.jsxs("div",{className:"name","data-tooltip":S.tooltip,children:[e.jsx(S.icon,{}),_]}),o[_]?e.jsx(H,{warn:!0,icon:!0,"data-tooltip":`Remove ${_} widget`,onClick:()=>r(_),children:e.jsx(dl,{})}):e.jsx(H,{main:!0,icon:!0,"data-tooltip":`Add ${_} widget`,onClick:()=>a(_),children:e.jsx(_t,{})})]},_))})]})}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsx("div",{className:"grid-container",ref:y,children:b!==null&&e.jsx(_c,{layout:t.map(_=>({..._,...Sc})),width:b,cols:10,autoSize:!0,useCSSTransforms:!0,rowHeight:100,isBounded:!0,isResizable:!0,isDraggable:!0,margin:Rc,onLayoutChange:c,draggableHandle:".drag-handle",draggableCancel:".no-drag",resizeHandles:["se"],resizeHandle:e.jsx(fu,{style:{cursor:"se-resize"},className:"resize-handle"}),children:t.map(_=>{const S=Vt[_.i].component;return e.jsxs("div",{className:"grid-item",children:[e.jsxs(Sa,{className:"drag-handle",children:[e.jsx("span",{style:{flex:1},children:_.i}),e.jsx(H,{icon:!0,error:!0,className:"no-drag","data-tooltip":"Close widget",onClick:()=>r(_.i),children:e.jsx(ct,{})})]}),e.jsx("div",{className:"drag-contents",children:e.jsx(S,{})})]},_.i)})})})]})]})},Ss={"Minute(s)":1,"Hour(s)":60,"Day(s)":1440,"Week(s)":1440*7,"Month(s)":1440*30},Pc=["Permanent","Minute(s)","Hour(s)","Day(s)","Week(s)","Month(s)"],qc=()=>{const[t,n]=Ee("/players/:id"),[r,a]=Ct(),[i,s]=M.useState(null),[o,c]=M.useState(null),[y,b]=M.useState(!1),[C,_]=M.useState(""),[S,P]=M.useState(10),[w,v]=M.useState("Permanent"),[u,h]=M.useState(!0),[l,f]=M.useState(!1),m=M.useCallback(async()=>{if(!n?.id)return;h(!0);const D=await X("player.get",n.id);if(!D)return a("/players");c(D),h(!1)},[n?.id]);M.useEffect(()=>{m()},[m]);const p=async()=>{if(!o.id)return;f(!0);const D=w==="Permanent"?-1:S*Ss[w];try{await X("player.ban",o.id,D,C)}catch(q){console.error("Failed to ban player:",q)}s(null),m(),f(!1)},g=async()=>{if(o.id){f(!0);try{await X("player.kick",o.id,C)}catch(D){console.error("Failed to kick player:",D)}s(null),m(),f(!1)}},d=async()=>{if(o.id){f(!0);try{await X("player.unban",o.id)}catch(D){console.error("Failed to unban player:",D)}m(),f(!1)}},j=async()=>{if(o.id){f(!0);try{await X("player.clearbricks",o.id)}catch(D){console.error("Failed to clear bricks:",D)}f(!1),s(null)}},O=M.useMemo(()=>w==="Permanent"?"Never":su(Date.now()+Ss[w]*60*1e3*S),[w,S]);return e.jsxs("div",{className:"player-inspector-container",children:[e.jsxs(ve,{attached:!0,children:[o?.name||"SELECT A PLAYER",e.jsx("span",{style:{flex:1}}),o&&e.jsxs("div",{className:"widgets-container",children:[e.jsxs(H,{normal:!0,boxy:!0,onClick:()=>b(!y),children:[y?e.jsx(nl,{}):e.jsx(hl,{}),"User Actions"]}),e.jsxs("div",{className:"widgets-list",style:{display:y?"block":"none"},children:[e.jsxs(H,{boxy:!0,warn:!0,disabled:l,onClick:()=>{s("clear"),b(!1)},children:[e.jsx(Ba,{}),"Clear Bricks"]}),!o.isHost&&o.isOnline&&e.jsxs(H,{boxy:!0,error:!0,disabled:l,onClick:()=>{s("kick"),b(!1)},children:[e.jsx($a,{}),"Kick"]}),o.currentBan&&e.jsxs(H,{boxy:!0,warn:!0,disabled:l,onClick:()=>{d(),b(!1)},children:[e.jsx(pu,{}),"Unban"]}),!o.isHost&&e.jsxs(H,{boxy:!0,error:!0,disabled:l,onClick:()=>{s("ban"),b(!1)},children:[e.jsx(yt,{}),"Ban"]})]})]})]}),e.jsx("div",{className:"player-inspector",children:e.jsxs("div",{className:"player-view",children:[e.jsx(fe,{active:u,size:"huge",children:"Loading Player"}),e.jsx("div",{className:"player-info",children:!u&&o&&e.jsxs(ye,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Profile:"})," ",e.jsx("a",{href:"https://brickadia.com/users/"+o.id,target:"_blank",children:o.name})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Display Name:"})," ",o.displayName??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Host:"})," ",o.isHost?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Banned:"})," ",o.currentBan&&o.currentBan.duration<=0?e.jsx("span",{children:"Permanent"}):o.currentBan?e.jsxs("span",{children:[de(o.currentBan.remainingTime)," of"," ",de(o.currentBan.duration)," remaining"]}):e.jsx("span",{children:"No"})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of status heartbeats this player has been part of",children:"Time Played:"})," ",tl(o.heartbeats)]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Date player was last seen",children:"Last Seen:"})," ",e.jsxs("span",{"data-tooltip":new Date(o.lastSeen),children:[de(o.seenAgo)," ago"]})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Date player was first seen",children:"First Seen:"})," ",e.jsxs("span",{"data-tooltip":new Date(o.created),children:[de(o.createdAgo)," ago"]})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of times this player has visited the server (new visits are registered if the player joins 3 hours after last seen)",children:"Visits:"})," ",o.sessions]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of server instances this player has joined",children:"Server Visits:"})," ",o.instances]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Bans:"})," ",o.banHistory.length]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Roles this player has",children:"Roles"}),e.jsxs("div",{className:"option-list",children:[o.roles.map(D=>e.jsx("div",{className:"option-item",children:e.jsx("div",{className:"option-name",style:{color:"#"+D.color},children:D.name})},D.name)),e.jsx("div",{className:"option-item",children:e.jsx("div",{className:"option-name",style:{color:"white"},children:"Default"})})]}),e.jsx("div",{className:"section-header","data-tooltip":"Names this player has gone by historically",children:"Name History"}),e.jsxs("table",{className:"br-table name-history",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},children:e.jsx("span",{children:"Name"})}),e.jsx("th",{children:"First Seen"})]})}),e.jsx("tbody",{children:o.nameHistory.map(D=>e.jsxs("tr",{children:[e.jsxs("td",{children:[e.jsx("div",{"data-tooltip":D.displayName?"Display Name":"Username",children:D.displayName??D.name}),D.displayName&&e.jsx("div",{"data-tooltip":"Username",className:"username",children:D.name})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.date),children:de(D.ago)})]},D.date+D.name))})]}),e.jsx("div",{className:"section-header","data-tooltip":"Times this player has been banned from the server",children:"Ban History"}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{width:"100%",textAlign:"left"},children:"Reason"}),e.jsx("th",{children:"Length"}),e.jsx("th",{children:"Issuer"}),e.jsx("th",{children:"Date"})]})}),e.jsxs("tbody",{children:[o.banHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),o.banHistory.map(D=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:D.reason}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":"Expires "+new Date(D.expires),children:0>=(D.duration??-1)?"Permanent":de(D.duration)}),e.jsx("td",{children:e.jsx(ut,{to:"/players/"+D.bannerId,children:D.bannerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.created),children:Fa(D.created)})]},D.created))]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Times this player has been booted from the server",children:"Kick History"}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{width:"100%",textAlign:"left"},children:"Reason"}),e.jsx("th",{children:"Issuer"}),e.jsx("th",{children:"Date"})]})}),e.jsxs("tbody",{children:[o.kickHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),o.kickHistory.map(D=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:D.reason}),e.jsx("td",{children:e.jsx(ut,{to:"/players/"+D.kickerId,children:D.kickerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.created),children:Fa(D.created)})]},D.created))]})]})]})})]})}),e.jsxs(Ra,{visible:!!i,children:[e.jsx(fe,{active:l,size:"huge",children:"Running Action..."}),e.jsxs(rl,{visible:!l,children:[e.jsx(Sa,{children:i==="ban"?"Ban Player":i==="kick"?"Kick Player":"Clear Bricks"}),(i==="kick"||i==="ban")&&e.jsxs("div",{className:`popout-inputs ${i}`,children:[e.jsx(ie,{type:"text",placeholder:"Reason",value:C,onChange:_}),i==="ban"&&e.jsxs("div",{className:"ban-duration",style:{display:"flex"},children:[w!=="Permanent"&&e.jsx(ie,{placeholder:"Duration",type:"number",value:S,onChange:P}),e.jsx(_a,{options:Pc,value:w,onChange:D=>v(D)})]})]}),i==="ban"&&e.jsxs(ba,{children:["This ban will expire"," ",e.jsx("span",{style:{color:"white"},children:O}),"."]}),i==="clear"&&e.jsx(ba,{children:e.jsxs("p",{style:{padding:20},children:["Are you sure you want to clear"," ",e.jsx("span",{style:{color:"white"},children:o?.name??"??"}),"'s bricks?"]})}),e.jsxs(Ie,{attached:!0,children:[i==="ban"&&e.jsxs(H,{error:!0,onClick:p,children:[e.jsx(yt,{}),"Ban"]}),i==="clear"&&e.jsxs(H,{warn:!0,onClick:j,children:[e.jsx(Ba,{}),"Clear Bricks"]}),i==="kick"&&e.jsxs(H,{error:!0,onClick:g,children:[e.jsx($a,{}),"Kick"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(H,{normal:!0,onClick:()=>s(null),children:[e.jsx(ct,{}),"Cancel"]})]})]})]})]})},Dc=()=>{const[t,n]=M.useState(0),[r,a]=M.useState(0),[i,s]=M.useState(!0),[o,c]=M.useState(!1),[y,b]=M.useState([]),[C,_]=Ct(),[S,P]=Ee("/players/:id?"),w=M.useRef({page:0,search:"",sort:"lastSeen",direction:-1,filterBanned:!1}),{page:v,search:u,sort:h,direction:l,filterBanned:f}=w.current,[m,p]=M.useState(0),g=T=>{w.current.search=T,q(),p(I=>I+1)},d=T=>{typeof T=="function"&&(T=T(w.current.page)),w.current.page=T,D()},j=T=>{typeof T=="function"&&(T=T(w.current.direction)),w.current.direction=T},O=T=>{w.current.filterBanned=T,q()},D=M.useCallback(async()=>{s(!0);const{page:T,search:I,sort:F,direction:B,filterBanned:V}=w.current,{players:J,total:Q,pages:Y}=await X("players.list",{page:T,search:I,sort:F,direction:B,filter:V?"banned":""});n(Y),a(Q),b(J),s(!1)},[]);M.useEffect(()=>{D()},[]);const q=M.useMemo(()=>wa(()=>{w.current.page=0,D()},500),[]),N=T=>{T==h?j(I=>I*-1):(w.current.sort=T,j(T==="name"?1:-1)),D()};return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Players",className:"players-view",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(H,{normal:!0,boxy:!0,"data-tooltip":"Player list filters",onClick:()=>c(T=>!T),children:[e.jsx(gu,{}),"Filters"]}),e.jsx("div",{className:"widgets-list",style:{display:o?"block":"none"},children:e.jsxs("div",{className:"widget-item","data-tooltip":"Filter by banned players",children:[e.jsxs("div",{className:"name",children:[e.jsx(yt,{}),"Banned"]}),e.jsx(we,{onChange:O,value:f})]})})]})}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(ve,{attached:!0,children:[e.jsx(ie,{type:"text",placeholder:"Search Players...",value:u,onChange:g}),e.jsx("span",{style:{flex:1}}),e.jsx(H,{icon:!0,normal:!0,"data-tooltip":"Refresh player list",onClick:D,children:e.jsx(Et,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(ye,{children:e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},onClick:()=>N("name"),children:e.jsxs("span",{children:["Name",e.jsx(le,{name:"name",sort:h,direction:l})]})}),e.jsx("th",{onClick:()=>N("heartbeats"),"data-tooltip":"Number of heartbeats the player has been part of (minutely)",children:e.jsxs("span",{children:["Played",e.jsx(le,{name:"heartbeats",sort:h,direction:l})]})}),e.jsx("th",{onClick:()=>N("lastSeen"),"data-tooltip":"When the player was last seen",children:e.jsxs("span",{children:["Seen",e.jsx(le,{name:"lastSeen",sort:h,direction:l})]})}),e.jsx("th",{onClick:()=>N("created"),"data-tooltip":"When the player joined",children:e.jsxs("span",{children:["Joined",e.jsx(le,{name:"created",sort:h,direction:l})]})}),e.jsx("th",{onClick:()=>N("sessions"),"data-tooltip":"Number of Visits",children:e.jsxs("span",{className:"icon-cell",children:[e.jsx(mu,{className:"label",size:"30"}),e.jsx(le,{name:"sessions",sort:h,direction:l})]})})]})}),e.jsx("tbody",{children:y.map(T=>e.jsxs("tr",{onClick:()=>_(`/players/${T.id}`),className:T.id===P?.id?"active":"",children:[e.jsx("td",{className:`player-name ${T.ban?"ban":""}`,children:e.jsxs("div",{className:"player-name-container",children:[e.jsxs("div",{children:[e.jsx("div",{"data-tooltip":T.displayName?"Display Name":"Username",children:T.displayName??T.name}),T.displayName&&e.jsx("div",{className:"username","data-tooltip":"Username",children:T.name})]}),T.ban&&e.jsx(yt,{size:"18"})]})}),e.jsx("td",{style:{textAlign:"right"},children:tl(T.heartbeats)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.lastSeen),children:de(T.seenAgo)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.created),children:de(T.createdAgo)}),e.jsx("td",{style:{textAlign:"right"},children:T.sessions})]},T.id))})]})}),e.jsxs(Ie,{className:"pagination-footer",children:[e.jsx(H,{icon:!0,normal:!0,disabled:v===0,onClick:()=>{d(0)},children:e.jsx(al,{})}),e.jsx(H,{icon:!0,normal:!0,disabled:v===0,onClick:()=>d(T=>Math.max(0,T-1)),children:e.jsx(vt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",v+1," of ",t]}),e.jsxs("div",{children:["Showing ",y.length," of ",r]})]}),e.jsx(H,{icon:!0,normal:!0,disabled:v>=t-1,onClick:()=>d(T=>Math.min(y.length-1,T+1)),children:e.jsx(xt,{})}),e.jsx(H,{icon:!0,normal:!0,disabled:v>=t-1,onClick:()=>d(y.length-1),children:e.jsx(sl,{})})]}),e.jsx(fe,{active:i,size:"huge",children:"Loading Players"})]})]}),e.jsxs(el,{children:[e.jsx(me,{path:"/players/:id",component:qc}),e.jsx(me,{children:e.jsxs("div",{className:"player-inspector-container","v-if":"!$route.params.id",children:[e.jsx(ve,{attached:!0,children:"SELECT A PLAYER"}),e.jsx("div",{className:"player-inspector"})]})})]})]})]})]})},Oc=(t,n)=>{try{return JSON.stringify(t)===JSON.stringify(n)}catch{return!1}},Ec=()=>{const[t,n]=Ee("/plugins/:id"),[r,a]=M.useState(null),[i,s]=M.useState({}),[o,c]=M.useState(!!r?.path),[y,b]=M.useState(!1),[C,_]=M.useState({}),S=async()=>{if(!n?.id)return;c(!0);const p=await X("plugin.get",n.id);a(p),s(p.config),c(!1)},P=async()=>{n?.id&&(b(!0),await X("plugin.load",n.id),await S(),b(!1))},w=async()=>{n?.id&&(b(!0),await X("plugin.unload",n.id),await S(),b(!1))},v=async()=>{if(!n?.id)return;b(!0),await X("plugin.unload",n.id)&&await X("plugin.load",n.id),await S(),b(!1)},u=async p=>{n?.id&&(b(!0),await X("plugin.toggle",n.id,p),await S(),b(!1))},h=M.useRef(i);h.current=i;const l=M.useRef(r);l.current=r,M.useEffect(()=>{if(!n?.id)return;l.current=null,h.current={},a(null),s({}),S();const p=([g,d])=>{g===r?.path&&a(j=>({...j,...d}))};return Pe.on("plugin",p),()=>{Pe.off("plugin",p)}},[n?.id]);const f=M.useMemo(()=>wa(async()=>{if(!n?.id||!l.current)return;const p={},g=h.current,d=l.current.path;for(const j in l.current?.config??{})l.current?.config[j]!=g[j]&&(p[j]=!0),await X("plugin.config",n?.id,g)&&(_(p),setTimeout(()=>{_({}),a(D=>D?.path===d?{...D,config:g}:D)}))},500),[n?.id]),m=(p,g)=>{!r||!i||(s(d=>({...d,[p]:g})),f())};return e.jsxs("div",{className:"plugin-view",children:[e.jsx(fe,{active:o,size:"huge",children:"Loading Plugin"}),e.jsx("div",{className:"plugin-info",children:!o&&r&&e.jsxs(ye,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin name",children:"Name:"})," ",r.name]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin creator",children:"Author:"})," ",r.documentation?.author??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Description:"})," ",r.documentation?.description??"none"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The folder this plugin runs in",children:"Folder:"})," ",r.path]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The type of plugin this is",children:"Format:"})," ",r.format]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of objects in the plugin's storage",children:"Stored Objects:"})," ",r.objCount]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin can be started",children:"Enabled:"})," ",r.isEnabled?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin is running",children:"Loaded:"})," ",r.isLoaded?"Yes":"No"]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to configure the plugin. Changes take place the next time a plugin is loaded.",children:"Configs"}),e.jsxs("div",{className:"option-list",children:[Object.keys(r.documentation.config??{}).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),Object.entries(r.documentation.config??{}).map(([p,g])=>e.jsx("div",{className:"option-item config",children:e.jsxs("div",{className:"option-input",children:[e.jsxs("div",{className:"option-label","data-tooltip":g.description,children:[p,e.jsxs("span",{className:`saved-note ${C[p]?"show":""}`,children:["SAVED ",e.jsx(Tu,{size:"20"})]})]}),e.jsxs("div",{className:"option-value",children:[["string","password","number"].includes(g.type)&&e.jsx(ie,{type:g.type==="string"?"text":g.type,value:i[p],onChange:d=>m(p,d)}),g.type==="list"&&e.jsx(Yl,{options:"options"in g?g.options:void 0,type:g.itemType,value:i[p],onChange:d=>m(p,d)}),g.type==="players"&&e.jsx(Kl,{value:i[p],onChange:d=>m(p,d)}),g.type==="role"&&e.jsx(Xl,{value:i[p],onChange:d=>m(p,d)}),g.type==="enum"&&e.jsx(_a,{options:g.options,value:i[p],onChange:d=>m(p,d)}),g.type==="boolean"&&e.jsx(we,{value:i[p],onChange:d=>m(p,d)}),!Oc(g.default,i[p])&&e.jsx(vu,{onClick:()=>m(p,g.default),className:"reset-button","data-tooltip":"Reset to default value"})]})]})},p))]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to control the plugin",children:"Commands"}),e.jsxs("div",{className:"option-list",children:[(r.documentation.commands??[]).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),(r.documentation.commands||[]).map(p=>e.jsxs("div",{className:"option-item",children:[e.jsx("div",{className:"option-name","data-tooltip":p.description,children:p.name}),e.jsx("div",{className:"option-args",children:(p.args||[]).map(g=>e.jsx("div",{className:`option-arg ${g.required?"required":""}`,"data-tooltip":(g.required?"(required) ":"")+g.description,children:g.name},g.name))})]},p.name))]})]})}),e.jsxs(Ie,{attached:!0,children:[r?.isEnabled&&!r.isLoaded&&e.jsxs(H,{main:!0,disabled:y,"data-tooltip":"Start the plugin",onClick:()=>P(),children:[e.jsx(bt,{}),"Load"]}),r?.isEnabled&&r.isLoaded&&e.jsxs(H,{warn:!0,"data-tooltip":"Stop, then start the plugin",disabled:y,onClick:()=>v(),children:[e.jsx(il,{}),"Reload"]}),e.jsx("span",{style:{flex:1}}),r?.isEnabled&&r.isLoaded&&e.jsxs(H,{error:!0,disabled:y,"data-tooltip":"Stop the plugin",onClick:()=>w(),children:[e.jsx(ol,{}),"Unload"]}),r&&!r?.isEnabled&&e.jsxs(H,{main:!0,"data-tooltip":"Allow the plugin to be started",disabled:y,onClick:()=>u(!0),children:[e.jsx(_t,{}),"Enable"]}),r?.isEnabled&&!r.isLoaded&&e.jsxs(H,{error:!0,"data-tooltip":"Prevent the plugin from being started",disabled:y,onClick:()=>u(!1),children:[e.jsx(dl,{}),"Disable"]})]})]})},Rs=t=>{const n=(t.isLoaded?2:0)+(t.isEnabled?1:0),r=["disabled","broken","bugged","running"][n],a=["Plugin is disabled","Plugin is enabled but not running","Plugin is running but not enabled","Plugin is running"][n],i=[bu,xu,_u,wu][n];return{...t,state:n,status:r,tooltip:a,icon:i}},Nc=()=>{const[t,n]=M.useState(""),[r,a]=M.useState(!0),[i,s]=M.useState(!1),[o,c]=M.useState([]),[y,b]=Ee("/plugins/:id?"),C=M.useMemo(()=>o.find(w=>w.path===b?.id)?.name??"SELECT A PLUGIN",[o,b?.id]),_=async()=>{a(!0);const w=await X("plugins.list");c(w.map(Rs)),a(!1)},S=async()=>{s(!0),await X("plugins.reload"),s(!1)},P=w=>w.name.toLowerCase().includes(t.toLowerCase());return M.useEffect(()=>{const w=([v,u])=>{const h=Rs(u);c(l=>l.map(f=>f.path===v?{...f,...h}:f))};return Pe.on("plugin",w),$e("subscribe","plugins"),_(),()=>{Pe.off("plugin",w),$e("unsubscribe","plugins")}},[]),e.jsxs(e.Fragment,{children:[e.jsxs(qe,{title:"Plugins",children:[e.jsx("span",{style:{flex:1}}),e.jsxs(H,{warn:!0,disabled:i,onClick:S,"data-tooltip":"Reload all plugins, this may clear current plugin progress",children:[e.jsx(yu,{}),"Reload Plugins"]})]}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsxs("div",{className:"generic-container plugins-container",children:[e.jsxs("div",{className:"plugins-list-container",children:[e.jsxs(ve,{children:[e.jsx(ie,{type:"text",placeholder:"Search Plugins...",value:t,onChange:w=>n(w)}),e.jsx("span",{style:{flex:1}}),e.jsx(H,{icon:!0,normal:!0,"data-tooltip":"Refresh plugin list",onClick:_,children:e.jsx(Et,{})})]}),e.jsxs("div",{className:"plugins-list",children:[e.jsx(ye,{children:o.map(w=>P(w)&&e.jsxs(ut,{href:"/plugins/"+w.path,"data-tooltip":w.documentation?.description,className:`plugin-item ${b?.id===w.path?"selected":""}`,children:[e.jsx(w.icon,{className:w.status,"data-tooltip":w.tooltip}),w.name]},w.path))}),e.jsx(fe,{active:r,size:"huge",children:"Loading Plugins"})]})]}),e.jsxs("div",{className:"plugin-inspector-container",children:[e.jsx(ve,{attached:!0,children:C}),e.jsx("div",{className:"plugin-inspector",children:e.jsx(Ec,{})})]})]})]})]})},Tc=()=>{const{started:t,stopping:n,starting:r,loading:a}=Zo(),i=mt(),[s,o]=M.useState(null),c=Ce(Qo),[y,b]=M.useState(c?.update?.lastCheck??null);M.useEffect(()=>{b(c?.update?.lastCheck??null)},[c?.update?.lastCheck]);const[C,_]=M.useState(!1),[S,P]=M.useState(!1);M.useEffect(()=>{X("server.autorestart.get").then(o)},[]);const w=c?.update?.canCheck??!1,v=M.useCallback(()=>{w&&(_(!0),X("server.updatecheck").then(m=>{b(m),_(!1)}))},[w]),u=M.useCallback(async()=>{if(!s)return;const m={type:"autoRestartConfig",maxUptime:Math.round(Math.max(1,Math.min(s.maxUptime,168))),maxUptimeEnabled:s.maxUptimeEnabled,emptyUptime:Math.round(Math.max(1,Math.min(s.emptyUptime,168))),emptyUptimeEnabled:s.emptyUptimeEnabled,dailyHour:Math.round(Math.max(0,Math.min(s.dailyHour,23))),dailyHourEnabled:s.dailyHourEnabled,announcementEnabled:s.announcementEnabled,playersEnabled:s.playersEnabled,saveWorld:s.saveWorld,autoUpdateEnabled:s.autoUpdateEnabled??!0,autoUpdateIntervalMins:Math.round(Math.max(10,Math.min(s.autoUpdateIntervalMins??60,1/0)))};Jo("server.autorestart.set",m)},[s]),h=async()=>{P(!0),await X("world.save"),P(!1)},l=Mu(u),f=m=>p=>{s&&(o(g=>({...g,[m]:p})),l.fire())};return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Server",children:c?.isSteam&&w!==null&&e.jsx(H,{main:!!y,normal:!y,"data-tooltip":"Check for updates",disabled:C,onClick:v,children:y===!0?e.jsxs(e.Fragment,{children:[e.jsx(ju,{}),"Update Available"]}):e.jsxs(e.Fragment,{children:[e.jsx(Su,{}),"Check for Update"]})})}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsxs("div",{className:"generic-container server-container",children:[e.jsxs(ve,{children:["Server Status:"," ",r?"starting":n?"stopping":t?"started":"stopped"]}),e.jsxs("div",{className:"buttons",children:[e.jsxs(H,{main:!0,"data-tooltip":"Start the server",disabled:r||n||a||t,onClick:()=>i.prompt("start the server").then(m=>m&&Vl()),children:[e.jsx(bt,{}),"Start"]}),e.jsxs(H,{error:!0,"data-tooltip":"Stop the server",disabled:r||n||a||!t,onClick:()=>i.prompt("stop the server").then(m=>m&&Jl()),children:[e.jsx(ol,{}),"Stop"]}),e.jsxs(H,{warn:!0,"data-tooltip":"Reloads the server's world. Saves minigames/environment/bricks if 'Save World' is enabled below.",disabled:r||n||a,onClick:()=>i.prompt("restart the server").then(m=>m&&Zl()),children:[e.jsx(il,{}),"Restart"]}),e.jsxs(H,{info:!0,"data-tooltip":"Save the current world.",disabled:r||n||a||S,onClick:h,children:[e.jsx(ll,{}),"Save World"]}),c?.isSteam&&e.jsxs(H,{normal:!y,main:y===!0,"data-tooltip":`Stop and update the server even if there are no updates available.
4
+
5
+ Does not save the world or player locations.`,disabled:r||n||a,onClick:()=>i.prompt("update the server").then(m=>m&&Ql()),children:[e.jsx(Ru,{}),"Update"]})]}),e.jsxs(ve,{attached:!0,style:{marginTop:8},children:["Auto Restart",e.jsx(Au,{show:l.status===ku.Waiting})]}),s&&e.jsxs("div",{className:"inputs-list",children:[e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled on servers setup with SteamCMD, automatically updates the server when a new version is available",children:[e.jsxs("label",{children:["Auto Update",w?"":" (Feature requires SteamCMD)"]}),e.jsxs("div",{className:"inputs",children:[e.jsx(we,{tooltip:"Enabled",value:s.autoUpdateEnabled,onChange:f("autoUpdateEnabled")}),e.jsx(ie,{type:"number",placeholder:"Minutes",tooltip:"Interval in minutes to check for updates (min 10)",value:s.autoUpdateIntervalMins,onChange:f("autoUpdateIntervalMins")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"How many hours before restarting regardless of online players",children:[e.jsx("label",{children:"Max Server Uptime (Hours)"}),e.jsxs("div",{className:"inputs",children:[e.jsx(we,{tooltip:"Enabled",value:s.maxUptimeEnabled,onChange:f("maxUptimeEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:s.maxUptime,onChange:f("maxUptime")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"How many hours before restarting when no players are online",children:[e.jsx("label",{children:"Empty Server Lifetime (Hours)"}),e.jsxs("div",{className:"inputs",children:[e.jsx(we,{tooltip:"Enabled",value:s.emptyUptimeEnabled,onChange:f("emptyUptimeEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:s.emptyUptime,onChange:f("emptyUptime")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"Restart every day at a certain hour",children:[e.jsx("label",{children:"Daily at a Specific Hour"}),e.jsxs("div",{className:"inputs",children:[e.jsx(we,{tooltip:"Enabled",value:s.dailyHourEnabled,onChange:f("dailyHourEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hour",tooltip:"Hour (0 = 12am, 13 = 1pm)",value:s.dailyHour,onChange:f("dailyHour")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, announces auto restart",children:[e.jsx("label",{children:"Restart Announcement"}),e.jsx("div",{className:"inputs",children:e.jsx(we,{tooltip:"Enabled",value:s.announcementEnabled,onChange:f("announcementEnabled")})})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, reconnects players at their previous positions",children:[e.jsx("label",{children:"Reload Players"}),e.jsx("div",{className:"inputs",children:e.jsx(we,{tooltip:"Enabled",value:s.playersEnabled,onChange:f("playersEnabled")})})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, saves the current world. The default world will be loaded on restart",children:[e.jsx("label",{children:"Save World"}),e.jsx("div",{className:"inputs",children:e.jsx(we,{tooltip:"Enabled",value:s.saveWorld??!0,onChange:f("saveWorld")})})]})]}),i.children]})]})]})},Mc=()=>{const t=Ce(Qo)?.userless,n=Ce(eu),[r,a]=M.useState(0),[i,s]=M.useState(0),[o,c]=M.useState(!0),[y,b]=M.useState([]),[C,_]=M.useState(""),[S,P]=M.useState(""),[w,v]=M.useState(""),[u,h]=M.useState(""),[l,f]=M.useState(!1),[m,p]=M.useState(!1),[g,d]=M.useState(!1),[j,O]=Ct(),[D,q]=Ee("/users/:id?"),N=M.useRef({page:0,search:"",sort:"lastSeen",direction:-1}),{page:T,search:I,sort:F,direction:B}=N.current,[V,J]=M.useState(0),Q=x=>{N.current.search=x,ue(),J(R=>R+1)},Y=x=>{typeof x=="function"&&(x=x(N.current.page)),N.current.page=x,re()},te=x=>{typeof x=="function"&&(x=x(N.current.direction)),N.current.direction=x},re=async()=>{c(!0);const{page:x,search:R,sort:E,direction:k}=N.current,{users:W,total:L,pages:G}=await X("users.list",{page:x,search:R,sort:E,direction:k});a(G),s(L),b(W),c(!1)},se=M.useRef(re);se.current=re,M.useEffect(()=>{re()},[]);const ue=M.useMemo(()=>wa(()=>{N.current.page=0,se.current?.()},500),[]),oe=x=>{x==F?te(R=>R*-1):(N.current.sort=x,te(x==="name"?1:-1)),re()},Me=()=>{p(!m),f(!1),P(""),_("")},Ae=()=>{f(!l),p(!1),t||P(n?.username??""),_("")},A=()=>{p(!1),f(!1),P(""),_(""),v(""),h("")},z=async()=>{if(_(""),w!==u)return;d(!0);let x="";try{if(l&&!t?x=await X("users.passwd",n?.username,w):x=await X("users.create",S,w),d(!1),!x){l&&t?iu():A();return}}catch(R){console.error("error setting user credentials",R)}_(x)},$=M.useMemo(()=>{const x=S.length!==0||!(l&&!t);return S.match(/^\w{0,32}$/)&&x&&w.length!==0},[S,w,l,t]);return e.jsxs(e.Fragment,{children:[e.jsxs(qe,{title:"Users",children:[e.jsx("span",{style:{flex:1}}),e.jsx(H,{normal:!0,"data-tooltip":t?"Enable user sign-in":"Change password",onClick:Ae,children:t?e.jsxs(e.Fragment,{children:[e.jsx(Cu,{}),"Enable Users"]}):e.jsxs(e.Fragment,{children:[e.jsx(Ua,{}),"Change Password"]})}),!t&&n?.isOwner&&e.jsxs(H,{normal:!0,onClick:Me,"data-tooltip":"Add a new user",children:[e.jsx(Ga,{}),"Add User"]})]}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(ve,{attached:!0,children:[e.jsx(ie,{type:"text",placeholder:"Search Users...",value:I,onChange:Q}),e.jsx("span",{style:{flex:1}}),e.jsx(H,{icon:!0,normal:!0,"data-tooltip":"Refresh user list",onClick:re,children:e.jsx(Et,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(ye,{children:e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},onClick:()=>oe("username"),children:e.jsxs("span",{children:["Username",e.jsx(le,{name:"username",sort:F,direction:B})]})}),e.jsx("th",{onClick:()=>oe("lastOnline"),"data-tooltip":"When the user was last active",children:e.jsxs("span",{children:["Active",e.jsx(le,{name:"lastOnline",sort:F,direction:B})]})}),e.jsx("th",{onClick:()=>oe("created"),"data-tooltip":"When the user joined",children:e.jsxs("span",{children:["Joined",e.jsx(le,{name:"created",sort:F,direction:B})]})})]})}),e.jsx("tbody",{children:y.map(x=>e.jsxs("tr",{onClick:()=>O(`/users/${x.username}`),className:x.username===q?.id?"active":"",children:[e.jsxs("td",{children:[x.username||"Admin"," ",(x.username||"Admin")===(n?.username||"Admin")&&e.jsx("span",{style:{fontSize:12},children:"(You)"})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":x.lastOnline?new Date(x.lastOnline):"Never",children:x.lastOnline?de(x.seenAgo):"Never"}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(x.created),children:de(x.createdAgo)})]},x.username))})]})}),e.jsxs(Ie,{className:"pagination-footer",children:[e.jsx(H,{icon:!0,normal:!0,disabled:T===0,onClick:()=>{Y(0)},children:e.jsx(al,{})}),e.jsx(H,{icon:!0,normal:!0,disabled:T===0,onClick:()=>Y(x=>Math.max(0,x-1)),children:e.jsx(vt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",T+1," of ",r]}),e.jsxs("div",{children:["Showing ",y.length," of ",i]})]}),e.jsx(H,{icon:!0,normal:!0,disabled:T>=r-1,onClick:()=>Y(x=>Math.min(y.length-1,x+1)),children:e.jsx(xt,{})}),e.jsx(H,{icon:!0,normal:!0,disabled:T>=r-1,onClick:()=>Y(y.length-1),children:e.jsx(sl,{})})]}),e.jsx(fe,{active:o,size:"huge",children:"Loading Users"})]})]}),e.jsxs(Ra,{visible:l||m,children:[e.jsx(fe,{active:g,size:"huge",children:"Submitting"}),e.jsxs(rl,{visible:!g,children:[e.jsx(Sa,{children:m?"Create New User":"Update Credentials"}),e.jsxs(ba,{children:[t&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"This will require you to enter a password when you sign in."}),e.jsx("p",{children:"This action cannot be undone."})]}),!t&&l&&e.jsxs("p",{children:['Updating credentials for user "',S,'""']}),m&&e.jsx("p",{children:"Creating a new user. It's recommended to create a temporary password."}),C&&e.jsxs("p",{style:{color:"red"},children:["Error: ",C]})]}),e.jsxs("div",{className:"popout-inputs",children:[(t||m)&&e.jsx(ie,{placeholder:"username",type:"text",value:S,onChange:x=>P(x)}),e.jsx(ie,{placeholder:"password",type:"password",value:w,onChange:x=>v(x)}),e.jsx(ie,{placeholder:"confirm password",type:"password",value:u,onChange:x=>h(x)})]}),e.jsxs(Ie,{children:[e.jsxs(H,{main:!0,disabled:!$||u!==w,onClick:()=>z(),children:[m&&e.jsx(Ga,{}),!m&&e.jsx(Ua,{}),m?"Add":"Update"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(H,{normal:!0,onClick:A,children:[e.jsx(ct,{}),"Cancel"]})]})]})]})]})]})]})},Ue=fl(null),Ge=fl(null);var Jt,Cs;function Ac(){if(Cs)return Jt;Cs=1;var t=Math.ceil,n=Math.max;function r(a,i,s,o){for(var c=-1,y=n(t((i-a)/(s||1)),0),b=Array(y);y--;)b[o?y:++c]=a,a+=s;return b}return Jt=r,Jt}var Zt,Ps;function Na(){if(Ps)return Zt;Ps=1;function t(n,r){return n===r||n!==n&&r!==r}return Zt=t,Zt}var Qt,qs;function ql(){if(qs)return Qt;qs=1;var t=Pt(),n=qt(),r="[object AsyncFunction]",a="[object Function]",i="[object GeneratorFunction]",s="[object Proxy]";function o(c){if(!n(c))return!1;var y=t(c);return y==a||y==i||y==r||y==s}return Qt=o,Qt}var er,Ds;function Ta(){if(Ds)return er;Ds=1;var t=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return er=n,er}var tr,Os;function At(){if(Os)return tr;Os=1;var t=ql(),n=Ta();function r(a){return a!=null&&n(a.length)&&!t(a)}return tr=r,tr}var rr,Es;function Ma(){if(Es)return rr;Es=1;var t=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(a,i){var s=typeof a;return i=i??t,!!i&&(s=="number"||s!="symbol"&&n.test(a))&&a>-1&&a%1==0&&a<i}return rr=r,rr}var nr,Ns;function Dl(){if(Ns)return nr;Ns=1;var t=Na(),n=At(),r=Ma(),a=qt();function i(s,o,c){if(!a(c))return!1;var y=typeof o;return(y=="number"?n(c)&&r(o,c.length):y=="string"&&o in c)?t(c[o],s):!1}return nr=i,nr}var ar,Ts;function kc(){if(Ts)return ar;Ts=1;var t=ou(),n=1/0,r=17976931348623157e292;function a(i){if(!i)return i===0?i:0;if(i=t(i),i===n||i===-n){var s=i<0?-1:1;return s*r}return i===i?i:0}return ar=a,ar}var sr,Ms;function zc(){if(Ms)return sr;Ms=1;var t=Ac(),n=Dl(),r=kc();function a(i){return function(s,o,c){return c&&typeof c!="number"&&n(s,o,c)&&(o=c=void 0),s=r(s),o===void 0?(o=s,s=0):o=r(o),c=c===void 0?s<o?1:-1:r(c),t(s,o,c,i)}}return sr=a,sr}var ir,As;function Lc(){if(As)return ir;As=1;var t=zc(),n=t();return ir=n,ir}var Ic=Lc();const ks=Ca(Ic);var or,zs;function Ol(){if(zs)return or;zs=1;function t(n,r){for(var a=-1,i=r.length,s=n.length;++a<i;)n[s+a]=r[a];return n}return or=t,or}var lr,Ls;function Hc(){if(Ls)return lr;Ls=1;var t=Pt(),n=Dt(),r="[object Arguments]";function a(i){return n(i)&&t(i)==r}return lr=a,lr}var ur,Is;function Aa(){if(Is)return ur;Is=1;var t=Hc(),n=Dt(),r=Object.prototype,a=r.hasOwnProperty,i=r.propertyIsEnumerable,s=t((function(){return arguments})())?t:function(o){return n(o)&&a.call(o,"callee")&&!i.call(o,"callee")};return ur=s,ur}var cr,Hs;function be(){if(Hs)return cr;Hs=1;var t=Array.isArray;return cr=t,cr}var dr,Ws;function Wc(){if(Ws)return dr;Ws=1;var t=ja(),n=Aa(),r=be(),a=t?t.isConcatSpreadable:void 0;function i(s){return r(s)||n(s)||!!(a&&s&&s[a])}return dr=i,dr}var hr,Fs;function Fc(){if(Fs)return hr;Fs=1;var t=Ol(),n=Wc();function r(a,i,s,o,c){var y=-1,b=a.length;for(s||(s=n),c||(c=[]);++y<b;){var C=a[y];i>0&&s(C)?i>1?r(C,i-1,s,o,c):t(c,C):o||(c[c.length]=C)}return c}return hr=r,hr}var fr,Bs;function El(){if(Bs)return fr;Bs=1;function t(n,r){for(var a=-1,i=n==null?0:n.length,s=Array(i);++a<i;)s[a]=r(n[a],a,n);return s}return fr=t,fr}var pr,Us;function ka(){if(Us)return pr;Us=1;var t=be(),n=Ot(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function i(s,o){if(t(s))return!1;var c=typeof s;return c=="number"||c=="symbol"||c=="boolean"||s==null||n(s)?!0:a.test(s)||!r.test(s)||o!=null&&s in Object(o)}return pr=i,pr}var gr,Gs;function Bc(){if(Gs)return gr;Gs=1;var t=Ne(),n=t["__core-js_shared__"];return gr=n,gr}var mr,$s;function Uc(){if($s)return mr;$s=1;var t=Bc(),n=(function(){var a=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""})();function r(a){return!!n&&n in a}return mr=r,mr}var vr,Ys;function Nl(){if(Ys)return vr;Ys=1;var t=Function.prototype,n=t.toString;function r(a){if(a!=null){try{return n.call(a)}catch{}try{return a+""}catch{}}return""}return vr=r,vr}var yr,Ks;function Gc(){if(Ks)return yr;Ks=1;var t=ql(),n=Uc(),r=qt(),a=Nl(),i=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,o=Function.prototype,c=Object.prototype,y=o.toString,b=c.hasOwnProperty,C=RegExp("^"+y.call(b).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _(S){if(!r(S)||n(S))return!1;var P=t(S)?C:s;return P.test(a(S))}return yr=_,yr}var br,Xs;function $c(){if(Xs)return br;Xs=1;function t(n,r){return n?.[r]}return br=t,br}var xr,Vs;function He(){if(Vs)return xr;Vs=1;var t=Gc(),n=$c();function r(a,i){var s=n(a,i);return t(s)?s:void 0}return xr=r,xr}var _r,Js;function kt(){if(Js)return _r;Js=1;var t=He(),n=t(Object,"create");return _r=n,_r}var wr,Zs;function Yc(){if(Zs)return wr;Zs=1;var t=kt();function n(){this.__data__=t?t(null):{},this.size=0}return wr=n,wr}var jr,Qs;function Kc(){if(Qs)return jr;Qs=1;function t(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return jr=t,jr}var Sr,ei;function Xc(){if(ei)return Sr;ei=1;var t=kt(),n="__lodash_hash_undefined__",r=Object.prototype,a=r.hasOwnProperty;function i(s){var o=this.__data__;if(t){var c=o[s];return c===n?void 0:c}return a.call(o,s)?o[s]:void 0}return Sr=i,Sr}var Rr,ti;function Vc(){if(ti)return Rr;ti=1;var t=kt(),n=Object.prototype,r=n.hasOwnProperty;function a(i){var s=this.__data__;return t?s[i]!==void 0:r.call(s,i)}return Rr=a,Rr}var Cr,ri;function Jc(){if(ri)return Cr;ri=1;var t=kt(),n="__lodash_hash_undefined__";function r(a,i){var s=this.__data__;return this.size+=this.has(a)?0:1,s[a]=t&&i===void 0?n:i,this}return Cr=r,Cr}var Pr,ni;function Zc(){if(ni)return Pr;ni=1;var t=Yc(),n=Kc(),r=Xc(),a=Vc(),i=Jc();function s(o){var c=-1,y=o==null?0:o.length;for(this.clear();++c<y;){var b=o[c];this.set(b[0],b[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Pr=s,Pr}var qr,ai;function Qc(){if(ai)return qr;ai=1;function t(){this.__data__=[],this.size=0}return qr=t,qr}var Dr,si;function zt(){if(si)return Dr;si=1;var t=Na();function n(r,a){for(var i=r.length;i--;)if(t(r[i][0],a))return i;return-1}return Dr=n,Dr}var Or,ii;function ed(){if(ii)return Or;ii=1;var t=zt(),n=Array.prototype,r=n.splice;function a(i){var s=this.__data__,o=t(s,i);if(o<0)return!1;var c=s.length-1;return o==c?s.pop():r.call(s,o,1),--this.size,!0}return Or=a,Or}var Er,oi;function td(){if(oi)return Er;oi=1;var t=zt();function n(r){var a=this.__data__,i=t(a,r);return i<0?void 0:a[i][1]}return Er=n,Er}var Nr,li;function rd(){if(li)return Nr;li=1;var t=zt();function n(r){return t(this.__data__,r)>-1}return Nr=n,Nr}var Tr,ui;function nd(){if(ui)return Tr;ui=1;var t=zt();function n(r,a){var i=this.__data__,s=t(i,r);return s<0?(++this.size,i.push([r,a])):i[s][1]=a,this}return Tr=n,Tr}var Mr,ci;function Lt(){if(ci)return Mr;ci=1;var t=Qc(),n=ed(),r=td(),a=rd(),i=nd();function s(o){var c=-1,y=o==null?0:o.length;for(this.clear();++c<y;){var b=o[c];this.set(b[0],b[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Mr=s,Mr}var Ar,di;function za(){if(di)return Ar;di=1;var t=He(),n=Ne(),r=t(n,"Map");return Ar=r,Ar}var kr,hi;function ad(){if(hi)return kr;hi=1;var t=Zc(),n=Lt(),r=za();function a(){this.size=0,this.__data__={hash:new t,map:new(r||n),string:new t}}return kr=a,kr}var zr,fi;function sd(){if(fi)return zr;fi=1;function t(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return zr=t,zr}var Lr,pi;function It(){if(pi)return Lr;pi=1;var t=sd();function n(r,a){var i=r.__data__;return t(a)?i[typeof a=="string"?"string":"hash"]:i.map}return Lr=n,Lr}var Ir,gi;function id(){if(gi)return Ir;gi=1;var t=It();function n(r){var a=t(this,r).delete(r);return this.size-=a?1:0,a}return Ir=n,Ir}var Hr,mi;function od(){if(mi)return Hr;mi=1;var t=It();function n(r){return t(this,r).get(r)}return Hr=n,Hr}var Wr,vi;function ld(){if(vi)return Wr;vi=1;var t=It();function n(r){return t(this,r).has(r)}return Wr=n,Wr}var Fr,yi;function ud(){if(yi)return Fr;yi=1;var t=It();function n(r,a){var i=t(this,r),s=i.size;return i.set(r,a),this.size+=i.size==s?0:1,this}return Fr=n,Fr}var Br,bi;function La(){if(bi)return Br;bi=1;var t=ad(),n=id(),r=od(),a=ld(),i=ud();function s(o){var c=-1,y=o==null?0:o.length;for(this.clear();++c<y;){var b=o[c];this.set(b[0],b[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Br=s,Br}var Ur,xi;function cd(){if(xi)return Ur;xi=1;var t=La(),n="Expected a function";function r(a,i){if(typeof a!="function"||i!=null&&typeof i!="function")throw new TypeError(n);var s=function(){var o=arguments,c=i?i.apply(this,o):o[0],y=s.cache;if(y.has(c))return y.get(c);var b=a.apply(this,o);return s.cache=y.set(c,b)||y,b};return s.cache=new(r.Cache||t),s}return r.Cache=t,Ur=r,Ur}var Gr,_i;function dd(){if(_i)return Gr;_i=1;var t=cd(),n=500;function r(a){var i=t(a,function(o){return s.size===n&&s.clear(),o}),s=i.cache;return i}return Gr=r,Gr}var $r,wi;function hd(){if(wi)return $r;wi=1;var t=dd(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,a=t(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(n,function(o,c,y,b){s.push(y?b.replace(r,"$1"):c||o)}),s});return $r=a,$r}var Yr,ji;function fd(){if(ji)return Yr;ji=1;var t=ja(),n=El(),r=be(),a=Ot(),i=t?t.prototype:void 0,s=i?i.toString:void 0;function o(c){if(typeof c=="string")return c;if(r(c))return n(c,o)+"";if(a(c))return s?s.call(c):"";var y=c+"";return y=="0"&&1/c==-1/0?"-0":y}return Yr=o,Yr}var Kr,Si;function pd(){if(Si)return Kr;Si=1;var t=fd();function n(r){return r==null?"":t(r)}return Kr=n,Kr}var Xr,Ri;function Tl(){if(Ri)return Xr;Ri=1;var t=be(),n=ka(),r=hd(),a=pd();function i(s,o){return t(s)?s:n(s,o)?[s]:r(a(s))}return Xr=i,Xr}var Vr,Ci;function Ht(){if(Ci)return Vr;Ci=1;var t=Ot();function n(r){if(typeof r=="string"||t(r))return r;var a=r+"";return a=="0"&&1/r==-1/0?"-0":a}return Vr=n,Vr}var Jr,Pi;function Ia(){if(Pi)return Jr;Pi=1;var t=Tl(),n=Ht();function r(a,i){i=t(i,a);for(var s=0,o=i.length;a!=null&&s<o;)a=a[n(i[s++])];return s&&s==o?a:void 0}return Jr=r,Jr}var Zr,qi;function gd(){if(qi)return Zr;qi=1;var t=Lt();function n(){this.__data__=new t,this.size=0}return Zr=n,Zr}var Qr,Di;function md(){if(Di)return Qr;Di=1;function t(n){var r=this.__data__,a=r.delete(n);return this.size=r.size,a}return Qr=t,Qr}var en,Oi;function vd(){if(Oi)return en;Oi=1;function t(n){return this.__data__.get(n)}return en=t,en}var tn,Ei;function yd(){if(Ei)return tn;Ei=1;function t(n){return this.__data__.has(n)}return tn=t,tn}var rn,Ni;function bd(){if(Ni)return rn;Ni=1;var t=Lt(),n=za(),r=La(),a=200;function i(s,o){var c=this.__data__;if(c instanceof t){var y=c.__data__;if(!n||y.length<a-1)return y.push([s,o]),this.size=++c.size,this;c=this.__data__=new r(y)}return c.set(s,o),this.size=c.size,this}return rn=i,rn}var nn,Ti;function Ml(){if(Ti)return nn;Ti=1;var t=Lt(),n=gd(),r=md(),a=vd(),i=yd(),s=bd();function o(c){var y=this.__data__=new t(c);this.size=y.size}return o.prototype.clear=n,o.prototype.delete=r,o.prototype.get=a,o.prototype.has=i,o.prototype.set=s,nn=o,nn}var an,Mi;function xd(){if(Mi)return an;Mi=1;var t="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,t),this}return an=n,an}var sn,Ai;function _d(){if(Ai)return sn;Ai=1;function t(n){return this.__data__.has(n)}return sn=t,sn}var on,ki;function wd(){if(ki)return on;ki=1;var t=La(),n=xd(),r=_d();function a(i){var s=-1,o=i==null?0:i.length;for(this.__data__=new t;++s<o;)this.add(i[s])}return a.prototype.add=a.prototype.push=n,a.prototype.has=r,on=a,on}var ln,zi;function jd(){if(zi)return ln;zi=1;function t(n,r){for(var a=-1,i=n==null?0:n.length;++a<i;)if(r(n[a],a,n))return!0;return!1}return ln=t,ln}var un,Li;function Sd(){if(Li)return un;Li=1;function t(n,r){return n.has(r)}return un=t,un}var cn,Ii;function Al(){if(Ii)return cn;Ii=1;var t=wd(),n=jd(),r=Sd(),a=1,i=2;function s(o,c,y,b,C,_){var S=y&a,P=o.length,w=c.length;if(P!=w&&!(S&&w>P))return!1;var v=_.get(o),u=_.get(c);if(v&&u)return v==c&&u==o;var h=-1,l=!0,f=y&i?new t:void 0;for(_.set(o,c),_.set(c,o);++h<P;){var m=o[h],p=c[h];if(b)var g=S?b(p,m,h,c,o,_):b(m,p,h,o,c,_);if(g!==void 0){if(g)continue;l=!1;break}if(f){if(!n(c,function(d,j){if(!r(f,j)&&(m===d||C(m,d,y,b,_)))return f.push(j)})){l=!1;break}}else if(!(m===p||C(m,p,y,b,_))){l=!1;break}}return _.delete(o),_.delete(c),l}return cn=s,cn}var dn,Hi;function Rd(){if(Hi)return dn;Hi=1;var t=Ne(),n=t.Uint8Array;return dn=n,dn}var hn,Wi;function Cd(){if(Wi)return hn;Wi=1;function t(n){var r=-1,a=Array(n.size);return n.forEach(function(i,s){a[++r]=[s,i]}),a}return hn=t,hn}var fn,Fi;function Pd(){if(Fi)return fn;Fi=1;function t(n){var r=-1,a=Array(n.size);return n.forEach(function(i){a[++r]=i}),a}return fn=t,fn}var pn,Bi;function qd(){if(Bi)return pn;Bi=1;var t=ja(),n=Rd(),r=Na(),a=Al(),i=Cd(),s=Pd(),o=1,c=2,y="[object Boolean]",b="[object Date]",C="[object Error]",_="[object Map]",S="[object Number]",P="[object RegExp]",w="[object Set]",v="[object String]",u="[object Symbol]",h="[object ArrayBuffer]",l="[object DataView]",f=t?t.prototype:void 0,m=f?f.valueOf:void 0;function p(g,d,j,O,D,q,N){switch(j){case l:if(g.byteLength!=d.byteLength||g.byteOffset!=d.byteOffset)return!1;g=g.buffer,d=d.buffer;case h:return!(g.byteLength!=d.byteLength||!q(new n(g),new n(d)));case y:case b:case S:return r(+g,+d);case C:return g.name==d.name&&g.message==d.message;case P:case v:return g==d+"";case _:var T=i;case w:var I=O&o;if(T||(T=s),g.size!=d.size&&!I)return!1;var F=N.get(g);if(F)return F==d;O|=c,N.set(g,d);var B=a(T(g),T(d),O,D,q,N);return N.delete(g),B;case u:if(m)return m.call(g)==m.call(d)}return!1}return pn=p,pn}var gn,Ui;function Dd(){if(Ui)return gn;Ui=1;var t=Ol(),n=be();function r(a,i,s){var o=i(a);return n(a)?o:t(o,s(a))}return gn=r,gn}var mn,Gi;function Od(){if(Gi)return mn;Gi=1;function t(n,r){for(var a=-1,i=n==null?0:n.length,s=0,o=[];++a<i;){var c=n[a];r(c,a,n)&&(o[s++]=c)}return o}return mn=t,mn}var vn,$i;function Ed(){if($i)return vn;$i=1;function t(){return[]}return vn=t,vn}var yn,Yi;function Nd(){if(Yi)return yn;Yi=1;var t=Od(),n=Ed(),r=Object.prototype,a=r.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(o){return o==null?[]:(o=Object(o),t(i(o),function(c){return a.call(o,c)}))}:n;return yn=s,yn}var bn,Ki;function Td(){if(Ki)return bn;Ki=1;function t(n,r){for(var a=-1,i=Array(n);++a<n;)i[a]=r(a);return i}return bn=t,bn}var ot={exports:{}},xn,Xi;function Md(){if(Xi)return xn;Xi=1;function t(){return!1}return xn=t,xn}ot.exports;var Vi;function kl(){return Vi||(Vi=1,(function(t,n){var r=Ne(),a=Md(),i=n&&!n.nodeType&&n,s=i&&!0&&t&&!t.nodeType&&t,o=s&&s.exports===i,c=o?r.Buffer:void 0,y=c?c.isBuffer:void 0,b=y||a;t.exports=b})(ot,ot.exports)),ot.exports}var _n,Ji;function Ad(){if(Ji)return _n;Ji=1;var t=Pt(),n=Ta(),r=Dt(),a="[object Arguments]",i="[object Array]",s="[object Boolean]",o="[object Date]",c="[object Error]",y="[object Function]",b="[object Map]",C="[object Number]",_="[object Object]",S="[object RegExp]",P="[object Set]",w="[object String]",v="[object WeakMap]",u="[object ArrayBuffer]",h="[object DataView]",l="[object Float32Array]",f="[object Float64Array]",m="[object Int8Array]",p="[object Int16Array]",g="[object Int32Array]",d="[object Uint8Array]",j="[object Uint8ClampedArray]",O="[object Uint16Array]",D="[object Uint32Array]",q={};q[l]=q[f]=q[m]=q[p]=q[g]=q[d]=q[j]=q[O]=q[D]=!0,q[a]=q[i]=q[u]=q[s]=q[h]=q[o]=q[c]=q[y]=q[b]=q[C]=q[_]=q[S]=q[P]=q[w]=q[v]=!1;function N(T){return r(T)&&n(T.length)&&!!q[t(T)]}return _n=N,_n}var wn,Zi;function zl(){if(Zi)return wn;Zi=1;function t(n){return function(r){return n(r)}}return wn=t,wn}var lt={exports:{}};lt.exports;var Qi;function kd(){return Qi||(Qi=1,(function(t,n){var r=lu(),a=n&&!n.nodeType&&n,i=a&&!0&&t&&!t.nodeType&&t,s=i&&i.exports===a,o=s&&r.process,c=(function(){try{var y=i&&i.require&&i.require("util").types;return y||o&&o.binding&&o.binding("util")}catch{}})();t.exports=c})(lt,lt.exports)),lt.exports}var jn,eo;function Ll(){if(eo)return jn;eo=1;var t=Ad(),n=zl(),r=kd(),a=r&&r.isTypedArray,i=a?n(a):t;return jn=i,jn}var Sn,to;function zd(){if(to)return Sn;to=1;var t=Td(),n=Aa(),r=be(),a=kl(),i=Ma(),s=Ll(),o=Object.prototype,c=o.hasOwnProperty;function y(b,C){var _=r(b),S=!_&&n(b),P=!_&&!S&&a(b),w=!_&&!S&&!P&&s(b),v=_||S||P||w,u=v?t(b.length,String):[],h=u.length;for(var l in b)(C||c.call(b,l))&&!(v&&(l=="length"||P&&(l=="offset"||l=="parent")||w&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||i(l,h)))&&u.push(l);return u}return Sn=y,Sn}var Rn,ro;function Ld(){if(ro)return Rn;ro=1;var t=Object.prototype;function n(r){var a=r&&r.constructor,i=typeof a=="function"&&a.prototype||t;return r===i}return Rn=n,Rn}var Cn,no;function Id(){if(no)return Cn;no=1;function t(n,r){return function(a){return n(r(a))}}return Cn=t,Cn}var Pn,ao;function Hd(){if(ao)return Pn;ao=1;var t=Id(),n=t(Object.keys,Object);return Pn=n,Pn}var qn,so;function Wd(){if(so)return qn;so=1;var t=Ld(),n=Hd(),r=Object.prototype,a=r.hasOwnProperty;function i(s){if(!t(s))return n(s);var o=[];for(var c in Object(s))a.call(s,c)&&c!="constructor"&&o.push(c);return o}return qn=i,qn}var Dn,io;function Ha(){if(io)return Dn;io=1;var t=zd(),n=Wd(),r=At();function a(i){return r(i)?t(i):n(i)}return Dn=a,Dn}var On,oo;function Fd(){if(oo)return On;oo=1;var t=Dd(),n=Nd(),r=Ha();function a(i){return t(i,r,n)}return On=a,On}var En,lo;function Bd(){if(lo)return En;lo=1;var t=Fd(),n=1,r=Object.prototype,a=r.hasOwnProperty;function i(s,o,c,y,b,C){var _=c&n,S=t(s),P=S.length,w=t(o),v=w.length;if(P!=v&&!_)return!1;for(var u=P;u--;){var h=S[u];if(!(_?h in o:a.call(o,h)))return!1}var l=C.get(s),f=C.get(o);if(l&&f)return l==o&&f==s;var m=!0;C.set(s,o),C.set(o,s);for(var p=_;++u<P;){h=S[u];var g=s[h],d=o[h];if(y)var j=_?y(d,g,h,o,s,C):y(g,d,h,s,o,C);if(!(j===void 0?g===d||b(g,d,c,y,C):j)){m=!1;break}p||(p=h=="constructor")}if(m&&!p){var O=s.constructor,D=o.constructor;O!=D&&"constructor"in s&&"constructor"in o&&!(typeof O=="function"&&O instanceof O&&typeof D=="function"&&D instanceof D)&&(m=!1)}return C.delete(s),C.delete(o),m}return En=i,En}var Nn,uo;function Ud(){if(uo)return Nn;uo=1;var t=He(),n=Ne(),r=t(n,"DataView");return Nn=r,Nn}var Tn,co;function Gd(){if(co)return Tn;co=1;var t=He(),n=Ne(),r=t(n,"Promise");return Tn=r,Tn}var Mn,ho;function $d(){if(ho)return Mn;ho=1;var t=He(),n=Ne(),r=t(n,"Set");return Mn=r,Mn}var An,fo;function Yd(){if(fo)return An;fo=1;var t=He(),n=Ne(),r=t(n,"WeakMap");return An=r,An}var kn,po;function Kd(){if(po)return kn;po=1;var t=Ud(),n=za(),r=Gd(),a=$d(),i=Yd(),s=Pt(),o=Nl(),c="[object Map]",y="[object Object]",b="[object Promise]",C="[object Set]",_="[object WeakMap]",S="[object DataView]",P=o(t),w=o(n),v=o(r),u=o(a),h=o(i),l=s;return(t&&l(new t(new ArrayBuffer(1)))!=S||n&&l(new n)!=c||r&&l(r.resolve())!=b||a&&l(new a)!=C||i&&l(new i)!=_)&&(l=function(f){var m=s(f),p=m==y?f.constructor:void 0,g=p?o(p):"";if(g)switch(g){case P:return S;case w:return c;case v:return b;case u:return C;case h:return _}return m}),kn=l,kn}var zn,go;function Xd(){if(go)return zn;go=1;var t=Ml(),n=Al(),r=qd(),a=Bd(),i=Kd(),s=be(),o=kl(),c=Ll(),y=1,b="[object Arguments]",C="[object Array]",_="[object Object]",S=Object.prototype,P=S.hasOwnProperty;function w(v,u,h,l,f,m){var p=s(v),g=s(u),d=p?C:i(v),j=g?C:i(u);d=d==b?_:d,j=j==b?_:j;var O=d==_,D=j==_,q=d==j;if(q&&o(v)){if(!o(u))return!1;p=!0,O=!1}if(q&&!O)return m||(m=new t),p||c(v)?n(v,u,h,l,f,m):r(v,u,d,h,l,f,m);if(!(h&y)){var N=O&&P.call(v,"__wrapped__"),T=D&&P.call(u,"__wrapped__");if(N||T){var I=N?v.value():v,F=T?u.value():u;return m||(m=new t),f(I,F,h,l,m)}}return q?(m||(m=new t),a(v,u,h,l,f,m)):!1}return zn=w,zn}var Ln,mo;function Il(){if(mo)return Ln;mo=1;var t=Xd(),n=Dt();function r(a,i,s,o,c){return a===i?!0:a==null||i==null||!n(a)&&!n(i)?a!==a&&i!==i:t(a,i,s,o,r,c)}return Ln=r,Ln}var In,vo;function Vd(){if(vo)return In;vo=1;var t=Ml(),n=Il(),r=1,a=2;function i(s,o,c,y){var b=c.length,C=b,_=!y;if(s==null)return!C;for(s=Object(s);b--;){var S=c[b];if(_&&S[2]?S[1]!==s[S[0]]:!(S[0]in s))return!1}for(;++b<C;){S=c[b];var P=S[0],w=s[P],v=S[1];if(_&&S[2]){if(w===void 0&&!(P in s))return!1}else{var u=new t;if(y)var h=y(w,v,P,s,o,u);if(!(h===void 0?n(v,w,r|a,y,u):h))return!1}}return!0}return In=i,In}var Hn,yo;function Hl(){if(yo)return Hn;yo=1;var t=qt();function n(r){return r===r&&!t(r)}return Hn=n,Hn}var Wn,bo;function Jd(){if(bo)return Wn;bo=1;var t=Hl(),n=Ha();function r(a){for(var i=n(a),s=i.length;s--;){var o=i[s],c=a[o];i[s]=[o,c,t(c)]}return i}return Wn=r,Wn}var Fn,xo;function Wl(){if(xo)return Fn;xo=1;function t(n,r){return function(a){return a==null?!1:a[n]===r&&(r!==void 0||n in Object(a))}}return Fn=t,Fn}var Bn,_o;function Zd(){if(_o)return Bn;_o=1;var t=Vd(),n=Jd(),r=Wl();function a(i){var s=n(i);return s.length==1&&s[0][2]?r(s[0][0],s[0][1]):function(o){return o===i||t(o,i,s)}}return Bn=a,Bn}var Un,wo;function Qd(){if(wo)return Un;wo=1;var t=Ia();function n(r,a,i){var s=r==null?void 0:t(r,a);return s===void 0?i:s}return Un=n,Un}var Gn,jo;function eh(){if(jo)return Gn;jo=1;function t(n,r){return n!=null&&r in Object(n)}return Gn=t,Gn}var $n,So;function th(){if(So)return $n;So=1;var t=Tl(),n=Aa(),r=be(),a=Ma(),i=Ta(),s=Ht();function o(c,y,b){y=t(y,c);for(var C=-1,_=y.length,S=!1;++C<_;){var P=s(y[C]);if(!(S=c!=null&&b(c,P)))break;c=c[P]}return S||++C!=_?S:(_=c==null?0:c.length,!!_&&i(_)&&a(P,_)&&(r(c)||n(c)))}return $n=o,$n}var Yn,Ro;function rh(){if(Ro)return Yn;Ro=1;var t=eh(),n=th();function r(a,i){return a!=null&&n(a,i,t)}return Yn=r,Yn}var Kn,Co;function nh(){if(Co)return Kn;Co=1;var t=Il(),n=Qd(),r=rh(),a=ka(),i=Hl(),s=Wl(),o=Ht(),c=1,y=2;function b(C,_){return a(C)&&i(_)?s(o(C),_):function(S){var P=n(S,C);return P===void 0&&P===_?r(S,C):t(_,P,c|y)}}return Kn=b,Kn}var Xn,Po;function Wt(){if(Po)return Xn;Po=1;function t(n){return n}return Xn=t,Xn}var Vn,qo;function ah(){if(qo)return Vn;qo=1;function t(n){return function(r){return r?.[n]}}return Vn=t,Vn}var Jn,Do;function sh(){if(Do)return Jn;Do=1;var t=Ia();function n(r){return function(a){return t(a,r)}}return Jn=n,Jn}var Zn,Oo;function ih(){if(Oo)return Zn;Oo=1;var t=ah(),n=sh(),r=ka(),a=Ht();function i(s){return r(s)?t(a(s)):n(s)}return Zn=i,Zn}var Qn,Eo;function oh(){if(Eo)return Qn;Eo=1;var t=Zd(),n=nh(),r=Wt(),a=be(),i=ih();function s(o){return typeof o=="function"?o:o==null?r:typeof o=="object"?a(o)?n(o[0],o[1]):t(o):i(o)}return Qn=s,Qn}var ea,No;function lh(){if(No)return ea;No=1;function t(n){return function(r,a,i){for(var s=-1,o=Object(r),c=i(r),y=c.length;y--;){var b=c[n?y:++s];if(a(o[b],b,o)===!1)break}return r}}return ea=t,ea}var ta,To;function uh(){if(To)return ta;To=1;var t=lh(),n=t();return ta=n,ta}var ra,Mo;function ch(){if(Mo)return ra;Mo=1;var t=uh(),n=Ha();function r(a,i){return a&&t(a,i,n)}return ra=r,ra}var na,Ao;function dh(){if(Ao)return na;Ao=1;var t=At();function n(r,a){return function(i,s){if(i==null)return i;if(!t(i))return r(i,s);for(var o=i.length,c=a?o:-1,y=Object(i);(a?c--:++c<o)&&s(y[c],c,y)!==!1;);return i}}return na=n,na}var aa,ko;function hh(){if(ko)return aa;ko=1;var t=ch(),n=dh(),r=n(t);return aa=r,aa}var sa,zo;function fh(){if(zo)return sa;zo=1;var t=hh(),n=At();function r(a,i){var s=-1,o=n(a)?Array(a.length):[];return t(a,function(c,y,b){o[++s]=i(c,y,b)}),o}return sa=r,sa}var ia,Lo;function ph(){if(Lo)return ia;Lo=1;function t(n,r){var a=n.length;for(n.sort(r);a--;)n[a]=n[a].value;return n}return ia=t,ia}var oa,Io;function gh(){if(Io)return oa;Io=1;var t=Ot();function n(r,a){if(r!==a){var i=r!==void 0,s=r===null,o=r===r,c=t(r),y=a!==void 0,b=a===null,C=a===a,_=t(a);if(!b&&!_&&!c&&r>a||c&&y&&C&&!b&&!_||s&&y&&C||!i&&C||!o)return 1;if(!s&&!c&&!_&&r<a||_&&i&&o&&!s&&!c||b&&i&&o||!y&&o||!C)return-1}return 0}return oa=n,oa}var la,Ho;function mh(){if(Ho)return la;Ho=1;var t=gh();function n(r,a,i){for(var s=-1,o=r.criteria,c=a.criteria,y=o.length,b=i.length;++s<y;){var C=t(o[s],c[s]);if(C){if(s>=b)return C;var _=i[s];return C*(_=="desc"?-1:1)}}return r.index-a.index}return la=n,la}var ua,Wo;function vh(){if(Wo)return ua;Wo=1;var t=El(),n=Ia(),r=oh(),a=fh(),i=ph(),s=zl(),o=mh(),c=Wt(),y=be();function b(C,_,S){_.length?_=t(_,function(v){return y(v)?function(u){return n(u,v.length===1?v[0]:v)}:v}):_=[c];var P=-1;_=t(_,s(r));var w=a(C,function(v,u,h){var l=t(_,function(f){return f(v)});return{criteria:l,index:++P,value:v}});return i(w,function(v,u){return o(v,u,S)})}return ua=b,ua}var ca,Fo;function yh(){if(Fo)return ca;Fo=1;function t(n,r,a){switch(a.length){case 0:return n.call(r);case 1:return n.call(r,a[0]);case 2:return n.call(r,a[0],a[1]);case 3:return n.call(r,a[0],a[1],a[2])}return n.apply(r,a)}return ca=t,ca}var da,Bo;function bh(){if(Bo)return da;Bo=1;var t=yh(),n=Math.max;function r(a,i,s){return i=n(i===void 0?a.length-1:i,0),function(){for(var o=arguments,c=-1,y=n(o.length-i,0),b=Array(y);++c<y;)b[c]=o[i+c];c=-1;for(var C=Array(i+1);++c<i;)C[c]=o[c];return C[i]=s(b),t(a,this,C)}}return da=r,da}var ha,Uo;function xh(){if(Uo)return ha;Uo=1;function t(n){return function(){return n}}return ha=t,ha}var fa,Go;function _h(){if(Go)return fa;Go=1;var t=He(),n=(function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}})();return fa=n,fa}var pa,$o;function wh(){if($o)return pa;$o=1;var t=xh(),n=_h(),r=Wt(),a=n?function(i,s){return n(i,"toString",{configurable:!0,enumerable:!1,value:t(s),writable:!0})}:r;return pa=a,pa}var ga,Yo;function jh(){if(Yo)return ga;Yo=1;var t=800,n=16,r=Date.now;function a(i){var s=0,o=0;return function(){var c=r(),y=n-(c-o);if(o=c,y>0){if(++s>=t)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}return ga=a,ga}var ma,Ko;function Sh(){if(Ko)return ma;Ko=1;var t=wh(),n=jh(),r=n(t);return ma=r,ma}var va,Xo;function Rh(){if(Xo)return va;Xo=1;var t=Wt(),n=bh(),r=Sh();function a(i,s){return r(n(i,s,t),i+"")}return va=a,va}var ya,Vo;function Ch(){if(Vo)return ya;Vo=1;var t=Fc(),n=vh(),r=Rh(),a=Dl(),i=r(function(s,o){if(s==null)return[];var c=o.length;return c>1&&a(s,o[0],o[1])?o=[]:c>2&&a(o[0],o[1],o[2])&&(o=[o[0]]),n(s,t(o,1),[])});return ya=i,ya}var Ph=Ch();const st=Ca(Ph),qh=()=>{const[t,n]=Ee("/worlds/*"),r=n?.["*"],[a,i]=M.useState(!1),s=Ce(Ue),o=Ce(Ge),c=Ce(tu),[y,b]=M.useState(!1),[C,_]=M.useState(null),[S,P]=M.useState(null),w=M.useRef(r);w.current=r;const v=mt();M.useEffect(()=>{!r||!c.started||(b(!0),_(null),Promise.all([X("world.revisions",r),X("world.meta",r)]).then(([f,m])=>{w.current===r&&(_(f?.reverse()??null),P(m??null),b(!1))}))},[r,c.started]);const u=async()=>{if(!r)return;i(!0),await X("world.use",r)&&(Ge.set(r),Ue.set(r)),i(!1)},h=async()=>{if(!r)return;if(i(!0),await X("world.use")){const m=await X("world.next"),p=await X("world.active");Ge.set(p),Ue.set(m)}i(!1)},l=async f=>{if(!r)return;i(!0);const m=await X("world.load",r,f??null);console.info("world loaded",m),i(!1)};return e.jsxs("div",{className:"world-view",children:[e.jsx("div",{className:"world-info",children:r&&e.jsxs(ye,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"World name",children:"Name:"})," ",r]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"World map",children:"Map:"})," ",S?.meta.world.environment??"Unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"If yes, this world will be loaded on the next server start",children:"Is Default:"})," ",o===r?"Yes":"No"]}),s!==o&&e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Whether this world is configured to load next start if no other default is specified",children:"Is Fallback World:"})," ",s===r?"Yes":"No"]})]}),e.jsx("div",{className:"section-header","data-tooltip":"A list of all brick, component, or entity owners in this world.",children:"Owners"}),e.jsx("div",{className:"owners-table",children:e.jsx(Dh,{meta:S})}),e.jsx("div",{className:"section-header","data-tooltip":"A list of all the revisions made to this world. Click the buttons on the right to load a specific revision.",children:"Revisions"}),e.jsxs("div",{className:"revision-list",children:[e.jsx(Ra,{visible:y,children:e.jsx(fe,{active:y,size:"huge",children:"Loading World"})}),C?.length===0&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"Something went wrong listing the revisions"})}),C===null&&!y&&c.started&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"World might not exist"})}),C?.map(f=>e.jsxs("div",{className:"revision-item config",children:[e.jsx("div",{className:"revision-index",children:f.index}),e.jsxs("div",{className:"revision-note",children:[f.note,e.jsx("div",{className:"revision-date",children:new Date(f.date).toLocaleString()})]}),e.jsx(H,{icon:!0,main:!0,disabled:a||!c.started,onClick:()=>v.prompt(e.jsxs("p",{children:["Are you sure you want to load revision ",f.index," of"," ",e.jsx("b",{style:{color:"white"},children:r}),"? Unsaved work will be lost."]})).then(m=>{m&&l(f.index)}),"data-tooltip":`Load revision ${f.index}`,children:e.jsx(bt,{})})]},f.index))]})]})}),e.jsxs(Ie,{attached:!0,children:[o!==r&&e.jsxs(H,{normal:!0,disabled:a||!r,"data-tooltip":"Make this the default world for the server (on startup)",onClick:()=>u(),children:[e.jsx(ul,{}),"Make Default"]}),o===r&&e.jsxs(H,{warn:!0,disabled:a||!r,"data-tooltip":"Remove this world as the default world for the server (on startup)",onClick:()=>h(),children:[e.jsx(cl,{}),"Clear Default"]}),e.jsx("span",{style:{flex:1}}),e.jsxs(H,{main:!0,"data-tooltip":"Load this world immediately",disabled:a||!c.started||!r,onClick:()=>v.prompt(e.jsxs("p",{children:["Are you sure you want to load"," ",e.jsx("b",{style:{color:"white"},children:r}),"? Unsaved work will be lost."]})).then(f=>{f&&l()}),children:[e.jsx(bt,{}),"Load"]})]}),v.children]})},Dh=({meta:t})=>{const[n,r]=Ct(),a=M.useMemo(()=>Object.fromEntries(t?.owners.map(C=>[C.id,C])??[]),[t]),i=M.useMemo(()=>{const C=Object.keys(a),_=st(C,l=>a[l].display_name),S=st(C,l=>a[l].brick_count),P=st(C,l=>a[l].component_count),w=st(C,l=>a[l].entity_count),v=st(C,l=>a[l].wire_count),u=ks(C.length).reverse(),h=ks(C.length);return{display_name:_,brick_count:S,component_count:P,entity_count:w,wire_count:v,reverse:u,inorder:h}},[t]),[s,o]=M.useState("brick_count"),[c,y]=M.useState(-1),b=C=>{C==s?y(_=>_*-1):(o(C),y(C==="display_name"?1:-1))};return t?e.jsx(ye,{children:e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},onClick:()=>b("display_name"),children:e.jsxs("span",{children:["Name",e.jsx(le,{name:"display_name",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>b("brick_count"),children:e.jsxs("span",{children:["Bricks",e.jsx(le,{name:"brick_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>b("component_count"),children:e.jsxs("span",{children:["Components",e.jsx(le,{name:"component_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>b("entity_count"),children:e.jsxs("span",{children:["Entities",e.jsx(le,{name:"entity_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>b("wire_count"),children:e.jsxs("span",{children:["Wires",e.jsx(le,{name:"wire_count",sort:s,direction:c})]})})]})}),e.jsxs("tbody",{children:[t?.owners.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:5,style:{textAlign:"center"},children:"No owners found in this world"})}),(c>0?i.inorder:i.reverse).map(C=>{const _=i[s][C],S=a[_];return!S||S.brick_count+S.component_count+S.entity_count+S.wire_count===0?null:e.jsxs("tr",{onClick:()=>r(`/players/${_}`),children:[e.jsx("td",{className:"player-name",children:e.jsx("div",{className:"player-name-container",children:e.jsxs("div",{children:[e.jsx("div",{"data-tooltip":S.display_name?"Display Name":"Username",children:S.display_name??S.name}),S.display_name&&e.jsx("div",{className:"username","data-tooltip":"Username",children:S.name})]})})}),e.jsx("td",{style:{textAlign:"right"},children:S.brick_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:S.component_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:S.entity_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:S.wire_count.toLocaleString()})]},_)})]})]})}):null},Oh=["Plate","Space","Studio","Peaks"],Eh=()=>{const[t,n]=M.useState(""),[r,a]=M.useState(!0),[i,s]=M.useState([]),[o,c]=M.useState(!1),y=Ce(Ue),b=Ce(Ge),[C,_]=M.useState(!1),S=Zo(),[P,w]=Ee("/worlds/*?"),v=w?.["*"],u=async()=>{a(!0);const[N,T,I]=await Promise.all([X("world.list"),X("world.active"),X("world.next")]);s(N),Ge.set(T),Ue.set(I),a(!1)};M.useEffect(()=>{u()},[]);const h=async()=>{if(c(!0),await X("world.use",null)){Ge.set(null);const T=await X("world.next");Ue.set(T)}c(!1)},l=async()=>{c(!0),await X("world.save"),c(!1)},f=async N=>{c(!0),await X("world.save",N),c(!1),u()},m=async(N,T)=>{c(!0),await X("world.create",N,T),c(!1),u()},p=N=>N.toLowerCase().includes(t.toLowerCase()),[g,d]=M.useState(null),j=mt({title:"Save World As",content:e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Enter a name for the new world"}),e.jsx("p",{children:e.jsx(ie,{type:"text",placeholder:"World Name",value:g??"",onChange:N=>d(N)})})]}),leftButton:N=>e.jsxs(H,{normal:!0,onClick:()=>N(null),children:[e.jsx(ct,{}),"Cancel"]}),rightButton:N=>e.jsxs(H,{disabled:!g,main:!0,onClick:()=>N(g),children:[e.jsx(_t,{}),"Save As"]})}),[O,D]=M.useState("Plate"),q=mt({title:"Create New World",content:e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Select a name and map for the new world"}),e.jsx("p",{children:e.jsx(ie,{type:"text",placeholder:"World Name",value:g??"",onChange:N=>d(N)})}),e.jsx("p",{children:e.jsx(_a,{value:O,options:Oh,onChange:N=>D(N)})})]}),leftButton:N=>e.jsxs(H,{normal:!0,onClick:()=>N(null),children:[e.jsx(ct,{}),"Cancel"]}),rightButton:N=>e.jsxs(H,{disabled:!g,main:!0,onClick:()=>N({name:g,map:O}),children:[e.jsx(_t,{}),"Create"]})});return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Worlds",children:e.jsxs("div",{className:"widgets-container worlds",children:[e.jsxs(H,{normal:!0,boxy:!0,"data-tooltip":"Show more world actions",onClick:()=>_(!C),children:[C?e.jsx(nl,{}):e.jsx(hl,{}),"Actions"]}),e.jsxs("div",{className:"widgets-list",style:{display:C?"block":"none"},children:[e.jsxs(H,{info:!0,disabled:o||!S.started,"data-tooltip":"Save the currently loaded world",onClick:()=>{_(!1),l()},children:[e.jsx(ll,{}),"Save World"]}),e.jsxs(H,{normal:!0,disabled:o||!S.started,"data-tooltip":"Save a copy of the currently loaded world",onClick:()=>{_(!1),d(null),j.prompt().then(N=>{N&&f(N)})},children:[e.jsx(Pu,{}),"Save As"]}),e.jsxs(H,{main:!0,disabled:o||!S.started,"data-tooltip":"Create a new world",onClick:()=>{_(!1),d(null),D("Plate"),q.prompt().then(N=>{N&&m(N.name,N.map)})},children:[e.jsx(qu,{}),"New World"]}),e.jsxs(H,{normal:b===null,warn:b!==null,disabled:o||!b,"data-tooltip":"Remove the default world for the server (on startup)",onClick:()=>{_(!1),h()},children:[e.jsx(cl,{}),"Clear Default"]})]})]})}),e.jsxs(De,{children:[e.jsx(Oe,{}),e.jsxs("div",{className:"generic-container worlds-container",children:[e.jsxs("div",{className:"worlds-list-container",children:[e.jsxs(ve,{children:[e.jsx(ie,{type:"text",placeholder:"Search Worlds...",value:t,onChange:N=>n(N)}),e.jsx("span",{style:{flex:1}}),e.jsx(H,{icon:!0,normal:!0,"data-tooltip":"Refresh world list",onClick:u,children:e.jsx(Et,{})})]}),e.jsxs("div",{className:"worlds-list",children:[e.jsx(ye,{children:i.map(N=>p(N)&&e.jsxs(ut,{href:"/worlds/"+N,className:`world-item ${N===v?"selected":""} ${N===b?"next":""}`,"data-tooltip":N===b?"This world will load when the server starts":"",children:[N===b?e.jsx(ul,{className:"world-item-active"}):!b&&N===y?e.jsx(Du,{className:"world-item-next"}):e.jsx(Nu,{}),N]},N))}),e.jsx(fe,{active:r,size:"huge",children:"Loading Worlds"})]})]}),e.jsxs("div",{className:"world-inspector-container",children:[e.jsx(ve,{attached:!0,children:v??"SELECT A WORLD"}),e.jsx("div",{className:"world-inspector",children:e.jsx(qh,{})})]})]})]}),j.children,q.children]})},Nh=()=>e.jsx(ru,{children:e.jsx(nu,{hook:au,children:e.jsxs(el,{children:[e.jsx(me,{path:"/",component:Cc}),e.jsx(me,{path:"/history/:time?",component:Iu}),e.jsx(me,{path:"/players/:id?",component:Dc}),e.jsx(me,{path:"/plugins/:id?",component:Nc}),e.jsx(me,{path:"/server",component:Tc}),e.jsx(me,{path:"/users/:id?",component:Mc}),e.jsx(me,{path:"/worlds/*?",component:Eh}),e.jsx(me,{component:Lu})]})})});Bl.createRoot(document.getElementById("root")).render(e.jsx(Nh,{}));
6
+ //# sourceMappingURL=app-nJIpyOiP.js.map