camera.ui3 0.0.34-alpha.1 → 0.0.34-alpha.3

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 (264) hide show
  1. package/dist/interface/@tanstack.CKjDZ58q.0.0.34-alpha.3.js +1 -0
  2. package/dist/interface/{@vee-validate.BYAqeMXW.0.0.34-alpha.1.js → @vee-validate.D-Deq0c3.0.0.34-alpha.3.js} +2 -2
  3. package/dist/interface/@vue.DLAsVqT0.0.0.34-alpha.3.js +17 -0
  4. package/dist/interface/{@vueform.BsJeH1VL.0.0.34-alpha.1.js → @vueform.qn9IITTz.0.0.34-alpha.3.js} +1 -1
  5. package/dist/interface/{@vueuse.C89QVsKq.0.0.34-alpha.1.js → @vueuse.DjSeeuC8.0.0.34-alpha.3.js} +1 -1
  6. package/dist/interface/Account.DvvXyN4T.0.0.34-alpha.3.js +1 -0
  7. package/dist/interface/Adminpanel.BJr3r0Mz.0.0.34-alpha.3.js +2 -0
  8. package/dist/interface/Appearance.uXdE85qT.0.0.34-alpha.3.js +1 -0
  9. package/dist/interface/Backup.BOpdR87Y.0.0.34-alpha.3.js +1 -0
  10. package/dist/interface/Camera.Ea4lzNkY.0.0.34-alpha.3.js +1 -0
  11. package/dist/interface/Cameras.DReUzJFC.0.0.34-alpha.3.js +1 -0
  12. package/dist/interface/Camview.C-lHMDIW.0.0.34-alpha.3.js +1 -0
  13. package/dist/interface/Config.DmARP8un.0.0.34-alpha.3.js +1 -0
  14. package/dist/interface/Console.BQON6fJL.0.0.34-alpha.3.js +4 -0
  15. package/dist/interface/FirstSteps.eKqamXQr.0.0.34-alpha.3.js +1 -0
  16. package/dist/interface/{NewCamera.DXZTbw6t.0.0.34-alpha.1.js → NewCamera.BtPDCsHx.0.0.34-alpha.3.js} +2 -2
  17. package/dist/interface/Plugin.BVXV2PUf.0.0.34-alpha.3.js +1 -0
  18. package/dist/interface/Plugins.-l2XhEap.0.0.34-alpha.3.js +1 -0
  19. package/dist/interface/Recordings.BsYf9qT2.0.0.34-alpha.3.js +1 -0
  20. package/dist/interface/Recordings.D4DiPFO4.0.0.34-alpha.3.js +1 -0
  21. package/dist/interface/Settings.TaefKvyW.0.0.34-alpha.3.js +1 -0
  22. package/dist/interface/System.D5b8zuRP.0.0.34-alpha.3.js +4 -0
  23. package/dist/interface/User.CJDkU1R1.0.0.34-alpha.3.js +1 -0
  24. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.DaPxq8EI.0.0.34-alpha.1.js → VConfigEditor.vue_vue_type_script_setup_true_lang.C38KT5jm.0.0.34-alpha.3.js} +2 -2
  25. package/dist/interface/{VConsole.sVPWAfNY.0.0.34-alpha.1.js → VConsole.L8yV4Z6L.0.0.34-alpha.3.js} +1 -1
  26. package/dist/interface/VPlayer.wmdOYvtC.0.0.34-alpha.3.js +4 -0
  27. package/dist/interface/VPluginCard.BrBIome8.0.0.34-alpha.3.js +4 -0
  28. package/dist/interface/{ace-builds.Cnj3uJ-i.0.0.34-alpha.1.js → ace-builds.CBtTJX9v.0.0.34-alpha.3.js} +1 -1
  29. package/dist/interface/{apexcharts.CMLplPnj.0.0.34-alpha.1.js → apexcharts.QzX23ho7.0.0.34-alpha.3.js} +1 -1
  30. package/dist/interface/assets/Cameras.0.0.34-alpha.3.CF0l3cIy.css +1 -0
  31. package/dist/interface/assets/Console.0.0.34-alpha.3.DN77xjuI.css +1 -0
  32. package/dist/interface/assets/{VPlayer.0.0.34-alpha.1.DmbaAA_3.css → VPlayer.0.0.34-alpha.3.BeQb7Ux_.css} +1 -1
  33. package/dist/interface/assets/VPluginCard.0.0.34-alpha.3.CIc7UhBH.css +1 -0
  34. package/dist/interface/assets/main.0.0.34-alpha.3.D6i_pncP.css +1 -0
  35. package/dist/interface/{dnd-core.DXuprW1u.0.0.34-alpha.1.js → dnd-core.771H3Rf1.0.0.34-alpha.3.js} +1 -1
  36. package/dist/interface/{draggabilly.B4gt8cuQ.0.0.34-alpha.1.js → draggabilly.BdAQGCqc.0.0.34-alpha.3.js} +1 -1
  37. package/dist/interface/{engine.io-client.C6Wzx_jT.0.0.34-alpha.1.js → engine.io-client.GcLFdYsX.0.0.34-alpha.3.js} +1 -1
  38. package/dist/interface/{ev-emitter.CCoflQaJ.0.0.34-alpha.1.js → ev-emitter.bnizdbg-.0.0.34-alpha.3.js} +1 -1
  39. package/dist/interface/{fast-deep-equal.A6REbYuf.0.0.34-alpha.1.js → fast-deep-equal.Bu1IfRX2.0.0.34-alpha.3.js} +1 -1
  40. package/dist/interface/{highlight.js.ChQi-SWt.0.0.34-alpha.1.js → highlight.js.CxHcdONQ.0.0.34-alpha.3.js} +1 -1
  41. package/dist/interface/hookable.B8xFkYCm.0.0.34-alpha.3.js +1 -0
  42. package/dist/interface/index.html +33 -31
  43. package/dist/interface/{linkify-it.V_1DZtim.0.0.34-alpha.1.js → linkify-it.CDXhbjwq.0.0.34-alpha.3.js} +1 -1
  44. package/dist/interface/main.BU_T9HhF.0.0.34-alpha.3.js +5 -0
  45. package/dist/interface/{markdown-it.BSp5IUES.0.0.34-alpha.1.js → markdown-it.C9bb3p1r.0.0.34-alpha.3.js} +1 -1
  46. package/dist/interface/{nprogress.BMn57QX7.0.0.34-alpha.1.js → nprogress.C7HQcvim.0.0.34-alpha.3.js} +1 -1
  47. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.34-alpha.3.js +1 -0
  48. package/dist/interface/{pinia.C5B5h5W-.0.0.34-alpha.1.js → pinia.CToajcrk.0.0.34-alpha.3.js} +1 -1
  49. package/dist/interface/plugins.Dliq_mwd.0.0.34-alpha.3.js +1 -0
  50. package/dist/interface/{qrcode.CoLGEQa3.0.0.34-alpha.1.js → qrcode.BamWRxas.0.0.34-alpha.3.js} +1 -1
  51. package/dist/interface/{react-dnd-touch-backend.CC-llxq1.0.0.34-alpha.1.js → react-dnd-touch-backend.DYJMTAO8.0.0.34-alpha.3.js} +1 -1
  52. package/dist/interface/{rxjs.DhS72WZW.0.0.34-alpha.1.js → rxjs.DAJXKhLO.0.0.34-alpha.3.js} +1 -1
  53. package/dist/interface/{socket.io-client.DA70sIzA.0.0.34-alpha.1.js → socket.io-client.Dh8ucO0x.0.0.34-alpha.3.js} +1 -1
  54. package/dist/interface/{socket.io-parser.Lr_NuxFX.0.0.34-alpha.1.js → socket.io-parser.C5DZRITr.0.0.34-alpha.3.js} +1 -1
  55. package/dist/interface/sw.js +1 -1
  56. package/dist/interface/system.BqbFQtZT.0.0.34-alpha.3.js +1 -0
  57. package/dist/interface/{unidragger.B5ZpJ0o9.0.0.34-alpha.1.js → unidragger.C5CtdjHU.0.0.34-alpha.3.js} +1 -1
  58. package/dist/interface/{v-calendar.BP5jhivB.0.0.34-alpha.1.js → v-calendar.Cp8k6zLg.0.0.34-alpha.3.js} +1 -1
  59. package/dist/interface/vee-validate.C1QNHqqo.0.0.34-alpha.3.js +5 -0
  60. package/dist/interface/{vue-i18n.CISOas5G.0.0.34-alpha.1.js → vue-i18n.IXPpf7jY.0.0.34-alpha.3.js} +1 -1
  61. package/dist/interface/{vue-inline-svg.DY4V2SdK.0.0.34-alpha.1.js → vue-inline-svg.B3vDJvZ4.0.0.34-alpha.3.js} +1 -1
  62. package/dist/interface/{vue-router.CA6UHABl.0.0.34-alpha.1.js → vue-router.vVhn0OJa.0.0.34-alpha.3.js} +1 -1
  63. package/dist/interface/vue.l0sNRNKZ.0.0.34-alpha.3.js +1 -0
  64. package/dist/interface/vue3-apexcharts.RiQO9rLM.0.0.34-alpha.3.js +1 -0
  65. package/dist/interface/{vue3-dnd.CcvZ77YQ.0.0.34-alpha.1.js → vue3-dnd.1gSj6i6M.0.0.34-alpha.3.js} +1 -1
  66. package/dist/interface/{vue3-toastify.BnsRFQgq.0.0.34-alpha.1.js → vue3-toastify.CnxcYI1f.0.0.34-alpha.3.js} +1 -1
  67. package/dist/interface/vuetify.B9I8IgR0.0.0.34-alpha.3.js +5 -0
  68. package/dist/server/bin/cameraui.d.ts +3 -2
  69. package/dist/server/bin/cameraui.js +59 -76
  70. package/dist/server/bin/cameraui.js.map +1 -1
  71. package/dist/server/bin/fork.js +1 -4
  72. package/dist/server/bin/fork.js.map +1 -1
  73. package/dist/server/bin/installer/win32.js +3 -3
  74. package/dist/server/bin/installer/win32.js.map +1 -1
  75. package/dist/server/bin/logger.d.ts +3 -2
  76. package/dist/server/bin/logger.js +34 -21
  77. package/dist/server/bin/logger.js.map +1 -1
  78. package/dist/server/package.json +14 -11
  79. package/dist/server/requirements.txt +6 -5
  80. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -0
  81. package/dist/server/src/api/controllers/cameras.controller.js +67 -11
  82. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  83. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  84. package/dist/server/src/api/controllers/frameWorkers.controller.js +14 -6
  85. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  86. package/dist/server/src/api/controllers/plugins.controller.d.ts +2 -0
  87. package/dist/server/src/api/controllers/plugins.controller.js +92 -33
  88. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  89. package/dist/server/src/api/controllers/system.controller.d.ts +2 -2
  90. package/dist/server/src/api/controllers/system.controller.js +18 -40
  91. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  92. package/dist/server/src/api/database/checks.d.ts +55 -0
  93. package/dist/server/src/api/database/checks.js +183 -0
  94. package/dist/server/src/api/database/checks.js.map +1 -0
  95. package/dist/server/src/api/database/index.d.ts +2 -1
  96. package/dist/server/src/api/database/index.js +6 -2
  97. package/dist/server/src/api/database/index.js.map +1 -1
  98. package/dist/server/src/api/database/migration.d.ts +1 -0
  99. package/dist/server/src/api/database/migration.js +30 -0
  100. package/dist/server/src/api/database/migration.js.map +1 -1
  101. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  102. package/dist/server/src/api/database/selfcheck.js +397 -0
  103. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  104. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  105. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  106. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  107. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  108. package/dist/server/src/api/schemas/cameras.schema.d.ts +13 -13
  109. package/dist/server/src/api/schemas/cameras.schema.js +2 -2
  110. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  111. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  112. package/dist/server/src/api/services/cameras.service.js +13 -2
  113. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  114. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  115. package/dist/server/src/api/services/plugins.service.js +8 -3
  116. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  117. package/dist/server/src/api/types/index.d.ts +2 -6
  118. package/dist/server/src/api/types/index.js.map +1 -1
  119. package/dist/server/src/api/websocket/index.js +1 -0
  120. package/dist/server/src/api/websocket/index.js.map +1 -1
  121. package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -1
  122. package/dist/server/src/api/websocket/nsp/logs.js +70 -51
  123. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  124. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  125. package/dist/server/src/api/websocket/nsp/metrics.js +15 -13
  126. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  127. package/dist/server/src/api/websocket/nsp/plugins.js +3 -3
  128. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  129. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  130. package/dist/server/src/api/websocket/nsp/status.js +8 -6
  131. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  132. package/dist/server/src/api.d.ts +5 -14
  133. package/dist/server/src/api.js +43 -24
  134. package/dist/server/src/api.js.map +1 -1
  135. package/dist/server/src/camera/controller.d.ts +16 -3
  136. package/dist/server/src/camera/controller.js +105 -17
  137. package/dist/server/src/camera/controller.js.map +1 -1
  138. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +9 -6
  139. package/dist/server/src/{decoder/worker.js → camera/frameWorker.js} +125 -52
  140. package/dist/server/src/camera/frameWorker.js.map +1 -0
  141. package/dist/server/src/go2rtc/index.js +18 -5
  142. package/dist/server/src/go2rtc/index.js.map +1 -1
  143. package/dist/server/src/main.js +23 -51
  144. package/dist/server/src/main.js.map +1 -1
  145. package/dist/server/src/nats/index.d.ts +3 -2
  146. package/dist/server/src/nats/index.js +3 -1
  147. package/dist/server/src/nats/index.js.map +1 -1
  148. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -1
  149. package/dist/server/src/nats/proxy/cameraDevice.js +34 -42
  150. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  151. package/dist/server/src/nats/proxy/coreManager.d.ts +1 -1
  152. package/dist/server/src/nats/proxy/deviceManager.d.ts +1 -1
  153. package/dist/server/src/nats/server.js +29 -18
  154. package/dist/server/src/nats/server.js.map +1 -1
  155. package/dist/server/src/nats/types.d.ts +1 -1
  156. package/dist/server/src/nats/utils.d.ts +1 -1
  157. package/dist/server/src/nats/websocket.js.map +1 -1
  158. package/dist/server/src/plugins/index.d.ts +2 -4
  159. package/dist/server/src/plugins/index.js +22 -29
  160. package/dist/server/src/plugins/index.js.map +1 -1
  161. package/dist/server/src/plugins/plugin.d.ts +5 -0
  162. package/dist/server/src/plugins/plugin.js +40 -6
  163. package/dist/server/src/plugins/plugin.js.map +1 -1
  164. package/dist/server/src/plugins/worker.d.ts +20 -2
  165. package/dist/server/src/plugins/worker.js +196 -42
  166. package/dist/server/src/plugins/worker.js.map +1 -1
  167. package/dist/server/src/services/config/constants.d.ts +1 -0
  168. package/dist/server/src/services/config/constants.js +3 -2
  169. package/dist/server/src/services/config/constants.js.map +1 -1
  170. package/dist/server/src/services/config/index.d.ts +11 -2
  171. package/dist/server/src/services/config/index.js +53 -6
  172. package/dist/server/src/services/config/index.js.map +1 -1
  173. package/dist/server/src/services/config/types.d.ts +7 -0
  174. package/dist/server/src/services/config/types.js.map +1 -1
  175. package/localdeps.txt +1 -0
  176. package/package.json +14 -11
  177. package/dist/interface/@tanstack.CxmCad5b.0.0.34-alpha.1.js +0 -1
  178. package/dist/interface/@vue.DNK0rzTJ.0.0.34-alpha.1.js +0 -17
  179. package/dist/interface/Account.Dl_h4WcJ.0.0.34-alpha.1.js +0 -1
  180. package/dist/interface/Adminpanel.B2CrHAQm.0.0.34-alpha.1.js +0 -2
  181. package/dist/interface/Appearance.8KGURqrg.0.0.34-alpha.1.js +0 -1
  182. package/dist/interface/Backup.ByUwt7pB.0.0.34-alpha.1.js +0 -1
  183. package/dist/interface/Camera.DdT22vMP.0.0.34-alpha.1.js +0 -1
  184. package/dist/interface/Cameras.BsZY_8-0.0.0.34-alpha.1.js +0 -1
  185. package/dist/interface/Camview.BgyUqS9_.0.0.34-alpha.1.js +0 -1
  186. package/dist/interface/Config.n7S8GG-f.0.0.34-alpha.1.js +0 -1
  187. package/dist/interface/Console.C5qRkDn7.0.0.34-alpha.1.js +0 -4
  188. package/dist/interface/FirstSteps.DBHaCFiB.0.0.34-alpha.1.js +0 -1
  189. package/dist/interface/Plugin.9gJauF_V.0.0.34-alpha.1.js +0 -1
  190. package/dist/interface/Plugins.Ek1Yocg_.0.0.34-alpha.1.js +0 -1
  191. package/dist/interface/Recordings.BIdhE95Q.0.0.34-alpha.1.js +0 -1
  192. package/dist/interface/Recordings.DVu_tzMT.0.0.34-alpha.1.js +0 -1
  193. package/dist/interface/Settings.Brji5kRj.0.0.34-alpha.1.js +0 -1
  194. package/dist/interface/System.DYvfAoEM.0.0.34-alpha.1.js +0 -4
  195. package/dist/interface/User.Mr1DinvX.0.0.34-alpha.1.js +0 -1
  196. package/dist/interface/VPlayer.DlJrYynC.0.0.34-alpha.1.js +0 -1
  197. package/dist/interface/VPluginCard.BXrvS7zB.0.0.34-alpha.1.js +0 -4
  198. package/dist/interface/assets/Cameras.0.0.34-alpha.1.BgZN27ly.css +0 -1
  199. package/dist/interface/assets/Console.0.0.34-alpha.1.Cjiivzet.css +0 -1
  200. package/dist/interface/assets/VPluginCard.0.0.34-alpha.1.BpMChOJT.css +0 -1
  201. package/dist/interface/assets/main.0.0.34-alpha.1.Degnpyky.css +0 -1
  202. package/dist/interface/main.bKEuHXmK.0.0.34-alpha.1.js +0 -5
  203. package/dist/interface/plugins.BbNP66vO.0.0.34-alpha.1.js +0 -1
  204. package/dist/interface/system.BkLh9FNA.0.0.34-alpha.1.js +0 -1
  205. package/dist/interface/vee-validate.dtT7hUg2.0.0.34-alpha.1.js +0 -5
  206. package/dist/interface/vue3-apexcharts.D_2v4auN.0.0.34-alpha.1.js +0 -1
  207. package/dist/interface/vuetify.DiAVhTT5.0.0.34-alpha.1.js +0 -5
  208. package/dist/server/src/decoder/index.d.ts +0 -11
  209. package/dist/server/src/decoder/index.js +0 -32
  210. package/dist/server/src/decoder/index.js.map +0 -1
  211. package/dist/server/src/decoder/types.d.ts +0 -7
  212. package/dist/server/src/decoder/types.js +0 -2
  213. package/dist/server/src/decoder/types.js.map +0 -1
  214. package/dist/server/src/decoder/worker.js.map +0 -1
  215. /package/dist/interface/{@babel.l0sNRNKZ.0.0.34-alpha.1.js → @babel.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  216. /package/dist/interface/{@intlify.sEJX3RNi.0.0.34-alpha.1.js → @intlify.sEJX3RNi.0.0.34-alpha.3.js} +0 -0
  217. /package/dist/interface/{@mdi.C1UTQKuc.0.0.34-alpha.1.js → @mdi.C1UTQKuc.0.0.34-alpha.3.js} +0 -0
  218. /package/dist/interface/{@popperjs.l0sNRNKZ.0.0.34-alpha.1.js → @popperjs.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  219. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.34-alpha.1.js → @react-dnd.CcwRs9xb.0.0.34-alpha.3.js} +0 -0
  220. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.34-alpha.1.js → @socket.io.Dkula2eQ.0.0.34-alpha.3.js} +0 -0
  221. /package/dist/interface/{@turf.l0sNRNKZ.0.0.34-alpha.1.js → @turf.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  222. /package/dist/interface/{@xterm.CEvrn8WJ.0.0.34-alpha.1.js → @xterm.CaIhPNPe.0.0.34-alpha.3.js} +0 -0
  223. /package/dist/interface/assets/{@vueform.0.0.34-alpha.1.h7tNX9p6.css → @vueform.0.0.34-alpha.3.h7tNX9p6.css} +0 -0
  224. /package/dist/interface/assets/{@xterm.0.0.34-alpha.1.CGrrDQr5.css → @xterm.0.0.34-alpha.3.CGrrDQr5.css} +0 -0
  225. /package/dist/interface/assets/{Account.0.0.34-alpha.1.Ce3OmKrC.css → Account.0.0.34-alpha.3.Ce3OmKrC.css} +0 -0
  226. /package/dist/interface/assets/{Adminpanel.0.0.34-alpha.1.BCpVV7QL.css → Adminpanel.0.0.34-alpha.3.BCpVV7QL.css} +0 -0
  227. /package/dist/interface/assets/{Backup.0.0.34-alpha.1.BIwaSlv3.css → Backup.0.0.34-alpha.3.BIwaSlv3.css} +0 -0
  228. /package/dist/interface/assets/{Camera.0.0.34-alpha.1.D49XscoW.css → Camera.0.0.34-alpha.3.D49XscoW.css} +0 -0
  229. /package/dist/interface/assets/{Camview.0.0.34-alpha.1.BdTE1Iny.css → Camview.0.0.34-alpha.3.BdTE1Iny.css} +0 -0
  230. /package/dist/interface/assets/{Config.0.0.34-alpha.1.BtdZEuQO.css → Config.0.0.34-alpha.3.BtdZEuQO.css} +0 -0
  231. /package/dist/interface/assets/{FirstSteps.0.0.34-alpha.1.CCo2y-sU.css → FirstSteps.0.0.34-alpha.3.CCo2y-sU.css} +0 -0
  232. /package/dist/interface/assets/{NewCamera.0.0.34-alpha.1.W16dakdJ.css → NewCamera.0.0.34-alpha.3.W16dakdJ.css} +0 -0
  233. /package/dist/interface/assets/{Plugin.0.0.34-alpha.1.BtRA6zDt.css → Plugin.0.0.34-alpha.3.BtRA6zDt.css} +0 -0
  234. /package/dist/interface/assets/{Plugins.0.0.34-alpha.1.Cwu0aGUO.css → Plugins.0.0.34-alpha.3.Cwu0aGUO.css} +0 -0
  235. /package/dist/interface/assets/{Settings.0.0.34-alpha.1.DTRm1psP.css → Settings.0.0.34-alpha.3.DTRm1psP.css} +0 -0
  236. /package/dist/interface/assets/{User.0.0.34-alpha.1.DPDcJbx8.css → User.0.0.34-alpha.3.DPDcJbx8.css} +0 -0
  237. /package/dist/interface/assets/{VConsole.0.0.34-alpha.1.e0RL6-05.css → VConsole.0.0.34-alpha.3.e0RL6-05.css} +0 -0
  238. /package/dist/interface/assets/{highlight.0.0.34-alpha.1.DgoK_Xib.css → highlight.0.0.34-alpha.3.DgoK_Xib.css} +0 -0
  239. /package/dist/interface/assets/{logo-256.0.0.34-alpha.1.BCQk9H1-.png → logo-256.0.0.34-alpha.3.BCQk9H1-.png} +0 -0
  240. /package/dist/interface/assets/{logo-512.0.0.34-alpha.1.DLKVOU2S.png → logo-512.0.0.34-alpha.3.DLKVOU2S.png} +0 -0
  241. /package/dist/interface/assets/{logo.0.0.34-alpha.1.DmEiRk0z.png → logo.0.0.34-alpha.3.DmEiRk0z.png} +0 -0
  242. /package/dist/interface/assets/{mode-json.0.0.34-alpha.1.Br7xisR1.js → mode-json.0.0.34-alpha.3.Br7xisR1.js} +0 -0
  243. /package/dist/interface/assets/{mode-yaml.0.0.34-alpha.1.CIYL8U3d.js → mode-yaml.0.0.34-alpha.3.CIYL8U3d.js} +0 -0
  244. /package/dist/interface/assets/{vue3-toastify.0.0.34-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.34-alpha.3.DTY1DMRs.css} +0 -0
  245. /package/dist/interface/assets/{vuetify.0.0.34-alpha.1.B_k2Rcut.css → vuetify.0.0.34-alpha.3.B_k2Rcut.css} +0 -0
  246. /package/dist/interface/{axios.C-n2IhIP.0.0.34-alpha.1.js → axios.C-n2IhIP.0.0.34-alpha.3.js} +0 -0
  247. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.1.js → birpc.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  248. /package/dist/interface/{compare-versions.DqEOhma6.0.0.34-alpha.1.js → compare-versions.DqEOhma6.0.0.34-alpha.3.js} +0 -0
  249. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.34-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.34-alpha.3.js} +0 -0
  250. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.34-alpha.1.js → engine.io-parser.BiEtp6m2.0.0.34-alpha.3.js} +0 -0
  251. /package/dist/interface/{entities.C20TfXL6.0.0.34-alpha.1.js → entities.C20TfXL6.0.0.34-alpha.3.js} +0 -0
  252. /package/dist/interface/{get-size.D1dS-IaP.0.0.34-alpha.1.js → get-size.D1dS-IaP.0.0.34-alpha.3.js} +0 -0
  253. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.34-alpha.1.js → mdurl.k9Sl0PQj.0.0.34-alpha.3.js} +0 -0
  254. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.34-alpha.1.js → point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  255. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.34-alpha.1.js → punycode.js.Dj65hjkv.0.0.34-alpha.3.js} +0 -0
  256. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.3.js} +0 -0
  257. /package/dist/interface/{redux.CuxFRhX_.0.0.34-alpha.1.js → redux.CuxFRhX_.0.0.34-alpha.3.js} +0 -0
  258. /package/dist/interface/{vue.l0sNRNKZ.0.0.34-alpha.1.js → sweepline-intersections.l0sNRNKZ.0.0.34-alpha.3.js} +0 -0
  259. /package/dist/interface/{tslib.9k7AwCpt.0.0.34-alpha.1.js → tslib.9k7AwCpt.0.0.34-alpha.3.js} +0 -0
  260. /package/dist/interface/{types.Cz9TaZAP.0.0.34-alpha.1.js → types.Cz9TaZAP.0.0.34-alpha.3.js} +0 -0
  261. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.34-alpha.1.js → uc.micro.kMc2yuuw.0.0.34-alpha.3.js} +0 -0
  262. /package/dist/interface/{utils.mAKpSMLY.0.0.34-alpha.1.js → utils.mAKpSMLY.0.0.34-alpha.3.js} +0 -0
  263. /package/dist/interface/{uuid.DvF23Exx.0.0.34-alpha.1.js → uuid.DvF23Exx.0.0.34-alpha.3.js} +0 -0
  264. /package/dist/interface/{zod.DnW1_kUe.0.0.34-alpha.1.js → zod.DnW1_kUe.0.0.34-alpha.3.js} +0 -0
@@ -0,0 +1,5 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["FirstSteps.eKqamXQr.0.0.34-alpha.3.js","@vue.DLAsVqT0.0.0.34-alpha.3.js","perfect-debounce.Cp2ysxOb.0.0.34-alpha.3.js","hookable.B8xFkYCm.0.0.34-alpha.3.js","@mdi.C1UTQKuc.0.0.34-alpha.3.js","vee-validate.C1QNHqqo.0.0.34-alpha.3.js","vue-inline-svg.B3vDJvZ4.0.0.34-alpha.3.js","vue-router.vVhn0OJa.0.0.34-alpha.3.js","pinia.CToajcrk.0.0.34-alpha.3.js","vuetify.B9I8IgR0.0.0.34-alpha.3.js","assets/vuetify.0.0.34-alpha.3.B_k2Rcut.css","vue3-toastify.CnxcYI1f.0.0.34-alpha.3.js","assets/vue3-toastify.0.0.34-alpha.3.DTY1DMRs.css","vue-i18n.IXPpf7jY.0.0.34-alpha.3.js","@intlify.sEJX3RNi.0.0.34-alpha.3.js","axios.C-n2IhIP.0.0.34-alpha.3.js","@tanstack.CKjDZ58q.0.0.34-alpha.3.js","@vueuse.DjSeeuC8.0.0.34-alpha.3.js","nprogress.C7HQcvim.0.0.34-alpha.3.js","@xterm.CaIhPNPe.0.0.34-alpha.3.js","assets/@xterm.0.0.34-alpha.3.CGrrDQr5.css","@vee-validate.D-Deq0c3.0.0.34-alpha.3.js","zod.DnW1_kUe.0.0.34-alpha.3.js","uuid.DvF23Exx.0.0.34-alpha.3.js","socket.io-client.Dh8ucO0x.0.0.34-alpha.3.js","engine.io-client.GcLFdYsX.0.0.34-alpha.3.js","engine.io-parser.BiEtp6m2.0.0.34-alpha.3.js","@socket.io.Dkula2eQ.0.0.34-alpha.3.js","socket.io-parser.C5DZRITr.0.0.34-alpha.3.js","rxjs.DAJXKhLO.0.0.34-alpha.3.js","tslib.9k7AwCpt.0.0.34-alpha.3.js","v-calendar.Cp8k6zLg.0.0.34-alpha.3.js","assets/FirstSteps.0.0.34-alpha.3.CCo2y-sU.css","Cameras.DReUzJFC.0.0.34-alpha.3.js","VPlayer.wmdOYvtC.0.0.34-alpha.3.js","qrcode.BamWRxas.0.0.34-alpha.3.js","dijkstrajs.D_NXgYpA.0.0.34-alpha.3.js","plugins.Dliq_mwd.0.0.34-alpha.3.js","draggabilly.BdAQGCqc.0.0.34-alpha.3.js","get-size.D1dS-IaP.0.0.34-alpha.3.js","unidragger.C5CtdjHU.0.0.34-alpha.3.js","ev-emitter.bnizdbg-.0.0.34-alpha.3.js","VConsole.L8yV4Z6L.0.0.34-alpha.3.js","assets/VConsole.0.0.34-alpha.3.e0RL6-05.css","assets/VPlayer.0.0.34-alpha.3.BeQb7Ux_.css","utils.mAKpSMLY.0.0.34-alpha.3.js","assets/Cameras.0.0.34-alpha.3.CF0l3cIy.css","Camera.Ea4lzNkY.0.0.34-alpha.3.js","assets/Camera.0.0.34-alpha.3.D49XscoW.css","Camview.C-lHMDIW.0.0.34-alpha.3.js","react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.3.js","react-dnd-touch-backend.DYJMTAO8.0.0.34-alpha.3.js","@react-dnd.CcwRs9xb.0.0.34-alpha.3.js","vue3-dnd.1gSj6i6M.0.0.34-alpha.3.js","dnd-core.771H3Rf1.0.0.34-alpha.3.js","redux.CuxFRhX_.0.0.34-alpha.3.js","fast-deep-equal.Bu1IfRX2.0.0.34-alpha.3.js","assets/Camview.0.0.34-alpha.3.BdTE1Iny.css","NewCamera.BtPDCsHx.0.0.34-alpha.3.js","highlight.js.CxHcdONQ.0.0.34-alpha.3.js","assets/highlight.0.0.34-alpha.3.DgoK_Xib.css","markdown-it.C9bb3p1r.0.0.34-alpha.3.js","mdurl.k9Sl0PQj.0.0.34-alpha.3.js","uc.micro.kMc2yuuw.0.0.34-alpha.3.js","entities.C20TfXL6.0.0.34-alpha.3.js","linkify-it.CDXhbjwq.0.0.34-alpha.3.js","punycode.js.Dj65hjkv.0.0.34-alpha.3.js","assets/NewCamera.0.0.34-alpha.3.W16dakdJ.css","Recordings.BsYf9qT2.0.0.34-alpha.3.js","Config.DmARP8un.0.0.34-alpha.3.js","VConfigEditor.vue_vue_type_script_setup_true_lang.C38KT5jm.0.0.34-alpha.3.js","ace-builds.CBtTJX9v.0.0.34-alpha.3.js","system.BqbFQtZT.0.0.34-alpha.3.js","assets/Config.0.0.34-alpha.3.BtdZEuQO.css","Console.BQON6fJL.0.0.34-alpha.3.js","assets/Console.0.0.34-alpha.3.DN77xjuI.css","Plugins.-l2XhEap.0.0.34-alpha.3.js","VPluginCard.BrBIome8.0.0.34-alpha.3.js","@vueform.qn9IITTz.0.0.34-alpha.3.js","assets/@vueform.0.0.34-alpha.3.h7tNX9p6.css","types.Cz9TaZAP.0.0.34-alpha.3.js","assets/VPluginCard.0.0.34-alpha.3.CIc7UhBH.css","assets/Plugins.0.0.34-alpha.3.Cwu0aGUO.css","Plugin.BVXV2PUf.0.0.34-alpha.3.js","assets/Plugin.0.0.34-alpha.3.BtRA6zDt.css","Adminpanel.BJr3r0Mz.0.0.34-alpha.3.js","assets/Adminpanel.0.0.34-alpha.3.BCpVV7QL.css","Settings.TaefKvyW.0.0.34-alpha.3.js","assets/Settings.0.0.34-alpha.3.DTRm1psP.css","Account.DvvXyN4T.0.0.34-alpha.3.js","assets/Account.0.0.34-alpha.3.Ce3OmKrC.css","Appearance.uXdE85qT.0.0.34-alpha.3.js","User.CJDkU1R1.0.0.34-alpha.3.js","assets/User.0.0.34-alpha.3.DPDcJbx8.css","Recordings.D4DiPFO4.0.0.34-alpha.3.js","Backup.BOpdR87Y.0.0.34-alpha.3.js","assets/Backup.0.0.34-alpha.3.BIwaSlv3.css","System.D5b8zuRP.0.0.34-alpha.3.js","compare-versions.DqEOhma6.0.0.34-alpha.3.js"])))=>i.map(i=>d[i]);
2
+ var eo=Object.defineProperty;var to=(s,e,t)=>e in s?eo(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var R=(s,e,t)=>to(s,typeof e!="symbol"?e+"":e,t);import{i as De,f as so,c as io}from"./vue3-toastify.CnxcYI1f.0.0.34-alpha.3.js";import{c as no,u as ro}from"./vue-i18n.IXPpf7jY.0.0.34-alpha.3.js";import{a as oo,A as Ni}from"./axios.C-n2IhIP.0.0.34-alpha.3.js";import{u as Kt,a as ct,b as Ce,Q as ao,V as lo}from"./@tanstack.CKjDZ58q.0.0.34-alpha.3.js";import{r as Y,u as y,F as co,a as uo,E as In,c as X,w as ve,G as He,t as pt,b as V,aa as xe,ab as N,d as q,ac as be,R as D,k as le,g as st,a9 as G,f as P,p as it,a7 as he,x as Qt,O as On,m as us,n as Vn,Q as Si,P as zt,ad as ms,e as gs,$ as Pt,S as As,ae as $i,af as ho,j as po,i as Ut,ag as Dn,ah as fo,a5 as jn,K as mo,ai as Nn,V as go}from"./@vue.DLAsVqT0.0.0.34-alpha.3.js";import{d as Lt,s as Fe,c as bo}from"./pinia.CToajcrk.0.0.34-alpha.3.js";import{u as yt,a as xi,c as vo,b as _o}from"./vue-router.vVhn0OJa.0.0.34-alpha.3.js";import{u as ki,a as yo,c as Ei,b as $n,d as wo,e as So,r as zi,f as zn,g as xo,h as ko,o as Eo,i as Co}from"./@vueuse.DjSeeuC8.0.0.34-alpha.3.js";import{V as Mo,a as Ui,b as qe,c as qi,d as Po,u as Ao,T as Hi,e as ke,f as et,g as Lo,h as To,i as Un,j as bs,k as Bo,l as Ro,m as Fi,n as vs,o as qn,p as Io,q as Oo,r as Vo,s as Do,t as jo,v as No}from"./vuetify.B9I8IgR0.0.0.34-alpha.3.js";import{m as $o,a as zo,b as Uo,c as qo,d as Ho,e as Fo,f as Zi,g as Hn,h as Fn,i as Zn,j as Wn,k as Zo,l as Wo,n as Go,o as Ko,p as Qo,q as Yo,r as Xo,s as Gn,t as Wi,u as Jo,v as ea,w as ta,x as sa,y as ia,z as na,A as ra,B as oa,C as aa}from"./@mdi.C1UTQKuc.0.0.34-alpha.3.js";import{F as Hs,a as la}from"./vee-validate.C1QNHqqo.0.0.34-alpha.3.js";import{t as Ls}from"./@vee-validate.D-Deq0c3.0.0.34-alpha.3.js";import{z as p}from"./zod.DnW1_kUe.0.0.34-alpha.3.js";import{v as Ie}from"./uuid.DvF23Exx.0.0.34-alpha.3.js";import{M as ca}from"./socket.io-client.Dh8ucO0x.0.0.34-alpha.3.js";import{S as ua,O as da}from"./rxjs.DAJXKhLO.0.0.34-alpha.3.js";import{I as Kn}from"./vue-inline-svg.B3vDJvZ4.0.0.34-alpha.3.js";import{s as ha}from"./v-calendar.Cp8k6zLg.0.0.34-alpha.3.js";import"./@intlify.sEJX3RNi.0.0.34-alpha.3.js";import"./perfect-debounce.Cp2ysxOb.0.0.34-alpha.3.js";import"./hookable.B8xFkYCm.0.0.34-alpha.3.js";import"./nprogress.C7HQcvim.0.0.34-alpha.3.js";import"./@xterm.CaIhPNPe.0.0.34-alpha.3.js";import"./engine.io-client.GcLFdYsX.0.0.34-alpha.3.js";import"./engine.io-parser.BiEtp6m2.0.0.34-alpha.3.js";import"./@socket.io.Dkula2eQ.0.0.34-alpha.3.js";import"./socket.io-parser.C5DZRITr.0.0.34-alpha.3.js";import"./tslib.9k7AwCpt.0.0.34-alpha.3.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(n){if(n.ep)return;n.ep=!0;const r=t(n);fetch(n.href,r)}})();const pa=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),fa=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ma=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ga=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ba=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),va=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_a=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ya="/assets/logo-512.0.0.34-alpha.3.DLKVOU2S.png",wa=Object.freeze(Object.defineProperty({__proto__:null,default:ya},Symbol.toStringTag,{value:"Module"})),Ci="/assets/logo-256.0.0.34-alpha.3.BCQk9H1-.png",Sa=Object.freeze(Object.defineProperty({__proto__:null,default:Ci},Symbol.toStringTag,{value:"Module"})),xa="/assets/logo-512.0.0.34-alpha.3.DLKVOU2S.png",ka=Object.freeze(Object.defineProperty({__proto__:null,default:xa},Symbol.toStringTag,{value:"Module"})),Ea="/assets/logo.0.0.34-alpha.3.DmEiRk0z.png",Ca=Object.freeze(Object.defineProperty({__proto__:null,default:Ea},Symbol.toStringTag,{value:"Module"})),Ma="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20233.63%20233.63'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:url(%23dark_wine);}.cls-2{fill:url(%23light_wine);}.cls-3{fill:none;stroke:%23000;stroke-miterlimit:10;opacity:0;}.cls-4{fill:%23c5c6c8;}.cls-5{fill:%231a1e21;stroke:%233a3a3a;stroke-width:2px;}.cls-6{fill:%23fff;}%3c/style%3e%3clinearGradient%20id='dark_wine'%20x1='87.36'%20y1='158.67'%20x2='87.36'%20y2='59.85'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23730000'/%3e%3cstop%20offset='0.49'%20stop-color='%23a51733'/%3e%3c/linearGradient%3e%3clinearGradient%20id='light_wine'%20x1='113.06'%20y1='197.59'%20x2='113.06'%20y2='80.87'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23f44a6b'/%3e%3cstop%20offset='0.28'%20stop-color='%23df294c'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='CameraUI_U'%3e%3cpath%20id='U_Left'%20class='cls-1'%20d='M47.05,119.47s7.58,16,14.12,23.42a45.28,45.28,0,0,0,16.37,11.86A49.46,49.46,0,0,0,99,158.62c9.43-.46,20.55-3.87,29.24-11.86-3.9,2.5-9.87,5.1-15.9,4.77a25.63,25.63,0,0,1-18.38-9.09c-9.39-10.31-7.62-28.35-7.75-32.68-.35-11.42.77-21.92-1.76-36.19-.46-2.64-1.79-5.19-4.55-8-1.83-1.86-8.4-5.75-13.42-5.74-7.31,0-12.95,3.71-15.38,7.84-2,3.41-3.06,4.22-4.23,25.08a217.23,217.23,0,0,0,.22,26.76Z'%20transform='translate(0.5%200.5)'/%3e%3cpath%20id='U_Right'%20class='cls-2'%20d='M144.12,89.6a16.24,16.24,0,0,1,4.06-4.9c4.16-3.4,9-3.67,10.92-3.82a19.7,19.7,0,0,1,12.53,4.58c1.19,1,6.11,5.58,7.13,17.29.73,8.51,3.31,65.93-37,87.14-4.22,2.22-18,9.25-35.66,7.38a62.43,62.43,0,0,1-20.8-6.11,65.8,65.8,0,0,1-18.89-14.23c-20.21-21.67-19.36-57.46-19.36-57.46s7.58,16,14.12,23.42a45.28,45.28,0,0,0,16.37,11.86A49.46,49.46,0,0,0,99,158.62c11.66-.57,25.93-5.64,35-18.32C143.52,126.8,138.46,100.51,144.12,89.6Z'%20transform='translate(0.5%200.5)'/%3e%3c/g%3e%3cg%20id='CameraUI_Lens'%3e%3ccircle%20id='ellipse'%20class='cls-3'%20cx='116.81'%20cy='116.81'%20r='116.31'/%3e%3cg%20id='lens'%3e%3ccircle%20id='lens_bg'%20class='cls-4'%20cx='159.13'%20cy='58.39'%20r='18.66'/%3e%3cpath%20id='lens_inner'%20class='cls-5'%20d='M169.64,58.31a11,11,0,1,1-22,0c0-6.08,4.93-11.86,11-11.86S169.64,52.23,169.64,58.31Z'%20transform='translate(0.5%200.5)'/%3e%3cg%20id='reflections'%3e%3cellipse%20id='dot_1'%20class='cls-6'%20cx='174.36'%20cy='53.69'%20rx='1.84'%20ry='1.42'/%3e%3cellipse%20id='dot_2'%20class='cls-6'%20cx='174.36'%20cy='57.08'%20rx='1.84'%20ry='1.42'/%3e%3cellipse%20id='dot_3'%20class='cls-6'%20cx='174.36'%20cy='60.46'%20rx='1.84'%20ry='1.42'/%3e%3ccircle%20id='dot_4'%20class='cls-6'%20cx='164.09'%20cy='63.77'%20r='1.66'/%3e%3cpath%20id='wide_1'%20class='cls-6'%20d='M156.63,48.9c-1.07-.88-5.52,3.09-6.31,5.43a1.53,1.53,0,0,0,0,1.26c.43.69,1.73.61,2.19.54,2.68-.44,4.71-4.09,4.8-4.37A3.21,3.21,0,0,0,156.63,48.9Z'%20transform='translate(0.5%200.5)'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",Pa=Object.freeze(Object.defineProperty({__proto__:null,default:Ma},Symbol.toStringTag,{value:"Module"})),Aa="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20132.55%20158.35'%20width='132.5500030517578'%20height='158.35000610351562'%3e%3cdefs%3e%3cstyle%3e.cls-2-1{fill:url(%23dark_wine);}.cls-2-2{fill:url(%23light_wine);}.cls-2-3{fill:%23c5c6c8;}.cls-2-4{fill:%231a1e21;stroke:%233a3a3a;stroke-width:2px;}.cls-2-5{fill:%23fff;}%3c/style%3e%3clinearGradient%20id='dark_wine'%20x1='45.89'%20y1='124.26'%20x2='45.89'%20y2='25.44'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23730000'%3e%3c/stop%3e%3cstop%20offset='0.49'%20stop-color='%23a51733'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20id='light_wine'%20x1='71.59'%20y1='163.18'%20x2='71.59'%20y2='46.47'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23f44a6b'%3e%3c/stop%3e%3cstop%20offset='0.28'%20stop-color='%23df294c'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='CameraUI_U'%3e%3cpath%20id='U_Left'%20class='cls-2-1%20svg-elem-1'%20d='M5.58,85.06s7.58,16,14.12,23.42a45.28,45.28,0,0,0,16.37,11.86,49.46,49.46,0,0,0,21.42,3.87c9.43-.46,20.55-3.87,29.24-11.86-3.9,2.5-9.87,5.1-15.9,4.77A25.68,25.68,0,0,1,52.44,108c-9.38-10.31-7.61-28.35-7.74-32.68-.35-11.42.77-21.92-1.76-36.19-.46-2.64-1.79-5.19-4.55-8C36.55,29.33,30,25.43,25,25.44c-7.31,0-12.95,3.72-15.38,7.84-2,3.41-3.07,4.22-4.23,25.08a217.23,217.23,0,0,0,.22,26.76Z'%20transform='translate(-5.05%20-4.82)'%3e%3c/path%3e%3cpath%20id='U_Right'%20class='cls-2-2%20svg-elem-2'%20d='M102.65,55.19a16.24,16.24,0,0,1,4.06-4.9c4.16-3.4,9-3.67,10.92-3.82a19.7,19.7,0,0,1,12.53,4.58c1.19,1,6.11,5.58,7.12,17.29.74,8.51,3.32,65.93-37,87.14-4.22,2.22-18,9.26-35.66,7.38a62.43,62.43,0,0,1-20.8-6.11,65.8,65.8,0,0,1-18.89-14.23C4.73,120.85,5.58,85.06,5.58,85.06s7.58,16,14.12,23.42a45.28,45.28,0,0,0,16.37,11.86,49.46,49.46,0,0,0,21.42,3.87c11.66-.57,25.93-5.64,35-18.32C102.05,92.39,97,66.1,102.65,55.19Z'%20transform='translate(-5.05%20-4.82)'%3e%3c/path%3e%3c/g%3e%3cg%20id='CameraUI_Lens'%3e%3ccircle%20id='lens_bg'%20class='cls-2-3%20svg-elem-3'%20cx='112.11'%20cy='18.66'%20r='18.66'%3e%3c/circle%3e%3cpath%20id='lens_inner'%20class='cls-2-4%20svg-elem-4'%20d='M128.17,23.9a11,11,0,1,1-22,0c0-6.08,4.93-11.86,11-11.86S128.17,17.82,128.17,23.9Z'%20transform='translate(-5.05%20-4.82)'%3e%3c/path%3e%3cg%20id='reflections'%3e%3cellipse%20id='dot_1'%20class='cls-2-5%20svg-elem-5'%20cx='127.34'%20cy='13.96'%20rx='1.84'%20ry='1.42'%3e%3c/ellipse%3e%3cellipse%20id='dot_2'%20class='cls-2-5%20svg-elem-6'%20cx='127.34'%20cy='17.34'%20rx='1.84'%20ry='1.42'%3e%3c/ellipse%3e%3cellipse%20id='dot_3'%20class='cls-2-5%20svg-elem-7'%20cx='127.34'%20cy='20.73'%20rx='1.84'%20ry='1.42'%3e%3c/ellipse%3e%3ccircle%20id='dot_4'%20class='cls-2-5%20svg-elem-8'%20cx='117.07'%20cy='24.04'%20r='1.66'%3e%3c/circle%3e%3cpath%20id='wide_1'%20class='cls-2-5%20svg-elem-9'%20d='M115.16,14.49c-1.07-.88-5.52,3.09-6.31,5.43a1.53,1.53,0,0,0,0,1.26c.43.69,1.73.61,2.18.54,2.69-.44,4.72-4.09,4.81-4.37A3.21,3.21,0,0,0,115.16,14.49Z'%20transform='translate(-5.05%20-4.82)'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e",La=Object.freeze(Object.defineProperty({__proto__:null,default:Aa},Symbol.toStringTag,{value:"Module"})),Ta="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='-40%20-30%20300%20300'%3e%3cdefs%3e%3cstyle%3e.cls-3-1%20{fill:%20url(%23dark_wine);}%20.cls-3-2%20{fill:%20url(%23light_wine);}%20.cls-3-3%20{fill:%20none;stroke:%20%23000;stroke-miterlimit:%2010;opacity:%200;}%20.cls-3-4%20{fill:%20%23c5c6c8;}%20.cls-3-5%20{fill:%20%231a1e21;stroke:%20%233a3a3a;stroke-width:%202px;}%20.cls-3-6%20{fill:%20%23fff;}%3c/style%3e%3clinearGradient%20id='dark_wine'%20x1='220.57'%20y1='310.8'%20x2='220.57'%20y2='211.98'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23730000'%20/%3e%3cstop%20offset='0.49'%20stop-color='%23a51733'%20/%3e%3c/linearGradient%3e%3clinearGradient%20id='light_wine'%20x1='246.27'%20y1='349.71'%20x2='246.27'%20y2='233'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23f44a6b'%20/%3e%3cstop%20offset='0.28'%20stop-color='%23df294c'%20/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='CameraUI_U'%20class='cameraLetter'%3e%3cpath%20id='U_Left'%20class='cls-3-1'%20d='M180.26,271.6s7.57,16,14.11,23.42a45.43,45.43,0,0,0,16.38,11.86,49.46,49.46,0,0,0,21.42,3.87c9.42-.46,20.55-3.87,29.24-11.86-3.9,2.5-9.87,5.1-15.9,4.77a25.66,25.66,0,0,1-18.39-9.09c-9.38-10.31-7.61-28.35-7.74-32.68-.35-11.43.77-21.92-1.76-36.2-.47-2.63-1.79-5.18-4.55-8-1.84-1.86-8.41-5.75-13.43-5.74-7.3,0-12.94,3.71-15.38,7.84-2,3.41-3.06,4.22-4.22,25.08a215.27,215.27,0,0,0,.22,26.76Z'%20transform='translate(-132.71%20-151.63)'%20/%3e%3cpath%20id='U_Right'%20class='cls-3-2'%20d='M277.33,241.73a16.41,16.41,0,0,1,4.05-4.91c4.17-3.39,9-3.66,10.92-3.81a19.67,19.67,0,0,1,12.53,4.58c1.2,1,6.12,5.58,7.13,17.29.74,8.51,3.31,65.93-37,87.13-4.23,2.22-18,9.26-35.67,7.39a62.35,62.35,0,0,1-20.79-6.11,65.68,65.68,0,0,1-18.9-14.24c-20.2-21.66-19.35-57.45-19.35-57.45s7.57,16,14.11,23.42a45.43,45.43,0,0,0,16.38,11.86,49.46,49.46,0,0,0,21.42,3.87c11.66-.57,25.92-5.64,35-18.33C276.73,278.93,271.67,252.64,277.33,241.73Z'%20transform='translate(-132.71%20-151.63)'%20/%3e%3c/g%3e%3cg%20id='CameraUI_Lens'%3e%3cg%20id='lens'%20class='cameraLens'%3e%3ccircle%20id='lens_bg'%20class='cls-3-4'%20cx='159.13'%20cy='58.39'%20r='18.66'%20/%3e%3cpath%20id='lens_inner'%20class='cls-3-5'%20d='M302.85,210.44a11,11,0,1,1-22,0c0-6.08,4.93-11.86,11-11.86S302.85,204.36,302.85,210.44Z'%20transform='translate(-132.71%20-151.63)'%20/%3e%3cg%20id='reflections'%3e%3cellipse%20id='dot_1'%20class='cls-3-6'%20cx='174.36'%20cy='53.69'%20rx='1.84'%20ry='1.42'%20/%3e%3cellipse%20id='dot_2'%20class='cls-3-6'%20cx='174.36'%20cy='57.08'%20rx='1.84'%20ry='1.42'%20/%3e%3cellipse%20id='dot_3'%20class='cls-3-6'%20cx='174.36'%20cy='60.46'%20rx='1.84'%20ry='1.42'%20/%3e%3ccircle%20id='dot_4'%20class='cls-3-6'%20cx='164.09'%20cy='63.77'%20r='1.66'%20/%3e%3cpath%20id='wide_1'%20class='cls-3-6'%20d='M289.83,201c-1.07-.88-5.52,3.09-6.3,5.43a1.52,1.52,0,0,0,0,1.26c.43.69,1.72.61,2.18.53,2.68-.43,4.72-4.08,4.8-4.36A3.18,3.18,0,0,0,289.83,201Z'%20transform='translate(-132.71%20-151.63)'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",Ba=Object.freeze(Object.defineProperty({__proto__:null,default:Ta},Symbol.toStringTag,{value:"Module"})),Fs=s=>s&&typeof s=="object"&&!Array.isArray(s),li=(s,...e)=>{if(!e.length)return s;const t=e.shift();if(Fs(s)&&Fs(t))for(const i in t)Fs(t[i])?(s[i]||Object.assign(s,{[i]:{}}),li(s[i],t[i])):Object.assign(s,{[i]:t[i]});return li(s,...e)},Ra=li({},{de:{$vuetify:{badge:{t:0,b:{t:2,i:[{t:3}],s:"Abzeichen"}},calendar:{moreEvents:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" mehr"}]}}},carousel:{ariaLabel:{delimiter:{t:0,b:{t:2,i:[{t:3,v:"Karussellbild "},{t:5,i:0},{t:3,v:" von "},{t:5,i:1}]}}},next:{t:0,b:{t:2,i:[{t:3}],s:"Nächstes Bild"}},prev:{t:0,b:{t:2,i:[{t:3}],s:"Vorheriges Bild"}}},close:{t:0,b:{t:2,i:[{t:3}],s:"Schließen"}},dataFooter:{firstPage:{t:0,b:{t:2,i:[{t:3}],s:"Erste Seite"}},itemsPerPageAll:{t:0,b:{t:2,i:[{t:3}],s:"Alle"}},itemsPerPageText:{t:0,b:{t:2,i:[{t:3}],s:"Elemente pro Seite:"}},lastPage:{t:0,b:{t:2,i:[{t:3}],s:"Letzte Seite"}},nextPage:{t:0,b:{t:2,i:[{t:3}],s:"Nächste Seite"}},pageText:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:"-"},{t:5,i:1},{t:3,v:" von "},{t:5,i:2}]}},prevPage:{t:0,b:{t:2,i:[{t:3}],s:"Vorherige Seite"}}},dataIterator:{loadingText:{t:0,b:{t:2,i:[{t:3}],s:"Elemente werden geladen..."}},noResultsText:{t:0,b:{t:2,i:[{t:3}],s:"Keine passenden Einträge gefunden"}}},dataTable:{ariaLabel:{activateAscending:{t:0,b:{t:2,i:[{t:3}],s:"Aktivieren, um aufsteigend zu sortieren."}},activateDescending:{t:0,b:{t:2,i:[{t:3}],s:"Aktivieren, um absteigend zu sortieren."}},activateNone:{t:0,b:{t:2,i:[{t:3}],s:"Aktivieren, um Sortierung zu entfernen."}},sortAscending:{t:0,b:{t:2,i:[{t:3}],s:"Aufsteigend sortiert."}},sortDescending:{t:0,b:{t:2,i:[{t:3}],s:"Absteigend sortiert."}},sortNone:{t:0,b:{t:2,i:[{t:3}],s:"Nicht sortiert."}}},itemsPerPageText:{t:0,b:{t:2,i:[{t:3}],s:"Zeilen pro Seite:"}},sortBy:{t:0,b:{t:2,i:[{t:3}],s:"Sortieren nach"}}},datePicker:{cancel:{t:0,b:{t:2,i:[{t:3}],s:"Abbrechen"}},header:{t:0,b:{t:2,i:[{t:3}],s:"Datum eingeben"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Datum eingeben"}}},ok:{t:0,b:{t:2,i:[{t:3}],s:"OK"}},range:{header:{t:0,b:{t:2,i:[{t:3}],s:"Daten eingeben"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Daten auswählen"}}},title:{t:0,b:{t:2,i:[{t:3}],s:"Datum auswählen"}}},dateRangeInput:{divider:{t:0,b:{t:2,i:[{t:3}],s:"bis"}}},fileInput:{counter:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" Dateien"}]}},counterSize:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" Dateien ("},{t:5,i:1},{t:3,v:" insgesamt)"}]}}},infiniteScroll:{empty:{t:0,b:{t:2,i:[{t:3}],s:"Nichts mehr"}},loadMore:{t:0,b:{t:2,i:[{t:3}],s:"Mehr laden"}}},input:{appendAction:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" angehängte Aktion"}]}},clear:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" löschen"}]}},otp:{t:0,b:{t:2,i:[{t:3,v:"Bitte OTP-Zeichen "},{t:5,i:0},{t:3,v:" eingeben"}]}},prependAction:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" vorangestellte Aktion"}]}}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Laden..."}},noDataText:{t:0,b:{t:2,i:[{t:3}],s:"Keine Daten verfügbar"}},open:{t:0,b:{t:2,i:[{t:3}],s:"Öffnen"}},pagination:{ariaLabel:{currentPage:{t:0,b:{t:2,i:[{t:3,v:"Seite "},{t:5,i:0},{t:3,v:", aktuelle Seite"}]}},first:{t:0,b:{t:2,i:[{t:3}],s:"Erste Seite"}},last:{t:0,b:{t:2,i:[{t:3}],s:"Letzte Seite"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Nächste Seite"}},page:{t:0,b:{t:2,i:[{t:3,v:"Gehe zu Seite "},{t:5,i:0}]}},previous:{t:0,b:{t:2,i:[{t:3}],s:"Vorherige Seite"}},root:{t:0,b:{t:2,i:[{t:3}],s:"Seitennavigation"}}}},rating:{ariaLabel:{item:{t:0,b:{t:2,i:[{t:3,v:"Bewertung "},{t:5,i:0},{t:3,v:" von "},{t:5,i:1}]}}}},stepper:{next:{t:0,b:{t:2,i:[{t:3}],s:"Weiter"}},prev:{t:0,b:{t:2,i:[{t:3}],s:"Zurück"}}},timePicker:{am:{t:0,b:{t:2,i:[{t:3}],s:"Vormittags"}},pm:{t:0,b:{t:2,i:[{t:3}],s:"Nachmittags"}}}},components:{camera_draggable:{no_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Keine Kameras verfügbar"}}},camera_events:{no_events:{t:0,b:{t:2,i:[{t:3}],s:"Keine Ereignisse verfügbar"}}},camera_options:{advanced:{t:0,b:{t:2,i:[{t:3}],s:"Erweitert"}},audio_state:{t:0,b:{t:2,i:[{t:3}],s:"Audiozustand"}},battery_state:{t:0,b:{t:2,i:[{t:3}],s:"Batteriezustand"}},categories:{t:0,b:{t:2,i:[{t:3}],s:"Kategorien"}},chip_audioDetection:{t:0,b:{t:2,i:[{t:3}],s:"Geräuscherkennung"}},chip_hub:{t:0,b:{t:2,i:[{t:3}],s:"Hub"}},chip_more:{t:0,b:{t:2,i:[{t:3}],s:"Mehr"}},chip_motionDetection:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungserkennung"}},chip_objectDetection:{t:0,b:{t:2,i:[{t:3}],s:"Objekterkennung"}},chip_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},chip_prebuffer:{t:0,b:{t:2,i:[{t:3}],s:"Prebuffer"}},chip_ptz:{t:0,b:{t:2,i:[{t:3}],s:"PTZ"}},detection:{t:0,b:{t:2,i:[{t:3}],s:"Erkennung"}},doorbell_state:{t:0,b:{t:2,i:[{t:3}],s:"Türklingelzustand"}},enabled_extension:{t:0,b:{t:2,i:[{t:3}],s:"Aktivierte Erweiterung"}},frame_worker:{t:0,b:{t:2,i:[{t:3}],s:"Frame Worker"}},general:{t:0,b:{t:2,i:[{t:3}],s:"Allgemein"}},branding:{t:0,b:{t:2,i:[{t:3}],s:"Branding"}},interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},light_state:{t:0,b:{t:2,i:[{t:3}],s:"Lichtzustand"}},manage_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins verwalten"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modell"}},motion_detection:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungserkennung"}},motion_state:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungszustand"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},native:{t:0,b:{t:2,i:[{t:3}],s:"Nativ"}},no_config:{t:0,b:{t:2,i:[{t:3}],s:"Keine Konfiguration verfügbar"}},no_plugins_enabled:{t:0,b:{t:2,i:[{t:3}],s:"Keine Plugins aktiviert"}},no_plugins_found:{t:0,b:{t:2,i:[{t:3}],s:"Keine Plugins gefunden"}},no_zones:{t:0,b:{t:2,i:[{t:3}],s:"Keine Zonen verfügbar"}},object_detection:{t:0,b:{t:2,i:[{t:3}],s:"Objekterkennung"}},object_state:{t:0,b:{t:2,i:[{t:3}],s:"Objektzustand"}},plugin:{t:0,b:{t:2,i:[{t:3}],s:"Plugin"}},plugin_settings:{t:0,b:{t:2,i:[{t:3}],s:"Plugin Einstellungen"}},recordings:{t:0,b:{t:2,i:[{t:3}],s:"Aufnahmeeinstellungen"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},siren_state:{t:0,b:{t:2,i:[{t:3}],s:"Sirenenzustand"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Quelle"}},snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot"}},streaming_mode:{t:0,b:{t:2,i:[{t:3}],s:"Streaming Modus"}},unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unbekannt"}},zones:{t:0,b:{t:2,i:[{t:3}],s:"Zonen"}}},charts:{no_data:{t:0,b:{t:2,i:[{t:3}],s:"Keine Daten verfügbar"}}},detection_interface:{audio_detected:{t:0,b:{t:2,i:[{t:3}],s:"Audio erkannt"}},audio_not_detected:{t:0,b:{t:2,i:[{t:3}],s:"Audio nicht erkannt"}},audio_required:{t:0,b:{t:2,i:[{t:3}],s:"Audio Datei erforderlich"}},detect_audio:{t:0,b:{t:2,i:[{t:3}],s:"Audio erkennen"}},detect_motion:{t:0,b:{t:2,i:[{t:3}],s:"Bewegung erkennen"}},detect_objects:{t:0,b:{t:2,i:[{t:3}],s:"Objekte erkennen"}},drop_or_select_audio_to_detect:{t:0,b:{t:2,i:[{t:3}],s:"Audio ablegen oder auswählen, um Geräusche zu erkennen"}},drop_or_select_image_to_detect_objects:{t:0,b:{t:2,i:[{t:3}],s:"Bild ablegen oder auswählen, um Objekte zu erkennen"}},drop_or_select_video_to_detect_motion:{t:0,b:{t:2,i:[{t:3}],s:"Video ablegen oder auswählen, um Bewegung zu erkennen"}},file_size_error:{t:0,b:{t:2,i:[{t:3}],s:"Dateigröße zu groß"}},image_required:{t:0,b:{t:2,i:[{t:3}],s:"Image required"}},interface_config:{t:0,b:{t:2,i:[{t:3}],s:"Interface-Konfiguration"}},no_interface_config:{t:0,b:{t:2,i:[{t:3}],s:"Keine Interface-Konfiguration verfügbar"}},only_one_audio_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Es ist nur ein Audio erlaubt"}},only_one_image_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Es ist nur ein Bild erlaubt"}},only_one_video_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Es ist nur ein Video erlaubt"}},video_required:{t:0,b:{t:2,i:[{t:3}],s:"Video required"}}},dialog:{message:{confirm_clear_log:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie das Protokoll löschen möchten?"}},confirm_remove:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie diese Kamera entfernen möchten?"}},confirm_remove_layout:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie dieses Layout entfernen möchten?"}},confirm_restart_go2rtc:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie Go2RTC neu starten möchten?"}},confirm_restart_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie dieses Plugin neu starten möchten?"}},confirm_restart_server:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie den Server neu starten möchten?"}},confirm_restore:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie dieses Backup wiederherstellen möchten?"}},confirm_uninstall_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Sind Sie sicher, dass Sie dieses Plugin deinstallieren möchten?"}},intercom_info:{t:0,b:{t:2,i:[{t:3}],s:"Sprechen Sie gleichzeitig mit allen Kameras, die eine Sprechanlage haben"}}},title:{config:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Bestätigen"}},create_new_user:{t:0,b:{t:2,i:[{t:3}],s:"Neuer Benuter"}},edit_dnd:{t:0,b:{t:2,i:[{t:3}],s:"DND bearbeiten"}},edit_layout:{t:0,b:{t:2,i:[{t:3}],s:"Layout bearbeiten"}},edit_user:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer bearbeiten"}},edit_view:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht bearbeiten"}},information:{t:0,b:{t:2,i:[{t:3}],s:"Information"}},install_version:{t:0,b:{t:2,i:[{t:3}],s:"Version installieren"}},intercom:{t:0,b:{t:2,i:[{t:3}],s:"Gegensprechanlage"}},log:{t:0,b:{t:2,i:[{t:3}],s:"Log"}},new_dnd:{t:0,b:{t:2,i:[{t:3}],s:"Neue DND"}},new_view:{t:0,b:{t:2,i:[{t:3}],s:"Neue Ansicht"}},new_zone:{t:0,b:{t:2,i:[{t:3}],s:"Neue Zone"}},plugin_config:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Konfiguration"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Vorschau"}},remove_layout:{t:0,b:{t:2,i:[{t:3}],s:"Layout entfernen"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Neustart"}},result:{t:0,b:{t:2,i:[{t:3}],s:"Ergebnis"}},search_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Plugin suchen"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisieren"}},unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unbekannt"}},zone:{t:0,b:{t:2,i:[{t:3}],s:"Zone"}},zone_editor:{t:0,b:{t:2,i:[{t:3}],s:"Zonen-Editor"}}}},form:{button:{add:{t:0,b:{t:2,i:[{t:3}],s:"Hinzufügen"}},add_source:{t:0,b:{t:2,i:[{t:3}],s:"Quelle hinzufügen"}},add_view:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht hinzufügen"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Zurück"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Abbrechen"}},change_view:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht wechseln"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"Löschen"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Schließen"}},create_new_user:{t:0,b:{t:2,i:[{t:3}],s:"Neuen Benutzer erstellen"}},download:{t:0,b:{t:2,i:[{t:3}],s:"Herunterladen"}},download_backup_archive:{t:0,b:{t:2,i:[{t:3}],s:"Backup-Archiv herunterladen"}},download_cert:{t:0,b:{t:2,i:[{t:3}],s:"Zertifikat herunterladen"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Bearbeiten"}},finish:{t:0,b:{t:2,i:[{t:3}],s:"Fertig"}},go_to_message:{t:0,b:{t:2,i:[{t:3}],s:"Zur Nachricht gehen"}},install:{t:0,b:{t:2,i:[{t:3}],s:"Installieren"}},login:{t:0,b:{t:2,i:[{t:3}],s:"Anmelden"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Abmelden"}},logout_all:{t:0,b:{t:2,i:[{t:3}],s:"Alle abmelden"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten"}},mark_as_read:{t:0,b:{t:2,i:[{t:3}],s:"Als gelesen markieren"}},new:{t:0,b:{t:2,i:[{t:3}],s:"Neu"}},new_zone:{t:0,b:{t:2,i:[{t:3}],s:"Neue Zone"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Weiter"}},open_editor:{t:0,b:{t:2,i:[{t:3}],s:"Editor öffnen"}},previous:{t:0,b:{t:2,i:[{t:3}],s:"Zurück"}},reinstall:{t:0,b:{t:2,i:[{t:3}],s:"Neu installieren"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Entfernen"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Neustarten"}},restore_backup_archive:{t:0,b:{t:2,i:[{t:3}],s:"Backup-Archiv wiederherstellen"}},restore_and_restart:{t:0,b:{t:2,i:[{t:3}],s:"Wiederherstellen und neustarten"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Speichern"}},save_and_restart:{t:0,b:{t:2,i:[{t:3}],s:"Speichern und neustarten"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"Absenden"}},undo:{t:0,b:{t:2,i:[{t:3}],s:"Rückgängig"}},uninstall:{t:0,b:{t:2,i:[{t:3}],s:"Deinstallieren"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisieren"}},upload:{t:0,b:{t:2,i:[{t:3}],s:"Hochladen"}}},error:{no_cameras_selected:{t:0,b:{t:2,i:[{t:3}],s:"Keine Kameras ausgewählt"}},no_view_selected:{t:0,b:{t:2,i:[{t:3}],s:"Keine Ansicht ausgewählt"}}},hint:{one_login:{t:0,b:{t:2,i:[{t:3}],s:"Erlaubt nur eine aktive Sitzung pro Benutzer"}},remember_me:{t:0,b:{t:2,i:[{t:3}],s:"Erlaubt das die Sitzung nicht abläuft"}}},label:{audio_codec:{t:0,b:{t:2,i:[{t:3}],s:"Audio-Codec"}},cache_time:{t:0,b:{t:2,i:[{t:3}],s:"Cache Zeit"}},camera:{t:0,b:{t:2,i:[{t:3}],s:"Kamera"}},classes:{t:0,b:{t:2,i:[{t:3}],s:"Klassen"}},confidence:{t:0,b:{t:2,i:[{t:3}],s:"Konfidenz"}},connections:{t:0,b:{t:2,i:[{t:3}],s:"Verbindungen"}},decoder:{t:0,b:{t:2,i:[{t:3}],s:"Decoder"}},default_settings_page:{t:0,b:{t:2,i:[{t:3}],s:"Standard Einstellungsseite"}},disabled:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiviert"}},enabled:{t:0,b:{t:2,i:[{t:3}],s:"Aktiviert"}},firmware_version:{t:0,b:{t:2,i:[{t:3}],s:"Firmware Version"}},fps:{t:0,b:{t:2,i:[{t:3}],s:"FPS"}},frame_worker:{t:0,b:{t:2,i:[{t:3}],s:"Frame Worker"}},hardware_version:{t:0,b:{t:2,i:[{t:3}],s:"Hardware Version"}},language:{t:0,b:{t:2,i:[{t:3}],s:"Sprache"}},layout_name:{t:0,b:{t:2,i:[{t:3}],s:"Layoutname"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"Hersteller"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modell"}},motion_duration:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungsdauer"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},new_password:{t:0,b:{t:2,i:[{t:3}],s:"Neues Passwort"}},new_password_confirm:{t:0,b:{t:2,i:[{t:3}],s:"Neues Passwort bestätigen"}},one_login:{t:0,b:{t:2,i:[{t:3}],s:"Ein Login"}},password:{t:0,b:{t:2,i:[{t:3}],s:"Passwort"}},plugin_version:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Version"}},recording:{t:0,b:{t:2,i:[{t:3}],s:"Aufnahme"}},remember_me:{t:0,b:{t:2,i:[{t:3}],s:"Erinnere mich"}},remove_storage:{t:0,b:{t:2,i:[{t:3}],s:"Speicher entfernen"}},resolution:{t:0,b:{t:2,i:[{t:3}],s:"Auflösung"}},role:{t:0,b:{t:2,i:[{t:3}],s:"Rolle"}},rtsp_url:{t:0,b:{t:2,i:[{t:3}],s:"RTSP-URL"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Alle auswählen"}},select_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Kameras auswählen"}},serial_number:{t:0,b:{t:2,i:[{t:3}],s:"Seriennummer"}},server_addresses:{t:0,b:{t:2,i:[{t:3}],s:"Server-Adressen"}},server_version:{t:0,b:{t:2,i:[{t:3}],s:"Server-Version"}},session_timer:{t:0,b:{t:2,i:[{t:3}],s:"Sitzungstimer"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},show_bottombar_on_mobile:{t:0,b:{t:2,i:[{t:3}],s:"Bottombar auf Mobilgeräten anzeigen"}},show_camera_events:{t:0,b:{t:2,i:[{t:3}],s:"Kameraereignisse anzeigen"}},source_label:{t:0,b:{t:2,i:[{t:3}],s:"Quellenbezeichnung"}},source_name:{t:0,b:{t:2,i:[{t:3}],s:"Quellenname"}},source_role:{t:0,b:{t:2,i:[{t:3}],s:"Quellenrolle"}},sources:{t:0,b:{t:2,i:[{t:3}],s:"Quellen"}},snapshot_url:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot URL"}},streaming_mode:{t:0,b:{t:2,i:[{t:3}],s:"Streaming Modus"}},streaming_source:{t:0,b:{t:2,i:[{t:3}],s:"Streaming Quelle"}},system_preference:{t:0,b:{t:2,i:[{t:3}],s:"Systemeinstellung"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Thema"}},type:{t:0,b:{t:2,i:[{t:3}],s:"Typ"}},username:{t:0,b:{t:2,i:[{t:3}],s:"Benutzername"}},video_codec:{t:0,b:{t:2,i:[{t:3}],s:"Video-Codec"}},zone_name:{t:0,b:{t:2,i:[{t:3}],s:"Zonenname"}}},tooltip:{clear:{t:0,b:{t:2,i:[{t:3}],s:"Säubern"}},contain:{t:0,b:{t:2,i:[{t:3}],s:"Enthalten"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Löschen"}},disabled:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiviert"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Bearbeiten"}},exclude:{t:0,b:{t:2,i:[{t:3}],s:"Ausschließen"}},finish:{t:0,b:{t:2,i:[{t:3}],s:"Fertig"}},include:{t:0,b:{t:2,i:[{t:3}],s:"Einschließen"}},intersect:{t:0,b:{t:2,i:[{t:3}],s:"Schneiden"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Abmelden"}},new:{t:0,b:{t:2,i:[{t:3}],s:"Neu"}},privacy_mask:{t:0,b:{t:2,i:[{t:3}],s:"Privatsphärenmaske"}},public_mask:{t:0,b:{t:2,i:[{t:3}],s:"Öffentliche Maske"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Neustarten"}},undo:{t:0,b:{t:2,i:[{t:3}],s:"Rückgängig"}}}},notification_menu:{clear_notifications:{t:0,b:{t:2,i:[{t:3}],s:"Benachrichtigungen löschen"}},debug:{t:0,b:{t:2,i:[{t:3}],s:"Debug"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Fehler"}},info:{t:0,b:{t:2,i:[{t:3}],s:"Info"}},no_notifications:{t:0,b:{t:2,i:[{t:3}],s:"Keine Benachrichtigungen"}},verbose:{t:0,b:{t:2,i:[{t:3}],s:"Ausführlich"}},warn:{t:0,b:{t:2,i:[{t:3}],s:"Warnung"}}},options_sidebar:{segment_tab_default:{t:0,b:{t:2,i:[{t:3}],s:"Standard"}},segment_tab_overview:{t:0,b:{t:2,i:[{t:3}],s:"Übersicht"}},segment_tab_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},segment_tab_settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},segment_tab_sources:{t:0,b:{t:2,i:[{t:3}],s:"Quellen"}}},player:{add_shortcuts:{t:0,b:{t:2,i:[{t:3}],s:"Shortcuts hinzufügen"}},capture_snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot aufnehmen"}},hide_motions:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungen ausblenden"}},hide_objects:{t:0,b:{t:2,i:[{t:3}],s:"Objekte ausblenden"}},hide_zones:{t:0,b:{t:2,i:[{t:3}],s:"Zonen ausblenden"}},live:{t:0,b:{t:2,i:[{t:3}],s:"Live"}},log:{t:0,b:{t:2,i:[{t:3}],s:"Log"}},reconnecting:{t:0,b:{t:2,i:[{t:3}],s:"Wiederverbinden..."}},refresh_snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot aktualisieren"}},save_shortcuts:{t:0,b:{t:2,i:[{t:3}],s:"Shortcuts speichern"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},share_camera:{t:0,b:{t:2,i:[{t:3}],s:"Kamera teilen"}},show_motions:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungen anzeigen"}},show_objects:{t:0,b:{t:2,i:[{t:3}],s:"Objekte anzeigen"}},show_zones:{t:0,b:{t:2,i:[{t:3}],s:"Zonen anzeigen"}},zoom_in:{t:0,b:{t:2,i:[{t:3}],s:"Zoom rein"}},zoom_out:{t:0,b:{t:2,i:[{t:3}],s:"Zoom raus"}}},plugin_card:{installed:{t:0,b:{t:2,i:[{t:3}],s:"Installiert"}},no_description:{t:0,b:{t:2,i:[{t:3}],s:"Keine Beschreibung verfügbar"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Neustart"}},select_version:{t:0,b:{t:2,i:[{t:3}],s:"Version auswählen"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},start:{t:0,b:{t:2,i:[{t:3}],s:"Start"}},status_disabled:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiviert"}},status_error:{t:0,b:{t:2,i:[{t:3}],s:"Fehler"}},status_ready:{t:0,b:{t:2,i:[{t:3}],s:"Bereit"}},status_started:{t:0,b:{t:2,i:[{t:3}],s:"Gestartet"}},status_starting:{t:0,b:{t:2,i:[{t:3}],s:"Startet"}},status_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Gestoppt"}},status_unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unbekannt"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Stop"}},uninstall:{t:0,b:{t:2,i:[{t:3}],s:"Deinstallieren"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisieren"}},update_available:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisierung verfügbar"}}},plugin_search:{plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}}},plugin_types:{camera:{t:0,b:{t:2,i:[{t:3}],s:"Kamera"}},hub:{t:0,b:{t:2,i:[{t:3}],s:"Hub"}},prebuffer:{t:0,b:{t:2,i:[{t:3}],s:"Prebuffer"}},motionDetection:{t:0,b:{t:2,i:[{t:3}],s:"Bewegungserkennung"}},objectDetection:{t:0,b:{t:2,i:[{t:3}],s:"Objekterkennung"}},audioDetection:{t:0,b:{t:2,i:[{t:3}],s:"Geräuscherkennung"}},ptz:{t:0,b:{t:2,i:[{t:3}],s:"PTZ"}}},process_table:{status_error:{t:0,b:{t:2,i:[{t:3}],s:"Fehler"}},status_ready:{t:0,b:{t:2,i:[{t:3}],s:"Bereit"}},status_started:{t:0,b:{t:2,i:[{t:3}],s:"Gestartet"}},status_starting:{t:0,b:{t:2,i:[{t:3}],s:"Startet"}},status_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Gestoppt"}},status_unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unbekannt"}},title_cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},title_cpu_load:{t:0,b:{t:2,i:[{t:3}],s:"CPU-Auslastung"}},title_memory:{t:0,b:{t:2,i:[{t:3}],s:"Speicher"}},title_memory_load:{t:0,b:{t:2,i:[{t:3}],s:"Speicherauslastung"}},title_name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},title_pid:{t:0,b:{t:2,i:[{t:3}],s:"PID"}}},toast:{backup_downloaded:{t:0,b:{t:2,i:[{t:3}],s:"Backup-Datei erfolgreich heruntergeladen"}},backup_restored:{t:0,b:{t:2,i:[{t:3}],s:"Backup-Datei erfolgreich wiederhergestellt"}},camera_added:{t:0,b:{t:2,i:[{t:3}],s:"Kamera erfolgreich hinzugefügt"}},camera_removed:{t:0,b:{t:2,i:[{t:3}],s:"Kamera erfolgreich entfernt"}},camera_updated:{t:0,b:{t:2,i:[{t:3}],s:"Kamera erfolgreich aktualisiert"}},cameras_removed:{t:0,b:{t:2,i:[{t:3}],s:"Kameras erfolgreich entfernt"}},config_deleted:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration erfolgreich gelöscht"}},config_go2rtc_deleted:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC-Konfiguration erfolgreich gelöscht"}},config_go2rtc_updated:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC-Konfiguration erfolgreich aktualisiert"}},config_updated:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration erfolgreich aktualisiert"}},error_see_console:{t:0,b:{t:2,i:[{t:3}],s:"Fehler, siehe Konsole"}},frame_worker_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Frame Worker erfolgreich neugestartet"}},go2rtc_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC erfolgreich neugestartet"}},log_cleared:{t:0,b:{t:2,i:[{t:3}],s:"Log erfolgreich gelöscht"}},plugin_config_updated:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Konfiguration erfolgreich aktualisiert"}},plugin_disabled:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich deaktiviert"}},plugin_enabled:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich aktiviert"}},plugin_installed:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich installiert"}},plugin_removed:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich entfernt"}},plugin_request_sent:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Anfrage erfolgreich gesendet"}},plugin_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich neugestartet"}},plugin_settings_updated:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Einstellungen erfolgreich aktualisiert"}},plugin_started:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich gestartet"}},plugin_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Plugin erfolgreich gestoppt"}},plugins_removed:{t:0,b:{t:2,i:[{t:3}],s:"Plugins erfolgreich entfernt"}},profile_updated:{t:0,b:{t:2,i:[{t:3}],s:"Profil erfolgreich aktualisiert"}},server_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Server erfolgreich neugestartet"}},server_updated:{t:0,b:{t:2,i:[{t:3}],s:"Server erfolgreich aktualisiert"}},user_added:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer erfolgreich hinzugefügt"}},user_logged_out:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer erfolgreich abgemeldet"}},user_removed:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer erfolgreich entfernt"}},user_updated:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer erfolgreich aktualisiert"}},users_removed:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer erfolgreich entfernt"}},view_added:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht erfolgreich hinzugefügt"}},view_removed:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht erfolgreich entfernt"}},view_updated:{t:0,b:{t:2,i:[{t:3}],s:"Ansicht erfolgreich aktualisiert"}},views_removed:{t:0,b:{t:2,i:[{t:3}],s:"Ansichten erfolgreich entfernt"}},zone_added:{t:0,b:{t:2,i:[{t:3}],s:"Zone erfolgreich hinzugefügt"}},zone_updated:{t:0,b:{t:2,i:[{t:3}],s:"Zone erfolgreich aktualisiert"}},zone_removed:{t:0,b:{t:2,i:[{t:3}],s:"Zone erfolgreich entfernt"}}},upload_files:{drop_or_select_file:{t:0,b:{t:2,i:[{t:3}],s:"Datei ablegen oder auswählen"}},only_one_file_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Es ist nur eine Datei erlaubt"}}},user_menu:{account:{t:0,b:{t:2,i:[{t:3}],s:"Konto"}},admin_panel:{t:0,b:{t:2,i:[{t:3}],s:"Admin Panel"}},config:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration"}},console:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Abmelden"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},reload:{t:0,b:{t:2,i:[{t:3}],s:"Neu laden"}}},user_table:{title_address:{t:0,b:{t:2,i:[{t:3}],s:"Adresse"}},title_device:{t:0,b:{t:2,i:[{t:3}],s:"Gerät"}},title_role:{t:0,b:{t:2,i:[{t:3}],s:"Rolle"}},title_username:{t:0,b:{t:2,i:[{t:3}],s:"Benutzername"}},you:{t:0,b:{t:2,i:[{t:3}],s:"Du"}}},view_box:{available_streams:{t:0,b:{t:2,i:[{t:3}],s:"Verfügbare Streams"}}},zone_editor:{zone:{t:0,b:{t:2,i:[{t:3}],s:"Zone"}}}},general:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Laden..."}},role_admin:{t:0,b:{t:2,i:[{t:3}],s:"Admin"}},role_user:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer"}}},navigation:{account:{t:0,b:{t:2,i:[{t:3}],s:"Konto"}},adminpanel:{t:0,b:{t:2,i:[{t:3}],s:"Admin-Panel"}},appearance:{t:0,b:{t:2,i:[{t:3}],s:"Erscheinungsbild"}},backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup"}},cameras:{t:0,b:{t:2,i:[{t:3}],s:"Kameras"}},camview:{t:0,b:{t:2,i:[{t:3}],s:"Kameransicht"}},config:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration"}},console:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}},nvr:{t:0,b:{t:2,i:[{t:3}],s:"NVR"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},recordings:{t:0,b:{t:2,i:[{t:3}],s:"Aufnahmen"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},system:{t:0,b:{t:2,i:[{t:3}],s:"System"}},user:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer"}}},navigation_description:{account_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie Kontoeinstellungen und Erfahrungen."}},appearance_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie das Erscheinungsbild und die Benutzeroberfläche der App."}},backup_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten, planen Sie Backups und stellen Sie Daten wieder her."}},nvr_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie das Netzwerk-Videorekorder-System."}},recordings_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie Aufnahmen und Speicheroptionen."}},system_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie das System, überwachen Sie den Status und die Aufgaben."}},user_description:{t:0,b:{t:2,i:[{t:3}],s:"Verwalten Sie Benutzer, Rollen und Berechtigungen."}}},views:{404:{button_home:{t:0,b:{t:2,i:[{t:3}],s:"Startseite"}},error_message:{t:0,b:{t:2,i:[{t:3}],s:"Die Seite, die Sie suchen, existiert nicht."}}},adminpanel:{frameworker:{t:0,b:{t:2,i:[{t:3}],s:"Frameworker"}},general:{t:0,b:{t:2,i:[{t:3}],s:"Allgemein"}},logged_in_users:{t:0,b:{t:2,i:[{t:3}],s:"Derzeit angemeldete Benutzer"}},main:{t:0,b:{t:2,i:[{t:3}],s:"Hauptprozesse"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Admin Panel"}}},camera:{detections:{t:0,b:{t:2,i:[{t:3}],s:"Erkennungen"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"Zeitleiste"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Kamera"}}},cameras:{events:{t:0,b:{t:2,i:[{t:3}],s:"Ereignisse"}},new_camera:{t:0,b:{t:2,i:[{t:3}],s:"Neue Kamera"}},no_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Keine Kameras verfügbar"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Kameras"}}},camview:{all_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Alle Kameras"}},cameras:{t:0,b:{t:2,i:[{t:3}],s:"Kameras"}},new_dnd:{t:0,b:{t:2,i:[{t:3}],s:"Neue DND"}},new_view:{t:0,b:{t:2,i:[{t:3}],s:"Neue Ansicht"}},no_dnds_configured:{t:0,b:{t:2,i:[{t:3}],s:"Keine DNDs konfiguriert"}},no_views_configured:{t:0,b:{t:2,i:[{t:3}],s:"Keine Ansichten konfiguriert"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Kameransicht"}}},config:{title:{t:0,b:{t:2,i:[{t:3}],s:"Konfiguration"}}},console:{title:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}}},firststeps:{complete:{t:0,b:{t:2,i:[{t:3}],s:"Fertig"}},enjoy:{t:0,b:{t:2,i:[{t:3}],s:"Viel Spaß!"}},finish_message:{t:0,b:{t:2,i:[{t:3}],s:"Sie haben die ersten Schritte erfolgreich abgeschlossen. Sie können nun die Anwendung nutzen."}},step_account:{t:0,b:{t:2,i:[{t:3}],s:"Konto"}},step_appearance:{t:0,b:{t:2,i:[{t:3}],s:"Erscheinungsbild"}},step_finish:{t:0,b:{t:2,i:[{t:3}],s:"Fertig"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Erste Schritte"}}},login:{title:{t:0,b:{t:2,i:[{t:3}],s:"Anmelden"}}},new_camera:{camera:{t:0,b:{t:2,i:[{t:3}],s:"Kamera"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Quelle"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Neue Kamera"}}},plugin:{changelog:{t:0,b:{t:2,i:[{t:3}],s:"Änderungsprotokoll"}},no_changelog:{t:0,b:{t:2,i:[{t:3}],s:"Kein Änderungsprotokoll verfügbar"}},no_readme:{t:0,b:{t:2,i:[{t:3}],s:"Keine Leseanleitung verfügbar"}},plugin_settings:{t:0,b:{t:2,i:[{t:3}],s:"Plugin-Einstellungen"}},readme:{t:0,b:{t:2,i:[{t:3}],s:"Leseanleitung"}},segment_tab_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Kameras"}},segment_tab_interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},segment_tab_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},segment_tab_settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Plugin"}}},plugins:{no_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Keine Plugins verfügbar"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}}},recordings:{title:{t:0,b:{t:2,i:[{t:3}],s:"Aufnahmen"}}},settings:{available_updates:{t:0,b:{t:2,i:[{t:3}],s:"Verfügbare Aktualisierungen"}},available_updates_info:{t:0,b:{t:2,i:[{t:3}],s:"Es sind Aktualisierungen für camera.ui verfügbar."}},certificate:{t:0,b:{t:2,i:[{t:3}],s:"Zertifikat"}},certificate_info:{t:0,b:{t:2,i:[{t:3}],s:"Laden Sie hier das SSL-Zertifikat der Webseite herunter. Durch das Hinzufügen dieses Zertifikats zu Ihrem Keychain oder Ihrer Zertifikatsverwaltung wird die Seite als sicher erkannt. Dies verbessert die Browsererfahrung und vermeidet Sicherheitswarnungen."}},create_backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup erstellen"}},create_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Laden Sie ein Sicherungsarchiv Ihrere gesamten camera.ui Umgebung herunter. Dadurch wird der Inhalt Ihres camera.ui Speicherungsverzeichnisses gesichert. Diesen können Sie später auf jeder Plattform wiederherstellen auf der camera.ui läuft."}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Bearbeiten"}},interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},locale:{t:0,b:{t:2,i:[{t:3}],s:"Sprache"}},network:{t:0,b:{t:2,i:[{t:3}],s:"Netzwerk"}},network_info:{t:0,b:{t:2,i:[{t:3}],s:"Konfigurieren Sie hier die IP-Adressen, die der Server für die WebRTC-Kommunikation mit den Kameras verwendet. Diese Einstellung ermöglicht eine stabile und effiziente Verbindung zwischen Ihrem System und den angeschlossenen Kameras."}},not_available_updates_info:{t:0,b:{t:2,i:[{t:3}],s:"Ihre camera.ui Version ist auf dem neuesten Stand."}},password:{t:0,b:{t:2,i:[{t:3}],s:"Passwort"}},profile:{t:0,b:{t:2,i:[{t:3}],s:"Profil"}},registered_users:{t:0,b:{t:2,i:[{t:3}],s:"Registrierte Benutzer"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Entfernen"}},restart_server:{t:0,b:{t:2,i:[{t:3}],s:"Server neustarten"}},restart_server_info:{t:0,b:{t:2,i:[{t:3}],s:"Durch Klicken auf diesen Button starten Sie den Server neu. Ein Ladebildschirm wird angezeigt, bis der Neustart abgeschlossen ist. Anschließend wird die Seite automatisch aktualisiert und steht Ihnen wieder zur Verfügung."}},restore_backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup wiederherstellen"}},restore_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Stellen Sie ein Sicherungsarchiv wieder her, das Sie zuvor mit camera.ui erstellt haben. Ihre camera.ui Konfiguration, Datenbank, Benutzerkonten und Medien werden wiederhergestellt."}},search_by_name:{t:0,b:{t:2,i:[{t:3}],s:"Nach Namen suchen"}},searching_updates:{t:0,b:{t:2,i:[{t:3}],s:"Suche nach Aktualisierungen..."}},sheduled_backup:{t:0,b:{t:2,i:[{t:3}],s:"Geplantes Backup"}},sheduled_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Planen Sie ein Backup der aktuellen Konfiguration"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Thema"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},title_account:{t:0,b:{t:2,i:[{t:3}],s:"Konto"}},title_appearance:{t:0,b:{t:2,i:[{t:3}],s:"Erscheinungsbild"}},title_backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup"}},title_go2rtc:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC"}},title_nvr:{t:0,b:{t:2,i:[{t:3}],s:"NVR"}},title_recordings:{t:0,b:{t:2,i:[{t:3}],s:"Aufnahmen"}},title_system:{t:0,b:{t:2,i:[{t:3}],s:"System"}},title_user:{t:0,b:{t:2,i:[{t:3}],s:"Benutzer"}},update_available:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisierung verfügbar"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},version_info:{t:0,b:{t:2,i:[{t:3}],s:"camera.ui Version"}}}}}},{en:{$vuetify:{badge:{t:0,b:{t:2,i:[{t:3}],s:"Badge"}},calendar:{moreEvents:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" more"}]}}},carousel:{ariaLabel:{delimiter:{t:0,b:{t:2,i:[{t:3,v:"Carousel slide "},{t:5,i:0},{t:3,v:" of "},{t:5,i:1}]}}},next:{t:0,b:{t:2,i:[{t:3}],s:"Next visual"}},prev:{t:0,b:{t:2,i:[{t:3}],s:"Previous visual"}}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},dataFooter:{firstPage:{t:0,b:{t:2,i:[{t:3}],s:"First page"}},itemsPerPageAll:{t:0,b:{t:2,i:[{t:3}],s:"All"}},itemsPerPageText:{t:0,b:{t:2,i:[{t:3}],s:"Items per page:"}},lastPage:{t:0,b:{t:2,i:[{t:3}],s:"Last page"}},nextPage:{t:0,b:{t:2,i:[{t:3}],s:"Next page"}},pageText:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:"-"},{t:5,i:1},{t:3,v:" of "},{t:5,i:2}]}},prevPage:{t:0,b:{t:2,i:[{t:3}],s:"Previous page"}}},dataIterator:{loadingText:{t:0,b:{t:2,i:[{t:3}],s:"Loading items..."}},noResultsText:{t:0,b:{t:2,i:[{t:3}],s:"No matching records found"}}},dataTable:{ariaLabel:{activateAscending:{t:0,b:{t:2,i:[{t:3}],s:"Activate to sort ascending."}},activateDescending:{t:0,b:{t:2,i:[{t:3}],s:"Activate to sort descending."}},activateNone:{t:0,b:{t:2,i:[{t:3}],s:"Activate to remove sorting."}},sortAscending:{t:0,b:{t:2,i:[{t:3}],s:"Sorted ascending."}},sortDescending:{t:0,b:{t:2,i:[{t:3}],s:"Sorted descending."}},sortNone:{t:0,b:{t:2,i:[{t:3}],s:"Not sorted."}}},itemsPerPageText:{t:0,b:{t:2,i:[{t:3}],s:"Rows per page:"}},sortBy:{t:0,b:{t:2,i:[{t:3}],s:"Sort by"}}},datePicker:{cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},header:{t:0,b:{t:2,i:[{t:3}],s:"Enter date"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Enter date"}}},ok:{t:0,b:{t:2,i:[{t:3}],s:"OK"}},range:{header:{t:0,b:{t:2,i:[{t:3}],s:"Enter dates"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Select dates"}}},title:{t:0,b:{t:2,i:[{t:3}],s:"Select date"}}},dateRangeInput:{divider:{t:0,b:{t:2,i:[{t:3}],s:"to"}}},fileInput:{counter:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" files"}]}},counterSize:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" files ("},{t:5,i:1},{t:3,v:" in total)"}]}}},infiniteScroll:{empty:{t:0,b:{t:2,i:[{t:3}],s:"No more"}},loadMore:{t:0,b:{t:2,i:[{t:3}],s:"Load more"}}},input:{appendAction:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" appended action"}]}},clear:{t:0,b:{t:2,i:[{t:3,v:"Clear "},{t:5,i:0}]}},otp:{t:0,b:{t:2,i:[{t:3,v:"Please enter OTP character "},{t:5,i:0}]}},prependAction:{t:0,b:{t:2,i:[{t:5,i:0},{t:3,v:" prepended action"}]}}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading..."}},noDataText:{t:0,b:{t:2,i:[{t:3}],s:"No data available"}},open:{t:0,b:{t:2,i:[{t:3}],s:"Open"}},pagination:{ariaLabel:{currentPage:{t:0,b:{t:2,i:[{t:3,v:"Page "},{t:5,i:0},{t:3,v:", Current page"}]}},first:{t:0,b:{t:2,i:[{t:3}],s:"First page"}},last:{t:0,b:{t:2,i:[{t:3}],s:"Last page"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Next page"}},page:{t:0,b:{t:2,i:[{t:3,v:"Go to page "},{t:5,i:0}]}},previous:{t:0,b:{t:2,i:[{t:3}],s:"Previous page"}},root:{t:0,b:{t:2,i:[{t:3}],s:"Pagination Navigation"}}}},rating:{ariaLabel:{item:{t:0,b:{t:2,i:[{t:3,v:"Rating "},{t:5,i:0},{t:3,v:" of "},{t:5,i:1}]}}}},stepper:{next:{t:0,b:{t:2,i:[{t:3}],s:"Next"}},prev:{t:0,b:{t:2,i:[{t:3}],s:"Previous"}}},timePicker:{am:{t:0,b:{t:2,i:[{t:3}],s:"AM"}},pm:{t:0,b:{t:2,i:[{t:3}],s:"PM"}}}},components:{camera_draggable:{no_cameras:{t:0,b:{t:2,i:[{t:3}],s:"No cameras available"}}},camera_events:{no_events:{t:0,b:{t:2,i:[{t:3}],s:"No events available"}}},camera_options:{advanced:{t:0,b:{t:2,i:[{t:3}],s:"Advanced"}},audio_state:{t:0,b:{t:2,i:[{t:3}],s:"Audio state"}},battery_state:{t:0,b:{t:2,i:[{t:3}],s:"Battery state"}},categories:{t:0,b:{t:2,i:[{t:3}],s:"Categories"}},chip_audioDetection:{t:0,b:{t:2,i:[{t:3}],s:"Audio detection"}},chip_hub:{t:0,b:{t:2,i:[{t:3}],s:"Hub"}},chip_hubs:{t:0,b:{t:2,i:[{t:3}],s:"Hubs"}},chip_more:{t:0,b:{t:2,i:[{t:3}],s:"More"}},chip_motionDetection:{t:0,b:{t:2,i:[{t:3}],s:"Motion detection"}},chip_objectDetection:{t:0,b:{t:2,i:[{t:3}],s:"Object detection"}},chip_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},chip_prebuffer:{t:0,b:{t:2,i:[{t:3}],s:"Prebuffer"}},chip_ptz:{t:0,b:{t:2,i:[{t:3}],s:"PTZ"}},detection:{t:0,b:{t:2,i:[{t:3}],s:"Detection"}},doorbell_state:{t:0,b:{t:2,i:[{t:3}],s:"Doorbell state"}},enabled_extension:{t:0,b:{t:2,i:[{t:3}],s:"Enabled extension"}},frame_worker:{t:0,b:{t:2,i:[{t:3}],s:"Frame Worker"}},general:{t:0,b:{t:2,i:[{t:3}],s:"General"}},branding:{t:0,b:{t:2,i:[{t:3}],s:"Branding"}},interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},light_state:{t:0,b:{t:2,i:[{t:3}],s:"Light state"}},manage_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Manage plugins"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},motion_detection:{t:0,b:{t:2,i:[{t:3}],s:"Motion detection"}},motion_state:{t:0,b:{t:2,i:[{t:3}],s:"Motion state"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},native:{t:0,b:{t:2,i:[{t:3}],s:"Native"}},no_config:{t:0,b:{t:2,i:[{t:3}],s:"No configuration available"}},no_plugins_enabled:{t:0,b:{t:2,i:[{t:3}],s:"No plugins enabled"}},no_plugins_found:{t:0,b:{t:2,i:[{t:3}],s:"No plugins found"}},no_zones:{t:0,b:{t:2,i:[{t:3}],s:"No zones available"}},object_detection:{t:0,b:{t:2,i:[{t:3}],s:"Object detection"}},object_state:{t:0,b:{t:2,i:[{t:3}],s:"Object state"}},plugin:{t:0,b:{t:2,i:[{t:3}],s:"Plugin"}},plugin_settings:{t:0,b:{t:2,i:[{t:3}],s:"Plugin settings"}},recordings:{t:0,b:{t:2,i:[{t:3}],s:"Recordings"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},siren_state:{t:0,b:{t:2,i:[{t:3}],s:"Siren state"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Source"}},snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot"}},streaming_mode:{t:0,b:{t:2,i:[{t:3}],s:"Streaming mode"}},unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unknown"}},zones:{t:0,b:{t:2,i:[{t:3}],s:"Zones"}}},charts:{no_data:{t:0,b:{t:2,i:[{t:3}],s:"No data available"}}},detection_interface:{audio_detected:{t:0,b:{t:2,i:[{t:3}],s:"Audio detected"}},audio_not_detected:{t:0,b:{t:2,i:[{t:3}],s:"Audio not detected"}},audio_required:{t:0,b:{t:2,i:[{t:3}],s:"Audio required"}},detect_audio:{t:0,b:{t:2,i:[{t:3}],s:"Detect audio"}},detect_motion:{t:0,b:{t:2,i:[{t:3}],s:"Detect motion"}},detect_objects:{t:0,b:{t:2,i:[{t:3}],s:"Detect objects"}},drop_or_select_audio_to_detect:{t:0,b:{t:2,i:[{t:3}],s:"Drop or select audio to detect"}},drop_or_select_image_to_detect_objects:{t:0,b:{t:2,i:[{t:3}],s:"Drop or select image to detect objects"}},drop_or_select_video_to_detect_motion:{t:0,b:{t:2,i:[{t:3}],s:"Drop or select video to detect motion"}},file_size_error:{t:0,b:{t:2,i:[{t:3}],s:"File size error"}},image_required:{t:0,b:{t:2,i:[{t:3}],s:"Image required"}},interface_config:{t:0,b:{t:2,i:[{t:3}],s:"Interface configuration"}},no_interface_config:{t:0,b:{t:2,i:[{t:3}],s:"No interface configuration available"}},only_one_audio_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Es ist nur ein Audio erlaubt"}},only_one_image_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Only one image allowed"}},only_one_video_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Only one video allowed"}},video_required:{t:0,b:{t:2,i:[{t:3}],s:"Video required"}}},dialog:{message:{confirm_clear_log:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to clear the log?"}},confirm_remove:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to remove this camera?"}},confirm_remove_layout:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to remove this layout?"}},confirm_restart_go2rtc:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to restart the Go2RTC?"}},confirm_restart_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to restart this plugin?"}},confirm_restart_server:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to restart the server?"}},confirm_restore:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to restore this backup?"}},confirm_uninstall_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to uninstall this plugin?"}},intercom_info:{t:0,b:{t:2,i:[{t:3}],s:"Speak simultaneously to all cameras that have intercom"}}},title:{config:{t:0,b:{t:2,i:[{t:3}],s:"Configuration"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirm"}},create_new_user:{t:0,b:{t:2,i:[{t:3}],s:"New user"}},edit_dnd:{t:0,b:{t:2,i:[{t:3}],s:"Edit DND"}},edit_layout:{t:0,b:{t:2,i:[{t:3}],s:"Edit layout"}},edit_user:{t:0,b:{t:2,i:[{t:3}],s:"Edit user"}},edit_view:{t:0,b:{t:2,i:[{t:3}],s:"Edit view"}},information:{t:0,b:{t:2,i:[{t:3}],s:"Information"}},install_version:{t:0,b:{t:2,i:[{t:3}],s:"Install version"}},intercom:{t:0,b:{t:2,i:[{t:3}],s:"Intercom"}},log:{t:0,b:{t:2,i:[{t:3}],s:"Log"}},new_dnd:{t:0,b:{t:2,i:[{t:3}],s:"New DND"}},new_view:{t:0,b:{t:2,i:[{t:3}],s:"New view"}},new_zone:{t:0,b:{t:2,i:[{t:3}],s:"New zone"}},plugin_config:{t:0,b:{t:2,i:[{t:3}],s:"Plugin config"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Preview"}},remove_layout:{t:0,b:{t:2,i:[{t:3}],s:"Remove layout"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Restart"}},result:{t:0,b:{t:2,i:[{t:3}],s:"Result"}},search_plugin:{t:0,b:{t:2,i:[{t:3}],s:"Search plugin"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Update"}},unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unknown"}},zone:{t:0,b:{t:2,i:[{t:3}],s:"Zone"}},zone_editor:{t:0,b:{t:2,i:[{t:3}],s:"Zone editor"}}}},form:{button:{add:{t:0,b:{t:2,i:[{t:3}],s:"Add"}},add_source:{t:0,b:{t:2,i:[{t:3}],s:"Add source"}},add_view:{t:0,b:{t:2,i:[{t:3}],s:"Add view"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Back"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},change_view:{t:0,b:{t:2,i:[{t:3}],s:"Change view"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"Clear"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},create_new_user:{t:0,b:{t:2,i:[{t:3}],s:"Create new user"}},download:{t:0,b:{t:2,i:[{t:3}],s:"Download"}},download_backup_archive:{t:0,b:{t:2,i:[{t:3}],s:"Download backup archive"}},download_cert:{t:0,b:{t:2,i:[{t:3}],s:"Download certificate"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},finish:{t:0,b:{t:2,i:[{t:3}],s:"Finish"}},go_to_message:{t:0,b:{t:2,i:[{t:3}],s:"Go to message"}},install:{t:0,b:{t:2,i:[{t:3}],s:"Install"}},login:{t:0,b:{t:2,i:[{t:3}],s:"Login"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Logout"}},logout_all:{t:0,b:{t:2,i:[{t:3}],s:"Logout all"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"Manage"}},mark_as_read:{t:0,b:{t:2,i:[{t:3}],s:"Mark as read"}},new:{t:0,b:{t:2,i:[{t:3}],s:"New"}},new_zone:{t:0,b:{t:2,i:[{t:3}],s:"New zone"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Next"}},open_editor:{t:0,b:{t:2,i:[{t:3}],s:"Open editor"}},previous:{t:0,b:{t:2,i:[{t:3}],s:"Previous"}},reinstall:{t:0,b:{t:2,i:[{t:3}],s:"Reinstall"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Remove"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Restart"}},restore_backup_archive:{t:0,b:{t:2,i:[{t:3}],s:"Restore backup archive"}},restore_and_restart:{t:0,b:{t:2,i:[{t:3}],s:"Restore and restart"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save"}},save_and_restart:{t:0,b:{t:2,i:[{t:3}],s:"Save and restart"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"Submit"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Update"}},undo:{t:0,b:{t:2,i:[{t:3}],s:"Undo"}},uninstall:{t:0,b:{t:2,i:[{t:3}],s:"Uninstall"}},upload:{t:0,b:{t:2,i:[{t:3}],s:"Upload"}}},error:{no_cameras_selected:{t:0,b:{t:2,i:[{t:3}],s:"No cameras selected"}},no_view_selected:{t:0,b:{t:2,i:[{t:3}],s:"No view selected"}}},hint:{one_login:{t:0,b:{t:2,i:[{t:3}],s:"Allows only one active session per user"}},remember_me:{t:0,b:{t:2,i:[{t:3}],s:"Allows the session not to expire"}}},label:{audio_codec:{t:0,b:{t:2,i:[{t:3}],s:"Audio codec"}},cache_time:{t:0,b:{t:2,i:[{t:3}],s:"Cache time"}},camera:{t:0,b:{t:2,i:[{t:3}],s:"Camera"}},classes:{t:0,b:{t:2,i:[{t:3}],s:"Classes"}},confidence:{t:0,b:{t:2,i:[{t:3}],s:"Confidence"}},connections:{t:0,b:{t:2,i:[{t:3}],s:"Connections"}},decoder:{t:0,b:{t:2,i:[{t:3}],s:"Decoder"}},default_settings_page:{t:0,b:{t:2,i:[{t:3}],s:"Default Settings page"}},disabled:{t:0,b:{t:2,i:[{t:3}],s:"Disabled"}},enabled:{t:0,b:{t:2,i:[{t:3}],s:"Enabled"}},firmware_version:{t:0,b:{t:2,i:[{t:3}],s:"Firmware version"}},fps:{t:0,b:{t:2,i:[{t:3}],s:"FPS"}},frame_worker:{t:0,b:{t:2,i:[{t:3}],s:"Frame Worker"}},hardware_version:{t:0,b:{t:2,i:[{t:3}],s:"Hardware version"}},language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},layout_name:{t:0,b:{t:2,i:[{t:3}],s:"Layout name"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"Manufacturer"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},motion_duration:{t:0,b:{t:2,i:[{t:3}],s:"Motion duration"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},new_password:{t:0,b:{t:2,i:[{t:3}],s:"New password"}},new_password_confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirm new password"}},one_login:{t:0,b:{t:2,i:[{t:3}],s:"One login"}},password:{t:0,b:{t:2,i:[{t:3}],s:"Password"}},plugin_version:{t:0,b:{t:2,i:[{t:3}],s:"Plugin version"}},recording:{t:0,b:{t:2,i:[{t:3}],s:"Recording"}},remember_me:{t:0,b:{t:2,i:[{t:3}],s:"Remember me"}},remove_storage:{t:0,b:{t:2,i:[{t:3}],s:"Remove storage"}},resolution:{t:0,b:{t:2,i:[{t:3}],s:"Resolution"}},role:{t:0,b:{t:2,i:[{t:3}],s:"Role"}},rtsp_url:{t:0,b:{t:2,i:[{t:3}],s:"RTSP URL"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Select all"}},select_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Select cameras"}},serial_number:{t:0,b:{t:2,i:[{t:3}],s:"Serial number"}},server_addresses:{t:0,b:{t:2,i:[{t:3}],s:"Server addresses"}},server_version:{t:0,b:{t:2,i:[{t:3}],s:"Server version"}},session_timer:{t:0,b:{t:2,i:[{t:3}],s:"Session timer"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},show_bottombar_on_mobile:{t:0,b:{t:2,i:[{t:3}],s:"Show bottombar on mobile"}},show_camera_events:{t:0,b:{t:2,i:[{t:3}],s:"Show camera events"}},source_label:{t:0,b:{t:2,i:[{t:3}],s:"Source label"}},source_name:{t:0,b:{t:2,i:[{t:3}],s:"Source name"}},source_role:{t:0,b:{t:2,i:[{t:3}],s:"Source role"}},sources:{t:0,b:{t:2,i:[{t:3}],s:"Sources"}},snapshot_url:{t:0,b:{t:2,i:[{t:3}],s:"Snapshot URL"}},streaming_mode:{t:0,b:{t:2,i:[{t:3}],s:"Streaming mode"}},streaming_source:{t:0,b:{t:2,i:[{t:3}],s:"Streaming source"}},system_preference:{t:0,b:{t:2,i:[{t:3}],s:"System preference"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},username:{t:0,b:{t:2,i:[{t:3}],s:"Username"}},video_codec:{t:0,b:{t:2,i:[{t:3}],s:"Video codec"}},zone_name:{t:0,b:{t:2,i:[{t:3}],s:"Zone name"}}},tooltip:{clear:{t:0,b:{t:2,i:[{t:3}],s:"Clear"}},contain:{t:0,b:{t:2,i:[{t:3}],s:"Contain"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},disabled:{t:0,b:{t:2,i:[{t:3}],s:"Disabled"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},exclude:{t:0,b:{t:2,i:[{t:3}],s:"Exclude"}},finish:{t:0,b:{t:2,i:[{t:3}],s:"Finish"}},include:{t:0,b:{t:2,i:[{t:3}],s:"Include"}},intersect:{t:0,b:{t:2,i:[{t:3}],s:"Intersect"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Logout"}},new:{t:0,b:{t:2,i:[{t:3}],s:"New"}},privacy_mask:{t:0,b:{t:2,i:[{t:3}],s:"Privacy mask"}},public_mask:{t:0,b:{t:2,i:[{t:3}],s:"Public mask"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Restart"}},undo:{t:0,b:{t:2,i:[{t:3}],s:"Undo"}}}},notification_menu:{clear_notifications:{t:0,b:{t:2,i:[{t:3}],s:"Clear notifications"}},debug:{t:0,b:{t:2,i:[{t:3}],s:"Debug"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Error"}},info:{t:0,b:{t:2,i:[{t:3}],s:"Info"}},no_notifications:{t:0,b:{t:2,i:[{t:3}],s:"No notifications"}},verbose:{t:0,b:{t:2,i:[{t:3}],s:"Verbose"}},warn:{t:0,b:{t:2,i:[{t:3}],s:"Warning"}}},options_sidebar:{segment_tab_default:{t:0,b:{t:2,i:[{t:3}],s:"Default"}},segment_tab_overview:{t:0,b:{t:2,i:[{t:3}],s:"Overview"}},segment_tab_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},segment_tab_settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},segment_tab_sources:{t:0,b:{t:2,i:[{t:3}],s:"Sources"}}},player:{add_shortcuts:{t:0,b:{t:2,i:[{t:3}],s:"Add shortcuts"}},capture_snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Capture snapshot"}},hide_motions:{t:0,b:{t:2,i:[{t:3}],s:"Hide motions"}},hide_objects:{t:0,b:{t:2,i:[{t:3}],s:"Hide objects"}},hide_zones:{t:0,b:{t:2,i:[{t:3}],s:"Hide zones"}},live:{t:0,b:{t:2,i:[{t:3}],s:"Live"}},log:{t:0,b:{t:2,i:[{t:3}],s:"Log"}},reconnecting:{t:0,b:{t:2,i:[{t:3}],s:"Reconnecting..."}},refresh_snapshot:{t:0,b:{t:2,i:[{t:3}],s:"Refresh snapshot"}},save_shortcuts:{t:0,b:{t:2,i:[{t:3}],s:"Save shortcuts"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},share_camera:{t:0,b:{t:2,i:[{t:3}],s:"Share Camera"}},show_motions:{t:0,b:{t:2,i:[{t:3}],s:"Show motions"}},show_objects:{t:0,b:{t:2,i:[{t:3}],s:"Show objects"}},show_zones:{t:0,b:{t:2,i:[{t:3}],s:"Show zones"}},zoom_in:{t:0,b:{t:2,i:[{t:3}],s:"Zoom in"}},zoom_out:{t:0,b:{t:2,i:[{t:3}],s:"Zoom out"}}},plugin_card:{installed:{t:0,b:{t:2,i:[{t:3}],s:"Installed"}},no_description:{t:0,b:{t:2,i:[{t:3}],s:"No description available"}},restart:{t:0,b:{t:2,i:[{t:3}],s:"Restart"}},select_version:{t:0,b:{t:2,i:[{t:3}],s:"Select version"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},start:{t:0,b:{t:2,i:[{t:3}],s:"Start"}},status_disabled:{t:0,b:{t:2,i:[{t:3}],s:"Disabled"}},status_error:{t:0,b:{t:2,i:[{t:3}],s:"Error"}},status_ready:{t:0,b:{t:2,i:[{t:3}],s:"Ready"}},status_started:{t:0,b:{t:2,i:[{t:3}],s:"Started"}},status_starting:{t:0,b:{t:2,i:[{t:3}],s:"Starting"}},status_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Stopped"}},status_unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unknown"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Stop"}},uninstall:{t:0,b:{t:2,i:[{t:3}],s:"Uninstall"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Update"}},update_available:{t:0,b:{t:2,i:[{t:3}],s:"Update available"}}},plugin_search:{plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}}},plugin_types:{camera:{t:0,b:{t:2,i:[{t:3}],s:"Camera"}},hub:{t:0,b:{t:2,i:[{t:3}],s:"Hub"}},prebuffer:{t:0,b:{t:2,i:[{t:3}],s:"Prebuffer"}},motionDetection:{t:0,b:{t:2,i:[{t:3}],s:"Motion Detection"}},objectDetection:{t:0,b:{t:2,i:[{t:3}],s:"Object Detection"}},audioDetection:{t:0,b:{t:2,i:[{t:3}],s:"Audio Detection"}},ptz:{t:0,b:{t:2,i:[{t:3}],s:"PTZ"}}},process_table:{status_error:{t:0,b:{t:2,i:[{t:3}],s:"Error"}},status_ready:{t:0,b:{t:2,i:[{t:3}],s:"Ready"}},status_started:{t:0,b:{t:2,i:[{t:3}],s:"Started"}},status_starting:{t:0,b:{t:2,i:[{t:3}],s:"Starting"}},status_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Stopped"}},status_unknown:{t:0,b:{t:2,i:[{t:3}],s:"Unknown"}},title_cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},title_cpu_load:{t:0,b:{t:2,i:[{t:3}],s:"CPU load"}},title_memory:{t:0,b:{t:2,i:[{t:3}],s:"Memory"}},title_memory_load:{t:0,b:{t:2,i:[{t:3}],s:"Memory load"}},title_name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},title_pid:{t:0,b:{t:2,i:[{t:3}],s:"PID"}}},toast:{backup_downloaded:{t:0,b:{t:2,i:[{t:3}],s:"Backup file download successfully"}},backup_restored:{t:0,b:{t:2,i:[{t:3}],s:"Backup file restored successfully"}},camera_added:{t:0,b:{t:2,i:[{t:3}],s:"Camera added successfully"}},camera_removed:{t:0,b:{t:2,i:[{t:3}],s:"Camera removed successfully"}},camera_updated:{t:0,b:{t:2,i:[{t:3}],s:"Camera updated successfully"}},cameras_removed:{t:0,b:{t:2,i:[{t:3}],s:"Cameras removed successfully"}},config_deleted:{t:0,b:{t:2,i:[{t:3}],s:"Configuration deleted successfully"}},config_go2rtc_deleted:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC configuration deleted successfully"}},config_go2rtc_updated:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC configuration updated successfully"}},config_updated:{t:0,b:{t:2,i:[{t:3}],s:"Configuration updated successfully"}},error_see_console:{t:0,b:{t:2,i:[{t:3}],s:"Error, see console"}},frame_worker_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Frame worker restarted successfully"}},go2rtc_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC restarted successfully"}},log_cleared:{t:0,b:{t:2,i:[{t:3}],s:"Log cleared successfully"}},plugin_config_updated:{t:0,b:{t:2,i:[{t:3}],s:"Plugin configuration updated successfully"}},plugin_disabled:{t:0,b:{t:2,i:[{t:3}],s:"Plugin disabled successfully"}},plugin_enabled:{t:0,b:{t:2,i:[{t:3}],s:"Plugin enabled successfully"}},plugin_installed:{t:0,b:{t:2,i:[{t:3}],s:"Plugin installed successfully"}},plugin_removed:{t:0,b:{t:2,i:[{t:3}],s:"Plugin removed successfully"}},plugin_request_sent:{t:0,b:{t:2,i:[{t:3}],s:"Plugin request send successfully"}},plugin_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Plugin restarted successfully"}},plugin_settings_updated:{t:0,b:{t:2,i:[{t:3}],s:"Plugin settings updated successfully"}},plugin_started:{t:0,b:{t:2,i:[{t:3}],s:"Plugin started successfully"}},plugin_stopped:{t:0,b:{t:2,i:[{t:3}],s:"Plugin stopped successfully"}},plugins_removed:{t:0,b:{t:2,i:[{t:3}],s:"Plugins removed successfully"}},profile_updated:{t:0,b:{t:2,i:[{t:3}],s:"Profile updated successfully"}},server_restarted:{t:0,b:{t:2,i:[{t:3}],s:"Server restarted successfully"}},server_updated:{t:0,b:{t:2,i:[{t:3}],s:"Server updated successfully"}},user_added:{t:0,b:{t:2,i:[{t:3}],s:"User added successfully"}},user_logged_out:{t:0,b:{t:2,i:[{t:3}],s:"User logged out successfully"}},user_removed:{t:0,b:{t:2,i:[{t:3}],s:"User removed successfully"}},user_updated:{t:0,b:{t:2,i:[{t:3}],s:"User updated successfully"}},users_removed:{t:0,b:{t:2,i:[{t:3}],s:"Users removed successfully"}},view_added:{t:0,b:{t:2,i:[{t:3}],s:"View added successfully"}},view_removed:{t:0,b:{t:2,i:[{t:3}],s:"View removed successfully"}},view_updated:{t:0,b:{t:2,i:[{t:3}],s:"View updated successfully"}},views_removed:{t:0,b:{t:2,i:[{t:3}],s:"Views removed successfully"}},zone_added:{t:0,b:{t:2,i:[{t:3}],s:"Zone added successfully"}},zone_updated:{t:0,b:{t:2,i:[{t:3}],s:"Zone updated successfully"}},zone_removed:{t:0,b:{t:2,i:[{t:3}],s:"Zone removed successfully"}}},upload_files:{drop_or_select_file:{t:0,b:{t:2,i:[{t:3}],s:"Drop or select file"}},only_one_file_allowed:{t:0,b:{t:2,i:[{t:3}],s:"Only one file allowed"}}},user_menu:{account:{t:0,b:{t:2,i:[{t:3}],s:"Account"}},admin_panel:{t:0,b:{t:2,i:[{t:3}],s:"Admin panel"}},config:{t:0,b:{t:2,i:[{t:3}],s:"Configuration"}},console:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}},logout:{t:0,b:{t:2,i:[{t:3}],s:"Logout"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},reload:{t:0,b:{t:2,i:[{t:3}],s:"Reload"}}},user_table:{title_address:{t:0,b:{t:2,i:[{t:3}],s:"Address"}},title_device:{t:0,b:{t:2,i:[{t:3}],s:"Device"}},title_role:{t:0,b:{t:2,i:[{t:3}],s:"Role"}},title_username:{t:0,b:{t:2,i:[{t:3}],s:"Username"}},you:{t:0,b:{t:2,i:[{t:3}],s:"You"}}},view_box:{available_streams:{t:0,b:{t:2,i:[{t:3}],s:"Available streams"}}},zone_editor:{zone:{t:0,b:{t:2,i:[{t:3}],s:"Zone"}}}},general:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading..."}},role_admin:{t:0,b:{t:2,i:[{t:3}],s:"Admin"}},role_user:{t:0,b:{t:2,i:[{t:3}],s:"User"}}},navigation:{account:{t:0,b:{t:2,i:[{t:3}],s:"Account"}},adminpanel:{t:0,b:{t:2,i:[{t:3}],s:"Admin panel"}},appearance:{t:0,b:{t:2,i:[{t:3}],s:"Appearance"}},backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup"}},cameras:{t:0,b:{t:2,i:[{t:3}],s:"Cameras"}},camview:{t:0,b:{t:2,i:[{t:3}],s:"Camview"}},config:{t:0,b:{t:2,i:[{t:3}],s:"Configuration"}},console:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}},nvr:{t:0,b:{t:2,i:[{t:3}],s:"NVR"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},recordings:{t:0,b:{t:2,i:[{t:3}],s:"Recordings"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},system:{t:0,b:{t:2,i:[{t:3}],s:"System"}},user:{t:0,b:{t:2,i:[{t:3}],s:"Users"}}},navigation_description:{account_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage account settings & experience."}},appearance_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage app appearance & interface."}},backup_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage, schedule backups & restore data."}},nvr_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage Network Video Recorder system."}},recordings_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage recordings & storage options."}},system_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage system, monitor status & tasks."}},user_description:{t:0,b:{t:2,i:[{t:3}],s:"Manage users, roles & permissions."}}},views:{404:{button_home:{t:0,b:{t:2,i:[{t:3}],s:"Home"}},error_message:{t:0,b:{t:2,i:[{t:3}],s:"The page you are looking for does not exist."}}},adminpanel:{frameworker:{t:0,b:{t:2,i:[{t:3}],s:"Frameworker"}},general:{t:0,b:{t:2,i:[{t:3}],s:"General"}},logged_in_users:{t:0,b:{t:2,i:[{t:3}],s:"Logged in users"}},main:{t:0,b:{t:2,i:[{t:3}],s:"Main"}},plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Admin panel"}}},camera:{detections:{t:0,b:{t:2,i:[{t:3}],s:"Detections"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"Timeline"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Camera"}}},cameras:{events:{t:0,b:{t:2,i:[{t:3}],s:"Events"}},new_camera:{t:0,b:{t:2,i:[{t:3}],s:"New camera"}},no_cameras:{t:0,b:{t:2,i:[{t:3}],s:"No cameras available"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Cameras"}}},camview:{all_cameras:{t:0,b:{t:2,i:[{t:3}],s:"All cameras"}},cameras:{t:0,b:{t:2,i:[{t:3}],s:"Cameras"}},new_dnd:{t:0,b:{t:2,i:[{t:3}],s:"New DND"}},new_view:{t:0,b:{t:2,i:[{t:3}],s:"New View"}},no_dnds_configured:{t:0,b:{t:2,i:[{t:3}],s:"No DNDs configured"}},no_views_configured:{t:0,b:{t:2,i:[{t:3}],s:"No views configured"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Camview"}}},config:{title:{t:0,b:{t:2,i:[{t:3}],s:"Configuration"}}},console:{title:{t:0,b:{t:2,i:[{t:3}],s:"Logs"}}},firststeps:{complete:{t:0,b:{t:2,i:[{t:3}],s:"Complete"}},enjoy:{t:0,b:{t:2,i:[{t:3}],s:"Enjoy!"}},finish_message:{t:0,b:{t:2,i:[{t:3}],s:"You have successfully completed the first steps. You can now start using the application."}},step_account:{t:0,b:{t:2,i:[{t:3}],s:"Account"}},step_appearance:{t:0,b:{t:2,i:[{t:3}],s:"Appearance"}},step_finish:{t:0,b:{t:2,i:[{t:3}],s:"Finish"}},title:{t:0,b:{t:2,i:[{t:3}],s:"First steps"}}},login:{title:{t:0,b:{t:2,i:[{t:3}],s:"Login"}}},new_camera:{camera:{t:0,b:{t:2,i:[{t:3}],s:"Camera"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Source"}},title:{t:0,b:{t:2,i:[{t:3}],s:"New camera"}}},plugin:{changelog:{t:0,b:{t:2,i:[{t:3}],s:"Changelog"}},no_changelog:{t:0,b:{t:2,i:[{t:3}],s:"No changelog available"}},no_readme:{t:0,b:{t:2,i:[{t:3}],s:"No readme available"}},plugin_settings:{t:0,b:{t:2,i:[{t:3}],s:"Plugin settings"}},readme:{t:0,b:{t:2,i:[{t:3}],s:"Readme"}},segment_tab_cameras:{t:0,b:{t:2,i:[{t:3}],s:"Cameras"}},segment_tab_interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},segment_tab_plugins:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}},segment_tab_settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Plugin"}}},plugins:{no_plugins:{t:0,b:{t:2,i:[{t:3}],s:"No plugins available"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Plugins"}}},recordings:{title:{t:0,b:{t:2,i:[{t:3}],s:"Recordings"}}},settings:{available_updates:{t:0,b:{t:2,i:[{t:3}],s:"Available updates"}},available_updates_info:{t:0,b:{t:2,i:[{t:3}],s:"Updates are available for camera.ui."}},certificate:{t:0,b:{t:2,i:[{t:3}],s:"Certificate"}},certificate_info:{t:0,b:{t:2,i:[{t:3}],s:"Download the SSL certificate of the website here. By adding this certificate to your keychain or certificate management, the site is recognized as secure. This improves the browser experience and avoids security warnings."}},create_backup:{t:0,b:{t:2,i:[{t:3}],s:"Create backup"}},create_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Create a backup of the current configuration. Download a backup archive of your entire camera.ui environment. This will backup the contents of your camera.ui storage directory. You can restore this later on any platform where camera.ui is running."}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},interface:{t:0,b:{t:2,i:[{t:3}],s:"Interface"}},locale:{t:0,b:{t:2,i:[{t:3}],s:"Locale"}},network:{t:0,b:{t:2,i:[{t:3}],s:"Network"}},network_info:{t:0,b:{t:2,i:[{t:3}],s:"Configure here the IP addresses the server uses for WebRTC communication with the cameras. This setting allows for a stable and efficient connection between your system and the connected cameras."}},not_available_updates_info:{t:0,b:{t:2,i:[{t:3}],s:"You are using the latest version of camera.ui"}},password:{t:0,b:{t:2,i:[{t:3}],s:"Password"}},profile:{t:0,b:{t:2,i:[{t:3}],s:"Profile"}},registered_users:{t:0,b:{t:2,i:[{t:3}],s:"Registered users"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Remove"}},restart_server:{t:0,b:{t:2,i:[{t:3}],s:"Restart server"}},restart_server_info:{t:0,b:{t:2,i:[{t:3}],s:"By clicking this button you restart the server. A loading screen will be displayed until the restart is complete. The page will then be automatically refreshed and available to you again."}},restore_backup:{t:0,b:{t:2,i:[{t:3}],s:"Restore backup"}},restore_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Restore a backup archive you previously created with camera.ui. Your camera.ui configuration, database, user accounts, and media will be restored."}},search_by_name:{t:0,b:{t:2,i:[{t:3}],s:"Search by name"}},searching_updates:{t:0,b:{t:2,i:[{t:3}],s:"Searching for updates..."}},sheduled_backup:{t:0,b:{t:2,i:[{t:3}],s:"Sheduled backup"}},sheduled_backup_info:{t:0,b:{t:2,i:[{t:3}],s:"Shedule a backup of the current configuration"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},title:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},title_account:{t:0,b:{t:2,i:[{t:3}],s:"Account"}},title_appearance:{t:0,b:{t:2,i:[{t:3}],s:"Appearance"}},title_backup:{t:0,b:{t:2,i:[{t:3}],s:"Backup"}},title_go2rtc:{t:0,b:{t:2,i:[{t:3}],s:"Go2RTC"}},title_nvr:{t:0,b:{t:2,i:[{t:3}],s:"NVR"}},title_recordings:{t:0,b:{t:2,i:[{t:3}],s:"Recordings"}},title_system:{t:0,b:{t:2,i:[{t:3}],s:"System"}},title_user:{t:0,b:{t:2,i:[{t:3}],s:"Users"}},update_available:{t:0,b:{t:2,i:[{t:3}],s:"Update available"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},version_info:{t:0,b:{t:2,i:[{t:3}],s:"camera.ui version"}}}}}}),Ia=["af","ar","ar-ae","ar-bh","ar-dz","ar-eg","ar-iq","ar-jo","ar-kw","ar-lb","ar-ly","ar-ma","ar-om","ar-qa","ar-sa","ar-sy","ar-tn","ar-ye","as","ast","az","be","bg","bn","br","bs","ca","ce","ch","co","cr","cs","cv","cy","da","de","de-at","de-ch","de-de","de-li","de-lu","el","en","en-au","en-bz","en-ca","en-gb","en-ie","en-jm","en-nz","en-ph","en-tt","en-us","en-za","en-zw","eo","es","es-ar","es-bo","es-cl","es-co","es-cr","es-do","es-ec","es-es","es-gt","es-hn","es-mx","es-ni","es-pa","es-pe","es-pr","es-py","es-sv","es-uy","es-ve","et","eu","fa","fa-ir","fi","fj","fo","fr","fr-be","fr-ca","fr-ch","fr-fr","fr-lu","fr-mc","fur","fy","ga","gd","gd-ie","gl","gu","he","hi","hr","hsb","ht","hu","hy","id","is","it","it-ch","iu","ja","ji","ka","kk","km","kn","ko","ko-kp","ko-kr","ks","ky","la","lb","lt","lv","mi","mk","ml","mo","mr","ms","mt","my","nb","ne","ng","nl","nl-be","nn","no","nv","oc","om","or","pa","pa-in","pa-pk","pl","pt","pt-br","qu","rm","ro","ro-mo","ru","ru-mo","sa","sb","sc","sd","sg","si","sk","sl","so","sq","sr","sv","sv-fi","sv-sv","sw","sx","sz","ta","te","th","tig","tk","tlh","tn","tr","ts","tt","uk","ur","ve","vi","vo","wa","xh","zh","zh-cn","zh-hk","zh-sg","zh-tw","zu"],_s="en",Qn=["de","en"],Oa=s=>{var t;const e=i=>Va(Ia.find(n=>n===(i==null?void 0:i.toLowerCase())));return(t=window.navigator)!=null&&t.language?e(window.navigator.language):e("en")},Va=s=>{if(!s)return _s;switch(s){case Qn.find(e=>e===s):return s;default:return _s}},je=no({locale:Oa(),fallbackLocale:_s,messages:Ra,legacy:!1,globalInjection:!0}),ce=oo.create({baseURL:`${location.origin}/api`});ce.interceptors.request.use(s=>{const{loginState:e}=Pe();return e.access_token&&(s.headers.Authorization=`Bearer ${e.access_token}`),s},s=>Promise.reject(s));ce.interceptors.response.use(s=>s,async s=>{var i,n,r,o,a,c;const e=s.config,t=((n=(i=s.response)==null?void 0:i.data)==null?void 0:n.message)==="Token expired"||((a=(o=(r=s.response)==null?void 0:r.data)==null?void 0:o.message)==null?void 0:a.name)==="TokenExpiredError";if(((c=s.response)==null?void 0:c.status)===401&&t&&!e._retry){e._retry=!0;try{const{refreshToken:u}=Pe();return await u(),ce(e)}catch(u){return Promise.reject(u)}}return Promise.reject(s)});const Yn=async s=>(await ce.get("/auth/check",{signal:s})).data,Da=async({parameter:s,clientData:e,signal:t})=>(await ce.get("/auth/tokens",{params:{...s,clientData:e},signal:t})).data,Xn=async({loginInformation:s})=>(await ce.post("/auth/login",s)).data,Jn=async()=>(await ce.post("/auth/logout")).data,ja=async({id:s,access_token:e})=>(await ce.post(`/auth/logout/${s}`,null,{params:{token:e}})).data,er=async({refresh_token:s})=>(await ce.post("/auth/refresh",{refresh_token:s})).data;class Np{constructor(){R(this,"_queryClient",Kt());R(this,"authStore",Pe());R(this,"queryActivator",Y([{name:"checkQuery",enabled:!0},{name:"listQuery",enabled:!0}]))}get queryClient(){return this._queryClient}checkQuery(){var e;return ct({queryKey:["auth",(e=this.authStore.loginState.user)==null?void 0:e.username],queryFn:({signal:t})=>Yn(t),enabled:()=>this.queryActivator.value.some(t=>t.name==="checkQuery"&&t.enabled)})}listQuery(e,t=!1){return ct({queryKey:["tokensList",e],queryFn:({signal:i})=>Da({parameter:y(e),clientData:t,signal:i}),placeholderData:i=>i,enabled:()=>this.queryActivator.value.some(i=>i.name==="listQuery"&&i.enabled)})}loginQuery(){return Ce({mutationFn:Xn})}logoutQuery(){return Ce({mutationFn:Jn})}logoutTokenQuery(){return Ce({mutationFn:ja,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["tokensList"]}),De.success(je.global.t("components.toast.user_logged_out"))}})}refreshQuery(){return Ce({mutationFn:er})}toggleQueryActivator(e,t){const i=this.queryActivator.value.find(n=>n.name===e);i&&(i.enabled=t)}}const Na=async({userData:s})=>(await ce.post("/users",s)).data,$a=async({username:s,signal:e})=>(await ce.get(`/users/${s}`,{signal:e})).data,za=async({parameter:s,signal:e})=>(await ce.get("/users",{params:s,signal:e})).data,ys=async({username:s,userData:e})=>(await ce.patch(`/users/${s}`,e)).data,Ua=async({username:s})=>(await ce.delete(`/users/${s}`)).data,qa=async()=>(await ce.delete("/users")).data,Ha=async({username:s,cameraname:e,shortcutData:t})=>(await ce.post(`/users/${s}/preferences/cameras/${e}/shortcuts`,t)).data,Fa=async({username:s,cameraname:e,shortcutid:t,signal:i})=>(await ce.get(`/users/${s}/preferences/cameras/${e}/shortcuts/${t}`,{signal:i})).data,Za=async({username:s,cameraname:e,signal:t})=>(await ce.get(`/users/${s}/preferences/cameras/${e}/shortcuts`,{signal:t})).data,Wa=async({username:s,cameraname:e,shortcutid:t,shortcutData:i})=>(await ce.patch(`/users/${s}/preferences/cameras/${e}/shortcuts/${t}`,i)).data,Ga=async({username:s,cameraname:e,shortcutid:t})=>(await ce.delete(`/users/${s}/preferences/cameras/${e}/shortcuts/${t}`)).data,Ka=async({username:s,cameraname:e})=>(await ce.delete(`/users/${s}/preferences/cameras/${e}/shortcuts`)).data,Qa=async({username:s,viewData:e})=>(await ce.post(`/users/${s}/preferences/camview/views`,e)).data,Ya=async({username:s,viewid:e,signal:t})=>(await ce.get(`/users/${s}/preferences/camview/views/${e}`,{signal:t})).data,Xa=async({username:s,parameter:e,signal:t})=>(await ce.get(`/users/${s}/preferences/camview/views`,{params:e,signal:t})).data,Gi=async({username:s,viewid:e,viewData:t})=>(await ce.patch(`/users/${s}/preferences/camview/views/${e}`,t)).data,Ja=async({username:s,viewid:e})=>(await ce.delete(`/users/${s}/preferences/camview/views/${e}`)).data,el=async({username:s})=>(await ce.delete(`/users/${s}/preferences/camview/views`)).data;class $p{constructor(){R(this,"_queryClient",Kt());R(this,"queryActivator",Y([{name:"getUserQuery",enabled:!0},{name:"getUsersQuery",enabled:!0},{name:"getShortcutQuery",enabled:!0},{name:"getShortcutsQuery",enabled:!0},{name:"getViewQuery",enabled:!0},{name:"getViewsQuery",enabled:!0}]))}get queryClient(){return this._queryClient}createUserQuery(){return Ce({mutationFn:Na,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["usersList"]}),De.success(je.global.t("components.toast.user_added"))}})}getUserQuery(e){return ct({queryKey:["users",e],queryFn:({signal:t})=>$a({username:y(e),signal:t}),enabled:()=>this.queryActivator.value.some(t=>t.name==="getUserQuery"&&t.enabled)})}getUsersQuery(e){return ct({queryKey:["usersList",e],queryFn:({signal:t})=>za({parameter:y(e),signal:t}),placeholderData:t=>t,enabled:()=>this.queryActivator.value.some(t=>t.name==="getUsersQuery"&&t.enabled)})}patchUserQuery(){return Ce({mutationFn:async({username:e,userData:t,formData:i})=>{await ys({username:e,userData:t}),i&&await ys({username:e,userData:i})},onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["users",t.username]}),De.success(je.global.t("components.toast.user_updated"))}})}removeUserQuery(){return Ce({mutationFn:Ua,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["usersList"]}),De.success(je.global.t("components.toast.user_removed"))}})}removeUsersQuery(){return Ce({mutationFn:qa,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["usersList"]}),De.success(je.global.t("components.toast.users_removed"))}})}createShortcutQuery(){return Ce({mutationFn:Ha,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["shortcutsList",t.username]})}})}getShortcutQuery(e,t,i){return ct({queryKey:["shortcutsList",e],queryFn:({signal:n})=>Fa({username:y(e),cameraname:y(t),shortcutid:y(i),signal:n}),enabled:()=>this.queryActivator.value.some(n=>n.name==="getShortcutQuery"&&n.enabled)})}getShortcutsQuery(e,t){return ct({queryKey:["shortcutsList",e],queryFn:({signal:i})=>Za({username:y(e),cameraname:y(t),signal:i}),placeholderData:i=>i,enabled:()=>this.queryActivator.value.some(i=>i.name==="getShortcutsQuery"&&i.enabled)})}patchShortcutQuery(){return Ce({mutationFn:Wa,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["shortcutsList",t.username]})},onError:e=>{console.log(e),De.success(je.global.t("components.toast.error_see_console"))}})}removeShortcutQuery(){return Ce({mutationFn:Ga,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["shortcutsList",t.username]})},onError:e=>{console.log(e),De.success(je.global.t("components.toast.error_see_console"))}})}removeShortcutsQuery(){return Ce({mutationFn:Ka,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["shortcutsList",t.username]})},onError:e=>{console.log(e),De.success(je.global.t("components.toast.error_see_console"))}})}createViewQuery(){return Ce({mutationFn:Qa,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["viewsList",t.username]}),De.success(je.global.t("components.toast.view_added"))}})}getViewQuery(e,t){return ct({queryKey:["viewsList",e],queryFn:({signal:i})=>Ya({username:y(e),viewid:y(t),signal:i}),enabled:()=>this.queryActivator.value.some(i=>i.name==="getUserQuery"&&i.enabled)})}getViewsQuery(e,t){return ct({queryKey:["viewsList",e,t],queryFn:({signal:i})=>Xa({username:y(e),parameter:y(t),signal:i}),placeholderData:i=>i,enabled:()=>this.queryActivator.value.some(i=>i.name==="getViewsQuery"&&i.enabled)})}patchViewQuery(){return Ce({mutationFn:Gi,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["viewsList",t.username]}),De.success(je.global.t("components.toast.view_updated"))}})}patchViewQuerySilent(){return Ce({mutationFn:Gi,onSuccess:async(e,t)=>{await this._queryClient.invalidateQueries({queryKey:["viewsList",t.username]})}})}removeViewQuery(){return Ce({mutationFn:Ja,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["viewsList",t.username]}),De.success(je.global.t("components.toast.view_removed"))}})}removeViewsQuery(){return Ce({mutationFn:el,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:["viewsList",t.username]}),De.success(je.global.t("components.toast.views_removed"))}})}toggleQueryActivator(e,t){const i=this.queryActivator.value.find(n=>n.name===e);i&&(i.enabled=t)}}var Ki={rvm_use_flag:"",rvm_bin_path:"/Users/seydx/.rvm/bin",TERM_PROGRAM:"vscode",NODE:"/usr/local/bin/node",rvm_quiet_flag:"",INIT_CWD:"/Users/seydx/Desktop/Projekte/camera.ui/ui",SHELL:"/bin/zsh",TERM:"xterm-256color",rvm_gemstone_url:"",TMPDIR:"/var/folders/vm/4rc1vmg52lz3dsyf5lc6kg380000gn/T/",HOMEBREW_REPOSITORY:"/opt/homebrew",rvm_docs_type:"",npm_config_global_prefix:"/Users/seydx/Desktop/Projekte/camera.ui/ui",TERM_PROGRAM_VERSION:"1.94.2",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",CAMERA_UI_DEV_PORT:"3443",ZDOTDIR:"/Users/seydx",npm_package_bin_cameraui:"dist/server/bin/cameraui.js",rvm_hook:"",COLOR:"0",npm_config_noproxy:"",PNPM_HOME:"/Users/seydx/Library/pnpm",WASMTIME_HOME:"/Users/seydx/.wasmtime",npm_config_local_prefix:"/Users/seydx/Desktop/Projekte/camera.ui/ui",USER:"seydx",rvm_gemstone_package_file:"",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/usr/local/etc/npmrc",rvm_path:"/Users/seydx/.rvm",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.lIhXWZOLp3/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x0:0x3",rvm_proxy:"",npm_execpath:"/usr/local/lib/node_modules/npm/bin/npm-cli.js",VIRTUAL_ENV:"/Users/seydx/Desktop/Projekte/camera.ui/.venv",rvm_ruby_file:"",rvm_prefix:"/Users/seydx",rvm_silent_flag:"",PATH:"/Users/seydx/Desktop/Projekte/camera.ui/ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/camera.ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/node_modules/.bin:/Users/seydx/Desktop/node_modules/.bin:/Users/seydx/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/seydx/Desktop/Projekte/camera.ui/ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/camera.ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/node_modules/.bin:/Users/seydx/Desktop/node_modules/.bin:/Users/seydx/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/seydx/Desktop/Projekte/camera.ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/node_modules/.bin:/Users/seydx/Desktop/node_modules/.bin:/Users/seydx/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/seydx/Desktop/Projekte/camera.ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/node_modules/.bin:/Users/seydx/Desktop/node_modules/.bin:/Users/seydx/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/seydx/Desktop/Projekte/camera.ui/server/node_modules/.bin:/Users/seydx/Desktop/Projekte/camera.ui/node_modules/.bin:/Users/seydx/Desktop/Projekte/node_modules/.bin:/Users/seydx/Desktop/node_modules/.bin:/Users/seydx/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/seydx/.vscode/extensions/ms-python.python-2024.16.1-darwin-arm64/python_files/deactivate/zsh:/Users/seydx/Desktop/Projekte/camera.ui/.venv/bin:/Users/seydx/.cargo/bin:/Users/seydx/.wasmtime/bin:/opt/homebrew/opt/ffmpeg@5/bin:/opt/homebrew/opt/ffmpeg@5/bin:/opt/homebrew/opt/ffmpeg@5/bin:/Users/seydx/.vscode/extensions/ms-python.python-2024.16.1-darwin-arm64/python_files/deactivate/zsh:/Users/seydx/Desktop/Projekte/camera.ui/.venv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/go/bin:/Users/seydx/.vscode/extensions/ms-python.python-2024.16.1-darwin-arm64/python_files/deactivate/zsh:/Users/seydx/Desktop/Projekte/camera.ui/.venv/bin:/Users/seydx/.cargo/bin:/Users/seydx/.wasmtime/bin:/Users/seydx/Library/pnpm:/opt/homebrew/opt/ffmpeg@5/bin:/Users/seydx/.rvm/bin:/Users/seydx/.rvm/bin",rvm_ruby_make:"",_:"/Users/seydx/Desktop/Projekte/camera.ui/ui/node_modules/.bin/vite",LaunchInstanceID:"545CA759-1AAA-454B-946E-527E7F509A94",npm_package_json:"/Users/seydx/Desktop/Projekte/camera.ui/ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/seydx",npm_config_init_module:"/Users/seydx/.npm-init.js",npm_config_userconfig:"/Users/seydx/.npmrc",PWD:"/Users/seydx/Desktop/Projekte/camera.ui/ui",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:only",LANG:"de_DE.UTF-8",rvm_sdk:"",npm_package_name:"@camera.ui/ui",SAFE_PUBLISH:"true",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.8.1",FORCE_COLOR:"3",npm_package_engines_node:">=20.17.0",npm_config_node_gyp:"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"1.0.0",rvm_version:"1.29.12-next (master)",VSCODE_INJECTION:"1",HOME:"/Users/seydx",SHLVL:"7",rvm_pretty_print_flag:"",rvm_script_name:"",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",rvm_ruby_mode:"",CAMERA_UI_DEV_UI_PORT:"3100",HOMEBREW_PREFIX:"/opt/homebrew",LOGNAME:"seydx",npm_config_cache:"/Users/seydx/.npm",rvm_alias_expanded:"",npm_lifecycle_script:"vite build",VSCODE_GIT_IPC_HANDLE:"/var/folders/vm/4rc1vmg52lz3dsyf5lc6kg380000gn/T/vscode-git-ccf12f14b5.sock",rvm_nightly_flag:"",npm_config_user_agent:"npm/10.8.1 node/v20.16.0 darwin arm64 workspaces/false",HOMEBREW_CELLAR:"/opt/homebrew/Cellar",INFOPATH:"/opt/homebrew/share/info:/opt/homebrew/share/info:",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",rvm_ruby_make_install:"",rvm_niceness:"",rvm_ruby_bits:"",rvm_bin_flag:"",SECURITYSESSIONID:"186b0",rvm_only_path_flag:"",VIRTUAL_ENV_PROMPT:"(.venv) ",COLORTERM:"truecolor",npm_config_prefix:"/Users/seydx/Desktop/Projekte/camera.ui/ui",npm_node_execpath:"/usr/local/bin/node",NODE_ENV:"production"},tl={855:s=>{const e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,t=()=>e.now(),i=r=>r===1/0||(o=>o&&o===Math.floor(o)&&o>0&&isFinite(o))(r);class n{constructor({max:o=1/0,ttl:a,updateAgeOnGet:c=!1,checkAgeOnGet:u=!1,noUpdateTTL:h=!1,dispose:m,noDisposeOnSet:b=!1}={}){if(this.expirations=Object.create(null),this.data=new Map,this.expirationMap=new Map,a!==void 0&&!i(a))throw new TypeError("ttl must be positive integer or Infinity if set");if(!i(o))throw new TypeError("max must be positive integer or Infinity");if(this.ttl=a,this.max=o,this.updateAgeOnGet=!!c,this.checkAgeOnGet=!!u,this.noUpdateTTL=!!h,this.noDisposeOnSet=!!b,m!==void 0){if(typeof m!="function")throw new TypeError("dispose must be function if set");this.dispose=m}this.timer=void 0,this.timerExpiration=void 0}setTimer(o,a){if(this.timerExpiration<o)return;this.timer&&clearTimeout(this.timer);const c=setTimeout(()=>{this.timer=void 0,this.timerExpiration=void 0,this.purgeStale();for(const u in this.expirations){this.setTimer(u,u-t());break}},a);c.unref&&c.unref(),this.timerExpiration=o,this.timer=c}cancelTimer(){this.timer&&(clearTimeout(this.timer),this.timerExpiration=void 0,this.timer=void 0)}cancelTimers(){return process.emitWarning('TTLCache.cancelTimers has been renamed to TTLCache.cancelTimer (no "s"), and will be removed in the next major version update'),this.cancelTimer()}clear(){const o=this.dispose!==n.prototype.dispose?[...this]:[];this.data.clear(),this.expirationMap.clear(),this.cancelTimer(),this.expirations=Object.create(null);for(const[a,c]of o)this.dispose(c,a,"delete")}setTTL(o,a=this.ttl){const c=this.expirationMap.get(o);if(c!==void 0){const u=this.expirations[c];!u||u.length<=1?delete this.expirations[c]:this.expirations[c]=u.filter(h=>h!==o)}if(a!==1/0){const u=Math.floor(t()+a);this.expirationMap.set(o,u),this.expirations[u]||(this.expirations[u]=[],this.setTimer(u,a)),this.expirations[u].push(o)}else this.expirationMap.set(o,1/0)}set(o,a,{ttl:c=this.ttl,noUpdateTTL:u=this.noUpdateTTL,noDisposeOnSet:h=this.noDisposeOnSet}={}){if(!i(c))throw new TypeError("ttl must be positive integer or Infinity");if(this.expirationMap.has(o)){u||this.setTTL(o,c);const m=this.data.get(o);m!==a&&(this.data.set(o,a),h||this.dispose(m,o,"set"))}else this.setTTL(o,c),this.data.set(o,a);for(;this.size>this.max;)this.purgeToCapacity();return this}has(o){return this.data.has(o)}getRemainingTTL(o){const a=this.expirationMap.get(o);return a===1/0?a:a!==void 0?Math.max(0,Math.ceil(a-t())):0}get(o,{updateAgeOnGet:a=this.updateAgeOnGet,ttl:c=this.ttl,checkAgeOnGet:u=this.checkAgeOnGet}={}){const h=this.data.get(o);if(!u||this.getRemainingTTL(o)!==0)return a&&this.setTTL(o,c),h;this.delete(o)}dispose(o,a){}delete(o){const a=this.expirationMap.get(o);if(a!==void 0){const c=this.data.get(o);this.data.delete(o),this.expirationMap.delete(o);const u=this.expirations[a];return u&&(u.length<=1?delete this.expirations[a]:this.expirations[a]=u.filter(h=>h!==o)),this.dispose(c,o,"delete"),this.size===0&&this.cancelTimer(),!0}return!1}purgeToCapacity(){for(const o in this.expirations){const a=this.expirations[o];if(!(this.size-a.length>=this.max)){const c=this.size-this.max,u=[];for(const h of a.splice(0,c))u.push([h,this.data.get(h)]),this.data.delete(h),this.expirationMap.delete(h);for(const[h,m]of u)this.dispose(m,h,"evict");return}{delete this.expirations[o];const c=[];for(const u of a)c.push([u,this.data.get(u)]),this.data.delete(u),this.expirationMap.delete(u);for(const[u,h]of c)this.dispose(h,u,"evict")}}}get size(){return this.data.size}purgeStale(){const o=Math.ceil(t());for(const a in this.expirations){if(a==="Infinity"||a>o)return;const c=[...this.expirations[a]||[]],u=[];delete this.expirations[a];for(const h of c)u.push([h,this.data.get(h)]),this.data.delete(h),this.expirationMap.delete(h);for(const[h,m]of u)this.dispose(m,h,"stale")}this.size===0&&this.cancelTimer()}*entries(){for(const o in this.expirations)for(const a of this.expirations[o])yield[a,this.data.get(a)]}*keys(){for(const o in this.expirations)for(const a of this.expirations[o])yield a}*values(){for(const o in this.expirations)for(const a of this.expirations[o])yield this.data.get(a)}[Symbol.iterator](){return this.entries()}}s.exports=n},73:function(s){s.exports=function(){function e(S,l){var d,f,g,v,x={label:0,sent:function(){if(1&g[0])throw g[1];return g[1]},trys:[],ops:[]};return v={next:k(0),throw:k(1),return:k(2)},typeof Symbol=="function"&&(v[Symbol.iterator]=function(){return this}),v;function k(L){return function(E){return function(C){if(d)throw new TypeError("Generator is already executing.");for(;x;)try{if(d=1,f&&(g=2&C[0]?f.return:C[0]?f.throw||((g=f.return)&&g.call(f),0):f.next)&&!(g=g.call(f,C[1])).done)return g;switch(f=0,g&&(C=[2&C[0],g.value]),C[0]){case 0:case 1:g=C;break;case 4:return x.label++,{value:C[1],done:!1};case 5:x.label++,f=C[1],C=[0];continue;case 7:C=x.ops.pop(),x.trys.pop();continue;default:if(!((g=(g=x.trys).length>0&&g[g.length-1])||C[0]!==6&&C[0]!==2)){x=0;continue}if(C[0]===3&&(!g||C[1]>g[0]&&C[1]<g[3])){x.label=C[1];break}if(C[0]===6&&x.label<g[1]){x.label=g[1],g=C;break}if(g&&x.label<g[2]){x.label=g[2],x.ops.push(C);break}g[2]&&x.ops.pop(),x.trys.pop();continue}C=l.call(S,x)}catch(A){C=[6,A],f=0}finally{d=g=0}if(5&C[0])throw C[1];return{value:C[0]?C[1]:void 0,done:!0}}([L,E])}}}var t=function(S,l){this.next=null,this.key=S,this.data=l,this.left=null,this.right=null};function i(S,l){return S>l?1:S<l?-1:0}function n(S,l,d){for(var f=new t(null,null),g=f,v=f;;){var x=d(S,l.key);if(x<0){if(l.left===null)break;if(d(S,l.left.key)<0){var k=l.left;if(l.left=k.right,k.right=l,(l=k).left===null)break}v.left=l,v=l,l=l.left}else{if(!(x>0)||l.right===null||d(S,l.right.key)>0&&(k=l.right,l.right=k.left,k.left=l,(l=k).right===null))break;g.right=l,g=l,l=l.right}}return g.right=l.left,v.left=l.right,l.left=f.right,l.right=f.left,l}function r(S,l,d,f){var g=new t(S,l);if(d===null)return g.left=g.right=null,g;var v=f(S,(d=n(S,d,f)).key);return v<0?(g.left=d.left,g.right=d,d.left=null):v>=0&&(g.right=d.right,g.left=d,d.right=null),g}function o(S,l,d){var f=null,g=null;if(l){var v=d((l=n(S,l,d)).key,S);v===0?(f=l.left,g=l.right):v<0?(g=l.right,l.right=null,f=l):(f=l.left,l.left=null,g=l)}return{left:f,right:g}}function a(S,l,d,f,g){if(S){f(l+(d?"└── ":"├── ")+g(S)+`
3
+ `);var v=l+(d?" ":"│ ");S.left&&a(S.left,v,!1,f,g),S.right&&a(S.right,v,!0,f,g)}}var c=function(){function S(l){l===void 0&&(l=i),this._root=null,this._size=0,this._comparator=l}return S.prototype.insert=function(l,d){return this._size++,this._root=r(l,d,this._root,this._comparator)},S.prototype.add=function(l,d){var f=new t(l,d);this._root===null&&(f.left=f.right=null,this._size++,this._root=f);var g=this._comparator,v=n(l,this._root,g),x=g(l,v.key);return x===0?this._root=v:(x<0?(f.left=v.left,f.right=v,v.left=null):x>0&&(f.right=v.right,f.left=v,v.right=null),this._size++,this._root=f),this._root},S.prototype.remove=function(l){this._root=this._remove(l,this._root,this._comparator)},S.prototype._remove=function(l,d,f){var g;return d===null?null:f(l,(d=n(l,d,f)).key)===0?(d.left===null?g=d.right:(g=n(l,d.left,f)).right=d.right,this._size--,g):d},S.prototype.pop=function(){var l=this._root;if(l){for(;l.left;)l=l.left;return this._root=n(l.key,this._root,this._comparator),this._root=this._remove(l.key,this._root,this._comparator),{key:l.key,data:l.data}}return null},S.prototype.findStatic=function(l){for(var d=this._root,f=this._comparator;d;){var g=f(l,d.key);if(g===0)return d;d=g<0?d.left:d.right}return null},S.prototype.find=function(l){return this._root&&(this._root=n(l,this._root,this._comparator),this._comparator(l,this._root.key)!==0)?null:this._root},S.prototype.contains=function(l){for(var d=this._root,f=this._comparator;d;){var g=f(l,d.key);if(g===0)return!0;d=g<0?d.left:d.right}return!1},S.prototype.forEach=function(l,d){for(var f=this._root,g=[],v=!1;!v;)f!==null?(g.push(f),f=f.left):g.length!==0?(f=g.pop(),l.call(d,f),f=f.right):v=!0;return this},S.prototype.range=function(l,d,f,g){for(var v=[],x=this._comparator,k=this._root;v.length!==0||k;)if(k)v.push(k),k=k.left;else{if(x((k=v.pop()).key,d)>0)break;if(x(k.key,l)>=0&&f.call(g,k))return this;k=k.right}return this},S.prototype.keys=function(){var l=[];return this.forEach(function(d){var f=d.key;return l.push(f)}),l},S.prototype.values=function(){var l=[];return this.forEach(function(d){var f=d.data;return l.push(f)}),l},S.prototype.min=function(){return this._root?this.minNode(this._root).key:null},S.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},S.prototype.minNode=function(l){if(l===void 0&&(l=this._root),l)for(;l.left;)l=l.left;return l},S.prototype.maxNode=function(l){if(l===void 0&&(l=this._root),l)for(;l.right;)l=l.right;return l},S.prototype.at=function(l){for(var d=this._root,f=!1,g=0,v=[];!f;)if(d)v.push(d),d=d.left;else if(v.length>0){if(d=v.pop(),g===l)return d;g++,d=d.right}else f=!0;return null},S.prototype.next=function(l){var d=this._root,f=null;if(l.right){for(f=l.right;f.left;)f=f.left;return f}for(var g=this._comparator;d;){var v=g(l.key,d.key);if(v===0)break;v<0?(f=d,d=d.left):d=d.right}return f},S.prototype.prev=function(l){var d=this._root,f=null;if(l.left!==null){for(f=l.left;f.right;)f=f.right;return f}for(var g=this._comparator;d;){var v=g(l.key,d.key);if(v===0)break;v<0?d=d.left:(f=d,d=d.right)}return f},S.prototype.clear=function(){return this._root=null,this._size=0,this},S.prototype.toList=function(){return function(l){for(var d=l,f=[],g=!1,v=new t(null,null),x=v;!g;)d?(f.push(d),d=d.left):f.length>0?d=(d=x=x.next=f.pop()).right:g=!0;return x.next=null,v.next}(this._root)},S.prototype.load=function(l,d,f){d===void 0&&(d=[]),f===void 0&&(f=!1);var g=l.length,v=this._comparator;if(f&&m(l,d,0,g-1,v),this._root===null)this._root=u(l,d,0,g),this._size=g;else{var x=function(k,L,E){for(var C=new t(null,null),A=C,z=k,W=L;z!==null&&W!==null;)E(z.key,W.key)<0?(A.next=z,z=z.next):(A.next=W,W=W.next),A=A.next;return z!==null?A.next=z:W!==null&&(A.next=W),C.next}(this.toList(),function(k,L){for(var E=new t(null,null),C=E,A=0;A<k.length;A++)C=C.next=new t(k[A],L[A]);return C.next=null,E.next}(l,d),v);g=this._size+g,this._root=h({head:x},0,g)}return this},S.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(S.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),S.prototype.toString=function(l){l===void 0&&(l=function(f){return String(f.key)});var d=[];return a(this._root,"",!0,function(f){return d.push(f)},l),d.join("")},S.prototype.update=function(l,d,f){var g=this._comparator,v=o(l,this._root,g),x=v.left,k=v.right;g(l,d)<0?k=r(d,f,k,g):x=r(d,f,x,g),this._root=function(L,E,C){return E===null?L:(L===null||((E=n(L.key,E,C)).left=L),E)}(x,k,g)},S.prototype.split=function(l){return o(l,this._root,this._comparator)},S.prototype[Symbol.iterator]=function(){var l,d,f;return e(this,function(g){switch(g.label){case 0:l=this._root,d=[],f=!1,g.label=1;case 1:return f?[3,6]:l===null?[3,2]:(d.push(l),l=l.left,[3,5]);case 2:return d.length===0?[3,4]:[4,l=d.pop()];case 3:return g.sent(),l=l.right,[3,5];case 4:f=!0,g.label=5;case 5:return[3,1];case 6:return[2]}})},S}();function u(S,l,d,f){var g=f-d;if(g>0){var v=d+Math.floor(g/2),x=S[v],k=l[v],L=new t(x,k);return L.left=u(S,l,d,v),L.right=u(S,l,v+1,f),L}return null}function h(S,l,d){var f=d-l;if(f>0){var g=l+Math.floor(f/2),v=h(S,l,g),x=S.head;return x.left=v,S.head=S.head.next,x.right=h(S,g+1,d),x}return null}function m(S,l,d,f,g){if(!(d>=f)){for(var v=S[d+f>>1],x=d-1,k=f+1;;){do x++;while(g(S[x],v)<0);do k--;while(g(S[k],v)>0);if(x>=k)break;var L=S[x];S[x]=S[k],S[k]=L,L=l[x],l[x]=l[k],l[k]=L}m(S,l,d,k,g),m(S,l,k+1,f,g)}}const b=(S,l)=>S.ll.x<=l.x&&l.x<=S.ur.x&&S.ll.y<=l.y&&l.y<=S.ur.y,w=(S,l)=>{if(l.ur.x<S.ll.x||S.ur.x<l.ll.x||l.ur.y<S.ll.y||S.ur.y<l.ll.y)return null;const d=S.ll.x<l.ll.x?l.ll.x:S.ll.x,f=S.ur.x<l.ur.x?S.ur.x:l.ur.x;return{ll:{x:d,y:S.ll.y<l.ll.y?l.ll.y:S.ll.y},ur:{x:f,y:S.ur.y<l.ur.y?S.ur.y:l.ur.y}}};let _=Number.EPSILON;_===void 0&&(_=Math.pow(2,-52));const T=_*_,O=(S,l)=>{if(-_<S&&S<_&&-_<l&&l<_)return 0;const d=S-l;return d*d<T*S*l?0:S<l?-1:1};class M{constructor(){this.tree=new c,this.round(0)}round(l){const d=this.tree.add(l),f=this.tree.prev(d);if(f!==null&&O(d.key,f.key)===0)return this.tree.remove(l),f.key;const g=this.tree.next(d);return g!==null&&O(d.key,g.key)===0?(this.tree.remove(l),g.key):l}}const B=new class{constructor(){this.reset()}reset(){this.xRounder=new M,this.yRounder=new M}round(S,l){return{x:this.xRounder.round(S),y:this.yRounder.round(l)}}},I=11102230246251565e-32,j=134217729,K=(3+8*I)*I;function se(S,l,d,f,g){let v,x,k,L,E=l[0],C=f[0],A=0,z=0;C>E==C>-E?(v=E,E=l[++A]):(v=C,C=f[++z]);let W=0;if(A<S&&z<d)for(C>E==C>-E?(x=E+v,k=v-(x-E),E=l[++A]):(x=C+v,k=v-(x-C),C=f[++z]),v=x,k!==0&&(g[W++]=k);A<S&&z<d;)C>E==C>-E?(x=v+E,L=x-v,k=v-(x-L)+(E-L),E=l[++A]):(x=v+C,L=x-v,k=v-(x-L)+(C-L),C=f[++z]),v=x,k!==0&&(g[W++]=k);for(;A<S;)x=v+E,L=x-v,k=v-(x-L)+(E-L),E=l[++A],v=x,k!==0&&(g[W++]=k);for(;z<d;)x=v+C,L=x-v,k=v-(x-L)+(C-L),C=f[++z],v=x,k!==0&&(g[W++]=k);return v===0&&W!==0||(g[W++]=v),W}function H(S){return new Float64Array(S)}const te=22204460492503146e-32,Z=11093356479670487e-47,F=H(4),_e=H(8),nt=H(12),ft=H(16),Ee=H(4);function Ds(S,l,d,f,g,v){const x=(l-v)*(d-g),k=(S-g)*(f-v),L=x-k,E=Math.abs(x+k);return Math.abs(L)>=33306690738754716e-32*E?L:-function(C,A,z,W,ue,de,ge){let ne,Ve,ze,Ue,U,Q,re,pe,oe,fe,ee,me,Ae,ye,Le,Te,Ze,Be;const Qe=C-ue,Ye=z-ue,Xe=A-de,Je=W-de;ye=Qe*Je,Q=j*Qe,re=Q-(Q-Qe),pe=Qe-re,Q=j*Je,oe=Q-(Q-Je),fe=Je-oe,Le=pe*fe-(ye-re*oe-pe*oe-re*fe),Te=Xe*Ye,Q=j*Xe,re=Q-(Q-Xe),pe=Xe-re,Q=j*Ye,oe=Q-(Q-Ye),fe=Ye-oe,Ze=pe*fe-(Te-re*oe-pe*oe-re*fe),ee=Le-Ze,U=Le-ee,F[0]=Le-(ee+U)+(U-Ze),me=ye+ee,U=me-ye,Ae=ye-(me-U)+(ee-U),ee=Ae-Te,U=Ae-ee,F[1]=Ae-(ee+U)+(U-Te),Be=me+ee,U=Be-me,F[2]=me-(Be-U)+(ee-U),F[3]=Be;let at=function(Jr,Di){let ji=Di[0];for(let qs=1;qs<Jr;qs++)ji+=Di[qs];return ji}(4,F),It=te*ge;if(at>=It||-at>=It||(U=C-Qe,ne=C-(Qe+U)+(U-ue),U=z-Ye,ze=z-(Ye+U)+(U-ue),U=A-Xe,Ve=A-(Xe+U)+(U-de),U=W-Je,Ue=W-(Je+U)+(U-de),ne===0&&Ve===0&&ze===0&&Ue===0)||(It=Z*ge+K*Math.abs(at),at+=Qe*Ue+Je*ne-(Xe*ze+Ye*Ve),at>=It||-at>=It))return at;ye=ne*Je,Q=j*ne,re=Q-(Q-ne),pe=ne-re,Q=j*Je,oe=Q-(Q-Je),fe=Je-oe,Le=pe*fe-(ye-re*oe-pe*oe-re*fe),Te=Ve*Ye,Q=j*Ve,re=Q-(Q-Ve),pe=Ve-re,Q=j*Ye,oe=Q-(Q-Ye),fe=Ye-oe,Ze=pe*fe-(Te-re*oe-pe*oe-re*fe),ee=Le-Ze,U=Le-ee,Ee[0]=Le-(ee+U)+(U-Ze),me=ye+ee,U=me-ye,Ae=ye-(me-U)+(ee-U),ee=Ae-Te,U=Ae-ee,Ee[1]=Ae-(ee+U)+(U-Te),Be=me+ee,U=Be-me,Ee[2]=me-(Be-U)+(ee-U),Ee[3]=Be;const Qr=se(4,F,4,Ee,_e);ye=Qe*Ue,Q=j*Qe,re=Q-(Q-Qe),pe=Qe-re,Q=j*Ue,oe=Q-(Q-Ue),fe=Ue-oe,Le=pe*fe-(ye-re*oe-pe*oe-re*fe),Te=Xe*ze,Q=j*Xe,re=Q-(Q-Xe),pe=Xe-re,Q=j*ze,oe=Q-(Q-ze),fe=ze-oe,Ze=pe*fe-(Te-re*oe-pe*oe-re*fe),ee=Le-Ze,U=Le-ee,Ee[0]=Le-(ee+U)+(U-Ze),me=ye+ee,U=me-ye,Ae=ye-(me-U)+(ee-U),ee=Ae-Te,U=Ae-ee,Ee[1]=Ae-(ee+U)+(U-Te),Be=me+ee,U=Be-me,Ee[2]=me-(Be-U)+(ee-U),Ee[3]=Be;const Yr=se(Qr,_e,4,Ee,nt);ye=ne*Ue,Q=j*ne,re=Q-(Q-ne),pe=ne-re,Q=j*Ue,oe=Q-(Q-Ue),fe=Ue-oe,Le=pe*fe-(ye-re*oe-pe*oe-re*fe),Te=Ve*ze,Q=j*Ve,re=Q-(Q-Ve),pe=Ve-re,Q=j*ze,oe=Q-(Q-ze),fe=ze-oe,Ze=pe*fe-(Te-re*oe-pe*oe-re*fe),ee=Le-Ze,U=Le-ee,Ee[0]=Le-(ee+U)+(U-Ze),me=ye+ee,U=me-ye,Ae=ye-(me-U)+(ee-U),ee=Ae-Te,U=Ae-ee,Ee[1]=Ae-(ee+U)+(U-Te),Be=me+ee,U=Be-me,Ee[2]=me-(Be-U)+(ee-U),Ee[3]=Be;const Xr=se(Yr,nt,4,Ee,ft);return ft[Xr-1]}(S,l,d,f,g,v,E)}const St=(S,l)=>S.x*l.y-S.y*l.x,Tt=(S,l)=>S.x*l.x+S.y*l.y,Bt=(S,l,d)=>{const f=Ds(S.x,S.y,l.x,l.y,d.x,d.y);return f>0?-1:f<0?1:0},xt=S=>Math.sqrt(Tt(S,S)),js=(S,l,d)=>{const f={x:l.x-S.x,y:l.y-S.y},g={x:d.x-S.x,y:d.y-S.y};return St(g,f)/xt(g)/xt(f)},Ns=(S,l,d)=>{const f={x:l.x-S.x,y:l.y-S.y},g={x:d.x-S.x,y:d.y-S.y};return Tt(g,f)/xt(g)/xt(f)},Jt=(S,l,d)=>l.y===0?null:{x:S.x+l.x/l.y*(d-S.y),y:d},es=(S,l,d)=>l.x===0?null:{x:d,y:S.y+l.y/l.x*(d-S.x)};class Ne{static compare(l,d){const f=Ne.comparePoints(l.point,d.point);return f!==0?f:(l.point!==d.point&&l.link(d),l.isLeft!==d.isLeft?l.isLeft?1:-1:Ke.compare(l.segment,d.segment))}static comparePoints(l,d){return l.x<d.x?-1:l.x>d.x?1:l.y<d.y?-1:l.y>d.y?1:0}constructor(l,d){l.events===void 0?l.events=[this]:l.events.push(this),this.point=l,this.isLeft=d}link(l){if(l.point===this.point)throw new Error("Tried to link already linked events");const d=l.point.events;for(let f=0,g=d.length;f<g;f++){const v=d[f];this.point.events.push(v),v.point=this.point}this.checkForConsuming()}checkForConsuming(){const l=this.point.events.length;for(let d=0;d<l;d++){const f=this.point.events[d];if(f.segment.consumedBy===void 0)for(let g=d+1;g<l;g++){const v=this.point.events[g];v.consumedBy===void 0&&f.otherSE.point.events===v.otherSE.point.events&&f.segment.consume(v.segment)}}}getAvailableLinkedEvents(){const l=[];for(let d=0,f=this.point.events.length;d<f;d++){const g=this.point.events[d];g!==this&&!g.segment.ringOut&&g.segment.isInResult()&&l.push(g)}return l}getLeftmostComparator(l){const d=new Map,f=g=>{const v=g.otherSE;d.set(g,{sine:js(this.point,l.point,v.point),cosine:Ns(this.point,l.point,v.point)})};return(g,v)=>{d.has(g)||f(g),d.has(v)||f(v);const{sine:x,cosine:k}=d.get(g),{sine:L,cosine:E}=d.get(v);return x>=0&&L>=0?k<E?1:k>E?-1:0:x<0&&L<0?k<E?-1:k>E?1:0:L<x?-1:L>x?1:0}}}let $s=0;class Ke{static compare(l,d){const f=l.leftSE.point.x,g=d.leftSE.point.x,v=l.rightSE.point.x,x=d.rightSE.point.x;if(x<f)return 1;if(v<g)return-1;const k=l.leftSE.point.y,L=d.leftSE.point.y,E=l.rightSE.point.y,C=d.rightSE.point.y;if(f<g){if(L<k&&L<E)return 1;if(L>k&&L>E)return-1;const A=l.comparePoint(d.leftSE.point);if(A<0)return 1;if(A>0)return-1;const z=d.comparePoint(l.rightSE.point);return z!==0?z:-1}if(f>g){if(k<L&&k<C)return-1;if(k>L&&k>C)return 1;const A=d.comparePoint(l.leftSE.point);if(A!==0)return A;const z=l.comparePoint(d.rightSE.point);return z<0?1:z>0?-1:1}if(k<L)return-1;if(k>L)return 1;if(v<x){const A=d.comparePoint(l.rightSE.point);if(A!==0)return A}if(v>x){const A=l.comparePoint(d.rightSE.point);if(A<0)return 1;if(A>0)return-1}if(v!==x){const A=E-k,z=v-f,W=C-L,ue=x-g;if(A>z&&W<ue)return 1;if(A<z&&W>ue)return-1}return v>x?1:v<x||E<C?-1:E>C?1:l.id<d.id?-1:l.id>d.id?1:0}constructor(l,d,f,g){this.id=++$s,this.leftSE=l,l.segment=this,l.otherSE=d,this.rightSE=d,d.segment=this,d.otherSE=l,this.rings=f,this.windings=g}static fromRing(l,d,f){let g,v,x;const k=Ne.comparePoints(l,d);if(k<0)g=l,v=d,x=1;else{if(!(k>0))throw new Error(`Tried to create degenerate segment at [${l.x}, ${l.y}]`);g=d,v=l,x=-1}const L=new Ne(g,!0),E=new Ne(v,!1);return new Ke(L,E,[f],[x])}replaceRightSE(l){this.rightSE=l,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const l=this.leftSE.point.y,d=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:l<d?l:d},ur:{x:this.rightSE.point.x,y:l>d?l:d}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(l){return l.x===this.leftSE.point.x&&l.y===this.leftSE.point.y||l.x===this.rightSE.point.x&&l.y===this.rightSE.point.y}comparePoint(l){if(this.isAnEndpoint(l))return 0;const d=this.leftSE.point,f=this.rightSE.point,g=this.vector();if(d.x===f.x)return l.x===d.x?0:l.x<d.x?1:-1;const v=(l.y-d.y)/g.y,x=d.x+v*g.x;if(l.x===x)return 0;const k=(l.x-d.x)/g.x,L=d.y+k*g.y;return l.y===L?0:l.y<L?-1:1}getIntersection(l){const d=this.bbox(),f=l.bbox(),g=w(d,f);if(g===null)return null;const v=this.leftSE.point,x=this.rightSE.point,k=l.leftSE.point,L=l.rightSE.point,E=b(d,k)&&this.comparePoint(k)===0,C=b(f,v)&&l.comparePoint(v)===0,A=b(d,L)&&this.comparePoint(L)===0,z=b(f,x)&&l.comparePoint(x)===0;if(C&&E)return z&&!A?x:!z&&A?L:null;if(C)return A&&v.x===L.x&&v.y===L.y?null:v;if(E)return z&&x.x===k.x&&x.y===k.y?null:k;if(z&&A)return null;if(z)return x;if(A)return L;const W=((ue,de,ge,ne)=>{if(de.x===0)return es(ge,ne,ue.x);if(ne.x===0)return es(ue,de,ge.x);if(de.y===0)return Jt(ge,ne,ue.y);if(ne.y===0)return Jt(ue,de,ge.y);const Ve=St(de,ne);if(Ve==0)return null;const ze={x:ge.x-ue.x,y:ge.y-ue.y},Ue=St(ze,de)/Ve,U=St(ze,ne)/Ve;return{x:(ue.x+U*de.x+(ge.x+Ue*ne.x))/2,y:(ue.y+U*de.y+(ge.y+Ue*ne.y))/2}})(v,this.vector(),k,l.vector());return W===null?null:b(g,W)?B.round(W.x,W.y):null}split(l){const d=[],f=l.events!==void 0,g=new Ne(l,!0),v=new Ne(l,!1),x=this.rightSE;this.replaceRightSE(v),d.push(v),d.push(g);const k=new Ke(g,x,this.rings.slice(),this.windings.slice());return Ne.comparePoints(k.leftSE.point,k.rightSE.point)>0&&k.swapEvents(),Ne.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),f&&(g.checkForConsuming(),v.checkForConsuming()),d}swapEvents(){const l=this.rightSE;this.rightSE=this.leftSE,this.leftSE=l,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let d=0,f=this.windings.length;d<f;d++)this.windings[d]*=-1}consume(l){let d=this,f=l;for(;d.consumedBy;)d=d.consumedBy;for(;f.consumedBy;)f=f.consumedBy;const g=Ke.compare(d,f);if(g!==0){if(g>0){const v=d;d=f,f=v}if(d.prev===f){const v=d;d=f,f=v}for(let v=0,x=f.rings.length;v<x;v++){const k=f.rings[v],L=f.windings[v],E=d.rings.indexOf(k);E===-1?(d.rings.push(k),d.windings.push(L)):d.windings[E]+=L}f.rings=null,f.windings=null,f.consumedBy=d,f.leftSE.consumedBy=d.leftSE,f.rightSE.consumedBy=d.rightSE}}prevInResult(){return this._prevInResult!==void 0||(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null),this._prevInResult}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(this.prev){const l=this.prev.consumedBy||this.prev;this._beforeState=l.afterState()}else this._beforeState={rings:[],windings:[],multiPolys:[]};return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const l=this.beforeState();this._afterState={rings:l.rings.slice(0),windings:l.windings.slice(0),multiPolys:[]};const d=this._afterState.rings,f=this._afterState.windings,g=this._afterState.multiPolys;for(let k=0,L=this.rings.length;k<L;k++){const E=this.rings[k],C=this.windings[k],A=d.indexOf(E);A===-1?(d.push(E),f.push(C)):f[A]+=C}const v=[],x=[];for(let k=0,L=d.length;k<L;k++){if(f[k]===0)continue;const E=d[k],C=E.poly;if(x.indexOf(C)===-1)if(E.isExterior)v.push(C);else{x.indexOf(C)===-1&&x.push(C);const A=v.indexOf(E.poly);A!==-1&&v.splice(A,1)}}for(let k=0,L=v.length;k<L;k++){const E=v[k].multiPoly;g.indexOf(E)===-1&&g.push(E)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const l=this.beforeState().multiPolys,d=this.afterState().multiPolys;switch($e.type){case"union":{const f=l.length===0,g=d.length===0;this._isInResult=f!==g;break}case"intersection":{let f,g;l.length<d.length?(f=l.length,g=d.length):(f=d.length,g=l.length),this._isInResult=g===$e.numMultiPolys&&f<g;break}case"xor":{const f=Math.abs(l.length-d.length);this._isInResult=f%2==1;break}case"difference":{const f=g=>g.length===1&&g[0].isSubject;this._isInResult=f(l)!==f(d);break}default:throw new Error(`Unrecognized operation type found ${$e.type}`)}return this._isInResult}}class ${constructor(l,d,f){if(!Array.isArray(l)||l.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=d,this.isExterior=f,this.segments=[],typeof l[0][0]!="number"||typeof l[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const g=B.round(l[0][0],l[0][1]);this.bbox={ll:{x:g.x,y:g.y},ur:{x:g.x,y:g.y}};let v=g;for(let x=1,k=l.length;x<k;x++){if(typeof l[x][0]!="number"||typeof l[x][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let L=B.round(l[x][0],l[x][1]);L.x===v.x&&L.y===v.y||(this.segments.push(Ke.fromRing(v,L,this)),L.x<this.bbox.ll.x&&(this.bbox.ll.x=L.x),L.y<this.bbox.ll.y&&(this.bbox.ll.y=L.y),L.x>this.bbox.ur.x&&(this.bbox.ur.x=L.x),L.y>this.bbox.ur.y&&(this.bbox.ur.y=L.y),v=L)}g.x===v.x&&g.y===v.y||this.segments.push(Ke.fromRing(v,g,this))}getSweepEvents(){const l=[];for(let d=0,f=this.segments.length;d<f;d++){const g=this.segments[d];l.push(g.leftSE),l.push(g.rightSE)}return l}}class J{constructor(l,d){if(!Array.isArray(l))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new $(l[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let f=1,g=l.length;f<g;f++){const v=new $(l[f],this,!1);v.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=v.bbox.ll.x),v.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=v.bbox.ll.y),v.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=v.bbox.ur.x),v.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=v.bbox.ur.y),this.interiorRings.push(v)}this.multiPoly=d}getSweepEvents(){const l=this.exteriorRing.getSweepEvents();for(let d=0,f=this.interiorRings.length;d<f;d++){const g=this.interiorRings[d].getSweepEvents();for(let v=0,x=g.length;v<x;v++)l.push(g[v])}return l}}class Oe{constructor(l,d){if(!Array.isArray(l))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof l[0][0][0]=="number"&&(l=[l])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let f=0,g=l.length;f<g;f++){const v=new J(l[f],this);v.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=v.bbox.ll.x),v.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=v.bbox.ll.y),v.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=v.bbox.ur.x),v.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=v.bbox.ur.y),this.polys.push(v)}this.isSubject=d}getSweepEvents(){const l=[];for(let d=0,f=this.polys.length;d<f;d++){const g=this.polys[d].getSweepEvents();for(let v=0,x=g.length;v<x;v++)l.push(g[v])}return l}}class mt{static factory(l){const d=[];for(let f=0,g=l.length;f<g;f++){const v=l[f];if(!v.isInResult()||v.ringOut)continue;let x=null,k=v.leftSE,L=v.rightSE;const E=[k],C=k.point,A=[];for(;x=k,k=L,E.push(k),k.point!==C;)for(;;){const z=k.getAvailableLinkedEvents();if(z.length===0){const de=E[0].point,ge=E[E.length-1].point;throw new Error(`Unable to complete output ring starting at [${de.x}, ${de.y}]. Last matching segment found ends at [${ge.x}, ${ge.y}].`)}if(z.length===1){L=z[0].otherSE;break}let W=null;for(let de=0,ge=A.length;de<ge;de++)if(A[de].point===k.point){W=de;break}if(W!==null){const de=A.splice(W)[0],ge=E.splice(de.index);ge.unshift(ge[0].otherSE),d.push(new mt(ge.reverse()));continue}A.push({index:E.length,point:k.point});const ue=k.getLeftmostComparator(x);L=z.sort(ue)[0].otherSE;break}d.push(new mt(E))}return d}constructor(l){this.events=l;for(let d=0,f=l.length;d<f;d++)l[d].segment.ringOut=this;this.poly=null}getGeom(){let l=this.events[0].point;const d=[l];for(let E=1,C=this.events.length-1;E<C;E++){const A=this.events[E].point,z=this.events[E+1].point;Bt(A,l,z)!==0&&(d.push(A),l=A)}if(d.length===1)return null;const f=d[0],g=d[1];Bt(f,l,g)===0&&d.shift(),d.push(d[0]);const v=this.isExteriorRing()?1:-1,x=this.isExteriorRing()?0:d.length-1,k=this.isExteriorRing()?d.length:-1,L=[];for(let E=x;E!=k;E+=v)L.push([d[E].x,d[E].y]);return L}isExteriorRing(){if(this._isExteriorRing===void 0){const l=this.enclosingRing();this._isExteriorRing=!l||!l.isExteriorRing()}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let l=this.events[0];for(let g=1,v=this.events.length;g<v;g++){const x=this.events[g];Ne.compare(l,x)>0&&(l=x)}let d=l.segment.prevInResult(),f=d?d.prevInResult():null;for(;;){if(!d)return null;if(!f)return d.ringOut;if(f.ringOut!==d.ringOut)return f.ringOut.enclosingRing()!==d.ringOut?d.ringOut:d.ringOut.enclosingRing();d=f.prevInResult(),f=d?d.prevInResult():null}}}class ts{constructor(l){this.exteriorRing=l,l.poly=this,this.interiorRings=[]}addInterior(l){this.interiorRings.push(l),l.poly=this}getGeom(){const l=[this.exteriorRing.getGeom()];if(l[0]===null)return null;for(let d=0,f=this.interiorRings.length;d<f;d++){const g=this.interiorRings[d].getGeom();g!==null&&l.push(g)}return l}}class zs{constructor(l){this.rings=l,this.polys=this._composePolys(l)}getGeom(){const l=[];for(let d=0,f=this.polys.length;d<f;d++){const g=this.polys[d].getGeom();g!==null&&l.push(g)}return l}_composePolys(l){const d=[];for(let f=0,g=l.length;f<g;f++){const v=l[f];if(!v.poly)if(v.isExteriorRing())d.push(new ts(v));else{const x=v.enclosingRing();x.poly||d.push(new ts(x)),x.poly.addInterior(v)}}return d}}class Us{constructor(l){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ke.compare;this.queue=l,this.tree=new c(d),this.segments=[]}process(l){const d=l.segment,f=[];if(l.consumedBy)return l.isLeft?this.queue.remove(l.otherSE):this.tree.remove(d),f;const g=l.isLeft?this.tree.add(d):this.tree.find(d);if(!g)throw new Error(`Unable to find segment #${d.id} [${d.leftSE.point.x}, ${d.leftSE.point.y}] -> [${d.rightSE.point.x}, ${d.rightSE.point.y}] in SweepLine tree.`);let v,x,k=g,L=g;for(;v===void 0;)k=this.tree.prev(k),k===null?v=null:k.key.consumedBy===void 0&&(v=k.key);for(;x===void 0;)L=this.tree.next(L),L===null?x=null:L.key.consumedBy===void 0&&(x=L.key);if(l.isLeft){let E=null;if(v){const A=v.getIntersection(d);if(A!==null&&(d.isAnEndpoint(A)||(E=A),!v.isAnEndpoint(A))){const z=this._splitSafely(v,A);for(let W=0,ue=z.length;W<ue;W++)f.push(z[W])}}let C=null;if(x){const A=x.getIntersection(d);if(A!==null&&(d.isAnEndpoint(A)||(C=A),!x.isAnEndpoint(A))){const z=this._splitSafely(x,A);for(let W=0,ue=z.length;W<ue;W++)f.push(z[W])}}if(E!==null||C!==null){let A=null;A=E===null?C:C===null||Ne.comparePoints(E,C)<=0?E:C,this.queue.remove(d.rightSE),f.push(d.rightSE);const z=d.split(A);for(let W=0,ue=z.length;W<ue;W++)f.push(z[W])}f.length>0?(this.tree.remove(d),f.push(l)):(this.segments.push(d),d.prev=v)}else{if(v&&x){const E=v.getIntersection(x);if(E!==null){if(!v.isAnEndpoint(E)){const C=this._splitSafely(v,E);for(let A=0,z=C.length;A<z;A++)f.push(C[A])}if(!x.isAnEndpoint(E)){const C=this._splitSafely(x,E);for(let A=0,z=C.length;A<z;A++)f.push(C[A])}}}this.tree.remove(d)}return f}_splitSafely(l,d){this.tree.remove(l);const f=l.rightSE;this.queue.remove(f);const g=l.split(d);return g.push(f),l.consumedBy===void 0&&this.tree.add(l),g}}const Rt=typeof process<"u"&&Ki.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,ss=typeof process<"u"&&Ki.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6,$e=new class{run(S,l,d){$e.type=S,B.reset();const f=[new Oe(l,!0)];for(let E=0,C=d.length;E<C;E++)f.push(new Oe(d[E],!1));if($e.numMultiPolys=f.length,$e.type==="difference"){const E=f[0];let C=1;for(;C<f.length;)w(f[C].bbox,E.bbox)!==null?C++:f.splice(C,1)}if($e.type==="intersection")for(let E=0,C=f.length;E<C;E++){const A=f[E];for(let z=E+1,W=f.length;z<W;z++)if(w(A.bbox,f[z].bbox)===null)return[]}const g=new c(Ne.compare);for(let E=0,C=f.length;E<C;E++){const A=f[E].getSweepEvents();for(let z=0,W=A.length;z<W;z++)if(g.insert(A[z]),g.size>Rt)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const v=new Us(g);let x=g.size,k=g.pop();for(;k;){const E=k.key;if(g.size===x){const A=E.segment;throw new Error(`Unable to pop() ${E.isLeft?"left":"right"} SweepEvent [${E.point.x}, ${E.point.y}] from segment #${A.id} [${A.leftSE.point.x}, ${A.leftSE.point.y}] -> [${A.rightSE.point.x}, ${A.rightSE.point.y}] from queue.`)}if(g.size>Rt)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(v.segments.length>ss)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const C=v.process(E);for(let A=0,z=C.length;A<z;A++){const W=C[A];W.consumedBy===void 0&&g.insert(W)}x=g.size,k=g.pop()}B.reset();const L=mt.factory(v.segments);return new zs(L).getGeom()}};var is={union:function(S){for(var l=arguments.length,d=new Array(l>1?l-1:0),f=1;f<l;f++)d[f-1]=arguments[f];return $e.run("union",S,d)},intersection:function(S){for(var l=arguments.length,d=new Array(l>1?l-1:0),f=1;f<l;f++)d[f-1]=arguments[f];return $e.run("intersection",S,d)},xor:function(S){for(var l=arguments.length,d=new Array(l>1?l-1:0),f=1;f<l;f++)d[f-1]=arguments[f];return $e.run("xor",S,d)},difference:function(S){for(var l=arguments.length,d=new Array(l>1?l-1:0),f=1;f<l;f++)d[f-1]=arguments[f];return $e.run("difference",S,d)}};return is}()}},Qi={};function Re(s){var e=Qi[s];if(e!==void 0)return e.exports;var t=Qi[s]={exports:{}};return tl[s].call(t.exports,t,t.exports,Re),t.exports}Re.n=s=>{var e=s&&s.__esModule?()=>s.default:()=>s;return Re.d(e,{a:e}),e},Re.d=(s,e)=>{for(var t in e)Re.o(e,t)&&!Re.o(s,t)&&Object.defineProperty(s,t,{enumerable:!0,get:e[t]})},Re.o=(s,e)=>Object.prototype.hasOwnProperty.call(s,e),Re.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var tr={};Re.d(tr,{j:()=>_c});var ci={};Re.r(ci),Re.d(ci,{Decoder:()=>Ri,Encoder:()=>mc,PacketType:()=>ie,protocol:()=>fc});class sl{constructor(e){R(this,"baseURL");R(this,"abortControllers",new Set);this.baseURL=`${e}/api`}async request(e,t,i,n={}){const r=new AbortController;this.abortControllers.add(r);const o=setTimeout(()=>{r.abort(),this.abortControllers.delete(r)},15e3);try{const a=await fetch(`${this.baseURL}${t}`,{method:e,headers:{"Content-Type":"application/json",...n.headers},body:i?JSON.stringify(i):void 0,signal:r.signal,...n});if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a}finally{clearTimeout(o),this.abortControllers.delete(r)}}get(e,t){return this.request("GET",e,void 0,t)}post(e,t,i){return this.request("POST",e,t,i)}}Re.d({},{}),Re.d({},{});class il{constructor(){R(this,"subscriptions",[]);R(this,"additionalSubscriptions",[])}addSubscriptions(...e){this.subscriptions.push(...e)}addAdditionalSubscriptions(...e){this.additionalSubscriptions.push(...e)}unsubscribe(){this.subscriptions.forEach(e=>e.unsubscribe())}unsubscribeAdditional(){this.additionalSubscriptions.forEach(e=>e.unsubscribe())}}function At(s,e,t=!1){if(s===e)return!0;if((s===void 0||e===void 0||s===null||e===null)&&(s||e))return!1;const i=s==null?void 0:s.constructor.name,n=e==null?void 0:e.constructor.name;if(i!==n)return!1;if(i==="Array"&&n==="Array"){if(s.length!==e.length)return!1;if(t){const r=[...e];return s.every(o=>{const a=r.findIndex(c=>At(o,c,t));return a!==-1&&(r.splice(a,1),!0)})}{let r=!0;for(let o=0;o<s.length;o++)if(!At(s[o],e[o],t)){r=!1;break}return r}}if(i==="Object"&&n==="Object"){let r=!0;const o=Object.keys(s),a=Object.keys(e);if(o.length!==a.length)return!1;for(let c=0;c<o.length;c++)if(s[o[c]]&&e[o[c]]){if(s[o[c]]===e[o[c]])continue;if(!s[o[c]]||s[o[c]].constructor.name!=="Array"&&s[o[c]].constructor.name!=="Object"){if(s[o[c]]!==e[o[c]]){r=!1;break}}else if(r=At(s[o[c]],e[o[c]],t),!r)break}else if(s[o[c]]&&!e[o[c]]||!s[o[c]]&&e[o[c]]){r=!1;break}return r}return s===e}function We(s){return JSON.parse(JSON.stringify(s))}var nl=Re(855),rl=Re.n(nl),ui=function(s,e){return ui=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])},ui(s,e)};function wt(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=s}ui(s,e),s.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function sr(s,e){var t,i,n,r={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return function(h){if(t)throw new TypeError("Generator is already executing.");for(;o&&(o=0,h[0]&&(r=0)),r;)try{if(t=1,i&&(n=2&h[0]?i.return:h[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,h[1])).done)return n;switch(i=0,n&&(h=[2&h[0],n.value]),h[0]){case 0:case 1:n=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,i=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(!((n=(n=r.trys).length>0&&n[n.length-1])||h[0]!==6&&h[0]!==2)){r=0;continue}if(h[0]===3&&(!n||h[1]>n[0]&&h[1]<n[3])){r.label=h[1];break}if(h[0]===6&&r.label<n[1]){r.label=n[1],n=h;break}if(n&&r.label<n[2]){r.label=n[2],r.ops.push(h);break}n[2]&&r.ops.pop(),r.trys.pop();continue}h=e.call(s,r)}catch(m){h=[6,m],i=0}finally{t=n=0}if(5&h[0])throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}([c,u])}}}function qt(s){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&s[e],i=0;if(t)return t.call(s);if(s&&typeof s.length=="number")return{next:function(){return s&&i>=s.length&&(s=void 0),{value:s&&s[i++],done:!s}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ws(s,e){var t=typeof Symbol=="function"&&s[Symbol.iterator];if(!t)return s;var i,n,r=t.call(s),o=[];try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(a){n={error:a}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(n)throw n.error}}return o}function Ss(s,e,t){if(arguments.length===2)for(var i,n=0,r=e.length;n<r;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return s.concat(i||Array.prototype.slice.call(e))}function Mt(s){return this instanceof Mt?(this.v=s,this):new Mt(s)}function Me(s){return typeof s=="function"}function ir(s){var e=s(function(t){Error.call(t),t.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var Zs=ir(function(s){return function(e){s(this),this.message=e?e.length+` errors occurred during unsubscription:
4
+ `+e.map(function(t,i){return i+1+") "+t.toString()}).join(`
5
+ `):"",this.name="UnsubscriptionError",this.errors=e}});function di(s,e){if(s){var t=s.indexOf(e);0<=t&&s.splice(t,1)}}var Ts=function(){function s(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return s.prototype.unsubscribe=function(){var e,t,i,n,r;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=qt(o),c=a.next();!c.done;c=a.next())c.value.remove(this)}catch(_){e={error:_}}finally{try{c&&!c.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var u=this.initialTeardown;if(Me(u))try{u()}catch(_){r=_ instanceof Zs?_.errors:[_]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var m=qt(h),b=m.next();!b.done;b=m.next()){var w=b.value;try{Yi(w)}catch(_){r=r??[],_ instanceof Zs?r=Ss(Ss([],ws(r)),ws(_.errors)):r.push(_)}}}catch(_){i={error:_}}finally{try{b&&!b.done&&(n=m.return)&&n.call(m)}finally{if(i)throw i.error}}}if(r)throw new Zs(r)}},s.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Yi(e);else{if(e instanceof s){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},s.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},s.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},s.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&di(t,e)},s.prototype.remove=function(e){var t=this._finalizers;t&&di(t,e),e instanceof s&&e._removeParent(this)},s.EMPTY=function(){var e=new s;return e.closed=!0,e}(),s}(),nr=Ts.EMPTY;function rr(s){return s instanceof Ts||s&&"closed"in s&&Me(s.remove)&&Me(s.add)&&Me(s.unsubscribe)}function Yi(s){Me(s)?s():s.unsubscribe()}var or={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ol={setTimeout:function(s,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return setTimeout.apply(void 0,Ss([s,e],ws(t)))},clearTimeout:function(s){return clearTimeout(s)},delegate:void 0};function ar(s){ol.setTimeout(function(){throw s})}function Xi(){}function ds(s){s()}var Mi=function(s){function e(t){var i=s.call(this)||this;return i.isStopped=!1,t?(i.destination=t,rr(t)&&t.add(i)):i.destination=cl,i}return wt(e,s),e.create=function(t,i,n){return new Ht(t,i,n)},e.prototype.next=function(t){this.isStopped?void 0:this._next(t)},e.prototype.error=function(t){this.isStopped?void 0:(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?void 0:(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,s.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Ts),al=Function.prototype.bind;function Ws(s,e){return al.call(s,e)}var ll=function(){function s(e){this.partialObserver=e}return s.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){ns(i)}},s.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){ns(i)}else ns(e)},s.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){ns(t)}},s}(),Ht=function(s){function e(t,i,n){var r,o,a=s.call(this)||this;return Me(t)||!t?r={next:t??void 0,error:i??void 0,complete:n??void 0}:a&&or.useDeprecatedNextContext?((o=Object.create(t)).unsubscribe=function(){return a.unsubscribe()},r={next:t.next&&Ws(t.next,o),error:t.error&&Ws(t.error,o),complete:t.complete&&Ws(t.complete,o)}):r=t,a.destination=new ll(r),a}return wt(e,s),e}(Mi);function ns(s){ar(s)}var cl={closed:!0,next:Xi,error:function(s){throw s},complete:Xi},hi=typeof Symbol=="function"&&Symbol.observable||"@@observable";function ul(s){return s}var gt=function(){function s(e){e&&(this._subscribe=e)}return s.prototype.lift=function(e){var t=new s;return t.source=this,t.operator=e,t},s.prototype.subscribe=function(e,t,i){var n=this,r=function(o){return o&&o instanceof Mi||function(a){return a&&Me(a.next)&&Me(a.error)&&Me(a.complete)}(o)&&rr(o)}(e)?e:new Ht(e,t,i);return ds(function(){var o=n,a=o.operator,c=o.source;r.add(a?a.call(r,c):c?n._subscribe(r):n._trySubscribe(r))}),r},s.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},s.prototype.forEach=function(e,t){var i=this;return new(t=Ji(t))(function(n,r){var o=new Ht({next:function(a){try{e(a)}catch(c){r(c),o.unsubscribe()}},error:r,complete:n});i.subscribe(o)})},s.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},s.prototype[hi]=function(){return this},s.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return((i=e).length===0?ul:i.length===1?i[0]:function(n){return i.reduce(function(r,o){return o(r)},n)})(this);var i},s.prototype.toPromise=function(e){var t=this;return new(e=Ji(e))(function(i,n){var r;t.subscribe(function(o){return r=o},function(o){return n(o)},function(){return i(r)})})},s.create=function(e){return new s(e)},s}();function Ji(s){var e;return(e=s??or.Promise)!==null&&e!==void 0?e:Promise}var dl=ir(function(s){return function(){s(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Bs=function(s){function e(){var t=s.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return wt(e,s),e.prototype.lift=function(t){var i=new en(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new dl},e.prototype.next=function(t){var i=this;ds(function(){var n,r;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var o=qt(i.currentObservers),a=o.next();!a.done;a=o.next())a.value.next(t)}catch(c){n={error:c}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}})},e.prototype.error=function(t){var i=this;ds(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var n=i.observers;n.length;)n.shift().error(t)}})},e.prototype.complete=function(){var t=this;ds(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),s.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,n=this,r=n.hasError,o=n.isStopped,a=n.observers;return r||o?nr:(this.currentObservers=null,a.push(t),new Ts(function(){i.currentObservers=null,di(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,n=i.hasError,r=i.thrownError,o=i.isStopped;n?t.error(r):o&&t.complete()},e.prototype.asObservable=function(){var t=new gt;return t.source=this,t},e.create=function(t,i){return new en(t,i)},e}(gt),en=function(s){function e(t,i){var n=s.call(this)||this;return n.destination=t,n.source=i,n}return wt(e,s),e.prototype.next=function(t){var i,n;(n=(i=this.destination)===null||i===void 0?void 0:i.next)===null||n===void 0||n.call(i,t)},e.prototype.error=function(t){var i,n;(n=(i=this.destination)===null||i===void 0?void 0:i.error)===null||n===void 0||n.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,n;return(n=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&n!==void 0?n:nr},e}(Bs),lt=function(s){function e(t){var i=s.call(this)||this;return i._value=t,i}return wt(e,s),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var i=s.prototype._subscribe.call(this,t);return!i.closed&&t.next(this._value),i},e.prototype.getValue=function(){var t=this,i=t.hasError,n=t.thrownError,r=t._value;if(i)throw n;return this._throwIfClosed(),r},e.prototype.next=function(t){s.prototype.next.call(this,this._value=t)},e}(Bs),lr={now:function(){return(lr.delegate||Date).now()},delegate:void 0},Gs=function(s){function e(t,i,n){t===void 0&&(t=1/0),i===void 0&&(i=1/0),n===void 0&&(n=lr);var r=s.call(this)||this;return r._bufferSize=t,r._windowTime=i,r._timestampProvider=n,r._buffer=[],r._infiniteTimeWindow=!0,r._infiniteTimeWindow=i===1/0,r._bufferSize=Math.max(1,t),r._windowTime=Math.max(1,i),r}return wt(e,s),e.prototype.next=function(t){var i=this,n=i.isStopped,r=i._buffer,o=i._infiniteTimeWindow,a=i._timestampProvider,c=i._windowTime;n||(r.push(t),!o&&r.push(a.now()+c)),this._trimBuffer(),s.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var i=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!t.closed;o+=n?1:2)t.next(r[o]);return this._checkFinalizedStatuses(t),i},e.prototype._trimBuffer=function(){var t=this,i=t._bufferSize,n=t._timestampProvider,r=t._buffer,o=t._infiniteTimeWindow,a=(o?1:2)*i;if(i<1/0&&a<r.length&&r.splice(0,r.length-a),!o){for(var c=n.now(),u=0,h=1;h<r.length&&r[h]<=c;h+=2)u=h;u&&r.splice(0,u+1)}},e}(Bs);function Yt(s){return function(e){if(function(t){return Me(t==null?void 0:t.lift)}(e))return e.lift(function(t){try{return s(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ft(s,e,t,i,n){return new hl(s,e,t,i,n)}var hl=function(s){function e(t,i,n,r,o,a){var c=s.call(this,t)||this;return c.onFinalize=o,c.shouldUnsubscribe=a,c._next=i?function(u){try{i(u)}catch(h){t.error(h)}}:s.prototype._next,c._error=r?function(u){try{r(u)}catch(h){t.error(h)}finally{this.unsubscribe()}}:s.prototype._error,c._complete=n?function(){try{n()}catch(u){t.error(u)}finally{this.unsubscribe()}}:s.prototype._complete,c}return wt(e,s),e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;s.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(Mi);function tn(){return Yt(function(s,e){var t,i=!1;s.subscribe(Ft(e,function(n){var r=t;t=n,i&&e.next([r,n]),i=!0}))})}function sn(s,e){return Yt(function(t,i){var n=0;t.subscribe(Ft(i,function(r){return s.call(e,r,n++)&&i.next(r)}))})}function cr(s,e){return Yt(function(t,i){var n=0;t.subscribe(Ft(i,function(r){i.next(s.call(e,r,n++))}))})}var pl=function(s){return s&&typeof s.length=="number"&&typeof s!="function"},fl=typeof Symbol=="function"&&Symbol.iterator?Symbol.iterator:"@@iterator";function xs(s){if(s instanceof gt)return s;if(s!=null){if(function(r){return Me(r[hi])}(s))return n=s,new gt(function(r){var o=n[hi]();if(Me(o.subscribe))return o.subscribe(r);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(pl(s))return i=s,new gt(function(r){for(var o=0;o<i.length&&!r.closed;o++)r.next(i[o]);r.complete()});if(function(r){return Me(r==null?void 0:r.then)}(s))return t=s,new gt(function(r){t.then(function(o){r.closed||(r.next(o),r.complete())},function(o){return r.error(o)}).then(null,ar)});if(function(r){return Symbol.asyncIterator&&Me(r==null?void 0:r[Symbol.asyncIterator])}(s))return nn(s);if(function(r){return Me(r==null?void 0:r[fl])}(s))return e=s,new gt(function(r){var o,a;try{for(var c=qt(e),u=c.next();!u.done;u=c.next()){var h=u.value;if(r.next(h),r.closed)return}}catch(m){o={error:m}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(o)throw o.error}}r.complete()});if(function(r){return Me(r==null?void 0:r.getReader)}(s))return nn(function(r){return function(o,a,c){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var u,h=c.apply(o,a||[]),m=[];return u=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),b("next"),b("throw"),b("return",function(M){return function(B){return Promise.resolve(B).then(M,T)}}),u[Symbol.asyncIterator]=function(){return this},u;function b(M,B){h[M]&&(u[M]=function(I){return new Promise(function(j,K){m.push([M,I,j,K])>1||w(M,I)})},B&&(u[M]=B(u[M])))}function w(M,B){try{(I=h[M](B)).value instanceof Mt?Promise.resolve(I.value.v).then(_,T):O(m[0][2],I)}catch(j){O(m[0][3],j)}var I}function _(M){w("next",M)}function T(M){w("throw",M)}function O(M,B){M(B),m.shift(),m.length&&w(m[0][0],m[0][1])}}(this,arguments,function(){var o,a,c;return sr(this,function(u){switch(u.label){case 0:o=r.getReader(),u.label=1;case 1:u.trys.push([1,,9,10]),u.label=2;case 2:return[4,Mt(o.read())];case 3:return a=u.sent(),c=a.value,a.done?[4,Mt(void 0)]:[3,5];case 4:return[2,u.sent()];case 5:return[4,Mt(c)];case 6:return[4,u.sent()];case 7:return u.sent(),[3,2];case 8:return[3,10];case 9:return o.releaseLock(),[7];case 10:return[2]}})})}(s))}var e,t,i,n;throw function(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}(s)}function nn(s){return new gt(function(e){(function(t,i){var n,r,o,a,c,u,h,m;return c=this,u=void 0,m=function(){var b,w;return sr(this,function(_){switch(_.label){case 0:_.trys.push([0,5,6,11]),n=function(T){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var O,M=T[Symbol.asyncIterator];return M?M.call(T):(T=qt(T),O={},B("next"),B("throw"),B("return"),O[Symbol.asyncIterator]=function(){return this},O);function B(I){O[I]=T[I]&&function(j){return new Promise(function(K,se){(function(H,te,Z,F){Promise.resolve(F).then(function(_e){H({value:_e,done:Z})},te)})(K,se,(j=T[I](j)).done,j.value)})}}}(t),_.label=1;case 1:return[4,n.next()];case 2:if((r=_.sent()).done)return[3,4];if(b=r.value,i.next(b),i.closed)return[2];_.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return w=_.sent(),o={error:w},[3,11];case 6:return _.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:_.sent(),_.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return i.complete(),[2]}})},new((h=void 0)||(h=Promise))(function(b,w){function _(M){try{O(m.next(M))}catch(B){w(B)}}function T(M){try{O(m.throw(M))}catch(B){w(B)}}function O(M){M.done?b(M.value):function(B){return B instanceof h?B:new h(function(I){I(B)})}(M.value).then(_,T)}O((m=m.apply(c,u||[])).next())})})(s,e).catch(function(t){return e.error(t)})})}function Ks(s){s===void 0&&(s={});var e=s.connector,t=e===void 0?function(){return new Bs}:e,i=s.resetOnError,n=i===void 0||i,r=s.resetOnComplete,o=r===void 0||r,a=s.resetOnRefCountZero,c=a===void 0||a;return function(u){var h,m,b,w=0,_=!1,T=!1,O=function(){m==null||m.unsubscribe(),m=void 0},M=function(){O(),h=b=void 0,_=T=!1},B=function(){var I=h;M(),I==null||I.unsubscribe()};return Yt(function(I,j){w++,T||_||O();var K=b=b??t();j.add(function(){--w!=0||T||_||(m=Qs(B,c))}),K.subscribe(j),!h&&w>0&&(h=new Ht({next:function(se){return K.next(se)},error:function(se){T=!0,O(),m=Qs(M,n,se),K.error(se)},complete:function(){_=!0,O(),m=Qs(M,o),K.complete()}}),xs(I).subscribe(h))})(u)}}function Qs(s,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];if(e!==!0){if(e!==!1){var n=new Ht({next:function(){n.unsubscribe(),s()}});return xs(e.apply(void 0,Ss([],ws(t)))).subscribe(n)}}else s()}function ur(s,e,t){return t===void 0&&(t=1/0),Me(e)?ur(function(i,n){return cr(function(r,o){return e(i,r,n,o)})(xs(s(i,n)))},t):(typeof e=="number"&&(t=e),Yt(function(i,n){return function(r,o,a,c,u,h,m,b){var w=[],_=0,T=0,O=!1,M=function(){!O||w.length||_||o.complete()},B=function(j){return _<c?I(j):w.push(j)},I=function(j){_++;var K=!1;xs(a(j,T++)).subscribe(Ft(o,function(se){o.next(se)},function(){K=!0},void 0,function(){if(K)try{_--;for(var se=function(){var H=w.shift();I(H)};w.length&&_<c;)se();M()}catch(H){o.error(H)}}))};return r.subscribe(Ft(o,B,function(){O=!0,M()})),function(){}}(i,n,s,t)}))}function ht(s,e,t={}){const i={type:"Feature"};return(t.id===0||t.id)&&(i.id=t.id),t.bbox&&(i.bbox=t.bbox),i.properties=e||{},i.geometry=s,i}function Pi(s,e,t={}){for(const i of s){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<i[i.length-1].length;n++)if(i[i.length-1][n]!==i[0][n])throw new Error("First and last Position are not equivalent.")}return ht({type:"Polygon",coordinates:s},e,t)}function ks(s,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=s,t}function rn(s){return!isNaN(s)&&s!==null&&!Array.isArray(s)}function dr(s,e,t){if(s!==null)for(var i,n,r,o,a,c,u,h,m=0,b=0,w=s.type,_=w==="FeatureCollection",T=w==="Feature",O=_?s.features.length:1,M=0;M<O;M++){a=(h=!!(u=_?s.features[M].geometry:T?s.geometry:s)&&u.type==="GeometryCollection")?u.geometries.length:1;for(var B=0;B<a;B++){var I=0,j=0;if((o=h?u.geometries[B]:u)!==null){c=o.coordinates;var K=o.type;switch(m=0,K){case null:break;case"Point":if(e(c,b,M,I,j)===!1)return!1;b++,I++;break;case"LineString":case"MultiPoint":for(i=0;i<c.length;i++){if(e(c[i],b,M,I,j)===!1)return!1;b++,K==="MultiPoint"&&I++}K==="LineString"&&I++;break;case"Polygon":case"MultiLineString":for(i=0;i<c.length;i++){for(n=0;n<c[i].length-m;n++){if(e(c[i][n],b,M,I,j)===!1)return!1;b++}K==="MultiLineString"&&I++,K==="Polygon"&&j++}K==="Polygon"&&I++;break;case"MultiPolygon":for(i=0;i<c.length;i++){for(j=0,n=0;n<c[i].length;n++){for(r=0;r<c[i][n].length-m;r++){if(e(c[i][n][r],b,M,I,j)===!1)return!1;b++}j++}I++}break;case"GeometryCollection":for(i=0;i<o.geometries.length;i++)if(dr(o.geometries[i],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function hr(s,e){var t,i,n,r,o,a,c,u,h,m,b=0,w=s.type==="FeatureCollection",_=s.type==="Feature",T=w?s.features.length:1;for(t=0;t<T;t++){for(a=w?s.features[t].geometry:_?s.geometry:s,u=w?s.features[t].properties:_?s.properties:{},h=w?s.features[t].bbox:_?s.bbox:void 0,m=w?s.features[t].id:_?s.id:void 0,o=(c=!!a&&a.type==="GeometryCollection")?a.geometries.length:1,n=0;n<o;n++)if((r=c?a.geometries[n]:a)!==null)switch(r.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(e(r,b,u,h,m)===!1)return!1;break;case"GeometryCollection":for(i=0;i<r.geometries.length;i++)if(e(r.geometries[i],b,u,h,m)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}else if(e(null,b,u,h,m)===!1)return!1;b++}}function rs(s,e){hr(s,function(t,i,n,r,o){var a,c=t===null?null:t.type;switch(c){case null:case"Point":case"LineString":case"Polygon":return e(ht(t,n,{bbox:r,id:o}),i,0)!==!1&&void 0}switch(c){case"MultiPoint":a="Point";break;case"MultiLineString":a="LineString";break;case"MultiPolygon":a="Polygon"}for(var u=0;u<t.coordinates.length;u++){var h=t.coordinates[u];if(e(ht({type:a,coordinates:h},n),i,u)===!1)return!1}})}function Zt(s,e={}){if(s.bbox!=null&&e.recompute!==!0)return s.bbox;const t=[1/0,1/0,-1/0,-1/0];return dr(s,i=>{t[0]>i[0]&&(t[0]=i[0]),t[1]>i[1]&&(t[1]=i[1]),t[2]<i[0]&&(t[2]=i[0]),t[3]<i[1]&&(t[3]=i[1])}),t}function pr(s,e={}){const t=Number(s[0]),i=Number(s[1]),n=Number(s[2]),r=Number(s[3]);if(s.length===6)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");const o=[t,i];return Pi([[o,[n,i],[n,r],[t,r],o]],e.properties,{bbox:s,id:e.id})}var ml=Re(73);function gl(s,e={}){const t=[];if(hr(s,n=>{t.push(n.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const i=ml.union(t[0],...t.slice(1));return i.length===0?null:i.length===1?Pi(i[0],e.properties):function(n,r,o={}){return ht({type:"MultiPolygon",coordinates:n},r,o)}(i,e.properties)}function fr(s,e,t=0,i=s.length-1,n=bl){for(;i>t;){if(i-t>600){const c=i-t+1,u=e-t+1,h=Math.log(c),m=.5*Math.exp(2*h/3),b=.5*Math.sqrt(h*m*(c-m)/c)*(u-c/2<0?-1:1);fr(s,e,Math.max(t,Math.floor(e-u*m/c+b)),Math.min(i,Math.floor(e+(c-u)*m/c+b)),n)}const r=s[e];let o=t,a=i;for(Ot(s,t,e),n(s[i],r)>0&&Ot(s,t,i);o<a;){for(Ot(s,o,a),o++,a--;n(s[o],r)<0;)o++;for(;n(s[a],r)>0;)a--}n(s[t],r)===0?Ot(s,t,a):(a++,Ot(s,a,i)),a<=e&&(t=a+1),e<=a&&(i=a-1)}}function Ot(s,e,t){const i=s[e];s[e]=s[t],s[t]=i}function bl(s,e){return s<e?-1:s>e?1:0}class vl{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const i=[];if(!as(e,t))return i;const n=this.toBBox,r=[];for(;t;){for(let o=0;o<t.children.length;o++){const a=t.children[o],c=t.leaf?n(a):a;as(e,c)&&(t.leaf?i.push(a):Xs(e,c)?this._all(a,i):r.push(a))}t=r.pop()}return i}collides(e){let t=this.data;if(!as(e,t))return!1;const i=[];for(;t;){for(let n=0;n<t.children.length;n++){const r=t.children[n],o=t.leaf?this.toBBox(r):r;if(as(e,o)){if(t.leaf||Xs(e,o))return!0;i.push(r)}}t=i.pop()}return!1}load(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(let i=0;i<e.length;i++)this.insert(e[i]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const i=this.data;this.data=t,t=i}this._insert(t,this.data.height-t.height-1,!0)}else this.data=t;return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=Et([]),this}remove(e,t){if(!e)return this;let i=this.data;const n=this.toBBox(e),r=[],o=[];let a,c,u;for(;i||r.length;){if(i||(i=r.pop(),c=r[r.length-1],a=o.pop(),u=!0),i.leaf){const h=_l(e,i.children,t);if(h!==-1)return i.children.splice(h,1),r.push(i),this._condense(r),this}u||i.leaf||!Xs(i,n)?c?(a++,i=c.children[a],u=!1):i=null:(r.push(i),o.push(a),a=0,c=i,i=i.children[0])}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const i=[];for(;e;)e.leaf?t.push(...e.children):i.push(...e.children),e=i.pop();return t}_build(e,t,i,n){const r=i-t+1;let o,a=this._maxEntries;if(r<=a)return o=Et(e.slice(t,i+1)),kt(o,this.toBBox),o;n||(n=Math.ceil(Math.log(r)/Math.log(a)),a=Math.ceil(r/Math.pow(a,n-1))),o=Et([]),o.leaf=!1,o.height=n;const c=Math.ceil(r/a),u=c*Math.ceil(Math.sqrt(a));on(e,t,i,u,this.compareMinX);for(let h=t;h<=i;h+=u){const m=Math.min(h+u-1,i);on(e,h,m,c,this.compareMinY);for(let b=h;b<=m;b+=c){const w=Math.min(b+c-1,m);o.children.push(this._build(e,b,w,n-1))}}return kt(o,this.toBBox),o}_chooseSubtree(e,t,i,n){for(;n.push(t),!t.leaf&&n.length-1!==i;){let a,c=1/0,u=1/0;for(let h=0;h<t.children.length;h++){const m=t.children[h],b=Ys(m),w=(r=e,o=m,(Math.max(o.maxX,r.maxX)-Math.min(o.minX,r.minX))*(Math.max(o.maxY,r.maxY)-Math.min(o.minY,r.minY))-b);w<u?(u=w,c=b<c?b:c,a=m):w===u&&b<c&&(c=b,a=m)}t=a||t.children[0]}var r,o;return t}_insert(e,t,i){const n=i?e:this.toBBox(e),r=[],o=this._chooseSubtree(n,this.data,t,r);for(o.children.push(e),Nt(o,n);t>=0&&r[t].children.length>this._maxEntries;)this._split(r,t),t--;this._adjustParentBBoxes(n,r,t)}_split(e,t){const i=e[t],n=i.children.length,r=this._minEntries;this._chooseSplitAxis(i,r,n);const o=this._chooseSplitIndex(i,r,n),a=Et(i.children.splice(o,i.children.length-o));a.height=i.height,a.leaf=i.leaf,kt(i,this.toBBox),kt(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(i,a)}_splitRoot(e,t){this.data=Et([e,t]),this.data.height=e.height+1,this.data.leaf=!1,kt(this.data,this.toBBox)}_chooseSplitIndex(e,t,i){let n,r=1/0,o=1/0;for(let a=t;a<=i-t;a++){const c=jt(e,0,a,this.toBBox),u=jt(e,a,i,this.toBBox),h=Sl(c,u),m=Ys(c)+Ys(u);h<r?(r=h,n=a,o=m<o?m:o):h===r&&m<o&&(o=m,n=a)}return n||i-t}_chooseSplitAxis(e,t,i){const n=e.leaf?this.compareMinX:yl,r=e.leaf?this.compareMinY:wl;this._allDistMargin(e,t,i,n)<this._allDistMargin(e,t,i,r)&&e.children.sort(n)}_allDistMargin(e,t,i,n){e.children.sort(n);const r=this.toBBox,o=jt(e,0,t,r),a=jt(e,i-t,i,r);let c=os(o)+os(a);for(let u=t;u<i-t;u++){const h=e.children[u];Nt(o,e.leaf?r(h):h),c+=os(o)}for(let u=i-t-1;u>=t;u--){const h=e.children[u];Nt(a,e.leaf?r(h):h),c+=os(a)}return c}_adjustParentBBoxes(e,t,i){for(let n=i;n>=0;n--)Nt(t[n],e)}_condense(e){for(let t,i=e.length-1;i>=0;i--)e[i].children.length===0?i>0?(t=e[i-1].children,t.splice(t.indexOf(e[i]),1)):this.clear():kt(e[i],this.toBBox)}}function _l(s,e,t){if(!t)return e.indexOf(s);for(let i=0;i<e.length;i++)if(t(s,e[i]))return i;return-1}function kt(s,e){jt(s,0,s.children.length,e,s)}function jt(s,e,t,i,n){n||(n=Et(null)),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let r=e;r<t;r++){const o=s.children[r];Nt(n,s.leaf?i(o):o)}return n}function Nt(s,e){return s.minX=Math.min(s.minX,e.minX),s.minY=Math.min(s.minY,e.minY),s.maxX=Math.max(s.maxX,e.maxX),s.maxY=Math.max(s.maxY,e.maxY),s}function yl(s,e){return s.minX-e.minX}function wl(s,e){return s.minY-e.minY}function Ys(s){return(s.maxX-s.minX)*(s.maxY-s.minY)}function os(s){return s.maxX-s.minX+(s.maxY-s.minY)}function Sl(s,e){const t=Math.max(s.minX,e.minX),i=Math.max(s.minY,e.minY),n=Math.min(s.maxX,e.maxX),r=Math.min(s.maxY,e.maxY);return Math.max(0,n-t)*Math.max(0,r-i)}function Xs(s,e){return s.minX<=e.minX&&s.minY<=e.minY&&e.maxX<=s.maxX&&e.maxY<=s.maxY}function as(s,e){return e.minX<=s.maxX&&e.minY<=s.maxY&&e.maxX>=s.minX&&e.maxY>=s.minY}function Et(s){return{children:s,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function on(s,e,t,i,n){const r=[e,t];for(;r.length;){if((t=r.pop())-(e=r.pop())<=i)continue;const o=e+Math.ceil((t-e)/i/2)*i;fr(s,o,e,t,n),r.push(e,o,o,t)}}function an(s){return pr(s)}function ln(s){return s[0]<s[2]&&s[1]<s[3]}function xl(s,e){const[t,i,n,r]=s,[o,a,c,u]=e,h=Math.max(t,o),m=Math.max(i,a),b=Math.min(n,c),w=Math.min(r,u);if(b<h||w<m)return 0;const _=(b-h)*(w-m);return _/((n-t)*(r-i)+(c-o)*(u-a)-_)}function cn(s,e=.01,t=100){if(s.length===0)return[];const i=new vl,n=s.map(c=>({minX:c.boundingBox[0],minY:c.boundingBox[1],maxX:c.boundingBox[2],maxY:c.boundingBox[3],detection:{...c,id:c.id||Math.random().toString(36).slice(2,9)}}));i.load(n);const r=[],o=new Set;for(const c of n){if(o.has(c.detection.id))continue;const u={...c.detection};let h=u.confidence;const m=[an(u.boundingBox)],b=Math.max(t,10),w=i.search({minX:c.minX-b,minY:c.minY-b,maxX:c.maxX+b,maxY:c.maxY+b});for(const _ of w){if(_.detection.id===u.id||o.has(_.detection.id)||_.detection.label!==u.label)continue;const T=xl(u.boundingBox,_.detection.boundingBox),O=Math.abs(c.minX-_.minX)<=t&&Math.abs(c.minY-_.minY)<=t;if(T>e||O){const M=an(_.detection.boundingBox);m.push(M),o.add(_.detection.id),h=Math.max(h,_.detection.confidence)}}if(m.length>1){const _=gl(ks(m));if(_){const T=(a=Zt(_),[Math.max(0,Math.round(a[0])),Math.max(0,Math.round(a[1])),Math.min(1e3,Math.round(a[2])),Math.min(1e3,Math.round(a[3]))]);ln(T)&&(u.boundingBox=T,u.confidence=h)}}ln(u.boundingBox)&&r.push(u),o.add(u.id)}var a;return r}const kl=function(s,e){for(var t=0,i=0,n=0,r=0,o=0,a=0,c=0,u=0,h=null,m=null,b=s[0],w=s[1],_=e.length;t<_;t++){i=0;var T=e[t].length-1,O=e[t];if((h=O[0])[0]!==O[T][0]&&h[1]!==O[T][1])throw new Error("First and last coordinates in a ring must be the same");for(o=h[0]-b,a=h[1]-w;i<T;i++)if(u=(m=O[i+1])[1]-w,a<0&&u<0||a>0&&u>0)a=u,o=(h=m)[0]-b;else{if(c=m[0]-s[0],u>0&&a<=0){if((r=o*u-c*a)>0)n+=1;else if(r===0)return 0}else if(a>0&&u<=0){if((r=o*u-c*a)<0)n+=1;else if(r===0)return 0}else if(u===0&&a<0){if((r=o*u-c*a)==0)return 0}else if(a===0&&u<0){if((r=o*u-c*a)==0)return 0}else if(a===0&&u===0&&(c<=0&&o>=0||o<=0&&c>=0))return 0;h=m,a=u,o=c}}return n%2!=0};function mr(s){if(!s)throw new Error("coord is required");if(!Array.isArray(s)){if(s.type==="Feature"&&s.geometry!==null&&s.geometry.type==="Point")return[...s.geometry.coordinates];if(s.type==="Point")return[...s.coordinates]}if(Array.isArray(s)&&s.length>=2&&!Array.isArray(s[0])&&!Array.isArray(s[1]))return[...s];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function _t(s){return s.type==="Feature"?s.geometry:s}function ut(s,e,t={}){if(!s)throw new Error("point is required");if(!e)throw new Error("polygon is required");const i=mr(s),n=_t(e),r=n.type,o=e.bbox;let a=n.coordinates;if(o&&function(h,m){return m[0]<=h[0]&&m[1]<=h[1]&&m[2]>=h[0]&&m[3]>=h[1]}(i,o)===!1)return!1;r==="Polygon"&&(a=[a]);let c=!1;for(var u=0;u<a.length;++u){const h=kl(i,a[u]);if(h===0)return!t.ignoreBoundary;h&&(c=!0)}return c}function Vt(s,e,t={}){const i=mr(s),n=function(r){if(Array.isArray(r))return r;if(r.type==="Feature"){if(r.geometry!==null)return r.geometry.coordinates}else if(r.coordinates)return r.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(e);for(let r=0;r<n.length-1;r++){let o=!1;if(t.ignoreEndVertices&&(r===0&&(o="start"),r===n.length-2&&(o="end"),r===0&&r+1===n.length-1&&(o="both")),El(n[r],n[r+1],i,o,t.epsilon===void 0?null:t.epsilon))return!0}return!1}function El(s,e,t,i,n){const r=t[0],o=t[1],a=s[0],c=s[1],u=e[0],h=e[1],m=u-a,b=h-c,w=(t[0]-a)*b-(t[1]-c)*m;if(n!==null){if(Math.abs(w)>n)return!1}else if(w!==0)return!1;return i?i==="start"?Math.abs(m)>=Math.abs(b)?m>0?a<r&&r<=u:u<=r&&r<a:b>0?c<o&&o<=h:h<=o&&o<c:i==="end"?Math.abs(m)>=Math.abs(b)?m>0?a<=r&&r<u:u<r&&r<=a:b>0?c<=o&&o<h:h<o&&o<=c:i==="both"&&(Math.abs(m)>=Math.abs(b)?m>0?a<r&&r<u:u<r&&r<a:b>0?c<o&&o<h:h<o&&o<c):Math.abs(m)>=Math.abs(b)?m>0?a<=r&&r<=u:u<=r&&r<=a:b>0?c<=o&&o<=h:h<=o&&o<=c}function Cl(s,e){const t=_t(s),i=_t(e),n=t.type,r=i.type,o=t.coordinates,a=i.coordinates;switch(n){case"Point":if(r==="Point")return Js(o,a);throw new Error("feature2 "+r+" geometry not supported");case"MultiPoint":switch(r){case"Point":return function(c,u){let h,m=!1;for(h=0;h<c.coordinates.length;h++)if(Js(c.coordinates[h],u.coordinates)){m=!0;break}return m}(t,i);case"MultiPoint":return function(c,u){for(const h of u.coordinates){let m=!1;for(const b of c.coordinates)if(Js(h,b)){m=!0;break}if(!m)return!1}return!0}(t,i);default:throw new Error("feature2 "+r+" geometry not supported")}case"LineString":switch(r){case"Point":return Vt(i,t,{ignoreEndVertices:!0});case"LineString":return function(c,u){let h=!1;for(const m of u.coordinates)if(Vt({type:"Point",coordinates:m},c,{ignoreEndVertices:!0})&&(h=!0),!Vt({type:"Point",coordinates:m},c,{ignoreEndVertices:!1}))return!1;return h}(t,i);case"MultiPoint":return function(c,u){let h=!1;for(const m of u.coordinates)if(Vt(m,c,{ignoreEndVertices:!0})&&(h=!0),!Vt(m,c))return!1;return!!h}(t,i);default:throw new Error("feature2 "+r+" geometry not supported")}case"Polygon":switch(r){case"Point":return ut(i,t,{ignoreBoundary:!0});case"LineString":return function(c,u){let h=!1,m=0;if(!gr(Zt(c),Zt(u)))return!1;for(;m<u.coordinates.length-1;m++)if(ut({type:"Point",coordinates:(b=u.coordinates[m],w=u.coordinates[m+1],[(b[0]+w[0])/2,(b[1]+w[1])/2])},c,{ignoreBoundary:!0})){h=!0;break}var b,w;return h}(t,i);case"Polygon":return un(t,i);case"MultiPoint":return function(c,u){for(const h of u.coordinates)if(!ut(h,c,{ignoreBoundary:!0}))return!1;return!0}(t,i);default:throw new Error("feature2 "+r+" geometry not supported")}case"MultiPolygon":if(r==="Polygon")return function(c,u){return c.coordinates.some(h=>un({type:"Polygon",coordinates:h},u))}(t,i);throw new Error("feature2 "+r+" geometry not supported");default:throw new Error("feature1 "+n+" geometry not supported")}}function un(s,e){if(s.type==="Feature"&&s.geometry===null||e.type==="Feature"&&e.geometry===null||!gr(Zt(s),Zt(e)))return!1;const t=_t(e).coordinates;for(const i of t)for(const n of i)if(!ut(n,s))return!1;return!0}function gr(s,e){return!(s[0]>e[0]||s[2]<e[2]||s[1]>e[1]||s[3]<e[3])}function Js(s,e){return s[0]===e[0]&&s[1]===e[1]}class dn{constructor(e=[],t=Ml){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:i}=this,n=t[e];for(;e>0;){const r=e-1>>1,o=t[r];if(i(n,o)>=0)break;t[e]=o,e=r}t[e]=n}_down(e){const{data:t,compare:i}=this,n=this.length>>1,r=t[e];for(;e<n;){let o=1+(e<<1),a=t[o];const c=o+1;if(c<this.length&&i(t[c],a)<0&&(o=c,a=t[c]),i(a,r)>=0)break;t[e]=a,e=o}t[e]=r}}function Ml(s,e){return s<e?-1:s>e?1:0}function br(s,e){return s.p.x>e.p.x?1:s.p.x<e.p.x?-1:s.p.y!==e.p.y?s.p.y>e.p.y?1:-1:1}function Pl(s,e){return s.rightSweepEvent.p.x>e.rightSweepEvent.p.x?1:s.rightSweepEvent.p.x<e.rightSweepEvent.p.x?-1:s.rightSweepEvent.p.y!==e.rightSweepEvent.p.y?s.rightSweepEvent.p.y<e.rightSweepEvent.p.y?1:-1:1}class hn{constructor(e,t,i,n){this.p={x:e[0],y:e[1]},this.featureId=t,this.ringId=i,this.eventId=n,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(e){return this.p.x===e.p.x&&this.p.y===e.p.y}}let ei=0,ti=0,si=0;function pn(s,e){const t=s.type==="Feature"?s.geometry:s;let i=t.coordinates;t.type!=="Polygon"&&t.type!=="MultiLineString"||(i=[i]),t.type==="LineString"&&(i=[[i]]);for(let n=0;n<i.length;n++)for(let r=0;r<i[n].length;r++){let o=i[n][r][0],a=null;ti+=1;for(let c=0;c<i[n][r].length-1;c++){a=i[n][r][c+1];const u=new hn(o,ei,ti,si),h=new hn(a,ei,ti,si+1);u.otherEvent=h,h.otherEvent=u,br(u,h)>0?(h.isLeftEndpoint=!0,u.isLeftEndpoint=!1):(u.isLeftEndpoint=!0,h.isLeftEndpoint=!1),e.push(u),e.push(h),o=a,si+=1}}ei+=1}class Al{constructor(e){this.leftSweepEvent=e,this.rightSweepEvent=e.otherEvent}}function Ll(s,e){if(s===null||e===null||s.leftSweepEvent.ringId===e.leftSweepEvent.ringId&&(s.rightSweepEvent.isSamePoint(e.leftSweepEvent)||s.rightSweepEvent.isSamePoint(e.leftSweepEvent)||s.rightSweepEvent.isSamePoint(e.rightSweepEvent)||s.leftSweepEvent.isSamePoint(e.leftSweepEvent)||s.leftSweepEvent.isSamePoint(e.rightSweepEvent)))return!1;const t=s.leftSweepEvent.p.x,i=s.leftSweepEvent.p.y,n=s.rightSweepEvent.p.x,r=s.rightSweepEvent.p.y,o=e.leftSweepEvent.p.x,a=e.leftSweepEvent.p.y,c=e.rightSweepEvent.p.x,u=e.rightSweepEvent.p.y,h=(u-a)*(n-t)-(c-o)*(r-i);if(h===0)return!1;const m=((c-o)*(i-a)-(u-a)*(t-o))/h,b=((n-t)*(i-a)-(r-i)*(t-o))/h;return m>=0&&m<=1&&b>=0&&b<=1&&[t+m*(n-t),i+m*(r-i)]}var Tl=function(s,e){const t=new dn([],br);return function(i,n){if(i.type==="FeatureCollection"){const r=i.features;for(let o=0;o<r.length;o++)pn(r[o],n)}else pn(i,n)}(s,t),function(i,n){n=n||!1;const r=[],o=new dn([],Pl);for(;i.length;){const a=i.pop();if(a.isLeftEndpoint){const c=new Al(a);for(let u=0;u<o.data.length;u++){const h=o.data[u];if(n&&h.leftSweepEvent.featureId===a.featureId)continue;const m=Ll(c,h);m!==!1&&r.push(m)}o.push(c)}else a.isLeftEndpoint===!1&&o.pop()}return r}(t,e)};function pi(s,e,t={}){const{removeDuplicates:i=!0,ignoreSelfIntersections:n=!1}=t;let r=[];s.type==="FeatureCollection"?r=r.concat(s.features):s.type==="Feature"?r.push(s):s.type!=="LineString"&&s.type!=="Polygon"&&s.type!=="MultiLineString"&&s.type!=="MultiPolygon"||r.push(ht(s)),e.type==="FeatureCollection"?r=r.concat(e.features):e.type==="Feature"?r.push(e):e.type!=="LineString"&&e.type!=="Polygon"&&e.type!=="MultiLineString"&&e.type!=="MultiPolygon"||r.push(ht(e));const o=Tl(ks(r),n);let a=[];if(i){const c={};o.forEach(u=>{const h=u.join(",");c[h]||(c[h]=!0,a.push(u))})}else a=o;return ks(a.map(c=>function(u,h,m={}){if(!u)throw new Error("coordinates is required");if(!Array.isArray(u))throw new Error("coordinates must be an Array");if(u.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!rn(u[0])||!rn(u[1]))throw new Error("coordinates must contain numbers");return ht({type:"Point",coordinates:u},h,m)}(c)))}function fi(s,e={}){const t=_t(s);switch(e.properties||s.type!=="Feature"||(e.properties=s.properties),t.type){case"Polygon":return function(i,n={}){return fn(_t(i).coordinates,n.properties?n.properties:i.type==="Feature"?i.properties:{})}(t,e);case"MultiPolygon":return function(i,n={}){const r=_t(i).coordinates,o=n.properties?n.properties:i.type==="Feature"?i.properties:{},a=[];return r.forEach(c=>{a.push(fn(c,o))}),ks(a)}(t,e);default:throw new Error("invalid poly")}}function fn(s,e){return s.length>1?function(t,i,n={}){return ht({type:"MultiLineString",coordinates:t},i,n)}(s,e):function(t,i,n={}){if(t.length<2)throw new Error("coordinates must be an array of two or more positions");return ht({type:"LineString",coordinates:t},i,n)}(s[0],e)}function mn(s,e){for(let t=0;t<s.coordinates.length-1;t++)if(Bl(s.coordinates[t],s.coordinates[t+1],e.coordinates))return!0;return!1}function gn(s,e,t){for(const i of e.coordinates)if(ut(i,s))return!0;return pi(e,fi(s),{ignoreSelfIntersections:t}).features.length>0}function Bl(s,e,t){const i=t[0]-s[0],n=t[1]-s[1],r=e[0]-s[0],o=e[1]-s[1];return i*o-n*r==0&&(Math.abs(r)>=Math.abs(o)?r>0?s[0]<=t[0]&&t[0]<=e[0]:e[0]<=t[0]&&t[0]<=s[0]:o>0?s[1]<=t[1]&&t[1]<=e[1]:e[1]<=t[1]&&t[1]<=s[1])}function Rl(s,e,t={}){var i;const n=(i=t.ignoreSelfIntersections)!=null&&i;let r=!1;return rs(s,o=>{rs(e,a=>{if(r===!0)return!0;r=!function(c,u,h={}){var m;const b=(m=h.ignoreSelfIntersections)!=null&&m;let w=!0;return rs(c,_=>{rs(u,T=>{if(w===!1)return!1;w=function(O,M,B){switch(O.type){case"Point":switch(M.type){case"Point":return I=O.coordinates,j=M.coordinates,!(I[0]===j[0]&&I[1]===j[1]);case"LineString":return!mn(M,O);case"Polygon":return!ut(O,M)}break;case"LineString":switch(M.type){case"Point":return!mn(O,M);case"LineString":return!function(K,se,H){return pi(K,se,{ignoreSelfIntersections:H}).features.length>0}(O,M,B);case"Polygon":return!gn(M,O,B)}break;case"Polygon":switch(M.type){case"Point":return!ut(M,O);case"LineString":return!gn(O,M,B);case"Polygon":return!function(K,se,H){for(const te of K.coordinates[0])if(ut(te,se))return!0;for(const te of se.coordinates[0])if(ut(te,K))return!0;return pi(fi(K),fi(se),{ignoreSelfIntersections:H}).features.length>0}(M,O,B)}}var I,j;return!1}(_.geometry,T.geometry,b)})}),w}(o.geometry,a.geometry,{ignoreSelfIntersections:n})})}),r}const Il=(s,e)=>{const{origWidth:t,origHeight:i}=e,n=s.points.map(([r,o])=>[r*t/100,o*i/100]);return n.length>0&&!Ol(n[0],n[n.length-1])&&n.push(n[0]),{...s,points:n}},Ol=(s,e)=>s[0]===e[0]&&s[1]===e[1],Vl=s=>{const{origWidth:e,origHeight:t,inputWidth:i,inputHeight:n}=s;let[r,o,a,c]=s.boundingBox;return r=r*e/i,o=o*t/n,a=a*e/i,c=c*t/n,r=Math.max(0,Math.min(r,e)),o=Math.max(0,Math.min(o,t)),a=Math.max(0,Math.min(a,e)),c=Math.max(0,Math.min(c,t)),{...s,boundingBox:[r,o,a,c]}},bn=(s,e,t)=>{const i=[];for(const n of s)Dl(Vl(n),e,t)&&e.some(r=>!r.classes.length||r.classes.includes(n.label))&&i.push(n);return i},Dl=(s,e,t)=>{if(s.confidence<t.object.confidence)return!1;if(e.length===0)return!0;const[i,n,r,o]=s.boundingBox,a=pr([i,n,r,o]);for(const c of e){const u=Il(c,s),h=Pi([u.points]);if(u.classes.length>0&&!u.classes.includes(s.label))continue;const m=Rl(a,h),b=Cl(h,a);if(u.isPrivacyMask){if(m||b)return!1}else if(u.filter==="include"){if(u.type==="contain"){if(b)return!0}else if(u.type==="intersect"&&(m||b))return!0}else if(u.filter==="exclude"){if(u.type==="contain"){if(!b)return!0}else if(u.type==="intersect"&&!m&&!b)return!0}}return!1};class jl extends il{constructor(t,i){super();R(this,"logger");R(this,"snapshotCache");R(this,"cameraSubject");R(this,"cameraState",new lt(!1));R(this,"lightState",new lt(this.getLightState({state:!1},!0)));R(this,"motionState",new lt(this.getMotionState({detections:[],state:!1},!0)));R(this,"audioState",new lt(this.getAudioState({state:!1,db:0},!0)));R(this,"objectState",new lt(this.getObjectState({detections:[]},!0)));R(this,"doorbellState",new lt(this.getDoorbellState({state:!1},!0)));R(this,"sirenState",new lt(this.getSirenState({state:!1,level:0},!0)));R(this,"batteryState",new lt(this.getBatteryState({level:100,charging:!1,lowBattery:!1},!0)));R(this,"onConnected",this.createStateObservable(this.cameraState));R(this,"onLightSwitched",this.createStateObservable(this.lightState));R(this,"onMotionDetected",this.createStateObservable(this.motionState));R(this,"onAudioDetected",this.createStateObservable(this.audioState));R(this,"onObjectDetected",this.createStateObservable(this.objectState));R(this,"onDoorbellPressed",this.createStateObservable(this.doorbellState));R(this,"onSirenDetected",this.createStateObservable(this.sirenState));R(this,"onBatteryChanged",this.createStateObservable(this.batteryState));this.logger=i,this.cameraSubject=new lt(t),this.updateCamera(t),this.snapshotCache=new(rl())({max:100,ttl:1e3*this.snapshotTTL}),t.pluginId==="native"&&this.cameraState.next(!0)}get cameraObject(){return We(this.cameraSubject.getValue())}get id(){return this.cameraSubject.getValue()._id}get nativeId(){return this.cameraSubject.getValue().nativeId}get pluginId(){return this.cameraSubject.getValue().pluginId}get connected(){return this.cameraState.getValue()}get disabled(){return this.cameraSubject.getValue().disabled}get name(){return this.cameraSubject.getValue().name}get type(){return this.cameraSubject.getValue().type}get info(){return We(this.cameraSubject.getValue().info)}get isCloud(){return this.cameraSubject.getValue().isCloud}get hasLight(){return this.cameraSubject.getValue().hasLight}get hasSiren(){return this.cameraSubject.getValue().hasSiren}get hasBinarySensor(){return this.cameraSubject.getValue().hasBinarySensor}get hasBattery(){return this.cameraSubject.getValue().hasBattery}get hasMotionDetector(){return this.cameraSubject.getValue().hasMotionDetector}get extendedMotionDetector(){return this.cameraSubject.getValue().extendedMotionDetector}get hasAudioDetector(){return this.cameraSubject.getValue().hasAudioDetector}get hasObjectDetector(){return this.cameraSubject.getValue().hasObjectDetector}get hasPtz(){return this.cameraSubject.getValue().hasPtz}get hasPrebuffer(){return this.cameraSubject.getValue().hasPrebuffer}get snapshotTTL(){return this.cameraSubject.getValue().snapshotTTL}get activityZones(){return We(this.cameraSubject.getValue().activityZones)}get activitySettings(){return We(this.cameraSubject.getValue().activitySettings)}get frameWorkerSettings(){return We(this.cameraSubject.getValue().frameWorkerSettings)}get streamSource(){return this.highResolutionSource||this.midResolutionSource||this.lowResolutionSource}get snapshotSource(){return this.sources.find(t=>t.roles.includes("snapshot")&&!t.internal)}get highResolutionSource(){return this.sources.find(t=>t.roles.includes("high-resolution")&&!t.internal)}get midResolutionSource(){return this.sources.find(t=>t.roles.includes("mid-resolution")&&!t.internal)}get lowResolutionSource(){return this.sources.find(t=>t.roles.includes("low-resolution")&&!t.internal)}get ptz(){return this.ptzDelegate}getValue(t){switch(t){case"light":return We(this.lightState.getValue());case"motion":return We(this.motionState.getValue());case"audio":return We(this.audioState.getValue());case"object":return We(this.objectState.getValue());case"doorbell":return We(this.doorbellState.getValue());case"siren":return We(this.sirenState.getValue());case"battery":return We(this.batteryState.getValue());default:throw new Error(`Unknown state: ${t}`)}}async snapshot(t){this.snapshotCache.purgeStale();const i=this.snapshotSource||this.streamSource,n=i.urls.www.jpegSnapshot,r=this.snapshotCache.get(i._id);if(!t&&r)return r;try{if(this.cameraObject.pluginId!=="native"){const h=await this.cameraDelegate.snapshot();if(h&&h.byteLength>0)return this.snapshotCache.set(i._id,h),h}const o=new AbortController,a=setTimeout(()=>o.abort(),5e3),c=await fetch(n,{signal:o.signal});if(clearTimeout(a),!c.ok)throw new Error("Status Code: "+c.status);const u=await c.arrayBuffer();return u.byteLength>0&&this.snapshotCache.set(i._id,u),u}catch{return}}onStateChange(t){return this[`${t}State`].pipe(tn(),sn(([i,n])=>typeof i=="boolean"||typeof n=="boolean"?i!==n:this.stateChanged(i,n,t)),cr(([i,n])=>({oldState:i,newState:n})),Ks({connector:()=>new Gs(1)}))}onPropertyChange(t){return this.cameraSubject.pipe(tn(),ur(([i,n])=>(Array.isArray(t)?t:[t]).map(r=>({property:r,oldData:i[r],newData:n[r]}))),sn(({oldData:i,newData:n})=>!At(i,n,!0)),Ks({connector:()=>new Gs(1)}))}removeAllListeners(){this.lightState.complete(),this.motionState.complete(),this.audioState.complete(),this.objectState.complete(),this.doorbellState.complete(),this.sirenState.complete(),this.batteryState.complete(),this.cameraSubject.complete(),this.cameraState.complete()}updateCamera(t){t.snapshotTTL!==this.snapshotTTL&&this.snapshotCache.clear(),this.cameraSubject.next(t)}updateCameraState(t){this.cameraState.next(t)}updateStateInternal(t,i,n,r){let o,a=!1;if(n)a=!0,o=i;else{const c=this.checkStateInternal(t,i,r);a=c.changed,o=c.event}if(a)switch(t){case"light":this.lightState.next(this.getLightState(o));break;case"motion":this.motionState.next(this.getMotionState(o));break;case"audio":this.audioState.next(this.getAudioState(o));break;case"object":this.objectState.next(this.getObjectState(o));break;case"doorbell":this.doorbellState.next(this.getDoorbellState(o));break;case"siren":this.sirenState.next(this.getSirenState(o));break;case"battery":this.batteryState.next(this.getBatteryState(o));break;default:throw new Error(`Unknown state: ${t}`)}}checkStateInternal(t,i,n){let r,o=!1;switch(t){case"audio":const a=i;r=this.getAudioState(a),o=this.stateChanged(this.getValue("audio"),r,"audio");break;case"light":const c=i;r=this.getLightState(c),o=this.stateChanged(this.getValue("light"),r,"light");break;case"motion":const u=i;u.state!==void 0&&(u.detections=[]),n||(u.detections=cn(u.detections),u.detections=bn(u.detections,this.activityZones,this.activitySettings)),r=this.getMotionState(u),o=this.stateChanged(this.getValue("motion"),r,"motion");break;case"object":const h=i;n||(h.detections=cn(h.detections),h.detections=bn(h.detections,this.activityZones,this.activitySettings)),r=this.getObjectState(h),o=this.stateChanged(this.getValue("object"),r,"object");break;case"doorbell":const m=i;r=this.getDoorbellState(m),o=this.stateChanged(this.getValue("doorbell"),r,"doorbell");break;case"siren":const b=i;r=this.getSirenState(b),o=this.stateChanged(this.getValue("siren"),r,"siren");break;case"battery":const w=i;r=this.getBatteryState(w),o=this.stateChanged(this.getValue("battery"),r,"battery");break;default:throw new Error(`Unknown state: ${t}`)}return{changed:o,event:r}}stateChanged(t,i,n){if(!t||!i||!n)return!1;if(n=="audio"){if(!this.hasAudioDetector)return!1;const r=t,o=i;return r.state!==o.state||r.db!==o.db}if(n=="motion"){if(!this.hasMotionDetector)return!1;const r=t,o=i;return o.state!==void 0?r.state!==o.state:!At(r.detections,o.detections,!0)}if(n=="object"){if(!this.hasObjectDetector)return!1;const r=i;return!At(t.detections,r.detections,!0)}if(n=="siren"){if(!this.hasSiren)return!1;const r=t,o=i;return r.state!==o.state||r.level!==o.level}if(n=="battery"){if(!this.hasBattery)return!1;const r=t,o=i;return r.level!==o.level||r.lowBattery!==o.lowBattery||r.charging!==o.charging}if(n=="doorbell"){if(!this.hasBinarySensor)return!1;const r=i;return t.state!==r.state}if(n=="light"){if(!this.hasLight)return!1;const r=i;return t.state!==r.state}return!1}getAudioState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("audio");a.state?n=a:(o=a.lastEvent)!=null&&o.state&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,db:a.db||(n==null?void 0:n.db)||0,lastEvent:n||(a.state?a:void 0)}}return r}getMotionState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("motion");a.detections.length?n=a:(o=a.lastEvent)!=null&&o.detections.length&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,lastEvent:n||(a.detections.length?a:void 0)}}return r}getObjectState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("object");a.detections.length?n=a:(o=a.lastEvent)!=null&&o.detections.length&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,lastEvent:n||(a.detections.length?a:void 0)}}return r}getDoorbellState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("doorbell");a.state?n=a:(o=a.lastEvent)!=null&&o.state&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,lastEvent:n||(a.state?a:void 0)}}return r}getLightState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("light");a.state?n=a:(o=a.lastEvent)!=null&&o.state&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,lastEvent:n||(a.state?a:void 0)}}return r}getSirenState(t,i=!1){var o;let n,r;if(!i){const a=this.getValue("siren");a.state?n=a:(o=a.lastEvent)!=null&&o.state&&(n=a.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const a={...t,timestamp:Date.now()};r={...a,level:a.level||(n==null?void 0:n.level)||0,lastEvent:n||(a.state?a:void 0)}}return r}getBatteryState(t,i=!1){let n,r;if(!i){const o=this.getValue("battery");this.stateChanged(o,t,"battery")?n=o:o.lastEvent&&this.stateChanged(o.lastEvent,t,"battery")&&(n=o.lastEvent),n&&delete n.lastEvent}if(this.isStateEvent(t))r=t;else{const o={...t,timestamp:Date.now()};r={...o,charging:t.charging||(n==null?void 0:n.charging)||!1,lowBattery:t.lowBattery||(n==null?void 0:n.lowBattery)||!1,lastEvent:n||o}}return r}isStateEvent(t){return"timestamp"in t}createStateObservable(t){return t.pipe(Ks({connector:()=>new Gs(1)}))}}class Nl{constructor(e){R(this,"delegate");R(this,"onRequest");this.onRequest=e}async snapshot(){return this.delegate?this.delegate.snapshot():this._onRequest("snapshot",[],5e3)}_onRequest(e,t,i){return this.onRequest("cameraDelegate",e,t,i)}}class $l{constructor(e){R(this,"delegate");R(this,"onRequest");this.onRequest=e}async getPrebufferingState(e,t){return this.delegate?this.delegate.getPrebufferingState(e,t):this._onRequest("prebufferDelegate","getPrebufferingState",[e,t])}_onRequest(e,t,i,n){return this.onRequest(e,t,i,n)}}class zl{constructor(e){R(this,"delegate");R(this,"onRequest");this.onRequest=e}async moveAbsolute(e,t,i){return this.delegate?this.delegate.moveAbsolute(e,t,i):this._onRequest("moveAbsolute",[e,t,i])}async moveRelative(e,t,i){return this.delegate?this.delegate.moveRelative(e,t,i):this._onRequest("moveRelative",[e,t,i])}async moveContinuous(e,t,i){return this.delegate?this.delegate.moveContinuous(e,t,i):this._onRequest("moveContinuous",[e,t,i])}async stop(){return this.delegate?this.delegate.stop():this._onRequest("stop",[])}_onRequest(e,t,i){return this.onRequest("ptzDelegate",e,t,i)}}const Rs=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){const e=16*Math.random()|0;return(s==="x"?e:3&e|8).toString(16)});class Ul extends EventTarget{constructor(t,i,n,r){super();R(this,"cameraDevice");R(this,"socketService");R(this,"logger");R(this,"options");R(this,"videoPlayer");R(this,"socket");R(this,"streamId");R(this,"hasBackchannel",!1);R(this,"hasAudio",!0);R(this,"closed",!1);R(this,"micTransceiver",null);R(this,"pc",null);R(this,"buf",new Uint8Array(2097152));R(this,"mediaSource",null);R(this,"sourceBuffer",null);R(this,"bufLen",0);R(this,"mseCodecs","");R(this,"videoPlayerMp4");R(this,"media",["video","audio","microphone"]);R(this,"codecList",[]);R(this,"reconnectTimeout");R(this,"_finishLoading",!1);R(this,"_firstFrameReceived",!1);R(this,"animationFrameId");R(this,"webrtcReconnectTimeout");this.options=r,this.videoPlayer=r.videoElement,this.cameraDevice=t,this.socketService=i,this.logger=n;const{socket:o}=this.socketService.getSocket(`${t.id}-go2rtcSession`,!0);this.socket=o,this.socket.connect(),this.streamId=Rs(),this.createCodecsList()}get mode(){return this.options.mode}connect(t){t&&(this.options.mode=t),console.log(this.cameraDevice.name,`Connecting... (${this.options.mode})`),this.socket.on("ws-open",this.onWsOpen.bind(this)),this.socket.on("ws-close",this.onWsClose.bind(this)),this.socket.on("ws-message",this.onWsMessage.bind(this)),this.socket.emit("ws-open",{id:this.streamId,cameraSource:this.options.sourceName,mode:this.options.mode})}disconnect(){console.log(this.cameraDevice.name,"Disconnecting..."),this.socket.removeListener("ws-open",this.onWsOpen.bind(this)),this.socket.removeListener("ws-close",this.onWsClose.bind(this)),this.socket.removeListener("ws-message",this.onWsMessage.bind(this)),this.socket.emit("ws-close",{id:this.streamId})}async reconnect(t){console.log(this.cameraDevice.name,"Reconnecting..."),this.dispatchEvent(new Event("reconnect")),this.close(),await new Promise(i=>setTimeout(i,100)),this.connect(t)}reset(){var t,i,n;this._finishLoading=!1,this._firstFrameReceived=!1,(t=this.pc)==null||t.getTransceivers().forEach(r=>{var o,a;return(a=(o=r.sender)==null?void 0:o.track)==null?void 0:a.stop()}),(i=this.pc)==null||i.close(),this.pc=null,(n=this.videoPlayerMp4)==null||n.remove(),this.videoPlayerMp4=void 0,this.videoPlayer.srcObject=null,this.videoPlayer.src="",this.videoPlayer.poster="",this.animationFrameId!==void 0&&("cancelVideoFrameCallback"in this.videoPlayer?this.videoPlayer.cancelVideoFrameCallback(this.animationFrameId):cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}close(){console.log(this.cameraDevice.name,"Closing..."),this.closed=!0,this.reset(),this.disconnect(),this.socket.emit("end"),this.socket.removeAllListeners()}onWsOpen({id:t}){if(t===this.streamId)switch(console.log(this.cameraDevice.name,"Connected"),this.options.mode){case"webrtc":case"webrtc/tcp":console.log(this.cameraDevice.name,"Requesting WebRTC session..."),this.requestWebrtc();break;case"mse":console.log(this.cameraDevice.name,"Requesting MSE session..."),this.requestMse();break;case"hls":console.log(this.cameraDevice.name,"Requesting HLS session..."),this.requestHls();break;case"mp4":console.log(this.cameraDevice.name,"Requesting MP4 session..."),this.requestMp4();break;case"mjpeg":console.log(this.cameraDevice.name,"Requesting MJPEG session..."),this.requestMjpeg();break;default:console.log(this.cameraDevice.name,"Unknown mode:",this.options.mode),this.dispatchEvent(new ErrorEvent("error",{message:"Unknown mode: "+this.options.mode}))}}onWsClose({id:t}){t===this.streamId&&(this.closed||this.options.reconnectInterval===void 0||(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=setTimeout(()=>{this.reconnect()},this.options.reconnectInterval)))}onWsMessage({id:t,data:i}){if(t===this.streamId&&i.type){switch(i.type){case"mse":this.onMseData(i);break;case"hls":this.onHlsData(i);break;case"webrtc/candidate":case"webrtc/answer":this.onWebrtcData(i);break;case"mse-binary":this.onMseBuffer(i);break;case"mjpeg-binary":this.onMjpegBuffer(i);break;case"mp4-binary":this.onMp4Buffer(i);break;case"stream-info":this.onStreamInfo(i);break;case"error":this.dispatchEvent(new ErrorEvent("error",{error:i,message:i.value}))}!this._firstFrameReceived&&["mse-binary","mjpeg-binary","mp4-binary"].includes(i.type)&&this.onFirstFrame()}}async requestWebrtc(){this.reset(),this.pc=new RTCPeerConnection({bundlePolicy:"max-bundle",iceServers:[{urls:"stun:stun.l.google.com:19302"}],sdpSemantics:"unified-plan"}),this.pc.onicecandidate=i=>{var r,o;if(console.log(this.cameraDevice.name,"onicecandidate",i.candidate),this.options.mode==="webrtc/tcp"&&((r=i.candidate)==null?void 0:r.protocol)==="udp")return;const n=((o=i.candidate)==null?void 0:o.toJSON().candidate)||"";this.socket.emit("stream-payload",{id:this.streamId,data:{type:"webrtc/candidate",value:n}})},this.pc.onconnectionstatechange=()=>{var i,n,r,o,a;if(console.log(this.cameraDevice.name,"onconnectionstatechange:",(i=this.pc)==null?void 0:i.connectionState),((n=this.pc)==null?void 0:n.connectionState)==="connected"){const c=(r=this.pc)==null?void 0:r.getTransceivers().filter(u=>u.currentDirection==="recvonly").map(u=>u.receiver.track);this.videoPlayer.srcObject=new MediaStream(c),this.onFinishLoading(),this.play(),this.disconnect()}else((o=this.pc)==null?void 0:o.connectionState)!=="failed"&&((a=this.pc)==null?void 0:a.connectionState)!=="disconnected"||(clearTimeout(this.webrtcReconnectTimeout),this.webrtcReconnectTimeout=setTimeout(()=>{var c,u;((c=this.pc)==null?void 0:c.connectionState)!=="failed"&&((u=this.pc)==null?void 0:u.connectionState)!=="disconnected"||this.reconnect()},1e3))},this.pc.oniceconnectionstatechange=()=>{var i;console.log(this.cameraDevice.name,"iceconnectionstatechange",(i=this.pc)==null?void 0:i.iceConnectionState)},this.pc.onicecandidateerror=i=>{console.log(this.cameraDevice.name,"onicecandidateerror",i)},this.pc.onsignalingstatechange=()=>{var i;console.log(this.cameraDevice.name,"onsignalingstatechange",(i=this.pc)==null?void 0:i.signalingState)},this.pc.onicegatheringstatechange=()=>{var i;console.log(this.cameraDevice.name,"onicegatheringstatechange",(i=this.pc)==null?void 0:i.iceGatheringState)},this.pc.onnegotiationneeded=i=>{console.log(this.cameraDevice.name,"onnegotiationneeded",i)},this.pc.addTransceiver("video",{direction:"recvonly"}),this.pc.addTransceiver("audio",{direction:"recvonly"}),this.micTransceiver=this.pc.addTransceiver("audio",{direction:"sendonly"});const t=await this.pc.createOffer();await this.pc.setLocalDescription(t),console.log(this.cameraDevice.name,"Offer:",t.sdp),this.socket.emit("stream-payload",{id:this.streamId,data:{type:"webrtc/offer",value:t.sdp}})}async onWebrtcData(t){var i,n,r,o;try{switch(t.type){case"webrtc/candidate":if(console.log(this.cameraDevice.name,"remote candidate:",t.value),this.options.mode==="webrtc/tcp"&&t.value.indexOf(" udp ")>0)return;await((i=this.pc)==null?void 0:i.addIceCandidate({candidate:t.value,sdpMid:"0"}));break;case"webrtc/answer":if(console.log(this.cameraDevice.name,"Answer:",t.value),await((n=this.pc)==null?void 0:n.setRemoteDescription({type:"answer",sdp:t.value})),!this._firstFrameReceived&&this.pc){const a=(r=this.pc.getReceivers().find(c=>c.track.kind==="video"))==null?void 0:r.track;if(a)if("requestVideoFrameCallback"in a)this.animationFrameId=a.requestVideoFrameCallback(()=>{this.onFirstFrame()});else{const c=()=>{this.videoPlayer.readyState>=2&&this.videoPlayer.videoWidth>0?this.onFirstFrame():this.animationFrameId=requestAnimationFrame(c)};this.animationFrameId=requestAnimationFrame(c)}}break;case"error":if(console.log(this.cameraDevice.name,"WebRTC Error:",t.value),t.value.indexOf("webrtc/offer")<0)return;(o=this.pc)==null||o.close()}}catch(a){this.dispatchEvent(new ErrorEvent("error",{error:a,message:a.message}))}}requestMse(){if(this.reset(),"ManagedMediaSource"in window){console.log(this.cameraDevice.name,"Using ManagedMediaSource");const t=window.ManagedMediaSource;this.mediaSource=new t,this.mediaSource.addEventListener("sourceopen",()=>{this.socket.emit("stream-payload",{id:this.streamId,data:{type:"mse",value:this.parseCodecs(t.isTypeSupported)}})},{once:!0}),this.videoPlayer.disableRemotePlayback=!0,this.videoPlayer.srcObject=this.mediaSource}else console.log(this.cameraDevice.name,"Using MediaSource"),this.mediaSource=new MediaSource,this.mediaSource.addEventListener("sourceopen",()=>{URL.revokeObjectURL(this.videoPlayer.src),this.socket.emit("stream-payload",{id:this.streamId,data:{type:"mse",value:this.parseCodecs(MediaSource.isTypeSupported)}})},{once:!0}),this.videoPlayer.src=URL.createObjectURL(this.mediaSource),this.videoPlayer.srcObject=null;this.play(),this.mseCodecs=""}onMseData(t){this.mediaSource&&(this.mseCodecs=t.value,this.bufLen=0,this.buf=new Uint8Array(2097152),this.sourceBuffer=this.mediaSource.addSourceBuffer(t.value),this.sourceBuffer.mode="segments",this.sourceBuffer.addEventListener("updateend",()=>{var i,n,r,o,a;if(!((i=this.sourceBuffer)!=null&&i.updating))try{if(this.bufLen>0){const c=this.buf.slice(0,this.bufLen);this.bufLen=0,(n=this.sourceBuffer)==null||n.appendBuffer(c)}else if((o=(r=this.sourceBuffer)==null?void 0:r.buffered)!=null&&o.length){const c=this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1)-15,u=this.sourceBuffer.buffered.start(0);c>u&&(this.sourceBuffer.remove(u,c),(a=this.mediaSource)==null||a.setLiveSeekableRange(c,c+15))}}catch{}}))}async onMseBuffer(t){var i,n,r;if(((i=this.mediaSource)==null?void 0:i.readyState)!=="closed")if(this.onFinishLoading(),((n=this.sourceBuffer)==null?void 0:n.updating)||this.bufLen>0){const o=new Uint8Array(t.value);this.buf.set(o,this.bufLen),this.bufLen+=o.byteLength}else try{(r=this.sourceBuffer)==null||r.appendBuffer(t.value)}catch{}else this.closed||(this.closed=!0,this.dispatchEvent(new ErrorEvent("error",{message:"MediaSource closed"})),this.options.mode="webrtc",this.requestWebrtc())}requestMjpeg(){this.reset(),this.socket.emit("stream-payload",{id:this.streamId,data:{type:"mjpeg"}})}onMjpegBuffer(t){this.videoPlayer.controls=!1,this.videoPlayer.poster="data:image/jpeg;base64,"+this.btoaBinary(t.value),this.onFinishLoading()}requestMp4(){this.reset();const t=document.createElement("canvas");let i=null;this.videoPlayerMp4=document.createElement("video"),this.videoPlayerMp4.autoplay=!0,this.videoPlayerMp4.playsInline=!0,this.videoPlayerMp4.muted=!0,this.videoPlayerMp4.addEventListener("loadeddata",()=>{this.videoPlayerMp4&&(i||(t.width=this.videoPlayerMp4.videoWidth,t.height=this.videoPlayerMp4.videoHeight,i=t.getContext("2d")),i==null||i.drawImage(this.videoPlayerMp4,0,0,t.width,t.height),this.videoPlayer.controls=!1,this.videoPlayer.poster=t.toDataURL("image/jpeg"))});const n=this.codecList.filter(r=>this.media.includes(r.indexOf("vc1")>0?"video":"audio")).filter(r=>this.videoPlayer.canPlayType(`video/mp4; codecs="${r}"`)).join();console.log(this.cameraDevice.name,"Playable codecs (MP4):",n),this.socket.emit("stream-payload",{id:this.streamId,data:{type:"mp4",value:n}})}onMp4Buffer(t){this.onFinishLoading(),this.videoPlayerMp4&&(this.videoPlayerMp4.src="data:video/mp4;base64,"+this.btoaBinary(t.value))}requestHls(){this.reset();const t=this.parseCodecs(i=>this.videoPlayer.canPlayType(i));console.log(this.cameraDevice.name,"Playable codecs (HLS):",t),this.socket.emit("stream-payload",{id:this.streamId,data:{type:"hls",value:t}})}onHlsData(t){const i="http"+t.wsURL.substring(2,t.wsURL.indexOf("/ws"))+"/hls/",n=t.value.replace("hls/",i),r="data:application/vnd.apple.mpegurl;base64,"+btoa(n.toString());this.videoPlayer.src=r,this.onFinishLoading(),this.play()}onStreamInfo(t){var r,o;const i=t.value,n=i==null?void 0:i.producers[0];n&&(this.hasBackchannel=((r=n.senders)==null?void 0:r.some(a=>a.codec.codec_type==="audio"))||!1,this.hasAudio=((o=n.receivers)==null?void 0:o.some(a=>a.codec.codec_type==="audio"))||!1)}async play(){try{await this.videoPlayer.play()}catch(t){if(!this.videoPlayer.muted)return this.videoPlayer.muted=!0,this.play();this.logger.warn(this.cameraDevice.name,t)}}onFirstFrame(){this._firstFrameReceived||(this._firstFrameReceived=!0,this.dispatchEvent(new Event("onFirstFrame")),console.log(this.cameraDevice.name,"First frame received"))}onFinishLoading(){this._finishLoading||(this._finishLoading=!0,this.dispatchEvent(new Event("onFinishLoading")))}createCodecsList(){const t=["avc1.640029","avc1.64002A","avc1.640033","hvc1.1.6.L153.B0","mp4a.40.2","mp4a.40.5","flac","opus"],i=typeof window>"u"?null:navigator.userAgent.match(/Version\/(\d+).+Safari/);if(i!=null&&i[1]){const n=i[1]<"13"?"mp4a.40.2":i[1]<"14"?"flac":"opus";t.splice(t.indexOf(n))}this.codecList=t}parseCodecs(t){return this.codecList.filter(i=>this.media.includes(i.indexOf("vc1")>0?"video":"audio")).filter(i=>t(`video/mp4; codecs="${i}"`)).join()}btoaBinary(t){const i=new Uint8Array(t),n=i.byteLength;let r="";for(let o=0;o<n;o++)r+=String.fromCharCode(i[o]);return window.btoa(r)}}class vn extends jl{constructor(t,i,n){super(t,n);R(this,"socketService");R(this,"socket");R(this,"pluginName","@camera.ui/client");R(this,"subject");R(this,"_started",!1);R(this,"cameraDelegate",new Nl(this.onRequest.bind(this)));R(this,"ptzDelegate",new zl(this.onRequest.bind(this)));R(this,"prebufferDelegate",new $l(this.onRequest.bind(this)));this.socketService=i;const{socket:r}=this.socketService.getSocket(this.id,!0);this.socket=r,this.socket.connect(),this.subject=`${this.pluginName}.camera.${this.id}`,this.listenToMessages()}get started(){return this._started}get sources(){return this._sources.filter(t=>!t.internal)}get internalSources(){return this._sources.map(t=>({...t,type:t.name.endsWith(" AAC")?"aac":t.name.endsWith(" OPUS")?"opus":"pcma"})).filter(t=>t.internal)}get _sources(){return JSON.parse(JSON.stringify(this.cameraSubject.getValue().sources)).map(t=>({...t,getPrebufferingState:i=>this.prebufferDelegate.getPrebufferingState(t.name,i),probeStream:(i=!1)=>this.onRequest("cameraFn","probeStream",[t._id,i])}))}async start(){this._started||(this._started=!0,await this.refreshStates(),this.socket.emit("joinRoomStates",this.id))}stop(){this._started=!1,this.socket.emit("leaveRoomStates",this.id)}close(){this.cleanup()}connect(){return this.onRequest("cameraFn","connect")}disconnect(){return this.onRequest("cameraFn","disconnect")}createSession(t){return new Ul(this,this.socketService,this.logger,t)}async refreshStates(){const t=await this.onRequest("cameraFn","refreshStates");super.updateCamera(t.camera),super.updateCameraState(t.cameraState);for(const[i,n]of Object.entries(t.states))super.updateStateInternal(i,n,!0)}async cleanup(){this.stop(),this.removeAllListeners(),this.unsubscribe(),this.socket.removeAllListeners()}listenToMessages(){this.socket.emit("joinRoomDevice",this.id),this.socket.on("updateState",t=>{t.cameraId===this.id&&super.updateStateInternal(t.stateName,t.data.newEvent,!0)}),this.socket.on("updateDevice",t=>{if(t.cameraId===this.id)switch(t.type){case"removed":this.cleanup();break;case"updated":super.updateCamera(t.data);break;case"cameraState":super.updateCameraState(t.data)}})}onRequest(t,i,n=[]){const r={requestId:Rs(),targetId:this.subject,targetName:this.name,pluginId:this.pluginName,cameraId:this.id,type:"request",proxy:"camera",client:t,fn:i,args:n,timestamp:Date.now(),timeout:5e3};return new Promise((o,a)=>{this.socket.emit("request",r,c=>{c.error?a(c.error):o(c.response)})})}}class ql{constructor(e,t){R(this,"socketService");R(this,"socket");R(this,"logger");R(this,"pluginName","@camera.ui/client");R(this,"subject");this.socketService=e,this.socket=e.socket,this.logger=t,this.subject=`${this.pluginName}.coreManager`}async getFFmpegPath(){return this.onRequest("getFFmpegPath")}async getHwaccelInfo(e){return this.onRequest("getHwaccelInfo",[e])}async getServerAddresses(){return this.onRequest("getServerAddresses")}async getIceServers(){return this.onRequest("getIceServers")}onRequest(e,t){const i={requestId:Rs(),targetId:this.subject,targetName:this.pluginName,pluginId:this.pluginName,type:"request",proxy:"core",client:"coreFn",fn:e,args:t||[],timestamp:Date.now(),timeout:5e3};return new Promise((n,r)=>{this.socket.emit("request",i,o=>{o.error?r(o.error):n(o.response)})})}}class Hl{constructor(e,t){R(this,"socketService");R(this,"socket");R(this,"logger");R(this,"pluginName","@camera.ui/client");R(this,"subject");this.socketService=e,this.socket=e.socket,this.logger=t,this.subject=`${this.pluginName}.deviceManager`}async getCameraById(e){const t=await this.onRequest("getCameraById",[e]);if(t){const i=new vn(t,this.socketService,this.logger);return await i.refreshStates(),i}}async getCameraByName(e){const t=await this.onRequest("getCameraByName",[e]);if(t){const i=new vn(t,this.socketService,this.logger);return await i.refreshStates(),i}}onRequest(e,t){const i={requestId:Rs(),targetId:this.subject,targetName:this.pluginName,pluginId:this.pluginName,type:"request",proxy:"device",client:"deviceFn",fn:e,args:t||[],timestamp:Date.now(),timeout:5e3};return new Promise((n,r)=>{this.socket.emit("request",i,o=>{o.error?r(o.error):n(o.response)})})}}const rt=Object.create(null);rt.open="0",rt.close="1",rt.ping="2",rt.pong="3",rt.message="4",rt.upgrade="5",rt.noop="6";const hs=Object.create(null);Object.keys(rt).forEach(s=>{hs[rt[s]]=s});const mi={type:"error",data:"parser error"},vr=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",_r=typeof ArrayBuffer=="function",yr=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s&&s.buffer instanceof ArrayBuffer,Ai=({type:s,data:e},t,i)=>vr&&e instanceof Blob?t?i(e):_n(e,i):_r&&(e instanceof ArrayBuffer||yr(e))?t?i(e):_n(new Blob([e]),i):i(rt[s]+(e||"")),_n=(s,e)=>{const t=new FileReader;return t.onload=function(){const i=t.result.split(",")[1];e("b"+(i||""))},t.readAsDataURL(s)};function yn(s){return s instanceof Uint8Array?s:s instanceof ArrayBuffer?new Uint8Array(s):new Uint8Array(s.buffer,s.byteOffset,s.byteLength)}let ii;const $t=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let s=0;s<64;s++)$t["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(s)]=s;const Fl=typeof ArrayBuffer=="function",Li=(s,e)=>{if(typeof s!="string")return{type:"message",data:wr(s,e)};const t=s.charAt(0);return t==="b"?{type:"message",data:Zl(s.substring(1),e)}:hs[t]?s.length>1?{type:hs[t],data:s.substring(1)}:{type:hs[t]}:mi},Zl=(s,e)=>{if(Fl){const t=(i=>{let n,r,o,a,c,u=.75*i.length,h=i.length,m=0;i[i.length-1]==="="&&(u--,i[i.length-2]==="="&&u--);const b=new ArrayBuffer(u),w=new Uint8Array(b);for(n=0;n<h;n+=4)r=$t[i.charCodeAt(n)],o=$t[i.charCodeAt(n+1)],a=$t[i.charCodeAt(n+2)],c=$t[i.charCodeAt(n+3)],w[m++]=r<<2|o>>4,w[m++]=(15&o)<<4|a>>2,w[m++]=(3&a)<<6|63&c;return b})(s);return wr(t,e)}return{base64:!0,data:s}},wr=(s,e)=>e==="blob"?s instanceof Blob?s:new Blob([s]):s instanceof ArrayBuffer?s:s.buffer,wn="";let ni;function ls(s){return s.reduce((e,t)=>e+t.length,0)}function cs(s,e){if(s[0].length===e)return s.shift();const t=new Uint8Array(e);let i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function we(s){if(s)return function(e){for(var t in we.prototype)e[t]=we.prototype[t];return e}(s)}we.prototype.on=we.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this},we.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this},we.prototype.off=we.prototype.removeListener=we.prototype.removeAllListeners=we.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t,i=this._callbacks["$"+s];if(!i)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var n=0;n<i.length;n++)if((t=i[n])===e||t.fn===e){i.splice(n,1);break}return i.length===0&&delete this._callbacks["$"+s],this},we.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){i=0;for(var n=(t=t.slice(0)).length;i<n;++i)t[i].apply(this,e)}return this},we.prototype.emitReserved=we.prototype.emit,we.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]},we.prototype.hasListeners=function(s){return!!this.listeners(s).length};const Is=typeof Promise=="function"&&typeof Promise.resolve=="function"?s=>Promise.resolve().then(s):(s,e)=>e(s,0),Ge=typeof self<"u"?self:typeof window<"u"?window:Function("return this")();function Sr(s,...e){return e.reduce((t,i)=>(s.hasOwnProperty(i)&&(t[i]=s[i]),t),{})}const Wl=Ge.setTimeout,Gl=Ge.clearTimeout;function Os(s,e){e.useNativeTimers?(s.setTimeoutFn=Wl.bind(Ge),s.clearTimeoutFn=Gl.bind(Ge)):(s.setTimeoutFn=Ge.setTimeout.bind(Ge),s.clearTimeoutFn=Ge.clearTimeout.bind(Ge))}function xr(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}class Kl extends Error{constructor(e,t,i){super(e),this.description=t,this.context=i,this.type="TransportError"}}class Ti extends we{constructor(e){super(),this.writable=!1,Os(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,i){return super.emitReserved("error",new Kl(e,t,i)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return this.readyState!=="opening"&&this.readyState!=="open"||(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=Li(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const t=function(i){let n="";for(let r in i)i.hasOwnProperty(r)&&(n.length&&(n+="&"),n+=encodeURIComponent(r)+"="+encodeURIComponent(i[r]));return n}(e);return t.length?"?"+t:""}}class Ql extends Ti{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let i=0;this._polling&&(i++,this.once("pollComplete",function(){--i||t()})),this.writable||(i++,this.once("drain",function(){--i||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((t,i)=>{const n=t.split(wn),r=[];for(let o=0;o<n.length;o++){const a=Li(n[o],i);if(r.push(a),a.type==="error")break}return r})(e,this.socket.binaryType).forEach(t=>{if(this.readyState==="opening"&&t.type==="open"&&this.onOpen(),t.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)}),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,((t,i)=>{const n=t.length,r=new Array(n);let o=0;t.forEach((a,c)=>{Ai(a,!1,u=>{r[c]=u,++o===n&&i(r.join(wn))})})})(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=xr()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}}let kr=!1;try{kr=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Yl=kr;function Xl(){}class Jl extends Ql{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let i=location.port;i||(i=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||i!==e.port}}doWrite(e,t){const i=this.request({method:"POST",data:e});i.on("success",t),i.on("error",(n,r)=>{this.onError("xhr post error",n,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,i)=>{this.onError("xhr poll error",t,i)}),this.pollXhr=e}}class ot extends we{constructor(e,t,i){super(),this.createRequest=e,Os(this,i),this._opts=i,this._method=i.method||"GET",this._uri=t,this._data=i.data!==void 0?i.data:null,this._create()}_create(){var e;const t=Sr(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const i=this._xhr=this.createRequest(t);try{i.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&i.setRequestHeader(n,this._opts.extraHeaders[n])}}catch{}if(this._method==="POST")try{i.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{i.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(i),"withCredentials"in i&&(i.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(i.timeout=this._opts.requestTimeout),i.onreadystatechange=()=>{var n;i.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(i.getResponseHeader("set-cookie"))),i.readyState===4&&(i.status===200||i.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof i.status=="number"?i.status:0)},0))},i.send(this._data)}catch(n){return void this.setTimeoutFn(()=>{this._onError(n)},0)}typeof document<"u"&&(this._index=ot.requestsCount++,ot.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(this._xhr!==void 0&&this._xhr!==null){if(this._xhr.onreadystatechange=Xl,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete ot.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}function Sn(){for(let s in ot.requests)ot.requests.hasOwnProperty(s)&&ot.requests[s].abort()}ot.requestsCount=0,ot.requests={},typeof document<"u"&&(typeof attachEvent=="function"?attachEvent("onunload",Sn):typeof addEventListener=="function"&&addEventListener("onpagehide"in Ge?"pagehide":"unload",Sn,!1));const ec=function(){const s=Er({xdomain:!1});return s&&s.responseType!==null}();function Er(s){const e=s.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Yl))return new XMLHttpRequest}catch{}if(!e)try{return new Ge[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Cr=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class tc extends Ti{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,i=Cr?{}:Sr(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,i)}catch(n){return this.emitReserved("error",n)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const i=e[t],n=t===e.length-1;Ai(i,this.supportsBinary,r=>{try{this.doWrite(i,r)}catch{}n&&Is(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){this.ws!==void 0&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=xr()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const ri=Ge.WebSocket||Ge.MozWebSocket,sc={websocket:class extends tc{createSocket(s,e,t){return Cr?new ri(s,e,t):e?new ri(s,e):new ri(s)}doWrite(s,e){this.ws.send(e)}},webtransport:class extends Ti{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(s){return this.emitReserved("error",s)}this._transport.closed.then(()=>{this.onClose()}).catch(s=>{this.onError("webtransport error",s)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(s=>{const e=function(o,a){ni||(ni=new TextDecoder);const c=[];let u=0,h=-1,m=!1;return new TransformStream({transform(b,w){for(c.push(b);;){if(u===0){if(ls(c)<1)break;const _=cs(c,1);m=!(128&~_[0]),h=127&_[0],u=h<126?3:h===126?1:2}else if(u===1){if(ls(c)<2)break;const _=cs(c,2);h=new DataView(_.buffer,_.byteOffset,_.length).getUint16(0),u=3}else if(u===2){if(ls(c)<8)break;const _=cs(c,8),T=new DataView(_.buffer,_.byteOffset,_.length),O=T.getUint32(0);if(O>Math.pow(2,21)-1){w.enqueue(mi);break}h=O*Math.pow(2,32)+T.getUint32(4),u=3}else{if(ls(c)<h)break;const _=cs(c,h);w.enqueue(Li(m?_:ni.decode(_),a)),u=0}if(h===0||h>o){w.enqueue(mi);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),t=s.readable.pipeThrough(e).getReader(),i=new TransformStream({transform(o,a){(function(c,u){vr&&c.data instanceof Blob?c.data.arrayBuffer().then(yn).then(u):_r&&(c.data instanceof ArrayBuffer||yr(c.data))?u(yn(c.data)):Ai(c,!1,h=>{ii||(ii=new TextEncoder),u(ii.encode(h))})})(o,c=>{const u=c.length;let h;if(u<126)h=new Uint8Array(1),new DataView(h.buffer).setUint8(0,u);else if(u<65536){h=new Uint8Array(3);const m=new DataView(h.buffer);m.setUint8(0,126),m.setUint16(1,u)}else{h=new Uint8Array(9);const m=new DataView(h.buffer);m.setUint8(0,127),m.setBigUint64(1,BigInt(u))}o.data&&typeof o.data!="string"&&(h[0]|=128),a.enqueue(h),a.enqueue(c)})}});i.readable.pipeTo(s.writable),this._writer=i.writable.getWriter();const n=()=>{t.read().then(({done:o,value:a})=>{o||(this.onPacket(a),n())}).catch(o=>{})};n();const r={type:"open"};this.query.sid&&(r.data=`{"sid":"${this.query.sid}"}`),this._writer.write(r).then(()=>this.onOpen())})})}write(s){this.writable=!1;for(let e=0;e<s.length;e++){const t=s[e],i=e===s.length-1;this._writer.write(t).then(()=>{i&&Is(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var s;(s=this._transport)===null||s===void 0||s.close()}},polling:class extends Jl{constructor(s){super(s);const e=s&&s.forceBase64;this.supportsBinary=ec&&!e}request(s={}){return Object.assign(s,{xd:this.xd},this.opts),new ot(Er,this.uri(),s)}}},ic=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,nc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function gi(s){if(s.length>8e3)throw"URI too long";const e=s,t=s.indexOf("["),i=s.indexOf("]");t!=-1&&i!=-1&&(s=s.substring(0,t)+s.substring(t,i).replace(/:/g,";")+s.substring(i,s.length));let n=ic.exec(s||""),r={},o=14;for(;o--;)r[nc[o]]=n[o]||"";return t!=-1&&i!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=function(a,c){const u=c.replace(/\/{2,9}/g,"/").split("/");return c.slice(0,1)!="/"&&c.length!==0||u.splice(0,1),c.slice(-1)=="/"&&u.splice(u.length-1,1),u}(0,r.path),r.queryKey=function(a,c){const u={};return c.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(h,m,b){m&&(u[m]=b)}),u}(0,r.query),r}const bi=typeof addEventListener=="function"&&typeof removeEventListener=="function",ps=[];bi&&addEventListener("offline",()=>{ps.forEach(s=>s())},!1);class vt extends we{constructor(e,t){if(super(),this.binaryType="arraybuffer",this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const i=gi(e);t.hostname=i.host,t.secure=i.protocol==="https"||i.protocol==="wss",t.port=i.port,i.query&&(t.query=i.query)}else t.host&&(t.hostname=gi(t.host).host);Os(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(i=>{const n=i.prototype.name;this.transports.push(n),this._transportsByName[n]=i}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=function(i){let n={},r=i.split("&");for(let o=0,a=r.length;o<a;o++){let c=r[o].split("=");n[decodeURIComponent(c[0])]=decodeURIComponent(c[1])}return n}(this.opts.query)),bi&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ps.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const i=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](i)}_open(){if(this.transports.length===0)return void this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);const e=this.opts.rememberUpgrade&&vt.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",vt.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let i=0;i<this.writeBuffer.length;i++){const n=this.writeBuffer[i].data;if(n&&(e+=typeof(t=n)=="string"?function(r){let o=0,a=0;for(let c=0,u=r.length;c<u;c++)o=r.charCodeAt(c),o<128?a+=1:o<2048?a+=2:o<55296||o>=57344?a+=3:(c++,a+=4);return a}(t):Math.ceil(1.33*(t.byteLength||t.size))),i>0&&e>this._maxPayload)return this.writeBuffer.slice(0,i);e+=2}var t;return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,Is(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,i){return this._sendPacket("message",e,t,i),this}send(e,t,i){return this._sendPacket("message",e,t,i),this}_sendPacket(e,t,i,n){if(typeof t=="function"&&(n=t,t=void 0),typeof i=="function"&&(n=i,i=null),this.readyState==="closing"||this.readyState==="closed")return;(i=i||{}).compress=i.compress!==!1;const r={type:e,data:t,options:i};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},i=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return this.readyState!=="opening"&&this.readyState!=="open"||(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?i():e()}):this.upgrading?i():e()),this}_onError(e){if(vt.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),bi&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const i=ps.indexOf(this._offlineEventListener);i!==-1&&ps.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}vt.protocol=4;class rc extends vt{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),i=!1;vt.priorWebsocketSuccess=!1;const n=()=>{i||(t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!i)if(m.type==="pong"&&m.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;vt.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{i||this.readyState!=="closed"&&(h(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const b=new Error("probe error");b.transport=t.name,this.emitReserved("upgradeError",b)}}))};function r(){i||(i=!0,h(),t.close(),t=null)}const o=m=>{const b=new Error("probe error: "+m);b.transport=t.name,r(),this.emitReserved("upgradeError",b)};function a(){o("transport closed")}function c(){o("socket closed")}function u(m){t&&m.name!==t.name&&r()}const h=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",a),this.off("close",c),this.off("upgrading",u)};t.once("open",n),t.once("error",o),t.once("close",a),this.once("close",c),this.once("upgrading",u),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{i||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let i=0;i<e.length;i++)~this.transports.indexOf(e[i])&&t.push(e[i]);return t}}class oc extends rc{constructor(e,t={}){const i=typeof e=="object"?e:t;(!i.transports||i.transports&&typeof i.transports[0]=="string")&&(i.transports=(i.transports||["polling","websocket","webtransport"]).map(n=>sc[n]).filter(n=>!!n)),super(e,i)}}const ac=typeof ArrayBuffer=="function",lc=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,Mr=Object.prototype.toString,cc=typeof Blob=="function"||typeof Blob<"u"&&Mr.call(Blob)==="[object BlobConstructor]",uc=typeof File=="function"||typeof File<"u"&&Mr.call(File)==="[object FileConstructor]";function Bi(s){return ac&&(s instanceof ArrayBuffer||lc(s))||cc&&s instanceof Blob||uc&&s instanceof File}function fs(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(fs(s[t]))return!0;return!1}if(Bi(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return fs(s.toJSON(),!0);for(const t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&fs(s[t]))return!0;return!1}function dc(s){const e=[],t=s.data,i=s;return i.data=vi(t,e),i.attachments=e.length,{packet:i,buffers:e}}function vi(s,e){if(!s)return s;if(Bi(s)){const t={_placeholder:!0,num:e.length};return e.push(s),t}if(Array.isArray(s)){const t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=vi(s[i],e);return t}if(typeof s=="object"&&!(s instanceof Date)){const t={};for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=vi(s[i],e));return t}return s}function hc(s,e){return s.data=_i(s.data,e),delete s.attachments,s}function _i(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=_i(s[t],e);else if(typeof s=="object")for(const t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=_i(s[t],e));return s}const pc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],fc=5;var ie;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(ie||(ie={}));class mc{constructor(e){this.replacer=e}encode(e){return e.type!==ie.EVENT&&e.type!==ie.ACK||!fs(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ie.EVENT?ie.BINARY_EVENT:ie.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==ie.BINARY_EVENT&&e.type!==ie.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=dc(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}}function xn(s){return Object.prototype.toString.call(s)==="[object Object]"}class Ri extends we{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const i=t.type===ie.BINARY_EVENT;i||t.type===ie.BINARY_ACK?(t.type=i?ie.EVENT:ie.ACK,this.reconstructor=new gc(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!Bi(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const i={type:Number(e.charAt(0))};if(ie[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===ie.BINARY_EVENT||i.type===ie.BINARY_ACK){const r=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);const o=e.substring(r,t);if(o!=Number(o)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(o)}if(e.charAt(t+1)==="/"){const r=t+1;for(;++t&&e.charAt(t)!==","&&t!==e.length;);i.nsp=e.substring(r,t)}else i.nsp="/";const n=e.charAt(t+1);if(n!==""&&Number(n)==n){const r=t+1;for(;++t;){const o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}i.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!Ri.isPayloadValid(i.type,r))throw new Error("invalid payload");i.data=r}return i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case ie.CONNECT:return xn(t);case ie.DISCONNECT:return t===void 0;case ie.CONNECT_ERROR:return typeof t=="string"||xn(t);case ie.EVENT:case ie.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&pc.indexOf(t[0])===-1);case ie.ACK:case ie.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class gc{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=hc(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function tt(s,e,t){return s.on(e,t),function(){s.off(e,t)}}const bc=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Pr extends we{constructor(e,t,i){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,i&&i.auth&&(this.auth=i.auth),this._opts=Object.assign({},i),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[tt(e,"open",this.onopen.bind(this)),tt(e,"packet",this.onpacket.bind(this)),tt(e,"error",this.onerror.bind(this)),tt(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var i,n,r;if(bc.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const o={type:ie.EVENT,data:t,options:{}};if(o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const u=this.ids++,h=t.pop();this._registerAckCallback(u,h),o.id=u}const a=(n=(i=this.io.engine)===null||i===void 0?void 0:i.transport)===null||n===void 0?void 0:n.writable,c=this.connected&&!(!((r=this.io.engine)===null||r===void 0)&&r._hasPingExpired());return this.flags.volatile&&!a||(c?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var i;const n=(i=this.flags.timeout)!==null&&i!==void 0?i:this._opts.ackTimeout;if(n===void 0)return void(this.acks[e]=t);const r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let a=0;a<this.sendBuffer.length;a++)this.sendBuffer[a].id===e&&this.sendBuffer.splice(a,1);t.call(this,new Error("operation has timed out"))},n),o=(...a)=>{this.io.clearTimeoutFn(r),t.apply(this,a)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((i,n)=>{const r=(o,a)=>o?n(o):i(a);r.withError=!0,t.push(r),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const i={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((n,...r)=>{if(i===this._queue[0])return n!==null?i.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(n)):(this._queue.shift(),t&&t(null,...r)),i.pending=!1,this._drainQueue()}),this._queue.push(i),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:ie.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){const t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case ie.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ie.EVENT:case ie.BINARY_EVENT:this.onevent(e);break;case ie.ACK:case ie.BINARY_ACK:this.onack(e);break;case ie.DISCONNECT:this.ondisconnect();break;case ie.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const i of t)i.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let i=!1;return function(...n){i||(i=!0,t.packet({type:ie.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:ie.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const i of t)i.apply(this,e.data)}}}function Ct(s){s=s||{},this.ms=s.min||100,this.max=s.max||1e4,this.factor=s.factor||2,this.jitter=s.jitter>0&&s.jitter<=1?s.jitter:0,this.attempts=0}Ct.prototype.duration=function(){var s=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*s);s=1&Math.floor(10*e)?s+t:s-t}return 0|Math.min(s,this.max)},Ct.prototype.reset=function(){this.attempts=0},Ct.prototype.setMin=function(s){this.ms=s},Ct.prototype.setMax=function(s){this.max=s},Ct.prototype.setJitter=function(s){this.jitter=s};class Es extends we{constructor(e,t){var i;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,Os(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((i=t.randomizationFactor)!==null&&i!==void 0?i:.5),this.backoff=new Ct({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||ci;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new oc(this.uri,this.opts);const t=this.engine,i=this;this._readyState="opening",this.skipReconnect=!1;const n=tt(t,"open",function(){i.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=tt(t,"error",r);if(this._timeout!==!1){const a=this._timeout,c=this.setTimeoutFn(()=>{n(),r(new Error("timeout")),t.close()},a);this.opts.autoUnref&&c.unref(),this.subs.push(()=>{this.clearTimeoutFn(c)})}return this.subs.push(n),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(tt(e,"ping",this.onping.bind(this)),tt(e,"data",this.ondata.bind(this)),tt(e,"error",this.onerror.bind(this)),tt(e,"close",this.onclose.bind(this)),tt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){Is(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let i=this.nsps[e];return i?this._autoConnect&&!i.active&&i.connect():(i=new Pr(this,e,t),this.nsps[e]=i),i}_destroy(e){const t=Object.keys(this.nsps);for(const i of t)if(this.nsps[i].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let i=0;i<t.length;i++)this.engine.write(t[i],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var i;this.cleanup(),(i=this.engine)===null||i===void 0||i.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const i=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open(n=>{n?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",n)):e.onreconnect()}))},t);this.opts.autoUnref&&i.unref(),this.subs.push(()=>{this.clearTimeoutFn(i)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Dt={};function oi(s,e){typeof s=="object"&&(e=s,s=void 0);const t=function(c,u="",h){let m=c;h=h||typeof location<"u"&&location,c==null&&(c=h.protocol+"//"+h.host),typeof c=="string"&&(c.charAt(0)==="/"&&(c=c.charAt(1)==="/"?h.protocol+c:h.host+c),/^(https?|wss?):\/\//.test(c)||(c=h!==void 0?h.protocol+"//"+c:"https://"+c),m=gi(c)),m.port||(/^(http|ws)$/.test(m.protocol)?m.port="80":/^(http|ws)s$/.test(m.protocol)&&(m.port="443")),m.path=m.path||"/";const b=m.host.indexOf(":")!==-1?"["+m.host+"]":m.host;return m.id=m.protocol+"://"+b+":"+m.port+u,m.href=m.protocol+"://"+b+(h&&h.port===m.port?"":":"+m.port),m}(s,(e=e||{}).path||"/socket.io"),i=t.source,n=t.id,r=t.path,o=Dt[n]&&r in Dt[n].nsps;let a;return e.forceNew||e["force new connection"]||e.multiplex===!1||o?a=new Es(i,e):(Dt[n]||(Dt[n]=new Es(i,e)),a=Dt[n]),t.query&&!e.query&&(e.query=t.queryKey),a.socket(t.path,e)}Object.assign(oi,{Manager:Es,Socket:Pr,io:oi,connect:oi});class vc{constructor(e,t){R(this,"socket");R(this,"token");R(this,"endpoint");R(this,"socketList",new Map);this.endpoint=e.replace("https://","wss://").replace("http://","ws://"),this.token=t,this.socket=this.getSocket("default").socket,this.socket.connect()}close(){this.socket.emit("end"),this.socket.removeAllListeners(),this.socket.disconnect()}getSocket(e,t){return this.createManager(t)}createManager(e){const t=new Es(this.endpoint,{reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,reconnectionDelayMax:5e3,randomizationFactor:.5,timeout:2e4,autoConnect:!0,transports:["websocket","polling"],rejectUnauthorized:!1,secure:!0,forceNew:e}),i=t.socket("/proxy",{auth:{token:`Bearer ${this.token}`}});return{manager:t,socket:i}}}class _c{constructor(e){R(this,"api");R(this,"socketService");R(this,"config");R(this,"logger");R(this,"token");R(this,"deviceManager");R(this,"coreManager");this.config=e,this.logger=e.logger||{...console,attention:console.warn,success:console.log},this.api=new sl(e.endpoint)}async connect(){return this.deviceManager&&this.coreManager||(this.cleanUpClient(),await this.login(),this.token=this.token||this.config.token,this.socketService=new vc(this.config.endpoint,this.token),this.coreManager=new ql(this.socketService,this.logger),this.deviceManager=new Hl(this.socketService,this.logger),this.checkSession()),{coreManager:this.coreManager,deviceManager:this.deviceManager}}async disconnect(){var e;(e=this.socketService)==null||e.close(),this.cleanUpClient(),this.config.username&&this.config.password&&await this.api.post("/auth/logout",void 0,{headers:{Authorization:`Bearer ${this.token}`}})}async updateCredentials(e){this.config={...this.config,...e},this.socketService&&await this.disconnect(),await this.connect()}async login(){var e;if(this.config.username&&this.config.password)try{const t=await this.api.post("/auth/login",{username:this.config.username,password:this.config.password}),i=await t.json();this.token=i.access_token}catch(t){throw((e=t.response)==null?void 0:e.status)===401?new Error("Invalid credentials"):new Error(`Failed to get token: ${t.message}`)}else if(this.config.token&&!this.config.skipCheck)try{await this.api.get("/auth/check",{headers:{Authorization:`Bearer ${this.config.token}`}})}catch(t){throw new Error(`Invalid token: ${t.message}`)}this.token=this.token||this.config.token}getDeviceManager(){return this.deviceManager}checkSession(){var e,t;(e=this.socketService)==null||e.socket.removeListener("invalidToken"),(t=this.socketService)==null||t.socket.on("invalidToken",async i=>{i===this.token&&await this.disconnect()})}cleanUpClient(){this.deviceManager=void 0}}var yc=tr.j;const Ar=Symbol(),Lr={client:null,api:null,install(s){s.provide(Ar,this),this.initializeBasedOnAuth()},async initializeBasedOnAuth(){const s=Pe();co(()=>{const{access_token:e,user:t}=s.loginState;e&&(t==null?void 0:t.role)==="admin"?this.initialize({endpoint:window.origin,token:e,logger:{...console,attention:console.warn,success:console.log}}):this.disconnect()})},async initialize(s){this.client=new yc(s),this.api=await this.client.connect()},async updateCredentials(s){var e;await((e=this.client)==null?void 0:e.updateCredentials(s))},async disconnect(){var s;await((s=this.client)==null?void 0:s.disconnect()),this.client=null,this.api=null},getClient(){if(!this.client)throw new Error("camera.ui client is not initialized!");return this.client},getAPI(){if(!this.api)throw new Error("camera.ui api is not initialized!");return this.api}};function zp(){const s=uo(Ar);if(!s)throw new Error("camera.ui client is not installed!");return{client:s.getClient(),api:s.getAPI()}}const ai=s=>{const t=s.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(t).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(i)},Pe=Lt("auth",()=>{var m;const s=yt(),e=xi(),t=ki("user",null,{serializer:{read:b=>b?JSON.parse(b):null,write:b=>JSON.stringify(b)}}),i=Y(!1),n=In({user:t.value!==null?ai(t.value.access_token):null,access_token:((m=t.value)==null?void 0:m.access_token)??null}),r=X(()=>t.value!==null);ve(s,()=>{i.value=!1},{deep:!0}),ve(t,b=>{!b&&n.user&&a()},{deep:!0});const o=async b=>{i.value=!0;const w=await Xn({loginInformation:b});t.value=w,n.user=ai(w.access_token),n.access_token=w.access_token,e.push("/cameras")},a=async()=>{i.value=!0,await Jn(),u(),t.value=null,n.user=null,n.access_token=null,e.push("/"),window.location.reload()},c=async()=>{const b=await er({refresh_token:t.value.refresh_token});await Lr.updateCredentials({endpoint:window.origin,token:b.access_token}),t.value.access_token=b.access_token,n.user=ai(b.access_token),n.access_token=b.access_token},u=()=>{"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(b=>{b.pushManager.getSubscription().then(w=>{w&&w.unsubscribe()})})};return{isLoggedIn:r,loginLoading:i,loginState:n,user:t,login:o,logout:a,refreshToken:c,updateUser:async(b,w,_)=>{b&&await ys({username:n.user.username,userData:b}),w&&await ys({username:n.user.username,userData:w}),_&&await c()}}}),wc=(s,e="ddd., D. MMM. YYYY")=>(typeof s=="number"&&(s=new Date(s)),yo(s,e).value),Cs=(s="logo-512.png")=>{var n,r,o;if(s.startsWith("data:")||s.startsWith("blob:"))return s;if(s.startsWith(location.origin))return location.origin+s;if(s==="ERROR"&&(s="logo-256.png"),s==="avatar"){const a=Pe(),c=(n=a.loginState.user)==null?void 0:n.avatar,u=(r=a.user)==null?void 0:r.access_token;if(u&&c)return`${location.origin}/api/files/${c}?token=${u}`;s="logo-256.png"}if(s.includes("avatar")){const c=(o=Pe().user)==null?void 0:o.access_token;if(c)return`${location.origin}/api/files/${s}?token=${c}`;s="logo-256.png"}const t=`/src/assets/images/${s}`,i=Object.assign({"/src/assets/css/extras.css":_a,"/src/assets/css/main.css":pa,"/src/assets/css/markdown.css":fa,"/src/assets/css/tailwind.css":ma,"/src/assets/css/themes.css":ga,"/src/assets/css/transitions.css":ba,"/src/assets/css/utils.css":va,"/src/assets/images/error-256.png":wa,"/src/assets/images/logo-256.png":Sa,"/src/assets/images/logo-512.png":ka,"/src/assets/images/logo.png":Ca,"/src/assets/images/logo.svg":Pa,"/src/assets/images/logo_animated.svg":La,"/src/assets/images/logo_loading_circle.svg":Ba});return i[t]?i[t].default:""},Up=(s,e)=>({timestamp:[...s].sort((i,n)=>(typeof i!="number"&&(i=i.getTime()),typeof n!="number"&&(n=n.getTime()),typeof e!="number"&&(e=e.getTime()),Math.abs(i-e)-Math.abs(n-e)))[0],findDate:e}),qp=(s=new Date)=>{const i=Math.ceil(s.getTime()/15e3)*15e3,n=i-s.getTime();return{date:new Date(i),rounded:n}},Hp=(s=new Date)=>{const i=Math.ceil(s.getTime()/12e4)*12e4,n=i-s.getTime();return{date:new Date(i),rounded:n}},Fp=(s=new Date)=>{const i=Math.ceil(s.getTime()/9e5)*9e5,n=i-s.getTime();return{date:new Date(i),rounded:n}},Zp=(s=new Date)=>{const i=Math.ceil(s.getTime()/18e5)*18e5,n=i-s.getTime();return{date:new Date(i),rounded:n}},Wp=(s=new Date)=>(s.setMinutes(s.getMinutes()+30),s.setMinutes(0,0,0),{date:s,rounded:0}),Gp=async s=>new Promise(e=>{var i;s.preventDefault();const t=(i=s.target)==null?void 0:i.files;if(t){const n=t[0],r=new FileReader;n?(r.onload=o=>{var c,u;const a=(c=o.target)!=null&&c.result?(u=o.target)==null?void 0:u.result:void 0;e(a)},r.readAsDataURL(n)):e(void 0)}}),Kp=(s=10)=>{const e=()=>Math.floor(Math.random()*25+10).toString(36);return Array.from({length:s},e).join("")};function kn(s,e=new WeakMap){if(typeof s!="object"||s===null)return s;if(e.has(s))return e.get(s);if(Array.isArray(s)){const i=[];return e.set(s,i),s.forEach((n,r)=>{i[r]=kn(n,e)}),i}const t={};return e.set(s,t),Object.keys(s).forEach(i=>{t[i]=kn(s[i],e)}),t}const Sc=He({__name:"VImage",props:{src:{},srcset:{},lazySrc:{},aspectRatio:{},cover:{type:Boolean,default:!1},eager:{type:Boolean,default:!1},width:{},height:{},errorWidth:{},errorHeight:{},alt:{default:"camera.ui"},contentClass:{},gradient:{},inline:{type:Boolean,default:!1},maxHeight:{type:[String,Boolean]},maxWidth:{type:[String,Boolean]},minWidth:{type:[String,Boolean]},minHeight:{type:[String,Boolean]},options:{},sizes:{},transition:{default:"fade-transition"},spinnerSize:{default:30},spinnerWidth:{default:3},spinnerColor:{default:"#df2a4c"},errorIconSize:{default:"large"},errorIconColor:{default:"red"},placeholderStyle:{},errorStyle:{},showLoadingScreen:{type:Boolean,default:!0}},setup(s){const e=s,{src:t,width:i,height:n,aspectRatio:r,cover:o,errorHeight:a,errorWidth:c,placeholderStyle:u,showLoadingScreen:h}=pt(e);return(m,b)=>(V(),xe(Ui,{src:y(Cs)(y(t)),width:y(i),height:y(n),"aspect-ratio":y(r),cover:y(o),alt:m.alt},{placeholder:N(()=>[y(h)?(V(),q("div",{key:0,class:"flex items-center justify-center h-full",style:be(y(u))},[D(Mo,{color:m.spinnerColor,size:m.spinnerSize,width:m.spinnerWidth,indeterminate:""},null,8,["color","size","width"])],4)):le("",!0)]),error:N(()=>[D(Ui,{src:y(Cs)("ERROR"),width:y(c)||y(i),height:y(a)||y(n),"aspect-ratio":y(r),cover:y(o)},null,8,["src","width","height","aspect-ratio","cover"])]),_:1},8,["src","width","height","aspect-ratio","cover","alt"]))}}),xc={key:0,class:"profile-name mt-5 text-center text-white"},kc={key:1,class:"profile-role text-center"},Ec=He({__name:"VProfileAvatar",props:{showBorder:{type:Boolean,default:!1},showName:{type:Boolean,default:!1},showRole:{type:Boolean,default:!1},size:{default:20},spinnerSize:{default:"default"},spinnerWidth:{default:2},src:{}},setup(s){const e=s,{showBorder:t,showName:i,showRole:n,size:r,src:o,spinnerSize:a,spinnerWidth:c}=pt(e),{loginState:u}=Fe(Pe()),h=X(()=>{const m=r.value.toString().split(/.*(?:\D|^)(\d+)/).filter(Boolean);return m[0]+(m[1]??"px")});return(m,b)=>{var _,T,O;const w=Sc;return V(),q("div",{class:"flex flex-col justify-center avatar cursor-pointer",style:be(`border-radius: calc(${y(h)} / 2); background: var(--background-img)`)},[D(w,{src:y(o),height:y(r),width:y(r),cover:"",class:st({"avatar-border":y(t)}),style:be(`border-radius: calc(${y(h)} / 2); background: var(--background-img) `),"spinner-size":y(a),"spinner-width":y(c)},null,8,["src","height","width","class","style","spinner-size","spinner-width"]),y(i)?(V(),q("div",xc,G((_=y(u).user)==null?void 0:_.username),1)):le("",!0),y(n)?(V(),q("div",kc,G((T=y(u).user)!=null&&T.role?m.$t(`general.role_${(O=y(u).user)==null?void 0:O.role.toLowerCase()}`):""),1)):le("",!0)],4)}}}),ae=(s,e)=>{const t=s.__vccOpts||s;for(const[i,n]of e)t[i]=n;return t},Tr=ae(Ec,[["__scopeId","data-v-f45a5b95"]]),Ms=(s,e)=>{var o,a,c,u;s=s||yt();const{loginState:t}=Fe(Pe()),i=((o=s==null?void 0:s.meta)==null?void 0:o.auth.requiresAuth)===!1,n=e??((c=(a=s.meta)==null?void 0:a.auth)==null?void 0:c.role),r=(u=t.value.user)==null?void 0:u.role;return r==="admin"||r===n||n==="none"||i},Cc=Ei($n);function Br(){const s=X(()=>typeof window>"u"?!1:[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(_=>navigator.userAgent.match(_))),e=X(()=>typeof window>"u"?!1:[/Android/i].some(_=>navigator.userAgent.match(_))),t=X(()=>typeof window>"u"?!1:[/iPhone/i].some(_=>navigator.userAgent.match(_))),i=X(()=>typeof window>"u"?!1:[/iPad/i].some(_=>navigator.userAgent.match(_))),n=X(()=>i.value||t.value),r=X(()=>{var _;if(typeof window>"u")return[0,0];const w=/OS [\d_]+/i;return t.value?((_=navigator.userAgent.match(w))==null?void 0:_[0].substr(3).split("_").map(T=>parseInt(T)))||[0,0]:[0,0]}),o=X(()=>typeof window>"u"?!1:[/Safari/i].some(_=>navigator.userAgent.match(_))),a=X(()=>{if(typeof window>"u")return null;const w=/Version\/(\d+).+Safari/;return navigator.userAgent.match(w)}),c=X(()=>typeof window>"u"?!1:[/Firefox/i].some(_=>navigator.userAgent.match(_))),u=X(()=>typeof window>"u"?!1:[/Chrome/i].some(_=>navigator.userAgent.match(_))),h=X(()=>{let w=!1;if("maxTouchPoints"in navigator)w=navigator.maxTouchPoints>0;else if("msMaxTouchPoints"in navigator)navigator!==null&&(w=navigator.msMaxTouchPoints>0);else{const _=matchMedia("(pointer:coarse)");if(_&&_.media==="(pointer:coarse)")w=!!_.matches;else if("orientation"in window)w=!0;else{const T=navigator.userAgent;w=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(T)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(T)}}return w}),m=X(()=>Cc("(display-mode: standalone)").value||window.navigator.standalone||document.referrer.includes("android-app://")),b=X(()=>{const w=typeof document.body.requestFullscreen<"u"||typeof document.body.mozRequestFullScreen<"u"||typeof document.body.webkitRequestFullscreen<"u"||typeof document.body.msRequestFullscreen<"u"||typeof document.exitFullscreen<"u"||typeof document.mozCancelFullScreen<"u"||typeof document.webkitExitFullscreen<"u",[_,T]=r.value,O=_&&_>=17&&T&&T>=2;return!!(w||!t.value||t.value&&O)});return{isPWA:m,isMobile:s,isAndroid:e,isIphone:t,isIpad:i,isAppleMobile:n,iosVersion:r,isSafari:o,safariVersion:a,isFirefox:c,isChrome:u,isTouch:h,fsSupported:b}}const Mc="modulepreload",Pc=function(s){return"/"+s},En={},Se=function(e,t,i){let n=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));n=Promise.allSettled(t.map(c=>{if(c=Pc(c),c in En)return;En[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const m=document.createElement("link");if(m.rel=u?"stylesheet":Mc,u||(m.as="script"),m.crossOrigin="",m.href=c,a&&m.setAttribute("nonce",a),document.head.appendChild(m),u)return new Promise((b,w)=>{m.addEventListener("load",b),m.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return n.then(o=>{for(const a of o||[])a.status==="rejected"&&r(a.reason);return e().catch(r)})},Rr=Lt("loading",()=>({routerLoading:Y(!1)})),Ac={},Lc={class:"flex flex-col justify-center items-center px-5 w-full h-full"},Tc={class:"error-subtitle text-center",style:{"margin-top":"-10px"}};function Bc(s,e){return V(),q("main",Lc,[e[1]||(e[1]=P("div",{class:"flex flex-row justify-center items-center"},[P("span",{class:"error-big-letter",style:{"margin-right":"-35px"}},"4"),P("img",{src:Ci,width:"140"}),P("span",{class:"error-big-letter",style:{"margin-left":"-35px"}},"4")],-1)),P("h2",Tc,G(s.$t("views.404.error_message")),1),D(qe,{class:"mt-7",onClick:e[0]||(e[0]=it(t=>s.$router.push({path:"/cameras"}),["prevent"]))},{default:N(()=>[he(G(s.$t("views.404.button_home")),1)]),_:1})])}const Rc=ae(Ac,[["render",Bc],["__scopeId","data-v-b14328d6"]]),Ic=async({signal:s})=>(await ce.get("/",{signal:s})).data;class Oc{constructor(){R(this,"_queryClient",Kt());R(this,"queryActivator",Y([{name:"apiInfoQuery",enabled:!0}]))}get queryClient(){return this._queryClient}apiInfoQuery(){return ct({queryKey:["api"],queryFn:({signal:e})=>Ic({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="apiInfoQuery"&&e.enabled)})}toggleQueryActivator(e,t){const i=this.queryActivator.value.find(n=>n.name===e);i&&(i.enabled=t)}}const Vc=Ei(wo),Dc=Ei(So);function Xt(){const{angle:s}=Vc(),e=Dc({listenOrientation:!0}),t=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u<=360}),i=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u<=450}),n=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u<640}),r=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u<768}),o=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u>768&&u<1024}),a=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u>=1024}),c=X(()=>{let u=e.width.value;return s.value>0&&(screen.height>screen.width?u=screen.height:u=screen.width),u>=1280});return{superSmallMobileActive:t,extraSmallMobileActive:i,smallMobileActive:n,mobileActive:r,tabletActive:o,desktopActive:a,bigDesktopActive:c}}const Ir=p.object({enabled:p.boolean().default(!1)}).strict(),Ii=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),points:p.tuple([p.number(),p.number()])}),jc=p.union([p.literal("person"),p.literal("bicycle"),p.literal("car"),p.literal("motorcycle"),p.literal("airplane"),p.literal("bus"),p.literal("train"),p.literal("truck"),p.literal("boat"),p.literal("traffic light"),p.literal("fire hydrant"),p.literal("stop sign"),p.literal("parking meter"),p.literal("bench"),p.literal("bird"),p.literal("cat"),p.literal("dog"),p.literal("horse"),p.literal("sheep"),p.literal("cow"),p.literal("elephant"),p.literal("bear"),p.literal("zebra"),p.literal("giraffe"),p.literal("backpack"),p.literal("umbrella"),p.literal("handbag"),p.literal("tie"),p.literal("suitcase"),p.literal("frisbee"),p.literal("skis"),p.literal("snowboard"),p.literal("sports ball"),p.literal("kite"),p.literal("baseball bat"),p.literal("baseball glove"),p.literal("skateboard"),p.literal("surfboard"),p.literal("tennis racket"),p.literal("bottle"),p.literal("wine glass"),p.literal("cup"),p.literal("fork"),p.literal("knife"),p.literal("spoon"),p.literal("bowl"),p.literal("banana"),p.literal("apple"),p.literal("sandwich"),p.literal("orange"),p.literal("broccoli"),p.literal("carrot"),p.literal("hot dog"),p.literal("pizza"),p.literal("donut"),p.literal("cake"),p.literal("chair"),p.literal("couch"),p.literal("potted plant"),p.literal("bed"),p.literal("dining table"),p.literal("toilet"),p.literal("tv"),p.literal("laptop"),p.literal("mouse"),p.literal("remote"),p.literal("keyboard"),p.literal("cell phone"),p.literal("microwave"),p.literal("oven"),p.literal("toaster"),p.literal("sink"),p.literal("refrigerator"),p.literal("book"),p.literal("clock"),p.literal("vase"),p.literal("scissors"),p.literal("teddy bear"),p.literal("hair drier"),p.literal("toothbrush"),p.literal("motion")]),Nc=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),coords:Ii.array().min(3,"Minimum 3 points are required"),type:p.union([p.literal("intersect"),p.literal("contain")]).default("contain"),filter:p.union([p.literal("include"),p.literal("exclude")]).default("include"),classes:jc.array(),isPrivacyMask:p.boolean().default(!1)}).strict(),Or=p.object({name:p.string().min(1,"Zone Name is required"),regions:Nc.array()}),Vr=p.object({motion:p.object({timeout:p.number().min(10,"Minimum 10 seconds")}),object:p.object({confidence:p.number().min(.3,"Minimum 0.3")})}),Dr=p.union([p.literal("high-resolution"),p.literal("mid-resolution"),p.literal("low-resolution"),p.literal("snapshot")]),$c=p.union([p.literal("high-resolution"),p.literal("mid-resolution"),p.literal("low-resolution")]),zc=p.union([p.literal("bubble://"),p.literal("dvrip://"),p.literal("echo:"),p.literal("exec:"),p.literal("expr:"),p.literal("ffmpeg:"),p.literal("gopro://"),p.literal("hass:"),p.literal("homekit://"),p.literal("http://"),p.literal("https://"),p.literal("httpx://"),p.literal("isapi://"),p.literal("ivideon:"),p.literal("kasa://"),p.literal("nest:"),p.literal("onvif://"),p.literal("roborock://"),p.literal("rtmp://"),p.literal("rtsp://"),p.literal("rtspx://"),p.literal("tapo://"),p.literal("tcp://"),p.literal("webrtc:"),p.literal("webtorrent:")]),Uc=zc.options.map(s=>s.value),qc=new RegExp(`^(${Uc.join("|")})`),jr=p.string().refine(s=>{if(!qc.test(s))return!1;try{return new URL(s),!0}catch{return!1}},{message:"Invalid URL format or unsupported protocol"}),Hc=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),name:p.string().min(1,"Camera Source Name is required").transform(s=>s.replace(/ /g,"_").toLowerCase()),roles:Dr.array().min(1,"Minimum one role is required"),urls:jr.array().min(1,"At least one valid URL is required"),internal:p.boolean().default(!1)}).strict(),Fc=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),name:p.string().min(1,"Camera Source Name is required").transform(s=>s.replace(/ /g,"_").toLowerCase()),roles:Dr.array().min(1,"Minimum one role is required"),urls:jr.array().min(1,"At least one valid URL is required"),internal:p.boolean().default(!1)}).strict(),Nr=p.object({hub:p.string().array().optional(),prebuffer:p.string().optional(),motionDetection:p.string().optional(),audioDetection:p.string().optional(),objectDetection:p.string().optional(),ptz:p.string().optional(),plugins:p.string().array()}).strict(),Zc=p.union([p.literal("mse"),p.literal("webrtc"),p.literal("webrtc/tcp"),p.literal("mjpeg"),p.literal("hls"),p.literal("mp4")]),$r=p.object({decoder:p.union([p.literal("pillow"),p.literal("wasm"),p.literal("rust")]),fps:p.number().min(0,"Minimum 0 fps").max(30,"Maximum 30 fps"),resolution:p.union([p.literal("3840x2160"),p.literal("3072x1728"),p.literal("2560x1440"),p.literal("1920x1080"),p.literal("1440x1080"),p.literal("1280x720"),p.literal("960x540"),p.literal("640x480"),p.literal("640x360"),p.literal("320x240"),p.literal("320x180")])}),zr=p.union([p.literal("camera"),p.literal("doorbell")]),Ur=p.object({streamingMode:Zc,streamingSource:$c}),qr=p.object({model:p.string().optional(),manufacturer:p.string().optional(),hardware:p.string().optional(),serialNumber:p.string().optional(),firmwareVersion:p.string().optional(),supportUrl:p.string().optional()}),Qp=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),nativeId:p.string().optional(),pluginId:p.string().default("native"),disabled:p.boolean().default(!1),name:p.string().min(1,"Camera name is required"),type:zr.default("camera"),isCloud:p.boolean().default(!1),hasLight:p.boolean().default(!1),hasSiren:p.boolean().default(!1),hasBinarySensor:p.boolean().default(!1),hasBattery:p.boolean().default(!1),snapshotTTL:p.number().min(30,"Minimum cache time must be 30").default(600),info:qr.default({model:"IP Camera",manufacturer:"camera.ui",hardware:"Camera",serialNumber:"Unknown",firmwareVersion:"Unknown",supportUrl:"Unknown"}),sources:Hc.array().refine(s=>s.some(e=>e.roles.includes("high-resolution")||e.roles.includes("mid-resolution")||e.roles.includes("low-resolution")),{path:["sources[].roles"],message:'One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required'}),extensions:Nr.default({hub:[],plugins:[]}),recording:Ir.default({enabled:!1}),interface:Ur.default({streamingMode:"webrtc",streamingSource:"high-resolution"}),activityZones:Or.array().default([]),activitySettings:Vr.default({motion:{timeout:20},object:{confidence:.7}}),frameWorkerSettings:$r.default({decoder:"pillow",fps:0,resolution:"640x360"})}).strict(),Yp=p.object({disabled:p.boolean().optional(),type:zr.optional(),name:p.string().min(1,"Camera name is required").optional(),snapshotTTL:p.number().min(30,"Minimum cache time must be 30").optional(),info:qr.partial().optional(),sources:Fc.array().refine(s=>s.some(e=>e.roles.includes("high-resolution")||e.roles.includes("mid-resolution")||e.roles.includes("low-resolution")),{path:["sources[].roles"],message:'One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required'}).optional(),extensions:Nr.partial().optional(),interface:Ur.partial().optional(),recording:Ir.partial().optional(),activityZones:Or.array().optional(),activitySettings:Vr.partial().optional(),frameWorkerSettings:$r.partial().optional()}).strict();p.record(p.any());p.object({configPath:p.string()}).strict();p.object({url:p.string()}).strict();const Wc=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Cn=["image/jpeg","image/png"],Mn=2e6,Pn=["video/mp4","video/quicktime"],An=1e7,Ln=["audio/mpeg","audio/wav","audio/ogg"],Tn=2e6;p.object({pluginname:p.string().refine(s=>Wc.test(s)||s==="camera.ui3","Not a valid plugin name"),pluginversion:p.string().optional().default("latest")}).strict();p.object({actionId:p.string(),payload:p.any()}).strict();p.record(p.any(),p.any());p.object({upload:p.custom().refine(s=>(t=>t.mimetype!==void 0)(s)?Buffer.byteLength(s._buf)<=Mn:s.size<=Mn,"Max file size is 2 MB").refine(s=>(t=>t.mimetype!==void 0)(s)?Cn.includes(s.mimetype):Cn.includes(s.type),".jpeg and .png files are accepted"),metadata:p.custom().transform(s=>JSON.parse(s.value)),config:p.custom().transform(s=>JSON.parse(s.value))});p.object({upload:p.custom().refine(s=>(t=>t.mimetype!==void 0)(s)?Buffer.byteLength(s._buf)<=Tn:s.size<=Tn,"Max file size is 2 MB").refine(s=>(t=>t.mimetype!==void 0)(s)?Ln.includes(s.mimetype):Ln.includes(s.type),".mp3, .wav and .ogg files are accepted"),metadata:p.custom().transform(s=>JSON.parse(s.value)),config:p.custom().transform(s=>JSON.parse(s.value))});p.object({upload:p.custom().refine(s=>(t=>t.mimetype!==void 0)(s)?Buffer.byteLength(s._buf)<=An:s.size<=An,"Max file size is 5 MB").refine(s=>(t=>t.mimetype!==void 0)(s)?Pn.includes(s.mimetype):Pn.includes(s.type),".mp4 files are accepted"),config:p.custom().transform(s=>JSON.parse(s.value))});const Xp=p.object({serverAddresses:p.string().ip().array()}).partial().strict(),Bn=["image/jpeg","image/jpg","image/png"],Rn=5e6,Hr=p.object({index:p.number(),cameraId:p.string()}),Fr=p.union([p.literal(1),p.literal(4),p.literal(6),p.literal(7),p.literal(9),p.literal(10),p.literal(12),p.literal(13),p.literal(15),p.literal(16),p.literal(20),p.literal(26)]),Gc=p.union([p.literal("dnd"),p.literal("view")]),Zr=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),name:p.string().min(1,"Layout name is required"),viewSize:Fr,cameras:Hr.array(),type:Gc});p.object({name:p.string().min(1,"Layout name is required"),viewSize:Fr,cameras:Hr.array()}).partial().optional();const Kc=p.object({views:Zr.array()}),Qc=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),cameraId:p.string(),coords:Ii});p.object({cameraId:p.string(),coords:Ii}).partial().optional();const Yc=p.object({shortcuts:Qc.array()}),Wr=p.object({camview:Kc,cameras:p.record(p.string(),Yc)}),Xc=p.object({_id:p.string().default(Ie()).transform(()=>Ie()),username:p.string().min(1,"Username is required"),password:p.string().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"),passwordConfirm:p.string().min(1,"Please confirm your password"),role:p.union([p.literal("admin"),p.literal("user")]),sessionTimer:p.number().min(3600,"Session timer must not be less than 3600 seconds (1h)").max(86400,"Session timer must not be greater than 86400 seconds (24h)").default(14400),rememberMe:p.boolean().default(!1),oneLogin:p.boolean().default(!1),firstLogin:p.boolean().default(!0),preferences:Wr.default({camview:{views:[]},cameras:{}})}).strict().refine(s=>s.password===s.passwordConfirm,{path:["passwordConfirm"],message:"Passwords do not match"}),Jc=p.object({username:p.string().min(1,"Username is required"),password:p.string().min(1,"Password is required"),rememberMe:p.boolean().default(!1)}).strict(),eu=p.object({username:p.string().min(1,"Username is required").optional(),password:p.string().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").optional(),passwordConfirm:p.string().optional(),role:p.union([p.literal("admin"),p.literal("user")]).optional(),sessionTimer:p.number().min(3600,"Session timer must not be less than 3600 seconds (1h)").max(86400,"Session timer must not be greater than 86400 seconds (24h)").optional(),upload:p.optional(p.custom().refine(s=>(t=>t.mimetype!==void 0)(s)?Buffer.byteLength(s._buf)<=Rn:s.size<=Rn,"Max file size is 5MB.").refine(s=>(t=>t.mimetype!==void 0)(s)?Bn.includes(s.mimetype):Bn.includes(s.type),".jpg, .jpeg, .png files are accepted.")),rememberMe:p.boolean().optional(),oneLogin:p.boolean().optional(),firstLogin:p.boolean().optional(),preferences:Wr.partial().optional()}).strict().refine(s=>s.password===s.passwordConfirm,{path:["passwordConfirm"],message:"Passwords do not match"}),tu=Ls(Jc),Jp=Ls(Xc),ef=Ls(eu),tf=Ls(Zr),su={class:"flex flex-col justify-center items-center w-full h-full"},iu={class:"login flex flex-col items-center"},nu={for:"username",class:"v-label"},ru={class:"relative"},ou={for:"password",class:"v-label"},au={class:"w-100 mt-2 flex flex-col"},lu={class:"ml-auto flex"},cu={class:"v-label m-0 mb-0 mr-2",for:"rememberMe"},uu={key:0,class:"login-footer-text mt-3"},du={key:0,class:"login-footer login-footer-text"},hu=He({__name:"Login",setup(s){const e=new Oc,t=Pe(),{loginLoading:i}=Fe(t),{extraSmallMobileActive:n}=Xt(),r=Y(!1),o=Y(!1),{data:a}=e.apiInfoQuery();ve(n,u=>{u?document.documentElement.classList.add("disable-overflow-scroll"):document.documentElement.classList.remove("disable-overflow-scroll")});const c=async u=>{var h,m,b,w;try{await t.login(u)}catch(_){console.error(((m=(h=_.response)==null?void 0:h.data)==null?void 0:m.message)??_.message??_),De.error(((w=(b=_.response)==null?void 0:b.data)==null?void 0:w.message)??_.message??_),i.value=!1}};return Qt(()=>{n.value&&document.documentElement.classList.add("disable-overflow-scroll")}),On(()=>{document.documentElement.classList.remove("disable-overflow-scroll")}),(u,h)=>(V(),q("main",su,[P("div",iu,[h[4]||(h[4]=P("div",{class:"flex flex-col items-center justify-center mt-safe mb-10"},[P("img",{src:Ci,alt:"camera.ui",width:"90"}),P("div",{class:"text-xl ml-3 font-bold text-color"},"camera.ui")],-1)),D(y(la),{class:"w-full mt-5 mb-5","validation-schema":y(tu),onSubmit:h[2]||(h[2]=m=>c(m))},{default:N(()=>[P("div",null,[P("label",nu,G(u.$t("components.form.label.username")),1),D(y(Hs),{name:"username"},{default:N(({field:m,errorMessage:b,errors:w})=>[D(qi,us({variant:"outlined"},m,{type:"text",name:"username",error:w.length>0,"error-messages":b,density:"compact"}),null,16,["error","error-messages"])]),_:1})]),h[3]||(h[3]=P("div",{class:"py-2"},null,-1)),P("div",ru,[P("label",ou,G(u.$t("components.form.label.password")),1),D(y(Hs),{name:"password"},{default:N(({field:m,errorMessage:b,errors:w})=>[D(qi,us({name:"password",variant:"outlined"},m,{type:y(r)?"text":"password",error:w.length>0,"error-messages":b,density:"compact","append-inner-icon":y(r)?y($o):y(zo),"onClick:appendInner":h[0]||(h[0]=_=>r.value=!y(r))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1}),P("div",au,[P("div",lu,[D(y(Hs),{name:"rememberMe",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:N(({field:m,errorMessage:b,errors:w})=>[P("label",cu,G(u.$t("components.form.label.remember_me")),1),D(Po,us({"model-value":y(o),name:"rememberMe"},m,{color:"#df2a4c",type:"checkbox",error:w.length>0,"error-messages":b,"hide-details":"",onChange:h[1]||(h[1]=_=>o.value=!y(o))}),null,16,["model-value","error","error-messages"])]),_:1})])])]),D(qe,{class:"text-white mt-6",height:"40px",loading:y(i),type:"submit",elevation:"1",width:"100%",color:"#df2a4c"},{default:N(()=>[he(G(u.$t("components.form.button.login")),1)]),_:1},8,["loading"])]),_:1},8,["validation-schema"]),D(qe,{icon:y(Uo),class:"login-github",density:"compact",variant:"plain"},null,8,["icon"]),y(n)?(V(),q("div",uu,"camera.ui"+G(y(a)?` v${y(a).version}`:""),1)):le("",!0)]),y(n)?le("",!0):(V(),q("div",du,"camera.ui"+G(y(a)?` v${y(a).version}`:""),1))]))}}),pu=ae(hu,[["__scopeId","data-v-0f1ce9ac"]]),Wt=[{name:"NotFound",path:"/:pathMatch(.*)*",component:Rc,meta:{name:"notfound",auth:{requiresAuth:!1,role:"none"},ui:{disableMaxWidth:!0,fullscreen:!0,hideSidebar:!0,hideTopbar:!0},navigation:{hideRoute:!0}}},{name:"Login",path:"/login",alias:"/",component:pu,meta:{name:"login",auth:{requiresAuth:!1,role:"none"},ui:{disableMaxWidth:!0,fullscreen:!0,hideSidebar:!0,hideTopbar:!0},navigation:{hideRoute:!0}}},{name:"FirstSteps",path:"/first-steps",component:()=>Se(()=>import("./FirstSteps.eKqamXQr.0.0.34-alpha.3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),meta:{name:"firststeps",auth:{requiresAuth:!0,role:"user"},ui:{disableMaxWidth:!0,fullscreen:!0,hideSidebar:!0,hideTopbar:!0},navigation:{hideRoute:!0}}},{name:"Cameras",path:"/cameras",component:()=>Se(()=>import("./Cameras.DReUzJFC.0.0.34-alpha.3.js"),__vite__mapDeps([33,34,1,2,3,4,35,36,5,22,8,17,18,19,20,9,10,21,11,12,37,16,38,39,40,41,7,42,43,44,45,13,14,15,23,24,25,26,27,28,29,30,6,31,46])),meta:{name:"cameras",auth:{requiresAuth:!0,role:"user"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{routePosition:"top",icon:qo,showMobileBottomBar:!0,showInMobileBottomBar:!0}}},{name:"Camera",path:"/cameras/:cameraname",component:()=>Se(()=>import("./Camera.Ea4lzNkY.0.0.34-alpha.3.js"),__vite__mapDeps([47,1,2,3,4,8,17,18,19,20,9,10,34,35,36,5,22,21,11,12,37,16,38,39,40,41,7,42,43,44,13,14,15,23,24,25,26,27,28,29,30,6,31,48])),meta:{name:"camera",auth:{requiresAuth:!0,role:"user"},ui:{disableScrollOnMobile:!0,disableMaxWidth:!1,fullWidthRouterView:!0,fullscreenOnMobile:!0},navigation:{hideRoute:!0}}},{name:"Camview",path:"/camview",component:()=>Se(()=>import("./Camview.C-lHMDIW.0.0.34-alpha.3.js"),__vite__mapDeps([49,1,2,3,4,9,10,5,34,35,36,22,8,17,18,19,20,21,11,12,37,16,38,39,40,41,7,42,43,44,50,51,52,53,54,55,56,13,14,15,23,24,25,26,27,28,29,30,6,31,57])),meta:{name:"camview",auth:{requiresAuth:!0,role:"user"},ui:{appBgColor:"#000000",disableScroll:!0,disableMaxWidth:!0,fullWidthRouterView:!0},navigation:{icon:Ho,showMobileBottomBar:!0,showInMobileBottomBar:!0}}},{name:"NewCamera",path:"/new-camera",component:()=>Se(()=>import("./NewCamera.BtPDCsHx.0.0.34-alpha.3.js"),__vite__mapDeps([58,34,1,2,3,4,35,36,5,22,8,17,18,19,20,9,10,21,11,12,37,16,38,39,40,41,7,42,43,44,59,60,61,62,63,64,65,66,45,13,14,15,23,24,25,26,27,28,29,30,6,31,67])),meta:{name:"newcamera",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{hideRoute:!0,icon:Fo,showMobileBottomBar:!0,showInMobileBottomBar:!0}}},{name:"Recordings",path:"/recordings",component:()=>Se(()=>import("./Recordings.BsYf9qT2.0.0.34-alpha.3.js"),__vite__mapDeps([68,1,2,3,11,12,13,14,15,16,8,7,17,18,19,20,9,10,4,5,21,22,23,24,25,26,27,28,29,30,6,31])),meta:{name:"recordings",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{icon:Zi,showMobileBottomBar:!0,showInMobileBottomBar:!0}}},{name:"Config",path:"/config",component:()=>Se(()=>import("./Config.DmARP8un.0.0.34-alpha.3.js"),__vite__mapDeps([69,70,71,19,20,17,1,2,3,18,4,11,12,16,72,45,8,9,10,13,14,15,7,5,21,22,23,24,25,26,27,28,29,30,6,31,73])),meta:{name:"config",auth:{requiresAuth:!0,role:"admin"},ui:{disableScroll:!0,disableMaxWidth:!0,fullWidthRouterView:!0},navigation:{icon:Hn,showMobileBottomBar:!0}}},{name:"Console",path:"/console",component:()=>Se(()=>import("./Console.BQON6fJL.0.0.34-alpha.3.js"),__vite__mapDeps([74,1,2,3,4,72,11,12,16,42,19,20,17,18,43,8,9,10,13,14,15,7,5,21,22,23,24,25,26,27,28,29,30,6,31,75])),meta:{name:"console",auth:{requiresAuth:!0,role:"admin"},ui:{disableScroll:!0,disableMaxWidth:!0,appBgColor:"#000000",fullWidthRouterView:!0},navigation:{icon:Fn,showMobileBottomBar:!0}}},{name:"Plugins",path:"/plugins",component:()=>Se(()=>import("./Plugins.-l2XhEap.0.0.34-alpha.3.js"),__vite__mapDeps([76,77,70,71,19,20,17,1,2,3,18,4,78,79,11,12,37,16,42,43,80,8,9,10,81,13,14,15,7,5,21,22,23,24,25,26,27,28,29,30,6,31,82])),meta:{name:"plugins",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{icon:Zn,showMobileBottomBar:!0}}},{name:"ScopedPlugin",path:"/plugins/:scope/:pluginname",component:()=>Se(()=>import("./Plugin.BVXV2PUf.0.0.34-alpha.3.js"),__vite__mapDeps([83,34,1,2,3,4,35,36,5,22,8,17,18,19,20,9,10,21,11,12,37,16,38,39,40,41,7,42,43,44,77,70,71,78,79,80,81,59,60,61,62,63,64,65,66,13,14,15,23,24,25,26,27,28,29,30,6,31,84])),meta:{name:"plugin",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{hideRoute:!0,showMobileBottomBar:!0}}},{name:"Plugin",path:"/plugins/:pluginname",component:()=>Se(()=>import("./Plugin.BVXV2PUf.0.0.34-alpha.3.js"),__vite__mapDeps([83,34,1,2,3,4,35,36,5,22,8,17,18,19,20,9,10,21,11,12,37,16,38,39,40,41,7,42,43,44,77,70,71,78,79,80,81,59,60,61,62,63,64,65,66,13,14,15,23,24,25,26,27,28,29,30,6,31,84])),meta:{name:"plugin",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{hideRoute:!0,showMobileBottomBar:!0}}},{name:"Adminpanel",path:"/admin",component:()=>Se(()=>import("./Adminpanel.BJr3r0Mz.0.0.34-alpha.3.js"),__vite__mapDeps([85,1,2,3,4,8,9,10,11,12,37,16,80,72,13,14,15,7,17,18,19,20,5,21,22,23,24,25,26,27,28,29,30,6,31,86])),meta:{name:"adminpanel",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!1},navigation:{routePosition:"bottom",icon:Wn,showMobileBottomBar:!0}}},{name:"Settings",path:"/settings",component:()=>Se(()=>import("./Settings.TaefKvyW.0.0.34-alpha.3.js"),__vite__mapDeps([87,1,2,3,7,17,18,19,20,8,9,10,4,11,12,13,14,15,16,5,21,22,23,24,25,26,27,28,29,30,6,31,88])),meta:{name:"settings",path:"/settings/account",auth:{requiresAuth:!0,role:"user"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{routePosition:"bottom",icon:Zo,showMobileBottomBar:!0,showInMobileBottomBar:!0}},children:[{name:"Settings-Account",path:"account",component:()=>Se(()=>import("./Account.DvvXyN4T.0.0.34-alpha.3.js"),__vite__mapDeps([89,1,2,3,4,5,11,12,8,9,10,13,14,15,16,7,17,18,19,20,21,22,23,24,25,26,27,28,29,30,6,31,90])),meta:{name:"account",description:"account_description",auth:{requiresAuth:!0,role:"user"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{icon:Wo,showMobileBottomBar:!0}}},{name:"Settings-Appearance",path:"appearance",component:()=>Se(()=>import("./Appearance.uXdE85qT.0.0.34-alpha.3.js"),__vite__mapDeps([91,1,2,3,8,9,10,11,12,13,14,15,16,7,17,18,19,20,4,5,21,22,23,24,25,26,27,28,29,30,6,31])),meta:{name:"appearance",description:"appearance_description",auth:{requiresAuth:!0,role:"user"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{hideRoute:!0,icon:Go,showMobileBottomBar:!0}}},{name:"Settings-User",path:"user",component:()=>Se(()=>import("./User.CJDkU1R1.0.0.34-alpha.3.js"),__vite__mapDeps([92,1,2,3,4,5,9,10,11,12,13,14,15,16,8,7,17,18,19,20,21,22,23,24,25,26,27,28,29,30,6,31,93])),meta:{name:"user",description:"user_description",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{hideRoute:!0,icon:Ko,showMobileBottomBar:!0}}},{name:"Settings-Recordings",path:"recordings",component:()=>Se(()=>import("./Recordings.D4DiPFO4.0.0.34-alpha.3.js"),__vite__mapDeps([94,1,2,3,11,12,13,14,15,16,8,7,17,18,19,20,9,10,4,5,21,22,23,24,25,26,27,28,29,30,6,31])),meta:{name:"recordings",description:"recordings_description",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{hideRoute:!0,icon:Zi,showMobileBottomBar:!0}}},{name:"Settings-Backup",path:"backup",component:()=>Se(()=>import("./Backup.BOpdR87Y.0.0.34-alpha.3.js"),__vite__mapDeps([95,1,2,3,11,12,72,16,4,9,10,13,14,15,8,7,17,18,19,20,5,21,22,23,24,25,26,27,28,29,30,6,31,96])),meta:{name:"backup",description:"backup_description",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{hideRoute:!0,icon:Qo,showMobileBottomBar:!0}}},{name:"Settings-System",path:"system",component:()=>Se(()=>import("./System.D5b8zuRP.0.0.34-alpha.3.js"),__vite__mapDeps([97,1,2,3,5,72,11,12,16,42,19,20,17,18,43,21,22,45,98,9,10,13,14,15,8,7,4,23,24,25,26,27,28,29,30,6,31])),meta:{name:"system",description:"system_description",auth:{requiresAuth:!0,role:"admin"},ui:{disableMaxWidth:!1,fullWidthRouterView:!0},navigation:{hideRoute:!0,icon:Yo,showMobileBottomBar:!0}}}]}],Gt=vo({history:_o(),routes:Wt,scrollBehavior(){return{x:0,y:0,behavior:"smooth"}}});Gt.absUrl=(s="#",e=!0)=>{const t=document.createElement("a");t.href=s,t.target=e&&s!=="#"?"_blank":"",e&&(t.rel="noopener noreferrer"),t.click()};Gt.beforeEach(async(s,e,t)=>{const i=Kt(),n=Pe(),r=Rr(),o=s.name.toLowerCase(),a=localStorage.getItem("lastPage");if(r.routerLoading=!0,n.loginState.user){n.loginState.user.firstLogin&&s.path!=="/first-steps"?t("/first-steps"):!n.loginState.user.firstLogin&&s.path==="/first-steps"||s.meta.auth.requiresAuth&&s.meta.auth.role&&n.loginState.user.role!==s.meta.auth.role&&n.loginState.user.role!=="admin"?t("/cameras"):o==="login"&&a&&a!=="/"?t(a):s.path==="/settings"?t("/settings/account"):t(),await i.cancelQueries(void 0,{revert:!1});try{s.path!=="/settings"&&await Yn()}catch(c){console.error(c),await n.logout(),Gt.push("/")}}else o!=="login"?t("/"):t();r.routerLoading=!1});Gt.afterEach(s=>{const e=["login","notfound","firststeps"],t=s.name.toLowerCase();e.includes(t)||localStorage.setItem("lastPage",s.path),window.scrollTo(0,0)});const Ps=class Ps{constructor(){}static get manager(){return this._manager||this.createManager(),this._manager}static createManager(){Ps._manager=new ca(window.origin,{reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,reconnectionDelayMax:5e3,randomizationFactor:.5,timeout:2e4,autoConnect:!0,transports:["websocket","polling"],rejectUnauthorized:!1,secure:!0})}};R(Ps,"_manager");let yi=Ps;const Oi=Lt("socket",()=>{const s=Y(new Map),e=Y(!1),t=Y(!0),i=()=>{const b=Pe(),w=s.value.get("/camera.ui");return w?r(w,"/camera.ui",b):o("/camera.ui",b)},n=b=>{const w=Pe(),_=s.value.get(b);return _?r(_,b,w):o(b,w)},r=(b,w,_)=>(b.connected=new ua,a(b,w,_),b),o=(b,w)=>{const _=Y(c(b,w));return a(_.value,b,w),s.value.set(b,_.value),_.value},a=(b,w,_)=>{b.socket.on("connect",()=>{var T;(T=b.connected)==null||T.next()}),w==="/camera.ui"&&(b.socket.on("connect",()=>{t.value?(e.value=!0,t.value=!1):m()}),b.socket.on("disconnect",()=>{e.value=!1}),b.socket.on("unauthenticated",()=>{e.value=!1,_.logout()}),b.socket.on("invalidToken",T=>{_.loginState.access_token===T&&(e.value=!1,_.logout())})),b.end=T=>{var O;w==="/camera.ui"&&(e.value=!1),b.socket.emit("end",T),b.socket.removeAllListeners(),(O=b.connected)==null||O.complete()},b.disconnect=T=>{var O;w==="/camera.ui"&&(e.value=!1),(O=b.end)==null||O.call(b,T),b.socket.disconnect(),s.value.delete(w)}},c=(b,w)=>{const _=`Bearer ${w.loginState.access_token}`,T=yi.manager.socket(b,{auth:{token:_}});return{socket:T,request:(M,B)=>new da(I=>{T.emit(M,B,j=>{typeof j=="object"&&j.error?I.error(j):I.next(j),I.complete()})})}},u=X(()=>b=>{const w=s.value.get(b);return w&&r(w,b,Pe()),w}),h=b=>{s.value.forEach(w=>{var _;(_=w.disconnect)==null||_.call(w,b)}),e.value=!1},m=()=>{window.location.reload()};return{isConnected:e,namespaceConnectionCache:s,connect:i,connectToNamespace:n,getExistingNamespace:u,disconnect:h}}),Vi=Lt("theme",()=>{const s=localStorage.getItem("theme"),e=s?JSON.parse(s):{theme:"dark",autoMode:!0},t=zi(e.theme,{onBeforeChange(){if(n.value)window.scrollTo(0,0);else return!1},onChanged(_){e.theme=_,localStorage.setItem("theme",JSON.stringify(e))}}),i=zi(e.autoMode,{onBeforeChange(_){if(_&&!n.value)return!1},onChanged(_){e.autoMode=_,localStorage.setItem("theme",JSON.stringify(e))}}),n=Y(!0),r=In(["light","dark"]),o=Ao();ve(i,_=>{_&&(t.value=c())}),ve(t,_=>{Vn(()=>{a(),h(_),m(_)}),n.value=!1});const a=()=>{let _;const T=document.getElementById("themeToggle"),O=T==null?void 0:T.getBoundingClientRect();if(O){const I=T.clientWidth,j=T.clientWidth;_={x:O.x+I/2,y:O.y+j/2}}else _={x:window.innerWidth/2,y:window.innerHeight/2};const M=document.getElementById("app"),B=document.getElementsByTagName("BODY")[0];if(M){const I=M.cloneNode(!1);I.id="appClone",I.style.cssText=window.getComputedStyle(M).cssText,I.innerHTML=M.innerHTML;const j=Math.max(window.innerWidth,window.innerHeight)*2;M.style.setProperty("--clip-size","0px"),M.style.setProperty("--clip-x-position",`${_.x}px`),M.style.setProperty("--clip-y-position",`${_.y}px`),M.classList.add("app-transition"),I.classList.remove("app-transition"),I.classList.add("app-placeholder"),B.appendChild(I);let K;const se=350,H=te=>{K||(K=te);const Z=te-K,F=Math.min(Z/se,1),_e=F*j;M.style.setProperty("--clip-size",`${_e}px`),F<1?requestAnimationFrame(H):(M.classList.remove("app-transition"),M.style.removeProperty("--clip-size"),M.style.removeProperty("--clip-x-position"),M.style.removeProperty("--clip-y-position"),B.removeChild(I),n.value=!0)};requestAnimationFrame(H)}},c=()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",u=()=>i.value?c():t.value,h=_=>{const T=document.getElementById("app");T==null||T.setAttribute("data-theme",_),document.body.setAttribute("data-theme",_),document.documentElement.setAttribute("data-mode",_)},m=_=>{o.global.name.value=_},b=()=>{t.value==="light"&&!i.value?t.value="dark":t.value==="dark"&&!i.value?i.value=!0:i.value&&(i.value=!1,t.value="light")},w=$n("(prefers-color-scheme: dark)");return ve(w,_=>{i.value&&(t.value=_?"dark":"light")}),h(u()),m(u()),{colors:r,theme:t,autoMode:i,setAppTheme:h,setVuetifyTheme:m,getSystemMode:c,toggleTheme:b}}),sf=["account","appearance","user","recordings","backup","system"],Vs=Lt("ui",()=>{const s=ki("ui",{cameras:{showEvents:!0},camview:{dragDisabled:!1},config:{zoom:12},console:{zoom:12},interface:{showBottomBarOnMobile:!0,selectedSettingsView:"account"}});return s.value.cameras||(s.value.cameras={showEvents:!0}),s.value.cameras.showEvents===void 0&&(s.value.cameras.showEvents=!0),s.value.camview||(s.value.camview={dragDisabled:!1}),s.value.camview.dragDisabled===void 0&&(s.value.camview.dragDisabled=!1),s.value.config||(s.value.config={zoom:12}),s.value.console.zoom===void 0&&(s.value.console.zoom=12),s.value.console||(s.value.console={zoom:12}),s.value.interface.showBottomBarOnMobile===void 0&&(s.value.interface.showBottomBarOnMobile=!0),s.value.interface||(s.value.interface={showBottomBarOnMobile:!0,selectedSettingsView:"account"}),!s.value.interface.showBottomBarOnMobile===void 0&&(s.value.interface.showBottomBarOnMobile=!0),s.value.interface.selectedSettingsView||(s.value.interface.selectedSettingsView="account"),{uiSettings:s}}),fu={class:"relative"},mu={key:0,class:"navigation-text ml-3"},gu={key:0,class:"mt-auto"},bu={class:"relative"},vu={key:0,class:"navigation-text ml-3"},_u={key:0,class:"w-full flex flex-row items-center"},yu={class:"navigation-text ml-3 text-white"},wu=He({__name:"VSidebarNavigation",props:{sidebarState:{default:"closed"}},setup(s){const e=Pe(),t=Vi(),i=Oi(),n=yt(),{isTouch:r}=Br(),o=Vs(),a=s,{uiSettings:c}=Fe(o),{theme:u}=Fe(t),{sidebarState:h}=pt(a),{loginLoading:m,loginState:b}=pt(e),w=Y(),_=Y(null),T=Y(!1),O=Y(!1),M=X(()=>h.value==="opened"||h.value==="overlay"),B=X(()=>Wt.filter(H=>{var te,Z,F;return!((te=H.meta)!=null&&te.navigation.hideRoute)&&((Z=H.meta)==null?void 0:Z.navigation.icon)&&((F=H.meta)==null?void 0:F.navigation.routePosition)!=="bottom"&&Ms(H)})),I=X(()=>Wt.filter(H=>{var te,Z,F;return!((te=H.meta)!=null&&te.navigation.hideRoute)&&((Z=H.meta)==null?void 0:Z.navigation.icon)&&((F=H.meta)==null?void 0:F.navigation.routePosition)==="bottom"&&Ms(H)})),j=X(()=>{let H=B.value.findIndex(Z=>Z.path===n.path);const te=n.path.split("/").filter(Z=>Z);if(te.length>1){const Z=te[0];H=B.value.findIndex(F=>F.path===`/${Z}`)}return H}),K=X(()=>{let H=I.value.findIndex(Z=>Z.path===n.path);const te=n.path.split("/").filter(Z=>Z);if(te.length>1){const Z=te[0];H=I.value.findIndex(F=>F.path===`/${Z}`)}return H});ve(b,()=>{var H,te,Z;((H=b.value.user)==null?void 0:H.role)==="admin"?(w.value=i.connectToNamespace("/server"),w.value.socket.on("plugin-updates",F=>{O.value=F.length>0||!1}),w.value.socket.on("server-updates",F=>{T.value=F.updateAvailable||F.betaUpdateAvailable||!1}),w.value.request("get-updates")):(Z=(te=w.value)==null?void 0:te.disconnect)==null||Z.call(te)},{deep:!0,immediate:!0});const se=async()=>{var H,te;try{await e.logout()}catch(Z){console.error(((te=(H=Z.response)==null?void 0:H.data)==null?void 0:te.message)??Z.message??Z)}};return Si(()=>{var H,te;(te=(H=w.value)==null?void 0:H.end)==null||te.call(H)}),(H,te)=>{const Z=Tr;return V(),q("div",{ref_key:"navigation",ref:_,class:"navigation flex flex-auto flex-col w-full relative"},[(V(!0),q(zt,null,ms(y(B),(F,_e)=>gs((V(),xe(et,{key:_e,class:st({"navigation-inner":!0,"navigation-inner-open":y(M),"navigation-inner-selected":y(j)===_e,"mb-10":_e===y(B).length-1}),to:F.path,active:y(j)===_e,theme:"dark",rounded:""},{default:N(()=>[P("div",fu,[F.name==="Plugins"&&y(O)?(V(),q("div",{key:0,class:"absolute z-1 nav-badge",style:be({background:y(j)===_e?"white":"red"})},null,4)):le("",!0),D(ke,{size:"20"},{default:N(()=>{var nt;return[he(G((nt=F.meta)==null?void 0:nt.navigation.icon),1)]}),_:2},1024)]),D(Pt,{name:"navigation-fade"},{default:N(()=>[y(M)?(V(),q("div",mu,G(H.$t(`navigation.${F.name.toLowerCase()}`)),1)):le("",!0)]),_:2},1024)]),_:2},1032,["class","to","active"])),[[Hi,{disabled:y(M)||y(r),text:H.$t(`navigation.${F.name.toLowerCase()}`),location:"end",theme:y(u)}]])),128)),y(I).length?(V(),q("div",gu)):le("",!0),(V(!0),q(zt,null,ms(y(I),(F,_e)=>gs((V(),xe(et,{key:_e,class:st(["navigation-inner",{"navigation-inner-open":y(M)}]),to:F.path==="/settings"?`${F.path}/${y(c).interface.selectedSettingsView}`:F.path,theme:"dark",rounded:""},{default:N(()=>[P("div",bu,[F.name==="Settings"&&y(T)?(V(),q("div",{key:0,class:"absolute z-1 nav-badge",style:be({background:y(K)===_e?"white":"red"})},null,4)):le("",!0),D(ke,{size:"20"},{default:N(()=>{var nt;return[he(G((nt=F.meta)==null?void 0:nt.navigation.icon),1)]}),_:2},1024)]),D(Pt,{name:"navigation-fade"},{default:N(()=>[y(M)?(V(),q("div",vu,G(H.$t(`navigation.${F.name.toLowerCase()}`)),1)):le("",!0)]),_:2},1024)]),_:2},1032,["class","to"])),[[Hi,{disabled:y(M)||y(r),text:H.$t(`navigation.${F.name.toLowerCase()}`),location:"end",theme:y(u)}]])),128)),D(et,{to:"/settings/account",class:"navigation-inner mb-0",active:!1,rounded:""},{default:N(()=>[D(Z,{src:"avatar",size:"20","show-border":""}),D(Pt,{name:"navigation-fade"},{default:N(()=>{var F;return[y(M)?(V(),q("div",_u,[P("div",yu,G((F=y(b).user)==null?void 0:F.username),1),D(qe,{class:"ml-auto",size:"28",color:"#fff",density:"compact",variant:"text",icon:"",loading:y(m),onClick:it(se,["prevent"])},{default:N(()=>[D(ke,{size:"20"},{default:N(()=>[he(G(y(Xo)),1)]),_:1})]),_:1},8,["loading"])])):le("",!0)]}),_:1})]),_:1})],512)}}}),Su=ae(wu,[["__scopeId","data-v-509ab887"]]),Gr=Symbol("symbol-key");var dt=(s=>(s[s.MINWIDTH=70]="MINWIDTH",s[s.MAXWIDTH=250]="MAXWIDTH",s))(dt||{});const xu={class:"sidebar-inner hide-scrollbar flex flex-col items-center p-4"},ku={key:0,class:"ml-3 font-bold text-white"},Eu=He({__name:"VSideBar",props:{state:{type:Boolean,default:!1}},emits:["sidebar-state"],setup(s,{emit:e}){const{mobileActive:t}=Xt(),i=e,n=s,{state:r}=pt(n),o=Y(window.electron!==void 0),a=Y(null),c=Y(0),u=Y(0),h=Y(),m=Y(!1),b=yt(),w=zn(Gr),_=X(()=>{let B=`left: ${c.value}px`;const I=`width: calc(env(safe-area-inset-left, 0px) + ${T.value}px)`,j="padding-left: env(safe-area-inset-left, 0px)",K="padding-top: env(safe-area-inset-top, 0px)";return h.value==="closed"&&(B=`left: calc(${c.value}px - env(safe-area-inset-left, 0px))`),`${B};${I};${j};${K};border-right: 1px solid var(--background-inner-sidebar)`}),T=X(()=>u.value>0?u.value:dt.MINWIDTH),O=X(()=>h.value==="opened"||h.value==="overlay");ve(r,()=>{var I;const B=(I=b.meta)!=null&&I.ui.noMinifiedSidebar?r.value?"overlay":"closed":void 0;M(B)}),ve(t,()=>{var I;const B=!O.value&&((I=b.meta)!=null&&I.ui.noMinifiedSidebar)?"closed":void 0;M(B)}),ve(b,()=>{var B,I;(B=b.meta)!=null&&B.ui.hideSidebar||(I=b.meta)!=null&&I.ui.noMinifiedSidebar||t.value?M("closed"):M("minified")},{deep:!0}),ve(h,B=>{B&&(w.emit({sidebarState:B}),i("sidebar-state",B))});const M=B=>{let I;switch(B?I=B:!t.value&&!r.value?I="minified":t.value&&!r.value?I="closed":t.value&&r.value?I="overlay":I="opened",I){case"overlay":h.value="overlay",c.value=0,u.value=dt.MAXWIDTH,m.value=!0;break;case"opened":h.value="opened",c.value=0,u.value=dt.MAXWIDTH,m.value=!1;break;case"closed":h.value="closed",c.value=-dt.MINWIDTH,u.value=0,m.value=!1;break;case"minified":h.value="minified",c.value=0,u.value=0,m.value=!1;break}};return As(()=>{var B,I,j;if((B=b.meta)!=null&&B.ui.defaultSidebarState){M((I=b.meta)==null?void 0:I.ui.defaultSidebarState);return}t.value||(j=b.meta)!=null&&j.ui.noMinifiedSidebar?M("closed"):M("minified")}),(B,I)=>{const j=Su;return V(),q("div",{ref_key:"sidebar",ref:a,class:"sidebar camera-no-outside",style:be(y(_))},[P("div",xu,[P("div",{class:"cursor-pointer flex flex-row w-full items-center",style:be(` margin-top: ${y(o)?30:0}px; padding-left: 4px`),onClick:I[0]||(I[0]=K=>B.$router.push({path:"/cameras"}))},[D(y(Kn),{src:y(Cs)("logo_animated.svg"),width:"32px",height:"32px",title:"camera.ui","aria-label":"camera.ui"},null,8,["src"]),D(Pt,{name:"navigation-fade"},{default:N(()=>[y(O)?(V(),q("div",ku,"camera.ui")):le("",!0)]),_:1})],4),D(j,{class:"mt-7","sidebar-state":y(h)},null,8,["sidebar-state"])])],4)}}}),Cu=ae(Eu,[["__scopeId","data-v-bec4662a"]]),Mu=He({__name:"VCustomDialog",props:$i({title:{},confirmText:{default:"components.form.button.save"},cancelText:{default:"components.form.button.close"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},width:{default:800},hideConfirmButton:{type:Boolean,default:!1},hideCancelButton:{type:Boolean,default:!1},fullscreenContent:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:$i(["close","confirm"],["update:modelValue"]),setup(s,{emit:e}){const{smallMobileActive:t}=Xt(),i=e,n=ho(s,"modelValue"),r=Y("0"),o=Y(1),a=Y(null),c=s,{title:u,confirmText:h,cancelText:m,loading:b,disabled:w,hideCancelButton:_,hideConfirmButton:T,width:O,fullscreenContent:M,fullscreen:B}=pt(c),{isSwiping:I,lengthY:j}=xo(a,{passive:!0,onSwipe(){if(j.value<0){const Z=Math.abs(j.value);r.value=`${Z}px`,o.value=1.1-Z/document.body.clientHeight}else r.value="0",o.value=1},onSwipeEnd(){j.value<0&&Math.abs(j.value)/document.body.clientHeight>=.25?(r.value="100%",o.value=0,setTimeout(()=>se(),50)):(r.value="0",o.value=1)}}),K=X(()=>B.value||t.value),se=()=>{n.value=!1,i("close")},H=()=>i("confirm"),te=()=>{r.value="0",o.value=1};return ve(n,Z=>{Z&&te()},{immediate:!0}),(Z,F)=>(V(),xe(Bo,{modelValue:n.value,"onUpdate:modelValue":F[3]||(F[3]=_e=>n.value=_e),scrim:!y(K),transition:y(K)?"dialog-bottom-transition":void 0,fullscreen:y(K),"scroll-strategy":"none",scrollable:"",width:y(K)?void 0:y(O)},{default:N(()=>[D(bs,{class:st(["dialog pt-safe",{animated:!y(I)}]),style:be({top:y(r),opacity:y(o)})},{default:N(()=>[D(Lo,{ref_key:"dialogTitle",ref:a,style:{"touch-action":"none"}},{default:N(()=>[P("div",{class:st(["flex",{"pl-safe":y(K),"pr-safe":y(K)}])},[P("span",null,G(y(u)),1),D(qe,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:F[0]||(F[0]=it(_e=>se(),["prevent"]))},{default:N(()=>[D(ke,{size:"20"},{default:N(()=>[he(G(y(Gn)),1)]),_:1})]),_:1})],2)]),_:1},512),D(To,{style:be(y(M)?"padding: 0 !important":"")},{default:N(()=>[P("div",{class:st(["w-full h-full",{"pl-safe":y(K),"pr-safe":y(K)}])},[po(Z.$slots,"content",{},void 0,!0)],2)]),_:3},8,["style"]),D(Un,null,{default:N(()=>[P("div",{class:st(["w-full flex",{"pl-safe":y(K),"pr-safe":y(K)}])},[y(_)?le("",!0):(V(),xe(qe,{key:0,class:"button-default",variant:"flat",rounded:"",loading:y(b),onClick:F[1]||(F[1]=it(_e=>se(),["prevent"]))},{default:N(()=>[he(G(Z.$t(y(m))),1)]),_:1},8,["loading"])),y(T)?le("",!0):(V(),xe(qe,{key:1,class:"ml-auto",variant:"flat",color:"green",type:"submit",rounded:"",loading:y(b),disabled:y(w),onClick:F[2]||(F[2]=it(_e=>H(),["prevent"]))},{default:N(()=>[he(G(Z.$t(y(h))),1)]),_:1},8,["loading","disabled"]))],2)]),_:1})]),_:3},8,["class","style"])]),_:3},8,["modelValue","scrim","transition","fullscreen","width"]))}}),Pu=ae(Mu,[["__scopeId","data-v-c59549bd"]]),Au={class:"notifications overflow-hidden overflow-y-auto"},Lu={class:"notification-item w-full flex flex-row"},Tu={class:"notification-container w-full"},Bu={class:"w-full h-full flex flex-col justify-center"},Ru={class:"w-full flex flex-row mb-1"},Iu={class:"flex flex-row items-center justify-center"},Ou={class:"notification-title truncate mr-2"},Vu={class:"notification-time flex items-center ml-auto"},Du={class:"notification-text truncate"},ju={class:"w-full h-full flex justify-center items-center py-4"},Nu=He({__name:"VNotificationMenu",setup(s){const e=xi(),t=Oi(),i=Y(),n=Y(),r=Y(!1),o=Y(!1),a=Y([]),c=()=>{var w;a.value.splice(0,a.value.length),(w=i.value)==null||w.socket.emit("clear-notifications")},u=w=>{switch(w){case"info":return"rgb(33, 150, 243)";case"warn":return"rgb(251, 140, 0)";case"error":return"rgb(176, 0, 32)";default:return"rgb(69, 69, 69)"}},h=w=>{n.value=w,o.value=!0},m=()=>{o.value=!1,setTimeout(()=>{n.value=void 0},300)},b=()=>{var _;const w=n.value;if(w){const T=a.value.findIndex(O=>O._id===w._id);T!==-1&&(a.value.splice(T,1),(_=i.value)==null||_.socket.emit("remove-notification",w._id)),w.link&&e.push({path:w.link})}m()};return As(()=>{i.value=t.connectToNamespace("/notifications"),i.value.request("get-notifications").subscribe(w=>{a.value=w}),i.value.socket.on("notifications",w=>{a.value=w}),i.value.socket.on("remove-notification",w=>{const _=a.value.findIndex(T=>T._id===w||T.title===w);_!==-1&&a.value.splice(_,1)}),i.value.socket.on("clear-notifications",()=>{a.value=[]})}),Si(()=>{var w,_;(_=(w=i.value)==null?void 0:w.end)==null||_.call(w)}),(w,_)=>{var O,M;const T=Pu;return V(),q("div",null,[D(qn,{modelValue:y(r),"onUpdate:modelValue":_[1]||(_[1]=B=>Ut(r)?r.value=B:null),"close-on-content-click":"",location:"bottom",offset:"5"},{activator:N(({props:B})=>[y(Ms)(void 0,"admin")?(V(),xe(qe,us({key:0,class:"no-outside no-drag text-color",size:"28",rounded:"",density:"compact",variant:"text"},B),{default:N(()=>[y(a).length?(V(),xe(Ro,{key:0,color:"red",dot:""},{default:N(()=>[D(ke,{size:"20"},{default:N(()=>[he(G(y(Wi)),1)]),_:1})]),_:1})):(V(),xe(ke,{key:1,size:"20"},{default:N(()=>[he(G(y(Wi)),1)]),_:1}))]),_:2},1040)):le("",!0)]),default:N(()=>[y(a).length?(V(),xe(bs,{key:0,width:"300","max-height":"400",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:N(()=>[P("div",Au,[(V(!0),q(zt,null,ms(y(a),(B,I)=>(V(),q("div",{key:I},[D(et,{class:"notification w-full block",style:{"border-radius":"8px !important",margin:"0px !important"},onClick:it(j=>h(B),["prevent"])},{default:N(()=>[P("div",Lu,[P("div",Tu,[P("div",Bu,[P("div",Ru,[P("div",Iu,[P("span",Ou,G(B.title),1),D(Fi,{size:"x-small",color:u(B.type)},{default:N(()=>[he(G(w.$t(`components.notification_menu.${B.type}`)),1)]),_:2},1032,["color"])]),P("div",Vu,G(y(wc)(B.timestamp,"DD. MMM, HH:mm")),1)]),P("div",Du,G(B.text),1)])])])]),_:2},1032,["onClick"]),I!==y(a).length-1?(V(),xe(vs,{key:0,class:"notification-divider my-1"})):le("",!0)]))),128))]),D(vs,{class:"notification-divider"}),D(Un,{style:{padding:"0 !important",margin:"0 5px",height:"46px !important","min-height":"unset"}},{default:N(()=>[D(qe,{width:"100%",color:"#df2a4c",style:{"border-radius":"8px !important"},onClick:_[0]||(_[0]=it(B=>c(),["prevent"]))},{default:N(()=>[he(G(w.$t("components.notification_menu.clear_notifications"))+" ",1),D(Fi,{size:"x-small",class:"ml-2"},{default:N(()=>[he(G(y(a).length),1)]),_:1})]),_:1})]),_:1})]),_:1})):(V(),xe(bs,{key:1,width:"300","max-height":"400",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:N(()=>[P("div",ju,[P("span",null,G(w.$t("components.notification_menu.no_notifications")),1)])]),_:1}))]),_:1},8,["modelValue"]),D(T,{modelValue:y(o),"onUpdate:modelValue":_[2]||(_[2]=B=>Ut(o)?o.value=B:null),title:((O=y(n))==null?void 0:O.title)||"","confirm-text":(M=y(n))!=null&&M.link?"components.form.button.go_to_message":"components.form.button.mark_as_read",onConfirm:_[3]||(_[3]=B=>b())},{content:N(()=>{var B;return[P("span",null,G((B=y(n))==null?void 0:B.text),1)]}),_:1},8,["modelValue","title","confirm-text"])])}}}),$u=ae(Nu,[["__scopeId","data-v-59880c3a"]]),zu={id:"themeToggle",class:"theme-picker relative"},Uu={key:0,class:"theme-picker-auto"},qu={key:0,class:"theme-picker-automode"},Hu=He({__name:"VThemePicker",setup(s){const e=Vi(),{theme:t,autoMode:i}=Fe(e),n=()=>{t.value==="light"&&!i.value?t.value="dark":t.value==="dark"&&!i.value?i.value=!0:i.value&&(i.value=!1,t.value="light")};return(r,o)=>(V(),q("div",zu,[y(i)?(V(),q("div",Uu,"A")):le("",!0),D(qe,{size:"28",class:"text-color",rounded:"",density:"compact",variant:"text",onClick:o[0]||(o[0]=a=>n())},{default:N(()=>[y(i)?(V(),q("div",qu)):le("",!0),D(ke,{size:"20",style:be(`${y(t)==="dark"?"transform: rotate(-45deg)":""}`)},{default:N(()=>[he(G(y(t)==="dark"?y(Jo):y(ea)),1)]),_:1},8,["style"])]),_:1})]))}}),Fu=ae(Hu,[["__scopeId","data-v-8d4b2e13"]]),Zu={class:"sidebar-button fixed z-10 no-outside no-drag"},Wu={for:"check",class:"menu-icon-label"},Gu={class:"wrapper"},Ku={class:"flex flex-row w-full justify-start items-center"},Qu={class:"icon-wrapper"},Yu={class:"menu-item ml-2"},Xu={class:"flex flex-row w-full justify-start items-center"},Ju={class:"icon-wrapper"},ed={class:"menu-item ml-2"},td={class:"flex flex-row w-full justify-start items-center"},sd={class:"icon-wrapper"},id={class:"menu-item ml-2"},nd={class:"flex flex-row w-full justify-start items-center"},rd={class:"icon-wrapper"},od={class:"menu-item ml-2"},ad={class:"flex flex-row w-full justify-start items-center"},ld={class:"icon-wrapper"},cd={class:"menu-item ml-2"},ud={class:"flex flex-row w-full justify-start items-center"},dd={class:"icon-wrapper"},hd={class:"menu-item ml-2"},pd={class:"flex flex-row w-full justify-start items-center"},fd={class:"icon-wrapper"},md={class:"menu-item ml-2",style:{color:"#ef4444 !important"}},gd=He({__name:"VUserMenu",setup(s){const e=Pe(),{loginState:t}=e,i=Y(!1),n=async()=>{var o,a;try{await e.logout()}catch(c){console.error(((a=(o=c.response)==null?void 0:o.data)==null?void 0:a.message)??c.message??c)}},r=()=>{window.location.reload()};return(o,a)=>{var u;const c=Tr;return V(),q("div",null,[P("div",Zu,[D(qe,{size:"32",icon:"",density:"compact",variant:(u=o.$route.meta)!=null&&u.ui.hideTopbar?"elevated":"text",class:"no-drag camera-no-outside",onClick:a[1]||(a[1]=it(h=>i.value=!y(i),["prevent"]))},{default:N(()=>[P("label",Wu,[gs(P("input",{id:"check","onUpdate:modelValue":a[0]||(a[0]=h=>Ut(i)?i.value=h:null),type:"checkbox"},null,512),[[Dn,y(i)]]),a[5]||(a[5]=P("span",null,null,-1)),a[6]||(a[6]=P("span",null,null,-1)),a[7]||(a[7]=P("span",null,null,-1))])]),_:1},8,["variant"])]),D(qn,{modelValue:y(i),"onUpdate:modelValue":a[4]||(a[4]=h=>Ut(i)?i.value=h:null),"close-on-content-click":"",location:"bottom",offset:"17",target:"parent"},{default:N(()=>[D(bs,{width:"300",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:N(()=>[P("div",Gu,[D(et,{to:"/settings/account",style:{"border-radius":"5px !important"}},{default:N(()=>{var h;return[P("div",Ku,[P("div",Qu,[D(c,{src:"avatar",size:25,"show-border":"","spinner-size":10,"spinner-width":1})]),P("span",Yu,G((h=y(t).user)==null?void 0:h.username),1)])]}),_:1}),D(vs,{class:"divider my-1"}),D(et,{to:"/admin",style:{"border-radius":"5px !important"}},{default:N(()=>[P("div",Xu,[P("div",Ju,[D(ke,{size:"20",class:"text-passive"},{default:N(()=>[he(G(y(Wn)),1)]),_:1})]),P("span",ed,G(o.$t("components.user_menu.admin_panel")),1)])]),_:1}),a[8]||(a[8]=P("div",{class:"my-1"},null,-1)),D(et,{to:"/plugins",style:{"border-radius":"5px !important"}},{default:N(()=>[P("div",td,[P("div",sd,[D(ke,{size:"20",class:"text-passive"},{default:N(()=>[he(G(y(Zn)),1)]),_:1})]),P("span",id,G(o.$t("components.user_menu.plugins")),1)])]),_:1}),a[9]||(a[9]=P("div",{class:"my-1"},null,-1)),D(et,{to:"/console",style:{"border-radius":"5px !important"}},{default:N(()=>[P("div",nd,[P("div",rd,[D(ke,{size:"20",class:"text-passive"},{default:N(()=>[he(G(y(Fn)),1)]),_:1})]),P("span",od,G(o.$t("components.user_menu.console")),1)])]),_:1}),a[10]||(a[10]=P("div",{class:"my-1"},null,-1)),D(et,{to:"/config",style:{"border-radius":"5px !important"}},{default:N(()=>[P("div",ad,[P("div",ld,[D(ke,{size:"20",class:"text-passive"},{default:N(()=>[he(G(y(Hn)),1)]),_:1})]),P("span",cd,G(o.$t("components.user_menu.config")),1)])]),_:1}),a[11]||(a[11]=P("div",{class:"my-1"},null,-1)),D(et,{style:{"border-radius":"5px !important"},onClick:a[2]||(a[2]=it(h=>r(),["prevent"]))},{default:N(()=>[P("div",ud,[P("div",dd,[D(ke,{size:"20",class:"text-passive"},{default:N(()=>[he(G(y(ta)),1)]),_:1})]),P("span",hd,G(o.$t("components.user_menu.reload")),1)])]),_:1}),D(vs,{class:"divider my-1"}),D(et,{style:{color:"#ef4444 !important","border-radius":"5px !important"},onClick:a[3]||(a[3]=h=>n())},{default:N(()=>[P("div",pd,[P("div",fd,[D(ke,{size:"20",class:"red"},{default:N(()=>[he(G(y(sa)),1)]),_:1})]),P("span",md,G(o.$t("components.user_menu.logout")),1)])]),_:1})])]),_:1})]),_:1},8,["modelValue"])])}}}),bd=ae(gd,[["__scopeId","data-v-eeba1ae2"]]);var bt=(s=>(s[s.MINHEIGHT=45]="MINHEIGHT",s[s.MAXHEIGHT=45]="MAXHEIGHT",s[s.OFFSET=5]="OFFSET",s))(bt||{});const vd=He({__name:"VTopBar",props:{sidebarState:{default:"closed"}},emits:["topbar-state"],setup(s,{emit:e}){const t=s,i=e,n=Vs(),r=yt(),{extraSmallMobileActive:o}=Xt(),{uiSettings:a}=Fe(n),{sidebarState:c}=pt(t),u=Y(),h=zn(Gr),m=ko(),b=X(()=>{var T;let _="calc(env(safe-area-inset-left, 0px) + 0.5rem)";if(!((T=r.meta)!=null&&T.ui.hideSidebar))switch(c.value){case"closed":case"overlay":_="calc(env(safe-area-inset-left, 0px) + 0.5rem)";break;case"minified":_="0.5rem";break;case"opened":_="0.5rem";break}return`padding-left: ${_}`}),w=X(()=>m.y.value>=bt.OFFSET?`height: calc(env(safe-area-inset-top, 0px) + ${bt.MINHEIGHT}px);`:`height: calc(env(safe-area-inset-top, 0px) + ${bt.MAXHEIGHT}px);`);return ve(m.y,_=>{_>=bt.OFFSET?u.value="minified":u.value="default"}),ve(u,_=>{_&&(h.emit({topbarState:_}),i("topbar-state",_))}),As(()=>{m.y.value===0&&(u.value="default")}),Qt(()=>{m.y.value>=bt.OFFSET&&(u.value="default")}),(_,T)=>{const O=bd,M=Fu,B=$u;return V(),q("div",{class:"topbar flex justify-cente items-center",style:be(`${y(w)}${y(u)==="minified"?"box-shadow: 0px 0px 30px 1px rgba(0, 0, 0, 0.08)":""}`)},[P("div",{class:"topbar-inner h-full flex flex-row items-center p-2 mt-safe",style:be(y(b))},[y(o)&&y(a).interface.showBottomBarOnMobile?(V(),xe(O,{key:0,class:"no-drag"})):le("",!0),D(M,{class:"ml-auto mr-2 no-outside no-drag"}),D(B,{class:"no-drag"})],4)],4)}}}),_d=ae(vd,[["__scopeId","data-v-ff3f29ca"]]),yd={class:"electron-titlebar"},wd=He({__name:"VWindowButtons",emits:["minify","close","expand"],setup(s,{emit:e}){const t=e,i=Y(window.electron!==void 0),n=Y(!1),r=()=>{n.value||t("minify",!0)},o=()=>{t("close",!0)},a=()=>{t("expand",!0)};return Qt(()=>{i.value&&window.electron.on("fullscreen",(c,u)=>{n.value=u})}),On(()=>{i.value&&window.electron.removeAllListeners("fullscreen")}),(c,u)=>(V(),q("div",yd,[P("div",{class:"close-button mr-2 flex justify-center items-center",onClick:u[0]||(u[0]=h=>o())},[D(ke,{size:"12",color:"#7f050a",class:"window-icon"},{default:N(()=>[he(G(y(Gn)),1)]),_:1})]),P("div",{class:st(["mr-2 flex justify-center items-center",{"disabled-button":y(n),"minify-button":!y(n)}]),onClick:u[1]||(u[1]=h=>r())},[y(n)?le("",!0):(V(),xe(ke,{key:0,size:"12",color:"#995712",class:"window-icon"},{default:N(()=>[he(G(y(ia)),1)]),_:1}))],2),P("div",{class:"expand-button flex justify-center items-center",onClick:u[2]||(u[2]=h=>a())},[D(ke,{size:"12",color:"#0d650d",style:be(`${y(n)?"transform: rotate(45deg)":"transform: rotate(-45deg)"}`),class:"window-icon"},{default:N(()=>[he(G(y(n)?y(na):y(ra)),1)]),_:1},8,["style"])])]))}}),Sd=ae(wd,[["__scopeId","data-v-07291b1b"]]),xd={class:"loader flex flex-col justify-center items-center"},kd={key:0,class:"absolute flex flex-col items-center justify-center pb-safe bottom-10"},Ed={key:0,class:"offline"},Cd={key:1,class:"text-center text-white text-sm font-bold mt-2"},Md=He({__name:"VLoadingLogo",props:{reload:{type:Boolean,default:!1},height:{default:"200px"},width:{default:"200px"},text:{},icon:{}},setup(s){const e=s,{reload:t,width:i,height:n,text:r,icon:o}=pt(e);let a,c;const u=()=>{clearInterval(a),clearTimeout(c)};return Qt(()=>{u(),t.value&&(a=setInterval(()=>{const h=document.getElementById("lens");h==null||h.classList.remove("cameraLens");const m=document.getElementById("CameraUI_U");m==null||m.classList.remove("cameraLetter"),c=setTimeout(()=>{h==null||h.classList.add("cameraLens"),m==null||m.classList.add("cameraLetter")},100)},2300))}),Si(()=>{u()}),(h,m)=>(V(),q("div",xd,[D(y(Kn),{src:y(Cs)("logo_loading_circle.svg"),width:y(i),height:y(n),title:"camera.ui","aria-label":"camera.ui"},null,8,["src","width","height"]),y(o)||y(r)?(V(),q("div",kd,[y(o)?(V(),q("div",Ed,[D(ke,{size:"30",class:"primary-color"},{default:N(()=>[he(G(y(o)),1)]),_:1})])):le("",!0),y(r)?(V(),q("div",Cd,G(y(r)),1)):le("",!0)])):le("",!0)]))}}),Pd=ae(Md,[["__scopeId","data-v-a050d191"]]),wi={HEIGHT:60,ITEM_WIDTH:60},Ad={class:"bottombar-wrapper"},Ld={ref:"bottombar",class:"bottombar flex flex-row w-full h-full place-content-evenly"},Td={class:"flex flex-col justify-center items-center"},Bd={key:0,class:"navigation-bottombar-title"},Rd=He({inheritAttrs:!1,__name:"VMobileNavigation",props:{routes:{},label:{type:Boolean,default:!1}},setup(s){fo(u=>({cadd3408:y(a)}));const e=yt(),t=Vs(),i=s,{uiSettings:n}=Fe(t),{routes:r,label:o}=pt(i),a=Y(`${wi.HEIGHT}px`),c=X(()=>{let u=r.value.findIndex(m=>m.path===e.path);const h=e.path.split("/").filter(m=>m);if(h.length>1){const m=h[0];u=r.value.findIndex(b=>b.path===`/${m}`)}return u});return(u,h)=>{const m=jn("router-link");return V(),q("div",Ad,[P("div",Ld,[(V(!0),q(zt,null,ms(y(r),(b,w)=>(V(),q("div",{key:w,class:"flex flex-row",style:be(`height: ${y(wi).HEIGHT}px; width: 20%;`)},[D(m,{to:b.path==="/settings"?`${b.path}/${y(n).interface.selectedSettingsView}`:b.path,class:st(["navigation-inner-bottombar flex justify-center items-start relative w-full",{"router-link-active":y(c)===w}])},{default:N(()=>[D(qe,{ref_for:!0,ref:"bottombarItem",variant:"text",width:"100%",height:"100%"},{default:N(()=>{var _,T;return[P("div",Td,[D(ke,{class:"navigation-bottombar-icon",size:((_=b.meta)==null?void 0:_.navigation.iconSize)||"22"},{default:N(()=>{var O;return[he(G((O=b.meta)==null?void 0:O.navigation.icon),1)]}),_:2},1032,["size"]),y(o)?(V(),q("span",Bd,G(u.$t(`navigation.${(T=b.meta)==null?void 0:T.name}`)),1)):le("",!0)])]}),_:2},1536)]),_:2},1032,["to","class"])],4))),128))],512)])}}}),Id=ae(Rd,[["__scopeId","data-v-d1c3b43a"]]),Od=Lt("locale",()=>{const s=ki("locale",_s),e=Y(Qn),t=Io();ve(s,r=>{i(r),n(r)});const i=r=>{var o;(o=window.electron)==null||o.send("change-language",r),je.global.locale.value=r},n=r=>{t.current.value=r};return i(s.value),n(s.value),{languages:e,locale:s,setI18Nlocale:i,setVuetifyLocale:n}}),Vd={key:0,class:"overlay"},Dd={class:"flex flex-row w-full h-full"},jd={for:"check",class:"menu-icon-label"},Nd=He({__name:"App",setup(s){const e=yt(),t=xi(),i=Kt(),n=Pe(),r=Oi(),o=Vi(),a=Rr(),{bigDesktopActive:c,extraSmallMobileActive:u,mobileActive:h}=Xt(),{isPWA:m}=Br(),b=Vs();Od();const{routerLoading:w}=Fe(a),{isLoggedIn:_}=Fe(n),{theme:T}=Fe(o),{isConnected:O}=Fe(r),{uiSettings:M}=Fe(b),B=Y(),I=Y(null),j=Y(window.electron!==void 0),K=Y(!0),se=Y(!1),H=Y(!1),te=Y(null),Z=Y(),F=Y("default"),_e=Y(0),nt=X(()=>Wt.filter($=>{var J;return((J=$.meta)==null?void 0:J.navigation.showInMobileBottomBar)&&Ms($)})),ft=Y(!0);Eo(te,$=>{!$.target.closest(".no-outside")&&(!c.value||Z.value==="overlay")&&(se.value=!1)});const Ee=X(()=>Wt.find($=>$.name===e.name)),Ds=X(()=>{var $;return(($=e.meta.auth)==null?void 0:$.requiresAuth)&&!_.value||K.value}),St=X(()=>u.value&&e.name==="Camview"),Tt=X(()=>{let $="0px";switch(Z.value){case"closed":case"overlay":$="0px";break;case"minified":$=`${dt.MINWIDTH}px`;break;case"opened":$=`${dt.MAXWIDTH}px`;break}return`calc(env(safe-area-inset-left, 0px) + ${$} + 8px)`}),Bt=X(()=>Z.value==="opened"||Z.value==="overlay"),xt=X(()=>{var J,Oe;if((J=e.meta)!=null&&J.ui.fullscreen)return"0px";let $="0px";if(!((Oe=e.meta)!=null&&Oe.ui.hideSidebar))switch(Z.value){case"closed":case"overlay":$="0px";break;case"minified":$=`${dt.MINWIDTH}px`;break;case"opened":$=`${dt.MAXWIDTH}px`;break}return`calc(env(safe-area-inset-left, 0px) + ${$})`}),js=X(()=>{var J,Oe;let $="0px";if(!((J=e.meta)!=null&&J.ui.hideTopbar)&&!((Oe=e.meta)!=null&&Oe.ui.fullscreen))switch(F.value){case"default":$=`${bt.MAXHEIGHT}px`;break;case"minified":$=`${bt.MINHEIGHT}px`;break}return`calc(env(safe-area-inset-top, 0px) + ${$})`}),Ns=X(()=>!["Login","NotFound","FirstSteps"].includes(e.name)&&Z.value==="overlay");ve(Ee,$=>{var J,Oe;(J=$==null?void 0:$.meta)!=null&&J.ui.disableScroll||(Oe=$==null?void 0:$.meta)!=null&&Oe.ui.disableScrollOnMobile&&h.value?document.documentElement.classList.add("disable-overflow-scroll"):document.documentElement.classList.remove("disable-overflow-scroll")},{immediate:!0,deep:!0}),ve(_,$=>{$?B.value=r.connect():(B.value=void 0,r.disconnect())},{immediate:!0}),ve(ft,($,J)=>{J===!1&&$===!0&&i.refetchQueries()}),ve(Bt,$=>{Vn(()=>H.value=$)}),ve(Z,()=>{se.value&&!Bt.value&&(se.value=!1)}),ve([T,h],()=>{Ke()},{deep:!0}),ve(O,$=>{_.value?ft.value=$:ft.value=!0}),ve(w,$=>{let J="body";document.querySelector(".topbar")&&(J=".topbar");const{isLoading:mt}=Co(0,{parent:J});mt.value=$});const Jt=()=>{se.value=!se.value},es=()=>{var $;($=window.electron)==null||$.send("change-window","close")},Ne=()=>{var $;($=window.electron)==null||$.send("change-window","expand")},$s=()=>{var $;($=window.electron)==null||$.send("change-window","minify")},Ke=()=>{so({autoClose:3e3,pauseOnHover:!0,closeOnClick:!0,pauseOnFocusLoss:!1,theme:T.value==="dark"?"dark":"light",position:h.value?"bottom-center":"bottom-right"})};return As(()=>{h.value&&(se.value=!1)}),Qt(async()=>{Ke(),await t.isReady(),_e.value++,K.value=!1}),($,J)=>{var Rt,ss,$e,is,S,l,d,f,g,v,x,k,L,E,C,A,z,W,ue,de,ge;const Oe=Pd,mt=Sd,ts=_d,zs=Cu,Us=jn("router-view");return V(),q(zt,null,[y(Ds)||!y(ft)?(V(),q("div",{key:0,class:"flex w-full h-full justify-center items-center absolute z-50",style:be({minHeight:y(m)?"100vh !important":"100dvh !important"})},[D(Oe,{reload:"",icon:y(ft)?void 0:y(oa)},null,8,["icon"])],4)):(V(),q("div",{key:1,ref_key:"appEl",ref:I,class:"app-wrapper",style:be({minHeight:y(m)?"100vh !important":"100dvh !important"})},[D(Pt,{name:"overlay-fade",mode:"in-out"},{default:N(()=>[y(Ns)?(V(),q("div",Vd)):le("",!0)]),_:1}),P("div",Dd,[y(St)?(V(),q("div",{key:0,class:st(["sidebar-button fixed z-10 no-outside no-drag",{"mt-6":y(j)&&y(Z)==="closed"}]),style:be({marginLeft:y(Tt)})},[D(qe,{size:"32",icon:"",density:"compact",variant:(Rt=$.$route.meta)!=null&&Rt.ui.hideTopbar?"elevated":"text",class:"no-drag camera-no-outside",onClick:J[0]||(J[0]=it(ne=>y(t).push("/cameras"),["prevent"]))},{default:N(()=>[D(ke,{size:"24"},{default:N(()=>[he(G(y(aa)),1)]),_:1})]),_:1},8,["variant"])],6)):le("",!0),P("div",{class:"draggable-title drag",style:be({pointerEvents:(ss=$.$route.meta)!=null&&ss.ui.hideTopbar?"none":"unset"})},[y(j)?(V(),xe(mt,{key:0,class:"no-drag",onMinify:J[1]||(J[1]=ne=>$s()),onClose:J[2]||(J[2]=ne=>es()),onExpand:J[3]||(J[3]=ne=>Ne())})):le("",!0),(!y(M).interface.showBottomBarOnMobile||y(M).interface.showBottomBarOnMobile&&!y(u))&&(!(($e=$.$route.meta)!=null&&$e.ui.hideSidebar)||(is=$.$route.meta)!=null&&is.ui.noMinifiedSidebar)?(V(),q("div",{key:1,class:st(["sidebar-button fixed z-10 no-outside no-drag",{"mt-6":y(j)&&y(Z)==="closed"}]),style:be({marginLeft:y(Tt)})},[D(qe,{size:"32",icon:"",density:"compact",variant:(S=$.$route.meta)!=null&&S.ui.hideTopbar?"elevated":"text",class:"no-drag camera-no-outside",onClick:J[5]||(J[5]=it(ne=>Jt(),["prevent"]))},{default:N(()=>[P("label",jd,[gs(P("input",{id:"check","onUpdate:modelValue":J[4]||(J[4]=ne=>Ut(H)?H.value=ne:null),type:"checkbox"},null,512),[[Dn,y(H)]]),J[8]||(J[8]=P("span",null,null,-1)),J[9]||(J[9]=P("span",null,null,-1)),J[10]||(J[10]=P("span",null,null,-1))])]),_:1},8,["variant"])],6)):le("",!0),(l=$.$route.meta)!=null&&l.ui.hideTopbar?le("",!0):(V(),xe(ts,{key:2,ref:"topbar","sidebar-state":y(Z),onTopbarState:J[6]||(J[6]=ne=>F.value=ne)},null,8,["sidebar-state"])),(d=$.$route.meta)!=null&&d.ui.hideSidebar?le("",!0):(V(),xe(zs,{key:3,ref_key:"sidebar",ref:te,state:y(se),onSidebarState:J[7]||(J[7]=ne=>Z.value=ne)},null,8,["state"]))],4),P("div",{class:"w-full relative",style:be({transition:"0.1s all ease-in-out",paddingLeft:y(xt),maxWidth:(f=$.$route.meta)!=null&&f.ui.disableMaxWidth?"100%":"var(--max-width)",background:((g=$.$route.meta)==null?void 0:g.ui.appBgColor)||"var(--background-app)",minHeight:"100dvh"})},[P("div",{class:"router-container",style:be({paddingTop:(v=$.$route.meta)!=null&&v.ui.fullscreen?void 0:y(js),paddingBottom:!((x=$.$route.meta)!=null&&x.ui.fullscreen)&&y(u)&&((k=$.$route.meta)!=null&&k.navigation.showMobileBottomBar)&&y(M).interface.showBottomBarOnMobile?`calc(env(safe-area-inset-bottom, 0px) + ${y(wi).HEIGHT}px)`:(L=$.$route.meta)!=null&&L.ui.fullscreen||(E=$.$route.meta)!=null&&E.ui.fullscreenOnMobile&&y(h)?void 0:"calc(env(safe-area-inset-bottom, 0px)"})},[D(Us,{class:"router-view",style:be({width:(C=$.$route.meta)!=null&&C.ui.fullscreen?"100% !important":void 0,padding:!((A=$.$route.meta)!=null&&A.ui.fullWidthRouterView)&&!((z=$.$route.meta)!=null&&z.ui.fullscreen)?"1rem":void 0})},{default:N(({Component:ne})=>[D(Pt,{name:"fade",mode:"out-in"},{default:N(()=>[(V(),xe(mo(ne)))]),_:2},1024)]),_:1},8,["style"])],4)],4)]),y(u)&&((W=$.$route.meta)!=null&&W.navigation.showMobileBottomBar)&&y(M).interface.showBottomBarOnMobile?(V(),xe(Id,{key:0,height:60,routes:y(nt),label:!1},null,8,["routes"])):le("",!0)],4)),P("div",{class:"fixed-bg",style:be({background:(ge=(de=(ue=y(e))==null?void 0:ue.meta)==null?void 0:de.ui)==null?void 0:ge.appBgColor})},null,4)],64)}}}),$d=ae(Nd,[["__scopeId","data-v-cc7a8af3"]]),zd=new ao({defaultOptions:{queries:{refetchOnWindowFocus:!1,gcTime:5*60*1e3,staleTime:1e4,networkMode:"always",retry:(s,e)=>{var t;return e instanceof Ni&&((t=e.response)==null?void 0:t.status)===401?(Pe().logout(),!1):(console.error(e),s<1)}},mutations:{retry:0,networkMode:"always",onError:s=>{var e,t,i,n;console.error(((t=(e=s.response)==null?void 0:e.data)==null?void 0:t.message)??s.message??s),s instanceof Ni?De.error(((n=(i=s.response)==null?void 0:i.data)==null?void 0:n.message)??s.message??s):De.error(s.message??s)}}}}),Ud=bo(),qd={},Hd={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Fd(s,e){return V(),q("svg",Hd,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm0 8h952v532H9V9Z"},null,-1)]))}const Zd=ae(qd,[["render",Fd]]),Wd={},Gd={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Kd(s,e){return V(),q("svg",Gd,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm726 275h226v130H735V276Zm-242 0h234v130H493V276Zm0 265V414h234v127H493ZM9 541V276h476v265H9Zm726 0V414h226v127H735ZM961 9v121H735V9h226ZM735 138h226v130H735V138ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Z"},null,-1)]))}const Qd=ae(Wd,[["render",Kd]]),Yd={},Xd={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Jd(s,e){return V(),q("svg",Xd,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 275v129H810.5V276H961Zm-158.5 0v129h-152V276h152Zm-152 265V413h152v128h-152Zm-8-265v129H493V276h149.5ZM493 541V413h149.5v128H493ZM9 276h476v265H9V276Zm801.5 265V413H961v128H810.5ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z"},null,-1)]))}const eh=ae(Yd,[["render",Jd]]),th={},sh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function ih(s,e){return V(),q("svg",sh,e[0]||(e[0]=[P("path",{d:"M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-273.5H485v129.5H250.5V276Zm-8 0v129.5H9V276h233.5ZM961 9v121H735V9h226ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Zm250 129h226v130H735V138Zm0 267.5V276h226v129.5H735ZM493 276h234v129.5H493V276Zm0 265V413.5h234V541H493Zm-242.5 0V413.5H485V541H250.5ZM9 541V413.5h233.5V541H9Zm726 0V413.5h226V541H735Z"},null,-1)]))}const nh=ae(th,[["render",ih]]),rh={},oh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function ah(s,e){return V(),q("svg",oh,e[0]||(e[0]=[P("path",{d:"M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-144V276H485v129.5H250.5Zm-8-129.5v129.5H9V276h233.5Zm570 90H961v82H812.5v-82Zm-160 0h152v82h-152v-82ZM961 276v82H812.5v-82H961Zm-308.5 0h152v82h-152v-82Zm0 180h152v85h-152v-85ZM961 541H812.5v-85H961v85Zm-316.5-93H493v-82h151.5v82Zm0-172v82H493v-82h151.5Zm0 180v85H493v-85h151.5ZM485 413.5V541H250.5V413.5H485Zm-242.5 0V541H9V413.5h233.5ZM961 9v259H493V9h468ZM9 9h476v259H9V9Z"},null,-1)]))}const lh=ae(rh,[["render",ah]]),ch={},uh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function dh(s,e){return V(),q("svg",uh,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v121.5H732.5V9H961ZM724.5 9v121.5H493V9h231.5ZM493 268V138.5h231.5V268H493Zm0 137.5V276h231.5v129.5H493Zm468 0H732.5V276H961v129.5ZM493 541V413.5h231.5V541H493Zm468 0H732.5V413.5H961V541Zm0-273H732.5V138.5H961V268ZM485 9v121.5H250.5V9H485ZM250.5 138.5H485V268H250.5V138.5ZM242.5 9v121.5H9V9h233.5ZM9 138.5h233.5V268H9V138.5ZM250.5 276H485v129.5H250.5V276Zm0 137.5H485V541H250.5V413.5Zm-8-137.5v129.5H9V276h233.5ZM9 541V413.5h233.5V541H9Z"},null,-1)]))}const hh=ae(ch,[["render",dh]]),ph={},fh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function mh(s,e){return V(),q("svg",fh,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 94v82H812.5V95H961Zm-156.5 82h-152V95h152v82ZM961 9v78H812.5V9H961ZM652.5 9h152v78h-152V9Zm0 176h152v83h-152v-83ZM961 268H812.5v-83H961v83Zm-308.5 8h152v82h-152v-82Zm160 0H961v82H812.5v-82Zm-168-181v82H493V95h151.5Zm0-86v78H493V9h151.5ZM493 268v-83h151.5v83H493Zm0 90v-82h151.5v82H493ZM9 9h476v259H9V9Zm952 357v82H812.5v-82H961Zm-156.5 0v82h-152v-82h152Zm-152 90h152v85h-152v-85ZM961 541H812.5v-85H961v85ZM644.5 366v82H493v-82h151.5ZM493 541v-85h151.5v85H493ZM9 276h476v265H9V276Z"},null,-1)]))}const gh=ae(ph,[["render",mh]]),bh={},vh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function _h(s,e){return V(),q("svg",vh,e[0]||(e[0]=[P("path",{"fill-rule":"evenodd",d:"M1.5 9A7.5 7.5 0 0 1 9 1.5h952a7.5 7.5 0 0 1 7.5 7.5v532a7.5 7.5 0 0 1-7.5 7.5H9a7.5 7.5 0 0 1-7.5-7.5V9Zm960 168V94h-153v83h153Zm-160 0h-153V94h153v83Zm7-90h153V9a.5.5 0 0 0-.5-.5H808.5V87Zm-7-78.5V87h-153V8.5h153Zm0 175.5v84.5h-153V184h153Zm7 84.5V184h153v84.5h-153Zm-167-91.5V94h-149v83h149Zm0-90V8.5h-149V87h149Zm-149 97h149v84.5h-149V184Zm0 91.5H719V402H492.5V275.5Zm0 133.5v132.5H719V409H492.5Zm233.5 0v132.5h235a.5.5 0 0 0 .5-.5V409H726Zm235.5-7V275.5H726V402h235.5Zm-476-270V8.5H252V132h233.5ZM245 139H8.5v129.5H245V139Zm0-7V8.5H9a.5.5 0 0 0-.5.5v123H245Zm240.5 136.5V139H252v129.5h233.5Zm-477 7h157v81H8.5v-81Zm164 81v-81h153v81h-153Zm153 7h-153v83h153v-83Zm7 83v-83h153v83h-153Zm-7 7h-153v88h153v-88Zm7 88v-88h153v88h-153Zm0-185v-81h153v81h-153Zm-324 7h157v83H8.5v-83Zm0 90h157v88H9a.5.5 0 0 1-.5-.5v-87.5Z"},null,-1)]))}const yh=ae(bh,[["render",_h]]),wh={},Sh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function xh(s,e){return V(),q("svg",Sh,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v259H493V9h468ZM493 541V276h468v265H493ZM485 9v259H9V9h476ZM9 541V276h476v265H9Z"},null,-1)]))}const kh=ae(wh,[["render",xh]]),Eh={},Ch={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Mh(s,e){return V(),q("svg",Ch,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm641.5 187.5H961v171H650.5v-171ZM961 9v171.5H650.5V9H961ZM642.5 9v350.5H9V9h633.5ZM9 541V367.5h315.5V541H9Zm323.5-173.5h310V541h-310V367.5Zm318 0H961V541H650.5V367.5Z"},null,-1)]))}const Ph=ae(Eh,[["render",Mh]]),Ah={},Lh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Th(s,e){return V(),q("svg",Lh,e[0]||(e[0]=[P("path",{d:"M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm725.5 275H961v130H734.5V276Zm0 265V414H961v127H734.5Zm-8-265v130H493V276h233.5ZM493 541V414h233.5v127H493ZM9 276h476v265H9V276ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z"},null,-1)]))}const Bh=ae(Ah,[["render",Th]]),Rh={},Ih={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 970 550",role:"img","area-hidden":"true"};function Oh(s,e){return V(),q("svg",Ih,e[0]||(e[0]=[P("path",{d:"M969.5 359v-.5h-.5V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V366.5h.5V359ZM961 187v171.5H651V187h310ZM651 541V366.5h310V541H651Zm-8-354v171.5H330V187h313ZM330 541V366.5h313V541H330Zm-8-354v171.5H9V187h313ZM9 541V366.5h313V541H9ZM961 9v170H651V9h310ZM643 9v170H330V9h313ZM322 9v170H9V9h313Z"},null,-1)]))}const Vh=ae(Rh,[["render",Oh]]),Dh={},jh={xmlns:"http://www.w3.org/2000/svg",class:"v-icon__svg",viewBox:"0 0 765 572"};function Nh(s,e){return V(),q("svg",jh,e[0]||(e[0]=[Nn('<ellipse cx="384.5" cy="287" fill="#D9D9D9" rx="245.5" ry="241"></ellipse><ellipse cx="385.5" cy="277" fill="#434345" rx="221.5" ry="228"></ellipse><ellipse cx="386" cy="271.5" fill="#58595B" rx="211" ry="222.5"></ellipse><mask id="a" width="156" height="256" x="306" y="312" maskUnits="userSpaceOnUse" style="mask-type:alpha;"><rect width="156" height="256" x="306" y="312" fill="#3F3F3F" rx="76"></rect></mask><g mask="url(#a)"><ellipse cx="386" cy="260.5" fill="#3F3F3F" rx="211" ry="222.5"></ellipse></g><mask id="b" width="156" height="256" x="306" y="323" maskUnits="userSpaceOnUse" style="mask-type:alpha;"><rect width="156" height="256" x="306" y="323" fill="#434345" rx="76"></rect></mask><g mask="url(#b)"><ellipse cx="386" cy="271.5" fill="#434345" rx="211" ry="222.5"></ellipse></g><path fill="#EBEBEB" d="M65 71c0-17.12 13.88-31 31-31h574c17.121 0 31 13.88 31 31v116c0 55.228-44.772 100-100 100H165c-55.228 0-100-44.772-100-100V71Z"></path><mask id="c" width="687" height="115" x="40" y="195" maskUnits="userSpaceOnUse" style="mask-type:alpha;"><path fill="#CBCBCB" d="M40 195h687v115H40z"></path></mask><g mask="url(#c)"><path fill="#CBCBCB" d="M65 71c0-17.12 13.88-31 31-31h574c17.121 0 31 13.88 31 31v116c0 55.228-44.772 100-100 100H165c-55.228 0-100-44.772-100-100V71Z"></path></g><mask id="d" width="669" height="22" x="48" y="73" maskUnits="userSpaceOnUse" style="mask-type:alpha;"><path fill="#CBCBCB" d="M48 73h669v22H48z"></path></mask><g mask="url(#d)"><path fill="#CBCBCB" d="M65 71c0-17.12 13.88-31 31-31h574c17.121 0 31 13.88 31 31v116c0 55.228-44.772 100-100 100H165c-55.228 0-100-44.772-100-100V71Z"></path></g><circle cx="384" cy="400" r="59" stroke="#BFBFC1" stroke-width="6"></circle><circle cx="384" cy="400" r="22" fill="#D9D9D9"></circle>',14)]))}const $h=ae(Dh,[["render",Nh]]),zh={},Uh={class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"};function qh(s,e){return V(),q("svg",Uh,e[0]||(e[0]=[P("path",{d:"M8,20H5a1,1,0,0,1-1-1V16a1,1,0,0,0-2,0v3a3,3,0,0,0,3,3H8a1,1,0,0,0,0-2ZM3,9A1,1,0,0,0,4,8V5A1,1,0,0,1,5,4H8A1,1,0,0,0,8,2H5A3,3,0,0,0,2,5V8A1,1,0,0,0,3,9ZM19,2H16a1,1,0,0,0,0,2h3a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V5A3,3,0,0,0,19,2ZM16,12a1,1,0,0,0-1-1H13V9a1,1,0,0,0-2,0v2H9a1,1,0,0,0,0,2h2v2a1,1,0,0,0,2,0V13h2A1,1,0,0,0,16,12Zm5,3a1,1,0,0,0-1,1v3a1,1,0,0,1-1,1H16a1,1,0,0,0,0,2h3a3,3,0,0,0,3-3V16A1,1,0,0,0,21,15Z"},null,-1)]))}const Hh=ae(zh,[["render",qh]]),Fh={},Zh={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",role:"img","aria-hidden":"true",class:"v-icon__svg"};function Wh(s,e){return V(),q("svg",Zh,e[0]||(e[0]=[P("g",null,[P("path",{d:"M0,0 L256,0 L256,256 L0,256 L0,0 Z",fill:"#F7DF1E"}),P("path",{d:"M67.311746,213.932292 L86.902654,202.076241 C90.6821079,208.777346 94.1202286,214.447137 102.367086,214.447137 C110.272203,214.447137 115.256076,211.354819 115.256076,199.326883 L115.256076,117.528787 L139.313575,117.528787 L139.313575,199.666997 C139.313575,224.58433 124.707759,235.925943 103.3984,235.925943 C84.1532952,235.925943 72.9819429,225.958603 67.3113397,213.93026",fill:"#000000"}),P("path",{d:"M152.380952,211.354413 L171.969422,200.0128 C177.125994,208.433981 183.827911,214.619835 195.684368,214.619835 C205.652521,214.619835 212.009041,209.635962 212.009041,202.762159 C212.009041,194.513676 205.479416,191.592025 194.481168,186.78207 L188.468419,184.202565 C171.111213,176.81473 159.597308,167.53534 159.597308,147.944838 C159.597308,129.901308 173.344508,116.153295 194.825752,116.153295 C210.119924,116.153295 221.117765,121.48094 229.021663,135.400432 L210.29059,147.428775 C206.166146,140.040127 201.699556,137.119289 194.826159,137.119289 C187.78047,137.119289 183.312254,141.587098 183.312254,147.428775 C183.312254,154.646349 187.78047,157.568406 198.089956,162.036622 L204.103924,164.614095 C224.553448,173.378641 236.067352,182.313448 236.067352,202.418387 C236.067352,224.071924 219.055137,235.927975 196.200432,235.927975 C173.860978,235.927975 159.425829,225.274311 152.381359,211.354413",fill:"#000000"})],-1)]))}const Gh=ae(Fh,[["render",Wh]]),Kh={},Qh={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 255",role:"img","aria-hidden":"true",class:"v-icon__svg"};function Yh(s,e){return V(),q("svg",Qh,e[0]||(e[0]=[Nn('<defs><linearGradient id="linearGradient-1" x1="12.9593594%" y1="12.0393928%" x2="79.6388325%" y2="78.2008538%"><stop stop-color="#387EB8" offset="0%"></stop><stop stop-color="#366994" offset="100%"></stop></linearGradient><linearGradient id="linearGradient-2" x1="19.127525%" y1="20.5791813%" x2="90.7415328%" y2="88.4290372%"><stop stop-color="#FFE052" offset="0%"></stop><stop stop-color="#FFC331" offset="100%"></stop></linearGradient></defs><g><path d="M126.915866,0.0722755491 C62.0835831,0.0722801733 66.1321288,28.1874648 66.1321288,28.1874648 L66.2044043,57.3145115 L128.072276,57.3145115 L128.072276,66.0598532 L41.6307171,66.0598532 C41.6307171,66.0598532 0.144551098,61.3549438 0.144551098,126.771315 C0.144546474,192.187673 36.3546019,189.867871 36.3546019,189.867871 L57.9649915,189.867871 L57.9649915,159.51214 C57.9649915,159.51214 56.8001363,123.302089 93.5968379,123.302089 L154.95878,123.302089 C154.95878,123.302089 189.434218,123.859386 189.434218,89.9830604 L189.434218,33.9695088 C189.434218,33.9695041 194.668541,0.0722755491 126.915866,0.0722755491 L126.915866,0.0722755491 L126.915866,0.0722755491 Z M92.8018069,19.6589497 C98.9572068,19.6589452 103.932242,24.6339846 103.932242,30.7893845 C103.932246,36.9447844 98.9572068,41.9198193 92.8018069,41.9198193 C86.646407,41.9198239 81.6713721,36.9447844 81.6713721,30.7893845 C81.6713674,24.6339846 86.646407,19.6589497 92.8018069,19.6589497 L92.8018069,19.6589497 L92.8018069,19.6589497 Z" fill="url(#linearGradient-1)"></path><path d="M128.757101,254.126271 C193.589403,254.126271 189.540839,226.011081 189.540839,226.011081 L189.468564,196.884035 L127.600692,196.884035 L127.600692,188.138693 L214.042251,188.138693 C214.042251,188.138693 255.528417,192.843589 255.528417,127.427208 C255.52844,62.0108566 219.318366,64.3306589 219.318366,64.3306589 L197.707976,64.3306589 L197.707976,94.6863832 C197.707976,94.6863832 198.87285,130.896434 162.07613,130.896434 L100.714182,130.896434 C100.714182,130.896434 66.238745,130.339138 66.238745,164.215486 L66.238745,220.229038 C66.238745,220.229038 61.0044225,254.126271 128.757101,254.126271 L128.757101,254.126271 L128.757101,254.126271 Z M162.87116,234.539597 C156.715759,234.539597 151.740726,229.564564 151.740726,223.409162 C151.740726,217.253759 156.715759,212.278727 162.87116,212.278727 C169.026563,212.278727 174.001595,217.253759 174.001595,223.409162 C174.001618,229.564564 169.026563,234.539597 162.87116,234.539597 L162.87116,234.539597 L162.87116,234.539597 Z" fill="url(#linearGradient-2)"></path></g>',2)]))}const Xh=ae(Kh,[["render",Yh]]),Jh={},ep={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true",class:"v-icon__svg"};function tp(s,e){return V(),q("svg",ep,e[0]||(e[0]=[P("path",{d:"M 17.335938 2.410156 C 16.851562 2.484375 16.515625 2.625 16.160156 2.90625 C 15.636719 3.320312 15.320312 3.980469 15.320312 4.652344 C 15.320312 5.019531 15.390625 5.324219 15.550781 5.652344 C 15.9375 6.4375 16.710938 6.917969 17.585938 6.917969 C 18.234375 6.917969 18.789062 6.683594 19.242188 6.210938 C 19.539062 5.90625 19.746094 5.5 19.828125 5.078125 C 19.863281 4.894531 19.867188 4.492188 19.839844 4.3125 C 19.761719 3.839844 19.542969 3.414062 19.203125 3.074219 C 18.878906 2.746094 18.5 2.542969 18.046875 2.445312 C 17.902344 2.417969 17.453125 2.394531 17.335938 2.410156 Z M 17.335938 2.410156 M 6.160156 4.90625 C 5.589844 4.953125 5.0625 5.191406 4.714844 5.554688 C 4.5625 5.710938 4.386719 5.96875 4.300781 6.164062 C 4.144531 6.515625 4.046875 7.289062 3.953125 8.933594 C 3.921875 9.488281 3.921875 11.171875 3.953125 11.746094 L 3.980469 12.195312 L 4.226562 12.675781 C 5.1875 14.515625 5.785156 15.28125 6.789062 15.945312 C 7.546875 16.453125 8.503906 16.785156 9.453125 16.875 C 9.605469 16.890625 9.875 16.894531 10.195312 16.886719 C 10.742188 16.878906 11.019531 16.84375 11.503906 16.722656 C 12.375 16.503906 13.246094 16.054688 13.835938 15.519531 C 13.945312 15.421875 13.929688 15.402344 13.808594 15.476562 C 13.445312 15.710938 12.902344 15.917969 12.476562 15.984375 C 12.207031 16.027344 11.738281 16.015625 11.472656 15.957031 C 11.023438 15.863281 10.558594 15.652344 10.21875 15.394531 C 9.984375 15.222656 9.65625 14.882812 9.492188 14.652344 C 9.097656 14.097656 8.859375 13.347656 8.773438 12.394531 C 8.761719 12.25 8.75 11.433594 8.746094 10.304688 C 8.742188 9.28125 8.730469 8.300781 8.71875 8.128906 C 8.671875 7.410156 8.558594 6.570312 8.476562 6.328125 C 8.355469 5.988281 8.058594 5.613281 7.734375 5.398438 C 7.535156 5.269531 7.136719 5.078125 6.925781 5.007812 C 6.742188 4.945312 6.4375 4.890625 6.308594 4.898438 C 6.269531 4.898438 6.199219 4.902344 6.160156 4.90625 Z M 6.160156 4.90625 M 17.46875 7.671875 C 17.25 7.691406 16.957031 7.769531 16.769531 7.851562 C 16.289062 8.058594 15.898438 8.460938 15.730469 8.925781 C 15.554688 9.410156 15.496094 9.828125 15.394531 11.429688 C 15.347656 12.128906 15.3125 12.507812 15.261719 12.871094 C 15.152344 13.628906 14.960938 14.242188 14.707031 14.667969 C 14.515625 14.988281 14.089844 15.480469 13.847656 15.664062 C 13.761719 15.726562 13.597656 15.851562 13.480469 15.9375 C 12.789062 16.460938 11.972656 16.808594 11.0625 16.976562 C 10.433594 17.089844 9.699219 17.09375 9.066406 16.984375 C 8.128906 16.824219 7.292969 16.472656 6.570312 15.9375 C 6.226562 15.683594 5.835938 15.308594 5.578125 14.980469 C 5.179688 14.484375 4.628906 13.570312 4.160156 12.632812 C 4.078125 12.46875 4.003906 12.335938 3.992188 12.335938 C 3.972656 12.335938 3.972656 12.460938 3.992188 12.890625 C 4.109375 14.992188 4.671875 16.917969 5.582031 18.328125 C 6.117188 19.15625 6.898438 19.9375 7.78125 20.523438 C 8.691406 21.128906 9.59375 21.492188 10.726562 21.703125 C 10.992188 21.753906 11.015625 21.757812 11.820312 21.765625 C 12.691406 21.773438 12.761719 21.765625 13.226562 21.683594 C 13.945312 21.550781 14.597656 21.328125 15.308594 20.980469 C 16.027344 20.625 16.527344 20.289062 17.089844 19.769531 C 18.839844 18.160156 19.894531 15.460938 20.0625 12.167969 C 20.097656 11.46875 20.082031 10.585938 20.023438 10.117188 C 19.929688 9.367188 19.65625 8.695312 19.285156 8.320312 C 18.84375 7.871094 18.089844 7.601562 17.46875 7.671875 Z M 17.46875 7.671875"},null,-1)]))}const sp=ae(Jh,[["render",tp]]),ip={},np={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true",class:"v-icon__svg"};function rp(s,e){return V(),q("svg",np,e[0]||(e[0]=[P("path",{d:"M 10.859375 7.105469 C 10.242188 7.195312 9.65625 7.367188 9.226562 7.585938 C 8.269531 8.070312 7.378906 9.0625 7.027344 10.054688 C 6.574219 11.328125 6.816406 12.757812 7.625 13.601562 L 7.796875 13.78125 L 7.304688 16.078125 L 6.8125 18.378906 L 7.472656 18.390625 C 7.835938 18.394531 8.140625 18.390625 8.148438 18.382812 C 8.160156 18.375 8.210938 18.164062 8.265625 17.910156 C 8.316406 17.664062 8.386719 17.328125 8.425781 17.167969 L 8.484375 16.878906 L 8.957031 16.878906 L 9.035156 17.148438 C 9.078125 17.300781 9.171875 17.628906 9.242188 17.878906 C 9.3125 18.132812 9.378906 18.351562 9.394531 18.371094 C 9.410156 18.386719 9.730469 18.394531 10.109375 18.390625 L 10.792969 18.378906 L 10.539062 17.558594 L 10.289062 16.738281 L 10.476562 16.644531 C 11.042969 16.355469 11.394531 15.730469 11.347656 15.085938 C 11.335938 14.914062 11.316406 14.738281 11.300781 14.695312 C 11.277344 14.617188 11.300781 14.601562 11.539062 14.519531 C 11.683594 14.472656 11.8125 14.441406 11.820312 14.449219 C 11.832031 14.457031 11.820312 14.527344 11.800781 14.605469 C 11.714844 14.890625 11.691406 14.878906 12.378906 14.878906 C 12.757812 14.878906 13 14.894531 13 14.921875 C 13 14.941406 12.839844 15.714844 12.640625 16.648438 C 12.445312 17.574219 12.28125 18.347656 12.28125 18.367188 C 12.28125 18.382812 12.578125 18.398438 12.953125 18.398438 L 13.621094 18.398438 L 13.9375 16.90625 C 14.109375 16.09375 14.277344 15.300781 14.308594 15.148438 L 14.367188 14.878906 L 15 14.878906 C 15.703125 14.878906 15.648438 14.902344 15.703125 14.578125 C 15.738281 14.355469 15.738281 14.355469 15.933594 14.4375 C 16.023438 14.476562 16.132812 14.519531 16.171875 14.535156 C 16.238281 14.554688 16.234375 14.574219 16.128906 14.726562 C 15.957031 14.980469 15.820312 15.265625 15.71875 15.578125 C 15.613281 15.9375 15.566406 16.652344 15.636719 17.003906 C 15.828125 17.972656 16.679688 18.539062 17.820312 18.46875 C 18.847656 18.398438 19.636719 17.816406 19.894531 16.925781 C 19.933594 16.804688 19.960938 16.691406 19.960938 16.671875 C 19.960938 16.65625 19.664062 16.640625 19.304688 16.640625 L 18.648438 16.640625 L 18.605469 16.773438 C 18.492188 17.113281 18.128906 17.363281 17.742188 17.367188 C 17.425781 17.371094 17.246094 17.269531 17.113281 17 C 17.011719 16.8125 17 16.738281 17 16.421875 C 17 15.707031 17.273438 15.148438 17.730469 14.914062 C 17.972656 14.792969 18.371094 14.820312 18.570312 14.972656 C 18.761719 15.113281 18.8125 15.210938 18.839844 15.460938 L 18.859375 15.660156 L 19.507812 15.671875 L 20.15625 15.679688 L 20.167969 15.570312 C 20.191406 15.359375 20.121094 14.953125 20.027344 14.742188 C 19.976562 14.632812 19.859375 14.460938 19.773438 14.363281 L 19.613281 14.183594 L 19.914062 13.988281 C 20.332031 13.71875 20.945312 13.09375 21.234375 12.636719 C 21.847656 11.691406 22.007812 10.464844 21.65625 9.398438 C 21.335938 8.4375 20.453125 7.621094 19.390625 7.316406 C 18.757812 7.136719 17.792969 7.175781 16.941406 7.421875 C 15.765625 7.757812 14.792969 8.617188 14.238281 9.808594 L 14.058594 10.199219 L 12.449219 10.199219 C 11.351562 10.199219 10.808594 10.214844 10.753906 10.242188 C 10.640625 10.304688 10.070312 11.488281 10.089844 11.632812 C 10.097656 11.703125 10.132812 11.742188 10.199219 11.765625 C 10.257812 11.78125 10.726562 11.792969 11.253906 11.796875 L 12.203125 11.800781 L 12.089844 11.96875 C 11.289062 13.128906 9.621094 13.109375 9.066406 11.929688 C 8.964844 11.703125 8.941406 11.601562 8.929688 11.300781 C 8.894531 10.535156 9.171875 9.925781 9.738281 9.492188 C 10.574219 8.855469 11.453125 8.859375 12.125 9.5 L 12.351562 9.714844 L 12.863281 9.574219 C 13.148438 9.5 13.523438 9.398438 13.699219 9.355469 C 14.28125 9.210938 14.292969 9.203125 14.261719 9.085938 C 14.222656 8.941406 14.027344 8.609375 13.808594 8.316406 C 13.449219 7.835938 12.675781 7.34375 12.039062 7.183594 C 11.78125 7.117188 11.085938 7.070312 10.859375 7.105469 Z M 18.886719 9.1875 C 19.378906 9.421875 19.710938 9.875 19.8125 10.464844 C 19.867188 10.796875 19.785156 11.261719 19.59375 11.636719 C 19.34375 12.128906 18.726562 12.628906 18.183594 12.78125 C 17.867188 12.871094 17.347656 12.84375 17.027344 12.722656 C 16.207031 12.40625 15.808594 11.511719 16.085938 10.617188 C 16.304688 9.886719 16.773438 9.40625 17.496094 9.152344 C 17.785156 9.050781 17.863281 9.039062 18.21875 9.046875 C 18.570312 9.058594 18.652344 9.074219 18.886719 9.1875 Z M 14.597656 11.570312 C 14.925781 11.789062 14.964844 12.164062 14.691406 12.476562 C 14.617188 12.566406 14.367188 12.785156 14.144531 12.953125 L 13.738281 13.261719 L 14.203125 13.273438 L 14.671875 13.285156 L 14.578125 13.699219 L 13.726562 13.710938 C 13.265625 13.714844 12.878906 13.710938 12.878906 13.699219 C 12.878906 13.683594 12.898438 13.597656 12.925781 13.496094 C 12.96875 13.328125 13.003906 13.289062 13.519531 12.894531 C 14.117188 12.445312 14.320312 12.242188 14.320312 12.113281 C 14.320312 11.875 13.964844 11.792969 13.78125 11.980469 C 13.722656 12.03125 13.679688 12.097656 13.679688 12.121094 C 13.679688 12.144531 13.574219 12.160156 13.421875 12.160156 C 13.125 12.160156 13.109375 12.136719 13.238281 11.878906 C 13.390625 11.585938 13.695312 11.4375 14.125 11.449219 C 14.375 11.460938 14.453125 11.476562 14.597656 11.570312 Z M 9.65625 14.84375 C 9.902344 14.910156 10 15.035156 10 15.292969 C 10 15.546875 9.890625 15.730469 9.679688 15.84375 C 9.566406 15.902344 9.453125 15.921875 9.109375 15.921875 C 8.710938 15.921875 8.675781 15.910156 8.695312 15.847656 C 8.71875 15.777344 8.921875 14.847656 8.921875 14.816406 C 8.921875 14.78125 9.507812 14.804688 9.65625 14.84375 Z M 9.65625 14.84375 M 3.019531 9.1875 C 2.945312 9.273438 2.878906 9.351562 2.878906 9.363281 C 2.878906 9.414062 3.59375 9.441406 5.046875 9.441406 L 6.554688 9.441406 L 6.675781 9.265625 C 6.742188 9.167969 6.785156 9.078125 6.773438 9.0625 C 6.757812 9.050781 5.941406 9.039062 4.953125 9.039062 L 3.15625 9.039062 Z M 3.019531 9.1875 M 1.617188 9.992188 C 1.597656 10.007812 1.523438 10.089844 1.464844 10.167969 L 1.351562 10.320312 L 6.195312 10.320312 L 6.234375 10.167969 C 6.261719 10.089844 6.28125 10.007812 6.28125 9.988281 C 6.28125 9.953125 1.671875 9.953125 1.617188 9.992188 Z M 1.617188 9.992188 M 3.882812 11.015625 C 3.835938 11.089844 3.800781 11.167969 3.800781 11.1875 C 3.800781 11.222656 4.882812 11.28125 5.644531 11.28125 C 6.035156 11.28125 6.09375 11.246094 6.070312 11.03125 L 6.058594 10.898438 L 5.011719 10.886719 L 3.96875 10.878906 Z M 3.882812 11.015625 "},null,-1)]))}const op=ae(ip,[["render",rp]]),ap={components:{VNumberInput:Oo},display:{mobileBreakpoint:"sm",thresholds:{sm:640}},icons:{defaultSet:"mdi",aliases:{...Vo,cuiLogo:sp,cuiGo2rtc:op,cuiGrid1:Zd,cuiGrid4:kh,cuiGrid6:Ph,cuiGrid7:Bh,cuiGrid9:Vh,cuiGrid10:Qd,cuiGrid12:eh,cuiGrid13:nh,cuiGrid15:lh,cuiGrid16:hh,cuiGrid20:gh,cuiGrid26:yh,cuiPy:Xh,cuiJs:Gh,cuiShortcut:Hh,cuiCamera:$h},sets:{mdi:Do}},locale:{adapter:jo({i18n:je,useI18n:ro})}},lp=No(ap),cp=s=>{s.use(lp).use(Gt).use(Ud).use(je).use(ha).use(io).use(lo,{queryClient:zd,enableDevtoolsV6Plugin:!0}).use(Lr)},Kr=go($d);cp(Kr);Kr.mount("#app");export{Ln as A,wi as B,Rn as C,Pn as D,An as E,Kp as F,zc as G,Dr as H,Qp as I,Yp as J,Or as K,zp as L,Tn as M,Se as N,ai as O,Np as P,Gr as Q,Wt as R,dt as S,bt as T,$p as U,sf as V,Jp as W,Pd as X,Xp as Y,Oc as Z,Tr as _,Vi as a,Od as b,ef as c,ae as d,Sc as e,Xt as f,Cs as g,Vs as h,je as i,Ms as j,wc as k,Wp as l,Zp as m,Fp as n,Hp as o,qp as p,Up as q,Gp as r,Br as s,kn as t,Pe as u,tf as v,Pu as w,ce as x,Oi as y,Cn as z};