homebridge-config-ui-x 5.0.0-beta.34 → 5.0.0-beta.36

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 (180) hide show
  1. package/CHANGELOG.md +46 -15
  2. package/CONTRIBUTING.md +5 -4
  3. package/config.schema.json +2 -2
  4. package/dist/bin/hb-service.js +1 -1
  5. package/dist/bin/hb-service.js.map +1 -1
  6. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  7. package/dist/core/config/config.service.js +1 -1
  8. package/dist/modules/accessories/accessories.controller.js +1 -1
  9. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  10. package/dist/modules/config-editor/config-editor.controller.js +1 -1
  11. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  12. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
  13. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  14. package/dist/modules/plugins/plugins.service.d.ts +2 -1
  15. package/dist/modules/plugins/plugins.service.js +46 -29
  16. package/dist/modules/plugins/plugins.service.js.map +1 -1
  17. package/dist/modules/server/server.controller.d.ts +3 -0
  18. package/dist/modules/server/server.controller.js +12 -0
  19. package/dist/modules/server/server.controller.js.map +1 -1
  20. package/dist/modules/server/server.service.d.ts +1 -0
  21. package/dist/modules/server/server.service.js +18 -6
  22. package/dist/modules/server/server.service.js.map +1 -1
  23. package/dist/modules/status/status.gateway.d.ts +1 -0
  24. package/dist/modules/status/status.service.d.ts +1 -0
  25. package/dist/modules/status/status.service.js +1 -0
  26. package/dist/modules/status/status.service.js.map +1 -1
  27. package/dist/modules/users/users.controller.js +6 -6
  28. package/dist/modules/users/users.controller.js.map +1 -1
  29. package/package.json +30 -34
  30. package/public/3rdpartylicenses.txt +78 -8
  31. package/public/{chunk-KQCQXUPA.js → chunk-2BNYOQCW.js} +1 -1
  32. package/public/chunk-2IB7U7CP.js +1 -0
  33. package/public/{chunk-XQNHUDX7.js → chunk-2UAJRTNP.js} +1 -1
  34. package/public/{chunk-6EYZFG24.js → chunk-37342H56.js} +8 -8
  35. package/public/{chunk-FD7DU2T6.js → chunk-5RNQ5G6T.js} +1 -1
  36. package/public/{chunk-7BCHGXO4.js → chunk-6LUEJV3C.js} +1 -1
  37. package/public/{chunk-ECPXULUG.js → chunk-6VQUZTBR.js} +16 -16
  38. package/public/chunk-76YMQE3M.js +1 -0
  39. package/public/chunk-7A25PAM7.js +1 -0
  40. package/public/chunk-7HPEGK3R.js +1 -0
  41. package/public/chunk-7P7JUG4X.js +5 -0
  42. package/public/chunk-A6ASL2RK.js +1 -0
  43. package/public/chunk-AGJQ475L.js +1 -0
  44. package/public/{chunk-KDRA3MEJ.js → chunk-AHGEAOPV.js} +1 -1
  45. package/public/chunk-AQX2C7OY.js +1 -0
  46. package/public/chunk-B32E2WRF.js +1 -0
  47. package/public/chunk-B44UNYWQ.js +1 -0
  48. package/public/{chunk-5KLZWFYX.js → chunk-BN42B6ZN.js} +1 -1
  49. package/public/{chunk-NSCP3SOQ.js → chunk-C2UJXFYZ.js} +1 -1
  50. package/public/{chunk-RXWL6NYS.js → chunk-CIIXSFUN.js} +2 -2
  51. package/public/chunk-D7EYNOYB.js +1 -0
  52. package/public/chunk-EJKY7TUH.js +1 -0
  53. package/public/chunk-ELVGIIRZ.js +7 -0
  54. package/public/chunk-F6WFMKYJ.js +1 -0
  55. package/public/{chunk-UI554AVG.js → chunk-FAPE5Q5F.js} +1 -1
  56. package/public/chunk-G67F4LRX.js +1 -0
  57. package/public/chunk-GLU4GX3I.js +1 -0
  58. package/public/{chunk-23M23WV2.js → chunk-HIDFXEU7.js} +1 -1
  59. package/public/chunk-HXJQ7BOK.js +1 -0
  60. package/public/chunk-HYA4DWUG.js +1 -0
  61. package/public/{chunk-PXSBVLJG.js → chunk-I2F2MP74.js} +1 -1
  62. package/public/chunk-INVOJS3B.js +1 -0
  63. package/public/chunk-JNL225HQ.js +1 -0
  64. package/public/chunk-JNO6VU35.js +6 -0
  65. package/public/{chunk-474BOAR2.js → chunk-KBQ7X43U.js} +1 -1
  66. package/public/{chunk-ALITXBFB.js → chunk-KGZIU3W2.js} +1 -1
  67. package/public/chunk-KJKMLPII.js +1 -0
  68. package/public/chunk-KYPCX2ID.js +1 -0
  69. package/public/chunk-LCZPCRGZ.js +1 -0
  70. package/public/chunk-LEPNWGOY.js +1 -0
  71. package/public/chunk-NCHGQZ5H.js +1 -0
  72. package/public/{chunk-XP7D2PRA.js → chunk-NDNNBXT7.js} +1 -1
  73. package/public/chunk-NTBDPWDW.js +20 -0
  74. package/public/chunk-OY5LBRVA.js +1 -0
  75. package/public/{chunk-IBAAUN7N.js → chunk-PGFH5ESW.js} +1 -1
  76. package/public/chunk-PKJVQL6N.js +1 -0
  77. package/public/chunk-POAKVVF2.js +1 -0
  78. package/public/chunk-POVXCDK5.js +1 -0
  79. package/public/chunk-PZ44YARR.js +1 -0
  80. package/public/{chunk-CSNBDW7X.js → chunk-QQK6ZXND.js} +1 -1
  81. package/public/{chunk-C2XBPNOQ.js → chunk-QZ7FBUFJ.js} +1 -1
  82. package/public/chunk-RP7A23KE.js +1 -0
  83. package/public/{chunk-MHSBTNY7.js → chunk-RRUCC4UM.js} +1 -1
  84. package/public/{chunk-OJXZ32YU.js → chunk-RYZ4IXCN.js} +1 -1
  85. package/public/{chunk-BW3RP5Z6.js → chunk-SBMAYKUX.js} +1 -1
  86. package/public/chunk-SLHI7QNB.js +1 -0
  87. package/public/chunk-T3PFHQEF.js +1 -0
  88. package/public/chunk-T3Y7RYJZ.js +2 -0
  89. package/public/chunk-T4PURZCK.js +14 -0
  90. package/public/{chunk-RP5TYXWG.js → chunk-TAQCEDBC.js} +1 -1
  91. package/public/{chunk-WI7AGEIT.js → chunk-TI5JTR4M.js} +1 -1
  92. package/public/{chunk-FBEA3VDX.js → chunk-TROWBWOI.js} +1 -1
  93. package/public/chunk-UVFODSI2.js +1 -0
  94. package/public/{chunk-7MMULU6Y.js → chunk-UVFTNUVW.js} +1 -1
  95. package/public/chunk-UWFYNH6W.js +1 -0
  96. package/public/{chunk-UUG6JREI.js → chunk-VCLNKK3Y.js} +1 -1
  97. package/public/chunk-VDFXVBQ3.js +1 -0
  98. package/public/{chunk-XFK2EZ3K.js → chunk-VGMRIFZA.js} +1 -1
  99. package/public/{chunk-JF5AT3NK.js → chunk-VOG67KUU.js} +1 -1
  100. package/public/chunk-W6PBFS4D.js +1 -0
  101. package/public/{chunk-44IMEBTB.js → chunk-WHBCTF2I.js} +1 -1
  102. package/public/chunk-WN6H7IUU.js +1 -0
  103. package/public/{chunk-5ZSNNIKJ.js → chunk-XAUZKAOZ.js} +1 -1
  104. package/public/chunk-XLPWMFXX.js +1 -0
  105. package/public/chunk-Y2Z3IZ4S.js +1 -0
  106. package/public/{chunk-JRYIDN5A.js → chunk-Y34W3CUD.js} +1 -1
  107. package/public/chunk-YKNAHNGY.js +1 -0
  108. package/public/chunk-Z3RTHBQZ.js +1 -0
  109. package/public/{chunk-NFG4Y4PX.js → chunk-Z4JLHDGQ.js} +1 -1
  110. package/public/chunk-ZQ4RT7G3.js +1 -0
  111. package/public/chunk-ZQGDYLQU.js +1 -0
  112. package/public/chunk-ZUT7DDEG.js +1 -0
  113. package/public/{chunk-SVHMQXON.js → chunk-ZW6RVKYH.js} +1 -1
  114. package/public/index.html +2 -2
  115. package/public/main-MI73XX7G.js +1 -0
  116. package/public/styles-IBQHST5Z.css +1 -0
  117. package/scripts/upgrade-install-plugin.sh +1 -1
  118. package/public/chunk-2JINSU5B.js +0 -14
  119. package/public/chunk-5X54Q3FD.js +0 -1
  120. package/public/chunk-5ZT54DSW.js +0 -1
  121. package/public/chunk-66FT35IX.js +0 -1
  122. package/public/chunk-675OFXLW.js +0 -1
  123. package/public/chunk-6CX56ZND.js +0 -1
  124. package/public/chunk-6QPHXOZC.js +0 -1
  125. package/public/chunk-AEEEQIJE.js +0 -20
  126. package/public/chunk-AUK4QOTZ.js +0 -1
  127. package/public/chunk-B76GBL4B.js +0 -1
  128. package/public/chunk-BMWLHPL2.js +0 -1
  129. package/public/chunk-CKNHTRCL.js +0 -7
  130. package/public/chunk-DVDQHLU5.js +0 -1
  131. package/public/chunk-DWSREAP4.js +0 -1
  132. package/public/chunk-EEDUUZ6J.js +0 -1
  133. package/public/chunk-GIH272CI.js +0 -1
  134. package/public/chunk-HA6CO5NZ.js +0 -2
  135. package/public/chunk-HMLHVDJF.js +0 -1
  136. package/public/chunk-HTFRR7WO.js +0 -1
  137. package/public/chunk-IL3XKKUJ.js +0 -1
  138. package/public/chunk-JK3RHKKI.js +0 -1
  139. package/public/chunk-JW4ADG4J.js +0 -1
  140. package/public/chunk-JXMP2COV.js +0 -1
  141. package/public/chunk-KR4MXYEC.js +0 -1
  142. package/public/chunk-LGXZ3NIY.js +0 -1
  143. package/public/chunk-MT6ZT5IE.js +0 -1
  144. package/public/chunk-N4F42HDL.js +0 -5
  145. package/public/chunk-NKUNOOPR.js +0 -1
  146. package/public/chunk-O7HZGHEN.js +0 -1
  147. package/public/chunk-PIB3VSUK.js +0 -1
  148. package/public/chunk-PSZOBMWW.js +0 -1
  149. package/public/chunk-QBZMR5ZA.js +0 -6
  150. package/public/chunk-QIB3UYWT.js +0 -1
  151. package/public/chunk-QJO6CX2S.js +0 -1
  152. package/public/chunk-R5FQWVOF.js +0 -1
  153. package/public/chunk-S7WIN5GE.js +0 -1
  154. package/public/chunk-T3GI7KUT.js +0 -1
  155. package/public/chunk-T5TIN7RG.js +0 -1
  156. package/public/chunk-TXTVDWSI.js +0 -1
  157. package/public/chunk-TZZUA6XE.js +0 -1
  158. package/public/chunk-V6C73VHB.js +0 -1
  159. package/public/chunk-WFQZ4LHW.js +0 -1
  160. package/public/chunk-WJ3IINUA.js +0 -1
  161. package/public/chunk-WONZP2FV.js +0 -1
  162. package/public/chunk-WVNSMAAF.js +0 -1
  163. package/public/chunk-X5YRTZFZ.js +0 -1
  164. package/public/chunk-YCN3VYIF.js +0 -1
  165. package/public/chunk-YLEC7AUG.js +0 -1
  166. package/public/chunk-ZHC72G3F.js +0 -1
  167. package/public/main-GSCN3GTX.js +0 -1
  168. package/public/media/01-RQ3S2L53.png +0 -0
  169. package/public/media/02-VNCG2I2A.png +0 -0
  170. package/public/media/03-HI42L4ZG.png +0 -0
  171. package/public/media/04-FJLL55LZ.png +0 -0
  172. package/public/media/05-V3EO6SPT.png +0 -0
  173. package/public/media/06-EOJZCQZN.png +0 -0
  174. package/public/media/07-KMKB5PBD.png +0 -0
  175. package/public/media/08-UQJRF6B2.png +0 -0
  176. package/public/media/09-2DJQFRHH.png +0 -0
  177. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  178. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  179. package/public/scripts-6GVLYD7F.js +0 -62
  180. package/public/styles-EZS52PWT.css +0 -1
@@ -1 +0,0 @@
1
- import"./chunk-MHSBTNY7.js";import"./chunk-PXSBVLJG.js";import"./chunk-C2XBPNOQ.js";import"./chunk-7BCHGXO4.js";import"./chunk-KDRA3MEJ.js";import{g as i}from"./chunk-T3GI7KUT.js";import"./chunk-5ZSNNIKJ.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import{c as m}from"./chunk-675OFXLW.js";import{ia as t,kd as n,vb as r}from"./chunk-CKNHTRCL.js";var u=[{path:"",loadComponent:()=>import("./chunk-DWSREAP4.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
@@ -1 +0,0 @@
1
- import{a as f,b as u}from"./chunk-TZZUA6XE.js";import{a as d}from"./chunk-OJXZ32YU.js";import{c as p}from"./chunk-B76GBL4B.js";import"./chunk-WFQZ4LHW.js";import"./chunk-5KLZWFYX.js";import"./chunk-JF5AT3NK.js";import{q as n}from"./chunk-N4F42HDL.js";import{y as s}from"./chunk-YLEC7AUG.js";import"./chunk-KDRA3MEJ.js";import{g as i}from"./chunk-T3GI7KUT.js";import"./chunk-5ZSNNIKJ.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import{c}from"./chunk-675OFXLW.js";import{ia as r,kd as m,vb as e}from"./chunk-CKNHTRCL.js";var C=[{path:"",loadComponent:()=>import("./chunk-KR4MXYEC.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
@@ -1 +0,0 @@
1
- import{d as a}from"./chunk-NKUNOOPR.js";import"./chunk-5ZT54DSW.js";import"./chunk-WFQZ4LHW.js";import"./chunk-ECPXULUG.js";import"./chunk-2JINSU5B.js";import"./chunk-NSCP3SOQ.js";import"./chunk-5KLZWFYX.js";import"./chunk-JF5AT3NK.js";import"./chunk-UI554AVG.js";import"./chunk-C2XBPNOQ.js";import"./chunk-474BOAR2.js";import"./chunk-RP5TYXWG.js";import"./chunk-7BCHGXO4.js";import"./chunk-XFK2EZ3K.js";import"./chunk-EEDUUZ6J.js";import"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import"./chunk-KDRA3MEJ.js";import"./chunk-T3GI7KUT.js";import"./chunk-5ZSNNIKJ.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import"./chunk-675OFXLW.js";import"./chunk-CKNHTRCL.js";export{a as SettingsComponent};
@@ -1 +0,0 @@
1
- import{a as Pi,b as Si}from"./chunk-X5YRTZFZ.js";import{a as vi}from"./chunk-23M23WV2.js";import{n as wi,v as U}from"./chunk-ECPXULUG.js";import{a as z}from"./chunk-2JINSU5B.js";import{a as xi}from"./chunk-JF5AT3NK.js";import{a as bi}from"./chunk-WONZP2FV.js";import{a as hi}from"./chunk-EEDUUZ6J.js";import{h as si,i as di,j as pi,k as ci,l as ui,m as gi,n as mi,o as fi}from"./chunk-N4F42HDL.js";import{c as X,d as Y,e as Z,f as ii,g as ei,j as ni,m as ti,p as ai,q as oi,y as li,z as ri}from"./chunk-YLEC7AUG.js";import{a as R}from"./chunk-KDRA3MEJ.js";import{a as _i,d as Ci}from"./chunk-T3GI7KUT.js";import{b as F}from"./chunk-FD7DU2T6.js";import{h as j,k as A}from"./chunk-LGXZ3NIY.js";import{a as N,b as $}from"./chunk-675OFXLW.js";import{Ac as J,Bb as x,Cc as p,Dc as u,Ec as H,Lb as B,Mb as v,Rb as s,Tb as L,Ub as G,Vb as W,Wb as o,Xb as l,Yb as d,ac as C,bd as D,db as O,dc as m,eb as T,ec as c,ed as K,h as y,ib as t,id as Q,na as w,oc as g,pc as P,qc as b,ub as V,w as k,xa as f,ya as _,yc as M,zc as I}from"./chunk-CKNHTRCL.js";var Ti=(n,r)=>({"orange-text":n,"grey-text":r}),q=n=>({opacity:n}),Vi=(n,r)=>({"green-text":n,"grey-text":r}),$i=(n,r)=>({"scoped-text":n,"grey-text":r}),Ei=(n,r)=>({scopedLink:n,verifiedLink:r});function Mi(n,r){n&1&&(o(0,"h6",19),g(1),p(2,"translate"),l(),o(3,"p",20),g(4),p(5,"translate"),l(),o(6,"p",20),g(7),p(8,"translate"),l()),n&2&&(t(),P(u(2,3,"plugins.manage.scoped_subtitle")),t(3),P(u(5,5,"plugins.manage.scoped_message")),t(3),P(u(8,7,"plugins.manage.verified_message")))}function Hi(n,r){n&1&&(o(0,"h6",19),g(1),p(2,"translate"),l(),o(3,"p",20),g(4),p(5,"translate"),l()),n&2&&(t(),P(u(2,2,"plugins.manage.verified_subtitle")),t(3),P(u(5,4,"plugins.manage.verified_message")))}function Di(n,r){n&1&&(o(0,"h6",19),g(1),p(2,"translate"),l(),o(3,"p",20),g(4),p(5,"translate"),l()),n&2&&(t(),P(u(2,2,"plugins.manage.unverified_subtitle")),t(3),P(u(5,4,"plugins.manage.unverified_message")))}function Ni(n,r){if(n&1){let e=C();o(0,"button",21),m("click",function(){f(e);let i=c();return _(i.$activeModal.dismiss("Dismiss"))}),g(1),p(2,"translate"),l()}n&2&&(t(),b(" ",u(2,1,"form.button_close")," "))}function ji(n,r){if(n&1){let e=C();o(0,"button",21),m("click",function(){f(e);let i=c();return _(i.$activeModal.dismiss("Dismiss"))}),g(1),p(2,"translate"),l()}n&2&&(t(),b(" ",u(2,1,"form.button_close")," "))}function Ai(n,r){if(n&1&&(o(0,"a",18),g(1),p(2,"translate"),d(3,"i",22),l()),n&2){let e=c();v("href",e.plugin.links.homepage||e.plugin.links.npm,T),t(),b(" ",u(2,2,"plugins.button_homepage")," ")}}var Bi=(()=>{class n{$activeModal=w(gi);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fa fa/fw fas fa-fw fa-external-link-alt"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fa fa/fw fas fa-fw fa-external-link-alt"></i></a>';constructor(){}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:34,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","text-monospace"],[1,"grey-text","mb-1","text-monospace"],[1,"mb-3"],[1,"fas","fa-fw","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["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-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),g(3),p(4,"translate"),l(),o(5,"button",3),p(6,"translate"),m("click",function(){return i.$activeModal.dismiss("Dismiss")}),o(7,"span",4),g(8,"\xD7"),l()()(),o(9,"div",5)(10,"img",6),m("error",function(){return i.handleIconError()}),l(),o(11,"h4",7),g(12),l(),o(13,"p",8),g(14),l(),o(15,"p",9),g(16),l(),o(17,"p",10),g(18),l(),d(19,"i",11)(20,"i",11)(21,"i",11),x(22,Mi,9,9)(23,Hi,6,6)(24,Di,6,6),d(25,"p",12),p(26,"translate"),l(),o(27,"div",13)(28,"div",14),x(29,Ni,3,3,"button",15),l(),o(30,"div",16),x(31,ji,3,3,"button",15),l(),o(32,"div",17),x(33,Ai,4,4,"a",18),l()()()),a&2&&(t(3),P(u(4,20,"plugins.manage.information")),t(2),B("aria-label",u(6,22,"form.button_close")),t(5),v("src",i.plugin.icon,T),t(2),P(i.plugin.displayName),t(2),P(i.plugin.name),t(2),b("@",i.plugin.author,""),t(2),P(i.plugin.description),t(),v("ngClass",I(27,Ti,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin))("ngStyle",M(30,q,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25)),t(),v("ngClass",I(32,Vi,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin))("ngStyle",M(35,q,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25)),t(),v("ngClass",I(37,$i,i.plugin.isHbScoped,!i.plugin.isHbScoped))("ngStyle",M(40,q,i.plugin.isHbScoped?1:.25)),t(),s(i.plugin.isHbScoped?22:-1),t(),s(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?23:-1),t(),s(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?24:-1),t(),v("innerHTML",H(26,24,"plugins.manage.more_info",I(42,Ei,i.linkScoped,i.linkVerified)),O),t(4),s(i.plugin.links.homepage||i.plugin.links.npm?29:-1),t(2),s(!i.plugin.links.homepage&&!i.plugin.links.npm?31:-1),t(2),s(i.plugin.links.homepage||i.plugin.links.npm?33:-1))},dependencies:[$,D,K],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return n})();var Fi=(n,r,e)=>({"scoped-text":n,"green-text":r,"orange-text":e}),Ri=(n,r)=>({"fa-bridge-circle-exclamation orange-text":n,"fa-bridge-circle-xmark red-text":r});function Ui(n,r){n&1&&d(0,"i",25)}function zi(n,r){n&1&&d(0,"i",26)}function qi(n,r){if(n&1){let e=C();o(0,"a",24),m("click",function(){f(e);let i=c();return _(i.openHb2InfoModal())}),x(1,Ui,1,0,"i",25)(2,zi,1,0,"i",26),l()}if(n&2){let e=c();v("ngbTooltip","Homebridge v2.0 Readiness")("placement","right"),t(),s(e.hb2Status==="supported"?1:-1),t(),s(e.hb2Status==="unknown"?2:-1)}}function Oi(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),p(2,"translate"),m("click",function(){f(e);let i=c();return _(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.updateTag||"latest"))}),d(3,"i",28),l()}n&2&&(v("ngbTooltip",u(1,2,"plugins.button_update")),B("aria-label",u(2,4,"plugins.button_update")))}function Li(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),p(2,"translate"),m("click",function(){f(e);let i=c();return _(i.$plugin.switchToScoped(i.plugin))}),d(3,"i",29),l()}n&2&&(v("ngbTooltip",u(1,2,"plugins.manage.scoped.switch")),B("aria-label",u(2,4,"plugins.manage.scoped.switch")))}function Gi(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),p(2,"translate"),m("click",function(){f(e);let i=c();return _(i.$plugin.settings(i.plugin))}),d(3,"i",30),l()}n&2&&(v("ngbTooltip",u(1,2,"plugins.button_set_up")),B("aria-label",u(2,4,"plugins.button_set_up")))}function Wi(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),p(2,"translate"),m("click",function(){f(e);let i=c();return _(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",31),l()}n&2&&(v("ngbTooltip",u(1,2,"child_bridge.setup")),B("aria-label",u(2,4,"child_bridge.setup")))}function Ji(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),p(2,"translate"),m("click",function(){f(e);let i=c();return _(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",32),l()}n&2&&(v("ngbTooltip",u(1,2,"child_bridge.bridge_connect")),B("aria-label",u(2,4,"child_bridge.bridge_connect")))}function Ki(n,r){if(n&1&&d(0,"i",13),n&2){let e=c();v("ngClass",I(1,Ri,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function Qi(n,r){if(n&1){let e=C();o(0,"a",15),m("click",function(){f(e);let i=c();return _(i.openFundingModal(i.plugin))}),d(1,"i",33),o(2,"span",17),g(3),l()()}if(n&2){let e=c();t(3),b("@",e.plugin.author,"")}}function Xi(n,r){if(n&1&&(o(0,"span",17),d(1,"i",34),g(2),l()),n&2){let e=c();t(2),b("@",e.plugin.author," ")}}function Yi(n,r){if(n&1&&(o(0,"span"),g(1),p(2,"date"),l()),n&2){let e=c(2);t(),b("(",H(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function Zi(n,r){if(n&1&&(o(0,"span"),d(1,"i",35),o(2,"span",17),g(3),x(4,Yi,3,4,"span"),l()()),n&2){let e=c();t(3),b("v",e.plugin.latestVersion," "),t(),s(e.plugin.lastUpdated?4:-1)}}function ie(n,r){if(n&1&&(d(0,"i",36),g(1)),n&2){let e=c();t(),b("v",e.plugin.installedVersion," ")}}function ee(n,r){if(n&1){let e=C();o(0,"a",27),p(1,"translate"),m("click",function(){f(e);let i=c();return _(i.doChildBridgeAction("restart"))}),d(2,"i",37),l()}if(n&2){let e=c();v("ngbTooltip",u(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function ne(n,r){if(n&1){let e=C();o(0,"a",38),m("click",function(){f(e);let i=c();return _(i.enablePlugin(i.plugin))}),d(1,"i",39),p(2,"translate"),l()}n&2&&(t(),v("ngbTooltip",u(2,1,"plugins.status_disabled")))}function te(n,r){if(n&1){let e=C();o(0,"a",40),m("click",function(){f(e);let i=c();return _(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",41),l()}}function ae(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.viewPluginLog(i.plugin))}),d(1,"i",50),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.manage.plugin_logs")," "))}function oe(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",51),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.manage.manage_version")," "))}function le(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.jsonEditor(i.plugin))}),d(1,"i",52),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.manage.json_config")," "))}function re(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.disablePlugin(i.plugin))}),d(1,"i",53),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.manage.disable")," "))}function se(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.enablePlugin(i.plugin))}),d(1,"i",54),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.manage.enable")," "))}function de(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),d(1,"i",55),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"plugins.button_uninstall")," "))}function pe(n,r){n&1&&d(0,"div",48)}function ce(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(3);return _(i.doChildBridgeAction("restart"))}),d(1,"i",57),g(2),p(3,"translate"),l()}if(n&2){let e=c(3);t(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function ue(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(3);return _(i.doChildBridgeAction("stop"))}),d(1,"i",58),g(2),p(3,"translate"),l()}if(n&2){let e=c(3);t(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function ge(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(3);return _(i.doChildBridgeAction("start"))}),d(1,"i",59),g(2),p(3,"translate"),l()}if(n&2){let e=c(3);t(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function me(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(3);return _(i.$plugin.resetChildBridges(i.setChildBridges))}),d(1,"i",60),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"child_bridge.reset_accessories")," "))}function fe(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",56),g(2),p(3,"translate"),l(),x(4,ce,4,3,"button",47)(5,ue,4,3,"button",47)(6,ge,4,3,"button",47)(7,me,4,3,"button",47)}if(n&2){let e=c(2);t(2),b(" ",u(3,5,"child_bridge.bridge_settings")," "),t(2),s(e.childBridgeRestartInProgress?-1:4),t(),s(e.allChildBridgesStopped?-1:5),t(),s(e.allChildBridgesStopped?6:-1),t(),s(e.$settings.env.serviceMode?7:-1)}}function _e(n,r){n&1&&d(0,"div",48)}function Ce(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",61),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"child_bridge.setup")," "))}function he(n,r){n&1&&d(0,"div",48)}function be(n,r){if(n&1){let e=C();o(0,"button",45),m("click",function(){f(e);let i=c(2);return _(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",61),g(2),p(3,"translate"),l()}n&2&&(t(2),b(" ",u(3,1,"child_bridge.setup")," "))}function ve(n,r){n&1&&d(0,"div",48)}function xe(n,r){if(n&1&&(o(0,"a",49),d(1,"i",62),g(2),p(3,"translate"),l()),n&2){let e=c(2);v("href",e.plugin.links.bugs,T),t(2),b(" ",u(3,2,"support.links.issue")," ")}}function we(n,r){if(n&1){let e=C();o(0,"span",23)(1,"a",42),d(2,"i",43),l(),o(3,"div",44)(4,"button",45),m("click",function(){f(e);let i=c();return _(i.$plugin.settings(i.plugin))}),d(5,"i",46),g(6),p(7,"translate"),l(),x(8,ae,4,3,"button",47)(9,oe,4,3,"button",47)(10,le,4,3,"button",47)(11,re,4,3,"button",47)(12,se,4,3,"button",47)(13,de,4,3,"button",47)(14,pe,1,0,"div",48)(15,fe,8,7)(16,_e,1,0,"div",48)(17,Ce,4,3,"button",47)(18,he,1,0,"div",48)(19,be,4,3,"button",47)(20,ve,1,0,"div",48)(21,xe,4,4,"a",49),l()()}if(n&2){let e=c();t(),B("aria-label","Plugin Actions Dropdown"),t(5),b(" ",u(7,16,"plugins.button_settings")," "),t(2),s(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),t(),s(e.plugin.publicPackage?9:-1),t(),s(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),t(),s(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),t(),s(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),t(),s(e.plugin.name!=="homebridge-config-ui-x"?13:-1),t(),s(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),t(),s(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),t(),s(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),t(),s(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),t(),s(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),t(),s(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),t(),s(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),t(),s(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var ki=(()=>{class n{$api=w(A);$md=w(xi);$modal=w(mi);$plugin=w(U);$settings=w(F);$toastr=w(j);$translate=w(N);$ws=w(R);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];hb2Status="unknown";io;constructor(){}set childBridges(e){var h,E;this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(S=>S.paired===!1).length>0,this.allChildBridgesStopped=e.filter(S=>S.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(S=>S.status==="down")?this.childBridgeStatus="down":e.some(S=>S.status==="pending")?this.childBridgeStatus="pending":e.some(S=>S.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let a=this.$settings.env.homebridgeVersion.split(".")[0],i=((E=(h=this.plugin.engines)==null?void 0:h.homebridge)==null?void 0:E.split("||").map(S=>S.trim()))||[];this.hb2Status=a==="2"?"hide":i.some(S=>S.startsWith("^2")||S.startsWith(">=2"))?"supported":this.hb2Status}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 a=this.$modal.open(Si,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}pluginInfoModal(e){let a=this.$modal.open(Bi,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}disablePlugin(e){let a=this.$modal.open(Pi,{size:"lg",backdrop:"static"});a.componentInstance.pluginName=e.displayName,a.componentInstance.isConfigured=e.isConfigured,a.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,a.result.then(()=>y(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(z,{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 a=this.$modal.open(hi,{size:"lg",backdrop:"static"});a.componentInstance.title=e.name,a.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),a.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),a.componentInstance.faIconClass="fa-circle-play primary-text",a.result.then(()=>y(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(z,{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(e){let a=this.$modal.open(wi,{size:"xl",backdrop:"static"});a.componentInstance.plugin=e}doChildBridgeAction(e){return y(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let a of this.setChildBridges)yield k(this.io.request(`${e}-child-bridge`,a.username))}catch(a){console.error(a),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}openHb2InfoModal(){let e=this.$modal.open(bi,{size:"lg",backdrop:"static"});e.componentInstance.title="Plugin Readiness",this.hb2Status==="supported"?(e.componentInstance.subtitle=`${this.plugin.displayName} is ready for Homebridge v2.0`,e.componentInstance.message="The developer has specifically marked your installed version of the plugin as compatible with Homebridge v2.0.",e.componentInstance.faIconClass="fa-check-circle green-text"):(e.componentInstance.subtitle=`${this.plugin.displayName} might not be ready for Homebridge v2.0`,e.componentInstance.message="The developer has not specifically marked your installed version of the plugin as compatible with Homebridge v2.0, but it may still work.",e.componentInstance.faIconClass="fa-question-circle orange-text"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0"}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=V({type:n,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:36,vars:24,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"ngbTooltip","placement"],[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,"ml-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"ngbTooltip"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ml-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",3,"ngClass"],[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)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ml-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"click","ngbTooltip","placement"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1","pink-text"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","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-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),m("error",function(){return i.handleIconError()}),l(),x(4,qi,3,4,"a",4),l(),o(5,"div",5)(6,"div",6)(7,"div",7)(8,"div",8)(9,"h5",9),g(10),l(),o(11,"div",10),x(12,Oi,4,6,"a",11)(13,Li,4,6,"a",11)(14,Gi,4,6,"a",11)(15,Wi,4,6,"a",11)(16,Ji,4,6,"a",11),d(17,"i",12),x(18,Ki,1,4,"i",13),l()(),o(19,"p",14)(20,"a",15),m("click",function(){return i.pluginInfoModal(i.plugin)}),d(21,"i",16),o(22,"span",17),g(23),l()()(),o(24,"p",18),x(25,Qi,4,1,"a",19)(26,Xi,3,1,"span",17),l(),o(27,"div",8)(28,"p",20),x(29,Zi,5,2,"span")(30,ie,2,1),l(),o(31,"div",10),x(32,ee,3,3,"a",11)(33,ne,3,3,"a",21)(34,te,2,0,"a",22)(35,we,22,18,"span",23),l()()()()()()()),a&2&&(t(3),v("src",i.plugin.icon,T),t(),s(i.plugin.installedVersion&&i.hb2Status!=="hide"?4:-1),t(6),P(i.plugin.displayName),t(2),s(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?12:-1),t(),s(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?13:-1),t(),s(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?14:-1),t(),s(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?15:-1),t(),s(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?16:-1),t(),v("hidden",!i.childBridgeRestartInProgress),t(),s(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?18:-1),t(3),v("ngClass",J(20,Fi,i.plugin.isHbScoped,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),!i.plugin.isHbScoped&&!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),t(2),P(i.plugin.name),t(2),s((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?25:-1),t(),s((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:26),t(3),s(i.plugin.publicPackage&&!i.plugin.installedVersion?29:-1),t(),s(i.plugin.installedVersion?30:-1),t(2),s(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?32:-1),t(),s(i.plugin.installedVersion&&i.plugin.disabled?33:-1),t(),s(i.plugin.publicPackage&&!i.plugin.installedVersion?34:-1),t(),s(i.plugin.installedVersion?35:-1))},dependencies:[fi,D,ui,ci,pi,di,si,Q,$],encapsulation:2})}return n})();function Pe(n,r){n&1&&d(0,"app-spinner")}function Se(n,r){if(n&1){let e=C();o(0,"a",11),m("click",function(){f(e);let i=c();return _(i.onClearSearch())}),d(1,"i",12),l()}}function ye(n,r){if(n&1&&(o(0,"div",9),d(1,"app-plugin-card",13),l()),n&2){let e=r.$implicit,a=c();t(),v("plugin",e)("childBridges",a.getPluginChildBridges(e))}}function Be(n,r){n&1&&(o(0,"div",10),d(1,"i",14),o(2,"p"),g(3),p(4,"translate"),l()()),n&2&&(t(3),P(u(4,1,"plugins.placeholder_search_first")))}var Cn=(()=>{class n{$api=w(A);$plugin=w(U);$router=w(Ci);$settings=w(F);$toastr=w(j);$translate=w(N);$ws=w(R);loading=!0;installedPlugins=[];childBridges=[];showExitButton=!1;form=new ei({query:new ni("",[Y.required])});io;navigationSubscription;constructor(){}ngOnInit(){return y(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>y(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins();let e=this.$router.parseUrl(this.$router.url).queryParams.installed;if(e){let a=this.installedPlugins.find(i=>i.name===e);a&&!a.isConfigured&&this.$plugin.settings(a),this.$router.navigate(["/plugins"])}})),this.io.socket.on("child-bridge-status-update",e=>{let a=this.childBridges.find(i=>i.username===e.username);a?Object.assign(a,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof _i&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return y(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0;try{let e=yield k(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let a=this.installedPlugins.sort((i,h)=>i.updateAvailable!==h.updateAvailable?i.updateAvailable?-1:1:i.newHbScope&&!h.newHbScope?-1:i.disabled!==h.disabled?i.disabled?1:-1:i.isConfigured!==h.isConfigured?i.isConfigured?1:-1:i.hasChildBridgesUnpaired!==h.hasChildBridgesUnpaired?i.hasChildBridgesUnpaired?-1:1:i.hasChildBridges!==h.hasChildBridges&&this.$settings.env.recommendChildBridges?i.hasChildBridges?1:-1:i.name.localeCompare(h.name));return this.loading=!1,a}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return y(this,null,function*(){yield Promise.all(this.installedPlugins.filter(e=>e.installedVersion).map(e=>y(this,null,function*(){try{let a=yield k(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=a.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(a[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&a.some(h=>h._bridge&&h._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(h=>!h.paired)}catch{e.isConfigured=!0,e.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let a=new Set;this.installedPlugins=e.reduce((i,h)=>{if(h.name==="homebridge-config-ui-x"||a.has(h.name))return i;if(h.newHbScope){let E=h.newHbScope.to,S=e.some(Ii=>Ii.name===E);(h.installedVersion||!S)&&(a.add(E),i.push(h))}else i.push(h);return i},[]),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(a=>a.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],decls:16,vars:10,consts:[[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],[1,"far","fa-fw","fa-times-circle"],[3,"plugin","childBridges"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(a,i){a&1&&(x(0,Pe,1,0,"app-spinner"),o(1,"div",0)(2,"div",1)(3,"h3",2),g(4),p(5,"translate"),l()()(),o(6,"div",3)(7,"div",4)(8,"form",5),m("ngSubmit",function(){return i.onSubmit(i.form)}),d(9,"input",6),p(10,"translate"),x(11,Se,2,0,"a",7),l()()(),o(12,"div",8),G(13,ye,2,2,"div",9,L),x(15,Be,5,3,"div",10),l()),a&2&&(s(i.loading?0:-1),t(4),P(u(5,6,"menu.label_plugins")),t(4),v("formGroup",i.form),t(),v("placeholder",u(10,8,"plugins.placeholder_search_plugin")),t(2),s(i.showExitButton?11:-1),t(2),W(i.installedPlugins),t(2),s(i.installedPlugins.length===0&&!i.loading?15:-1))},dependencies:[vi,li,ti,X,Z,ii,ri,ai,oi,ki,$],styles:[".hb-npm-search[_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){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;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%}}"]})}return n})();export{Cn as a};
@@ -1 +0,0 @@
1
- import{l as rn}from"./chunk-HA6CO5NZ.js";import{$ as br,A as Se,Aa as bt,Ab as _r,B as Sr,Ba as Or,C as St,Ca as It,Cb as zr,Ea as Er,Fa as oe,Ga as At,Gc as Qe,H as X,Hb as Fr,Ib as Ot,Ic as Ke,Ja as Ur,Jb as qr,K as ne,Ka as Dt,Kb as Br,L as ie,Lb as Vr,Lc as Ze,N as Ct,O as se,P as Cr,Pc as Zr,T as He,Ta as xr,Tc as Yr,U as Q,V as Rt,Vc as Xr,W as Rr,Wc as Re,X as wr,Yb as Hr,Yc as Jr,Zc as en,_c as we,a as h,aa as N,b as T,ba as Ir,ca as I,dc as Wr,ea as A,fb as Pr,ha as w,hc as Gr,i as gr,ia as Ar,j as vr,ja as Dr,jb as L,jc as Qr,ka as M,kb as jr,kc as Kr,l as mt,la as wt,m as yt,ma as F,n as W,na as p,o as x,oa as Mr,ob as Mt,od as tn,p as G,pa as Tr,pb as Nr,q as D,r as f,s as ye,sb as Lr,t as mr,ta as Ce,tb as Tt,u as yr,ua as _,ub as $r,vb as kr,wa as We,wb as Ge,x as S,y as Ve,z as O}from"./chunk-CKNHTRCL.js";var g="primary",Le=Symbol("RouteTitle"),jt=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function de(t){return new jt(t)}function Yn(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let i={};for(let s=0;s<n.length;s++){let o=n[s],u=t[s];if(o[0]===":")i[o.substring(1)]=u;else if(o!==u.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Xn(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],r[e]))return!1;return!0}function z(t,r){let e=t?Nt(t):void 0,n=r?Nt(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let s=0;s<e.length;s++)if(i=e[s],!gn(t[i],r[i]))return!1;return!0}function Nt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function gn(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,s)=>n[s]===i)}else return t===r}function vn(t){return t.length>0?t[t.length-1]:null}function Z(t){return mr(t)?t:Fr(t)?D(Promise.resolve(t)):f(t)}var Jn={exact:yn,subset:Sn},mn={exact:ei,subset:ti,ignored:()=>!0};function nn(t,r,e){return Jn[e.paths](t.root,r.root,e.matrixParams)&&mn[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function ei(t,r){return z(t,r)}function yn(t,r,e){if(!ee(t.segments,r.segments)||!Je(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!yn(t.children[n],r.children[n],e))return!1;return!0}function ti(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>gn(t[e],r[e]))}function Sn(t,r,e){return Cn(t,r,r.segments,e)}function Cn(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ee(i,e)||r.hasChildren()||!Je(i,e,n))}else if(t.segments.length===e.length){if(!ee(t.segments,e)||!Je(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Sn(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!ee(t.segments,i)||!Je(t.segments,i,n)||!t.children[g]?!1:Cn(t.children[g],r,s,n)}}function Je(t,r,e){return r.every((n,i)=>mn[e](t[i].parameters,n.parameters))}var B=class{root;queryParams;fragment;_queryParamMap;constructor(r=new y([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){return ii.serialize(this)}},y=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return et(this)}},J=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){var r;return(r=this._parameterMap)!=null||(this._parameterMap=de(this.parameters)),this._parameterMap}toString(){return wn(this)}};function ri(t,r){return ee(t,r)&&t.every((e,n)=>z(e.parameters,r[n].parameters))}function ee(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function ni(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===g&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==g&&(e=e.concat(r(i,n)))}),e}var $e=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>new fe,providedIn:"root"})}return t})(),fe=class{parse(r){let e=new $t(r);return new B(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${be(r.root,!0)}`,n=ai(r.queryParams),i=typeof r.fragment=="string"?`#${si(r.fragment)}`:"";return`${e}${n}${i}`}},ii=new fe;function et(t){return t.segments.map(r=>wn(r)).join("/")}function be(t,r){if(!t.hasChildren())return et(t);if(r){let e=t.children[g]?be(t.children[g],!1):"",n=[];return Object.entries(t.children).forEach(([i,s])=>{i!==g&&n.push(`${i}:${be(s,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=ni(t,(n,i)=>i===g?[be(t.children[g],!1)]:[`${i}:${be(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[g]!=null?`${et(t)}/${e[0]}`:`${et(t)}/(${e.join("//")})`}}function Rn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ye(t){return Rn(t).replace(/%3B/gi,";")}function si(t){return encodeURI(t)}function Lt(t){return Rn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function tt(t){return decodeURIComponent(t)}function sn(t){return tt(t.replace(/\+/g,"%20"))}function wn(t){return`${Lt(t.path)}${oi(t.parameters)}`}function oi(t){return Object.entries(t).map(([r,e])=>`;${Lt(r)}=${Lt(e)}`).join("")}function ai(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Ye(e)}=${Ye(i)}`).join("&"):`${Ye(e)}=${Ye(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var ui=/^[^\/()?;#]+/;function Et(t){let r=t.match(ui);return r?r[0]:""}var ci=/^[^\/()?;=#]+/;function li(t){let r=t.match(ci);return r?r[0]:""}var hi=/^[^=?&#]+/;function di(t){let r=t.match(hi);return r?r[0]:""}var fi=/^[^&#]+/;function pi(t){let r=t.match(fi);return r?r[0]:""}var $t=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new y([],{}):new y([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[g]=new y(r,e)),n}parseSegment(){let r=Et(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new A(4009,!1);return this.capture(r),new J(tt(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=li(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Et(this.remaining);i&&(n=i,this.capture(n))}r[tt(e)]=tt(n)}parseQueryParam(r){let e=di(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let o=pi(this.remaining);o&&(n=o,this.capture(n))}let i=sn(e),s=sn(n);if(r.hasOwnProperty(i)){let o=r[i];Array.isArray(o)||(o=[o],r[i]=o),o.push(s)}else r[i]=s}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=Et(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new A(4010,!1);let s;n.indexOf(":")>-1?(s=n.slice(0,n.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=g);let o=this.parseChildren();e[s]=Object.keys(o).length===1?o[g]:new y([],o),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new A(4011,!1)}};function bn(t){return t.segments.length>0?new y([],{[g]:t}):t}function In(t){let r={};for(let[n,i]of Object.entries(t.children)){let s=In(i);if(n===g&&s.segments.length===0&&s.hasChildren())for(let[o,u]of Object.entries(s.children))r[o]=u;else(s.segments.length>0||s.hasChildren())&&(r[n]=s)}let e=new y(t.segments,r);return gi(e)}function gi(t){if(t.numberOfChildren===1&&t.children[g]){let r=t.children[g];return new y(t.segments.concat(r.segments),r.children)}return t}function te(t){return t instanceof B}function vi(t,r,e=null,n=null){let i=An(t);return Dn(i,r,e,n)}function An(t){let r;function e(s){let o={};for(let a of s.children){let c=e(a);o[a.outlet]=c}let u=new y(s.url,o);return s===t&&(r=u),u}let n=e(t.root),i=bn(n);return r!=null?r:i}function Dn(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return Ut(i,i,i,e,n);let s=mi(r);if(s.toRoot())return Ut(i,i,new y([],{}),e,n);let o=yi(s,i,t),u=o.processChildren?De(o.segmentGroup,o.index,s.commands):Tn(o.segmentGroup,o.index,s.commands);return Ut(i,o.segmentGroup,u,e,n)}function rt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Oe(t){return typeof t=="object"&&t!=null&&t.outlets}function Ut(t,r,e,n,i){let s={};n&&Object.entries(n).forEach(([a,c])=>{s[a]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`});let o;t===r?o=e:o=Mn(t,r,e);let u=bn(In(o));return new B(u,s,i)}function Mn(t,r,e){let n={};return Object.entries(t.children).forEach(([i,s])=>{s===r?n[i]=e:n[i]=Mn(s,r,e)}),new y(t.segments,n)}var nt=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&rt(n[0]))throw new A(4003,!1);let i=n.find(Oe);if(i&&i!==vn(n))throw new A(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function mi(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new nt(!0,0,t);let r=0,e=!1,n=t.reduce((i,s,o)=>{if(typeof s=="object"&&s!=null){if(s.outlets){let u={};return Object.entries(s.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(s.segmentPath)return[...i,s.segmentPath]}return typeof s!="string"?[...i,s]:o===0?(s.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?e=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,s]},[]);return new nt(e,r,n)}var ce=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function yi(t,r,e){if(t.isAbsolute)return new ce(r,!0,0);if(!e)return new ce(r,!1,NaN);if(e.parent===null)return new ce(e,!0,0);let n=rt(t.commands[0])?0:1,i=e.segments.length-1+n;return Si(e,i,t.numberOfDoubleDots)}function Si(t,r,e){let n=t,i=r,s=e;for(;s>i;){if(s-=i,n=n.parent,!n)throw new A(4005,!1);i=n.segments.length}return new ce(n,!1,i-s)}function Ci(t){return Oe(t[0])?t[0].outlets:{[g]:t}}function Tn(t,r,e){if(t!=null||(t=new y([],{})),t.segments.length===0&&t.hasChildren())return De(t,r,e);let n=Ri(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let s=new y(t.segments.slice(0,n.pathIndex),{});return s.children[g]=new y(t.segments.slice(n.pathIndex),t.children),De(s,0,i)}else return n.match&&i.length===0?new y(t.segments,{}):n.match&&!t.hasChildren()?kt(t,r,e):n.match?De(t,0,i):kt(t,r,e)}function De(t,r,e){if(e.length===0)return new y(t.segments,{});{let n=Ci(e),i={};if(Object.keys(n).some(s=>s!==g)&&t.children[g]&&t.numberOfChildren===1&&t.children[g].segments.length===0){let s=De(t.children[g],r,e);return new y(t.segments,s.children)}return Object.entries(n).forEach(([s,o])=>{typeof o=="string"&&(o=[o]),o!==null&&(i[s]=Tn(t.children[s],r,o))}),Object.entries(t.children).forEach(([s,o])=>{n[s]===void 0&&(i[s]=o)}),new y(t.segments,i)}}function Ri(t,r,e){let n=0,i=r,s={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return s;let o=t.segments[i],u=e[n];if(Oe(u))break;let a=`${u}`,c=n<e.length-1?e[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!an(a,c,o))return s;n+=2}else{if(!an(a,{},o))return s;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function kt(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let s=e[i];if(Oe(s)){let a=wi(s.outlets);return new y(n,a)}if(i===0&&rt(e[0])){let a=t.segments[r];n.push(new J(a.path,on(e[0]))),i++;continue}let o=Oe(s)?s.outlets[g]:`${s}`,u=i<e.length-1?e[i+1]:null;o&&u&&rt(u)?(n.push(new J(o,on(u))),i+=2):(n.push(new J(o,{})),i++)}return new y(n,{})}function wi(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=kt(new y([],{}),0,n))}),r}function on(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function an(t,r,e){return t==e.path&&z(r,e.parameters)}var Me="imperative",C=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(C||{}),P=class{id;url;constructor(r,e){this.id=r,this.url=e}},pe=class extends P{type=C.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},k=class extends P{urlAfterRedirects;type=C.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},U=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(U||{}),it=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(it||{}),q=class extends P{reason;code;type=C.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},K=class extends P{reason;code;type=C.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},Ee=class extends P{error;target;type=C.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},st=class extends P{urlAfterRedirects;state;type=C.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},_t=class extends P{urlAfterRedirects;state;type=C.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},zt=class extends P{urlAfterRedirects;state;shouldActivate;type=C.GuardsCheckEnd;constructor(r,e,n,i,s){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Ft=class extends P{urlAfterRedirects;state;type=C.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},qt=class extends P{urlAfterRedirects;state;type=C.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Bt=class{route;type=C.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Vt=class{route;type=C.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Ht=class{snapshot;type=C.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Wt=class{snapshot;type=C.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Gt=class{snapshot;type=C.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qt=class{snapshot;type=C.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ot=class{routerEvent;position;anchor;type=C.Scroll;constructor(r,e,n){this.routerEvent=r,this.position=e,this.anchor=n}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},Ue=class{},ge=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function bi(t,r){var e;return t.providers&&!t._injector&&(t._injector=Tt(t.providers,r,`Route: ${t.path}`)),(e=t._injector)!=null?e:r}function $(t){return t.outlet||g}function Ii(t,r){let e=t.filter(n=>$(n)===r);return e.push(...t.filter(n=>$(n)!==r)),e}function ke(t){var r;if(!t)return null;if((r=t.routeConfig)!=null&&r._injector)return t.routeConfig._injector;for(let e=t.parent;e;e=e.parent){let n=e.routeConfig;if(n!=null&&n._loadedInjector)return n._loadedInjector;if(n!=null&&n._injector)return n._injector}return null}var Kt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){var r,e;return(e=ke((r=this.route)==null?void 0:r.snapshot))!=null?e:this.rootInjector}constructor(r){this.rootInjector=r,this.children=new _e(this.rootInjector)}},_e=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Kt(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(F(Ce))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),at=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=Zt(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=Zt(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=Yt(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return Yt(r,this._root).map(e=>e.value)}};function Zt(t,r){if(t===r.value)return r;for(let e of r.children){let n=Zt(t,e);if(n)return n}return null}function Yt(t,r){if(t===r.value)return[r];for(let e of r.children){let n=Yt(t,e);if(n.length)return n.unshift(r),n}return[]}var E=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var ut=class extends at{snapshot;constructor(r,e){super(r),this.snapshot=e,or(this,r)}toString(){return this.snapshot.toString()}};function On(t){let r=Ai(t),e=new x([new J("",{})]),n=new x({}),i=new x({}),s=new x({}),o=new x(""),u=new re(e,n,s,o,i,g,t,r.root);return u.snapshot=r.root,new ut(new E(u,[]),r)}function Ai(t){let r={},e={},n={},i="",s=new le([],r,n,i,e,g,t,null,{});return new lt("",new E(s,[]))}var re=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,s,o,u,a){var c,l;this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=s,this.outlet=o,this.component=u,this._futureSnapshot=a,this.title=(l=(c=this.dataSubject)==null?void 0:c.pipe(S(v=>v[Le])))!=null?l:f(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=this.params.pipe(S(e=>de(e)))),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=this.queryParams.pipe(S(e=>de(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function ct(t,r,e="emptyOnly"){var s,o;let n,{routeConfig:i}=t;return r!==null&&(e==="always"||(i==null?void 0:i.path)===""||!r.component&&!((s=r.routeConfig)!=null&&s.loadComponent))?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i==null?void 0:i.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),(o=t._resolvedData)!=null?o:{})},i&&Un(i)&&(n.resolve[Le]=i.title),n}var le=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){var r;return(r=this.data)==null?void 0:r[Le]}constructor(r,e,n,i,s,o,u,a,c){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s,this.outlet=o,this.component=u,this.routeConfig=a,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=de(this.params)),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},lt=class extends at{url;constructor(r,e){super(e),this.url=r,or(this,e)}toString(){return En(this._root)}};function or(t,r){r.value._routerState=t,r.children.forEach(e=>or(t,e))}function En(t){let r=t.children.length>0?` { ${t.children.map(En).join(", ")} } `:"";return`${t.value}${r}`}function xt(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(r.params,e.params)||t.paramsSubject.next(e.params),Xn(r.url,e.url)||t.urlSubject.next(e.url),z(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Xt(t,r){let e=z(t.params,r.params)&&ri(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||Xt(t.parent,r.parent))}function Un(t){return typeof t.title=="string"||t.title===null}var Di=new M(""),Mi=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=g;activateEvents=new oe;deactivateEvents=new oe;attachEvents=new oe;detachEvents=new oe;routerOutletData=Ur(void 0);parentContexts=p(_e);location=p(Nr);changeDetector=p(Ke);inputBinder=p(gt,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){var e;this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),(e=this.inputBinder)==null||e.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){var n;return((n=this.parentContexts.getContext(e))==null?void 0:n.outlet)===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e!=null&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new A(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new A(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new A(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){var i;this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),(i=this.inputBinder)==null||i.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){var c;if(this.isActivated)throw new A(4013,!1);this._activatedRoute=e;let i=this.location,o=e.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new Jt(e,u,i.injector,this.routerOutletData);this.activated=i.createComponent(o,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),(c=this.inputBinder)==null||c.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=Ge({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[We]})}return t})(),Jt=class t{route;childContexts;parent;outletData;__ngOutletInjector(r){return new t(this.route,this.childContexts,r,this.outletData)}constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===re?this.route:r===_e?this.childContexts:r===Di?this.outletData:this.parent.get(r,e)}},gt=new M(""),un=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){var n;(n=this.outletDataSubscriptions.get(e))==null||n.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=Ve([n.queryParams,n.params,n.data]).pipe(N(([s,o,u],a)=>(u=h(h(h({},s),o),u),a===0?f(u):Promise.resolve(u)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let o=Zr(n.component);if(!o){this.unsubscribeFromRouteData(e);return}for(let{templateName:u}of o.inputs)e.activatedComponentRef.setInput(u,s[u])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ti(t,r,e){let n=xe(t,r._root,e?e._root:void 0);return new ut(n,r)}function xe(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Oi(t,r,e);return new E(n,i)}else{if(t.shouldAttach(r.value)){let s=t.retrieve(r.value);if(s!==null){let o=s.route;return o.value._futureSnapshot=r.value,o.children=r.children.map(u=>xe(t,u)),o}}let n=Ei(r.value),i=r.children.map(s=>xe(t,s));return new E(n,i)}}function Oi(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return xe(t,n,i);return xe(t,n)})}function Ei(t){return new re(new x(t.url),new x(t.params),new x(t.queryParams),new x(t.fragment),new x(t.data),t.outlet,t.component,t)}var Pe=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},xn="ngNavigationCancelingError";function ht(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=te(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=Pn(!1,U.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function Pn(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[xn]=!0,e.cancellationCode=r,e}function Ui(t){return jn(t)&&te(t.url)}function jn(t){return!!t&&t[xn]}var xi=(t,r,e,n)=>S(i=>(new er(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),er=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,s){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=s}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),xt(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{let o=s.value.outlet;this.deactivateRoutes(s,i[o],n),delete i[o]}),Object.values(i).forEach(s=>{this.deactivateRouteAndItsChildren(s,n)})}deactivateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(i===s)if(i.component){let o=n.getContext(i.outlet);o&&this.deactivateChildRoutes(r,e,o.children)}else this.deactivateChildRoutes(r,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);if(n&&n.outlet){let o=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:o,route:r,contexts:u})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{this.activateRoutes(s,i[s.value.outlet],n),this.forwardEvent(new Qt(s.value.snapshot))}),r.children.length&&this.forwardEvent(new Wt(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(xt(i),i===s)if(i.component){let o=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,o.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let o=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),o.children.onOutletReAttached(u.contexts),o.attachRef=u.componentRef,o.route=u.route.value,o.outlet&&o.outlet.attach(u.componentRef,u.route.value),xt(u.route.value),this.activateChildRoutes(r,null,o.children)}else o.attachRef=null,o.route=i,o.outlet&&o.outlet.activateWith(i,o.injector),this.activateChildRoutes(r,null,o.children)}else this.activateChildRoutes(r,null,n)}},dt=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},he=class{component;route;constructor(r,e){this.component=r,this.route=e}};function Pi(t,r,e){let n=t._root,i=r?r._root:null;return Ie(n,i,e,[n.value])}function ji(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function me(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!Dr(t)?t:r.get(t):n}function Ie(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=ue(r);return t.children.forEach(o=>{Ni(o,s[o.value.outlet],e,n.concat([o.value]),i),delete s[o.value.outlet]}),Object.entries(s).forEach(([o,u])=>Te(u,e.getContext(o),i)),i}function Ni(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=t.value,o=r?r.value:null,u=e?e.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){let a=Li(o,s,s.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new dt(n)):(s.data=o.data,s._resolvedData=o._resolvedData),s.component?Ie(t,r,u?u.children:null,n,i):Ie(t,r,e,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new he(u.outlet.component,o))}else o&&Te(r,u,i),i.canActivateChecks.push(new dt(n)),s.component?Ie(t,null,u?u.children:null,n,i):Ie(t,null,e,n,i);return i}function Li(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!ee(t.url,r.url);case"pathParamsOrQueryParamsChange":return!ee(t.url,r.url)||!z(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Xt(t,r)||!z(t.queryParams,r.queryParams);case"paramsChange":default:return!Xt(t,r)}}function Te(t,r,e){let n=ue(t),i=t.value;Object.entries(n).forEach(([s,o])=>{i.component?r?Te(o,r.children.getContext(s),e):Te(o,null,e):Te(o,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new he(r.outlet.component,i)):e.canDeactivateChecks.push(new he(null,i)):e.canDeactivateChecks.push(new he(null,i))}function ze(t){return typeof t=="function"}function $i(t){return typeof t=="boolean"}function ki(t){return t&&ze(t.canLoad)}function _i(t){return t&&ze(t.canActivate)}function zi(t){return t&&ze(t.canActivateChild)}function Fi(t){return t&&ze(t.canDeactivate)}function qi(t){return t&&ze(t.canMatch)}function Nn(t){return t instanceof yr||(t==null?void 0:t.name)==="EmptyError"}var Xe=Symbol("INITIAL_VALUE");function ve(){return N(t=>Ve(t.map(r=>r.pipe(se(1),br(Xe)))).pipe(S(r=>{for(let e of r)if(e!==!0){if(e===Xe)return Xe;if(e===!1||Bi(e))return e}return!0}),X(r=>r!==Xe),se(1)))}function Bi(t){return te(t)||t instanceof Pe}function Vi(t,r){return O(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=e;return o.length===0&&s.length===0?f(T(h({},e),{guardsResult:!0})):Hi(o,n,i,t).pipe(O(u=>u&&$i(u)?Wi(n,s,t,r):f(u)),S(u=>T(h({},e),{guardsResult:u})))})}function Hi(t,r,e,n){return D(t).pipe(O(i=>Yi(i.component,i.route,e,r,n)),Q(i=>i!==!0,!0))}function Wi(t,r,e,n){return D(r).pipe(ie(i=>Sr(Qi(i.route.parent,n),Gi(i.route,n),Zi(t,i.path,e),Ki(t,i.route,e))),Q(i=>i!==!0,!0))}function Gi(t,r){return t!==null&&r&&r(new Gt(t)),f(!0)}function Qi(t,r){return t!==null&&r&&r(new Ht(t)),f(!0)}function Ki(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return f(!0);let i=n.map(s=>St(()=>{var c;let o=(c=ke(r))!=null?c:e,u=me(s,o),a=_i(u)?u.canActivate(r,t):_(o,()=>u(r,t));return Z(a).pipe(Q())}));return f(i).pipe(ve())}function Zi(t,r,e){let n=r[r.length-1],s=r.slice(0,r.length-1).reverse().map(o=>ji(o)).filter(o=>o!==null).map(o=>St(()=>{let u=o.guards.map(a=>{var d;let c=(d=ke(o.node))!=null?d:e,l=me(a,c),v=zi(l)?l.canActivateChild(n,t):_(c,()=>l(n,t));return Z(v).pipe(Q())});return f(u).pipe(ve())}));return f(s).pipe(ve())}function Yi(t,r,e,n,i){let s=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!s||s.length===0)return f(!0);let o=s.map(u=>{var v;let a=(v=ke(r))!=null?v:i,c=me(u,a),l=Fi(c)?c.canDeactivate(t,r,e,n):_(a,()=>c(t,r,e,n));return Z(l).pipe(Q())});return f(o).pipe(ve())}function Xi(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=ki(u)?u.canLoad(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}function Ln(t){return vr(I(r=>{if(typeof r!="boolean")throw ht(t,r)}),S(r=>r===!0))}function Ji(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=qi(u)?u.canMatch(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}var je=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},Ne=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function ae(t){return ye(new je(t))}function es(t){return ye(new A(4e3,!1))}function ts(t){return ye(Pn(!1,U.GuardRejected))}var tr=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return f(n);if(i.numberOfChildren>1||!i.children[g])return es(`${r.redirectTo}`);i=i.children[g]}}applyRedirectCommands(r,e,n,i,s){if(typeof e!="string"){let u=e,{queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,params:m,data:b,title:R}=i,j=_(s,()=>u({params:m,data:b,queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,title:R}));if(j instanceof B)throw new Ne(j);e=j}let o=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),r,n);if(e[0]==="/")throw new Ne(o);return o}applyRedirectCreateUrlTree(r,e,n,i){let s=this.createSegmentGroup(r,e.root,n,i);return new B(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"&&s[0]===":"){let u=s.substring(1);n[i]=e[u]}else n[i]=s}),n}createSegmentGroup(r,e,n,i){let s=this.createSegments(r,e.segments,n,i),o={};return Object.entries(e.children).forEach(([u,a])=>{o[u]=this.createSegmentGroup(r,a,n,i)}),new y(s,o)}createSegments(r,e,n,i){return e.map(s=>s.path[0]===":"?this.findPosParam(r,s,i):this.findOrReturn(s,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new A(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}},rr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function rs(t,r,e,n,i){let s=$n(t,r,e);return s.matched?(n=bi(r,n),Ji(n,r,e,i).pipe(S(o=>o===!0?s:h({},rr)))):f(s)}function $n(t,r,e){var u,a;if(r.path==="**")return ns(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},rr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Yn)(e,t,r);if(!i)return h({},rr);let s={};Object.entries((u=i.posParams)!=null?u:{}).forEach(([c,l])=>{s[c]=l.path});let o=i.consumed.length>0?h(h({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:o,positionalParamSegments:(a=i.posParams)!=null?a:{}}}function ns(t){return{matched:!0,parameters:t.length>0?vn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function cn(t,r,e,n){return e.length>0&&os(t,e,n)?{segmentGroup:new y(r,ss(n,new y(e,t.children))),slicedSegments:[]}:e.length===0&&as(t,e,n)?{segmentGroup:new y(t.segments,is(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new y(t.segments,t.children),slicedSegments:e}}function is(t,r,e,n){let i={};for(let s of e)if(vt(t,r,s)&&!n[$(s)]){let o=new y([],{});i[$(s)]=o}return h(h({},n),i)}function ss(t,r){let e={};e[g]=r;for(let n of t)if(n.path===""&&$(n)!==g){let i=new y([],{});e[$(n)]=i}return e}function os(t,r,e){return e.some(n=>vt(t,r,n)&&$(n)!==g)}function as(t,r,e){return e.some(n=>vt(t,r,n))}function vt(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function us(t,r,e){return r.length===0&&!t.children[e]}var nr=class{};function cs(t,r,e,n,i,s,o="emptyOnly"){return new ir(t,r,e,n,i,o,s).recognize()}var ls=31,ir=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,s,o,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=s,this.paramsInheritanceStrategy=o,this.urlSerializer=u,this.applyRedirects=new tr(this.urlSerializer,this.urlTree)}noMatchError(r){return new A(4002,`'${r.segmentGroup}'`)}recognize(){let r=cn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(S(({children:e,rootSnapshot:n})=>{let i=new E(n,e),s=new lt("",i),o=vi(n,[],this.urlTree.queryParams,this.urlTree.fragment);return o.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(o),{state:s,tree:o}}))}match(r){let e=new le([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),g,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,g,e).pipe(S(n=>({children:n,rootSnapshot:e})),ne(n=>{if(n instanceof Ne)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof je?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,s){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,s):this.processSegment(r,e,n,n.segments,i,!0,s).pipe(S(o=>o instanceof E?[o]:[]))}processChildren(r,e,n,i){let s=[];for(let o of Object.keys(n.children))o==="primary"?s.unshift(o):s.push(o);return D(s).pipe(ie(o=>{let u=n.children[o],a=Ii(e,o);return this.processSegmentGroup(r,a,u,o,i)}),wr((o,u)=>(o.push(...u),o)),Ct(null),Rr(),O(o=>{if(o===null)return ae(n);let u=kn(o);return hs(u),f(u)}))}processSegment(r,e,n,i,s,o,u){return D(e).pipe(ie(a=>{var c;return this.processSegmentAgainstRoute((c=a._injector)!=null?c:r,e,a,n,i,s,o,u).pipe(ne(l=>{if(l instanceof je)return f(null);throw l}))}),Q(a=>!!a),ne(a=>{if(Nn(a))return us(n,i,s)?f(new nr):ae(n);throw a}))}processSegmentAgainstRoute(r,e,n,i,s,o,u,a){return $(n)!==o&&(o===g||!vt(i,s,n))?ae(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,s,o,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,s,o,a):ae(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,s,o,u){var j,H;let{matched:a,parameters:c,consumedSegments:l,positionalParamSegments:v,remainingSegments:d}=$n(e,i,s);if(!a)return ae(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>ls&&(this.allowRedirects=!1));let m=new le(s,c,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(i),$(i),(H=(j=i.component)!=null?j:i._loadedComponent)!=null?H:null,i,hn(i)),b=ct(m,u,this.paramsInheritanceStrategy);m.params=Object.freeze(b.params),m.data=Object.freeze(b.data);let R=this.applyRedirects.applyRedirectCommands(l,i.redirectTo,v,m,r);return this.applyRedirects.lineralizeSegments(i,R).pipe(O(Y=>this.processSegment(r,n,e,Y.concat(d),o,!1,u)))}matchSegmentAgainstRoute(r,e,n,i,s,o){let u=rs(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(N(a=>{var c;return a.matched?(r=(c=n._injector)!=null?c:r,this.getChildConfig(r,n,i).pipe(N(({routes:l})=>{var dr,fr,pr;let v=(dr=n._loadedInjector)!=null?dr:r,{parameters:d,consumedSegments:m,remainingSegments:b}=a,R=new le(m,d,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(n),$(n),(pr=(fr=n.component)!=null?fr:n._loadedComponent)!=null?pr:null,n,hn(n)),j=ct(R,o,this.paramsInheritanceStrategy);R.params=Object.freeze(j.params),R.data=Object.freeze(j.data);let{segmentGroup:H,slicedSegments:Y}=cn(e,m,b,l);if(Y.length===0&&H.hasChildren())return this.processChildren(v,l,H,R).pipe(S(Be=>new E(R,Be)));if(l.length===0&&Y.length===0)return f(new E(R,[]));let Zn=$(n)===s;return this.processSegment(v,l,H,Y,Zn?g:s,!0,R).pipe(S(Be=>new E(R,Be instanceof E?[Be]:[])))}))):ae(e)}))}getChildConfig(r,e,n){return e.children?f({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?f({routes:e._loadedRoutes,injector:e._loadedInjector}):Xi(r,e,n,this.urlSerializer).pipe(O(i=>i?this.configLoader.loadChildren(r,e).pipe(I(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):ts(e))):f({routes:[],injector:r})}};function hs(t){t.sort((r,e)=>r.value.outlet===g?-1:e.value.outlet===g?1:r.value.outlet.localeCompare(e.value.outlet))}function ds(t){let r=t.value.routeConfig;return r&&r.path===""}function kn(t){let r=[],e=new Set;for(let n of t){if(!ds(n)){r.push(n);continue}let i=r.find(s=>n.value.routeConfig===s.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=kn(n.children);r.push(new E(n.value,i))}return r.filter(n=>!e.has(n))}function ln(t){return t.data||{}}function hn(t){return t.resolve||{}}function fs(t,r,e,n,i,s){return O(o=>cs(t,r,e,n,o.extractedUrl,i,s).pipe(S(({state:u,tree:a})=>T(h({},o),{targetSnapshot:u,urlAfterRedirects:a}))))}function ps(t,r){return O(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return f(e);let s=new Set(i.map(a=>a.route)),o=new Set;for(let a of s)if(!o.has(a))for(let c of _n(a))o.add(c);let u=0;return D(o).pipe(ie(a=>s.has(a)?gs(a,n,t,r):(a.data=ct(a,a.parent,t).resolve,f(void 0))),I(()=>u++),Rt(1),O(a=>u===o.size?f(e):G))})}function _n(t){let r=t.children.map(e=>_n(e)).flat();return[t,...r]}function gs(t,r,e,n){let i=t.routeConfig,s=t._resolve;return(i==null?void 0:i.title)!==void 0&&!Un(i)&&(s[Le]=i.title),vs(s,t,r,n).pipe(S(o=>(t._resolvedData=o,t.data=ct(t,t.parent,e).resolve,null)))}function vs(t,r,e,n){let i=Nt(t);if(i.length===0)return f({});let s={};return D(i).pipe(O(o=>ms(t[o],r,e,n).pipe(Q(),I(u=>{if(u instanceof Pe)throw ht(new fe,u);s[o]=u}))),Rt(1),Cr(s),ne(o=>Nn(o)?G:ye(o)))}function ms(t,r,e,n){var u;let i=(u=ke(r))!=null?u:n,s=me(t,i),o=s.resolve?s.resolve(r,e):_(i,()=>s(r,e));return Z(o)}function Pt(t){return N(r=>{let e=t(r);return e?D(e).pipe(S(()=>r)):f(r)})}var zn=(()=>{class t{buildTitle(e){var s;let n,i=e.root;for(;i!==void 0;)n=(s=this.getResolvedTitleForRoute(i))!=null?s:n,i=i.children.find(o=>o.outlet===g);return n}getResolvedTitleForRoute(e){return e.data[Le]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ys),providedIn:"root"})}return t})(),ys=(()=>{class t extends zn{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(F(rn))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fe=new M("",{providedIn:"root",factory:()=>({})}),Ss=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=$r({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(n,i){n&1&&Hr(0,"router-outlet")},dependencies:[Mi],encapsulation:2})}return t})();function ar(t){let r=t.children&&t.children.map(ar),e=r?T(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==g&&(e.component=Ss),e}var ft=new M(""),ur=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=p(Qe);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return f(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=Z(e.loadComponent()).pipe(S(Fn),I(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),He(()=>{this.componentLoaders.delete(e)})),i=new yt(n,()=>new W).pipe(mt());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return f({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let s=Cs(n,this.compiler,e,this.onLoadEndListener).pipe(He(()=>{this.childrenLoaders.delete(n)})),o=new yt(s,()=>new W).pipe(mt());return this.childrenLoaders.set(n,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Cs(t,r,e,n){return Z(t.loadChildren()).pipe(S(Fn),O(i=>i instanceof Lr||Array.isArray(i)?f(i):D(r.compileModuleAsync(i))),S(i=>{n&&n(t);let s,o,u=!1;return Array.isArray(i)?(o=i,u=!0):(s=i.create(e).injector,o=s.get(ft,[],{optional:!0,self:!0}).flat()),{routes:o.map(ar),injector:s}}))}function Rs(t){return t&&typeof t=="object"&&"default"in t}function Fn(t){return Rs(t)?t.default:t}var cr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ws),providedIn:"root"})}return t})(),ws=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),qn=new M(""),Bn=new M("");function bs(t,r,e){let n=t.get(Bn),i=t.get(Yr);return t.get(At).runOutsideAngular(()=>{if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(c=>setTimeout(c));let s,o=new Promise(c=>{s=c}),u=i.startViewTransition(()=>(s(),Is(t))),{onViewTransitionCreated:a}=n;return a&&_(t,()=>a({transition:u,from:r,to:e})),o})}function Is(t){return new Promise(r=>{xr({read:()=>setTimeout(r)},{injector:t})})}var Vn=new M(""),lr=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new W;transitionAbortSubject=new W;configLoader=p(ur);environmentInjector=p(Ce);urlSerializer=p($e);rootContexts=p(_e);location=p(we);inputBindingEnabled=p(gt,{optional:!0})!==null;titleStrategy=p(zn);options=p(Fe,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=p(cr);createViewTransition=p(qn,{optional:!0});navigationErrorHandler=p(Vn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>f(void 0);rootComponentType=null;constructor(){let e=i=>this.events.next(new Bt(i)),n=i=>this.events.next(new Vt(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e}complete(){var e;(e=this.transitions)==null||e.complete()}handleNavigationRequest(e){var i;let n=++this.navigationId;(i=this.transitions)==null||i.next(T(h(h({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new x({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Me,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(s=>s.id!==0),S(s=>T(h({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),N(s=>{let o=!1,u=!1;return f(s).pipe(N(a=>{var v;if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),G;this.currentTransition=s,this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?T(h({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=(v=a.extras.onSameUrlNavigation)!=null?v:e.onSameUrlNavigation;if(!c&&l!=="reload"){let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.rawUrl),d,it.IgnoredSameUrlNavigation)),a.resolve(!1),G}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return f(a).pipe(N(d=>{var b,R;let m=(b=this.transitions)==null?void 0:b.getValue();return this.events.next(new pe(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),m!==((R=this.transitions)==null?void 0:R.getValue())?G:Promise.resolve(d)}),fs(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),I(d=>{s.targetSnapshot=d.targetSnapshot,s.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation=T(h({},this.currentNavigation),{finalUrl:d.urlAfterRedirects});let m=new st(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(m)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:d,extractedUrl:m,source:b,restoredState:R,extras:j}=a,H=new pe(d,this.urlSerializer.serialize(m),b,R);this.events.next(H);let Y=On(this.rootComponentType).snapshot;return this.currentTransition=s=T(h({},a),{targetSnapshot:Y,urlAfterRedirects:m,extras:T(h({},j),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=m,f(s)}else{let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.extractedUrl),d,it.IgnoredByUrlHandlingStrategy)),a.resolve(!1),G}}),I(a=>{let c=new _t(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),S(a=>(this.currentTransition=s=T(h({},a),{guards:Pi(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),s)),Vi(this.environmentInjector,a=>this.events.next(a)),I(a=>{if(s.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw ht(this.urlSerializer,a.guardsResult);let c=new zt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",U.GuardRejected),!1)),Pt(a=>{if(a.guards.canActivateChecks.length)return f(a).pipe(I(c=>{let l=new Ft(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),N(c=>{let l=!1;return f(c).pipe(ps(this.paramsInheritanceStrategy,this.environmentInjector),I({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",U.NoDataFromResolver)}}))}),I(c=>{let l=new qt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),Pt(a=>{let c=l=>{var d;let v=[];(d=l.routeConfig)!=null&&d.loadComponent&&!l.routeConfig._loadedComponent&&v.push(this.configLoader.loadComponent(l.routeConfig).pipe(I(m=>{l.component=m}),S(()=>{})));for(let m of l.children)v.push(...c(m));return v};return Ve(c(a.targetSnapshot.root)).pipe(Ct(null),se(1))}),Pt(()=>this.afterPreactivation()),N(()=>{var v;let{currentSnapshot:a,targetSnapshot:c}=s,l=(v=this.createViewTransition)==null?void 0:v.call(this,this.environmentInjector,a.root,c.root);return l?D(l).pipe(S(()=>s)):f(s)}),S(a=>{let c=Ti(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=s=T(h({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,s}),I(()=>{this.events.next(new Ue)}),xi(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),se(1),I({next:a=>{var c;o=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new k(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),(c=this.titleStrategy)==null||c.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),Ir(this.transitionAbortSubject.pipe(I(a=>{throw a}))),He(()=>{var a;!o&&!u&&this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),((a=this.currentTransition)==null?void 0:a.id)===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),ne(a=>{var c;if(u=!0,jn(a))this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),a.message,a.cancellationCode)),Ui(a)?this.events.next(new ge(a.url,a.navigationBehaviorOptions)):s.resolve(!1);else{let l=new Ee(s.id,this.urlSerializer.serialize(s.extractedUrl),a,(c=s.targetSnapshot)!=null?c:void 0);try{let v=_(this.environmentInjector,()=>{var d;return(d=this.navigationErrorHandler)==null?void 0:d.call(this,l)});if(v instanceof Pe){let{message:d,cancellationCode:m}=ht(this.urlSerializer,v);this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),d,m)),this.events.next(new ge(v.redirectTo,v.navigationBehaviorOptions))}else throw this.events.next(l),a}catch(v){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(v)}}return G}))}))}cancelNavigationTransition(e,n,i){let s=new q(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(s),e.resolve(!1)}isUpdatingInternalState(){var e,n;return((e=this.currentTransition)==null?void 0:e.extractedUrl.toString())!==((n=this.currentTransition)==null?void 0:n.currentUrlTree.toString())}isUpdatedBrowserUrl(){var i,s,o,u;let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=(o=(i=this.currentNavigation)==null?void 0:i.targetBrowserUrl)!=null?o:(s=this.currentNavigation)==null?void 0:s.extractedUrl;return e.toString()!==(n==null?void 0:n.toString())&&!((u=this.currentNavigation)!=null&&u.extras.skipLocationChange)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function As(t){return t!==Me}var Ds=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ms),providedIn:"root"})}return t})(),sr=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},Ms=(()=>{class t extends sr{static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ts),providedIn:"root"})}return t})(),Ts=(()=>{class t extends Hn{location=p(we);urlSerializer=p($e);options=p(Fe,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";urlHandlingStrategy=p(cr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new B;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){var e,n;return this.canceledNavigationResolution!=="computed"?this.currentPageId:(n=(e=this.restoredState())==null?void 0:e.\u0275routerPageId)!=null?n:this.currentPageId}routerState=On(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){var i,s;if(e instanceof pe)this.stateMemento=this.createStateMemento();else if(e instanceof K)this.rawUrlTree=n.initialUrl;else if(e instanceof st){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl((i=n.targetBrowserUrl)!=null?i:o,n)}}else e instanceof Ue?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl((s=n.targetBrowserUrl)!=null?s:this.rawUrlTree,n)):e instanceof q&&(e.code===U.GuardRejected||e.code===U.NoDataFromResolver)?this.restoreHistory(n):e instanceof Ee?this.restoreHistory(n,!0):e instanceof k&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=e instanceof B?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let s=this.browserPageId,o=h(h({},n.extras.state),this.generateNgRouterState(n.id,s));this.location.replaceState(i,"",o)}else{let s=h(h({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",s)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,s=this.currentPageId-i;s!==0?this.location.historyGo(s):this.currentUrlTree===e.finalUrl&&s===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){var n;this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,(n=e.finalUrl)!=null?n:this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ae=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Ae||{});function Wn(t,r){t.events.pipe(X(e=>e instanceof k||e instanceof q||e instanceof Ee||e instanceof K),S(e=>e instanceof k||e instanceof K?Ae.COMPLETE:(e instanceof q?e.code===U.Redirect||e.code===U.SupersededByNewNavigation:!1)?Ae.REDIRECTING:Ae.FAILED),X(e=>e!==Ae.REDIRECTING),se(1)).subscribe(()=>{r()})}var Os={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Es={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},V=(()=>{var r,e;class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=p(zr);stateManager=p(Hn);options=p(Fe,{optional:!0})||{};pendingTasks=p(Er);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=p(lr);urlSerializer=p($e);location=p(we);urlHandlingStrategy=p(cr);_events=new W;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=p(Ds);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=(e=(r=p(ft,{optional:!0}))==null?void 0:r.flat())!=null?e:[];componentInputBindingEnabled=!!p(gt,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:i=>{this.console.warn(i)}}),this.subscribeToNavigationEvents()}eventsSubscription=new gr;subscribeToNavigationEvents(){let i=this.navigationTransitions.events.subscribe(s=>{try{let o=this.navigationTransitions.currentTransition,u=this.navigationTransitions.currentNavigation;if(o!==null&&u!==null){if(this.stateManager.handleRouterEvent(s,u),s instanceof q&&s.code!==U.Redirect&&s.code!==U.SupersededByNewNavigation)this.navigated=!0;else if(s instanceof k)this.navigated=!0;else if(s instanceof ge){let a=s.navigationBehaviorOptions,c=this.urlHandlingStrategy.merge(s.url,o.currentRawUrl),l=h({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||As(o.source)},a);this.scheduleNavigation(c,Me,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}xs(s)&&this._events.next(s)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(i)}resetRootComponentType(i){this.routerState.root.component=i,this.navigationTransitions.rootComponentType=i}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Me,this.stateManager.restoredState())}setUpLocationChangeListener(){var i;(i=this.nonRouterCurrentEntryChangeSubscription)!=null||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((s,o)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(s,"popstate",o)},0)}))}navigateToSyncWithBrowser(i,s,o){let u={replaceUrl:!0},a=o!=null&&o.navigationId?o:null;if(o){let l=h({},o);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(u.state=l)}let c=this.parseUrl(i);this.scheduleNavigation(c,s,a,u)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(i){this.config=i.map(ar),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(i,s={}){let{relativeTo:o,queryParams:u,fragment:a,queryParamsHandling:c,preserveFragment:l}=s,v=l?this.currentUrlTree.fragment:a,d=null;switch(c!=null?c:this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),u);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=u||null}d!==null&&(d=this.removeEmptyProps(d));let m;try{let b=o?o.snapshot:this.routerState.snapshot.root;m=An(b)}catch{(typeof i[0]!="string"||i[0][0]!=="/")&&(i=[]),m=this.currentUrlTree.root}return Dn(m,i,d,v!=null?v:null)}navigateByUrl(i,s={skipLocationChange:!1}){let o=te(i)?i:this.parseUrl(i),u=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(u,Me,null,s)}navigate(i,s={skipLocationChange:!1}){return Us(i),this.navigateByUrl(this.createUrlTree(i,s),s)}serializeUrl(i){return this.urlSerializer.serialize(i)}parseUrl(i){try{return this.urlSerializer.parse(i)}catch{return this.urlSerializer.parse("/")}}isActive(i,s){let o;if(s===!0?o=h({},Os):s===!1?o=h({},Es):o=s,te(i))return nn(this.currentUrlTree,i,o);let u=this.parseUrl(i);return nn(this.currentUrlTree,u,o)}removeEmptyProps(i){return Object.entries(i).reduce((s,[o,u])=>(u!=null&&(s[o]=u),s),{})}scheduleNavigation(i,s,o,u,a){if(this.disposed)return Promise.resolve(!1);let c,l,v;a?(c=a.resolve,l=a.reject,v=a.promise):v=new Promise((m,b)=>{c=m,l=b});let d=this.pendingTasks.add();return Wn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:s,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:i,extras:u,resolve:c,reject:l,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(m=>Promise.reject(m))}static \u0275fac=function(s){return new(s||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Us(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new A(4008,!1)}function xs(t){return!(t instanceof Ue)&&!(t instanceof ge)}var dn=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new W;constructor(e,n,i,s,o,u){var c;this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=s,this.el=o,this.locationStrategy=u;let a=(c=o.nativeElement.tagName)==null?void 0:c.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=e.events.subscribe(l=>{l instanceof k&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(te(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,s,o){let u=this.urlTree;if(u===null||this.isAnchorElement&&(e!==0||n||i||s||o||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){var e;(e=this.subscription)==null||e.unsubscribe()}updateHref(){var i;let e=this.urlTree;this.href=e!==null&&this.locationStrategy?(i=this.locationStrategy)==null?void 0:i.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:Pr(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,s=this.el.nativeElement;n!==null?i.setAttribute(s,e,n):i.removeAttribute(s,e)}get urlTree(){return this.routerLinkInput===null?null:te(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(n){return new(n||t)(L(V),L(re),Or("tabindex"),L(Mt),L(Dt),L(Re))};static \u0275dir=Ge({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&Wr("click",function(o){return i.onClick(o.button,o.ctrlKey,o.shiftKey,o.altKey,o.metaKey)}),n&2&&Vr("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ze],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ze],replaceUrl:[2,"replaceUrl","replaceUrl",Ze],routerLink:"routerLink"},features:[_r,We]})}return t})(),Ro=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new oe;constructor(e,n,i,s,o){this.router=e,this.element=n,this.renderer=i,this.cdr=s,this.link=o,this.routerEventsSubscription=e.events.subscribe(u=>{u instanceof k&&this.update()})}ngAfterContentInit(){f(this.links.changes,f(null)).pipe(Se()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var n;(n=this.linkInputChangesSubscription)==null||n.unsubscribe();let e=[...this.links.toArray(),this.link].filter(i=>!!i).map(i=>i.onChanges);this.linkInputChangesSubscription=D(e).pipe(Se()).subscribe(i=>{this._isActive!==this.isLinkActive(this.router)(i)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){var e;this.routerEventsSubscription.unsubscribe(),(e=this.linkInputChangesSubscription)==null||e.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=Ps(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let s=i.urlTree;return s?e.isActive(s,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(L(V),L(Dt),L(Mt),L(Ke),L(dn,8))};static \u0275dir=Ge({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,s){if(n&1&&Gr(s,dn,5),n&2){let o;Qr(o=Kr())&&(i.links=o)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[We]})}return t})();function Ps(t){return!!t.paths}var pt=class{};var js=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,s,o){this.router=e,this.injector=i,this.preloadingStrategy=s,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(X(e=>e instanceof k),ie(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){var s,o,u;let i=[];for(let a of n){a.providers&&!a._injector&&(a._injector=Tt(a.providers,e,`Route: ${a.path}`));let c=(s=a._injector)!=null?s:e,l=(o=a._loadedInjector)!=null?o:c;(a.loadChildren&&!a._loadedRoutes&&a.canLoad===void 0||a.loadComponent&&!a._loadedComponent)&&i.push(this.preloadConfig(c,a)),(a.children||a._loadedRoutes)&&i.push(this.processRoutes(l,(u=a.children)!=null?u:a._loadedRoutes))}return D(i).pipe(Se())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=f(null);let s=i.pipe(O(o=>{var u;return o===null?f(void 0):(n._loadedRoutes=o.routes,n._loadedInjector=o.injector,this.processRoutes((u=o.injector)!=null?u:e,o.routes))}));if(n.loadComponent&&!n._loadedComponent){let o=this.loader.loadComponent(n);return D([s,o]).pipe(Se())}else return s})}static \u0275fac=function(n){return new(n||t)(F(V),F(Qe),F(Ce),F(pt),F(ur))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Gn=new M(""),Ns=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource="imperative";restoredId=0;store={};constructor(e,n,i,s,o={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=s,this.options=o,o.scrollPositionRestoration||(o.scrollPositionRestoration="disabled"),o.anchorScrolling||(o.anchorScrolling="disabled")}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof pe?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof k?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof K&&e.code===it.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ot&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ot(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})},0)})}ngOnDestroy(){var e,n;(e=this.routerEventsSubscription)==null||e.unsubscribe(),(n=this.scrollEventsSubscription)==null||n.unsubscribe()}static \u0275fac=function(n){jr()};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ls(t){return t.routerState.root}function qe(t,r){return{\u0275kind:t,\u0275providers:r}}function $s(){let t=p(It);return r=>{var s,o;let e=t.get(Br);if(r!==e.components[0])return;let n=t.get(V),i=t.get(Qn);t.get(hr)===1&&n.initialNavigation(),(s=t.get(Kn,null,wt.Optional))==null||s.setUpPreloading(),(o=t.get(Gn,null,wt.Optional))==null||o.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Qn=new M("",{factory:()=>new W}),hr=new M("",{providedIn:"root",factory:()=>1});function ks(){return qe(2,[{provide:hr,useValue:0},{provide:Ot,multi:!0,deps:[It],useFactory:r=>{let e=r.get(Xr,Promise.resolve());return()=>e.then(()=>new Promise(n=>{let i=r.get(V),s=r.get(Qn);Wn(i,()=>{n(!0)}),r.get(lr).afterPreactivation=()=>(n(!0),s.closed?f(void 0):s),i.initialNavigation()}))}}])}function _s(){return qe(3,[{provide:Ot,multi:!0,useFactory:()=>{let r=p(V);return()=>{r.setUpLocationChangeListener()}}},{provide:hr,useValue:2}])}var Kn=new M("");function zs(t){return qe(0,[{provide:Kn,useExisting:js},{provide:pt,useExisting:t}])}function Fs(){return qe(8,[un,{provide:gt,useExisting:un}])}function qs(t){let r=[{provide:qn,useValue:bs},{provide:Bn,useValue:h({skipNextTransition:!!(t!=null&&t.skipInitialTransition)},t)}];return qe(9,r)}var fn=new M("ROUTER_FORROOT_GUARD"),Bs=[we,{provide:$e,useClass:fe},V,_e,{provide:re,useFactory:Ls,deps:[V]},ur,[]],wo=(()=>{class t{constructor(e){}static forRoot(e,n){return{ngModule:t,providers:[Bs,[],{provide:ft,multi:!0,useValue:e},{provide:fn,useFactory:Gs,deps:[[V,new Mr,new Tr]]},n!=null&&n.errorHandler?{provide:Vn,useValue:n.errorHandler}:[],{provide:Fe,useValue:n||{}},n!=null&&n.useHash?Hs():Ws(),Vs(),n!=null&&n.preloadingStrategy?zs(n.preloadingStrategy).\u0275providers:[],n!=null&&n.initialNavigation?Qs(n):[],n!=null&&n.bindToComponentInputs?Fs().\u0275providers:[],n!=null&&n.enableViewTransitions?qs().\u0275providers:[],Ks()]}}static forChild(e){return{ngModule:t,providers:[{provide:ft,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)(F(fn,8))};static \u0275mod=kr({type:t});static \u0275inj=Ar({})}return t})();function Vs(){return{provide:Gn,useFactory:()=>{let t=p(tn),r=p(At),e=p(Fe),n=p(lr),i=p($e);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Ns(i,n,t,r,e)}}}function Hs(){return{provide:Re,useClass:en}}function Ws(){return{provide:Re,useClass:Jr}}function Gs(t){return"guarded"}function Qs(t){return[t.initialNavigation==="disabled"?_s().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ks().\u0275providers:[]]}var pn=new M("");function Ks(){return[{provide:pn,useFactory:$s},{provide:qr,multi:!0,useExisting:pn}]}export{k as a,re as b,Mi as c,V as d,dn as e,Ro as f,wo as g};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-JRYIDN5A.js";import"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import"./chunk-T3GI7KUT.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import"./chunk-675OFXLW.js";import"./chunk-CKNHTRCL.js";export{a as PowerOptionsComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-AEEEQIJE.js";import"./chunk-XP7D2PRA.js";import"./chunk-2JINSU5B.js";import"./chunk-NSCP3SOQ.js";import"./chunk-JF5AT3NK.js";import"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import"./chunk-T3GI7KUT.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import"./chunk-675OFXLW.js";import"./chunk-CKNHTRCL.js";export{a as ConfigEditorComponent};
@@ -1 +0,0 @@
1
- import{T as ie,a as U,b as X,c as Y,f as te}from"./chunk-B76GBL4B.js";import{a as ne}from"./chunk-JF5AT3NK.js";import{m as E,n as K,o as Q}from"./chunk-N4F42HDL.js";import{c as W,e as R,f as j,i as z,l as G,m as q,y as J}from"./chunk-YLEC7AUG.js";import{c as ee}from"./chunk-5ZSNNIKJ.js";import{b as Z}from"./chunk-FD7DU2T6.js";import{b as w}from"./chunk-675OFXLW.js";import{Bb as S,Cc as s,Dc as l,Ec as H,Lb as v,Mb as _,Rb as h,Tb as D,Ub as I,Vb as V,Wb as a,Xb as r,Yb as d,ac as B,bd as O,db as L,dc as f,ec as p,ib as n,na as g,oc as c,pc as u,qc as M,tc as k,ub as y,uc as T,vc as A,xa as x,xc as N,ya as C,yc as P}from"./chunk-CKNHTRCL.js";var oe=(()=>{class t{$activeModal=g(E);constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:33,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-right"]],template:function(o,i){o&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"),f("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(8,"span",4),c(9,"\xD7"),r()()(),a(10,"div",5)(11,"div",6),d(12,"i",7),r(),a(13,"ul",8)(14,"li"),c(15),s(16,"translate"),r(),a(17,"li"),c(18),s(19,"translate"),r(),a(20,"li"),c(21),s(22,"translate"),r(),a(23,"li"),c(24),s(25,"translate"),r()()(),a(26,"div",9),d(27,"div",10),a(28,"div",11)(29,"button",12),f("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(30),s(31,"translate"),r()(),d(32,"div",13),r()()()),o&2&&(n(4),u(l(5,7,"support.title")),n(2),v("aria-label",l(7,9,"form.button_close")),n(9),u(l(16,11,"accessories.support.list_1")),n(3),u(l(19,13,"accessories.support.list_2")),n(3),u(l(22,15,"accessories.support.list_3")),n(3),u(l(25,17,"accessories.support.list_4")),n(6),M(" ",l(31,19,"form.button_close")," "))},dependencies:[w],encapsulation:2})}return t})();var se=()=>({standalone:!0}),ae=(()=>{class t{$activeModal=g(E);roomName;constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","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-left","text-md-right","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-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,i){o&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"),f("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(8,"span",4),c(9,"\xD7"),r()()(),a(10,"div",5)(11,"div",6),d(12,"i",7),r(),a(13,"ul",8)(14,"li",9)(15,"label",10),c(16),s(17,"translate"),r(),a(18,"div",11)(19,"input",12),A("ngModelChange",function($){return T(i.roomName,$)||(i.roomName=$),$}),f("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),r()()()()(),a(20,"div",13)(21,"div",14)(22,"button",15),f("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(23),s(24,"translate"),r()(),d(25,"div",16),a(26,"div",17)(27,"button",18),f("click",function(){return i.$activeModal.close(i.roomName)}),c(28),s(29,"translate"),r()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),v("aria-label",l(7,10,"form.button_close")),n(10),u(l(17,12,"accessories.room_name")),n(3),k("ngModel",i.roomName),_("ngModelOptions",N(18,se)),n(4),M(" ",l(24,14,"form.button_close")," "),n(4),_("disabled",!i.roomName),n(),M(" ",l(29,16,"form.button_save")," "))},dependencies:[J,q,W,R,j,G,z,w],encapsulation:2})}return t})();var re=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=y({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(o,i){o&1&&(a(0,"div",0),d(1,"i",1),a(2,"div",2),c(3),s(4,"translate"),r()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var le=t=>({"cursor-move":t}),ce=t=>({link:t});function de(t,b){if(t&1&&(a(0,"div",0)(1,"div",18)(2,"h5",19),c(3),s(4,"translate"),r()()()),t&2){let e=p().$implicit,o=p(2);n(2),_("ngClass",P(4,le,!o.isMobile)),n(),M(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function pe(t,b){if(t&1&&(a(0,"div",22),d(1,"app-accessory-tile",23),r()),t&2){let e=p().$implicit;n(),_("service",e)}}function me(t,b){if(t&1&&S(0,pe,2,1,"div",22),t&2){let e=b.$implicit,o=p(4);h(!o.hideHidden||!e.hidden?0:-1)}}function ue(t,b){if(t&1){let e=B();a(0,"div",20),A("dragulaModelChange",function(i){x(e);let m=p().$implicit;return T(m.services,i)||(m.services=i),C(i)}),I(1,me,1,1,null,null,D),d(3,"div",21)(4,"div",21)(5,"div",21)(6,"div",21)(7,"div",21)(8,"div",21)(9,"div",21)(10,"div",21)(11,"div",21)(12,"div",21)(13,"div",21)(14,"div",21)(15,"div",21)(16,"div",21)(17,"div",21),r()}if(t&2){let e=p().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services),n(),V(e.services)}}function _e(t,b){if(t&1){let e=B();a(0,"div",24),A("dragulaModelChange",function(i){x(e);let m=p().$implicit;return T(m.services,i)||(m.services=i),C(i)}),d(1,"app-drag-here-placeholder",25),r()}if(t&2){let e=p().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function fe(t,b){if(t&1&&(S(0,de,5,6,"div",0),a(1,"div",15),S(2,ue,18,2,"div",16)(3,_e,2,2,"div",17),r()),t&2){let e=b.$implicit,o=p(2);h(!o.isMobile||e.services.length?0:-1),n(2),h(e.services.length?2:-1),n(),h(!e.services.length&&!o.isMobile?3:-1)}}function ge(t,b){if(t&1){let e=B();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"div",5)(7,"button",6),s(8,"translate"),s(9,"translate"),f("click",function(){x(e);let i=p();return C(i.addRoom())}),d(10,"i",7),r()(),a(11,"div",5)(12,"button",6),s(13,"translate"),s(14,"translate"),s(15,"translate"),s(16,"translate"),f("click",function(){x(e);let i=p();return C(i.hideHidden=!i.hideHidden)}),d(17,"i",8),r()(),a(18,"div",5)(19,"button",9),s(20,"translate"),s(21,"translate"),f("click",function(){x(e);let i=p();return C(i.toggleLayoutLock())}),d(22,"i",10),r(),a(23,"button",9),s(24,"translate"),s(25,"translate"),f("click",function(){x(e);let i=p();return C(i.toggleLayoutLock())}),d(26,"i",11),r()(),a(27,"button",12),s(28,"translate"),f("click",function(){x(e);let i=p();return C(i.openSupport())}),d(29,"i",13),r()()(),a(30,"div",14),A("dragulaModelChange",function(i){x(e);let m=p();return T(m.$accessories.rooms,i)||(m.$accessories.rooms=i),C(i)}),I(31,fe,4,3,null,null,D),r()}if(t&2){let e=p();n(3),u(l(4,17,"accessories.title_accessories")),n(4),_("hidden",e.isMobile)("ngbTooltip",l(8,19,"accessories.button_add_room")),v("aria-label",l(9,21,"accessories.button_add_room")),n(5),_("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(13,23,"accessories.button_hidden_show"):l(14,25,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(15,27,"accessories.button_hidden_show"):l(16,29,"accessories.button_hidden_hide")),n(5),_("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),_("disabled",!e.isMobile)("ngbTooltip",l(20,31,"form.button_unlock")),v("aria-label",l(21,33,"form.button_unlock")),n(4),_("disabled",e.isMobile)("ngbTooltip",l(24,35,"form.button_lock")),v("aria-label",l(25,37,"form.button_lock")),n(4),v("aria-label",l(28,39,"support.title")),n(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),n(),V(e.$accessories.rooms)}}function be(t,b){t&1&&(a(0,"p",32),c(1),s(2,"translate"),r()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ve(t,b){if(t&1&&(a(0,"div",0)(1,"div",26)(2,"h3",27),c(3),s(4,"translate"),r()(),a(5,"div",28)(6,"div",29)(7,"h5",30),c(8),s(9,"translate"),r(),d(10,"p",31),s(11,"translate"),S(12,be,3,3,"p",32),r()()()),t&2){let e=p();n(3),u(l(4,4,"accessories.title_accessories")),n(5),u(l(9,6,"accessories.control_disabled")),n(2),_("innerHTML",H(11,8,"accessories.message_must_use_insecure_mode",P(11,ce,e.linkInsecure)),L),n(2),h(e.$auth.user.admin?12:-1)}}var Qe=(()=>{class t{$auth=g(ee);dragulaService=g(U);$modal=g(K);$settings=g(Z);$md=g(ne);$accessories=g(te);isMobile=!1;hideHidden=!0;orderSubscription;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(o,i,m)=>!this.isMobile&&m.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:o=>!this.isMobile&&!o.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ae,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(o=>o.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}openSupport(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],["type","button",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"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",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&S(0,ge,33,41)(1,ve,13,13,"div",0),o&2&&(h(i.$settings.env.enableAccessories?0:-1),n(),h(i.$settings.env.enableAccessories?-1:1))},dependencies:[Q,O,Y,X,ie,re,w],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}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ae as a,Qe as b};
@@ -1 +0,0 @@
1
- import{a as f}from"./chunk-6EYZFG24.js";import{a as s}from"./chunk-S7WIN5GE.js";import"./chunk-X5YRTZFZ.js";import"./chunk-23M23WV2.js";import"./chunk-ECPXULUG.js";import"./chunk-2JINSU5B.js";import"./chunk-NSCP3SOQ.js";import"./chunk-5KLZWFYX.js";import"./chunk-JF5AT3NK.js";import"./chunk-UI554AVG.js";import"./chunk-C2XBPNOQ.js";import"./chunk-474BOAR2.js";import"./chunk-RP5TYXWG.js";import"./chunk-7BCHGXO4.js";import"./chunk-WONZP2FV.js";import"./chunk-XFK2EZ3K.js";import"./chunk-EEDUUZ6J.js";import{q as l}from"./chunk-N4F42HDL.js";import{y as m,z as u}from"./chunk-YLEC7AUG.js";import"./chunk-KDRA3MEJ.js";import{g as e}from"./chunk-T3GI7KUT.js";import"./chunk-5ZSNNIKJ.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import{c as p}from"./chunk-675OFXLW.js";import{ia as t,kd as n,vb as r}from"./chunk-CKNHTRCL.js";var g=[{path:"",loadComponent:()=>import("./chunk-HMLHVDJF.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1 +0,0 @@
1
- import{m as X}from"./chunk-N4F42HDL.js";import{e as q,l as G,r as H,s as J,t as K,y as Q}from"./chunk-YLEC7AUG.js";import{d as te}from"./chunk-T3GI7KUT.js";import{h as ee,k as ie}from"./chunk-LGXZ3NIY.js";import{a as Y,b as Z}from"./chunk-675OFXLW.js";import{Ac as W,Bb as x,Cc as d,Dc as m,Lb as $,Mb as h,Rb as u,Tb as k,Ub as E,Vb as T,Wb as a,Xb as o,Yb as B,a as M,ac as S,b as V,bd as z,dc as b,ec as c,h as F,ib as s,na as w,oc as r,pc as g,qc as I,rc as L,tc as N,ub as U,uc as P,vc as j,w as A,xa as v,ya as C,zc as O}from"./chunk-CKNHTRCL.js";var se=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ae=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function oe(t,l){t&1&&(a(0,"div",13),B(1,"i",14),o(),a(2,"p",15),r(3),d(4,"translate"),o()),t&2&&(s(3),g(m(4,1,"reset.no_accessories")))}function re(t,l){if(t&1&&(a(0,"option",25),r(1),o()),t&2){let e=l.$implicit;h("value",e._id),s(),L("",e.name," (",e._username,")")}}function le(t,l){if(t&1){let e=S();a(0,"li",21),r(1),d(2,"translate"),o(),a(3,"li",19)(4,"label",22),r(5),d(6,"translate"),o(),a(7,"div",23)(8,"select",24),j("ngModelChange",function(i){v(e);let _=c(2);return P(_.selectedBridge,i)||(_.selectedBridge=i),C(i)}),b("change",function(i){v(e);let _=c(2);return C(_.onBridgeChange(i.target.value))}),E(9,re,2,3,"option",25,k),o()()()}if(t&2){let e=c(2);s(),g(m(2,3,"form.label.changes_kept")),s(4),g(m(6,5,"reset.accessory_ind.bridge")),s(3),N("ngModel",e.selectedBridge),s(),T(e.pairings)}}function ce(t,l){if(t&1&&(a(0,"li",19)(1,"label",26),r(2),d(3,"translate"),o(),a(4,"div",27),r(5),o()()),t&2){let e=c(2);s(2),g(m(3,2,"reset.accessory_ind.bridge")),s(3),I(" ",e.getCurrentlySelectedBridge()," ")}}function de(t,l){if(t&1){let e=S();a(0,"li",20)(1,"span"),r(2),B(3,"br"),a(4,"small")(5,"span",28),r(6),o()()(),a(7,"button",29),d(8,"translate"),b("click",function(){let i=v(e).$implicit,_=c(2);return C(_.toggleList(i.UUID,i.$cacheFile))}),B(9,"i",30),o()()}if(t&2){let e=l.$implicit,n=c(2);s(2),I(" ",e.displayName,""),s(4),g(e.UUID),s(),h("disabled",n.clicked)("ngClass",O(8,se,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),$("aria-label",m(8,6,"form.button_delete")),s(2),h("ngClass",W(11,ae,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function me(t,l){if(t&1&&(a(0,"div",13),B(1,"i",16),o(),a(2,"ul",17)(3,"li"),r(4),d(5,"translate"),o(),a(6,"li"),r(7),d(8,"translate"),o(),a(9,"li"),r(10),d(11,"translate"),o()(),a(12,"ul",18),x(13,le,11,7)(14,ce,6,4,"li",19),E(15,de,10,15,"li",20,k),o()),t&2){let e=c();s(4),g(m(5,5,"reset.accessory_ind.list_1")),s(3),g(m(8,7,"reset.accessory_ind.list_2")),s(3),g(m(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),T(e.selectedBridgeAccessories)}}function pe(t,l){if(t&1){let e=S();a(0,"button",31),b("click",function(){v(e);let i=c();return C(i.$activeModal.dismiss("Dismiss"))}),r(1),d(2,"translate"),o()}if(t&2){let e=c();h("disabled",e.clicked),s(),I(" ",m(2,2,"form.button_close")," ")}}function _e(t,l){if(t&1){let e=S();a(0,"button",32),b("click",function(){v(e);let i=c();return C(i.$activeModal.dismiss("Dismiss"))}),r(1),d(2,"translate"),o()}t&2&&(s(),I(" ",m(2,1,"form.button_close")," "))}function ue(t,l){if(t&1&&r(0),t&2){let e=c(3);I(" (",e.toDelete.length,") ")}}function ge(t,l){if(t&1&&(r(0),d(1,"translate"),x(2,ue,1,1)),t&2){let e=c(2);I(" ",m(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function xe(t,l){t&1&&B(0,"i",34)}function fe(t,l){if(t&1){let e=S();a(0,"button",33),b("click",function(){v(e);let i=c();return C(i.removeAccessories())}),x(1,ge,3,4)(2,xe,1,0,"i",34),o()}if(t&2){let e=c();h("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var Te=(()=>{class t{$activeModal=w(X);$api=w(ie);$router=w(te);$toastr=w(ee);$translate=w(Y);pairings=[];selectedBridge="";clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return F(this,null,function*(){var e;try{let[n,i]=yield Promise.all([A(this.$api.get("/server/cached-accessories")),A(this.$api.get("/server/pairings"))]),_=new Map(i.map(p=>[p._id,V(M({},p),{accessories:[]})]));n.sort((p,f)=>p.displayName.localeCompare(f.displayName)).forEach(p=>{var D,R;let f=i.find(ne=>ne._main),y=((R=(D=p.$cacheFile)==null?void 0:D.split("."))==null?void 0:R[1])||f._id;(!this.selectedBridge||this.selectedBridge===y)&&(_.has(y)||_.set(y,{_id:y,_username:y.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),_.get(y).accessories.push(p))}),this.pairings=Array.from(_.values()).filter(p=>p.accessories.length>0).sort((p,f)=>p._main&&!f._main?-1:!p._main&&f._main?1:p.name.localeCompare(f.name)),this.selectedBridge=this.selectedBridge||((e=this.pairings[0])==null?void 0:e._id),this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onBridgeChange(e){var n;this.selectedBridge=e,this.selectedBridgeAccessories=(n=this.pairings.find(i=>i._id===this.selectedBridge))==null?void 0:n.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e&&i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=U({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text","text-monospace"],[1,"text-monospace","grey-text"],[1,"btn","btn-danger","m-0","ml-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),r(3),d(4,"translate"),o(),a(5,"button",3),d(6,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(7,"span",4),r(8,"\xD7"),o()()(),a(9,"div",5),x(10,oe,5,3)(11,me,17,11),o(),a(12,"div",6)(13,"div",7),x(14,pe,3,4,"button",8),o(),a(15,"div",9),x(16,_e,3,3,"button",10),o(),a(17,"div",11),x(18,fe,3,3,"button",12),o()()()),n&2&&(s(3),g(m(4,8,"reset.accessory_ind.title")),s(2),h("disabled",i.clicked),$("aria-label",m(6,10,"form.button_close")),s(5),u(i.accessoriesExist?-1:10),s(),u(i.accessoriesExist?11:-1),s(3),u(i.accessoriesExist?14:-1),s(2),u(i.accessoriesExist?-1:16),s(2),u(i.accessoriesExist?18:-1))},dependencies:[z,Z,Q,J,K,H,q,G],encapsulation:2})}return t})();export{Te as a};
@@ -1 +0,0 @@
1
- import"./chunk-NFG4Y4PX.js";import{q as n}from"./chunk-N4F42HDL.js";import{z as p}from"./chunk-YLEC7AUG.js";import{g as i}from"./chunk-T3GI7KUT.js";import"./chunk-HA6CO5NZ.js";import{c as u}from"./chunk-675OFXLW.js";import{ia as t,kd as m,vb as r}from"./chunk-CKNHTRCL.js";var l=[{path:"",loadComponent:()=>import("./chunk-BMWLHPL2.js").then(o=>o.SupportComponent)}],d=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(l),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,d,n,p,u]})}return o})();export{R as SupportModule};
@@ -1 +0,0 @@
1
- import{m as w}from"./chunk-N4F42HDL.js";import{b as S}from"./chunk-675OFXLW.js";import{Bb as d,Cc as m,Dc as p,Lb as _,Mb as b,Qb as y,Rb as r,Wb as o,Xb as a,Yb as u,ac as B,db as k,dc as x,eb as g,ec as s,ib as i,na as L,oc as c,pc as M,qc as C,ub as T,xa as v,ya as I}from"./chunk-CKNHTRCL.js";function E(t,f){if(t&1&&u(0,"i",15),t&2){let e=s();y("fas fa-fw ",e.faIconClass," mb-3")}}function h(t,f){if(t&1&&u(0,"h5",7),t&2){let e=s();b("innerHTML",e.subtitle,k)}}function D(t,f){if(t&1){let e=B();o(0,"button",16),m(1,"translate"),x("click",function(){v(e);let n=s();return I(n.$activeModal.dismiss("Dismiss"))}),c(2),m(3,"translate"),a()}t&2&&(_("aria-label",p(1,2,"form.button_close")),i(2),C(" ",p(3,4,"form.button_close")," "))}function H(t,f){if(t&1){let e=B();o(0,"button",16),m(1,"translate"),x("click",function(){v(e);let n=s();return I(n.$activeModal.dismiss("Dismiss"))}),c(2),m(3,"translate"),a()}t&2&&(_("aria-label",p(1,2,"form.button_close")),i(2),C(" ",p(3,4,"form.button_close")," "))}function V(t,f){if(t&1&&(o(0,"a",14),c(1),u(2,"i",17),a()),t&2){let e=s();b("href",e.ctaButtonLink,g),i(),C(" ",e.ctaButtonLabel," ")}}var U=(()=>{class t{$activeModal=L(w);title;subtitle;message;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=T({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:19,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),c(3),a(),o(4,"button",3),m(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),o(6,"span",4),c(7,"\xD7"),a()()(),o(8,"div",5),d(9,E,1,3,"i",6)(10,h,1,1,"h5",7),u(11,"p",8),a(),o(12,"div",9)(13,"div",10),d(14,D,4,6,"button",11),a(),o(15,"div",12),d(16,H,4,6,"button",11),a(),o(17,"div",13),d(18,V,3,2,"a",14),a()()()),l&2&&(i(3),M(n.title),i(),_("aria-label",p(5,8,"form.button_close")),i(5),r(n.faIconClass?9:-1),i(),r(n.subtitle?10:-1),i(),b("innerHTML",n.message,k),i(3),r(n.ctaButtonLink?14:-1),i(2),r(n.ctaButtonLink?-1:16),i(2),r(n.ctaButtonLink?18:-1))},dependencies:[S],encapsulation:2})}return t})();export{U as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-KQCQXUPA.js";import"./chunk-KDRA3MEJ.js";import"./chunk-T3GI7KUT.js";import"./chunk-5ZSNNIKJ.js";import"./chunk-FD7DU2T6.js";import"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import"./chunk-675OFXLW.js";import"./chunk-CKNHTRCL.js";export{a as RestartLinuxComponent};
@@ -1 +0,0 @@
1
- import{g as T,m as C}from"./chunk-N4F42HDL.js";import{b as h}from"./chunk-675OFXLW.js";import{Bb as E,Cc as l,Dc as r,Ec as x,Lb as c,Mb as f,Rb as k,Tb as I,Ub as w,Vb as B,Wb as t,Xb as n,Yb as m,bd as P,dc as u,eb as S,ec as M,ib as e,na as _,oc as a,pc as p,qc as g,ub as v,yc as y}from"./chunk-CKNHTRCL.js";var $=i=>({pluginName:i});function O(i,D){i&1&&(t(0,"ul",8)(1,"li"),a(2),l(3,"translate"),n(),t(4,"li"),a(5),l(6,"translate"),n()()),i&2&&(e(2),p(r(3,2,"plugins.manage.confirm_disable_accessory_1")),e(3),p(r(6,4,"plugins.manage.confirm_disable_accessory_2")))}function j(i,D){i&1&&(t(0,"ul",8)(1,"li"),a(2),l(3,"translate"),n(),t(4,"li"),a(5),l(6,"translate"),n()()),i&2&&(e(2),p(r(3,2,"plugins.manage.confirm_disable_platform_1")),e(3),p(r(6,4,"plugins.manage.confirm_disable_platform_2")))}var H=(()=>{class i{$activeModal=_(C);pluginName;isConfigured=!1;isConfiguredDynamicPlatform=!1;constructor(){}static \u0275fac=function(d){return new(d||i)};static \u0275cmp=v({type:i,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",isConfigured:"isConfigured",isConfiguredDynamicPlatform:"isConfiguredDynamicPlatform"},decls:28,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-circle-pause","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(d,s){d&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),n(),t(4,"button",3),l(5,"translate"),u("click",function(){return s.$activeModal.dismiss("Dismiss")}),t(6,"span",4),a(7,"\xD7"),n()()(),t(8,"div",5)(9,"div",6),m(10,"i",7),n(),E(11,O,7,6,"ul",8)(12,j,7,6,"ul",8),t(13,"ngb-alert",9)(14,"p",10),a(15),l(16,"translate"),n()()(),t(17,"div",11)(18,"div",12)(19,"button",13),l(20,"translate"),u("click",function(){return s.$activeModal.dismiss("Dismiss")}),a(21),l(22,"translate"),n()(),m(23,"div",14),t(24,"div",15)(25,"button",16),u("click",function(){return s.$activeModal.close()}),a(26),l(27,"translate"),n()()()()),d&2&&(e(3),p(s.pluginName),e(),c("aria-label",r(5,9,"form.button_close")),e(7),k(s.isConfigured&&!s.isConfiguredDynamicPlatform?11:-1),e(),k(s.isConfigured&&s.isConfiguredDynamicPlatform?12:-1),e(),f("dismissible",!1),e(2),p(x(16,11,"plugins.manage.confirm_disable",y(20,$,s.pluginName))),e(4),c("aria-label",r(20,14,"form.button_close")),e(2),g(" ",r(22,16,"form.button_close")," "),e(5),g(" ",r(27,18,"plugins.manage.disable")," "))},dependencies:[T,h],encapsulation:2})}return i})();var A=i=>({author:i});function F(i,D){if(i&1&&(t(0,"li",10),m(1,"i",16),t(2,"a",17),a(3),n()()),i&2){let o=D.$implicit,d=M();e(),f("ngClass",d.getIconClass(o.type)),e(),f("href",o.url,S),e(),p(o.url)}}var Y=(()=>{class i{$activeModal=_(C);plugin;fundingOptions;constructor(){}ngOnInit(){this.plugin.funding||this.$activeModal.close(),this.plugin.name==="homebridge-config-ui-x"&&(this.plugin.author="oznu"),Array.isArray(this.plugin.funding)?this.fundingOptions=this.plugin.funding.map(o=>{if(typeof o=="string")return{type:"other",url:o};if(typeof o=="object")return{type:o.type||"other",url:o.url}}):typeof this.plugin.funding=="string"?this.fundingOptions=[{type:"other",url:this.plugin.funding}]:typeof this.plugin.funding=="object"&&(this.fundingOptions=[{type:this.plugin.funding.type||"other",url:this.plugin.funding.url}])}getIconClass(o){switch(o.toLowerCase()){case"paypal":return"fab fa-fw fa-paypal";case"github":return"fab fa-fw fa-github";case"patreon":return"fab fa-fw fa-patreon";case"kofi":case"ko-fi":return"fas fa-fw fa-coffee";default:return"fas fa-fw fa-link"}}static \u0275fac=function(d){return new(d||i)};static \u0275cmp=v({type:i,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-fw","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-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-right"],[1,"mr-2","primary-text","fa-fw","fa-xl",3,"ngClass"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(d,s){d&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),l(4,"translate"),n(),t(5,"button",3),l(6,"translate"),u("click",function(){return s.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),n()()(),t(9,"div",5)(10,"div",6),m(11,"i",7),n(),t(12,"ul",8)(13,"li"),a(14),l(15,"translate"),n(),t(16,"li"),a(17),l(18,"translate"),n()(),t(19,"ul",9),w(20,F,4,3,"li",10,I),n()(),t(22,"div",11),m(23,"div",12),t(24,"div",13)(25,"button",14),l(26,"translate"),u("click",function(){return s.$activeModal.dismiss("Dismiss")}),a(27),l(28,"translate"),n()(),m(29,"div",15),n()()),d&2&&(e(3),p(x(4,6,"plugins.donate.tile_donate_to",y(19,A,"@"+s.plugin.author))),e(2),c("aria-label",r(6,9,"form.button_close")),e(9),p(r(15,11,"plugins.donate.message_1")),e(3),p(r(18,13,"plugins.donate.message_2")),e(3),B(s.fundingOptions),e(5),c("aria-label",r(26,15,"form.button_close")),e(2),g(" ",r(28,17,"form.button_close")," "))},dependencies:[P,h],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return i})();export{H as a,Y as b};
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-XQNHUDX7.js";import{a as H}from"./chunk-WONZP2FV.js";import{a as Z}from"./chunk-XFK2EZ3K.js";import{a as R}from"./chunk-EEDUUZ6J.js";import{n as L}from"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import{a as j}from"./chunk-KDRA3MEJ.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-T3GI7KUT.js";import{c as B}from"./chunk-5ZSNNIKJ.js";import{b as $}from"./chunk-FD7DU2T6.js";import{j as T}from"./chunk-LGXZ3NIY.js";import"./chunk-HA6CO5NZ.js";import{a as M,b as U}from"./chunk-675OFXLW.js";import{Bb as O,Cc as d,Dc as l,Lb as u,Mb as c,Rb as C,Wb as n,Xb as a,Yb as p,ac as y,bd as E,dc as _,ec as w,g as Y,h as z,ib as o,na as m,ob as F,oc as f,pc as g,qd as K,ub as P,w as A,xa as h,xc as v,ya as b,yc as k}from"./chunk-CKNHTRCL.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&((window==null?void 0:window.matchMedia("(display-mode: standalone)").matches)||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||(window==null?void 0:window.Windows)||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){h(e);let t=w();return b(t.openUnderVoltageModal())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),g(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),g(l(7,6,"menu.label_plugins")))}function _e(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),g(l(7,6,"menu.linux.label_logs")))}function fe(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),g(l(7,6,"menu.linux.label_terminal")))}function ge(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),g(l(7,6,"menu.config_json_editor")))}function ve(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),g(l(7,6,"menu.label_settings")))}function he(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.reloadPage())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.reload")),o(5),g(l(7,4,"menu.reload")))}function be(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.$auth.logout())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),g(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=m(V);translate=m(M);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(M);renderer=m(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){let e=this.router;this.isMobile=window.innerWidth<768;let s;window.addEventListener("resize",()=>{clearTimeout(s),s=setTimeout(()=>{this.updateListeners()},500)}),e.events.subscribe(t=>{t instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)});let e=document.querySelector(".sidebar"),s=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.renderer.setStyle(e,"opacity","20%"),this.renderer.setStyle(e,"pointer-events","none"),this.renderer.setStyle(e,"overflow","hidden")):(this.renderer.removeStyle(e,"opacity"),this.renderer.removeStyle(e,"pointer-events"),this.renderer.removeStyle(e,"overflow"))}openUnderVoltageModal(){let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}reloadPage(){window.location.reload()}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=P({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:61,vars:67,consts:[["tabindex","0","role","button",1,"m-header","text-right",3,"click","keydown"],[1,"mr-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","../../../../assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(x){return t.handleKeydown(x)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(x){return t.handleKeydown(x)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),O(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),O(39,_e,8,9,"div",10)(40,fe,8,9,"div",10)(41,ge,8,9,"div",10)(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),O(59,he,8,6,"div",10)(60,be,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,34,"menu.sidebar.aria_menu")),o(3),c("routerLink",v(56,I)),u("aria-label",l(4,36,"menu.label_status")),o(5),c("ngClass",k(57,te,t.isExpanded)),o(5),c("ngClass",k(59,ne,t.isExpanded)),o(2),c("routerLink",v(61,I)),u("aria-label",l(16,38,"menu.label_status")),o(7),c("routerLink",v(62,I))("routerLinkActive","active")("routerLinkActiveOptions",v(63,ie)),u("aria-label",l(23,40,"menu.label_status")),o(5),g(l(28,42,"menu.label_status")),o(2),C(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),C(t.$auth.user.admin?30:-1),o(2),c("routerLink",v(64,oe))("routerLinkActive","active"),u("aria-label",l(33,44,"menu.label_accessories")),o(5),g(l(38,46,"menu.label_accessories")),o(2),C(t.$auth.user.admin?39:-1),o(),C(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),C(t.$auth.user.admin?41:-1),o(),C(t.$auth.user.admin?42:-1),o(2),c("routerLink",v(65,re))("routerLinkActive","active"),u("aria-label",l(45,48,"support.title")),o(5),g(l(50,50,"support.title")),o(3),c("routerLink",v(66,ae))("routerLinkActive","active"),u("aria-label",l(53,52,"menu.restart.title")),o(5),g(l(58,54,"menu.restart.title")),o(2),C(t.isPwa?59:-1),o(),C(t.$settings.formAuth?60:-1))},dependencies:[N,K,E,D,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 80px)!important}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var we=i=>({sidebarExpanded:i}),Xe=(()=>{class i{$auth=m(B);$modal=m(L);$router=m(V);$settings=m($);$translate=m(M);$ws=m(j);sidebarExpanded=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:T.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=P({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",k(2,we,t.sidebarExpanded)))},dependencies:[J,E,q],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return i})();export{Xe as LayoutComponent};