@duplicati/ngclient 0.0.162 → 0.0.163

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 (167) hide show
  1. package/assets/images/console.avif +0 -0
  2. package/chunk-2ASSYS3L.js +1 -0
  3. package/chunk-2RJJX7C2.js +1 -0
  4. package/chunk-35ZUPRX7.js +1 -0
  5. package/chunk-3OT227W4.js +1 -0
  6. package/chunk-3UJSVCAS.js +1 -0
  7. package/{chunk-XXVFRNSP.js → chunk-4HEWGBUJ.js} +1 -1
  8. package/{chunk-Z7WHLTVV.js → chunk-4VZNWPWO.js} +1 -1
  9. package/chunk-52VBZ35Q.js +1 -0
  10. package/chunk-53OIXPHF.js +1 -0
  11. package/chunk-5KAFOFRJ.js +1 -0
  12. package/chunk-5P2YZRI5.js +1 -0
  13. package/chunk-5PANYSIG.js +2 -0
  14. package/chunk-5XN6KKQ5.js +3 -0
  15. package/chunk-6QSMEZZ4.js +1 -0
  16. package/chunk-7I3YOHEE.js +1 -0
  17. package/chunk-7V6AACW7.js +1 -0
  18. package/chunk-7XAN363E.js +1 -0
  19. package/chunk-7ZE4C4XQ.js +1 -0
  20. package/chunk-A4RKBIZK.js +1 -0
  21. package/{chunk-5LX6M65H.js → chunk-AE7T2DAH.js} +1 -1
  22. package/chunk-AKJZOLGH.js +1 -0
  23. package/{chunk-YCORZV4Z.js → chunk-AL7GMUVT.js} +1 -1
  24. package/{chunk-JYWOYPSQ.js → chunk-AT6BXXSP.js} +1 -1
  25. package/chunk-ATGKEH5N.js +2 -0
  26. package/{chunk-4VY6SMSL.js → chunk-AWXWGD4T.js} +1 -1
  27. package/chunk-D2T243VR.js +1 -0
  28. package/{chunk-NSAY2K7E.js → chunk-DQAT6VCF.js} +1 -1
  29. package/chunk-EBVPGAHS.js +1 -0
  30. package/chunk-EUVXYJ2O.js +1 -0
  31. package/{chunk-NYILY6CE.js → chunk-FEJ33TSO.js} +3 -3
  32. package/chunk-FFL4DKFK.js +1 -0
  33. package/chunk-FLSO56F3.js +1 -0
  34. package/chunk-FO5YOQUM.js +1 -0
  35. package/chunk-G3QBP5CU.js +1 -0
  36. package/chunk-G6RLXZXM.js +2 -0
  37. package/{chunk-I2LW33GO.js → chunk-GNJTDWT4.js} +1 -1
  38. package/chunk-H3W2UQY2.js +1 -0
  39. package/chunk-HJAQV4HF.js +1 -0
  40. package/{chunk-LN26XMBJ.js → chunk-HVB6ARTT.js} +1 -1
  41. package/chunk-IDTGMCDE.js +1 -0
  42. package/{chunk-YJPY33RI.js → chunk-ISCGGOPN.js} +1 -1
  43. package/{chunk-CSL7HCLZ.js → chunk-IXLGVEIK.js} +1 -1
  44. package/chunk-J34TTKLN.js +1 -0
  45. package/chunk-JKXAMBD7.js +1 -0
  46. package/chunk-KCVV72VV.js +1 -0
  47. package/chunk-L34PDBPD.js +1 -0
  48. package/chunk-LC4PL7V2.js +1 -0
  49. package/chunk-LH6XLRJU.js +1 -0
  50. package/chunk-LMEZWWBD.js +1 -0
  51. package/{chunk-5ZSBXGHQ.js → chunk-NXROYR6L.js} +1 -1
  52. package/chunk-O5W6EGCB.js +1 -0
  53. package/chunk-OMKP4YQX.js +1 -0
  54. package/{chunk-H7ZKBS2Q.js → chunk-OYO6MNWR.js} +1 -1
  55. package/chunk-PIMTQKQK.js +1 -0
  56. package/{chunk-SR4YENFS.js → chunk-PKK4MIRQ.js} +1 -1
  57. package/{chunk-MHPSC3FM.js → chunk-POJT4MSX.js} +1 -1
  58. package/chunk-Q6KQWWNZ.js +1 -0
  59. package/chunk-Q7SVWHVY.js +1 -0
  60. package/{chunk-3V4DGTSM.js → chunk-QSPA3G65.js} +1 -1
  61. package/chunk-QU7TANXU.js +1 -0
  62. package/chunk-QY6647RY.js +1 -0
  63. package/chunk-R6CC4KYP.js +1 -0
  64. package/{chunk-K2BANUEJ.js → chunk-R7B32VI4.js} +1 -1
  65. package/chunk-R7CYCJUU.js +1 -0
  66. package/{chunk-RPUPXDQE.js → chunk-RAIB7LN4.js} +1 -1
  67. package/{chunk-GXGIGJ4W.js → chunk-RIX6H2ZX.js} +1 -1
  68. package/chunk-RPJFKWMV.js +2 -0
  69. package/chunk-SVQCV5AE.js +1 -0
  70. package/chunk-TC7HZO7D.js +1 -0
  71. package/chunk-TZQE4VY2.js +1 -0
  72. package/chunk-U5APXPQC.js +1 -0
  73. package/chunk-UYQXV7FY.js +1 -0
  74. package/chunk-V7NZ5WF5.js +1 -0
  75. package/{chunk-Z35OG2DV.js → chunk-VCLWADQK.js} +1 -1
  76. package/chunk-VITGSIEL.js +2 -0
  77. package/{chunk-Z27IQRKV.js → chunk-WJDMMKWE.js} +1 -1
  78. package/{chunk-S4OFJD2F.js → chunk-XTFTWEJS.js} +1 -1
  79. package/{chunk-ABYM5HWA.js → chunk-XUN5TTJC.js} +1 -1
  80. package/chunk-YATBNEED.js +1 -0
  81. package/chunk-YB374JOK.js +1 -0
  82. package/chunk-YOP2YAQF.js +1 -0
  83. package/chunk-YPAJPRDF.js +1 -0
  84. package/chunk-YWDTUV3V.js +1 -0
  85. package/chunk-Z4MDYLVI.js +1 -0
  86. package/chunk-ZBK64QS2.js +4 -0
  87. package/chunk-ZCH336WN.js +1 -0
  88. package/chunk-ZDBKQQ47.js +1 -0
  89. package/index.html +1 -1
  90. package/locale/messages.cs.json +4 -3
  91. package/locale/messages.da.json +4 -3
  92. package/locale/messages.de.json +59 -54
  93. package/locale/messages.en_GB.json +4 -3
  94. package/locale/messages.es.json +4 -3
  95. package/locale/messages.fr.json +4 -3
  96. package/locale/messages.it.json +34 -28
  97. package/locale/messages.ja_JP.json +4 -4
  98. package/locale/messages.nl_NL.json +188 -18
  99. package/locale/messages.pl.json +7 -10
  100. package/locale/messages.pt.json +4 -3
  101. package/locale/messages.pt_BR.json +4 -3
  102. package/locale/messages.ru.json +4 -3
  103. package/locale/messages.sr_RS.json +4 -3
  104. package/locale/messages.sv_SE.json +4 -3
  105. package/locale/messages.zh-Hans.json +302 -25
  106. package/locale/messages.zh_CN.json +299 -24
  107. package/locale/messages.zh_TW.json +5 -3
  108. package/main-TUINGPOM.js +1 -0
  109. package/package.json +1 -1
  110. package/chunk-2KU5X7TN.js +0 -1
  111. package/chunk-2MIEBBFN.js +0 -1
  112. package/chunk-2YGOHGD2.js +0 -1
  113. package/chunk-4FWCJIJ4.js +0 -1
  114. package/chunk-4KEA3KF7.js +0 -1
  115. package/chunk-4NOWNXOS.js +0 -1
  116. package/chunk-5CTM5KYC.js +0 -1
  117. package/chunk-5MWPORZW.js +0 -1
  118. package/chunk-6XI3IP27.js +0 -1
  119. package/chunk-7U37G3C3.js +0 -1
  120. package/chunk-AUR4SBGD.js +0 -1
  121. package/chunk-AVTEJPQ4.js +0 -1
  122. package/chunk-B32YSHV5.js +0 -1
  123. package/chunk-BB5RQS6P.js +0 -1
  124. package/chunk-BF2IYOUB.js +0 -1
  125. package/chunk-BK2MSH26.js +0 -1
  126. package/chunk-BNUMPQFL.js +0 -1
  127. package/chunk-BZ2XGEV5.js +0 -2
  128. package/chunk-CATZTYW5.js +0 -1
  129. package/chunk-CTAP3SAA.js +0 -1
  130. package/chunk-D4PLSKJA.js +0 -1
  131. package/chunk-DJQOPNQJ.js +0 -1
  132. package/chunk-DRNYRWHF.js +0 -1
  133. package/chunk-DUCPSWRQ.js +0 -1
  134. package/chunk-E6H2XELA.js +0 -2
  135. package/chunk-F5Z5ZAIL.js +0 -1
  136. package/chunk-FIOBQPE7.js +0 -1
  137. package/chunk-FSG362SU.js +0 -2
  138. package/chunk-FYTYEGRJ.js +0 -3
  139. package/chunk-G6VJHFTW.js +0 -1
  140. package/chunk-GMUNZKVL.js +0 -1
  141. package/chunk-H44BDPZE.js +0 -1
  142. package/chunk-HHU5JW5J.js +0 -1
  143. package/chunk-HYQ6MPYI.js +0 -1
  144. package/chunk-IUK3B6GX.js +0 -1
  145. package/chunk-KK24REOX.js +0 -1
  146. package/chunk-KXJZEADJ.js +0 -1
  147. package/chunk-M7QQEZOU.js +0 -1
  148. package/chunk-MGB2HZP6.js +0 -1
  149. package/chunk-OJ3H3ZRA.js +0 -2
  150. package/chunk-PB6FTE7O.js +0 -1
  151. package/chunk-PXDRFPNP.js +0 -1
  152. package/chunk-QF5WMLMJ.js +0 -1
  153. package/chunk-QONLYWYC.js +0 -4
  154. package/chunk-SPMSFKWG.js +0 -1
  155. package/chunk-SWAQMTBY.js +0 -1
  156. package/chunk-TI6AQ6OL.js +0 -1
  157. package/chunk-U3Q7TTKT.js +0 -1
  158. package/chunk-U562AGPC.js +0 -1
  159. package/chunk-U7GOWS7E.js +0 -1
  160. package/chunk-UCS5RU7N.js +0 -1
  161. package/chunk-WBPAKJQO.js +0 -1
  162. package/chunk-WNJSKJGQ.js +0 -1
  163. package/chunk-XZDYDGZ7.js +0 -1
  164. package/chunk-YPJRYB54.js +0 -2
  165. package/chunk-YYJFEUNT.js +0 -1
  166. package/chunk-Z6M25FYI.js +0 -1
  167. package/main-IH6ESA7A.js +0 -1
package/chunk-TI6AQ6OL.js DELETED
@@ -1 +0,0 @@
1
- import{a as z}from"./chunk-NSAY2K7E.js";import{a as x,c as B,d as w,e as U,f as k}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{A as X,B as H,J as V,u as J}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{$b as c,Cb as P,Db as i,Eb as t,Fb as _,Jb as R,Kb as M,Mb as f,Sa as C,Tb as l,Ub as s,Vb as b,Wb as v,Xb as y,Zb as a,_ as g,cb as m,ea as F,fa as T,pa as A,xb as $,yb as D}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";function W(u,S){if(u&1){let n=f();i(0,"sh-menu",15)(1,"button",16),b(2,2),t(),R(3,17),i(4,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Disabled"))}),l(5,3),_(6,"sh-icon"),s(),t(),i(7,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Verbose"))}),l(8,4),_(9,"sh-icon"),s(),t(),i(10,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("ExplicitOnly"))}),l(11,5),_(12,"sh-icon"),s(),t(),i(13,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Profiling"))}),l(14,6),_(15,"sh-icon"),s(),t(),i(16,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Retry"))}),l(17,7),_(18,"sh-icon"),s(),t(),i(19,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Information"))}),l(20,8),_(21,"sh-icon"),s(),t(),i(22,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("DryRun"))}),l(23,9),_(24,"sh-icon"),s(),t(),i(25,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Warning"))}),l(26,10),_(27,"sh-icon"),s(),t(),i(28,"button",18),a("click",function(){F(n);let e=c();return T(e.updateLogLevel("Error"))}),l(29,11),_(30,"sh-icon"),s(),t(),M(),t()}if(u&2){let n=c();P("openIndicator",!0),C(2),v(n.logLevelByLabel()),y(2)}}var O=class u{#n=g(w);#e=g(z);logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;currentUrl=A(this.#n.url);constructor(){this.#n.events.subscribe(S=>{S instanceof x&&this.currentUrl.set(S.urlAfterRedirects)})}updateLogLevel(S){this.#e.isPolling.set(!0),this.#e.updateLogLevel(S)}static \u0275fac=function(n){return new(n||u)};static \u0275cmp=m({type:u,selectors:[["app-logs"]],decls:10,vars:1,consts:()=>{let S;S=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:archive${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Stored `;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SH_ICON:play${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_ICON: Live `;let o;o=$localize`Log level: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:bell-simple-slash${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Disabled `;let E;E=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:megaphone-simple${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Verbose `;let L;L=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:flow-arrow${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Explicit only `;let N;N=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:speedometer${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON: Profiling `;let I;I=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SH_ICON:arrow-arc-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SH_ICON: Retry `;let d;d=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Information `;let h;h=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SH_ICON:person-simple-run${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SH_ICON: Dry run `;let G;G=$localize`${"\uFFFD#27\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_SH_ICON: Warning `;let p;return p=$localize`${"\uFFFD#30\uFFFD"}:START_TAG_SH_ICON:warning-octagon${"\uFFFD/#30\uFFFD"}:CLOSE_TAG_SH_ICON: Error `,[S,n,o,e,E,L,N,I,d,h,G,p,[1,"filters"],["type","button","routerLink","/about/logs/stored","routerLinkActive","active"],["type","button","routerLink","/about/logs/live","routerLinkActive","active"],[3,"openIndicator"],["shButton","","type","button"],["menu",""],["shButton","","type","button",1,"small",3,"click"]]},template:function(n,o){n&1&&(i(0,"div",12)(1,"sh-button-group")(2,"button",13),l(3,0),_(4,"sh-icon"),s(),t(),i(5,"button",14),l(6,1),_(7,"sh-icon"),s(),t()(),$(8,W,31,2,"sh-menu",15),t(),_(9,"router-outlet")),n&2&&(C(8),D(o.currentUrl().startsWith("/about/logs/live")?8:-1))},dependencies:[H,X,J,V,B,k,U],styles:["[_nghost-%COMP%]{display:block}.filters[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:0 2rem;margin-bottom:1.25rem}"],changeDetection:0})};export{O as default};
package/chunk-U3Q7TTKT.js DELETED
@@ -1 +0,0 @@
1
- import{a as Y,f as _n}from"./chunk-FSG362SU.js";import{a as an}from"./chunk-KXJZEADJ.js";import{a as on}from"./chunk-H7ZKBS2Q.js";import{a as tn}from"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import{a as nn}from"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{e as we}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{A as Ve,B as Ue,C as je,E as Ke,F as We,J as qe,K as Qe,R as Ye,S as Ze,u as ze}from"./chunk-RPUPXDQE.js";import{i as en}from"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{$b as u,Ab as w,Bb as z,Bc as q,Cb as d,Cc as D,Db as o,Eb as t,Fb as T,Fc as M,Gc as G,H as j,Hc as $,Jb as O,Jc as Q,Kb as N,Lb as f,Mb as H,Pa as K,Rc as Je,Sa as a,Tb as r,Ub as c,Vb as E,Wb as A,Xb as h,Yb as W,Zb as R,_ as v,cb as xe,ea as P,fa as I,hb as m,ib as ke,ic as V,kc as L,nc as s,pa as X,pc as S,sb as ye,sc as be,tb as Be,tc as ve,uc as Xe,xb as g,yb as p,zb as J}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var rn=()=>[import("./chunk-SR4YENFS.js").then(e=>e.NgTemplateOutlet),Ke,Ze,Ye,import("./chunk-WNJSKJGQ.js").then(e=>e.DurationFormatPipe),import("./chunk-FIOBQPE7.js").then(e=>e.BytesPipe),import("./chunk-M7QQEZOU.js").then(e=>e.RelativeTimePipe)],cn=()=>["/add-backup"],sn=()=>["/restore"],ln=e=>({$implicit:e}),un=e=>["/backup",e],Fn=e=>["/restore",e],Cn=e=>["/backup",e,"export"],Tn=e=>["/backup",e,"delete"],En=e=>["/backup",e,"database"],dn=e=>["/backup",e,"commandline"],gn=e=>["/backup",e,"log"];function pn(e,i){if(e&1){let n=H();o(0,"button",54),R("click",function(){let F=P(n).$implicit,C=u(2);return I(C.sortByColumn.set(F.value))}),E(1,15),t()}if(e&2){let n=i.$implicit,_=u(2);L("active",_.orderBy()===n.value),a(),A(n.label),h(1)}}function Sn(e,i){if(e&1&&(o(0,"sh-menu",55)(1,"button",56),r(2,14),T(3,"strong")(4,"sh-icon"),c(),t(),O(5,57),w(6,pn,2,3,"button",58,J),N(),t()),e&2){let n=u();a(4),A(n.orderBy()),h(2),a(2),z(n.sortOrderOptions())}}function On(e,i){if(e&1&&(o(0,"p")(1,"span"),E(2,21),t(),s(3),M(4,"relativeTime"),t()),e&2){let n=u().$implicit,_=u(4);a(3),S(" ",$(4,1,n.Schedule.Time,_.timeType()==="actual")," ")}}function Nn(e,i){if(e&1&&(s(0),M(1,"durationFormat")),e&2){let n=u().$implicit,_=u(4);S(" ",$(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function mn(e,i){e&1&&(O(0),s(1,"-"),N())}function Mn(e,i){if(e&1&&(s(0),M(1,"bytes")),e&2){let n=u().$implicit;S(" ",G(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.SourceFilesSize)," ")}}function Pn(e,i){e&1&&(O(0),s(1,"-"),N())}function In(e,i){if(e&1&&(s(0),M(1,"bytes")),e&2){let n=u().$implicit;S(" ",G(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.TargetFilesSize)," ")}}function fn(e,i){e&1&&(O(0),s(1,"-"),N())}function Dn(e,i){e&1&&(o(0,"sh-chip",65),E(1,22),t())}function Rn(e,i){e&1&&f(0)}function $n(e,i){if(e&1&&(o(0,"div",61)(1,"div",48)(2,"h3"),s(3),o(4,"sh-chip"),T(5,"img",62),s(6),t()(),o(7,"p")(8,"span"),E(9,16),t(),s(10),M(11,"relativeTime"),t(),g(12,On,5,4,"p"),o(13,"p")(14,"span"),E(15,17),t(),g(16,Nn,2,4)(17,mn,2,0,"ng-container"),t(),o(18,"p")(19,"span"),E(20,18),t(),g(21,Mn,2,3)(22,Pn,2,0,"ng-container"),t(),o(23,"p")(24,"span"),E(25,19),t(),g(26,In,2,3)(27,fn,2,0,"ng-container"),t()(),o(28,"div",63)(29,"sh-chip",64),E(30,20),t(),g(31,Dn,2,0,"sh-chip",65),t(),o(32,"div",52),m(33,Rn,1,0,"ng-container",66),t()()),e&2){let n=i.$implicit,_=u(4),F=V(51);a(3),S(" ",n.Backup.Name??_.MISSING_BACKUP_NAME," "),a(2),d("src",_.getBackendIcon(n.Backup.TargetURL),K),a(),S(" ",_.getBackendType(n.Backup.TargetURL)," "),a(4),S(" ",$(11,13,n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupFinished,_.timeType()==="actual")," "),a(2),p(!(n==null||n.Schedule==null)&&n.Schedule.Time?12:-1),a(4),p(n.Backup.Metadata!=null&&n.Backup.Metadata.LastBackupDuration?16:17),a(5),p(n.Backup.Metadata!=null&&n.Backup.Metadata.SourceFilesSize?21:22),a(5),p(n.Backup.Metadata!=null&&n.Backup.Metadata.TargetFilesSize?26:27);let C=_.getBackupVersionCount(n);a(4),A(C)(C),h(30),a(),p(n.Backup.ExternalID?31:-1),a(2),d("ngTemplateOutlet",F)("ngTemplateOutletContext",D(16,ln,n))}}function An(e,i){if(e&1&&w(0,$n,34,18,"div",61,J),e&2){let n=u(3);z(n.backups())}}function hn(e,i){e&1&&(O(0),E(1,23),N())}function Ln(e,i){if(e&1&&(o(0,"div",59),g(1,An,2,0)(2,hn,2,0,"ng-container"),t()),e&2){let n=u(2);a(),p(n.backups().length?1:2)}}function Hn(e,i){e&1&&(r(0,24,1),f(1),c())}function Gn(e,i){e&1&&(r(0,25,1),f(1),c())}function xn(e,i){e&1&&(r(0,26,1),f(1),c())}function kn(e,i){e&1&&(r(0,27,1),f(1),c())}function yn(e,i){e&1&&(r(0,28,1),f(1),c())}function Bn(e,i){e&1&&(r(0,29,1),f(1),c())}function bn(e,i){e&1&&(r(0,30,1),f(1),c())}function vn(e,i){if(e&1&&(s(0),M(1,"relativeTime")),e&2){let n=u().$implicit,_=u(3);S(" ",$(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDate,_.timeType()==="actual")," ")}}function Xn(e,i){e&1&&(O(0),s(1,"-"),N())}function Jn(e,i){if(e&1&&(s(0),M(1,"relativeTime")),e&2){let n=u().$implicit,_=u(3);S(" ",$(1,1,n.Schedule.Time,_.timeType()==="actual")," ")}}function wn(e,i){e&1&&(O(0),s(1,"-"),N())}function zn(e,i){if(e&1&&(s(0),M(1,"durationFormat")),e&2){let n=u().$implicit,_=u(3);S(" ",$(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function Vn(e,i){e&1&&(O(0),s(1,"-"),N())}function Un(e,i){if(e&1&&(s(0),M(1,"bytes")),e&2){let n=u().$implicit;S(" ",G(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.SourceFilesSize)," ")}}function jn(e,i){e&1&&(O(0),s(1,"-"),N())}function Kn(e,i){if(e&1&&(s(0),M(1,"bytes")),e&2){let n=u().$implicit;S(" ",G(1,1,n.Backup.Metadata==null?null:n.Backup.Metadata.TargetFilesSize)," ")}}function Wn(e,i){e&1&&(O(0),s(1,"-"),N())}function qn(e,i){e&1&&f(0)}function Qn(e,i){if(e&1&&(o(0,"tr")(1,"td"),s(2),t(),o(3,"td")(4,"sh-chip",53),T(5,"img",62),s(6),t()(),o(7,"td"),g(8,vn,2,4)(9,Xn,2,0,"ng-container"),t(),o(10,"td"),g(11,Jn,2,4)(12,wn,2,0,"ng-container"),t(),o(13,"td"),g(14,zn,2,4)(15,Vn,2,0,"ng-container"),t(),o(16,"td"),g(17,Un,2,3)(18,jn,2,0,"ng-container"),t(),o(19,"td"),g(20,Kn,2,3)(21,Wn,2,0,"ng-container"),t(),o(22,"td")(23,"span"),E(24,33),t()(),o(25,"td"),m(26,qn,1,0,"ng-container",66),t()()),e&2){let n=i.$implicit,_=u(3),F=V(51);a(2),S(" ",n.Backup.Name??_.MISSING_BACKUP_NAME," "),a(3),d("src",_.getBackendIcon(n.Backup.TargetURL),K),a(),S(" ",_.getBackendType(n.Backup.TargetURL)," "),a(2),p(n.Backup.Metadata!=null&&n.Backup.Metadata.LastBackupDate?8:9),a(3),p(!(n==null||n.Schedule==null)&&n.Schedule.Time?11:12),a(3),p(n.Backup.Metadata!=null&&n.Backup.Metadata.LastBackupDuration?14:15),a(3),p(n.Backup.Metadata!=null&&n.Backup.Metadata.SourceFilesSize?17:18),a(3),p(n.Backup.Metadata!=null&&n.Backup.Metadata.TargetFilesSize?20:21);let C=_.getBackupVersionCount(n);a(4),A(C)(C),h(24),a(2),d("ngTemplateOutlet",F)("ngTemplateOutletContext",D(12,ln,n))}}function Yn(e,i){if(e&1){let n=H();o(0,"sh-table",67),Xe("sortByColumnChange",function(F){P(n);let C=u(2);return ve(C.sortByColumn,F)||(C.sortByColumn=F),I(F)}),o(1,"tr",68)(2,"th",69),r(3,24),m(4,Hn,2,0,"ng-container",70),c(),t(),o(5,"th",71),r(6,25),m(7,Gn,2,0,"ng-container",70),c(),t(),o(8,"th",72),r(9,26),m(10,xn,2,0,"ng-container",70),c(),t(),o(11,"th",73),r(12,27),m(13,kn,2,0,"ng-container",70),c(),t(),o(14,"th",74),r(15,28),m(16,yn,2,0,"ng-container",70),c(),t(),o(17,"th",75),r(18,29),m(19,Bn,2,0,"ng-container",70),c(),t(),o(20,"th",76),r(21,30),m(22,bn,2,0,"ng-container",70),c(),t(),o(23,"th"),E(24,31),t(),o(25,"th"),E(26,32),t()(),w(27,Qn,27,14,"tr",null,J),t()}if(e&2){let n=u(2),_=V(53);d("data",n.backups())("loading",n.backupsLoading()),be("sortByColumn",n.sortByColumn),a(4),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(3),d("ngTemplateOutlet",_),a(5),z(n.backups())}}function Zn(e,i){if(e&1&&g(0,Ln,3,1,"div",59)(1,Yn,29,10,"sh-table",60),e&2){let n=u();p(n.viewMode()==="list"?0:n.viewMode()==="details"?1:-1)}}function et(e,i){e&1&&(o(0,"div",77),T(1,"sh-progress-bar",78),o(2,"div",48)(3,"h3"),E(4,34),t()()())}function nt(e,i){e&1&&E(0,35,1)}function tt(e,i){e&1&&(o(0,"sh-icon"),s(1,"check"),t())}function it(e,i){e&1&&(o(0,"sh-icon"),s(1,"dots-three-vertical"),t())}function ot(e,i){if(e&1){let n=H();o(0,"button",79),R("click",function(){let F=P(n).$implicit,C=u();return I(C.startBackup(F.Backup.ID))}),r(1,35),T(2,"sh-icon"),g(3,nt,1,0),c(),t(),o(4,"button",80)(5,"sh-icon"),s(6,"pencil-simple"),t()(),o(7,"sh-menu")(8,"button",49),g(9,tt,2,0,"sh-icon")(10,it,2,0,"sh-icon"),t(),O(11,57),o(12,"h3",81),s(13,"Operations"),t(),o(14,"button",82),r(15,36),T(16,"sh-icon"),c(),t(),o(17,"button",82),r(18,37),T(19,"sh-icon"),c(),t(),o(20,"button",82),r(21,38),T(22,"sh-icon"),c(),t(),T(23,"sh-divider"),o(24,"h3",81),E(25,39),t(),o(26,"button",82),r(27,40),T(28,"sh-icon"),c(),t(),o(29,"button",54),R("click",function(){let F=P(n).$implicit,C=u();return I(C.verifyFiles(F.Backup.ID))}),r(30,41),T(31,"sh-icon"),c(),t(),o(32,"button",54),R("click",function(){let F=P(n).$implicit,C=u();return I(C.compressBackup(F.Backup.ID))}),r(33,42),T(34,"sh-icon"),c(),t(),o(35,"button",82),r(36,43),T(37,"sh-icon"),c(),t(),T(38,"sh-divider"),o(39,"h3",81),E(40,44),t(),o(41,"button",82),r(42,45),T(43,"sh-icon"),c(),t(),N(),t()}if(e&2){let n=i.$implicit,_=u();L("loader",_.startingBackup()===n.Backup.ID),a(3),p(_.viewMode()==="list"?3:-1),a(),d("routerLink",D(15,un,n.Backup.ID)),a(4),L("loader",_.loadingId()===n.Backup.ID)("success",_.successId()===n.Backup.ID),a(),p(_.successId()===n.Backup.ID?9:10),a(5),d("routerLink",D(17,Fn,n.Backup.ID)),a(3),d("routerLink",D(19,Cn,n.Backup.ID)),a(3),d("routerLink",D(21,Tn,n.Backup.ID)),a(6),d("routerLink",D(23,En,n.Backup.ID)),a(9),d("routerLink",D(25,dn,n.Backup.ID)),a(6),d("routerLink",D(27,gn,n.Backup.ID))}}function _t(e,i){e&1&&(o(0,"sh-icon",83),s(1,"funnel-simple"),t(),o(2,"sh-icon",84),s(3,"sort-ascending"),t(),o(4,"sh-icon",85),s(5,"sort-descending"),t())}var at={file:{Display:$localize`Local`,Icon:null}},Z=class e{#n=v(en);#t=v(on);#e=v(tn);MISSING_BACKUP_NAME=$localize`Backup name missing`;sortOrderOptions=this.#e.orderByOptions;orderBy=this.#e.orderBy;backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;startingBackup=this.#e.startingBackup;deletingBackup=this.#e.deletingBackup;timeType=this.#e.timeType;viewMode=nn("viewMode","list");sortByColumn=X(this.#e.orderBy());loadingId=X(null);successId=X(null);sortEffect=Je(()=>this.#e.setOrderBy(this.sortByColumn()));ngOnInit(){this.#e.getBackups(!0)}setOrderBy(i){this.#e.setOrderBy(i)}setTimeType(i){this.#e.setTimeType(i)}startBackup(i){this.#t.resumeDialogCheck(()=>this.#e.startBackup(i))}getBackendIcon(i){if(!i)return"";let n=i.split("://")[0];return Y(n).icon??"database"}getBackendType(i){if(!i)return"";let n=i.split("://")[0],_=Y(n);if(!_)return"";let F=at[_.key];if(F?.Display)return F.Display;if(_.key==="s3"){let C="http://null?"+i.split("?")[1],x=new URL(C).searchParams.get("s3-server-name")?.toLowerCase()??"";for(let[k,y]of Object.entries(_n))if(x.endsWith(k))return y}return _.displayName}getBackupVersionCount(i){return parseInt(i?.Backup?.Metadata?.BackupListCount??"",10)||0}verifyFiles(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdVerify({id:i}).pipe(j(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCompact({id:i}).pipe(j(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=xe({type:e,selectors:[["app-home"]],decls:54,vars:11,consts:()=>{let i;i=$localize`Backups`;let n;n=$localize`Backups are stored in the cloud and can be restored at any time.`;let _;_=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON:`;let F;F=$localize`Restores`;let C;C=$localize`Restores allow you to restore your data from the cloud.`;let U;U=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON:`;let x;x=$localize`My backups`;let k;k=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SH_ICON:rows${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SH_ICON: List `;let y;y=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON:list${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SH_ICON: Details `;let ee;ee=$localize` Time: ${"\uFFFD#38\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#39\uFFFD"}:START_TAG_SH_ICON:clock${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ne;ne=$localize`Relative time`;let te;te=$localize`Actual time`;let ie;ie=$localize` Order by: ${"\uFFFD#3\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:arrows-down-up${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON:`;let oe;oe=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let _e;_e=$localize`Last successful backup:`;let ae;ae=$localize`Duration:`;let le;le=$localize`Source:`;let re;re=$localize`Destination:`;let B;B=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,B=W(B,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let ce;ce=$localize` ${B}:ICU@@6502601490918455200: `;let se;se=$localize`Next scheduled run:`;let ue;ue=$localize`Externally managed`;let Fe;Fe=$localize`No backups founds`;let Ce;Ce=$localize` Backup ${"\uFFFD*4:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*4:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Te;Te=$localize` Type ${"\uFFFD*7:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*7:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Ee;Ee=$localize` Last backup ${"\uFFFD*10:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*10:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let de;de=$localize` Next run ${"\uFFFD*13:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*13:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let ge;ge=$localize` Duration ${"\uFFFD*16:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*16:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let pe;pe=$localize` Source ${"\uFFFD*19:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*19:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Se;Se=$localize` Destination ${"\uFFFD*22:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*22:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Oe;Oe=$localize`Version`;let Ne;Ne=$localize`Actions`;let b;b=$localize`{VAR_PLURAL, plural, =0 {No versions} =1 {1 Version} other {{INTERPOLATION} Versions}}`,b=W(b,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let me;me=$localize` ${b}:ICU@@3521773141017690117: `;let Me;Me=$localize`Loading backups...`;let Pe;Pe=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF: Start ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:`;let Ie;Ie=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: Restore `;let fe;fe=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let De;De=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:x-circle${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON: Delete `;let Re;Re=$localize`Advanced`;let $e;$e=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:database${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON: Database `;let Ae;Ae=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SH_ICON:check-square-offset${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SH_ICON: Verify files `;let he;he=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON:file-archive${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SH_ICON: Compress now `;let Le;Le=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SH_ICON: Commandline `;let He;He=$localize`Reporting`;let Ge;return Ge=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SH_ICON:notepad${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SH_ICON: Log `,[["actions",""],["sortIcons",""],i,n,_,F,C,U,x,k,y,ee,ne,te,ie,oe,_e,ae,le,re,ce,se,ue,Fe,Ce,Te,Ee,de,ge,pe,Se,Oe,Ne,me,Me,Pe,Ie,fe,De,Re,$e,Ae,he,Le,He,Ge,[1,"type-a","actionable",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["type","button","shButton",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"actions"],[1,"small"],["type","button",3,"click"],[1,"table-overview"],["type","button","shButton","",1,"small"],["menu",""],["type","button",3,"active"],[1,"backups"],[1,"type-b",3,"data","loading","sortByColumn"],[1,"backup"],["alt","",1,"provider-icon",3,"src"],[1,"tags"],[1,"simple","success"],[1,"simple","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"type-b",3,"sortByColumnChange","data","loading","sortByColumn"],["table-header",""],["shSort","name"],[4,"ngTemplateOutlet"],["shSort","type"],["shSort","lastrun"],["shSort","nextrun"],["shSort","duration"],["shSort","sourcesize"],["shSort","destinationsize"],[1,"loading-list"],[1,"indeterminate","primary"],["shButton","",3,"click"],["type","button","shButton","",3,"routerLink"],["title",""],["type","button",3,"routerLink"],[1,"filter"],[1,"asc"],[1,"desc"]]},template:function(n,_){if(n&1){let F=H();T(0,"app-status-bar"),o(1,"section")(2,"header")(3,"sh-card",46),T(4,"img",47),o(5,"div",48)(6,"h3"),E(7,2),t(),o(8,"p"),E(9,3),t()(),o(10,"button",49),r(11,4),T(12,"sh-icon"),c(),t()(),o(13,"sh-card",46),T(14,"img",50),o(15,"div",48)(16,"h3"),E(17,5),t(),o(18,"p"),E(19,6),t()(),o(20,"button",49),r(21,7),T(22,"sh-icon"),c(),t()()(),o(23,"div",51)(24,"h2"),O(25),E(26,8),N(),o(27,"div",52)(28,"sh-button-group",53)(29,"button",54),R("click",function(){return P(F),I(_.viewMode.set("list"))}),r(30,9),T(31,"sh-icon"),c(),t(),o(32,"button",54),R("click",function(){return P(F),I(_.viewMode.set("details"))}),r(33,10),T(34,"sh-icon"),c(),t()(),o(35,"sh-menu",55)(36,"button",56),r(37,11),T(38,"strong")(39,"sh-icon"),c(),t(),O(40,57),o(41,"button",54),R("click",function(){return P(F),I(_.setTimeType("relative"))}),E(42,12),t(),o(43,"button",54),R("click",function(){return P(F),I(_.setTimeType("actual"))}),E(44,13),t(),N(),t(),g(45,Sn,8,1,"sh-menu",55),t()(),ke(46,Zn,2,1)(47,et,5,0),ye(48,46,rn,null,47),t()(),m(50,ot,44,29,"ng-template",null,0,Q)(52,_t,6,0,"ng-template",null,1,Q)}n&2&&(a(3),d("routerLink",q(9,cn)),a(10),d("routerLink",q(10,sn)),a(16),L("active",_.viewMode()==="list"),a(3),L("active",_.viewMode()==="details"),a(7),A(_.timeType()),h(37),a(6),p(_.viewMode()==="list"?45:-1),a(3),Be(!_.backupsLoading()))},dependencies:[we,an,je,Ue,ze,We,qe,Qe,Ve],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{padding:0 2rem}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:.5rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}.backup[_ngcontent-%COMP%] .tags[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:.5rem}.provider-icon[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.sortable[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.sortable[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{margin-left:.5rem;font-size:1rem;justify-self:flex-end;display:none}.sortable[_ngcontent-%COMP%]:not(.sort-asc):not(.sort-desc) sh-icon.filter[_ngcontent-%COMP%]{display:block}.sortable.sort-asc[_ngcontent-%COMP%] sh-icon.asc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}.sortable.sort-desc[_ngcontent-%COMP%] sh-icon.desc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:after{transition:inset .1s linear}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}"],changeDetection:0})};export{Z as default};
package/chunk-U562AGPC.js DELETED
@@ -1 +0,0 @@
1
- import{c as a,d as b}from"./chunk-F5Z5ZAIL.js";import"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-Z27IQRKV.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-6XI3IP27.js";import"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as createEncryptionForm,b as default};
package/chunk-U7GOWS7E.js DELETED
@@ -1 +0,0 @@
1
- import{a,b}from"./chunk-F5Z5ZAIL.js";import"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-Z27IQRKV.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-6XI3IP27.js";import"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreOptionsForm,b as default};
package/chunk-UCS5RU7N.js DELETED
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-JYWOYPSQ.js";import{_ as p,fb as a}from"./chunk-QONLYWYC.js";var u=class e{#t=p(m);transform(t,n=!1,...f){if(!t)return"";let r=t.split(".")[0],s=parseInt(r.split(":")[0])??0,i=parseInt(r.split(":")[1])??0,o=parseInt(r.split(":")[2])??0;return n?`${s}h ${i}m ${o}s`:this.#t.duration({hours:s,minutes:i,seconds:o}).humanize()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=a({name:"durationFormat",type:e,pure:!0})};export{u as a};
package/chunk-WBPAKJQO.js DELETED
@@ -1 +0,0 @@
1
- import{g as mt}from"./chunk-F5Z5ZAIL.js";import{a as Ot,b as pt,c as Rt}from"./chunk-NYILY6CE.js";import"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import{a as Et}from"./chunk-FSG362SU.js";import{h as Ct}from"./chunk-BNUMPQFL.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-4VY6SMSL.js";import"./chunk-MHPSC3FM.js";import"./chunk-Z27IQRKV.js";import"./chunk-BK2MSH26.js";import{a as R}from"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-6XI3IP27.js";import{b as nt,d as it}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as St,G as dt,J as Dt,c as ot,e as at,f as st,g as Ft,i as rt,j as lt,s as _t,u as ct,w as Tt,y as ut,z as gt}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{$b as l,Ab as L,Ac as Z,Bb as x,Bc as tt,Cb as N,Db as s,Eb as F,Fb as g,Jb as G,Kb as w,Mb as C,Qc as k,Sa as r,Tb as T,Ub as u,Vb as h,Wb as f,Xb as $,Xc as et,Yb as b,Zb as d,_ as O,cb as K,ea as _,fa as c,gc as j,hc as Q,ja as X,kc as q,nc as I,oc as B,pa as p,pc as Y,sc as A,tc as M,uc as P,xb as D,yb as E,zb as y}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var Nt=["formRef"],It=()=>({maxWidth:"700px",width:"100%"});function ht(i,n){if(i&1){let t=C();T(0,2,1),s(1,"button",30),d("click",function(){_(t);let e=l();return c(e.testDestination(0,!0))}),F(),u()}if(i&2){let t=l();r(),q("loader",t.testSignal()=="testing"),N("disabled",t.testSignal()=="testing")}}function ft(i,n){if(i&1){let t=C();T(0,2,2),s(1,"button",20),d("click",function(){_(t);let e=l();return c(e.copyTargetUrl())}),g(2,"sh-icon"),F(),u()}}function $t(i,n){i&1&&(s(0,"sh-alert"),T(1,5),g(2,"sh-icon",31),u(),F())}function At(i,n){i&1&&(s(0,"sh-alert",21),T(1,6),g(2,"sh-icon",31),u(),F())}function Mt(i,n){if(i&1&&(s(0,"sh-alert",22),T(1,7),g(2,"sh-icon",31),u(),F()),i&2){let t=l();r(2),f(t.testErrorMessage()),$(1)}}function Pt(i,n){if(i&1&&(s(0,"sh-alert",23),T(1,8),g(2,"sh-icon",31),u(),F()),i&2){let t=l();r(2),f(t.testErrorMessage()),$(1)}}function yt(i,n){if(i&1){let t=C();s(0,"p",32),d("click",function(){_(t);let e=l();return c(e.removeDestination())}),T(1,9),g(2,"strong")(3,"br")(4,"span",33),u(),F()}if(i&2){let t,o=l();r(4),f((t=o.selectedDestinationType())==null?null:t.displayName),$(1)}}function Lt(i,n){if(i&1){let t=C();s(0,"div",39),d("click",function(){let e=_(t).$implicit,a=l(2);return c(a.setDestination(e.key))}),s(1,"h3"),I(2),F(),s(3,"p"),I(4),F()()}if(i&2){let t=n.$implicit;r(2),B(t.displayName),r(2),B(t.description)}}function xt(i,n){if(i&1){let t=C();s(0,"button",40,1),d("click",function(){let e=_(t).$implicit,a=l(2);return c(a.setDestination(e.key))}),I(2),F()}if(i&2){let t=n.$implicit;r(2),Y(" ",t.displayName," ")}}function Gt(i,n){if(i&1&&(s(0,"div",34),L(1,Lt,5,2,"div",35,y),F(),s(3,"sh-menu",36)(4,"button",37),h(5,10),F(),G(6,19),L(7,xt,3,1,"button",38,y),w(),F()),i&2){let t=l();r(),x(t.destinationTypeOptionsFocused()),r(2),N("searchable",!0),r(4),x(t.destinationTypeOptions())}}function wt(i,n){if(i&1){let t=C();s(0,"app-single-destination",41),P("targetUrlChange",function(e){_(t);let a=l();return M(a.targetUrlModel,e)||(a.targetUrlModel=e),c(e)}),F()}if(i&2){let t=l();A("targetUrl",t.targetUrlModel)}}function bt(i,n){i&1&&(T(0,4,1),g(1,"sh-icon",28),u())}function Bt(i,n){i&1&&(T(0,4,2),g(1,"sh-icon"),u())}function kt(i,n){if(i&1){let t=C();s(0,"sh-dialog",42),P("isOpenChange",function(e){_(t);let a=l();return M(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),c(e)}),s(1,"header",43)(2,"h2"),h(3,11),F(),s(4,"sh-alert",22),h(5,12),F()(),s(6,"div",44)(7,"sh-form-field")(8,"textarea",45),P("ngModelChange",function(e){_(t);let a=l();return M(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),c(e)}),F()()(),s(9,"footer",46)(10,"button",26),d("click",function(){_(t);let e=l();return c(e.closeTargetUrlDialog(!1))}),I(11,"Cancel"),F(),s(12,"button",47),d("click",function(){_(t);let e=l();return c(e.closeTargetUrlDialog(!0))}),T(13,13),g(14,"sh-icon"),u(),F()()()}if(i&2){let t=l();A("isOpen",t.targetUrlDialogOpen),N("options",tt(3,It)),r(8),A("ngModel",t.targetUrlCtrl)}}var v=class i{#i=O(it);#o=O(nt);#e=O(gt);#a=O(Ot);injector=O(X);#t=O(mt);#s=O(pt);formRef=et.required("formRef");targetUrlModel=this.#t.destinationTargetUrl;targetUrlCtrl=p(null);targetUrlInitial=p(null);targetUrlDialogOpen=p(!1);toggleNewDestination=p(!0);testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;destinationTypeOptionsInFocus=p(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=this.#s.destinationTypeOptions;destinationTypeOptionsFocused=k(()=>{let n=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return n.map(o=>t.find(e=>e.key===o))});selectedDestinationType=k(()=>{let n=this.#t.destinationTargetUrl();if(!n)return null;let t=n.split("://")[0];return Et(t)});copyTargetUrl(){navigator.clipboard.writeText(this.#t.destinationTargetUrl()??"")}openTargetUrlDialog(){let n=this.#t.destinationTargetUrl();this.targetUrlCtrl.set(n),this.targetUrlInitial.set(n),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),o=this.targetUrlInitial();!n||t===o||!t||this.#t.updateTargetUrl(t)}testDestination(n,t,o){let e=this.#t.destinationTargetUrl();e&&(this.#t.setTestState("testing"),this.#a.testDestination(e,this.#t.backupId(),n,!0,t).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),a.containsBackup===!1?(this.#t.setTestState("warning",$localize`The remote destination does not contain any backups. Please check if the destination details are correct.`),t||this.#e.open(R,{data:{title:$localize`Folder contains no backup`,message:$localize`The remote destination does not contain any backups. Please check if the destination details are correct.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!1&&(this.#t.setTestState("warning",$localize`The remote destination is empty. Please check if the destination details are correct.`),t||this.#e.open(R,{data:{title:$localize`Folder is empty`,message:$localize`The remote destination is empty. Please check if the destination details are correct.`,confirmText:$localize`OK`,cancelText:void 0}})),o?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){o?.();return}let m=e.includes("?");a.action==="trust-cert"&&this.#t.updateTargetUrl(e+`${m?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.updateTargetUrl(e+`${m?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):o?.()}}))}setDestination(n){this.#t.updateTargetUrl(`${n}://`)}removeDestination(){this.#t.updateTargetUrl(null)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let n=this.testSignal();if(n===""){this.#e.open(R,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:t=>{t?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open(R,{data:{title:$localize`Test did not succeed`,message:this.testErrorMessage()??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}})}):this.#n()}});return}if(n!=="success"){this.#e.open(R,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Yes, continue`,cancelText:$localize`Cancel`},closed:t=>{t&&this.#n()}});return}this.#n()}#n(){this.#i.navigate(["encryption"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=K({type:i,selectors:[["app-restore-destination"]],viewQuery:function(t,o){t&1&&j(o.formRef,Nt,5),t&2&&Q()},features:[Z([Ct])],decls:30,vars:9,consts:()=>{let n;n=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON: Test destination ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SH_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:dots-three-vertical${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:link${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:2\uFFFD"}:START_TAG_BUTTON_3:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,n=b(n);let t;t=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let o;o=$localize`${"\uFFFD*27:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*27:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*28:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*28:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,o=b(o);let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Testing connection... `;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:check${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Connection tested successfully. `;let m;m=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let U;U=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let V;V=$localize` Current destination type ${"\uFFFD#2\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:.${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#3\uFFFD\uFFFD/#3\uFFFD"}:LINE_BREAK: Want to select another? ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`;let W;W=$localize`All destinations`;let z;z=$localize`Edit target URL`;let H;H=$localize`Be careful, this will overwrite everything you have in your destination.`;let J;return J=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["formRef",""],["option",""],n,t,o,e,a,m,U,V,W,z,H,J,[3,"submit"],[1,"title-30"],[1,"actions"],["shButton","","type","button",1,"small",3,"disabled","loader"],["shButton","","type","button",1,"small"],["menu",""],["shButton","","type","button",1,"small",3,"click"],[1,"success"],[1,"warn"],[1,"error"],[3,"targetUrl"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["shButton","","type","button",1,"small",3,"click","disabled"],["icon",""],[3,"click"],[1,"sh-primary"],[1,"most-common-destinations"],[1,"tile"],[3,"searchable"],["shButton","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["type","button",3,"click"],[3,"targetUrlChange","targetUrl"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,o){if(t&1){let e=C();s(0,"form",14,0),d("submit",function(){return _(e),c(o.next())}),s(2,"header")(3,"h3",15),T(4,2),s(5,"div",16),D(6,ht,2,3,"button",17),s(7,"sh-menu")(8,"button",18),g(9,"sh-icon"),F(),G(10,19),s(11,"button",20),d("click",function(){return _(e),c(o.openTargetUrlDialog())}),g(12,"sh-icon"),F(),D(13,ft,3,0,"button",18),w(),F()(),u(),F(),D(14,$t,3,0,"sh-alert")(15,At,3,0,"sh-alert",21)(16,Mt,3,1,"sh-alert",22)(17,Pt,3,1,"sh-alert",23),D(18,yt,5,1,"p"),F(),D(19,Gt,9,1),D(20,wt,1,1,"app-single-destination",24),s(21,"div",25)(22,"button",26),d("click",function(){return _(e),c(o.goBack())}),T(23,3),g(24,"sh-icon"),u(),F(),s(25,"button",27),T(26,4),D(27,bt,2,0,"sh-icon",28)(28,Bt,2,0,"sh-icon"),u(),F()()(),D(29,kt,15,4,"sh-dialog",29)}if(t&2){let e=!!o.targetUrlModel();r(6),E(e?6:-1),r(7),E(e?13:-1),r(),E(o.testSignal()=="testing"?14:o.testSignal()=="success"?15:o.testSignal()=="warning"?16:o.testSignal()=="error"?17:-1),r(4),E(e?18:-1),r(),E(e?-1:19),r(),E(e?20:-1),r(5),N("disabled",o.testSignal()=="testing"||!e),r(2),E(o.testSignal()=="testing"?27:28),r(2),E(o.targetUrlDialogOpen()?29:-1)}},dependencies:[Rt,_t,lt,ot,at,st,rt,Ft,St,dt,Dt,ct,ut,Tt],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}pre[_ngcontent-%COMP%]{white-space:pre-wrap}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row.single-field[_ngcontent-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-8)}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-8)}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{v as default};
package/chunk-WNJSKJGQ.js DELETED
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UCS5RU7N.js";import"./chunk-JYWOYPSQ.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as DurationFormatPipe};
package/chunk-XZDYDGZ7.js DELETED
@@ -1 +0,0 @@
1
- import{a as pt}from"./chunk-KXJZEADJ.js";import{a as Ct}from"./chunk-YJPY33RI.js";import{a as gt}from"./chunk-G6VJHFTW.js";import{a as V}from"./chunk-MHPSC3FM.js";import"./chunk-Z27IQRKV.js";import"./chunk-H7ZKBS2Q.js";import"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import{a as ct}from"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import{a as ie}from"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import{a as nt}from"./chunk-6XI3IP27.js";import"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as J,E as st,F as at,G as ne,K as rt,L as lt,M as _t,O as dt,V as Tt,X as St,c as K,e as Q,i as Y,m as it,s as Z,t as ee,u as k,w as te,z as ot}from"./chunk-RPUPXDQE.js";import{i as X}from"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{$b as S,B as D,Bc as j,Cb as f,Db as i,Eb as o,Fb as R,H as G,Mb as P,Pa as qe,Qc as $,Rc as F,Sa as l,Tb as L,Ub as b,V as We,Vb as r,Wb as re,Xb as le,Xc as tt,Yb as H,Zb as c,_ as N,a as ze,b as Be,c as He,cb as x,ea as u,fa as E,gc as Ye,hb as ae,hc as Ze,ib as je,kc as h,n as w,nc as I,oc as W,pa as T,pc as q,sb as Ke,sc as y,tb as Qe,tc as A,uc as v,xb as p,yb as C,yc as et}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var mt=["formRef"],Nt=()=>[import("./chunk-4NOWNXOS.js").then(s=>s.OptionsListComponent)];function ft(s,e){s&1&&(i(0,"sh-alert",3),r(1,1),o())}function ht(s,e){if(s&1){let t=P();i(0,"app-options-list",5),v("optionsChange",function(a){u(t);let _=S();return A(_.settings,a)||(_.settings=a),E(a)}),o()}if(s&2){let t=S();y("options",t.settings),f("hasFreeTextSettings",!0)}}var z=class s{#e=N(V);#t=N(X);formRef=tt.required("formRef");settings=T([]);isSubmitting=T(!1);isLoadingOptions=T(!0);saved=T(!1);lastRecievedServerSettings=T({});serverSettingsEffect=F(()=>{let e=this.#e.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],_)=>{if(n.startsWith("--")){let m=n.substring(2);this.settings.update(g=>(g.some(M=>M.Name===m)||g.push({Name:m,Value:a}),g))}_===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),_=Object.keys(t).filter(g=>g.startsWith("--")).filter(g=>!n.includes(g.replace("--",""))),m=e.reduce((g,M)=>{let O=M.Name?.startsWith("--")?M.Name:`--${M.Name}`;return g[O]=M.Value,g},{});_.forEach(g=>{m[g]=null}),this.#t.patchApiV1Serversettings({requestBody:m}).pipe(G(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=x({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,mt,5),t&2&&Ze()},decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["shButton","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),p(1,ft,2,0,"sh-alert",3),i(2,"button",4),c("click",function(){return n.submit()}),L(3,0),R(4,"sh-icon"),b(),o()(),je(5,ht,1,2),Ke(6,5,Nt)),t&2&&(l(),C(n.saved()?1:-1),l(),h("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ee,J,k,te],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}"],changeDetection:0})};var U=class s{#e=N(ot);#t=N(X);#o=N(ie);repeatRegisterTimer=null;state=T("unknown");claimUrl=T(null);registerUrl=T("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=F(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#n(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#n(n)})}#i(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#n(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#e.open(ct,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#n(n),error:n=>e.#i(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=We({token:s,factory:s.\u0275fac,providedIn:"root"})};function Pt(s,e){if(s&1){let t=P();i(0,"sh-form-field",12)(1,"input",13),v("ngModelChange",function(a){u(t);let _=S(2);return A(_.registerUrl,a)||(_.registerUrl=a),E(a)}),o()(),i(2,"button",14),c("click",function(){u(t);let a=S(2);return E(a.register())}),r(3,0),o()}if(s&2){let t=S(2);l(),y("ngModel",t.registerUrl)}}function Ot(s,e){if(s&1&&(i(0,"div",9)(1,"label"),r(2,1),o(),i(3,"a",15),I(4),o()()),s&2){let t=S(2);l(3),f("href",et(t.claimUrl()),qe),l(),W(t.claimUrl())}}function Rt(s,e){s&1&&(i(0,"div",9)(1,"label"),r(2,2),o()())}function It(s,e){if(s&1){let t=P();i(0,"button",14),c("click",function(){u(t);let a=S(2);return E(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",14),c("click",function(){u(t);let a=S(2);return E(a.disable())}),r(1,4),o()}}function yt(s,e){if(s&1){let t=P();i(0,"button",14),c("click",function(){u(t);let a=S(2);return E(a.enable())}),r(1,5),o(),i(2,"button",16),c("click",function(){u(t);let a=S(2);return E(a.delete())}),r(3,6),o()}}function At(s,e){s&1&&(L(0,7,1),R(1,"sh-icon"),b())}function vt(s,e){s&1&&(L(0,7,2),R(1,"sh-icon"),b())}function Lt(s,e){if(s&1){let t=P();i(0,"sh-chip",17),c("click",function(){u(t);let a=S(2);return E(a.copyReportingUrl())}),L(1,7),p(2,At,2,0,"sh-icon")(3,vt,2,0,"sh-icon"),b(),o()}if(s&2){let t=S(2);l(2),C(t.copiedReportingUrl()===!0?2:3)}}function bt(s,e){if(s&1&&(i(0,"div",8),p(1,Pt,4,1),p(2,Ot,5,3,"div",9),p(3,Rt,3,0,"div",9),p(4,It,2,0,"button",10),p(5,Gt,2,0,"button",10),p(6,yt,4,0),p(7,Lt,4,1,"sh-chip",11),o()),s&2){let t=S();l(),C(t.state()==="inactive"?1:-1),l(),C(t.state()==="registered"?2:-1),l(),C(t.state()==="registering"?3:-1),l(),C(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),C(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),C(t.state()==="disabled"?6:-1),l(),C(t.additionalReportingUrl()!==""?7:-1)}}var oe=class s{#e=N(U);#t=N(V);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;additionalReportingUrl=$(()=>{let e=this.#t.serverSettings();return this.#e.state()==="inactive"?"":e&&e["additional-report-url"]||""});copiedReportingUrl=T(!1);ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}copyReportingUrl(){let e=this.additionalReportingUrl();e&&(this.copiedReportingUrl.set(!0),setTimeout(()=>this.copiedReportingUrl.set(!1),2e3),navigator.clipboard.writeText(e))}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=x({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let _;_=$localize`Disable remote control`;let m;m=$localize`Enable remote control`;let g;g=$localize`Delete remote control setup`;let M;return M=$localize` Reporting configured by server ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,M=H(M),[e,t,n,a,_,m,g,M,[1,"field-row"],[1,"field-col"],["type","button","shButton","",1,"raised"],[1,"reporting-url","primary","simple"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","sh-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","shButton","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","shButton","",1,"raised","error",3,"click"],[1,"reporting-url","primary","simple",3,"click"]]},template:function(t,n){t&1&&p(0,bt,8,7,"div",8),t&2&&C(n.state()!=="unknown"?0:-1)},dependencies:[Z,K,Q,Y,ne,J,st,k],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.reporting-url[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}"],changeDetection:0})};function Et(...s){let e=T(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var de=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"sh-icon",69),I(1,"check"),o())}function Ft(s,e){s&1&&(i(0,"sh-icon",70),I(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),c("click",function(){u(t);let a=S(2);return E(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=S(2);h("loader",t.isUpdating())}}function Dt(s,e){if(s&1){let t=P();i(0,"button",75),c("click",function(){u(t);let a=S(2);return E(a.updatePassphrase())}),r(1,35),o()}if(s&2){let t=S(2);h("loader",t.isUpdating()),f("disabled",!0)}}function xt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),v("ngModelChange",function(a){u(t);let _=S();return A(_.passphrase,a)||(_.passphrase=a),E(a)}),o()(),i(4,"sh-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),v("ngModelChange",function(a){u(t);let _=S();return A(_.repeatPassphrase,a)||(_.repeatPassphrase=a),E(a)}),o(),p(8,$t,2,0,"sh-icon",69)(9,Ft,2,0,"sh-icon",70),o(),i(10,"div",48)(11,"button",71),c("click",function(){u(t);let a=S();return E(a.cancelPasswordChange())}),r(12,33),o(),p(13,wt,2,2,"button",72)(14,Dt,2,3,"button",73),o()}if(s&2){let t=S();l(3),y("ngModel",t.passphrase),l(4),f("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),C(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),h("loader",t.isUpdating()),l(2),C(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function kt(s,e){s&1&&(i(0,"sh-icon",76),I(1,"check"),o())}function Jt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),c("click",function(){u(t);let a=S();return E(a.openPassphraseForm())}),r(2,36),o(),p(3,kt,2,0,"sh-icon",76),o()}if(s&2){let t=S();l(3),C(t.passwordUpdated()?3:-1)}}function Xt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),v("ngModelChange",function(a){u(t);let _=S();return A(_.allowedHostnames,a)||(_.allowedHostnames=a),E(a)}),o()(),i(4,"sh-alert",79),r(5,38),o(),i(6,"button",74),c("click",function(){u(t);let a=S();return E(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=S();l(3),y("ngModel",t.allowedHostnames),l(3),h("loader",t.updatingAllowedHosts())}}function Vt(s,e){if(s&1&&I(0),s&2){let t,n=S();q(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Ut(s,e){s&1&&R(0,"sh-progress-bar",53)}function zt(s,e){if(s&1&&I(0),s&2){let t=e.$implicit;q(" ",t.label," ")}}function Bt(s,e){if(s&1&&I(0),s&2){let t=e.$implicit;q(" ",t.label," ")}}function Ht(s,e,t){let n=Et(s),a=n[ze];t?.equal&&(a.equal=t.equal);let _;return n.set=m=>{clearTimeout(_),_=setTimeout(()=>Be(a,m),e)},n.update=m=>{clearTimeout(_),_=setTimeout(()=>He(a,m),e)},n}var Wt=[{value:"none",label:$localize`None`},{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],qt=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"disabled",label:$localize`None / disabled`}],Te=class s{#e=N(gt);#t=N(ie);#o=N(X);#n=N(V);#i=N(U);#s=N(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=T("list");previousLang=this.#a;langCtrl=T(this.#a);usageStatistics=T("");updatingUsageStatistics=T(!1);remoteControlStatus=this.#i.status;updatingChannel=T(!1);updateChannel=T("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#o.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(G(()=>this.updatingChannel.set(!1)),D(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=T(!1);allowedHostnames=T("");loadedAllowedHostnames=T("");updatingRemoteAccess=T(!1);updatingAllowedHosts=T(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(G(()=>this.updatingRemoteAccess.set(!1)),D(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(G(()=>this.updatingAllowedHosts.set(!1)),D(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=T(!1);disableTrayIconLogin=T(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#o.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(G(()=>this.updatingDisableTrayIconLogin.set(!1)),D(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=T(!1);isUpdating=T(!1);passphrase=T("");repeatPassphrase=T("");passwordUpdated=T(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(G(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=T(Ct);usageStatisticsOptions=T(qt);timeTypeOptions=T(Wt);timeType=T("none");timeValue=Ht(0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=F(()=>{let e=this.timeValue(),t=this.#n.serverSettings();!t||t["startup-delay"]===""&&this.timeType()==="none"||this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.timeValue(),t=this.timeType(),n="";t!=="none"&&e!==0&&(n=`${e}${t}`),this.#o.patchApiV1Serversettings({requestBody:{"startup-delay":n}}).subscribe()}updateTimeType(e){this.timeType()==="none"&&this.timeValue.set(0),this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(G(()=>this.updatingUsageStatistics.set(!1)),D(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=F(()=>{let e=this.#n.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),_=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(t==""?"none":_.includes(n)?n:"none"),this.timeValue.set(t==""?0:parseInt(a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=x({type:s,selectors:[["app-settings"]],decls:132,vars:46,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let _;_=$localize`Customize your application theme`;let m;m=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let O;O=$localize`Select a language for the platform`;let Se;Se=$localize`Allow remote access (requires restart)`;let ce;ce=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let ge;ge=$localize`Allow remote access`;let pe;pe=$localize`Prevent tray icon automatic log-in`;let Ce;Ce=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let Ee;Ee=$localize`Update channel`;let me;me=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ne;Ne=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let he;he=$localize`Official stable release.`;let Me;Me=$localize`Beta`;let Pe;Pe=$localize` Try out the new features that we are working on. Test a backup and restore before using this in production environments. `;let Oe;Oe=$localize` Experimental `;let Re;Re=$localize`Early previews of new features. Not for use with important data.`;let Ie;Ie=$localize`Canary`;let Ge;Ge=$localize`Builds for developers and testers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ae;Ae=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let ve;ve=$localize`Usage statistics`;let B;B=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,B=H(B);let Le;Le=$localize`Advanced options`;let be;be=$localize`Enter new password`;let $e;$e=$localize`Repeat password`;let se;se=$localize`Password have to be filled and have to match`;let Fe;Fe=$localize`Passphrase`;let we;we=$localize`Repeat passphrase`;let De;De=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let ke;ke=$localize` Update passphrase `;let Je;Je=$localize`Change password`;let Xe;Xe=$localize`Allowed hostnames`;let Ve;Ve=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,_,m,g,M,O,Se,ce,ge,pe,Ce,ue,Ee,me,Ne,fe,he,Me,Pe,Oe,Re,Ie,Ge,ye,Ae,ve,B,Le,Fe,we,De,xe,ke,Je,Xe,Ve,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"ngModelChange","min","max","disabled","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",be,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",$e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loader"],["shButton","","shTooltip",se,1,"raised","primary",3,"loader","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",se,1,"raised","primary",3,"click","disabled"],[1,"sh-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(R(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),I(13),o()(),i(14,"div",43),R(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),c("click",function(){return n.setLightMode()}),o(),i(25,"img",46),c("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),p(33,xt,15,7)(34,Jt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"sh-select",49)(43,"input",50),c("ngModelChange",function(_){return n.updateLocale(_)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"sh-toggle",52),c("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),p(54,Xt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"sh-toggle",52),c("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),p(70,Vt,1,1),o(),p(71,Ut,1,0,"sh-progress-bar",53),o(),i(72,"div",54)(73,"div",55),c("click",function(){return n.setNewChannel("")}),i(74,"sh-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),c("click",function(){return n.setNewChannel("stable")}),i(79,"sh-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),c("click",function(){return n.setNewChannel("beta")}),i(84,"sh-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),c("click",function(){return n.setNewChannel("experimental")}),i(89,"sh-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),c("click",function(){return n.setNewChannel("canary")}),i(94,"sh-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),R(98,"sh-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"sh-range-slider",58)(109,"input",59),v("ngModelChange",function(_){return A(n.timeValue,_)||(n.timeValue=_),_}),o()(),i(110,"sh-select",60)(111,"input",61),c("ngModelChange",function(_){return n.updateTimeType(_)}),o(),ae(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),L(118,29),R(119,"a",62)(120,"br")(121,"br"),b(),o()(),i(122,"div",43)(123,"sh-select",63)(124,"input",50),c("ngModelChange",function(_){return n.updateUsageStatistics(_)}),o(),ae(125,Bt,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),R(131,"app-advanced-options-settings"),o()()()),t&2){let a,_,m;l(13),W(n.remoteControlStatus()),l(11),h("active",!n.isDarkMode()),l(),h("active",n.isDarkMode()),l(8),C(n.showPassphraseForm()?33:34),l(9),f("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),f("ngModel",n.langCtrl())("ngModelOptions",j(43,de)),l(8),h("active",n.allowRemoteAccess()),l(3),C(n.allowRemoteAccess()?54:-1),l(8),h("active",n.disableTrayIconLogin()),l(8),C(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),C(n.updatingChannel()?71:-1),l(3),h("active",n.updateChannel()===""),l(),re((_=n.sysinfo())==null?null:_.DefaultUpdateChannel),le(75),l(2),re((m=n.sysinfo())==null?null:m.ServerVersionType),le(77),l(2),h("active",n.updateChannel()==="stable"),l(5),h("active",n.updateChannel()==="beta"),l(5),h("active",n.updateChannel()==="experimental"),l(5),h("active",n.updateChannel()==="canary"),l(14),f("unit",n.timeType()==="none"?"s":n.timeType()),l(),f("min",n.timeRange()[0])("max",n.timeRange()[1])("disabled",n.timeType()==="none"),y("ngModel",n.timeValue),f("ngModelOptions",j(44,de)),l(),f("options",n.timeTypeOptions())("isClearable",!1),l(),f("ngModel",n.timeType()),l(12),f("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),f("ngModel",n.usageStatistics())("ngModelOptions",j(45,de))}},dependencies:[Z,K,it,Q,Y,ee,pt,oe,z,J,lt,_t,rt,Tt,St,ne,k,at,te,dt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;background:var(--base-1);border-bottom:1px solid var(--base-4)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-4)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:15rem;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-8)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] sh-radio[_ngcontent-%COMP%]{color:var(--base-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Ht as debounceSignal,Te as default};
package/chunk-YPJRYB54.js DELETED
@@ -1,2 +0,0 @@
1
- import{a as F}from"./chunk-NSAY2K7E.js";import{I as A,S as D,u as k}from"./chunk-RPUPXDQE.js";import{la as $}from"./chunk-5ZSBXGHQ.js";import{$b as d,Ab as S,Bb as f,Cb as M,Db as o,Eb as i,Fb as P,Fc as R,Hc as y,Mb as N,Rc as v,Sa as l,Vb as m,Wc as C,Zb as G,_ as O,cb as x,ea as I,fa as h,jc as w,kc as E,nc as s,oc as L,pa as T,pc as _,xb as g,yb as p,zb as u}from"./chunk-QONLYWYC.js";function V(n,t){n&1&&(o(0,"div",4),m(1,0),i())}function B(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function J(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,B,2,1,"li",null,u),i()()),n&2){let e=d(2).$implicit,a=d(2);l(2),f(a.breakIntoLines(e.Exception))}}function U(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function X(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,U,2,1,"li",null,u),i()()),n&2){let e=d(2).$implicit,a=d(2);l(2),f(a.breakIntoLines(e.Message))}}function j(n,t){if(n&1&&(o(0,"tr")(1,"td",12)(2,"sh-list",13)(3,"div",14),s(4),i(),o(5,"div",14),s(6),i(),o(7,"div",14),s(8),i(),o(9,"div",14),s(10),i(),o(11,"div",14),s(12),i()(),g(13,J,4,0,"code"),g(14,X,4,0,"code"),i()()),n&2){let e=d().$implicit;l(4),_("ID: ",e.ID),l(2),_("Type: ",e.Type),l(2),_("Tag: ",e.Tag),l(2),_("TaskID: ",e.TaskID),l(2),_("MessageID: ",e.MessageID),l(),p(e.Exception?13:-1),l(),p(e.Message?14:-1)}}function z(n,t){if(n&1){let e=N();o(0,"tr",10),G("click",function(){let r=I(e).$index,c=d(2);return h(c.toggleRow(r))}),o(1,"td"),s(2),R(3,"date"),i(),o(4,"td"),s(5),i(),o(6,"td",8)(7,"button",11)(8,"sh-icon"),s(9,"caret-down"),i()()()(),g(10,j,15,7,"tr")}if(n&2){let e=t.$implicit,a=t.$index,r=d(2);l(2),L(y(3,5,e.When,"medium")),l(3),L(r.subStringMessage(e.Message)),l(2),E("rotated-icon",a===r.openRowIndex()),l(3),p(a===r.openRowIndex()?10:-1)}}function W(n,t){if(n&1&&(o(0,"sh-table",6)(1,"tr",7)(2,"th"),m(3,1),i(),o(4,"th"),m(5,2),i(),P(6,"th",8),i(),S(7,z,11,8,null,null,u),o(9,"div",9),m(10,3),i()()),n&2){let e=d();w("grid-template-columns","auto 1fr auto"),E("type-b",e.asSimpleList()),M("data",e.logs())("loading",e.logsLoading()),l(7),f(e.logs())}}var b=class n{#e=O(F);whenFilter=C();backupIdFilter=C();asSimpleList=C();polling=C();logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;logs=this.#e.logs;logsLoading=this.#e.logsLoading;pollingEffect=v(()=>{let t=this.polling()??!1;this.#e.isPolling.set(t)});openRowIndex=T(null);whenEffect=v(()=>{let t=this.whenFilter()??null;this.#e.setWhenFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});backupIdEffect=v(()=>{let t=this.backupIdFilter()??null;this.#e.setBackupIdFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});toggleRow(t){this.openRowIndex.set(t===this.openRowIndex()?null:t)}breakIntoLines(t){return t?t.split(`
2
- `):[]}subStringMessage(t){return t?t.substring(0,80)+"...":""}ngOnDestroy(){this.#e.destroy()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=x({type:n,selectors:[["app-logs-live"]],hostVars:2,hostBindings:function(e,a){e&2&&E("simple-list",a.asSimpleList())},inputs:{whenFilter:[1,"whenFilter"],backupIdFilter:[1,"backupIdFilter"],asSimpleList:[1,"asSimpleList"],polling:[1,"polling"]},decls:2,vars:1,consts:()=>{let t;t=$localize`Live logs are disabled`;let e;e=$localize`When`;let a;a=$localize`Message`;let r;return r=$localize`No data available`,[t,e,a,r,[1,"live-view-disabled"],[3,"type-b","data","loading","grid-template-columns"],[3,"data","loading"],["table-header",""],[1,"sticky-end"],["table-no-rows",""],[3,"click"],["shButton","","type","button",1,"outlined","small"],[1,"expanded-cell"],[1,"primary"],["item",""],[1,"line-numbers-ol"]]},template:function(e,a){e&1&&g(0,V,2,0,"div",4)(1,W,11,6,"sh-table",5),e&2&&p(a.logLevel()==="Disabled"?0:1)},dependencies:[D,k,A,$],styles:["[_nghost-%COMP%]{display:block;padding:0 2rem}.simple-list[_nghost-%COMP%] sh-table[_ngcontent-%COMP%]{--table-td-bg: var(--base-2);height:100%}.live-view-disabled[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:18.75rem;width:100%;background-color:var(--base-2);border:1px solid var(--base-3);border-radius:var(--shape-2);font:var(--paragraph-20)}.expanded-cell[_ngcontent-%COMP%]{height:auto;grid-column:1/-1;white-space:pre-wrap;display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}sh-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}sh-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}sh-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}sh-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code) code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre;max-width:100%}"],changeDetection:0})};export{b as a};
package/chunk-YYJFEUNT.js DELETED
@@ -1 +0,0 @@
1
- import{a as _e}from"./chunk-KXJZEADJ.js";import{a as le,b as m}from"./chunk-Z27IQRKV.js";import"./chunk-H7ZKBS2Q.js";import{a as se}from"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import{a as b}from"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{b as q,e as j}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as ae,G as ie,X as ne,c as Q,e as Y,i as Z,s as x,u as ee,z as te}from"./chunk-RPUPXDQE.js";import{i as oe}from"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{Cb as d,D as G,Db as n,Eb as i,F as g,Fb as c,G as L,H as p,Qc as E,Rc as P,Sa as _,Tb as u,Ub as h,Vb as A,Wb as H,Xb as J,Zb as T,_ as C,cb as V,kc as F,mc as K,nc as D,pa as s,r as y,sc as X,tc as z,uc as W,xb as w,yb as U}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";function re(r,t){r&1&&(n(0,"sh-icon",19),D(1,"spinner"),i())}function ce(r,t){r&1&&(n(0,"sh-icon",20),D(1,"check"),i())}function de(r,t){r&1&&(n(0,"sh-icon",21),D(1,"warning"),i()),r&2&&d("shTooltip","File not found")}function ue(r,t){let a=le(r).pipe(G(t),L());return m(a,{initialValue:r()})}var N=class r{#o=C(q);#s=C(se);#e=C(oe);#a=C(te);#t=s("");backupId=m(this.#o.params.pipe(y(t=>t.id)));activeBackup=E(()=>this.#s.backups().find(t=>t.Backup?.ID===this.backupId()));backupFilePath=s("");lastValidatedPath=s("");isValidatedPath=E(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=E(()=>this.backupFilePath()!==this.#t());isValidatingPath=s(!1);#i=ue(this.backupFilePath,500);#n=s(!1);isWaitingForValidation=E(()=>this.#i()!=this.backupFilePath()||this.isValidatingPath());backupFilePathEffect=P(()=>{let t=this.#i(),a=this.activeBackup(),e=this.#n();t!==""&&(this.isValidatingPath.set(!0),this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).pipe(g(1),p(()=>this.isValidatingPath.set(!1))).subscribe(()=>this.lastValidatedPath.set(t)))});isRestoring=s(!1);isRepairing=s(!1);isDeleting=s(!1);isSavingDbPath=s(!1);isSavingAndRepairing=s(!1);isMovingDb=s(!1);isCreatingBugReport=s(!1);createdReport=s(!1);activeBackupEffect=P(()=>{let t=this.activeBackup();if(!t)return;let a=t.Backup?.DBPath??"";this.backupFilePath.set(a),this.#t.set(a)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),p(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(t=null){this.isValidatedPath()?this.#a.open(b,{data:{title:$localize`Confirm delete?`,message:$localize`Do you really want to delete the database for ${this.activeBackup()?.Backup?.Name}?`,confirmText:$localize`Delete database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doDeleteDatabase(t)}}):this.doDeleteDatabase(t)}doDeleteDatabase(t=null){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),p(()=>this.isDeleting.set(!1))).subscribe(()=>{this.lastValidatedPath.set(""),t?.()})}restoreDatabase(){this.isValidatedPath()?this.deleteDatabase(()=>{this.doRepairDatabase()}):this.doRepairDatabase()}doRepairDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),p(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t())}saveDatabasePath(t=null){this.isValidatedPath()?this.#a.open(b,{data:{title:$localize`Confirm reassign?`,message:$localize`The target database path already exists and may belong to another backup. Are you sure you want to assign this backup to an existing database?`,confirmText:$localize`Assign existing database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doSaveDatabasePath(t)}}):this.doSaveDatabasePath(t)}doSaveDatabasePath(t=null){this.isSavingDbPath.set(!0);let a=this.backupFilePath();this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:a}}).pipe(p(()=>this.isSavingDbPath.set(!1))).subscribe(()=>{this.#t.set(a),t?.()})}saveAndRepairDatabasePath(){this.saveDatabasePath(()=>(this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),p(()=>this.isSavingAndRepairing.set(!1))).subscribe()))}moveDatabasePath(){this.isMovingDb.set(!0);let t=this.backupFilePath();this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:t}}).pipe(p(()=>this.isMovingDb.set(!1))).subscribe(()=>{this.#n.update(a=>!a),this.#t.set(t)})}createErrorReport(){this.isCreatingBugReport.set(!0),this.#e.postApiV1BackupByIdCreatereport({id:this.backupId()}).pipe(p(()=>this.isCreatingBugReport.set(!1))).subscribe({next:()=>{this.createdReport.set(!0),window.setTimeout(()=>this.createdReport.set(!1),3e3)}})}static \u0275fac=function(a){return new(a||r)};static \u0275cmp=V({type:r,selectors:[["app-database"]],decls:50,vars:21,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let a;a=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let o;o=$localize`Maintenance`;let S;S=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. The bug report button can be used to create a copy of the database with path information removed. This should only be used if a developer requests to investigate an issue with your database. `;let f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Repair `;let I;I=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON: Delete `;let M;M=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SH_ICON: Restore (delete and repair) `;let R;R=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:file-plus${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON: Create bug report database `;let B;B=$localize`Placement`;let O;O=$localize`${"\uFFFD#40\uFFFD"}:START_TAG_SH_ICON:backspace${"\uFFFD/#40\uFFFD"}:CLOSE_TAG_SH_ICON: Reset `;let $;$=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SH_ICON: Save `;let v;v=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SH_ICON: Save & Repair `;let k;return k=$localize`${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON:flow-arrow${"\uFFFD/#49\uFFFD"}:CLOSE_TAG_SH_ICON: Move existing database `,[t,a,e,o,S,f,I,M,R,B,O,$,v,k,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"actions","maintenance"],["shButton","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix","",1,"primary"],["prefix",""],["prefix","",3,"shTooltip"],[1,"actions","placement"]]},template:function(a,e){if(a&1&&(c(0,"app-status-bar"),n(1,"section")(2,"div",14)(3,"button",15),u(4,0),c(5,"sh-icon"),h(),i()(),n(6,"article")(7,"h1"),A(8,1),i(),n(9,"p"),A(10,2),i()(),n(11,"article")(12,"h2"),A(13,3),i(),n(14,"p"),A(15,4),i(),n(16,"div",16)(17,"button",17),T("click",function(){return e.repairDatabase()}),u(18,5),c(19,"sh-icon"),h(),i(),n(20,"button",17),T("click",function(){return e.deleteDatabase()}),u(21,6),c(22,"sh-icon"),h(),i(),n(23,"button",17),T("click",function(){return e.restoreDatabase()}),u(24,7),c(25,"sh-icon"),h(),i(),n(26,"button",17),T("click",function(){return e.createErrorReport()}),u(27,8),c(28,"sh-icon"),h(),i()()(),n(29,"article")(30,"h2"),A(31,9),i(),n(32,"sh-form-field")(33,"input",18),W("ngModelChange",function(S){return z(e.backupFilePath,S)||(e.backupFilePath=S),S}),i(),w(34,re,2,0,"sh-icon",19)(35,ce,2,0,"sh-icon",20)(36,de,2,1,"sh-icon",21),i(),n(37,"div",22)(38,"button",17),T("click",function(){return e.resetDatabasePath()}),u(39,10),c(40,"sh-icon"),h(),i(),n(41,"button",17),T("click",function(){return e.saveDatabasePath()}),u(42,11),c(43,"sh-icon"),h(),i(),n(44,"button",17),T("click",function(){return e.saveAndRepairDatabasePath()}),u(45,12),c(46,"sh-icon"),h(),i(),n(47,"button",17),T("click",function(){return e.moveDatabasePath()}),u(48,13),c(49,"sh-icon"),h(),i()()()()),a&2){let o;_(8),H((o=e.activeBackup())==null||o.Backup==null?null:o.Backup.Name),J(8),_(9),F("loader",e.isRepairing()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),_(3),F("loader",e.isDeleting()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),_(3),F("loader",e.isRestoring()),d("disabled",e.pathHasChanged()),_(3),F("loader",e.isCreatingBugReport()),d("disabled",e.isCreatingBugReport()||!e.isValidatedPath()||e.pathHasChanged()),_(6),K(e.isValidatedPath()?"success":"error"),_(),X("ngModel",e.backupFilePath),_(),U(e.isWaitingForValidation()?34:e.isValidatedPath()?35:36),_(4),d("disabled",!e.pathHasChanged()),_(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),_(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),_(3),d("disabled",!e.pathHasChanged()||e.isValidatedPath()||e.isWaitingForValidation())}},dependencies:[x,Q,Y,Z,_e,ae,ie,ee,ne,j],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{N as default};
package/chunk-Z6M25FYI.js DELETED
@@ -1 +0,0 @@
1
- import{a as Lt,b as Rt,c as Bt}from"./chunk-NYILY6CE.js";import"./chunk-HHU5JW5J.js";import{a as Pt}from"./chunk-FSG362SU.js";import{h as yt}from"./chunk-BNUMPQFL.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-4VY6SMSL.js";import"./chunk-MHPSC3FM.js";import"./chunk-Z27IQRKV.js";import{a as $}from"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import{b as St,d as mt}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as k,C as $t,G as v,J as Mt,c as x,e as G,f as Nt,g as It,i as U,j as ht,r as Et,s as w,u as b,w as Ot,y as ft,z as At}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{$b as l,Ab as st,Bb as Ft,Bc as Dt,Cb as m,Db as s,Eb as F,Fb as c,Jb as rt,Kb as lt,Mb as g,Pa as ot,Qc as R,Sa as r,Tb as _,Ub as u,Vb as y,Vc as gt,Wb as z,Wc as pt,Xb as H,Xc as Ct,Yb as J,Zb as D,_ as N,ac as ct,bc as _t,cb as E,ea as T,fa as d,gc as ut,hc as Tt,ja as it,kc as dt,nc as L,oc as X,pa as h,sc as O,tc as f,uc as A,vc as j,wc as W,xb as C,xc as B,yb as S,yc as q,zb as at}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var Ut=["*"],M=class o{destination=pt.required();static \u0275fac=function(t){return new(t||o)};static \u0275cmp=E({type:o,selectors:[["app-destination-list-item"]],inputs:{destination:[1,"destination"]},ngContentSelectors:Ut,decls:9,vars:6,consts:[[1,"type-b"],[1,"icon"],[3,"src","alt"],[1,"name"],[1,"description"],[1,"actions"]],template:function(t,i){if(t&1&&(ct(),s(0,"sh-card",0)(1,"div",1),c(2,"img",2),F(),s(3,"div",3),L(4),F(),s(5,"div",4),L(6),F(),s(7,"div",5),_t(8),F()()),t&2){let e=i.destination();r(2),m("src",q(e.icon),ot)("alt",q(e.displayName)),r(2),X(e.displayName),r(2),X(e.description)}},dependencies:[$t],styles:['[_nghost-%COMP%]{display:block}sh-card[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:3rem 1fr auto;grid-template-areas:"icon name actions" "icon description actions";gap:.25rem 1rem}sh-card[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{grid-area:icon;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--shape-2)}sh-card[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{object-fit:contain;width:100%;border-radius:var(--shape-2);overflow:hidden}sh-card[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{grid-area:name;font:var(--paragraph-10)}sh-card[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{grid-area:description;color:var(--base-8)}sh-card[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{grid-area:actions;display:flex;align-items:center;gap:.5rem}'],changeDetection:0})};function bt(o,n){if(o&1){let t=g();s(0,"app-destination-list-item",3)(1,"button",4),D("click",function(){let e=T(t).$implicit,a=l();return d(a.setDestination.emit(e.key))}),_(2,0),c(3,"sh-icon"),u(),F()()}if(o&2){let t=n.$implicit;m("destination",t)}}var K=class o{#i=N(Rt);setDestination=gt();destinationSearchTerm=h("");destinationTypeOptions=this.#i.destinationTypeOptions;destinationTypeOptionsFocused=R(()=>{let n=this.destinationTypeOptions(),t=this.destinationSearchTerm().toLowerCase(),i=[...n].sort((e,a)=>{let I=e.sortOrder??0,P=a.sortOrder??0;return I!==P?P-I:e.displayName.localeCompare(a.displayName)}).filter(e=>(e.sortOrder??0)>=0);return t?i.filter(e=>e.searchTerms.toLowerCase().includes(t)):i});static \u0275fac=function(t){return new(t||o)};static \u0275cmp=E({type:o,selectors:[["app-destination-list"]],outputs:{setDestination:"setDestination"},decls:5,vars:1,consts:()=>{let n;n=$localize`Search for destination...`;let t;return t=$localize` Choose ${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SH_ICON:`,[t,["type","text","placeholder",n,3,"ngModelChange","ngModel"],[1,"list"],[3,"destination"],["shButton","","type","button",3,"click"]]},template:function(t,i){t&1&&(s(0,"sh-form-field")(1,"input",1),A("ngModelChange",function(a){return f(i.destinationSearchTerm,a)||(i.destinationSearchTerm=a),a}),F()(),s(2,"div",2),st(3,bt,4,1,"app-destination-list-item",3,at),F()),t&2&&(r(),O("ngModel",i.destinationSearchTerm),r(2),Ft(i.destinationTypeOptionsFocused()))},dependencies:[M,w,x,G,U,v,k,b],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:hidden}.list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:auto;padding-bottom:1rem;border-bottom:.0625rem solid var(--base-4)}"],changeDetection:0})};var kt=["formRef"],vt=()=>({maxWidth:"700px",width:"100%"});function Kt(o,n){if(o&1){let t=g();_(0,1,1),s(1,"button",28),D("click",function(){T(t);let e=l();return d(e.testDestination(0,!0))}),F(),u()}if(o&2){let t=l();r(),dt("loader",t.testSignal()=="testing"),m("disabled",t.testSignal()=="testing")}}function Vt(o,n){if(o&1){let t=g();_(0,1,2),s(1,"button",29),D("click",function(){T(t);let e=l();return d(e.openTargetUrlDialog())}),c(2,"sh-icon"),F(),u()}}function zt(o,n){if(o&1){let t=g();_(0,1,4),s(1,"button",29),D("click",function(){T(t);let e=l(2);return d(e.copyTargetUrl())}),c(2,"sh-icon"),F(),u()}}function Ht(o,n){if(o&1){let t=g();_(0,1,3),s(1,"sh-menu")(2,"button",17),c(3,"sh-icon"),F(),rt(4,30),s(5,"button",29),D("click",function(){T(t);let e=l();return d(e.openTargetUrlDialog())}),c(6,"sh-icon"),F(),C(7,zt,3,0,"button",17),lt(),F(),u()}if(o&2){l();let t=B(0);r(7),S(t?7:-1)}}function Jt(o,n){o&1&&(s(0,"sh-alert"),_(1,4),c(2,"sh-icon",31),u(),F())}function Xt(o,n){o&1&&(s(0,"sh-alert",18),_(1,5),c(2,"sh-icon",31),u(),F())}function jt(o,n){if(o&1&&(s(0,"sh-alert",19),_(1,6),c(2,"sh-icon",31),u(),F()),o&2){let t=l();r(2),z(t.testErrorMessage()),H(1)}}function Wt(o,n){if(o&1&&(s(0,"sh-alert",20),_(1,7),c(2,"sh-icon",31),u(),F()),o&2){let t=l();r(2),z(t.testErrorMessage()),H(1)}}function qt(o,n){if(o&1){let t=g();s(0,"app-destination-list-item",21)(1,"button",24),D("click",function(){T(t);let e=l();return d(e.removeDestination())}),y(2,8),F()()}if(o&2){l();let t=B(14);m("destination",t)}}function Qt(o,n){if(o&1){let t=g();s(0,"app-destination-list",32),D("setDestination",function(e){T(t);let a=l();return d(a.setDestination(e))}),F()}}function Yt(o,n){if(o&1){let t=g();s(0,"app-single-destination",33),A("targetUrlChange",function(e){T(t);let a=l();return f(a.targetUrlModel,e)||(a.targetUrlModel=e),d(e)}),F()}if(o&2){let t=l();O("targetUrl",t.targetUrlModel),m("useBackupState",!0)}}function Zt(o,n){o&1&&(_(0,3,1),c(1,"sh-icon",26),u())}function te(o,n){o&1&&(_(0,3,2),c(1,"sh-icon"),u())}function ee(o,n){o&1&&(s(0,"h2"),y(1,11),F())}function ne(o,n){o&1&&(s(0,"h2"),y(1,12),F())}function ie(o,n){if(o&1){let t=g();s(0,"sh-dialog",34),A("isOpenChange",function(e){T(t);let a=l();return f(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),d(e)}),s(1,"header",35),C(2,ee,2,0,"h2")(3,ne,2,0,"h2"),s(4,"sh-alert",19),y(5,9),F()(),s(6,"div",36)(7,"sh-form-field")(8,"textarea",37),A("ngModelChange",function(e){T(t);let a=l();return f(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),d(e)}),F()()(),s(9,"footer",38)(10,"button",24),D("click",function(){T(t);let e=l();return d(e.closeTargetUrlDialog(!1))}),L(11,"Cancel"),F(),s(12,"button",39),D("click",function(){T(t);let e=l();return d(e.closeTargetUrlDialog(!0))}),_(13,10),c(14,"sh-icon"),u(),F()()()}if(o&2){let t=l(),i=B(0);O("isOpen",t.targetUrlDialogOpen),m("options",Dt(4,vt)),r(2),S(i?3:2),r(6),O("ngModel",t.targetUrlCtrl)}}var V=new Et,Le=(o={destinations:[]})=>V.group({destinations:V.array(o.destinations)}),Re=({key:o,customGroup:n,dynamicGroup:t,advancedGroup:i})=>V.group({destinationType:V.control(o),custom:n,dynamic:t,advanced:i}),Q=class o{#i=N(mt);#o=N(St);#t=N(yt);#e=N(At);#a=N(Lt);injector=N(it);formRef=Ct.required("formRef");targetUrlModel=this.#t.targetUrlModel;targetUrlCtrl=h(null);targetUrlInitial=h(null);targetUrlDialogOpen=h(!1);toggleNewDestination=h(!0);testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;selectedDestinationType=R(()=>{let n=this.targetUrlModel();if(!n)return null;let t=n.split("://")[0];return Pt(t)??null});selectedDestinationTypeOption=R(()=>{let n=this.selectedDestinationType();return n?{key:n.customKey??n.key,customKey:n.customKey??null,displayName:n.displayName,description:n.description,icon:n.icon}:null});copyTargetUrl(){navigator.clipboard.writeText(this.targetUrlModel()??"")}openTargetUrlDialog(){let n=this.targetUrlModel();this.targetUrlCtrl.set(n),this.targetUrlInitial.set(n),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),i=this.targetUrlInitial();!n||t===i||!t||this.#t.setTargetUrl(t)}testDestination(n,t,i){let e=this.targetUrlModel();e&&(this.#t.setTestState("testing"),this.#a.testDestination(e,this.#t.backupId(),n,!0,!0).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),this.#t.isNew()&&(a.containsBackup===!0?(this.#t.setTestState("warning",$localize`The remote destination already contains a backup. Please use a different folder for each backup.`),t||this.#e.open($,{data:{title:$localize`Folder contains backup`,message:$localize`The remote destination already contains a backup. You must use a different folder for each backup.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!0&&(this.#t.setTestState("warning",$localize`The remote destination contains unknown files.`),t||this.#e.open($,{data:{title:$localize`Folder is not empty`,message:$localize`The remote destination is not empty. It is recommended to use an empty folder for the backup.`,confirmText:$localize`OK`,cancelText:void 0}}))),i?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){i?.();return}let I=e.includes("?");a.action==="trust-cert"&&this.#t.setTargetUrl(e+`${I?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.setTargetUrl(e+`${I?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):i?.()}}))}setDestination(n){this.#t.setTargetUrl(`${n}://`,!0)}removeDestination(){this.#t.setTargetUrl(null,!0)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let n=this.#t.isNew(),t=this.testSignal();if(!n){this.#n();return}if(t===""){this.#e.open($,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:i=>{i?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open($,{data:{title:$localize`Test did not succeed`,message:this.testErrorMessage()??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}})}):this.#n()}});return}if(t!=="success"){this.#e.open($,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Yes, continue`,cancelText:$localize`Cancel`},closed:i=>{i&&this.#n()}});return}this.#n()}#n(){this.#t.isNew()||this.#t.submit(!0),this.#i.navigate(["source-data"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=E({type:o,selectors:[["app-destination"]],viewQuery:function(t,i){t&1&&ut(i.formRef,kt,5),t&2&&Tt()},decls:27,vars:11,consts:()=>{let n;n=$localize` Backup destination ${"\uFFFD#6\uFFFD"}:START_TAG_DIV:${"[\uFFFD*7:1\uFFFD|\uFFFD*7:4\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON: Test destination ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#5:3\uFFFD|\uFFFD/#1:4\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*7:1\uFFFD|\uFFFD/*8:2\uFFFD|\uFFFD/*7:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*8:2\uFFFD"}:START_BLOCK_IF_1:${"[\uFFFD#1:2\uFFFD|\uFFFD#5:3\uFFFD]"}:START_TAG_BUTTON_1:${"[\uFFFD#2:2\uFFFD|\uFFFD#3:3\uFFFD|\uFFFD#6:3\uFFFD|\uFFFD#2:4\uFFFD]"}:START_TAG_SH_ICON:link${"[\uFFFD/#2:2\uFFFD|\uFFFD/#3:3\uFFFD|\uFFFD/#6:3\uFFFD|\uFFFD/#2:4\uFFFD]"}:CLOSE_TAG_SH_ICON: Set target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#5:3\uFFFD|\uFFFD/#1:4\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*7:1\uFFFD|\uFFFD/*8:2\uFFFD|\uFFFD/*7:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*9:3\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:3\uFFFD"}:START_TAG_SH_MENU:${"\uFFFD#2:3\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#2:2\uFFFD|\uFFFD#3:3\uFFFD|\uFFFD#6:3\uFFFD|\uFFFD#2:4\uFFFD]"}:START_TAG_SH_ICON:dots-three-vertical${"[\uFFFD/#2:2\uFFFD|\uFFFD/#3:3\uFFFD|\uFFFD/#6:3\uFFFD|\uFFFD/#2:4\uFFFD]"}:CLOSE_TAG_SH_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#5:3\uFFFD|\uFFFD/#1:4\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#4:3\uFFFD"}:START_TAG_NG_CONTAINER:${"[\uFFFD#1:2\uFFFD|\uFFFD#5:3\uFFFD]"}:START_TAG_BUTTON_1:${"[\uFFFD#2:2\uFFFD|\uFFFD#3:3\uFFFD|\uFFFD#6:3\uFFFD|\uFFFD#2:4\uFFFD]"}:START_TAG_SH_ICON:link${"[\uFFFD/#2:2\uFFFD|\uFFFD/#3:3\uFFFD|\uFFFD/#6:3\uFFFD|\uFFFD/#2:4\uFFFD]"}:CLOSE_TAG_SH_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#5:3\uFFFD|\uFFFD/#1:4\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD*7:1\uFFFD|\uFFFD*7:4\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:4\uFFFD"}:START_TAG_BUTTON_3:${"[\uFFFD#2:2\uFFFD|\uFFFD#3:3\uFFFD|\uFFFD#6:3\uFFFD|\uFFFD#2:4\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#2:2\uFFFD|\uFFFD/#3:3\uFFFD|\uFFFD/#6:3\uFFFD|\uFFFD/#2:4\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#5:3\uFFFD|\uFFFD/#1:4\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*7:1\uFFFD|\uFFFD/*8:2\uFFFD|\uFFFD/*7:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD/#4:3\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#1:3\uFFFD"}:CLOSE_TAG_SH_MENU:${"\uFFFD/*9:3\uFFFD"}:CLOSE_BLOCK_ELSE:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_DIV:`,n=J(n);let t;t=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let i;i=$localize`${"\uFFFD*24:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*24:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*25:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*25:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,i=J(i);let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Testing connection... `;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:check${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Connection tested successfully. `;let I;I=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let P;P=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let Y;Y=$localize`Change`;let Z;Z=$localize`Be careful, this will overwrite everything you have in your destination.`;let tt;tt=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON:`;let et;et=$localize`Set target URL`;let nt;return nt=$localize`Edit target URL`,[["formRef",""],n,t,i,e,a,I,P,Y,Z,tt,et,nt,[3,"submit"],[1,"title-30"],[1,"actions"],["shButton","","type","button",1,"small",3,"loader","disabled"],["shButton","","type","button",1,"small"],[1,"success"],[1,"warn"],[1,"error"],[1,"current-destination",3,"destination"],[3,"targetUrl","useBackupState"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["shButton","","type","button",1,"small",3,"click","disabled"],["shButton","","type","button",1,"small",3,"click"],["menu",""],["icon",""],[3,"setDestination"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,i){if(t&1){let e=g();j(0),s(1,"form",13,0),D("submit",function(){return T(e),d(i.next())}),s(3,"header")(4,"h3",14),_(5,1),s(6,"div",15),C(7,Kt,2,3,"button",16),C(8,Vt,3,0,"button",17)(9,Ht,8,1,"sh-menu"),F(),u(),F(),C(10,Jt,3,0,"sh-alert")(11,Xt,3,0,"sh-alert",18)(12,jt,3,1,"sh-alert",19)(13,Wt,3,1,"sh-alert",20),j(14),C(15,qt,3,1,"app-destination-list-item",21),F(),C(16,Qt,1,0,"app-destination-list"),C(17,Yt,1,2,"app-single-destination",22),s(18,"div",23)(19,"button",24),D("click",function(){return T(e),d(i.goBack())}),_(20,2),c(21,"sh-icon"),u(),F(),s(22,"button",25),_(23,3),C(24,Zt,2,0,"sh-icon",26)(25,te,2,0,"sh-icon"),u(),F()()(),C(26,ie,15,5,"sh-dialog",27)}if(t&2){let e=W(!!i.targetUrlModel());r(7),S(e?7:-1),r(),S(e?9:8),r(2),S(i.testSignal()=="testing"?10:i.testSignal()=="success"?11:i.testSignal()=="warning"?12:i.testSignal()=="error"?13:-1),r(4);let a=W(i.selectedDestinationTypeOption());r(),S(a?15:-1),r(),S(e?-1:16),r(),S(e?17:-1),r(5),m("disabled",i.testSignal()=="testing"||!e),r(2),S(i.testSignal()=="testing"?24:25),r(2),S(i.targetUrlDialogOpen()?26:-1)}},dependencies:[Bt,K,M,w,ht,x,G,Nt,U,It,k,v,Mt,b,ft,Ot],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem;padding:2.5rem 2.5rem 0}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;height:100%;padding:0 0 2.5rem}.current-destination[_ngcontent-%COMP%]{margin:1rem 0 0}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}"],changeDetection:0})};export{Le as createDestinationForm,Re as createDestinationFormGroup,Q as default};
package/main-IH6ESA7A.js DELETED
@@ -1 +0,0 @@
1
- import{b as Ce,c as Se}from"./chunk-YJPY33RI.js";import{a as ge}from"./chunk-XXVFRNSP.js";import{a as I}from"./chunk-H7ZKBS2Q.js";import"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import{a as P}from"./chunk-6Q6SSTBK.js";import{a as L}from"./chunk-5LX6M65H.js";import{a as he}from"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import{a as b,b as v,c as fe,d as k}from"./chunk-6XI3IP27.js";import{c as ae,d as pe,g as ce,h as le}from"./chunk-ABYM5HWA.js";import{a as ee}from"./chunk-Z35OG2DV.js";import{v as me,x as de}from"./chunk-RPUPXDQE.js";import{a as te,b as oe,c as ne,e as re,f as se,g as ie,j as ue}from"./chunk-OJ3H3ZRA.js";import{a as be}from"./chunk-I2LW33GO.js";import{la as Y,qa as Z}from"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{a as ve}from"./chunk-UCS5RU7N.js";import{b as ye}from"./chunk-JYWOYPSQ.js";import{A as x,B,Fb as z,H as T,Lc as q,Mc as X,N as G,P as R,R as J,Rc as Q,V as M,Y as _,_ as s,cb as K,f as j,i as U,ja as $,n as W,o as F,pa as d,r as S}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var E=class e{#o=s(b);#s=s(v);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=K({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&z(0,"router-outlet")},dependencies:[ae],encapsulation:2})};var we={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var h=new _("ENVIRONMENT");var A=class e{#o=s(ue);isLoaded=d(!1);webmodules=d(null);preload(t=!1){let o=this.#o.getApiV1Webmodules().pipe(J(n=>this.webmodules.set(n)),T(()=>this.isLoaded.set(!0)));if(t)return o;o.subscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})};var Ne=()=>{let e=s(k);return e.token()?!0:e.checkProxyAuthed().pipe(R(t=>t?W(!0):e.refreshToken().pipe(S(()=>!0))))},Oe=()=>{let e=s(v),t=s(I),o=s($),n=e.relayIsEnabled()?"longpoll":"websocket",i=[o.get(L).preload(!0),o.get(L).preloadFilterGroups(!0),o.get(A).preload(!0)];return e.configLoaded===null?x(i).pipe(S(()=>n)):e.configLoaded?.pipe(R(()=>x(i)))},Te=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-5MWPORZW.js")},{path:"logout",loadComponent:()=>import("./chunk-2KU5X7TN.js")},{path:"",canActivate:[Ne],children:[{path:"",canActivate:[Oe],loadComponent:()=>import("./chunk-4FWCJIJ4.js"),children:[{path:"",loadComponent:()=>import("./chunk-U3Q7TTKT.js")},{path:"add-backup",loadComponent:()=>import("./chunk-DJQOPNQJ.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-GMUNZKVL.js")},{path:"backup/import",loadComponent:()=>import("./chunk-AUR4SBGD.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-CATZTYW5.js"),loadChildren:()=>import("./chunk-KK24REOX.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-CATZTYW5.js"),loadChildren:()=>import("./chunk-KK24REOX.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-SPMSFKWG.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-YYJFEUNT.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-FYTYEGRJ.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-5CTM5KYC.js")},{path:"backup/:id/delete",loadComponent:()=>import("./chunk-2MIEBBFN.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-PB6FTE7O.js")},{path:"from-config",loadComponent:()=>import("./chunk-B32YSHV5.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-PXDRFPNP.js"),loadChildren:()=>import("./chunk-7U37G3C3.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-PXDRFPNP.js"),loadChildren:()=>import("./chunk-7U37G3C3.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-PXDRFPNP.js"),loadChildren:()=>import("./chunk-7U37G3C3.js")},{path:"settings",loadComponent:()=>import("./chunk-XZDYDGZ7.js")},{path:"about",loadComponent:()=>import("./chunk-H44BDPZE.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-BF2IYOUB.js")},{path:"changelog",loadComponent:()=>import("./chunk-Z7WHLTVV.js")},{path:"libraries",loadComponent:()=>import("./chunk-CSL7HCLZ.js")},{path:"system-info",loadComponent:()=>import("./chunk-4KEA3KF7.js")},{path:"server-settings",loadComponent:()=>import("./chunk-CTAP3SAA.js")},{path:"logs",loadChildren:()=>import("./chunk-QF5WMLMJ.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-BZ2XGEV5.js")}]}]}]}]}];var V=null,Me=(e,t)=>{let o=s(k),n=s(pe),i=s(b),l=s(h),r=i.getItem("locale"),u=s(de),p=Ce(r),a=e.url==="/api/v1/auth/login",m=e.url==="/api/v1/auth/refresh",C=e.url==="/api/v1/progressstate",g=e.url==="/api/v1/remoteoperation/test",y=e.url==="/api/v1/filesystem/validate",w=e.url.startsWith("/api/v2/"),O=o.token(),D=e,H=e.headers.has("custom-proxy-check")||O===fe;if(O&&e.url.startsWith(l.baseUrl)&&!H){let c=e.headers.set("Authorization",`Bearer ${O}`);r&&r!=="en-US"&&(c=c.set("X-Ui-Language",p)),D=e.clone({headers:c})}return t(D).pipe(S(c=>{if(c.type===4&&c.status===200&&w){let f=c.body;if(f?.Success===!1)throw{status:200,message:f?.Error??"Unknown error",error:{Error:f?.Error??"Unknown error"},requestBody:f}}return c}),B(c=>{let f=c.error?.Error||`Error Code: ${c.status}, Message: ${c.message}`;return!H&&(C&&c.status===404||g||y||u.error(f),m&&c.status===401&&(o.logout(),n.navigate(["/logout"])),!a&&!m&&c.status===401)?(V??=o.refreshToken().pipe(G()),V.pipe(R(()=>t(e.clone({headers:e.headers.set("Authorization",`Bearer ${o.token()}`)}))),T(()=>V=null))):F(()=>({error:c,message:f}))}))};var xe="1.0.0",ke=`portal-proxy-client-${P()}`,Le=1,N=class e{#o=1e3;#s=s(h);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=Q(()=>{let t=this.#i(),o=this.#l(),n=this.#a();if(!n||!t||!o||o<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(t){let o=Uint8Array.from(atob(t),i=>i.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(t,o){let n=o?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(t),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=l=>{let r=JSON.parse(l.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let p={token:t,publicKey:"",clientVersion:xe,protocolVersion:Le},a=this.createResponse(r,"authportal",p);this.#t.set("welcome"),this.#e?.send(a)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let p=this.#p.pop();p&&this.#r[p.messageId]&&this.activateCommand(p)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let p=this.#r[r.messageId];if(p){if(r.errorMessage){p.reject(r.errorMessage);return}else{let a=JSON.parse(r.payload??"");a.body=a?.body==null?null:this.utf8Atob(a.body),p.resolve(a)}delete this.#r[r.messageId],window.clearTimeout(p.timer)}}})}disconnectFromMachineServer(t=null){t&&console.error(t),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(t,o,n){let i={from:ke,to:t.from,type:o,messageId:t.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(t,o,n,i,l,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(t),new Promise((p,a)=>{let m=P(),g={from:ke,to:o,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,requestBody:l,headers:r})},y={resolve:p,reject:a,timer:window.setTimeout(()=>{let w=this.#r[m];w&&(delete this.#r[m],w.reject("Timeout"))},u)};this.#r[m]=y,this.#n()?this.activateCommand(g):this.#p.push(g)})}activateCommand(t){this.#e?.send(JSON.stringify(t))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})};function Pe(e){if(typeof e!="string")return null;let o=new TextEncoder().encode(e);return window.btoa(String.fromCharCode(...o))}function Ie(e,t,o){let n=e.relayconfigState.config();if(n===null)return o(t);let i=Pe(t.body),l={};t.headers.keys().forEach(a=>{l[a]=t.headers.get(a)??""});let r=t.headers.get("timeout"),u=r!==null?parseInt(r):e.defaultTimeout;t.url.startsWith("/api/v1/serverstate")&&t.url.includes("longpoll=true")&&(u=1e3*99);let p=e.relayWebsocket.sendCommand(n.accessToken,n.clientId,t.method,t.url,i,l,u);return new j(a=>{p.then(m=>{let C=new te;l!=null&&Object.keys(l).forEach(y=>{C.set(y,l[y])});let g=new oe({body:m.body,status:m.code,statusText:"OK",headers:C});a.next(g),a.complete()}).catch(m=>{a.error(new ne({error:m??"Unknown error",status:0,statusText:m??"Unknown error"}))})})}var Ee=(e,t)=>{let o={relayconfigState:s(v),defaultTimeout:s(h).defaultTimeout,relayWebsocket:s(N)},n=o.relayconfigState.config();if(o.relayconfigState.configLoaded!==null&&n===null){let i=new U;return o.relayconfigState.configLoaded.subscribe(l=>{l&&Ie(o,e,t).subscribe(i)}),i}return Ie(o,e,t)};var Ae={providers:[q(),ce(Te,le()),re(ie(),se([Ee,Me])),b,{provide:h,useValue:we},{provide:X,useValue:Se()},{provide:me,useValue:{alertVariant:"simple"}},ge,I,ye,Z,he,Y,be,ve]};ee(E,Ae);