homebridge-config-ui-x 5.0.0-beta.13 → 5.0.0-beta.15

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 (75) hide show
  1. package/package.json +2 -2
  2. package/public/{chunk-L6MKZGR4.js → chunk-2KT27V7B.js} +1 -1
  3. package/public/{chunk-JNVD4LXJ.js → chunk-2V3KMEII.js} +1 -1
  4. package/public/{chunk-MRAORPY5.js → chunk-2XP3WFOI.js} +1 -1
  5. package/public/{chunk-F2FRSTFG.js → chunk-2Y7IA4F5.js} +1 -1
  6. package/public/{chunk-JZXE5AVD.js → chunk-32JC3YKE.js} +1 -1
  7. package/public/{chunk-WLBT2GWV.js → chunk-3TAEREB7.js} +1 -1
  8. package/public/{chunk-ASYK7IPH.js → chunk-56KFIYNG.js} +1 -1
  9. package/public/{chunk-SWQQTKC6.js → chunk-5JUT43J7.js} +1 -1
  10. package/public/{chunk-7EB2QAFC.js → chunk-6DRSUZE7.js} +1 -1
  11. package/public/{chunk-7W3BTW2C.js → chunk-7PTM7TCW.js} +1 -1
  12. package/public/{chunk-52ZCBR7U.js → chunk-BKTPH6KI.js} +1 -1
  13. package/public/{chunk-S6UBIGSM.js → chunk-CGQYTJB2.js} +1 -1
  14. package/public/{chunk-54FR77K3.js → chunk-CLKJVXRR.js} +1 -1
  15. package/public/{chunk-PBIXMSUT.js → chunk-DC4I3OG4.js} +1 -1
  16. package/public/{chunk-MHQH5BD5.js → chunk-DPSYFTGK.js} +1 -1
  17. package/public/chunk-DWBOZVPE.js +1 -0
  18. package/public/chunk-EIEMRTWX.js +1 -0
  19. package/public/chunk-EMUCL4HX.js +1 -0
  20. package/public/{chunk-55U3I7TP.js → chunk-EORI6UXU.js} +1 -1
  21. package/public/{chunk-WQS5PNLM.js → chunk-EW47VYBB.js} +1 -1
  22. package/public/{chunk-KYTMZ73K.js → chunk-F5ERTX3M.js} +1 -1
  23. package/public/chunk-GPZJRYK7.js +1 -0
  24. package/public/{chunk-UMGAGOYW.js → chunk-GYHZ4GRI.js} +1 -1
  25. package/public/{chunk-7UAXUKN6.js → chunk-HJIHNK6G.js} +1 -1
  26. package/public/{chunk-WIFQ7XJB.js → chunk-HX6VATRS.js} +1 -1
  27. package/public/{chunk-PPWQGDPC.js → chunk-IE7U3OMA.js} +1 -1
  28. package/public/chunk-IGBL53OK.js +1 -0
  29. package/public/{chunk-P7DVJF3X.js → chunk-IOBOFVVC.js} +1 -1
  30. package/public/{chunk-I6TXUFYO.js → chunk-IXJLF7QD.js} +1 -1
  31. package/public/{chunk-45BMHL6Y.js → chunk-JH7VMOTI.js} +1 -1
  32. package/public/chunk-JIGRQD7P.js +1 -0
  33. package/public/{chunk-3JPY43OF.js → chunk-KUORZCE6.js} +1 -1
  34. package/public/{chunk-5CDXJ6FR.js → chunk-MHRX72WR.js} +1 -1
  35. package/public/{chunk-P5AL2R5S.js → chunk-MTQI5ATL.js} +1 -1
  36. package/public/{chunk-GADEIMEK.js → chunk-OCEIGXJ6.js} +1 -1
  37. package/public/{chunk-A22ZGKFV.js → chunk-ONO4E6RM.js} +1 -1
  38. package/public/chunk-ORXGLL7O.js +1 -0
  39. package/public/{chunk-3YXLKBH2.js → chunk-QHH466A4.js} +1 -1
  40. package/public/{chunk-YHZ6PAQD.js → chunk-QJQLQ3JQ.js} +1 -1
  41. package/public/chunk-R3AZ3I72.js +1 -0
  42. package/public/chunk-RZMFIRLV.js +1 -0
  43. package/public/{chunk-5TSGNSQE.js → chunk-TLKXLRP4.js} +1 -1
  44. package/public/chunk-TM3NKSKQ.js +1 -0
  45. package/public/{chunk-LZ6GJNQQ.js → chunk-U2P5XP2F.js} +1 -1
  46. package/public/{chunk-KGLOCFJC.js → chunk-UOC4D22J.js} +1 -1
  47. package/public/{chunk-WB43LQ4P.js → chunk-UYVUIASO.js} +1 -1
  48. package/public/{chunk-6KGHZBNG.js → chunk-UZ6NZKOR.js} +1 -1
  49. package/public/{chunk-X32GOO7X.js → chunk-V7N2CECV.js} +1 -1
  50. package/public/{chunk-72QGO3ZG.js → chunk-VEOGBUUQ.js} +1 -1
  51. package/public/{chunk-Y7DFDK6Y.js → chunk-VLTX6VIJ.js} +1 -1
  52. package/public/chunk-WHRK7ZHM.js +1 -0
  53. package/public/{chunk-UXC6BKFL.js → chunk-XSBXQHOS.js} +1 -1
  54. package/public/{chunk-RROR5WND.js → chunk-XWIP6H3H.js} +1 -1
  55. package/public/chunk-YPXAS3YU.js +1 -0
  56. package/public/{chunk-76JKFKOP.js → chunk-Z7APWPRW.js} +1 -1
  57. package/public/chunk-ZANTOYVF.js +1 -0
  58. package/public/{chunk-ND3ZQ6GN.js → chunk-ZKAAJ3JU.js} +1 -1
  59. package/public/{chunk-XTGERAAT.js → chunk-ZNDU7LQM.js} +1 -1
  60. package/public/{chunk-SBFM5MWM.js → chunk-ZNLUOFYB.js} +1 -1
  61. package/public/index.html +1 -1
  62. package/public/{main-TVZUZZQS.js → main-4YSRCEJH.js} +1 -1
  63. package/public/chunk-2LNPFI24.js +0 -1
  64. package/public/chunk-36DESRA7.js +0 -1
  65. package/public/chunk-3ILEKYSR.js +0 -1
  66. package/public/chunk-54KHNJPT.js +0 -1
  67. package/public/chunk-7FVCGQSF.js +0 -1
  68. package/public/chunk-BH3VIMTX.js +0 -1
  69. package/public/chunk-BSU7Y7OZ.js +0 -1
  70. package/public/chunk-ELJNFF5E.js +0 -1
  71. package/public/chunk-HTRFDYSP.js +0 -1
  72. package/public/chunk-IVNKCOMR.js +0 -1
  73. package/public/chunk-O2PXPQM6.js +0 -1
  74. package/public/chunk-PWOHYPPN.js +0 -1
  75. package/public/chunk-U7YLFZR7.js +0 -1
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-KUORZCE6.js";import"./chunk-ZNLUOFYB.js";import"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as RestartLinuxComponent};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-7PTM7TCW.js";import"./chunk-EA5J2VEJ.js";import"./chunk-ZNDU7LQM.js";import"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as ConfigEditorComponent};
@@ -1 +1 @@
1
- import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-UG5DK2RQ.js";import{ia as t,md as l,sb as e}from"./chunk-TXOB7R5K.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-RROR5WND.js").then(o=>o.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-76JKFKOP.js").then(o=>o.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-MRAORPY5.js").then(o=>o.TerminalModule)}],n=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(d),i]})}return o})();var s=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[l,n]})}return o})();export{s as PlatformToolsModule};
1
+ import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-UG5DK2RQ.js";import{ia as t,md as l,sb as e}from"./chunk-TXOB7R5K.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-XWIP6H3H.js").then(o=>o.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-Z7APWPRW.js").then(o=>o.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-2XP3WFOI.js").then(o=>o.TerminalModule)}],n=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(d),i]})}return o})();var s=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[l,n]})}return o})();export{s as PlatformToolsModule};
@@ -0,0 +1 @@
1
+ import{f as a}from"./chunk-QJQLQ3JQ.js";import"./chunk-QHH466A4.js";import"./chunk-IE7U3OMA.js";import"./chunk-WHJSVGC7.js";import"./chunk-6TCHCTXZ.js";import"./chunk-CLKJVXRR.js";import"./chunk-ZNDU7LQM.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-MTQI5ATL.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-ZNLUOFYB.js";import"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as StatusComponent};
@@ -1 +1 @@
1
- import{b as _,j as S}from"./chunk-I6TXUFYO.js";import{a as h,b as w}from"./chunk-3IX3CLER.js";import{Bc as s,Cc as m,Kb as f,Rb as d,Wb as n,Xb as i,Yb as u,dc as v,ib as e,na as p,nc as o,oc as a,rb as x}from"./chunk-TXOB7R5K.js";function C(t,y){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,y){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(_);$toastr=p(S);$translate=p(h);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,c){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),f(11,C,3,3,"p",7)(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),d(c.error?-1:11),e(),d(c.error?12:-1))},dependencies:[w],encapsulation:2})}return t})();export{B as a};
1
+ import{b as _,j as S}from"./chunk-IXJLF7QD.js";import{a as h,b as w}from"./chunk-3IX3CLER.js";import{Bc as s,Cc as m,Kb as f,Rb as d,Wb as n,Xb as i,Yb as u,dc as v,ib as e,na as p,nc as o,oc as a,rb as x}from"./chunk-TXOB7R5K.js";function C(t,y){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,y){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(_);$toastr=p(S);$translate=p(h);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,c){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),f(11,C,3,3,"p",7)(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),d(c.error?-1:11),e(),d(c.error?12:-1))},dependencies:[w],encapsulation:2})}return t})();export{B as a};
@@ -1 +1 @@
1
- import{T as te,c as X,d as Y,e as Z,f as ee}from"./chunk-PPWQGDPC.js";import{a as U}from"./chunk-JZZQRLNW.js";import{m as J,n as K,o as Q}from"./chunk-ORPWYWCL.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-QHPDGSZ6.js";import{c as F}from"./chunk-X32GOO7X.js";import{b as L}from"./chunk-WQS5PNLM.js";import{b as T}from"./chunk-3IX3CLER.js";import{$b as A,Bc as s,Cc as l,Kb as y,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ad as P,bd as V,cc as v,cd as N,dc as p,dd as O,ib as n,na as f,nc as d,oc as u,pc as w,rb as C,sc as M,tc as S,uc as k,wc as $,xa as b,xc as D,ya as h}from"./chunk-TXOB7R5K.js";var re=()=>({standalone:!0}),ne=(()=>{class t{$activeModal=f(J);roomName;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},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"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[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"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),x("aria-label",l(7,10,"form.button_close")),n(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),n(3),w(" ",l(19,14,"accessories.room_name")," "),n(5),w(" ",l(24,16,"form.button_close")," "),n(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var oe=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({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&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,o=p(2);n(2),c("ngClass",D(4,ae,!o.isMobile)),n(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;n(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,o=p(4);c("ngSwitch",e.type),n(),c("ngIf",!o.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),n(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,o=p(2);n(),c("ngIf",!o.isMobile||e.services.length),n(2),c("ngIf",e.services.length),n(),c("ngIf",!e.services.length&&!o.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();n(4),u(l(5,17,"accessories.title_accessories")),n(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),n(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),n(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),n(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),n(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),n(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();n(4),u(l(5,6,"accessories.title_accessories")),n(5),u(l(10,8,"accessories.control_disabled")),n(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),n(4),u(l(18,12,"accessories.message_please_see")),n(5),u(l(23,14,"accessories.message_for_more_information")),n(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Y);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;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(ne,{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")}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=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[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"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[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,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),o&2&&(c("ngIf",i.$settings.env.enableAccessories),n(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,ee,Z,V,O,te,oe,T],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{ne as a,We as b};
1
+ import{T as te,c as X,d as Y,e as Z,f as ee}from"./chunk-IE7U3OMA.js";import{a as U}from"./chunk-JZZQRLNW.js";import{m as J,n as K,o as Q}from"./chunk-ORPWYWCL.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-QHPDGSZ6.js";import{c as F}from"./chunk-V7N2CECV.js";import{b as L}from"./chunk-EW47VYBB.js";import{b as T}from"./chunk-3IX3CLER.js";import{$b as A,Bc as s,Cc as l,Kb as y,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ad as P,bd as V,cc as v,cd as N,dc as p,dd as O,ib as n,na as f,nc as d,oc as u,pc as w,rb as C,sc as M,tc as S,uc as k,wc as $,xa as b,xc as D,ya as h}from"./chunk-TXOB7R5K.js";var re=()=>({standalone:!0}),ne=(()=>{class t{$activeModal=f(J);roomName;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},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"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[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"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),x("aria-label",l(7,10,"form.button_close")),n(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),n(3),w(" ",l(19,14,"accessories.room_name")," "),n(5),w(" ",l(24,16,"form.button_close")," "),n(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var oe=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({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&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,o=p(2);n(2),c("ngClass",D(4,ae,!o.isMobile)),n(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;n(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,o=p(4);c("ngSwitch",e.type),n(),c("ngIf",!o.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),n(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,o=p(2);n(),c("ngIf",!o.isMobile||e.services.length),n(2),c("ngIf",e.services.length),n(),c("ngIf",!e.services.length&&!o.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();n(4),u(l(5,17,"accessories.title_accessories")),n(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),n(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),n(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),n(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),n(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),n(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();n(4),u(l(5,6,"accessories.title_accessories")),n(5),u(l(10,8,"accessories.control_disabled")),n(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),n(4),u(l(18,12,"accessories.message_please_see")),n(5),u(l(23,14,"accessories.message_for_more_information")),n(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Y);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;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(ne,{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")}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=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[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"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[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,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),o&2&&(c("ngIf",i.$settings.env.enableAccessories),n(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,ee,Z,V,O,te,oe,T],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{ne as a,We as b};
@@ -1 +1 @@
1
- import{a as w}from"./chunk-SBFM5MWM.js";import{d as S}from"./chunk-NZNNTHFQ.js";import{b as k}from"./chunk-WQS5PNLM.js";import{b as y,j as T}from"./chunk-I6TXUFYO.js";import{a as C,b as $}from"./chunk-3IX3CLER.js";import{Bc as p,Cc as m,Kb as _,Mb as x,Rb as c,Wb as n,Xb as r,Yb as f,db as u,dc as g,ib as e,na as a,nc as o,oc as s,rb as v}from"./chunk-TXOB7R5K.js";function b(t,h){t&1&&(n(0,"p",7),o(1),p(2,"translate"),r()),t&2&&(e(),s(m(2,1,"restart.please_wait_while_server_restarts")))}function E(t,h){if(t&1&&(n(0,"div",8),o(1),r()),t&2){let i=g();e(),s(i.error)}}function I(t,h){t&1&&(n(0,"div",9)(1,"div",10),f(2,"i",11),r()())}function R(t,h){t&1&&(n(0,"div")(1,"div",12)(2,"p"),o(3),p(4,"translate"),r(),f(5,"p",13),p(6,"translate"),r()()),t&2&&(e(3),s(m(4,2,"platform.docker.server_long_time")),e(2),x("innerHTML",m(6,4,"platform.docker.run_with_restart"),u))}var P=(()=>{class t{$api=a(y);$router=a(S);$settings=a(k);$toastr=a(T);$translate=a(C);$ws=a(w);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch()}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp()},error:i=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(i),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",i=>{(i.status==="up"||i.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=v({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fab","fa-fw","fa-docker",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"alert","alert-warning","my-4"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(l,d){l&1&&(n(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),r()(),n(4,"div",2)(5,"div",3),f(6,"i",4),r(),n(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),r(),_(11,b,3,3,"p",7)(12,E,2,1,"div",8)(13,I,3,0,"div",9)(14,R,7,6,"div"),r()()),l&2&&(e(2),s(m(3,6,"menu.restart.title")),e(7),s(m(10,8,"platform.docker.title_restarting")),e(2),c(d.error?-1:11),e(),c(d.error?12:-1),e(),c(d.error?-1:13),e(),c(d.timeout?14:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;margin-top:15px}"]})}return t})();export{P as a};
1
+ import{a as w}from"./chunk-ZNLUOFYB.js";import{d as S}from"./chunk-NZNNTHFQ.js";import{b as k}from"./chunk-EW47VYBB.js";import{b as y,j as T}from"./chunk-IXJLF7QD.js";import{a as C,b as $}from"./chunk-3IX3CLER.js";import{Bc as p,Cc as m,Kb as _,Mb as x,Rb as c,Wb as n,Xb as r,Yb as f,db as u,dc as g,ib as e,na as a,nc as o,oc as s,rb as v}from"./chunk-TXOB7R5K.js";function b(t,h){t&1&&(n(0,"p",7),o(1),p(2,"translate"),r()),t&2&&(e(),s(m(2,1,"restart.please_wait_while_server_restarts")))}function E(t,h){if(t&1&&(n(0,"div",8),o(1),r()),t&2){let i=g();e(),s(i.error)}}function I(t,h){t&1&&(n(0,"div",9)(1,"div",10),f(2,"i",11),r()())}function R(t,h){t&1&&(n(0,"div")(1,"div",12)(2,"p"),o(3),p(4,"translate"),r(),f(5,"p",13),p(6,"translate"),r()()),t&2&&(e(3),s(m(4,2,"platform.docker.server_long_time")),e(2),x("innerHTML",m(6,4,"platform.docker.run_with_restart"),u))}var P=(()=>{class t{$api=a(y);$router=a(S);$settings=a(k);$toastr=a(T);$translate=a(C);$ws=a(w);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch()}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp()},error:i=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(i),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",i=>{(i.status==="up"||i.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=v({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fab","fa-fw","fa-docker",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"alert","alert-warning","my-4"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(l,d){l&1&&(n(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),r()(),n(4,"div",2)(5,"div",3),f(6,"i",4),r(),n(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),r(),_(11,b,3,3,"p",7)(12,E,2,1,"div",8)(13,I,3,0,"div",9)(14,R,7,6,"div"),r()()),l&2&&(e(2),s(m(3,6,"menu.restart.title")),e(7),s(m(10,8,"platform.docker.title_restarting")),e(2),c(d.error?-1:11),e(),c(d.error?12:-1),e(),c(d.error?-1:13),e(),c(d.timeout?14:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;margin-top:15px}"]})}return t})();export{P as a};
@@ -1 +1 @@
1
- import{a as G}from"./chunk-WHJSVGC7.js";import{a as W}from"./chunk-BPMSJ2VF.js";import{a as Z}from"./chunk-WHJOLAED.js";import{a as X}from"./chunk-JZZQRLNW.js";import{a as H}from"./chunk-KQJ7ONUG.js";import{n as B}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import{a as R}from"./chunk-SBFM5MWM.js";import{a as q,c as N,d as T,e as D,f as j}from"./chunk-NZNNTHFQ.js";import{c as $}from"./chunk-X32GOO7X.js";import{b as L}from"./chunk-WQS5PNLM.js";import{a as P}from"./chunk-I6TXUFYO.js";import"./chunk-UG5DK2RQ.js";import{a as M,b as U}from"./chunk-3IX3CLER.js";import{$b as y,Bc as d,Cc as l,Kb as E,Lb as u,Mb as m,Rb as w,Wb as n,Xb as a,Yb as p,ad as V,cc as _,dc as C,g as Y,h as z,ib as o,na as c,nc as f,oc as v,pb as F,rb as O,sd as K,w as A,wc as g,xa as b,xc as k,ya as x}from"./chunk-TXOB7R5K.js";var Q=Y(Z(),1);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(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return x(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),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),v(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(){b(e);let t=C();return x(t.$auth.logout())})("keydown",function(t){b(e);let r=C();return x(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.tooltip_logout")),o(5),v(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=c(T);translate=c(M);$auth=c($);$settings=c(L);$md=c(X);$modal=c(B);$notification=c(G);$translate=c(M);renderer=c(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;constructor(){let e=this.router;this.isMobile=this.$md.detect.mobile(),e.events.subscribe(s=>{s instanceof q&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},500))})}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}):(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{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(W,{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()}}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:60,vars:66,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-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),E(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),E(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(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),E(59,he,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,33,"menu.sidebar.aria_menu")),o(3),m("routerLink",g(55,I)),u("aria-label",l(4,35,"menu.label_status")),o(5),m("ngClass",k(56,te,t.isExpanded)),o(5),m("ngClass",k(58,ne,t.isExpanded)),o(2),m("routerLink",g(60,I)),u("aria-label",l(16,37,"menu.label_status")),o(7),m("routerLink",g(61,I))("routerLinkActive","active")("routerLinkActiveOptions",g(62,ie)),u("aria-label",l(23,39,"menu.label_status")),o(5),v(l(28,41,"menu.label_status")),o(2),w(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),w(t.$auth.user.admin?30:-1),o(2),m("routerLink",g(63,oe))("routerLinkActive","active"),u("aria-label",l(33,43,"menu.label_accessories")),o(5),v(l(38,45,"menu.label_accessories")),o(2),w(t.$auth.user.admin?39:-1),o(),w(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),w(t.$auth.user.admin?41:-1),o(),w(t.$auth.user.admin?42:-1),o(2),m("routerLink",g(64,re))("routerLinkActive","active"),u("aria-label",l(45,47,"support.title")),o(5),v(l(50,49,"support.title")),o(3),m("routerLink",g(65,ae))("routerLinkActive","active"),u("aria-label",l(53,51,"menu.restart.title")),o(5),v(l(58,53,"menu.restart.title")),o(2),w(t.$settings.formAuth?59:-1))},dependencies:[K,V,D,j,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 be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=c($);$modal=c(B);$router=c(T);$settings=c(L);$translate=c(M);$ws=c(R);sidebarExpanded=!1;io;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)),(0,Q.lt)(this.$settings.uiVersion,P.serverTarget)){console.log(`Server restart required. UI Version: ${P.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(H,{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:P.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-fw-power-off",e.result.then(()=>{this.$router.navigate(["/restart"])}).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({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&&(m("isExpanded",t.sidebarExpanded),o(),m("ngClass",k(2,be,t.sidebarExpanded)))},dependencies:[J,V,N],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{He as LayoutComponent};
1
+ import{a as G}from"./chunk-WHJSVGC7.js";import{a as W}from"./chunk-BPMSJ2VF.js";import{a as Z}from"./chunk-WHJOLAED.js";import{a as X}from"./chunk-JZZQRLNW.js";import{a as H}from"./chunk-KQJ7ONUG.js";import{n as B}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import{a as R}from"./chunk-ZNLUOFYB.js";import{a as q,c as N,d as T,e as D,f as j}from"./chunk-NZNNTHFQ.js";import{c as $}from"./chunk-V7N2CECV.js";import{b as L}from"./chunk-EW47VYBB.js";import{a as P}from"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import{a as M,b as U}from"./chunk-3IX3CLER.js";import{$b as y,Bc as d,Cc as l,Kb as E,Lb as u,Mb as m,Rb as w,Wb as n,Xb as a,Yb as p,ad as V,cc as _,dc as C,g as Y,h as z,ib as o,na as c,nc as f,oc as v,pb as F,rb as O,sd as K,w as A,wc as g,xa as b,xc as k,ya as x}from"./chunk-TXOB7R5K.js";var Q=Y(Z(),1);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(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return x(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),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),v(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){b(e);let r=C();return x(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(),m("routerLink",g(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),v(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(){b(e);let t=C();return x(t.$auth.logout())})("keydown",function(t){b(e);let r=C();return x(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.tooltip_logout")),o(5),v(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=c(T);translate=c(M);$auth=c($);$settings=c(L);$md=c(X);$modal=c(B);$notification=c(G);$translate=c(M);renderer=c(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;constructor(){let e=this.router;this.isMobile=this.$md.detect.mobile(),e.events.subscribe(s=>{s instanceof q&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},500))})}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}):(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{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(W,{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()}}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:60,vars:66,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-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),E(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),E(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(h){return t.handleKeydown(h)}),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(h){return t.handleKeydown(h)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),E(59,he,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,33,"menu.sidebar.aria_menu")),o(3),m("routerLink",g(55,I)),u("aria-label",l(4,35,"menu.label_status")),o(5),m("ngClass",k(56,te,t.isExpanded)),o(5),m("ngClass",k(58,ne,t.isExpanded)),o(2),m("routerLink",g(60,I)),u("aria-label",l(16,37,"menu.label_status")),o(7),m("routerLink",g(61,I))("routerLinkActive","active")("routerLinkActiveOptions",g(62,ie)),u("aria-label",l(23,39,"menu.label_status")),o(5),v(l(28,41,"menu.label_status")),o(2),w(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),w(t.$auth.user.admin?30:-1),o(2),m("routerLink",g(63,oe))("routerLinkActive","active"),u("aria-label",l(33,43,"menu.label_accessories")),o(5),v(l(38,45,"menu.label_accessories")),o(2),w(t.$auth.user.admin?39:-1),o(),w(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),w(t.$auth.user.admin?41:-1),o(),w(t.$auth.user.admin?42:-1),o(2),m("routerLink",g(64,re))("routerLinkActive","active"),u("aria-label",l(45,47,"support.title")),o(5),v(l(50,49,"support.title")),o(3),m("routerLink",g(65,ae))("routerLinkActive","active"),u("aria-label",l(53,51,"menu.restart.title")),o(5),v(l(58,53,"menu.restart.title")),o(2),w(t.$settings.formAuth?59:-1))},dependencies:[K,V,D,j,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 be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=c($);$modal=c(B);$router=c(T);$settings=c(L);$translate=c(M);$ws=c(R);sidebarExpanded=!1;io;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)),(0,Q.lt)(this.$settings.uiVersion,P.serverTarget)){console.log(`Server restart required. UI Version: ${P.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(H,{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:P.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-fw-power-off",e.result.then(()=>{this.$router.navigate(["/restart"])}).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({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&&(m("isExpanded",t.sidebarExpanded),o(),m("ngClass",k(2,be,t.sidebarExpanded)))},dependencies:[J,V,N],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{He as LayoutComponent};
@@ -1 +1 @@
1
- import{a as _,b as D}from"./chunk-WQS5PNLM.js";import{a as l,b as S}from"./chunk-I6TXUFYO.js";import{f as x}from"./chunk-UG5DK2RQ.js";import{C as v,Sc as I,g as O,h as a,ha as h,ia as E,ka as y,ma as c,na as f,r as p,sb as j,w as d,x as T,z as w}from"./chunk-TXOB7R5K.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(c(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(c(g),c(m),c(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(c(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(l.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(l.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(l.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(l.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(l.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
1
+ import{a as _,b as D}from"./chunk-EW47VYBB.js";import{a as l,b as S}from"./chunk-IXJLF7QD.js";import{f as x}from"./chunk-UG5DK2RQ.js";import{C as v,Sc as I,g as O,h as a,ha as h,ia as E,ka as y,ma as c,na as f,r as p,sb as j,w as d,x as T,z as w}from"./chunk-TXOB7R5K.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(c(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(c(g),c(m),c(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(c(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(l.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(l.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(l.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(l.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(l.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
@@ -1 +1 @@
1
- import{c as Q,d as x,e as z,f as D,g as H,j as w,m as j,p as A,q as W,w as U,y as J,z as K}from"./chunk-QHPDGSZ6.js";import{d as G}from"./chunk-NZNNTHFQ.js";import{c as q}from"./chunk-X32GOO7X.js";import{b as T}from"./chunk-WQS5PNLM.js";import{a as P}from"./chunk-I6TXUFYO.js";import{b as O}from"./chunk-3IX3CLER.js";import{Bc as l,Cc as p,Gb as v,Kb as S,M as k,Mb as m,Rb as c,Wb as a,Xb as r,Yb as h,ad as R,cc as $,dc as I,gd as N,h as y,ib as i,kc as C,lc as L,na as g,nc as s,oc as d,pc as B,rb as M,w as V,xc as f}from"./chunk-TXOB7R5K.js";var X=["password"],Y=["username"],Z=["otp"],ee=e=>({background:e}),F=e=>({"is-invalid":e});function te(e,_){if(e&1&&(a(0,"div")(1,"div",10),h(2,"i",11)(3,"input",12,0),a(5,"label",13),s(6),l(7,"translate"),r()(),a(8,"div",10),h(9,"i",14)(10,"input",15,1),a(12,"label",16),s(13),l(14,"translate"),r()()()),e&2){let t=I();i(3),m("ngClass",f(8,F,t.form.controls.username.dirty&&t.form.controls.username.errors)),i(3),d(p(7,4,"login.label_username")),i(4),m("ngClass",f(10,F,t.form.controls.password.dirty&&t.form.controls.password.errors)),i(3),d(p(14,6,"login.label_password"))}}function ne(e,_){if(e&1&&(a(0,"div")(1,"p",7),s(2),l(3,"translate"),r(),a(4,"div",10),h(5,"i",17)(6,"input",18,2),a(8,"label",19),s(9),l(10,"translate"),r()()()),e&2){let t=I();i(2),d(p(3,3,"users.setup_2fa_enter_code")),i(4),m("ngClass",f(7,F,t.form.controls.otp.dirty&&t.form.controls.otp.errors)),i(3),d(p(10,5,"login.label_2fa_code"))}}function ie(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.invalid_credentials")))}function oe(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.message_invalid_2fa_code")))}var Ce=(()=>{class e{$auth=g(q);$router=g(G);$settings=g(T);passwordInput=v("password");usernameInput=v("username");otpInput=v("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;ngOnInit(){this.form=new H({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(k(500)).subscribe(t=>{var n;let o=(n=this.passwordInput())==null?void 0:n.nativeElement.value;o&&o!==t.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield V(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=this.$settings.env.customWallpaperHash?`${P.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`:"/assets/snapshot.jpg";this.backgroundStyle=`url('${t}') center/cover`}})}onSubmit(){return y(this,null,function*(){var n,b,E;this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0;let t=(n=this.passwordInput())==null?void 0:n.nativeElement.value;t&&t!==this.form.get("password").value&&this.form.controls.password.setValue(t);let o=(b=this.usernameInput())==null?void 0:b.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let u=(E=this.otpInput())==null?void 0:E.nativeElement.value;u&&u!==this.form.get("otp").value&&this.form.controls.username.setValue(u)}yield this.$auth.login(this.form.getRawValue()).then(()=>{this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}).catch(u=>{u.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[x.required,x.minLength(6),x.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}),this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["ng-component"]],viewQuery:function(o,n){o&1&&(C(n.passwordInput,X,5),C(n.usernameInput,Y,5),C(n.otpInput,Z,5)),o&2&&L(3)},decls:13,vars:12,consts:[["username",""],["password",""],["otp",""],[1,"login-container","d-flex","align-items-center","justify-content-center",3,"ngStyle"],[1,"card","card-body","mx-2","login-card"],["novalidate","",3,"ngSubmit","formGroup"],[1,"h4","text-center","mb-4"],[1,"text-center"],[1,"red-text"],["tabindex","3","type","submit",1,"btn","btn-primary",3,"disabled"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-key","prefix","grey-text"],["formControlName","otp","type","text","id","form-ota","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-ota"]],template:function(o,n){o&1&&(a(0,"div",3)(1,"div",4)(2,"form",5),$("ngSubmit",function(){return n.onSubmit()}),a(3,"p",6),s(4,"Homebridge"),r(),S(5,te,15,12,"div")(6,ne,11,9,"div"),a(7,"div",7),S(8,ie,4,3,"p",8)(9,oe,4,3,"p",8),a(10,"button",9),s(11),l(12,"translate"),r()()()()()),o&2&&(m("ngStyle",f(10,ee,n.backgroundStyle)),i(2),m("formGroup",n.form),i(3),c(n.twoFactorCodeRequired?-1:5),i(),c(n.twoFactorCodeRequired?6:-1),i(2),c(n.invalidCredentials?8:-1),i(),c(n.invalid2faCode?9:-1),i(),m("disabled",n.form.invalid),i(),B(" ",p(12,8,"login.button_login")," "))},dependencies:[N,J,j,Q,z,D,U,K,A,W,R,O],styles:[".login-container[_ngcontent-%COMP%]{background-color:#f4f4f4;background-size:cover;position:absolute;top:0;bottom:0;right:0;left:0}.login-card[_ngcontent-%COMP%]{max-width:500px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (min-height: 800px){.login-card[_ngcontent-%COMP%]{margin-bottom:12em}}.login-logo[_ngcontent-%COMP%]{position:absolute;top:-35%;z-index:2000;max-width:450px}@media screen and (max-width: 450px){.login-logo[_ngcontent-%COMP%]{max-width:320px;top:-25%}}@media screen and (max-width: 320px){.login-logo[_ngcontent-%COMP%]{max-width:280px}}@media screen and (max-height: 450px){.login-logo[_ngcontent-%COMP%]{display:none}}"]})}return e})();export{Ce as a};
1
+ import{c as Q,d as x,e as z,f as D,g as H,j as w,m as j,p as A,q as W,w as U,y as J,z as K}from"./chunk-QHPDGSZ6.js";import{d as G}from"./chunk-NZNNTHFQ.js";import{c as q}from"./chunk-V7N2CECV.js";import{b as T}from"./chunk-EW47VYBB.js";import{a as P}from"./chunk-IXJLF7QD.js";import{b as O}from"./chunk-3IX3CLER.js";import{Bc as l,Cc as p,Gb as v,Kb as S,M as k,Mb as m,Rb as c,Wb as a,Xb as r,Yb as h,ad as R,cc as $,dc as I,gd as N,h as y,ib as i,kc as C,lc as L,na as g,nc as s,oc as d,pc as B,rb as M,w as V,xc as f}from"./chunk-TXOB7R5K.js";var X=["password"],Y=["username"],Z=["otp"],ee=e=>({background:e}),F=e=>({"is-invalid":e});function te(e,_){if(e&1&&(a(0,"div")(1,"div",10),h(2,"i",11)(3,"input",12,0),a(5,"label",13),s(6),l(7,"translate"),r()(),a(8,"div",10),h(9,"i",14)(10,"input",15,1),a(12,"label",16),s(13),l(14,"translate"),r()()()),e&2){let t=I();i(3),m("ngClass",f(8,F,t.form.controls.username.dirty&&t.form.controls.username.errors)),i(3),d(p(7,4,"login.label_username")),i(4),m("ngClass",f(10,F,t.form.controls.password.dirty&&t.form.controls.password.errors)),i(3),d(p(14,6,"login.label_password"))}}function ne(e,_){if(e&1&&(a(0,"div")(1,"p",7),s(2),l(3,"translate"),r(),a(4,"div",10),h(5,"i",17)(6,"input",18,2),a(8,"label",19),s(9),l(10,"translate"),r()()()),e&2){let t=I();i(2),d(p(3,3,"users.setup_2fa_enter_code")),i(4),m("ngClass",f(7,F,t.form.controls.otp.dirty&&t.form.controls.otp.errors)),i(3),d(p(10,5,"login.label_2fa_code"))}}function ie(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.invalid_credentials")))}function oe(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.message_invalid_2fa_code")))}var Ce=(()=>{class e{$auth=g(q);$router=g(G);$settings=g(T);passwordInput=v("password");usernameInput=v("username");otpInput=v("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;ngOnInit(){this.form=new H({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(k(500)).subscribe(t=>{var n;let o=(n=this.passwordInput())==null?void 0:n.nativeElement.value;o&&o!==t.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield V(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=this.$settings.env.customWallpaperHash?`${P.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`:"/assets/snapshot.jpg";this.backgroundStyle=`url('${t}') center/cover`}})}onSubmit(){return y(this,null,function*(){var n,b,E;this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0;let t=(n=this.passwordInput())==null?void 0:n.nativeElement.value;t&&t!==this.form.get("password").value&&this.form.controls.password.setValue(t);let o=(b=this.usernameInput())==null?void 0:b.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let u=(E=this.otpInput())==null?void 0:E.nativeElement.value;u&&u!==this.form.get("otp").value&&this.form.controls.username.setValue(u)}yield this.$auth.login(this.form.getRawValue()).then(()=>{this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}).catch(u=>{u.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[x.required,x.minLength(6),x.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}),this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["ng-component"]],viewQuery:function(o,n){o&1&&(C(n.passwordInput,X,5),C(n.usernameInput,Y,5),C(n.otpInput,Z,5)),o&2&&L(3)},decls:13,vars:12,consts:[["username",""],["password",""],["otp",""],[1,"login-container","d-flex","align-items-center","justify-content-center",3,"ngStyle"],[1,"card","card-body","mx-2","login-card"],["novalidate","",3,"ngSubmit","formGroup"],[1,"h4","text-center","mb-4"],[1,"text-center"],[1,"red-text"],["tabindex","3","type","submit",1,"btn","btn-primary",3,"disabled"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-key","prefix","grey-text"],["formControlName","otp","type","text","id","form-ota","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-ota"]],template:function(o,n){o&1&&(a(0,"div",3)(1,"div",4)(2,"form",5),$("ngSubmit",function(){return n.onSubmit()}),a(3,"p",6),s(4,"Homebridge"),r(),S(5,te,15,12,"div")(6,ne,11,9,"div"),a(7,"div",7),S(8,ie,4,3,"p",8)(9,oe,4,3,"p",8),a(10,"button",9),s(11),l(12,"translate"),r()()()()()),o&2&&(m("ngStyle",f(10,ee,n.backgroundStyle)),i(2),m("formGroup",n.form),i(3),c(n.twoFactorCodeRequired?-1:5),i(),c(n.twoFactorCodeRequired?6:-1),i(2),c(n.invalidCredentials?8:-1),i(),c(n.invalid2faCode?9:-1),i(),m("disabled",n.form.invalid),i(),B(" ",p(12,8,"login.button_login")," "))},dependencies:[N,J,j,Q,z,D,U,K,A,W,R,O],styles:[".login-container[_ngcontent-%COMP%]{background-color:#f4f4f4;background-size:cover;position:absolute;top:0;bottom:0;right:0;left:0}.login-card[_ngcontent-%COMP%]{max-width:500px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (min-height: 800px){.login-card[_ngcontent-%COMP%]{margin-bottom:12em}}.login-logo[_ngcontent-%COMP%]{position:absolute;top:-35%;z-index:2000;max-width:450px}@media screen and (max-width: 450px){.login-logo[_ngcontent-%COMP%]{max-width:320px;top:-25%}}@media screen and (max-width: 320px){.login-logo[_ngcontent-%COMP%]{max-width:280px}}@media screen and (max-height: 450px){.login-logo[_ngcontent-%COMP%]{display:none}}"]})}return e})();export{Ce as a};
@@ -1 +1 @@
1
- import{d as s}from"./chunk-NZNNTHFQ.js";import{b as n}from"./chunk-WQS5PNLM.js";import{h as r,ha as o,na as e,w as i}from"./chunk-TXOB7R5K.js";var l=(()=>{class t{$router=e(s);$settings=e(n);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
1
+ import{d as s}from"./chunk-NZNNTHFQ.js";import{b as n}from"./chunk-EW47VYBB.js";import{h as r,ha as o,na as e,w as i}from"./chunk-TXOB7R5K.js";var l=(()=>{class t{$router=e(s);$settings=e(n);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-2Y7IA4F5.js";import"./chunk-ZNLUOFYB.js";import"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as RestartComponent};
@@ -1 +1 @@
1
- import"./chunk-JZXE5AVD.js";import"./chunk-P5AL2R5S.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-KQJ7ONUG.js";import{q as s}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-SBFM5MWM.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-X32GOO7X.js";import"./chunk-WQS5PNLM.js";import"./chunk-I6TXUFYO.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var f=[{path:"",loadComponent:()=>import("./chunk-A22ZGKFV.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,s,n.forChild()]})}return o})();export{h as LogsModule};
1
+ import"./chunk-32JC3YKE.js";import"./chunk-MTQI5ATL.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-KQJ7ONUG.js";import{q as s}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-ZNLUOFYB.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var f=[{path:"",loadComponent:()=>import("./chunk-ONO4E6RM.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,s,n.forChild()]})}return o})();export{h as LogsModule};
@@ -1 +1 @@
1
- import{a as R}from"./chunk-JNVD4LXJ.js";import"./chunk-WB43LQ4P.js";import{c as g}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as C}from"./chunk-ORPWYWCL.js";import{y as S,z as v}from"./chunk-QHPDGSZ6.js";import"./chunk-SBFM5MWM.js";import{d as h,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-X32GOO7X.js";import"./chunk-WQS5PNLM.js";import{b as f,j as M}from"./chunk-I6TXUFYO.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as p,ha as c,ia as i,md as l,na as e,sb as a,w as s}from"./chunk-TXOB7R5K.js";var m=(()=>{class t{$api=e(f);$router=e(h);$toastr=e(M);$translate=e(u);resolve(){return p(this,null,function*(){try{return yield s(this.$api.get("/platform-tools/docker/startup-script"))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(o){return new(o||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var j=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-3ILEKYSR.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:m}},{path:"restart-container",loadComponent:()=>import("./chunk-ELJNFF5E.js").then(t=>t.ContainerRestartComponent)}],$=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({imports:[n.forChild(j),n]})}return t})();var Q=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({providers:[m],imports:[l,S,v,g,C,d.forChild(),$,R]})}return t})();export{Q as DockerModule};
1
+ import{a as R}from"./chunk-2V3KMEII.js";import"./chunk-UYVUIASO.js";import{c as g}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as C}from"./chunk-ORPWYWCL.js";import{y as S,z as v}from"./chunk-QHPDGSZ6.js";import"./chunk-ZNLUOFYB.js";import{d as h,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import{b as f,j as M}from"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as p,ha as c,ia as i,md as l,na as e,sb as a,w as s}from"./chunk-TXOB7R5K.js";var m=(()=>{class t{$api=e(f);$router=e(h);$toastr=e(M);$translate=e(u);resolve(){return p(this,null,function*(){try{return yield s(this.$api.get("/platform-tools/docker/startup-script"))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(o){return new(o||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var j=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-YPXAS3YU.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:m}},{path:"restart-container",loadComponent:()=>import("./chunk-DWBOZVPE.js").then(t=>t.ContainerRestartComponent)}],$=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({imports:[n.forChild(j),n]})}return t})();var Q=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({providers:[m],imports:[l,S,v,g,C,d.forChild(),$,R]})}return t})();export{Q as DockerModule};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-2V3KMEII.js";import"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as StartupScriptComponent};
@@ -1 +1 @@
1
- import"./chunk-3JPY43OF.js";import"./chunk-LZ6GJNQQ.js";import"./chunk-SBFM5MWM.js";import{g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-X32GOO7X.js";import"./chunk-WQS5PNLM.js";import"./chunk-I6TXUFYO.js";import"./chunk-UG5DK2RQ.js";import{c as m}from"./chunk-3IX3CLER.js";import{ia as t,md as i,sb as r}from"./chunk-TXOB7R5K.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-U7YLFZR7.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-55U3I7TP.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};
1
+ import"./chunk-KUORZCE6.js";import"./chunk-U2P5XP2F.js";import"./chunk-ZNLUOFYB.js";import{g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import{c as m}from"./chunk-3IX3CLER.js";import{ia as t,md as i,sb as r}from"./chunk-TXOB7R5K.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-R3AZ3I72.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-EORI6UXU.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-MHRX72WR.js";import"./chunk-QHH466A4.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-ZNLUOFYB.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as TerminalComponent};
@@ -1 +1 @@
1
- import{a as f,b as l}from"./chunk-KGLOCFJC.js";import{a as d}from"./chunk-GADEIMEK.js";import{f as p}from"./chunk-PPWQGDPC.js";import"./chunk-WNWWUCCZ.js";import"./chunk-JZZQRLNW.js";import{q as c}from"./chunk-ORPWYWCL.js";import{y as n}from"./chunk-QHPDGSZ6.js";import"./chunk-SBFM5MWM.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-X32GOO7X.js";import"./chunk-WQS5PNLM.js";import"./chunk-I6TXUFYO.js";import"./chunk-UG5DK2RQ.js";import{c as s}from"./chunk-3IX3CLER.js";import{ia as r,md as m,sb as e}from"./chunk-TXOB7R5K.js";var g=[{path:"",loadComponent:()=>import("./chunk-7FVCGQSF.js").then(o=>o.AccessoriesComponent)}],u=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(g),i]})}return o})();var H=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,n,c,p,s.forChild(),d,u,l,f]})}return o})();export{H as AccessoriesModule};
1
+ import{a as f,b as l}from"./chunk-UOC4D22J.js";import{a as d}from"./chunk-OCEIGXJ6.js";import{f as p}from"./chunk-IE7U3OMA.js";import"./chunk-WNWWUCCZ.js";import"./chunk-JZZQRLNW.js";import{q as c}from"./chunk-ORPWYWCL.js";import{y as n}from"./chunk-QHPDGSZ6.js";import"./chunk-ZNLUOFYB.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-V7N2CECV.js";import"./chunk-EW47VYBB.js";import"./chunk-IXJLF7QD.js";import"./chunk-UG5DK2RQ.js";import{c as s}from"./chunk-3IX3CLER.js";import{ia as r,md as m,sb as e}from"./chunk-TXOB7R5K.js";var g=[{path:"",loadComponent:()=>import("./chunk-EIEMRTWX.js").then(o=>o.AccessoriesComponent)}],u=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(g),i]})}return o})();var H=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,n,c,p,s.forChild(),d,u,l,f]})}return o})();export{H as AccessoriesModule};
@@ -1,4 +1,4 @@
1
- import{m as zu}from"./chunk-ORPWYWCL.js";import{d as Hu}from"./chunk-NZNNTHFQ.js";import{b as Mu,j as Ru}from"./chunk-I6TXUFYO.js";import{a as Tu,b as Lu}from"./chunk-3IX3CLER.js";import{Bc as G,Cc as U,Lb as vu,Wb as L,Xb as W,Yb as hu,cc as Au,e as P0,ib as q,na as Q,nc as X,oc as gu,pc as bu,rb as $u}from"./chunk-TXOB7R5K.js";var N0=P0((yu,wu)=>{(function(x,y){typeof yu=="object"&&typeof wu<"u"?wu.exports=y():typeof define=="function"&&define.amd?define(y):x.JSON5=y()})(yu,function(){"use strict";function x(u,D){return D={exports:{}},u(D,D.exports),D.exports}var y=x(function(u){var D=u.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=D)}),w=x(function(u){var D=u.exports={version:"2.6.5"};typeof __e=="number"&&(__e=D)}),Y=w.version,S=function(u){return typeof u=="object"?u!==null:typeof u=="function"},uu=function(u){if(!S(u))throw TypeError(u+" is not an object!");return u},xu=function(u){try{return!!u()}catch{return!0}},ou=!xu(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),Eu=y.document,Ju=S(Eu)&&S(Eu.createElement),ku=function(u){return Ju?Eu.createElement(u):{}},qu=!ou&&!xu(function(){return Object.defineProperty(ku("div"),"a",{get:function(){return 7}}).a!=7}),Gu=function(u,D){if(!S(u))return u;var t,r;if(D&&typeof(t=u.toString)=="function"&&!S(r=t.call(u))||typeof(t=u.valueOf)=="function"&&!S(r=t.call(u))||!D&&typeof(t=u.toString)=="function"&&!S(r=t.call(u)))return r;throw TypeError("Can't convert object to primitive value")},Uu=Object.defineProperty,Zu=ou?Object.defineProperty:function(D,t,r){if(uu(D),t=Gu(t,!0),uu(r),qu)try{return Uu(D,t,r)}catch{}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(D[t]=r.value),D},Ku={f:Zu},Qu=function(u,D){return{enumerable:!(u&1),configurable:!(u&2),writable:!(u&4),value:D}},Du=ou?function(u,D,t){return Ku.f(u,D,Qu(1,t))}:function(u,D,t){return u[D]=t,u},Wu={}.hasOwnProperty,Su=function(u,D){return Wu.call(u,D)},Xu=0,Yu=Math.random(),u0=function(u){return"Symbol(".concat(u===void 0?"":u,")_",(++Xu+Yu).toString(36))},D0=!1,e0=x(function(u){var D="__core-js_shared__",t=y[D]||(y[D]={});(u.exports=function(r,n){return t[r]||(t[r]=n!==void 0?n:{})})("versions",[]).push({version:w.version,mode:D0?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})}),cu=e0("native-function-to-string",Function.toString),r0=x(function(u){var D=u0("src"),t="toString",r=(""+cu).split(t);w.inspectSource=function(n){return cu.call(n)},(u.exports=function(n,C,o,g){var B=typeof o=="function";B&&(Su(o,"name")||Du(o,"name",C)),n[C]!==o&&(B&&(Su(o,D)||Du(o,D,n[C]?""+n[C]:r.join(String(C)))),n===y?n[C]=o:g?n[C]?n[C]=o:Du(n,C,o):(delete n[C],Du(n,C,o)))})(Function.prototype,t,function(){return typeof this=="function"&&this[D]||cu.call(this)})}),t0=function(u){if(typeof u!="function")throw TypeError(u+" is not a function!");return u},_u=function(u,D,t){if(t0(u),D===void 0)return u;switch(t){case 1:return function(r){return u.call(D,r)};case 2:return function(r,n){return u.call(D,r,n)};case 3:return function(r,n,C){return u.call(D,r,n,C)}}return function(){return u.apply(D,arguments)}},fu="prototype",v=function(u,D,t){var r=u&v.F,n=u&v.G,C=u&v.S,o=u&v.P,g=u&v.B,B=n?y:C?y[D]||(y[D]={}):(y[D]||{})[fu],z=n?w:w[D]||(w[D]={}),Z=z[fu]||(z[fu]={}),P,I,b,K;n&&(t=D);for(P in t)I=!r&&B&&B[P]!==void 0,b=(I?B:t)[P],K=g&&I?_u(b,y):o&&typeof b=="function"?_u(Function.call,b):b,B&&r0(B,P,b,u&v.U),z[P]!=b&&Du(z,P,K),o&&Z[P]!=b&&(Z[P]=b)};y.core=w,v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128;var eu=v,n0=Math.ceil,i0=Math.floor,Pu=function(u){return isNaN(u=+u)?0:(u>0?i0:n0)(u)},a0=function(u){if(u==null)throw TypeError("Can't call method on "+u);return u},F0=function(u){return function(D,t){var r=String(a0(D)),n=Pu(t),C=r.length,o,g;return n<0||n>=C?u?"":void 0:(o=r.charCodeAt(n),o<55296||o>56319||n+1===C||(g=r.charCodeAt(n+1))<56320||g>57343?u?r.charAt(n):o:u?r.slice(n,n+2):(o-55296<<10)+(g-56320)+65536)}},C0=F0(!1);eu(eu.P,"String",{codePointAt:function(D){return C0(this,D)}});var I0=w.String.codePointAt,A0=Math.max,o0=Math.min,E0=function(u,D){return u=Pu(u),u<0?A0(u+D,0):o0(u,D)},Nu=String.fromCharCode,Iu=String.fromCodePoint;eu(eu.S+eu.F*(!!Iu&&Iu.length!=1),"String",{fromCodePoint:function(D){for(var t=arguments,r=[],n=arguments.length,C=0,o;n>C;){if(o=+t[C++],E0(o,1114111)!==o)throw RangeError(o+" is not a valid code point");r.push(o<65536?Nu(o):Nu(((o-=65536)>>10)+55296,o%1024+56320))}return r.join("")}});var j0=w.String.fromCodePoint,c0=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,f0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,s0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,su={Space_Separator:c0,ID_Start:f0,ID_Continue:s0},s={isSpaceSeparator:function(D){return typeof D=="string"&&su.Space_Separator.test(D)},isIdStartChar:function(D){return typeof D=="string"&&(D>="a"&&D<="z"||D>="A"&&D<="Z"||D==="$"||D==="_"||su.ID_Start.test(D))},isIdContinueChar:function(D){return typeof D=="string"&&(D>="a"&&D<="z"||D>="A"&&D<="Z"||D>="0"&&D<="9"||D==="$"||D==="_"||D==="\u200C"||D==="\u200D"||su.ID_Continue.test(D))},isDigit:function(D){return typeof D=="string"&&/[0-9]/.test(D)},isHexDigit:function(D){return typeof D=="string"&&/[0-9A-Fa-f]/.test(D)}},Bu,h,j,nu,M,_,l,lu,ru,B0=function(D,t){Bu=String(D),h="start",j=[],nu=0,M=1,_=0,l=void 0,lu=void 0,ru=void 0;do l=l0(),m0[h]();while(l.type!=="eof");return typeof t=="function"?du({"":ru},"",t):ru};function du(u,D,t){var r=u[D];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(var n=0;n<r.length;n++){var C=String(n),o=du(r,C,t);o===void 0?delete r[C]:Object.defineProperty(r,C,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(var g in r){var B=du(r,g,t);B===void 0?delete r[g]:Object.defineProperty(r,g,{value:B,writable:!0,enumerable:!0,configurable:!0})}return t.call(u,D,r)}var F,i,tu,O,A;function l0(){for(F="default",i="",tu=!1,O=1;;){A=V();var u=ju[F]();if(u)return u}}function V(){if(Bu[nu])return String.fromCodePoint(Bu.codePointAt(nu))}function e(){var u=V();return u===`
1
+ import{m as zu}from"./chunk-ORPWYWCL.js";import{d as Hu}from"./chunk-NZNNTHFQ.js";import{b as Mu,j as Ru}from"./chunk-IXJLF7QD.js";import{a as Tu,b as Lu}from"./chunk-3IX3CLER.js";import{Bc as G,Cc as U,Lb as vu,Wb as L,Xb as W,Yb as hu,cc as Au,e as P0,ib as q,na as Q,nc as X,oc as gu,pc as bu,rb as $u}from"./chunk-TXOB7R5K.js";var N0=P0((yu,wu)=>{(function(x,y){typeof yu=="object"&&typeof wu<"u"?wu.exports=y():typeof define=="function"&&define.amd?define(y):x.JSON5=y()})(yu,function(){"use strict";function x(u,D){return D={exports:{}},u(D,D.exports),D.exports}var y=x(function(u){var D=u.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=D)}),w=x(function(u){var D=u.exports={version:"2.6.5"};typeof __e=="number"&&(__e=D)}),Y=w.version,S=function(u){return typeof u=="object"?u!==null:typeof u=="function"},uu=function(u){if(!S(u))throw TypeError(u+" is not an object!");return u},xu=function(u){try{return!!u()}catch{return!0}},ou=!xu(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),Eu=y.document,Ju=S(Eu)&&S(Eu.createElement),ku=function(u){return Ju?Eu.createElement(u):{}},qu=!ou&&!xu(function(){return Object.defineProperty(ku("div"),"a",{get:function(){return 7}}).a!=7}),Gu=function(u,D){if(!S(u))return u;var t,r;if(D&&typeof(t=u.toString)=="function"&&!S(r=t.call(u))||typeof(t=u.valueOf)=="function"&&!S(r=t.call(u))||!D&&typeof(t=u.toString)=="function"&&!S(r=t.call(u)))return r;throw TypeError("Can't convert object to primitive value")},Uu=Object.defineProperty,Zu=ou?Object.defineProperty:function(D,t,r){if(uu(D),t=Gu(t,!0),uu(r),qu)try{return Uu(D,t,r)}catch{}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(D[t]=r.value),D},Ku={f:Zu},Qu=function(u,D){return{enumerable:!(u&1),configurable:!(u&2),writable:!(u&4),value:D}},Du=ou?function(u,D,t){return Ku.f(u,D,Qu(1,t))}:function(u,D,t){return u[D]=t,u},Wu={}.hasOwnProperty,Su=function(u,D){return Wu.call(u,D)},Xu=0,Yu=Math.random(),u0=function(u){return"Symbol(".concat(u===void 0?"":u,")_",(++Xu+Yu).toString(36))},D0=!1,e0=x(function(u){var D="__core-js_shared__",t=y[D]||(y[D]={});(u.exports=function(r,n){return t[r]||(t[r]=n!==void 0?n:{})})("versions",[]).push({version:w.version,mode:D0?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})}),cu=e0("native-function-to-string",Function.toString),r0=x(function(u){var D=u0("src"),t="toString",r=(""+cu).split(t);w.inspectSource=function(n){return cu.call(n)},(u.exports=function(n,C,o,g){var B=typeof o=="function";B&&(Su(o,"name")||Du(o,"name",C)),n[C]!==o&&(B&&(Su(o,D)||Du(o,D,n[C]?""+n[C]:r.join(String(C)))),n===y?n[C]=o:g?n[C]?n[C]=o:Du(n,C,o):(delete n[C],Du(n,C,o)))})(Function.prototype,t,function(){return typeof this=="function"&&this[D]||cu.call(this)})}),t0=function(u){if(typeof u!="function")throw TypeError(u+" is not a function!");return u},_u=function(u,D,t){if(t0(u),D===void 0)return u;switch(t){case 1:return function(r){return u.call(D,r)};case 2:return function(r,n){return u.call(D,r,n)};case 3:return function(r,n,C){return u.call(D,r,n,C)}}return function(){return u.apply(D,arguments)}},fu="prototype",v=function(u,D,t){var r=u&v.F,n=u&v.G,C=u&v.S,o=u&v.P,g=u&v.B,B=n?y:C?y[D]||(y[D]={}):(y[D]||{})[fu],z=n?w:w[D]||(w[D]={}),Z=z[fu]||(z[fu]={}),P,I,b,K;n&&(t=D);for(P in t)I=!r&&B&&B[P]!==void 0,b=(I?B:t)[P],K=g&&I?_u(b,y):o&&typeof b=="function"?_u(Function.call,b):b,B&&r0(B,P,b,u&v.U),z[P]!=b&&Du(z,P,K),o&&Z[P]!=b&&(Z[P]=b)};y.core=w,v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128;var eu=v,n0=Math.ceil,i0=Math.floor,Pu=function(u){return isNaN(u=+u)?0:(u>0?i0:n0)(u)},a0=function(u){if(u==null)throw TypeError("Can't call method on "+u);return u},F0=function(u){return function(D,t){var r=String(a0(D)),n=Pu(t),C=r.length,o,g;return n<0||n>=C?u?"":void 0:(o=r.charCodeAt(n),o<55296||o>56319||n+1===C||(g=r.charCodeAt(n+1))<56320||g>57343?u?r.charAt(n):o:u?r.slice(n,n+2):(o-55296<<10)+(g-56320)+65536)}},C0=F0(!1);eu(eu.P,"String",{codePointAt:function(D){return C0(this,D)}});var I0=w.String.codePointAt,A0=Math.max,o0=Math.min,E0=function(u,D){return u=Pu(u),u<0?A0(u+D,0):o0(u,D)},Nu=String.fromCharCode,Iu=String.fromCodePoint;eu(eu.S+eu.F*(!!Iu&&Iu.length!=1),"String",{fromCodePoint:function(D){for(var t=arguments,r=[],n=arguments.length,C=0,o;n>C;){if(o=+t[C++],E0(o,1114111)!==o)throw RangeError(o+" is not a valid code point");r.push(o<65536?Nu(o):Nu(((o-=65536)>>10)+55296,o%1024+56320))}return r.join("")}});var j0=w.String.fromCodePoint,c0=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,f0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,s0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,su={Space_Separator:c0,ID_Start:f0,ID_Continue:s0},s={isSpaceSeparator:function(D){return typeof D=="string"&&su.Space_Separator.test(D)},isIdStartChar:function(D){return typeof D=="string"&&(D>="a"&&D<="z"||D>="A"&&D<="Z"||D==="$"||D==="_"||su.ID_Start.test(D))},isIdContinueChar:function(D){return typeof D=="string"&&(D>="a"&&D<="z"||D>="A"&&D<="Z"||D>="0"&&D<="9"||D==="$"||D==="_"||D==="\u200C"||D==="\u200D"||su.ID_Continue.test(D))},isDigit:function(D){return typeof D=="string"&&/[0-9]/.test(D)},isHexDigit:function(D){return typeof D=="string"&&/[0-9A-Fa-f]/.test(D)}},Bu,h,j,nu,M,_,l,lu,ru,B0=function(D,t){Bu=String(D),h="start",j=[],nu=0,M=1,_=0,l=void 0,lu=void 0,ru=void 0;do l=l0(),m0[h]();while(l.type!=="eof");return typeof t=="function"?du({"":ru},"",t):ru};function du(u,D,t){var r=u[D];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(var n=0;n<r.length;n++){var C=String(n),o=du(r,C,t);o===void 0?delete r[C]:Object.defineProperty(r,C,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(var g in r){var B=du(r,g,t);B===void 0?delete r[g]:Object.defineProperty(r,g,{value:B,writable:!0,enumerable:!0,configurable:!0})}return t.call(u,D,r)}var F,i,tu,O,A;function l0(){for(F="default",i="",tu=!1,O=1;;){A=V();var u=ju[F]();if(u)return u}}function V(){if(Bu[nu])return String.fromCodePoint(Bu.codePointAt(nu))}function e(){var u=V();return u===`
2
2
  `?(M++,_=0):u?_+=u.length:_++,u&&(nu+=u.length),u}var ju={default:function(){switch(A){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
3
  `:case"\r":case"\u2028":case"\u2029":e();return;case"/":e(),F="comment";return;case void 0:return e(),c("eof")}if(s.isSpaceSeparator(A)){e();return}return ju[h]()},comment:function(){switch(A){case"*":e(),F="multiLineComment";return;case"/":e(),F="singleLineComment";return}throw f(e())},multiLineComment:function(){switch(A){case"*":e(),F="multiLineCommentAsterisk";return;case void 0:throw f(e())}e()},multiLineCommentAsterisk:function(){switch(A){case"*":e();return;case"/":e(),F="default";return;case void 0:throw f(e())}e(),F="multiLineComment"},singleLineComment:function(){switch(A){case`
4
4
  `:case"\r":case"\u2028":case"\u2029":e(),F="default";return;case void 0:return e(),c("eof")}e()},value:function(){switch(A){case"{":case"[":return c("punctuator",e());case"n":return e(),R("ull"),c("null",null);case"t":return e(),R("rue"),c("boolean",!0);case"f":return e(),R("alse"),c("boolean",!1);case"-":case"+":e()==="-"&&(O=-1),F="sign";return;case".":i=e(),F="decimalPointLeading";return;case"0":i=e(),F="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i=e(),F="decimalInteger";return;case"I":return e(),R("nfinity"),c("numeric",1/0);case"N":return e(),R("aN"),c("numeric",NaN);case'"':case"'":tu=e()==='"',i="",F="string";return}throw f(e())},identifierNameStartEscape:function(){if(A!=="u")throw f(e());e();var D=pu();switch(D){case"$":case"_":break;default:if(!s.isIdStartChar(D))throw Ou();break}i+=D,F="identifierName"},identifierName:function(){switch(A){case"$":case"_":case"\u200C":case"\u200D":i+=e();return;case"\\":e(),F="identifierNameEscape";return}if(s.isIdContinueChar(A)){i+=e();return}return c("identifier",i)},identifierNameEscape:function(){if(A!=="u")throw f(e());e();var D=pu();switch(D){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!s.isIdContinueChar(D))throw Ou();break}i+=D,F="identifierName"},sign:function(){switch(A){case".":i=e(),F="decimalPointLeading";return;case"0":i=e(),F="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i=e(),F="decimalInteger";return;case"I":return e(),R("nfinity"),c("numeric",O*(1/0));case"N":return e(),R("aN"),c("numeric",NaN)}throw f(e())},zero:function(){switch(A){case".":i+=e(),F="decimalPoint";return;case"e":case"E":i+=e(),F="decimalExponent";return;case"x":case"X":i+=e(),F="hexadecimal";return}return c("numeric",O*0)},decimalInteger:function(){switch(A){case".":i+=e(),F="decimalPoint";return;case"e":case"E":i+=e(),F="decimalExponent";return}if(s.isDigit(A)){i+=e();return}return c("numeric",O*Number(i))},decimalPointLeading:function(){if(s.isDigit(A)){i+=e(),F="decimalFraction";return}throw f(e())},decimalPoint:function(){switch(A){case"e":case"E":i+=e(),F="decimalExponent";return}if(s.isDigit(A)){i+=e(),F="decimalFraction";return}return c("numeric",O*Number(i))},decimalFraction:function(){switch(A){case"e":case"E":i+=e(),F="decimalExponent";return}if(s.isDigit(A)){i+=e();return}return c("numeric",O*Number(i))},decimalExponent:function(){switch(A){case"+":case"-":i+=e(),F="decimalExponentSign";return}if(s.isDigit(A)){i+=e(),F="decimalExponentInteger";return}throw f(e())},decimalExponentSign:function(){if(s.isDigit(A)){i+=e(),F="decimalExponentInteger";return}throw f(e())},decimalExponentInteger:function(){if(s.isDigit(A)){i+=e();return}return c("numeric",O*Number(i))},hexadecimal:function(){if(s.isHexDigit(A)){i+=e(),F="hexadecimalInteger";return}throw f(e())},hexadecimalInteger:function(){if(s.isHexDigit(A)){i+=e();return}return c("numeric",O*Number(i))},string:function(){switch(A){case"\\":e(),i+=d0();return;case'"':if(tu)return e(),c("string",i);i+=e();return;case"'":if(!tu)return e(),c("string",i);i+=e();return;case`