@duplicati/ngclient 0.0.130 → 0.0.132

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 (190) hide show
  1. package/chunk-2ASDVUFT.js +1 -0
  2. package/chunk-2W4JV5JL.js +1 -0
  3. package/{chunk-LWIINXS7.js → chunk-2YHX57UE.js} +1 -1
  4. package/chunk-33FTKAPW.js +1 -0
  5. package/chunk-3NGXNVFE.js +1 -0
  6. package/{chunk-DLJSVAM2.js → chunk-3Q5JEF3K.js} +1 -1
  7. package/chunk-3TKRL3US.js +1 -0
  8. package/chunk-3UMUFU7J.js +1 -0
  9. package/chunk-4IODEYNF.js +1 -0
  10. package/{chunk-A6RETV76.js → chunk-4JHY2ZIQ.js} +1 -1
  11. package/chunk-52WBX72O.js +2 -0
  12. package/chunk-53F47EOA.js +1 -0
  13. package/chunk-5CUMYXCI.js +1 -0
  14. package/{chunk-HZQEM2P7.js → chunk-5CYNJ3KI.js} +1 -1
  15. package/chunk-5ER6KMMG.js +1 -0
  16. package/{chunk-4V45XF67.js → chunk-5RPDEEQ3.js} +1 -1
  17. package/chunk-67XQIEG5.js +1 -0
  18. package/chunk-67YRCRMI.js +7 -0
  19. package/chunk-6FOROLCM.js +3 -0
  20. package/chunk-6HRKFGKD.js +1 -0
  21. package/chunk-6XD3ZTV3.js +1 -0
  22. package/chunk-AKQVOUES.js +1 -0
  23. package/chunk-AUWIW323.js +1 -0
  24. package/chunk-BSRYIN2F.js +1 -0
  25. package/{chunk-M7A6IY7W.js → chunk-BTTHW7KA.js} +1 -1
  26. package/chunk-D4QBTQXT.js +1 -0
  27. package/{chunk-QUOBR5MG.js → chunk-DLVU5GHR.js} +1 -1
  28. package/chunk-DQM3ATT4.js +1 -0
  29. package/chunk-DSRTEY6R.js +1 -0
  30. package/chunk-DXX4SHGM.js +1 -0
  31. package/chunk-DXY7PV4P.js +1 -0
  32. package/chunk-EKL346XU.js +1 -0
  33. package/chunk-ENGSZPK6.js +1 -0
  34. package/chunk-EUDKD2JW.js +1 -0
  35. package/chunk-EW3XN62R.js +1 -0
  36. package/chunk-F47NJAFQ.js +1 -0
  37. package/{chunk-WBCTOQOO.js → chunk-FBULENUD.js} +1 -1
  38. package/chunk-FC45TEB6.js +1 -0
  39. package/{chunk-T3WJQ544.js → chunk-FJ2TDPI3.js} +1 -1
  40. package/chunk-FQAHXSGY.js +1 -0
  41. package/chunk-FX2XKS5C.js +1 -0
  42. package/chunk-GP2W7XZF.js +1 -0
  43. package/chunk-GXCMYX2K.js +1 -0
  44. package/chunk-HJQBTK5I.js +1 -0
  45. package/{chunk-GQGMGFDX.js → chunk-HPZ6HLJE.js} +1 -1
  46. package/{chunk-S75WBVE3.js → chunk-IVP5ZHDB.js} +1 -1
  47. package/{chunk-TCEYGZ6D.js → chunk-J64ETWKB.js} +2 -2
  48. package/chunk-JADCKIQ4.js +1 -0
  49. package/{chunk-KPH4ZAFT.js → chunk-L6BZ6TEU.js} +1 -1
  50. package/chunk-LGC2UEAO.js +1 -0
  51. package/chunk-LLV2UR7Z.js +1 -0
  52. package/chunk-M65WTTXI.js +1 -0
  53. package/chunk-MAHKEFZE.js +1 -0
  54. package/chunk-NKYXZEX2.js +1 -0
  55. package/chunk-NPPD4I4N.js +1 -0
  56. package/chunk-NQVDTTCD.js +6 -0
  57. package/chunk-NVMLEB3O.js +1 -0
  58. package/chunk-O4HSW7GI.js +56 -0
  59. package/chunk-OQHMS5HM.js +1 -0
  60. package/{chunk-HAATVFD4.js → chunk-PL2MNRTA.js} +1 -1
  61. package/chunk-PTDOM6EA.js +1 -0
  62. package/chunk-Q6YWYUN4.js +2 -0
  63. package/chunk-QB3BX6FC.js +1 -0
  64. package/chunk-RIMBSV7X.js +1 -0
  65. package/chunk-RNYYB7Z7.js +1 -0
  66. package/{chunk-SF5ML7OT.js → chunk-T3KWCIYP.js} +1 -1
  67. package/chunk-TKOD3RB3.js +2 -0
  68. package/chunk-TQPOMS6Q.js +1 -0
  69. package/{chunk-XUPWJEL7.js → chunk-U44OBOIE.js} +1 -1
  70. package/chunk-UEX6XU6A.js +1 -0
  71. package/chunk-ULGBY3HN.js +2 -0
  72. package/chunk-UXQ6EH3H.js +1 -0
  73. package/chunk-WIDMAJIO.js +1 -0
  74. package/chunk-WYY5FAMC.js +1 -0
  75. package/{chunk-OQPUBCLB.js → chunk-WZIEF5KL.js} +1 -1
  76. package/chunk-X7GQQCVS.js +1 -0
  77. package/chunk-XD6MBGQY.js +2 -0
  78. package/chunk-XH2AUUSU.js +1 -0
  79. package/chunk-XLVTJGQW.js +1 -0
  80. package/chunk-ZCT7SRIM.js +1 -0
  81. package/{chunk-PFZ7N6QO.js → chunk-ZF3UEKWP.js} +1 -1
  82. package/chunk-ZJQCMD5B.js +1 -0
  83. package/chunk-ZXT5JBAK.js +1 -0
  84. package/index.html +2 -2
  85. package/main-MG43J5KN.js +1 -0
  86. package/package.json +1 -1
  87. package/polyfills-COBLRUJG.js +1 -0
  88. package/styles-YRN2WTKF.css +1 -0
  89. package/chunk-4KE2I7OA.js +0 -7
  90. package/chunk-4PFSFVY6.js +0 -1
  91. package/chunk-5FTLFTEB.js +0 -1
  92. package/chunk-5LL2GNEZ.js +0 -1
  93. package/chunk-5S46PDX2.js +0 -2
  94. package/chunk-6LCXRM3A.js +0 -1
  95. package/chunk-74DADXEI.js +0 -1
  96. package/chunk-77O3NTSI.js +0 -1
  97. package/chunk-7CGTOI24.js +0 -1
  98. package/chunk-7XUQAQXF.js +0 -1
  99. package/chunk-A2ITER5E.js +0 -1
  100. package/chunk-AACOYUOE.js +0 -1
  101. package/chunk-ABANCAM5.js +0 -1
  102. package/chunk-AIKD43P2.js +0 -1
  103. package/chunk-AOXPIWSW.js +0 -1
  104. package/chunk-APVPH7MJ.js +0 -1
  105. package/chunk-B37C3RGG.js +0 -1
  106. package/chunk-BI4O7WRG.js +0 -1
  107. package/chunk-BLKMQJR5.js +0 -1
  108. package/chunk-BMMOMXWX.js +0 -6
  109. package/chunk-BRR5YAJ3.js +0 -1
  110. package/chunk-BUZTB5NB.js +0 -1
  111. package/chunk-BZCM226U.js +0 -1
  112. package/chunk-C44Q3YIF.js +0 -1
  113. package/chunk-CTTB3CC2.js +0 -1
  114. package/chunk-CZATLVNN.js +0 -1
  115. package/chunk-DSS4UZWD.js +0 -1
  116. package/chunk-DUQHFE6L.js +0 -1
  117. package/chunk-DWAT342U.js +0 -1
  118. package/chunk-DYTQQHMA.js +0 -1
  119. package/chunk-EBXJGPRA.js +0 -1
  120. package/chunk-FEYAUW6J.js +0 -1
  121. package/chunk-GQCUCL25.js +0 -1
  122. package/chunk-GUKBMCIX.js +0 -1
  123. package/chunk-H5MGVT7B.js +0 -1
  124. package/chunk-HBYWSSYK.js +0 -1
  125. package/chunk-HIW2CN45.js +0 -1
  126. package/chunk-HTTPTGMU.js +0 -1
  127. package/chunk-IQTQJ64J.js +0 -2
  128. package/chunk-IVGY6D4N.js +0 -56
  129. package/chunk-JMQGVDAK.js +0 -1
  130. package/chunk-LUKUBN2Z.js +0 -1
  131. package/chunk-LZXYGCPQ.js +0 -1
  132. package/chunk-MES3HY3J.js +0 -1
  133. package/chunk-MNE4XQ7S.js +0 -1
  134. package/chunk-MZZJNTYI.js +0 -1
  135. package/chunk-N5FH4YAX.js +0 -2
  136. package/chunk-NZXQIYE5.js +0 -4
  137. package/chunk-PG4O7JZ2.js +0 -1
  138. package/chunk-QLHQ5NDE.js +0 -1
  139. package/chunk-QMFHJSCY.js +0 -1
  140. package/chunk-QNXSBZTY.js +0 -1
  141. package/chunk-QQAATZNB.js +0 -1
  142. package/chunk-T7QZL5YJ.js +0 -2
  143. package/chunk-U7YVVKGQ.js +0 -1
  144. package/chunk-UEYPJIJG.js +0 -1
  145. package/chunk-VAR5LIG7.js +0 -2
  146. package/chunk-VN4TP2ED.js +0 -1
  147. package/chunk-WRKRV6RQ.js +0 -1
  148. package/chunk-X4XF46C3.js +0 -1
  149. package/chunk-ZQ4ACNVT.js +0 -3
  150. package/chunk-ZWC5VRTB.js +0 -1
  151. package/chunk-ZY4E4VC3.js +0 -1
  152. package/locale/angular/cs.mjs +0 -21
  153. package/locale/angular/da.mjs +0 -17
  154. package/locale/angular/de.mjs +0 -17
  155. package/locale/angular/en-GB.mjs +0 -17
  156. package/locale/angular/es.mjs +0 -19
  157. package/locale/angular/extra/cs.mjs +0 -11
  158. package/locale/angular/extra/da.mjs +0 -11
  159. package/locale/angular/extra/de.mjs +0 -11
  160. package/locale/angular/extra/en-GB.mjs +0 -11
  161. package/locale/angular/extra/es.mjs +0 -11
  162. package/locale/angular/extra/fi.mjs +0 -11
  163. package/locale/angular/extra/fr.mjs +0 -11
  164. package/locale/angular/extra/hu.mjs +0 -11
  165. package/locale/angular/extra/it.mjs +0 -11
  166. package/locale/angular/extra/ja.mjs +0 -11
  167. package/locale/angular/extra/nl.mjs +0 -11
  168. package/locale/angular/extra/pl.mjs +0 -11
  169. package/locale/angular/extra/pt.mjs +0 -11
  170. package/locale/angular/extra/ru.mjs +0 -11
  171. package/locale/angular/extra/sr.mjs +0 -11
  172. package/locale/angular/extra/sv.mjs +0 -11
  173. package/locale/angular/extra/zh-Hans.mjs +0 -11
  174. package/locale/angular/extra/zh-Hant.mjs +0 -11
  175. package/locale/angular/fi.mjs +0 -17
  176. package/locale/angular/fr.mjs +0 -19
  177. package/locale/angular/hu.mjs +0 -17
  178. package/locale/angular/it.mjs +0 -19
  179. package/locale/angular/ja.mjs +0 -15
  180. package/locale/angular/nl.mjs +0 -17
  181. package/locale/angular/pl.mjs +0 -21
  182. package/locale/angular/pt.mjs +0 -19
  183. package/locale/angular/ru.mjs +0 -21
  184. package/locale/angular/sr.mjs +0 -19
  185. package/locale/angular/sv.mjs +0 -17
  186. package/locale/angular/zh-Hans.mjs +0 -15
  187. package/locale/angular/zh-Hant.mjs +0 -15
  188. package/main-WENCV2S5.js +0 -1
  189. package/polyfills-6QHLTIIN.js +0 -1
  190. package/styles-6RBLRF5E.css +0 -1
@@ -0,0 +1 @@
1
+ import{a as Le,b as Re}from"./chunk-UEX6XU6A.js";import{a as $e}from"./chunk-PL2MNRTA.js";import{a as x}from"./chunk-BTTHW7KA.js";import"./chunk-FBULENUD.js";import{a as fe}from"./chunk-T3KWCIYP.js";import"./chunk-5CYNJ3KI.js";import"./chunk-FC45TEB6.js";import"./chunk-RHW5QVAY.js";import"./chunk-2YHX57UE.js";import"./chunk-3Q5JEF3K.js";import{a as Ie}from"./chunk-IVP5ZHDB.js";import{c as Pe,d as Oe,e as he,i as De,r as ke,s as Ne,t as Me}from"./chunk-ZCT7SRIM.js";import{b as de,d as Ee}from"./chunk-OQHMS5HM.js";import{c as ce,e as pe,f as ue}from"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import{C as Te,a as M,b as G,c as Se,e as ge,g as w,k as Fe,l as Ae,n as Ce,u as me}from"./chunk-5ER6KMMG.js";import{h as H}from"./chunk-XD6MBGQY.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import{Bb as f,F as V,Fc as re,Gc as j,Hb as p,Ib as u,Jb as O,Kc as le,Mb as R,Mc as _e,Nb as g,Oa as r,Ob as c,Oc as Q,Wb as ne,X as A,Xb as oe,_a as N,_b as v,ac as $,ba as C,bc as F,ca as m,cc as X,dc as K,gc as z,hc as W,ic as q,jc as ie,kc as se,la as E,lc as y,pb as d,qb as S,qc as ae,rb as Z,sb as ee,tb as te,ub as h,vb as s,wb as i,xb as l}from"./chunk-67YRCRMI.js";import{a as Y,b as B}from"./chunk-EUDKD2JW.js";var Ge=["scroller"];function we(n,o){n&1&&(s(0,"spk-icon"),F(1,"bell-ringing"),i())}function He(n,o){n&1&&(s(0,"spk-icon"),F(1,"bell"),i())}function xe(n,o){if(n&1&&l(0,"app-notification",8),n&2){c(2);let e=y(6);h("index",0)("notification",e.content)}}function Ue(n,o){if(n&1&&(s(0,"div",11),F(1),i()),n&2){c(3);let e=y(6);r(),K(" ",e.content.content," ")}}function Ye(n,o){if(n&1&&(s(0,"spk-alert")(1,"div",10),F(2),i(),d(3,Ue,2,1,"div",11),i()),n&2){c(2);let e=y(6);$(e.content.type||"error"),r(2),X(e.content.title),r(),S(e.content.content?3:-1)}}function Be(n,o){if(n&1&&(s(0,"div",6),d(1,xe,1,2,"app-notification",8)(2,Ye,4,4,"spk-alert",9),i()),n&2){c();let e=y(6);r(),S(e.type==="notification"?1:2)}}function Ve(n,o){if(n&1){let e=f();s(0,"div",7)(1,"div",12)(2,"h6",13),p(3,2),s(4,"button",5),g("click",function(){C(e);let a=c();return m(a.toggleNotifications())}),l(5,"spk-icon"),i(),u(),i(),s(6,"div",14,0)(8,"div",15),l(9,"app-notifications"),i()()()()}}function Xe(n,o){if(n&1&&(s(0,"div",20),F(1),i()),n&2){let e=c().$implicit;r(),K(" ",e.content," ")}}function Ke(n,o){if(n&1){let e=f();s(0,"spk-alert",18,1),g("click",function(){let a=C(e).$implicit,_=c(2);return m(_.deleteAlertByIndex(a.id))}),s(2,"div",19),F(3),i(),d(4,Xe,2,1,"div",20),i()}if(n&2){let e=o.$implicit;$(e.type),h("id",e.id),r(3),X(e.title),r(),S(e.content?4:-1)}}function ze(n,o){n&1&&(s(0,"p",17),O(1,4),i())}function We(n,o){if(n&1){let e=f();s(0,"div",7)(1,"div",12)(2,"h6",13),p(3,3),s(4,"button",5),g("click",function(){C(e);let a=c();return m(a.toggleAlerts())}),l(5,"spk-icon"),i(),u(),i(),s(6,"div",14,0)(8,"div",15),ee(9,Ke,5,5,"spk-alert",16,Z,!1,ze,2,0,"p",17),i()()()()}if(n&2){let e=c();r(9),te(e.alertHistory())}}var ye=new ke,b=class n{#e=A(Se);#t=A(x);isSubmitting=E(!1);messageSent=E(!1);form=ye.group({message:ye.control("",[Oe.required])});notifications=this.#t.notifications;shownMessage=E(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=re(()=>this.alertHistory().filter(o=>o.isOpen).length);scroller=_e("scroller");isAlertsOpen=Q(!1);isNotificationsOpen=Q(!1);previousHistoryCount=E(null);previousNotificationsCount=E(null);constructor(){j(()=>{let o=this.alertHistory(),e=this.notifications();if(e.length===0){this.shownMessage.set(null);return}e.length&&this.previousHistoryCount()!==o.length&&!this.isNotificationsOpen()?(this.shownMessage.set({content:e[0],countDown:3,type:"notification"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>B(Y({},a),{countDown:a.countDown-1}))},1e3)):o.length&&this.previousHistoryCount()!==o.length&&!this.isAlertsOpen()&&(this.shownMessage.set({content:o[0],countDown:3,type:"alert"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>B(Y({},a),{countDown:a.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(o){this.#e.removeAlert(o)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&ne(t.scroller,Ge,5),e&2&&oe()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:10,vars:9,consts:()=>{let o;o=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],o,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],[3,"index","notification"],[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[1,"no-alerts"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){if(e&1){let a=f();s(0,"button",5),g("click",function(){return C(a),m(t.toggleAlerts())}),s(1,"spk-icon"),F(2,"info"),i()(),s(3,"button",5),g("click",function(){return C(a),m(t.toggleNotifications())}),d(4,we,2,0,"spk-icon")(5,He,2,0,"spk-icon"),i(),ie(6),d(7,Be,3,1,"div",6),d(8,Ve,10,0,"div",7),d(9,We,12,1,"div",7)}if(e&2){$(t.alertHistory().length?"error":""),r(3),$(t.notifications().length?"error":""),r(),S(t.notifications().length?4:5),r(2);let a=se(t.shownMessage());r(),S(a?7:-1),r(),S(t.isNotificationsOpen()?8:-1),r(),S(t.isAlertsOpen()?9:-1)}},dependencies:[Me,G,M,w,Re,Le],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:15.625rem}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.no-alerts[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"],changeDetection:0})};function qe(n,o){n&1&&(s(0,"spk-icon",14),F(1,"check"),i())}function je(n,o){n&1&&(s(0,"spk-icon",15),F(1,"prohibit"),i())}function Qe(n,o){if(n&1){let e=f();s(0,"button",20),g("click",function(){C(e);let a=c();return m(a.updatePassphrase())}),O(1,5),i()}if(n&2){let e=c();v("loader",e.isUpdating())}}function Je(n,o){if(n&1){let e=f();s(0,"button",21),g("click",function(){C(e);let a=c();return m(a.updatePassphrase())}),O(1,6),i()}if(n&2){let e=c();v("loader",e.isUpdating()),h("disabled",!0)}}var U=class n{#e=A(H);closed=le();isUpdating=E(!1);passphrase=E("");repeatPassphrase=E("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let o;o=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let _;_=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,_=R(_);let D;D=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let I;I=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let T;return T=$localize` Yes, update passphrase now `,[a,_,D,k,I,L,T,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",o,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["spk-button","","spkTooltip",t,1,"raised","primary",3,"loader","disabled"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","","spkTooltip",t,1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),O(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),l(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),O(10,2),i(),s(11,"input",11),q("ngModelChange",function(_){return W(t.passphrase,_)||(t.passphrase=_),_}),i()(),s(12,"spk-form-field")(13,"label",12),O(14,3),i(),s(15,"input",13),q("ngModelChange",function(_){return W(t.repeatPassphrase,_)||(t.repeatPassphrase=_),_}),i(),d(16,qe,2,0,"spk-icon",14)(17,je,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),g("click",function(){return t.cancel()}),O(20,4),i(),d(21,Qe,2,2,"button",18)(22,Je,2,3,"button",19),i()),e&2&&(r(11),z("ngModel",t.passphrase),r(4),h("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),r(),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),r(3),v("loader",t.isUpdating()),r(2),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[Ne,Pe,he,De,G,Ae,M,Te],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var Ze=()=>({exact:!0});function et(n,o){n&1&&(s(0,"spk-icon"),F(1,"sun"),i())}function tt(n,o){n&1&&(s(0,"spk-icon"),F(1,"moon"),i())}function nt(n,o){if(n&1){let e=f();s(0,"button",22),g("click",function(){C(e);let a=c();return m(a.changeDefaultClientTo("ngax"))}),p(1,7),l(2,"spk-icon"),u(),i(),s(3,"button",22),g("click",function(){C(e);let a=c();return m(a.logout())}),p(4,8),l(5,"spk-icon"),u(),i()}}var J=class n{#e=A($e);#t=A(H);#n=A(fe);#o=A(de);#i=A(ge);#s=A(x);#a=A(Ee);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:o=>{let e=o["autogenerated-passphrase"]==="True",t=o["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(U,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(o){this.#r(o),window.location.replace(`/${o}`)}logout(){this.#a.logout()}#r(o){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+o+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let o;o=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let _;_=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let D;D=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,D=R(D);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=R(k);let I;I=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Use old UI `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[o,e,t,a,_,D,k,I,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-1","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],[1,"base-1l","primary"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),l(3,"app-logo"),s(4,"button",10),g("click",function(){return t.toggleBodyClass()}),d(5,et,2,0,"spk-icon")(6,tt,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),l(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),l(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),l(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),l(19,"spk-icon"),u(),i()(),l(20,"div",16),s(21,"spk-list",17),d(22,nt,6,0),l(23,"spk-divider"),s(24,"button",18),p(25,4),l(26,"spk-icon"),u(),i(),s(27,"a",19),p(28,5),l(29,"spk-icon")(30,"spk-icon",20),u(),i(),s(31,"a",21),p(32,6),l(33,"spk-icon")(34,"spk-icon",20),u(),i()()(),l(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(r(5),S(t.isDarkMode()?5:6),r(3),h("routerLinkActiveOptions",ae(3,Ze)),r(14),S(t.relayIsEnabled()?-1:22))},dependencies:[ce,pe,ue,me,M,Ce,w,Fe,b,Ie],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;gap:.75rem}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{J as default};
@@ -0,0 +1 @@
1
+ import{g as D}from"./chunk-6XD3ZTV3.js";import{a as X}from"./chunk-FJ2TDPI3.js";import{h as x}from"./chunk-53F47EOA.js";import"./chunk-XLVTJGQW.js";import"./chunk-4JHY2ZIQ.js";import"./chunk-5RPDEEQ3.js";import{a as g}from"./chunk-67XQIEG5.js";import"./chunk-FBULENUD.js";import"./chunk-T3KWCIYP.js";import"./chunk-5CYNJ3KI.js";import"./chunk-FC45TEB6.js";import"./chunk-RHW5QVAY.js";import"./chunk-2YHX57UE.js";import"./chunk-3Q5JEF3K.js";import"./chunk-ZCT7SRIM.js";import"./chunk-OQHMS5HM.js";import{a as I,b as G,c as W,d as h,e as y,f as v}from"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import{q as w,v as K}from"./chunk-5ER6KMMG.js";import"./chunk-XD6MBGQY.js";import"./chunk-HPZ6HLJE.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import"./chunk-DLVU5GHR.js";import{Gc as N,Hb as _,Ib as F,Oa as l,Ob as E,X as c,_a as $,_b as L,la as A,pb as O,pc as M,qb as k,qc as T,rc as R,ub as r,vb as t,wb as n,xb as a}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";var b=()=>["/restore-from-files/destination"],z=()=>["/restore-from-files/encryption"],B=()=>["/restore-from-files/select-files"],U=()=>["/restore-from-files/options"],j=e=>["/restore-draft",e,"select-files"],H=e=>["/restore-draft",e,"options"],V=e=>["/restore",e,"select-files"],q=e=>["/restore",e,"options"],J=e=>["/restore",e,"progress"];function Q(e,i){e&1&&(t(0,"div",9),_(1,0),a(2,"spk-radio"),F(),n(),t(3,"div",9),_(4,1),a(5,"spk-radio"),F(),n(),t(6,"div",9),_(7,2),a(8,"spk-radio"),F(),n(),t(9,"div",9),_(10,3),a(11,"spk-radio"),F(),n()),e&2&&(r("routerLink",T(4,b)),l(3),r("routerLink",T(5,z)),l(3),r("routerLink",T(6,B)),l(3),r("routerLink",T(7,U)))}function Y(e,i){if(e&1&&(t(0,"div",9),_(1,4),a(2,"spk-radio"),F(),n(),t(3,"div",9),_(4,5),a(5,"spk-radio"),F(),n()),e&2){let o=E();r("routerLink",R(2,j,o.backupId())),l(3),r("routerLink",R(4,H,o.backupId()))}}function Z(e,i){if(e&1&&(t(0,"div",9),_(1,6),a(2,"spk-radio"),F(),n(),t(3,"div",9),_(4,7),a(5,"spk-radio"),F(),n()),e&2){let o=E();r("routerLink",R(2,V,o.backupId())),l(3),r("routerLink",R(4,q,o.backupId()))}}function ee(e,i){if(e&1&&(t(0,"div",9),_(1,8),a(2,"spk-radio"),F(),n()),e&2){let o=E();r("routerLink",R(1,J,o.backupId()))}}var f=class e{#o=c(G);#t=c(h);#e=c(D);#n=g(this.#o.params);#i=g(this.#o.url);#a=g(this.#o.children[0].url);backupId=this.#e.backupId;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;isProgressPage=A(!1);paramsChanged=N(()=>{let i=this.#a(),o=this.#n()?.id,s=!!this.#i()?.find(S=>S.path==="restore-draft"),p=!!this.#i()?.find(S=>S.path==="restore-from-files"),u=!!i?.find(S=>S.path==="progress");this.isProgressPage.set(u),this.#e.init(o,p,p||s)});ngOnInit(){this.#t.events.subscribe(i=>{if(i instanceof I){let o=i.urlAfterRedirects;this.isProgressPage.set(o.includes("progress"))}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=$({type:e,selectors:[["app-restore-flow"]],hostVars:2,hostBindings:function(o,s){o&2&&L("full-width",s.isProgressPage())},features:[M([D,x])],decls:8,vars:2,consts:()=>{let i;i=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let o;o=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Encryption `;let s;s=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let p;p=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let u;u=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let S;S=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let P;P=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let C;C=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let m;return m=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Progress `,[i,o,s,p,u,S,P,C,m,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(o,s){o&1&&(a(0,"app-status-bar"),t(1,"spk-stepper"),O(2,Q,12,8)(3,Y,6,6)(4,Z,6,6),O(5,ee,3,3,"div",9),n(),t(6,"section"),a(7,"router-outlet"),n()),o&2&&(l(2),k(s.isFileRestore()?2:s.isDraft()?3:4),l(3),k(s.isProgressPage()?5:-1))},dependencies:[K,w,X,W,y,v],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{f as default};
@@ -0,0 +1 @@
1
+ import{a as k}from"./chunk-FJ2TDPI3.js";import"./chunk-FBULENUD.js";import"./chunk-T3KWCIYP.js";import"./chunk-5CYNJ3KI.js";import"./chunk-FC45TEB6.js";import"./chunk-RHW5QVAY.js";import"./chunk-2YHX57UE.js";import"./chunk-3Q5JEF3K.js";import"./chunk-ZCT7SRIM.js";import"./chunk-OQHMS5HM.js";import{e as S}from"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import{a as T,g as M,h as f}from"./chunk-5ER6KMMG.js";import"./chunk-XD6MBGQY.js";import"./chunk-HPZ6HLJE.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import"./chunk-DLVU5GHR.js";import{Hb as s,Ib as l,Jb as i,Oa as r,_a as D,qc as d,ub as c,vb as e,wb as n,xb as _}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";var E=()=>["/backup/new"],F=()=>["/backup/import"],u=class C{static \u0275fac=function(t){return new(t||C)};static \u0275cmp=D({type:C,selectors:[["app-add-backup"]],decls:23,vars:4,consts:()=>{let a;a=$localize`Add a new backup`;let t;t=$localize`New backup`;let p;p=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let A;A=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let g;g=$localize`Import from file`;let m;m=$localize`Import backup configuration from a file. During import you can adjust the setings.`;let P;return P=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[a,t,p,A,g,m,P,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["spk-button","",1,"raised","primary",3,"routerLink"]]},template:function(t,p){t&1&&(_(0,"app-status-bar"),e(1,"section")(2,"h2"),i(3,0),n(),e(4,"div",7)(5,"spk-card",8),_(6,"img",9),e(7,"h3"),i(8,1),n(),e(9,"p"),i(10,2),n(),e(11,"button",10),s(12,3),_(13,"spk-icon"),l(),n()(),e(14,"spk-card",8),_(15,"img",9),e(16,"h3"),i(17,4),n(),e(18,"p"),i(19,5),n(),e(20,"button",10),s(21,6),_(22,"spk-icon"),l(),n()()()()),t&2&&(r(11),c("routerLink",d(2,E)),r(9),c("routerLink",d(3,F)))},dependencies:[k,M,f,T,S],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:43.75rem}spk-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}spk-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:18.75rem}spk-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"],changeDetection:0})};export{u as default};
@@ -0,0 +1 @@
1
+ import{c as P,e as v,f as L,j as w,o as V,q as x,r as X,t as U}from"./chunk-ZCT7SRIM.js";import{d as A,e as I}from"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import{B,a as y,c as b,g as h,l as $}from"./chunk-5ER6KMMG.js";import{h as G}from"./chunk-XD6MBGQY.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import{F as g,Hb as C,Ib as E,Jb as f,Mb as O,N as T,Nb as m,Oa as F,X as u,_a as R,_b as k,bc as N,la as p,pb as S,qb as D,qc as M,ub as c,vb as i,wb as r,xb as _}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";var j=()=>["/"];function z(l,e){l&1&&(i(0,"spk-form-field")(1,"label",11),f(2,2),r(),_(3,"input",12),r())}var a=new X,d=class l{#t=u(b);#e=u(G);#o=u(A);isRestoring=p(!1);isSecureFile=p(!1);importForm=a.group({config:a.control(""),cmdline:a.control(!1),importMetadata:a.control(!1),direct:a.control(!1),passphrase:a.control("")});selectedFile=p(null);onFileDropped(e){let t=e.target?.files?.item(0);if(t){let n=new FileReader;this.isSecureFile.set(t.type!=="application/json"),n.onload=this.#n.bind(this),n.readAsArrayBuffer(t)}}#n(e){let o=e.target?.result;this.importForm.patchValue({config:this.#r(o)})}#r(e){let o=new Uint8Array(e),t=o.byteLength,n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o[s]);return btoa(n)}submit(){this.isRestoring.set(!0),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(e=>{let t={Backup:e.data.Backup};return this.#e.postApiV1Backups({requestBody:t,temporary:!0})}),g(()=>this.isRestoring.set(!1))).subscribe({next:e=>{this.#o.navigate(["/restore-draft",e.ID])},error:e=>{this.#t.error(e.message)}})}static \u0275fac=function(o){return new(o||l)};static \u0275cmp=R({type:l,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let e;e=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,e=O(e);let o;o=$localize`Select a configuration file`;let t;return t=$localize`Passphrase`,[e,o,t,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["spkDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(o,t){o&1&&(i(0,"header")(1,"h3"),C(2,0),i(3,"div",3)(4,"button",4),_(5,"spk-icon"),r(),i(6,"button",5),m("click",function(){return t.submit()}),_(7,"spk-icon"),r()(),E(),r()(),i(8,"form",6)(9,"spk-form-field",7),m("fileDropped",function(s){return t.onFileDropped(s)}),i(10,"label",8),f(11,1),r(),i(12,"input",9),m("change",function(s){return t.onFileDropped(s)}),r(),i(13,"spk-icon",10),N(14,"upload"),r()(),S(15,z,4,0,"spk-form-field"),r()),o&2&&(F(4),c("routerLink",M(6,j)),F(2),k("loader",t.isRestoring()),c("disabled",t.isRestoring()),F(2),c("formGroup",t.importForm),F(7),D(t.isSecureFile()?15:-1))},dependencies:[U,w,P,v,L,V,x,I,B,$,y,h],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}"],changeDetection:0})};export{d as default};
@@ -0,0 +1 @@
1
+ var k=Object.defineProperty,l=Object.defineProperties;var m=Object.getOwnPropertyDescriptors;var e=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;var j=a=>{throw TypeError(a)};var g=(a,b,c)=>b in a?k(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c,n=(a,b)=>{for(var c in b||={})h.call(b,c)&&g(a,c,b[c]);if(e)for(var c of e(b))i.call(b,c)&&g(a,c,b[c]);return a},o=(a,b)=>l(a,m(b));var p=(a,b)=>{var c={};for(var d in a)h.call(a,d)&&b.indexOf(d)<0&&(c[d]=a[d]);if(a!=null&&e)for(var d of e(a))b.indexOf(d)<0&&i.call(a,d)&&(c[d]=a[d]);return c};var f=(a,b,c)=>b.has(a)||j("Cannot "+c);var q=(a,b,c)=>(f(a,b,"read from private field"),c?c.call(a):b.get(a)),r=(a,b,c)=>b.has(a)?j("Cannot add the same private member more than once"):b instanceof WeakSet?b.add(a):b.set(a,c),s=(a,b,c,d)=>(f(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),t=(a,b,c)=>(f(a,b,"access private method"),c);export{n as a,o as b,p as c,q as d,r as e,s as f,t as g};
@@ -0,0 +1 @@
1
+ import{$ as ba,A as C,Aa as Ia,B as D,Ba as Ja,C as E,Ca as Ka,D as F,Da as La,E as G,Ea as Ma,F as H,Fa as Na,G as I,Ga as Oa,H as J,Ha as Pa,I as K,J as L,K as M,L as N,M as O,N as P,O as Q,P as R,Q as S,R as T,S as U,T as V,U as W,V as X,W as Y,X as Z,Y as _,Z as $,_ as aa,a as c,aa as ca,b as d,ba as da,c as e,ca as ea,d as f,da as fa,e as g,ea as ga,f as h,fa as ha,g as i,ga as ia,h as j,ha as ja,i as k,ia as ka,j as l,ja as la,k as m,ka as ma,l as n,la as na,m as o,ma as oa,n as p,na as pa,o as q,oa as qa,p as r,pa as ra,q as s,qa as sa,r as t,ra as ta,s as u,sa as ua,t as v,ta as va,u as w,ua as wa,v as x,va as Da,w as y,wa as Ea,x as z,xa as Fa,y as A,ya as Ga,z as B,za as Ha}from"./chunk-GP2W7XZF.js";import{a as xa,b as ya,c as za,d as Aa,e as Ba,f as Ca}from"./chunk-WIDMAJIO.js";import{ga as a,ya as b}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";export{k as APP_BASE_HREF,ha as AsyncPipe,h as BrowserPlatformLocation,wa as CommonModule,ua as CurrencyPipe,ma as DATE_PIPE_DEFAULT_OPTIONS,la as DATE_PIPE_DEFAULT_TIMEZONE,a as DOCUMENT,na as DatePipe,sa as DecimalPipe,q as FormStyle,s as FormatWidth,n as HashLocationStrategy,oa as I18nPluralPipe,pa as I18nSelectPipe,b as IMAGE_CONFIG,Ia as IMAGE_LOADER,qa as JsonPipe,ra as KeyValuePipe,g as LOCATION_INITIALIZED,m as Location,j as LocationStrategy,ia as LowerCasePipe,W as NgClass,X as NgComponentOutlet,Z as NgFor,Z as NgForOf,Y as NgForOfContext,_ as NgIf,$ as NgIfContext,V as NgLocaleLocalization,U as NgLocalization,Pa as NgOptimizedImage,da as NgPlural,ea as NgPluralCase,fa as NgStyle,aa as NgSwitch,ba as NgSwitchCase,ca as NgSwitchDefault,ga as NgTemplateOutlet,o as NumberFormatStyle,t as NumberSymbol,Oa as PRECONNECT_CHECK_BLOCKLIST,l as PathLocationStrategy,ta as PercentPipe,f as PlatformLocation,p as Plural,va as SlicePipe,ja as TitleCasePipe,r as TranslationWidth,ka as UpperCasePipe,Fa as VERSION,Ga as ViewportScroller,u as WeekDay,Ca as XhrFactory,R as formatCurrency,Q as formatDate,T as formatNumber,S as formatPercent,O as getCurrencySymbol,J as getLocaleCurrencyCode,I as getLocaleCurrencyName,H as getLocaleCurrencySymbol,C as getLocaleDateFormat,E as getLocaleDateTimeFormat,x as getLocaleDayNames,w as getLocaleDayPeriods,N as getLocaleDirection,z as getLocaleEraNames,L as getLocaleExtraDayPeriodRules,M as getLocaleExtraDayPeriods,A as getLocaleFirstDayOfWeek,v as getLocaleId,y as getLocaleMonthNames,G as getLocaleNumberFormat,F as getLocaleNumberSymbol,K as getLocalePluralCase,D as getLocaleTimeFormat,B as getLocaleWeekEndRange,P as getNumberOfCurrencyDigits,Aa as isPlatformBrowser,Ba as isPlatformServer,Ja as provideCloudflareLoader,Ka as provideCloudinaryLoader,La as provideImageKitLoader,Ma as provideImgixLoader,Na as provideNetlifyLoader,Ea as registerLocaleData,e as \u0275DomAdapter,Ha as \u0275NullViewportScroller,ya as \u0275PLATFORM_BROWSER_ID,za as \u0275PLATFORM_SERVER_ID,Da as \u0275PlatformNavigation,c as \u0275getDOM,i as \u0275normalizeQueryParams,xa as \u0275parseCookieValue,d as \u0275setRootDomAdapter};
@@ -0,0 +1 @@
1
+ import{a as Q}from"./chunk-IVP5ZHDB.js";import{c as F,d as G,e as T,f as A,j as R,o as D,q,r as V,t as $}from"./chunk-ZCT7SRIM.js";import{d as x}from"./chunk-OQHMS5HM.js";import{d as N}from"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import{a as I,b as k,g as O,l as P}from"./chunk-5ER6KMMG.js";import"./chunk-XD6MBGQY.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import{Bb as y,F as c,Gc as E,Mc as M,Nb as L,Oa as m,Wb as S,X as l,Xb as v,_a as h,_b as b,ba as g,bc as r,ca as f,la as p,pb as C,qb as _,ub as w,vb as o,wb as i,xb as a}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";var z=["passwordInput"];function B(s,e){s&1&&(o(0,"spk-alert",2),r(1," Remember to enter a password, if you can't remember the password open the duplicati client on the machine in question and make sure you open it through the tray icon then go into settings to change the password. "),i())}var u=new V,d=class s{#e=l(N);#t=l(x);failedLogin=p(!1);isLoading=p(!1);loginForm=u.group({user:u.control(""),pass:u.control("",G.required)});passwordInput=M("passwordInput");passwordEffect=E(()=>{this.failedLogin()&&queueMicrotask(()=>this.passwordInput()?.nativeElement?.focus())});ngOnInit(){queueMicrotask(()=>this.passwordInput()?.nativeElement?.focus())}submit(){let e=this.loginForm.value.pass;this.loginForm.value.user||e&&(this.isLoading.set(!0),this.#t.login(e).pipe(c(()=>{this.isLoading.set(!1),this.failedLogin.set(!0)})).subscribe({next:()=>this.#e.navigate(["/"])}))}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=h({type:s,selectors:[["app-login"]],viewQuery:function(t,n){t&1&&S(n.passwordInput,z,5),t&2&&v()},decls:18,vars:4,consts:()=>{let e;return e=$localize`Enter your password`,[["passwordInput",""],[3,"submit","formGroup"],["type","warning"],[1,"logo-login"],[1,"login-row"],["type","text","hidden","","autocomplete","off","name","username","formControlName","user"],["for","password"],["href","https://docs.duplicati.com/detailed-descriptions/duplicati-access-password","target","_blank","rel","noopener noreferrer"],["type","password","name","password","autocomplete","current-password","placeholder",e,"tabindex","1","formControlName","pass"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(t,n){if(t&1){let j=y();o(0,"form",1),L("submit",function(){return g(j),f(n.submit())}),C(1,B,2,0,"spk-alert",2),o(2,"div",3),a(3,"app-logo"),i(),o(4,"div",4),a(5,"input",5),o(6,"spk-form-field")(7,"label",6),r(8," Password "),o(9,"a",7)(10,"spk-icon"),r(11,"question"),i()()(),a(12,"input",8,0),i(),o(14,"button",9),r(15," Login "),o(16,"spk-icon"),r(17,"arrow-right"),i()()()()}t&2&&(w("formGroup",n.loginForm),m(),_(n.failedLogin()?1:-1),m(13),b("loader",n.isLoading()))},dependencies:[$,R,F,T,A,D,q,Q,P,I,O,k],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}spk-alert[_ngcontent-%COMP%]{max-width:20rem;margin:0 auto}h3[_ngcontent-%COMP%]{font:var(--title-30)}.login-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.logo-login[_ngcontent-%COMP%]{top:0;left:0;padding:1.25rem;position:fixed}"],changeDetection:0})};export{d as default};
@@ -1 +1 @@
1
- import{a as $}from"./chunk-SF5ML7OT.js";import{a as z}from"./chunk-HZQEM2P7.js";import{a as _}from"./chunk-LUKUBN2Z.js";import{a as R}from"./chunk-LWIINXS7.js";import{a as B}from"./chunk-DLJSVAM2.js";import{e as S}from"./chunk-H5MGVT7B.js";import{h as P}from"./chunk-N5FH4YAX.js";import{F as u,N as d,Qc as c,Rc as f,T as m,Z as s,n as k,r as h,va as n}from"./chunk-4KE2I7OA.js";import{a as l,b as r}from"./chunk-7CGTOI24.js";var T={Backup_Begin:$localize`Starting backup …`,Backup_PreBackupVerify:$localize`Verifying backend data …`,Backup_PostBackupTest:$localize`Verifying remote data …`,Backup_PreviousBackupFinalize:$localize`Completing previous backup …`,Backup_ProcessingFiles:$localize`Processing files to backup …`,Backup_Finalize:$localize`Completing backup …`,Backup_WaitForUpload:$localize`Waiting for upload to finish …`,Backup_Delete:$localize`Deleting unwanted files …`,Backup_Compact:$localize`Compacting remote data …`,Backup_VerificationUpload:$localize`Uploading verification file …`,Backup_PostBackupVerify:$localize`Verifying backend data …`,Backup_Complete:$localize`Backup complete!`,Restore_Begin:$localize`Starting restore …`,Restore_RecreateDatabase:$localize`Rebuilding local database …`,Restore_PreRestoreVerify:$localize`Verifying remote data …`,Restore_CreateFileList:$localize`Building list of files to restore …`,Restore_CreateTargetFolders:$localize`Creating target folders …`,Restore_ScanForExistingFiles:$localize`Scanning existing files …`,Restore_ScanForLocalBlocks:$localize`Scanning for local blocks …`,Restore_PatchWithLocalBlocks:$localize`Patching files with local blocks …`,Restore_DownloadingRemoteFiles:$localize`Downloading files …`,Restore_PostRestoreVerify:$localize`Verifying restored files …`,Restore_Complete:$localize`Restore complete!`,Recreate_Running:$localize`Recreating database …`,Vacuum_Running:$localize`Vacuuming database …`,Repair_Running:$localize`Repairing database …`,Verify_Running:$localize`Verifying files …`,BugReport_Running:$localize`Creating bug report …`,Delete_Listing:$localize`Listing remote files …`,Delete_Deleting:$localize`Deleting remote files …`,"PurgeFiles_Begin,":$localize`Listing remote files for purge …`,"PurgeFiles_Process,":$localize`Purging files …`,"PurgeFiles_Compact,":$localize`Compacting remote data …`,"PurgeFiles_Complete,":$localize`Purging files complete!`,Error:$localize`Error!`},b=class p{#i=s(B);#t=s(P);#o=s($);#e=s(z);#c=s(S);#p=s(R);#s=n(!1);#l=n(null);statusData=this.#l.asReadonly();lastState=null;serverState=c(()=>{let e=this.#e.serverState();return e?(e.ProposedSchedule=e.ProposedSchedule?.map(i=>r(l({},i),{backup:i.Item1?this.#o.getBackupById(i.Item1):null})),this.lastState=e,e):this.lastState});hasProgressOnWebsocket=c(()=>this.#p.hasProgressSubscribeOption()&&this.#e.getConnectionMethod()==="websocket");clientIsRunning=c(()=>this.serverState()?.ProgramState==="Running");isResuming=n(!1);isFetching=this.#s.asReadonly();connectionStatus=this.#e.connectionStatus;pollingInterval;#f=f(()=>{let e=this.#e.serverState();e?.ActiveTask||this.#o.getBackups(!0),this.hasProgressOnWebsocket()&&(this.#e.subscribe("progress"),this.#e.subscribe("taskqueue")),e?.ActiveTask&&this.pollingInterval===void 0?this.startPollingProgress():e?.ActiveTask||this.stopPollingProgress()});#k=f(()=>{let e=this.#e.progressState(),i=this.#e.taskQueueState();if(e){let t=i?.find(o=>o.ID===e.TaskID)??null;this.#a(r(l({},e),{task:t}))}});setConnectionMethod(e){this.#e.setConnectionMethod(e)}startPollingProgress(){this.hasProgressOnWebsocket()?this.#e.subscribe("progress"):this.pollingInterval=setInterval(()=>{this.#r()},1e3)}stopPollingProgress(){clearInterval(this.pollingInterval)}fetchProgressState(){this.#r()}pauseResume(){return this.isResuming.set(!0),this.#t.postApiV1ServerstateResume().pipe(u(()=>this.isResuming.set(!1)))}resumeDialogCheck(e){if(!this.clientIsRunning()){this.#c.open(_,{data:{title:$localize`Server paused`,message:$localize`Server is currently paused. Do you want to resume now?`,confirmText:$localize`Resume`,cancelText:$localize`No, I'll resume later`},closed:i=>{i&&this.pauseResume().subscribe({next:()=>{e()}})}});return}e()}#r(){this.#s.set(!0),this.#t.getApiV1Progressstate().pipe(d(e=>{let i=e.TaskID??null;return i===null?k(e):this.#t.getApiV1TaskByTaskid({taskid:i}).pipe(h(t=>r(l({},e),{task:t??null})))}),u(()=>this.#s.set(!1))).subscribe({next:e=>{this.#a(e),e.task?.Status==="Completed"&&this.stopPollingProgress()},error:e=>{e.status===404&&this.stopPollingProgress()}})}#a(e){let i=e.TaskID??null,t=e.BackupID??null;i!==null&&t!==null&&(e.backup=this.#o.getBackupById(t)),this.#l.set(r(l({},e),{progress:this.#g(e),statusText:this.#u(e),actionText:e.backup?.Backup?.Name??$localize`Running task`}))}#g(e){let i=-1;if(e.task&&e)if(e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=0;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t;i=(e.ProcessedFileSize+t)/e.TotalFileSize,e.ProcessedFileCount===0?i=0:i>=.9&&(i=.9)}else e.Phase==="Backup_Finalize"||e.Phase==="Backup_WaitForUpload"?i=.9:e.Phase==="Backup_Delete"||e.Phase==="Backup_Compact"?i=.95:e.Phase==="Backup_VerificationUpload"||e.Phase==="Backup_PostBackupVerify"?i=.98:e.Phase==="Backup_Complete"?i=1:e.OverallProgress>0&&(i=e.OverallProgress);return i}#n(e){let i=(e.ActiveTransfers??[]).map(o=>o.BackendSpeed).reduce((o,a)=>(o??0)+(a??0),0)??-1,t=i<=0?e.BackendSpeed:i;return(t??-1)<0?"":` at ${this.#i.transform(t)}/s`}#u(e){let i="Running \u2026";if(e.task&&e){if(i=e.Phase?T[e.Phase]:"Running \u2026",e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=`Counting (${e.TotalFileCount} files found, ${this.#i.transform(e.TotalFileSize)})`;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t,F=e.Phase==="Restore_DownloadingRemoteFiles"?"Restoring: ":"",g=this.#n(e);e.Phase==="Backup_ProcessingFiles"&&o===0?i=`Completing upload ${g}`:e.BackendIsBlocking??!1?i=`Waiting for transfers ${g}`:i=`${F}${o} files (${this.#i.transform(a)}) to go ${g}`}else if(e.Phase==="Backup_WaitForUpload"){let t=this.#n(e);t!==""&&(i=`Waiting for upload to finish ${t}`)}}return i}static \u0275fac=function(i){return new(i||p)};static \u0275prov=m({token:p,factory:p.\u0275fac,providedIn:"root"})};export{b as a};
1
+ import{a as $}from"./chunk-T3KWCIYP.js";import{a as z}from"./chunk-5CYNJ3KI.js";import{a as _}from"./chunk-FC45TEB6.js";import{a as R}from"./chunk-2YHX57UE.js";import{a as B}from"./chunk-3Q5JEF3K.js";import{e as S}from"./chunk-5ER6KMMG.js";import{h as P}from"./chunk-XD6MBGQY.js";import{F as u,Fc as c,Gc as f,N as d,S as m,X as s,la as n,n as k,r as h}from"./chunk-67YRCRMI.js";import{a as l,b as r}from"./chunk-EUDKD2JW.js";var T={Backup_Begin:$localize`Starting backup …`,Backup_PreBackupVerify:$localize`Verifying backend data …`,Backup_PostBackupTest:$localize`Verifying remote data …`,Backup_PreviousBackupFinalize:$localize`Completing previous backup …`,Backup_ProcessingFiles:$localize`Processing files to backup …`,Backup_Finalize:$localize`Completing backup …`,Backup_WaitForUpload:$localize`Waiting for upload to finish …`,Backup_Delete:$localize`Deleting unwanted files …`,Backup_Compact:$localize`Compacting remote data …`,Backup_VerificationUpload:$localize`Uploading verification file …`,Backup_PostBackupVerify:$localize`Verifying backend data …`,Backup_Complete:$localize`Backup complete!`,Restore_Begin:$localize`Starting restore …`,Restore_RecreateDatabase:$localize`Rebuilding local database …`,Restore_PreRestoreVerify:$localize`Verifying remote data …`,Restore_CreateFileList:$localize`Building list of files to restore …`,Restore_CreateTargetFolders:$localize`Creating target folders …`,Restore_ScanForExistingFiles:$localize`Scanning existing files …`,Restore_ScanForLocalBlocks:$localize`Scanning for local blocks …`,Restore_PatchWithLocalBlocks:$localize`Patching files with local blocks …`,Restore_DownloadingRemoteFiles:$localize`Downloading files …`,Restore_PostRestoreVerify:$localize`Verifying restored files …`,Restore_Complete:$localize`Restore complete!`,Recreate_Running:$localize`Recreating database …`,Vacuum_Running:$localize`Vacuuming database …`,Repair_Running:$localize`Repairing database …`,Verify_Running:$localize`Verifying files …`,BugReport_Running:$localize`Creating bug report …`,Delete_Listing:$localize`Listing remote files …`,Delete_Deleting:$localize`Deleting remote files …`,"PurgeFiles_Begin,":$localize`Listing remote files for purge …`,"PurgeFiles_Process,":$localize`Purging files …`,"PurgeFiles_Compact,":$localize`Compacting remote data …`,"PurgeFiles_Complete,":$localize`Purging files complete!`,Error:$localize`Error!`},b=class p{#i=s(B);#t=s(P);#o=s($);#e=s(z);#c=s(S);#p=s(R);#s=n(!1);#l=n(null);statusData=this.#l.asReadonly();lastState=null;serverState=c(()=>{let e=this.#e.serverState();return e?(e.ProposedSchedule=e.ProposedSchedule?.map(i=>r(l({},i),{backup:i.Item1?this.#o.getBackupById(i.Item1):null})),this.lastState=e,e):this.lastState});hasProgressOnWebsocket=c(()=>this.#p.hasProgressSubscribeOption()&&this.#e.getConnectionMethod()==="websocket");clientIsRunning=c(()=>this.serverState()?.ProgramState==="Running");isResuming=n(!1);isFetching=this.#s.asReadonly();connectionStatus=this.#e.connectionStatus;pollingInterval;#f=f(()=>{let e=this.#e.serverState();e?.ActiveTask||this.#o.getBackups(!0),this.hasProgressOnWebsocket()&&(this.#e.subscribe("progress"),this.#e.subscribe("taskqueue")),e?.ActiveTask&&this.pollingInterval===void 0?this.startPollingProgress():e?.ActiveTask||this.stopPollingProgress()});#k=f(()=>{let e=this.#e.progressState(),i=this.#e.taskQueueState();if(e){let t=i?.find(o=>o.ID===e.TaskID)??null;this.#a(r(l({},e),{task:t}))}});setConnectionMethod(e){this.#e.setConnectionMethod(e)}startPollingProgress(){this.hasProgressOnWebsocket()?this.#e.subscribe("progress"):this.pollingInterval=setInterval(()=>{this.#r()},1e3)}stopPollingProgress(){clearInterval(this.pollingInterval)}fetchProgressState(){this.#r()}pauseResume(){return this.isResuming.set(!0),this.#t.postApiV1ServerstateResume().pipe(u(()=>this.isResuming.set(!1)))}resumeDialogCheck(e){if(!this.clientIsRunning()){this.#c.open(_,{data:{title:$localize`Server paused`,message:$localize`Server is currently paused. Do you want to resume now?`,confirmText:$localize`Resume`,cancelText:$localize`No, I'll resume later`},closed:i=>{i&&this.pauseResume().subscribe({next:()=>{e()}})}});return}e()}#r(){this.#s.set(!0),this.#t.getApiV1Progressstate().pipe(d(e=>{let i=e.TaskID??null;return i===null?k(e):this.#t.getApiV1TaskByTaskid({taskid:i}).pipe(h(t=>r(l({},e),{task:t??null})))}),u(()=>this.#s.set(!1))).subscribe({next:e=>{this.#a(e),e.task?.Status==="Completed"&&this.stopPollingProgress()},error:e=>{e.status===404&&this.stopPollingProgress()}})}#a(e){let i=e.TaskID??null,t=e.BackupID??null;i!==null&&t!==null&&(e.backup=this.#o.getBackupById(t)),this.#l.set(r(l({},e),{progress:this.#g(e),statusText:this.#u(e),actionText:e.backup?.Backup?.Name??$localize`Running task`}))}#g(e){let i=-1;if(e.task&&e)if(e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=0;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t;i=(e.ProcessedFileSize+t)/e.TotalFileSize,e.ProcessedFileCount===0?i=0:i>=.9&&(i=.9)}else e.Phase==="Backup_Finalize"||e.Phase==="Backup_WaitForUpload"?i=.9:e.Phase==="Backup_Delete"||e.Phase==="Backup_Compact"?i=.95:e.Phase==="Backup_VerificationUpload"||e.Phase==="Backup_PostBackupVerify"?i=.98:e.Phase==="Backup_Complete"?i=1:e.OverallProgress>0&&(i=e.OverallProgress);return i}#n(e){let i=(e.ActiveTransfers??[]).map(o=>o.BackendSpeed).reduce((o,a)=>(o??0)+(a??0),0)??-1,t=i<=0?e.BackendSpeed:i;return(t??-1)<0?"":` at ${this.#i.transform(t)}/s`}#u(e){let i="Running \u2026";if(e.task&&e){if(i=e.Phase?T[e.Phase]:"Running \u2026",e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=`Counting (${e.TotalFileCount} files found, ${this.#i.transform(e.TotalFileSize)})`;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t,F=e.Phase==="Restore_DownloadingRemoteFiles"?"Restoring: ":"",g=this.#n(e);e.Phase==="Backup_ProcessingFiles"&&o===0?i=`Completing upload ${g}`:e.BackendIsBlocking??!1?i=`Waiting for transfers ${g}`:i=`${F}${o} files (${this.#i.transform(a)}) to go ${g}`}else if(e.Phase==="Backup_WaitForUpload"){let t=this.#n(e);t!==""&&(i=`Waiting for upload to finish ${t}`)}}return i}static \u0275fac=function(i){return new(i||p)};static \u0275prov=m({token:p,factory:p.\u0275fac,providedIn:"root"})};export{b as a};
@@ -0,0 +1 @@
1
+ import{Bb as u,Fc as D,Kc as T,Lc as b,Nb as x,Oa as n,Ob as l,_a as g,ba as C,bc as r,ca as _,cc as m,pb as s,qb as d,vb as i,wb as o}from"./chunk-67YRCRMI.js";import{a as f}from"./chunk-EUDKD2JW.js";function v(e,a){if(e&1&&(i(0,"p"),r(1),o()),e&2){let t=l();n(),m(t._data().message)}}function y(e,a){if(e&1){let t=u();i(0,"button",5),x("click",function(){C(t);let p=l();return _(p.close("cancel"))}),r(1),o()}if(e&2){let t=l();n(),m(t._data().cancelText)}}function h(e,a){if(e&1){let t=u();i(0,"button",6),x("click",function(){C(t);let p=l();return _(p.close("confirm"))}),r(1),o()}if(e&2){let t=l();n(),m(t._data().confirmText)}}var w={title:$localize`Are you sure?`,confirmText:void 0,cancelText:$localize`Cancel`},k=class e{data=b();_data=D(()=>f(f({},w),this.data()));closed=T();close(a="confirm"){this.closed.emit(a==="confirm")}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=g({type:e,selectors:[["app-confirm-dialog"]],inputs:{data:[1,"data"]},outputs:{closed:"closed"},decls:8,vars:4,consts:[["header",""],["content",""],["footer",""],["spk-button","",1,""],["spk-button","",1,"raised","primary"],["spk-button","",1,"",3,"click"],["spk-button","",1,"raised","primary",3,"click"]],template:function(t,c){t&1&&(i(0,"header",0)(1,"h3"),r(2),o()(),i(3,"div",1),s(4,v,2,1,"p"),o(),i(5,"footer",2),s(6,y,2,1,"button",3),s(7,h,2,1,"button",4),o()),t&2&&(n(2),m(c._data().title),n(2),d(c._data().message?4:-1),n(2),d(c._data().cancelText?6:-1),n(),d(c._data().confirmText?7:-1))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{k as a};
@@ -1 +1 @@
1
- import{a as Ce}from"./chunk-WBCTOQOO.js";import{a as ge}from"./chunk-SF5ML7OT.js";import{a as me}from"./chunk-HZQEM2P7.js";import{a as de}from"./chunk-LWIINXS7.js";import{c as Ee,e as Oe,h as fe,j as Ae,s as v}from"./chunk-ABANCAM5.js";import{b as oe}from"./chunk-B37C3RGG.js";import{a as ae,b as se,e as le,g as re,i as _e,l as pe,p as ue,q as Se,s as ce,t as Te}from"./chunk-H5MGVT7B.js";import{h as A}from"./chunk-N5FH4YAX.js";import{a as Pe}from"./chunk-GQGMGFDX.js";import{pa as ie}from"./chunk-EBXJGPRA.js";import{Ab as q,Ac as te,Bb as J,Bc as ne,Cb as Q,Db as s,Eb as l,F as L,Fb as C,Jb as k,Pb as E,Qb as O,Qc as y,Rb as u,Ua as r,Ub as ee,Vb as S,Wb as d,Z as T,ea as N,fa as M,gb as f,jc as g,lb as I,lc as $,mc as z,oc as h,pc as b,qc as B,ra as G,ub as D,va as c,vb as Z,wb as m,zb as R,zc as X}from"./chunk-4KE2I7OA.js";function ke(a,n){if(a&1){let i=k();s(0,"spk-radio",10),S("click",function(){let t=N(i).$implicit,o=d();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=d();m("active",e.pauseOption()===i.value),r(),$(" ",i.label," ")}}var he=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],x=class a{#e=T(A);pauseOptions=c(he);closed=G();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),u(2,0),l()(),s(3,"div",6)(4,"div",7),J(5,ke,2,3,"spk-radio",8,q),l(),s(7,"div",9)(8,"spk-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),u(9,1),l(),s(10,"spk-alert",11),u(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),u(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),u(16,4),l()()),i&2&&(r(5),Q(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[v,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},be=["mbps","gbps"],Ie=8,V=1024,w=V*1024,W=w*1024,Y=W*1024,De=Y*1024,Be={B:1,KB:V,MB:w,GB:W,TB:Y,PB:De},ye=1e3,K=ye*1e3,H=K*1e3,Ue=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:W,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:V,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],U=class a{#e=T(A);closed=G();isSubmitting=c(!1);sizeOptions=c([...be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(Be[i.toUpperCase()]||w)*Ie;return t===0?{value:0,unit:"mbps"}:t>=H?{value:parseFloat((t/H).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/K).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*H;break;case"mbps":e=n*K;break}let t=e/Ie;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of Ue)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(p.value),this.maxUploadUnit.set(p.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(p.value),this.maxDownloadUnit.set(p.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),F=Me[P];F?n=`${p}${F}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),F=Me[P];F?i=`${p}${F}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:p=>{console.error("Failed to submit throttle settings:",p)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),u(2,0),l(),s(3,"p"),u(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),u(9,2),l(),s(10,"spk-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"spk-select",10)(13,"input",11),B("ngModelChange",function(o){return b(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),u(16,3),l(),s(17,"spk-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"spk-select",10)(20,"input",11),B("ngModelChange",function(o){return b(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),u(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),u(25,5),l()()),i&2&&(r(11),h("ngModel",e.maxUpload),r(),D("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxUploadUnit),r(5),h("ngModel",e.maxDownload),r(),D("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[v,Ee,Ae,Oe,fe,pe,Te],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function Le(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"spk-progress-bar",11)),a&2){let i=d();r(),z("",i.statusData().actionText," - ",i.statusData().statusText,""),r(),D("value",i.statusData().progress*100)}}function Ge(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"spk-icon"),g(3,"clock"),l(),g(4),X(5,"relativeTime"),X(6,"date"),l()),a&2){let i,e=d();r(),$(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function $e(a,n){a&1&&(s(0,"div",7),u(1,1),l())}function ve(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"spk-spinner"),O(),l()),a&2&&(r(2),Z("--spinner-size","12px")("--spinner-thickness","2px"))}function xe(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.abort())}),E(1,3),C(2,"spk-icon"),O(),l()}}function we(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.stop())}),E(1,4),C(2,"spk-icon"),O(),l()}}function ze(a,n){if(a&1&&I(0,xe,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=d();R(i.isStopping()?0:1)}}function Xe(a,n){a&1&&(E(0,0,1),C(1,"spk-icon"),O())}function He(a,n){a&1&&(E(0,0,2),C(1,"spk-icon"),O())}var Re=new Date,j=class a{#e=T(A);#t=T(Ce);#n=T(le);#a=T(ge);#s=T(oe);#l=T(de);#i=T(me);minsAgo=Re.setMinutes(Re.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=y(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=y(()=>this.runningTask()==this.#o());#o=c(-1);pgState=y(()=>this.#i.serverState());nextBackup=y(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(U,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(x,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=ee(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"],["spk-button",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),I(2,Le,3,3)(3,Ge,7,8,"div",7)(4,$e,2,0,"div",7)(5,ve,3,4,"div",8),l(),s(6,"div",9),I(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),I(10,Xe,2,0)(11,He,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"spk-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),R((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),R(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),R(e.clientIsRunning()?10:11)}},dependencies:[ue,Pe,ie,ae,re,ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
1
+ import{a as Ce}from"./chunk-FBULENUD.js";import{a as ge}from"./chunk-T3KWCIYP.js";import{a as me}from"./chunk-5CYNJ3KI.js";import{a as de}from"./chunk-2YHX57UE.js";import{c as Ee,e as Oe,i as fe,k as Ae,s as v}from"./chunk-ZCT7SRIM.js";import{b as oe}from"./chunk-OQHMS5HM.js";import{a as ae,b as se,e as le,g as re,i as _e,l as pe,p as ue,q as Se,s as ce,t as Te}from"./chunk-5ER6KMMG.js";import{h as A}from"./chunk-XD6MBGQY.js";import{a as Pe}from"./chunk-HPZ6HLJE.js";import{la as ie}from"./chunk-GP2W7XZF.js";import{Bb as k,F as L,Fc as y,Hb as E,Ib as O,Jb as u,Kc as $,Mb as Q,Nb as S,Oa as r,Ob as d,X as T,Zb as ee,_a as f,_b as m,ba as N,bc as g,ca as M,dc as G,ec as z,gc as h,hc as b,ic as B,la as c,pb as I,qb as D,rb as Z,sb as q,tb as J,ub as R,uc as X,vb as s,vc as te,wb as l,wc as ne,xb as C}from"./chunk-67YRCRMI.js";function ke(a,n){if(a&1){let i=k();s(0,"spk-radio",10),S("click",function(){let t=N(i).$implicit,o=d();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=d();m("active",e.pauseOption()===i.value),r(),G(" ",i.label," ")}}var he=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],x=class a{#e=T(A);pauseOptions=c(he);closed=$();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),u(2,0),l()(),s(3,"div",6)(4,"div",7),q(5,ke,2,3,"spk-radio",8,Z),l(),s(7,"div",9)(8,"spk-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),u(9,1),l(),s(10,"spk-alert",11),u(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),u(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),u(16,4),l()()),i&2&&(r(5),J(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[v,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},be=["mbps","gbps"],Ie=8,V=1024,w=V*1024,W=w*1024,Y=W*1024,De=Y*1024,Be={B:1,KB:V,MB:w,GB:W,TB:Y,PB:De},ye=1e3,K=ye*1e3,H=K*1e3,Ue=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:W,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:V,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],U=class a{#e=T(A);closed=$();isSubmitting=c(!1);sizeOptions=c([...be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(Be[i.toUpperCase()]||w)*Ie;return t===0?{value:0,unit:"mbps"}:t>=H?{value:parseFloat((t/H).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/K).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*H;break;case"mbps":e=n*K;break}let t=e/Ie;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of Ue)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(p.value),this.maxUploadUnit.set(p.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(p.value),this.maxDownloadUnit.set(p.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),F=Me[P];F?n=`${p}${F}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),F=Me[P];F?i=`${p}${F}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:p=>{console.error("Failed to submit throttle settings:",p)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),u(2,0),l(),s(3,"p"),u(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),u(9,2),l(),s(10,"spk-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"spk-select",10)(13,"input",11),B("ngModelChange",function(o){return b(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),u(16,3),l(),s(17,"spk-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"spk-select",10)(20,"input",11),B("ngModelChange",function(o){return b(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),u(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),u(25,5),l()()),i&2&&(r(11),h("ngModel",e.maxUpload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxUploadUnit),r(5),h("ngModel",e.maxDownload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[v,Ee,Ae,Oe,fe,pe,Te],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function Le(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"spk-progress-bar",11)),a&2){let i=d();r(),z("",i.statusData().actionText," - ",i.statusData().statusText),r(),R("value",i.statusData().progress*100)}}function Ge(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"spk-icon"),g(3,"clock"),l(),g(4),X(5,"relativeTime"),X(6,"date"),l()),a&2){let i,e=d();r(),G(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function $e(a,n){a&1&&(s(0,"div",7),u(1,1),l())}function ve(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"spk-spinner"),O(),l()),a&2&&(r(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function xe(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.abort())}),E(1,3),C(2,"spk-icon"),O(),l()}}function we(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.stop())}),E(1,4),C(2,"spk-icon"),O(),l()}}function ze(a,n){if(a&1&&I(0,xe,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=d();D(i.isStopping()?0:1)}}function Xe(a,n){a&1&&(E(0,0,1),C(1,"spk-icon"),O())}function He(a,n){a&1&&(E(0,0,2),C(1,"spk-icon"),O())}var Re=new Date,j=class a{#e=T(A);#t=T(Ce);#n=T(le);#a=T(ge);#s=T(oe);#l=T(de);#i=T(me);minsAgo=Re.setMinutes(Re.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=y(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=y(()=>this.runningTask()==this.#o());#o=c(-1);pgState=y(()=>this.#i.serverState());nextBackup=y(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(U,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(x,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"],["spk-button",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),I(2,Le,3,3)(3,Ge,7,8,"div",7)(4,$e,2,0,"div",7)(5,ve,3,4,"div",8),l(),s(6,"div",9),I(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),I(10,Xe,2,0)(11,He,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"spk-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),D((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),D(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),D(e.clientIsRunning()?10:11)}},dependencies:[ue,Pe,ie,ae,re,ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
@@ -0,0 +1 @@
1
+ import{e as a,f as b}from"./chunk-6XD3ZTV3.js";import"./chunk-XLVTJGQW.js";import"./chunk-4JHY2ZIQ.js";import"./chunk-67XQIEG5.js";import"./chunk-FC45TEB6.js";import"./chunk-2YHX57UE.js";import"./chunk-ZCT7SRIM.js";import"./chunk-DQM3ATT4.js";import"./chunk-BSRYIN2F.js";import"./chunk-5ER6KMMG.js";import"./chunk-XD6MBGQY.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreSelectFilesForm,b as default};
@@ -0,0 +1 @@
1
+ import{a as h}from"./chunk-67XQIEG5.js";import{d as P,r as $}from"./chunk-ZCT7SRIM.js";import{h as O}from"./chunk-XD6MBGQY.js";import{S as F,X as b,la as C,r as f}from"./chunk-67YRCRMI.js";import{a}from"./chunk-EUDKD2JW.js";var g=class t{#t=b(O);s3Providers=h(this.getS3Config("Providers"));s3Regions=h(this.getS3Config("Regions"));s3RegionHosts=h(this.getS3Config("RegionHosts"));s3StorageClasses=h(this.getS3Config("StorageClasses"));storjSatellites=h(this.getStorjConfig("Satellites"));storjAuthenticationMethods=h(this.getStorjConfig("AuthenticationMethods"));openstackProviders=h(this.getOpenstackConfig("Providers"));openstackVersions=h(this.getOpenstackConfig("Versions"));gcsLocations=h(this.getGcsConfig("Locations"));gcsStorageClasses=h(this.getGcsConfig("StorageClasses"));getS3Config(e){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":e}}).pipe(f(r=>this.#e(r)))}createS3IamUser(e,r){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":e,"s3-password":r}})}createS3PolicyIAM(e){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:e}})}getStorjConfig(e){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":e}}).pipe(f(r=>this.#e(r)))}getOpenstackConfig(e){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":e}}).pipe(f(r=>this.#e(r)))}getGcsConfig(e){return this.#t.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":e}}).pipe(f(r=>this.#e(r)))}#e(e){return(e.Result&&typeof e.Result=="object"&&Object.entries(e.Result).map(([r,n])=>({key:r,value:n})))??[]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})};function S(t){return t==null||t===""?"":":"+t.toString()}function l(t){return t==null?"":t.startsWith("/")?t:"/"+t}function i(t,e){let r={},n={},s=k.find(p=>p.key===t);return e.searchParams.forEach((p,u)=>{s?.dynamicFields?.some(y=>y===u||y?.name===u)?n[u]=decodeURIComponent(p):r[u]=decodeURIComponent(p)}),{advanced:r,dynamic:n}}function c(t,e=!1){let r=t.map(([s,p])=>`${s}=${p?encodeURIComponent(p.toString()):""}`).join("&");return r?(e?"":"?")+r:""}function I(t){let e=t.destinationType,r=k.find(n=>n.customKey===e||n.key===e);if(!r)throw new Error("Invalid destination type");return r?.mapper.to(t)??""}function N(t){let e=URL.canParse(t),r=t.split("://")[0],n=t.split("://")[1],s="http://"+n;if(!n)return null;if(n.startsWith("%")&&r==="file")return k.find(p=>p.customKey===r||p.key===r)?.mapper.from(r,new URL("http://localhost"),t);try{let p=new URL(s);if(p.host==="undefined")return null;let u=n.split("?")[0].split("/")[0],d=!isNaN(Number(p.host.replaceAll(".",""))),y=u.split("."),v=y.length===4&&y.every(D=>D.length&&D.length<=3&&!isNaN(Number(D))&&parseInt(D)<=255);return d&&!v?null:k.find(D=>D.customKey===r||D.key===r)?.mapper.from(r,p,t)}catch{return null}if(!e)throw new Error("Invalid target path");return null}var o=new $,m={type:"error",message:$localize`Using double leading slashes is most likely wrong, and will result in objects being created with a leading slash in the name.`},k=[{key:"file",displayName:"File system",description:"Store backups on your local file system.",customFields:{path:{type:"FolderTree",name:"path",doubleSlash:m,shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>o.control(t??"")}},mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${e}`},from:(t,e,r)=>{let s=r.startsWith("file:///")?r.split("file:///")[1]:r.split("file://")[1],p=s.startsWith("%"),d=s.slice(1).startsWith(":\\")||p?s:"/"+s;return a({destinationType:t,custom:{path:d.split("?")[0]}},i(t,e))}}},{key:"ssh",displayName:"SSH",description:"Store backups in SSH.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>o.control(t??"",[P.required,P.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",doubleSlash:{type:"warning",message:$localize`Using double leading slashes makes the path absolute, pointing to the root of the filesystem.`},formElement:t=>o.control(t??"")}},dynamicFields:["auth-username"],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:"This is a path to a private key file locally on the machine",longDescription:"This is a path to a private key file locally on the machine"}],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:r,server:n,path:s}=t.custom;return`${t.destinationType}://${n+S(r)+l(s)+e}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"s3",displayName:"S3 Compatible",description:"Store backups in any S3 compatible bucket.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>o.control(t??"")},path:{type:"Path",name:"path",doubleSlash:m,shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"s3-server-name",shortDescription:"Server",type:"NonValidatedSelectableString",loadOptions:t=>t.get(g).s3Providers},"use-ssl","auth-username","auth-password"],advancedFields:[{name:"s3-client",type:"Enumeration",options:["aws","minio"]},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(g).s3StorageClasses}],mapper:{to:t=>{let{bucket:e,path:r}=t.custom,n=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e+l(r)+n}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.pathname,bucket:e.hostname}},i(t,e))}},{key:"gcs",displayName:"Google Cloud Storage",description:"Store backups in Google Cloud Storage.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:m,shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:t=>t.get(g).gcsLocations},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(g).gcsStorageClasses},"authid"],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${e}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"googledrive",displayName:"Google Drive",description:"Store backups in Google Drive.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:m,shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"authid",type:"Password"}],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"pcloud",displayName:"pCloud",description:"Store backups in pCloud.",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>C([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},path:{type:"Path",name:"path",doubleSlash:m,shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{server:r,path:n}=t.custom;return`${t.destinationType}://${r+l(n)+e}`},from:(t,e,r)=>{let n=e.pathname.replace(/^\//,"");return a({destinationType:t,custom:{server:e.hostname,path:n}},i(t,e))}}},{key:"azure",displayName:"Azure Blob Storage",description:"Store backups in Azure Blob Storage.",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Container name",longDescription:"Container name",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"onedrivev2",displayName:"OneDrive",description:"Store backups in OneDrive.",oauthField:"authid",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"od4b",displayName:"OneDrive Business",description:"Store backups in OneDrive Business.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:r,server:n,path:s}=t.custom;return`${t.destinationType}://${n+S(r)+l(s)+e}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"mssp",displayName:"Microsoft SharePoint",description:"Store backups in Microsoft SharePoint.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:r,server:n,path:s}=t.custom;return`${t.destinationType}://${n+S(r)+l(s)+e}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"sharepoint",displayName:"Microsoft SharePoint v2",description:"Store backups in Microsoft SharePoint.",oauthField:"authid",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"dropbox",displayName:"Dropbox",description:"Store backups in Dropbox.",oauthField:"authid",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"box",displayName:"Box.com",description:"Store backups in Box.com.",oauthField:"authid",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"jottacloud",displayName:"Jottacloud",description:"Store backups in Jottacloud.",oauthField:"authid",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"b2",displayName:"B2 Cloud Storage",description:"Store backups in B2 Cloud Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Application ID"},{name:"auth-password",shortDescription:"Application Key"}],mapper:{to:t=>{let{bucket:e,path:r}=t.custom,n=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e+l(r)+n}`},from:(t,e,r)=>a({destinationType:t,custom:{bucket:e.hostname,path:decodeURIComponent(e.pathname)}},i(t,e))}},{key:"e2",displayName:"IDrive e2",description:"Store backups in IDrive e2.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Access ID"},{name:"auth-password",shortDescription:"Access Secret"}],mapper:{to:t=>{let{bucket:e,path:r}=t.custom,n=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e+l(r)+n}`},from:(t,e,r)=>a({destinationType:t,custom:{bucket:e.hostname,path:e.pathname}},i(t,e))}},{key:"mega",displayName:"Mega.nz",description:"Store backups in Mega.nz.",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"msgroup",displayName:"Microsoft Office 365 Group",description:"Store backups in Microsoft Office 365 Group.",oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:"Group email",longDescription:"Group email",formElement:t=>o.control(t??"",[P.email])},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${e}${r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.hostname+e.pathname}},i(t,e))}},{key:"cloudfiles",displayName:"Rackspace CloudFiles",description:"Store backups in Rackspace CloudFiles.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:r,server:n,path:s}=t.custom;return`${t.destinationType}://${n+S(r)+l(s)+e}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"rclone",displayName:"Rclone",description:"Store backups in Rclone.",dynamicFields:[{name:"rclone-local-repository",shortDescription:"Local repository",defaultValue:""},{name:"rclone-remote-repository",shortDescription:"Remote repository",defaultValue:""},{name:"rclone-remote-path",shortDescription:"Path on remote repository",defaultValue:""}],mapper:{to:t=>{let e=t.dynamic["rclone-remote-repository"],r=t.dynamic["rclone-remote-path"],n=Object.entries(t.dynamic).filter(([p])=>!["rclone-remote-repository","rclone-remote-path"].includes(p)),s=c([...Object.entries(t.advanced),...n]);return`${t.destinationType}://${e}/${r+s}`},from:(t,e,r)=>{let{advanced:n,dynamic:s}=i(t,e);return a({destinationType:t,dynamic:a({"rclone-remote-repository":e.hostname,"rclone-remote-path":e.pathname},s)},n)}}},{key:"openstack",displayName:"OpenStack Object Storage",description:"Store backups in OpenStack Object Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket",longDescription:"Bucket",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"openstack-authuri",shortDescription:"Auth URI",type:"Enumeration",loadOptions:t=>t.get(g).openstackProviders},{name:"openstack-version",shortDescription:"Version",type:"Enumeration",loadOptions:t=>t.get(g).openstackVersions},{name:"openstack-domain-name",shortDescription:"Domain name"},{name:"openstack-tenant-name",shortDescription:"Tenant name"},{name:"openstack-region",shortDescription:"Region"}],mapper:{to:t=>{let e=c([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{bucket:r}=t.custom;return`${t.destinationType}://${r+e}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.pathname,bucket:e.hostname}},i(t,e))}},{key:"webdav",displayName:"WebDAV",description:"Store backups in WebDAV.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"},{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let{port:e,server:r,path:n}=t.custom,s=t.dynamic["use-ssl"],p=c([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([u])=>u!=="use-ssl")]);return`${t.destinationType}${s?"s":""}://${r+S(e)+l(n)+p}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"aftp",displayName:"FTP",description:"Store backups in FTP.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",doubleSlash:{type:"warning",message:$localize`Using double leading slashes makes the path absolute, pointing to the root of the filesystem.`},formElement:t=>o.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let{port:e,server:r,path:n}=t.custom,s=c([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([p])=>p!=="use-ssl")]);return`${t.destinationType}://${r+S(e)+l(n)+s}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"sia",displayName:"Sia Decentrilized Cloud",description:"Store backups in Sia Decentrilized Cloud.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:t=>{let e=t.custom.server,r=t.dynamic["sia-targetpath"],n=c([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([s])=>s!=="sia-targetpath")]);return`${t.destinationType}://${e+l(r)+n}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.pathname}},i(t,e))}},{key:"cos",displayName:"Tencent COS",description:"Store backups in Tencent COS.",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"cos-bucket",shortDescription:"Bucket",order:1},{name:"cos-region",shortDescription:"Region",order:2},{name:"cos-app-id",shortDescription:"COS App Id",order:3},{name:"cos-secret-id",shortDescription:"COS Secret Id",order:4},{name:"cos-secret-key",shortDescription:"COS Secret Key",order:5}],mapper:{to:t=>{let e=t.custom.path,r=c([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([n])=>n!=="cos-targetpath")]);return`${t.destinationType}://${e+r}`},from:(t,e,r)=>a({destinationType:t,custom:{path:e.pathname}},i(t,e))}},{key:"tahoe",displayName:"Tahoe LAFS",description:"Store backups in Tahoe LAFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"}],mapper:{to:t=>{let{port:e,server:r,path:n,username:s,password:p}=t.custom,u={"auth-username":s,"auth-password":p},d=t.dynamic["use-ssl"],y=c([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([v])=>v!=="use-ssl"),...Object.entries(u)]);return`${t.destinationType}${d?"s":""}://${r+S(e)+l(n)+y}`},from:(t,e,r)=>a({destinationType:t,custom:{server:e.hostname,port:e.port,path:e.pathname}},i(t,e))}},{key:"cifs",displayName:"CIFS",description:"Store backups in CIFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>o.control(t??"")},share:{type:"String",name:"share",shortDescription:"Share Name",longDescription:"Share Name",formElement:t=>o.control(t??"")},path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>o.control(t??"")}},dynamicFields:["transport","auth-username","auth-password","auth-domain"],mapper:{to:t=>{let{share:e,server:r,path:n,username:s,password:p}=t.custom,u={"auth-username":s,"auth-password":p},d=new Map([...Object.entries(u),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),y=c(Array.from(d));return`${t.destinationType}://${r+l(e)+l(n)+y}`},from:(t,e,r)=>{let n=e.pathname.split("/")[1],s=e.pathname.split("/").slice(2).join("/");return a({destinationType:t,custom:{server:e.hostname,share:n,path:s}},i(t,e))}}},{key:"filen",displayName:"Filen.io",description:"Store backups in Filen.io.",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on Filen",longDescription:"Path on Filen",formElement:t=>o.control(t??"")}},dynamicFields:["auth-username","auth-password"],mapper:{to:t=>{let{path:e,username:r,password:n}=t.custom,s={"auth-username":r,"auth-password":n},p=new Map([...Object.entries(s),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),u=c(Array.from(p));return`${t.destinationType}://${e+u}`},from:(t,e,r)=>{let n=e.hostname??"";return e.pathname&&n!==""&&e.pathname[0]!="/"&&(n+="/"),n+=e.pathname,a({destinationType:t,custom:{path:n}},i(t,e))}}},{key:"filejump",displayName:"Filejump",description:"Store backups in Filejump.",customFields:{path:{type:"String",name:"path",doubleSlash:m,shortDescription:"Path on Filejump",longDescription:"Path on Filejump",formElement:t=>o.control(t??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:"API Token",longDescription:"Filejump API Token",formElement:t=>o.control(t??"")}],mapper:{to:t=>{let{path:e,username:r,password:n,apitoken:s}=t.custom,p=(s||"").trim()===""?{"auth-username":r,"auth-password":n}:{"api-token":s},u=new Map([...Object.entries(p),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),d=c(Array.from(u));return`${t.destinationType}://${e+d}`},from:(t,e,r)=>{let n=e.hostname??"";return e.pathname&&n!==""&&e.pathname[0]!="/"&&(n+="/"),n+=e.pathname,a({destinationType:t,custom:{path:n}},i(t,e))}}},{key:"storj",customKey:"storjAccessGrant",displayName:"Storj Access Grant",description:"Store backups in Storj Access Grant.",dynamicFields:[{name:"storj-shared-access",shortDescription:"Access Grant"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server",doubleSlash:m}],mapper:{to:t=>`storj://storj.io/config?storj-auth-method=Access%20grant&storj-satellite=us1.storj.io%3A7777&storj-api-key&storj-secret&${c([...Object.entries(t.advanced),...Object.entries(t.dynamic)],!0)}`,from:(t,e,r)=>a({destinationType:t},i(t,e))}},{key:"storj",customKey:"storjApiKey",displayName:"Storj API Key",description:"Store backups in Storj API Key.",dynamicFields:[{name:"storj-satellite",shortDescription:"Satellite",type:"Enumeration",loadOptions:t=>t.get(g).storjSatellites},{name:"storj-api-key",shortDescription:"API Key"},{name:"storj-secret",shortDescription:"Secret"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server",doubleSlash:m}],mapper:{to:t=>`storj://storj.io/config?storj-auth-method=API%20key&${c([...Object.entries(t.advanced),...Object.entries(t.dynamic)],!0)}`,from:(t,e,r)=>a({destinationType:t},i(t,e))}}],H={".amazonaws.com":"Amazon S3",".mycloudyplace.com":"MyCloudyPlace S3",".impossibleapi.net":"Impossible Cloud S3",".scw.cloud":"Scaleway S3",".hosteurope.de":"Hosteurope S3",".dunkel.de":"Dunkel S3",".dreamhost.com":"DreamHost S3",".dincloud.com":"dinCloud S3",".polisystems.ch":"Poli Systems S3",".softlayer.net":"IBM COS (S3)",".storadera.com":"Storadera S3",".wasabisys.com":"Wasabi S3",".infomaniak.com":"Infomaniak S3",".infomaniak.cloud":"Infomaniak S3",".sakurastorage.jp":"\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 S3",".lyvecloud.seagate.com":"Seagate Lyve S3",".digitaloceanspaces.com":"DigitalOcean S3",".backblazeb2.com":"Backblaze B2 S3",".cloudian.com":"Cloudian S3",".min.io":"MinIO S3",".linodeobjects.com":"Linode S3",".bunnycdn.com":"BunnyCDN S3",".azure.com":"Microsoft Azure S3",".googleapis.com":"Google Cloud Storage S3",".ibm.com":"IBM Cloud S3",".oracle.com":"Oracle Cloud S3",".cloudflare.com":"Cloudflare S3",".alibaba.com":"Alibaba Cloud S3",".huawei.com":"Huawei Cloud S3",".tencent.com":"Tencent Cloud S3",".baidu.com":"Baidu Cloud S3",".jd.com":"JD Cloud S3",".ucloud.cn":"UCloud S3",".qiniu.com":"Qiniu Cloud S3",".aliyuncs.com":"Aliyun S3",".tcloud.com":"TCloud S3",".tencentcloudapi.com":"Tencent Cloud S3"};export{I as a,N as b,k as c,H as d};
@@ -0,0 +1 @@
1
+ import{$a as rt,Aa as Qe,Bc as x,Cb as at,Cc as lt,Db as F,Eb as ut,Ec as _e,Fb as ct,Gb as l,Pa as et,Pc as ft,Q as y,Qa as V,Qc as oe,Rc as ht,S,Sa as Y,Sc as be,T as Ye,Ta as u,Ua as k,Uc as K,V as P,Va as tt,Vc as ve,W as T,Wa as nt,X as _,Ya as it,Zb as dt,ab as b,bb as v,fa as Ke,ga as j,i as We,ib as st,ja as Xe,jb as ot,oa as Z,qa as qe,ra as W,xa as Je,ya as Se}from"./chunk-67YRCRMI.js";import{a as re,b as se}from"./chunk-EUDKD2JW.js";var pt=null;function ae(){return pt}function on(e){pt??=e}var Ie=class{},X=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:()=>_(mt),providedIn:"platform"})}return e})(),an=new P(""),mt=(()=>{class e extends X{_location;_history;_doc=_(j);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ae().getBaseHref(this._doc)}onPopState(t){let n=ae().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",t,!1),()=>n.removeEventListener("popstate",t)}onHashChange(t){let n=ae().getGlobalEventTarget(this._doc,"window");return n.addEventListener("hashchange",t,!1),()=>n.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,n,r){this._history.pushState(t,n,r)}replaceState(t,n,r){this._history.replaceState(t,n,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function ue(e,i){return e?i?e.endsWith("/")?i.startsWith("/")?e+i.slice(1):e+i:i.startsWith("/")?e+i:`${e}/${i}`:e:i}function gt(e){let i=e.search(/#|\?|$/);return e[i-1]==="/"?e.slice(0,i-1)+e.slice(i):e}function R(e){return e&&e[0]!=="?"?`?${e}`:e}var G=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:()=>_(Ct),providedIn:"root"})}return e})(),ce=new P(""),Ct=(()=>{class e extends G{_platformLocation;_baseHref;_removeListenerFns=[];constructor(t,n){super(),this._platformLocation=t,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??_(j).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return ue(this._baseHref,t)}path(t=!1){let n=this._platformLocation.pathname+R(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${n}${r}`:n}pushState(t,n,r,s){let o=this.prepareExternalUrl(r+R(s));this._platformLocation.pushState(t,n,o)}replaceState(t,n,r,s){let o=this.prepareExternalUrl(r+R(s));this._platformLocation.replaceState(t,n,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(n){return new(n||e)(T(X),T(ce,8))};static \u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ft=(()=>{class e{_subject=new We;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(t){this._locationStrategy=t;let n=this._locationStrategy.getBaseHref();this._basePath=dn(gt(Dt(n))),this._locationStrategy.onPopState(r=>{this._subject.next({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,n=""){return this.path()==this.normalize(t+R(n))}normalize(t){return e.stripTrailingSlash(cn(this._basePath,Dt(t)))}prepareExternalUrl(t){return t&&t[0]!=="/"&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,n="",r=null){this._locationStrategy.pushState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+R(n)),r)}replaceState(t,n="",r=null){this._locationStrategy.replaceState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+R(n)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(n=>{this._notifyUrlChangeListeners(n.url,n.state)}),()=>{let n=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(n,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",n){this._urlChangeListeners.forEach(r=>r(t,n))}subscribe(t,n,r){return this._subject.subscribe({next:t,error:n??void 0,complete:r??void 0})}static normalizeQueryParams=R;static joinWithSlash=ue;static stripTrailingSlash=gt;static \u0275fac=function(n){return new(n||e)(T(G))};static \u0275prov=S({token:e,factory:()=>un(),providedIn:"root"})}return e})();function un(){return new Ft(T(G))}function cn(e,i){if(!e||!i.startsWith(e))return i;let t=i.substring(e.length);return t===""||["/",";","?","#"].includes(t[0])?t:i}function Dt(e){return e.replace(/\/index.html$/,"")}function dn(e){if(new RegExp("^(https?:)?//").test(e)){let[,t]=e.split(/\/\/[^\/]+/);return t}return e}var fn=(()=>{class e extends G{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(t,n){super(),this._platformLocation=t,n!=null&&(this._baseHref=n)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let n=this._platformLocation.hash??"#";return n.length>0?n.substring(1):n}prepareExternalUrl(t){let n=ue(this._baseHref,t);return n.length>0?"#"+n:n}pushState(t,n,r,s){let o=this.prepareExternalUrl(r+R(s))||this._platformLocation.pathname;this._platformLocation.pushState(t,n,o)}replaceState(t,n,r,s){let o=this.prepareExternalUrl(r+R(s))||this._platformLocation.pathname;this._platformLocation.replaceState(t,n,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(n){return new(n||e)(T(X),T(ce,8))};static \u0275prov=S({token:e,factory:e.\u0275fac})}return e})(),It={ADP:[void 0,void 0,0],AFN:[void 0,"\u060B",0],ALL:[void 0,void 0,0],AMD:[void 0,"\u058F",2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],AZN:[void 0,"\u20BC"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"\u09F3"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,void 0,2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN\xA5","\xA5"],COP:[void 0,"$",2],CRC:[void 0,"\u20A1",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"K\u010D",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E\xA3"],ESP:[void 0,"\u20A7",0],EUR:["\u20AC"],FJD:[void 0,"$"],FKP:[void 0,"\xA3"],GBP:["\xA3"],GEL:[void 0,"\u20BE"],GHS:[void 0,"GH\u20B5"],GIP:[void 0,"\xA3"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["\u20AA"],INR:["\u20B9"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["\xA5",void 0,0],KHR:[void 0,"\u17DB"],KMF:[void 0,"CF",0],KPW:[void 0,"\u20A9",0],KRW:["\u20A9",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"\u20B8"],LAK:[void 0,"\u20AD",0],LBP:[void 0,"L\xA3",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"\u20AE",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"\u20A6"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:["\u20B1"],PKR:[void 0,"Rs",2],PLN:[void 0,"z\u0142"],PYG:[void 0,"\u20B2",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"\u20BD"],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"\xA3"],SLE:[void 0,void 0,2],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"\xA3"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"\xA3",0],THB:[void 0,"\u0E3F"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"\u20BA"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"\u20B4"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["\u20AB",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["F\u202FCFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["\xA4"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]},ne=function(e){return e[e.Decimal=0]="Decimal",e[e.Percent=1]="Percent",e[e.Currency=2]="Currency",e[e.Scientific=3]="Scientific",e}(ne||{}),U=function(e){return e[e.Zero=0]="Zero",e[e.One=1]="One",e[e.Two=2]="Two",e[e.Few=3]="Few",e[e.Many=4]="Many",e[e.Other=5]="Other",e}(U||{}),w=function(e){return e[e.Format=0]="Format",e[e.Standalone=1]="Standalone",e}(w||{}),d=function(e){return e[e.Narrow=0]="Narrow",e[e.Abbreviated=1]="Abbreviated",e[e.Wide=2]="Wide",e[e.Short=3]="Short",e}(d||{}),I=function(e){return e[e.Short=0]="Short",e[e.Medium=1]="Medium",e[e.Long=2]="Long",e[e.Full=3]="Full",e}(I||{}),m={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13},Lt=function(e){return e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e}(Lt||{});function Mt(e){return F(e)[l.LocaleId]}function Tt(e,i,t){let n=F(e),r=[n[l.DayPeriodsFormat],n[l.DayPeriodsStandalone]],s=M(r,i);return M(s,t)}function Rt(e,i,t){let n=F(e),r=[n[l.DaysFormat],n[l.DaysStandalone]],s=M(r,i);return M(s,t)}function Ot(e,i,t){let n=F(e),r=[n[l.MonthsFormat],n[l.MonthsStandalone]],s=M(r,i);return M(s,t)}function Bt(e,i){let n=F(e)[l.Eras];return M(n,i)}function hn(e){return F(e)[l.FirstDayOfWeek]}function gn(e){return F(e)[l.WeekendRange]}function q(e,i){let t=F(e);return M(t[l.DateFormat],i)}function J(e,i){let t=F(e);return M(t[l.TimeFormat],i)}function Q(e,i){let n=F(e)[l.DateTimeFormat];return M(n,i)}function L(e,i){let t=F(e),n=t[l.NumberSymbols][i];if(typeof n>"u"){if(i===m.CurrencyDecimal)return t[l.NumberSymbols][m.Decimal];if(i===m.CurrencyGroup)return t[l.NumberSymbols][m.Group]}return n}function Fe(e,i){return F(e)[l.NumberFormats][i]}function Dn(e){return F(e)[l.CurrencySymbol]||null}function pn(e){return F(e)[l.CurrencyName]||null}function mn(e){return ut(e)}function Cn(e){return F(e)[l.Currencies]}var Pt=ct;function Nt(e){if(!e[l.ExtraData])throw new y(2303,!1)}function kt(e){let i=F(e);return Nt(i),(i[l.ExtraData][2]||[]).map(n=>typeof n=="string"?Me(n):[Me(n[0]),Me(n[1])])}function $t(e,i,t){let n=F(e);Nt(n);let r=[n[l.ExtraData][0],n[l.ExtraData][1]],s=M(r,i)||[];return M(s,t)||[]}function Fn(e){return F(e)[l.Directionality]}function M(e,i){for(let t=i;t>-1;t--)if(typeof e[t]<"u")return e[t];throw new y(2304,!1)}function Me(e){let[i,t]=e.split(":");return{hours:+i,minutes:+t}}function xt(e,i,t="en"){let n=Cn(t)[e]||It[e]||[],r=n[1];return i==="narrow"&&typeof r=="string"?r:n[0]||e}var yn=2;function Ut(e){let i,t=It[e];return t&&(i=t[2]),typeof i=="number"?i:yn}var En=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,de={},wn=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function zt(e,i,t,n){let r=Tn(e);i=N(t,i)||i;let o=[],a;for(;i;)if(a=wn.exec(i),a){o=o.concat(a.slice(1));let g=o.pop();if(!g)break;i=g}else{o.push(i);break}let D=r.getTimezoneOffset();n&&(D=Vt(n,D),r=Mn(r,n));let h="";return o.forEach(g=>{let c=In(g);h+=c?c(r,t,D):g==="''"?"'":g.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}function De(e,i,t){let n=new Date(0);return n.setFullYear(e,i,t),n.setHours(0,0,0),n}function N(e,i){let t=Mt(e);if(de[t]??={},de[t][i])return de[t][i];let n="";switch(i){case"shortDate":n=q(e,I.Short);break;case"mediumDate":n=q(e,I.Medium);break;case"longDate":n=q(e,I.Long);break;case"fullDate":n=q(e,I.Full);break;case"shortTime":n=J(e,I.Short);break;case"mediumTime":n=J(e,I.Medium);break;case"longTime":n=J(e,I.Long);break;case"fullTime":n=J(e,I.Full);break;case"short":let r=N(e,"shortTime"),s=N(e,"shortDate");n=le(Q(e,I.Short),[r,s]);break;case"medium":let o=N(e,"mediumTime"),a=N(e,"mediumDate");n=le(Q(e,I.Medium),[o,a]);break;case"long":let D=N(e,"longTime"),h=N(e,"longDate");n=le(Q(e,I.Long),[D,h]);break;case"full":let g=N(e,"fullTime"),c=N(e,"fullDate");n=le(Q(e,I.Full),[g,c]);break}return n&&(de[t][i]=n),n}function le(e,i){return i&&(e=e.replace(/\{([^}]+)}/g,function(t,n){return i!=null&&n in i?i[n]:t})),e}function O(e,i,t="-",n,r){let s="";(e<0||r&&e<=0)&&(r?e=-e+1:(e=-e,s=t));let o=String(e);for(;o.length<i;)o="0"+o;return n&&(o=o.slice(o.length-i)),s+o}function An(e,i){return O(e,3).substring(0,i)}function C(e,i,t=0,n=!1,r=!1){return function(s,o){let a=Sn(e,s);if((t>0||a>-t)&&(a+=t),e===3)a===0&&t===-12&&(a=12);else if(e===6)return An(a,i);let D=L(o,m.MinusSign);return O(a,i,D,n,r)}}function Sn(e,i){switch(e){case 0:return i.getFullYear();case 1:return i.getMonth();case 2:return i.getDate();case 3:return i.getHours();case 4:return i.getMinutes();case 5:return i.getSeconds();case 6:return i.getMilliseconds();case 7:return i.getDay();default:throw new y(2301,!1)}}function f(e,i,t=w.Format,n=!1){return function(r,s){return _n(r,s,e,i,t,n)}}function _n(e,i,t,n,r,s){switch(t){case 2:return Ot(i,r,n)[e.getMonth()];case 1:return Rt(i,r,n)[e.getDay()];case 0:let o=e.getHours(),a=e.getMinutes();if(s){let h=kt(i),g=$t(i,r,n),c=h.findIndex(E=>{if(Array.isArray(E)){let[p,A]=E,H=o>=p.hours&&a>=p.minutes,$=o<A.hours||o===A.hours&&a<A.minutes;if(p.hours<A.hours){if(H&&$)return!0}else if(H||$)return!0}else if(E.hours===o&&E.minutes===a)return!0;return!1});if(c!==-1)return g[c]}return Tt(i,r,n)[o<12?0:1];case 3:return Bt(i,n)[e.getFullYear()<=0?0:1];default:let D=t;throw new y(2302,!1)}}function fe(e){return function(i,t,n){let r=-1*n,s=L(t,m.MinusSign),o=r>0?Math.floor(r/60):Math.ceil(r/60);switch(e){case 0:return(r>=0?"+":"")+O(o,2,s)+O(Math.abs(r%60),2,s);case 1:return"GMT"+(r>=0?"+":"")+O(o,1,s);case 2:return"GMT"+(r>=0?"+":"")+O(o,2,s)+":"+O(Math.abs(r%60),2,s);case 3:return n===0?"Z":(r>=0?"+":"")+O(o,2,s)+":"+O(Math.abs(r%60),2,s);default:throw new y(2302,!1)}}}var bn=0,ge=4;function vn(e){let i=De(e,bn,1).getDay();return De(e,0,1+(i<=ge?ge:ge+7)-i)}function jt(e){let i=e.getDay(),t=i===0?-3:ge-i;return De(e.getFullYear(),e.getMonth(),e.getDate()+t)}function Te(e,i=!1){return function(t,n){let r;if(i){let s=new Date(t.getFullYear(),t.getMonth(),1).getDay()-1,o=t.getDate();r=1+Math.floor((o+s)/7)}else{let s=jt(t),o=vn(s.getFullYear()),a=s.getTime()-o.getTime();r=1+Math.round(a/6048e5)}return O(r,e,L(n,m.MinusSign))}}function he(e,i=!1){return function(t,n){let s=jt(t).getFullYear();return O(s,e,L(n,m.MinusSign),i)}}var Re={};function In(e){if(Re[e])return Re[e];let i;switch(e){case"G":case"GG":case"GGG":i=f(3,d.Abbreviated);break;case"GGGG":i=f(3,d.Wide);break;case"GGGGG":i=f(3,d.Narrow);break;case"y":i=C(0,1,0,!1,!0);break;case"yy":i=C(0,2,0,!0,!0);break;case"yyy":i=C(0,3,0,!1,!0);break;case"yyyy":i=C(0,4,0,!1,!0);break;case"Y":i=he(1);break;case"YY":i=he(2,!0);break;case"YYY":i=he(3);break;case"YYYY":i=he(4);break;case"M":case"L":i=C(1,1,1);break;case"MM":case"LL":i=C(1,2,1);break;case"MMM":i=f(2,d.Abbreviated);break;case"MMMM":i=f(2,d.Wide);break;case"MMMMM":i=f(2,d.Narrow);break;case"LLL":i=f(2,d.Abbreviated,w.Standalone);break;case"LLLL":i=f(2,d.Wide,w.Standalone);break;case"LLLLL":i=f(2,d.Narrow,w.Standalone);break;case"w":i=Te(1);break;case"ww":i=Te(2);break;case"W":i=Te(1,!0);break;case"d":i=C(2,1);break;case"dd":i=C(2,2);break;case"c":case"cc":i=C(7,1);break;case"ccc":i=f(1,d.Abbreviated,w.Standalone);break;case"cccc":i=f(1,d.Wide,w.Standalone);break;case"ccccc":i=f(1,d.Narrow,w.Standalone);break;case"cccccc":i=f(1,d.Short,w.Standalone);break;case"E":case"EE":case"EEE":i=f(1,d.Abbreviated);break;case"EEEE":i=f(1,d.Wide);break;case"EEEEE":i=f(1,d.Narrow);break;case"EEEEEE":i=f(1,d.Short);break;case"a":case"aa":case"aaa":i=f(0,d.Abbreviated);break;case"aaaa":i=f(0,d.Wide);break;case"aaaaa":i=f(0,d.Narrow);break;case"b":case"bb":case"bbb":i=f(0,d.Abbreviated,w.Standalone,!0);break;case"bbbb":i=f(0,d.Wide,w.Standalone,!0);break;case"bbbbb":i=f(0,d.Narrow,w.Standalone,!0);break;case"B":case"BB":case"BBB":i=f(0,d.Abbreviated,w.Format,!0);break;case"BBBB":i=f(0,d.Wide,w.Format,!0);break;case"BBBBB":i=f(0,d.Narrow,w.Format,!0);break;case"h":i=C(3,1,-12);break;case"hh":i=C(3,2,-12);break;case"H":i=C(3,1);break;case"HH":i=C(3,2);break;case"m":i=C(4,1);break;case"mm":i=C(4,2);break;case"s":i=C(5,1);break;case"ss":i=C(5,2);break;case"S":i=C(6,1);break;case"SS":i=C(6,2);break;case"SSS":i=C(6,3);break;case"Z":case"ZZ":case"ZZZ":i=fe(0);break;case"ZZZZZ":i=fe(3);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":i=fe(1);break;case"OOOO":case"ZZZZ":case"zzzz":i=fe(2);break;default:return null}return Re[e]=i,i}function Vt(e,i){e=e.replace(/:/g,"");let t=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(t)?i:t}function Ln(e,i){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+i),e}function Mn(e,i,t){let r=e.getTimezoneOffset(),s=Vt(i,r);return Ln(e,-1*(s-r))}function Tn(e){if(yt(e))return e;if(typeof e=="number"&&!isNaN(e))return new Date(e);if(typeof e=="string"){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){let[r,s=1,o=1]=e.split("-").map(a=>+a);return De(r,s-1,o)}let t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let n;if(n=e.match(En))return Rn(n)}let i=new Date(e);if(!yt(i))throw new y(2302,!1);return i}function Rn(e){let i=new Date(0),t=0,n=0,r=e[8]?i.setUTCFullYear:i.setFullYear,s=e[8]?i.setUTCHours:i.setHours;e[9]&&(t=Number(e[9]+e[10]),n=Number(e[9]+e[11])),r.call(i,Number(e[1]),Number(e[2])-1,Number(e[3]));let o=Number(e[4]||0)-t,a=Number(e[5]||0)-n,D=Number(e[6]||0),h=Math.floor(parseFloat("0."+(e[7]||0))*1e3);return s.call(i,o,a,D,h),i}function yt(e){return e instanceof Date&&!isNaN(e.valueOf())}var On=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Et=22,pe=".",ee="0",Bn=";",Pn=",",Oe="#",wt="\xA4",Nn="%";function $e(e,i,t,n,r,s,o=!1){let a="",D=!1;if(!isFinite(e))a=L(t,m.Infinity);else{let h=$n(e);o&&(h=kn(h));let g=i.minInt,c=i.minFrac,E=i.maxFrac;if(s){let z=s.match(On);if(z===null)throw new y(2306,!1);let He=z[1],Ae=z[3],Ze=z[5];He!=null&&(g=Be(He)),Ae!=null&&(c=Be(Ae)),Ze!=null?E=Be(Ze):Ae!=null&&c>E&&(E=c)}xn(h,c,E);let p=h.digits,A=h.integerLen,H=h.exponent,$=[];for(D=p.every(z=>!z);A<g;A++)p.unshift(0);for(;A<0;A++)p.unshift(0);A>0?$=p.splice(A,p.length):($=p,p=[0]);let ie=[];for(p.length>=i.lgSize&&ie.unshift(p.splice(-i.lgSize,p.length).join(""));p.length>i.gSize;)ie.unshift(p.splice(-i.gSize,p.length).join(""));p.length&&ie.unshift(p.join("")),a=ie.join(L(t,n)),$.length&&(a+=L(t,r)+$.join("")),H&&(a+=L(t,m.Exponential)+"+"+H)}return e<0&&!D?a=i.negPre+a+i.negSuf:a=i.posPre+a+i.posSuf,a}function Gt(e,i,t,n,r){let s=Fe(i,ne.Currency),o=xe(s,L(i,m.MinusSign));return o.minFrac=Ut(n),o.maxFrac=o.minFrac,$e(e,o,i,m.CurrencyGroup,m.CurrencyDecimal,r).replace(wt,t).replace(wt,"").trim()}function Ht(e,i,t){let n=Fe(i,ne.Percent),r=xe(n,L(i,m.MinusSign));return $e(e,r,i,m.Group,m.Decimal,t,!0).replace(new RegExp(Nn,"g"),L(i,m.PercentSign))}function Zt(e,i,t){let n=Fe(i,ne.Decimal),r=xe(n,L(i,m.MinusSign));return $e(e,r,i,m.Group,m.Decimal,t)}function xe(e,i="-"){let t={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},n=e.split(Bn),r=n[0],s=n[1],o=r.indexOf(pe)!==-1?r.split(pe):[r.substring(0,r.lastIndexOf(ee)+1),r.substring(r.lastIndexOf(ee)+1)],a=o[0],D=o[1]||"";t.posPre=a.substring(0,a.indexOf(Oe));for(let g=0;g<D.length;g++){let c=D.charAt(g);c===ee?t.minFrac=t.maxFrac=g+1:c===Oe?t.maxFrac=g+1:t.posSuf+=c}let h=a.split(Pn);if(t.gSize=h[1]?h[1].length:0,t.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,s){let g=r.length-t.posPre.length-t.posSuf.length,c=s.indexOf(Oe);t.negPre=s.substring(0,c).replace(/'/g,""),t.negSuf=s.slice(c+g).replace(/'/g,"")}else t.negPre=i+t.posPre,t.negSuf=t.posSuf;return t}function kn(e){if(e.digits[0]===0)return e;let i=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(i===0?e.digits.push(0,0):i===1&&e.digits.push(0),e.integerLen+=2),e}function $n(e){let i=Math.abs(e)+"",t=0,n,r,s,o,a;for((r=i.indexOf(pe))>-1&&(i=i.replace(pe,"")),(s=i.search(/e/i))>0?(r<0&&(r=s),r+=+i.slice(s+1),i=i.substring(0,s)):r<0&&(r=i.length),s=0;i.charAt(s)===ee;s++);if(s===(a=i.length))n=[0],r=1;else{for(a--;i.charAt(a)===ee;)a--;for(r-=s,n=[],o=0;s<=a;s++,o++)n[o]=Number(i.charAt(s))}return r>Et&&(n=n.splice(0,Et-1),t=r-1,r=1),{digits:n,exponent:t,integerLen:r}}function xn(e,i,t){if(i>t)throw new y(2307,!1);let n=e.digits,r=n.length-e.integerLen,s=Math.min(Math.max(i,r),t),o=s+e.integerLen,a=n[o];if(o>0){n.splice(Math.max(e.integerLen,o));for(let c=o;c<n.length;c++)n[c]=0}else{r=Math.max(0,r),e.integerLen=1,n.length=Math.max(1,o=s+1),n[0]=0;for(let c=1;c<o;c++)n[c]=0}if(a>=5)if(o-1<0){for(let c=0;c>o;c--)n.unshift(0),e.integerLen++;n.unshift(1),e.integerLen++}else n[o-1]++;for(;r<Math.max(0,s);r++)n.push(0);let D=s!==0,h=i+e.integerLen,g=n.reduceRight(function(c,E,p,A){return E=E+c,A[p]=E<10?E:E-10,D&&(A[p]===0&&p>=h?A.pop():D=!1),E>=10?1:0},0);g&&(n.unshift(g),e.integerLen++)}function Be(e){let i=parseInt(e);if(isNaN(i))throw new y(2305,!1);return i}var ye=(()=>{class e{static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:function(n){let r=null;return n?r=new n:r=(s=>new Yt(s))(T(x)),r},providedIn:"root"})}return e})();function Wt(e,i,t,n){let r=`=${e}`;if(i.indexOf(r)>-1||(r=t.getPluralCategory(e,n),i.indexOf(r)>-1))return r;if(i.indexOf("other")>-1)return"other";throw new y(2308,!1)}var Yt=(()=>{class e extends ye{locale;constructor(t){super(),this.locale=t}getPluralCategory(t,n){switch(Pt(n||this.locale)(t)){case U.Zero:return"zero";case U.One:return"one";case U.Two:return"two";case U.Few:return"few";case U.Many:return"many";default:return"other"}}static \u0275fac=function(n){return new(n||e)(T(x))};static \u0275prov=S({token:e,factory:e.\u0275fac})}return e})(),Pe=/\s+/,At=[],Un=(()=>{class e{_ngEl;_renderer;initialClasses=At;rawClass;stateMap=new Map;constructor(t,n){this._ngEl=t,this._renderer=n}set klass(t){this.initialClasses=t!=null?t.trim().split(Pe):At}set ngClass(t){this.rawClass=typeof t=="string"?t.trim().split(Pe):t}ngDoCheck(){for(let n of this.initialClasses)this._updateState(n,!0);let t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(let n of t)this._updateState(n,!0);else if(t!=null)for(let n of Object.keys(t))this._updateState(n,!!t[n]);this._applyStateDiff()}_updateState(t,n){let r=this.stateMap.get(t);r!==void 0?(r.enabled!==n&&(r.changed=!0,r.enabled=n),r.touched=!0):this.stateMap.set(t,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let t of this.stateMap){let n=t[0],r=t[1];r.changed?(this._toggleClass(n,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),r.touched=!1}}_toggleClass(t,n){t=t.trim(),t.length>0&&t.split(Pe).forEach(r=>{n?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static \u0275fac=function(n){return new(n||e)(u(W),u(Y))};static \u0275dir=b({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),zn=(()=>{class e{_viewContainerRef;ngComponentOutlet=null;ngComponentOutletInputs;ngComponentOutletInjector;ngComponentOutletContent;ngComponentOutletNgModule;ngComponentOutletNgModuleFactory;_componentRef;_moduleRef;_inputsUsed=new Map;get componentInstance(){return this._componentRef?.instance??null}constructor(t){this._viewContainerRef=t}_needToReCreateNgModuleInstance(t){return t.ngComponentOutletNgModule!==void 0||t.ngComponentOutletNgModuleFactory!==void 0}_needToReCreateComponentInstance(t){return t.ngComponentOutlet!==void 0||t.ngComponentOutletContent!==void 0||t.ngComponentOutletInjector!==void 0||this._needToReCreateNgModuleInstance(t)}ngOnChanges(t){if(this._needToReCreateComponentInstance(t)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){let n=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(t)&&(this._moduleRef?.destroy(),this.ngComponentOutletNgModule?this._moduleRef=it(this.ngComponentOutletNgModule,St(n)):this.ngComponentOutletNgModuleFactory?this._moduleRef=this.ngComponentOutletNgModuleFactory.create(St(n)):this._moduleRef=void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:n,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(let t of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(t,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(t){for(let[n,r]of this._inputsUsed)r?(t.setInput(n,this.ngComponentOutletInputs[n]),this._inputsUsed.set(n,!1)):(t.setInput(n,void 0),this._inputsUsed.delete(n))}static \u0275fac=function(n){return new(n||e)(u(k))};static \u0275dir=b({type:e,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},exportAs:["ngComponentOutlet"],features:[Z]})}return e})();function St(e){return e.get(nt).injector}var me=class{$implicit;ngForOf;index;count;constructor(i,t,n,r){this.$implicit=i,this.ngForOf=t,this.index=n,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Kt=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(t,n,r){this._viewContainer=t,this._template=n,this._differs=r}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){let t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){let n=this._viewContainer;t.forEachOperation((r,s,o)=>{if(r.previousIndex==null)n.createEmbeddedView(this._template,new me(r.item,this._ngForOf,-1,-1),o===null?void 0:o);else if(o==null)n.remove(s===null?void 0:s);else if(s!==null){let a=n.get(s);n.move(a,o),_t(a,r)}});for(let r=0,s=n.length;r<s;r++){let a=n.get(r).context;a.index=r,a.count=s,a.ngForOf=this._ngForOf}t.forEachIdentityChange(r=>{let s=n.get(r.currentIndex);_t(s,r)})}static ngTemplateContextGuard(t,n){return!0}static \u0275fac=function(n){return new(n||e)(u(k),u(V),u(ht))};static \u0275dir=b({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function _t(e,i){e.context.$implicit=i.item}var jn=(()=>{class e{_viewContainer;_context=new Ce;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(t,n){this._viewContainer=t,this._thenTemplateRef=n}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){bt(t,!1),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){bt(t,!1),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(t,n){return!0}static \u0275fac=function(n){return new(n||e)(u(k),u(V))};static \u0275dir=b({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})(),Ce=class{$implicit=null;ngIf=null};function bt(e,i){if(e&&!e.createEmbeddedView)throw new y(2020,!1)}var te=class{_viewContainerRef;_templateRef;_created=!1;constructor(i,t){this._viewContainerRef=i,this._templateRef=t}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(i){i&&!this._created?this.create():!i&&this._created&&this.destroy()}},Ue=(()=>{class e{_defaultViews=[];_defaultUsed=!1;_caseCount=0;_lastCaseCheckIndex=0;_lastCasesMatched=!1;_ngSwitch;set ngSwitch(t){this._ngSwitch=t,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews.push(t)}_matchCase(t){let n=t===this._ngSwitch;return this._lastCasesMatched||=n,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),n}_updateDefaultCases(t){if(this._defaultViews.length>0&&t!==this._defaultUsed){this._defaultUsed=t;for(let n of this._defaultViews)n.enforceState(t)}}static \u0275fac=function(n){return new(n||e)};static \u0275dir=b({type:e,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"}})}return e})(),Vn=(()=>{class e{ngSwitch;_view;ngSwitchCase;constructor(t,n,r){this.ngSwitch=r,r._addCase(),this._view=new te(t,n)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static \u0275fac=function(n){return new(n||e)(u(k),u(V),u(Ue,9))};static \u0275dir=b({type:e,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}})}return e})(),Gn=(()=>{class e{constructor(t,n,r){r._addDefault(new te(t,n))}static \u0275fac=function(n){return new(n||e)(u(k),u(V),u(Ue,9))};static \u0275dir=b({type:e,selectors:[["","ngSwitchDefault",""]]})}return e})();var Xt=(()=>{class e{_localization;_activeView;_caseViews={};constructor(t){this._localization=t}set ngPlural(t){this._updateView(t)}addCase(t,n){this._caseViews[t]=n}_updateView(t){this._clearViews();let n=Object.keys(this._caseViews),r=Wt(t,n,this._localization);this._activateView(this._caseViews[r])}_clearViews(){this._activeView&&this._activeView.destroy()}_activateView(t){t&&(this._activeView=t,this._activeView.create())}static \u0275fac=function(n){return new(n||e)(u(ye))};static \u0275dir=b({type:e,selectors:[["","ngPlural",""]],inputs:{ngPlural:"ngPlural"}})}return e})(),Hn=(()=>{class e{value;constructor(t,n,r,s){this.value=t;let o=!isNaN(Number(t));s.addCase(o?`=${t}`:t,new te(r,n))}static \u0275fac=function(n){return new(n||e)(qe("ngPluralCase"),u(V),u(k),u(Xt,1))};static \u0275dir=b({type:e,selectors:[["","ngPluralCase",""]]})}return e})(),Zn=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,n,r){this._ngEl=t,this._differs=n,this._renderer=r}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){let t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,n){let[r,s]=t.split("."),o=r.indexOf("-")===-1?void 0:et.DashCase;n!=null?this._renderer.setStyle(this._ngEl.nativeElement,r,s?`${n}${s}`:n,o):this._renderer.removeStyle(this._ngEl.nativeElement,r,o)}_applyChanges(t){t.forEachRemovedItem(n=>this._setStyle(n.key,null)),t.forEachAddedItem(n=>this._setStyle(n.key,n.currentValue)),t.forEachChangedItem(n=>this._setStyle(n.key,n.currentValue))}static \u0275fac=function(n){return new(n||e)(u(W),u(be),u(Y))};static \u0275dir=b({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),Wn=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){let n=this._viewContainerRef;if(this._viewRef&&n.remove(n.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let r=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,n,r)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,r):!1,get:(t,n,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,r)}})}static \u0275fac=function(n){return new(n||e)(u(k))};static \u0275dir=b({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Z]})}return e})();function B(e,i){return new y(2100,!1)}var Ne=class{createSubscription(i,t,n){return _e(()=>i.subscribe({next:t,error:n}))}dispose(i){_e(()=>i.unsubscribe())}},ke=class{createSubscription(i,t,n){return i.then(r=>t?.(r),r=>n?.(r)),{unsubscribe:()=>{t=null,n=null}}}dispose(i){i.unsubscribe()}},Yn=new ke,Kn=new Ne,Xn=(()=>{class e{_ref;_latestValue=null;markForCheckOnValueUpdate=!0;_subscription=null;_obj=null;_strategy=null;applicationErrorHandler=_(Xe);constructor(t){this._ref=t}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(t){if(!this._obj){if(t)try{this.markForCheckOnValueUpdate=!1,this._subscribe(t)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,n=>this._updateLatestValue(t,n),n=>this.applicationErrorHandler(n))}_selectStrategy(t){if(st(t))return Yn;if(ot(t))return Kn;throw B(e,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,n){t===this._obj&&(this._latestValue=n,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static \u0275fac=function(n){return new(n||e)(u(oe,16))};static \u0275pipe=v({name:"async",type:e,pure:!1})}return e})(),qn=(()=>{class e{transform(t){if(t==null)return null;if(typeof t!="string")throw B(e,t);return t.toLowerCase()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"lowercase",type:e,pure:!0})}return e})(),Jn=/(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g,Qn=(()=>{class e{transform(t){if(t==null)return null;if(typeof t!="string")throw B(e,t);return t.replace(Jn,n=>n[0].toUpperCase()+n.slice(1).toLowerCase())}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"titlecase",type:e,pure:!0})}return e})(),ei=(()=>{class e{transform(t){if(t==null)return null;if(typeof t!="string")throw B(e,t);return t.toUpperCase()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"uppercase",type:e,pure:!0})}return e})(),ti="mediumDate",qt=new P(""),Jt=new P(""),ni=(()=>{class e{locale;defaultTimezone;defaultOptions;constructor(t,n,r){this.locale=t,this.defaultTimezone=n,this.defaultOptions=r}transform(t,n,r,s){if(t==null||t===""||t!==t)return null;try{let o=n??this.defaultOptions?.dateFormat??ti,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return zt(t,o,s||this.locale,a)}catch(o){throw B(e,o.message)}}static \u0275fac=function(n){return new(n||e)(u(x,16),u(qt,24),u(Jt,24))};static \u0275pipe=v({name:"date",type:e,pure:!0})}return e})(),ii=/#/g,ri=(()=>{class e{_localization;constructor(t){this._localization=t}transform(t,n,r){if(t==null)return"";if(typeof n!="object"||n===null)throw B(e,n);let s=Wt(t,Object.keys(n),this._localization,r);return n[s].replace(ii,t.toString())}static \u0275fac=function(n){return new(n||e)(u(ye,16))};static \u0275pipe=v({name:"i18nPlural",type:e,pure:!0})}return e})(),si=(()=>{class e{transform(t,n){if(t==null)return"";if(typeof n!="object"||typeof t!="string")throw B(e,n);return n.hasOwnProperty(t)?n[t]:n.hasOwnProperty("other")?n.other:""}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"i18nSelect",type:e,pure:!0})}return e})(),oi=(()=>{class e{transform(t){return JSON.stringify(t,null,2)}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"json",type:e,pure:!1})}return e})();function ai(e,i){return{key:e,value:i}}var ui=(()=>{class e{differs;constructor(t){this.differs=t}differ;keyValues=[];compareFn=vt;transform(t,n=vt){if(!t||!(t instanceof Map)&&typeof t!="object")return null;this.differ??=this.differs.find(t).create();let r=this.differ.diff(t),s=n!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(o=>{this.keyValues.push(ai(o.key,o.currentValue))})),(r||s)&&(n&&this.keyValues.sort(n),this.compareFn=n),this.keyValues}static \u0275fac=function(n){return new(n||e)(u(be,16))};static \u0275pipe=v({name:"keyvalue",type:e,pure:!1})}return e})();function vt(e,i){let t=e.key,n=i.key;if(t===n)return 0;if(t==null)return 1;if(n==null)return-1;if(typeof t=="string"&&typeof n=="string")return t<n?-1:1;if(typeof t=="number"&&typeof n=="number")return t-n;if(typeof t=="boolean"&&typeof n=="boolean")return t<n?-1:1;let r=String(t),s=String(n);return r==s?0:r<s?-1:1}var ci=(()=>{class e{_locale;constructor(t){this._locale=t}transform(t,n,r){if(!ze(t))return null;r||=this._locale;try{let s=je(t);return Zt(s,r,n)}catch(s){throw B(e,s.message)}}static \u0275fac=function(n){return new(n||e)(u(x,16))};static \u0275pipe=v({name:"number",type:e,pure:!0})}return e})(),di=(()=>{class e{_locale;constructor(t){this._locale=t}transform(t,n,r){if(!ze(t))return null;r||=this._locale;try{let s=je(t);return Ht(s,r,n)}catch(s){throw B(e,s.message)}}static \u0275fac=function(n){return new(n||e)(u(x,16))};static \u0275pipe=v({name:"percent",type:e,pure:!0})}return e})(),li=(()=>{class e{_locale;_defaultCurrencyCode;constructor(t,n="USD"){this._locale=t,this._defaultCurrencyCode=n}transform(t,n=this._defaultCurrencyCode,r="symbol",s,o){if(!ze(t))return null;o||=this._locale,typeof r=="boolean"&&(r=r?"symbol":"code");let a=n||this._defaultCurrencyCode;r!=="code"&&(r==="symbol"||r==="symbol-narrow"?a=xt(a,r==="symbol"?"wide":"narrow",o):a=r);try{let D=je(t);return Gt(D,o,a,n,s)}catch(D){throw B(e,D.message)}}static \u0275fac=function(n){return new(n||e)(u(x,16),u(lt,16))};static \u0275pipe=v({name:"currency",type:e,pure:!0})}return e})();function ze(e){return!(e==null||e===""||e!==e)}function je(e){if(typeof e=="string"&&!isNaN(Number(e)-parseFloat(e)))return Number(e);if(typeof e!="number")throw new y(2309,!1);return e}var fi=(()=>{class e{transform(t,n,r){if(t==null)return null;if(!(typeof t=="string"||Array.isArray(t)))throw B(e,t);return t.slice(n,r)}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=v({name:"slice",type:e,pure:!1})}return e})();var hi=(()=>{class e{static \u0275fac=function(n){return new(n||e)};static \u0275mod=rt({type:e});static \u0275inj=Ye({})}return e})();var gi=(()=>{class e{static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:()=>window.navigation,providedIn:"platform"})}return e})();function fr(e,i,t){return at(e,i,t)}var hr=new ft("20.0.0"),gr=(()=>{class e{static \u0275prov=S({token:e,providedIn:"root",factory:()=>new Ve(_(j),window)})}return e})(),Ve=class{document;window;offset=()=>[0,0];constructor(i,t){this.document=i,this.window=t}setOffset(i){Array.isArray(i)?this.offset=()=>i:this.offset=i}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(i,t){this.window.scrollTo(se(re({},t),{left:i[0],top:i[1]}))}scrollToAnchor(i,t){let n=Di(this.document,i);n&&(this.scrollToElement(n,t),n.focus())}setHistoryScrollRestoration(i){this.window.history.scrollRestoration=i}scrollToElement(i,t){let n=i.getBoundingClientRect(),r=n.left+this.window.pageXOffset,s=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(se(re({},t),{left:r-o[0],top:s-o[1]}))}};function Di(e,i){let t=e.getElementById(i)||e.getElementsByName(i)[0];if(t)return t;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let n=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),r=n.currentNode;for(;r;){let s=r.shadowRoot;if(s){let o=s.getElementById(i)||s.querySelector(`[name="${i}"]`);if(o)return o}r=n.nextNode()}}return null}var Qt=class{setOffset(i){}getScrollPosition(){return[0,0]}scrollToPosition(i){}scrollToAnchor(i){}setHistoryScrollRestoration(i){}},Ee="20";function nn(e){return/^https?:\/\//.test(e)}function rn(e){if(!(typeof e=="string")||e.trim()==="")return!1;try{let t=new URL(e);return!0}catch{return!1}}function pi(e){return e.endsWith("/")?e.slice(0,-1):e}function mi(e){return e.startsWith("/")?e.slice(1):e}var sn=e=>e.src,Ge=new P("",{providedIn:"root",factory:()=>sn});function we(e,i){return function(n){return rn(n)||Ci(n,i||[]),n=pi(n),[{provide:Ge,useValue:o=>(nn(o.src)&&Fi(n,o.src),e(n,se(re({},o),{src:mi(o.src)})))}]}}function Ci(e,i){throw new y(2959,!1)}function Fi(e,i){throw new y(2959,!1)}var Dr=we(yi,void 0);function yi(e,i){let t="format=auto";return i.width&&(t+=`,width=${i.width}`),i.isPlaceholder&&(t+=`,quality=${Ee}`),`${e}/cdn-cgi/image/${t}/${i.src}`}var pr=we(Ei,void 0);function Ei(e,i){let n=`f_auto,${i.isPlaceholder?"q_auto:low":"q_auto"}`;return i.width&&(n+=`,w_${i.width}`),i.loaderParams?.rounded&&(n+=",r_max"),`${e}/image/upload/${n}/${i.src}`}var mr=we(wi,void 0);function wi(e,i){let{src:t,width:n}=i,r=[];n&&r.push(`w-${n}`),i.isPlaceholder&&r.push(`q-${Ee}`);let s=r.length?[e,`tr:${r.join(",")}`,t]:[e,t];return new URL(s.join("/")).href}var Cr=we(Ai,void 0);function Ai(e,i){let t=new URL(`${e}/${i.src}`);return t.searchParams.set("auto","format"),i.width&&t.searchParams.set("w",i.width.toString()),i.isPlaceholder&&t.searchParams.set("q",Ee),t.href}function Fr(e){if(e&&!rn(e))throw new y(2959,!1);return e&&(e=new URL(e).origin),[{provide:Ge,useValue:n=>Si(n,e)}]}var en=new Map([["height","h"],["fit","fit"],["quality","q"],["q","q"],["position","position"]]);function Si(e,i){let t=new URL(i??"https://a/");t.pathname="/.netlify/images",!nn(e.src)&&!e.src.startsWith("/")&&(e.src="/"+e.src),t.searchParams.set("url",e.src),e.width&&t.searchParams.set("w",e.width.toString());let n=e.loaderParams?.quality??e.loaderParams?.q;e.isPlaceholder&&!n&&t.searchParams.set("q",Ee);for(let[r,s]of Object.entries(e.loaderParams??{}))en.has(r)&&t.searchParams.set(en.get(r),s.toString());return t.hostname==="a"?t.href.replace(t.origin,""):t.href}var yr=new P("");var tn=/^((\s*\d+w\s*(,|$)){1,})$/;var _i=[1,2],bi=640;var vi=1920,Ii=1080;var Er=(()=>{class e{imageLoader=_(Ge);config=Li(_(Se));renderer=_(Y);imgElement=_(W).nativeElement;injector=_(Ke);lcpObserver;_renderedSrc=null;ngSrc;ngSrcset;sizes;width;height;loading;priority=!1;loaderParams;disableOptimizedSrcset=!1;fill=!1;placeholder;placeholderConfig;src;srcset;constructor(){}ngOnInit(){tt("NgOptimizedImage"),this.placeholder&&this.removePlaceholderOnLoad(this.imgElement),this.setHostAttributes()}setHostAttributes(){this.fill?this.sizes||="100vw":(this.setHostAttribute("width",this.width.toString()),this.setHostAttribute("height",this.height.toString())),this.setHostAttribute("loading",this.getLoadingBehavior()),this.setHostAttribute("fetchpriority",this.getFetchPriority()),this.setHostAttribute("ng-img","true");let t=this.updateSrcAndSrcset();this.sizes?this.getLoadingBehavior()==="lazy"?this.setHostAttribute("sizes","auto, "+this.sizes):this.setHostAttribute("sizes",this.sizes):this.ngSrcset&&tn.test(this.ngSrcset)&&this.getLoadingBehavior()==="lazy"&&this.setHostAttribute("sizes","auto, 100vw")}ngOnChanges(t){if(t.ngSrc&&!t.ngSrc.isFirstChange()){let n=this._renderedSrc;this.updateSrcAndSrcset(!0)}}callImageLoader(t){let n=t;return this.loaderParams&&(n.loaderParams=this.loaderParams),this.imageLoader(n)}getLoadingBehavior(){return!this.priority&&this.loading!==void 0?this.loading:this.priority?"eager":"lazy"}getFetchPriority(){return this.priority?"high":"auto"}getRewrittenSrc(){if(!this._renderedSrc){let t={src:this.ngSrc};this._renderedSrc=this.callImageLoader(t)}return this._renderedSrc}getRewrittenSrcset(){let t=tn.test(this.ngSrcset);return this.ngSrcset.split(",").filter(r=>r!=="").map(r=>{r=r.trim();let s=t?parseFloat(r):parseFloat(r)*this.width;return`${this.callImageLoader({src:this.ngSrc,width:s})} ${r}`}).join(", ")}getAutomaticSrcset(){return this.sizes?this.getResponsiveSrcset():this.getFixedSrcset()}getResponsiveSrcset(){let{breakpoints:t}=this.config,n=t;return this.sizes?.trim()==="100vw"&&(n=t.filter(s=>s>=bi)),n.map(s=>`${this.callImageLoader({src:this.ngSrc,width:s})} ${s}w`).join(", ")}updateSrcAndSrcset(t=!1){t&&(this._renderedSrc=null);let n=this.getRewrittenSrc();this.setHostAttribute("src",n);let r;return this.ngSrcset?r=this.getRewrittenSrcset():this.shouldGenerateAutomaticSrcset()&&(r=this.getAutomaticSrcset()),r&&this.setHostAttribute("srcset",r),r}getFixedSrcset(){return _i.map(n=>`${this.callImageLoader({src:this.ngSrc,width:this.width*n})} ${n}x`).join(", ")}shouldGenerateAutomaticSrcset(){let t=!1;return this.sizes||(t=this.width>vi||this.height>Ii),!this.disableOptimizedSrcset&&!this.srcset&&this.imageLoader!==sn&&!t}generatePlaceholder(t){let{placeholderResolution:n}=this.config;return t===!0?`url(${this.callImageLoader({src:this.ngSrc,width:n,isPlaceholder:!0})})`:typeof t=="string"?`url(${t})`:null}shouldBlurPlaceholder(t){return!t||!t.hasOwnProperty("blur")?!0:!!t.blur}removePlaceholderOnLoad(t){let n=()=>{let o=this.injector.get(oe);r(),s(),this.placeholder=!1,o.markForCheck()},r=this.renderer.listen(t,"load",n),s=this.renderer.listen(t,"error",n);Mi(t,n)}setHostAttribute(t,n){this.renderer.setAttribute(this.imgElement,t,n)}static \u0275fac=function(n){return new(n||e)};static \u0275dir=b({type:e,selectors:[["img","ngSrc",""]],hostVars:18,hostBindings:function(n,r){n&2&&dt("position",r.fill?"absolute":null)("width",r.fill?"100%":null)("height",r.fill?"100%":null)("inset",r.fill?"0":null)("background-size",r.placeholder?"cover":null)("background-position",r.placeholder?"50% 50%":null)("background-repeat",r.placeholder?"no-repeat":null)("background-image",r.placeholder?r.generatePlaceholder(r.placeholder):null)("filter",r.placeholder&&r.shouldBlurPlaceholder(r.placeholderConfig)?"blur(15px)":null)},inputs:{ngSrc:[2,"ngSrc","ngSrc",Ti],ngSrcset:"ngSrcset",sizes:"sizes",width:[2,"width","width",ve],height:[2,"height","height",ve],loading:"loading",priority:[2,"priority","priority",K],loaderParams:"loaderParams",disableOptimizedSrcset:[2,"disableOptimizedSrcset","disableOptimizedSrcset",K],fill:[2,"fill","fill",K],placeholder:[2,"placeholder","placeholder",Ri],placeholderConfig:"placeholderConfig",src:"src",srcset:"srcset"},features:[Z]})}return e})();function Li(e){let i={};return e.breakpoints&&(i.breakpoints=e.breakpoints.sort((t,n)=>t-n)),Object.assign({},Je,e,i)}function Mi(e,i){e.complete&&e.naturalWidth&&i()}function Ti(e){return typeof e=="string"?e:Qe(e)}function Ri(e){return typeof e=="string"&&e!=="true"&&e!=="false"&&e!==""?e:K(e)}export{ae as a,on as b,Ie as c,X as d,an as e,mt as f,R as g,G as h,ce as i,Ct as j,Ft as k,fn as l,ne as m,U as n,w as o,d as p,I as q,m as r,Lt as s,Mt as t,Tt as u,Rt as v,Ot as w,Bt as x,hn as y,gn as z,q as A,J as B,Q as C,L as D,Fe as E,Dn as F,pn as G,mn as H,Pt as I,kt as J,$t as K,Fn as L,xt as M,Ut as N,zt as O,Gt as P,Ht as Q,Zt as R,ye as S,Yt as T,Un as U,zn as V,me as W,Kt as X,jn as Y,Ce as Z,Ue as _,Vn as $,Gn as aa,Xt as ba,Hn as ca,Zn as da,Wn as ea,Xn as fa,qn as ga,Qn as ha,ei as ia,qt as ja,Jt as ka,ni as la,ri as ma,si as na,oi as oa,ui as pa,ci as qa,di as ra,li as sa,fi as ta,hi as ua,gi as va,fr as wa,hr as xa,gr as ya,Qt as za,Ge as Aa,Dr as Ba,pr as Ca,mr as Da,Cr as Ea,Fr as Fa,yr as Ga,Er as Ha};
@@ -0,0 +1 @@
1
+ import"./chunk-EUDKD2JW.js";var o=[{path:"",loadComponent:()=>import("./chunk-WYY5FAMC.js"),children:[{path:"",redirectTo:"stored",pathMatch:"full"},{path:"stored",loadComponent:()=>import("./chunk-Q6YWYUN4.js")},{path:"live",loadComponent:()=>import("./chunk-2W4JV5JL.js")}]}],t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-3Q5JEF3K.js";import"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";export{a as BytesPipe};
@@ -1 +1 @@
1
- import{pa as o}from"./chunk-EBXJGPRA.js";import{a as s}from"./chunk-QUOBR5MG.js";import{Z as e,jb as n}from"./chunk-4KE2I7OA.js";var m=class i{#t=e(s);#r=e(o);convertTimestamp(t){let r=/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/.exec(t);if(r){let[a,p,f,c,d,u,h]=r;return`${p}-${f}-${c}T${d}:${u}:${h}Z`}return t}transform(t,r=!1,...a){return t?r?this.#r.transform(t,"short"):(this.#t.locale(),typeof t=="string"&&(t=this.convertTimestamp(t)),this.#t(t).fromNow()):"N/A"}static \u0275fac=function(r){return new(r||i)};static \u0275pipe=n({name:"relativeTime",type:i,pure:!0})};export{m as a};
1
+ import{la as o}from"./chunk-GP2W7XZF.js";import{a as s}from"./chunk-DLVU5GHR.js";import{X as e,bb as n}from"./chunk-67YRCRMI.js";var m=class i{#t=e(s);#r=e(o);convertTimestamp(t){let r=/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/.exec(t);if(r){let[a,p,f,c,d,u,h]=r;return`${p}-${f}-${c}T${d}:${u}:${h}Z`}return t}transform(t,r=!1,...a){return t?r?this.#r.transform(t,"short"):(this.#t.locale(),typeof t=="string"&&(t=this.convertTimestamp(t)),this.#t(t).fromNow()):"N/A"}static \u0275fac=function(r){return new(r||i)};static \u0275pipe=n({name:"relativeTime",type:i,pure:!0})};export{m as a};