homebridge-config-ui-x 5.0.0-beta.8 → 5.0.0-beta.80

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 (319) hide show
  1. package/CHANGELOG.md +412 -31
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +35 -145
  5. package/dist/bin/hb-service.d.ts +2 -2
  6. package/dist/bin/hb-service.js +51 -50
  7. package/dist/bin/hb-service.js.map +1 -1
  8. package/dist/bin/platforms/darwin.js +2 -2
  9. package/dist/bin/platforms/darwin.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +1 -0
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +3 -3
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +8 -10
  22. package/dist/core/config/config.service.js +24 -19
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +6 -77
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +8 -7
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +19 -79
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +62 -64
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
  50. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  51. package/dist/modules/log/log.gateway.d.ts +2 -1
  52. package/dist/modules/log/log.gateway.js.map +1 -1
  53. package/dist/modules/log/log.service.js +3 -3
  54. package/dist/modules/log/log.service.js.map +1 -1
  55. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  56. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  58. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  60. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  62. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  63. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  64. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  65. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  66. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  68. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  69. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  70. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  71. package/dist/modules/plugins/plugins.controller.js +4 -4
  72. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  73. package/dist/modules/plugins/plugins.service.d.ts +4 -1
  74. package/dist/modules/plugins/plugins.service.js +168 -103
  75. package/dist/modules/plugins/plugins.service.js.map +1 -1
  76. package/dist/modules/server/server.controller.d.ts +28 -3
  77. package/dist/modules/server/server.controller.js +137 -20
  78. package/dist/modules/server/server.controller.js.map +1 -1
  79. package/dist/modules/server/server.service.d.ts +27 -6
  80. package/dist/modules/server/server.service.js +212 -66
  81. package/dist/modules/server/server.service.js.map +1 -1
  82. package/dist/modules/status/status.controller.d.ts +0 -1
  83. package/dist/modules/status/status.controller.js +3 -4
  84. package/dist/modules/status/status.controller.js.map +1 -1
  85. package/dist/modules/status/status.gateway.d.ts +1 -1
  86. package/dist/modules/status/status.service.d.ts +1 -1
  87. package/dist/modules/status/status.service.js +17 -41
  88. package/dist/modules/status/status.service.js.map +1 -1
  89. package/dist/modules/users/users.controller.js +7 -7
  90. package/dist/modules/users/users.controller.js.map +1 -1
  91. package/dist/self-check.js +6 -6
  92. package/dist/self-check.js.map +1 -1
  93. package/package.json +45 -43
  94. package/public/3rdpartylicenses.txt +145 -62
  95. package/public/assets/hap-icons/airpurifier.svg +49 -16
  96. package/public/assets/hap-icons/airquality.svg +24 -13
  97. package/public/assets/hap-icons/co-sensor.svg +72 -0
  98. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  99. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  100. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  101. package/public/assets/hap-icons/door-closed.svg +32 -2
  102. package/public/assets/hap-icons/door-open.svg +48 -2
  103. package/public/assets/hap-icons/fan-off.svg +24 -13
  104. package/public/assets/hap-icons/fan-on.svg +24 -13
  105. package/public/assets/hap-icons/garagedoor.svg +24 -13
  106. package/public/assets/hap-icons/humidity.svg +24 -13
  107. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  108. package/public/assets/hap-icons/leaksensor.svg +52 -2
  109. package/public/assets/hap-icons/light.svg +47 -28
  110. package/public/assets/hap-icons/lightbulb.svg +24 -13
  111. package/public/assets/hap-icons/lock-locked.svg +24 -13
  112. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  113. package/public/assets/hap-icons/motionsensor.svg +100 -2
  114. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  115. package/public/assets/hap-icons/outlet.svg +24 -13
  116. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  117. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  118. package/public/assets/hap-icons/smokesensor.svg +42 -9
  119. package/public/assets/hap-icons/speaker.svg +29 -13
  120. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  121. package/public/assets/hap-icons/switch.svg +24 -13
  122. package/public/assets/hap-icons/television.svg +15 -4
  123. package/public/assets/hap-icons/temperature.svg +24 -13
  124. package/public/assets/hap-icons/unknown.svg +24 -13
  125. package/public/assets/hap-icons/valve-generic.svg +27 -16
  126. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  127. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  128. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  129. package/public/assets/hap-icons/window-closed.svg +85 -2
  130. package/public/assets/hap-icons/window-open.svg +136 -2
  131. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  132. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  133. package/public/assets/homebridge-color-round.svg +36 -1
  134. package/public/assets/homebridge-logo.svg +11 -1
  135. package/public/assets/mask-icon.svg +5 -1
  136. package/public/assets/plugin-ui-utils/ui.js +3 -0
  137. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  138. package/public/chunk-2MYRJGR7.js +1 -0
  139. package/public/chunk-2NP34GCU.js +1 -0
  140. package/public/chunk-2SEP7Q76.js +1 -0
  141. package/public/chunk-2XJKHKFE.js +1 -0
  142. package/public/{chunk-TSZZQKYF.js → chunk-3HVSWJGA.js} +1 -1
  143. package/public/chunk-3K6CPW2T.js +1 -0
  144. package/public/chunk-3OWDRYG5.js +1 -0
  145. package/public/chunk-3QMP7C7O.js +1 -0
  146. package/public/chunk-3X66PNLW.js +1 -0
  147. package/public/chunk-445PQ2P2.js +8 -0
  148. package/public/chunk-4HTVG6XH.js +1 -0
  149. package/public/chunk-4QBTHI5Q.js +1 -0
  150. package/public/chunk-4SITUFK3.js +1 -0
  151. package/public/chunk-54QYQEAD.js +1 -0
  152. package/public/chunk-5SC4EBWO.js +1 -0
  153. package/public/chunk-6IGIONL7.js +1 -0
  154. package/public/{chunk-CCUID66K.js → chunk-6US6MXBM.js} +1 -1
  155. package/public/{chunk-YRSHLHYL.js → chunk-7FQYPAKD.js} +1 -1
  156. package/public/{chunk-EA5J2VEJ.js → chunk-7VVMNL54.js} +1 -1
  157. package/public/chunk-ACC3X2QL.js +1 -0
  158. package/public/{chunk-QE7DO6J3.js → chunk-ADC7QO6N.js} +2 -2
  159. package/public/chunk-B33VSPLX.js +1 -0
  160. package/public/chunk-B3TGAR7U.js +1 -0
  161. package/public/{chunk-7EUQWCP5.js → chunk-BVWBB74Y.js} +2 -2
  162. package/public/chunk-BZFYWBTW.js +1 -0
  163. package/public/chunk-CTGG2N5W.js +1 -0
  164. package/public/{chunk-WNWWUCCZ.js → chunk-EGECSH4K.js} +3 -3
  165. package/public/chunk-EJSCHXQP.js +1 -0
  166. package/public/chunk-EKQQOHAO.js +1 -0
  167. package/public/chunk-EN4G5WDM.js +1 -0
  168. package/public/chunk-EP2OCKBU.js +23 -0
  169. package/public/chunk-F344PI26.js +1 -0
  170. package/public/chunk-F75NHZPV.js +1 -0
  171. package/public/chunk-FNQHOMAL.js +1 -0
  172. package/public/chunk-FPWMFOIM.js +1 -0
  173. package/public/chunk-FQEUOMOT.js +1 -0
  174. package/public/chunk-G4AG4KBE.js +8 -0
  175. package/public/{chunk-6TCHCTXZ.js → chunk-GN7IXG4L.js} +1 -1
  176. package/public/chunk-GT2LNBEY.js +1 -0
  177. package/public/{chunk-D2D564LE.js → chunk-HBJGGRMZ.js} +1 -1
  178. package/public/chunk-HSXNAMNE.js +1 -0
  179. package/public/chunk-HUAZZUOC.js +1 -0
  180. package/public/chunk-HWJ734TY.js +1 -0
  181. package/public/chunk-HYVILCZ3.js +1 -0
  182. package/public/{chunk-TZS4WGUK.js → chunk-IJMKQW7N.js} +2 -2
  183. package/public/chunk-IMRTROQL.js +5 -0
  184. package/public/chunk-IO42DXYQ.js +1 -0
  185. package/public/chunk-IR54FWV7.js +1 -0
  186. package/public/chunk-JNCCO635.js +1 -0
  187. package/public/chunk-KVYFQZYX.js +1 -0
  188. package/public/chunk-KXMDTAIL.js +1 -0
  189. package/public/chunk-LEMXCMWD.js +1 -0
  190. package/public/chunk-LERVFGN7.js +1 -0
  191. package/public/chunk-MZFFFGFF.js +1 -0
  192. package/public/chunk-OL67GREO.js +20 -0
  193. package/public/chunk-P77NBQ5S.js +1 -0
  194. package/public/chunk-PAZ5V5TQ.js +7 -0
  195. package/public/chunk-QAQ62ONT.js +1 -0
  196. package/public/chunk-R7USDODC.js +6 -0
  197. package/public/chunk-RMMQMQZX.js +1 -0
  198. package/public/chunk-RQA2H3J6.js +1 -0
  199. package/public/chunk-RWGSYTLA.js +1 -0
  200. package/public/chunk-SKVHW32E.js +5 -0
  201. package/public/chunk-SPEAMV6F.js +1 -0
  202. package/public/chunk-SZ7POXBO.js +1 -0
  203. package/public/chunk-TEOCKMP5.js +1 -0
  204. package/public/chunk-TIXTDDTD.js +7 -0
  205. package/public/chunk-TL6WL7LY.js +1 -0
  206. package/public/chunk-TP425OA6.js +1 -0
  207. package/public/chunk-TRU4JZBU.js +1 -0
  208. package/public/chunk-USOUWLNH.js +2 -0
  209. package/public/chunk-UU4EF2TV.js +1 -0
  210. package/public/chunk-VET5PSBE.js +1 -0
  211. package/public/chunk-VNVPPHQC.js +1 -0
  212. package/public/chunk-WE636KC4.js +1 -0
  213. package/public/chunk-WMYOYBHH.js +1 -0
  214. package/public/chunk-XTMNJE4B.js +14 -0
  215. package/public/chunk-XYNYGSDZ.js +1 -0
  216. package/public/chunk-Z6KIOLK5.js +29 -0
  217. package/public/{chunk-JZZQRLNW.js → chunk-ZA436JJP.js} +1 -1
  218. package/public/chunk-ZE6VD7AX.js +1 -0
  219. package/public/chunk-ZZ24726L.js +1 -0
  220. package/public/index.html +2 -2
  221. package/public/main-C6DWCUSO.js +1 -0
  222. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  223. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  224. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  225. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  226. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  227. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  228. package/public/polyfills-4F4B5XMZ.js +2 -0
  229. package/public/styles-PGYQLREL.css +1 -0
  230. package/scripts/upgrade-install-plugin.sh +1 -1
  231. package/public/chunk-32ZJLZS4.js +0 -1
  232. package/public/chunk-34G5YV5T.js +0 -1
  233. package/public/chunk-37PRYZH6.js +0 -1
  234. package/public/chunk-3IX3CLER.js +0 -1
  235. package/public/chunk-3NB33IBB.js +0 -1
  236. package/public/chunk-5ABW4ZKF.js +0 -20
  237. package/public/chunk-5KSPDTFH.js +0 -1
  238. package/public/chunk-5OHKMFXO.js +0 -1
  239. package/public/chunk-656LQTVE.js +0 -14
  240. package/public/chunk-7T234PWV.js +0 -1
  241. package/public/chunk-AZC7XCGC.js +0 -1
  242. package/public/chunk-BKUGARB4.js +0 -7
  243. package/public/chunk-BPMSJ2VF.js +0 -1
  244. package/public/chunk-BY2TSVEY.js +0 -1
  245. package/public/chunk-C7QJOHXE.js +0 -1
  246. package/public/chunk-CKR46AVL.js +0 -1
  247. package/public/chunk-DLMGGPRM.js +0 -1
  248. package/public/chunk-DXZ6DCYP.js +0 -1
  249. package/public/chunk-EP66JAAV.js +0 -1
  250. package/public/chunk-FJF4WNUO.js +0 -1
  251. package/public/chunk-FQYNC4RH.js +0 -1
  252. package/public/chunk-HHG6WMVF.js +0 -1
  253. package/public/chunk-HHIHVUCL.js +0 -1
  254. package/public/chunk-HSJSWZHD.js +0 -1
  255. package/public/chunk-II2UAWC2.js +0 -6
  256. package/public/chunk-IMOTYOKQ.js +0 -8
  257. package/public/chunk-JDQ5PHOU.js +0 -1
  258. package/public/chunk-KG3DHJZY.js +0 -1
  259. package/public/chunk-KQJ7ONUG.js +0 -1
  260. package/public/chunk-LLGTFHIT.js +0 -1
  261. package/public/chunk-M346UY2G.js +0 -1
  262. package/public/chunk-MNBUOV7P.js +0 -1
  263. package/public/chunk-NI664X6I.js +0 -1
  264. package/public/chunk-NW6AFAD7.js +0 -1
  265. package/public/chunk-NZNNTHFQ.js +0 -1
  266. package/public/chunk-ORPWYWCL.js +0 -5
  267. package/public/chunk-P5FZV27L.js +0 -1
  268. package/public/chunk-PS4KQKK7.js +0 -1
  269. package/public/chunk-Q5YFESZW.js +0 -1
  270. package/public/chunk-QAEUHAL6.js +0 -1
  271. package/public/chunk-QBDPVXMM.js +0 -1
  272. package/public/chunk-QHPDGSZ6.js +0 -1
  273. package/public/chunk-QJYLB6LD.js +0 -1
  274. package/public/chunk-R2W5BRWY.js +0 -32
  275. package/public/chunk-RIN5QMTV.js +0 -1
  276. package/public/chunk-RKC5OBYP.js +0 -1
  277. package/public/chunk-RT7V3UYQ.js +0 -5
  278. package/public/chunk-SCR7PUV7.js +0 -1
  279. package/public/chunk-SOEXENDP.js +0 -1
  280. package/public/chunk-TCSXGQNF.js +0 -1
  281. package/public/chunk-TH2G22O2.js +0 -23
  282. package/public/chunk-TMD6JYTR.js +0 -1
  283. package/public/chunk-TO5O6L7A.js +0 -1
  284. package/public/chunk-TXOB7R5K.js +0 -7
  285. package/public/chunk-UG5DK2RQ.js +0 -2
  286. package/public/chunk-UYLV5ENO.js +0 -1
  287. package/public/chunk-VPSLX47Z.js +0 -1
  288. package/public/chunk-VVGJ5MFU.js +0 -1
  289. package/public/chunk-WAUGELUM.js +0 -1
  290. package/public/chunk-WHJOLAED.js +0 -1
  291. package/public/chunk-WHJSVGC7.js +0 -1
  292. package/public/chunk-WXTR3AXD.js +0 -1
  293. package/public/chunk-X2AWRY46.js +0 -1
  294. package/public/chunk-X3GZMTJ5.js +0 -1
  295. package/public/chunk-X7YNKLZW.js +0 -1
  296. package/public/chunk-XRPL3VU7.js +0 -1
  297. package/public/chunk-Y3RRGTUL.js +0 -1
  298. package/public/chunk-YD5MPMXA.js +0 -1
  299. package/public/chunk-YJB6Y76M.js +0 -1
  300. package/public/chunk-ZT23DWNL.js +0 -1
  301. package/public/main-35ZSDHG6.js +0 -1
  302. package/public/media/01-RQ3S2L53.png +0 -0
  303. package/public/media/02-VNCG2I2A.png +0 -0
  304. package/public/media/03-HI42L4ZG.png +0 -0
  305. package/public/media/04-FJLL55LZ.png +0 -0
  306. package/public/media/05-V3EO6SPT.png +0 -0
  307. package/public/media/06-EOJZCQZN.png +0 -0
  308. package/public/media/07-KMKB5PBD.png +0 -0
  309. package/public/media/08-UQJRF6B2.png +0 -0
  310. package/public/media/09-2DJQFRHH.png +0 -0
  311. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  312. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  313. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  314. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  315. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  316. package/public/polyfills-C6JHVXJJ.js +0 -2
  317. package/public/scripts-6GVLYD7F.js +0 -62
  318. package/public/styles-EG5MFQEM.css +0 -1
  319. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -1,8 +0,0 @@
1
- import{a as U}from"./chunk-CCUID66K.js";import{a as S,b as O}from"./chunk-BKUGARB4.js";import{a as g}from"./chunk-YRSHLHYL.js";import{M as w,e as x,g as h,ha as E,n as R,na as L}from"./chunk-TXOB7R5K.js";var F=x((v,b)=>{(function(a,l){typeof define=="function"&&define.amd?define([],l):typeof v<"u"?l():(l(),a.FileSaver={})})(v,function(){"use strict";function a(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function l(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){r(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function d(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,n){var i=s.URL||s.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?c(o):d(o.href)?l(e,t,n):c(o,o.target="_blank")):(o.href=i.createObjectURL(e),setTimeout(function(){i.revokeObjectURL(o.href)},4e4),setTimeout(function(){c(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,n){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(a(e,n),t);else if(d(e))l(e,t,n);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout(function(){c(i)})}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),typeof e=="string")return l(e,t,n);var o=e.type==="application/octet-stream",z=/constructor/i.test(s.HTMLElement)||s.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&z||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=y?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=f:location=f,i=null},u.readAsDataURL(e)}else{var A=s.URL||s.webkitURL,p=A.createObjectURL(e);i?i.location=p:location.href=p,i=null,setTimeout(function(){A.revokeObjectURL(p)},4e4)}});s.saveAs=r.saveAs=r,typeof b<"u"&&(b.exports=r)})});var k=h(S(),1),j=h(O(),1),T=h(U(),1);var W=(()=>{class a{$ws=L(g);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;startTerminal(d,c={},s,m){this.pluginName=m,this.elementResize=s,this.io=this.$ws.connectToNamespace("log"),this.term=new k.Terminal(c),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new j.FitAddon,this.webLinksAddon=new T.WebLinksAddon,this.resize=new R,this.term.open(d.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
- \r
3
- \rWebsocket failed to connect. Is the server running?
4
- \r
5
- \r`)}),this.resize.pipe(w(500)).subscribe(r=>{this.io.socket.emit("resize",r)}),this.io.socket.on("stdout",r=>{if(this.pluginName){let e=r.split(`
6
- \r`),t=!1;e.forEach(n=>{if(n){if(t)if(n.match(/36m\[.*?\]/))t=!1;else{this.term.write(`${n}
7
- \r`);return}n.includes(`36m[${this.pluginName}]`)&&(this.term.write(`${n}
8
- \r`),t=!0)}})}else this.term.write(r)}),this.term.onResize(r=>{this.resize.next(r)}),this.elementResize&&this.elementResize.pipe(w(100)).subscribe({next:()=>{this.fitAddon.fit()}})}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}static \u0275fac=function(c){return new(c||a)};static \u0275prov=E({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();export{W as a,F as b};
@@ -1 +0,0 @@
1
- import"./chunk-C7QJOHXE.js";import"./chunk-IMOTYOKQ.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-KQJ7ONUG.js";import{q as s}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-YRSHLHYL.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-TSZZQKYF.js";import"./chunk-EP66JAAV.js";import"./chunk-TMD6JYTR.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var f=[{path:"",loadComponent:()=>import("./chunk-HHG6WMVF.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,s,n.forChild()]})}return o})();export{h as LogsModule};
@@ -1 +0,0 @@
1
- import{c as Q,d as x,e as z,f as D,g as H,j as w,m as j,p as A,q as W,w as U,y as J,z as K}from"./chunk-QHPDGSZ6.js";import{d as G}from"./chunk-NZNNTHFQ.js";import{c as q}from"./chunk-TSZZQKYF.js";import{b as T}from"./chunk-EP66JAAV.js";import{a as P}from"./chunk-TMD6JYTR.js";import{b as O}from"./chunk-3IX3CLER.js";import{Bc as l,Cc as p,Gb as v,Kb as S,M as k,Mb as m,Rb as c,Wb as a,Xb as r,Yb as h,ad as R,cc as $,dc as I,gd as N,h as y,ib as i,kc as C,lc as L,na as g,nc as s,oc as d,pc as B,rb as M,w as V,xc as f}from"./chunk-TXOB7R5K.js";var X=["password"],Y=["username"],Z=["otp"],ee=e=>({background:e}),F=e=>({"is-invalid":e});function te(e,_){if(e&1&&(a(0,"div")(1,"div",10),h(2,"i",11)(3,"input",12,0),a(5,"label",13),s(6),l(7,"translate"),r()(),a(8,"div",10),h(9,"i",14)(10,"input",15,1),a(12,"label",16),s(13),l(14,"translate"),r()()()),e&2){let t=I();i(3),m("ngClass",f(8,F,t.form.controls.username.dirty&&t.form.controls.username.errors)),i(3),d(p(7,4,"login.label_username")),i(4),m("ngClass",f(10,F,t.form.controls.password.dirty&&t.form.controls.password.errors)),i(3),d(p(14,6,"login.label_password"))}}function ne(e,_){if(e&1&&(a(0,"div")(1,"p",7),s(2),l(3,"translate"),r(),a(4,"div",10),h(5,"i",17)(6,"input",18,2),a(8,"label",19),s(9),l(10,"translate"),r()()()),e&2){let t=I();i(2),d(p(3,3,"users.setup_2fa_enter_code")),i(4),m("ngClass",f(7,F,t.form.controls.otp.dirty&&t.form.controls.otp.errors)),i(3),d(p(10,5,"login.label_2fa_code"))}}function ie(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.invalid_credentials")))}function oe(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.message_invalid_2fa_code")))}var Ce=(()=>{class e{$auth=g(q);$router=g(G);$settings=g(T);passwordInput=v("password");usernameInput=v("username");otpInput=v("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;ngOnInit(){this.form=new H({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(k(500)).subscribe(t=>{var n;let o=(n=this.passwordInput())==null?void 0:n.nativeElement.value;o&&o!==t.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield V(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=this.$settings.env.customWallpaperHash?`${P.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`:"/assets/snapshot.jpg";this.backgroundStyle=`url('${t}') center/cover`}})}onSubmit(){return y(this,null,function*(){var n,b,E;this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0;let t=(n=this.passwordInput())==null?void 0:n.nativeElement.value;t&&t!==this.form.get("password").value&&this.form.controls.password.setValue(t);let o=(b=this.usernameInput())==null?void 0:b.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let u=(E=this.otpInput())==null?void 0:E.nativeElement.value;u&&u!==this.form.get("otp").value&&this.form.controls.username.setValue(u)}yield this.$auth.login(this.form.getRawValue()).then(()=>{this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}).catch(u=>{u.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[x.required,x.minLength(6),x.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}),this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["ng-component"]],viewQuery:function(o,n){o&1&&(C(n.passwordInput,X,5),C(n.usernameInput,Y,5),C(n.otpInput,Z,5)),o&2&&L(3)},decls:13,vars:12,consts:[["username",""],["password",""],["otp",""],[1,"login-container","d-flex","align-items-center","justify-content-center",3,"ngStyle"],[1,"card","card-body","mx-2","login-card"],["novalidate","",3,"ngSubmit","formGroup"],[1,"h4","text-center","mb-4"],[1,"text-center"],[1,"red-text"],["tabindex","3","type","submit",1,"btn","btn-primary",3,"disabled"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-key","prefix","grey-text"],["formControlName","otp","type","text","id","form-ota","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-ota"]],template:function(o,n){o&1&&(a(0,"div",3)(1,"div",4)(2,"form",5),$("ngSubmit",function(){return n.onSubmit()}),a(3,"p",6),s(4,"Homebridge"),r(),S(5,te,15,12,"div")(6,ne,11,9,"div"),a(7,"div",7),S(8,ie,4,3,"p",8)(9,oe,4,3,"p",8),a(10,"button",9),s(11),l(12,"translate"),r()()()()()),o&2&&(m("ngStyle",f(10,ee,n.backgroundStyle)),i(2),m("formGroup",n.form),i(3),c(n.twoFactorCodeRequired?-1:5),i(),c(n.twoFactorCodeRequired?6:-1),i(2),c(n.invalidCredentials?8:-1),i(),c(n.invalid2faCode?9:-1),i(),m("disabled",n.form.invalid),i(),B(" ",p(12,8,"login.button_login")," "))},dependencies:[N,J,j,Q,z,D,U,K,A,W,R,O],styles:[".login-container[_ngcontent-%COMP%]{background-color:#f4f4f4;background-size:cover;position:absolute;top:0;bottom:0;right:0;left:0}.login-card[_ngcontent-%COMP%]{max-width:500px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (min-height: 800px){.login-card[_ngcontent-%COMP%]{margin-bottom:12em}}.login-logo[_ngcontent-%COMP%]{position:absolute;top:-35%;z-index:2000;max-width:450px}@media screen and (max-width: 450px){.login-logo[_ngcontent-%COMP%]{max-width:320px;top:-25%}}@media screen and (max-width: 320px){.login-logo[_ngcontent-%COMP%]{max-width:280px}}@media screen and (max-height: 450px){.login-logo[_ngcontent-%COMP%]{display:none}}"]})}return e})();export{Ce as a};
@@ -1 +0,0 @@
1
- import{m as k}from"./chunk-ORPWYWCL.js";import{b as g}from"./chunk-3IX3CLER.js";import{Bc as m,Cc as r,Kb as x,Lb as d,Qb as p,Rb as I,Wb as i,Xb as a,Yb as f,cc as s,dc as B,ib as t,na as v,nc as o,oc as u,pc as b,rb as _}from"./chunk-TXOB7R5K.js";function y(n,M){if(n&1&&f(0,"i",14),n&2){let c=B();p("fas fa-fw ",c.faIconClass," mb-4")}}var L=(()=>{class n{$activeModal=v(k);title;message;confirmButtonLabel;confirmButtonClass;faIconClass;static \u0275fac=function(l){return new(l||n)};static \u0275cmp=_({type:n,selectors:[["ng-component"]],inputs:{title:"title",message:"message",confirmButtonLabel:"confirmButtonLabel",confirmButtonClass:"confirmButtonClass",faIconClass:"faIconClass"},decls:22,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",3,"click"],[2,"font-size","75px"]],template:function(l,e){l&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),o(3),a(),i(4,"button",3),m(5,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),i(6,"span",4),o(7,"\xD7"),a()()(),i(8,"div",5),x(9,y,1,3,"i",6),i(10,"p",7),o(11),a()(),i(12,"div",8)(13,"div",9)(14,"button",10),m(15,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),o(16),m(17,"translate"),a()(),f(18,"div",11),i(19,"div",12)(20,"button",13),s("click",function(){return e.$activeModal.close()}),o(21),a()()()()),l&2&&(t(3),u(e.title),t(),d("aria-label",r(5,10,"form.button_close")),t(5),I(e.faIconClass?9:-1),t(2),u(e.message),t(3),d("aria-label",r(15,12,"form.button_close")),t(2),b(" ",r(17,14,"form.button_close")," "),t(4),p("btn ",e.confirmButtonClass||"btn-primary",""),t(),b(" ",e.confirmButtonLabel," "))},dependencies:[g],encapsulation:2})}return n})();export{L as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-VPSLX47Z.js";import"./chunk-5OHKMFXO.js";import"./chunk-BKUGARB4.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-YRSHLHYL.js";import"./chunk-NZNNTHFQ.js";import"./chunk-TSZZQKYF.js";import"./chunk-EP66JAAV.js";import"./chunk-TMD6JYTR.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as SetupWizardComponent};
@@ -1 +0,0 @@
1
- import{g as a}from"./chunk-MNBUOV7P.js";import"./chunk-5OHKMFXO.js";import"./chunk-R2W5BRWY.js";import"./chunk-656LQTVE.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-IMOTYOKQ.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-YRSHLHYL.js";import"./chunk-NZNNTHFQ.js";import"./chunk-TSZZQKYF.js";import"./chunk-EP66JAAV.js";import"./chunk-TMD6JYTR.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as SettingsComponent};
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-5OHKMFXO.js";import{b as we,w as Be}from"./chunk-R2W5BRWY.js";import{a as ye}from"./chunk-656LQTVE.js";import{b as De}from"./chunk-IMOTYOKQ.js";import{g as U,m as N,n as j,o as ke}from"./chunk-ORPWYWCL.js";import{b as K,c as pe,e as q,f as de,g as Z,j as O,k as ce,l as J,m as me,n as ue,o as ge,p as _e,q as be,r as ve,s as fe,t as he,u as xe,v as Se,y as Q,z as Ce}from"./chunk-QHPDGSZ6.js";import{d as oe,e as se}from"./chunk-NZNNTHFQ.js";import{b as le}from"./chunk-EP66JAAV.js";import{b as T,j as M}from"./chunk-TMD6JYTR.js";import{a as A,b as E}from"./chunk-3IX3CLER.js";import{$b as w,Bc as l,Cc as o,Dc as H,Kb as k,Lb as b,M as Y,Mb as u,Rb as h,Tb as F,Ub as V,Vb as D,Wb as i,Xb as n,Yb as d,ad as R,cc as v,db as te,dc as f,g as Ve,h as y,ib as e,id as W,kd as re,na as x,nc as r,oc as c,pc as g,qc as P,rb as B,sc as ie,tc as ne,uc as ae,w as I,xa as S,xc as L,ya as C,yc as $}from"./chunk-TXOB7R5K.js";var ee=Ve(De(),1);var Pe=(a,m)=>({"fa-download":a,"fa-cog fa-spin":m}),Re=a=>({backupTime:a,dayCount:7}),Ue=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m}),ze=(a,m)=>({backupSize:a,maxBackupSizeText:m});function He(a,m){if(a&1&&(i(0,"li"),r(1),l(2,"date"),l(3,"translate"),n()),a&2){let t=f();e(),g(" ",H(3,4,"backup.scheduled_backup_time",L(7,Re,H(2,1,t.backupTime,"shortTime")))," ")}}function Oe(a,m){if(a&1&&(i(0,"span",24),l(1,"translate"),d(2,"i",28),r(3),n()),a&2){let t=f().$implicit;u("ngbTooltip",H(1,2,"backup.backup_exceeds_max_size",$(5,ze,t.size+"MB",t.maxBackupSizeText))),e(3),g(" ",t.size,"MB ")}}function je(a,m){if(a&1&&(i(0,"span"),r(1),n()),a&2){let t=f().$implicit;e(),g(" ",t.size,"MB ")}}function Ge(a,m){if(a&1){let t=w();i(0,"li",9)(1,"span")(2,"span",23),r(3),l(4,"date"),n(),d(5,"br"),i(6,"small",10),r(7),l(8,"date"),k(9,Oe,4,8,"span",24)(10,je,2,1,"span"),n()(),i(11,"span",11)(12,"button",25),l(13,"translate"),l(14,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.restore(s))}),d(15,"i",13),n(),i(16,"button",14),l(17,"translate"),l(18,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.download(s))}),d(19,"i",26),n(),i(20,"button",27),l(21,"translate"),l(22,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.delete(s))}),d(23,"i",15),n()()()}if(a&2){let t=m.$implicit,p=f();e(2),u("ngbTooltip",t.fileName),e(),g(" ",H(4,15,t.timestamp,"mediumDate")," "),e(4),g(" ",H(8,18,t.timestamp,"shortTime")," \xB7 "),e(2),h(t.size>t.maxBackupSize?9:-1),e(),h(t.size<=t.maxBackupSize?10:-1),e(2),u("disabled",p.clicked||p.deleting||t.size>t.maxBackupSize)("ngbTooltip",o(13,21,"form.button_restore")),b("aria-label",o(14,23,"form.button_restore")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(17,25,"form.button_download")),b("aria-label",o(18,27,"form.button_download")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(21,29,"form.button_delete")),b("aria-label",o(22,31,"form.button_delete")),e(3),u("ngClass",$(33,Ue,t.id!==p.deleting,t.id===p.deleting))}}function Le(a,m){if(a&1&&(i(0,"div")(1,"div",29)(2,"h4",30),r(3),l(4,"translate"),n(),i(5,"p"),r(6),n()()()),a&2){let t=f();e(3),c(o(4,2,"toast.title_error")),e(3),c(t.errorMessage)}}var Ee=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);clicked=!1;scheduledBackups=[];backupTime;errorMessage="";deleting=null;ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:t=>{this.scheduledBackups=t},error:t=>{this.errorMessage=t.error.message||t.message}})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:t=>{this.backupTime=t.next},error:t=>{console.error(t)}})}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).subscribe({next:p=>{let s=t.fileName||"homebridge-backup.tar.gz",_=p.body.size;if(_>globalThis.backup.maxBackupSize){let z=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(_/1048576).toFixed(1)}MB`});this.$toastr.warning(z,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(p.body,s)},error:p=>{console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(t){this.$activeModal.close();let p=this.$modal.open(X,{size:"lg",backdrop:"static"});p.componentInstance.selectedBackup=t}delete(t){this.deleting=t.id,this.$api.delete(`/backup/scheduled-backups/${t.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return y(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:t=>{let p=t.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let s=t.body.size;if(s>globalThis.backup.maxBackupSize){let _=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(s/1048576).toFixed(1)}MB`});this.$toastr.warning(_,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(t.body,p)},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:55,vars:50,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[2,"display","flex","flex-wrap","nowrap"],["disabled","",1,"btn","btn-primary","ml-3"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw",3,"ngClass"],["disabled","",1,"btn","btn-danger","ml-1"],[1,"fas","fa-fw","fa-trash"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"],["role","alert",1,"alert","alert-error"],[1,"alert-heading"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ul")(13,"li"),r(14),l(15,"translate"),n(),i(16,"li"),r(17),l(18,"translate"),n(),i(19,"li"),r(20),l(21,"translate"),n(),k(22,He,4,9,"li"),n(),i(23,"ul",8)(24,"li",9)(25,"span")(26,"span"),r(27),l(28,"date"),n(),d(29,"br"),i(30,"small",10),r(31),l(32,"date"),l(33,"translate"),n()(),i(34,"span",11)(35,"button",12),l(36,"translate"),d(37,"i",13),n(),i(38,"button",14),l(39,"translate"),l(40,"translate"),v("click",function(){return s.onDownloadBackupClick()}),d(41,"i",15),n(),i(42,"button",16),l(43,"translate"),d(44,"i",17),n()()(),V(45,Ge,24,36,"li",9,F),n(),k(47,Le,7,4,"div"),n(),i(48,"div",18),d(49,"div",19),i(50,"div",20)(51,"button",21),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(52),l(53,"translate"),n()(),d(54,"div",22),n()()),p&2&&(e(3),c(o(4,19,"backup.title_backup")),e(2),u("disabled",s.clicked||s.deleting),b("aria-label",o(6,21,"form.button_close")),e(9),c(o(15,23,"backup.backup_help_one")),e(3),c(o(18,25,"backup.backup_help_two")),e(3),c(o(21,27,"backup.backup_warning")),e(2),h(s.backupTime?22:-1),e(5),g(" ",H(28,29,s.Date.now(),"mediumDate")," "),e(4),P("",H(32,32,s.Date.now(),"shortTime")," \xB7 ",o(33,35,"backup.now"),""),e(4),b("aria-label",o(36,37,"form.button_restore")),e(3),u("disabled",s.clicked)("ngbTooltip",o(39,39,"form.button_download")),b("aria-label",o(40,41,"form.button_download")),e(3),u("ngClass",$(47,Pe,!s.clicked,s.clicked)),e(),b("aria-label",o(43,43,"form.button_delete")),e(3),D(s.scheduledBackups),e(2),h(s.errorMessage?47:-1),e(4),u("disabled",s.clicked||s.deleting),e(),g(" ",o(53,45,"form.button_close")," "))},dependencies:[ke,R,re,E],encapsulation:2})}return a})();function We(a,m){a&1&&(i(0,"div",6),d(1,"i",13),i(2,"p",14),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function Ke(a,m){a&1&&(i(0,"div")(1,"div",15),d(2,"i",16),n(),i(3,"ngb-alert",17)(4,"p",18),r(5),l(6,"translate"),n(),i(7,"ul",19)(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",14),r(15),l(16,"translate"),n()()()()),a&2&&(e(3),u("dismissible",!1),e(2),c(o(6,5,"reset.action_is_irreversible")),e(4),c(o(10,7,"reset.clear_cache_all.list_1")),e(3),c(o(13,9,"reset.clear_cache_all.list_2")),e(3),c(o(16,11,"reset.clear_cache_all.list_3")))}function qe(a,m){if(a&1){let t=w();i(0,"button",20),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}if(a&2){let t=f();u("disabled",t.clicked),b("aria-label",o(1,3,"form.button_close")),e(2),g(" ",o(3,5,"form.button_close")," ")}}function Je(a,m){if(a&1){let t=w();i(0,"button",21),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}a&2&&(b("aria-label",o(1,2,"form.button_close")),e(2),g(" ",o(3,4,"form.button_close")," "))}function Qe(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_remove")))}function Xe(a,m){a&1&&d(0,"i",23)}function Ye(a,m){if(a&1){let t=w();i(0,"button",22),v("click",function(){S(t);let s=f();return C(s.onResetCachedAccessoriesClick())}),k(1,Qe,3,3,"span")(2,Xe,1,0,"i",23),n()}if(a&2){let t=f();u("disabled",t.clicked),e(),h(t.clicked?-1:1),e(),h(t.clicked?2:-1)}}var Ie=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);clicked;cachedAccessories=[];ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,We,5,3,"div",6)(11,Ke,17,13,"div"),n(),i(12,"div",7)(13,"div",8),k(14,qe,4,7,"button",9),n(),i(15,"div",6),k(16,Je,4,6,"button",10),n(),i(17,"div",11),k(18,Ye,3,3,"button",12),n()()()),p&2&&(e(3),c(o(4,8,"reset.clear_cache_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,10,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(3),h(s.cachedAccessories.length>0?14:-1),e(2),h(s.cachedAccessories.length===0?16:-1),e(2),h(s.cachedAccessories.length>0?18:-1))},dependencies:[U,E],encapsulation:2})}return a})();var Ze=(a,m)=>({"green-text":a,"red-text":m}),et=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function tt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.clear_cache_bridge.empty")))}function it(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessories(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,Ze,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting||p.deleted.includes(t._id)),b("aria-label",o(10,12,"form.button_delete")),e(2),u("ngClass",$(17,et,t._id!==p.deleting,t._id===p.deleting))}}function nt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,it,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.clear_cache_bridge.list_1")),e(3),c(o(10,6,"reset.clear_cache_single.list_3")),e(3),c(o(13,8,"reset.clear_cache_bridge.list_2")),e(3),D(t.pairings)}}var $e=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;deleted=[];ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessories(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}/accessories`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.deleting=null,this.deleted.push(t),this.$toastr.success("",this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){if(this.deleted.length){let t=this.$modal.open(we,{size:"lg",backdrop:"static"});t.componentInstance.bridges=this.deleted.map(p=>{let{_username:s,displayName:_}=this.pairings.find(z=>z._id===p);return{displayName:_,username:s}})}}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,tt,5,3,"div",6)(11,nt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_bridge.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var at=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function rt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function lt(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),d(3,"br"),i(4,"small",19),r(5),n()(),i(6,"button",20),l(7,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s))}),d(8,"i",21),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t.plugin,") "),e(3),c(t.UUID),e(),u("disabled",p.deleting),b("aria-label",o(7,6,"form.button_delete")),e(2),u("ngClass",$(8,at,t.UUID!==p.deleting,t.UUID===p.deleting))}}function ot(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",12),r(15),l(16,"translate"),n()()(),i(17,"ul",17),V(18,lt,9,11,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,5,"reset.clear_cache_single.list_1")),e(3),c(o(10,7,"reset.clear_cache_single.list_2")),e(3),c(o(13,9,"reset.clear_cache_single.list_3")),e(3),c(o(16,11,"reset.clear_cache_single.list_4")),e(3),D(t.cachedAccessories)}}var Te=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);cachedAccessories=[];deleting=null;ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t.UUID,this.$toastr.info(this.$translate.instant("reset.removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${t.UUID}`,{params:{cacheFile:t.$cacheFile}}).subscribe({next:()=>y(this,null,function*(){yield this.loadCachedAccessories(),this.deleting=null,this.cachedAccessories.length||this.$activeModal.close(),this.$toastr.success(this.$translate.instant("reset.cached_accessory_removed"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("reset.delete_failed"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,rt,5,3,"div",6)(11,ot,20,13,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,E],encapsulation:2})}return a})();function pt(a,m){if(a&1){let t=w();i(0,"li",11)(1,"span")(2,"label",18)(3,"input",19),ae("ngModelChange",function(s){let _=S(t).$implicit;return ne(_.selected,s)||(_.selected=s),C(s)}),n(),i(4,"span"),r(5),n(),d(6,"span",20),n()(),i(7,"span"),r(8),n()()}if(a&2){let t=m.$implicit;e(2),u("for","adapter"+t.iface),e(),u("id","adapter"+t.iface),ie("ngModel",t.selected),e(2),c(t.iface),e(3),g(" ",t.ip4||t.ip6," ")}}var Ae=(()=>{class a{$activeModal=x(N);availableNetworkAdapters=[];bridgeNetworkAdapters=[];submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(t=>t.selected).map(t=>t.iface))}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:38,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-ethernet","mb-4","primary-text",2,"font-size","75px"],[1,"alert"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"div",8),r(13),l(14,"translate"),n(),i(15,"ul",9)(16,"li",10)(17,"span")(18,"strong"),r(19),l(20,"translate"),n()(),i(21,"span")(22,"strong"),r(23),l(24,"translate"),n()()(),V(25,pt,9,5,"li",11,F),n()(),i(27,"div",12)(28,"div",13)(29,"button",14),l(30,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(31),l(32,"translate"),n()(),d(33,"div",15),i(34,"div",16)(35,"button",17),v("click",function(){return s.submit()}),r(36),l(37,"translate"),n()()()()),p&2&&(e(3),c(o(4,8,"settings.network.title_network_interfaces")),e(2),b("aria-label",o(6,10,"form.button_close")),e(8),c(o(14,12,"settings.network.message_network_interface")),e(6),c(o(20,14,"settings.network.label_interface_name")),e(4),c(o(24,16,"settings.network.label_ip_address")),e(2),D(s.availableNetworkAdapters),e(4),b("aria-label",o(30,18,"form.button_close")),e(2),g(" ",o(32,20,"form.button_close")," "),e(5),g(" ",o(37,22,"form.button_save")," "))},dependencies:[Q,K,q,J,E],encapsulation:2})}return a})();function dt(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_reset")))}function ct(a,m){a&1&&d(0,"i",18)}var Me=(()=>{class a{$activeModal=x(N);$api=x(T);$route=x(oe);$toastr=x(M);$translate=x(A);clicked;onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ngb-alert",8)(13,"p",9),r(14),l(15,"translate"),n(),i(16,"ul",10)(17,"li"),r(18),l(19,"translate"),n(),i(20,"li"),r(21),l(22,"translate"),n(),i(23,"li"),r(24),l(25,"translate"),n(),i(26,"li",11),r(27),l(28,"translate"),n()()()(),i(29,"div",12)(30,"div",13)(31,"button",14),l(32,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(33),l(34,"translate"),n()(),d(35,"div",15),i(36,"div",16)(37,"button",17),v("click",function(){return s.onResetHomebridgeAccessoryClick()}),k(38,dt,3,3,"span")(39,ct,1,0,"i",18),n()()()()),p&2&&(e(3),c(o(4,15,"reset.bridges_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,17,"form.button_close")),e(7),u("dismissible",!1),e(2),c(o(15,19,"reset.action_is_irreversible")),e(4),c(o(19,21,"reset.bridges_all.list_1")),e(3),c(o(22,23,"reset.bridges_all.list_2")),e(3),c(o(25,25,"reset.bridges_all.list_3")),e(3),c(o(28,27,"reset.bridges_all.list_4")),e(4),u("disabled",s.clicked),b("aria-label",o(32,29,"form.button_close")),e(2),g(" ",o(34,31,"form.button_close")," "),e(4),u("disabled",s.clicked),e(),h(s.clicked?-1:38),e(),h(s.clicked?39:-1))},dependencies:[U,E],encapsulation:2})}return a})();var mt=(a,m)=>({"green-text":a,"red-text":m}),ut=(a,m)=>({"fa-link-slash":a,"fa-cog fa-spin":m});function gt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.bridges.empty")))}function _t(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,mt,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting),b("aria-label",o(10,12,"form.button_unpair")),e(2),u("ngClass",$(17,ut,t._id!==p.deleting,t._id===p.deleting))}}function bt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li",12),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,_t,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.bridges_single.list_1")),e(3),c(o(10,6,"reset.bridges_single.list_2")),e(3),c(o(13,8,"reset.bridges_single.list_3")),e(3),D(t.pairings)}}var Ne=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;unpaired=!1;ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.pairings.length||this.$activeModal.close(),this.deleting=null,this.unpaired=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.unpaired&&this.$modal.open(ye,{size:"lg",backdrop:"static"})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,gt,5,3,"div",6)(11,bt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.bridges_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var vt=a=>({"fa-pulse":a}),Fe=a=>({"is-invalid":a}),ft=(a,m)=>({"badge-danger":a,"badge-info":m});function ht(a,m){if(a&1){let t=w();i(0,"ul",5)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),n(),i(5,"button",14),l(6,"translate"),v("click",function(){S(t);let s=f();return C(s.openBackupModal())}),d(7,"i",15),n()(),i(8,"li",12)(9,"span",13),r(10),l(11,"translate"),n(),i(12,"button",14),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.openRestoreModal())}),d(14,"i",15),n()(),i(15,"li",12)(16,"span",13),r(17),l(18,"translate"),n(),i(19,"a",16),l(20,"translate"),d(21,"i",15),n()(),i(22,"li",12)(23,"span",13),r(24),l(25,"translate"),n(),i(26,"button",14),l(27,"translate"),v("click",function(){S(t);let s=f();return C(s.openUiSettings())}),d(28,"i",17),n()()()}a&2&&(e(3),g(" ",o(4,8,"backup.title_backup")," "),e(2),b("aria-label",o(6,10,"backup.title_backup")),e(5),g(" ",o(11,12,"form.button_restore")," "),e(2),b("aria-label",o(13,14,"form.button_restore")),e(5),g(" ",o(18,16,"menu.tooltip_user_accounts")," "),e(2),b("aria-label",o(20,18,"menu.tooltip_user_accounts")),e(5),g(" ",o(25,20,"menu.label_settings_advanced")," "),e(2),b("aria-label",o(27,22,"menu.label_settings_advanced")))}function xt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function St(a,m){if(a&1){let t=w();i(0,"ul",6)(1,"li",18)(2,"span"),r(3),l(4,"translate"),n(),i(5,"div",19)(6,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lang",s))}),i(7,"option",21),r(8),l(9,"translate"),n(),i(10,"option",22),r(11,"Bulgarian (bg)"),n(),i(12,"option",23),r(13,"Catalan (ca)"),n(),i(14,"option",24),r(15,"Chinese - Simplified (zh-CN)"),n(),i(16,"option",25),r(17,"Chinese - Traditional (zh-TW)"),n(),i(18,"option",26),r(19,"Czech (cs)"),n(),i(20,"option",27),r(21,"Dutch (nl)"),n(),i(22,"option",28),r(23,"English (en)"),n(),i(24,"option",29),r(25,"Finnish (fi)"),n(),i(26,"option",30),r(27,"French (fr)"),n(),i(28,"option",31),r(29,"German (de)"),n(),i(30,"option",32),r(31,"Hebrew (he)"),n(),i(32,"option",33),r(33,"Hungarian (hu)"),n(),i(34,"option",34),r(35,"Indonesian (id)"),n(),i(36,"option",35),r(37,"Italian (it)"),n(),i(38,"option",36),r(39,"Japanese (ja)"),n(),i(40,"option",37),r(41,"Korean (ko)"),n(),i(42,"option",38),r(43,"Macedonian (mk)"),n(),i(44,"option",39),r(45,"Norwegian (no)"),n(),i(46,"option",40),r(47,"Polish (pl)"),n(),i(48,"option",41),r(49,"Portuguese (Brazil)"),n(),i(50,"option",42),r(51,"Portuguese (Portugal)"),n(),i(52,"option",43),r(53,"Russian (ru)"),n(),i(54,"option",44),r(55,"Slovenian (sl)"),n(),i(56,"option",45),r(57,"Spanish (es)"),n(),i(58,"option",46),r(59,"Swedish (sv)"),n(),i(60,"option",47),r(61,"Thai (th)"),n(),i(62,"option",48),r(63,"Turkish (tr)"),n(),i(64,"option",49),r(65,"Ukrainian (uk)"),n()()()(),i(66,"li",18)(67,"span"),r(68),l(69,"translate"),n(),i(70,"div",19)(71,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("theme",s))}),i(72,"option",50),r(73),l(74,"translate"),n(),i(75,"option",51),r(76),l(77,"translate"),n(),i(78,"option",52),r(79),l(80,"translate"),n(),i(81,"option",53),r(82),l(83,"translate"),n(),i(84,"option",54),r(85),l(86,"translate"),n(),i(87,"option",55),r(88),l(89,"translate"),n(),i(90,"option",56),r(91),l(92,"translate"),n(),i(93,"option",57),r(94),l(95,"translate"),n(),i(96,"option",58),r(97),l(98,"translate"),n(),i(99,"option",59),r(100),l(101,"translate"),n(),i(102,"option",60),r(103),l(104,"translate"),n(),i(105,"option",61),r(106),l(107,"translate"),n(),i(108,"option",62),r(109),l(110,"translate"),n()()()(),i(111,"li",18)(112,"span"),r(113),l(114,"translate"),n(),i(115,"div",19)(116,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lightingMode",s))}),i(117,"option",21),r(118),l(119,"translate"),n(),i(120,"option",63),r(121),l(122,"translate"),n(),i(123,"option",64),r(124),l(125,"translate"),n()()()(),i(126,"li",18)(127,"span"),r(128),l(129,"translate"),d(130,"br")(131,"small",65),l(132,"translate"),n(),i(133,"div",19)(134,"input",66),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("loginWallpaper",s))}),n()()(),i(135,"li",18)(136,"span"),r(137),l(138,"translate"),n(),i(139,"div",19)(140,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("tempUnits",s))}),i(141,"option",67),r(142),l(143,"translate"),n(),i(144,"option",68),r(145),l(146,"translate"),n()()()(),k(147,xt,8,9,"li",69),n()}if(a&2){let t=f();e(3),c(o(4,31,"settings.display.lang")),e(3),u("ngModel",t.$settings.env.lang),e(2),c(o(9,33,"form.select.auto")),e(60),c(o(69,35,"settings.display.theme")),e(3),u("ngModel",t.$settings.theme),e(2),c(o(74,37,"settings.display.orange")),e(3),c(o(77,39,"settings.display.red")),e(3),c(o(80,41,"settings.display.pink")),e(3),c(o(83,43,"settings.display.purple")),e(3),c(o(86,45,"settings.display.deep_purple")),e(3),c(o(89,47,"settings.display.indigo")),e(3),c(o(92,49,"settings.display.blue")),e(3),c(o(95,51,"settings.display.bluegrey")),e(3),c(o(98,53,"settings.display.cyan")),e(3),c(o(101,55,"settings.display.green")),e(3),c(o(104,57,"settings.display.teal")),e(3),c(o(107,59,"settings.display.grey")),e(3),c(o(110,61,"settings.display.brown")),e(4),c(o(114,63,"settings.display.lighting_mode")),e(3),u("ngModel",t.$settings.lightingMode),e(2),c(o(119,65,"form.select.auto")),e(3),c(o(122,67,"settings.display.light")),e(3),c(o(125,69,"settings.display.dark")),e(4),g(" ",o(129,71,"settings.display.login_wallpaper"),""),e(3),u("innerHTML",o(132,73,"settings.display.login_wallpaper_desc"),te),e(3),u("ngModel",t.$settings.loginWallpaper),e(3),c(o(138,75,"settings.display.temp_units")),e(3),u("ngModel",t.$settings.env.temperatureUnits),e(2),c(o(143,77,"settings.display.temp_units.c")),e(3),c(o(146,79,"settings.display.temp_units.f")),e(2),h(t.hasChangedLoginWallpaper?147:-1)}}function Ct(a,m){if(a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-D"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",74),l(11,"translate"),d(12,"label",75),n()),a&2){let t=f(3);e(2),g(" ",o(3,3,"settings.startup.debug")," "),e(6),g(" ",o(9,5,t.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),e(2),b("aria-label",o(11,7,"settings.startup.debug"))}}function kt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-I"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",76),l(11,"translate"),d(12,"label",77),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.insecure")," "),e(6),c(o(9,5,"settings.startup.insecure_desc")),e(2),b("aria-label",o(11,7,"settings.startup.insecure")))}function wt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-K"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",78),l(11,"translate"),d(12,"label",79),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.keep_accessories")," "),e(6),c(o(9,5,"settings.startup.keep_accessories_desc")),e(2),b("aria-label",o(11,7,"settings.startup.keep_accessories")))}function yt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"DEBUG"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),i(8,"a",81),r(9),l(10,"translate"),d(11,"i",82),n()()(),i(12,"div",19),d(13,"input",83),n()()),a&2&&(e(6),g(" ",o(7,2,"settings.service.debug_tooltip")," "),e(3),g(" ",o(10,4,"form.button_more_info")," "))}function Bt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"NODE_OPTIONS"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"div",19),d(9,"input",84),n()()),a&2&&(e(6),c(o(7,1,"settings.service.node_tooltip")))}function Et(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"a",85),l(9,"translate"),d(10,"i",15),n()()),a&2&&(e(2),g(" ",o(3,3,"menu.docker.startup_script"),""),e(4),c(o(7,5,"platform.docker.script_help")),e(2),b("aria-label",o(9,7,"menu.docker.startup_script")))}function It(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function $t(a,m){if(a&1&&(i(0,"ul",72),k(1,Ct,13,9,"li",12)(2,kt,13,9,"li",12)(3,wt,13,9,"li",12)(4,yt,14,6,"li",18)(5,Bt,10,3,"li",18)(6,Et,11,9,"li",12)(7,It,8,9,"li",69),n()),a&2){let t=f(2);e(),h(t.$settings.env.serviceMode?1:-1),e(),h(t.$settings.env.serviceMode?2:-1),e(),h(t.$settings.env.serviceMode?3:-1),e(),h(t.$settings.env.serviceMode?4:-1),e(),h(t.$settings.env.serviceMode?5:-1),e(),h(t.$settings.env.runningInDocker?6:-1),e(),h(t.hasChangedService?7:-1)}}function Tt(a,m){if(a&1){let t=w();i(0,"form",7)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("startup"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,$t,8,7,"ul",72),n()}if(a&2){let t=f();u("formGroup",t.serviceForm),e(),b("aria-expanded",t.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),e(2),u("ngClass",t.showFields.startup?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.title_startup_options")," "),e(2),h(t.showFields.startup?6:-1)}}function At(a,m){a&1&&d(0,"i",96)}function Mt(a,m){if(a&1&&(i(0,"span")(1,"span",95),k(2,At,1,0,"i",96),r(3),i(4,"span",97),r(5),l(6,"translate"),n()()()),a&2){let t=m.$implicit;e(),u("ngClass",$(6,ft,t.missing,!t.missing)),e(),h(t.missing?2:-1),e(),g(" ",t.iface,": "),e(2),c(t.missing?o(6,4,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function Nt(a,m){a&1&&(i(0,"option",89),r(1),l(2,"translate"),n()),a&2&&(e(),g("Avahi (",o(2,1,"settings.mdns_advertiser_rec"),")"))}function Ft(a,m){a&1&&(i(0,"option",92),r(1),l(2,"translate"),n()),a&2&&(e(),g("systemd-resolved (",o(2,1,"settings.mdns_advertiser_exp"),")"))}function Vt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function Dt(a,m){if(a&1){let t=w();i(0,"ul",8)(1,"li",12)(2,"span",13)(3,"div"),r(4),l(5,"translate"),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),V(10,Mt,7,9,"span",null,F),n(),i(12,"button",86),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.selectNetworkInterfaces())}),d(14,"i",87),n()(),i(15,"li",18)(16,"span"),r(17),l(18,"translate"),d(19,"br"),i(20,"small",73),r(21),l(22,"translate"),n()(),i(23,"div",19)(24,"select",88),l(25,"translate"),k(26,Nt,3,3,"option",89),i(27,"option",90),r(28),l(29,"translate"),n(),i(30,"option",91),r(31,"Bonjour HAP"),n(),k(32,Ft,3,3,"option",92),n()()(),i(33,"li",18)(34,"span"),r(35),l(36,"translate"),d(37,"br"),i(38,"small",73),r(39),l(40,"translate"),n()(),i(41,"div",19),d(42,"input",93),l(43,"translate"),n()(),i(44,"li",18)(45,"span"),r(46),l(47,"translate"),d(48,"br"),i(49,"small",73),r(50),l(51,"translate"),n()(),i(52,"div",19),d(53,"input",94),l(54,"translate"),n()(),k(55,Vt,8,9,"li",69),n()}if(a&2){let t=f();e(4),g(" ",o(5,22,"settings.network.title_network_interfaces"),""),e(4),c(o(9,24,"settings.network.message_network_interface")),e(2),D(t.bridgeNetworkAdapters),e(2),u("disabled",!t.availableNetworkAdapters.length),b("aria-label",o(13,26,"settings.network.title_network_interfaces")),e(2),u("ngClass",L(48,vt,!t.availableNetworkAdapters.length)),e(3),g(" ",o(18,28,"settings.mdns_advertiser"),""),e(4),c(o(22,30,"settings.mdns_advertiser_help")),e(3),u("formControl",t.legacyMdnsFormControl),b("aria-label",o(25,32,"settings.mdns_advertiser")),e(2),h(t.showAvahiMdnsOption?26:-1),e(2),g(" Ciao ",t.showAvahiMdnsOption?"":"("+o(29,34,"settings.mdns_advertiser_rec")+")"," "),e(4),h(t.showResolvedMdnsOption?32:-1),e(3),g(" ",o(36,36,"settings.network.port_hb"),""),e(4),c(o(40,38,"settings.network.port_hb_desc")),e(3),u("formControl",t.hbPortFormControl)("ngClass",L(50,Fe,t.isInvalidHbPort)),b("aria-label",o(43,40,"settings.network.port_ui")),e(4),g(" ",o(47,42,"settings.network.port_ui"),""),e(4),c(o(51,44,"settings.network.port_ui_desc")),e(3),u("ngClass",L(52,Fe,t.isInvalidHbUiPort)),b("aria-label",o(54,46,"settings.network.port_ui")),e(2),h(t.hasChangedHbPort||t.hasChangedUiSettings||t.hasChangedMdns||t.hasChangedBridgeNetworkAdapters?55:-1)}}function Pt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"settings.cache.desc")))}function Rt(a,m){if(a&1){let t=w();i(0,"ul",98)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeSingleCachedAccessories())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),d(16,"br"),i(17,"small",73),r(18),l(19,"translate"),n()(),i(20,"button",14),l(21,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeBridgeAccessories())}),d(22,"i",15),n()(),i(23,"li",12)(24,"span",13),r(25),l(26,"translate"),d(27,"br"),i(28,"small",73),r(29),l(30,"translate"),n()(),i(31,"button",14),l(32,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeAllCachedAccessories())}),d(33,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,9,"reset.clear_cache_single.title"),""),e(4),c(o(8,11,"reset.clear_cache_single.desc")),e(2),b("aria-label",o(10,13,"reset.clear_cache_single.title")),e(5),g(" ",o(15,15,"reset.clear_cache_bridge.title"),""),e(4),c(o(19,17,"reset.clear_cache_bridge.desc")),e(2),b("aria-label",o(21,19,"reset.clear_cache_all.title")),e(5),g(" ",o(26,21,"reset.clear_cache_all.title"),""),e(4),c(o(30,23,"reset.clear_cache_all.desc")),e(2),b("aria-label",o(32,25,"reset.clear_cache_all.title")))}function Ut(a,m){if(a&1){let t=w();i(0,"div",1)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("cache"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,Pt,3,3,"p",9)(7,Rt,34,27,"ul",98),n()}if(a&2){let t=f();e(),b("aria-expanded",t.showFields.cache?"true":"false")("aria-controls","fieldsCache"),e(2),u("ngClass",t.showFields.cache?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.cache.title")," "),e(2),h(t.showFields.cache?6:-1),e(),h(t.showFields.cache?7:-1)}}function zt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"reset.bridges.desc")))}function Ht(a,m){if(a&1){let t=w();i(0,"ul",10)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f();return C(s.unpairAccessory())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),l(16,"titlecase"),d(17,"br"),i(18,"small",73),r(19),l(20,"translate"),n()(),i(21,"button",14),l(22,"translate"),v("click",function(){S(t);let s=f();return C(s.resetHomebridgeState())}),d(23,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,6,"reset.bridges_single.title"),""),e(4),c(o(8,8,"reset.bridges_single.desc")),e(2),b("aria-label",o(10,10,"reset.bridges_single.title")),e(5),g(" ",o(16,14,o(15,12,"reset.bridges_all.title")),""),e(5),c(o(20,16,"reset.bridges_all.desc")),e(2),b("aria-label",o(22,18,"reset.bridges_all.title")))}var Cn=(()=>{class a{$api=x(T);$modal=x(j);$plugin=x(Be);$settings=x(le);$toastr=x(M);$translate=x(A);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalLoginWallpaper="";originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedLoginWallpaper=!1;isInvalidHbPort=!1;isInvalidHbUiPort=!1;serviceForm=new Z({HOMEBRIDGE_DEBUG:new O(!1),HOMEBRIDGE_KEEP_ORPHANS:new O(!1),HOMEBRIDGE_INSECURE:new O(!0),ENV_DEBUG:new O(""),ENV_NODE_OPTIONS:new O("")});uiSettingsForm=new Z({port:new O(0)});loginWallpaper="";legacyMdnsFormControl=new ce(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new O(0);isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(Y(500)).subscribe(t=>{let p=!1;Object.keys(t).forEach(s=>{this.originalUiSettingsForm[s]!==t[s]&&(this.saveUiSettingChange(s,t[s]),p=!0)}),this.hasChangedUiSettings=p})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:t=>{Object.keys(t).forEach(p=>{this.originalServiceForm[p]=t[p]}),this.serviceForm.patchValue(t),this.serviceForm.valueChanges.pipe(Y(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(t,p){switch(t){case"lang":this.$settings.setLang(p);break;case"lightingMode":this.$settings.setLightingMode(p,"user");break;case"theme":this.$settings.setTheme(p);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",p);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",p),this.hasChangedLoginWallpaper=p!==this.originalLoginWallpaper;break;case"port":if(!p||typeof p!="number"||p<1025||p>65533||Number.isInteger(p)===!1||p===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",p),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:t,value:p})).catch(s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(X,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}saveServiceModeSettings(t=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",t).subscribe({next:()=>{this.hasChangedService=JSON.stringify(t)!==JSON.stringify(this.originalServiceForm)},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(Te,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return y(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return y(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([t,p,s,_])=>{this.availableNetworkAdapters=t,this.buildBridgeNetworkAdapterList(p),this.legacyMdnsFormControl.patchValue(s.advertiser),this.originalMdnsSetting=s.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(z=>z.iface),this.legacyMdnsFormControl.valueChanges.subscribe(z=>{this.setHomebridgeMdnsSetting(z)}),this.hbPortFormControl.patchValue(_.port),this.hbPortFormControl.valueChanges.subscribe(z=>this.setHomebridgePort(z)),this.originalHbPort=_.port})})}setHomebridgeMdnsSetting(t){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:t}).subscribe({next:()=>{this.hasChangedMdns=t!==this.originalMdnsSetting},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(t){return y(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:t}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==t.join(",")},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(t){return y(this,null,function*(){if(t===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:t}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==t,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(t){if(!t.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=t.map(p=>{let s=this.availableNetworkAdapters.find(_=>_.iface===p);return s?(s.selected=!0,s.missing=!1,s):{iface:p,missing:!0}})}selectNetworkInterfaces(){let t=this.$modal.open(Ae,{size:"lg",backdrop:"static"});t.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,t.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,t.result.then(p=>{this.buildBridgeNetworkAdapterList(p),this.setNetworkInterfaces(p)}).catch(()=>{})}toggleSection(t){this.showFields[t]=!this.showFields[t]}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-chevron-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-sliders"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values","target","_blank"],[1,"fa","fa/fw","fas","fa-fw","fa-external-link-alt"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"font-weight-normal"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"]],template:function(p,s){p&1&&(i(0,"h3",0),r(1),l(2,"translate"),n(),i(3,"div",1)(4,"div",2),v("click",function(){return s.toggleSection("general")}),i(5,"h5",3),d(6,"i",4),r(7),l(8,"translate"),n()(),k(9,ht,29,24,"ul",5),n(),i(10,"div",1)(11,"div",2),v("click",function(){return s.toggleSection("display")}),i(12,"h5",3),d(13,"i",4),r(14),l(15,"translate"),n()(),k(16,St,148,81,"ul",6),n(),k(17,Tt,7,8,"form",7),i(18,"form",7)(19,"div",2),v("click",function(){return s.toggleSection("network")}),i(20,"h5",3),d(21,"i",4),r(22),l(23,"translate"),n()(),k(24,Dt,56,54,"ul",8),n(),k(25,Ut,8,8,"div",1),i(26,"div",1)(27,"div",2),v("click",function(){return s.toggleSection("reset")}),i(28,"h5",3),d(29,"i",4),r(30),l(31,"translate"),n()(),k(32,zt,3,3,"p",9)(33,Ht,24,20,"ul",10),n(),d(34,"div",11)),p&2&&(e(),c(o(2,25,"menu.settings.title")),e(3),b("aria-expanded",s.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),u("ngClass",s.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(8,27,"settings.general.title_general")," "),e(2),h(s.showFields.general?9:-1),e(2),b("aria-expanded",s.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),e(2),u("ngClass",s.showFields.display?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(15,29,"settings.general.title_display")," "),e(2),h(s.showFields.display?16:-1),e(),h(s.$settings.env.serviceMode||s.$settings.env.runningInDocker?17:-1),e(),u("formGroup",s.uiSettingsForm),e(),b("aria-expanded",s.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),e(2),u("ngClass",s.showFields.network?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(23,31,"settings.network.title_network")," "),e(2),h(s.showFields.network?24:-1),e(),h(s.$settings.env.serviceMode?25:-1),e(2),b("aria-expanded",s.showFields.reset?"true":"false")("aria-controls","fieldsReset"),e(2),u("ngClass",s.showFields.reset?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(31,33,"reset.bridges.title")," "),e(2),h(s.showFields.reset?32:-1),e(),h(s.showFields.reset?33:-1))},dependencies:[R,se,Q,me,fe,he,pe,ue,K,ve,q,de,Se,xe,J,Ce,ge,_e,be,W,E],encapsulation:2})}return a})();export{Ie as a,$e as b,Te as c,Ae as d,Me as e,Ne as f,Cn as g};
@@ -1 +0,0 @@
1
- import{e as a}from"./chunk-WXTR3AXD.js";import"./chunk-QE7DO6J3.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-TSZZQKYF.js";import"./chunk-EP66JAAV.js";import"./chunk-TMD6JYTR.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as UsersComponent};
@@ -1 +0,0 @@
1
- import{b as S}from"./chunk-3IX3CLER.js";import{Bc as i,Cc as n,Kb as v,Lb as o,Mb as b,Rb as f,Wb as t,Xb as a,Yb as p,ad as g,cc as h,ib as e,nc as r,oc as d,pc as l,rb as x}from"./chunk-TXOB7R5K.js";function B(s,w){s&1&&(t(0,"ul",6)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",12),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",14),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",15),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",16),i(43,"translate"),p(44,"i",13),a()()()),s&2&&(e(3),l(" ",n(4,12,"support.links.documentation"),""),e(4),d(n(8,14,"support.links.documentation_sub")),e(2),o("aria-label",n(10,16,"support.links.documentation")),e(5),l(" ",n(15,18,"support.links.issue"),""),e(4),d(n(19,20,"support.links.issue_sub")),e(2),o("aria-label",n(21,22,"support.links.issue")),e(5),l(" ",n(26,24,"support.links.discord"),""),e(4),d(n(30,26,"support.links.discord_sub")),e(2),o("aria-label",n(32,28,"support.links.discord")),e(5),l(" ",n(37,30,"support.links.reddit"),""),e(4),d(n(41,32,"support.links.reddit_sub")),e(2),o("aria-label",n(43,34,"support.links.reddit")))}function k(s,w){s&1&&(t(0,"ul",8)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",17),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",18),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",19),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",20),i(43,"translate"),p(44,"i",13),a()(),t(45,"li",9)(46,"span",10),r(47),i(48,"translate"),p(49,"br"),t(50,"small",11),r(51),i(52,"translate"),a()(),t(53,"a",20),i(54,"translate"),p(55,"i",13),a()()()),s&2&&(e(3),l(" ",n(4,15,"support.dev.item_swagger"),""),e(4),l(" ",n(8,17,"support.dev.item_swagger_sub")," "),e(2),o("aria-label",n(10,19,"support.dev.item_swagger")),e(5),l(" ",n(15,21,"support.dev.api"),""),e(4),d(n(19,23,"support.dev.api_sub")),e(2),o("aria-label",n(21,25,"support.dev.api")),e(5),l(" ",n(26,27,"support.dev.api_hap"),""),e(4),d(n(30,29,"support.dev.api_hap_sub")),e(2),o("aria-label",n(32,31,"support.dev.api_hap")),e(5),l(" ",n(37,33,"support.dev.template"),""),e(4),l(" ",n(41,35,"support.dev.template_sub")," "),e(2),o("aria-label",n(43,37,"support.dev.template")),e(5),l(" ",n(48,39,"support.dev.verified"),""),e(4),d(n(52,41,"support.dev.verified_sub")),e(2),o("aria-label",n(54,43,"support.dev.verified")))}var C=(()=>{class s{showFields={general:!0,dev:!0};constructor(){}toggleSection(u){this.showFields[u]=!this.showFields[u]}static \u0275fac=function(c){return new(c||s)};static \u0275cmp=x({type:s,selectors:[["ng-component"]],decls:18,vars:17,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],["id","fieldsDev",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"grey-text","pr-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"fas","fa-fw","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","/swagger","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"]],template:function(c,m){c&1&&(t(0,"div",0)(1,"h3",1),r(2),i(3,"translate"),a()(),t(4,"div",2)(5,"div",3),h("click",function(){return m.toggleSection("general")}),t(6,"h5",4),p(7,"i",5),r(8),i(9,"translate"),a()(),v(10,B,45,36,"ul",6),a(),t(11,"div",7)(12,"div",3),h("click",function(){return m.toggleSection("dev")}),t(13,"h5",4),p(14,"i",5),r(15),i(16,"translate"),a()(),v(17,k,56,45,"ul",8),a()),c&2&&(e(2),d(n(3,11,"support.title")),e(3),o("aria-expanded",m.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),b("ngClass",m.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),l(" ",n(9,13,"support.links.title")," "),e(2),f(m.showFields.general?10:-1),e(2),o("aria-expanded",m.showFields.dev?"true":"false")("aria-controls","fieldsDev"),e(2),b("ngClass",m.showFields.dev?"fa-chevron-down":"fa-chevron-right"),e(),l(" ",n(16,15,"support.dev.title")," "),e(2),f(m.showFields.dev?17:-1))},dependencies:[g,S],encapsulation:2})}return s})();export{C as a};
@@ -1 +0,0 @@
1
- import{l as rn}from"./chunk-UG5DK2RQ.js";import{$ as br,A as Se,Aa as bt,Ab as _r,B as Sr,Ba as Or,Bb as Ot,C as St,Ca as It,Cb as zr,Db as Fr,Ea as Er,Eb as qr,Fa as oe,Fc as Qe,Ga as At,H as X,Hc as Ke,Ia as Ur,Ja as Dt,Jb as Br,K as ne,Kc as Ze,L as ie,Lb as Vr,N as Ct,O as se,Oc as Zr,P as Cr,Sc as Yr,T as He,Ta as xr,U as Q,Uc as Xr,V as Rt,Vc as Re,W as Rr,X as wr,Xc as Jr,Yb as Hr,Yc as en,Zc as we,a as h,aa as N,b as T,ba as Ir,ca as I,cc as Wr,ea as A,fb as Pr,gc as Gr,ha as w,i as gr,ia as Ar,ic as Qr,j as vr,ja as Dr,jb as L,jc as Kr,ka as M,kb as jr,l as mt,la as wt,m as yt,ma as F,n as W,na as p,nb as Nr,o as x,oa as Mr,p as G,pa as Tr,pb as Mt,q as D,qb as Tt,qd as tn,r as f,rb as Lr,s as ye,sb as $r,t as mr,ta as Ce,tb as Ge,u as yr,ua as _,vb as kr,wa as We,x as S,y as Ve,z as O}from"./chunk-TXOB7R5K.js";var g="primary",Le=Symbol("RouteTitle"),jt=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function de(t){return new jt(t)}function Yn(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let i={};for(let s=0;s<n.length;s++){let o=n[s],u=t[s];if(o[0]===":")i[o.substring(1)]=u;else if(o!==u.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Xn(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],r[e]))return!1;return!0}function z(t,r){let e=t?Nt(t):void 0,n=r?Nt(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let s=0;s<e.length;s++)if(i=e[s],!gn(t[i],r[i]))return!1;return!0}function Nt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function gn(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,s)=>n[s]===i)}else return t===r}function vn(t){return t.length>0?t[t.length-1]:null}function Z(t){return mr(t)?t:_r(t)?D(Promise.resolve(t)):f(t)}var Jn={exact:yn,subset:Sn},mn={exact:ei,subset:ti,ignored:()=>!0};function nn(t,r,e){return Jn[e.paths](t.root,r.root,e.matrixParams)&&mn[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function ei(t,r){return z(t,r)}function yn(t,r,e){if(!ee(t.segments,r.segments)||!Je(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!yn(t.children[n],r.children[n],e))return!1;return!0}function ti(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>gn(t[e],r[e]))}function Sn(t,r,e){return Cn(t,r,r.segments,e)}function Cn(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ee(i,e)||r.hasChildren()||!Je(i,e,n))}else if(t.segments.length===e.length){if(!ee(t.segments,e)||!Je(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Sn(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!ee(t.segments,i)||!Je(t.segments,i,n)||!t.children[g]?!1:Cn(t.children[g],r,s,n)}}function Je(t,r,e){return r.every((n,i)=>mn[e](t[i].parameters,n.parameters))}var B=class{root;queryParams;fragment;_queryParamMap;constructor(r=new y([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){return ii.serialize(this)}},y=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return et(this)}},J=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){var r;return(r=this._parameterMap)!=null||(this._parameterMap=de(this.parameters)),this._parameterMap}toString(){return wn(this)}};function ri(t,r){return ee(t,r)&&t.every((e,n)=>z(e.parameters,r[n].parameters))}function ee(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function ni(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===g&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==g&&(e=e.concat(r(i,n)))}),e}var $e=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>new fe,providedIn:"root"})}return t})(),fe=class{parse(r){let e=new $t(r);return new B(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${be(r.root,!0)}`,n=ai(r.queryParams),i=typeof r.fragment=="string"?`#${si(r.fragment)}`:"";return`${e}${n}${i}`}},ii=new fe;function et(t){return t.segments.map(r=>wn(r)).join("/")}function be(t,r){if(!t.hasChildren())return et(t);if(r){let e=t.children[g]?be(t.children[g],!1):"",n=[];return Object.entries(t.children).forEach(([i,s])=>{i!==g&&n.push(`${i}:${be(s,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=ni(t,(n,i)=>i===g?[be(t.children[g],!1)]:[`${i}:${be(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[g]!=null?`${et(t)}/${e[0]}`:`${et(t)}/(${e.join("//")})`}}function Rn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ye(t){return Rn(t).replace(/%3B/gi,";")}function si(t){return encodeURI(t)}function Lt(t){return Rn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function tt(t){return decodeURIComponent(t)}function sn(t){return tt(t.replace(/\+/g,"%20"))}function wn(t){return`${Lt(t.path)}${oi(t.parameters)}`}function oi(t){return Object.entries(t).map(([r,e])=>`;${Lt(r)}=${Lt(e)}`).join("")}function ai(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Ye(e)}=${Ye(i)}`).join("&"):`${Ye(e)}=${Ye(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var ui=/^[^\/()?;#]+/;function Et(t){let r=t.match(ui);return r?r[0]:""}var ci=/^[^\/()?;=#]+/;function li(t){let r=t.match(ci);return r?r[0]:""}var hi=/^[^=?&#]+/;function di(t){let r=t.match(hi);return r?r[0]:""}var fi=/^[^&#]+/;function pi(t){let r=t.match(fi);return r?r[0]:""}var $t=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new y([],{}):new y([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[g]=new y(r,e)),n}parseSegment(){let r=Et(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new A(4009,!1);return this.capture(r),new J(tt(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=li(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Et(this.remaining);i&&(n=i,this.capture(n))}r[tt(e)]=tt(n)}parseQueryParam(r){let e=di(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let o=pi(this.remaining);o&&(n=o,this.capture(n))}let i=sn(e),s=sn(n);if(r.hasOwnProperty(i)){let o=r[i];Array.isArray(o)||(o=[o],r[i]=o),o.push(s)}else r[i]=s}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=Et(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new A(4010,!1);let s;n.indexOf(":")>-1?(s=n.slice(0,n.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=g);let o=this.parseChildren();e[s]=Object.keys(o).length===1?o[g]:new y([],o),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new A(4011,!1)}};function bn(t){return t.segments.length>0?new y([],{[g]:t}):t}function In(t){let r={};for(let[n,i]of Object.entries(t.children)){let s=In(i);if(n===g&&s.segments.length===0&&s.hasChildren())for(let[o,u]of Object.entries(s.children))r[o]=u;else(s.segments.length>0||s.hasChildren())&&(r[n]=s)}let e=new y(t.segments,r);return gi(e)}function gi(t){if(t.numberOfChildren===1&&t.children[g]){let r=t.children[g];return new y(t.segments.concat(r.segments),r.children)}return t}function te(t){return t instanceof B}function vi(t,r,e=null,n=null){let i=An(t);return Dn(i,r,e,n)}function An(t){let r;function e(s){let o={};for(let a of s.children){let c=e(a);o[a.outlet]=c}let u=new y(s.url,o);return s===t&&(r=u),u}let n=e(t.root),i=bn(n);return r!=null?r:i}function Dn(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return Ut(i,i,i,e,n);let s=mi(r);if(s.toRoot())return Ut(i,i,new y([],{}),e,n);let o=yi(s,i,t),u=o.processChildren?De(o.segmentGroup,o.index,s.commands):Tn(o.segmentGroup,o.index,s.commands);return Ut(i,o.segmentGroup,u,e,n)}function rt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Oe(t){return typeof t=="object"&&t!=null&&t.outlets}function Ut(t,r,e,n,i){let s={};n&&Object.entries(n).forEach(([a,c])=>{s[a]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`});let o;t===r?o=e:o=Mn(t,r,e);let u=bn(In(o));return new B(u,s,i)}function Mn(t,r,e){let n={};return Object.entries(t.children).forEach(([i,s])=>{s===r?n[i]=e:n[i]=Mn(s,r,e)}),new y(t.segments,n)}var nt=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&rt(n[0]))throw new A(4003,!1);let i=n.find(Oe);if(i&&i!==vn(n))throw new A(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function mi(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new nt(!0,0,t);let r=0,e=!1,n=t.reduce((i,s,o)=>{if(typeof s=="object"&&s!=null){if(s.outlets){let u={};return Object.entries(s.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(s.segmentPath)return[...i,s.segmentPath]}return typeof s!="string"?[...i,s]:o===0?(s.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?e=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,s]},[]);return new nt(e,r,n)}var ce=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function yi(t,r,e){if(t.isAbsolute)return new ce(r,!0,0);if(!e)return new ce(r,!1,NaN);if(e.parent===null)return new ce(e,!0,0);let n=rt(t.commands[0])?0:1,i=e.segments.length-1+n;return Si(e,i,t.numberOfDoubleDots)}function Si(t,r,e){let n=t,i=r,s=e;for(;s>i;){if(s-=i,n=n.parent,!n)throw new A(4005,!1);i=n.segments.length}return new ce(n,!1,i-s)}function Ci(t){return Oe(t[0])?t[0].outlets:{[g]:t}}function Tn(t,r,e){if(t!=null||(t=new y([],{})),t.segments.length===0&&t.hasChildren())return De(t,r,e);let n=Ri(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let s=new y(t.segments.slice(0,n.pathIndex),{});return s.children[g]=new y(t.segments.slice(n.pathIndex),t.children),De(s,0,i)}else return n.match&&i.length===0?new y(t.segments,{}):n.match&&!t.hasChildren()?kt(t,r,e):n.match?De(t,0,i):kt(t,r,e)}function De(t,r,e){if(e.length===0)return new y(t.segments,{});{let n=Ci(e),i={};if(Object.keys(n).some(s=>s!==g)&&t.children[g]&&t.numberOfChildren===1&&t.children[g].segments.length===0){let s=De(t.children[g],r,e);return new y(t.segments,s.children)}return Object.entries(n).forEach(([s,o])=>{typeof o=="string"&&(o=[o]),o!==null&&(i[s]=Tn(t.children[s],r,o))}),Object.entries(t.children).forEach(([s,o])=>{n[s]===void 0&&(i[s]=o)}),new y(t.segments,i)}}function Ri(t,r,e){let n=0,i=r,s={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return s;let o=t.segments[i],u=e[n];if(Oe(u))break;let a=`${u}`,c=n<e.length-1?e[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!an(a,c,o))return s;n+=2}else{if(!an(a,{},o))return s;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function kt(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let s=e[i];if(Oe(s)){let a=wi(s.outlets);return new y(n,a)}if(i===0&&rt(e[0])){let a=t.segments[r];n.push(new J(a.path,on(e[0]))),i++;continue}let o=Oe(s)?s.outlets[g]:`${s}`,u=i<e.length-1?e[i+1]:null;o&&u&&rt(u)?(n.push(new J(o,on(u))),i+=2):(n.push(new J(o,{})),i++)}return new y(n,{})}function wi(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=kt(new y([],{}),0,n))}),r}function on(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function an(t,r,e){return t==e.path&&z(r,e.parameters)}var Me="imperative",C=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(C||{}),P=class{id;url;constructor(r,e){this.id=r,this.url=e}},pe=class extends P{type=C.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},k=class extends P{urlAfterRedirects;type=C.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},U=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(U||{}),it=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(it||{}),q=class extends P{reason;code;type=C.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},K=class extends P{reason;code;type=C.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},Ee=class extends P{error;target;type=C.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},st=class extends P{urlAfterRedirects;state;type=C.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},_t=class extends P{urlAfterRedirects;state;type=C.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},zt=class extends P{urlAfterRedirects;state;shouldActivate;type=C.GuardsCheckEnd;constructor(r,e,n,i,s){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Ft=class extends P{urlAfterRedirects;state;type=C.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},qt=class extends P{urlAfterRedirects;state;type=C.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Bt=class{route;type=C.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Vt=class{route;type=C.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Ht=class{snapshot;type=C.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Wt=class{snapshot;type=C.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Gt=class{snapshot;type=C.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qt=class{snapshot;type=C.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ot=class{routerEvent;position;anchor;type=C.Scroll;constructor(r,e,n){this.routerEvent=r,this.position=e,this.anchor=n}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},Ue=class{},ge=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function bi(t,r){var e;return t.providers&&!t._injector&&(t._injector=Tt(t.providers,r,`Route: ${t.path}`)),(e=t._injector)!=null?e:r}function $(t){return t.outlet||g}function Ii(t,r){let e=t.filter(n=>$(n)===r);return e.push(...t.filter(n=>$(n)!==r)),e}function ke(t){var r;if(!t)return null;if((r=t.routeConfig)!=null&&r._injector)return t.routeConfig._injector;for(let e=t.parent;e;e=e.parent){let n=e.routeConfig;if(n!=null&&n._loadedInjector)return n._loadedInjector;if(n!=null&&n._injector)return n._injector}return null}var Kt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){var r,e;return(e=ke((r=this.route)==null?void 0:r.snapshot))!=null?e:this.rootInjector}constructor(r){this.rootInjector=r,this.children=new _e(this.rootInjector)}},_e=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Kt(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(F(Ce))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),at=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=Zt(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=Zt(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=Yt(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return Yt(r,this._root).map(e=>e.value)}};function Zt(t,r){if(t===r.value)return r;for(let e of r.children){let n=Zt(t,e);if(n)return n}return null}function Yt(t,r){if(t===r.value)return[r];for(let e of r.children){let n=Yt(t,e);if(n.length)return n.unshift(r),n}return[]}var E=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var ut=class extends at{snapshot;constructor(r,e){super(r),this.snapshot=e,or(this,r)}toString(){return this.snapshot.toString()}};function On(t){let r=Ai(t),e=new x([new J("",{})]),n=new x({}),i=new x({}),s=new x({}),o=new x(""),u=new re(e,n,s,o,i,g,t,r.root);return u.snapshot=r.root,new ut(new E(u,[]),r)}function Ai(t){let r={},e={},n={},i="",s=new le([],r,n,i,e,g,t,null,{});return new lt("",new E(s,[]))}var re=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,s,o,u,a){var c,l;this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=s,this.outlet=o,this.component=u,this._futureSnapshot=a,this.title=(l=(c=this.dataSubject)==null?void 0:c.pipe(S(v=>v[Le])))!=null?l:f(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=this.params.pipe(S(e=>de(e)))),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=this.queryParams.pipe(S(e=>de(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function ct(t,r,e="emptyOnly"){var s,o;let n,{routeConfig:i}=t;return r!==null&&(e==="always"||(i==null?void 0:i.path)===""||!r.component&&!((s=r.routeConfig)!=null&&s.loadComponent))?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i==null?void 0:i.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),(o=t._resolvedData)!=null?o:{})},i&&Un(i)&&(n.resolve[Le]=i.title),n}var le=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){var r;return(r=this.data)==null?void 0:r[Le]}constructor(r,e,n,i,s,o,u,a,c){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s,this.outlet=o,this.component=u,this.routeConfig=a,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=de(this.params)),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},lt=class extends at{url;constructor(r,e){super(e),this.url=r,or(this,e)}toString(){return En(this._root)}};function or(t,r){r.value._routerState=t,r.children.forEach(e=>or(t,e))}function En(t){let r=t.children.length>0?` { ${t.children.map(En).join(", ")} } `:"";return`${t.value}${r}`}function xt(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(r.params,e.params)||t.paramsSubject.next(e.params),Xn(r.url,e.url)||t.urlSubject.next(e.url),z(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Xt(t,r){let e=z(t.params,r.params)&&ri(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||Xt(t.parent,r.parent))}function Un(t){return typeof t.title=="string"||t.title===null}var Di=new M(""),Mi=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=g;activateEvents=new oe;deactivateEvents=new oe;attachEvents=new oe;detachEvents=new oe;routerOutletData=Ur(void 0);parentContexts=p(_e);location=p(qr);changeDetector=p(Ke);inputBinder=p(gt,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){var e;this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),(e=this.inputBinder)==null||e.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){var n;return((n=this.parentContexts.getContext(e))==null?void 0:n.outlet)===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e!=null&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new A(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new A(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new A(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){var i;this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),(i=this.inputBinder)==null||i.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){var c;if(this.isActivated)throw new A(4013,!1);this._activatedRoute=e;let i=this.location,o=e.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new Jt(e,u,i.injector,this.routerOutletData);this.activated=i.createComponent(o,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),(c=this.inputBinder)==null||c.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=Ge({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[We]})}return t})(),Jt=class t{route;childContexts;parent;outletData;__ngOutletInjector(r){return new t(this.route,this.childContexts,r,this.outletData)}constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===re?this.route:r===_e?this.childContexts:r===Di?this.outletData:this.parent.get(r,e)}},gt=new M(""),un=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){var n;(n=this.outletDataSubscriptions.get(e))==null||n.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=Ve([n.queryParams,n.params,n.data]).pipe(N(([s,o,u],a)=>(u=h(h(h({},s),o),u),a===0?f(u):Promise.resolve(u)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let o=Zr(n.component);if(!o){this.unsubscribeFromRouteData(e);return}for(let{templateName:u}of o.inputs)e.activatedComponentRef.setInput(u,s[u])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ti(t,r,e){let n=xe(t,r._root,e?e._root:void 0);return new ut(n,r)}function xe(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Oi(t,r,e);return new E(n,i)}else{if(t.shouldAttach(r.value)){let s=t.retrieve(r.value);if(s!==null){let o=s.route;return o.value._futureSnapshot=r.value,o.children=r.children.map(u=>xe(t,u)),o}}let n=Ei(r.value),i=r.children.map(s=>xe(t,s));return new E(n,i)}}function Oi(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return xe(t,n,i);return xe(t,n)})}function Ei(t){return new re(new x(t.url),new x(t.params),new x(t.queryParams),new x(t.fragment),new x(t.data),t.outlet,t.component,t)}var Pe=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},xn="ngNavigationCancelingError";function ht(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=te(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=Pn(!1,U.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function Pn(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[xn]=!0,e.cancellationCode=r,e}function Ui(t){return jn(t)&&te(t.url)}function jn(t){return!!t&&t[xn]}var xi=(t,r,e,n)=>S(i=>(new er(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),er=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,s){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=s}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),xt(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{let o=s.value.outlet;this.deactivateRoutes(s,i[o],n),delete i[o]}),Object.values(i).forEach(s=>{this.deactivateRouteAndItsChildren(s,n)})}deactivateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(i===s)if(i.component){let o=n.getContext(i.outlet);o&&this.deactivateChildRoutes(r,e,o.children)}else this.deactivateChildRoutes(r,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);if(n&&n.outlet){let o=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:o,route:r,contexts:u})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{this.activateRoutes(s,i[s.value.outlet],n),this.forwardEvent(new Qt(s.value.snapshot))}),r.children.length&&this.forwardEvent(new Wt(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(xt(i),i===s)if(i.component){let o=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,o.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let o=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),o.children.onOutletReAttached(u.contexts),o.attachRef=u.componentRef,o.route=u.route.value,o.outlet&&o.outlet.attach(u.componentRef,u.route.value),xt(u.route.value),this.activateChildRoutes(r,null,o.children)}else o.attachRef=null,o.route=i,o.outlet&&o.outlet.activateWith(i,o.injector),this.activateChildRoutes(r,null,o.children)}else this.activateChildRoutes(r,null,n)}},dt=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},he=class{component;route;constructor(r,e){this.component=r,this.route=e}};function Pi(t,r,e){let n=t._root,i=r?r._root:null;return Ie(n,i,e,[n.value])}function ji(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function me(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!Dr(t)?t:r.get(t):n}function Ie(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=ue(r);return t.children.forEach(o=>{Ni(o,s[o.value.outlet],e,n.concat([o.value]),i),delete s[o.value.outlet]}),Object.entries(s).forEach(([o,u])=>Te(u,e.getContext(o),i)),i}function Ni(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=t.value,o=r?r.value:null,u=e?e.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){let a=Li(o,s,s.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new dt(n)):(s.data=o.data,s._resolvedData=o._resolvedData),s.component?Ie(t,r,u?u.children:null,n,i):Ie(t,r,e,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new he(u.outlet.component,o))}else o&&Te(r,u,i),i.canActivateChecks.push(new dt(n)),s.component?Ie(t,null,u?u.children:null,n,i):Ie(t,null,e,n,i);return i}function Li(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!ee(t.url,r.url);case"pathParamsOrQueryParamsChange":return!ee(t.url,r.url)||!z(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Xt(t,r)||!z(t.queryParams,r.queryParams);case"paramsChange":default:return!Xt(t,r)}}function Te(t,r,e){let n=ue(t),i=t.value;Object.entries(n).forEach(([s,o])=>{i.component?r?Te(o,r.children.getContext(s),e):Te(o,null,e):Te(o,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new he(r.outlet.component,i)):e.canDeactivateChecks.push(new he(null,i)):e.canDeactivateChecks.push(new he(null,i))}function ze(t){return typeof t=="function"}function $i(t){return typeof t=="boolean"}function ki(t){return t&&ze(t.canLoad)}function _i(t){return t&&ze(t.canActivate)}function zi(t){return t&&ze(t.canActivateChild)}function Fi(t){return t&&ze(t.canDeactivate)}function qi(t){return t&&ze(t.canMatch)}function Nn(t){return t instanceof yr||(t==null?void 0:t.name)==="EmptyError"}var Xe=Symbol("INITIAL_VALUE");function ve(){return N(t=>Ve(t.map(r=>r.pipe(se(1),br(Xe)))).pipe(S(r=>{for(let e of r)if(e!==!0){if(e===Xe)return Xe;if(e===!1||Bi(e))return e}return!0}),X(r=>r!==Xe),se(1)))}function Bi(t){return te(t)||t instanceof Pe}function Vi(t,r){return O(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=e;return o.length===0&&s.length===0?f(T(h({},e),{guardsResult:!0})):Hi(o,n,i,t).pipe(O(u=>u&&$i(u)?Wi(n,s,t,r):f(u)),S(u=>T(h({},e),{guardsResult:u})))})}function Hi(t,r,e,n){return D(t).pipe(O(i=>Yi(i.component,i.route,e,r,n)),Q(i=>i!==!0,!0))}function Wi(t,r,e,n){return D(r).pipe(ie(i=>Sr(Qi(i.route.parent,n),Gi(i.route,n),Zi(t,i.path,e),Ki(t,i.route,e))),Q(i=>i!==!0,!0))}function Gi(t,r){return t!==null&&r&&r(new Gt(t)),f(!0)}function Qi(t,r){return t!==null&&r&&r(new Ht(t)),f(!0)}function Ki(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return f(!0);let i=n.map(s=>St(()=>{var c;let o=(c=ke(r))!=null?c:e,u=me(s,o),a=_i(u)?u.canActivate(r,t):_(o,()=>u(r,t));return Z(a).pipe(Q())}));return f(i).pipe(ve())}function Zi(t,r,e){let n=r[r.length-1],s=r.slice(0,r.length-1).reverse().map(o=>ji(o)).filter(o=>o!==null).map(o=>St(()=>{let u=o.guards.map(a=>{var d;let c=(d=ke(o.node))!=null?d:e,l=me(a,c),v=zi(l)?l.canActivateChild(n,t):_(c,()=>l(n,t));return Z(v).pipe(Q())});return f(u).pipe(ve())}));return f(s).pipe(ve())}function Yi(t,r,e,n,i){let s=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!s||s.length===0)return f(!0);let o=s.map(u=>{var v;let a=(v=ke(r))!=null?v:i,c=me(u,a),l=Fi(c)?c.canDeactivate(t,r,e,n):_(a,()=>c(t,r,e,n));return Z(l).pipe(Q())});return f(o).pipe(ve())}function Xi(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=ki(u)?u.canLoad(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}function Ln(t){return vr(I(r=>{if(typeof r!="boolean")throw ht(t,r)}),S(r=>r===!0))}function Ji(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=qi(u)?u.canMatch(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}var je=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},Ne=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function ae(t){return ye(new je(t))}function es(t){return ye(new A(4e3,!1))}function ts(t){return ye(Pn(!1,U.GuardRejected))}var tr=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return f(n);if(i.numberOfChildren>1||!i.children[g])return es(`${r.redirectTo}`);i=i.children[g]}}applyRedirectCommands(r,e,n,i,s){if(typeof e!="string"){let u=e,{queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,params:m,data:b,title:R}=i,j=_(s,()=>u({params:m,data:b,queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,title:R}));if(j instanceof B)throw new Ne(j);e=j}let o=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),r,n);if(e[0]==="/")throw new Ne(o);return o}applyRedirectCreateUrlTree(r,e,n,i){let s=this.createSegmentGroup(r,e.root,n,i);return new B(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"&&s[0]===":"){let u=s.substring(1);n[i]=e[u]}else n[i]=s}),n}createSegmentGroup(r,e,n,i){let s=this.createSegments(r,e.segments,n,i),o={};return Object.entries(e.children).forEach(([u,a])=>{o[u]=this.createSegmentGroup(r,a,n,i)}),new y(s,o)}createSegments(r,e,n,i){return e.map(s=>s.path[0]===":"?this.findPosParam(r,s,i):this.findOrReturn(s,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new A(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}},rr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function rs(t,r,e,n,i){let s=$n(t,r,e);return s.matched?(n=bi(r,n),Ji(n,r,e,i).pipe(S(o=>o===!0?s:h({},rr)))):f(s)}function $n(t,r,e){var u,a;if(r.path==="**")return ns(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},rr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Yn)(e,t,r);if(!i)return h({},rr);let s={};Object.entries((u=i.posParams)!=null?u:{}).forEach(([c,l])=>{s[c]=l.path});let o=i.consumed.length>0?h(h({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:o,positionalParamSegments:(a=i.posParams)!=null?a:{}}}function ns(t){return{matched:!0,parameters:t.length>0?vn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function cn(t,r,e,n){return e.length>0&&os(t,e,n)?{segmentGroup:new y(r,ss(n,new y(e,t.children))),slicedSegments:[]}:e.length===0&&as(t,e,n)?{segmentGroup:new y(t.segments,is(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new y(t.segments,t.children),slicedSegments:e}}function is(t,r,e,n){let i={};for(let s of e)if(vt(t,r,s)&&!n[$(s)]){let o=new y([],{});i[$(s)]=o}return h(h({},n),i)}function ss(t,r){let e={};e[g]=r;for(let n of t)if(n.path===""&&$(n)!==g){let i=new y([],{});e[$(n)]=i}return e}function os(t,r,e){return e.some(n=>vt(t,r,n)&&$(n)!==g)}function as(t,r,e){return e.some(n=>vt(t,r,n))}function vt(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function us(t,r,e){return r.length===0&&!t.children[e]}var nr=class{};function cs(t,r,e,n,i,s,o="emptyOnly"){return new ir(t,r,e,n,i,o,s).recognize()}var ls=31,ir=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,s,o,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=s,this.paramsInheritanceStrategy=o,this.urlSerializer=u,this.applyRedirects=new tr(this.urlSerializer,this.urlTree)}noMatchError(r){return new A(4002,`'${r.segmentGroup}'`)}recognize(){let r=cn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(S(({children:e,rootSnapshot:n})=>{let i=new E(n,e),s=new lt("",i),o=vi(n,[],this.urlTree.queryParams,this.urlTree.fragment);return o.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(o),{state:s,tree:o}}))}match(r){let e=new le([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),g,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,g,e).pipe(S(n=>({children:n,rootSnapshot:e})),ne(n=>{if(n instanceof Ne)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof je?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,s){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,s):this.processSegment(r,e,n,n.segments,i,!0,s).pipe(S(o=>o instanceof E?[o]:[]))}processChildren(r,e,n,i){let s=[];for(let o of Object.keys(n.children))o==="primary"?s.unshift(o):s.push(o);return D(s).pipe(ie(o=>{let u=n.children[o],a=Ii(e,o);return this.processSegmentGroup(r,a,u,o,i)}),wr((o,u)=>(o.push(...u),o)),Ct(null),Rr(),O(o=>{if(o===null)return ae(n);let u=kn(o);return hs(u),f(u)}))}processSegment(r,e,n,i,s,o,u){return D(e).pipe(ie(a=>{var c;return this.processSegmentAgainstRoute((c=a._injector)!=null?c:r,e,a,n,i,s,o,u).pipe(ne(l=>{if(l instanceof je)return f(null);throw l}))}),Q(a=>!!a),ne(a=>{if(Nn(a))return us(n,i,s)?f(new nr):ae(n);throw a}))}processSegmentAgainstRoute(r,e,n,i,s,o,u,a){return $(n)!==o&&(o===g||!vt(i,s,n))?ae(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,s,o,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,s,o,a):ae(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,s,o,u){var j,H;let{matched:a,parameters:c,consumedSegments:l,positionalParamSegments:v,remainingSegments:d}=$n(e,i,s);if(!a)return ae(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>ls&&(this.allowRedirects=!1));let m=new le(s,c,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(i),$(i),(H=(j=i.component)!=null?j:i._loadedComponent)!=null?H:null,i,hn(i)),b=ct(m,u,this.paramsInheritanceStrategy);m.params=Object.freeze(b.params),m.data=Object.freeze(b.data);let R=this.applyRedirects.applyRedirectCommands(l,i.redirectTo,v,m,r);return this.applyRedirects.lineralizeSegments(i,R).pipe(O(Y=>this.processSegment(r,n,e,Y.concat(d),o,!1,u)))}matchSegmentAgainstRoute(r,e,n,i,s,o){let u=rs(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(N(a=>{var c;return a.matched?(r=(c=n._injector)!=null?c:r,this.getChildConfig(r,n,i).pipe(N(({routes:l})=>{var dr,fr,pr;let v=(dr=n._loadedInjector)!=null?dr:r,{parameters:d,consumedSegments:m,remainingSegments:b}=a,R=new le(m,d,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(n),$(n),(pr=(fr=n.component)!=null?fr:n._loadedComponent)!=null?pr:null,n,hn(n)),j=ct(R,o,this.paramsInheritanceStrategy);R.params=Object.freeze(j.params),R.data=Object.freeze(j.data);let{segmentGroup:H,slicedSegments:Y}=cn(e,m,b,l);if(Y.length===0&&H.hasChildren())return this.processChildren(v,l,H,R).pipe(S(Be=>new E(R,Be)));if(l.length===0&&Y.length===0)return f(new E(R,[]));let Zn=$(n)===s;return this.processSegment(v,l,H,Y,Zn?g:s,!0,R).pipe(S(Be=>new E(R,Be instanceof E?[Be]:[])))}))):ae(e)}))}getChildConfig(r,e,n){return e.children?f({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?f({routes:e._loadedRoutes,injector:e._loadedInjector}):Xi(r,e,n,this.urlSerializer).pipe(O(i=>i?this.configLoader.loadChildren(r,e).pipe(I(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):ts(e))):f({routes:[],injector:r})}};function hs(t){t.sort((r,e)=>r.value.outlet===g?-1:e.value.outlet===g?1:r.value.outlet.localeCompare(e.value.outlet))}function ds(t){let r=t.value.routeConfig;return r&&r.path===""}function kn(t){let r=[],e=new Set;for(let n of t){if(!ds(n)){r.push(n);continue}let i=r.find(s=>n.value.routeConfig===s.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=kn(n.children);r.push(new E(n.value,i))}return r.filter(n=>!e.has(n))}function ln(t){return t.data||{}}function hn(t){return t.resolve||{}}function fs(t,r,e,n,i,s){return O(o=>cs(t,r,e,n,o.extractedUrl,i,s).pipe(S(({state:u,tree:a})=>T(h({},o),{targetSnapshot:u,urlAfterRedirects:a}))))}function ps(t,r){return O(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return f(e);let s=new Set(i.map(a=>a.route)),o=new Set;for(let a of s)if(!o.has(a))for(let c of _n(a))o.add(c);let u=0;return D(o).pipe(ie(a=>s.has(a)?gs(a,n,t,r):(a.data=ct(a,a.parent,t).resolve,f(void 0))),I(()=>u++),Rt(1),O(a=>u===o.size?f(e):G))})}function _n(t){let r=t.children.map(e=>_n(e)).flat();return[t,...r]}function gs(t,r,e,n){let i=t.routeConfig,s=t._resolve;return(i==null?void 0:i.title)!==void 0&&!Un(i)&&(s[Le]=i.title),vs(s,t,r,n).pipe(S(o=>(t._resolvedData=o,t.data=ct(t,t.parent,e).resolve,null)))}function vs(t,r,e,n){let i=Nt(t);if(i.length===0)return f({});let s={};return D(i).pipe(O(o=>ms(t[o],r,e,n).pipe(Q(),I(u=>{if(u instanceof Pe)throw ht(new fe,u);s[o]=u}))),Rt(1),Cr(s),ne(o=>Nn(o)?G:ye(o)))}function ms(t,r,e,n){var u;let i=(u=ke(r))!=null?u:n,s=me(t,i),o=s.resolve?s.resolve(r,e):_(i,()=>s(r,e));return Z(o)}function Pt(t){return N(r=>{let e=t(r);return e?D(e).pipe(S(()=>r)):f(r)})}var zn=(()=>{class t{buildTitle(e){var s;let n,i=e.root;for(;i!==void 0;)n=(s=this.getResolvedTitleForRoute(i))!=null?s:n,i=i.children.find(o=>o.outlet===g);return n}getResolvedTitleForRoute(e){return e.data[Le]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ys),providedIn:"root"})}return t})(),ys=(()=>{class t extends zn{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(F(rn))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fe=new M("",{providedIn:"root",factory:()=>({})}),Ss=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=Lr({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(n,i){n&1&&Hr(0,"router-outlet")},dependencies:[Mi],encapsulation:2})}return t})();function ar(t){let r=t.children&&t.children.map(ar),e=r?T(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==g&&(e.component=Ss),e}var ft=new M(""),ur=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=p(Qe);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return f(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=Z(e.loadComponent()).pipe(S(Fn),I(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),He(()=>{this.componentLoaders.delete(e)})),i=new yt(n,()=>new W).pipe(mt());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return f({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let s=Cs(n,this.compiler,e,this.onLoadEndListener).pipe(He(()=>{this.childrenLoaders.delete(n)})),o=new yt(s,()=>new W).pipe(mt());return this.childrenLoaders.set(n,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Cs(t,r,e,n){return Z(t.loadChildren()).pipe(S(Fn),O(i=>i instanceof Nr||Array.isArray(i)?f(i):D(r.compileModuleAsync(i))),S(i=>{n&&n(t);let s,o,u=!1;return Array.isArray(i)?(o=i,u=!0):(s=i.create(e).injector,o=s.get(ft,[],{optional:!0,self:!0}).flat()),{routes:o.map(ar),injector:s}}))}function Rs(t){return t&&typeof t=="object"&&"default"in t}function Fn(t){return Rs(t)?t.default:t}var cr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ws),providedIn:"root"})}return t})(),ws=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),qn=new M(""),Bn=new M("");function bs(t,r,e){let n=t.get(Bn),i=t.get(Yr);return t.get(At).runOutsideAngular(()=>{if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(c=>setTimeout(c));let s,o=new Promise(c=>{s=c}),u=i.startViewTransition(()=>(s(),Is(t))),{onViewTransitionCreated:a}=n;return a&&_(t,()=>a({transition:u,from:r,to:e})),o})}function Is(t){return new Promise(r=>{xr({read:()=>setTimeout(r)},{injector:t})})}var Vn=new M(""),lr=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new W;transitionAbortSubject=new W;configLoader=p(ur);environmentInjector=p(Ce);urlSerializer=p($e);rootContexts=p(_e);location=p(we);inputBindingEnabled=p(gt,{optional:!0})!==null;titleStrategy=p(zn);options=p(Fe,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=p(cr);createViewTransition=p(qn,{optional:!0});navigationErrorHandler=p(Vn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>f(void 0);rootComponentType=null;constructor(){let e=i=>this.events.next(new Bt(i)),n=i=>this.events.next(new Vt(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e}complete(){var e;(e=this.transitions)==null||e.complete()}handleNavigationRequest(e){var i;let n=++this.navigationId;(i=this.transitions)==null||i.next(T(h(h({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new x({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Me,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(s=>s.id!==0),S(s=>T(h({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),N(s=>{let o=!1,u=!1;return f(s).pipe(N(a=>{var v;if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),G;this.currentTransition=s,this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?T(h({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=(v=a.extras.onSameUrlNavigation)!=null?v:e.onSameUrlNavigation;if(!c&&l!=="reload"){let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.rawUrl),d,it.IgnoredSameUrlNavigation)),a.resolve(!1),G}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return f(a).pipe(N(d=>{var b,R;let m=(b=this.transitions)==null?void 0:b.getValue();return this.events.next(new pe(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),m!==((R=this.transitions)==null?void 0:R.getValue())?G:Promise.resolve(d)}),fs(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),I(d=>{s.targetSnapshot=d.targetSnapshot,s.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation=T(h({},this.currentNavigation),{finalUrl:d.urlAfterRedirects});let m=new st(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(m)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:d,extractedUrl:m,source:b,restoredState:R,extras:j}=a,H=new pe(d,this.urlSerializer.serialize(m),b,R);this.events.next(H);let Y=On(this.rootComponentType).snapshot;return this.currentTransition=s=T(h({},a),{targetSnapshot:Y,urlAfterRedirects:m,extras:T(h({},j),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=m,f(s)}else{let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.extractedUrl),d,it.IgnoredByUrlHandlingStrategy)),a.resolve(!1),G}}),I(a=>{let c=new _t(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),S(a=>(this.currentTransition=s=T(h({},a),{guards:Pi(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),s)),Vi(this.environmentInjector,a=>this.events.next(a)),I(a=>{if(s.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw ht(this.urlSerializer,a.guardsResult);let c=new zt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",U.GuardRejected),!1)),Pt(a=>{if(a.guards.canActivateChecks.length)return f(a).pipe(I(c=>{let l=new Ft(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),N(c=>{let l=!1;return f(c).pipe(ps(this.paramsInheritanceStrategy,this.environmentInjector),I({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",U.NoDataFromResolver)}}))}),I(c=>{let l=new qt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),Pt(a=>{let c=l=>{var d;let v=[];(d=l.routeConfig)!=null&&d.loadComponent&&!l.routeConfig._loadedComponent&&v.push(this.configLoader.loadComponent(l.routeConfig).pipe(I(m=>{l.component=m}),S(()=>{})));for(let m of l.children)v.push(...c(m));return v};return Ve(c(a.targetSnapshot.root)).pipe(Ct(null),se(1))}),Pt(()=>this.afterPreactivation()),N(()=>{var v;let{currentSnapshot:a,targetSnapshot:c}=s,l=(v=this.createViewTransition)==null?void 0:v.call(this,this.environmentInjector,a.root,c.root);return l?D(l).pipe(S(()=>s)):f(s)}),S(a=>{let c=Ti(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=s=T(h({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,s}),I(()=>{this.events.next(new Ue)}),xi(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),se(1),I({next:a=>{var c;o=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new k(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),(c=this.titleStrategy)==null||c.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),Ir(this.transitionAbortSubject.pipe(I(a=>{throw a}))),He(()=>{var a;!o&&!u&&this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),((a=this.currentTransition)==null?void 0:a.id)===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),ne(a=>{var c;if(u=!0,jn(a))this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),a.message,a.cancellationCode)),Ui(a)?this.events.next(new ge(a.url,a.navigationBehaviorOptions)):s.resolve(!1);else{let l=new Ee(s.id,this.urlSerializer.serialize(s.extractedUrl),a,(c=s.targetSnapshot)!=null?c:void 0);try{let v=_(this.environmentInjector,()=>{var d;return(d=this.navigationErrorHandler)==null?void 0:d.call(this,l)});if(v instanceof Pe){let{message:d,cancellationCode:m}=ht(this.urlSerializer,v);this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),d,m)),this.events.next(new ge(v.redirectTo,v.navigationBehaviorOptions))}else throw this.events.next(l),a}catch(v){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(v)}}return G}))}))}cancelNavigationTransition(e,n,i){let s=new q(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(s),e.resolve(!1)}isUpdatingInternalState(){var e,n;return((e=this.currentTransition)==null?void 0:e.extractedUrl.toString())!==((n=this.currentTransition)==null?void 0:n.currentUrlTree.toString())}isUpdatedBrowserUrl(){var i,s,o,u;let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=(o=(i=this.currentNavigation)==null?void 0:i.targetBrowserUrl)!=null?o:(s=this.currentNavigation)==null?void 0:s.extractedUrl;return e.toString()!==(n==null?void 0:n.toString())&&!((u=this.currentNavigation)!=null&&u.extras.skipLocationChange)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function As(t){return t!==Me}var Ds=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ms),providedIn:"root"})}return t})(),sr=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},Ms=(()=>{class t extends sr{static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ts),providedIn:"root"})}return t})(),Ts=(()=>{class t extends Hn{location=p(we);urlSerializer=p($e);options=p(Fe,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";urlHandlingStrategy=p(cr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new B;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){var e,n;return this.canceledNavigationResolution!=="computed"?this.currentPageId:(n=(e=this.restoredState())==null?void 0:e.\u0275routerPageId)!=null?n:this.currentPageId}routerState=On(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){var i,s;if(e instanceof pe)this.stateMemento=this.createStateMemento();else if(e instanceof K)this.rawUrlTree=n.initialUrl;else if(e instanceof st){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl((i=n.targetBrowserUrl)!=null?i:o,n)}}else e instanceof Ue?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl((s=n.targetBrowserUrl)!=null?s:this.rawUrlTree,n)):e instanceof q&&(e.code===U.GuardRejected||e.code===U.NoDataFromResolver)?this.restoreHistory(n):e instanceof Ee?this.restoreHistory(n,!0):e instanceof k&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=e instanceof B?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let s=this.browserPageId,o=h(h({},n.extras.state),this.generateNgRouterState(n.id,s));this.location.replaceState(i,"",o)}else{let s=h(h({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",s)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,s=this.currentPageId-i;s!==0?this.location.historyGo(s):this.currentUrlTree===e.finalUrl&&s===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){var n;this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,(n=e.finalUrl)!=null?n:this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ae=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Ae||{});function Wn(t,r){t.events.pipe(X(e=>e instanceof k||e instanceof q||e instanceof Ee||e instanceof K),S(e=>e instanceof k||e instanceof K?Ae.COMPLETE:(e instanceof q?e.code===U.Redirect||e.code===U.SupersededByNewNavigation:!1)?Ae.REDIRECTING:Ae.FAILED),X(e=>e!==Ae.REDIRECTING),se(1)).subscribe(()=>{r()})}var Os={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Es={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},V=(()=>{var r,e;class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=p(kr);stateManager=p(Hn);options=p(Fe,{optional:!0})||{};pendingTasks=p(Er);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=p(lr);urlSerializer=p($e);location=p(we);urlHandlingStrategy=p(cr);_events=new W;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=p(Ds);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=(e=(r=p(ft,{optional:!0}))==null?void 0:r.flat())!=null?e:[];componentInputBindingEnabled=!!p(gt,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:i=>{this.console.warn(i)}}),this.subscribeToNavigationEvents()}eventsSubscription=new gr;subscribeToNavigationEvents(){let i=this.navigationTransitions.events.subscribe(s=>{try{let o=this.navigationTransitions.currentTransition,u=this.navigationTransitions.currentNavigation;if(o!==null&&u!==null){if(this.stateManager.handleRouterEvent(s,u),s instanceof q&&s.code!==U.Redirect&&s.code!==U.SupersededByNewNavigation)this.navigated=!0;else if(s instanceof k)this.navigated=!0;else if(s instanceof ge){let a=s.navigationBehaviorOptions,c=this.urlHandlingStrategy.merge(s.url,o.currentRawUrl),l=h({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||As(o.source)},a);this.scheduleNavigation(c,Me,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}xs(s)&&this._events.next(s)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(i)}resetRootComponentType(i){this.routerState.root.component=i,this.navigationTransitions.rootComponentType=i}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Me,this.stateManager.restoredState())}setUpLocationChangeListener(){var i;(i=this.nonRouterCurrentEntryChangeSubscription)!=null||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((s,o)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(s,"popstate",o)},0)}))}navigateToSyncWithBrowser(i,s,o){let u={replaceUrl:!0},a=o!=null&&o.navigationId?o:null;if(o){let l=h({},o);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(u.state=l)}let c=this.parseUrl(i);this.scheduleNavigation(c,s,a,u)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(i){this.config=i.map(ar),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(i,s={}){let{relativeTo:o,queryParams:u,fragment:a,queryParamsHandling:c,preserveFragment:l}=s,v=l?this.currentUrlTree.fragment:a,d=null;switch(c!=null?c:this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),u);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=u||null}d!==null&&(d=this.removeEmptyProps(d));let m;try{let b=o?o.snapshot:this.routerState.snapshot.root;m=An(b)}catch{(typeof i[0]!="string"||i[0][0]!=="/")&&(i=[]),m=this.currentUrlTree.root}return Dn(m,i,d,v!=null?v:null)}navigateByUrl(i,s={skipLocationChange:!1}){let o=te(i)?i:this.parseUrl(i),u=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(u,Me,null,s)}navigate(i,s={skipLocationChange:!1}){return Us(i),this.navigateByUrl(this.createUrlTree(i,s),s)}serializeUrl(i){return this.urlSerializer.serialize(i)}parseUrl(i){try{return this.urlSerializer.parse(i)}catch{return this.urlSerializer.parse("/")}}isActive(i,s){let o;if(s===!0?o=h({},Os):s===!1?o=h({},Es):o=s,te(i))return nn(this.currentUrlTree,i,o);let u=this.parseUrl(i);return nn(this.currentUrlTree,u,o)}removeEmptyProps(i){return Object.entries(i).reduce((s,[o,u])=>(u!=null&&(s[o]=u),s),{})}scheduleNavigation(i,s,o,u,a){if(this.disposed)return Promise.resolve(!1);let c,l,v;a?(c=a.resolve,l=a.reject,v=a.promise):v=new Promise((m,b)=>{c=m,l=b});let d=this.pendingTasks.add();return Wn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:s,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:i,extras:u,resolve:c,reject:l,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(m=>Promise.reject(m))}static \u0275fac=function(s){return new(s||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Us(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new A(4008,!1)}function xs(t){return!(t instanceof Ue)&&!(t instanceof ge)}var dn=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new W;constructor(e,n,i,s,o,u){var c;this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=s,this.el=o,this.locationStrategy=u;let a=(c=o.nativeElement.tagName)==null?void 0:c.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=e.events.subscribe(l=>{l instanceof k&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(te(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,s,o){let u=this.urlTree;if(u===null||this.isAnchorElement&&(e!==0||n||i||s||o||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){var e;(e=this.subscription)==null||e.unsubscribe()}updateHref(){var i;let e=this.urlTree;this.href=e!==null&&this.locationStrategy?(i=this.locationStrategy)==null?void 0:i.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:Pr(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,s=this.el.nativeElement;n!==null?i.setAttribute(s,e,n):i.removeAttribute(s,e)}get urlTree(){return this.routerLinkInput===null?null:te(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(n){return new(n||t)(L(V),L(re),Or("tabindex"),L(Mt),L(Dt),L(Re))};static \u0275dir=Ge({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&Wr("click",function(o){return i.onClick(o.button,o.ctrlKey,o.shiftKey,o.altKey,o.metaKey)}),n&2&&Vr("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ze],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ze],replaceUrl:[2,"replaceUrl","replaceUrl",Ze],routerLink:"routerLink"},features:[Br,We]})}return t})(),Ro=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new oe;constructor(e,n,i,s,o){this.router=e,this.element=n,this.renderer=i,this.cdr=s,this.link=o,this.routerEventsSubscription=e.events.subscribe(u=>{u instanceof k&&this.update()})}ngAfterContentInit(){f(this.links.changes,f(null)).pipe(Se()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var n;(n=this.linkInputChangesSubscription)==null||n.unsubscribe();let e=[...this.links.toArray(),this.link].filter(i=>!!i).map(i=>i.onChanges);this.linkInputChangesSubscription=D(e).pipe(Se()).subscribe(i=>{this._isActive!==this.isLinkActive(this.router)(i)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){var e;this.routerEventsSubscription.unsubscribe(),(e=this.linkInputChangesSubscription)==null||e.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=Ps(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let s=i.urlTree;return s?e.isActive(s,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(L(V),L(Dt),L(Mt),L(Ke),L(dn,8))};static \u0275dir=Ge({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,s){if(n&1&&Gr(s,dn,5),n&2){let o;Qr(o=Kr())&&(i.links=o)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[We]})}return t})();function Ps(t){return!!t.paths}var pt=class{};var js=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,s,o){this.router=e,this.injector=i,this.preloadingStrategy=s,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(X(e=>e instanceof k),ie(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){var s,o,u;let i=[];for(let a of n){a.providers&&!a._injector&&(a._injector=Tt(a.providers,e,`Route: ${a.path}`));let c=(s=a._injector)!=null?s:e,l=(o=a._loadedInjector)!=null?o:c;(a.loadChildren&&!a._loadedRoutes&&a.canLoad===void 0||a.loadComponent&&!a._loadedComponent)&&i.push(this.preloadConfig(c,a)),(a.children||a._loadedRoutes)&&i.push(this.processRoutes(l,(u=a.children)!=null?u:a._loadedRoutes))}return D(i).pipe(Se())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=f(null);let s=i.pipe(O(o=>{var u;return o===null?f(void 0):(n._loadedRoutes=o.routes,n._loadedInjector=o.injector,this.processRoutes((u=o.injector)!=null?u:e,o.routes))}));if(n.loadComponent&&!n._loadedComponent){let o=this.loader.loadComponent(n);return D([s,o]).pipe(Se())}else return s})}static \u0275fac=function(n){return new(n||t)(F(V),F(Qe),F(Ce),F(pt),F(ur))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Gn=new M(""),Ns=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource="imperative";restoredId=0;store={};constructor(e,n,i,s,o={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=s,this.options=o,o.scrollPositionRestoration||(o.scrollPositionRestoration="disabled"),o.anchorScrolling||(o.anchorScrolling="disabled")}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof pe?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof k?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof K&&e.code===it.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ot&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ot(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})},0)})}ngOnDestroy(){var e,n;(e=this.routerEventsSubscription)==null||e.unsubscribe(),(n=this.scrollEventsSubscription)==null||n.unsubscribe()}static \u0275fac=function(n){jr()};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ls(t){return t.routerState.root}function qe(t,r){return{\u0275kind:t,\u0275providers:r}}function $s(){let t=p(It);return r=>{var s,o;let e=t.get(Fr);if(r!==e.components[0])return;let n=t.get(V),i=t.get(Qn);t.get(hr)===1&&n.initialNavigation(),(s=t.get(Kn,null,wt.Optional))==null||s.setUpPreloading(),(o=t.get(Gn,null,wt.Optional))==null||o.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Qn=new M("",{factory:()=>new W}),hr=new M("",{providedIn:"root",factory:()=>1});function ks(){return qe(2,[{provide:hr,useValue:0},{provide:Ot,multi:!0,deps:[It],useFactory:r=>{let e=r.get(Xr,Promise.resolve());return()=>e.then(()=>new Promise(n=>{let i=r.get(V),s=r.get(Qn);Wn(i,()=>{n(!0)}),r.get(lr).afterPreactivation=()=>(n(!0),s.closed?f(void 0):s),i.initialNavigation()}))}}])}function _s(){return qe(3,[{provide:Ot,multi:!0,useFactory:()=>{let r=p(V);return()=>{r.setUpLocationChangeListener()}}},{provide:hr,useValue:2}])}var Kn=new M("");function zs(t){return qe(0,[{provide:Kn,useExisting:js},{provide:pt,useExisting:t}])}function Fs(){return qe(8,[un,{provide:gt,useExisting:un}])}function qs(t){let r=[{provide:qn,useValue:bs},{provide:Bn,useValue:h({skipNextTransition:!!(t!=null&&t.skipInitialTransition)},t)}];return qe(9,r)}var fn=new M("ROUTER_FORROOT_GUARD"),Bs=[we,{provide:$e,useClass:fe},V,_e,{provide:re,useFactory:Ls,deps:[V]},ur,[]],wo=(()=>{class t{constructor(e){}static forRoot(e,n){return{ngModule:t,providers:[Bs,[],{provide:ft,multi:!0,useValue:e},{provide:fn,useFactory:Gs,deps:[[V,new Mr,new Tr]]},n!=null&&n.errorHandler?{provide:Vn,useValue:n.errorHandler}:[],{provide:Fe,useValue:n||{}},n!=null&&n.useHash?Hs():Ws(),Vs(),n!=null&&n.preloadingStrategy?zs(n.preloadingStrategy).\u0275providers:[],n!=null&&n.initialNavigation?Qs(n):[],n!=null&&n.bindToComponentInputs?Fs().\u0275providers:[],n!=null&&n.enableViewTransitions?qs().\u0275providers:[],Ks()]}}static forChild(e){return{ngModule:t,providers:[{provide:ft,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)(F(fn,8))};static \u0275mod=$r({type:t});static \u0275inj=Ar({})}return t})();function Vs(){return{provide:Gn,useFactory:()=>{let t=p(tn),r=p(At),e=p(Fe),n=p(lr),i=p($e);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Ns(i,n,t,r,e)}}}function Hs(){return{provide:Re,useClass:en}}function Ws(){return{provide:Re,useClass:Jr}}function Gs(t){return"guarded"}function Qs(t){return[t.initialNavigation==="disabled"?_s().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ks().\u0275providers:[]]}var pn=new M("");function Ks(){return[{provide:pn,useFactory:$s},{provide:zr,multi:!0,useExisting:pn}]}export{k as a,re as b,Mi as c,V as d,dn as e,Ro as f,wo as g};