homebridge-config-ui-x 5.11.1 → 5.11.2-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/core/auth/auth.controller.d.ts +4 -0
  3. package/dist/core/config/config.interfaces.d.ts +14 -0
  4. package/dist/core/config/config.service.d.ts +6 -0
  5. package/dist/core/config/config.service.js +8 -0
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/core/config/config.startup.js +48 -17
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/feature-flags/feature-flags.registry.js +5 -0
  10. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  11. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +1 -0
  12. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  13. package/dist/core/spa/spa-html.service.d.ts +5 -0
  14. package/dist/core/spa/spa-html.service.js +32 -0
  15. package/dist/core/spa/spa-html.service.js.map +1 -0
  16. package/dist/core/spa/spa.filter.d.ts +3 -0
  17. package/dist/core/spa/spa.filter.js +22 -2
  18. package/dist/core/spa/spa.filter.js.map +1 -1
  19. package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
  20. package/dist/core/ssl/ssl-cert-generator.service.js +125 -0
  21. package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
  22. package/dist/globalDefaults.js +3 -0
  23. package/dist/globalDefaults.js.map +1 -1
  24. package/dist/main.js +18 -4
  25. package/dist/main.js.map +1 -1
  26. package/dist/modules/accessories/accessories.controller.d.ts +1 -1
  27. package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
  28. package/dist/modules/accessories/accessories.interfaces.js +2 -0
  29. package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
  30. package/dist/modules/accessories/accessories.module.js +2 -0
  31. package/dist/modules/accessories/accessories.module.js.map +1 -1
  32. package/dist/modules/accessories/accessories.service.d.ts +21 -3
  33. package/dist/modules/accessories/accessories.service.js +280 -17
  34. package/dist/modules/accessories/accessories.service.js.map +1 -1
  35. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +9 -0
  36. package/dist/modules/config-editor/config-editor.controller.d.ts +4 -0
  37. package/dist/modules/config-editor/config-editor.controller.js +64 -0
  38. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  39. package/dist/modules/config-editor/config-editor.service.d.ts +6 -1
  40. package/dist/modules/config-editor/config-editor.service.js +45 -1
  41. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  42. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  43. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  44. package/dist/modules/plugins/plugins.service.js +15 -0
  45. package/dist/modules/plugins/plugins.service.js.map +1 -1
  46. package/dist/modules/server/server.controller.d.ts +50 -0
  47. package/dist/modules/server/server.controller.js +201 -2
  48. package/dist/modules/server/server.controller.js.map +1 -1
  49. package/dist/modules/server/server.service.d.ts +48 -0
  50. package/dist/modules/server/server.service.js +502 -14
  51. package/dist/modules/server/server.service.js.map +1 -1
  52. package/dist/modules/status/status.gateway.d.ts +2 -0
  53. package/dist/modules/status/status.interfaces.d.ts +11 -0
  54. package/dist/modules/status/status.service.d.ts +4 -1
  55. package/dist/modules/status/status.service.js +21 -2
  56. package/dist/modules/status/status.service.js.map +1 -1
  57. package/docs/matter-todo.md +15 -0
  58. package/docs/ssl-upload-pr.md +103 -0
  59. package/package.json +3 -1
  60. package/public/3rdpartylicenses.txt +558 -636
  61. package/public/assets/matter.svg +8 -0
  62. package/public/assets/plugin-ui-utils/ui.js +3 -0
  63. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  64. package/public/chunk-2AZ4IAJX.js +1 -0
  65. package/public/chunk-2W47TKRP.js +8 -0
  66. package/public/chunk-32NSGOWJ.js +1 -0
  67. package/public/chunk-3AXKQX7N.js +1 -0
  68. package/public/chunk-3ND4FTJL.js +1 -0
  69. package/public/chunk-3SLVSNU6.js +1 -0
  70. package/public/chunk-4FBWT2PG.js +1 -0
  71. package/public/chunk-4HRXISNZ.js +1 -0
  72. package/public/chunk-4KYVPUTG.js +1 -0
  73. package/public/chunk-56AT4EBV.js +1 -0
  74. package/public/chunk-5INR7MRZ.js +1 -0
  75. package/public/chunk-5IRYX3WN.js +1 -0
  76. package/public/chunk-5N6BZ66K.js +1 -0
  77. package/public/chunk-5USVC2CC.js +3 -0
  78. package/public/chunk-6G6325AZ.js +1 -0
  79. package/public/chunk-6IPZ57S4.js +1 -0
  80. package/public/chunk-74KAKFTX.js +1 -0
  81. package/public/chunk-77KQMZKD.js +1 -0
  82. package/public/chunk-7IMDRRHF.js +50 -0
  83. package/public/chunk-7MHPXFPT.js +1 -0
  84. package/public/chunk-A2VBYQGU.js +1 -0
  85. package/public/chunk-AASDOQGB.js +1 -0
  86. package/public/chunk-AM2AGROH.js +68 -0
  87. package/public/chunk-AU6YJ4VB.js +1 -0
  88. package/public/chunk-B2R3BKIF.js +1 -0
  89. package/public/chunk-B4AJQJMI.js +1 -0
  90. package/public/chunk-BCAWAC5S.js +19 -0
  91. package/public/chunk-BMH5GPEB.js +1 -0
  92. package/public/{chunk-KI6BE77G.js → chunk-BMOLDRJ3.js} +1 -1
  93. package/public/chunk-BOVXKVZC.js +1 -0
  94. package/public/chunk-BRUFPV4S.js +1 -0
  95. package/public/chunk-C2W3HONU.js +1 -0
  96. package/public/chunk-CAB2VD3D.js +1 -0
  97. package/public/chunk-CB6OGKHG.js +1 -0
  98. package/public/chunk-CBSLCVSR.js +1 -0
  99. package/public/chunk-CQHE4TU3.js +1 -0
  100. package/public/chunk-CYSSAU76.js +1 -0
  101. package/public/chunk-CZBBUBTH.js +1 -0
  102. package/public/chunk-E2INCMIB.js +1 -0
  103. package/public/chunk-F344NE7H.js +2 -0
  104. package/public/{chunk-75KR2TK6.js → chunk-FARCNAHH.js} +1 -1
  105. package/public/chunk-FDD3SM5M.js +1 -0
  106. package/public/chunk-FJCRSYAB.js +1 -0
  107. package/public/{chunk-BKCIVF4W.js → chunk-FL4D5IR7.js} +52 -2
  108. package/public/chunk-FNIVJEH2.js +1 -0
  109. package/public/chunk-FOAHTHQO.js +1 -0
  110. package/public/chunk-FW2NZE2W.js +1 -0
  111. package/public/chunk-GAI5J4YQ.js +5 -0
  112. package/public/chunk-GHNACZX3.js +1 -0
  113. package/public/chunk-GIPFJVAC.js +1 -0
  114. package/public/chunk-GQMGUEFI.js +1 -0
  115. package/public/chunk-GRUJENQH.js +1 -0
  116. package/public/chunk-GV5JF2YJ.js +16 -0
  117. package/public/chunk-GWQFQK2F.js +2 -0
  118. package/public/{chunk-OMFNURQZ.js → chunk-H7F7H5MW.js} +1 -1
  119. package/public/chunk-HRBBCSGX.js +1 -0
  120. package/public/chunk-I7UZENUE.js +1 -0
  121. package/public/chunk-IIAESTI5.js +1 -0
  122. package/public/chunk-IUXXJEPG.js +1 -0
  123. package/public/chunk-JEWURKW3.js +1 -0
  124. package/public/chunk-JH5W4II7.js +1 -0
  125. package/public/chunk-JLNKCN3A.js +1 -0
  126. package/public/chunk-JTGLNZVD.js +1 -0
  127. package/public/chunk-KSP343GE.js +1 -0
  128. package/public/chunk-KTE7SASZ.js +1 -0
  129. package/public/chunk-KTLG6VZT.js +1 -0
  130. package/public/chunk-L2BEQFIA.js +1 -0
  131. package/public/chunk-L6LSM43U.js +1 -0
  132. package/public/chunk-MKCBNPFH.js +1 -0
  133. package/public/chunk-MKFXR7SP.js +1 -0
  134. package/public/chunk-MW6H5Z5G.js +2 -0
  135. package/public/chunk-MYJVEYXW.js +1 -0
  136. package/public/chunk-NDBIOJ3K.js +1 -0
  137. package/public/chunk-NMM246IB.js +1 -0
  138. package/public/chunk-NPWYNB2M.js +1 -0
  139. package/public/chunk-O6MJC7P2.js +1 -0
  140. package/public/chunk-OB3JM574.js +1 -0
  141. package/public/chunk-OKQK5WGA.js +1 -0
  142. package/public/{chunk-RKUILXRL.js → chunk-OWEBBEZA.js} +1 -1
  143. package/public/chunk-OYHGZQRR.js +1 -0
  144. package/public/chunk-QB4JVFF7.js +1 -0
  145. package/public/chunk-QIW6VVBV.js +1 -0
  146. package/public/chunk-QPYSLZDC.js +5 -0
  147. package/public/chunk-QRWK7JO5.js +1 -0
  148. package/public/chunk-R24RQS2V.js +3 -0
  149. package/public/chunk-R3PJ6UT3.js +4 -0
  150. package/public/chunk-RRYSODYJ.js +1 -0
  151. package/public/chunk-SIIM6WZ6.js +12 -0
  152. package/public/chunk-TCWZ7ASJ.js +1 -0
  153. package/public/chunk-TNQQAZ6Z.js +1 -0
  154. package/public/chunk-TWVOLPMB.js +1 -0
  155. package/public/chunk-TXOHSX6R.js +1 -0
  156. package/public/chunk-UR2DRSIX.js +1 -0
  157. package/public/chunk-UTCW7GEG.js +1 -0
  158. package/public/chunk-UXXY7XNH.js +1 -0
  159. package/public/chunk-VHK6V2IY.js +1 -0
  160. package/public/chunk-VNSIIEIM.js +1 -0
  161. package/public/chunk-VQBGFNDB.js +1 -0
  162. package/public/chunk-VTSSBPGB.js +4 -0
  163. package/public/chunk-VVINUJOQ.js +1 -0
  164. package/public/chunk-W2OS6MJH.js +1 -0
  165. package/public/chunk-W546I2QX.js +1 -0
  166. package/public/chunk-X6NYM4NC.js +1 -0
  167. package/public/chunk-XEOYEVJE.js +1 -0
  168. package/public/chunk-XM3BXRQJ.js +1 -0
  169. package/public/chunk-YI2ZMXIQ.js +1 -0
  170. package/public/chunk-YJWJIJMQ.js +1 -0
  171. package/public/chunk-ZAKTSIL5.js +1 -0
  172. package/public/chunk-ZCGZM7LU.js +1 -0
  173. package/public/chunk-ZPXACREZ.js +4 -0
  174. package/public/index.html +2 -2
  175. package/public/main-HATN2V6Z.js +1 -0
  176. package/public/media/matter-P563JGDL.svg +8 -0
  177. package/public/polyfills-34U4WL3Z.js +1 -0
  178. package/public/styles-CT2LPGES.css +1 -0
  179. package/scripts/extract-plugin-alias.js +53 -2
  180. package/public/chunk-23BCCFJ5.js +0 -1
  181. package/public/chunk-2WBRY5UH.js +0 -1
  182. package/public/chunk-3BW6ZOEY.js +0 -1
  183. package/public/chunk-3F6KNL45.js +0 -5
  184. package/public/chunk-42GW3RJL.js +0 -1
  185. package/public/chunk-5GRM2PNI.js +0 -8
  186. package/public/chunk-66LEC5UY.js +0 -1
  187. package/public/chunk-66QXUNEP.js +0 -1
  188. package/public/chunk-6LTVSYZW.js +0 -1
  189. package/public/chunk-6VK3QZGU.js +0 -1
  190. package/public/chunk-73C4I43L.js +0 -1
  191. package/public/chunk-7OASQ2AG.js +0 -1
  192. package/public/chunk-7WU4X6RM.js +0 -1
  193. package/public/chunk-ADWZU2CD.js +0 -1
  194. package/public/chunk-AJFDU7Z7.js +0 -1
  195. package/public/chunk-APNLFZE3.js +0 -1
  196. package/public/chunk-B6MBMYJR.js +0 -1
  197. package/public/chunk-BKFWDZA6.js +0 -1
  198. package/public/chunk-BON2K2BD.js +0 -2
  199. package/public/chunk-BROGM6SY.js +0 -3
  200. package/public/chunk-CA3TZ6PQ.js +0 -1
  201. package/public/chunk-EH36LHRK.js +0 -1
  202. package/public/chunk-EI7FRBF5.js +0 -1
  203. package/public/chunk-END7FY3E.js +0 -4
  204. package/public/chunk-FIMBNRF3.js +0 -1
  205. package/public/chunk-FYJ5B755.js +0 -1
  206. package/public/chunk-GYXHUBV3.js +0 -1
  207. package/public/chunk-HIUHYFSQ.js +0 -1
  208. package/public/chunk-I6OSTXHH.js +0 -1
  209. package/public/chunk-IEAPUTEM.js +0 -4
  210. package/public/chunk-IT6PLC4W.js +0 -1
  211. package/public/chunk-IYHUB3D3.js +0 -1
  212. package/public/chunk-JCCE2HYA.js +0 -1
  213. package/public/chunk-JMI4ETRQ.js +0 -4
  214. package/public/chunk-K27TBISE.js +0 -16
  215. package/public/chunk-KGF7IKOW.js +0 -1
  216. package/public/chunk-KIQBLIB2.js +0 -8
  217. package/public/chunk-MAY7B34T.js +0 -1
  218. package/public/chunk-MCMS4UYL.js +0 -1
  219. package/public/chunk-MMBLECEN.js +0 -1
  220. package/public/chunk-MNWNSJ2K.js +0 -5
  221. package/public/chunk-NK5MY45D.js +0 -1
  222. package/public/chunk-OOM2PIRM.js +0 -5
  223. package/public/chunk-ORRSUOEI.js +0 -1
  224. package/public/chunk-QSG34JA4.js +0 -1
  225. package/public/chunk-QXD4RXA4.js +0 -1
  226. package/public/chunk-R7Q4CXAE.js +0 -1
  227. package/public/chunk-RMH5OYGC.js +0 -1
  228. package/public/chunk-SIVMM2JG.js +0 -1
  229. package/public/chunk-SMWVFNSN.js +0 -1
  230. package/public/chunk-U5K3GAHN.js +0 -1
  231. package/public/chunk-UUDMBNOI.js +0 -1
  232. package/public/chunk-V5LQ5DCH.js +0 -1
  233. package/public/chunk-VAYELJWR.js +0 -50
  234. package/public/chunk-VIRYWO5H.js +0 -40
  235. package/public/chunk-WYUCIHNO.js +0 -1
  236. package/public/chunk-XDFBUXFD.js +0 -1
  237. package/public/chunk-XX2HF46Y.js +0 -1
  238. package/public/chunk-YY4RH27F.js +0 -1
  239. package/public/chunk-ZCLW5Y7D.js +0 -19
  240. package/public/chunk-ZOOWBXGT.js +0 -1
  241. package/public/chunk-ZPKW4S77.js +0 -2
  242. package/public/chunk-ZXUIFQS4.js +0 -51
  243. package/public/main-BAQKIXE4.js +0 -1
  244. package/public/polyfills-5KWHJ7II.js +0 -2
  245. package/public/styles-7EFV5QBG.css +0 -1
@@ -0,0 +1 @@
1
+ import{a as He,c as ne}from"./chunk-7IMDRRHF.js";import"./chunk-CQHE4TU3.js";import"./chunk-FL4D5IR7.js";import{a as U}from"./chunk-GV5JF2YJ.js";import{a as Ne}from"./chunk-FARCNAHH.js";import{a as Ae}from"./chunk-QRWK7JO5.js";import"./chunk-SIIM6WZ6.js";import"./chunk-BMOLDRJ3.js";import{a as $e}from"./chunk-3ND4FTJL.js";import"./chunk-H7F7H5MW.js";import"./chunk-2W47TKRP.js";import{a as Oe}from"./chunk-OWEBBEZA.js";import"./chunk-JH5W4II7.js";import"./chunk-XM3BXRQJ.js";import"./chunk-GQMGUEFI.js";import"./chunk-5INR7MRZ.js";import"./chunk-XEOYEVJE.js";import"./chunk-TXOHSX6R.js";import{a as ee}from"./chunk-74KAKFTX.js";import"./chunk-YJWJIJMQ.js";import"./chunk-CB6OGKHG.js";import"./chunk-NPWYNB2M.js";import"./chunk-W546I2QX.js";import"./chunk-TCWZ7ASJ.js";import"./chunk-NDBIOJ3K.js";import"./chunk-NMM246IB.js";import"./chunk-AU6YJ4VB.js";import"./chunk-2AZ4IAJX.js";import"./chunk-B2R3BKIF.js";import"./chunk-IUXXJEPG.js";import"./chunk-C2W3HONU.js";import"./chunk-OB3JM574.js";import"./chunk-HRBBCSGX.js";import"./chunk-AASDOQGB.js";import"./chunk-MKCBNPFH.js";import"./chunk-ZCGZM7LU.js";import"./chunk-GWQFQK2F.js";import{g as Ee,h as Te,i as Ie,j as De,k as Me,l as Ve,m as z,n as ie,t as te}from"./chunk-GAI5J4YQ.js";import{b as fe,e as Ce}from"./chunk-ZAKTSIL5.js";import{a as le}from"./chunk-JLNKCN3A.js";import{b as Z}from"./chunk-KTLG6VZT.js";import{C as Be,D as ke,c as he,e as be,f as ve,g as xe,j as Pe,m as ye,r as we,s as Se}from"./chunk-O6MJC7P2.js";import{b as Y}from"./chunk-CAB2VD3D.js";import{E as F,F as D,H as K,K as X,j as _e}from"./chunk-MW6H5Z5G.js";import{Ab as g,Ac as me,Cb as q,Db as G,Eb as Q,Ec as o,Fb as S,Fc as r,Gb as l,Gc as A,Hb as s,Ib as c,Jb as x,Kb as P,Lb as N,Lc as ue,Oc as oe,Pc as ge,Rb as w,Sb as R,Ua as $,Va as H,Wa as de,Xb as f,Yb as O,Za as a,Zb as m,aa as y,ec as pe,fc as ce,ga as b,ha as v,hc as W,jc as E,kc as p,lc as C,ma as re,mc as h,nb as I,sa as k,va as se,vc as ae,yb as B,yc as J,zb as u,zc as M}from"./chunk-ZPXACREZ.js";import"./chunk-KTE7SASZ.js";import"./chunk-MKFXR7SP.js";import"./chunk-32NSGOWJ.js";import"./chunk-5N6BZ66K.js";import"./chunk-JEWURKW3.js";import"./chunk-56AT4EBV.js";import{h as V}from"./chunk-B4AJQJMI.js";var qe=t=>({pluginName:t}),Ge=(t,d)=>({setting:t,value:d});function Qe(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_platform_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_platform_2")))}function We(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_accessory_2")))}function Je(t,d){if(t&1&&(l(0,"ul",15),c(1,"li",16),o(2,"translate"),l(3,"ul",17),u(4,Qe,6,6)(5,We,6,6),s()()),t&2){let e=m(2);a(),S("innerHtml",A(2,2,"plugins.manage.confirm_disable_setting",M(5,Ge,e.keepOrphansName,e.keepOrphansValue)),$),a(3),g(e.keepOrphansSignal()?4:5)}}function Ke(t,d){t&1&&(l(0,"ul",15)(1,"li"),p(2),o(3,"translate"),s(),l(4,"li"),p(5),o(6,"translate"),s()()),t&2&&(a(2),C(r(3,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(6,4,"plugins.manage.confirm_disable_accessory_2")))}function Xe(t,d){if(t&1&&u(0,Je,6,8,"ul",15)(1,Ke,7,6,"ul",15),t&2){let e=m();g(e.isConfiguredDynamicPlatformSignal()?0:1)}}var ze=(()=>{class t{$activeModal=y(z);$translate=y(F);_pluginName=k("",{});_isConfigured=k(!1,{});_isConfiguredDynamicPlatform=k(!1,{});_keepOrphans=k(!1,{});set pluginName(e){this._pluginName.set(e)}get pluginName(){return this._pluginName()}set isConfigured(e){this._isConfigured.set(e)}get isConfigured(){return this._isConfigured()}set isConfiguredDynamicPlatform(e){this._isConfiguredDynamicPlatform.set(e)}get isConfiguredDynamicPlatform(){return this._isConfiguredDynamicPlatform()}set keepOrphans(e){this._keepOrphans.set(e)}get keepOrphans(){return this._keepOrphans()}pluginNameSignal=this._pluginName.asReadonly();isConfiguredSignal=this._isConfigured.asReadonly();isConfiguredDynamicPlatformSignal=this._isConfiguredDynamicPlatform.asReadonly();keepOrphansSignal=this._keepOrphans.asReadonly();keepOrphansName=`<code>${this.$translate.instant("settings.startup.keep_accessories")}</code>`;get keepOrphansValue(){return`<code>${this._keepOrphans()}</code>`}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.$activeModal.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:25,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-circle-pause","primary-text",2,"font-size","75px"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"],[1,"mb-3"],[3,"innerHtml"],[1,"mb-1"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"h5",2),p(3),s(),l(4,"button",3),o(5,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(6,"div",4)(7,"div",5),c(8,"i",6),s(),u(9,Xe,2,1),l(10,"ngb-alert",7)(11,"p",8),p(12),o(13,"translate"),s()()(),l(14,"div",9)(15,"div",10)(16,"button",11),o(17,"translate"),f("click",function(){return i.dismissModal()}),p(18),o(19,"translate"),s()(),c(20,"div",12),l(21,"div",13)(22,"button",14),f("click",function(){return i.closeModal()}),p(23),o(24,"translate"),s()()()()),n&2&&(a(3),C(i.pluginNameSignal()),a(),B("aria-label",r(5,8,"form.button_close")),a(5),g(i.isConfiguredSignal()?9:-1),a(),S("dismissible",!1),a(2),h(" ",A(13,10,"plugins.manage.confirm_disable",J(19,qe,i.pluginNameSignal()))," "),a(4),B("aria-label",r(17,13,"form.button_close")),a(2),h(" ",r(19,15,"form.button_close")," "),a(5),h(" ",r(24,17,"plugins.manage.disable")," "))},dependencies:[Ee,D],encapsulation:2})}return t})();var Ye=t=>({author:t});function Ze(t,d){if(t&1&&(x(0,"li",9),N(1,"i",15),x(2,"a",16),p(3),P()()),t&2){let e=d.$implicit,n=m();a(),E(n.getIconClass(e.type)),a(),R("href",e.url,H),a(),C(e.url)}}var je=(()=>{class t{$activeModal=y(z);_plugin=k(null,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginSignal=this._plugin.asReadonly();fundingOptions=k([],{});authorName=k("",{});ngOnInit(){this.initialize()}initialize(){let e=this.pluginSignal();if(!e||!e.funding){this.$activeModal.close();return}this.authorName.set(e.name==="homebridge-config-ui-x"?"oznu":e.author);let n=e.funding;if(Array.isArray(n)){let i=n.map(_=>{if(typeof _=="string")return{type:"other",url:_};if(typeof _=="object")return{type:_.type||"other",url:_.url}}).filter(Boolean);this.fundingOptions.set(i)}else typeof n=="string"?this.fundingOptions.set([{type:"other",url:n}]):typeof n=="object"&&n!==null&&this.fundingOptions.set([{type:n.type||"other",url:n.url}])}getIconClass(e){switch(e.toLowerCase()){case"paypal":return"fab fa-paypal";case"github":return"fab fa-github";case"patreon":return"fab fa-patreon";case"kofi":case"ko-fi":return"fas fa-coffee";default:return"fas fa-link"}}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-xl"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"div",5),N(9,"i",6),P(),x(10,"ul",7)(11,"li"),p(12),o(13,"translate"),P(),x(14,"li"),p(15),o(16,"translate"),P()(),x(17,"ul",8),G(18,Ze,4,4,"li",9,q),P()(),x(20,"div",10),N(21,"div",11),x(22,"div",12)(23,"button",13),o(24,"translate"),O("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),P()(),N(27,"div",14),P()()),n&2&&(a(3),C(A(4,6,"plugins.donate.tile_donate_to",J(19,Ye,"@"+i.authorName()))),a(2),B("aria-label",r(6,9,"form.button_close")),a(7),C(r(13,11,"plugins.donate.message_1")),a(3),C(r(16,13,"plugins.donate.message_2")),a(3),Q(i.fundingOptions()),a(5),B("aria-label",r(24,15,"form.button_close")),a(2),h(" ",r(26,17,"form.button_close")," "))},dependencies:[D],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return t})();var ei=(t,d)=>({"orange-text":t,"grey-text":d}),ii=(t,d)=>({"green-text":t,"grey-text":d}),ti=(t,d)=>({"purple-text":t,"grey-text":d}),ni=(t,d)=>({scopedLink:t,verifiedLink:d});function ai(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P(),x(6,"p",19),p(7),o(8,"translate"),P()),t&2&&(a(),C(r(2,3,"plugins.manage.scoped_subtitle")),a(3),C(r(5,5,"plugins.manage.scoped_message")),a(3),C(r(8,7,"plugins.manage.verified_message")))}function oi(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.verified_subtitle")),a(3),C(r(5,4,"plugins.manage.verified_message")))}function li(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.unverified_subtitle")),a(3),C(r(5,4,"plugins.manage.unverified_message")))}function ri(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function si(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function di(t,d){if(t&1&&(x(0,"a",17),p(1),o(2,"translate"),N(3,"i",21),P()),t&2){let e=m();R("href",e.pluginData().links.homepage||e.pluginData().links.npm,H),a(),h(" ",r(2,2,"plugins.button_homepage")," ")}}var Re=(()=>{class t{$activeModal=y(z);_plugin=k(null,{});iconError=k(!1,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginData=this._plugin.asReadonly();pluginIcon=ue(()=>{let e=this._plugin();return e?.icon&&!this.iconError()?e.icon:this.defaultIcon},{});defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';handleIconError(){this.iconError.set(!0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-shield-alt","mb-3",2,"font-size","48px"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-external-link-alt"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"img",5),O("error",function(){return i.handleIconError()}),P(),x(9,"h4",6),p(10),P(),x(11,"p",7),p(12),P(),x(13,"p",8),p(14),P(),x(15,"p",9),p(16),P(),N(17,"i",10)(18,"i",10)(19,"i",10),u(20,ai,9,9),u(21,oi,6,6),u(22,li,6,6),N(23,"p",11),o(24,"translate"),P(),x(25,"div",12)(26,"div",13),u(27,ri,3,3,"button",14),P(),x(28,"div",15),u(29,si,3,3,"button",14),P(),x(30,"div",16),u(31,di,4,4,"a",17),P()()()),n&2&&(a(3),C(r(4,26,"plugins.manage.information")),a(2),B("aria-label",r(6,28,"form.button_close")),a(3),R("src",i.pluginIcon(),H),a(2),C(i.pluginData().displayName),a(2),C(i.pluginData().name),a(2),h("@",i.pluginData().author),a(2),C(i.pluginData().description),a(),E(M(33,ei,!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin,i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?1:.25),a(),E(M(36,ii,!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin),i.pluginData().isHbScoped||!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?1:.25),a(),E(M(39,ti,i.pluginData().isHbScoped,!i.pluginData().isHbScoped)),W("opacity",i.pluginData().isHbScoped?1:.25),a(),g(i.pluginData().isHbScoped?20:-1),a(),g(!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?21:-1),a(),g(!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?22:-1),a(),R("innerHTML",A(24,30,"plugins.manage.more_info",M(42,ni,i.linkScoped,i.linkVerified)),$),a(4),g(i.pluginData().links.homepage||i.pluginData().links.npm?27:-1),a(2),g(!i.pluginData().links.homepage&&!i.pluginData().links.npm?29:-1),a(2),g(i.pluginData().links.homepage||i.pluginData().links.npm?31:-1))},dependencies:[D],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var pi=(t,d,e)=>({"purple-text":t,"green-text":d,"orange-text":e}),ci=(t,d)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":d});function mi(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.checkAndUpdatePlugin())}),c(3,"i",22),s()}t&2&&(S("openDelay",150)("ngbTooltip",r(1,3,"plugins.button_update")),B("aria-label",r(2,5,"plugins.button_update")))}function ui(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.switchToScoped())}),c(3,"i",23),s()}t&2&&(S("openDelay",150)("ngbTooltip",r(1,3,"plugins.manage.scoped.switch")),B("aria-label",r(2,5,"plugins.manage.scoped.switch")))}function gi(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(3,"i",25),s()}t&2&&(S("ngbTooltip",r(1,3,"plugins.button_set_up"))("openDelay",150),B("aria-label",r(2,5,"plugins.button_set_up")))}function _i(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",26),s()}t&2&&(S("ngbTooltip",r(1,3,"child_bridge.setup"))("openDelay",150),B("aria-label",r(2,5,"child_bridge.setup")))}function fi(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",27),s()}t&2&&(S("ngbTooltip",r(1,3,"child_bridge.bridge_connect"))("openDelay",150),B("aria-label",r(2,5,"child_bridge.bridge_connect")))}function Ci(t,d){if(t&1&&c(0,"i",28),t&2){let e=m(2);E(M(2,ci,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function hi(t,d){if(t&1&&(l(0,"div",9),u(1,mi,4,7,"a",17),u(2,ui,4,7,"a",17),u(3,gi,4,7,"a",18),u(4,_i,4,7,"a",18),u(5,fi,4,7,"a",18),c(6,"i",19),u(7,Ci,1,5,"i",20),s()),t&2){let e,n=m();a(),g(n.plugin().installedVersion&&n.plugin().updateAvailable&&!n.childBridgeRestartInProgress?1:-1),a(),g(n.plugin().installedVersion&&((e=n.plugin().newHbScope)==null?null:e.switch)===n.plugin().installedVersion&&!n.childBridgeRestartInProgress?2:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&!n.plugin().isConfigured&&!n.childBridgeRestartInProgress&&!n.plugin().disabled?3:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&!n.plugin().hasChildBridges&&!n.plugin().disabled&&n.plugin().recommendChildBridge&&!n.childBridgeRestartInProgress?4:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress&&n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus==="ok"&&!n.plugin().disabled?5:-1),a(),S("hidden",!n.childBridgeRestartInProgress),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress&&!n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus!=="ok"&&!n.plugin().disabled?7:-1)}}function bi(t,d){if(t&1){let e=w();l(0,"a",11),f("click",function(){b(e);let i=m();return v(i.openFundingModal(i.plugin()))}),c(1,"i",29),l(2,"span",13),p(3),s()()}if(t&2){let e=m();a(3),h("@",e.plugin().author)}}function vi(t,d){if(t&1&&(l(0,"span",13),c(1,"i",30),p(2),s()),t&2){let e=m();a(2),h("@",e.plugin().author," ")}}function xi(t,d){if(t&1&&(l(0,"span"),p(1),o(2,"date"),s()),t&2){let e=m(2);a(),h("(",A(2,1,e.plugin().lastUpdated,"yyyy-MM-dd"),")")}}function Pi(t,d){if(t&1&&(l(0,"span"),c(1,"i",31),l(2,"span",13),p(3),u(4,xi,3,4,"span"),s()()),t&2){let e=m();a(3),h("v",e.plugin().latestVersion," "),a(),g(e.plugin().lastUpdated?4:-1)}}function yi(t,d){if(t&1&&(c(0,"i",32),p(1)),t&2){let e=m();a(),h("v",e.plugin().installedVersion," ")}}function wi(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),f("click",function(){b(e);let i=m(2);return v(i.doChildBridgeAction("restart"))}),c(2,"i",36),s()}if(t&2){let e=m(2);S("openDelay",150)("ngbTooltip",r(1,2,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Si(t,d){if(t&1){let e=w();l(0,"a",37),f("click",function(){b(e);let i=m(2);return v(i.enablePlugin(i.plugin()))}),c(1,"i",38),o(2,"translate"),s()}t&2&&(a(),S("ngbTooltip",r(2,2,"plugins.status_disabled"))("openDelay",150))}function Bi(t,d){if(t&1){let e=w();l(0,"a",39),f("click",function(){b(e);let i=m(2);return v(i.installAlternateVersion())}),c(1,"i",40),s()}}function ki(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.viewPluginLog())}),c(1,"i",49),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.plugin_logs")," "))}function Ei(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.installAlternateVersion())}),c(1,"i",50),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.manage_version")," "))}function Ti(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openJsonEditor())}),c(1,"i",51),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.json_config")," "))}function Ii(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.disablePlugin(i.plugin()))}),c(1,"i",52),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.disable")," "))}function Di(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.enablePlugin(i.plugin()))}),c(1,"i",53),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.enable")," "))}function Mi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.uninstallPlugin())}),c(1,"i",54),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.button_uninstall")," "))}function Vi(t,d){t&1&&c(0,"div",47)}function $i(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("restart"))}),c(1,"i",57),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function Ni(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("stop"))}),c(1,"i",58),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Ai(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("start"))}),c(1,"i",59),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function Hi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",55),p(2),o(3,"translate"),s(),u(4,$i,4,3,"button",46),u(5,Ni,4,3,"button",46),u(6,Ai,4,3,"button",46),l(7,"button",44),f("click",function(){b(e);let i=m(3);return v(i.resetChildBridges())}),c(8,"i",56),p(9),o(10,"translate"),s()}if(t&2){let e=m(3);a(2),h(" ",r(3,5,"child_bridge.bridge_settings")," "),a(2),g(e.childBridgeRestartInProgress?-1:4),a(),g(e.allChildBridgesStopped?-1:5),a(),g(e.allChildBridgesStopped?6:-1),a(3),h(" ",r(10,7,"child_bridge.reset_accessories")," ")}}function Oi(t,d){t&1&&c(0,"div",47)}function zi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function ji(t,d){t&1&&c(0,"div",47)}function Ri(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function Fi(t,d){t&1&&c(0,"div",47)}function Ui(t,d){if(t&1&&(l(0,"a",48),c(1,"i",61),p(2),o(3,"translate"),s()),t&2){let e=m(3);S("href",e.plugin().links.bugs,H),a(2),h(" ",r(3,2,"support.links.issue")," ")}}function Li(t,d){if(t&1){let e=w();l(0,"span",35)(1,"a",41),c(2,"i",42),s(),l(3,"div",43)(4,"button",44),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(5,"i",45),p(6),o(7,"translate"),s(),u(8,ki,4,3,"button",46),u(9,Ei,4,3,"button",46),u(10,Ti,4,3,"button",46),u(11,Ii,4,3,"button",46),u(12,Di,4,3,"button",46),u(13,Mi,4,3,"button",46),u(14,Vi,1,0,"div",47),u(15,Hi,11,9),u(16,Oi,1,0,"div",47),u(17,zi,4,3,"button",46),u(18,ji,1,0,"div",47),u(19,Ri,4,3,"button",46),u(20,Fi,1,0,"div",47),u(21,Ui,4,4,"a",48),s()()}if(t&2){let e,n,i=m(2);a(),B("aria-label","Plugin Actions Dropdown"),a(5),h(" ",r(7,16,"plugins.button_settings")," "),a(2),g(i.plugin().isConfigured&&!i.plugin().disabled?8:-1),a(),g(i.plugin().publicPackage?9:-1),a(),g(!i.isMobile&&i.plugin().name!=="homebridge-config-ui-x"?10:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&!i.plugin().disabled?11:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&i.plugin().disabled?12:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"?13:-1),a(),g(!i.plugin().disabled&&i.plugin().isConfigured&&i.plugin().hasChildBridges&&i.plugin().installedVersion&&i.plugin().name!=="homebridge-config-ui-x"?14:-1),a(),g(i.plugin().hasChildBridges&&!i.plugin().disabled?15:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?16:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?17:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?18:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?19:-1),a(),g((e=i.plugin().links)!=null&&e.bugs?20:-1),a(),g((n=i.plugin().links)!=null&&n.bugs?21:-1)}}function qi(t,d){if(t&1&&(l(0,"div",9),u(1,wi,3,4,"a",17),u(2,Si,3,4,"a",33),u(3,Bi,2,0,"a",34),u(4,Li,22,18,"span",35),s()),t&2){let e=m();a(),g(!e.plugin().disabled&&e.plugin().hasChildBridges&&e.childBridgeStatus==="ok"?1:-1),a(),g(e.plugin().installedVersion&&e.plugin().disabled?2:-1),a(),g(e.plugin().publicPackage&&!e.plugin().installedVersion?3:-1),a(),g(e.plugin().installedVersion?4:-1)}}var Fe=(()=>{class t{$api=y(X);$auth=y(Z);$md=y(Ae);$modal=y(ie);$plugin=y(ne);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);io;plugin=oe.required({});childBridges=oe.required({});hasChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];isAdmin=this.$auth.user.admin;constructor(){se(()=>{let e=this.childBridges();this.hasChildBridges=e.length>0,this.allChildBridgesStopped=e.every(n=>n.manuallyStopped===!0),this.hasChildBridges&&(e.some(n=>n.status==="down")?this.childBridgeStatus="down":e.some(n=>n.status==="pending")?this.childBridgeStatus="pending":e.some(n=>n.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e})}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile&&this.plugin().displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin().displayName=this.plugin().displayName.replace(/^homebridge /i,"")),this.plugin().icon||(this.plugin().icon=this.defaultIcon)}openFundingModal(e){let n=this.$modal.open(je,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}pluginInfoModal(e){let n=this.$modal.open(Re,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}disablePlugin(e){let n=this.$modal.open(ze,{size:"lg",backdrop:"static"});n.componentInstance.pluginName=e.displayName||e.name,n.componentInstance.isConfigured=e.isConfigured,n.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,n.componentInstance.keepOrphans=this.$settings.keepOrphans,n.result.then(()=>V(this,null,function*(){try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{}),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let n=this.$modal.open($e,{size:"lg",backdrop:"static"});n.componentInstance.title=e.name,n.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),n.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),n.componentInstance.faIconClass="fa-circle-play primary-text",n.result.then(()=>V(this,null,function*(){try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{}),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(){let e=this.$modal.open(He,{size:"xl",backdrop:"static"});e.componentInstance.plugin=this.plugin(),e.componentInstance.childBridges=this.setChildBridges}doChildBridgeAction(e){return V(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let n of this.setChildBridges)yield this.io.request(`${e}-child-bridge`,n.username).toPromise()}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin().icon=this.defaultIcon}checkAndUpdatePlugin(){this.$plugin.checkAndUpdatePlugin(this.plugin(),this.plugin().latestVersion)}openSettings(){this.$plugin.settings(this.plugin())}openBridgeSettings(){this.$plugin.bridgeSettings(this.plugin())}switchToScoped(){this.$plugin.switchToScoped(this.plugin())}installAlternateVersion(){this.$plugin.installAlternateVersion(this.plugin())}openJsonEditor(){this.$plugin.jsonEditor(this.plugin())}uninstallPlugin(){this.$plugin.uninstallPlugin(this.plugin(),this.setChildBridges)}resetChildBridges(){this.$plugin.resetChildBridges(this.setChildBridges)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:[1,"plugin"],childBridges:[1,"childBridges"]},decls:24,vars:15,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-shield-alt","fa-lg","me-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"openDelay","ngbTooltip"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"ngbTooltip","openDelay"],[1,"fas","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-lg","ms-3",3,"class"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","openDelay","ngbTooltip"],[1,"far","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","ngbTooltip","openDelay"],[1,"fas","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-lg","ms-3"],[1,"fas","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-circle-check","fa-lg","me-1"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],[1,"fas","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","triggers","hover",1,"far","fa-pause-circle","fa-lg",3,"ngbTooltip","openDelay"],["href","javascript:void(0)",3,"click"],[1,"far","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-wave-square"],[1,"fas","fa-code-compare"],[1,"fas","fa-code"],[1,"far","fa-circle-pause"],[1,"far","fa-circle-play"],[1,"fas","fa-trash"],[1,"fas","fa-bridge"],[1,"fas","fa-broom"],[1,"icon-button","fas","fa-power-off"],[1,"fas","fa-stop"],[1,"fas","fa-play"],[1,"icon-button","fas","fa-bridge"],[1,"icon-button","fa","fa-question-circle-o"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),f("error",function(){return i.handleIconError()}),s()(),l(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),p(9),s(),u(10,hi,8,7,"div",9),s(),l(11,"p",10)(12,"a",11),f("click",function(){return i.pluginInfoModal(i.plugin())}),c(13,"i",12),l(14,"span",13),p(15),s()()(),l(16,"p",14),u(17,bi,4,1,"a",15),u(18,vi,3,1,"span",13),s(),l(19,"div",7)(20,"p",16),u(21,Pi,5,2,"span"),u(22,yi,2,1),s(),u(23,qi,5,4,"div",9),s()()()()()()),n&2&&(a(3),S("src",i.plugin().icon,H),a(6),C(i.plugin().displayName),a(),g(i.isAdmin?10:-1),a(3),E(me(11,pi,i.plugin().isHbScoped,!i.plugin().isHbScoped&&(i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin),!i.plugin().isHbScoped&&!i.plugin().verifiedPlugin&&!i.plugin().verifiedPlusPlugin)),a(2),C(i.plugin().name),a(2),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?17:-1),a(),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?-1:18),a(3),g(i.plugin().publicPackage&&!i.plugin().installedVersion?21:-1),a(),g(i.plugin().installedVersion?22:-1),a(),g(i.isAdmin?23:-1))},dependencies:[te,Ve,Me,De,Ie,Te,_e,D],encapsulation:2})}return t})();var Ue=(()=>{class t{$activeModal=y(z);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:22,consts:[["role","dialog","aria-modal","true",1,"modal-content"],[1,"modal-header"],["id","plugin-support-modal-title",1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),p(4),o(5,"translate"),s(),l(6,"button",3),o(7,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(8,"div",4)(9,"div",5),c(10,"i",6),s(),l(11,"ul",7),c(12,"li",8),o(13,"translate"),c(14,"li",8),o(15,"translate"),c(16,"li",8),o(17,"translate"),c(18,"li",8),o(19,"translate"),s(),c(20,"app-support-banner"),s(),l(21,"div",9),c(22,"div",10),l(23,"div",11)(24,"button",12),f("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),s()(),c(27,"div",13),s()()()),n&2&&(B("aria-labelledby","plugin-support-modal-title"),a(4),C(r(5,8,"support.title")),a(2),B("aria-label",r(7,10,"form.button_close")),a(6),S("innerHTML",r(13,12,"plugins.support.list_1"),$),a(2),S("innerHTML",r(15,14,"plugins.support.list_2"),$),a(2),S("innerHTML",r(17,16,"plugins.support.list_3"),$),a(2),S("innerHTML",r(19,18,"plugins.support.list_4"),$),a(7),h(" ",r(26,20,"form.button_close")," "))},dependencies:[Oe,D],encapsulation:2})}return t})();var Gi=["searchInput"],Qi=(t,d)=>({"fa-magnifying-glass":t,"fa-exclamation-circle":d});function Wi(t,d){t&1&&c(0,"app-spinner")}function Ji(t,d){if(t&1){let e=w();l(0,"button",7),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m();return v(i.showSearch())}),c(3,"i"),s(),l(4,"button",8),o(5,"translate"),o(6,"translate"),f("click",function(){b(e);let i=m();return v(i.showStats())}),c(7,"i"),s()}if(t&2){let e=m();S("openDelay",150)("ngbTooltip",r(1,13,"form.search"))("hidden",!e.installedPlugins().length&&!e.showSearchBar()),B("aria-label",r(2,15,"form.search")),a(3),E(ae("fas",e.showSearchBar()?" primary-text":""," fa-search")),a(),S("openDelay",150)("ngbTooltip",r(5,17,"plugins.stats")),B("aria-label",r(6,19,"plugins.stats")),a(3),E(ae("fas",e.tab()==="stats"?" primary-text":""," fa-sliders"))}}function Ki(t,d){if(t&1){let e=w();l(0,"a",15),f("click",function(){b(e);let i=m(3);return v(i.onClearSearch())}),c(1,"i",16),s()}}function Xi(t,d){if(t&1){let e=w();l(0,"div",9)(1,"div",11)(2,"form",12),f("ngSubmit",function(){b(e);let i=m(2);return v(i.onSubmit(i.form))}),c(3,"input",13,0),o(5,"translate"),u(6,Ki,2,0,"a",14),s()()()}if(t&2){let e=m(2);a(2),S("formGroup",e.form),a(),S("placeholder",r(5,3,"plugins.placeholder_search_plugin")),a(3),g(e.showExitButton()?6:-1)}}function Yi(t,d){if(t&1&&(l(0,"div",17),c(1,"app-plugin-card",19),s()),t&2){let e=d.$implicit,n=m(3);a(),S("plugin",e)("childBridges",n.getPluginChildBridges(e))}}function Zi(t,d){if(t&1&&(l(0,"div",18),c(1,"i",20),l(2,"p"),p(3),o(4,"translate"),s()()),t&2){let e=m(3);a(),E(M(5,Qi,!e.showExitButton(),e.showExitButton())),a(2),C(r(4,3,e.showExitButton()?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function et(t,d){if(t&1&&(l(0,"div",10),G(1,Yi,2,2,"div",17,q),u(3,Zi,5,8,"div",18),s()),t&2){let e=m(2);a(),Q(e.installedPlugins()),a(2),g(e.installedPlugins().length===0&&!e.loading()&&!e.mainError()?3:-1)}}function it(t,d){if(t&1&&(u(0,Xi,7,5,"div",9),u(1,et,4,1,"div",10)),t&2){let e=m();g(e.showSearchBar()?0:-1),a(),g(e.loading()?-1:1)}}function tt(t,d){t&1&&(l(0,"div",21)(1,"div",22)(2,"code"),p(3,"https://developers.homebridge.io/analytics "),l(4,"a",23),c(5,"i",24),s()()(),l(6,"div",25),p(7),o(8,"translate"),s()(),c(9,"iframe",26)),t&2&&(a(7),C(r(8,1,"plugins.stats_note")))}var dn=(()=>{class t{destroyRef=y(re);$api=y(X);$auth=y(Z);$modal=y(ie);$plugin=y(ne);$router=y(Ce);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);searchInput=ge("searchInput",{});mainError=k(!1,{});loading=k(!0,{});tab=k("main",{});installedPlugins=k([],{});childBridges=k([],{});showSearchBar=k(!1,{});showExitButton=k(!1,{});isSearchMode=k(!1,{});io;isAdmin=this.$auth.user.admin;form=new xe({query:new Pe("")});ngOnInit(){let e=this.$translate.instant("menu.label_plugins");this.$settings.setPageTitle(e),this.$plugin.onPluginListRefresh.pipe(le(this.destroyRef)).subscribe(()=>{this.loadInstalledPlugins(),this.getChildBridgeMetadata()}),this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>{this.initialize()}),this.io.socket.connected&&this.initialize(),this.io.socket.on("child-bridge-status-update",n=>{let i=this.childBridges().find(_=>_.username===n.username);i?(Object.assign(i,n),this.childBridges.set([...this.childBridges()])):this.childBridges.update(_=>[..._,n])}),this.$router.events.pipe(le(this.destroyRef)).subscribe(n=>{n instanceof fe&&this.loadInstalledPlugins()})}search(){return V(this,null,function*(){this.installedPlugins.set([]),this.loading.set(!0),this.showExitButton.set(!0);try{let e=yield this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`),n=new Set,i=new Map(e.map(_=>[_.name,_]));this.installedPlugins.set(e.reduce((_,T)=>{if(T.name==="homebridge-config-ui-x"||n.has(T.name))return _;if(T.newHbScope){let j=T.newHbScope.to,Le=i.has(j);(T.installedVersion||!Le)&&(n.add(j),_.push(T))}else _.push(T);return _},[])),yield this.appendMetaInfo()}catch(e){this.isSearchMode.set(!1),console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_search_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}finally{this.loading.set(!1)}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode.set(!0),this.search()):this.isSearchMode()&&(this.isSearchMode.set(!1),this.loadInstalledPlugins())}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.isSearchMode()&&(this.isSearchMode.set(!1),this.form.setValue({query:""}),this.loadInstalledPlugins());else{window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main"),this.showSearchBar.set(!0);let e=this.searchInput();e&&setTimeout(()=>e.nativeElement.focus(),0)}}showStats(){this.tab()==="stats"?(window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main")):(window.document.querySelector("body")?.classList.add("bg-black"),this.tab.set("stats"),this.showSearchBar.set(!1))}openSupport(){this.$modal.open(Ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body")?.classList.remove("bg-black"),this.io.end()}getPluginChildBridges(e){return this.childBridges().filter(n=>n.plugin===e.name)}initialize(){return V(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins(),this.installedPlugins().length||this.showSearch();let{action:e,plugin:n}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins().find(_=>_.name===n);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(U,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})}loadInstalledPlugins(){return V(this,null,function*(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.installedPlugins.set([]),this.loading.set(!0),this.mainError.set(!1);try{let e=yield this.$api.get("/plugins");this.installedPlugins.set(e.filter(i=>i.name!=="homebridge-config-ui-x")),yield this.appendMetaInfo();let n=this.installedPlugins().sort((i,_)=>{let T=(i.updateAvailable?1e3:0)+(i.newHbScope?100:0)+(i.disabled?-10:0)+(i.isConfigured?-20:0)+(i.hasChildBridgesUnpaired?5:0)+(i.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0),j=(_.updateAvailable?1e3:0)+(_.newHbScope?100:0)+(_.disabled?-10:0)+(_.isConfigured?-20:0)+(_.hasChildBridgesUnpaired?5:0)+(_.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0);return T!==j?j-T:i.name.localeCompare(_.name)});return this.installedPlugins.set(n),n}catch(e){console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_load_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.mainError.set(!0)}finally{this.loading.set(!1)}})}appendMetaInfo(){return V(this,null,function*(){this.isAdmin&&(yield Promise.all(this.installedPlugins().filter(e=>e.installedVersion).map(e=>V(this,null,function*(){try{let n=yield this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`);e.isConfigured=n.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(n[0],"platform"),e.recommendChildBridge=e.isConfigured&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&n.some(_=>_._bridge&&_._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(_=>{let T=_.paired===!1&&!this.isBridgeAlertHidden(_.username,"hap"),j=_.matterConfig&&_.matterCommissioned===!1&&!this.isBridgeAlertHidden(_.username,"matter");return T||j}),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch(n){console.error(`Failed to load config for ${e.name}:`,n),e.isConfigured=!0,e.hasChildBridges=!0}}))))})}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges.set(e)})}isBridgeAlertHidden(e,n){let i=this.$settings.env.bridges?.find(_=>_.username.toUpperCase()===e.toUpperCase());return i?n==="hap"?!!i.hideHapAlert:!!i.hideMatterAlert:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],viewQuery:function(n,i){n&1&&pe(i.searchInput,Gi,5),n&2&&ce()},decls:13,vars:9,consts:[["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip","hidden"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click","openDelay","ngbTooltip"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["href","javascript:void(0)",1,"search-bar-clear"],["href","javascript:void(0)",1,"search-bar-clear",3,"click"],[1,"fas","fa-square-xmark"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","primary-text","my-3",2,"font-size","75px"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],[1,"mb-2"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-external-link"],[1,"small","grey-text"],["src",de`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(n,i){n&1&&(u(0,Wi,1,0,"app-spinner"),l(1,"div",1)(2,"div",2)(3,"h3",3),p(4),o(5,"translate"),s()(),l(6,"div",4),u(7,Ji,8,21),l(8,"button",5),o(9,"translate"),f("click",function(){return i.openSupport()}),c(10,"i",6),s()()(),u(11,it,2,2)(12,tt,10,3)),n&2&&(g(i.loading()?0:-1),a(4),C(r(5,5,"menu.label_plugins")),a(3),g(i.isAdmin?7:-1),a(),B("aria-label",r(9,7,"support.title")),a(3),g(i.tab()==="main"?11:i.tab()==="stats"?12:-1))},dependencies:[Ne,Be,ye,he,be,ve,ke,Se,we,Fe,te,D],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width:991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}.hb-stats-header[_ngcontent-%COMP%]{background:#242424;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.hb-stats-header[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{border:1px solid grey;border-radius:5px;padding:5px;font-size:.8rem;color:#d3d3d3}.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 121px);width:100%;overflow:hidden;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}@media(max-width:767px){.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 60px)}}"]})}return t})();export{dn as PluginsComponent};
@@ -0,0 +1 @@
1
+ import{b as pe}from"./chunk-KTLG6VZT.js";import{J as le}from"./chunk-MW6H5Z5G.js";import{X as fe,aa as ue,c as he,d as X}from"./chunk-ZPXACREZ.js";import{f as We}from"./chunk-B4AJQJMI.js";var d=Object.create(null);d.open="0";d.close="1";d.ping="2";d.pong="3";d.message="4";d.upgrade="5";d.noop="6";var S=Object.create(null);Object.keys(d).forEach(r=>{S[d[r]]=r});var O={type:"error",data:"parser error"};var ye=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",ge=typeof ArrayBuffer=="function",_e=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer,B=({type:r,data:e},t,s)=>ye&&e instanceof Blob?t?s(e):de(e,s):ge&&(e instanceof ArrayBuffer||_e(e))?t?s(e):de(new Blob([e]),s):s(d[r]+(e||"")),de=(r,e)=>{let t=new FileReader;return t.onload=function(){let s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(r)};function me(r){return r instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}var $;function be(r,e){if(ye&&r.data instanceof Blob)return r.data.arrayBuffer().then(me).then(e);if(ge&&(r.data instanceof ArrayBuffer||_e(r.data)))return e(me(r.data));B(r,!1,t=>{$||($=new TextEncoder),e($.encode(t))})}var we="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",N=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let r=0;r<we.length;r++)N[we.charCodeAt(r)]=r;var ke=r=>{let e=r.length*.75,t=r.length,s,i=0,n,o,c,a;r[r.length-1]==="="&&(e--,r[r.length-2]==="="&&e--);let m=new ArrayBuffer(e),p=new Uint8Array(m);for(s=0;s<t;s+=4)n=N[r.charCodeAt(s)],o=N[r.charCodeAt(s+1)],c=N[r.charCodeAt(s+2)],a=N[r.charCodeAt(s+3)],p[i++]=n<<2|o>>4,p[i++]=(o&15)<<4|c>>2,p[i++]=(c&3)<<6|a&63;return m};var Ke=typeof ArrayBuffer=="function",L=(r,e)=>{if(typeof r!="string")return{type:"message",data:Ee(r,e)};let t=r.charAt(0);return t==="b"?{type:"message",data:Ye(r.substring(1),e)}:S[t]?r.length>1?{type:S[t],data:r.substring(1)}:{type:S[t]}:O},Ye=(r,e)=>{if(Ke){let t=ke(r);return Ee(t,e)}else return{base64:!0,data:r}},Ee=(r,e)=>{switch(e){case"blob":return r instanceof Blob?r:new Blob([r]);case"arraybuffer":default:return r instanceof ArrayBuffer?r:r.buffer}};var ve="",xe=(r,e)=>{let t=r.length,s=new Array(t),i=0;r.forEach((n,o)=>{B(n,!1,c=>{s[o]=c,++i===t&&e(s.join(ve))})})},Te=(r,e)=>{let t=r.split(ve),s=[];for(let i=0;i<t.length;i++){let n=L(t[i],e);if(s.push(n),n.type==="error")break}return s};function Ae(){return new TransformStream({transform(r,e){be(r,t=>{let s=t.length,i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);let n=new DataView(i.buffer);n.setUint8(0,126),n.setUint16(1,s)}else{i=new Uint8Array(9);let n=new DataView(i.buffer);n.setUint8(0,127),n.setBigUint64(1,BigInt(s))}r.data&&typeof r.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}var Q;function U(r){return r.reduce((e,t)=>e+t.length,0)}function V(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),s=0;for(let i=0;i<e;i++)t[i]=r[0][s++],s===r[0].length&&(r.shift(),s=0);return r.length&&s<r[0].length&&(r[0]=r[0].slice(s)),t}function Re(r,e){Q||(Q=new TextDecoder);let t=[],s=0,i=-1,n=!1;return new TransformStream({transform(o,c){for(t.push(o);;){if(s===0){if(U(t)<1)break;let a=V(t,1);n=(a[0]&128)===128,i=a[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(U(t)<2)break;let a=V(t,2);i=new DataView(a.buffer,a.byteOffset,a.length).getUint16(0),s=3}else if(s===2){if(U(t)<8)break;let a=V(t,8),m=new DataView(a.buffer,a.byteOffset,a.length),p=m.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(O);break}i=p*Math.pow(2,32)+m.getUint32(4),s=3}else{if(U(t)<i)break;let a=V(t,i);c.enqueue(L(n?a:Q.decode(a),e)),s=0}if(i===0||i>r){c.enqueue(O);break}}}})}var j=4;function f(r){if(r)return Je(r)}function Je(r){for(var e in f.prototype)r[e]=f.prototype[e];return r}f.prototype.on=f.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};f.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};f.prototype.off=f.prototype.removeListener=f.prototype.removeAllListeners=f.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+r],this};f.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};f.prototype.emitReserved=f.prototype.emit;f.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};f.prototype.hasListeners=function(r){return!!this.listeners(r).length};var y=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),u=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Ce="arraybuffer";function M(r,...e){return e.reduce((t,s)=>(r.hasOwnProperty(s)&&(t[s]=r[s]),t),{})}var ze=u.setTimeout,Xe=u.clearTimeout;function g(r,e){e.useNativeTimers?(r.setTimeoutFn=ze.bind(u),r.clearTimeoutFn=Xe.bind(u)):(r.setTimeoutFn=u.setTimeout.bind(u),r.clearTimeoutFn=u.clearTimeout.bind(u))}var $e=1.33;function Se(r){return typeof r=="string"?Qe(r):Math.ceil((r.byteLength||r.size)*$e)}function Qe(r){let e=0,t=0;for(let s=0,i=r.length;s<i;s++)e=r.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function H(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Oe(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function Be(r){let e={},t=r.split("&");for(let s=0,i=t.length;s<i;s++){let n=t[s].split("=");e[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return e}var W=class extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}},_=class extends f{constructor(e){super(),this.writable=!1,g(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved("error",new W(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=L(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=Oe(e);return t.length?"?"+t:""}};var P=class extends _{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){let t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};Te(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){let e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,xe(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=H()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};var Ne=!1;try{Ne=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}var Le=Ne;function je(){}var G=class extends P{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){let s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,n)=>{this.onError("xhr post error",i,n)})}doPoll(){let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}},K=(()=>{class r extends f{constructor(t,s,i){super(),this.createRequest=t,g(this,i),this._opts=i,this._method=i.method||"GET",this._uri=s,this._data=i.data!==void 0?i.data:null,this._create()}_create(){var t;let s=M(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");s.xdomain=!!this._opts.xd;let i=this._xhr=this.createRequest(s);try{i.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&i.setRequestHeader(n,this._opts.extraHeaders[n])}}catch{}if(this._method==="POST")try{i.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{i.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(i),"withCredentials"in i&&(i.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(i.timeout=this._opts.requestTimeout),i.onreadystatechange=()=>{var n;i.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(i.getResponseHeader("set-cookie"))),i.readyState===4&&(i.status===200||i.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof i.status=="number"?i.status:0)},0))},i.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=je,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}return r.requestsCount=0,r.requests={},r})();if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Pe);else if(typeof addEventListener=="function"){let r="onpagehide"in u?"pagehide":"unload";addEventListener(r,Pe,!1)}}function Pe(){for(let r in K.requests)K.requests.hasOwnProperty(r)&&K.requests[r].abort()}var Ge=(function(){let r=qe({xdomain:!1});return r&&r.responseType!==null})(),w=class extends G{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Ge&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new K(qe,this.uri(),e)}};function qe(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Le))return new XMLHttpRequest}catch{}if(!e)try{return new u[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}var De=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",ee=class extends _{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,s=De?{}:M(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;B(s,this.supportsBinary,n=>{try{this.doWrite(s,n)}catch{}i&&y(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=H()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},Z=u.WebSocket||u.MozWebSocket,k=class extends ee{createSocket(e,t,s){return De?new Z(e,t,s):t?new Z(e,t):new Z(e)}doWrite(e,t){this.ws.send(t)}};var v=class extends _{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=Re(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=Ae();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();let n=()=>{s.read().then(({done:c,value:a})=>{c||(this.onPacket(a),n())}).catch(c=>{})};n();let o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&y(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};var te={websocket:k,webtransport:v,polling:w};var Ze=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,et=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function x(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),s=r.indexOf("]");t!=-1&&s!=-1&&(r=r.substring(0,t)+r.substring(t,s).replace(/:/g,";")+r.substring(s,r.length));let i=Ze.exec(r||""),n={},o=14;for(;o--;)n[et[o]]=i[o]||"";return t!=-1&&s!=-1&&(n.source=e,n.host=n.host.substring(1,n.host.length-1).replace(/;/g,":"),n.authority=n.authority.replace("[","").replace("]","").replace(/;/g,":"),n.ipv6uri=!0),n.pathNames=tt(n,n.path),n.queryKey=st(n,n.query),n}function tt(r,e){let t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function st(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,n){i&&(t[i]=n)}),t}var se=typeof addEventListener=="function"&&typeof removeEventListener=="function",Y=[];se&&addEventListener("offline",()=>{Y.forEach(r=>r())},!1);var J=(()=>{class r extends f{constructor(t,s){if(super(),this.binaryType=Ce,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(s=t,t=null),t){let i=x(t);s.hostname=i.host,s.secure=i.protocol==="https"||i.protocol==="wss",s.port=i.port,i.query&&(s.query=i.query)}else s.host&&(s.hostname=x(s.host).host);g(this,s),this.secure=s.secure!=null?s.secure:typeof location<"u"&&location.protocol==="https:",s.hostname&&!s.port&&(s.port=this.secure?"443":"80"),this.hostname=s.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=s.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},s.transports.forEach(i=>{let n=i.prototype.name;this.transports.push(n),this._transportsByName[n]=i}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},s),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Be(this.opts.query)),se&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Y.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){let s=Object.assign({},this.opts.query);s.EIO=j,s.transport=t,this.id&&(s.sid=this.id);let i=Object.assign({},this.opts,{query:s,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](i)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let t=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let s=this.createTransport(t);s.open(),this.setTransport(s)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",s=>this._onClose("transport close",s))}onOpen(){this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let s=new Error("server error");s.code=t.data,this._onError(s);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let s=1;for(let i=0;i<this.writeBuffer.length;i++){let n=this.writeBuffer[i].data;if(n&&(s+=Se(n)),i>0&&s>this._maxPayload)return this.writeBuffer.slice(0,i);s+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,y(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,s,i){return this._sendPacket("message",t,s,i),this}send(t,s,i){return this._sendPacket("message",t,s,i),this}_sendPacket(t,s,i,n){if(typeof s=="function"&&(n=s,s=void 0),typeof i=="function"&&(n=i,i=null),this.readyState==="closing"||this.readyState==="closed")return;i=i||{},i.compress=i.compress!==!1;let o={type:t,data:s,options:i};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}close(){let t=()=>{this._onClose("forced close"),this.transport.close()},s=()=>{this.off("upgrade",s),this.off("upgradeError",s),t()},i=()=>{this.once("upgrade",s),this.once("upgradeError",s)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?i():t()}):this.upgrading?i():t()),this}_onError(t){if(r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,s){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),se&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let i=Y.indexOf(this._offlineEventListener);i!==-1&&Y.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,s),this.writeBuffer=[],this._prevBufferLen=0}}}return r.protocol=j,r})(),z=class extends J{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;J.priorWebsocketSuccess=!1;let i=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",b=>{if(!s)if(b.type==="pong"&&b.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;J.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{let C=new Error("probe error");C.transport=t.name,this.emitReserved("upgradeError",C)}}))};function n(){s||(s=!0,p(),t.close(),t=null)}let o=b=>{let C=new Error("probe error: "+b);C.transport=t.name,n(),this.emitReserved("upgradeError",C)};function c(){o("transport closed")}function a(){o("socket closed")}function m(b){t&&b.name!==t.name&&n()}let p=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",c),this.off("close",a),this.off("upgrading",m)};t.once("open",i),t.once("error",o),t.once("close",c),this.once("close",a),this.once("upgrading",m),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}},T=class extends z{constructor(e,t={}){let s=typeof e=="object"?e:t;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(i=>te[i]).filter(i=>!!i)),super(e,s)}};var ds=T.protocol;function Fe(r,e="",t){let s=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),s=x(r)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";let n=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+n+":"+s.port+e,s.href=s.protocol+"://"+n+(t&&t.port===s.port?"":":"+s.port),s}var ae={};We(ae,{Decoder:()=>oe,Encoder:()=>ne,PacketType:()=>h,protocol:()=>He});var it=typeof ArrayBuffer=="function",nt=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,Ie=Object.prototype.toString,ot=typeof Blob=="function"||typeof Blob<"u"&&Ie.call(Blob)==="[object BlobConstructor]",ct=typeof File=="function"||typeof File<"u"&&Ie.call(File)==="[object FileConstructor]";function D(r){return it&&(r instanceof ArrayBuffer||nt(r))||ot&&r instanceof Blob||ct&&r instanceof File}function q(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,s=r.length;t<s;t++)if(q(r[t]))return!0;return!1}if(D(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return q(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&q(r[t]))return!0;return!1}function Ue(r){let e=[],t=r.data,s=r;return s.data=re(t,e),s.attachments=e.length,{packet:s,buffers:e}}function re(r,e){if(!r)return r;if(D(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let s=0;s<r.length;s++)t[s]=re(r[s],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=re(r[s],e));return t}return r}function Ve(r,e){return r.data=ie(r.data,e),delete r.attachments,r}function ie(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=ie(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=ie(r[t],e));return r}var at=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],He=5,h=(function(r){return r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK",r})(h||{}),ne=class{constructor(e){this.replacer=e}encode(e){return(e.type===h.EVENT||e.type===h.ACK)&&q(e)?this.encodeAsBinary({type:e.type===h.EVENT?h.BINARY_EVENT:h.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===h.BINARY_EVENT||e.type===h.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=Ue(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}};function Me(r){return Object.prototype.toString.call(r)==="[object Object]"}var oe=class r extends f{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let s=t.type===h.BINARY_EVENT;s||t.type===h.BINARY_ACK?(t.type=s?h.EVENT:h.ACK,this.reconstructor=new ce(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if(D(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,s={type:Number(e.charAt(0))};if(h[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===h.BINARY_EVENT||s.type===h.BINARY_ACK){let n=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let o=e.substring(n,t);if(o!=Number(o)||e.charAt(t)!=="-")throw new Error("Illegal attachments");s.attachments=Number(o)}if(e.charAt(t+1)==="/"){let n=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(n,t)}else s.nsp="/";let i=e.charAt(t+1);if(i!==""&&Number(i)==i){let n=t+1;for(;++t;){let o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){let n=this.tryParse(e.substr(t));if(r.isPayloadValid(s.type,n))s.data=n;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case h.CONNECT:return Me(t);case h.DISCONNECT:return t===void 0;case h.CONNECT_ERROR:return typeof t=="string"||Me(t);case h.EVENT:case h.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&at.indexOf(t[0])===-1);case h.ACK:case h.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}},ce=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=Ve(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function l(r,e,t){return r.on(e,t),function(){r.off(e,t)}}var ht=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),A=class extends f{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[l(e,"open",this.onopen.bind(this)),l(e,"packet",this.onpacket.bind(this)),l(e,"error",this.onerror.bind(this)),l(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,n;if(ht.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let o={type:h.EVENT,data:t};if(o.options={},o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let p=this.ids++,b=t.pop();this._registerAckCallback(p,b),o.id=p}let c=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,a=this.connected&&!(!((n=this.io.engine)===null||n===void 0)&&n._hasPingExpired());return this.flags.volatile&&!c||(a?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var s;let i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}let n=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&this.sendBuffer.splice(c,1);t.call(this,new Error("operation has timed out"))},i),o=(...c)=>{this.io.clearTimeoutFn(n),t.apply(this,c)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{let n=(o,c)=>o?i(o):s(c);n.withError=!0,t.push(n),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...n)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:h.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){let s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case h.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case h.EVENT:case h.BINARY_EVENT:this.onevent(e);break;case h.ACK:case h.BINARY_ACK:this.onack(e);break;case h.DISCONNECT:this.ondisconnect();break;case h.CONNECT_ERROR:this.destroy();let s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,s=!1;return function(...i){s||(s=!0,t.packet({type:h.ACK,id:e,data:i}))}}onack(e){let t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:h.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let s of t)s.apply(this,e.data)}}};function E(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}E.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};E.prototype.reset=function(){this.attempts=0};E.prototype.setMin=function(r){this.ms=r};E.prototype.setMax=function(r){this.max=r};E.prototype.setJitter=function(r){this.jitter=r};var R=class extends f{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,g(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new E({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let i=t.parser||ae;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new T(this.uri,this.opts);let t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;let i=l(t,"open",function(){s.onopen(),e&&e()}),n=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},o=l(t,"error",n);if(this._timeout!==!1){let c=this._timeout,a=this.setTimeoutFn(()=>{i(),n(new Error("timeout")),t.close()},c);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push(l(e,"ping",this.onping.bind(this)),l(e,"data",this.ondata.bind(this)),l(e,"error",this.onerror.bind(this)),l(e,"close",this.onclose.bind(this)),l(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){y(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new A(this,e,t),this.nsps[e]=s),s}_destroy(e){let t=Object.keys(this.nsps);for(let s of t)if(this.nsps[s].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};var F={};function I(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=Fe(r,e.path||"/socket.io"),s=t.source,i=t.id,n=t.path,o=F[i]&&n in F[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||o,a;return c?a=new R(s,e):(F[i]||(F[i]=new R(s,e)),a=F[i]),t.query&&!e.query&&(e.query=t.queryKey),a.socket(t.path,e)}Object.assign(I,{Manager:R,Socket:A,io:I,connect:I});var cr=(()=>{class r{$auth=ue(pe);namespaceConnectionCache={};connectToNamespace(t){if(this.namespaceConnectionCache[t]){let s=this.namespaceConnectionCache[t];return s.connected=new X,s.socket.connected&&s.connected.next(void 0),s.socket.on("connect",()=>{s.connected.next(void 0)}),s.end=()=>{s.socket.emit("end"),s.socket.removeAllListeners(),s.connected.complete()},this.namespaceConnectionCache[t]}else{let s=this.establishConnectionToNamespace(t);return s.connected=new X,s.socket.on("connect",()=>{s.connected.next(void 0)}),s.end=()=>{s.socket.emit("end"),s.socket.removeAllListeners(),s.connected.complete()},this.namespaceConnectionCache[t]=s,s}}getExistingNamespace(t){return this.namespaceConnectionCache[t]}establishConnectionToNamespace(t){let s=I(`${le.api.socket}/${t}`,{query:{token:this.$auth.token}});return{socket:s,request:(n,o)=>new he(c=>{s.emit(n,o,a=>{typeof a=="object"&&a.error?c.error(a):c.next(a),c.complete()})})}}static \u0275fac=function(s){return new(s||r)};static \u0275prov=fe({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{cr as a};
@@ -0,0 +1 @@
1
+ import{b as me,c as _e}from"./chunk-AM2AGROH.js";import"./chunk-6G6325AZ.js";import{a as le}from"./chunk-FARCNAHH.js";import{a as ue}from"./chunk-QRWK7JO5.js";import{a as ge}from"./chunk-OWEBBEZA.js";import"./chunk-74KAKFTX.js";import{a as ce,b as de,c as pe}from"./chunk-3SLVSNU6.js";import{m as D,n as re,t as se}from"./chunk-GAI5J4YQ.js";import"./chunk-ZAKTSIL5.js";import{a as J}from"./chunk-JLNKCN3A.js";import{b as Y}from"./chunk-KTLG6VZT.js";import{C as ae,c as Z,e as ee,f as te,i as ie,l as ne,m as oe}from"./chunk-O6MJC7P2.js";import{b as X}from"./chunk-CAB2VD3D.js";import{E as K,F as S,K as Q}from"./chunk-MW6H5Z5G.js";import{Ab as y,Cb as W,Db as I,Eb as $,Ec as s,Fb as f,Fc as l,Gb as a,Gc as U,Hb as r,Ib as p,Jb as V,Kb as O,Lb as R,Rb as k,Ua as H,Xb as g,Za as n,Zb as d,aa as b,ga as C,ha as x,ic as F,jc as j,kc as c,lc as m,mc as w,nb as M,rc as A,sa as B,sc as T,tc as E,xc as z,yb as v,yc as q,zb as h,zc as G}from"./chunk-ZPXACREZ.js";import{h as L}from"./chunk-B4AJQJMI.js";var be=(()=>{class t{$activeModal=b(D);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:42,vars:30,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(i,o){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),g("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"h5",7),c(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),c(16),s(17,"translate"),r(),a(18,"li"),c(19),s(20,"translate"),r()(),a(21,"h5",9),c(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),c(26),s(27,"translate"),r(),a(28,"li"),c(29),s(30,"translate"),r(),a(31,"li"),c(32),s(33,"translate"),r()(),p(34,"app-support-banner"),r(),a(35,"div",10),p(36,"div",11),a(37,"div",12)(38,"button",13),g("click",function(){return o.dismissModal()}),c(39),s(40,"translate"),r()(),p(41,"div",14),r()()()),i&2&&(n(4),m(l(5,10,"support.title")),n(2),v("aria-label",l(7,12,"form.button_close")),n(6),m(l(13,14,"menu.label_accessories")),n(4),m(l(17,16,"accessories.support.acc_1")),n(3),m(l(20,18,"accessories.support.acc_2")),n(3),m(l(23,20,"accessories.title_rooms")),n(4),m(l(27,22,"accessories.support.rooms_1")),n(3),m(l(30,24,"accessories.support.rooms_2")),n(3),m(l(33,26,"accessories.support.rooms_3")),n(7),w(" ",l(40,28,"form.button_close")," "))},dependencies:[ge,S],encapsulation:2})}return t})();var Ce=()=>({standalone:!0}),fe=(()=>{class t{$activeModal=b(D);roomName="";dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(i,o){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),g("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),E("ngModelChange",function(P){return T(o.roomName,P)||(o.roomName=P),P}),g("keyup.enter",function(){return o.closeModal(o.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),g("click",function(){return o.dismissModal()}),c(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),g("click",function(){return o.closeModal(o.roomName)}),c(26),s(27,"translate"),r()()()()()),i&2&&(n(4),m(l(5,8,"accessories.button_add_room")),n(2),v("aria-label",l(7,10,"form.button_close")),n(8),m(l(15,12,"accessories.room_name")),n(3),A("ngModel",o.roomName),f("ngModelOptions",z(18,Ce)),n(4),w(" ",l(22,14,"form.button_close")," "),n(4),f("disabled",!o.roomName),n(),w(" ",l(27,16,"form.button_save")," "))},dependencies:[ae,oe,Z,ee,te,ne,ie,S],encapsulation:2})}return t})();var ve=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,o){i&1&&(V(0,"div",0),R(1,"i",1),V(2,"div",2),c(3),s(4,"translate"),O()()),i&2&&(n(3),m(l(4,1,"accessories.control.drag_here")))},dependencies:[S],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var xe=(t,u)=>({"fa-eye":t,"fa-eye-slash":u}),he=t=>({link:t}),ye=(t,u)=>u.name;function Me(t,u){if(t&1){let e=k();a(0,"button",8),s(1,"translate"),s(2,"translate"),g("click",function(){C(e);let o=d(2);return x(o.addRoom())}),p(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),g("click",function(){C(e);let o=d(2);return x(o.hideHidden.set(!o.hideHidden()()))}),p(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),g("click",function(){C(e);let o=d(2);return x(o.toggleLayoutLock())}),p(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),g("click",function(){C(e);let o=d(2);return x(o.toggleLayoutLock())}),p(18,"i",14),r()()}if(t&2){let e=d(2);f("hidden",e.isMobile())("openDelay",150)("ngbTooltip",l(1,18,"accessories.button_add_room")),v("aria-label",l(2,20,"accessories.button_add_room")),n(4),f("hidden",e.isMobile())("openDelay",150)("ngbTooltip",e.hideHidden()?l(5,22,"accessories.button_hidden_show"):l(6,24,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden()?l(7,26,"accessories.button_hidden_show"):l(8,28,"accessories.button_hidden_hide")),n(5),j(G(38,xe,!e.hideHidden(),e.hideHidden)),n(2),f("disabled",!e.isMobile())("openDelay",150)("ngbTooltip",l(12,30,"form.button_unlock")),v("aria-label",l(13,32,"form.button_unlock")),n(4),f("disabled",e.isMobile())("openDelay",150)("ngbTooltip",l(16,34,"form.button_lock")),v("aria-label",l(17,36,"form.button_lock"))}}function Se(t,u){t&1&&p(0,"app-spinner")}function we(t,u){if(t&1&&(a(0,"div",0)(1,"div",21)(2,"h5",22),c(3),s(4,"translate"),r()()()),t&2){let e=d().$implicit,i=d(4);n(2),F("cursor-move",!i.isMobile()),n(),w(" ",e.name==="Default Room"?l(4,3,"accessories.control.default_room"):e.name," ")}}function ke(t,u){if(t&1&&(a(0,"div",25),p(1,"app-accessory-tile",26),r()),t&2){let e=d().$implicit;n(),f("service",e)}}function Ae(t,u){if(t&1&&h(0,ke,2,1,"div",25),t&2){let e=u.$implicit,i=d(6);y(!i.hideHidden()||!e.hidden?0:-1)}}function Te(t,u){if(t&1){let e=k();a(0,"div",23),E("dragulaModelChange",function(o){C(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),I(1,Ae,1,1,null,null,W),p(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24),r()}if(t&2){let e=d().$implicit,i=d(4);F("justify-content-between",i.isMobile()),f("dragula","services-bag"),A("dragulaModel",e.services),n(),$(e.services)}}function Ee(t,u){if(t&1){let e=k();a(0,"div",27),E("dragulaModelChange",function(o){C(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),p(1,"app-drag-here-placeholder",28),r()}if(t&2){let e=d().$implicit;f("dragula","services-bag"),A("dragulaModel",e.services)}}function Be(t,u){if(t&1&&(a(0,"div"),h(1,we,5,5,"div",0),a(2,"div",18),h(3,Te,13,4,"div",19),h(4,Ee,2,2,"div",20),r()()),t&2){let e=u.$implicit,i=d(4);n(),y(!i.isMobile()||e.services.length?1:-1),n(2),y(e.services.length?3:-1),n(),y(!e.services.length&&!i.isMobile?4:-1)}}function De(t,u){if(t&1){let e=k();a(0,"div",17),E("dragulaModelChange",function(o){C(e);let _=d(3);return T(_.rooms,o)||(_.rooms=o),x(o)}),I(1,Be,5,3,"div",null,ye),r()}if(t&2){let e=d(3);f("dragula","rooms-bag"),A("dragulaModel",e.rooms),n(),$(e.rooms)}}function Pe(t,u){t&1&&(a(0,"div",16)(1,"div",29)(2,"div",30),p(3,"i",31),r(),a(4,"h5",32),c(5),s(6,"translate"),r(),a(7,"p",33),c(8),s(9,"translate"),r(),a(10,"p",34),c(11),s(12,"translate"),r()()()),t&2&&(n(5),m(l(6,3,"accessories.no_plugins.title")),n(3),m(l(9,5,"accessories.no_plugins.message_1")),n(3),m(l(12,7,"accessories.no_plugins.message_2")))}function Ie(t,u){if(t&1&&h(0,De,3,2,"div",15)(1,Pe,13,9,"div",16),t&2){let e=d(2);y(e.hasPlugins()?0:1)}}function $e(t,u){if(t&1){let e=k();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),g("click",function(){C(e);let o=d();return x(o.openSupport())}),p(8,"i",6),r()(),a(9,"div",7),h(10,Me,19,41),a(11,"button",5),s(12,"translate"),g("click",function(){C(e);let o=d();return x(o.openSupport())}),p(13,"i",6),r()()(),h(14,Se,1,0,"app-spinner")(15,Ie,2,1)}if(t&2){let e=d();n(3),m(l(4,5,"menu.label_accessories")),n(3),v("aria-label",l(7,7,"support.title")),n(4),y(e.hasPlugins()?10:-1),n(),v("aria-label",l(12,9,"support.title")),n(3),y(e.loading()?14:15)}}function Ve(t,u){t&1&&(a(0,"p",40),c(1),s(2,"translate"),r()),t&2&&(n(),m(l(2,1,"accessories.settings_link")))}function Fe(t,u){if(t&1&&(a(0,"div",0)(1,"div",35)(2,"h3",36),c(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",37)(7,"div",30),p(8,"i",38),r(),a(9,"h5",32),c(10),s(11,"translate"),r(),p(12,"p",39),s(13,"translate"),h(14,Ve,3,3,"p",40),r()()()),t&2){let e=d();n(3),m(l(4,4,"menu.label_accessories")),n(7),m(l(11,6,"accessories.control_disabled")),n(2),f("innerHTML",U(13,8,"accessories.message_must_use_insecure_mode",q(11,he,e.linkInsecure)),H),n(2),y(e.isAdmin?14:-1)}}var gt=(()=>{class t{$accessories=b(me);$api=b(Q);$auth=b(Y);dragulaService=b(ce);$modal=b(re);$settings=b(X);$md=b(ue);$translate=b(K);isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=B(!1,{});hideHidden=B(!0,{});linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=B(!1,{});loading=B(!0,{});get rooms(){return this.$accessories.rooms()}set rooms(e){this.$accessories.rooms.set(e)}constructor(){let e=this.dragulaService;this.isMobile.set(this.$md.detect.mobile()),e.createGroup("rooms-bag",{moves:(i,o,_)=>!this.isMobile()&&_.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile()&&!i.classList.contains("no-drag")}),e.drop().pipe(J()).subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile.set(!0)}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){this.$modal.open(fe,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms().find(i=>i.name===e)||(this.$accessories.rooms.update(i=>[...i,{name:e,services:[]}]),this.isMobile()&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile.set(!this.isMobile()),this.isMobile()?document.querySelectorAll(".services-bag").forEach(i=>{for(let o=0;o<10;o+=1){let _=document.createElement("div");_.className="accessory-box invisible py-0 my-0",_.style.height="0",i.appendChild(_)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(be,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return L(this,null,function*(){try{let e=yield this.$api.get("/plugins");this.hasPlugins.set(e.length>1)}catch(e){console.error(e),this.hasPlugins.set(!0)}finally{this.loading.set(!1)}})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"justify-content-between","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-5"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],["role","alert",1,"alert","alert-warning","p-4"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(i,o){i&1&&h(0,$e,16,11)(1,Fe,15,13,"div",0),i&2&&y(o.enableAccessories?0:1)},dependencies:[se,pe,de,_e,ve,le,S],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media(max-width:575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media(max-width:575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{gt as AccessoriesComponent};