@camera.ui/server 2.0.24 → 2.1.1

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 (324) hide show
  1. package/dist/interface/assets/{404-CRIhzt2J.js → 404-BLohRivq.js} +1 -1
  2. package/dist/interface/assets/{About-CvY4xvAU.js → About-CY0n3OBB.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-C11HOLZO.js +1 -0
  4. package/dist/interface/assets/Automation-DOefiaJj.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-RNgRv6Uc.js → AutomationImport-DCqF_Kg7.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-D8plMzVI.js → AutomationStore-Cm9mbUVu.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-BO-9XCRn.js → AutomationStoreDetail-C-4llF7V.js} +2 -2
  8. package/dist/interface/assets/Automations-BwlGOItY.js +2 -0
  9. package/dist/interface/assets/Camera-D_DY9F_D.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-BnKiGukm.js → CameraConsole-BYwWyoKF.js} +2 -2
  11. package/dist/interface/assets/{Cameras-BuHNAHpD.js → Cameras-CghEdt7m.js} +2 -2
  12. package/dist/interface/assets/Camview-CienqE_s.js +1 -0
  13. package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-mLCaY0ld.css} +1 -1
  14. package/dist/interface/assets/Config-DI8pFgr0.js +2 -0
  15. package/dist/interface/assets/{ConfigActionCameraControl-C2qva2mT.js → ConfigActionCameraControl-D3lpO_-w.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-C02w0yBx.js → ConfigActionDelay-Cv1q6noO.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-DVf26mYG.js → ConfigActionHttp-D8NUgGZ1.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-BTlFV7kK.js → ConfigActionImageInput-DBRsJW_A.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-CD9RW5Lq.js → ConfigActionMqtt-B86fFcxQ.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-CjbIPrEb.js → ConfigActionNotification-BxauFTos.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-BCdKNvgC.js → ConfigActionNotificationControl-O2D9WWpM.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-wV9RFDQO.js → ConfigActionOutput-C0ib9PLZ.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-DijuNALK.js → ConfigActionPlugin-BjcHk149.js} +1 -1
  24. package/dist/interface/assets/ConfigActionSensor-0tYVSASv.js +1 -0
  25. package/dist/interface/assets/{ConfigActionSnapshot-B79IJLFV.js → ConfigActionSnapshot-BOqdP-It.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Do94c7oi.js → ConfigActionVariable-Dq7YjPoV.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-BtbZhnCM.js → ConfigConditionIfElse-CT2cuUYH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-D1V_FhNU.js → ConfigConditionSensorState-BfUvxUEF.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-C74dDt3R.js → ConfigConditionSwitch-0G3BqEQj.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-5IrJQgAV.js → ConfigConditionTime-Pbl2smdz.js} +1 -1
  31. package/dist/interface/assets/ConfigSensorValueInput-CuTrBHsT.js +1 -0
  32. package/dist/interface/assets/ConfigTriggerDetection-CiE3Vjp2.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerGeofence-CPn3drQV.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-t-J-HbqF.js → ConfigTriggerManual-xBaOnpVY.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-i57J8-Nq.js → ConfigTriggerMqtt-LJkIASv5.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-Dv7wIG3G.js → ConfigTriggerSchedule-BD3Wph3i.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-Ba2lCSGc.js → ConfigTriggerSensor-CJWLgK9h.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-BWs3rP_W.js → ConfigTriggerSystem-BUKBqK_H.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-CpQakeYG.js → ConfigTriggerWebhook-DTfV1By5.js} +1 -1
  40. package/dist/interface/assets/Console-BCTb_cA5.js +1 -0
  41. package/dist/interface/assets/CuiAutomationRunsDialog-BR7NAzJ4.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-DIg-nl0p.js → CuiBottomSheet-DoljrPAH.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-bbdtyXf2.js +1 -0
  44. package/dist/interface/assets/{CuiCameraPipCard-q3yeptLd.js → CuiCameraPipCard-Dgq8lF_V.js} +1 -1
  45. package/dist/interface/assets/CuiCameraRecordings-DtwHYkGE.js +1 -0
  46. package/dist/interface/assets/{CuiCameraShares-BggG5Ic_.js → CuiCameraShares-MAey7ufK.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-B4WVkliT.js +2 -0
  48. package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
  49. package/dist/interface/assets/CuiDataTable-BmGMKsJm.js +1 -0
  50. package/dist/interface/assets/CuiLightControl-jUzSwiWP.js +1 -0
  51. package/dist/interface/assets/CuiPluginCard-DAmNhiUu.js +2 -0
  52. package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
  53. package/dist/interface/assets/{CuiPluginCategoryChip-DsEuwQrw.js → CuiPluginCategoryChip-DSPwTxQi.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginOAuthButton-Bbwly_xJ.js → CuiPluginOAuthButton-BCcvYrt8.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-BC6F9f-3.js → CuiPluginTrustBadge-D6p-Cs5H.js} +1 -1
  56. package/dist/interface/assets/CuiQRCode-Dll6D9H0.js +1 -0
  57. package/dist/interface/assets/CuiRecordingsGrid-CBcFHQrq.js +1 -0
  58. package/dist/interface/assets/CuiSchema-cCkrONzF.js +1 -0
  59. package/dist/interface/assets/{CuiTopNavbarItem-BZawroJz.js → CuiTopNavbarItem-Dj1lpqE0.js} +1 -1
  60. package/dist/interface/assets/Faces-C-99fN6H.js +1 -0
  61. package/dist/interface/assets/{FirstSteps-Dg0Bvjs2.js → FirstSteps-BTcTmqRf.js} +1 -1
  62. package/dist/interface/assets/Instances-Czb39Tkc.js +1 -0
  63. package/dist/interface/assets/{Logs-DSSDjAY-.js → Logs-Cxug_P1Y.js} +2 -2
  64. package/dist/interface/assets/Menu-DVPNefJA.js +1 -0
  65. package/dist/interface/assets/{OAuthDeviceFlow-CKTokRaq.js → OAuthDeviceFlow-CxdoPgV9.js} +1 -1
  66. package/dist/interface/assets/Plugin-BoBgPYYY.js +1 -0
  67. package/dist/interface/assets/{PluginConsole-CcRMneFa.js → PluginConsole-Cb0aYqXf.js} +1 -1
  68. package/dist/interface/assets/PluginDetail-BUKn2x1R.js +2 -0
  69. package/dist/interface/assets/{PluginSchema-CP0JWUSD.js → PluginSchema-Czc6k-Yu.js} +1 -1
  70. package/dist/interface/assets/PluginSearch-CL0-IZD0.js +1 -0
  71. package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
  72. package/dist/interface/assets/PluginSearch-RgI-CCYF.js +2 -0
  73. package/dist/interface/assets/Plugins-BihIbjoN.js +1 -0
  74. package/dist/interface/assets/Recordings-BMIf2FlS.js +1 -0
  75. package/dist/interface/assets/SensorEdit-BNQC_Typ.js +1 -0
  76. package/dist/interface/assets/{SensorHistory-BeCbNWJh.js → SensorHistory-CFLrj259.js} +1 -1
  77. package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
  78. package/dist/interface/assets/Sensors-Dpwy5UT3.js +2 -0
  79. package/dist/interface/assets/Settings-BTWXZyrk.js +1 -0
  80. package/dist/interface/assets/SettingsAccount-3DkQ3Lxj.js +1 -0
  81. package/dist/interface/assets/SettingsAccount-DwVO8fq2.js +1 -0
  82. package/dist/interface/assets/SettingsAppearance-CFAwBkaK.js +1 -0
  83. package/dist/interface/assets/SettingsAppearance-xKZ26BqD.js +1 -0
  84. package/dist/interface/assets/SettingsBackup-BSyrNc3Z.js +1 -0
  85. package/dist/interface/assets/SettingsList-C077meHM.js +1 -0
  86. package/dist/interface/assets/{SettingsMqtt-DoYFVHoD.js → SettingsMqtt-BReb2PWO.js} +1 -1
  87. package/dist/interface/assets/SettingsNotifications-zfpvJfMb.js +2 -0
  88. package/dist/interface/assets/{SettingsPermissions-D33G-1kM.js → SettingsPermissions-CIv5OeZF.js} +1 -1
  89. package/dist/interface/assets/SettingsRecordings-dSPQF-by.js +1 -0
  90. package/dist/interface/assets/SettingsRemote-D0ZJX5wf.js +1 -0
  91. package/dist/interface/assets/SettingsSystem-BLEcpC-p.js +2 -0
  92. package/dist/interface/assets/{SettingsUsers-2uMPOpyC.js → SettingsUsers-BQQqlcRJ.js} +1 -1
  93. package/dist/interface/assets/Terminal-I3uC-c7V.js +4 -0
  94. package/dist/interface/assets/{VariableInput-Cx9tgiM4.js → VariableInput-Be7j2nen.js} +1 -1
  95. package/dist/interface/assets/{VariableSuggestions-DV_QjTtU.js → VariableSuggestions-Dr5nstx8.js} +1 -1
  96. package/dist/interface/assets/{VersionsHandler-v4hH23M_.js → VersionsHandler-Cb2CN1L7.js} +1 -1
  97. package/dist/interface/assets/{VirtualSensorCreate-DhuGE1Mf.js → VirtualSensorCreate-CA_F6RPb.js} +1 -1
  98. package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-7hKMBU4w.css} +1 -1
  99. package/dist/interface/assets/Workers-CTqGBl_F.js +2 -0
  100. package/dist/interface/assets/api-B3KZZ8rN.js +2 -0
  101. package/dist/interface/assets/api-BMM5CP59.css +2 -0
  102. package/dist/interface/assets/{api-BKU9IS3U.js → api-BWixZaOV.js} +1 -1
  103. package/dist/interface/assets/{auth-B4latCDR.js → auth-D-G85zNQ.js} +1 -1
  104. package/dist/interface/assets/{automations-BFkAMu3Y.js → automations-CDnI6oDm.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-BtaT3B32.js → cameras.schema-B6NhSVdK.js} +1 -1
  106. package/dist/interface/assets/chevron-right-DKkuIAth.js +1 -0
  107. package/dist/interface/assets/cloudHandoff-DOVTmlDw.js +1 -0
  108. package/dist/interface/assets/{config-B_lj3Myj.js → config-CuTS8b79.js} +1 -1
  109. package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
  110. package/dist/interface/assets/{flowSchema-CyZseAPD.js → flowSchema-CTDMgLvN.js} +1 -1
  111. package/dist/interface/assets/main-DRmCcFpa.js +3 -0
  112. package/dist/interface/assets/{mqtt-CFw_CCq8.js → mqtt-DaqGTQzc.js} +1 -1
  113. package/dist/interface/assets/{notifications-0_glcRlR.js → notifications-Dit0-wMf.js} +1 -1
  114. package/dist/interface/assets/{plugins-ICpmsguj.js → plugins-cZz4VMT0.js} +1 -1
  115. package/dist/interface/assets/round-restart-alt-BZXAnyzF.js +1 -0
  116. package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
  117. package/dist/interface/assets/sensors-D6TLuqrM.js +1 -0
  118. package/dist/interface/assets/{server-DbpDC3pc.js → server-CKNXGRUG.js} +1 -1
  119. package/dist/interface/assets/{theme-DlMdsvGC.js → theme-DlzhloFW.js} +1 -1
  120. package/dist/interface/assets/types-BDNk1b9h.js +1 -0
  121. package/dist/interface/assets/{types-CggzoTPX.js → types-DaO4wazK.js} +1 -1
  122. package/dist/interface/assets/{useAppVersion-CCxZnwIP.js → useAppVersion-C9RbfMSY.js} +1 -1
  123. package/dist/interface/assets/useBackupRestore-CXFWCOQy.js +1 -0
  124. package/dist/interface/assets/{useCameraOptions-DVlhUpbE.js → useCameraOptions-Baxr6kPX.js} +1 -1
  125. package/dist/interface/assets/{useElectron-KnqvZz0q.js → useElectron-_5uSFUvf.js} +1 -1
  126. package/dist/interface/assets/{useLogsSocket-CUQwZ6wm.js → useLogsSocket-B6JGfF3p.js} +2 -2
  127. package/dist/interface/assets/{usePermissions-C3D3JcPH.js → usePermissions-qSwLp41H.js} +1 -1
  128. package/dist/interface/assets/{useServerRestart-CqZRPCpR.js → useServerRestart-D8lCTOtI.js} +1 -1
  129. package/dist/interface/assets/{useStreamStatus-CVJFHRLZ.js → useStreamStatus-Dpu6Hkfi.js} +1 -1
  130. package/dist/interface/assets/{useUserOptions-drl3-JUC.js → useUserOptions-CBRlNL95.js} +1 -1
  131. package/dist/interface/assets/{vendor-cameraui-Cgb5z6NJ.js → vendor-cameraui-D2u3KrB1.js} +313 -27
  132. package/dist/interface/assets/vendor-core-BXi0Qi10.js +1 -0
  133. package/dist/interface/assets/{vendor-primevue-CyD8V_Ft.js → vendor-primevue-Bchwc-Ab.js} +85 -371
  134. package/dist/interface/index.html +23 -22
  135. package/dist/interface/sw.js +1 -1
  136. package/dist/server/package.json +6 -6
  137. package/dist/server/requirements.txt +2 -2
  138. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
  139. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
  141. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
  142. package/dist/server/src/api/controllers/cameras.controller.js +0 -99
  143. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/plugins.controller.js +30 -4
  145. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  146. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
  147. package/dist/server/src/api/controllers/workers.controller.js +9 -0
  148. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  149. package/dist/server/src/api/database/index.d.ts +0 -1
  150. package/dist/server/src/api/database/index.js +1 -1
  151. package/dist/server/src/api/database/index.js.map +1 -1
  152. package/dist/server/src/api/database/record-schemas.js +1 -1
  153. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +0 -1
  155. package/dist/server/src/api/index.js +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +1 -42
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/workers.routes.js +11 -0
  159. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
  161. package/dist/server/src/api/schemas/cameras.schema.js +4 -11
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  164. package/dist/server/src/api/services/cameras.service.js +23 -0
  165. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  166. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  167. package/dist/server/src/api/services/plugins.service.js +18 -0
  168. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  169. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  170. package/dist/server/src/api/services/sensors.service.js +1 -0
  171. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  172. package/dist/server/src/api/services/server.service.d.ts +2 -0
  173. package/dist/server/src/api/services/server.service.js +16 -2
  174. package/dist/server/src/api/services/server.service.js.map +1 -1
  175. package/dist/server/src/api/types/index.d.ts +33 -15
  176. package/dist/server/src/api/websocket/nsp/events.js +0 -3
  177. package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +0 -3
  179. package/dist/server/src/camera/controller.js +0 -18
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  182. package/dist/server/src/camera/decoder/detection-coordinator.js +61 -7
  183. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  184. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +16 -1
  185. package/dist/server/src/camera/decoder/detection-pipeline.js +92 -14
  186. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  187. package/dist/server/src/camera/decoder/frame-scaler.d.ts +20 -0
  188. package/dist/server/src/camera/decoder/frame-scaler.js +74 -10
  189. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  190. package/dist/server/src/camera/decoder/secondary-stage.js +17 -14
  191. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  192. package/dist/server/src/camera/decoder/worker.js +2 -2
  193. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  194. package/dist/server/src/camera/sensors/controller.d.ts +1 -10
  195. package/dist/server/src/camera/sensors/controller.js +8 -59
  196. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  197. package/dist/server/src/main.js +2 -97
  198. package/dist/server/src/main.js.map +1 -1
  199. package/dist/server/src/manager/types.d.ts +1 -0
  200. package/dist/server/src/manager/types.js +2 -0
  201. package/dist/server/src/manager/types.js.map +1 -1
  202. package/dist/server/src/mqtt/bridge.d.ts +0 -5
  203. package/dist/server/src/mqtt/bridge.js +2 -5
  204. package/dist/server/src/mqtt/bridge.js.map +1 -1
  205. package/dist/server/src/plugins/plugin.js +3 -1
  206. package/dist/server/src/plugins/plugin.js.map +1 -1
  207. package/dist/server/src/plugins/runtime/base.d.ts +1 -0
  208. package/dist/server/src/plugins/runtime/base.js +19 -0
  209. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  210. package/dist/server/src/plugins/runtime/go/index.js +1 -1
  211. package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
  212. package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
  213. package/dist/server/src/plugins/runtime/node/child.js +5 -2
  214. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  215. package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
  216. package/dist/server/src/plugins/runtime/node/index.js +1 -20
  217. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  218. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
  219. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  220. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
  221. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  222. package/dist/server/src/plugins/runtime/python/child.py +62 -5
  223. package/dist/server/src/plugins/runtime/python/index.js +3 -0
  224. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  225. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
  226. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
  227. package/dist/server/src/plugins/types.d.ts +3 -1
  228. package/dist/server/src/plugins/types.js +2 -0
  229. package/dist/server/src/plugins/types.js.map +1 -1
  230. package/dist/server/src/plugins/worker.d.ts +1 -0
  231. package/dist/server/src/plugins/worker.js +42 -3
  232. package/dist/server/src/plugins/worker.js.map +1 -1
  233. package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
  234. package/dist/server/src/rpc/namespaces.d.ts +0 -7
  235. package/dist/server/src/rpc/namespaces.js +0 -7
  236. package/dist/server/src/rpc/namespaces.js.map +1 -1
  237. package/dist/server/src/rpc/server.js +10 -13
  238. package/dist/server/src/rpc/server.js.map +1 -1
  239. package/dist/server/src/sensors/registry.d.ts +5 -1
  240. package/dist/server/src/sensors/registry.js +53 -25
  241. package/dist/server/src/sensors/registry.js.map +1 -1
  242. package/dist/server/src/utils/engines.d.ts +3 -1
  243. package/dist/server/src/utils/engines.js +11 -0
  244. package/dist/server/src/utils/engines.js.map +1 -1
  245. package/dist/server/src/utils/ipc.d.ts +2 -0
  246. package/dist/server/src/utils/ipc.js +104 -0
  247. package/dist/server/src/utils/ipc.js.map +1 -1
  248. package/dist/server/src/utils/npm/index.d.ts +6 -1
  249. package/dist/server/src/utils/npm/index.js +3 -0
  250. package/dist/server/src/utils/npm/index.js.map +1 -1
  251. package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
  252. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  253. package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
  254. package/dist/server/src/utils/pythonInstaller.js +14 -0
  255. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  256. package/dist/server/src/workers/agent.d.ts +5 -0
  257. package/dist/server/src/workers/agent.js +49 -1
  258. package/dist/server/src/workers/agent.js.map +1 -1
  259. package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
  260. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  261. package/dist/server/src/workers/manager.d.ts +1 -0
  262. package/dist/server/src/workers/manager.js +22 -0
  263. package/dist/server/src/workers/manager.js.map +1 -1
  264. package/dist/server/src/workers/types.d.ts +8 -0
  265. package/package.json +6 -6
  266. package/dist/interface/assets/Adminpanel-4ilp8plp.js +0 -1
  267. package/dist/interface/assets/Automation-uaWWTeTZ.js +0 -3
  268. package/dist/interface/assets/Automations-PHMVe6wG.js +0 -2
  269. package/dist/interface/assets/Camera-Akukeq4_.js +0 -2
  270. package/dist/interface/assets/Camview-dF8o0iy2.js +0 -1
  271. package/dist/interface/assets/Config-iq-YI9Vg.js +0 -2
  272. package/dist/interface/assets/ConfigActionSensor-C9q3sRuI.js +0 -1
  273. package/dist/interface/assets/ConfigSensorValueInput-BcbzMf0g.js +0 -1
  274. package/dist/interface/assets/ConfigTriggerDetection-ld9Upgoc.js +0 -1
  275. package/dist/interface/assets/ConfigTriggerGeofence-DbfBc1AM.js +0 -1
  276. package/dist/interface/assets/Console-BTb5Yc32.js +0 -1
  277. package/dist/interface/assets/CuiAutomationRunsDialog-DX0xpNxx.js +0 -1
  278. package/dist/interface/assets/CuiBottomSheet-Bu0PtwX-.js +0 -1
  279. package/dist/interface/assets/CuiCameraRecordings-BWN8gBl4.js +0 -1
  280. package/dist/interface/assets/CuiCameraTable-BCrE4TMJ.js +0 -2
  281. package/dist/interface/assets/CuiDataTable-Dk8LJl5S.js +0 -1
  282. package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
  283. package/dist/interface/assets/CuiLightControl-CaIl2eCO.js +0 -1
  284. package/dist/interface/assets/CuiList-Cjbxtb1E.js +0 -1
  285. package/dist/interface/assets/CuiPluginCard-cvZkF8Cz.js +0 -2
  286. package/dist/interface/assets/CuiQRCode-DKHFwuhr.js +0 -1
  287. package/dist/interface/assets/CuiRecordingsGrid-DSf7RXci.js +0 -1
  288. package/dist/interface/assets/CuiSchema-Dda4lNPz.js +0 -1
  289. package/dist/interface/assets/Faces-CvQCD53E.js +0 -1
  290. package/dist/interface/assets/Instances-DisNu3zt.js +0 -1
  291. package/dist/interface/assets/Menu-CJ-MMxvd.js +0 -1
  292. package/dist/interface/assets/Plugin-7daLGUVo.js +0 -1
  293. package/dist/interface/assets/PluginDetail-B1-NdurE.js +0 -2
  294. package/dist/interface/assets/PluginSearch-BHN0J_JP.js +0 -2
  295. package/dist/interface/assets/PluginSearch-Cx_lzDqC.js +0 -1
  296. package/dist/interface/assets/Plugins-DnMPdcQF.js +0 -1
  297. package/dist/interface/assets/Recordings-Dxs3srmh.js +0 -1
  298. package/dist/interface/assets/SensorEdit-Dq2nV1Wf.js +0 -1
  299. package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
  300. package/dist/interface/assets/Sensors-D9DLdMaD.js +0 -2
  301. package/dist/interface/assets/Settings-DCHoD7r8.js +0 -1
  302. package/dist/interface/assets/SettingsAccount-BrhnlNuF.js +0 -1
  303. package/dist/interface/assets/SettingsAccount-djLxmQ9r.js +0 -1
  304. package/dist/interface/assets/SettingsAppearance-Bq-xM16S.js +0 -1
  305. package/dist/interface/assets/SettingsAppearance-JKbe5xiH.js +0 -1
  306. package/dist/interface/assets/SettingsBackup-CjlVk3hF.js +0 -1
  307. package/dist/interface/assets/SettingsList-C4mMOKJh.js +0 -1
  308. package/dist/interface/assets/SettingsNotifications-Cmr9Bvy0.js +0 -2
  309. package/dist/interface/assets/SettingsRecordings-DYiuW0rA.js +0 -1
  310. package/dist/interface/assets/SettingsRemote-CROA1Oa7.js +0 -1
  311. package/dist/interface/assets/SettingsSystem-rgucO68X.js +0 -2
  312. package/dist/interface/assets/Terminal-BMFWoJ_k.js +0 -4
  313. package/dist/interface/assets/Workers-DyJXudfY.js +0 -2
  314. package/dist/interface/assets/api-3va2gyB0.css +0 -2
  315. package/dist/interface/assets/api-Cc-rMHwl.js +0 -2
  316. package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
  317. package/dist/interface/assets/cloudHandoff-CPrXpD0L.js +0 -1
  318. package/dist/interface/assets/main-C4qjk6s5.js +0 -3
  319. package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
  320. package/dist/interface/assets/round-restart-alt-CxUkNgtt.js +0 -1
  321. package/dist/interface/assets/sensors-Bh5GuQ78.js +0 -1
  322. package/dist/interface/assets/types-C1VwkReu.js +0 -1
  323. package/dist/interface/assets/useBackupRestore-DQQc_D6D.js +0 -1
  324. package/dist/interface/assets/vendor-core-BJsSXMFQ.js +0 -1
@@ -1 +0,0 @@
1
- import{Ar as e,Mr as t,Nr as n,jr as r}from"./vendor-cameraui-Cgb5z6NJ.js";import{C as i,S as a,_ as o,a as s,b as c,c as l,d as u,f as ee,g as d,h as f,i as p,l as m,m as te,o as h,p as ne,s as g,u as _,v as re,w as v,x as y,y as b}from"./vendor-zod-Dbq0fBXY.js";o({tempToken:c().trim().min(1,`Temporary token is required`),code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().length(6,`Code must be 6 digits`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({grant_type:c().optional(),username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`),scope:c().optional(),client_id:c().optional(),client_secret:c().optional()}),o({refresh_token:c().min(1,`Refresh token is required`)}),o({id:c()}),o({name:c().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),o({id:c()});function x(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var ie=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function ae(){return ie[Math.floor(Math.random()*ie.length)]}function oe(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:ae()}}var se=o({enabled:_().default(!0),mode:g([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:d().min(0).max(60).default(10),sources:m(g([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),ce={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},S=c().trim().min(1,`Detection label is required`),C=y([d(),d()]),w=o({name:c().trim().min(1,`Zone Name is required`),points:C.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]),filter:a([f(`include`),f(`exclude`)]),labels:S.array(),isPrivacyMask:_(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),T=o({name:c().trim().min(1,`Line Name is required`),points:y([C,C]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:S.array(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),E=o({motion:o({resolution:a([f(`low`),f(`medium`),f(`high`)]),timeout:d().min(10,`Minimum 10 seconds`)}),object:o({confidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`),suppressStatic:_().default(!0)}),audio:o({minDecibels:d().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:d().min(10,`Minimum 10 seconds`),confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5)}).default({confidence:.5}),licensePlate:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:d().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.9,minLength:4}),sensor:o({timeout:d().min(10,`Minimum 10 seconds`),triggers:m(c().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:_().default(!0),cascadeTimeout:d().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:_().default(!1)}),le={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4},D=o({enabled:_().default(!1),targetLabels:c().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:d().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:d().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:d().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:d().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:_().default(!1),homeWaitMs:d().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),O=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`),f(`snapshot`)]),ue=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),de=a([f(`bubble://`),f(`cui://`),f(`doorbird://`),f(`dvrip://`),f(`eseecloud://`),f(`ffmpeg:`),f(`flussonic://`),f(`gopro://`),f(`hass:`),f(`homekit://`),f(`http://`),f(`https://`),f(`httpx://`),f(`isapi://`),f(`ivideon:`),f(`kasa://`),f(`nest:`),f(`onvif://`),f(`ring:`),f(`roborock://`),f(`rtmp://`),f(`rtsp://`),f(`rtspx://`),f(`tapo://`),f(`tcp://`),f(`tuya://`),f(`xiaomi://`),f(`yandex:`),f(`webrtc:`),f(`webtorrent:`),f(`wyze://`)]).options.map(e=>e.value),fe=RegExp(`^(${de.join(`|`)})`),pe=c().refine(e=>{if(!fe.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),me=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:_().default(!1),hotMode:_().default(!0),preload:_().default(!0),muted:_().default(!1),urls:pe.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),he=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:_().default(!1),hotMode:_().default(!0),preload:_().default(!0),muted:_().default(!1),urls:pe.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),k=o({id:c(),name:c().trim()}),ge=o({motion:k.optional(),object:k.optional(),objectAssist:k.optional(),audio:k.optional(),face:k.optional(),licensePlate:k.optional(),ptz:k.optional(),battery:k.optional(),cameraController:k.optional(),clip:k.optional(),classifier:k.array().optional(),light:k.array().optional(),siren:k.array().optional(),switch:k.array().optional(),securitySystem:k.array().optional(),contact:k.array().optional(),doorbell:k.array().optional(),lock:k.array().optional(),temperature:k.array().optional(),humidity:k.array().optional(),occupancy:k.array().optional(),smoke:k.array().optional(),leak:k.array().optional(),garage:k.array().optional(),hub:k.array().optional()}).strict(),_e=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),ve=c().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),ye=o({hardware:g([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:c().trim().max(128).optional()}).strict(),be=o({fps:d().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`),hqSnapshots:_().default(!1),decoder:ye.optional(),workerDecoder:ye.optional()}),xe=a([f(`camera`),f(`doorbell`)]),Se=o({streamingMode:_e,streamingSource:ue,aspectRatio:ve}),Ce=o({model:c().trim().optional(),manufacturer:c().trim().optional(),hardware:c().trim().optional(),serialNumber:c().trim().optional(),firmwareVersion:c().trim().optional(),supportUrl:c().trim().optional()}),we=o({id:c(),name:c().trim()}).strict(),Te=o({autoRefresh:_().default(!0),ttl:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),A=o({_id:c().default(r()).transform(()=>r()),nativeId:c().trim().optional(),pluginInfo:we.optional(),disabled:_().default(!1),name:c().trim().min(1,`Camera name is required`),room:c().trim().min(1,`Room is required`).default(`Default`),type:xe.default(`camera`),isCloud:_().default(!1),snapshotSettings:Te.default({autoRefresh:!0,ttl:50,interval:60}),info:Ce.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:me.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}),plugins:k.array().default([]),assignments:ge.default({}),interfaceSettings:Se.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:w.default([]),detectionLines:T.default([]),detectionSettings:E.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5,suppressStatic:!0},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5},licensePlate:{confidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:D.default(le),recordingSettings:se.default(ce),frameWorkerSettings:be.default({fps:10,hqSnapshots:!1})}).strict();A.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[oe()]:e.detectionZones;return e.isCloud||x(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var Ee=o({disabled:_().optional(),type:xe.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:_().optional(),snapshotSettings:Te.partial().optional(),info:Ce.partial().optional(),sources:he.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).optional(),plugins:k.array().optional(),assignments:ge.partial().optional(),interfaceSettings:Se.partial().optional(),detectionZones:w.optional(),detectionLines:T.optional(),detectionSettings:E.partial().optional(),ptzAutotrack:D.partial().optional(),recordingSettings:se.partial().optional(),frameWorkerSettings:be.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||x(t))return{...e,isCloud:!0}}return e});o({url:c().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),o({cameraname:c()}),o({cameraname:c(),sourcename:c()}),o({cameraid:c(),sourcename:c()}),o({cameraname:c(),pluginname:c()}),o({cameraname:c(),scope:c(),pluginname:c()}),o({cameraname:c(),pluginname:c(),sensorId:c()}),o({cameraname:c(),stableId:c()}),o({property:c(),value:i()}),o({cameraname:c(),scope:c(),pluginname:c(),sensorId:c()}),o({type:c().optional()}),o({video:p().optional(),audio:p().optional(),microphone:p().optional(),refresh:p().optional()}),o({forceNew:p().optional()}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:v(`Must be a valid URL`).trim(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)})}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:v(`Must be a valid URL`).trim().optional(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)}).nullable().optional()}),o({id:c().min(1,`ID is required`)}),o({code:c().trim().min(1,`Code is required`).optional()}).optional();var j=/^[\w-]+(\/[\w-]+)*$/,De=o({enabled:_().optional(),mode:g([`external`,`embedded`]).optional(),broker:o({port:d().int().min(1).max(65535).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:c().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:d().int().min(1).max(65535).optional(),protocol:g([`mqtt`,`mqtts`]).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:c().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:c().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(j,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:o({rejectUnauthorized:_().optional(),ca:c().trim().nullable().optional(),cert:c().trim().nullable().optional(),key:c().trim().nullable().optional()}).strict().optional(),haDiscovery:o({enabled:_().optional(),prefix:c().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(j,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),Oe=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,ke=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e}({});function M(e){return e.mimetype!==void 0}function Ae(e){return M(e)?Buffer.byteLength(e._buf):e.size}function je(e){return M(e)?e.mimetype:e.type}function N(e,t,n,r){return u().refine(t=>Ae(t)<=e,n).refine(e=>t.includes(je(e)),r)}var Me=o({start:s().optional(),page:s().optional(),pageSize:s().optional()}),P=[`image/jpeg`,`image/png`],Ne=2097152,F=[`video/mp4`,`video/quicktime`],I=10485760,L=[`audio/mpeg`,`audio/wav`,`audio/ogg`],R=2097152,z=()=>N(Ne,P,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),B=u().transform(e=>JSON.parse(e.value)),V=u().transform(e=>JSON.parse(e.value)),Pe=u().transform(e=>JSON.parse(e.value));o({pluginname:c().trim().refine(e=>Oe.test(e),`Not a valid plugin name`),pluginversion:c().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict(),o({actionId:c(),payload:l()}).strict(),b(l(),l()),o({upload:z(),metadata:V,config:B}),o({upload:N(R,L,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Pe,config:B}),o({upload:N(I,F,`Max file size is 5 MB`,`.mp4 files are accepted`),config:B}),o({upload:z(),metadata:V,config:B}),o({upload:z(),metadata:V,config:B}),o({upload:z(),metadata:V,config:B}),o({pluginname:c()}),o({scope:c(),pluginname:c()}),Me.extend({pluginname:c().trim().optional(),refresh:p().optional()}),o({removeStorage:p().optional()}),o({pluginversion:c().trim().optional()});var Fe=o({enabled:_().optional(),directEnabled:_().optional(),directMode:g([`cloudflare`,`customDomain`]).optional(),customDomain:o({url:v(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:o({mode:g([`quick`,`token`,`managed`]).optional(),hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:c().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});o({mode:g([`cloudflare`,`customDomain`])}).strict(),o({hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),o({version:c().trim().optional().default(`latest`)}).strict();var Ie=o({serverAddresses:a([ne().trim(),te().trim()]).array().default([])}).strict();o({version:c().trim()}).strict(),b(c(),l()),o({key:c()}).strict(),o({key:c(),payload:l()}).strict();function Le(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return e}var H=Le();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function Re(){return Object.entries(H).filter(([,e])=>e.multiProvider).map(([e])=>e)}function ze(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function Be(){return Object.entries(H).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function Ve(e){return H[e].assignmentKey}function He(){return Object.entries(H).filter(([,e])=>e.category===n.Sensor&&!e.multiProvider).map(([e])=>e)}function Ue(){return Object.entries(H).filter(([,e])=>!e.multiProvider&&e.category!==n.Sensor).map(([e])=>e)}function We(){return Object.entries(H).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Ge(e){return!H[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var U=Object.fromEntries(t.map(e=>[e.type,e.properties]));function Ke(e,t){return U[e]?.[t]}function qe(e){let t=U[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function Je(e){let t=U[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function Ye(e,t){let r=H[e];return r?r.category===n.Control||r.category===n.Trigger||t===`cameraui.virtual`&&!r.isDetectionType:!1}new Set(Re()),new Set(Be());var W=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),o({id:c().min(1,`Sensor ID is required`)});var Xe=o({cameraId:c().min(1).optional(),type:g(W),name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});o({displayName:c().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:m(c().min(1)).optional(),exposed:_().optional(),hidden:_().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0||e.hidden!==void 0,{message:`Nothing to update`}),o({property:c().trim().min(1,`Property is required`),value:i()});var Ze=[`de`,`en`],Qe=[`image/jpeg`,`image/jpg`,`image/png`],$e=5242880,et=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),tt=a([f(1),f(4),f(6),f(7),f(9),f(10),f(12),f(13),f(15),f(16),f(20),f(26)]),nt=a([f(`dnd`),f(`view`)]),rt=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Layout name is required`),viewSize:tt,cameras:et.array(),type:nt});o({name:c().trim().min(1,`Layout name is required`),viewSize:tt,cameras:et.array()}).partial().optional();var it=o({views:rt.array()}),at=t.filter(e=>e.shortcutable).map(e=>String(e.type)),ot=g(at),st=o({_id:c().default(r()).transform(()=>r()),type:f(`camera`),cameraId:c(),points:C}),ct=o({_id:c().default(r()).transform(()=>r()),type:f(`sensor`),sensorId:c(),sensorType:ot,points:C}),lt=ee(`type`,[st,ct]),ut=o({type:f(`camera`),cameraId:c(),points:C}).partial(),dt=o({type:f(`sensor`),sensorId:c(),sensorType:ot,points:C}).partial();a([ut,dt]).optional();var ft=o({shortcuts:lt.array()}),pt=g([`auto`,...Ze]),mt=o({language:pt.optional(),camview:it,cameras:b(c().trim(),ft)}),G=c().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),ht=o({_id:c().default(r()).transform(()=>r()),username:c().trim().min(1,`Username is required`),password:G,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:_().default(!0),preferences:mt.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c().trim().min(1,`Username is required`),password:c().trim().min(1,`Password is required`),kind:g([`native`,`web`,`tv`]),persistent:_().default(!1),device:o({id:c().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:c().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var gt=o({username:c().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:re(N($e,Qe,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:_().optional(),preferences:mt.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c()}),o({username:c(),cameraname:c()}),o({username:c(),cameraname:c(),shortcutid:c()}),o({username:c(),viewid:c()}),o({username:c()});function _t(e){return e.type===`string`&&!(`enum`in e)}function vt(e){return e.type===`number`}function yt(e){return e.type===`boolean`}function K(e){return e.type===`string`&&`enum`in e}function bt(e){return e.type===`array`}function q(e){return e.type===`button`}function J(e){return e.type===`submit`}function xt(e){return _t(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Y=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Y(e,t)):Y(e,t)}function St(t,n){if(!t||Object.keys(t).length===0)return!0;let r=n.filter(e=>!q(e)&&!J(e));for(let n of r){let r=Q(t,n.key),i=Z(n);if(r!==void 0&&!e(r,i,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return K(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function Ct(e){let t={};for(let n of e)q(n)||J(n)||(t[n.key]=Z(n));return t}function wt(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Tt(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of wt(t)){if(n==null)return;n=n[e]}return n}function Et(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=wt(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Tt(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Dt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!q(r)&&!J(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Ot(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function kt(e,t){let n=Ot(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function At(e,t){let n=Ot(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function jt(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(q(e)||J(e))return l();switch(e.type){case`string`:if(K(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=g(e.enum);return e.required?t:t.optional()}let t=c().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||jt(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=d();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?_():_().optional();case`array`:let r=e.items?$(e.items):l(),i=m(r);return e.required?i:i.optional();default:return e.required?l():l().optional()}}var Mt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Nt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!q(e)&&!J(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=o(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!q(e)&&!J(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Mt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:h.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:h.custom,message:`Required`,path:[e.key]})}})),r}export{Ue as A,L as B,gt as C,W as D,H as E,Je as F,ke as G,P as H,Ge as I,A as J,De as K,Ye as L,qe as M,Ke as N,We as O,ze as P,Ee as Q,Ie as R,G as S,Xe as T,R as U,F as V,I as W,w as X,T as Y,O as Z,At as _,Nt as a,Ze as b,yt as c,K as d,vt as f,kt as g,xt as h,Dt as i,He as j,Ve as k,q as l,J as m,Ct as n,Q as o,_t as p,de as q,Z as r,bt as s,X as t,St as u,Et as v,rt as w,ht as x,$e as y,Fe as z};
@@ -1 +0,0 @@
1
- import{Zn as e,g as t,ir as n,s as r}from"./api-Cc-rMHwl.js";import{cr as i}from"./vendor-CSg6_Jfu.js";import{a}from"./server-DbpDC3pc.js";import{n as o}from"./useServerRestart-CqZRPCpR.js";var s=3e5;async function c(e){return(await n.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,t){return(await n.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&t?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await n.get(`/backup/scheduler`)).data}async function d(e){return(await n.patch(`/backup/scheduler`,e)).data}async function f(){return(await n.post(`/backup/scheduler/run`)).data}async function p(e){return(await n.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await n.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function n(n){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,n),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=r(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await t().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:n}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +0,0 @@
1
- import{Hr as e,Jr as t,Qr as n,Rr as r,Ur as i,Vr as a,Wr as o,_i as s,ai as c,fi as l,gi as u,ii as d,mi as f,ni as p,pi as m,qr as h,ui as g,zr as _}from"./vendor-cameraui-Cgb5z6NJ.js";import{$n as v,An as ee,En as y,Mn as te,Pn as b,Tn as ne,ar as x,bn as S,cr as C,dr as w,er as re,fr as T,gn as ie,gr as E,hn as D,hr as ae,in as O,ir as k,jn as A,lr as oe,mr as j,nr as M,or as N,pr as se,qn as P,rr as F,ur as I,vn as L,yn as R}from"./vendor-CSg6_Jfu.js";var ce=typeof window<`u`,le,z=e=>le=e,ue=Symbol();function de(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var fe=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function pe(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function me(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){_e(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function he(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function B(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var V=typeof navigator==`object`?navigator:{userAgent:``},ge=/Macintosh/.test(V.userAgent)&&/AppleWebKit/.test(V.userAgent)&&!/Safari/.test(V.userAgent),_e=ce?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!ge?ve:`msSaveOrOpenBlob`in V?ye:be:()=>{};function ve(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?B(r):he(r.href)?me(e,t,n):(r.target=`_blank`,B(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){B(r)},0))}function ye(e,t=`download`,n){if(typeof e==`string`)if(he(e))me(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){B(t)})}else navigator.msSaveOrOpenBlob(pe(e,n),t)}function be(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return me(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(fe.HTMLElement))||`safari`in fe,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||ge)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:xe}=Object;function Se(){let e=v(!0),t=e.run(()=>C({})),n=[],r=[],i=k({install(e){z(i),i._a=e,e.provide(ue,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ce=()=>{};function we(e,t,n,r=Ce){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&re()&&x(i),i}function H(e,...t){e.forEach(e=>{e(...t)})}var Te=e=>e(),Ee=Symbol(),De=Symbol();function Oe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=de(i)&&de(r)&&Object.hasOwn(e,n)&&!F(r)&&!M(r)?Oe(i,r):r}return e}var ke=Symbol();function Ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ke)}var{assign:U}=Object;function je(e){return!!(F(e)&&e.effect)}function Me(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),U(j(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=k(O(()=>{z(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Ne(e,l,t,n,r,!0),c}function Ne(e,t,n={},r,i,a){let o,s=U({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(Oe(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();ne().then(()=>{h===i&&(l=!0)}),u=!0,H(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{U(e,t)})}:Ce;function ee(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(Ee in t)return t[De]=n,t;let i=function(){z(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}H(f,{args:n,name:i[De],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw H(o,e),e}return l instanceof Promise?l.then(e=>(H(a,e),e)).catch(e=>(H(o,e),Promise.reject(e))):(H(a,l),l)};return i[Ee]=!0,i[De]=n,i},te={_p:r,$id:e,$onAction:we.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return Ce;let i=we(d,t,n.detached,()=>a()),a=o.run(()=>P(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},U({},c,n)));return i},$dispose:ee},b=N(te);r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Te)(()=>r._e.run(()=>(o=v()).run(()=>t({action:y}))));for(let t in x){let n=x[t];F(n)&&!je(n)||M(n)?a||(m&&Ae(n)&&(F(n)?n.value=m[t]:Oe(n,m[t])),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return U(b,x),U(T(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{U(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));U(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function Pe(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=R();return n||=o?S(ue,null):null,n&&z(n),n=le,n._s.has(e)||(i?Ne(e,t,r,n):Me(e,r,n)),n._s.get(e)}return a.$id=e,a}function Fe(e){let t=T(e),n={};for(let r in t){let i=t[r];i?.effect?n[r]=O({get:()=>e[r],set(t){e[r]=t}}):(F(i)||M(i))&&(n[r]=se(e,r))}return n}function Ie(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Le(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Ie(e.default)}var W=Object.assign;function Re(e,t){let n={};for(let r in t){let i=t[r];n[r]=K(i)?i.map(e):e(i)}return n}var G=()=>{},K=Array.isArray;function ze(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Be=Symbol(``);function q(e,t){return W(Error(),{type:e,[Be]:!0},t)}function J(e,t){return e instanceof Error&&Be in e&&(t==null||!!(e.type&t))}var Ve=Symbol(``),He=Symbol(``),Ue=Symbol(``),We=Symbol(``),Ge=Symbol(``);function Ke(){return S(Ue)}function qe(e){return S(We)}var Y=typeof document<`u`,Je=/#/g,Ye=/&/g,Xe=/\//g,Ze=/=/g,Qe=/\?/g,$e=/\+/g,et=/%5B/g,tt=/%5D/g,nt=/%5E/g,rt=/%60/g,it=/%7B/g,at=/%7C/g,ot=/%7D/g,st=/%20/g;function ct(e){return e==null?``:encodeURI(``+e).replace(at,`|`).replace(et,`[`).replace(tt,`]`)}function lt(e){return ct(e).replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function ut(e){return ct(e).replace($e,`%2B`).replace(st,`+`).replace(Je,`%23`).replace(Ye,`%26`).replace(rt,"`").replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function dt(e){return ut(e).replace(Ze,`%3D`)}function ft(e){return ct(e).replace(Je,`%23`).replace(Qe,`%3F`)}function pt(e){return ft(e).replace(Xe,`%2F`)}function mt(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var ht=/\/$/,gt=e=>e.replace(ht,``);function _t(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=wt(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:mt(o)}}function vt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function yt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function bt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&xt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!St(e[n],t[n]))return!1;return!0}function St(e,t){return K(e)?Ct(e,t):K(t)?Ct(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Ct(e,t){return K(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function wt(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function Tt(e){if(!e)if(Y){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),gt(e)}var Et=/^[^#]+#/;function Dt(e,t){return e.replace(Et,`#`)+t}function Ot(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var kt=()=>({left:window.scrollX,top:window.scrollY});function At(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Ot(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function jt(e,t){return(history.state?history.state.position-t:-1)+e}var Mt=new Map;function Nt(e,t){Mt.set(e,t)}function Pt(e){let t=Mt.get(e);return Mt.delete(e),t}function Ft(e){return typeof e==`string`||e&&typeof e==`object`}function It(e){return typeof e==`string`||typeof e==`symbol`}function Lt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace($e,` `),i=r.indexOf(`=`),a=mt(i<0?r:r.slice(0,i)),o=i<0?null:mt(r.slice(i+1));if(a in t){let e=t[a];K(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function Rt(e){let t=``;for(let n in e){let r=e[n];if(n=dt(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(K(r)?r.map(e=>e&&ut(e)):[r&&ut(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function zt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=K(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n){let r=e.value;if(!r)return;let i=r,a=()=>{i[t].delete(n)};te(a),ee(a),y(()=>{let r=e.value;r&&(i=r),i[t].add(n)}),i[t].add(n)}function Vt(e){Bt(S(Ve,{}),`leaveGuards`,e)}function Ht(e){Bt(S(Ve,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(q(4,{from:n,to:t})):e instanceof Error?c(e):Ft(e)?c(q(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ut(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(Ie(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Le(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function Wt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Gt=()=>location.protocol+`//`+location.host;function Kt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),yt(n,``)}return yt(n,e)+r+i}function qt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Kt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(W({},e.state,{scroll:kt()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Jt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?kt():null}}function Yt(e){let{history:t,location:n}=window,r={value:Kt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Gt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,W({},t.state,Jt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=W({},i.value,t.state,{forward:e,scroll:kt()});a(o.current,o,!0),a(e,W({},Jt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Xt(e){e=Tt(e);let t=Yt(e),n=qt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=W({location:``,base:e,go:r,createHref:Dt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Zt(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Xt(e)}var Qt={type:0,value:``},$t=/[a-zA-Z0-9_]/;function en(e){if(!e)return[[]];if(e===`/`)return[[Qt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:$t.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var tn=`[^/]+?`,nn={sensitive:!1,strict:!1,start:!0,end:!0},rn=/[.+*?^${}()[\]/\\]/g;function an(e,t){let n=W({},nn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(rn,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||tn;if(u!==tn){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(K(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=K(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function on(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function sn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=on(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(cn(r))return 1;if(cn(i))return-1}return i.length-r.length}function cn(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var ln={strict:!1,end:!0,sensitive:!1};function un(e,t,n){let r=W(an(en(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function dn(e,t){let n=[],r=new Map;t=ze(ln,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=pn(e);s.aliasOf=r&&r.record;let l=ze(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(pn(W({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=un(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!hn(d)&&o(e.name)),yn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:G}function o(e){if(It(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=_n(e,n);n.splice(t,0,e),e.record.name&&!hn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw q(1,{location:e});s=i.record.name,a=W(fn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&fn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw q(1,{location:e,currentLocation:t});s=i.record.name,a=W({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:gn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function fn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function pn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:mn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function mn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function hn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gn(e){return e.reduce((e,t)=>W(e,t.meta),{})}function _n(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;sn(e,t[i])<0?r=i:n=i+1}let i=vn(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function vn(e){let t=e;for(;t=t.parent;)if(yn(t)&&sn(e,t)===0)return t}function yn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function bn(e){let t=S(Ue),n=S(We),r=O(()=>{let n=E(e.to);return t.resolve(n)}),i=O(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=Tn(e[t-2]);return t>1&&Tn(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=O(()=>i.value>-1&&wn(n.params,r.value.params)),o=O(()=>i.value>-1&&i.value===n.matched.length-1&&xt(n.params,r.value.params));function s(n={}){if(Cn(n)){let n=t[E(e.replace)?`replace`:`push`](E(e.to)).catch(G);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:O(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function xn(e){return e.length===1?e[0]:e}var Sn=D({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:bn,setup(e,{slots:t}){let n=N(bn(e)),{options:r}=S(Ue),i=O(()=>({[En(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[En(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&xn(t.default(n));return e.custom?r:L(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Cn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!K(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Tn(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var En=(e,t,n)=>e??t??n,Dn=D({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=S(Ge),i=O(()=>e.route||r.value),a=S(He,0),o=O(()=>{let e=E(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=O(()=>i.value.matched[o.value]);b(He,O(()=>o.value+1)),b(Ve,s),b(Ge,i);let c=C();return P(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return On(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=L(l,W({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return On(n.default,{Component:f,route:r})||f}}});function On(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var kn=Dn;function An(e){let t=dn(e.routes,e),n=e.parseQuery||Lt,r=e.stringifyQuery||Rt,i=e.history,a=Q(),o=Q(),s=Q(),c=w(Z),l=Z;Y&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Re.bind(null,e=>``+e),d=Re.bind(null,pt),f=Re.bind(null,mt);function p(e,n){let r,i;return It(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=W({},a||c.value),typeof e==`string`){let r=_t(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return W(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=W({},e,{path:_t(n,e.path,a.path).path});else{let t=W({},e.params);for(let e in t)t[e]??delete t[e];o=W({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=vt(r,W({},e,{hash:lt(l),path:s.path})),m=i.createHref(p);return W({fullPath:p,hash:l,query:r===Rt?zt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?_t(n,e,c.value.path):W({},e)}function ee(e,t){if(l!==e)return q(8,{from:t,to:e})}function y(e){return x(e)}function te(e){return y(W(v(e),{replace:!0}))}function b(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),W({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function x(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=b(n,i);if(u)return x(W(v(u),{state:typeof u==`object`?W({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&bt(r,i,n)&&(f=q(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):re(d,i)).catch(e=>J(e)?J(e,2)?e:N(e):j(e,d,i)).then(e=>{if(e){if(J(e,2))return x(W({replace:s},v(e.to),{state:typeof e.to==`object`?W({},a,e.to.state):a,force:o}),t||d)}else e=ie(d,i,!0,s,a);return T(d,i,e),e})}function S(e,t){let n=ee(e,t);return n?Promise.reject(n):Promise.resolve()}function C(e){let t=I.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function re(e,t){let n,[r,i,s]=Wt(e,t);n=Ut(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=S.bind(null,e,t);return n.push(c),R(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),R(n)}).then(()=>{n=Ut(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),R(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(K(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(c),R(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ut(s,`beforeRouteEnter`,e,t,C),n.push(c),R(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),R(n)}).catch(e=>J(e,8)?e:Promise.reject(e))}function T(e,t,n){s.list().forEach(r=>C(()=>r(e,t,n)))}function ie(e,t,n,r,a){let o=ee(e,t);if(o)return o;let s=t===Z,l=Y?history.state:{};n&&(r||s?i.replace(e.fullPath,W({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),N()}let D;function ae(){D||=i.listen((e,t,n)=>{if(!L.listening)return;let r=_(e),a=b(r,L.currentRoute.value);if(a){x(W(a,{replace:!0,force:!0}),r).catch(G);return}l=r;let o=c.value;Y&&Nt(jt(o.fullPath,n.delta),kt()),re(r,o).catch(e=>J(e,12)?e:J(e,2)?(x(W(v(e.to),{force:!0}),r).then(e=>{J(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(G),Promise.reject()):(n.delta&&i.go(-n.delta,!1),j(e,r,o))).then(e=>{e||=ie(r,o,!1),e&&(n.delta&&!J(e,8)?i.go(-n.delta,!1):n.type===`pop`&&J(e,20)&&i.go(-1,!1)),T(r,o,e)}).catch(G)})}let O=Q(),k=Q(),A;function j(e,t,n){N(e);let r=k.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function M(){return A&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{O.add([e,t])})}function N(e){return A||(A=!e,ae(),O.list().forEach(([t,n])=>e?n(e):t()),O.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!Y||!a)return Promise.resolve();let o=!r&&Pt(jt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ne().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&At(e)).catch(e=>t===c.value&&j(e,t,n))}let P=e=>i.go(e),F,I=new Set,L={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:y,replace:te,go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:k.add,isReady:M,install(e){e.component(`RouterLink`,Sn),e.component(`RouterView`,kn),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>E(c)}),Y&&!F&&c.value===Z&&(F=!0,y(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ue,L),e.provide(We,oe(t)),e.provide(Ge,c);let n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(l=Z,D&&D(),D=null,c.value=Z,F=!1,A=!1),n()}}};function R(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return L}g({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)r(n,t.value,{target:e});else{let[i,a]=t.value;r(n,i,{target:e,...a})}}});var jn=g({mounted(e,t){typeof t.value==`function`?_(e,t.value,{modifiers:t.modifiers}):_(e,...t.value)}});g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value,{height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=a(e,r);P([i,o,s,c,l,u,d,f],()=>n({height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var Mn=g({mounted(t,n){let r=n.value;if(typeof r==`function`)P(e(t),e=>r(e));else{let[n,i]=r;P(e(t,i),e=>n(e))}}}),Nn=l?window:void 0;l&&window.document,l&&window.navigator,l&&window.location;function Pn(e){let t=ae(e);return t?.$el??t}function Fn(){let e=w(!1),t=ie();return t&&A(()=>{e.value=!0},t),e}function In(e){let t=Fn();return O(()=>(t.value,!!e()))}function Ln(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`MutationObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=u(ae(e)).map(Pn).filter(m);return new Set(t)}),e=>{c(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),d=()=>a?.takeRecords(),f=()=>{l(),c()};return s(f),{isSupported:o,stop:f,takeRecords:d}}function Rn(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`ResizeObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=ae(e);return Array.isArray(t)?t.map(e=>Pn(e)):[Pn(t)]}),e=>{if(c(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),u=()=>{c(),l()};return s(u),{isSupported:o,stop:u}}function zn(e,t={}){let{observeMutation:n=!1,onUpdated:r,window:i=Nn}=t,a=w(!1),o=w(!1);function s(e){a.value=e.scrollWidth>e.offsetWidth,o.value=e.scrollHeight>e.offsetHeight}let c=r,l=O(()=>{let t=Pn(e);if(!(!t||t instanceof SVGElement))return t}),u=()=>{let e=l.value;return!e||e instanceof SVGElement?[]:[e,...Array.from(e.children).filter(e=>e instanceof HTMLElement)]};if(Rn(u,(e,t)=>{let n=l.value;n&&s(n),c?.(e,t)},{window:i}),n){let e=r;Ln(u,(t,n)=>{let r=l.value;r&&s(r),e?.(t,n)},{window:i,...typeof n==`object`?n:{childList:!0,subtree:!0,characterData:!0}})}return{isXOverflowed:I(a),isYOverflowed:I(o),stop,update:()=>{let e=l.value;e&&i&&s(e)}}}g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value]:t.value,i=zn(e,r),{isXOverflowed:a,isYOverflowed:o}=i;P([a,o],()=>n(i),{immediate:!0})}}),g({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:a}=i(e,...typeof t.value==`function`?[]:t.value.slice(1));P([r,a],([e,t])=>n({width:e,height:t}),{immediate:!0})}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value;P(o(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=o(e,r);P(t.isVisible,()=>n(t),{immediate:!0})}else P(o(e,r),e=>n(e),{immediate:!0})}}}),g({mounted(e,t){typeof t.value==`function`?h(e,t.value):h(e,...t.value)}});var Bn=g({mounted(e,n){typeof n.value==`function`?t(e,n.value):t(e,...n.value)}});g({mounted(e,t){let[r,i]=typeof t.value==`function`?[t.value,{}]:t.value;P(f(N(n(e,i)),`stop`),e=>r(e))}}),g({mounted(e,t){typeof t.value==`function`?p(e,t.value):p(e,...t.value)}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=d(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=d(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function Vn(){let e=!1,t=w(!1);return g((n,r)=>{if(t.value=r.value,e)return;e=!0;let i=c(n,r.value);P(t,e=>i.value=e)})}Vn();export{Zt as a,Ht as c,Se as d,Pe as f,An as i,qe as l,Bn as n,Xt as o,Fe as p,jn as r,Vt as s,Mn as t,Ke as u};