@duplicati/ngclient 0.0.234 → 0.0.235

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 (150) hide show
  1. package/assets/sh.woff2 +0 -0
  2. package/chunk-29_4gGIi.js +2 -0
  3. package/{chunk-D5zSyubd.js → chunk-3YzyUT-a.js} +1 -1
  4. package/chunk-6-sszNfh.js +1 -0
  5. package/chunk-7T5O8Syb.js +1 -0
  6. package/{chunk-5kQsbzck.js → chunk-B61kkU_h.js} +1 -1
  7. package/chunk-B891gwjc.js +1 -0
  8. package/chunk-BDJqKfxm.js +1 -0
  9. package/chunk-BEUeHgR9.js +1 -0
  10. package/chunk-BEzhTDp8.js +2 -0
  11. package/{chunk-BnFO-7ok.js → chunk-BGuvkLC9.js} +1 -1
  12. package/{chunk-Dyq6iPbF.js → chunk-BJOhC2d8.js} +1 -1
  13. package/chunk-BOKNwzSl.js +2 -0
  14. package/chunk-BSCc2xDv.js +1 -0
  15. package/chunk-BWSg9cLt.js +2 -0
  16. package/chunk-BWvawawS.js +2 -0
  17. package/chunk-B_I_9Y7k.js +1 -0
  18. package/chunk-Bgd5lu61.js +1 -0
  19. package/chunk-BjqgOGb9.js +2 -0
  20. package/chunk-Bq_vr6Q3.js +2 -0
  21. package/{chunk-B-c3Zv6R.js → chunk-Brfc2m61.js} +1 -1
  22. package/{chunk-B0ETfgeR.js → chunk-Btvi2S15.js} +11 -11
  23. package/chunk-C0KXp4hd.js +1 -0
  24. package/chunk-C0XQD9NK.js +1 -0
  25. package/chunk-C1-31fA7.js +1 -0
  26. package/chunk-C185qUb-.js +1 -0
  27. package/{chunk-GKdOPH_4.js → chunk-C1py21yb.js} +2 -2
  28. package/chunk-C4Uv1C-T.js +1 -0
  29. package/{chunk-CTH9uShX.js → chunk-CFgDqLU0.js} +1 -1
  30. package/{chunk-FZcbbWYC.js → chunk-CGnjVnmu.js} +1 -1
  31. package/{chunk-Cv4o9u3S.js → chunk-CKUlUN3q.js} +1 -1
  32. package/chunk-CLlZiOaO.js +2 -0
  33. package/chunk-CQVPqpMp.js +2 -0
  34. package/chunk-CSrYlKTK.js +2 -0
  35. package/chunk-CdzKkYEw.js +2 -0
  36. package/chunk-Cj_yOpND.js +1 -0
  37. package/chunk-ClFp7JLZ.js +1 -0
  38. package/{chunk-DCsYP4vf.js → chunk-Cm7JSdTO.js} +1 -1
  39. package/{chunk-BaknLOqq.js → chunk-CnZx831x.js} +1 -1
  40. package/chunk-CsVpmA6t.js +1 -0
  41. package/chunk-Css7wqTG.js +2 -0
  42. package/chunk-CxbeRJcJ.js +1 -0
  43. package/chunk-CzoH_Agx.js +1 -0
  44. package/chunk-CzsiJ0k-.js +1 -0
  45. package/chunk-D04TnMUn.js +2 -0
  46. package/{chunk-pxcB56N0.js → chunk-D2P9ER0I.js} +1 -1
  47. package/{chunk-B-T54LAJ.js → chunk-D38QrkIM.js} +1 -1
  48. package/chunk-D4g_OF7M.js +1 -0
  49. package/chunk-D5V6OY_2.js +2 -0
  50. package/{chunk-DP2sLJDC.js → chunk-D6IQFx6m.js} +1 -1
  51. package/chunk-D6y9RCQD.js +1 -0
  52. package/chunk-D7UddV5F.js +1 -0
  53. package/chunk-D9jPw9Ov.js +1 -0
  54. package/chunk-DA7rrIf8.js +1 -0
  55. package/chunk-DB0aGcRM.js +1 -0
  56. package/{chunk-DqoYKCmi.js → chunk-DBkkb6OR.js} +3 -3
  57. package/chunk-DE8p9-HP.js +1 -0
  58. package/chunk-DFLxy15J.js +1 -0
  59. package/chunk-DHkdQ4u3.js +3 -0
  60. package/chunk-DKRWta24.js +2 -0
  61. package/chunk-DSeMtMg3.js +1 -0
  62. package/chunk-DWCofCiP.js +14 -0
  63. package/chunk-DXLQftDm.js +1 -0
  64. package/{chunk-BaNH2nfC.js → chunk-DYV1Pbu1.js} +1 -1
  65. package/chunk-DaXXLSfy.js +2 -0
  66. package/chunk-Dbq-qyNL.js +3 -0
  67. package/{chunk-xwdrpTfz.js → chunk-DkVHfoYw.js} +2 -2
  68. package/chunk-DmCJ7w-M.js +1 -0
  69. package/{chunk-UUMQmD5I.js → chunk-DneBfCBh.js} +2 -2
  70. package/{chunk-KNmRQWOM.js → chunk-DuRr4rDS.js} +1 -1
  71. package/chunk-Dv_fBX0w.js +1 -0
  72. package/chunk-IqMUABbN.js +1 -0
  73. package/chunk-Kq2ZFJSk.js +1 -0
  74. package/chunk-NAAMYA7J.js +1 -0
  75. package/chunk-NiMN4Rl6.js +1 -0
  76. package/chunk-OQ_HQ9EL.js +1 -0
  77. package/chunk-W1dL7dqQ.js +4 -0
  78. package/chunk-_OzpLe0L.js +1 -0
  79. package/chunk-ayE11Iz-.js +1 -0
  80. package/chunk-fDWfSg6Y.js +3 -0
  81. package/chunk-gId840Er.js +1 -0
  82. package/{chunk-BDhLEYas.js → chunk-iGzJokt-.js} +1 -1
  83. package/{chunk-BFquKzMb.js → chunk-iU19kwHx.js} +1 -1
  84. package/chunk-m8vMm7S6.js +1 -0
  85. package/chunk-xD8qjoz4.js +1 -0
  86. package/chunk-xI8Kkqgy.js +1 -0
  87. package/{chunk-0lYdrxte.js → chunk-zOY5leQB.js} +1 -1
  88. package/index.html +1 -1
  89. package/main-2ZYVV4C4.js +21 -0
  90. package/package.json +1 -1
  91. package/assets/dest-icons/sia_logo_dark.92db63f5.svg +0 -6
  92. package/chunk-1-oPQ4n-.js +0 -1
  93. package/chunk-5EFCeqK3.js +0 -3
  94. package/chunk-AHhgJqe4.js +0 -2
  95. package/chunk-B1dNb-QT.js +0 -1
  96. package/chunk-B8PnvglY.js +0 -2
  97. package/chunk-BAmgFjXY.js +0 -1
  98. package/chunk-BFVhQEGw.js +0 -1
  99. package/chunk-BGcVKmjp.js +0 -1
  100. package/chunk-BHrABvoK.js +0 -1
  101. package/chunk-BNG7N21y.js +0 -1
  102. package/chunk-BQapkAzp.js +0 -1
  103. package/chunk-BRqx-u9-.js +0 -2
  104. package/chunk-BaR3Dslz.js +0 -1
  105. package/chunk-Bg98dUtr.js +0 -2
  106. package/chunk-BiSIt2zb.js +0 -2
  107. package/chunk-BkLND74M.js +0 -1
  108. package/chunk-BqbJuWHd.js +0 -3
  109. package/chunk-C4zj812G.js +0 -1
  110. package/chunk-C5G4RPpS.js +0 -1
  111. package/chunk-CA-0mTsq.js +0 -1
  112. package/chunk-CAEYxmzQ.js +0 -1
  113. package/chunk-CGnsbLNG.js +0 -1
  114. package/chunk-CPjYiawK.js +0 -1
  115. package/chunk-CQHKuUqk.js +0 -2
  116. package/chunk-CSYDDxaa.js +0 -2
  117. package/chunk-CUNe6D-d.js +0 -2
  118. package/chunk-CUaDFQyH.js +0 -1
  119. package/chunk-CnyuuWJ3.js +0 -1
  120. package/chunk-CsgB8OpN.js +0 -1
  121. package/chunk-CspKioFm.js +0 -4
  122. package/chunk-CxOam2tf.js +0 -1
  123. package/chunk-CxUx2RFx.js +0 -1
  124. package/chunk-D0qGkLVr.js +0 -1
  125. package/chunk-D4S_1RMU.js +0 -1
  126. package/chunk-D6WUhpxO.js +0 -14
  127. package/chunk-D7C8xyJI.js +0 -1
  128. package/chunk-D9dEfxn4.js +0 -1
  129. package/chunk-DB1KeglF.js +0 -1
  130. package/chunk-DGO0_pkA.js +0 -2
  131. package/chunk-DKOaWS_j.js +0 -2
  132. package/chunk-DXh9g32e.js +0 -1
  133. package/chunk-DYfv4gJW.js +0 -1
  134. package/chunk-DZMTCfoN.js +0 -1
  135. package/chunk-DcU0yXkQ.js +0 -1
  136. package/chunk-Dg-uYwbp.js +0 -2
  137. package/chunk-DmwtL4h3.js +0 -2
  138. package/chunk-DnTA-m4k.js +0 -2
  139. package/chunk-Du0Hd0t6.js +0 -1
  140. package/chunk-DzYR8wiz.js +0 -2
  141. package/chunk-OIDsf_Aq.js +0 -1
  142. package/chunk-S-sgDIKw.js +0 -1
  143. package/chunk-UCY_7-Of.js +0 -1
  144. package/chunk-X3dwwJIr.js +0 -2
  145. package/chunk-_J1lTnCH.js +0 -1
  146. package/chunk-i6kMmbhY.js +0 -1
  147. package/chunk-oobMnyEm.js +0 -3
  148. package/chunk-sgM_r5NM.js +0 -1
  149. package/chunk-umUQn7LQ.js +0 -1
  150. package/main-XKLDSNLY.js +0 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplicati/ngclient",
3
- "version": "0.0.234",
3
+ "version": "0.0.235",
4
4
  "license": "MIT",
5
5
  "contributors": [
6
6
  "sp90",
@@ -1,6 +0,0 @@
1
- <svg width="71" height="40" viewBox="0 0 71 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="4.40001" height="4.39988" transform="matrix(4.37114e-08 1 1 -4.37114e-08 65.9334 0)" fill="#C3E500"/>
3
- <rect width="4.40001" height="4.39988" transform="matrix(4.37114e-08 1 1 -4.37114e-08 61.5335 0)" fill="#E50AAE"/>
4
- <rect width="4.40001" height="4.39988" transform="matrix(4.37114e-08 1 1 -4.37114e-08 65.9334 4.39998)" fill="#36D955"/>
5
- <path d="M30.8816 40H37.7877V35.8449H30.8816V40ZM19.3714 40H26.2775V35.8449H19.3714V40ZM56.8227 40H61.4268V35.8449H56.8227V40ZM42.3924 40H52.2186V35.8449H42.3924V40ZM0.449596 40H14.7674V35.8449H0.44896V40H0.449596ZM26.502 7.26534H30.6571V0.134766H26.502V7.26534ZM53.6215 23.9977H52.218V35.8449H56.8221V18.944C56.878 14.733 53.8459 11.9254 49.2419 11.9254H38.1247V15.9679H48.5684C50.9264 15.912 52.4425 17.091 52.4425 19C52.3865 21.0775 51.095 21.8635 47.6699 22.9866L44.6378 23.9971C39.8093 25.569 37.7877 28.3207 37.7877 32.1387V35.8443H42.3917V32.8681C42.3917 30.285 43.4022 29.1626 46.8273 27.8145L49.8594 26.6355C51.3194 26.074 52.667 25.3439 53.6215 23.9964V23.9977ZM26.2769 35.8449H30.8809V11.9254H26.2769V35.8449ZM14.7667 35.8449H19.3708V31.9709C19.3708 28.0968 17.2932 25.6822 12.1836 23.9977L9.15154 22.9872C5.78243 21.8642 4.43491 21.1907 4.43491 18.9447C4.43491 17.2041 6.0635 15.9686 8.14042 15.9686H19.0331V11.926H7.46762C3.14399 11.926 0 14.5651 0 18.8887C0 23.2123 2.30203 25.2899 6.9627 26.8619L9.99477 27.8724C14.1499 29.2758 14.7674 30.1744 14.7674 32.8694V35.8455L14.7667 35.8449Z" fill="#1D2609"/>
6
- </svg>
package/chunk-1-oPQ4n-.js DELETED
@@ -1 +0,0 @@
1
- import {c2 as e,aZ as ee,aj as l}from'./main-XKLDSNLY.js';var d=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,m=class n{generate(r,t=d){let a;do a=this.generatePassword(r,t);while(this.calculatePasswordStrength(a)<5);return a}generatePassword(r,t=d){return Array.apply(null,{length:r}).map(()=>{let a;for(;;)if(a=String.fromCharCode(e()),t.test(a))return a},this).join("")}calculatePasswordStrength(r){let t=1;return r.length>=8&&t++,r.match(/[a-z]/)&&r.match(/[A-Z]/)&&t++,r.match(/\d+/)&&t++,r.match(/.[!,@,#,$,%,^,&,*,?,_,~,(,),-]/)&&t++,Math.min(t,5)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=ee({token:n,factory:n.\u0275fac,providedIn:"root"})};function y(n,r,t="conditional"){return a=>{if(!a.parent)return null;let e=null;if(n(a.parent)&&(e=(Array.isArray(r)?r:[r]).find(l=>l(a)!==null)??null),t&&e){let o={};o[t]=e,e=o;}return e}}function F(){return n=>(n.parent&&Object.values(n.parent.controls).forEach(r=>{r!==n&&r.updateValueAndValidity();}),null)}function C(n,r,t,a="conditional"){return e=>{if(!e.parent)return null;let o={},l$1=e.parent.get(n);if(!l$1)return console.warn("Conditional field not found"),null;if(Array.isArray(r)?l$1.value?.includes(r):l$1.value===r){let f=Array.isArray(t)?t:[t];for(let A of f){let u=A(e),p=o||{};if(u!==null){o=l(l({},p),u);break}}}return o}}export{C,F,m,y};
package/chunk-5EFCeqK3.js DELETED
@@ -1,3 +0,0 @@
1
- import {j as jn,m as me}from'./chunk-BDhLEYas.js';import {aj as l$1,T,ab as C,ax as De,I,N as Nt,aG as pt,az as t,aZ as ee$1,G as Ge,ai as m$1,J as zu,b$ as n$1}from'./main-XKLDSNLY.js';var y=class{constructor(t){this.loader=t;}loader;_data=Ge(void 0);_isLoading=false;_loaded=false;load(){return !this._loaded&&!this._isLoading&&(this._isLoading=true,this.loader().pipe(zu(()=>this._isLoading=false)).subscribe(t=>{this._data.set(t),this._loaded=true;})),this._data.asReadonly()}value(){return this._data.asReadonly()}isLoading(){return this._isLoading}isLoaded(){return this._loaded}reset(){this._data.set(void 0),this._loaded=false;}};function K(e){return !("personalLicensedUser"in e)}function q(e){if(K(e))return m$1(l$1({},e),{personal:e.personal,personalLicensedUser:null,personalUnlicensedUser:null});let s=e,{personalLicensedUser:t,personalUnlicensedUser:o}=s,r=n$1(s,["personalLicensedUser","personalUnlicensedUser"]);return m$1(l$1({},r),{personal:t+o,personalLicensedUser:t,personalUnlicensedUser:o})}var d=class e{#e=T(C);#s=T(De);#n=T(I);#o=new y(()=>this.getS3Config("Providers"));#i=new y(()=>this.getS3Config("Regions"));#r=new y(()=>this.getS3Config("RegionHosts"));#a=new y(()=>this.getS3Config("StorageClasses"));#l=Nt(()=>{let t=this.#o.value()(),o=this.#r.value()(),r=[...t??[],...o?.map(s=>({key:`Amazon ${s.key}`,value:s.value}))??[]];return Array.from(new Map(r.map(s=>[s.value,s])).values())});#c=new y(()=>this.getStorjConfig("Satellites"));#u=new y(()=>this.getStorjConfig("AuthenticationMethods"));#p=new y(()=>this.getOpenstackConfig("Providers"));#m=new y(()=>this.getOpenstackConfig("Versions"));#d=new y(()=>this.getGcsConfig("Locations"));#g=new y(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#l}getS3ProvidersFiltered(t){return Nt(()=>this.getS3AllProviders()().filter(t))}getS3Providers(){return this.#o.load()}getS3Regions(){return this.#i.load()}getS3RegionHosts(){return this.#r.load()}getS3StorageClasses(){return this.#a.load()}getStorjSatellites(){return this.#c.load()}getStorjAuthenticationMethods(){return this.#u.load()}getOpenstackProviders(){return this.#p.load()}getOpenstackVersions(){return this.#m.load()}getGcsLocations(){return this.#d.load()}getGcsStorageClasses(){return this.#g.load()}getS3Config(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":t}}).pipe(pt(o=>this.#t(o)))}createS3IamUser(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":t,"s3-password":o}})}createS3PolicyIAM(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:t}})}getStorjConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":t}}).pipe(pt(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(pt(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(pt(o=>this.#t(o)))}#t(t){return (t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}getDuplicatiStorageBackups(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"duplicati-list-backups",requestBody:{action:"ListBackups",url:t}}).pipe(pt(o=>this.#t(o)),pt(o=>o.find(r=>r.key==="folders")?.value),pt(o=>JSON.parse(o)))}getFilenApiKey(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"filen-get-api-key",requestBody:{"filen-operation":"GetApiKey","backup-id":o??"",url:t}}).pipe(pt(r=>this.#t(r)),pt(r=>r.find(s=>s.key==="api-key")?.value))}getOffice365Counts(t$1,o,r){let s={"Content-Type":"application/json"};return this.#n.relayIsEnabled()&&(s.timeout=`${300*1e3}`),this.#s.post(`${t.BASE}/api/v1/webmodule/office365`,JSON.stringify({"backup-id":r??"","source-prefix":o,operation:"CountItems",url:t$1}),{headers:s}).pipe(pt(i=>this.#t(i)),pt(i=>i.find(u=>u.key==="counts")?.value),pt(i=>{let u=JSON.parse(i);return {users:u.users,groups:u.groups,sites:q(u.sites)}}))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=ee$1({token:e,factory:e.\u0275fac,providedIn:"root"})};var n=new jn,p={type:"error",message:$localize`Using a leading slash is most likely wrong, and will result in objects being created with a leading slash in the name.`},L={description:$localize`Unknown destination type`,sourceDescription:null,icon:"assets/dest-icons/file-system.png",isDefaultEntry:true,customFields:{path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path`,formElement:e=>n.control(e??"")}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let s=o.startsWith(`${e}:///`)?o.split(`${e}:///`)[1]:o.split(`${e}://`)[1];return l$1({destinationType:e,custom:{path:s.split("?")[0]}},l(e,t))}}},F={key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,sourceDescription:$localize`Use files from any S3 compatible bucket as a remote source.`,icon:"assets/dest-icons/s3compat.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3AllProviders(),isMandatory:true,formElement:e=>n.control(e??"")},{name:"auth-username",isMandatory:true},{name:"auth-password",isMandatory:true},{name:"use-ssl"}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>Ge([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}]),validate:e=>({type:"warning",message:$localize`Invalid client selected`})}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))}}},P=[{key:"file",displayName:$localize`File system`,description:$localize`Store backups on your local file system.`,sourceDescription:$localize`Use files from your local file system as a remote source.`,icon:"assets/dest-icons/file-system.png",searchTerms:"local disk harddrive localdisk filesystem unc server share drive",sortOrder:110,customFields:{path:{type:"FolderTree",name:"path",doubleSlash:p,shortDescription:$localize`File path`,longDescription:$localize`The path to store the backup`,formElement:e=>n.control(e??""),isMandatory:true}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let r=o.startsWith("file:///"),s=decodeURIComponent(r?o.split("file:///")[1]:o.split("file://")[1]),u=s.slice(1).startsWith(":\\")||s.slice(1).startsWith(":/")||s.startsWith("\\\\")?s:"/"+s;return l$1({destinationType:e,custom:{path:u.split("?")[0]}},l(e,t))}}},{key:"duplicati",displayName:$localize`Duplicati Storage`,description:$localize`Store backups with Duplicati Storage.`,sourceDescription:$localize`Use files from Duplicati Storage as a remote source.`,icon:"assets/dest-icons/duplicati.png",searchTerms:"duplicati internal built-in",sortOrder:100,dynamicFields:[{name:"duplicati-backup-id",type:"DuplicatiBackupId",isMandatory:true,shortDescription:$localize`Unique Backup ID`,longDescription:$localize`A unique identifier for the backup job. It is recommended to not change this value.`}],mapper:{to:e=>c(e,null,null,null),from:(e,t,o)=>l$1({destinationType:e},l(e,t)),default:e=>e&&e.length>0?`duplicati://?duplicati-backup-id=${encodeURIComponent(e)}`:"duplicati://"}},{key:"ssh",displayName:$localize`SFTP (SSH)`,description:$localize`Store backups with SFTP (SSH).`,sourceDescription:$localize`Use files from SFTP (SSH) as a remote source.`,icon:"assets/dest-icons/ssh.png",searchTerms:"sftp scp secure shell",sortOrder:80,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`The server to connect to`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`The port to connect to`,formElement:e=>n.control(e??"",[me.required,me.max(65535)])},path:{type:"Path",name:"path",shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,longDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,longDescription:$localize`Password`}],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:$localize`This is a path to a private key file locally on the machine`,longDescription:$localize`This is a path to a private key file locally on the machine`},{type:"FreeText",name:"ssh-key",shortDescription:$localize`SSH private key`,longDescription:$localize`An SSH private key. Supported formats are OpenSSL, OpenSSH, PuTTY, and PEM.`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,sourceDescription:$localize`Use files from any S3 compatible bucket as a remote source.`,icon:"assets/dest-icons/s3compat.png",searchTerms:"spaces cloud digitalocean cloudian minio linode bunnycdn oracle cloudflare alibaba huawei tencent baidu jd ucloud qiniu aliyun tcloud tencent ",sortOrder:90,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3AllProviders(),isMandatory:true,formElement:e=>n.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:true},{name:"auth-password",isMandatory:true}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>Ge([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))}}},{key:"s3",customKey:"s3-aws",displayName:$localize`Amazon S3`,description:$localize`Store backups in Amazon S3.`,sourceDescription:$localize`Use files from Amazon S3 as a remote source.`,icon:"assets/dest-icons/aws.png",searchTerms:"amazon aws",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3ProvidersFiltered(t=>t.value.endsWith(".amazonaws.com")),isMandatory:true,formElement:e=>n.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:true},{name:"auth-password",isMandatory:true}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>Ge([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return e.dynamic["s3-server-name"]?.endsWith(".amazonaws.com")&&(e.destinationType="s3"),c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))},default:e=>"s3-aws://?use-ssl=true",intercept:e=>e.searchParams.get("s3-server-name")?.endsWith(".amazonaws.com")??false}},{key:"gcs",displayName:$localize`Google Cloud Storage`,description:$localize`Store backups in Google Cloud Storage.`,sourceDescription:$localize`Use files from Google Cloud Storage as a remote source.`,icon:"assets/dest-icons/google-cloud.png",oauthField:"authid",searchTerms:"gcp googlecloud",sortOrder:70,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true,longDescription:$localize`An OAuth token with access to the Google Cloud Storage. Not required if service account JSON is provided.`}],advancedFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getGcsStorageClasses()},{name:"gcs-service-account-file",type:"FileTree",accepts:".json,",shortDescription:$localize`Service account JSON file`,longDescription:$localize`Pick the path to a file with service account JSON.`},{name:"gcs-service-account-json",type:"FreeText",shortDescription:$localize`Service account JSON`,longDescription:$localize`Paste the service account JSON here.`}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))}}},{key:"googledrive",displayName:$localize`Google Drive`,description:$localize`Store backups in Google Drive.`,sourceDescription:$localize`Use files from Google Drive as a remote source.`,icon:"assets/dest-icons/google-drive.png",oauthField:"authid",searchTerms:"gdrive",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"pcloud",displayName:$localize`pCloud`,description:$localize`Store backups in pCloud.`,sourceDescription:$localize`Use files from pCloud as a remote source.`,icon:"assets/dest-icons/pcloud.png",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>Ge([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",oauthVersion:2,isMandatory:true}],mapper:{to:e=>{let{server:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:s}=m(t);return l$1({destinationType:e,custom:{server:r,path:s}},l(e,t))}}},{key:"azure",displayName:$localize`Azure Blob Storage`,description:$localize`Store backups in Azure Blob Storage.`,sourceDescription:$localize`Use files from Azure Blob Storage as a remote source.`,icon:"assets/dest-icons/azure.png",searchTerms:"microsoft ms",sortOrder:60,customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Container name`,longDescription:$localize`Container name`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"onedrivev2",displayName:$localize`OneDrive`,description:$localize`Store backups in OneDrive.`,sourceDescription:$localize`Use files from OneDrive as a remote source.`,icon:"assets/dest-icons/one-drive.png",oauthField:"authid",searchTerms:"micorsoft ms",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"od4b",displayName:$localize`OneDrive Business (deprecated)`,description:$localize`Store backups in OneDrive Business. Deprecated, use Sharepoint instead.`,sourceDescription:$localize`Use files from OneDrive Business as a remote source. Deprecated, use SharePoint instead.`,icon:"assets/dest-icons/one-drive.png",searchTerms:"microsoft ms",sortOrder:-1,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:true}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"mssp",displayName:$localize`Microsoft SharePoint (deprecated)`,description:$localize`Store backups in Microsoft SharePoint using legacy API.`,sourceDescription:$localize`Use files from Microsoft SharePoint as a remote source using the legacy API.`,icon:"assets/dest-icons/sharepoint.png",searchTerms:"microsoft ms",sortOrder:-1,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:true}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"sharepoint",displayName:$localize`Microsoft SharePoint`,description:$localize`Store backups in Microsoft SharePoint.`,sourceDescription:$localize`Use files from Microsoft SharePoint as a remote source.`,icon:"assets/dest-icons/sharepoint.png",oauthField:"authid",searchTerms:"microsoft ms",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"site-id",isMandatory:true},{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"dropbox",displayName:$localize`Dropbox`,description:$localize`Store backups in Dropbox.`,sourceDescription:$localize`Use files from Dropbox as a remote source.`,icon:"assets/dest-icons/dropbox.png",oauthField:"authid",searchTerms:"dbx",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"box",displayName:$localize`Box.com`,description:$localize`Store backups in Box.com.`,sourceDescription:$localize`Use files from Box.com as a remote source.`,icon:"assets/dest-icons/box-com.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"jottacloud",displayName:$localize`Jottacloud`,description:$localize`Store backups in Jottacloud.`,sourceDescription:$localize`Use files from Jottacloud as a remote source.`,icon:"assets/dest-icons/jottacloud.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"b2",displayName:$localize`B2 Cloud Storage`,description:$localize`Store backups in B2 Cloud Storage.`,sourceDescription:$localize`Use files from B2 Cloud Storage as a remote source.`,icon:"assets/dest-icons/backblaze.png",searchTerms:"backblaze",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true,validate:e=>{function t(o){if(!o)return false;let r=o.length;return !(r<6||r>63||!/^[a-zA-Z0-9.-]+$/.test(o)||!/^[a-zA-Z0-9]/.test(o)||!/[a-zA-Z0-9]$/.test(o)||/^\d{1,3}(\.\d{1,3}){3}$/.test(o)||/(\.\.)|(\.-)|(-\.)/.test(o)||o.toLowerCase().startsWith("b2-"))}return t(e)?null:{type:"error",message:$localize`Invalid bucket name.`}}},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Application ID`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Application Key`,isMandatory:true}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))}}},{key:"e2",displayName:$localize`IDrive e2`,description:$localize`Store backups in IDrive e2.`,sourceDescription:$localize`Use files from IDrive e2 as a remote source.`,icon:"assets/dest-icons/idrive-e2.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Access ID`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Access Secret`,isMandatory:true}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{bucket:r,path:s}},l(e,t))}}},{key:"mega",displayName:$localize`Mega.nz`,description:$localize`Store backups in Mega.nz.`,sourceDescription:$localize`Use files from Mega.nz as a remote source.`,icon:"assets/dest-icons/mega-nz.png",sortOrder:-1,customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:true}],mapper:{to:e=>{let t=e.custom.path;return c(e,null,null,t)},from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"msgroup",displayName:$localize`Microsoft Office 365 Group`,description:$localize`Store backups in Microsoft Office 365 Group.`,sourceDescription:$localize`Use files from Microsoft Office 365 Group as a remote source.`,icon:"assets/dest-icons/office-365.png",oauthField:"authid",searchTerms:"ms",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:$localize`Group email`,longDescription:$localize`Group email`,formElement:e=>n.control(e??"",[me.email]),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"cloudfiles",displayName:$localize`Rackspace CloudFiles`,description:$localize`Store backups in Rackspace CloudFiles.`,sourceDescription:$localize`Use files from Rackspace CloudFiles as a remote source.`,icon:"assets/dest-icons/rackspace.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:true}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"rclone",displayName:$localize`Rclone`,description:$localize`Store backups in Rclone.`,sourceDescription:$localize`Use files from Rclone as a remote source.`,icon:"assets/dest-icons/rclone.png",searchTerms:"rcl",dynamicFields:[{name:"rclone-local-repository",shortDescription:$localize`Local repository`,defaultValue:""},{name:"rclone-remote-repository",shortDescription:$localize`Remote repository`,defaultValue:""},{name:"rclone-remote-path",type:"Path",shortDescription:$localize`Path on remote repository`,defaultValue:""}],mapper:{to:e=>{let t=e.dynamic["rclone-remote-repository"],o=e.dynamic["rclone-remote-path"],r=Object.entries(e.dynamic).filter(([s])=>!["rclone-remote-repository","rclone-remote-path"].includes(s));return U(e.destinationType??"rclone",t,null,o,[...Object.entries(e.advanced??{}),...r])},from:(e,t,o)=>{let{advanced:r,dynamic:s}=l(e,t),{bucket:i,path:u}=m(t);return {destinationType:e,dynamic:l$1({"rclone-remote-repository":i,"rclone-remote-path":u},s),advanced:l$1({},r)}}}},{key:"openstack",displayName:$localize`OpenStack Object Storage`,description:$localize`Store backups in OpenStack Object Storage.`,sourceDescription:$localize`Use files from OpenStack Object Storage as a remote source.`,icon:"assets/dest-icons/open-stack.png",searchTerms:"swift",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket`,longDescription:$localize`Bucket`,formElement:e=>n.control(e??""),isMandatory:true}},dynamicFields:[{name:"openstack-authuri",shortDescription:$localize`Auth URI`,type:"Enumeration",loadOptions:e=>e.get(d).getOpenstackProviders(),isMandatory:true},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(d).getOpenstackVersions()},{name:"openstack-domain-name",type:"Hostname",shortDescription:$localize`Domain name`},{name:"openstack-tenant-name",shortDescription:$localize`Tenant name`},{name:"openstack-region",shortDescription:$localize`Region`}],mapper:{to:e=>{let{bucket:t}=e.custom;return c(e,t,null,null)},from:(e,t,o)=>{let{bucket:r,path:s}=m(t);return l$1({destinationType:e,custom:{path:s,bucket:r}},l(e,t))}}},{key:"webdav",displayName:$localize`WebDAV`,description:$localize`Store backups in WebDAV.`,sourceDescription:$localize`Use files from WebDAV as a remote source.`,icon:"assets/dest-icons/webdav.png",searchTerms:"web dav",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`},{name:"auth-username",shortDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:true}],advancedFields:[{type:"FileTree",name:"debug-propfind-file",accepts:".txt,.log"}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"aftp",displayName:$localize`Alternative FTP`,description:$localize`Store backups in FTP.`,sourceDescription:$localize`Use files from FTP as a remote source.`,icon:"assets/dest-icons/ftp.png",searchTerms:"alt file transfer protocol ftps",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:true}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"ftp",displayName:$localize`FTP`,description:$localize`Store backups in FTP.`,sourceDescription:$localize`Use files from FTP as a remote source.`,icon:"assets/dest-icons/ftp.png",searchTerms:"file transfer protocol ftps",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:true}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"sia",displayName:$localize`Sia Decentrilized Cloud`,description:$localize`Store backups in Sia Decentrilized Cloud.`,sourceDescription:$localize`Use files from Sia Decentralized Cloud as a remote source.`,icon:"assets/dest-icons/sia-cloud.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let t=e.custom.server,o=e.dynamic["sia-targetpath"],r=[...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([s])=>s!=="sia-targetpath")];return U(e.destinationType??"sia",t,null,o,r)},from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"cos",displayName:$localize`Tencent COS`,description:$localize`Store backups in Tencent COS.`,sourceDescription:$localize`Use files from Tencent COS as a remote source.`,icon:"assets/dest-icons/tencent-cloud.png",customFields:{bucket:{name:"bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:true,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"cos-region",shortDescription:$localize`Region`},{name:"cos-app-id",shortDescription:$localize`COS App Id`,isMandatory:true},{name:"cos-secret-id",shortDescription:$localize`COS Secret Id`,isMandatory:true},{name:"cos-secret-key",shortDescription:$localize`COS Secret Key`,isMandatory:true}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=m$1(l$1({},e),{advanced:m$1(l$1({},e.advanced),{"cos-bucket":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=l(e,t),s=r.advanced["cos-bucket"];return delete r.advanced["cos-bucket"],l$1({destinationType:e,custom:{path:h(t),bucket:s}},r)}}},{key:"tahoe",displayName:$localize`Tahoe LAFS`,description:$localize`Store backups in Tahoe LAFS.`,sourceDescription:$localize`Use files from Tahoe LAFS as a remote source.`,icon:"assets/dest-icons/tahoelafs.png",searchTerms:"least authority file system",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>n.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:s,path:i}=m(t);return l$1({destinationType:e,custom:{server:r,port:s,path:i}},l(e,t))}}},{key:"smb",displayName:$localize`Windows Share (SMB)`,description:$localize`Store backups on SMB storage.`,sourceDescription:$localize`Use files from SMB storage as a remote source.`,icon:"assets/dest-icons/smb.png",searchTerms:"cifs samba",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>n.control(e??""),isMandatory:true},share:{type:"Hostname",name:"share",shortDescription:$localize`Share Name`,longDescription:$localize`Share Name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>n.control(e??"")}},dynamicFields:["transport",{name:"auth-username",isMandatory:true},{name:"auth-password",isMandatory:true},"auth-domain"],mapper:{to:e=>{let{share:t,server:o,path:r}=e.custom;return c(e,o,null,N(t,r))},from:(e,t,o)=>{let{server:r,path:s}=m(t),i=s.split("/")[0],u=s.split("/").slice(1).join("/");return l$1({destinationType:e,custom:{server:r,share:i,path:u}},l(e,t))}}},{key:"cifs",displayName:$localize`CIFS (deprecated)`,description:$localize`Same as SMB backend, but with a different name. Use SMB instead.`,sourceDescription:$localize`Use files from CIFS storage as a remote source. Deprecated, use SMB instead.`,icon:"assets/dest-icons/smb.png",sortOrder:-1,mapper:L.mapper},{key:"filen",displayName:$localize`Filen.io`,description:$localize`Store backups in Filen.io.`,sourceDescription:$localize`Use files from Filen.io as a remote source.`,icon:"assets/dest-icons/filen.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filen`,longDescription:$localize`Path on Filen`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:true},{name:"auth-password",isMandatory:true},{name:"two-factor-code",type:"Filen2FACode"}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,sourceDescription:$localize`Use files from Filejump as a remote source.`,icon:"assets/dest-icons/file-jump.png",sortOrder:-1,customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filejump`,longDescription:$localize`Path on Filejump`,formElement:e=>n.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:$localize`API Token`,longDescription:$localize`Filejump API Token`,formElement:e=>n.control(e??""),isMandatory:true}],mapper:{to:e=>{let{path:t}=e.custom;return c(e,null,null,t)},from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"storj",customKey:"storjAccessGrant",displayName:$localize`Storj Access Grant`,description:$localize`Store backups in Storj Access Grant.`,sourceDescription:$localize`Use files from Storj with an access grant as a remote source.`,icon:"assets/dest-icons/storj.png",dynamicFields:[{name:"storj-shared-access",shortDescription:$localize`Access Grant`,isMandatory:true},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:true},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p},{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:true}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return `storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l(e,t);return delete r.advanced["storj-auth-method"],l$1({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?false:!!(e.searchParams.get("storj-shared-access")||e.searchParams.get("storj-auth-method")==="Acccess grant"),default:()=>"storj://?storj-shared-access=&storj-auth-method=Acccess+grant"}},{key:"storj",customKey:"storjApiKey",displayName:$localize`Storj API Key`,description:$localize`Store backups in Storj API Key.`,sourceDescription:$localize`Use files from Storj with an API key as a remote source.`,icon:"assets/dest-icons/storj.png",dynamicFields:[{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:true},{name:"storj-api-key",shortDescription:$localize`API Key`,isMandatory:true},{name:"storj-secret",shortDescription:$localize`Secret`,isMandatory:true},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:true},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p}],mapper:{to:e=>{let t={"storj-auth-method":"API key"};return `storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l("storjApiKey",t);return delete r.advanced["storj-auth-method"],l$1({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?false:!!(e.searchParams.get("storj-api-key")||e.searchParams.get("storj-secret")||e.searchParams.get("storj-auth-method")==="API key"),default:()=>"storj://?storj-api-key=&storj-secret=&storj-auth-method=API+key"}},{key:"aliyunoss",displayName:$localize`Aliyun OSS`,description:$localize`Store backups in Aliyun OSS`,sourceDescription:$localize`Use files from Aliyun OSS as a remote source.`,icon:"assets/dest-icons/aliyun.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,formElement:e=>n.control(e??""),isMandatory:true},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in bucket`,longDescription:$localize`Path in bucket`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"oss-endpoint",isMandatory:true},{name:"oss-access-key-id",isMandatory:true},{name:"oss-access-key-secret",isMandatory:true}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=m$1(l$1({},e),{advanced:m$1(l$1({},e.advanced),{"oss-bucket-name":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=l(e,t),s=r.advanced["oss-bucket-name"];return delete r.advanced["oss-bucket-name"],l$1({destinationType:e,custom:{path:h(t),bucket:s}},r)}}},{key:"office365",displayName:$localize`Microsoft 365`,description:$localize`Create backups of Microsoft 365 data.`,sourceDescription:$localize`Use Microsoft 365 data as a remote source.`,searchTerms:"office o365 office365 m365 ms365",icon:"assets/dest-icons/office365.png",isNonFree:true,dynamicFields:[{name:"auth-username",shortDescription:$localize`Client ID`,longDescription:$localize`Application (client) ID from your Azure AD app registration.`,isMandatory:true},{name:"auth-password",shortDescription:$localize`Client Secret`,longDescription:$localize`Client Secret from your Azure AD app registration.`,isMandatory:true},{name:"office365-tenant-id",shortDescription:$localize`Tenant ID`,isMandatory:true}],advancedFields:[{name:"office365-certificate-path",type:"FileTree"}],mapper:{to:e=>`office365://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:s}=l(e,t);return {destinationType:e,advanced:l$1({},r),dynamic:l$1({},s)}}}},{key:"googleworkspace",displayName:$localize`Google Workspace`,description:$localize`Create backups of Google Workspace data.`,sourceDescription:$localize`Use Google Workspace data as a remote source.`,icon:"assets/dest-icons/googleworkspace.png",isNonFree:true,dynamicFields:[{name:"google-admin-email",type:"Email",shortDescription:$localize`Admin Email`,longDescription:$localize`Email address of the Google Workspace admin user.`,isMandatory:true},{name:"google-service-account-json",type:"FreeText",shortDescription:$localize`Service account JSON`,longDescription:$localize`Paste the service account JSON here.`,isMandatory:true}],advancedFields:[{name:"google-service-account-file",type:"FileTree",accepts:".json,",shortDescription:$localize`Service account JSON file`,longDescription:$localize`Pick the path to a file with service account JSON.`}],mapper:{to:e=>`googleworkspace://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:s}=l(e,t);return {destinationType:e,advanced:l$1({},r),dynamic:l$1({},s)}}}},{key:"drimecloud",displayName:$localize`Drime Cloud`,description:$localize`Store backups in Drime Cloud.`,sourceDescription:$localize`Use files from Drime Cloud as a remote source.`,icon:"assets/dest-icons/drime.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in Drime Cloud`,longDescription:$localize`Path in Drime Cloud`,formElement:e=>n.control(e??"")}},dynamicFields:[{name:"api-token",isMandatory:true}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>l$1({destinationType:e,custom:{path:h(t)}},l(e,t))}},g("rabata","Rabata.io",null,"assets/dest-icons/rabata.png",[".rabata.io"]),g("wasabi","Wasabi Hot Storage",null,"assets/dest-icons/wasabi.png",[".wasabisys.com"]),g("impossiblecloud","Impossible Cloud",null,"assets/dest-icons/impossiblecloud.png",[".impossibleapi.net"]),g("scaleway","Scaleway",null,"assets/dest-icons/scaleway.png",[".scw.cloud"]),g("hosteurope","Hosteurope",null,"assets/dest-icons/hosteurope.png",[".hosteurope.de"]),g("dunkel","Dunkel",null,"assets/dest-icons/dunkel.png",[".dunkel.de"]),g("dreamhost","DreamHost",null,"assets/dest-icons/dreamhost.png",[".dreamhost.com"]),g("dincloud","dinCloud",null,"assets/dest-icons/dincloud.png",[".dincloud.com"]),g("polisystems","Poli Systems",null,"assets/dest-icons/polisystems.png",[".polisystems.ch"]),g("ibmcos","IBM COS",null,"assets/dest-icons/ibmcos.png",[".softlayer.net"]),g("storadera","Storadera",null,"assets/dest-icons/storadera.png",[".storadera.com"]),g("infomaniak","Infomaniak",null,"assets/dest-icons/infomaniak.png",[".infomaniak.com",".infomaniak.cloud"]),g("sakuracloud","\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9",null,"assets/dest-icons/sakuracloud.png",[".sakurastorage.jp"]),g("seagatelyve","Seagate Lyve",null,"assets/dest-icons/seagatelyve.png",[".lyvecloud.seagate.com"]),g("internxt","Internxt",null,"assets/dest-icons/internxt.png",[".internxt.com"]),g("selectel","Selectel",null,"assets/dest-icons/selectel.png",[".storage.selcloud.ru",".srvstorage.uz",".srvstorage.kz"])],H={".amazonaws.com":"Amazon 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",".rabata.io":"Rabata S3",".internxt.com":"Internxt S3",".storage.selcloud.ru":"Selectel S3",".srvstorage.uz":"Selectel S3",".srvstorage.kz":"Selectel S3"};var J=new jn,v=class{host;hostname;exactHostname;pathname;port;protocol;search;username;password;searchParams;originalUrl;constructor(t){let o=new URL(t);this.originalUrl=t,this.host=o.host,this.hostname=o.hostname,this.exactHostname=this.extractExactHostname(t),this.pathname=o.pathname,this.port=o.port,this.protocol=o.protocol,this.search=o.search,this.username=o.username,this.password=o.password,this.searchParams=o.searchParams;}extractExactHostname(t){let o=t.match(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/(?:[^@\/?#]*@)?(\[[a-fA-F0-9:.]+\]|[^:\/?#]+)/);return o?o[1]:""}};function c(e,t,o,r){return U(e.destinationType??"file",t,o,r,[...Object.entries(e.advanced),...Object.entries(e.dynamic)])}function U(e,t,o,r,s){let i=b(s),u=encodeURIComponent(X(t)),S=u==""?"":u+Y(o),k=r??"",w=k.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,$=N(S,Q(k));return `${w}${$}${i}`}function Z(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function N(...e){if(e.length===0)return "";if(e.length===1)return e[0]??"";let t="";for(let o of e)o==null||o===""||(t+=t.endsWith("/")||t==""?o:"/"+o);return t}function Q(e){return e.split("/").map(encodeURIComponent).join("/")}function h(e){if(e==null||e==="")return "";if(typeof e=="string")try{e=new v(e);}catch{return ""}return decodeURIComponent(e.exactHostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function X(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function Y(e){return e==null||e===""?"":":"+e.toString()}function Ee(e){return e?e.startsWith("diskimage:")?"assets/dest-icons/external-harddrive.png":V(e).icon:""}function Le(e){if(!e)return "";if(e.startsWith("diskimage:"))return $localize`Local disk`;let t=V(e);return t?t.displayName:"Unknown"}function V(e){try{let o=new v(e),r=P.find(s=>s.mapper.intercept?.(o));if(r)return r}catch{}let t=e.split("://")[0];return G(t)}var ee={file:{Display:$localize`Local`,Icon:null}};function Ne(e){if(!e)return "";let t=V(e);if(!t)return "";let o=ee[t.key];if(o?.Display)return o.Display;if(t.key==="s3"){let r="http://null?"+e.split("?")[1],i=new URL(r).searchParams.get("s3-server-name")?.toLowerCase()??"";for(let[u,S]of Object.entries(H))if(i.endsWith(u))return S}return t.displayName}function G(e){return P.find(o=>o.key===e||o.customKey===e)??P.find(o=>`${o.key}s`===e)??null??l$1({key:e,displayName:e},L)}function Ie(e){return P.filter(t=>t.key===e||t.customKey===e)}function m(e){return {bucket:decodeURIComponent(e.exactHostname),server:decodeURIComponent(e.exactHostname||e.hostname),port:e.port,path:Z(decodeURIComponent(e.pathname))}}function l(e,t){let o={},r={},s=G(e);return t.searchParams.forEach((i,u)=>{s?.dynamicFields?.some(k=>k===u||k?.name===u)?r[u]=decodeURIComponent(i):o[u]=decodeURIComponent(i);}),{advanced:o,dynamic:r}}function b(e,t=false){let o=e.map(([s,i])=>`${s}=${i?encodeURIComponent(i.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function Be(e){let t=e.destinationType??"";return G(t)?.mapper.to(e)??""}function xe(e){let t=e.split("://")[0],o=e.split("://")[1],r=t==="file"?"http://dummy":o==""||o.startsWith("?")?`${t}://`+o:"http://"+o;if(!o)return null;let s=V(e),i="";if(`${s.key}s`===t&&(i+=r.indexOf("?")===-1?"?":"&",i+="use-ssl=true",e=s.key+e.substring(t.length)),t==="file"&&o.indexOf("?")!==-1&&(i+=i.indexOf("?")===-1?"?":"&",i+=o.split("?")[1]??""),t==="file"&&o.startsWith("%")&&!o.startsWith("%5C"))return G(t).mapper.from(t,new v("http://localhost"+i),e);try{let u=new v(r+i);if(u.host==="undefined")return null;let S=o.split("?")[0].split("/")[0],k=u.host!=""&&!isNaN(Number(u.host.replaceAll(".",""))),A=S.split("."),w=A.length===4&&A.every($=>$.length&&$.length<=3&&!isNaN(Number($))&&parseInt($)<=255);return k&&!w?null:s.mapper.from(s.key,u,e)}catch(u){return console.error("Error while parsing target path",e,r+i,u),null}}function _(e){return typeof e!="string"||!e.trim()?[]:e.split(`
2
- `).map(t=>t.trim()).filter(t=>t).map(t=>{let[o,...r]=t.split("="),s=r.join("=").trim();return o.trim()?[o.trim(),s]:null}).filter(t=>t!==null)}function je(e){return _(e).map(([t,o])=>({Name:t,Value:o}))}function Te(e){return Object.fromEntries(_(e))}function Re(e){if(!e)return false;let t=e.length;return !(t<3||t>63||!/^[a-z0-9.-]+$/.test(e)||!/^[a-z0-9]/.test(e)||!/[a-z0-9]$/.test(e)||/^\d{1,3}(\.\d{1,3}){3}$/.test(e)||/(\.\.)|(\.-)|(-\.)/.test(e))}function We(e){if(!e||e.length>253)return false;let t=e.split(".");for(let o of t)if(!o||o.length>63||!/^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$/.test(o))return false;return true}function g(e,t,o,r,s){return m$1(l$1({},F),{customKey:`s3-${e}`,icon:r??F.icon,displayName:$localize`${t} (S3)`,description:$localize`Store backups in ${t} storage.`,dynamicFields:[...(F.dynamicFields??[]).filter(i=>i?.name!=="s3-server-name"),{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the ${t} endpoint`,type:"NonValidatedSelectableString",loadOptions:i=>i.get(d).getS3ProvidersFiltered(u=>s.some(S=>u.value.endsWith(S))),isMandatory:true,formElement:i=>J.control(i??"")}],mapper:m$1(l$1({},F.mapper),{to:i=>{let{bucket:u,path:S}=i.custom;return s.some(k=>i.dynamic["s3-server-name"]?.endsWith(k))&&(i.destinationType="s3"),c(i,u,null,S)},default:i=>`s3-${e}://?use-ssl=true`,intercept:i=>s.some(u=>i.searchParams.get("s3-server-name")?.endsWith(u))??false})})}
3
- export{Be as B,Ee as E,G,Ie as I,Le as L,Ne as N,Re as R,Te as T,V,We as W,d,h,je as j,xe as x};
package/chunk-AHhgJqe4.js DELETED
@@ -1,2 +0,0 @@
1
- import {T,a7 as l,E as E1,N as Nt,h as hw,a1 as dT,a2 as fT,e as ee,aw as W,a6 as be,ah as fe$1,ab as C,A as v,G as Ge,at as h$1,az as t,v as v$1,u as ue,ak as dm,Q as Qi,s as jC,$ as $l,d as aT,H as Hg,n as nC,al as WC,C as CE,f as NC,K as im,g as cT,i as Ig,y as vg,k as iC,ao as qC,aa as Ql,F as Fg,j as jg,ar as Zp,l as vT,O as Od,P as Pd,aP as ql,aQ as Gl}from'./main-XKLDSNLY.js';import {d}from'./chunk-BnFO-7ok.js';function ae(i,t){if(i&1&&(Qi(0,"div",11),jC(1),$l()),i&2){iC();let e=qC(0);CE(),Ql(" ",e.Message," ");}}function re(i,t){if(i&1&&(Qi(0,"div"),Fg(1,1),Ig(2,"a",15),jg(),$l()),i&2){let e=iC();CE(2),vg("href",e.downloadLink(),Zp);}}function ce(i,t){if(i&1){let e=vT();Qi(0,"button",14),Hg("click",function(){Od(e);let o=iC(),l=qC(0);return Pd(o.doRepair(l.BackupID))}),nC(1,2),$l();}}function le(i,t){if(i&1){let e=vT();Qi(0,"button",14),Hg("click",function(){Od(e);let o=iC(),l=qC(0);return Pd(o.doDownloadBugreport(l))}),nC(1,3),$l();}}function _e(i,t){if(i&1&&Ig(0,"sh-progress-bar",17),i&2){let e=iC(2);vg("value",e.serverState()?.UpdateDownloadProgress);}}function se(i,t){if(i&1){let e=vT();Qi(0,"div",11),ql(1),nC(2,4),Gl(),Qi(3,"a",16),jC(4),$l(),aT(5,_e,1,1,"sh-progress-bar",17),Qi(6,"button",14),Hg("click",function(){Od(e);let o=iC();return Pd(o.doShowUpdate())}),nC(7,5),$l()();}if(i&2){let e=iC(),n=qC(0);CE(3),vg("href",e.serverState()?.UpdateDownloadLink,Zp),CE(),im(n.Message),CE(),cT(e.serverState()?.UpdaterState==="Downloading"?5:-1);}}function de(i,t){if(i&1){let e=vT();Qi(0,"button",14),Hg("click",function(){Od(e);let o=iC(),l=qC(0);return Pd(o.doShowLog(l.BackupID))}),nC(1,6),$l();}}function Ne(i,t){if(i&1){let e=vT();Qi(0,"button",14),Hg("click",function(){Od(e);let o=iC();return Pd(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,7),$l();}}function Te(i,t){if(i&1){let e=vT();Qi(0,"button",14),Hg("click",function(){Od(e);let o=iC();return Pd(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,8),$l();}}var Ce={Error:"error",Warning:"warn",Information:"primary"},h=class i{#e=T(ee);#a=T(W);#r=T(be);#t=T(fe$1);#i=T(l);#n=T(C);#c=T(v);#o=Ge(null);serverState=this.#i.serverState;index=E1.required();notification=E1.required();downloadLink=Nt(()=>this.#o()||this.notification().DownloadLink||"");deleteNotificationByIndex(){this.#i.deleteNotification(this.index());}deleteAllNotifications(){this.#i.deleteAllNotifications();}getAlertType(t){return t&&Ce[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#e.navigate(["/backup/"+t+"/log"]);},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#r.open(h$1,{maxWidth:"550px",width:"100%",data:n});}else this.#t.error($localize`Failed to find backup: `+e.message);}});}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#t.success($localize`Backup repaired`),this.#e.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#a});},error:e=>{this.#t.error($localize`Failed to repair backup: `+e.message);}});}doShowUpdate(){this.#e.navigate(["/about/changelog"]);}doShowLink(t){window.open(t,"_blank");}doDownloadBugreport(t$1){let e=t$1.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:"bugreport"}).subscribe({next:n=>{if(!n.Token){this.#t.error("Failed to get bug report URL: No token generated");return}let o=t.BASE||"",l=this.#c.xsrfQueryParam(),m=`${location.origin}${o}/api/v1/bugreport/${e}?token=${n.Token}${l?`&${l}`:""}`;t$1.DownloadLink=m,this.#o.set(m),this.triggerDownload(m);},error:n=>{this.#t.error(`Failed to get bug report URL: ${n.message}`);}});}triggerDownload(t){let e=document.createElement("a");e.href=t,e.download="",e.style.display="none",document.body.appendChild(e);try{e.click();}catch{}document.body.removeChild(e);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notification"]],inputs:{index:[1,"index"],notification:[1,"notification"]},decls:16,vars:12,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let l;l=$localize`New update found:`;let m;m=$localize`Show Update`;let b;b=$localize`Show Log`;let L;L=$localize` Show Help `;let $;return $=$localize` Show Help `,[t,e,n,o,l,m,b,L,$,["ship-alert-title",""],["ship-alert-content","",1,"content"],[1,"message"],[1,"sub-actions"],["shButton","",1,"small","outlined"],["shButton","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){if(e&1&&(dm(0),Qi(1,"sh-alert")(2,"div",9),jC(3),$l(),Qi(4,"div",10),aT(5,ae,2,1,"div",11),aT(6,re,3,1,"div"),Qi(7,"div",12),aT(8,ce,2,0,"button",13),aT(9,le,2,0,"button",13),aT(10,se,8,3,"div",11),aT(11,de,2,0,"button",13),aT(12,Ne,2,0,"button",13),aT(13,Te,2,0,"button",13),Qi(14,"button",14),Hg("click",function(){return n.deleteNotificationByIndex()}),nC(15,0),$l()()()()),e&2){let o=WC(n.notification());CE(),NC(n.getAlertType(o.Type)),CE(2),im(o.Title),CE(2),cT(o.Action!=="update:new"&&o.Action!=="update:manual"?5:-1),CE(),cT(n.downloadLink()?6:-1),CE(2),cT(o.Message?.includes("please run repair")?8:-1),CE(),cT(o.Action?.startsWith("bug-report:created:")&&!n.downloadLink()?9:-1),CE(),cT(o.Action==="update:new"?10:-1),CE(),cT(o.Action==="backup:show-log"?11:-1),CE(),cT(o.Action==="config:issue:unencrypted-database"?12:-1),CE(),cT(o.Action==="config:issue:windows-folder-used"?13:-1);}},dependencies:[d,v$1,ue],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.message[_ngcontent-%COMP%]{max-height:12.5rem;overflow:auto}.sub-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}"]})};var pe=(i,t)=>t.ID;function Ie(i,t){if(i&1&&Ig(0,"app-notification",1),i&2){let e=t.$implicit,n=t.$index;vg("index",n)("notification",e);}}function fe(i,t){i&1&&(Qi(0,"div",2)(1,"p"),nC(2,0),$l()());}var ie=class i{#e=T(l);notificationFilterPredicate=E1();notifications=Nt(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#e.notifications();return typeof t!="function"?e:e.filter(t)});static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`No more notifications`,[t,[3,"index","notification"],[1,"notification-list"]]},template:function(e,n){e&1&&dT(0,Ie,1,2,"app-notification",1,pe,false,fe,3,0,"div",2),e&2&&fT(n.notifications());},dependencies:[h],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}.notification-list[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"]})};
2
- export{h,ie as i};
package/chunk-B1dNb-QT.js DELETED
@@ -1 +0,0 @@
1
- import {e as ee,W}from'./chunk-i6kMmbhY.js';import {k}from'./chunk-Du0Hd0t6.js';import'./chunk-BFquKzMb.js';import'./chunk-D7C8xyJI.js';import {N as Ne,E as Ee}from'./chunk-5EFCeqK3.js';import'./chunk-GKdOPH_4.js';import {v as ve}from'./chunk-KNmRQWOM.js';import {x}from'./chunk-B-T54LAJ.js';import {c}from'./chunk-D5zSyubd.js';import {D}from'./chunk-Cv4o9u3S.js';import {T,ab as C,aX as y,a5 as g,bj as Q,a6 as be,m,N as Nt$1,G as Ge,B as A,z as za,J as zu,h as hw,_ as _t$1,v,c as N,i as Ig,Q as Qi,H as Hg,n as nC,$ as $l,F as Fg,j as jg,aP as ql,aQ as Gl,d as aT,b5 as lg,b6 as oT,bi as cg,c5 as lb,C as CE,y as vg,a3 as KC,g as cT,b7 as iT,o as oC,l as vT,p as lm,O as Od,k as iC,U as UC,P as Pd,w as cm,s as jC,au as Vg,av as rC,a1 as dT,ap as lT,a2 as fT,L as Kg,c3 as pC,a$ as JC,b_ as wg,ak as dm,aa as Ql,ar as Zp,al as WC,aM as ob,aN as ab,ao as qC,aR as sb,bZ as ei$1,cq as ce,cr as y$1,be as Fi,cs as tn,ct as en,ad as Mr,aJ as ci,bh as pi,cu as A$1,cv as I,cw as fv,cx as Je,aL as hi,cy as Ne$1,cz as U,bf as Jt$1,cA as Ce,bg as Kn$1,cB as ye,cC as qt$1,cD as Ee$1,cE as Qt$1,cF as Ze,cG as ne,cH as m$1,cI as de,cJ as g$1,cK as nn,cL as j,cM as d$1,cN as Rt$1,cO as Zt$1,cP as Gt$1,cQ as Kt$1,cR as Yt$1,cS as zt$1,cT as q,cU as Q$1,cV as Bt$1,cW as Pt$1,cX as kt$1,cY as Ut$1,cZ as jt$1,c_ as Ot$1,c$ as Nt$2,d0 as Fe,d1 as M,d2 as xt$1,d3 as J,d4 as Vt$1,bs as Rr,d5 as Or,d6 as Tr,d7 as f$1,d8 as wi,d9 as Ai,bL as s,da as L,db as k$1,dc as _,aI as c$1,aH as m$2,b2 as m$3}from'./main-XKLDSNLY.js';import {f}from'./chunk-CTH9uShX.js';import {d}from'./chunk-BnFO-7ok.js';import'./chunk-DqoYKCmi.js';import'./chunk-BDhLEYas.js';import {a as at$1}from'./chunk-UUMQmD5I.js';import {C as C$1}from'./chunk-B8PnvglY.js';import'./chunk-CsgB8OpN.js';import'./chunk-BaknLOqq.js';import'./chunk-DCsYP4vf.js';var fn=()=>[_t$1,Promise.resolve().then(function(){return chunkSWVAJ6TW}).then(e=>e.NgTemplateOutlet),v,N,Promise.resolve().then(function(){return chunkJGYPH2BS}).then(e=>e.ShipChip),import('./chunk-xwdrpTfz.js').then(e=>e.ShipTable),import('./chunk-xwdrpTfz.js').then(e=>e.ShipSort),at$1,Promise.resolve().then(function(){return chunkAOYFZEXX}).then(e=>e.BackupProgressComponent),Promise.resolve().then(function(){return chunk4HOV3NJV}).then(e=>e.DurationFormatPipe),Promise.resolve().then(function(){return chunkHNLWAJTV}).then(e=>e.BytesPipe),Promise.resolve().then(function(){return chunkDXTOMSER}).then(e=>e.RelativeTimePipe)],hn=()=>["/add-backup"],$n=()=>["/restore"],Dn=e=>({$implicit:e}),yn=()=>["/backup/new"],Rn=e=>["/backup",e,"export"],An=e=>["/backup",e,"delete"],xn=e=>["/backup",e,"database"],Hn=e=>["/backup",e,"commandline"],Ln=e=>["/backup",e,"log"],kn=e=>["/backup",e],Gn=e=>["/restore",e],bn=e=>["/backup",e,"version-labels"],Bn=e=>["/backup",e,"delete-versions"],vn=e=>["/backup",e,"broken-files"];function Jn(e,t){e&1&&nC(0,11,1);}function Xn(e,t){e&1&&nC(0,11,2);}function wn(e,t){if(e&1&&nC(0,11,3),e&2){let n=iC(2);Vg(n.timeType()),rC(0);}}function zn(e,t){if(e&1){let n=vT();Qi(0,"button",71),Hg("click",function(){let c=Od(n).$implicit,d=iC(3);return Pd(d.sortByColumn.set(c.value))}),nC(1,15),$l();}if(e&2){let n=t.$implicit,a=iC(3);Kg("active",a.orderBy()===n.value),CE(),Vg(n.label),rC(1);}}function Vn(e,t){if(e&1&&(Qi(0,"sh-menu",68)(1,"button",69),Fg(2,14),Ig(3,"strong")(4,"sh-icon"),jg(),$l(),ql(5,70),dT(6,zn,2,3,"button",72,lT),Gl(),$l()),e&2){let n=iC(2);CE(4),Vg(n.orderBy()),rC(2),CE(2),fT(n.sortOrderOptions());}}function Un(e,t){if(e&1){let n=vT();Qi(0,"div",64)(1,"sh-button-group",65),lm("valueChange",function(c){Od(n);let d=iC();return UC(d.viewMode,c)||(d.viewMode=c),Pd(c)}),Qi(2,"button",66),Fg(3,9),Ig(4,"sh-icon"),jg(),$l(),Qi(5,"button",67),Fg(6,10),Ig(7,"sh-icon"),jg(),$l()(),Qi(8,"sh-menu",68)(9,"button",69),Fg(10,11),Qi(11,"strong"),aT(12,Jn,1,0)(13,Xn,1,0)(14,wn,1,1),$l(),Ig(15,"sh-icon"),jg(),$l(),ql(16,70),Qi(17,"button",71),Hg("click",function(){Od(n);let c=iC();return Pd(c.setTimeType("relative"))}),nC(18,12),$l(),Qi(19,"button",71),Hg("click",function(){Od(n);let c=iC();return Pd(c.setTimeType("actual"))}),nC(20,13),$l(),Gl(),$l(),aT(21,Vn,8,1,"sh-menu",68),$l();}if(e&2){let n=iC();CE(),cm("value",n.viewMode),CE(11),cT(n.timeType()=="relative"?12:n.timeType()=="actual"?13:14),CE(9),cT(n.viewMode()==="list"?21:-1);}}function Kn(e,t){e&1&&(Qi(0,"sh-chip",79),Fg(1,19),Ig(2,"sh-icon"),jg(),$l()),e&2&&vg("shTooltip","Synchronization job");}function jn(e,t){if(e&1){let n=vT();Qi(0,"div",77)(1,"div",60)(2,"h3"),jC(3),aT(4,Kn,3,1,"sh-chip",79),Qi(5,"sh-chip"),Ig(6,"img",80),jC(7),$l()()(),Qi(8,"div",81)(9,"sh-chip",82),nC(10,16),$l()(),Qi(11,"div",64)(12,"button",83),Hg("click",function(){Od(n);let c=iC().$implicit,d=iC(4);return Pd(d.startBackup(c.Backup.ID))}),Fg(13,17),Ig(14,"sh-icon"),jg(),$l(),Qi(15,"button",84),Hg("click",function(){Od(n);let c=iC().$implicit,d=iC(4);return Pd(d.openInConsole(c))}),Fg(16,18),Ig(17,"sh-icon"),jg(),$l()(),Ig(18,"app-backup-progress",85),$l();}if(e&2){let n=iC().$implicit,a=iC(4);CE(3),Ql(" ",n.Backup.Name??a.MISSING_BACKUP_NAME," "),CE(),cT(n.Backup.OperationType==="Sync"?4:-1),CE(2),vg("src",a.getBackendIcon(n.Backup.TargetURL),Zp),CE(),Ql(" ",a.getBackendType(n.Backup.TargetURL)," "),CE(5),Kg("loading",a.startingBackup()===n.Backup.ID),CE(6),vg("backupId",n.Backup.ID);}}function Wn(e,t){e&1&&(Qi(0,"sh-chip",79),Fg(1,21),Ig(2,"sh-icon"),jg(),$l()),e&2&&vg("shTooltip","Synchronization job");}function qn(e,t){if(e&1&&(Qi(0,"sh-chip"),Ig(1,"img",80),jC(2),$l()),e&2){let n=t.$implicit,a=iC(7);CE(),vg("src",a.getBackendIcon(n.TargetUrl),Zp),CE(),Ql(" ",a.getBackendType(n.TargetUrl)," ");}}function Qn(e,t){if(e&1&&dT(0,qn,3,2,"sh-chip",null,lT),e&2){let n=iC(2).$implicit;fT(n.Backup.AdditionalTargetURLs);}}function Yn(e,t){if(e&1&&(Qi(0,"p")(1,"span"),nC(2,26),$l(),jC(3),ob(4,"relativeTime"),$l()),e&2){iC();let n=qC(5),a=iC(6);CE(3),Ql(" ",ab(4,1,n,a.timeType()==="actual")," ");}}function Zn(e,t){if(e&1&&(jC(0),ob(1,"durationFormat")),e&2){let n=iC(3).$implicit,a=iC(4);Ql(" ",ab(1,1,n.Backup.Metadata?.LastBackupDuration,a.timeType()==="actual")," ");}}function et(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function nt(e,t){if(e&1&&(jC(0),ob(1,"bytes")),e&2){let n=iC(3).$implicit;Ql(" ",sb(1,1,n.Backup.Metadata?.SourceFilesSize)," ");}}function tt(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function it(e,t){if(e&1&&(jC(0),ob(1,"bytes")),e&2){let n=iC(3).$implicit;Ql(" ",sb(1,1,n.Backup.Metadata?.TargetFilesSize)," ");}}function ot(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function _t(e,t){if(e&1&&(Qi(0,"p")(1,"span"),nC(2,22),$l(),jC(3),ob(4,"relativeTime"),$l(),dm(5),aT(6,Yn,5,4,"p"),Qi(7,"p")(8,"span"),nC(9,23),$l(),aT(10,Zn,2,4)(11,et,2,0,"ng-container"),$l(),Qi(12,"p")(13,"span"),nC(14,24),$l(),aT(15,nt,2,3)(16,tt,2,0,"ng-container"),$l(),Qi(17,"p")(18,"span"),nC(19,25),$l(),aT(20,it,2,3)(21,ot,2,0,"ng-container"),$l()),e&2){let n=iC(2).$implicit,a=iC(4);CE(3),Ql(" ",ab(4,5,n.Backup.Metadata?.LastBackupFinished,a.timeType()==="actual")," "),CE(2);let c=WC(a.scheduledTimes()[n.Backup.ID??""]);CE(),cT(c?6:-1),CE(4),cT(n.Backup.Metadata?.LastBackupDuration?10:11),CE(5),cT(n.Backup.Metadata?.SourceFilesSize?15:16),CE(5),cT(n.Backup.Metadata?.TargetFilesSize?20:21);}}function at(e,t){if(e&1&&Ig(0,"app-backup-progress",85),e&2){let n=iC(2).$implicit;vg("backupId",n.Backup.ID);}}function lt(e,t){e&1&&(Qi(0,"sh-chip",82),nC(1,27),$l());}function rt(e,t){e&1&&wg(0);}function ct(e,t){if(e&1&&(Qi(0,"div",78)(1,"div",60)(2,"h3"),jC(3),aT(4,Wn,3,1,"sh-chip",79),Qi(5,"sh-chip"),Ig(6,"img",80),jC(7),$l(),aT(8,Qn,2,0),$l(),aT(9,_t,22,9)(10,at,1,1,"app-backup-progress",85),$l(),Qi(11,"div",81)(12,"sh-chip",86),nC(13,20),$l(),aT(14,lt,2,0,"sh-chip",82),$l(),Qi(15,"div",64),cg(16,rt,1,0,"ng-container",87),$l()()),e&2){let n=iC().$implicit,a=iC(4),c=pC(33);CE(3),Ql(" ",n.Backup.Name??a.MISSING_BACKUP_NAME," "),CE(),cT(n.Backup.OperationType==="Sync"?4:-1),CE(2),vg("src",a.getBackendIcon(n.Backup.TargetURL),Zp),CE(),Ql(" ",a.getBackendType(n.Backup.TargetURL)," "),CE(),cT(n.Backup.AdditionalTargetURLs?.length?8:-1),CE(),cT(a.runningBackupId()!==n.Backup.ID?9:10);let d=a.getBackupVersionCount(n);CE(4),Vg(d)(d),rC(13),CE(),cT(n.Backup.ExternalID?14:-1),CE(2),vg("ngTemplateOutlet",c)("ngTemplateOutletContext",JC(11,Dn,n));}}function st(e,t){if(e&1&&aT(0,jn,19,7,"div",77)(1,ct,17,13,"div",78),e&2){let n=t.$implicit;cT(n.Backup.ExternalID?0:1);}}function ut(e,t){if(e&1&&dT(0,st,2,1,null,null,lT),e&2){let n=iC(3);fT(n.backups());}}function Ft(e,t){e&1&&(Qi(0,"div",76),Fg(1,28),Qi(2,"button",88),Ig(3,"sh-icon"),$l(),jg(),$l()),e&2&&(CE(2),vg("routerLink",KC(1,yn)));}function Ct(e,t){if(e&1&&(Qi(0,"div",75),aT(1,ut,2,0)(2,Ft,4,2,"div",76),$l()),e&2){let n=iC(2);Kg("fallback",n.backups().length===0),CE(),cT(n.backups().length?1:2);}}function Tt(e,t){e&1&&(Fg(0,29,1),wg(1),jg());}function dt(e,t){e&1&&(Fg(0,30,1),wg(1),jg());}function Et(e,t){e&1&&(Fg(0,31,1),wg(1),jg());}function pt(e,t){e&1&&(Fg(0,32,1),wg(1),jg());}function gt(e,t){e&1&&(Fg(0,33,1),wg(1),jg());}function St(e,t){e&1&&(Fg(0,34,1),wg(1),jg());}function mt(e,t){e&1&&(Fg(0,35,1),wg(1),jg());}function Ot(e,t){e&1&&(Qi(0,"sh-chip",99),Fg(1,39),Ig(2,"sh-icon"),jg(),$l()),e&2&&vg("shTooltip","Synchronization job");}function Nt(e,t){if(e&1&&(Qi(0,"sh-chip"),Ig(1,"img",80),jC(2),$l()),e&2){let n=t.$implicit,a=iC(5);CE(),vg("src",a.getBackendIcon(n.TargetUrl),Zp),CE(),Ql(" ",a.getBackendType(n.TargetUrl)," ");}}function Mt(e,t){if(e&1&&dT(0,Nt,3,2,"sh-chip",null,lT),e&2){let n=iC().$implicit;fT(n.Backup.AdditionalTargetURLs);}}function It(e,t){if(e&1&&(jC(0),ob(1,"relativeTime")),e&2){let n=iC().$implicit,a=iC(3);Ql(" ",ab(1,1,n.Backup.Metadata?.LastBackupFinished,a.timeType()==="actual")," ");}}function Pt(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function Dt(e,t){if(e&1&&(jC(0),ob(1,"relativeTime")),e&2){iC();let n=qC(13),a=iC(3);Ql(" ",ab(1,1,n,a.timeType()==="actual")," ");}}function ft(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function ht(e,t){if(e&1&&(jC(0),ob(1,"durationFormat")),e&2){let n=iC().$implicit,a=iC(3);Ql(" ",ab(1,1,n.Backup.Metadata?.LastBackupDuration,a.timeType()==="actual")," ");}}function $t(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function yt(e,t){if(e&1&&(jC(0),ob(1,"bytes")),e&2){let n=iC().$implicit;Ql(" ",sb(1,1,n.Backup.Metadata?.SourceFilesSize)," ");}}function Rt(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function At(e,t){if(e&1&&(jC(0),ob(1,"bytes")),e&2){let n=iC().$implicit;Ql(" ",sb(1,1,n.Backup.Metadata?.TargetFilesSize)," ");}}function xt(e,t){e&1&&(ql(0),jC(1,"-"),Gl());}function Ht(e,t){e&1&&wg(0);}function Lt(e,t){if(e&1&&(Qi(0,"tr")(1,"td"),jC(2),aT(3,Ot,3,1,"sh-chip",99),$l(),Qi(4,"td")(5,"sh-chip",100),Ig(6,"img",80),jC(7),$l(),aT(8,Mt,2,0),$l(),Qi(9,"td"),aT(10,It,2,4)(11,Pt,2,0,"ng-container"),$l(),Qi(12,"td"),dm(13),aT(14,Dt,2,4)(15,ft,2,0,"ng-container"),$l(),Qi(16,"td"),aT(17,ht,2,4)(18,$t,2,0,"ng-container"),$l(),Qi(19,"td"),aT(20,yt,2,3)(21,Rt,2,0,"ng-container"),$l(),Qi(22,"td"),aT(23,At,2,3)(24,xt,2,0,"ng-container"),$l(),Qi(25,"td")(26,"span"),nC(27,38),$l()(),Qi(28,"td"),cg(29,Ht,1,0,"ng-container",87),$l()()),e&2){let n=t.$implicit,a=iC(3),c=pC(33);CE(2),Ql(" ",n.Backup.Name??a.MISSING_BACKUP_NAME," "),CE(),cT(n.Backup.OperationType==="Sync"?3:-1),CE(3),vg("src",a.getBackendIcon(n.Backup.TargetURL),Zp),CE(),Ql(" ",a.getBackendType(n.Backup.TargetURL)," "),CE(),cT(n.Backup.AdditionalTargetURLs?.length?8:-1),CE(2),cT(n.Backup.Metadata?.LastBackupFinished?10:11),CE(3);let d=WC(a.scheduledTimes()[n.Backup.ID??""]);CE(),cT(d?14:15),CE(3),cT(n.Backup.Metadata?.LastBackupDuration?17:18),CE(3),cT(n.Backup.Metadata?.SourceFilesSize?20:21),CE(3),cT(n.Backup.Metadata?.TargetFilesSize?23:24);let R=a.getBackupVersionCount(n);CE(4),Vg(R)(R),rC(27),CE(2),vg("ngTemplateOutlet",c)("ngTemplateOutletContext",JC(15,Dn,n));}}function kt(e,t){if(e&1){let n=vT();Qi(0,"sh-table",89),lm("sortByColumnChange",function(c){Od(n);let d=iC(2);return UC(d.sortByColumn,c)||(d.sortByColumn=c),Pd(c)}),Qi(1,"tr",90)(2,"th",91),Fg(3,29),cg(4,Tt,2,0,"ng-container",92),jg(),$l(),Qi(5,"th",93),Fg(6,30),cg(7,dt,2,0,"ng-container",92),jg(),$l(),Qi(8,"th",94),Fg(9,31),cg(10,Et,2,0,"ng-container",92),jg(),$l(),Qi(11,"th",95),Fg(12,32),cg(13,pt,2,0,"ng-container",92),jg(),$l(),Qi(14,"th",96),Fg(15,33),cg(16,gt,2,0,"ng-container",92),jg(),$l(),Qi(17,"th",97),Fg(18,34),cg(19,St,2,0,"ng-container",92),jg(),$l(),Qi(20,"th",98),Fg(21,35),cg(22,mt,2,0,"ng-container",92),jg(),$l(),Qi(23,"th"),nC(24,36),$l(),Qi(25,"th"),nC(26,37),$l()(),dT(27,Lt,30,17,"tr",null,lT),$l();}if(e&2){let n=iC(2),a=pC(35);vg("data",n.backups())("loading",n.backupsLoading()),cm("sortByColumn",n.sortByColumn),CE(4),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(3),vg("ngTemplateOutlet",a),CE(5),fT(n.backups());}}function Gt(e,t){if(e&1&&aT(0,Ct,3,3,"div",73)(1,kt,29,10,"sh-table",74),e&2){let n=iC();cT(n.viewMode()==="list"?0:n.viewMode()==="details"?1:-1);}}function bt(e,t){e&1&&(Qi(0,"div",101),Ig(1,"sh-progress-bar",102),Qi(2,"div",60)(3,"h3"),nC(4,40),$l()()());}function Bt(e,t){if(e&1){let n=vT();Qi(0,"button",83),Hg("click",function(){Od(n);let c=iC(3);return Pd(c.abort())}),Fg(1,42),Ig(2,"sh-icon"),jg(),$l();}if(e&2){let n=iC(3);Kg("small",n.viewMode()==="details");}}function vt(e,t){if(e&1){let n=vT();Qi(0,"button",83),Hg("click",function(){Od(n);let c=iC(3);return Pd(c.stop())}),Fg(1,43),Ig(2,"sh-icon"),jg(),$l();}if(e&2){let n=iC(3);Kg("small",n.viewMode()==="details");}}function Jt(e,t){e&1&&(Fg(0,41,1),Ig(1,"sh-icon"),jg());}function Xt(e,t){e&1&&(Fg(0,41,2),Ig(1,"sh-icon"),jg());}function wt(e,t){if(e&1){let n=vT();aT(0,Bt,3,2,"button",103)(1,vt,3,2,"button",103),Qi(2,"button",83),Hg("click",function(){Od(n);let c=iC(2);return Pd(c.pauseResume())}),Fg(3,41),aT(4,Jt,2,0)(5,Xt,2,0),jg(),$l();}if(e&2){let n=iC(2);cT(n.isStopping()?0:1),CE(2),Kg("small",n.viewMode()==="details")("loading",n.isResuming()),CE(2),cT(n.clientIsRunning()?4:5);}}function zt(e,t){e&1&&nC(0,44,1);}function Vt(e,t){e&1&&(Qi(0,"button",104)(1,"sh-icon"),jC(2,"pencil-simple"),$l()()),e&2&&vg("shTooltip","Externally managed")("disabled",true);}function Ut(e,t){if(e&1&&(Qi(0,"button",105)(1,"sh-icon"),jC(2,"pencil-simple"),$l()()),e&2){let n=iC(2).$implicit;vg("routerLink",JC(1,kn,n.Backup.ID));}}function Kt(e,t){e&1&&(Qi(0,"button",104)(1,"sh-icon"),jC(2,"dots-three-vertical"),$l()()),e&2&&vg("shTooltip","Externally managed")("disabled",true);}function jt(e,t){e&1&&(Qi(0,"sh-icon"),jC(1,"check"),$l());}function Wt(e,t){e&1&&(Qi(0,"sh-icon"),jC(1,"dots-three-vertical"),$l());}function qt(e,t){if(e&1&&(Qi(0,"button",110),aT(1,jt,2,0,"sh-icon")(2,Wt,2,0,"sh-icon"),$l()),e&2){let n=iC(2).$implicit,a=iC();Kg("loading",a.loadingId()===n.Backup.ID)("success",a.successId()===n.Backup.ID),CE(),cT(a.successId()===n.Backup.ID?1:2);}}function Qt(e,t){if(e&1&&(Qi(0,"button",108),Fg(1,52),Ig(2,"sh-icon"),jg(),$l()),e&2){let n=iC(2).$implicit;vg("routerLink",JC(1,Gn,n.Backup.ID));}}function Yt(e,t){if(e&1){let n=vT();Qi(0,"button",71),Hg("click",function(){Od(n);let c=iC(2).$implicit,d=iC();return Pd(d.verifyFiles(c.Backup.ID))}),Fg(1,53),Ig(2,"sh-icon"),jg(),$l();}}function Zt(e,t){if(e&1&&(Qi(0,"button",108),Fg(1,54),Ig(2,"sh-icon"),jg(),$l()),e&2){let n=iC(3).$implicit;vg("routerLink",JC(1,bn,n.Backup.ID));}}function ei(e,t){if(e&1&&(Qi(0,"button",108),Fg(1,56),Ig(2,"sh-icon"),jg(),$l()),e&2){let n=iC(4).$implicit;vg("routerLink",JC(1,Bn,n.Backup.ID));}}function ni(e,t){if(e&1&&(Qi(0,"button",108),Fg(1,57),Ig(2,"sh-icon"),jg(),$l()),e&2){let n=iC(4).$implicit;vg("routerLink",JC(1,vn,n.Backup.ID));}}function ti(e,t){if(e&1&&(Ig(0,"sh-divider"),Qi(1,"h3",107),nC(2,55),$l(),aT(3,ei,3,3,"button",108),aT(4,ni,3,3,"button",108)),e&2){let n=iC(4);CE(3),cT(n.hasDeleteVersions()?3:-1),CE(),cT(n.hasBrokenFiles()?4:-1);}}function ii(e,t){if(e&1&&(aT(0,Zt,3,3,"button",108),aT(1,ti,5,2)),e&2){let n=iC(3);cT(n.hasSetVersionLabel()?0:-1),CE(),cT(n.hasDeleteVersions()||n.hasBrokenFiles()?1:-1);}}function oi(e,t){if(e&1){let n=vT();Qi(0,"button",83),Hg("click",function(){Od(n);let c=iC().$implicit,d=iC();return Pd(d.startBackup(c.Backup.ID))}),Fg(1,44),Ig(2,"sh-icon"),aT(3,zt,1,0),jg(),$l(),aT(4,Vt,3,2,"button",104)(5,Ut,3,3,"button",105),Qi(6,"sh-menu"),aT(7,Kt,3,2,"button",104)(8,qt,3,5,"button",106),ql(9,70),Qi(10,"h3",107),jC(11,"Operations"),$l(),aT(12,Qt,3,3,"button",108),Qi(13,"button",108),Fg(14,45),Ig(15,"sh-icon"),jg(),$l(),Qi(16,"button",108),Fg(17,46),Ig(18,"sh-icon"),jg(),$l(),Ig(19,"sh-divider"),Qi(20,"h3",107),nC(21,47),$l(),Qi(22,"button",108),Fg(23,48),Ig(24,"sh-icon"),jg(),$l(),aT(25,Yt,3,0,"button",109),Qi(26,"button",108),Fg(27,49),Ig(28,"sh-icon"),jg(),$l(),aT(29,ii,2,2),Ig(30,"sh-divider"),Qi(31,"h3",107),nC(32,50),$l(),Qi(33,"button",108),Fg(34,51),Ig(35,"sh-icon"),jg(),$l(),Gl(),$l();}if(e&2){let n=iC().$implicit,a=iC();Kg("loading",a.startingBackup()===n.Backup.ID),CE(3),cT(a.viewMode()==="list"?3:-1),CE(),cT(n.Backup.ExternalID?4:5),CE(3),cT(n.Backup.ExternalID?7:8),CE(5),cT(n.Backup.OperationType!=="Sync"?12:-1),CE(),vg("routerLink",JC(13,Rn,n.Backup.ID)),CE(3),vg("routerLink",JC(15,An,n.Backup.ID)),CE(6),vg("routerLink",JC(17,xn,n.Backup.ID)),CE(3),cT(n.Backup.OperationType!=="Sync"?25:-1),CE(),vg("routerLink",JC(19,Hn,n.Backup.ID)),CE(3),cT(n.Backup.OperationType!=="Sync"?29:-1),CE(4),vg("routerLink",JC(21,Ln,n.Backup.ID));}}function _i(e,t){if(e&1&&aT(0,wt,6,6)(1,oi,36,23),e&2){let n=t.$implicit,a=iC();cT(a.runningBackupId()===n.Backup.ID?0:1);}}function ai(e,t){e&1&&(Qi(0,"sh-icon",111),jC(1,"funnel-simple"),$l(),Qi(2,"sh-icon",112),jC(3,"sort-ascending"),$l(),Qi(4,"sh-icon",113),jC(5,"sort-descending"),$l());}var le=class e{#t=T(C);#n=T(y);#e=T(g);#_=T(C$1);#a=T(Q);#l=T(be);#i=T(m);hasDeleteVersions=this.#i.hasV2DeleteVersions;hasSetVersionLabel=this.#i.hasV2SetVersionLabel;hasBrokenFiles=this.#i.hasV2BrokenFiles;MISSING_BACKUP_NAME=$localize`Backup name missing`;sortOrderOptions=this.#e.orderByOptions;orderBy=this.#e.orderBy;backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;startingBackup=this.#e.startingBackup;deletingBackup=this.#e.deletingBackup;runningBackupId=this.#n.runningBackupId;getBackendType=Ne;getBackendIcon=Ee;timeType=this.#e.timeType;clientIsRunning=this.#n.clientIsRunning;isResuming=this.#n.isResuming;runningTask=Nt$1(()=>this.#n.serverState()?.ActiveTask?.Item1);isStopping=Nt$1(()=>this.runningTask()==this.#o());scheduledTimes=Nt$1(()=>{let t=this.#a.serverState()?.ProposedSchedule??[],n=this.#e.backups(),a={};return n.forEach(c=>{let d=c.Backup?.ID;if(d){var R=t.find(X=>X.Item1==d);R?.Item2?a[d]=R.Item2:c.Schedule?.Time&&(a[d]=c.Schedule.Time);}}),a});#o=Ge(-1);viewMode=A("viewMode","list");sortByColumn=Ge(this.#e.orderBy());loadingId=Ge(null);successId=Ge(null);sortEffect=za(()=>this.#e.setOrderBy(this.sortByColumn()));ngOnInit(){this.#e.getBackups(true);}openInConsole(t){let n=t.Backup.ExternalID?.split(":")[1];if(!n){console.error("Backup does not have an external ID");return}this.#_.openConsole("/app/machines/configurations/"+n);}setOrderBy(t){this.#e.setOrderBy(t);}setTimeType(t){this.#e.setTimeType(t);}startBackup(t){this.#n.resumeDialogCheck(()=>this.#e.startBackup(t));}openPauseDialog(){this.#l.open(k,{maxWidth:"550px",width:"100%"});}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#n.pauseResume().subscribe();}stop(){let t=this.runningTask();t&&(this.#o.set(t),this.#t.postApiV1TaskByTaskidStop({taskid:t}).subscribe());}abort(){let t=this.runningTask();t&&this.#t.postApiV1TaskByTaskidAbort({taskid:t}).subscribe();}getBackupVersionCount(t){return parseInt(t?.Backup?.Metadata?.BackupListCount??"",10)||0}verifyFiles(t){this.loadingId.set(t),this.#t.postApiV1BackupByIdVerify({id:t}).pipe(zu(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),setTimeout(()=>this.successId.set(null),2e3);}});}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=hw({type:e,selectors:[["app-home"]],decls:36,vars:6,consts:()=>{let t;t=$localize`Backups`;let n;n=$localize`Keep your data safe at your chosen destination.`;let a;a=$localize` Create ${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON:`;let c;c=$localize`Restores`;let d;d=$localize`Recover your files from any backup set.`;let R;R=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON:`;let X;X=$localize`My backups`;let re;re=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:rows${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: List `;let ce;ce=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SH_ICON:list${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_ICON: Details `;let se;se=$localize` Time: ${"\uFFFD#11\uFFFD"}:START_TAG_STRONG:${"\uFFFD*12:1\uFFFD"}:START_BLOCK_IF: Relative ${"\uFFFD/*12:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*13:2\uFFFD"}:START_BLOCK_ELSE_IF: Actual ${"\uFFFD/*13:2\uFFFD"}:CLOSE_BLOCK_ELSE_IF:${"\uFFFD*14:3\uFFFD"}:START_BLOCK_ELSE: ${"\uFFFD0:3\uFFFD"}:INTERPOLATION: ${"\uFFFD/*14:3\uFFFD"}:CLOSE_BLOCK_ELSE:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:clock${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ue;ue=$localize`Relative time`;let Fe;Fe=$localize`Actual time`;let Ce;Ce=$localize` Order by: ${"\uFFFD#3\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:arrows-down-up${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Te;Te=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let de;de=$localize`Externally managed`;let Ee;Ee=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON: Start `;let pe;pe=$localize` Edit in console ${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:arrow-up-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ge;ge=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrows-left-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let w;w=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,w=oC(w,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let Se;Se=$localize` ${w}:ICU@@6502601490918455200: `;let me;me=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrows-left-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Oe;Oe=$localize`Last successful backup:`;let Ne;Ne=$localize`Duration:`;let Me;Me=$localize`Source:`;let Ie;Ie=$localize`Destination:`;let Pe;Pe=$localize`Next scheduled run:`;let De;De=$localize`Externally managed`;let fe;fe=$localize` No backups found ${"\uFFFD#2\uFFFD"}:START_TAG_BUTTON: Click to create one now ${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_BUTTON:`;let he;he=$localize` Backup ${"\uFFFD*4:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*4:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let $e;$e=$localize` Type ${"\uFFFD*7:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*7:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let ye;ye=$localize` Last backup ${"\uFFFD*10:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*10:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Re;Re=$localize` Next run ${"\uFFFD*13:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*13:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Ae;Ae=$localize` Duration ${"\uFFFD*16:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*16:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let xe;xe=$localize` Source ${"\uFFFD*19:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*19:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let He;He=$localize` Destination ${"\uFFFD*22:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*22:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Le;Le=$localize`Version`;let ke;ke=$localize`Actions`;let z;z=$localize`{VAR_PLURAL, plural, =0 {No versions} =1 {1 Version} other {{INTERPOLATION} Versions}}`,z=oC(z,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let Ge;Ge=$localize` ${z}:ICU@@3521773141017690117: `;let be;be=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrows-left-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Be;Be=$localize`Loading backups...`;let V;V=$localize`${"\uFFFD*4:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Pause ${"\uFFFD/*4:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*5:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Resume ${"\uFFFD/*5:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,V=oC(V);let ve;ve=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Abort `;let Je;Je=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Stop `;let Xe;Xe=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF: Start ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:`;let we;we=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let ze;ze=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SH_ICON:x-circle${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SH_ICON: Delete `;let Ve;Ve=$localize`Advanced`;let Ue;Ue=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SH_ICON:database${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SH_ICON: Database `;let Ke;Ke=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON: Commandline `;let je;je=$localize`Reporting`;let We;We=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SH_ICON:notepad${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SH_ICON: Log `;let qe;qe=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Restore `;let Qe;Qe=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:check-square-offset${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Verify files `;let Ye;Ye=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:tag${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Version labels `;let Ze;Ze=$localize`Cleanup`;let en;en=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Delete versions `;let nn;return nn=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:file-x${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Purge broken files `,[["actions",""],["sortIcons",""],t,n,a,c,d,R,X,re,ce,se,ue,Fe,Ce,Te,de,Ee,pe,ge,Se,me,Oe,Ne,Me,Ie,Pe,De,fe,he,$e,ye,Re,Ae,xe,He,Le,ke,Ge,be,Be,V,ve,Je,Xe,we,ze,Ve,Ue,Ke,je,We,qe,Qe,Ye,Ze,en,nn,[1,"type-a","actionable",3,"keydown.enter","keydown.space","routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["type","button","tabindex","-1","shButton",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"actions"],[1,"small","type-b",3,"valueChange","value"],["value","list"],["value","details"],[1,"table-overview"],["type","button","shButton","",1,"small"],["menu",""],["type","button",3,"click"],["type","button",3,"active"],[1,"backups",3,"fallback"],[1,"type-b",3,"data","loading","sortByColumn"],[1,"backups"],[1,"no-backups"],[1,"backup","externaly-managed"],[1,"backup"],[1,"simple","accent",3,"shTooltip"],["alt","",1,"provider-icon",3,"src"],[1,"tags"],[1,"simple","primary"],["shButton","",3,"click"],["type","button","shButton","",3,"click"],[3,"backupId"],[1,"simple","success"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["shButton","",1,"primary","raised",3,"routerLink"],[1,"type-b",3,"sortByColumnChange","data","loading","sortByColumn"],["thead",""],["shSort","name"],[4,"ngTemplateOutlet"],["shSort","type"],["shSort","lastrun"],["shSort","nextrun"],["shSort","duration"],["shSort","sourcesize"],["shSort","destinationsize"],[1,"small","accent",3,"shTooltip"],[1,"small"],[1,"loading-list"],[1,"indeterminate","primary"],["shButton","",3,"small"],["type","button","shButton","",3,"shTooltip","disabled"],["type","button","shButton","",3,"routerLink"],["type","button","shButton","",3,"loading","success"],["title",""],["type","button",3,"routerLink"],["type","button"],["type","button","shButton",""],[1,"filter"],[1,"asc"],[1,"desc"]]},template:function(n,a){n&1&&(Ig(0,"app-status-bar"),Qi(1,"section")(2,"header")(3,"sh-card",58),Hg("keydown.enter",function(d){return d.target.click()})("keydown.space",function(d){return d.target.click()}),Ig(4,"img",59),Qi(5,"div",60)(6,"h3"),nC(7,2),$l(),Qi(8,"p"),nC(9,3),$l()(),Qi(10,"button",61),Fg(11,4),Ig(12,"sh-icon"),jg(),$l()(),Qi(13,"sh-card",58),Hg("keydown.enter",function(d){return d.target.click()})("keydown.space",function(d){return d.target.click()}),Ig(14,"img",62),Qi(15,"div",60)(16,"h3"),nC(17,5),$l(),Qi(18,"p"),nC(19,6),$l()(),Qi(20,"button",61),Fg(21,7),Ig(22,"sh-icon"),jg(),$l()()(),Qi(23,"div",63)(24,"h2"),ql(25),nC(26,8),Gl(),aT(27,Un,22,3,"div",64),$l(),lg(28,Gt,2,1)(29,bt,5,0),oT(30,28,fn,null,29),$l()(),cg(32,_i,2,1,"ng-template",null,0,lb)(34,ai,6,0,"ng-template",null,1,lb)),n&2&&(CE(3),vg("routerLink",KC(4,hn)),CE(10),vg("routerLink",KC(5,$n)),CE(14),cT(a.backups().length>0?27:-1),CE(3),iT(!a.backupsLoading()));},dependencies:[_t$1,ee,f,v,N,c,ve,d,x,at$1],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}@media only screen and (max-width:768px){header[_ngcontent-%COMP%]{grid-template-columns:1fr}}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{padding:0 2rem}@media only screen and (max-width:768px){.content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}}sh-menu[_ngcontent-%COMP%]{color:red}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:.5rem}.backups.fallback[_ngcontent-%COMP%]{justify-content:center;align-items:center;padding:4rem;border:1px solid var(--base-4);background:var(--base-2);border-radius:var(--shape-2);width:calc(100% - 4rem);margin:0 auto}.no-backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;align-items:center}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}@media only screen and (max-width:768px){.backup[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}@media only screen and (max-width:768px){.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{max-width:initial}}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}.backup[_ngcontent-%COMP%] .tags[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:.5rem}.provider-icon[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.sortable[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.sortable[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{margin-left:.5rem;font-size:1rem;justify-self:flex-end;display:none}.sortable[_ngcontent-%COMP%]:not(.sort-asc):not(.sort-desc) sh-icon.filter[_ngcontent-%COMP%]{display:block}.sortable.sort-asc[_ngcontent-%COMP%] sh-icon.asc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}.sortable.sort-desc[_ngcontent-%COMP%] sh-icon.desc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:after{transition:inset .1s linear}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}"]})};var chunkSWVAJ6TW=/*#__PURE__*/Object.freeze({__proto__:null,APP_BASE_HREF:ce,BrowserPlatformLocation:y$1,CommonModule:Fi,DATE_PIPE_DEFAULT_OPTIONS:tn,DATE_PIPE_DEFAULT_TIMEZONE:en,DOCUMENT:Mr,DatePipe:ci,DecimalPipe:pi,FormStyle:A$1,FormatWidth:I,IMAGE_CONFIG:fv,IMAGE_LOADER:Je,JsonPipe:hi,Location:Ne$1,LocationStrategy:U,NgFor:Jt$1,NgForOf:Jt$1,NgForOfContext:Ce,NgIf:Kn$1,NgIfContext:ye,NgLocaleLocalization:qt$1,NgLocalization:Ee$1,NgPlural:Qt$1,NgSwitch:Ze,NgTemplateOutlet:ei$1,NumberFormatStyle:ne,NumberSymbol:m$1,PathLocationStrategy:de,PlatformLocation:g$1,PlatformNavigation:nn,Plural:j,TranslationWidth:d$1,WeekDay:Rt$1,formatCurrency:Zt$1,formatDate:Gt$1,formatNumber:Kt$1,formatPercent:Yt$1,getCurrencySymbol:zt$1,getLocaleDateFormat:q,getLocaleDateTimeFormat:Q$1,getLocaleDayNames:Bt$1,getLocaleDayPeriods:Pt$1,getLocaleEraNames:kt$1,getLocaleExtraDayPeriodRules:Ut$1,getLocaleExtraDayPeriods:jt$1,getLocaleId:Ot$1,getLocaleMonthNames:Nt$2,getLocaleNumberFormat:Fe,getLocaleNumberSymbol:M,getLocalePluralCase:xt$1,getLocaleTimeFormat:J,getNumberOfCurrencyDigits:Vt$1,isPlatformBrowser:Rr,isPlatformServer:Or,registerLocaleData:Tr,ɵDomAdapter:f$1,ɵPLATFORM_BROWSER_ID:wi,ɵPLATFORM_SERVER_ID:Ai,ɵgetDOM:s,ɵnormalizeQueryParams:L,ɵparseCookieValue:k$1,ɵsetRootDomAdapter:_});var chunkJGYPH2BS=/*#__PURE__*/Object.freeze({__proto__:null,ShipChip:D});var chunkAOYFZEXX=/*#__PURE__*/Object.freeze({__proto__:null,BackupProgressComponent:W});var chunk4HOV3NJV=/*#__PURE__*/Object.freeze({__proto__:null,DurationFormatPipe:c$1});var chunkHNLWAJTV=/*#__PURE__*/Object.freeze({__proto__:null,BytesPipe:m$2});var chunkDXTOMSER=/*#__PURE__*/Object.freeze({__proto__:null,RelativeTimePipe:m$3});export{le as default};
package/chunk-B8PnvglY.js DELETED
@@ -1,2 +0,0 @@
1
- import {O}from'./chunk-CsgB8OpN.js';import {by as x,T,a6 as be,ab as C$1,m,a as T$1,bj as Q,G as Ge,N as Nt,z as za,at as h,aZ as ee}from'./main-XKLDSNLY.js';var S=new x("WindowToken",{providedIn:"root",factory:()=>typeof window<"u"?window:{}});var C=class l{#c=T(S);#g=T(be);#t=T(C$1);#o=T(m);#l=T(T$1);#n=T(Q);#u=T(O);constructor(){this.#l.subscribe("remotecontrol");}repeatRegisterTimer=null;#s=null;#r=0;#h=5;#m=2e3;pendingRefresh=false;state=Ge("unknown");claimUrl=Ge(null);registerUrl=Ge("");customRegisterUrl=Ge("");statusMessage=Nt(()=>{let e=this.state();return e==="connecting"?$localize`Console connection is enabled but not connected`:e==="connected"?$localize`Connected to console`:e==="registering"?$localize`Registering machine...`:e==="registeringfaulted"?$localize`Registration failed`:e==="registered"?$localize`Registered, waiting for accept`:e==="disabled"?$localize`Console connection is configured but not enabled`:e==="unknown"?$localize`...loading...`:$localize`Console connection is not set up`});sysInfoEffect=za(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"");});remoteEffect=za(()=>{let e=this.#l.remoteControlState();e&&this.#e(e);});pendingRefreshEffect=za(()=>{this.#n.isConnectionMethodSet()&&this.pendingRefresh&&(this.pendingRefresh=false,this.refreshRemoteControlStatus());});#a=Nt(()=>{let e=this.#n.getConnectionMethod()==="websocket",i=this.#o.hasWsRemoteControl();return e&&i});#f(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("connecting"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");}#e(e){if(this.#r=0,this.#f(e),this.#a())return;let i=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),i==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegisterWait().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},5e3)),(i==="connecting"||i==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:t=>this.#e(t)});}#i(e){if(this.#s!==null&&(clearTimeout(this.#s),this.#s=null),this.#r>=this.#h){this.state.set("registeringfaulted"),this.#r=0;return}let i=this.#m*Math.pow(2,this.#r);this.#r++,this.#s=setTimeout(()=>{this.#s=null,this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},i);}refreshRemoteControlStatus(){if(!this.#a()){if(!this.#n.isConnectionMethodSet()){this.pendingRefresh=true;return}this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}}beginRemoteRegistration(e=false){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e?this.customRegisterUrl():this.registerUrl()}}).subscribe({next:i=>this.#e(i),error:i=>this.#i(i)});}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}deleteRemoteControl(){let e=this;this.#g.open(h,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the console registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:i=>{i&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>e.#e(t),error:t=>e.#i(t)});}});}openConsole(e="/app/machines",i){let t=this.#u.serverSettings(),y=this.#o.systemInfo(),r="https://app.duplicati.com",c=y?.RemoteControlDashboardUrl??"";if(c.length>0&&(r=c),t&&t["remote-control-dashboard-url"]&&(r=t["remote-control-dashboard-url"]),r=new URL(r).origin+e,i){let v=new URLSearchParams(i);r+=`?${v.toString()}`;}this.#c.open(r,"_blank");}static \u0275fac=function(i){return new(i||l)};static \u0275prov=ee({token:l,factory:l.\u0275fac,providedIn:"root"})};
2
- export{C,S};
package/chunk-BAmgFjXY.js DELETED
@@ -1 +0,0 @@
1
- import v$1 from'./chunk-DmwtL4h3.js';import'./chunk-D0qGkLVr.js';import'./chunk-xwdrpTfz.js';import {k}from'./chunk-Du0Hd0t6.js';import'./chunk-BFquKzMb.js';import {c}from'./chunk-Dyq6iPbF.js';import'./chunk-Cv4o9u3S.js';import {T,aX as y,ab as C,a6 as be$1,G as Ge,N as Nt,bd as h,h as hw,be as Fi,bf as Jt,bg as Kn,v,c as N,bh as pi,aJ as ci,aH as m,b2 as m$1,Q as Qi,d as aT,bi as cg,s as jC,$ as $l,n as nC,i as Ig,H as Hg,L as Kg,C as CE,g as cT,y as vg,K as im,aa as Ql,bj as Q,z as za,aZ as ee,l as vT,aM as ob,a1 as dT,O as Od,k as iC,P as Pd,aN as ab,aB as sm,aR as sb,a2 as fT,as as qd,bk as Gd,aP as ql,aQ as Gl,ap as lT}from'./main-XKLDSNLY.js';import {f}from'./chunk-CTH9uShX.js';import {d}from'./chunk-BnFO-7ok.js';import'./chunk-BDhLEYas.js';import'./chunk-BaknLOqq.js';var U=class r{#e=T(y);#n=T(Q);#i=Ge([]);recentFiles=this.#i.asReadonly();#r=5;#s=Ge(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=za(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#c(i.CurrentFilename,i.CurrentFilesize);});#c(i,e){let s=new Date;this.#i.update(c=>c.length>0&&c[0].filename===i?c:[{filename:i,filesize:e,timestamp:s},...c].slice(0,this.#r));}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#l();},1e3);}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null);}#l(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let e=new Date,s=(e.getTime()-this.#a.getTime())/1e3;if(s<5)return;let c=i.ProcessedFileCount||0,P=i.ProcessedFileSize||0,I=c-this.#t.files,k=P-this.#t.bytes,x=I/s,M=k/s,A=(i.TotalFileCount||0)-c,u=(i.TotalFileSize||0)-P,O=null,T=null;x>0&&(O=A/x),M>0&&(T=u/M);let R=null,w="bytes";if(O!==null&&T!==null){let Se=Math.max(O,T);R=new Date(e.getTime()+Se*1e3),w=O>T?"files":"bytes";}else O!==null?(R=new Date(e.getTime()+O*1e3),w="files"):T!==null&&(R=new Date(e.getTime()+T*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:x,currentBytesPerSecond:M,estimatedCompletion:R,metric:w});}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ee({token:r,factory:r.\u0275fac,providedIn:"root"})};function xe(r,i){if(r&1&&(Qi(0,"div",42)(1,"span",20),jC(2,"Processing"),$l(),Qi(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),jC(6,"file"),$l(),Qi(7,"div",45)(8,"span",46),jC(9),$l(),Qi(10,"span",47),jC(11),ob(12,"bytes"),$l()()()()()),r&2){let e=iC(2);CE(8),vg("title",e.statusData()?.CurrentFilename),CE(),Ql(" ",e.statusData()?.CurrentFilename," "),CE(2),im(sb(12,3,e.statusData()?.CurrentFilesize));}}function Me(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),vg("title",e.filename),CE(),im(e.filename),CE(2),im(sb(5,3,e.filesize));}}function Oe(r,i){r&1&&(Qi(0,"div",36),nC(1,2),$l());}function Te(r,i){if(r&1&&(Qi(0,"sh-list")(1,"div",48)(2,"span",20),jC(3,"ETA"),$l(),Qi(4,"span",21),jC(5),ob(6,"date"),Qi(7,"span",49),jC(8),ob(9,"relativeTime"),$l()()(),Qi(10,"div",50)(11,"span",20),jC(12,"Files/s"),$l(),Qi(13,"span",21),jC(14),ob(15,"number"),$l()(),Qi(16,"div",50)(17,"span",20),jC(18,"Upload Speed"),$l(),Qi(19,"span",21),jC(20),ob(21,"bytes"),$l()()()),r&2){let e=iC(2);CE(5),Ql(" ",ab(6,4,e.etaData()?.estimatedCompletion,"mediumTime")," "),CE(3),Ql(" (",sb(9,7,e.etaData()?.estimatedCompletion),") "),CE(6),Ql(" ",ab(15,9,e.etaData()?.currentFilesPerSecond,"1.1-1")," "),CE(6),Ql("",sb(21,12,e.etaData()?.currentBytesPerSecond),"/s");}}function ve(r,i){if(r&1&&(Qi(0,"div",53)(1,"div",54)(2,"span",55),jC(3),$l(),Qi(4,"span",56),jC(5),ob(6,"bytes"),$l()(),Ig(7,"sh-progress-bar",57),$l()),r&2){let e=i.$implicit;CE(2),vg("title",e.BackendPath),CE(),im(e.BackendPath),CE(2),Ql("",sb(6,4,e.BackendSpeed),"/s"),CE(2),vg("value",(e.BackendFileProgress||0)/(e.BackendFileSize||1)*100);}}function he(r,i){if(r&1&&(Qi(0,"div",51)(1,"sh-list"),cg(2,ve,8,6,"div",52),$l()()),r&2){let e=iC(2);CE(2),vg("ngForOf",e.statusData()?.ActiveTransfers);}}function ye(r,i){if(r&1){let e=vT();Qi(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock"),$l(),Qi(5,"h2"),jC(6),$l()()(),Qi(7,"div",26)(8,"div",27)(9,"span",28),jC(10),ob(11,"number"),$l()(),Ig(12,"sh-progress-bar",29),Qi(13,"sh-list")(14,"div",30)(15,"span",20),jC(16,"Files"),$l(),Qi(17,"span",21),jC(18),$l()(),Qi(19,"div",30)(20,"span",20),jC(21,"Size"),$l(),Qi(22,"span",21),jC(23),ob(24,"bytes"),ob(25,"bytes"),$l()()()()(),Qi(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),jC(30,"file"),$l(),Qi(31,"h3"),jC(32,"Activity"),$l()()(),Qi(33,"div",31),cg(34,xe,13,5,"div",32),Qi(35,"div",33)(36,"span",20),nC(37,1),$l(),Qi(38,"sh-list",34),dT(39,Me,6,5,"div",35,lT),aT(41,Oe,2,0,"div",36),$l()()()(),Qi(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),jC(46,"gauge"),$l(),Qi(47,"h3"),jC(48,"Performance"),$l()(),Qi(49,"div",37),jC(50),ob(51,"bytes"),$l()(),Qi(52,"div",38),cg(53,Te,22,14,"sh-list",25),Qi(54,"div",39)(55,"button",40),Hg("click",function(){Od(e);let c=iC();return Pd(c.toggleTransfers())}),jC(56),$l(),cg(57,he,3,1,"div",41),$l()()();}if(r&2){let e=iC();CE(6),im(e.statusText()),CE(4),Ql("",ab(11,13,e.progress(),"1.0-0"),"%"),CE(2),vg("value",e.progress()),CE(6),sm("",e.statusData()?.ProcessedFileCount," / ",e.statusData()?.TotalFileCount),CE(5),sm(" ",sb(24,16,e.statusData()?.ProcessedFileSize)," / ",sb(25,18,e.statusData()?.TotalFileSize)," "),CE(11),vg("ngIf",e.statusData()?.CurrentFilename),CE(5),fT(e.recentFiles()),CE(2),cT(e.recentFiles().length===0?41:-1),CE(9),Ql("",sb(51,20,e.statusData()?.BackendSpeed),"/s"),CE(3),vg("ngIf",e.etaData()),CE(3),Ql(" ",e.transfersExpanded()?"Hide Details":"Show Details"," "),CE(),vg("ngIf",e.transfersExpanded());}}function Ee(r,i){if(r&1&&(Qi(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"calendar"),$l(),Qi(5,"h3"),nC(6,7),$l()()(),Qi(7,"div",76)(8,"div",77)(9,"span",78),jC(10),$l(),Qi(11,"div",79)(12,"span",80),jC(13),ob(14,"date"),$l(),Qi(15,"span",81),jC(16),ob(17,"relativeTime"),$l()()(),Qi(18,"sh-icon",82),jC(19,"caret-right"),$l()()()),r&2){let e=iC(2);CE(10),im(e.nextBackup().backup?.Name),CE(3),im(ab(14,3,e.nextBackup().time,"medium")),CE(3),Ql("(",sb(17,6,e.nextBackup().time),")");}}function be(r,i){r&1&&(Qi(0,"span",74),nC(1,8),$l());}function Ne(r,i){if(r&1){let e=vT();Qi(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),qd(),Qi(4,"svg",62),Ig(5,"circle",63),$l(),Gd(),Qi(6,"sh-icon",64),nC(7,3),$l()()(),Qi(8,"div",65)(9,"h2"),nC(10,4),$l(),Qi(11,"p",66),nC(12,5),$l()(),Qi(13,"div",67)(14,"button",68),Hg("click",function(){Od(e);let c=iC();return Pd(c.pauseResume())}),Qi(15,"sh-icon"),jC(16),$l(),jC(17),$l()()()(),cg(18,Ee,20,8,"sh-card",69),Qi(19,"sh-card",70)(20,"div",71)(21,"span",20),nC(22,6),$l(),Qi(23,"div",72)(24,"span",73),jC(25),$l(),aT(26,be,2,0,"span",74),$l()()();}if(r&2){let e=iC();CE(14),vg("color",e.clientIsRunning()?"primary":"accent"),CE(2),im(e.clientIsRunning()?"pause":"play"),CE(),Ql(" ",e.clientIsRunning()?"Pause Execution":"Resume Execution"," "),CE(),vg("ngIf",e.nextBackup()),CE(6),Kg("running",e.clientIsRunning()),CE(),im(e.serverState()?.ProgramState),CE(),cT(e.clientIsRunning()?-1:26);}}function Ie(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),vg("title",e.filename),CE(),im(e.filename),CE(2),im(sb(5,3,e.filesize));}}function ke(r,i){if(r&1&&(Qi(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock-counter-clockwise"),$l(),Qi(5,"h3"),nC(6,9),$l()()(),Qi(7,"sh-list"),cg(8,Ie,6,5,"div",84),$l()()),r&2){let e=iC();CE(8),vg("ngForOf",e.recentFiles());}}function Ae(r,i){if(r&1&&(Qi(0,"div",19)(1,"span",20),jC(2,"Next Task:"),$l(),Qi(3,"div",21)(4,"div"),jC(5),$l(),Qi(6,"div",49),jC(7),ob(8,"date"),ob(9,"relativeTime"),$l()()()),r&2){let e=iC();CE(5),im(e.nextBackup().backup?.Name),CE(2),sm(" ",ab(8,3,e.nextBackup().time,"medium")," (",sb(9,6,e.nextBackup().time),") ");}}function Re(r,i){if(r&1){let e=vT();ql(0),Qi(1,"button",85),Hg("click",function(){Od(e);let c=iC();return Pd(c.stop())}),Qi(2,"sh-icon"),jC(3,"stop"),$l(),jC(4," Stop "),$l(),Qi(5,"button",85),Hg("click",function(){Od(e);let c=iC();return Pd(c.abort())}),Qi(6,"sh-icon"),jC(7,"x-circle"),$l(),jC(8," Abort "),$l(),Gl();}}var J=class r{#e=T(y);#n=T(U);#i=T(C);#r=T(be$1);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=Ge(false);clientIsRunning=this.#e.clientIsRunning;statusText=Nt(()=>{let i=this.statusData()?.Phase;return i?h[i]||i:""});progress=Nt(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=Nt(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView();}ngOnDestroy(){this.#n.deactivateView();}toggleTransfers(){this.transfersExpanded.update(i=>!i);}isTaskRunning(){return !!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(k,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe();}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe();}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe();}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=hw({type:r,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let e;e=$localize`Recently Processed`;let s;s=$localize`No recent files`;let c;c=$localize`check-bold`;let P;P=$localize`System Ready`;let I;I=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let x;x=$localize`Next Scheduled Task`;let M;M=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,e,s,c,P,I,k,x,M,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small",1,"toggle-btn","ghost",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","color"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(e,s){e&1&&(Qi(0,"div",10),aT(1,ye,58,22)(2,Ne,27,8),cg(3,ke,9,1,"sh-card",11),Qi(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),jC(8,"list"),$l(),Qi(9,"h3"),nC(10,0),$l()()(),Qi(11,"div",16),Ig(12,"app-logs-live",17),$l()(),Qi(13,"sh-card")(14,"div",18)(15,"h3"),jC(16,"Server Status"),$l(),Qi(17,"div",19)(18,"span",20),jC(19,"State:"),$l(),Qi(20,"span",21),jC(21),$l()(),cg(22,Ae,10,8,"div",22),Qi(23,"div",23)(24,"button",24),Hg("click",function(){return s.pauseResume()}),Qi(25,"sh-icon"),jC(26),$l(),jC(27),$l(),cg(28,Re,9,0,"ng-container",25),$l()()()()),e&2&&(Kg("idle",!s.isTaskRunning()),CE(),cT(s.isTaskRunning()?1:2),CE(2),vg("ngIf",!s.isTaskRunning()&&s.recentFiles().length>0),CE(9),vg("polling",s.isTaskRunning())("whenFilter",s.taskStartTime()?.getTime())("backupIdFilter",s.currentBackupId()),CE(9),im(s.serverState()?.ProgramState),CE(),vg("ngIf",s.nextBackup()),CE(4),im(s.clientIsRunning()?"pause":"play_arrow"),CE(),Ql(" ",s.clientIsRunning()?"Pause":"Resume"," "),CE(),vg("ngIf",s.isTaskRunning()));},dependencies:[Fi,Jt,Kn,f,d,v,N,v$1,c,pi,ci,m,m$1],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"]})};export{J as default};
package/chunk-BFVhQEGw.js DELETED
@@ -1 +0,0 @@
1
- import {F as Fe}from'./chunk-DqoYKCmi.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-BDhLEYas.js';import {T,ah as fe,ab as C,e as ee,G as Ge,ay as Qu,J as zu,h as hw,_ as _t,c as N,v,Q as Qi,F as Fg,i as Ig,$ as $l,H as Hg,j as jg,n as nC,s as jC,d as aT,C as CE,y as vg,a3 as KC,L as Kg,g as cT,o as oC,ac as I1,b8 as Iw,r as CD,x as _D}from'./main-XKLDSNLY.js';var q=(()=>{class r{constructor(){this.filesOver=Ge(false),this.filesDropped=I1();}onDragOver(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(true);}onDragLeave(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);}ondrop(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);let e=t.dataTransfer?.files;e&&e.length>0&&this.filesDropped.emit(e);}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=Iw({type:r,selectors:[["","shDragDrop",""]],hostVars:2,hostBindings:function(e,i){e&1&&Hg("dragover",function(c){return i.onDragOver(c)})("dragleave",function(c){return i.onDragLeave(c)})("drop",function(c){return i.ondrop(c)}),e&2&&Kg("filesover",i.filesOver());},outputs:{filesDropped:"filesDropped"}});}}return r})();var Q=()=>["/"];function W(r,o){r&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,2),$l(),Ig(3,"input",12),CD(),$l()),r&2&&(CE(3),_D());}var p=new jn,D=class r{#t=T(fe);#e=T(C);#o=T(ee);isRestoring=Ge(false);isSecureFile=Ge(false);importForm=p.group({config:p.control(""),cmdline:p.control(false),importMetadata:p.control(false),direct:p.control(false),passphrase:p.control("")});selectedFile=Ge(null);onFileDropped(o){let e=o.target?.files?.item(0);if(e){let i=new FileReader;this.isSecureFile.set(e.type!=="application/json"),i.onload=this.#i.bind(this),i.readAsArrayBuffer(e);}}#i(o){let t=o.target?.result;this.importForm.patchValue({config:this.#r(t)});}#r(o){let t=new Uint8Array(o),e=t.byteLength,i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return btoa(i)}submit(){this.isRestoring.set(true),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(Qu(o=>{let e={Backup:o.data.Backup};return this.#e.postApiV1Backups({requestBody:e,temporary:true})}),zu(()=>this.isRestoring.set(false))).subscribe({next:o=>{this.#o.navigate(["/restore-draft",o.ID]);},error:o=>{this.#t.error(o.message);}});}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=hw({type:r,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let o;o=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_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_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=oC(o);let t;t=$localize`Select a configuration file`;let e;return e=$localize`Passphrase`,[o,t,e,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["shDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(t,e){t&1&&(Qi(0,"header")(1,"h3"),Fg(2,0),Qi(3,"div",3)(4,"button",4),Ig(5,"sh-icon"),$l(),Qi(6,"button",5),Hg("click",function(){return e.submit()}),Ig(7,"sh-icon"),$l()(),jg(),$l()(),Qi(8,"form",6)(9,"sh-form-field",7),Hg("fileDropped",function(n){return e.onFileDropped(n)}),Qi(10,"label",8),nC(11,1),$l(),Qi(12,"input",9),Hg("change",function(n){return e.onFileDropped(n)}),$l(),Qi(13,"sh-icon",10),jC(14,"upload"),$l()(),aT(15,W,4,0,"sh-form-field"),$l()),t&2&&(CE(4),vg("routerLink",KC(6,Q)),CE(2),Kg("loading",e.isRestoring()),vg("disabled",e.isRestoring()),CE(2),vg("formGroup",e.importForm),CE(7),cT(e.isSecureFile()?15:-1));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,_t,q,Fe,N,v],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}"]})};export{D as default};
package/chunk-BGcVKmjp.js DELETED
@@ -1 +0,0 @@
1
- import {w}from'./chunk-pxcB56N0.js';import {e as ee}from'./chunk-i6kMmbhY.js';import'./chunk-Du0Hd0t6.js';import'./chunk-BFquKzMb.js';import'./chunk-D7C8xyJI.js';import {I}from'./chunk-0lYdrxte.js';import'./chunk-GKdOPH_4.js';import'./chunk-KNmRQWOM.js';import {c as c$1}from'./chunk-D5zSyubd.js';import {D}from'./chunk-Cv4o9u3S.js';import {T,aw as W,a5 as g,G as Ge,aG as pt$1,N as Nt$1,h as hw,_ as _t$1,c as N,v,aH as m,aI as c,aJ as ci,l as vT,i as Ig,Q as Qi,F as Fg,j as jg,$ as $l,ak as dm,d as aT,p as lm,n as nC,C as CE,al as WC,g as cT,w as cm,O as Od,U as UC,P as Pd,ab as C,E as E1,aK as mb,ay as Qu,J as zu,aL as hi,a1 as dT,a2 as fT,o as oC,s as jC,aM as ob,k as iC,ao as qC,aa as Ql,aN as ab,y as vg,aj as l,ap as lT,H as Hg,K as im,aB as sm,L as Kg,aO as am,aP as ql,aQ as Gl,aR as sb,au as Vg,av as rC,aS as cb,aT as dy}from'./main-XKLDSNLY.js';import {d}from'./chunk-BnFO-7ok.js';import'./chunk-DqoYKCmi.js';import'./chunk-BDhLEYas.js';import'./chunk-UUMQmD5I.js';import'./chunk-B8PnvglY.js';import'./chunk-CsgB8OpN.js';import {L,$}from'./chunk-DCsYP4vf.js';import'./chunk-BaknLOqq.js';function Dn(n,t){n&1&&Ig(0,"sh-progress-bar",58);}function Pn(n,t){n&1&&Ig(0,"div",61);}function Rn(n,t){n&1&&Ig(0,"div",61);}function In(n,t){n&1&&Ig(0,"div",62);}function $n(n,t){n&1&&Ig(0,"div",63);}function Mn(n,t){if(n&1&&(Qi(0,"details",72)(1,"summary"),Fg(2,15),Ig(3,"sh-icon"),Qi(4,"div",74),Ig(5,"sh-icon",66),$l(),jg(),$l(),Qi(6,"div",75)(7,"p"),nC(8,16),ob(9,"date"),$l(),Qi(10,"p"),nC(11,17),ob(12,"date"),$l(),Qi(13,"p"),nC(14,18),ob(15,"durationFormat"),$l(),Qi(16,"p"),nC(17,19),$l(),Ig(18,"sh-divider"),Qi(19,"p"),nC(20,20),$l(),Qi(21,"p"),nC(22,21),$l()()(),Qi(23,"details",72)(24,"summary"),Fg(25,22),Ig(26,"sh-icon"),Qi(27,"div",74),Ig(28,"sh-icon",66),$l(),jg(),$l(),Qi(29,"div",75)(30,"p"),nC(31,23),ob(32,"date"),$l(),Qi(33,"p"),nC(34,24),ob(35,"date"),$l(),Qi(36,"p"),nC(37,25),ob(38,"durationFormat"),$l(),Ig(39,"sh-divider"),Qi(40,"p"),nC(41,26),ob(42,"bytes"),$l(),Qi(43,"p"),nC(44,27),ob(45,"bytes"),$l(),Qi(46,"p"),nC(47,28),ob(48,"bytes"),$l(),Ig(49,"sh-divider"),Qi(50,"p"),nC(51,29),$l(),Qi(52,"p"),nC(53,30),$l()()()),n&2){let e=iC(2).$implicit;CE(9),Vg(ab(9,17,e.data?.TestResults?.BeginTime,"medium")),rC(8),CE(3),Vg(ab(12,20,e.data?.TestResults?.EndTime,"medium")),rC(11),CE(3),Vg(sb(15,23,e.data?.TestResults?.Duration)),rC(14),CE(2),Vg(e.data?.TestResults?.VerificationsActualLength),rC(17),CE(3),Vg(e.data?.TestResults?.WarningsActualLength),rC(20),CE(2),Vg(e.data?.TestResults?.ErrorsActualLength),rC(22),CE(10),Vg(ab(32,25,e.data?.CompactResults?.BeginTime,"medium")),rC(31),CE(3),Vg(ab(35,28,e.data?.CompactResults?.EndTime,"medium")),rC(34),CE(3),Vg(sb(38,31,e.data?.CompactResults?.Duration)),rC(37),CE(4),Vg(e.data?.CompactResults?.DeletedFileCount)(cb(42,33,e.data?.CompactResults?.DeletedFileSize,true,true)),rC(41),CE(3),Vg(e.data?.CompactResults?.DownloadedFileCount)(cb(45,37,e.data?.CompactResults?.DownloadedFileSize,true,true)),rC(44),CE(3),Vg(e.data?.CompactResults?.UploadedFileCount)(cb(48,41,e.data?.CompactResults?.UploadedFileSize,true,true)),rC(47),CE(3),Vg(e.data?.CompactResults?.WarningsActualLength),rC(51),CE(2),Vg(e.data?.CompactResults?.ErrorsActualLength),rC(53);}}function fn(n,t){n&1&&(Qi(0,"p"),jC(1,"No messages"),$l());}function hn(n,t){n&1&&(Fg(0,43,1),Ig(1,"sh-icon"),jg());}function yn(n,t){n&1&&(Fg(0,43,2),Ig(1,"sh-icon"),jg());}function vn(n,t){if(n&1){let e=vT();Qi(0,"div",76)(1,"code"),jC(2),$l(),Qi(3,"button",77),Hg("click",function(F){let c=Od(e).$implicit,L=iC(5);return Pd(L.copyToClipboard(F,c,c))}),Fg(4,43),aT(5,hn,2,0,"sh-icon")(6,yn,2,0,"sh-icon"),jg(),$l()();}if(n&2){let e=t.$implicit,o=iC(5);CE(2),im(e),CE(3),cT(o.copied()==e?5:6);}}function Bn(n,t){n&1&&(Qi(0,"p"),jC(1,"No warnings"),$l());}function xn(n,t){n&1&&(Fg(0,44,1),Ig(1,"sh-icon"),jg());}function bn(n,t){n&1&&(Fg(0,44,2),Ig(1,"sh-icon"),jg());}function kn(n,t){if(n&1){let e=vT();Qi(0,"div",76)(1,"code"),jC(2),$l(),Qi(3,"button",77),Hg("click",function(F){let c=Od(e).$implicit,L=iC(5);return Pd(L.copyToClipboard(F,c,c))}),Fg(4,44),aT(5,xn,2,0,"sh-icon")(6,bn,2,0,"sh-icon"),jg(),$l()();}if(n&2){let e=t.$implicit,o=iC(5);CE(2),im(e),CE(3),cT(o.copied()==e?5:6);}}function Kn(n,t){n&1&&(Qi(0,"p"),jC(1,"No errors"),$l());}function Un(n,t){n&1&&(Fg(0,45,1),Ig(1,"sh-icon"),jg());}function wn(n,t){n&1&&(Fg(0,45,2),Ig(1,"sh-icon"),jg());}function Jn(n,t){if(n&1){let e=vT();Qi(0,"div",76)(1,"code"),jC(2),$l(),Qi(3,"button",77),Hg("click",function(F){let c=Od(e).$implicit,L=iC(5);return Pd(L.copyToClipboard(F,c,c))}),Fg(4,45),aT(5,Un,2,0,"sh-icon")(6,wn,2,0,"sh-icon"),jg(),$l()();}if(n&2){let e=t.$implicit,o=iC(5);CE(2),im(e),CE(3),cT(o.copied()==e?5:6);}}function Xn(n,t){if(n&1&&(Qi(0,"details",72)(1,"summary"),Fg(2,31),Ig(3,"sh-icon"),Qi(4,"div",74),Ig(5,"sh-icon",66),$l(),jg(),$l(),Qi(6,"div",75)(7,"p"),nC(8,32),ob(9,"date"),$l(),Qi(10,"p"),nC(11,33),ob(12,"date"),$l(),Qi(13,"p"),nC(14,34),ob(15,"durationFormat"),$l(),Ig(16,"sh-divider"),Qi(17,"p"),nC(18,35),ob(19,"bytes"),$l(),Qi(20,"p"),nC(21,36),$l(),Qi(22,"p"),nC(23,37),$l(),Qi(24,"p"),nC(25,38),$l(),Qi(26,"p"),nC(27,39),$l(),Ig(28,"sh-divider"),Qi(29,"details",78)(30,"summary"),Fg(31,40),Ig(32,"sh-icon"),Qi(33,"div",74),Ig(34,"sh-icon",66),$l(),jg(),$l(),Qi(35,"div",75),aT(36,fn,2,0,"p"),dT(37,vn,7,2,"div",76,lT),$l()(),Qi(39,"details",79)(40,"summary"),Fg(41,41),Ig(42,"sh-icon"),Qi(43,"div",74),Ig(44,"sh-icon",66),$l(),jg(),$l(),Qi(45,"div",75),aT(46,Bn,2,0,"p"),dT(47,kn,7,2,"div",76,lT),$l()(),Qi(49,"details",80)(50,"summary"),Fg(51,42),Ig(52,"sh-icon"),Qi(53,"div",74),Ig(54,"sh-icon",66),$l(),jg(),$l(),Qi(55,"div",75),aT(56,Kn,2,0,"p"),dT(57,Jn,7,2,"div",76,lT),$l()(),Ig(59,"sh-divider"),$l()()),n&2){let e=t.$implicit;CE(5),Vg(e.Destination),rC(2),CE(4),Vg(ab(9,16,e.BeginTime,"medium")),rC(8),CE(3),Vg(ab(12,19,e.EndTime,"medium")),rC(11),CE(3),Vg(sb(15,22,e.Duration)),rC(14),CE(4),Vg(e.CopiedFileCount)(cb(19,24,e.CopiedFileSize,true,true)),rC(18),CE(2),Vg(e.DeletedFileCount),rC(21),CE(2),Vg(e.RenamedFileCount),rC(23),CE(2),Vg(e.VerifiedFileCount),rC(25),CE(2),Vg(e.FailedVerificationCount),rC(27),CE(7),Vg(e.MessagesActualLength),rC(31),CE(2),cT(e.Messages?.length===0?36:-1),CE(),fT(e.Messages),CE(7),Vg(e.WarningsActualLength),rC(41),CE(2),cT(e.Warnings?.length===0?46:-1),CE(),fT(e.Warnings),CE(7),Vg(e.ErrorsActualLength),rC(51),CE(2),cT(e.Errors?.length===0?56:-1),CE(),fT(e.Errors);}}function zn(n,t){if(n&1&&dT(0,Xn,60,28,"details",72,lT),n&2){let e=iC(2).$implicit;fT(e.data?.RemoteSynchronizationResults);}}function Vn(n,t){if(n&1&&(Qi(0,"details",72)(1,"summary"),Fg(2,46),Ig(3,"sh-icon"),Qi(4,"div",74),Ig(5,"sh-icon",66),$l(),jg(),$l(),Qi(6,"div",75)(7,"p"),nC(8,47),ob(9,"date"),$l(),Qi(10,"p"),nC(11,48),ob(12,"date"),$l(),Qi(13,"p"),nC(14,49),ob(15,"durationFormat"),$l(),Ig(16,"sh-divider"),Qi(17,"p"),nC(18,50),$l(),Qi(19,"p"),nC(20,51),$l(),Qi(21,"p"),nC(22,52),$l()()()),n&2){let e=iC(2).$implicit;CE(9),Vg(ab(9,6,e.data?.LockResults?.BeginTime,"medium")),rC(8),CE(3),Vg(ab(12,9,e.data?.LockResults?.EndTime,"medium")),rC(11),CE(3),Vg(sb(15,12,e.data?.LockResults?.Duration)),rC(14),CE(3),Vg(e.data?.LockResults?.VolumesRead),rC(18),CE(2),Vg(e.data?.LockResults?.VolumesUpdated),rC(20),CE(2),Vg(e.data?.LockResults?.ParsedResult),rC(22);}}function Hn(n,t){if(n&1&&(Qi(0,"code"),jC(1),ob(2,"json"),$l()),n&2){let e=t.$implicit;CE(),im(sb(2,1,e));}}function Wn(n,t){if(n&1&&(Qi(0,"details",72)(1,"summary"),Fg(2,53),Ig(3,"sh-icon"),Qi(4,"div",74),Ig(5,"sh-icon",66),$l(),jg(),$l(),Qi(6,"div",75),dT(7,Hn,3,3,"code",null,lT),$l()()),n&2){let e=iC(2).$implicit;CE(5),Vg(e.data.VerificationsActualLength),rC(2),CE(2),fT(e.data.Verifications);}}function jn(n,t){n&1&&(Qi(0,"sh-icon"),jC(1,"check"),$l());}function qn(n,t){n&1&&(Qi(0,"sh-icon"),jC(1,"copy"),$l());}function Qn(n,t){n&1&&(ql(0),Fg(1,54),Ig(2,"sh-icon"),jg(),Gl());}function Yn(n,t){n&1&&(ql(0),Fg(1,55),Ig(2,"sh-icon"),jg(),Gl());}function Zn(n,t){n&1&&(ql(0),Fg(1,56),Ig(2,"sh-icon"),jg(),Gl());}function et(n,t){if(n&1){let e=vT();Qi(0,"button",82),Hg("click",function(){Od(e),iC();let F=qC(0),c=iC(3);return Pd(c.toggleWarningSuppression(F.MessageId))}),aT(1,Qn,3,0,"ng-container")(2,Yn,3,0,"ng-container")(3,Zn,3,0,"ng-container"),$l();}if(n&2){iC();let e=qC(0),o=iC(3),F=o.isWarningSuppressed(e.MessageId);vg("disabled",o.isSuppressingWarning()),CE(),cT(o.isSuppressingWarning()?1:F?2:3);}}function nt(n,t){if(n&1){let e=vT();dm(0),Qi(1,"div",76)(2,"code"),jC(3),$l(),Qi(4,"button",77),Hg("click",function(F){let c=Od(e).$implicit,L=iC(3);return Pd(L.copyToClipboard(F,c,c))}),jC(5," Copy "),aT(6,jn,2,0,"sh-icon")(7,qn,2,0,"sh-icon"),$l(),aT(8,et,4,2,"button",81),$l();}if(n&2){let e=t.$implicit,o=iC(3),F=WC(o.parseWarning(e));CE(3),im(e),CE(3),cT(o.copied()==e?6:7),CE(2),cT(F?.MessageId?8:-1);}}function tt(n,t){n&1&&(Qi(0,"p"),jC(1,"No errors"),$l());}function it(n,t){n&1&&(Fg(0,57,1),Ig(1,"sh-icon"),jg());}function ot(n,t){n&1&&(Fg(0,57,2),Ig(1,"sh-icon"),jg());}function _t(n,t){if(n&1){let e=vT();Qi(0,"div",76)(1,"code"),jC(2),$l(),Qi(3,"button",77),Hg("click",function(F){let c=Od(e).$implicit,L=iC(3);return Pd(L.copyToClipboard(F,c,c))}),Fg(4,57),aT(5,it,2,0,"sh-icon")(6,ot,2,0,"sh-icon"),jg(),$l()();}if(n&2){let e=t.$implicit,o=iC(3);CE(2),im(e),CE(3),cT(o.copied()==e?5:6);}}function at(n,t){n&1&&(Qi(0,"sh-icon"),jC(1,"check"),$l());}function Ft(n,t){n&1&&(Qi(0,"sh-icon"),jC(1,"copy"),$l());}function rt(n,t){if(n&1){let e=vT();Qi(0,"section",67)(1,"sh-toggle-card",68),ql(2,69),Qi(3,"h3"),nC(4,0),$l(),Gl(),ql(5,70),Qi(6,"p"),nC(7,1),ob(8,"date"),$l(),Qi(9,"p"),nC(10,2),ob(11,"date"),$l(),Qi(12,"p"),nC(13,3),ob(14,"durationFormat"),$l(),Gl(),$l(),Qi(15,"sh-toggle-card",68),ql(16,69),Qi(17,"h3"),nC(18,4),$l(),Gl(),ql(19,70),Qi(20,"p"),nC(21,5),ob(22,"bytes"),$l(),Qi(23,"p"),nC(24,6),ob(25,"bytes"),$l(),Qi(26,"p"),nC(27,7),ob(28,"bytes"),$l(),Qi(29,"p"),nC(30,8),ob(31,"bytes"),$l(),Qi(32,"p"),nC(33,9),$l(),Qi(34,"p"),nC(35,10),$l(),Qi(36,"p"),nC(37,11),$l(),Gl(),$l(),Qi(38,"div",71),Ig(39,"sh-divider"),aT(40,Mn,54,45),aT(41,zn,2,0),aT(42,Vn,23,14,"details",72),aT(43,Wn,9,1,"details",72),Qi(44,"details",73)(45,"summary"),Fg(46,12),Ig(47,"sh-icon"),Qi(48,"div",74),Ig(49,"sh-icon",66),$l(),jg(),$l(),Qi(50,"div",75),dT(51,nt,9,4,"div",76,lT),$l()(),Qi(53,"details",73)(54,"summary"),Fg(55,13),Ig(56,"sh-icon"),Qi(57,"div",74),Ig(58,"sh-icon",66),$l(),jg(),$l(),Qi(59,"div",75),aT(60,tt,2,0,"p"),dT(61,_t,7,2,"div",76,lT),$l()(),Ig(63,"sh-divider"),Qi(64,"details")(65,"summary"),Fg(66,14),Ig(67,"sh-icon"),Qi(68,"div",74),Ig(69,"sh-icon",66),$l(),jg(),$l(),Qi(70,"code")(71,"button",77),Hg("click",function(F){Od(e);let c=iC().$implicit,L=iC();return Pd(L.copyToClipboard(F,L.stringify(c.data),"all"))}),jC(72," Copy "),aT(73,at,2,0,"sh-icon")(74,Ft,2,0,"sh-icon"),$l(),jC(75),ob(76,"json"),$l()()()();}if(n&2){let e=iC().$implicit,o=iC();CE(),vg("disableToggle",true),CE(7),Vg(ab(8,27,e.data?.BeginTime,"medium")),rC(7),CE(3),Vg(ab(11,30,e.data?.EndTime,"medium")),rC(10),CE(3),Vg(sb(14,33,e.data?.Duration)),rC(13),CE(),vg("disableToggle",true),CE(7),Vg(e.data?.ExaminedFiles)(cb(22,35,e.data?.SizeOfExaminedFiles,true,true)),rC(21),CE(3),Vg(e.data?.OpenedFiles)(cb(25,39,e.data?.SizeOfOpenedFiles,true,true)),rC(24),CE(3),Vg(e.data?.AddedFiles)(cb(28,43,e.data?.SizeOfAddedFiles,true,true)),rC(27),CE(3),Vg(e.data?.ModifiedFiles)(cb(31,47,e.data?.SizeOfModifiedFiles,true,true)),rC(30),CE(2),Vg(e.data?.DeletedFiles),rC(33),CE(2),Vg(e.data?.TooLargeFiles),rC(35),CE(2),Vg(e.data?.FilesWithError),rC(37),CE(3),cT(e.data?.TestResults?40:-1),CE(),cT(e.data?.RemoteSynchronizationResults?41:-1),CE(),cT(e.data?.LockResults?42:-1),CE(),cT(e.data?.MainOperation==="Test"?43:-1),CE(),vg("open",e.id===o.openEntry()&&o.openSection()==="warnings"),CE(5),Vg(e.data?.WarningsActualLength),rC(46),CE(2),fT(e.data?.Warnings),CE(2),vg("open",e.id===o.openEntry()&&o.openSection()==="errors"),CE(5),Vg(e.data?.ErrorsActualLength),rC(55),CE(2),cT(e.data?.Errors?.length===0?60:-1),CE(),fT(e.data?.Errors),CE(12),cT(o.copied()=="all"?73:74),CE(2),Ql(" ",sb(76,51,e.data)," ");}}function lt(n,t){if(n&1){let e=vT();Qi(0,"article",59)(1,"header",60),Hg("click",function(){let F=Od(e).$implicit,c=iC();return Pd(c.toggleOpenEntry(F))}),aT(2,Pn,1,0,"div",61)(3,Rn,1,0,"div",61)(4,In,1,0,"div",62)(5,$n,1,0,"div",63),Qi(6,"h3"),jC(7),ob(8,"date"),$l(),Qi(9,"p"),jC(10),$l(),Ig(11,"div",64),Qi(12,"div",65)(13,"sh-icon",66),jC(14,"caret-down"),$l()()(),aT(15,rt,77,53,"section",67),$l();}if(n&2){let e=t.$implicit,o=iC(),F=e.data?.ParsedResult||"Unknown";CE(2),cT(F=="Fatal"?2:F=="Error"?3:F=="Warning"?4:5),CE(5),im(ab(8,7,e.timestamp,"medium")),CE(3),sm(" ",e.data?.MainOperation," ",o.getLocalizedSummary(e)," "),CE(3),Kg("open",e.id===o.openEntry()),CE(2),cT(e.id===o.openEntry()?15:-1);}}var De=class n{#e=T(C);#n=T(g);#t=new m;#i=new c;backupId=E1.required();isSuppressingWarning=Ge(false);copied=Ge(null);backupResource=mb({params:()=>({id:this.backupId()}),loader:({params:t})=>dy(this.#e.getApiV1BackupById({id:t.id}))});suppressedWarningIds=Nt$1(()=>{let t=this.backupResource.value();if(!t?.Backup?.Settings)return new Set;let e=t.Backup.Settings.find(o=>o.Name==="--suppress-warnings");return e?.Value?new Set(e.Value.split(",").map(o=>o.trim()).filter(Boolean)):new Set});openEntry=Ge(null);openSection=Ge(null);pagination=Ge({offset:0,pagesize:100});resource=$({params:()=>l({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(pt$1(e=>e.map(o=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,type:o.Type,data:JSON.parse(o.Message),exception:JSON.stringify(o.Exception)==="{}"?null:o.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,o=t.data?.WarningsActualLength??0,F=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let c=this.#i.transform(t.data?.Duration,true);c.startsWith("0h ")&&(c=c.slice(3)),c.startsWith("0m ")&&(c=c.slice(3)),F.push($localize`took ${c}`);}t.data?.BackendStatistics?.BytesUploaded&&F.push($localize`uploaded ${this.#t.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&F.push($localize`backup size ${this.#t.transform(t.data?.BackendStatistics?.KnownFileSize)}`);}return e!==0&&F.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),o!==0&&F.push($localize`:@@warningCount:${o} warning${o===1?"":"s"}`),F.length===0?"":`(${F.join(", ")})`}toggleOpenEntry(t){let e=t.id;if(this.openEntry()===e){this.openEntry.set(null),this.openSection.set(null);return}let o=t.data?.ErrorsActualLength??0,F=t.data?.WarningsActualLength??0;o>0?this.openSection.set("errors"):F>0?this.openSection.set("warnings"):this.openSection.set(null),this.openEntry.set(e);}parseWarning(t){let e=t.match(/^(.*?) - \[(.*?)-(.*?)-(.*?)\]: (.*)$/);if(!e)return null;let[,o,F,c,L,G]=e;return {Timestamp:o,LogLevel:F,Source:c,MessageId:L,Message:G}}isWarningSuppressed(t){return this.suppressedWarningIds().has(t)}toggleWarningSuppression(t){let e=this.backupId();!e||!t||(this.isSuppressingWarning.set(true),this.#e.getApiV1BackupById({id:e}).pipe(Qu(o=>{let F=o.Backup?.Settings??[],c=F.findIndex(N=>N.Name==="--suppress-warnings"),L=this.isWarningSuppressed(t),G="";if(c>=0){let v=(F[c].Value??"").split(",").map(U=>U.trim()).filter(Boolean);L?v=v.filter(U=>U!==t):v.includes(t)||v.push(t),G=v.join(",");}else L||(G=t);let k=F.map(N=>({Name:N.Name,Value:N.Value,Filter:N.Filter}));return c>=0?G===""?k.splice(c,1):k[c]={Name:"--suppress-warnings",Value:G,Filter:null}:G!==""&&k.push({Name:"--suppress-warnings",Value:G,Filter:null}),this.#e.putApiV1BackupById({id:e,requestBody:{Backup:{Name:o.Backup?.Name,Description:o.Backup?.Description,DBPath:o.Backup?.DBPath,Tags:o.Backup?.Tags??[],TargetURL:o.Backup?.TargetURL,ConnectionStringID:o.Backup?.ConnectionStringID,Sources:o.Backup?.Sources??[],Settings:k,Filters:o.Backup?.Filters?.map(N=>({Expression:N.Expression,Include:N.Include,Order:N.Order})),Metadata:o.Backup?.Metadata??{},AdditionalTargetURLs:o.Backup?.AdditionalTargetURLs?.map(N=>({TargetUrl:N.TargetUrl,UrlKey:N.UrlKey,Mode:N.Mode,Interval:N.Interval,ConnectionStringID:N.ConnectionStringID,Options:N.Options}))},Schedule:o.Schedule?{Repeat:o.Schedule.Repeat,Time:o.Schedule.Time,AllowedDays:o.Schedule.AllowedDays}:void 0}})}),zu(()=>this.isSuppressingWarning.set(false))).subscribe({next:()=>{this.#n.getBackups(true),this.backupResource.reload();},error:o=>{console.error("Failed to toggle warning suppression:",o);}}));}copyToClipboard(t,e,o){t.stopPropagation(),navigator.clipboard.writeText(e),this.copied.set(o),setTimeout(()=>{this.copied.set(null);},2e3);}stringify(t){return JSON.stringify(t,null,2)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let o;o=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let F;F=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let c;c=$localize`Source files`;let L;L=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let G;G=$localize` Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let k;k=$localize` Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let N;N=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let v;v=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let U;U=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let A;A=$localize`${"\uFFFD#47\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#47\uFFFD|\uFFFD/#49\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#48\uFFFD"}:START_TAG_DIV:${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#47\uFFFD|\uFFFD/#49\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#48\uFFFD"}:CLOSE_TAG_DIV:`,A=oC(A);let ne;ne=$localize`${"\uFFFD#56\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#56\uFFFD|\uFFFD/#58\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#57\uFFFD"}:START_TAG_DIV:${"\uFFFD#58\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#56\uFFFD|\uFFFD/#58\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#57\uFFFD"}:CLOSE_TAG_DIV:`,ne=oC(ne);let te;te=$localize`${"\uFFFD#67\uFFFD"}:START_TAG_SH_ICON:notepad${"[\uFFFD/#67\uFFFD|\uFFFD/#69\uFFFD]"}:CLOSE_TAG_SH_ICON: Complete log ${"\uFFFD#68\uFFFD"}:START_TAG_DIV:${"\uFFFD#69\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#67\uFFFD|\uFFFD/#69\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#68\uFFFD"}:CLOSE_TAG_DIV:`,te=oC(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=oC(ie);let Ie;Ie=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let $e;$e=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Me;Me=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let he;he=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ye;ye=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=oC(oe);let ve;ve=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Be;Be=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let xe;xe=$localize` Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let be;be=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let ke;ke=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ke;Ke=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ue;Ue=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let we;we=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let _e;_e=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:arrows-clockwise${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Secondary destination: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,_e=oC(_e);let Je;Je=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Xe;Xe=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ze;ze=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ve;Ve=$localize` Files copied: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let He;He=$localize`Files deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let We;We=$localize`Files renamed: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let je;je=$localize`Files verified: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let qe;qe=$localize`Failed verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;ae=$localize`${"\uFFFD#32\uFFFD"}:START_TAG_SH_ICON:info${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON: Messages ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#33\uFFFD"}:START_TAG_DIV:${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#33\uFFFD"}:CLOSE_TAG_DIV:`,ae=oC(ae);let Fe;Fe=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#43\uFFFD"}:START_TAG_DIV:${"\uFFFD#44\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_DIV:`,Fe=oC(Fe);let re;re=$localize`${"\uFFFD#52\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#53\uFFFD"}:START_TAG_DIV:${"\uFFFD#54\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#53\uFFFD"}:CLOSE_TAG_DIV:`,re=oC(re);let le;le=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,le=oC(le);let se;se=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,se=oC(se);let ce;ce=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,ce=oC(ce);let ue;ue=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:lock${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Lock results ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ue=oC(ue);let Qe;Qe=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ye;Ye=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ze;Ze=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let en;en=$localize`Volumes read: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let nn;nn=$localize`Volumes updated: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let tn;tn=$localize`Parsed result: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let de;de=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,de=oC(de);let on;on=$localize` Updating ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let _n;_n=$localize` Un-suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let an;an=$localize` Suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell-slash${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Ee;return Ee=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,Ee=oC(Ee),[t,e,o,F,c,L,G,k,N,v,U,Q,A,ne,te,ie,Ie,$e,Me,fe,he,ye,oe,ve,Be,xe,be,ke,Ke,Ue,we,_e,Je,Xe,ze,Ve,He,We,je,qe,ae,Fe,re,le,se,ce,ue,Qe,Ye,Ze,en,nn,tn,de,on,_n,an,Ee,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disableToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],["name","details",3,"open"],[1,"actions"],[1,"content"],[1,"warning-item"],["shButton","",1,"small",3,"click"],["name","details-messages"],["name","details-warnings"],["name","details-errors"],["shButton","",1,"small",3,"disabled"],["shButton","",1,"small",3,"click","disabled"]]},template:function(e,o){e&1&&(aT(0,Dn,1,0,"sh-progress-bar",58),dT(1,lt,16,10,"article",59,lT)),e&2&&(cT(o.resource.isLoading()?0:-1),CE(),fT(o.resource.value()));},dependencies:[I,c$1,d,v,N,m,ci,c,hi],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(0)}details[open][_ngcontent-%COMP%] > summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}.warning-item[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}.warning-item[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;word-break:break-word}.warning-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-self:flex-start;white-space:nowrap}"]})};function st(n,t){n&1&&Ig(0,"sh-progress-bar",1);}function ct(n,t){n&1&&(Fg(0,0,1),Ig(1,"sh-icon"),jg());}function ut(n,t){n&1&&(Fg(0,0,2),Ig(1,"sh-icon"),jg());}function dt(n,t){if(n&1){let e=vT();Qi(0,"section",6)(1,"button",7),Hg("click",function(){Od(e);let F=iC(),c=F.$implicit,L=F.$index,G=iC();return Pd(G.copyToClipboard(c.data,L))}),Fg(2,0),aT(3,ct,2,0)(4,ut,2,0),jg(),$l(),Qi(5,"code"),jC(6),ob(7,"json"),$l()();}if(n&2){let e=iC(),o=e.$implicit,F=e.$index,c=iC();CE(),Kg("success",c.copiedFromIndex()===F),CE(2),cT(c.copiedFromIndex()===F?3:4),CE(3),im(sb(7,4,o.data));}}function Et(n,t){if(n&1){let e=vT();Qi(0,"article",2)(1,"header",3),Hg("click",function(){let F=Od(e).$implicit,c=iC();return Pd(c.toggleOpenEntry(F.id))}),Qi(2,"h3"),jC(3),ob(4,"date"),$l(),Qi(5,"div",4)(6,"sh-icon",5),jC(7,"caret-down"),$l()()(),aT(8,dt,8,6,"section",6),$l();}if(n&2){let e=t.$implicit,o=iC();CE(3),am("",ab(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),CE(3),Kg("open",e.id===o.openEntry()),CE(2),cT(e.id===o.openEntry()?8:-1);}}var Pe=class n{#e=T(C);backupId=E1.required();openEntry=Ge(null);pagination=Ge({offset:0,pagesize:100});copiedFromIndex=Ge(null);resource=$({params:()=>l({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(pt$1(e=>e.map((o,F)=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,operation:o.Operation,path:o.Path,data:typeof o.Data=="string"?JSON.parse(o.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t);}copyToClipboard(t,e){let o=JSON.stringify(t,null,2);navigator.clipboard.writeText(o),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null);},3e3);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=oC(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["shButton","",1,"small",3,"click"]]},template:function(e,o){e&1&&(aT(0,st,1,0,"sh-progress-bar",1),dT(1,Et,9,9,"article",2,lT)),e&2&&(cT(o.resource.isLoading()?0:-1),CE(),fT(o.resource.value()));},dependencies:[d,N,hi,ci],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"]})};function Ct(n,t){if(n&1&&(jC(0," - "),ql(1),nC(2,6),Gl(),jC(3),ob(4,"durationFormat")),n&2){iC(2);let e=qC(6);CE(3),Ql(" ",sb(4,1,e.Backup.Metadata?.LastBackupDuration)," ");}}function pt(n,t){n&1&&(ql(0),nC(1,7),Gl());}function Tt(n,t){if(n&1&&(jC(0),ob(1,"bytes")),n&2){iC(2);let e=qC(6);Ql(" ",sb(1,1,e.Backup.Metadata?.SourceFilesSize)," ");}}function gt(n,t){n&1&&(ql(0),nC(1,8),Gl());}function St(n,t){if(n&1&&(jC(0),ob(1,"bytes")),n&2){iC(2);let e=qC(6);Ql(" ",sb(1,1,e.Backup.Metadata?.TargetFilesSize)," ");}}function Ot(n,t){n&1&&(ql(0),nC(1,9),Gl());}function Lt(n,t){if(n&1&&(Qi(0,"sh-chip",20),nC(1,10),$l()),n&2){iC(2);let e=qC(6);CE(),Vg(e.Backup.Metadata?.BackupListCount),rC(1);}}function Nt(n,t){n&1&&(Qi(0,"sh-chip",21),nC(1,11),$l());}function mt(n,t){if(n&1&&(Qi(0,"div",14)(1,"div",19)(2,"h3"),jC(3),Qi(4,"sh-icon"),jC(5,"database"),$l()(),Qi(6,"p")(7,"span"),nC(8,3),$l(),jC(9),ob(10,"date"),aT(11,Ct,5,3)(12,pt,2,0,"ng-container"),$l(),Qi(13,"p")(14,"span"),nC(15,4),$l(),aT(16,Tt,2,3)(17,gt,2,0,"ng-container"),$l(),Qi(18,"p")(19,"span"),nC(20,5),$l(),aT(21,St,2,3)(22,Ot,2,0,"ng-container"),$l()(),aT(23,Lt,2,1,"sh-chip",20)(24,Nt,2,0,"sh-chip",21),$l()),n&2){let e=iC(),o=qC(6);CE(3),Ql(" ",o.Backup.Name??e.MISSING_BACKUP_NAME," "),CE(6),Ql(" ",ab(10,6,o.Backup.Metadata?.LastBackupFinished,"short")," "),CE(2),cT(o.Backup.Metadata?.LastBackupDuration?11:12),CE(5),cT(o.Backup.Metadata?.SourceFilesSize?16:17),CE(5),cT(o.Backup.Metadata?.TargetFilesSize?21:22),CE(2),cT(o.Backup.Metadata?.BackupListCount?23:24);}}function Gt(n,t){if(n&1&&Ig(0,"app-general-log",18),n&2){let e=iC();vg("backupId",e.backupId());}}function At(n,t){if(n&1&&Ig(0,"app-remote-log",18),n&2){let e=iC();vg("backupId",e.backupId());}}var Re=class n{#e=T(W);#n=T(g);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=Ge("general");backupId=L(this.#e.params.pipe(pt$1(t=>t.id)));backup=Nt$1(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-log"]],decls:15,vars:5,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`General`;let o;o=$localize`Destination`;let F;F=$localize`Last successful backup:`;let c;c=$localize`Source:`;let L;L=$localize`Destination:`;let G;G=$localize`took`;let k;k=$localize`N/A`;let N;N=$localize`N/A`;let v;v=$localize`N/A`;let U;U=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Q;return Q=$localize`No version yet`,[t,e,o,F,c,L,G,k,N,v,U,Q,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"backup"],[1,"primary",3,"valueChange","value"],["value","general"],["value","destination"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,o){if(e&1){let F=vT();Ig(0,"app-status-bar"),Qi(1,"section")(2,"div",12)(3,"button",13),Fg(4,0),Ig(5,"sh-icon"),jg(),$l()(),dm(6),aT(7,mt,25,9,"div",14),Qi(8,"sh-tabs",15),lm("valueChange",function(L){return Od(F),UC(o.activeTab,L)||(o.activeTab=L),Pd(L)}),Qi(9,"button",16),nC(10,1),$l(),Qi(11,"button",17),nC(12,2),$l()(),aT(13,Gt,1,1,"app-general-log",18),aT(14,At,1,1,"app-remote-log",18),$l();}if(e&2){CE(6);let F=WC(o.backup());CE(),cT(F?7:-1),CE(),cm("value",o.activeTab),CE(5),cT(o.activeTab()==="general"?13:-1),CE(),cT(o.activeTab()==="destination"?14:-1);}},dependencies:[w,De,Pe,_t$1,ee,N,v,D,m,c,ci],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}sh-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"]})};export{Re as default};
package/chunk-BHrABvoK.js DELETED
@@ -1 +0,0 @@
1
- import {m,C as C$1,F}from'./chunk-1-oPQ4n-.js';import {J}from'./chunk-FZcbbWYC.js';import {x}from'./chunk-B-T54LAJ.js';import {T,a6 as be$1,ab as C,aw as W,e as ee,ax as De,a5 as g,G as Ge$1,N as Nt,z as za,at as h,ay as Qu,az as t,aA as y,aj as l,J as zu,h as hw,_ as _t,c as N,v,u as ue,Q as Qi,s as jC,F as Fg,i as Ig,j as jg,$ as $l,H as Hg,p as lm,r as CD,d as aT,C as CE,y as vg,a3 as KC,L as Kg,aB as sm,w as cm,x as _D,g as cT,o as oC,U as UC,l as vT,O as Od,k as iC,P as Pd,K as im,n as nC,au as Vg,av as rC}from'./main-XKLDSNLY.js';import {d}from'./chunk-BnFO-7ok.js';import {F as Fe}from'./chunk-DqoYKCmi.js';import {j as jn,m as me,G as Gn,T as Tn,Z as Ze,y as yt,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-BDhLEYas.js';import {a as at}from'./chunk-UUMQmD5I.js';import {L}from'./chunk-DCsYP4vf.js';var Xe=()=>["/"];function be(t,o){t&1&&(Qi(0,"sh-toggle",25),Fg(1,5),Ig(2,"input",28),CD(),jg(),$l()),t&2&&(CE(2),_D());}function Ge(t,o){t&1&&(Qi(0,"span",31),nC(1,9),$l());}function Be(t,o){if(t&1&&(Qi(0,"span",31),nC(1,10),$l()),t&2){let e=iC(2);CE(),Vg(e.exportForm.controls.password.errors?.minlength.requiredLength),rC(1);}}function ve(t,o){if(t&1&&Ig(0,"sh-progress-bar",38),t&2){let e=iC(2);Kg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),vg("value",e.calculatePasswordStrength()*(100/5));}}function ke(t,o){t&1&&(Qi(0,"span",31),nC(1,11),$l());}function Ue(t,o){t&1&&(Qi(0,"span",31),nC(1,12),$l());}function Ke(t,o){if(t&1&&(Qi(0,"span",31),nC(1,13),$l()),t&2){let e=iC(2);CE(),Vg(e.exportForm.controls.repeatPassword.errors?.minlength.requiredLength),rC(1);}}function Je(t,o){t&1&&(Fg(0,7,1),Ig(1,"sh-icon"),jg());}function He(t,o){t&1&&(Fg(0,7,2),Ig(1,"sh-icon"),jg());}function ze(t,o){t&1&&(Fg(0,14,1),Ig(1,"sh-icon",40),jg());}function Ve(t,o){t&1&&(Fg(0,14,2),Ig(1,"sh-icon"),jg());}function qe(t,o){if(t&1){let e=vT();Qi(0,"button",39),Hg("click",function(){Od(e);let a=iC(2);return Pd(a.copyPassword())}),Fg(1,14),aT(2,ze,2,0)(3,Ve,2,0),jg(),$l();}if(t&2){let e=iC(2);CE(2),cT(e.copiedPassword()?2:3);}}function je(t,o){t&1&&(Qi(0,"sh-alert",37),nC(1,15),$l());}function We(t,o){if(t&1){let e=vT();Qi(0,"div",26)(1,"sh-form-field")(2,"label",29),Fg(3,6),Ig(4,"sup"),jg(),$l(),Ig(5,"input",30),CD(),aT(6,Ge,2,0,"span",31)(7,Be,2,1,"span",31),$l(),aT(8,ve,1,9,"sh-progress-bar",32),Qi(9,"sh-form-field"),Ig(10,"input",33),CD(),aT(11,ke,2,0,"span",31)(12,Ue,2,0,"span",31)(13,Ke,2,1,"span",31),$l(),Qi(14,"div",34)(15,"button",35),Hg("click",function(){Od(e);let a=iC();return Pd(a.showPassword.set(!a.showPassword()))}),Fg(16,7),aT(17,Je,2,0)(18,He,2,0),jg(),$l(),Qi(19,"button",35),Hg("click",function(){Od(e);let a=iC();return Pd(a.generatePassword())}),Fg(20,8),Ig(21,"sh-icon"),jg(),$l(),aT(22,qe,4,1,"button",36),$l(),aT(23,je,2,0,"sh-alert",37),$l();}if(t&2){let e=iC();CE(5),vg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.controls.password.errors?.required?6:e.exportForm.controls.password.errors?.minlength?7:-1),CE(2),cT(e.exportForm.value.password?8:-1),CE(2),vg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors?.required?12:e.exportForm.controls.repeatPassword.errors?.minlength?13:-1),CE(6),cT(e.showPassword()?17:18),CE(5),cT(e.showCopyPassword()?22:-1),CE(),cT(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1);}}function Qe(t,o){if(t&1&&(Qi(0,"div",27)(1,"code"),jC(2),$l()()),t&2){let e=iC();CE(2),im(e.exportedCmd());}}var I=new jn,K=class t$1{#o=T(m);#n=T(be$1);#t=T(C);#e=T(W);#i=T(ee);#r=T(De);#s=T(g);isExporting=Ge$1(false);exportType=Ge$1("file");exportedCmd=Ge$1(null);exportForm=I.group({exportPasswords:I.control(true),encryption:I.control(false,[me.required,F()]),password:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])]),repeatPassword:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])])});exportFormSignal=L(this.exportForm.valueChanges);encryptionFieldSignal=Nt(()=>(this.exportFormSignal()?.encryption??false)&&this.exportType()==="file");activeBackup=Nt(()=>this.#s.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=Ge$1(false);copiedPassword=Ge$1(false);showCopyPassword=Ge$1(false);calculatePasswordStrength=Nt(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=za(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity();});disablePasswordForCommandLine=za(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(false);});submit(){if(this.exportType()==="file"&&this.exportFormSignal()?.exportPasswords===true&&!this.exportFormSignal()?.encryption){this.#n.open(h,{data:{title:$localize`Export without encryption?`,message:$localize`Are you sure you want to export your backup without encryption?`,confirmText:$localize`Yes, write plain-text passwords`,cancelText:$localize`Cancel`},closed:o=>{o&&this.submitApproved();}});return}this.submitApproved();}submitApproved(){this.isExporting.set(true),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Qu(o=>{let e=T=>{let O=Object.entries(T);return O?"?"+O.filter(([h,E])=>E!=null).map(([h,E])=>`${encodeURIComponent(h)}=${encodeURIComponent(E)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0,a=t.BASE||"";return this.#r.get(`${a}/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob",headers:new y(l({},t.HEADERS??{}))})}),zu(()=>this.isExporting.set(false))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",a=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${a}`),this.#i.navigate(["/"]);},error:o=>{console.error("Failed to export backup",o);}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(zu(()=>this.isExporting.set(false))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null);},error:o=>{console.error("Failed to export backup as command line",o);}});}downloadFile(o,e){let n=window.URL.createObjectURL(o),a=document.createElement("a");a.href=n,a.download=e,a.click(),window.URL.revokeObjectURL(n);}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#a(o??""),this.copiedPassword.set(true);}async#a(o){try{await navigator.clipboard.writeText(o);}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n);}catch(n){console.error("Failed to copy text: ",n);}}}generatePassword(){this.copiedPassword.set(false);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(true);}static \u0275fac=function(e){return new(e||t$1)};static \u0275cmp=hw({type:t$1,selectors:[["app-export"]],decls:26,vars:13,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let n;n=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let T;T=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let h;h=$localize`Password`;let E;E=$localize`Repeat password`;let J;J=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let w;w=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=oC(w);let H;H=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let z;z=$localize`Passwords are required`;let V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let W;W=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let D;D=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,D=oC(D);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[o,e,n,a,T,O,J,w,H,z,V,q,j,W,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","",1,"raised","primary",3,"click","shTooltip","disabled"],["autocomplete","off",3,"formGroup"],[1,"type-b",3,"valueChange","value"],["value","cmd"],["value","file"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",h,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",E,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){e&1&&(Qi(0,"header")(1,"h3"),jC(2," Export backup configuration "),Qi(3,"div",16)(4,"button",17),Fg(5,0),Ig(6,"sh-icon"),jg(),$l(),Qi(7,"button",18),Hg("click",function(){return n.submit()}),Fg(8,1),Ig(9,"sh-icon"),jg(),$l()()(),Qi(10,"p"),jC(11),$l()(),Qi(12,"form",19)(13,"sh-button-group",20),lm("valueChange",function(T){return UC(n.exportType,T)||(n.exportType=T),T}),Qi(14,"button",21),Fg(15,2),Ig(16,"sh-icon"),jg(),$l(),Qi(17,"button",22),Fg(18,3),Ig(19,"sh-icon"),jg(),$l()(),Qi(20,"sh-toggle",23),Fg(21,4),Ig(22,"input",24),CD(),jg(),$l(),aT(23,be,3,0,"sh-toggle",25),aT(24,We,24,8,"div",26),aT(25,Qe,3,1,"div",27),$l()),e&2&&(CE(4),vg("routerLink",KC(12,Xe)),CE(3),Kg("loading",n.isExporting()),vg("shTooltip",n.encryptionFieldSignal()?"Remember to copy the password":"")("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),CE(4),sm("#",n.activeBackup()?.Backup?.ID,": ",n.activeBackup()?.Backup?.Name),CE(),vg("formGroup",n.exportForm),CE(),cm("value",n.exportType),CE(9),_D(),CE(),cT(n.exportType()==="file"?23:-1),CE(),cT(n.encryptionFieldSignal()?24:-1),CE(),cT(n.exportedCmd()?25:-1));},dependencies:[Gn,Tn,Ze,yt,Rn,Pn,gn,hn,_t,x,J,N,Fe,v,ue,d,at],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}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"]})};export{K as default};
package/chunk-BNG7N21y.js DELETED
@@ -1 +0,0 @@
1
- import {OptionsListComponent as Oe}from'./chunk-DGO0_pkA.js';import {I}from'./chunk-0lYdrxte.js';import {F as Fe}from'./chunk-DqoYKCmi.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-BDhLEYas.js';import {L}from'./chunk-DCsYP4vf.js';import {T,ab as C,e as ee$1,aw as W,G as Ge,N as Nt,J as zu,h as hw,c as N,v,Q as Qi,H as Hg,d as aT,aP as ql,n as nC,aQ as Gl,p as lm,$ as $l,F as Fg,i as Ig,j as jg,y as vg,C as CE,g as cT,w as cm,a6 as be,at as h,aZ as ee$2,U as UC,r as CD,x as _D}from'./main-XKLDSNLY.js';import'./chunk-DzYR8wiz.js';import'./chunk-DXh9g32e.js';import'./chunk-FZcbbWYC.js';import'./chunk-Dyq6iPbF.js';import'./chunk-5EFCeqK3.js';import'./chunk-GKdOPH_4.js';import'./chunk-KNmRQWOM.js';import'./chunk-B-T54LAJ.js';import'./chunk-D5zSyubd.js';import'./chunk-Cv4o9u3S.js';import'./chunk-BnFO-7ok.js';import'./chunk-UUMQmD5I.js';import'./chunk-BaknLOqq.js';var d=class r{#t=T(be);destinationTargetUrl=Ge(null);destinationTestSignal=Ge(null);encryptionForm=Z();temporaryBackupId=Ge(null);updateTargetUrl(e){this.destinationTargetUrl.set(e);}showErrorDialog(e){this.#t.open(h,{data:{title:$localize`Error occured`,message:e,confirmText:$localize`OK`,cancelText:void 0},closed:n=>{}});}static \u0275fac=function(n){return new(n||r)};static \u0275prov=ee$2({token:r,factory:r.\u0275fac,providedIn:"root"})};function ne(r,e){r&1&&(Qi(0,"p"),nC(1,3),$l());}function oe(r,e){r&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,4),$l(),Ig(3,"input",12),CD(),$l()),r&2&&(CE(3),_D());}var ee=new jn,Z=()=>ee.group({passphrase:ee.control("")}),f=class r{#t=T(C);#e=T(d);#n=T(ee$1);#o=T(W);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=Ge(false);settings=Ge([]);hasEncryptedBackup=Nt(()=>{let e=this.#e.destinationTestSignal();return e==="testing"||typeof e=="string"?true:e?.containsEncryptedBackupFiles??true});passphraseSignal=L(this.encryptionForm.controls.passphrase.valueChanges);showEncryptionField=Ge(false);isValidConfig=Nt(()=>{if(!this.#e.destinationTargetUrl())return false;let n=this.#e.destinationTestSignal();return !(typeof n!="string"&&(n?.containsEncryptedBackupFiles??false)&&!this.passphraseSignal())});next(){let e=this.#e.destinationTargetUrl();if(!e)throw new Error("No target URL");this.creatingTemporaryBackup.set(true);let n=this.encryptionForm.value?.passphrase??null,t=[];n?t.push({Name:"--passphrase",Value:n}):t.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(i=>{let o=i.Name?.trim();o&&o!=="--"&&(o.startsWith("--")||(o=`--${o}`),t.push({Name:o,Value:i.Value??""}));}),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:e,Settings:t}},temporary:true}).pipe(zu(()=>this.creatingTemporaryBackup.set(false))).subscribe({next:i=>{let o=i.ID;this.#e.temporaryBackupId.set(o),this.#n.navigate(["../select-config"],{relativeTo:this.#o});},error:i=>{console.error(i);}});}back(){this.#n.navigate(["../destination"],{relativeTo:this.#o});}static \u0275fac=function(n){return new(n||r)};static \u0275cmp=hw({type:r,selectors:[["app-import-destination-encryption"]],decls:14,vars:6,consts:()=>{let e;e=$localize`Advanced options`;let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let t;t=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let i;i=$localize`The backup does not contain encrypted files.`;let o;o=$localize`Enter backup passphrase if defined.`;let P;return P=$localize`Password`,[e,n,t,i,P,[3,"submit","formGroup"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],["for","password"],["type","password","id","password","autocomplete","disabled","placeholder",o,"formControlName","passphrase"]]},template:function(n,t){n&1&&(Qi(0,"form",5),Hg("submit",function(){return t.next()}),aT(1,ne,2,0,"p"),aT(2,oe,4,0,"sh-form-field"),Qi(3,"sh-toggle-card"),ql(4,6),nC(5,0),Gl(),Qi(6,"app-options-list",7),lm("optionsChange",function(o){return UC(t.settings,o)||(t.settings=o),o}),$l()(),Qi(7,"div",8)(8,"button",9),Hg("click",function(){return t.back()}),Fg(9,1),Ig(10,"sh-icon"),jg(),$l(),Qi(11,"button",10),Fg(12,2),Ig(13,"sh-icon"),jg(),$l()()()),n&2&&(vg("formGroup",t.encryptionForm),CE(),cT(t.hasEncryptedBackup()?-1:1),CE(),cT(t.hasEncryptedBackup()||t.showEncryptionField()?2:-1),CE(4),cm("options",t.settings),vg("hasFreeTextSettings",true),CE(5),vg("disabled",!t.isValidConfig()));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,Fe,N,v,I,Oe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"]})};var chunkD5MQONXY=/*#__PURE__*/Object.freeze({__proto__:null,createEncryptionForm:Z,default:f});export{chunkD5MQONXY as c,d};
package/chunk-BQapkAzp.js DELETED
@@ -1 +0,0 @@
1
- import {T,ab as C,a6 as be,a5 as g,e as ee$1,E as E1,N as Nt,G as Ge,z as za,at as h,J as zu,h as hw,v,_ as _t,aH as m,b2 as m$1,Q as Qi,n as nC,$ as $l,d as aT,H as Hg,C as CE,au as Vg,av as rC,g as cT,y as vg,a3 as KC,L as Kg,i as Ig,a1 as dT,k as iC,a2 as fT,F as Fg,aM as ob,j as jg,aN as ab,s as jC,K as im,aR as sb}from'./main-XKLDSNLY.js';import {f}from'./chunk-CTH9uShX.js';import {d}from'./chunk-BnFO-7ok.js';import {$}from'./chunk-DCsYP4vf.js';var W=()=>["/"],Y=(n,e)=>e.FilesetID,Z=(n,e)=>e.Path;function ee(n,e){n&1&&(Qi(0,"div",6),Ig(1,"sh-progress-bar",12),Qi(2,"p"),nC(3,3),$l()());}function ie(n,e){n&1&&(Qi(0,"div",7)(1,"p"),nC(2,4),$l()());}function ne(n,e){if(n&1&&(Qi(0,"span",18),jC(1),ob(2,"bytes"),$l()),n&2){let i=iC().$implicit;CE(),im(sb(2,1,i.Size));}}function te(n,e){if(n&1&&(Qi(0,"div",16)(1,"span",17),jC(2),$l(),aT(3,ne,3,3,"span",18),$l()),n&2){let i=e.$implicit;CE(2),im(i.Path),CE(),cT(i.Size?3:-1);}}function oe(n,e){if(n&1&&(Qi(0,"sh-card",13)(1,"h3")(2,"span"),Fg(3,5),Ig(4,"span",14),ob(5,"relativeTime"),jg(),$l()(),Qi(6,"div",15),dT(7,te,4,2,"div",16,Z),$l()()),n&2){let i=iC().$implicit;CE(5),Vg(i.FilesetID)(ab(5,2,i.FilesetTime,true)),rC(3),CE(2),fT(i.Files);}}function le(n,e){if(n&1&&aT(0,oe,9,5,"sh-card",13),n&2){let i=e.$implicit;cT(i.Files?.length?0:-1);}}function ae(n,e){if(n&1&&(Qi(0,"div",8),dT(1,le,1,1,null,null,Y),$l()),n&2){let i=iC();CE(),fT(i.filesets());}}var B=class n{#e=T(C);#i=T(be);#n=T(g);#t=T(ee$1);id=E1.required();backup=Nt(()=>this.#n.getBackupById(this.id()));brokenFilesResource=$({params:()=>({id:this.id()}),stream:({params:e})=>this.#e.postApiV2BackupListBrokenFiles({requestBody:{BackupId:e.id}})});isLoading=Nt(()=>this.brokenFilesResource.isLoading());isPurging=Ge(false);filesets=Ge([]);constructor(){za(()=>{let e=this.brokenFilesResource.value();if(e){let i=(e.Data??[]).slice().sort((t,r)=>t.FilesetTime<r.FilesetTime?1:t.FilesetTime>r.FilesetTime?-1:0);this.filesets.set(i);}});}totalFiles=Nt(()=>this.filesets().reduce((e,i)=>e+(i.Files?.length??0),0));hasBrokenFiles=Nt(()=>this.totalFiles()>0);purgeBrokenFiles(){let e=this.totalFiles();e!==0&&this.#i.open(h,{data:{title:$localize`Confirm purge`,message:$localize`Are you sure you want to fully remove ${e} broken file(s)?`,confirmText:$localize`Purge broken files`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.isPurging.set(true),this.#e.postApiV2BackupPurgeBrokenFiles({requestBody:{BackupId:this.id()}}).pipe(zu(()=>this.isPurging.set(false))).subscribe({next:()=>{this.#t.navigate(["/"]);}}));}});}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=hw({type:n,selectors:[["app-broken-files"]],inputs:{id:[1,"id"]},decls:10,vars:8,consts:()=>{let e;e=$localize`Purge broken files for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`Cancel`;let t;t=$localize` Purge broken files `;let r;r=$localize`Checking for broken files...`;let R;R=$localize`No broken files found for this backup.`;let k;return k=$localize` Version ${"\uFFFD0\uFFFD"}:INTERPOLATION: at ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:${"\uFFFD1\uFFFD"}:INTERPOLATION_1:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`,[e,i,t,r,R,k,[1,"loading-state"],[1,"empty-state"],[1,"fileset-list"],[1,"actions"],["shButton","",3,"routerLink","disabled"],["shButton","",1,"raised","error",3,"click","disabled"],[1,"primary","indeterminate"],[1,"type-a","full-width"],[1,"time"],[1,"file-list"],[1,"file"],[1,"path"],[1,"size"]]},template:function(i,t){i&1&&(Qi(0,"h3"),nC(1,0),$l(),aT(2,ee,4,0,"div",6)(3,ie,3,0,"div",7)(4,ae,3,0,"div",8),Qi(5,"div",9)(6,"button",10),nC(7,1),$l(),Qi(8,"button",11),Hg("click",function(){return t.purgeBrokenFiles()}),nC(9,2),$l()()),i&2&&(CE(),Vg(t.backup()?.Backup?.Name),rC(1),CE(),cT(t.isLoading()?2:t.hasBrokenFiles()?4:3),CE(4),vg("routerLink",KC(7,W))("disabled",t.isPurging()),CE(2),Kg("loading",t.isPurging()),vg("disabled",t.isPurging()||!t.hasBrokenFiles()||t.isLoading()));},dependencies:[v,f,d,_t,m,m$1],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h3[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{font:var(--text-20);opacity:.7;margin-left:.5rem}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.fileset-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.file[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.file[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{word-break:break-all}.file[_ngcontent-%COMP%] .size[_ngcontent-%COMP%]{white-space:nowrap;opacity:.7}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"]})};export{B as default};