@duplicati/ngclient 0.0.6 → 0.0.8
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.
- package/{chunk-CKPPU3GS.js → chunk-2AXNYUNT.js} +1 -1
- package/chunk-35H2LYPK.js +1 -0
- package/{chunk-RANWFSNY.js → chunk-5SGHSZAK.js} +1 -1
- package/{chunk-AC6VDRLC.js → chunk-5Y47Y3RB.js} +1 -1
- package/chunk-7I4KJB7N.js +1 -0
- package/{chunk-WLI4RZYL.js → chunk-A7NGO6XL.js} +1 -1
- package/chunk-AFUS3PYG.js +1 -0
- package/{chunk-4FK75Z4C.js → chunk-AV26WKVA.js} +1 -1
- package/chunk-C52YH32J.js +1 -0
- package/chunk-DIZGZ272.js +1 -0
- package/{chunk-4MMHXTNF.js → chunk-GI67D57P.js} +1 -1
- package/chunk-GYB3IDJ2.js +1 -0
- package/{chunk-3MTW6FJP.js → chunk-H2IAZHJK.js} +1 -1
- package/{chunk-UTPCUNNU.js → chunk-H7EA5XT6.js} +1 -1
- package/{chunk-L47VTK2X.js → chunk-IL52LC7Q.js} +1 -1
- package/{chunk-24PLBY6C.js → chunk-JDCFQ6PF.js} +1 -1
- package/{chunk-GMANGOGH.js → chunk-K3HFPUKT.js} +1 -1
- package/{chunk-XU7PNEZO.js → chunk-K4KGTWQK.js} +1 -1
- package/{chunk-IQSBPGVL.js → chunk-L44RMVJT.js} +1 -1
- package/{chunk-PY5HJ5U2.js → chunk-L4EVZZOM.js} +1 -1
- package/chunk-NCEFK5D4.js +1 -0
- package/{chunk-6XUWDRDE.js → chunk-NPPGT43I.js} +1 -1
- package/{chunk-X2NZ4CJ5.js → chunk-NSVRJR5X.js} +1 -1
- package/{chunk-ZD3JEKWI.js → chunk-P4AWKIXG.js} +1 -1
- package/{chunk-IOWSWUHM.js → chunk-QGZLYKKB.js} +1 -1
- package/{chunk-ORDBF5MR.js → chunk-RBNO3K72.js} +7 -7
- package/{chunk-S76TN27U.js → chunk-S7QBT7L2.js} +1 -1
- package/{chunk-PH6AAOK4.js → chunk-SYBUINNV.js} +1 -1
- package/chunk-SZ6B2QGN.js +1 -0
- package/chunk-T4LLO76D.js +1 -0
- package/{chunk-LVLU6MPQ.js → chunk-TIGGJ4KF.js} +1 -1
- package/chunk-TOQ4S3RM.js +1 -0
- package/chunk-V7LHB36E.js +1 -0
- package/{chunk-VPEVWKGB.js → chunk-VSPW7AWV.js} +1 -1
- package/chunk-WONBUEO3.js +1 -0
- package/{chunk-A66Z6362.js → chunk-WU4K3UNC.js} +1 -1
- package/{chunk-57M4MADC.js → chunk-XT6S3PN3.js} +1 -1
- package/{chunk-77NTMJCT.js → chunk-ZG7T5UHX.js} +1 -1
- package/chunk-ZI6WOAJG.js +1 -0
- package/{chunk-I6QIKK6M.js → chunk-ZYCMR5VM.js} +1 -1
- package/index.html +5 -5
- package/main-L3LC53O6.js +1 -0
- package/package.json +1 -1
- package/{styles-6W7ZCKNM.css → styles-LBHWJUQR.css} +1 -1
- package/chunk-22HCWJS5.js +0 -1
- package/chunk-3MM4GLBS.js +0 -1
- package/chunk-7X6SBNMU.js +0 -1
- package/chunk-BNNZKRIC.js +0 -1
- package/chunk-DYANEO5K.js +0 -1
- package/chunk-GJTW7UUU.js +0 -1
- package/chunk-N5US3SKW.js +0 -1
- package/chunk-NIMPOFJV.js +0 -1
- package/chunk-QQDSFTZV.js +0 -1
- package/chunk-RLJJFBQ2.js +0 -1
- package/chunk-VVUYO7E4.js +0 -1
- package/chunk-XYJYUMYL.js +0 -1
- package/chunk-YRXI477O.js +0 -1
- package/main-5KJRELCN.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
1
|
+
import{a as r}from"./chunk-K4KGTWQK.js";import"./chunk-JDCFQ6PF.js";import"./chunk-AFUS3PYG.js";import"./chunk-L4EVZZOM.js";import"./chunk-SYBUINNV.js";import{Db as e,Jb as l,X as a,Z as i,jb as s,kb as p}from"./chunk-RBNO3K72.js";var o=class n{#t=a(r);ngOnInit(){this.#t.logout()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=i({type:n,selectors:[["app-logout"]],standalone:!0,features:[l],decls:3,vars:0,template:function(t,c){t&1&&(s(0,"p"),e(1,"logout works!"),p(),e(2,`,
|
|
2
2
|
`))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as N}from"./chunk-V7LHB36E.js";import{a as M}from"./chunk-WU4K3UNC.js";import{k as V}from"./chunk-S7QBT7L2.js";import{a as O,b as L}from"./chunk-SYBUINNV.js";import{$a as T,$b as d,Db as m,G as h,Gb as b,Jb as A,M as I,Oa as l,Ob as E,Pb as R,R as C,Ua as i,X as r,Z as _,a as k,aa as x,b as S,bb as p,bc as P,fb as w,jb as o,kb as u,lb as c,o as B,rb as v,s as D}from"./chunk-RBNO3K72.js";var f=class a{#t=r(N);transform(e,...t){return this.#t(e).fromNow()}static \u0275fac=function(t){return new(t||a)};static \u0275pipe=x({name:"appRelativeTime",type:a,pure:!0,standalone:!0})};var g=class a{#t=1e3;#d=r(L);#o=r(O);#n=r(M);#e=i(!1);#i=i(!1);#u=i(this.#t);#p=i(null);#r=i(!1);#s=i(!1);#a=i(null);#f=i(!1);statusData=this.#p.asReadonly();serverState=d(()=>{let e=this.#a();return e?(e.ProposedSchedule=e?.ProposedSchedule?.map(t=>{let s=t.Item1?this.#n.getBackupById(t.Item1):null;return S(k({},t),{backup:s})}),e):null});isFetching=this.#i.asReadonly();#l=null;#g=P(()=>{let e=this.#e(),t=this.#u();if(!e||!t||t<this.#t){this.#l&&window.clearInterval(this.#l);return}this.#l=window.setInterval(()=>{this.#m()},t)});start(){this.#r.set(!0),this.#c()}stop(){this.#r.set(!1)}startPollingProgress(){this.#m(),this.#e.set(!0)}stopPollingProgress(){this.#e.set(!1)}setProgressStatePollingInterval(e){if(e<this.#t){console.error(`Polling interval must be at least ${this.#t}ms`);return}this.#u.set(e)}serverStateEffect=P(()=>{if(this.#f()){this.stopPollingProgress();return}!this.#s()&&this.#r()?setTimeout(()=>{this.startPollingProgress(),this.#c()},1e3):this.stopPollingProgress()},{allowSignalWrites:!0});#c(){if(this.#s())return;this.#s.set(!0);let e=this.#a()?.LastEventID,t=e==null?{}:{lastEventId:e,longpoll:!0,duration:"299s"};this.#o.getApiV1Serverstate(t).pipe(h(()=>this.#s.set(!1))).subscribe({next:s=>{this.#a()?.LastDataUpdateID!==s.LastDataUpdateID&&this.#n.getBackups(),this.#a.set(s)}})}#m(){this.#i.set(!0),this.#d.getApiV1Progressstate().pipe(I(e=>{let t=e.TaskID??null;return t===null?B(e):this.#o.getApiV1TaskByTaskid({taskid:t}).pipe(D(s=>S(k({},e),{task:s??null})))}),h(()=>this.#i.set(!1))).subscribe({next:e=>{let t=e.TaskID??null,s=e.BackupID??null;if(t!==null&&s!==null){let n=this.#n.getBackupById(s);e.backup=n}e.task?.Status==="Completed"?this.#e.set(!1):this.#e.set(!0),this.#p.set(e)},error:e=>{e.status===404&&this.#e.set(!1)}})}static \u0275fac=function(t){return new(t||a)};static \u0275prov=C({token:a,factory:a.\u0275fac,providedIn:"root"})};function G(a,e){if(a&1&&(o(0,"div",2),m(1),u(),c(2,"spk-progress-bar",3)),a&2){let t,s,n=v();l(),b("",(t=n.statusData())==null||t.task==null?null:t.task.Status," - ",(t=n.statusData())==null||t.backup==null||t.backup.Backup==null?null:t.backup.Backup.Name,""),l(),p("value",(s=n.statusData())!=null&&s.OverallProgress?((s=n.statusData())==null?null:s.OverallProgress)*100:3)}}function F(a,e){if(a&1&&(o(0,"div",2),m(1),E(2,"appRelativeTime"),u(),c(3,"spk-progress-bar",4)),a&2){let t,s=v();l(),b("",(t=s.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - ",R(2,3,s.nextBackup().time),""),l(2),p("value",3)}}function J(a,e){a&1&&(o(0,"div",2),m(1,"No scheduled tasks"),u(),c(2,"spk-progress-bar",4)),a&2&&(l(2),p("value",3))}function U(a,e){a&1&&(o(0,"div",2),m(1,"Loading..."),u(),c(2,"spk-progress-bar",4)),a&2&&(l(2),p("value",3))}var y=class a{#t=r(g);statusData=this.#t.statusData;serverState=this.#t.serverState;nextBackup=d(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#t.start()}ngOnDestroy(){this.#t.stop()}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=_({type:a,selectors:[["app-status-bar"]],standalone:!0,features:[A],decls:6,vars:1,consts:[[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"raised","primary",3,"value"],[1,"raised",3,"value"]],template:function(t,s){if(t&1&&(o(0,"div",0)(1,"div",1),T(2,G,3,3)(3,F,4,5)(4,J,3,1)(5,U,3,1),u()()),t&2){let n;l(2),w(!((n=s.statusData())==null||n.task==null)&&n.task.Status&&((n=s.statusData())==null||n.task==null?null:n.task.Status)!=="Completed"?2:s.nextBackup()?3:!s.statusData()||((n=s.statusData())==null||n.task==null?null:n.task.Status)==="Completed"?4:5)}},dependencies:[V,f],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{y as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as S}from"./chunk-
|
|
1
|
+
import{b as S}from"./chunk-P4AWKIXG.js";import{a as h}from"./chunk-SYBUINNV.js";import{Db as p,Eb as d,Jb as f,Oa as n,Ob as u,Pb as C,X as s,Z as l,gb as c,hb as m,ib as g,jb as i,kb as a,nc as v}from"./chunk-RBNO3K72.js";function L(t,o){if(t&1&&(i(0,"pre",0),p(1),u(2,"json"),a()),t&2){let e=o.$implicit;n(),d(C(2,1,e))}}var r=class t{#e=s(h);logs=S(this.#e.getApiV1LogdataLog());static \u0275fac=function(e){return new(e||t)};static \u0275cmp=l({type:t,selectors:[["app-logs"]],standalone:!0,features:[f],decls:4,vars:0,consts:[[2,"white-space","wrap"]],template:function(e,y){e&1&&(i(0,"h3"),p(1,"Logs"),a(),m(2,L,3,3,"pre",0,c)),e&2&&(n(2),g(y.logs()))},dependencies:[v],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}"],changeDetection:0})};export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m,b as u}from"./chunk-
|
|
1
|
+
import{a as m,b as u}from"./chunk-P4AWKIXG.js";import{$b as V,F as l,L as f,Ta as v,X as b,ac as w,e as d,ea as I,fa as y,ma as S,n as j,q as h,t as c}from"./chunk-RBNO3K72.js";function z(e,n,o){!n&&y(e);let i=n??b(S);return o?I(i,o):i}function C(...e){let{normalizedSources:n,hasInitValue:o,operator:i,options:r}=E(e),s=z(C,r?.injector);return o?u(c(n).pipe(i),{initialValue:r.initialValue,injector:s}):u(c(n).pipe(i),{injector:s,requireSync:!0})}function E(e){if(!e||!e.length||typeof e[0]!="object")throw new TypeError("derivedFrom needs sources");let n=typeof e[1]=="function";if(e.length==3&&!n)throw new TypeError("derivedFrom needs pipeable operator as a second argument");n||e.splice(1,0,d);let[o,i,r]=e,s=r?.initialValue!==void 0;return{normalizedSources:Object.entries(o).reduce((p,[a,t])=>{if(v(t))p[a]=m(t,{injector:r?.injector}).pipe(f(w(t)));else if(h(t))p[a]=t.pipe(l());else if(typeof t=="function"){let A=V(t);p[a]=m(A,{injector:r?.injector}).pipe(f(t()))}else p[a]=j(t).pipe(l());return p},Array.isArray(o)?[]:{}),operator:i,hasInitValue:s,options:r}}export{C as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as P}from"./chunk-35H2LYPK.js";import"./chunk-V7LHB36E.js";import{a as I}from"./chunk-WU4K3UNC.js";import{a as y,d as M,e as D,k as R}from"./chunk-S7QBT7L2.js";import{d as v}from"./chunk-AFUS3PYG.js";import"./chunk-L4EVZZOM.js";import{a as O}from"./chunk-SYBUINNV.js";import{$a as d,Db as r,Fb as B,Gb as S,Jb as b,Lb as h,Oa as l,X as s,Z as m,bb as k,fb as f,gb as g,hb as C,ib as _,jb as i,kb as p,lb as c,rb as x}from"./chunk-RBNO3K72.js";var w=e=>["/restore-flow",e];function L(e,o){e&1&&c(0,"spk-progress-bar",0)}function T(e,o){if(e&1&&(i(0,"spk-card",1),c(1,"img",2),i(2,"div",3)(3,"h3"),r(4),p(),i(5,"p"),r(6),p()(),i(7,"button",4),r(8," Restore "),i(9,"spk-icon"),r(10,"arrow-right"),p()()()),e&2){let t,a,n=o.$implicit;l(4),B("Restore ",(t=n.Backup==null?null:n.Backup.Name)!==null&&t!==void 0?t:"Backup name missing",""),l(2),S(" ",(a=n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.SourceSizeString)!==null&&a!==void 0?a:"-"," / ",(a=n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.BackupListCount)!==null&&a!==void 0?a:"-"," "),l(),k("routerLink",h(4,w,n.Backup==null?null:n.Backup.ID))}}function E(e,o){if(e&1&&C(0,T,11,6,"spk-card",1,g),e&2){let t=x();_(t.backups())}}function N(e,o){e&1&&r(0," No backups found ")}var u=class e{#e=s(I);#t=s(O);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups()}restoreNow(o){this.#t.postApiV1BackupByIdRestore({id:o.Backup?.ID,requestBody:{}})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=m({type:e,selectors:[["app-restore"]],standalone:!0,features:[b],decls:7,vars:1,consts:[[1,"indeterminate","primary"],[1,"type-a"],["src","assets/images/folder.png","alt","","width","48px"],[1,"text"],["spk-button","",3,"routerLink"]],template:function(t,a){t&1&&(c(0,"app-status-bar"),i(1,"section")(2,"h2"),r(3,"Where do you want to restore from?"),p(),d(4,L,1,0,"spk-progress-bar",0)(5,E,2,0)(6,N,1,0),p()),t&2&&(l(4),f(a.backupsLoading()?4:a.backups().length?5:6))},dependencies:[P,D,M,y,R,v],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 0;display:flex;flex-direction:column;gap:1rem}spk-divider[_ngcontent-%COMP%]{color:var(--base-level-60)}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Ue,b as ge}from"./chunk-57M4MADC.js";import{b as Se}from"./chunk-ZD3JEKWI.js";import{a as we,b as H,c as he,d as Y,e as Z,f as J,g as ue,i as X,j as _e,k as Le,l as ee,m as te,n as ne,o as I,q as ie}from"./chunk-7X6SBNMU.js";import{a as Ce}from"./chunk-LVLU6MPQ.js";import{a as oe,d as fe,f as ft,h as ae,j as ze,m as Ct,n as re,q as De}from"./chunk-S76TN27U.js";import{a as K,c as M}from"./chunk-N5US3SKW.js";import{a as gt}from"./chunk-PH6AAOK4.js";import{$ as z,Cb as j,Db as q,Eb as xe,F as lt,Fb as l,Gb as G,Hb as A,I as ye,Jb as ct,Lb as Q,N as st,Nb as Be,Pb as $e,Qa as s,T as be,Tb as dt,Wa as S,Xa as U,Z as h,a as se,b as Me,bb as f,bc as W,c as rt,cb as $,db as d,fb as mt,hb as _,ib as w,ja as C,jb as D,ka as g,kb as T,lb as a,mb as o,nb as p,nc as ut,ob as k,pb as v,qb as Re,rb as b,sb as y,tb as m,wb as me,wc as _t,xb as O,yb as pt}from"./chunk-ORDBF5MR.js";var je=class t{fromString(n){if(!n)return null;let e=n.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(n,e){return`${n}${e}`}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var ve=new I,Pe={file:{customFields:{path:{type:"file-tree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>ve.control(t??"")}}},ssh:{customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>ve.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>ve.control(t??"")},path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["auth-username"]},s3:{customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")},bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>ve.control(t??"")}},dynamicFields:["use-ssl","s3-server-name","auth-username","auth-password"]},gcs:{dynamicFields:["gcs-location","gcs-storage-class","authid"]},googledrive:{oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["authid"]}};function Te(t,n){let e={},i={};return n.searchParams.forEach((r,c)=>{Pe[t].dynamicFields?.includes(c)?i[c]=decodeURIComponent(r):e[c]=decodeURIComponent(r)}),{advanced:e,dynamic:i}}function Ie(t){let n=t.map(([e,i])=>`${e}=${i?encodeURIComponent(i.toString()):""}`).join("&");return n?"?"+n:""}var Ee={file:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>{let i=e.indexOf("file:///")===0,r=e.split(i?"///":"//")[1].substring(0,1)+n.hostname.substring(1);return se({destinationType:t,custom:{path:`${i?"/":""}${r}${n.pathname}`}},Te(t,n))}},ssh:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.server}${t.custom.port?":"+t.custom.port:""}${t.custom.path.startsWith("/")?t.custom.path:"/"+t.custom.path}${n}`},from:(t,n,e)=>se({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},Te(t,n))},s3:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.bucket}${t.custom.path}${n}`},from:(t,n,e)=>se({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},Te(t,n))},gcs:{to:t=>{let n=t.dynamic["gcs-location"]??"";delete t.dynamic["gcs-location"];let e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>{let{advanced:i,dynamic:r}=Te(t,n);return{destinationType:t,advanced:i,dynamic:Me(se({},r),{"gcs-location":n.hostname+n.pathname})}}},googledrive:{to:t=>{let n=t.custom.path,e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>{let i=e.replace("googledrive://","");return se({destinationType:t,custom:{path:i}},Te(t,n))}},fallbackMapper:{to:t=>"",from:(t,n,e)=>se({destinationType:t},Te(t,n))}};function Oe(t){let n=t.destinationType;return!n||!Ee.hasOwnProperty(n)?Ee.fallbackMapper.to(t)??"":Ee[n].to(t)??""}function yt(t){let n=URL.canParse(t),e=t.split("://")[0],i="http://"+t.split("://")[1],r=new URL(i);if(!Ee.hasOwnProperty(e))return Ee.fallbackMapper.from(e,r);if(!n)throw new Error("Invalid target path");return Ee[e].from(e,r,t)}var Dt=/[a-zA-Z0-9_\-\+\.]/,qe=class t{generate(n,e=Dt){let i=this;return Array.apply(null,{length:n}).map(()=>{let r;for(;;)if(r=String.fromCharCode(i.#e()),e.test(r))return r},this).join("")}#e(){if(window.crypto&&window.crypto.getRandomValues){let n=new Uint8Array(1);return window.crypto.getRandomValues(n),n[0]}else if(window.msCrypto&&window.msCrypto.getRandomValues){let n=new Uint8Array(1);return window.msCrypto.getRandomValues(n),n[0]}else return Math.floor(Math.random()*256)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};function Ye(t,n,e="conditional"){return i=>{if(!i.parent)return null;let r=null;if(t(i.parent)&&(r=(Array.isArray(n)?n:[n]).find(F=>F(i)!==null)??null),e&&r){let c={};c[e]=r,r=c}return r}}function xt(){return t=>(t.parent&&Object.values(t.parent.controls).forEach(n=>{n!==t&&n.updateValueAndValidity()}),null)}var Tt=["formRef"];function Et(t,n){if(t&1&&(a(0,"option",14),l(1),o()),t&2){let e=n.$implicit;d("value",e.Key),s(),G(e.DisplayName)}}function Ot(t,n){t&1&&(a(0,"spk-icon"),l(1,"eye-slash"),o(),l(2," hide "))}function Nt(t,n){t&1&&(a(0,"spk-icon"),l(1,"eye"),o(),l(2," show "))}function Vt(t,n){t&1&&(a(0,"spk-icon",23),l(1,"check"),o())}function Pt(t,n){t&1&&(a(0,"spk-icon"),l(1,"copy"),o())}function It(t,n){if(t&1){let e=b();a(0,"button",22),y("click",function(){C(e);let r=m(3);return g(r.copyPassword())}),f(1,Vt,2,0,"spk-icon",23)(2,Pt,2,0,"spk-icon"),l(3),o()}if(t&2){let e=m(3);s(),_(e.copiedPassword()?1:2),s(2),A(" ",e.copiedPassword()?"Copied":"Copy"," password ")}}function Gt(t,n){if(t&1){let e=b();a(0,"div",15)(1,"spk-form-field")(2,"label",16),l(3,"Create a password"),o(),p(4,"input",17),o(),a(5,"spk-form-field"),p(6,"input",18),o(),a(7,"div",19)(8,"button",20),y("click",function(){C(e);let r=m(2);return g(r.showPassword.set(!r.showPassword()))}),f(9,Ot,3,0)(10,Nt,3,0),o(),a(11,"button",20),y("click",function(){C(e);let r=m(2);return g(r.generatePassword())}),a(12,"spk-icon"),l(13,"password"),o(),l(14," Generate password "),o(),f(15,It,4,2,"button",21),o()()}if(t&2){let e=m(2);s(4),d("type",e.showPassword()?"text":"password"),s(2),d("type",e.showPassword()?"text":"password"),s(3),_(e.showPassword()?9:10),s(6),_(e.showCopyPassword()?15:-1)}}function At(t,n){if(t&1&&(a(0,"spk-select",10)(1,"label",11),l(2,"Encryption"),o(),p(3,"input",12),k(4,13),D(5,Et,2,2,"option",14,w),v(),o(),f(7,Gt,16,4,"div",15)),t&2){let e,i=m();d("displayValue",i.displayFn((e=i.generalForm.value.encryption)!==null&&e!==void 0?e:"")),s(5),T(i.encryptionOptions()),s(2),_(i.encryptionFieldSignal()!=="none"?7:-1)}}var Ne=new I,ht=(t={name:"",description:"",encryption:"none",password:"",repeatPassword:""})=>Ne.group({name:Ne.control(t.name,[he.required]),description:Ne.control(t.description),encryption:Ne.control(t.encryption,[he.required,xt()]),password:Ne.control(t.password,[Ye(n=>n?.value.encryption!=="none",[he.required])]),repeatPassword:Ne.control(t.repeatPassword,[Ye(n=>n?.value.encryption!=="none",[he.required])])}),Je={Key:"none",DisplayName:"None"},Ze=class t{#e=h(M);#t=h(K);#n=h(qe);#i=h(R);#o=h(Ce);formRef=U.required("formRef");generalForm=this.#i.generalForm;encryptionFieldSignal=this.#i.encryptionFieldSignal;encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;showPassword=S(!1);copiedPassword=S(!1);showCopyPassword=S(!1);ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#i.exit()}async copyPassword(){let n=this.generalForm.controls.password.value;await this.#a(n??""),this.copiedPassword.set(!0)}async#a(n){try{await navigator.clipboard.writeText(n)}catch{try{let i=document.createElement("textarea");i.value=n,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}catch(i){console.error("Failed to copy text: ",i)}}}displayFn(n){let e=this.#o.systemInfo()?.EncryptionModules??[],i=[Je,...e].find(r=>r.Key===n);return i?`${i.DisplayName}`:""}generatePassword(){this.copiedPassword.set(!1);let n=this.#n.generate(16);this.generalForm.controls.password.setValue(n),this.generalForm.controls.repeatPassword.setValue(n),this.showCopyPassword.set(!0)}next(){this.#e.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-general"]],viewQuery:function(e,i){e&1&&j(i.formRef,Tt,5),e&2&&q()},standalone:!0,features:[Q],decls:23,vars:4,consts:[["formRef",""],["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder","Your backup name","formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder","Your backup description","formControlName","description"],[1,"form-actions"],["spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],[3,"displayValue"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder","Encryption","formControlName","encryption"],["options",""],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","placeholder","Password","formControlName","password",3,"type"],["id","repeatPassword","tabindex","5","placeholder","Repeat password","formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]],template:function(e,i){if(e&1){let r=b();a(0,"form",1,0),y("submit",function(){return C(r),g(i.next())}),a(2,"h3",2),l(3,"General backup settings"),o(),a(4,"spk-form-field")(5,"label",3),l(6,"Backup name"),o(),p(7,"input",4),o(),a(8,"spk-form-field")(9,"label",5),l(10,"Backup description"),o(),p(11,"textarea",6),o(),f(12,At,8,2),a(13,"div",7)(14,"button",8),y("click",function(){return C(r),g(i.exit())}),a(15,"spk-icon"),l(16,"arrow-left"),o(),l(17," Exit "),o(),a(18,"div")(19,"button",9)(20,"spk-icon"),l(21,"arrow-right"),o(),l(22," Continue "),o()()()()}e&2&&(d("formGroup",i.generalForm),s(12),_(i.isNew()?12:-1),s(6),$("spk-tooltip-primary",i.generalForm.valid&&i.encryptionFieldSignal()==="none"||i.copiedPassword()?void 0:"Remember to copy the password"),s(),d("disabled",i.generalForm.invalid||i.encryptionFieldSignal()!=="none"&&i.showCopyPassword()&&!i.copiedPassword()))},dependencies:[ie,J,te,ne,H,Y,Z,X,ee,ae,re,fe,oe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};var Mt=["formRef"];function Rt(t,n){if(t&1&&(a(0,"option",9),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Bt(t,n){if(t&1&&(a(0,"option",9),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function $t(t,n){if(t&1){let e=b();a(0,"button",22),y("click",function(){let r=C(e).$implicit,c=m();return g(c.addNewOption(r))}),l(1),o()}if(t&2){let e=n.$implicit;s(),G(e.Name)}}function Lt(t,n){t&1&&(a(0,"label",23),l(1,"Name"),o())}function zt(t,n){t&1&&(a(0,"label",25),l(1,"Value"),o())}function Ut(t,n){if(t&1){let e=b();a(0,"div",18)(1,"spk-form-field"),f(2,Lt,2,0,"label",23),p(3,"input",24),o(),a(4,"spk-form-field"),f(5,zt,2,0,"label",25),p(6,"input",26),o(),a(7,"button",27),y("click",function(){let r=C(e).$index,c=m();return g(c.optionsForm.controls.advancedOptions.removeAt(r))}),a(8,"spk-icon"),l(9,"x-circle"),o()()()}if(t&2){let e=n.$implicit,i=n.$index;d("formGroup",e),s(2),_(i===0?2:-1),s(3),_(i===0?5:-1)}}var pe=new I,jt=["Bytes","KB","MB","GB","TB","PB"],qt=["Local folder","Local drive","Remote drive","Cloud drive"],St=(t={remoteVolumeSize:0,size:"GB",backupRetention:"Local folder",advancedOptions:[]})=>pe.group({remoteVolumeSize:pe.group({size:pe.control(t.remoteVolumeSize),unit:pe.control(t.size)}),backupRetention:pe.control(t.backupRetention),advancedOptions:pe.array([])}),et=(t,n)=>pe.group({name:pe.control(t),value:pe.control(n)}),Xe=class t{#e=h(Ce);#t=h(R);#n=h(M);#i=h(K);formRef=U.required("formRef");optionsForm=this.#t.optionsForm;sizeOptions=S(jt);rentationOptions=S(qt);selectionAdvancedOptions=Se(this.optionsForm.controls.advancedOptions.valueChanges.pipe(st([])));advancedOptions=S(this.#e.systemInfo()?.Options??[]);nonSelectedAdvancedOptions=W(()=>this.advancedOptions().filter(n=>this.selectionAdvancedOptions()?.findIndex(e=>e.name===n.Name)===-1));addNewOption(n){this.optionsForm.controls.advancedOptions.push(et(n.Name,n.DefaultValue))}displayFn(){let n=this.advancedOptions();return e=>{let i=n.find(r=>r.Name===e);return i?`${i.Name}`:""}}goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#i.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-options"]],viewQuery:function(e,i){e&1&&j(i.formRef,Mt,5),e&2&&q()},standalone:!0,features:[Q],decls:49,vars:2,consts:[["formRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"remote-volume-wrap"],["formGroupName","remoteVolumeSize",1,"row-inputs"],["for","size"],["type","number","id","size","formControlName","size"],["type","text","placeholder","Select an option...","formControlName","unit"],["options",""],[3,"value"],["href","#",1,"spk-primary"],["type","text","placeholder","Local folder or drive","formControlName","backupRetention"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["formArrayName","advancedOptions"],[1,"advanced-option",3,"formGroup"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["spk-menu-item","","type","button",3,"click"],["for","name"],["type","text","id","name","formControlName","name"],["for","value"],["type","text","id","value","formControlName","value"],["spk-button","","type","button",1,"icon",3,"click"]],template:function(e,i){if(e&1){let r=b();a(0,"form",1,0),y("submit",function(){return C(r),g(i.submit())}),a(2,"h3",2),l(3,"Options"),o(),a(4,"div",3)(5,"div",4)(6,"spk-form-field")(7,"label",5),l(8,"Remote volume size"),o(),p(9,"input",6),o(),a(10,"spk-select"),p(11,"input",7),k(12,8),D(13,Rt,2,2,"option",9,w),v(),o()(),a(15,"p"),l(16," The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. "),a(17,"a",10),l(18,"Read more"),o()()(),a(19,"spk-select")(20,"label",5),l(21,"Backup retention"),o(),p(22,"input",11),k(23,8),D(24,Bt,2,2,"option",9,w),v(),o(),a(26,"app-toggle-card",12),k(27,13),l(28," Advanced options "),a(29,"spk-menu")(30,"button",14),l(31," Add advanced option "),a(32,"spk-icon"),l(33,"plus"),o()(),k(34,15),D(35,$t,2,1,"button",16,w),v(),o(),v(),k(37,17),D(38,Ut,10,3,"div",18,w),v(),o(),a(40,"div",19)(41,"button",20),y("click",function(){return C(r),g(i.goBack())}),a(42,"spk-icon"),l(43,"arrow-left"),o(),l(44," Go back "),o(),a(45,"button",21)(46,"spk-icon"),l(47,"arrow-right"),o(),l(48," Submit "),o()()()}e&2&&(d("formGroup",i.optionsForm),s(13),T(i.sizeOptions()),s(11),T(i.rentationOptions()),s(2),d("disallowToggle",!0),s(9),T(i.nonSelectedAdvancedOptions()),s(3),T(i.optionsForm.controls.advancedOptions.controls))},dependencies:[ie,J,te,ne,H,ue,Y,Z,X,ee,_e,Le,ze,re,fe,oe,ae,ge],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Qt=["formRef"];function Wt(t,n){if(t&1&&(a(0,"option",24),l(1),o()),t&2){let e=n.$implicit;d("value",e.key),s(),G(e.label)}}function Kt(t,n){if(t&1){let e=b();a(0,"div",11)(1,"spk-form-field")(2,"label",12),l(3,"Next time"),o(),a(4,"input",13,1),y("focus",function(){C(e);let r=xe(5);return g(r.showPicker())}),o(),a(6,"spk-icon",14),l(7,"clock"),o()(),a(8,"spk-form-field"),p(9,"label",15),a(10,"input",16,2),y("focus",function(){C(e);let r=xe(11);return g(r.showPicker())}),o(),a(12,"spk-icon",14),l(13,"calendar"),o()()(),k(14,17),a(15,"div",18)(16,"spk-form-field")(17,"label",19),l(18,"Run again every"),o(),p(19,"input",20),o(),a(20,"spk-select",21),p(21,"input",22),k(22,23),D(23,Wt,2,2,"option",24,w),v(),o()(),a(25,"app-toggle-card",25),k(26,26),l(27,"Allowed days"),v(),a(28,"div",27)(29,"spk-toggle",6),l(30," Monday "),p(31,"input",28),o(),a(32,"spk-toggle",6),l(33," Tuesday "),p(34,"input",29),o(),a(35,"spk-toggle",6),l(36," Wednesday "),p(37,"input",30),o(),a(38,"spk-toggle",6),l(39," Thursday "),p(40,"input",31),o(),a(41,"spk-toggle",6),l(42," Friday "),p(43,"input",32),o(),a(44,"spk-toggle",6),l(45," Saturday "),p(46,"input",33),o(),a(47,"spk-toggle",6),l(48," Sunday "),p(49,"input",34),o()()(),v()}if(t&2){let e=m();s(20),d("displayFn",e.displayFn),s(3),T(e.unitOptions),s(2),d("disallowToggle",!0)}}var V=new I,kt=[{key:"s",label:"Seconds"},{key:"m",label:"Minutes"},{key:"h",label:"Hours"},{key:"D",label:"Days"},{key:"W",label:"Weeks"},{key:"M",label:"Months"},{key:"Y",label:"Years"}],vt=(t={autoRun:!1,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}})=>V.group({autoRun:V.control(t.autoRun),nextTime:V.group({time:V.control(t.nextTime.time),date:V.control(t.nextTime.date)}),runAgain:V.group({repeatValue:V.control(t.runAgain.repeatValue),repeatUnit:V.control(t.runAgain.repeatUnit),allowedDays:V.group({mon:V.control(t.runAgain.allowedDays.mon),tue:V.control(t.runAgain.allowedDays.tue),wed:V.control(t.runAgain.allowedDays.wed),thu:V.control(t.runAgain.allowedDays.thu),fri:V.control(t.runAgain.allowedDays.fri),sat:V.control(t.runAgain.allowedDays.sat),sun:V.control(t.runAgain.allowedDays.sun)})})}),tt=class t{#e=h(R);#t=h(M);#n=h(K);formRef=U.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=kt;displayFn(n){let e=kt.find(i=>i.key===n);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-schedule"]],viewQuery:function(e,i){e&1&&j(i.formRef,Qt,5),e&2&&q()},standalone:!0,features:[Q],decls:20,vars:2,consts:[["formRef",""],["timeRef",""],["dateRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox","formControlName","autoRun"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["formGroupName","nextTime",1,"row-inputs"],["for","time"],["type","time","id","time","formControlName","time",3,"focus"],["spkSuffix",""],["for","date"],["type","date","id","date","formControlName","date",3,"focus"],["formGroupName","runAgain"],[1,"row-inputs"],["for","repeatValue"],["type","number","id","repeatValue","formControlName","repeatValue"],[3,"displayFn"],["type","text","id","repeatUnit","formControlName","repeatUnit"],["options",""],[3,"value"],["formGroupName","allowedDays",3,"disallowToggle"],["title",""],[1,"days-wrap"],["type","checkbox","formControlName","mon"],["type","checkbox","formControlName","tue"],["type","checkbox","formControlName","wed"],["type","checkbox","formControlName","thu"],["type","checkbox","formControlName","fri"],["type","checkbox","formControlName","sat"],["type","checkbox","formControlName","sun"]],template:function(e,i){if(e&1){let r=b();a(0,"form",3,0),y("submit",function(){return C(r),g(i.next())}),a(2,"h3",4),l(3,"Schedule"),o(),a(4,"div",5)(5,"spk-toggle",6),l(6," Automatically run backups "),p(7,"input",7),o(),a(8,"p"),l(9,"If a date was missed, the job will run as soon as possible."),o()(),f(10,Kt,50,2),a(11,"div",8)(12,"button",9),y("click",function(){return C(r),g(i.goBack())}),a(13,"spk-icon"),l(14,"arrow-left"),o(),l(15," Go back "),o(),a(16,"button",10)(17,"spk-icon"),l(18,"arrow-right"),o(),l(19," Continue "),o()()()}if(e&2){let r;d("formGroup",i.scheduleForm),s(10),_((r=i.scheduleFormSignal())!=null&&r.autoRun?-1:10)}},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,ae,re,De,oe,fe,ge],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ht=["formRef"];function Yt(t,n){if(t&1&&(a(0,"option",21),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Zt(t,n){if(t&1&&(a(0,"div",14)(1,"spk-form-field"),p(2,"input",18),o(),a(3,"spk-select"),p(4,"input",19),k(5,20),D(6,Yt,2,2,"option",21,w),v(),o()()),t&2){let e=m(2);s(6),T(e.sizeOptions())}}function Jt(t,n){if(t&1){let e=b();a(0,"form",2,0),y("submit",function(){C(e);let r=m();return g(r.next())}),a(2,"h3",3),l(3,"Source Data"),o(),a(4,"app-file-tree",4)(5,"label",5),l(6,"Folder path"),o(),p(7,"input",6),o(),a(8,"app-toggle-card",7),k(9,8),l(10,"Exclude"),v(),a(11,"spk-toggle",9),l(12," Hidden files "),p(13,"input",10),o(),a(14,"spk-toggle",9),l(15," System files "),p(16,"input",11),o(),a(17,"spk-toggle",9),l(18," Temporary files "),p(19,"input",12),o(),a(20,"spk-toggle",13),y("click",function(){C(e);let r=m();return g(r.toggleFilesLargerThan())}),l(21," Files larger than "),o(),f(22,Zt,8,0,"div",14),o(),a(23,"div",15)(24,"button",16),y("click",function(){C(e);let r=m();return g(r.goBack())}),a(25,"spk-icon"),l(26,"arrow-left"),o(),l(27," Go back "),o(),a(28,"button",17)(29,"spk-icon"),l(30,"arrow-right"),o(),l(31," Continue "),o()()()}if(t&2){let e=m();d("formGroup",e.sourceDataForm),s(4),d("multiSelect",!0)("startingPath",e.getPath()),s(4),d("isActive",!0),s(12),mt("active",e.filesLargerThan()),s(2),_(e.filesLargerThan()?22:-1)}}var ce=new I,Xt=["Bytes","KB","MB","GB","TB","PB"],en=["Contains","Does not contain","Is greater than","Is less than"];var Ft=(t={path:"",excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>ce.group({path:ce.control(t.path),excludes:ce.group({hidden:ce.control(t.excludes.hidden),system:ce.control(t.excludes.system),temporary:ce.control(t.excludes.temporary),filesLargerThan:ce.group({size:ce.control(null),unit:ce.control(null)})})}),nt=class t{#e=h(R);#t=h(M);#n=h(K);formRef=U.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;destinationIsLoaded=this.#e.destinationIsLoaded;filesLargerThan=W(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=S(Xt);expressionOptions=S(en);getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-source-data"]],viewQuery:function(e,i){e&1&&j(i.formRef,Ht,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],[3,"multiSelect","startingPath"],["for","path"],["type","text","id","path","tabindex","4","placeholder","Path","formControlName","path"],["formGroupName","excludes",3,"isActive"],["title",""],[1,"raised","primary"],["type","checkbox","placeholder","Hidden files","formControlName","hidden"],["type","checkbox","placeholder","System files","formControlName","system"],["type","checkbox","placeholder","Temporary files","formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["type","number","formControlName","size"],["type","text","formControlName","unit","placeholder","Select an option..."],["options",""],[3,"value"]],template:function(e,i){e&1&&f(0,Jt,32,7,"form",1),e&2&&_(i.destinationIsLoaded()?0:-1)},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,ae,oe,fe,re,De,Ue,ge],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}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.5rem}.filter-inputs[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.filter-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.filter-inputs[_ngcontent-%COMP%] .filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var L=new I,R=class t{#e=h(M);#t=h(Ce);#n=h(gt);#i=h(je);destinationOptions=this.#t.backendModules;backupId=S(null);isSubmitting=S(!1);loadingBackup=S(!1);loadingDefaults=S(!0);destinationIsLoaded=S(!1);isNew=W(()=>this.backupId()==="new");backupDefaults=S(null);generalForm=ht();sourceDataForm=Ft();scheduleForm=vt();destinationForm=bt();optionsForm=St();selectedAdvancedFormPair=S([]);notSelectedAdvancedFormPair=S([]);destinationFormPair=S({oauthField:null,custom:[],dynamic:[],advanced:[]});sourceDataFormSignal=Se(this.sourceDataForm.valueChanges);destinationFormSignal=Se(this.destinationForm.valueChanges);encryptionFieldSignal=Se(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=Se(this.scheduleForm.valueChanges);encryptionOptions=W(()=>{let n=this.#t.systemInfo()?.EncryptionModules??[];return[Je,...n]});init(n="new"){this.backupId.set(n),n!=="new"?this.getBackup(n):this.getDefaults()}submit(){this.isSubmitting.set(!0);let n=this.#m(),e=this.backupId();e==="new"||!e?this.#n.postApiV1Backups({requestBody:n}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}}):this.#n.putApiV1BackupById({id:e,requestBody:n}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}})}exit(){this.#d(),this.#e.navigate(["/"])}getDefaults(){this.loadingDefaults.set(!0),this.#n.getApiV1Backupdefaults().pipe(lt(1),ye(()=>this.loadingDefaults.set(!1))).subscribe({next:n=>{this.#r(n.Schedule),this.#s(n.Backup),this.backupDefaults.set(n),this.destinationIsLoaded.set(!0)}})}getBackup(n){this.loadingBackup.set(!0),this.#n.getApiV1BackupById({id:n}).pipe(ye(()=>this.loadingBackup.set(!1))).subscribe({next:e=>{this.#r(e.Schedule??null),e.Backup&&(this.#l(e.Backup),this.#a(e.Backup),this.#o(e.Backup),this.#s(e.Backup)),this.destinationIsLoaded.set(!0)}})}#o(n){let e=n.Sources??"",i=n.Filters?.map(N=>`${N.Include?"":"-"}${N.Expression}`)??[],r=n.Settings?.find(N=>N.Name==="--exclude-files-attributes")?.Value??"",c=n.Settings?.find(N=>N.Name==="--skip-files-larger-than")??null,F=c?.Value.replace(/[0-9]/g,"")??null,B=c?.Value.replace(/[^0-9]/g,"")??null,le={path:[...e,...i].join("\0"),excludes:{hiddenFiles:r.includes("hidden"),systemFiles:r.includes("system"),tempFiles:r.includes("temporary"),filesLargerThan:F&&B?{size:parseInt(B),unit:F.toUpperCase()}:null}};this.sourceDataForm.patchValue(le)}#a(n){let e=n.TargetURL?yt(n.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced})}#l(n){let e=n.Settings?.find(r=>r.Name==="encryption-module"),i=e?.Value&&e.Value.length?e.Value:"none";this.generalForm.patchValue({name:n.Name??"",description:n.Description??"",encryption:i})}#r(n){if(!n){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#i.fromString(n.Repeat)??null,r={nextTime:this.#c(n.Time),runAgain:{repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:n.AllowedDays?.includes("mon")??!1,tue:n.AllowedDays?.includes("tue")??!1,wed:n.AllowedDays?.includes("wed")??!1,thu:n.AllowedDays?.includes("thu")??!1,fri:n.AllowedDays?.includes("fri")??!1,sat:n.AllowedDays?.includes("sat")??!1,sun:n.AllowedDays?.includes("sun")??!1}}};this.scheduleForm.patchValue(r)}#s(n){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"];n.Settings?.forEach(i=>{if(i.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(i.Value??"None");i.Name&&e.includes(i.Name)||i.Name&&i.Value&&this.optionsForm.controls.advancedOptions.push(et(i.Name,i.Value))})}mapPub(){this.#m()}#m(){let n=this.generalForm.value,e=this.optionsForm.value,i=this.scheduleForm.value,r=this.sourceDataForm.value,F=this.destinationForm.value.destinations?.length?this.#p(this.destinationForm.controls.destinations):[],B=null;i.runAgain?.repeatUnit&&i.runAgain?.repeatValue&&(B=this.#i.toString(i.runAgain.repeatValue,i.runAgain.repeatUnit));let le=i.runAgain?.allowedDays?Object.entries(i.runAgain?.allowedDays).filter(([x,E])=>E).map(([x,E])=>x):[],N=r.path?.split("\0")??[],Ge=e.advancedOptions?.map(x=>({Name:x.name??null,Value:x.value&&x.value.length?x.value.toString():null}))??[],Fe=[n.encryption==="none"?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:n.encryption??null},...Ge.filter(x=>x.Name&&x.Value)],P=Object.entries(r.excludes??{}).filter(([x,E])=>E&&x!=="filesLargerThan").map(([x])=>x),u=r.excludes?.filesLargerThan;return P.length&&Fe.push({Name:"--exclude-files-attributes",Value:P.join(",")}),u&&u.size!==null&&u.unit!==null&&Fe.push({Name:"--skip-files-larger-than",Value:`${u.size}${u.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:F[0]??null,Sources:N.filter(x=>!x.startsWith("-")),Settings:Fe,Filters:N.filter(x=>x.startsWith("-")).map((x,E)=>({Order:E,Include:!1,Expression:x.slice(1)}))},Schedule:i.autoRun?null:{Repeat:B,Time:i.nextTime?.date?new Date(`${i.nextTime.date}T${i.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:le}}}#p(n){return n.controls.map(e=>{if(!e.controls.advanced)return Oe(e.value);let i=Object.keys(e.controls.advanced.controls).filter(r=>e.controls.advanced.controls[r].dirty);return Oe(Me(se({},e.value),{advanced:i.reduce((r,c)=>(r[c]=e.controls.advanced.controls[c].value,r),{})}))})}#c(n){if(!n||n?.indexOf("T")===-1)return{time:n??"13:00"};let e=new Date(n),i={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return n.indexOf("T")!==-1&&(i.date=e.toISOString().split("T")[0]),i}addDestinationFormGroup(n,e){let i=this.destinationOptions().find(P=>P.Key===n);if(!i||!i.Options)return;let r=Pe.hasOwnProperty(n)&&Pe[n],c=r&&r.customFields?r.customFields:{},F=r&&r.dynamicFields?r.dynamicFields:[],B=r&&r.advancedFields?r.advancedFields:[],le=r&&r.oauthField?r.oauthField:null;this.destinationFormPair.set({oauthField:le,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]);let N=L.group({}),Ge=L.group({}),He=L.group({});if(c)for(n in c){let Fe=c[n],{formElement:P}=Fe,u=rt(Fe,["formElement"]);N.addControl(n,P(e?.custom[n])),this.destinationFormPair.update(x=>(x.custom.push(u),x))}for(let P=0;P<i.Options.length;P++){let u=i.Options[P];if(u.Deprecated)continue;let x=F.includes(u.Name),E=x?Ge:He;this.destinationFormPair.update(Ve=>(Ve[x?"dynamic":"advanced"].push({name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues}),Ve));let de=(x?e?.dynamic[u.Name]:e?.advanced[u.Name])??u.DefaultValue;if(u.Type==="String"||u.Type==="Password"||u.Type==="Enumeration"||u.Type==="Path"){E.addControl(u.Name,L.control(de));continue}if(u.Type==="Size"){let Ve=de.replace(/[0-9]/g,""),at=de.replace(/[^0-9]/g,"");E.addControl(u.Name,L.group({size:L.control(at?parseInt(at):50),unit:L.control(Ve?Ve.toUpperCase():"MB")}))}if(u.Type==="Integer"){E.addControl(u.Name,L.control(de?parseInt(de):0));continue}if(u.Type==="Boolean"){E.addControl(u.Name,L.control(de==="true"));continue}if(u.Type==="Flags"){E.addControl(u.Name,L.control(de??""));continue}u.Type==="Timespan"&&E.addControl(u.Name,L.control(de,[he.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]))}this.destinationForm.controls.destinations.length!==0&&this.destinationForm.controls.destinations.removeAt(0),this.destinationFormPair.update(P=>({oauthField:P.oauthField,custom:P.custom,dynamic:P.dynamic.sort((u,x)=>F.indexOf(u.name)-F.indexOf(x.name)),advanced:P.advanced.sort((u,x)=>{let E=B.indexOf(u.name),Ae=B.indexOf(x.name);return E===-1&&Ae!==-1?1:E!==-1&&Ae===-1?-1:E-Ae})})),this.notSelectedAdvancedFormPair.set(this.destinationFormPair().advanced),this.destinationForm.controls.destinations.push(wt({key:i.Key,customGroup:N,dynamicGroup:Ge,advancedGroup:He}))}#d(){this.generalForm.reset(),this.sourceDataForm.reset(),this.scheduleForm.reset(),this.destinationForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var tn=["formRef"],nn=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"custom",oauthField:i}),ot=t=>({$implicit:t}),on=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"dynamic",oauthField:i}),an=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"advanced",oauthField:i});function rn(t,n){if(t&1){let e=b();a(0,"p",9),y("click",function(){C(e);let r=m(2);return g(r.removeDestinationFormGroup(r.destinationCount()-1))}),l(1," Wanna select another destination? "),a(2,"span",10),l(3,"Click here"),o()()}}function ln(t,n){if(t&1){let e=b();a(0,"div",11)(1,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("file"))}),a(2,"h3"),l(3,"File system"),o(),a(4,"p"),l(5,"Store backups on your local file system."),o()(),a(6,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("gcs"))}),a(7,"h3"),l(8,"Google Cloud Storage"),o(),a(9,"p"),l(10,"Store backups in Google Cloud Storage."),o()(),a(11,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("s3"))}),a(12,"h3"),l(13,"S3 compatible bucket"),o(),a(14,"p"),l(15,"Store backups in any S3 compatible bucket."),o()(),a(16,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("ssh"))}),a(17,"h3"),l(18,"SSH"),o(),a(19,"p"),l(20,"Store backups in SSH."),o()(),a(21,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("googledrive"))}),a(22,"h3"),l(23,"Google Drive"),o(),a(24,"p"),l(25,"Store backups in Google Drive."),o()()(),a(26,"p"),l(27,"More destinations are coming soon."),o()}}function sn(t,n){t&1&&Re(0)}function mn(t,n){if(t&1&&f(0,sn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,nn,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function pn(t,n){if(t&1&&(k(0),D(1,mn,1,9,"ng-container",null,w),v()),t&2){let e=m(3);s(),T(e.destinationFormPair().custom)}}function cn(t,n){t&1&&Re(0)}function dn(t,n){if(t&1&&f(0,cn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,on,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function un(t,n){if(t&1&&(k(0),D(1,dn,1,9,"ng-container",null,w),v()),t&2){let e=m(3);s(),T(e.destinationFormPair().dynamic)}}function _n(t,n){if(t&1){let e=b();a(0,"button",20),y("click",function(){let r=C(e).$implicit,c=m(4);return g(c.addAdvancedFormPair(r))}),l(1),o()}if(t&2){let e=n.$implicit;s(),A(" ",e.name," ")}}function fn(t,n){t&1&&Re(0)}function Cn(t,n){if(t&1&&f(0,fn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,an,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function gn(t,n){if(t&1&&(a(0,"app-toggle-card",14),k(1,16),l(2," Advanced options "),a(3,"spk-menu")(4,"button",17),l(5," Add advanced option "),a(6,"spk-icon"),l(7,"plus"),o()(),k(8,18),D(9,_n,2,1,"button",19,w),v(),o(),v(),k(11),D(12,Cn,1,9,"ng-container",null,w),v(),o()),t&2){let e=m(3);d("disallowToggle",!0),s(9),T(e.notSelectedAdvancedFormPair()),s(3),T(e.selectedAdvancedFormPair())}}function yn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function xn(t,n){if(t&1&&(a(0,"app-file-tree",22)(1,"label",26),l(2),f(3,yn,2,1,"spk-icon",27),o(),p(4,"input",28),o()),t&2){let e,i=m().$implicit,r=m(3);d("startingPath",r.getFormFieldValue(i.index,i.formGroupName,i.destination.name)),s(),pt("for","destination-",i.formGroupName,"-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function hn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Sn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"link"),o())}function kn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"textbox"),o())}function vn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,hn,2,1,"spk-icon",27),o(),p(4,"input",28),f(5,Sn,2,0,"spk-icon",29)(6,kn,2,0,"spk-icon",29),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),s(),_(i.destination.type==="Path"?5:6)}}function Fn(t,n){if(t&1){let e=b();a(0,"span",33),y("click",function(){C(e);let r=m(2).$implicit,c=m(3);return g(c.oauthStartTokenCreation(r.destinationType))}),l(1,"AuthID"),o()}}function bn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"password"),o())}function wn(t,n){if(t&1){let e=b();a(0,"spk-icon",34),y("click",function(){C(e);let r=m(2).$implicit;return g(r.destination.showPassword=!r.destination.showPassword)}),l(1," eye "),o()}}function Dn(t,n){if(t&1){let e=b();a(0,"spk-icon",34),y("click",function(){C(e);let r=m(2).$implicit;return g(r.destination.showPassword=!r.destination.showPassword)}),l(1," eye-slash "),o()}}function Tn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),o(),p(3,"input",30),f(4,Fn,2,0,"span",31)(5,bn,2,0,"spk-icon",29)(6,wn,2,0,"spk-icon",32)(7,Dn,2,0,"spk-icon",32),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),ct(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," -- ",i.oauthField," ",i.destinationType," ",i.destination.name," "),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),d("type",i.destination.showPassword?"text":"password"),s(),_(i.oauthField===i.destination.name?4:5),s(2),_(i.destination.showPassword?6:7)}}function En(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function On(t,n){if(t&1&&(a(0,"option",37),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Nn(t,n){if(t&1&&(a(0,"spk-select")(1,"label",26),l(2),f(3,En,2,1,"spk-icon",27),o(),p(4,"input",35),k(5,36),D(6,On,2,2,"option",37,w),v(),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),s(2),T(i.destination.options)}}function Vn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Pn(t,n){if(t&1&&(a(0,"option",37),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function In(t,n){if(t&1&&(a(0,"div",23)(1,"label",26),l(2),f(3,Vn,2,1,"spk-icon",27),o(),a(4,"div",38)(5,"spk-form-field"),p(6,"input",39),a(7,"spk-icon",29),l(8,"resize"),o()(),a(9,"spk-select"),p(10,"label")(11,"input",40),k(12,36),D(13,Pn,2,2,"option",37,w),v(),o()()()),t&2){let e,i=m().$implicit,r=m(3);d("formGroupName",i.destination.name),s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(3),O("id","destination-",i.formGroupName,"-",i.index,""),s(7),T(r.sizeOptions())}}function Gn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function An(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,Gn,2,1,"spk-icon",27),o(),p(4,"input",41),a(5,"spk-icon",29),l(6,"numpad"),o()()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Mn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Rn(t,n){if(t&1&&(a(0,"spk-toggle",24)(1,"label",26),l(2),f(3,Mn,2,1,"spk-icon",27),o(),p(4,"input",42),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Bn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function $n(t,n){t&1&&(a(0,"spk-option",44),l(1,"None"),o()),t&2&&d("value","None")}function Ln(t,n){if(t&1&&(a(0,"spk-option",37),l(1),p(2,"spk-checkbox",45),o()),t&2){let e=m().$implicit;d("value",e),s(),A(" ",e," ")}}function zn(t,n){if(t&1&&f(0,$n,2,1,"spk-option",44)(1,Ln,3,2,"spk-option",37),t&2){let e=n.$implicit;_(e==="None"?0:1)}}function Un(t,n){if(t&1&&(a(0,"spk-select",25)(1,"label",26),l(2),f(3,Bn,2,1,"spk-icon",27),o(),p(4,"input",43),k(5,36),D(6,zn,2,1,null,null,w),v(),o()),t&2){let e,i=m().$implicit;d("selectMultiple",!0),s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),me("formControlName",i.destination.name),s(2),T(i.destination.options)}}function jn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function qn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,jn,2,1,"spk-icon",27),o(),p(4,"input",28)(5,"span",46),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Qn(t,n){if(t&1&&(k(0,21),f(1,xn,5,11,"app-file-tree",22)(2,vn,7,10,"spk-form-field")(3,Tn,8,14,"spk-form-field")(4,Nn,8,9,"spk-select")(5,In,15,9,"div",23)(6,An,7,9,"spk-form-field")(7,Rn,5,9,"spk-toggle",24)(8,Un,8,7,"spk-select",25)(9,qn,6,9,"spk-form-field"),v()),t&2){let e=n.$implicit;d("formGroupName",e.formGroupName),s(),_(e.destination.type==="file-tree"?1:e.destination.type==="String"||e.destination.type==="Path"?2:e.destination.type==="Password"?3:e.destination.type==="Enumeration"?4:e.destination.type==="Size"?5:e.destination.type==="Integer"?6:e.destination.type==="Boolean"?7:e.destination.type==="Flags"?8:e.destination.type==="Timespan"?9:-1)}}function Wn(t,n){if(t&1&&(k(0,5)(1,13),f(2,pn,3,0,"ng-container")(3,un,3,0,"ng-container")(4,gn,14,1,"app-toggle-card",14)(5,Qn,10,2,"ng-template",null,1,dt),v()()),t&2){let e=m(2);s(2),_(e.destinationFormPair().custom.length?2:-1),s(),_(e.destinationFormPair().dynamic.length?3:-1),s(),_(e.destinationFormPair().advanced.length?4:-1)}}function Kn(t,n){if(t&1){let e=b();a(0,"form",3,0),y("submit",function(){C(e);let r=m();return g(r.next())}),a(2,"header")(3,"h3",4),l(4,"Backup destination"),o(),f(5,rn,4,0,"p"),o(),f(6,ln,28,0)(7,Wn,7,3,"ng-container",5),a(8,"div",6)(9,"button",7),y("click",function(){C(e);let r=m();return g(r.goBack())}),a(10,"spk-icon"),l(11,"arrow-left"),o(),l(12," Go back "),o(),a(13,"button",8)(14,"spk-icon"),l(15,"arrow-right"),o(),l(16," Continue "),o()()()}if(t&2){let e,i=m();d("formGroup",i.destinationForm),s(5),_(i.destinationCount()>0?5:-1),s(),_(i.destinationCount()===0?6:-1),s(),_(!((e=i.destinationFormSignal())==null||e.destinations==null)&&e.destinations.length?7:-1)}}var Hn=["Bytes","KB","MB","GB","TB","PB"],Ke=new I,bt=(t={destinations:[]})=>Ke.group({destinations:Ke.array(t.destinations)}),wt=({key:t,customGroup:n,dynamicGroup:e,advancedGroup:i})=>Ke.group({destinationType:Ke.control(t),custom:n,dynamic:e,advanced:i}),it=class t{#e=h(M);#t=h(K);#n=h(Ce);#i=h(_t);#o=h(R);formRef=U.required("formRef");sysIsLoaded=this.#n.isLoaded;destinationIsLoaded=this.#o.destinationIsLoaded;destinationForm=this.#o.destinationForm;destinationFormPair=this.#o.destinationFormPair;selectedAdvancedFormPair=this.#o.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#o.notSelectedAdvancedFormPair;destinationOptions=this.#o.destinationOptions;destinationFormSignal=this.#o.destinationFormSignal;destinationCount=W(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=S(Hn);getFormFieldValue(n,e,i){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[e]).controls[i].value}addDestinationFormGroup(n){this.#o.addDestinationFormGroup(n)}addAdvancedFormPair(n){this.selectedAdvancedFormPair.update(e=>(e.push(n),e)),this.notSelectedAdvancedFormPair.update(e=>(e=e.filter(i=>i.name!==n.name),e))}targetUrl=W(()=>{let n=this.destinationFormSignal()?.destinations?.[0];return n?Oe(n):""});mapToTargetUrl(n){return Oe(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let e=this.destinationOptions().find(i=>i.Key===n);return e?`${e.DisplayName}`:""}goBack(){this.#e.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#e.navigate(["source-data"],{relativeTo:this.#t.parent})}#a=S("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=S(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#r=S(!1);#s=S(null);keyCreation(){}oauthStartTokenCreation(n){this.#r.set(!0);let e=450,i=600,r=this.#a()+"?type="+n+"&token="+this.#l(),c=screen.width/2-e/2,F=screen.height/2-i/2,B=window.open(r,"_blank","height="+i+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+c+",top="+F);B?.addEventListener("blur",le=>{console.log("event blur",le)}),B?.addEventListener("beforeunload",le=>{console.log("event beforeunload",le),this.#i.get(this.#a()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(ye(()=>this.#r.set(!1))).subscribe({next:N=>{console.log("res",N),N?.authid&&this.#s.set(N.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-destination"]],viewQuery:function(e,i){e&1&&j(i.formRef,tn,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],["fieldTemplate",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile",3,"click"],["formGroupName","0"],[3,"disallowToggle"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["spk-menu-item","","type","button",3,"click"],[3,"formGroupName"],[3,"startingPath"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],[3,"for"],["spk-tooltip-right",""],["type","text",3,"id","formControlName"],["spkPrefix",""],[3,"type","id","formControlName"],["spkPrefix","",1,"link"],["spkSuffix","",1,"clickable"],["spkPrefix","",1,"link",3,"click"],["spkSuffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],["options",""],[3,"value"],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"],["spkError",""]],template:function(e,i){e&1&&f(0,Kn,17,4,"form",2),e&2&&_(i.destinationOptions().length&&i.sysIsLoaded()&&i.destinationIsLoaded()?0:-1)},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,Le,ut,ae,re,ze,ft,Ct,oe,De,ge,Ue],styles:["[_nghost-%COMP%]{display:block}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[spkprefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}"],changeDetection:0})};export{bt as a,wt as b,it as c,ht as d,Je as e,Ze as f,St as g,et as h,Xe as i,vt as j,tt as k,Ft as l,nt as m,R as n};
|
|
1
|
+
import{a as Ue,b as ge}from"./chunk-XT6S3PN3.js";import{b as Se}from"./chunk-P4AWKIXG.js";import{a as we,b as H,c as he,d as Y,e as Z,f as J,g as ue,i as X,j as _e,k as Le,l as ee,m as te,n as ne,o as I,q as ie}from"./chunk-C52YH32J.js";import{a as Ce}from"./chunk-TIGGJ4KF.js";import{a as oe,d as fe,f as ft,h as ae,j as ze,m as Ct,n as re,q as De}from"./chunk-S7QBT7L2.js";import{a as K,c as M}from"./chunk-AFUS3PYG.js";import{a as gt}from"./chunk-SYBUINNV.js";import{$a as f,$b as W,Ab as j,Bb as q,Cb as xe,D as lt,Db as l,Eb as G,Fb as A,G as ye,Hb as ct,Jb as Q,L as st,Lb as Be,Nb as $e,Oa as s,R as be,Rb as dt,Ua as S,Va as U,X as h,Z as z,a as se,ab as $,b as Me,bb as d,c as rt,db as mt,fb as _,gb as w,ha as C,hb as D,ia as g,ib as T,jb as a,kb as o,lb as p,lc as ut,mb as k,nb as v,ob as Re,pb as b,qb as y,rb as m,ub as me,uc as _t,vb as O,wb as pt}from"./chunk-RBNO3K72.js";var je=class t{fromString(n){if(!n)return null;let e=n.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(n,e){return`${n}${e}`}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var ve=new I,Pe={file:{customFields:{path:{type:"file-tree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>ve.control(t??"")}}},ssh:{customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>ve.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>ve.control(t??"")},path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["auth-username"]},s3:{customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")},bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>ve.control(t??"")}},dynamicFields:["use-ssl","s3-server-name","auth-username","auth-password"]},gcs:{dynamicFields:["gcs-location","gcs-storage-class","authid"]},googledrive:{oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["authid"]}};function Te(t,n){let e={},i={};return n.searchParams.forEach((r,c)=>{Pe[t].dynamicFields?.includes(c)?i[c]=decodeURIComponent(r):e[c]=decodeURIComponent(r)}),{advanced:e,dynamic:i}}function Ie(t){let n=t.map(([e,i])=>`${e}=${i?encodeURIComponent(i.toString()):""}`).join("&");return n?"?"+n:""}var Ee={file:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>{let i=e.indexOf("file:///")===0,r=e.split(i?"///":"//")[1].substring(0,1)+n.hostname.substring(1);return se({destinationType:t,custom:{path:`${i?"/":""}${r}${n.pathname}`}},Te(t,n))}},ssh:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.server}${t.custom.port?":"+t.custom.port:""}${t.custom.path.startsWith("/")?t.custom.path:"/"+t.custom.path}${n}`},from:(t,n,e)=>se({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},Te(t,n))},s3:{to:t=>{let n=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.bucket}${t.custom.path}${n}`},from:(t,n,e)=>se({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},Te(t,n))},gcs:{to:t=>{let n=t.dynamic["gcs-location"]??"";delete t.dynamic["gcs-location"];let e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>{let{advanced:i,dynamic:r}=Te(t,n);return{destinationType:t,advanced:i,dynamic:Me(se({},r),{"gcs-location":n.hostname+n.pathname})}}},googledrive:{to:t=>{let n=t.custom.path,e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>{let i=e.replace("googledrive://","");return se({destinationType:t,custom:{path:i}},Te(t,n))}},fallbackMapper:{to:t=>"",from:(t,n,e)=>se({destinationType:t},Te(t,n))}};function Oe(t){let n=t.destinationType;return!n||!Ee.hasOwnProperty(n)?Ee.fallbackMapper.to(t)??"":Ee[n].to(t)??""}function yt(t){let n=URL.canParse(t),e=t.split("://")[0],i="http://"+t.split("://")[1],r=new URL(i);if(!Ee.hasOwnProperty(e))return Ee.fallbackMapper.from(e,r);if(!n)throw new Error("Invalid target path");return Ee[e].from(e,r,t)}var Dt=/[a-zA-Z0-9_\-\+\.]/,qe=class t{generate(n,e=Dt){let i=this;return Array.apply(null,{length:n}).map(()=>{let r;for(;;)if(r=String.fromCharCode(i.#e()),e.test(r))return r},this).join("")}#e(){if(window.crypto&&window.crypto.getRandomValues){let n=new Uint8Array(1);return window.crypto.getRandomValues(n),n[0]}else if(window.msCrypto&&window.msCrypto.getRandomValues){let n=new Uint8Array(1);return window.msCrypto.getRandomValues(n),n[0]}else return Math.floor(Math.random()*256)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};function Ye(t,n,e="conditional"){return i=>{if(!i.parent)return null;let r=null;if(t(i.parent)&&(r=(Array.isArray(n)?n:[n]).find(F=>F(i)!==null)??null),e&&r){let c={};c[e]=r,r=c}return r}}function xt(){return t=>(t.parent&&Object.values(t.parent.controls).forEach(n=>{n!==t&&n.updateValueAndValidity()}),null)}var Tt=["formRef"];function Et(t,n){if(t&1&&(a(0,"option",14),l(1),o()),t&2){let e=n.$implicit;d("value",e.Key),s(),G(e.DisplayName)}}function Ot(t,n){t&1&&(a(0,"spk-icon"),l(1,"eye-slash"),o(),l(2," hide "))}function Nt(t,n){t&1&&(a(0,"spk-icon"),l(1,"eye"),o(),l(2," show "))}function Vt(t,n){t&1&&(a(0,"spk-icon",23),l(1,"check"),o())}function Pt(t,n){t&1&&(a(0,"spk-icon"),l(1,"copy"),o())}function It(t,n){if(t&1){let e=b();a(0,"button",22),y("click",function(){C(e);let r=m(3);return g(r.copyPassword())}),f(1,Vt,2,0,"spk-icon",23)(2,Pt,2,0,"spk-icon"),l(3),o()}if(t&2){let e=m(3);s(),_(e.copiedPassword()?1:2),s(2),A(" ",e.copiedPassword()?"Copied":"Copy"," password ")}}function Gt(t,n){if(t&1){let e=b();a(0,"div",15)(1,"spk-form-field")(2,"label",16),l(3,"Create a password"),o(),p(4,"input",17),o(),a(5,"spk-form-field"),p(6,"input",18),o(),a(7,"div",19)(8,"button",20),y("click",function(){C(e);let r=m(2);return g(r.showPassword.set(!r.showPassword()))}),f(9,Ot,3,0)(10,Nt,3,0),o(),a(11,"button",20),y("click",function(){C(e);let r=m(2);return g(r.generatePassword())}),a(12,"spk-icon"),l(13,"password"),o(),l(14," Generate password "),o(),f(15,It,4,2,"button",21),o()()}if(t&2){let e=m(2);s(4),d("type",e.showPassword()?"text":"password"),s(2),d("type",e.showPassword()?"text":"password"),s(3),_(e.showPassword()?9:10),s(6),_(e.showCopyPassword()?15:-1)}}function At(t,n){if(t&1&&(a(0,"spk-select",10)(1,"label",11),l(2,"Encryption"),o(),p(3,"input",12),k(4,13),D(5,Et,2,2,"option",14,w),v(),o(),f(7,Gt,16,4,"div",15)),t&2){let e,i=m();d("displayValue",i.displayFn((e=i.generalForm.value.encryption)!==null&&e!==void 0?e:"")),s(5),T(i.encryptionOptions()),s(2),_(i.encryptionFieldSignal()!=="none"?7:-1)}}var Ne=new I,ht=(t={name:"",description:"",encryption:"none",password:"",repeatPassword:""})=>Ne.group({name:Ne.control(t.name,[he.required]),description:Ne.control(t.description),encryption:Ne.control(t.encryption,[he.required,xt()]),password:Ne.control(t.password,[Ye(n=>n?.value.encryption!=="none",[he.required])]),repeatPassword:Ne.control(t.repeatPassword,[Ye(n=>n?.value.encryption!=="none",[he.required])])}),Je={Key:"none",DisplayName:"None"},Ze=class t{#e=h(M);#t=h(K);#n=h(qe);#i=h(R);#o=h(Ce);formRef=U.required("formRef");generalForm=this.#i.generalForm;encryptionFieldSignal=this.#i.encryptionFieldSignal;encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;showPassword=S(!1);copiedPassword=S(!1);showCopyPassword=S(!1);ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#i.exit()}async copyPassword(){let n=this.generalForm.controls.password.value;await this.#a(n??""),this.copiedPassword.set(!0)}async#a(n){try{await navigator.clipboard.writeText(n)}catch{try{let i=document.createElement("textarea");i.value=n,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}catch(i){console.error("Failed to copy text: ",i)}}}displayFn(n){let e=this.#o.systemInfo()?.EncryptionModules??[],i=[Je,...e].find(r=>r.Key===n);return i?`${i.DisplayName}`:""}generatePassword(){this.copiedPassword.set(!1);let n=this.#n.generate(16);this.generalForm.controls.password.setValue(n),this.generalForm.controls.repeatPassword.setValue(n),this.showCopyPassword.set(!0)}next(){this.#e.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-general"]],viewQuery:function(e,i){e&1&&j(i.formRef,Tt,5),e&2&&q()},standalone:!0,features:[Q],decls:23,vars:4,consts:[["formRef",""],["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder","Your backup name","formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder","Your backup description","formControlName","description"],[1,"form-actions"],["spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],[3,"displayValue"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder","Encryption","formControlName","encryption"],["options",""],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","placeholder","Password","formControlName","password",3,"type"],["id","repeatPassword","tabindex","5","placeholder","Repeat password","formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]],template:function(e,i){if(e&1){let r=b();a(0,"form",1,0),y("submit",function(){return C(r),g(i.next())}),a(2,"h3",2),l(3,"General backup settings"),o(),a(4,"spk-form-field")(5,"label",3),l(6,"Backup name"),o(),p(7,"input",4),o(),a(8,"spk-form-field")(9,"label",5),l(10,"Backup description"),o(),p(11,"textarea",6),o(),f(12,At,8,2),a(13,"div",7)(14,"button",8),y("click",function(){return C(r),g(i.exit())}),a(15,"spk-icon"),l(16,"arrow-left"),o(),l(17," Exit "),o(),a(18,"div")(19,"button",9)(20,"spk-icon"),l(21,"arrow-right"),o(),l(22," Continue "),o()()()()}e&2&&(d("formGroup",i.generalForm),s(12),_(i.isNew()?12:-1),s(6),$("spk-tooltip-primary",i.generalForm.valid&&i.encryptionFieldSignal()==="none"||i.copiedPassword()?void 0:"Remember to copy the password"),s(),d("disabled",i.generalForm.invalid||i.encryptionFieldSignal()!=="none"&&i.showCopyPassword()&&!i.copiedPassword()))},dependencies:[ie,J,te,ne,H,Y,Z,X,ee,ae,re,fe,oe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};var Mt=["formRef"];function Rt(t,n){if(t&1&&(a(0,"option",9),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Bt(t,n){if(t&1&&(a(0,"option",9),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function $t(t,n){if(t&1){let e=b();a(0,"button",22),y("click",function(){let r=C(e).$implicit,c=m();return g(c.addNewOption(r))}),l(1),o()}if(t&2){let e=n.$implicit;s(),G(e.Name)}}function Lt(t,n){t&1&&(a(0,"label",23),l(1,"Name"),o())}function zt(t,n){t&1&&(a(0,"label",25),l(1,"Value"),o())}function Ut(t,n){if(t&1){let e=b();a(0,"div",18)(1,"spk-form-field"),f(2,Lt,2,0,"label",23),p(3,"input",24),o(),a(4,"spk-form-field"),f(5,zt,2,0,"label",25),p(6,"input",26),o(),a(7,"button",27),y("click",function(){let r=C(e).$index,c=m();return g(c.optionsForm.controls.advancedOptions.removeAt(r))}),a(8,"spk-icon"),l(9,"x-circle"),o()()()}if(t&2){let e=n.$implicit,i=n.$index;d("formGroup",e),s(2),_(i===0?2:-1),s(3),_(i===0?5:-1)}}var pe=new I,jt=["Bytes","KB","MB","GB","TB","PB"],qt=["Local folder","Local drive","Remote drive","Cloud drive"],St=(t={remoteVolumeSize:0,size:"GB",backupRetention:"Local folder",advancedOptions:[]})=>pe.group({remoteVolumeSize:pe.group({size:pe.control(t.remoteVolumeSize),unit:pe.control(t.size)}),backupRetention:pe.control(t.backupRetention),advancedOptions:pe.array([])}),et=(t,n)=>pe.group({name:pe.control(t),value:pe.control(n)}),Xe=class t{#e=h(Ce);#t=h(R);#n=h(M);#i=h(K);formRef=U.required("formRef");optionsForm=this.#t.optionsForm;sizeOptions=S(jt);rentationOptions=S(qt);selectionAdvancedOptions=Se(this.optionsForm.controls.advancedOptions.valueChanges.pipe(st([])));advancedOptions=S(this.#e.systemInfo()?.Options??[]);nonSelectedAdvancedOptions=W(()=>this.advancedOptions().filter(n=>this.selectionAdvancedOptions()?.findIndex(e=>e.name===n.Name)===-1));addNewOption(n){this.optionsForm.controls.advancedOptions.push(et(n.Name,n.DefaultValue))}displayFn(){let n=this.advancedOptions();return e=>{let i=n.find(r=>r.Name===e);return i?`${i.Name}`:""}}goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#i.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-options"]],viewQuery:function(e,i){e&1&&j(i.formRef,Mt,5),e&2&&q()},standalone:!0,features:[Q],decls:49,vars:2,consts:[["formRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"remote-volume-wrap"],["formGroupName","remoteVolumeSize",1,"row-inputs"],["for","size"],["type","number","id","size","formControlName","size"],["type","text","placeholder","Select an option...","formControlName","unit"],["options",""],[3,"value"],["href","#",1,"spk-primary"],["type","text","placeholder","Local folder or drive","formControlName","backupRetention"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["formArrayName","advancedOptions"],[1,"advanced-option",3,"formGroup"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["spk-menu-item","","type","button",3,"click"],["for","name"],["type","text","id","name","formControlName","name"],["for","value"],["type","text","id","value","formControlName","value"],["spk-button","","type","button",1,"icon",3,"click"]],template:function(e,i){if(e&1){let r=b();a(0,"form",1,0),y("submit",function(){return C(r),g(i.submit())}),a(2,"h3",2),l(3,"Options"),o(),a(4,"div",3)(5,"div",4)(6,"spk-form-field")(7,"label",5),l(8,"Remote volume size"),o(),p(9,"input",6),o(),a(10,"spk-select"),p(11,"input",7),k(12,8),D(13,Rt,2,2,"option",9,w),v(),o()(),a(15,"p"),l(16," The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. "),a(17,"a",10),l(18,"Read more"),o()()(),a(19,"spk-select")(20,"label",5),l(21,"Backup retention"),o(),p(22,"input",11),k(23,8),D(24,Bt,2,2,"option",9,w),v(),o(),a(26,"app-toggle-card",12),k(27,13),l(28," Advanced options "),a(29,"spk-menu")(30,"button",14),l(31," Add advanced option "),a(32,"spk-icon"),l(33,"plus"),o()(),k(34,15),D(35,$t,2,1,"button",16,w),v(),o(),v(),k(37,17),D(38,Ut,10,3,"div",18,w),v(),o(),a(40,"div",19)(41,"button",20),y("click",function(){return C(r),g(i.goBack())}),a(42,"spk-icon"),l(43,"arrow-left"),o(),l(44," Go back "),o(),a(45,"button",21)(46,"spk-icon"),l(47,"arrow-right"),o(),l(48," Submit "),o()()()}e&2&&(d("formGroup",i.optionsForm),s(13),T(i.sizeOptions()),s(11),T(i.rentationOptions()),s(2),d("disallowToggle",!0),s(9),T(i.nonSelectedAdvancedOptions()),s(3),T(i.optionsForm.controls.advancedOptions.controls))},dependencies:[ie,J,te,ne,H,ue,Y,Z,X,ee,_e,Le,ze,re,fe,oe,ae,ge],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Qt=["formRef"];function Wt(t,n){if(t&1&&(a(0,"option",24),l(1),o()),t&2){let e=n.$implicit;d("value",e.key),s(),G(e.label)}}function Kt(t,n){if(t&1){let e=b();a(0,"div",11)(1,"spk-form-field")(2,"label",12),l(3,"Next time"),o(),a(4,"input",13,1),y("focus",function(){C(e);let r=xe(5);return g(r.showPicker())}),o(),a(6,"spk-icon",14),l(7,"clock"),o()(),a(8,"spk-form-field"),p(9,"label",15),a(10,"input",16,2),y("focus",function(){C(e);let r=xe(11);return g(r.showPicker())}),o(),a(12,"spk-icon",14),l(13,"calendar"),o()()(),k(14,17),a(15,"div",18)(16,"spk-form-field")(17,"label",19),l(18,"Run again every"),o(),p(19,"input",20),o(),a(20,"spk-select",21),p(21,"input",22),k(22,23),D(23,Wt,2,2,"option",24,w),v(),o()(),a(25,"app-toggle-card",25),k(26,26),l(27,"Allowed days"),v(),a(28,"div",27)(29,"spk-toggle",6),l(30," Monday "),p(31,"input",28),o(),a(32,"spk-toggle",6),l(33," Tuesday "),p(34,"input",29),o(),a(35,"spk-toggle",6),l(36," Wednesday "),p(37,"input",30),o(),a(38,"spk-toggle",6),l(39," Thursday "),p(40,"input",31),o(),a(41,"spk-toggle",6),l(42," Friday "),p(43,"input",32),o(),a(44,"spk-toggle",6),l(45," Saturday "),p(46,"input",33),o(),a(47,"spk-toggle",6),l(48," Sunday "),p(49,"input",34),o()()(),v()}if(t&2){let e=m();s(20),d("displayFn",e.displayFn),s(3),T(e.unitOptions),s(2),d("disallowToggle",!0)}}var V=new I,kt=[{key:"s",label:"Seconds"},{key:"m",label:"Minutes"},{key:"h",label:"Hours"},{key:"D",label:"Days"},{key:"W",label:"Weeks"},{key:"M",label:"Months"},{key:"Y",label:"Years"}],vt=(t={autoRun:!1,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}})=>V.group({autoRun:V.control(t.autoRun),nextTime:V.group({time:V.control(t.nextTime.time),date:V.control(t.nextTime.date)}),runAgain:V.group({repeatValue:V.control(t.runAgain.repeatValue),repeatUnit:V.control(t.runAgain.repeatUnit),allowedDays:V.group({mon:V.control(t.runAgain.allowedDays.mon),tue:V.control(t.runAgain.allowedDays.tue),wed:V.control(t.runAgain.allowedDays.wed),thu:V.control(t.runAgain.allowedDays.thu),fri:V.control(t.runAgain.allowedDays.fri),sat:V.control(t.runAgain.allowedDays.sat),sun:V.control(t.runAgain.allowedDays.sun)})})}),tt=class t{#e=h(R);#t=h(M);#n=h(K);formRef=U.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=kt;displayFn(n){let e=kt.find(i=>i.key===n);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-schedule"]],viewQuery:function(e,i){e&1&&j(i.formRef,Qt,5),e&2&&q()},standalone:!0,features:[Q],decls:20,vars:2,consts:[["formRef",""],["timeRef",""],["dateRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox","formControlName","autoRun"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["formGroupName","nextTime",1,"row-inputs"],["for","time"],["type","time","id","time","formControlName","time",3,"focus"],["spkSuffix",""],["for","date"],["type","date","id","date","formControlName","date",3,"focus"],["formGroupName","runAgain"],[1,"row-inputs"],["for","repeatValue"],["type","number","id","repeatValue","formControlName","repeatValue"],[3,"displayFn"],["type","text","id","repeatUnit","formControlName","repeatUnit"],["options",""],[3,"value"],["formGroupName","allowedDays",3,"disallowToggle"],["title",""],[1,"days-wrap"],["type","checkbox","formControlName","mon"],["type","checkbox","formControlName","tue"],["type","checkbox","formControlName","wed"],["type","checkbox","formControlName","thu"],["type","checkbox","formControlName","fri"],["type","checkbox","formControlName","sat"],["type","checkbox","formControlName","sun"]],template:function(e,i){if(e&1){let r=b();a(0,"form",3,0),y("submit",function(){return C(r),g(i.next())}),a(2,"h3",4),l(3,"Schedule"),o(),a(4,"div",5)(5,"spk-toggle",6),l(6," Automatically run backups "),p(7,"input",7),o(),a(8,"p"),l(9,"If a date was missed, the job will run as soon as possible."),o()(),f(10,Kt,50,2),a(11,"div",8)(12,"button",9),y("click",function(){return C(r),g(i.goBack())}),a(13,"spk-icon"),l(14,"arrow-left"),o(),l(15," Go back "),o(),a(16,"button",10)(17,"spk-icon"),l(18,"arrow-right"),o(),l(19," Continue "),o()()()}if(e&2){let r;d("formGroup",i.scheduleForm),s(10),_((r=i.scheduleFormSignal())!=null&&r.autoRun?-1:10)}},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,ae,re,De,oe,fe,ge],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ht=["formRef"];function Yt(t,n){if(t&1&&(a(0,"option",21),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Zt(t,n){if(t&1&&(a(0,"div",14)(1,"spk-form-field"),p(2,"input",18),o(),a(3,"spk-select"),p(4,"input",19),k(5,20),D(6,Yt,2,2,"option",21,w),v(),o()()),t&2){let e=m(2);s(6),T(e.sizeOptions())}}function Jt(t,n){if(t&1){let e=b();a(0,"form",2,0),y("submit",function(){C(e);let r=m();return g(r.next())}),a(2,"h3",3),l(3,"Source Data"),o(),a(4,"app-file-tree",4)(5,"label",5),l(6,"Folder path"),o(),p(7,"input",6),o(),a(8,"app-toggle-card",7),k(9,8),l(10,"Exclude"),v(),a(11,"spk-toggle",9),l(12," Hidden files "),p(13,"input",10),o(),a(14,"spk-toggle",9),l(15," System files "),p(16,"input",11),o(),a(17,"spk-toggle",9),l(18," Temporary files "),p(19,"input",12),o(),a(20,"spk-toggle",13),y("click",function(){C(e);let r=m();return g(r.toggleFilesLargerThan())}),l(21," Files larger than "),o(),f(22,Zt,8,0,"div",14),o(),a(23,"div",15)(24,"button",16),y("click",function(){C(e);let r=m();return g(r.goBack())}),a(25,"spk-icon"),l(26,"arrow-left"),o(),l(27," Go back "),o(),a(28,"button",17)(29,"spk-icon"),l(30,"arrow-right"),o(),l(31," Continue "),o()()()}if(t&2){let e=m();d("formGroup",e.sourceDataForm),s(4),d("multiSelect",!0)("startingPath",e.getPath()),s(4),d("isActive",!0),s(12),mt("active",e.filesLargerThan()),s(2),_(e.filesLargerThan()?22:-1)}}var ce=new I,Xt=["Bytes","KB","MB","GB","TB","PB"],en=["Contains","Does not contain","Is greater than","Is less than"];var Ft=(t={path:"",excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>ce.group({path:ce.control(t.path),excludes:ce.group({hidden:ce.control(t.excludes.hidden),system:ce.control(t.excludes.system),temporary:ce.control(t.excludes.temporary),filesLargerThan:ce.group({size:ce.control(null),unit:ce.control(null)})})}),nt=class t{#e=h(R);#t=h(M);#n=h(K);formRef=U.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;destinationIsLoaded=this.#e.destinationIsLoaded;filesLargerThan=W(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=S(Xt);expressionOptions=S(en);getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-source-data"]],viewQuery:function(e,i){e&1&&j(i.formRef,Ht,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],[3,"multiSelect","startingPath"],["for","path"],["type","text","id","path","tabindex","4","placeholder","Path","formControlName","path"],["formGroupName","excludes",3,"isActive"],["title",""],[1,"raised","primary"],["type","checkbox","placeholder","Hidden files","formControlName","hidden"],["type","checkbox","placeholder","System files","formControlName","system"],["type","checkbox","placeholder","Temporary files","formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["type","number","formControlName","size"],["type","text","formControlName","unit","placeholder","Select an option..."],["options",""],[3,"value"]],template:function(e,i){e&1&&f(0,Jt,32,7,"form",1),e&2&&_(i.destinationIsLoaded()?0:-1)},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,ae,oe,fe,re,De,Ue,ge],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}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.5rem}.filter-inputs[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.filter-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.filter-inputs[_ngcontent-%COMP%] .filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var L=new I,R=class t{#e=h(M);#t=h(Ce);#n=h(gt);#i=h(je);destinationOptions=this.#t.backendModules;backupId=S(null);isSubmitting=S(!1);loadingBackup=S(!1);loadingDefaults=S(!0);destinationIsLoaded=S(!1);isNew=W(()=>this.backupId()==="new");backupDefaults=S(null);generalForm=ht();sourceDataForm=Ft();scheduleForm=vt();destinationForm=bt();optionsForm=St();selectedAdvancedFormPair=S([]);notSelectedAdvancedFormPair=S([]);destinationFormPair=S({oauthField:null,custom:[],dynamic:[],advanced:[]});sourceDataFormSignal=Se(this.sourceDataForm.valueChanges);destinationFormSignal=Se(this.destinationForm.valueChanges);encryptionFieldSignal=Se(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=Se(this.scheduleForm.valueChanges);encryptionOptions=W(()=>{let n=this.#t.systemInfo()?.EncryptionModules??[];return[Je,...n]});init(n="new"){this.backupId.set(n),n!=="new"?this.getBackup(n):this.getDefaults()}submit(){this.isSubmitting.set(!0);let n=this.#m(),e=this.backupId();e==="new"||!e?this.#n.postApiV1Backups({requestBody:n}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}}):this.#n.putApiV1BackupById({id:e,requestBody:n}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}})}exit(){this.#d(),this.#e.navigate(["/"])}getDefaults(){this.loadingDefaults.set(!0),this.#n.getApiV1Backupdefaults().pipe(lt(1),ye(()=>this.loadingDefaults.set(!1))).subscribe({next:n=>{this.#r(n.Schedule),this.#s(n.Backup),this.backupDefaults.set(n),this.destinationIsLoaded.set(!0)}})}getBackup(n){this.loadingBackup.set(!0),this.#n.getApiV1BackupById({id:n}).pipe(ye(()=>this.loadingBackup.set(!1))).subscribe({next:e=>{this.#r(e.Schedule??null),e.Backup&&(this.#l(e.Backup),this.#a(e.Backup),this.#o(e.Backup),this.#s(e.Backup)),this.destinationIsLoaded.set(!0)}})}#o(n){let e=n.Sources??"",i=n.Filters?.map(N=>`${N.Include?"":"-"}${N.Expression}`)??[],r=n.Settings?.find(N=>N.Name==="--exclude-files-attributes")?.Value??"",c=n.Settings?.find(N=>N.Name==="--skip-files-larger-than")??null,F=c?.Value.replace(/[0-9]/g,"")??null,B=c?.Value.replace(/[^0-9]/g,"")??null,le={path:[...e,...i].join("\0"),excludes:{hiddenFiles:r.includes("hidden"),systemFiles:r.includes("system"),tempFiles:r.includes("temporary"),filesLargerThan:F&&B?{size:parseInt(B),unit:F.toUpperCase()}:null}};this.sourceDataForm.patchValue(le)}#a(n){let e=n.TargetURL?yt(n.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced})}#l(n){let e=n.Settings?.find(r=>r.Name==="encryption-module"),i=e?.Value&&e.Value.length?e.Value:"none";this.generalForm.patchValue({name:n.Name??"",description:n.Description??"",encryption:i})}#r(n){if(!n){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#i.fromString(n.Repeat)??null,r={nextTime:this.#c(n.Time),runAgain:{repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:n.AllowedDays?.includes("mon")??!1,tue:n.AllowedDays?.includes("tue")??!1,wed:n.AllowedDays?.includes("wed")??!1,thu:n.AllowedDays?.includes("thu")??!1,fri:n.AllowedDays?.includes("fri")??!1,sat:n.AllowedDays?.includes("sat")??!1,sun:n.AllowedDays?.includes("sun")??!1}}};this.scheduleForm.patchValue(r)}#s(n){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"];n.Settings?.forEach(i=>{if(i.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(i.Value??"None");i.Name&&e.includes(i.Name)||i.Name&&i.Value&&this.optionsForm.controls.advancedOptions.push(et(i.Name,i.Value))})}mapPub(){this.#m()}#m(){let n=this.generalForm.value,e=this.optionsForm.value,i=this.scheduleForm.value,r=this.sourceDataForm.value,F=this.destinationForm.value.destinations?.length?this.#p(this.destinationForm.controls.destinations):[],B=null;i.runAgain?.repeatUnit&&i.runAgain?.repeatValue&&(B=this.#i.toString(i.runAgain.repeatValue,i.runAgain.repeatUnit));let le=i.runAgain?.allowedDays?Object.entries(i.runAgain?.allowedDays).filter(([x,E])=>E).map(([x,E])=>x):[],N=r.path?.split("\0")??[],Ge=e.advancedOptions?.map(x=>({Name:x.name??null,Value:x.value&&x.value.length?x.value.toString():null}))??[],Fe=[n.encryption==="none"?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:n.encryption??null},...Ge.filter(x=>x.Name&&x.Value)],P=Object.entries(r.excludes??{}).filter(([x,E])=>E&&x!=="filesLargerThan").map(([x])=>x),u=r.excludes?.filesLargerThan;return P.length&&Fe.push({Name:"--exclude-files-attributes",Value:P.join(",")}),u&&u.size!==null&&u.unit!==null&&Fe.push({Name:"--skip-files-larger-than",Value:`${u.size}${u.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:F[0]??null,Sources:N.filter(x=>!x.startsWith("-")),Settings:Fe,Filters:N.filter(x=>x.startsWith("-")).map((x,E)=>({Order:E,Include:!1,Expression:x.slice(1)}))},Schedule:i.autoRun?null:{Repeat:B,Time:i.nextTime?.date?new Date(`${i.nextTime.date}T${i.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:le}}}#p(n){return n.controls.map(e=>{if(!e.controls.advanced)return Oe(e.value);let i=Object.keys(e.controls.advanced.controls).filter(r=>e.controls.advanced.controls[r].dirty);return Oe(Me(se({},e.value),{advanced:i.reduce((r,c)=>(r[c]=e.controls.advanced.controls[c].value,r),{})}))})}#c(n){if(!n||n?.indexOf("T")===-1)return{time:n??"13:00"};let e=new Date(n),i={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return n.indexOf("T")!==-1&&(i.date=e.toISOString().split("T")[0]),i}addDestinationFormGroup(n,e){let i=this.destinationOptions().find(P=>P.Key===n);if(!i||!i.Options)return;let r=Pe.hasOwnProperty(n)&&Pe[n],c=r&&r.customFields?r.customFields:{},F=r&&r.dynamicFields?r.dynamicFields:[],B=r&&r.advancedFields?r.advancedFields:[],le=r&&r.oauthField?r.oauthField:null;this.destinationFormPair.set({oauthField:le,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]);let N=L.group({}),Ge=L.group({}),He=L.group({});if(c)for(n in c){let Fe=c[n],{formElement:P}=Fe,u=rt(Fe,["formElement"]);N.addControl(n,P(e?.custom[n])),this.destinationFormPair.update(x=>(x.custom.push(u),x))}for(let P=0;P<i.Options.length;P++){let u=i.Options[P];if(u.Deprecated)continue;let x=F.includes(u.Name),E=x?Ge:He;this.destinationFormPair.update(Ve=>(Ve[x?"dynamic":"advanced"].push({name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues}),Ve));let de=(x?e?.dynamic[u.Name]:e?.advanced[u.Name])??u.DefaultValue;if(u.Type==="String"||u.Type==="Password"||u.Type==="Enumeration"||u.Type==="Path"){E.addControl(u.Name,L.control(de));continue}if(u.Type==="Size"){let Ve=de.replace(/[0-9]/g,""),at=de.replace(/[^0-9]/g,"");E.addControl(u.Name,L.group({size:L.control(at?parseInt(at):50),unit:L.control(Ve?Ve.toUpperCase():"MB")}))}if(u.Type==="Integer"){E.addControl(u.Name,L.control(de?parseInt(de):0));continue}if(u.Type==="Boolean"){E.addControl(u.Name,L.control(de==="true"));continue}if(u.Type==="Flags"){E.addControl(u.Name,L.control(de??""));continue}u.Type==="Timespan"&&E.addControl(u.Name,L.control(de,[he.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]))}this.destinationForm.controls.destinations.length!==0&&this.destinationForm.controls.destinations.removeAt(0),this.destinationFormPair.update(P=>({oauthField:P.oauthField,custom:P.custom,dynamic:P.dynamic.sort((u,x)=>F.indexOf(u.name)-F.indexOf(x.name)),advanced:P.advanced.sort((u,x)=>{let E=B.indexOf(u.name),Ae=B.indexOf(x.name);return E===-1&&Ae!==-1?1:E!==-1&&Ae===-1?-1:E-Ae})})),this.notSelectedAdvancedFormPair.set(this.destinationFormPair().advanced),this.destinationForm.controls.destinations.push(wt({key:i.Key,customGroup:N,dynamicGroup:Ge,advancedGroup:He}))}#d(){this.generalForm.reset(),this.sourceDataForm.reset(),this.scheduleForm.reset(),this.destinationForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var tn=["formRef"],nn=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"custom",oauthField:i}),ot=t=>({$implicit:t}),on=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"dynamic",oauthField:i}),an=(t,n,e,i)=>({destination:t,destinationType:n,index:e,formGroupName:"advanced",oauthField:i});function rn(t,n){if(t&1){let e=b();a(0,"p",9),y("click",function(){C(e);let r=m(2);return g(r.removeDestinationFormGroup(r.destinationCount()-1))}),l(1," Wanna select another destination? "),a(2,"span",10),l(3,"Click here"),o()()}}function ln(t,n){if(t&1){let e=b();a(0,"div",11)(1,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("file"))}),a(2,"h3"),l(3,"File system"),o(),a(4,"p"),l(5,"Store backups on your local file system."),o()(),a(6,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("gcs"))}),a(7,"h3"),l(8,"Google Cloud Storage"),o(),a(9,"p"),l(10,"Store backups in Google Cloud Storage."),o()(),a(11,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("s3"))}),a(12,"h3"),l(13,"S3 compatible bucket"),o(),a(14,"p"),l(15,"Store backups in any S3 compatible bucket."),o()(),a(16,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("ssh"))}),a(17,"h3"),l(18,"SSH"),o(),a(19,"p"),l(20,"Store backups in SSH."),o()(),a(21,"div",12),y("click",function(){C(e);let r=m(2);return g(r.addDestinationFormGroup("googledrive"))}),a(22,"h3"),l(23,"Google Drive"),o(),a(24,"p"),l(25,"Store backups in Google Drive."),o()()(),a(26,"p"),l(27,"More destinations are coming soon."),o()}}function sn(t,n){t&1&&Re(0)}function mn(t,n){if(t&1&&f(0,sn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,nn,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function pn(t,n){if(t&1&&(k(0),D(1,mn,1,9,"ng-container",null,w),v()),t&2){let e=m(3);s(),T(e.destinationFormPair().custom)}}function cn(t,n){t&1&&Re(0)}function dn(t,n){if(t&1&&f(0,cn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,on,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function un(t,n){if(t&1&&(k(0),D(1,dn,1,9,"ng-container",null,w),v()),t&2){let e=m(3);s(),T(e.destinationFormPair().dynamic)}}function _n(t,n){if(t&1){let e=b();a(0,"button",20),y("click",function(){let r=C(e).$implicit,c=m(4);return g(c.addAdvancedFormPair(r))}),l(1),o()}if(t&2){let e=n.$implicit;s(),A(" ",e.name," ")}}function fn(t,n){t&1&&Re(0)}function Cn(t,n){if(t&1&&f(0,fn,1,0,"ng-container",15),t&2){let e,i=n.$implicit,r=n.$index;m(2);let c=xe(6),F=m(2);d("ngTemplateOutlet",c)("ngTemplateOutletContext",Be(7,ot,$e(2,an,i,(e=F.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,r,F.destinationFormPair().oauthField)))}}function gn(t,n){if(t&1&&(a(0,"app-toggle-card",14),k(1,16),l(2," Advanced options "),a(3,"spk-menu")(4,"button",17),l(5," Add advanced option "),a(6,"spk-icon"),l(7,"plus"),o()(),k(8,18),D(9,_n,2,1,"button",19,w),v(),o(),v(),k(11),D(12,Cn,1,9,"ng-container",null,w),v(),o()),t&2){let e=m(3);d("disallowToggle",!0),s(9),T(e.notSelectedAdvancedFormPair()),s(3),T(e.selectedAdvancedFormPair())}}function yn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function xn(t,n){if(t&1&&(a(0,"app-file-tree",22)(1,"label",26),l(2),f(3,yn,2,1,"spk-icon",27),o(),p(4,"input",28),o()),t&2){let e,i=m().$implicit,r=m(3);d("startingPath",r.getFormFieldValue(i.index,i.formGroupName,i.destination.name)),s(),pt("for","destination-",i.formGroupName,"-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function hn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Sn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"link"),o())}function kn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"textbox"),o())}function vn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,hn,2,1,"spk-icon",27),o(),p(4,"input",28),f(5,Sn,2,0,"spk-icon",29)(6,kn,2,0,"spk-icon",29),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),s(),_(i.destination.type==="Path"?5:6)}}function Fn(t,n){if(t&1){let e=b();a(0,"span",33),y("click",function(){C(e);let r=m(2).$implicit,c=m(3);return g(c.oauthStartTokenCreation(r.destinationType))}),l(1,"AuthID"),o()}}function bn(t,n){t&1&&(a(0,"spk-icon",29),l(1,"password"),o())}function wn(t,n){if(t&1){let e=b();a(0,"spk-icon",34),y("click",function(){C(e);let r=m(2).$implicit;return g(r.destination.showPassword=!r.destination.showPassword)}),l(1," eye "),o()}}function Dn(t,n){if(t&1){let e=b();a(0,"spk-icon",34),y("click",function(){C(e);let r=m(2).$implicit;return g(r.destination.showPassword=!r.destination.showPassword)}),l(1," eye-slash "),o()}}function Tn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),o(),p(3,"input",30),f(4,Fn,2,0,"span",31)(5,bn,2,0,"spk-icon",29)(6,wn,2,0,"spk-icon",32)(7,Dn,2,0,"spk-icon",32),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),ct(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," -- ",i.oauthField," ",i.destinationType," ",i.destination.name," "),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),d("type",i.destination.showPassword?"text":"password"),s(),_(i.oauthField===i.destination.name?4:5),s(2),_(i.destination.showPassword?6:7)}}function En(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function On(t,n){if(t&1&&(a(0,"option",37),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function Nn(t,n){if(t&1&&(a(0,"spk-select")(1,"label",26),l(2),f(3,En,2,1,"spk-icon",27),o(),p(4,"input",35),k(5,36),D(6,On,2,2,"option",37,w),v(),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name),s(2),T(i.destination.options)}}function Vn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Pn(t,n){if(t&1&&(a(0,"option",37),l(1),o()),t&2){let e=n.$implicit;d("value",e),s(),G(e)}}function In(t,n){if(t&1&&(a(0,"div",23)(1,"label",26),l(2),f(3,Vn,2,1,"spk-icon",27),o(),a(4,"div",38)(5,"spk-form-field"),p(6,"input",39),a(7,"spk-icon",29),l(8,"resize"),o()(),a(9,"spk-select"),p(10,"label")(11,"input",40),k(12,36),D(13,Pn,2,2,"option",37,w),v(),o()()()),t&2){let e,i=m().$implicit,r=m(3);d("formGroupName",i.destination.name),s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(3),O("id","destination-",i.formGroupName,"-",i.index,""),s(7),T(r.sizeOptions())}}function Gn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function An(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,Gn,2,1,"spk-icon",27),o(),p(4,"input",41),a(5,"spk-icon",29),l(6,"numpad"),o()()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Mn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Rn(t,n){if(t&1&&(a(0,"spk-toggle",24)(1,"label",26),l(2),f(3,Mn,2,1,"spk-icon",27),o(),p(4,"input",42),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Bn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function $n(t,n){t&1&&(a(0,"spk-option",44),l(1,"None"),o()),t&2&&d("value","None")}function Ln(t,n){if(t&1&&(a(0,"spk-option",37),l(1),p(2,"spk-checkbox",45),o()),t&2){let e=m().$implicit;d("value",e),s(),A(" ",e," ")}}function zn(t,n){if(t&1&&f(0,$n,2,1,"spk-option",44)(1,Ln,3,2,"spk-option",37),t&2){let e=n.$implicit;_(e==="None"?0:1)}}function Un(t,n){if(t&1&&(a(0,"spk-select",25)(1,"label",26),l(2),f(3,Bn,2,1,"spk-icon",27),o(),p(4,"input",43),k(5,36),D(6,zn,2,1,null,null,w),v(),o()),t&2){let e,i=m().$implicit;d("selectMultiple",!0),s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),me("formControlName",i.destination.name),s(2),T(i.destination.options)}}function jn(t,n){if(t&1&&(a(0,"spk-icon",27),l(1," question "),o()),t&2){let e=m(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function qn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",26),l(2),f(3,jn,2,1,"spk-icon",27),o(),p(4,"input",28)(5,"span",46),o()),t&2){let e,i=m().$implicit;s(),O("for","destination-",i.formGroupName,"-",i.index,""),s(),A(" ",(e=i.destination.shortDescription)!==null&&e!==void 0?e:i.destination.name," "),s(),_(i.destination.longDescription?3:-1),s(),O("id","destination-",i.formGroupName,"-",i.index,""),me("formControlName",i.destination.name)}}function Qn(t,n){if(t&1&&(k(0,21),f(1,xn,5,11,"app-file-tree",22)(2,vn,7,10,"spk-form-field")(3,Tn,8,14,"spk-form-field")(4,Nn,8,9,"spk-select")(5,In,15,9,"div",23)(6,An,7,9,"spk-form-field")(7,Rn,5,9,"spk-toggle",24)(8,Un,8,7,"spk-select",25)(9,qn,6,9,"spk-form-field"),v()),t&2){let e=n.$implicit;d("formGroupName",e.formGroupName),s(),_(e.destination.type==="file-tree"?1:e.destination.type==="String"||e.destination.type==="Path"?2:e.destination.type==="Password"?3:e.destination.type==="Enumeration"?4:e.destination.type==="Size"?5:e.destination.type==="Integer"?6:e.destination.type==="Boolean"?7:e.destination.type==="Flags"?8:e.destination.type==="Timespan"?9:-1)}}function Wn(t,n){if(t&1&&(k(0,5)(1,13),f(2,pn,3,0,"ng-container")(3,un,3,0,"ng-container")(4,gn,14,1,"app-toggle-card",14)(5,Qn,10,2,"ng-template",null,1,dt),v()()),t&2){let e=m(2);s(2),_(e.destinationFormPair().custom.length?2:-1),s(),_(e.destinationFormPair().dynamic.length?3:-1),s(),_(e.destinationFormPair().advanced.length?4:-1)}}function Kn(t,n){if(t&1){let e=b();a(0,"form",3,0),y("submit",function(){C(e);let r=m();return g(r.next())}),a(2,"header")(3,"h3",4),l(4,"Backup destination"),o(),f(5,rn,4,0,"p"),o(),f(6,ln,28,0)(7,Wn,7,3,"ng-container",5),a(8,"div",6)(9,"button",7),y("click",function(){C(e);let r=m();return g(r.goBack())}),a(10,"spk-icon"),l(11,"arrow-left"),o(),l(12," Go back "),o(),a(13,"button",8)(14,"spk-icon"),l(15,"arrow-right"),o(),l(16," Continue "),o()()()}if(t&2){let e,i=m();d("formGroup",i.destinationForm),s(5),_(i.destinationCount()>0?5:-1),s(),_(i.destinationCount()===0?6:-1),s(),_(!((e=i.destinationFormSignal())==null||e.destinations==null)&&e.destinations.length?7:-1)}}var Hn=["Bytes","KB","MB","GB","TB","PB"],Ke=new I,bt=(t={destinations:[]})=>Ke.group({destinations:Ke.array(t.destinations)}),wt=({key:t,customGroup:n,dynamicGroup:e,advancedGroup:i})=>Ke.group({destinationType:Ke.control(t),custom:n,dynamic:e,advanced:i}),it=class t{#e=h(M);#t=h(K);#n=h(Ce);#i=h(_t);#o=h(R);formRef=U.required("formRef");sysIsLoaded=this.#n.isLoaded;destinationIsLoaded=this.#o.destinationIsLoaded;destinationForm=this.#o.destinationForm;destinationFormPair=this.#o.destinationFormPair;selectedAdvancedFormPair=this.#o.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#o.notSelectedAdvancedFormPair;destinationOptions=this.#o.destinationOptions;destinationFormSignal=this.#o.destinationFormSignal;destinationCount=W(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=S(Hn);getFormFieldValue(n,e,i){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[e]).controls[i].value}addDestinationFormGroup(n){this.#o.addDestinationFormGroup(n)}addAdvancedFormPair(n){this.selectedAdvancedFormPair.update(e=>(e.push(n),e)),this.notSelectedAdvancedFormPair.update(e=>(e=e.filter(i=>i.name!==n.name),e))}targetUrl=W(()=>{let n=this.destinationFormSignal()?.destinations?.[0];return n?Oe(n):""});mapToTargetUrl(n){return Oe(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let e=this.destinationOptions().find(i=>i.Key===n);return e?`${e.DisplayName}`:""}goBack(){this.#e.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#e.navigate(["source-data"],{relativeTo:this.#t.parent})}#a=S("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=S(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#r=S(!1);#s=S(null);keyCreation(){}oauthStartTokenCreation(n){this.#r.set(!0);let e=450,i=600,r=this.#a()+"?type="+n+"&token="+this.#l(),c=screen.width/2-e/2,F=screen.height/2-i/2,B=window.open(r,"_blank","height="+i+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+c+",top="+F);B?.addEventListener("blur",le=>{console.log("event blur",le)}),B?.addEventListener("beforeunload",le=>{console.log("event beforeunload",le),this.#i.get(this.#a()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(ye(()=>this.#r.set(!1))).subscribe({next:N=>{console.log("res",N),N?.authid&&this.#s.set(N.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-destination"]],viewQuery:function(e,i){e&1&&j(i.formRef,tn,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],["fieldTemplate",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile",3,"click"],["formGroupName","0"],[3,"disallowToggle"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["spk-menu-item","","type","button",3,"click"],[3,"formGroupName"],[3,"startingPath"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],[3,"for"],["spk-tooltip-right",""],["type","text",3,"id","formControlName"],["spkPrefix",""],[3,"type","id","formControlName"],["spkPrefix","",1,"link"],["spkSuffix","",1,"clickable"],["spkPrefix","",1,"link",3,"click"],["spkSuffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],["options",""],[3,"value"],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"],["spkError",""]],template:function(e,i){e&1&&f(0,Kn,17,4,"form",2),e&2&&_(i.destinationOptions().length&&i.sysIsLoaded()&&i.destinationIsLoaded()?0:-1)},dependencies:[ie,J,te,ne,H,ue,we,Y,Z,X,ee,_e,Le,ut,ae,re,ze,ft,Ct,oe,De,ge,Ue],styles:["[_nghost-%COMP%]{display:block}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[spkprefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}"],changeDetection:0})};export{bt as a,wt as b,it as c,ht as d,Je as e,Ze as f,St as g,et as h,Xe as i,vt as j,tt as k,Ft as l,nt as m,R as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Nr}from"./chunk-L4EVZZOM.js";import{$ as jt,A as J,B as ft,C as ce,D as tt,E as or,G as Nt,H,I as le,J as ar,Jb as Tr,K as ur,L as cr,M as x,Ma as mr,N as lr,O as R,P as w,Pa as P,R as b,Ra as ge,Sa as yr,Sb as Or,T as hr,Tb as Er,U as $,Ub as Ur,V as he,Vb as xr,W as de,Wb as ve,X as g,Ya as Cr,Yb as kt,Z as dr,Za as Rr,_a as Sr,_b as _t,a as l,ab as wr,b as I,ba as fr,cc as Pr,d as er,da as $t,ea as k,f as rr,ga as Lt,h as se,hc as me,i as oe,ic as zt,j as B,k as D,ka as fe,la as pr,lb as br,m as V,ma as gr,n as T,o as f,oa as vr,p as dt,pa as et,q as nr,qb as Ir,r as ir,s as m,t as Pt,u as O,ua as pe,v as ae,w as sr,x as ue,xb as Ar,yb as Mr,z as X,zb as Dr}from"./chunk-RBNO3K72.js";var p="primary",Ot=Symbol("RouteTitle"),we=class{constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let t=this.params[r];return Array.isArray(t)?t[0]:t}return null}getAll(r){if(this.has(r)){let t=this.params[r];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function at(e){return new we(e)}function Rn(e,r,t){let n=t.path.split("/");if(n.length>e.length||t.pathMatch==="full"&&(r.hasChildren()||n.length<e.length))return null;let i={};for(let s=0;s<n.length;s++){let o=n[s],u=e[s];if(o[0]===":")i[o.substring(1)]=u;else if(o!==u.path)return null}return{consumed:e.slice(0,n.length),posParams:i}}function Sn(e,r){if(e.length!==r.length)return!1;for(let t=0;t<e.length;++t)if(!L(e[t],r[t]))return!1;return!0}function L(e,r){let t=e?be(e):void 0,n=r?be(r):void 0;if(!t||!n||t.length!=n.length)return!1;let i;for(let s=0;s<t.length;s++)if(i=t[s],!Vr(e[i],r[i]))return!1;return!0}function be(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}function Vr(e,r){if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)return!1;let t=[...e].sort(),n=[...r].sort();return t.every((i,s)=>n[s]===i)}else return e===r}function Hr(e){return e.length>0?e[e.length-1]:null}function W(e){return nr(e)?e:Er(e)?T(Promise.resolve(e)):f(e)}var wn={exact:Gr,subset:Qr},Wr={exact:bn,subset:In,ignored:()=>!0};function jr(e,r,t){return wn[t.paths](e.root,r.root,t.matrixParams)&&Wr[t.queryParams](e.queryParams,r.queryParams)&&!(t.fragment==="exact"&&e.fragment!==r.fragment)}function bn(e,r){return L(e,r)}function Gr(e,r,t){if(!Q(e.segments,r.segments)||!Bt(e.segments,r.segments,t)||e.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!e.children[n]||!Gr(e.children[n],r.children[n],t))return!1;return!0}function In(e,r){return Object.keys(r).length<=Object.keys(e).length&&Object.keys(r).every(t=>Vr(e[t],r[t]))}function Qr(e,r,t){return Kr(e,r,r.segments,t)}function Kr(e,r,t,n){if(e.segments.length>t.length){let i=e.segments.slice(0,t.length);return!(!Q(i,t)||r.hasChildren()||!Bt(i,t,n))}else if(e.segments.length===t.length){if(!Q(e.segments,t)||!Bt(e.segments,t,n))return!1;for(let i in r.children)if(!e.children[i]||!Qr(e.children[i],r.children[i],n))return!1;return!0}else{let i=t.slice(0,e.segments.length),s=t.slice(e.segments.length);return!Q(e.segments,i)||!Bt(e.segments,i,n)||!e.children[p]?!1:Kr(e.children[p],r,s,n)}}function Bt(e,r,t){return r.every((n,i)=>Wr[t](e[i].parameters,n.parameters))}var z=class{constructor(r=new v([],{}),t={},n=null){this.root=r,this.queryParams=t,this.fragment=n}get queryParamMap(){return this._queryParamMap??=at(this.queryParams),this._queryParamMap}toString(){return Dn.serialize(this)}},v=class{constructor(r,t){this.segments=r,this.children=t,this.parent=null,Object.values(t).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Vt(this)}},G=class{constructor(r,t){this.path=r,this.parameters=t}get parameterMap(){return this._parameterMap??=at(this.parameters),this._parameterMap}toString(){return Yr(this)}};function An(e,r){return Q(e,r)&&e.every((t,n)=>L(t.parameters,r[n].parameters))}function Q(e,r){return e.length!==r.length?!1:e.every((t,n)=>t.path===r[n].path)}function Mn(e,r){let t=[];return Object.entries(e.children).forEach(([n,i])=>{n===p&&(t=t.concat(r(i,n)))}),Object.entries(e.children).forEach(([n,i])=>{n!==p&&(t=t.concat(r(i,n)))}),t}var Ke=(()=>{class e{static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:()=>new Rt,providedIn:"root"})}}return e})(),Rt=class{parse(r){let t=new Ae(r);return new z(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(r){let t=`/${pt(r.root,!0)}`,n=En(r.queryParams),i=typeof r.fragment=="string"?`#${Tn(r.fragment)}`:"";return`${t}${n}${i}`}},Dn=new Rt;function Vt(e){return e.segments.map(r=>Yr(r)).join("/")}function pt(e,r){if(!e.hasChildren())return Vt(e);if(r){let t=e.children[p]?pt(e.children[p],!1):"",n=[];return Object.entries(e.children).forEach(([i,s])=>{i!==p&&n.push(`${i}:${pt(s,!1)}`)}),n.length>0?`${t}(${n.join("//")})`:t}else{let t=Mn(e,(n,i)=>i===p?[pt(e.children[p],!1)]:[`${i}:${pt(n,!1)}`]);return Object.keys(e.children).length===1&&e.children[p]!=null?`${Vt(e)}/${t[0]}`:`${Vt(e)}/(${t.join("//")})`}}function Zr(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ft(e){return Zr(e).replace(/%3B/gi,";")}function Tn(e){return encodeURI(e)}function Ie(e){return Zr(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ht(e){return decodeURIComponent(e)}function $r(e){return Ht(e.replace(/\+/g,"%20"))}function Yr(e){return`${Ie(e.path)}${On(e.parameters)}`}function On(e){return Object.entries(e).map(([r,t])=>`;${Ie(r)}=${Ie(t)}`).join("")}function En(e){let r=Object.entries(e).map(([t,n])=>Array.isArray(n)?n.map(i=>`${Ft(t)}=${Ft(i)}`).join("&"):`${Ft(t)}=${Ft(n)}`).filter(t=>t);return r.length?`?${r.join("&")}`:""}var Un=/^[^\/()?;#]+/;function ye(e){let r=e.match(Un);return r?r[0]:""}var xn=/^[^\/()?;=#]+/;function Pn(e){let r=e.match(xn);return r?r[0]:""}var Nn=/^[^=?&#]+/;function jn(e){let r=e.match(Nn);return r?r[0]:""}var $n=/^[^&#]+/;function Ln(e){let r=e.match($n);return r?r[0]:""}var Ae=class{constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(t).length>0)&&(n[p]=new v(r,t)),n}parseSegment(){let r=ye(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new w(4009,!1);return this.capture(r),new G(Ht(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let t=Pn(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let i=ye(this.remaining);i&&(n=i,this.capture(n))}r[Ht(t)]=Ht(n)}parseQueryParam(r){let t=jn(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let o=Ln(this.remaining);o&&(n=o,this.capture(n))}let i=$r(t),s=$r(n);if(r.hasOwnProperty(i)){let o=r[i];Array.isArray(o)||(o=[o],r[i]=o),o.push(s)}else r[i]=s}parseParens(r){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=ye(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new w(4010,!1);let s;n.indexOf(":")>-1?(s=n.slice(0,n.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=p);let o=this.parseChildren();t[s]=Object.keys(o).length===1?o[p]:new v([],o),this.consumeOptional("//")}return t}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new w(4011,!1)}};function Xr(e){return e.segments.length>0?new v([],{[p]:e}):e}function Jr(e){let r={};for(let[n,i]of Object.entries(e.children)){let s=Jr(i);if(n===p&&s.segments.length===0&&s.hasChildren())for(let[o,u]of Object.entries(s.children))r[o]=u;else(s.segments.length>0||s.hasChildren())&&(r[n]=s)}let t=new v(e.segments,r);return kn(t)}function kn(e){if(e.numberOfChildren===1&&e.children[p]){let r=e.children[p];return new v(e.segments.concat(r.segments),r.children)}return e}function K(e){return e instanceof z}function _n(e,r,t=null,n=null){let i=tn(e);return en(i,r,t,n)}function tn(e){let r;function t(s){let o={};for(let a of s.children){let c=t(a);o[a.outlet]=c}let u=new v(s.url,o);return s===e&&(r=u),u}let n=t(e.root),i=Xr(n);return r??i}function en(e,r,t,n){let i=e;for(;i.parent;)i=i.parent;if(r.length===0)return Ce(i,i,i,t,n);let s=zn(r);if(s.toRoot())return Ce(i,i,new v([],{}),t,n);let o=Fn(s,i,e),u=o.processChildren?mt(o.segmentGroup,o.index,s.commands):nn(o.segmentGroup,o.index,s.commands);return Ce(i,o.segmentGroup,u,t,n)}function Wt(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function St(e){return typeof e=="object"&&e!=null&&e.outlets}function Ce(e,r,t,n,i){let s={};n&&Object.entries(n).forEach(([a,c])=>{s[a]=Array.isArray(c)?c.map(h=>`${h}`):`${c}`});let o;e===r?o=t:o=rn(e,r,t);let u=Xr(Jr(o));return new z(u,s,i)}function rn(e,r,t){let n={};return Object.entries(e.children).forEach(([i,s])=>{s===r?n[i]=t:n[i]=rn(s,r,t)}),new v(e.segments,n)}var Gt=class{constructor(r,t,n){if(this.isAbsolute=r,this.numberOfDoubleDots=t,this.commands=n,r&&n.length>0&&Wt(n[0]))throw new w(4003,!1);let i=n.find(St);if(i&&i!==Hr(n))throw new w(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function zn(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new Gt(!0,0,e);let r=0,t=!1,n=e.reduce((i,s,o)=>{if(typeof s=="object"&&s!=null){if(s.outlets){let u={};return Object.entries(s.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(s.segmentPath)return[...i,s.segmentPath]}return typeof s!="string"?[...i,s]:o===0?(s.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?t=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,s]},[]);return new Gt(t,r,n)}var it=class{constructor(r,t,n){this.segmentGroup=r,this.processChildren=t,this.index=n}};function Fn(e,r,t){if(e.isAbsolute)return new it(r,!0,0);if(!t)return new it(r,!1,NaN);if(t.parent===null)return new it(t,!0,0);let n=Wt(e.commands[0])?0:1,i=t.segments.length-1+n;return qn(t,i,e.numberOfDoubleDots)}function qn(e,r,t){let n=e,i=r,s=t;for(;s>i;){if(s-=i,n=n.parent,!n)throw new w(4005,!1);i=n.segments.length}return new it(n,!1,i-s)}function Bn(e){return St(e[0])?e[0].outlets:{[p]:e}}function nn(e,r,t){if(e??=new v([],{}),e.segments.length===0&&e.hasChildren())return mt(e,r,t);let n=Vn(e,r,t),i=t.slice(n.commandIndex);if(n.match&&n.pathIndex<e.segments.length){let s=new v(e.segments.slice(0,n.pathIndex),{});return s.children[p]=new v(e.segments.slice(n.pathIndex),e.children),mt(s,0,i)}else return n.match&&i.length===0?new v(e.segments,{}):n.match&&!e.hasChildren()?Me(e,r,t):n.match?mt(e,0,i):Me(e,r,t)}function mt(e,r,t){if(t.length===0)return new v(e.segments,{});{let n=Bn(t),i={};if(Object.keys(n).some(s=>s!==p)&&e.children[p]&&e.numberOfChildren===1&&e.children[p].segments.length===0){let s=mt(e.children[p],r,t);return new v(e.segments,s.children)}return Object.entries(n).forEach(([s,o])=>{typeof o=="string"&&(o=[o]),o!==null&&(i[s]=nn(e.children[s],r,o))}),Object.entries(e.children).forEach(([s,o])=>{n[s]===void 0&&(i[s]=o)}),new v(e.segments,i)}}function Vn(e,r,t){let n=0,i=r,s={match:!1,pathIndex:0,commandIndex:0};for(;i<e.segments.length;){if(n>=t.length)return s;let o=e.segments[i],u=t[n];if(St(u))break;let a=`${u}`,c=n<t.length-1?t[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!kr(a,c,o))return s;n+=2}else{if(!kr(a,{},o))return s;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function Me(e,r,t){let n=e.segments.slice(0,r),i=0;for(;i<t.length;){let s=t[i];if(St(s)){let a=Hn(s.outlets);return new v(n,a)}if(i===0&&Wt(t[0])){let a=e.segments[r];n.push(new G(a.path,Lr(t[0]))),i++;continue}let o=St(s)?s.outlets[p]:`${s}`,u=i<t.length-1?t[i+1]:null;o&&u&&Wt(u)?(n.push(new G(o,Lr(u))),i+=2):(n.push(new G(o,{})),i++)}return new v(n,{})}function Hn(e){let r={};return Object.entries(e).forEach(([t,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[t]=Me(new v([],{}),0,n))}),r}function Lr(e){let r={};return Object.entries(e).forEach(([t,n])=>r[t]=`${n}`),r}function kr(e,r,t){return e==t.path&&L(r,t.parameters)}var yt="imperative",C=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(C||{}),E=class{constructor(r,t){this.id=r,this.url=t}},wt=class extends E{constructor(r,t,n="imperative",i=null){super(r,t),this.type=C.NavigationStart,this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},F=class extends E{constructor(r,t,n){super(r,t),this.urlAfterRedirects=n,this.type=C.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},M=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(M||{}),De=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(De||{}),_=class extends E{constructor(r,t,n,i){super(r,t),this.reason=n,this.code=i,this.type=C.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Z=class extends E{constructor(r,t,n,i){super(r,t),this.reason=n,this.code=i,this.type=C.NavigationSkipped}},bt=class extends E{constructor(r,t,n,i){super(r,t),this.error=n,this.target=i,this.type=C.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Qt=class extends E{constructor(r,t,n,i){super(r,t),this.urlAfterRedirects=n,this.state=i,this.type=C.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Te=class extends E{constructor(r,t,n,i){super(r,t),this.urlAfterRedirects=n,this.state=i,this.type=C.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Oe=class extends E{constructor(r,t,n,i,s){super(r,t),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=s,this.type=C.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Ee=class extends E{constructor(r,t,n,i){super(r,t),this.urlAfterRedirects=n,this.state=i,this.type=C.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ue=class extends E{constructor(r,t,n,i){super(r,t),this.urlAfterRedirects=n,this.state=i,this.type=C.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},xe=class{constructor(r){this.route=r,this.type=C.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Pe=class{constructor(r){this.route=r,this.type=C.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Ne=class{constructor(r){this.snapshot=r,this.type=C.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},je=class{constructor(r){this.snapshot=r,this.type=C.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},$e=class{constructor(r){this.snapshot=r,this.type=C.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Le=class{constructor(r){this.snapshot=r,this.type=C.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var It=class{},ut=class{constructor(r,t){this.url=r,this.navigationBehaviorOptions=t}};function Wn(e,r){return e.providers&&!e._injector&&(e._injector=Sr(e.providers,r,`Route: ${e.path}`)),e._injector??r}function N(e){return e.outlet||p}function Gn(e,r){let t=e.filter(n=>N(n)===r);return t.push(...e.filter(n=>N(n)!==r)),t}function Et(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let r=e.parent;r;r=r.parent){let t=r.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var ke=class{get injector(){return Et(this.route?.snapshot)??this.rootInjector}set injector(r){}constructor(r){this.rootInjector=r,this.outlet=null,this.route=null,this.children=new ee(this.rootInjector),this.attachRef=null}},ee=(()=>{class e{constructor(t){this.rootInjector=t,this.contexts=new Map}onChildOutletCreated(t,n){let i=this.getOrCreateContext(t);i.outlet=n,this.contexts.set(t,i)}onChildOutletDestroyed(t){let n=this.getContext(t);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let n=this.getContext(t);return n||(n=new ke(this.rootInjector),this.contexts.set(t,n)),n}getContext(t){return this.contexts.get(t)||null}static{this.\u0275fac=function(n){return new(n||e)(de($t))}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Kt=class{constructor(r){this._root=r}get root(){return this._root.value}parent(r){let t=this.pathFromRoot(r);return t.length>1?t[t.length-2]:null}children(r){let t=_e(r,this._root);return t?t.children.map(n=>n.value):[]}firstChild(r){let t=_e(r,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(r){let t=ze(r,this._root);return t.length<2?[]:t[t.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return ze(r,this._root).map(t=>t.value)}};function _e(e,r){if(e===r.value)return r;for(let t of r.children){let n=_e(e,t);if(n)return n}return null}function ze(e,r){if(e===r.value)return[r];for(let t of r.children){let n=ze(e,t);if(n.length)return n.unshift(r),n}return[]}var A=class{constructor(r,t){this.value=r,this.children=t}toString(){return`TreeNode(${this.value})`}};function nt(e){let r={};return e&&e.children.forEach(t=>r[t.value.outlet]=t),r}var Zt=class extends Kt{constructor(r,t){super(r),this.snapshot=t,Ze(this,r)}toString(){return this.snapshot.toString()}};function sn(e){let r=Qn(e),t=new D([new G("",{})]),n=new D({}),i=new D({}),s=new D({}),o=new D(""),u=new Y(t,n,s,o,i,p,e,r.root);return u.snapshot=r.root,new Zt(new A(u,[]),r)}function Qn(e){let r={},t={},n={},i="",s=new st([],r,n,i,t,p,e,null,{});return new Xt("",new A(s,[]))}var Y=class{constructor(r,t,n,i,s,o,u,a){this.urlSubject=r,this.paramsSubject=t,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=s,this.outlet=o,this.component=u,this._futureSnapshot=a,this.title=this.dataSubject?.pipe(m(c=>c[Ot]))??f(void 0),this.url=r,this.params=t,this.queryParams=n,this.fragment=i,this.data=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(m(r=>at(r))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(m(r=>at(r))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Yt(e,r,t="emptyOnly"){let n,{routeConfig:i}=e;return r!==null&&(t==="always"||i?.path===""||!r.component&&!r.routeConfig?.loadComponent)?n={params:l(l({},r.params),e.params),data:l(l({},r.data),e.data),resolve:l(l(l(l({},e.data),r.data),i?.data),e._resolvedData)}:n={params:l({},e.params),data:l({},e.data),resolve:l(l({},e.data),e._resolvedData??{})},i&&an(i)&&(n.resolve[Ot]=i.title),n}var st=class{get title(){return this.data?.[Ot]}constructor(r,t,n,i,s,o,u,a,c){this.url=r,this.params=t,this.queryParams=n,this.fragment=i,this.data=s,this.outlet=o,this.component=u,this.routeConfig=a,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=at(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=at(this.queryParams),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${t}')`}},Xt=class extends Kt{constructor(r,t){super(t),this.url=r,Ze(this,t)}toString(){return on(this._root)}};function Ze(e,r){r.value._routerState=e,r.children.forEach(t=>Ze(e,t))}function on(e){let r=e.children.length>0?` { ${e.children.map(on).join(", ")} } `:"";return`${e.value}${r}`}function Re(e){if(e.snapshot){let r=e.snapshot,t=e._futureSnapshot;e.snapshot=t,L(r.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),r.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),L(r.params,t.params)||e.paramsSubject.next(t.params),Sn(r.url,t.url)||e.urlSubject.next(t.url),L(r.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function Fe(e,r){let t=L(e.params,r.params)&&An(e.url,r.url),n=!e.parent!=!r.parent;return t&&!n&&(!e.parent||Fe(e.parent,r.parent))}function an(e){return typeof e.title=="string"||e.title===null}var Kn=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=p,this.activateEvents=new et,this.deactivateEvents=new et,this.attachEvents=new et,this.detachEvents=new et,this.parentContexts=g(ee),this.location=g(yr),this.changeDetector=g(kt),this.inputBinder=g(re,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){let{firstChange:n,previousValue:i}=t.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new w(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new w(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new w(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,n){this.activated=t,this._activatedRoute=n,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,n){if(this.isActivated)throw new w(4013,!1);this._activatedRoute=t;let i=this.location,o=t.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new qe(t,u,i.injector);this.activated=i.createComponent(o,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275dir=jt({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Lt]})}}return e})(),qe=class e{__ngOutletInjector(r){return new e(this.route,this.childContexts,r)}constructor(r,t,n){this.route=r,this.childContexts=t,this.parent=n}get(r,t){return r===Y?this.route:r===ee?this.childContexts:this.parent.get(r,t)}},re=new $(""),_r=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){let{activatedRoute:n}=t,i=Pt([n.queryParams,n.params,n.data]).pipe(x(([s,o,u],a)=>(u=l(l(l({},s),o),u),a===0?f(u):Promise.resolve(u)))).subscribe(s=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(t);return}let o=Pr(n.component);if(!o){this.unsubscribeFromRouteData(t);return}for(let{templateName:u}of o.inputs)t.activatedComponentRef.setInput(u,s[u])});this.outletDataSubscriptions.set(t,i)}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac})}}return e})();function Zn(e,r,t){let n=At(e,r._root,t?t._root:void 0);return new Zt(n,r)}function At(e,r,t){if(t&&e.shouldReuseRoute(r.value,t.value.snapshot)){let n=t.value;n._futureSnapshot=r.value;let i=Yn(e,r,t);return new A(n,i)}else{if(e.shouldAttach(r.value)){let s=e.retrieve(r.value);if(s!==null){let o=s.route;return o.value._futureSnapshot=r.value,o.children=r.children.map(u=>At(e,u)),o}}let n=Xn(r.value),i=r.children.map(s=>At(e,s));return new A(n,i)}}function Yn(e,r,t){return r.children.map(n=>{for(let i of t.children)if(e.shouldReuseRoute(n.value,i.value.snapshot))return At(e,n,i);return At(e,n)})}function Xn(e){return new Y(new D(e.url),new D(e.params),new D(e.queryParams),new D(e.fragment),new D(e.data),e.outlet,e.component,e)}var Mt=class{constructor(r,t){this.redirectTo=r,this.navigationBehaviorOptions=t}},un="ngNavigationCancelingError";function Jt(e,r){let{redirectTo:t,navigationBehaviorOptions:n}=K(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=cn(!1,M.Redirect);return i.url=t,i.navigationBehaviorOptions=n,i}function cn(e,r){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[un]=!0,t.cancellationCode=r,t}function Jn(e){return ln(e)&&K(e.url)}function ln(e){return!!e&&e[un]}var ti=(e,r,t,n)=>m(i=>(new Be(r,i.targetRouterState,i.currentRouterState,t,n).activate(e),i)),Be=class{constructor(r,t,n,i,s){this.routeReuseStrategy=r,this.futureState=t,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=s}activate(r){let t=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,n,r),Re(this.futureState.root),this.activateChildRoutes(t,n,r)}deactivateChildRoutes(r,t,n){let i=nt(t);r.children.forEach(s=>{let o=s.value.outlet;this.deactivateRoutes(s,i[o],n),delete i[o]}),Object.values(i).forEach(s=>{this.deactivateRouteAndItsChildren(s,n)})}deactivateRoutes(r,t,n){let i=r.value,s=t?t.value:null;if(i===s)if(i.component){let o=n.getContext(i.outlet);o&&this.deactivateChildRoutes(r,t,o.children)}else this.deactivateChildRoutes(r,t,n);else s&&this.deactivateRouteAndItsChildren(t,n)}deactivateRouteAndItsChildren(r,t){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,t):this.deactivateRouteAndOutlet(r,t)}detachAndStoreRouteSubtree(r,t){let n=t.getContext(r.value.outlet),i=n&&r.value.component?n.children:t,s=nt(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);if(n&&n.outlet){let o=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:o,route:r,contexts:u})}}deactivateRouteAndOutlet(r,t){let n=t.getContext(r.value.outlet),i=n&&r.value.component?n.children:t,s=nt(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,t,n){let i=nt(t);r.children.forEach(s=>{this.activateRoutes(s,i[s.value.outlet],n),this.forwardEvent(new Le(s.value.snapshot))}),r.children.length&&this.forwardEvent(new je(r.value.snapshot))}activateRoutes(r,t,n){let i=r.value,s=t?t.value:null;if(Re(i),i===s)if(i.component){let o=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,t,o.children)}else this.activateChildRoutes(r,t,n);else if(i.component){let o=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),o.children.onOutletReAttached(u.contexts),o.attachRef=u.componentRef,o.route=u.route.value,o.outlet&&o.outlet.attach(u.componentRef,u.route.value),Re(u.route.value),this.activateChildRoutes(r,null,o.children)}else o.attachRef=null,o.route=i,o.outlet&&o.outlet.activateWith(i,o.injector),this.activateChildRoutes(r,null,o.children)}else this.activateChildRoutes(r,null,n)}},te=class{constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},ot=class{constructor(r,t){this.component=r,this.route=t}};function ei(e,r,t){let n=e._root,i=r?r._root:null;return gt(n,i,t,[n.value])}function ri(e){let r=e.routeConfig?e.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:e,guards:r}}function lt(e,r){let t=Symbol(),n=r.get(e,t);return n===t?typeof e=="function"&&!hr(e)?e:r.get(e):n}function gt(e,r,t,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=nt(r);return e.children.forEach(o=>{ni(o,s[o.value.outlet],t,n.concat([o.value]),i),delete s[o.value.outlet]}),Object.entries(s).forEach(([o,u])=>Ct(u,t.getContext(o),i)),i}function ni(e,r,t,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=e.value,o=r?r.value:null,u=t?t.getContext(e.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){let a=ii(o,s,s.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new te(n)):(s.data=o.data,s._resolvedData=o._resolvedData),s.component?gt(e,r,u?u.children:null,n,i):gt(e,r,t,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new ot(u.outlet.component,o))}else o&&Ct(r,u,i),i.canActivateChecks.push(new te(n)),s.component?gt(e,null,u?u.children:null,n,i):gt(e,null,t,n,i);return i}function ii(e,r,t){if(typeof t=="function")return t(e,r);switch(t){case"pathParamsChange":return!Q(e.url,r.url);case"pathParamsOrQueryParamsChange":return!Q(e.url,r.url)||!L(e.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Fe(e,r)||!L(e.queryParams,r.queryParams);case"paramsChange":default:return!Fe(e,r)}}function Ct(e,r,t){let n=nt(e),i=e.value;Object.entries(n).forEach(([s,o])=>{i.component?r?Ct(o,r.children.getContext(s),t):Ct(o,null,t):Ct(o,r,t)}),i.component?r&&r.outlet&&r.outlet.isActivated?t.canDeactivateChecks.push(new ot(r.outlet.component,i)):t.canDeactivateChecks.push(new ot(null,i)):t.canDeactivateChecks.push(new ot(null,i))}function Ut(e){return typeof e=="function"}function si(e){return typeof e=="boolean"}function oi(e){return e&&Ut(e.canLoad)}function ai(e){return e&&Ut(e.canActivate)}function ui(e){return e&&Ut(e.canActivateChild)}function ci(e){return e&&Ut(e.canDeactivate)}function li(e){return e&&Ut(e.canMatch)}function hn(e){return e instanceof ir||e?.name==="EmptyError"}var qt=Symbol("INITIAL_VALUE");function ct(){return x(e=>Pt(e.map(r=>r.pipe(tt(1),cr(qt)))).pipe(m(r=>{for(let t of r)if(t!==!0){if(t===qt)return qt;if(t===!1||hi(t))return t}return!0}),X(r=>r!==qt),tt(1)))}function hi(e){return K(e)||e instanceof Mt}function di(e,r){return O(t=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=t;return o.length===0&&s.length===0?f(I(l({},t),{guardsResult:!0})):fi(o,n,i,e).pipe(O(u=>u&&si(u)?pi(n,s,e,r):f(u)),m(u=>I(l({},t),{guardsResult:u})))})}function fi(e,r,t,n){return T(e).pipe(O(i=>Ci(i.component,i.route,t,r,n)),H(i=>i!==!0,!0))}function pi(e,r,t,n){return T(r).pipe(ft(i=>sr(vi(i.route.parent,n),gi(i.route,n),yi(e,i.path,t),mi(e,i.route,t))),H(i=>i!==!0,!0))}function gi(e,r){return e!==null&&r&&r(new $e(e)),f(!0)}function vi(e,r){return e!==null&&r&&r(new Ne(e)),f(!0)}function mi(e,r,t){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return f(!0);let i=n.map(s=>ue(()=>{let o=Et(r)??t,u=lt(s,o),a=ai(u)?u.canActivate(r,e):k(o,()=>u(r,e));return W(a).pipe(H())}));return f(i).pipe(ct())}function yi(e,r,t){let n=r[r.length-1],s=r.slice(0,r.length-1).reverse().map(o=>ri(o)).filter(o=>o!==null).map(o=>ue(()=>{let u=o.guards.map(a=>{let c=Et(o.node)??t,h=lt(a,c),d=ui(h)?h.canActivateChild(n,e):k(c,()=>h(n,e));return W(d).pipe(H())});return f(u).pipe(ct())}));return f(s).pipe(ct())}function Ci(e,r,t,n,i){let s=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!s||s.length===0)return f(!0);let o=s.map(u=>{let a=Et(r)??i,c=lt(u,a),h=ci(c)?c.canDeactivate(e,r,t,n):k(a,()=>c(e,r,t,n));return W(h).pipe(H())});return f(o).pipe(ct())}function Ri(e,r,t,n){let i=r.canLoad;if(i===void 0||i.length===0)return f(!0);let s=i.map(o=>{let u=lt(o,e),a=oi(u)?u.canLoad(r,t):k(e,()=>u(r,t));return W(a)});return f(s).pipe(ct(),dn(n))}function dn(e){return rr(R(r=>{if(typeof r!="boolean")throw Jt(e,r)}),m(r=>r===!0))}function Si(e,r,t,n){let i=r.canMatch;if(!i||i.length===0)return f(!0);let s=i.map(o=>{let u=lt(o,e),a=li(u)?u.canMatch(r,t):k(e,()=>u(r,t));return W(a)});return f(s).pipe(ct(),dn(n))}var Dt=class{constructor(r){this.segmentGroup=r||null}},Tt=class extends Error{constructor(r){super(),this.urlTree=r}};function rt(e){return dt(new Dt(e))}function wi(e){return dt(new w(4e3,!1))}function bi(e){return dt(cn(!1,M.GuardRejected))}var Ve=class{constructor(r,t){this.urlSerializer=r,this.urlTree=t}lineralizeSegments(r,t){let n=[],i=t.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return f(n);if(i.numberOfChildren>1||!i.children[p])return wi(`${r.redirectTo}`);i=i.children[p]}}applyRedirectCommands(r,t,n,i,s){if(typeof t!="string"){let u=t,{queryParams:a,fragment:c,routeConfig:h,url:d,outlet:y,params:j,data:S,title:q}=i,U=k(s,()=>u({params:j,data:S,queryParams:a,fragment:c,routeConfig:h,url:d,outlet:y,title:q}));if(U instanceof z)throw new Tt(U);t=U}let o=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),r,n);if(t[0]==="/")throw new Tt(o);return o}applyRedirectCreateUrlTree(r,t,n,i){let s=this.createSegmentGroup(r,t.root,n,i);return new z(s,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(r,t){let n={};return Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"&&s[0]===":"){let u=s.substring(1);n[i]=t[u]}else n[i]=s}),n}createSegmentGroup(r,t,n,i){let s=this.createSegments(r,t.segments,n,i),o={};return Object.entries(t.children).forEach(([u,a])=>{o[u]=this.createSegmentGroup(r,a,n,i)}),new v(s,o)}createSegments(r,t,n,i){return t.map(s=>s.path[0]===":"?this.findPosParam(r,s,i):this.findOrReturn(s,n))}findPosParam(r,t,n){let i=n[t.path.substring(1)];if(!i)throw new w(4001,!1);return i}findOrReturn(r,t){let n=0;for(let i of t){if(i.path===r.path)return t.splice(n),i;n++}return r}},He={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Ii(e,r,t,n,i){let s=fn(e,r,t);return s.matched?(n=Wn(r,n),Si(n,r,t,i).pipe(m(o=>o===!0?s:l({},He)))):f(s)}function fn(e,r,t){if(r.path==="**")return Ai(t);if(r.path==="")return r.pathMatch==="full"&&(e.hasChildren()||t.length>0)?l({},He):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Rn)(t,e,r);if(!i)return l({},He);let s={};Object.entries(i.posParams??{}).forEach(([u,a])=>{s[u]=a.path});let o=i.consumed.length>0?l(l({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,remainingSegments:t.slice(i.consumed.length),parameters:o,positionalParamSegments:i.posParams??{}}}function Ai(e){return{matched:!0,parameters:e.length>0?Hr(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function zr(e,r,t,n){return t.length>0&&Ti(e,t,n)?{segmentGroup:new v(r,Di(n,new v(t,e.children))),slicedSegments:[]}:t.length===0&&Oi(e,t,n)?{segmentGroup:new v(e.segments,Mi(e,t,n,e.children)),slicedSegments:t}:{segmentGroup:new v(e.segments,e.children),slicedSegments:t}}function Mi(e,r,t,n){let i={};for(let s of t)if(ne(e,r,s)&&!n[N(s)]){let o=new v([],{});i[N(s)]=o}return l(l({},n),i)}function Di(e,r){let t={};t[p]=r;for(let n of e)if(n.path===""&&N(n)!==p){let i=new v([],{});t[N(n)]=i}return t}function Ti(e,r,t){return t.some(n=>ne(e,r,n)&&N(n)!==p)}function Oi(e,r,t){return t.some(n=>ne(e,r,n))}function ne(e,r,t){return(e.hasChildren()||r.length>0)&&t.pathMatch==="full"?!1:t.path===""}function Ei(e,r,t){return r.length===0&&!e.children[t]}var We=class{};function Ui(e,r,t,n,i,s,o="emptyOnly"){return new Ge(e,r,t,n,i,o,s).recognize()}var xi=31,Ge=class{constructor(r,t,n,i,s,o,u){this.injector=r,this.configLoader=t,this.rootComponentType=n,this.config=i,this.urlTree=s,this.paramsInheritanceStrategy=o,this.urlSerializer=u,this.applyRedirects=new Ve(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(r){return new w(4002,`'${r.segmentGroup}'`)}recognize(){let r=zr(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(m(({children:t,rootSnapshot:n})=>{let i=new A(n,t),s=new Xt("",i),o=_n(n,[],this.urlTree.queryParams,this.urlTree.fragment);return o.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(o),{state:s,tree:o}}))}match(r){let t=new st([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),p,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,p,t).pipe(m(n=>({children:n,rootSnapshot:t})),J(n=>{if(n instanceof Tt)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof Dt?this.noMatchError(n):n}))}processSegmentGroup(r,t,n,i,s){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,t,n,s):this.processSegment(r,t,n,n.segments,i,!0,s).pipe(m(o=>o instanceof A?[o]:[]))}processChildren(r,t,n,i){let s=[];for(let o of Object.keys(n.children))o==="primary"?s.unshift(o):s.push(o);return T(s).pipe(ft(o=>{let u=n.children[o],a=Gn(t,o);return this.processSegmentGroup(r,a,u,o,i)}),ur((o,u)=>(o.push(...u),o)),ce(null),ar(),O(o=>{if(o===null)return rt(n);let u=pn(o);return Pi(u),f(u)}))}processSegment(r,t,n,i,s,o,u){return T(t).pipe(ft(a=>this.processSegmentAgainstRoute(a._injector??r,t,a,n,i,s,o,u).pipe(J(c=>{if(c instanceof Dt)return f(null);throw c}))),H(a=>!!a),J(a=>{if(hn(a))return Ei(n,i,s)?f(new We):rt(n);throw a}))}processSegmentAgainstRoute(r,t,n,i,s,o,u,a){return N(n)!==o&&(o===p||!ne(i,s,n))?rt(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,s,o,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,t,n,s,o,a):rt(i)}expandSegmentAgainstRouteUsingRedirect(r,t,n,i,s,o,u){let{matched:a,parameters:c,consumedSegments:h,positionalParamSegments:d,remainingSegments:y}=fn(t,i,s);if(!a)return rt(t);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>xi&&(this.allowRedirects=!1));let j=new st(s,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Fr(i),N(i),i.component??i._loadedComponent??null,i,qr(i)),S=Yt(j,u,this.paramsInheritanceStrategy);j.params=Object.freeze(S.params),j.data=Object.freeze(S.data);let q=this.applyRedirects.applyRedirectCommands(h,i.redirectTo,d,j,r);return this.applyRedirects.lineralizeSegments(i,q).pipe(O(U=>this.processSegment(r,n,t,U.concat(y),o,!1,u)))}matchSegmentAgainstRoute(r,t,n,i,s,o){let u=Ii(t,n,i,r,this.urlSerializer);return n.path==="**"&&(t.children={}),u.pipe(x(a=>a.matched?(r=n._injector??r,this.getChildConfig(r,n,i).pipe(x(({routes:c})=>{let h=n._loadedInjector??r,{parameters:d,consumedSegments:y,remainingSegments:j}=a,S=new st(y,d,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Fr(n),N(n),n.component??n._loadedComponent??null,n,qr(n)),q=Yt(S,o,this.paramsInheritanceStrategy);S.params=Object.freeze(q.params),S.data=Object.freeze(q.data);let{segmentGroup:U,slicedSegments:ht}=zr(t,y,j,c);if(ht.length===0&&U.hasChildren())return this.processChildren(h,c,U,S).pipe(m(xt=>new A(S,xt)));if(c.length===0&&ht.length===0)return f(new A(S,[]));let Cn=N(n)===s;return this.processSegment(h,c,U,ht,Cn?p:s,!0,S).pipe(m(xt=>new A(S,xt instanceof A?[xt]:[])))}))):rt(t)))}getChildConfig(r,t,n){return t.children?f({routes:t.children,injector:r}):t.loadChildren?t._loadedRoutes!==void 0?f({routes:t._loadedRoutes,injector:t._loadedInjector}):Ri(r,t,n,this.urlSerializer).pipe(O(i=>i?this.configLoader.loadChildren(r,t).pipe(R(s=>{t._loadedRoutes=s.routes,t._loadedInjector=s.injector})):bi(t))):f({routes:[],injector:r})}};function Pi(e){e.sort((r,t)=>r.value.outlet===p?-1:t.value.outlet===p?1:r.value.outlet.localeCompare(t.value.outlet))}function Ni(e){let r=e.value.routeConfig;return r&&r.path===""}function pn(e){let r=[],t=new Set;for(let n of e){if(!Ni(n)){r.push(n);continue}let i=r.find(s=>n.value.routeConfig===s.value.routeConfig);i!==void 0?(i.children.push(...n.children),t.add(i)):r.push(n)}for(let n of t){let i=pn(n.children);r.push(new A(n.value,i))}return r.filter(n=>!t.has(n))}function Fr(e){return e.data||{}}function qr(e){return e.resolve||{}}function ji(e,r,t,n,i,s){return O(o=>Ui(e,r,t,n,o.extractedUrl,i,s).pipe(m(({state:u,tree:a})=>I(l({},o),{targetSnapshot:u,urlAfterRedirects:a}))))}function $i(e,r){return O(t=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=t;if(!i.length)return f(t);let s=new Set(i.map(a=>a.route)),o=new Set;for(let a of s)if(!o.has(a))for(let c of gn(a))o.add(c);let u=0;return T(o).pipe(ft(a=>s.has(a)?Li(a,n,e,r):(a.data=Yt(a,a.parent,e).resolve,f(void 0))),R(()=>u++),le(1),O(a=>u===o.size?f(t):V))})}function gn(e){let r=e.children.map(t=>gn(t)).flat();return[e,...r]}function Li(e,r,t,n){let i=e.routeConfig,s=e._resolve;return i?.title!==void 0&&!an(i)&&(s[Ot]=i.title),ki(s,e,r,n).pipe(m(o=>(e._resolvedData=o,e.data=Yt(e,e.parent,t).resolve,null)))}function ki(e,r,t,n){let i=be(e);if(i.length===0)return f({});let s={};return T(i).pipe(O(o=>_i(e[o],r,t,n).pipe(H(),R(u=>{if(u instanceof Mt)throw Jt(new Rt,u);s[o]=u}))),le(1),or(s),J(o=>hn(o)?V:dt(o)))}function _i(e,r,t,n){let i=Et(r)??n,s=lt(e,i),o=s.resolve?s.resolve(r,t):k(i,()=>s(r,t));return W(o)}function Se(e){return x(r=>{let t=e(r);return t?T(t).pipe(m(()=>r)):f(r)})}var vn=(()=>{class e{buildTitle(t){let n,i=t.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(s=>s.outlet===p);return n}getResolvedTitleForRoute(t){return t.data[Ot]}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:()=>g(zi),providedIn:"root"})}}return e})(),zi=(()=>{class e extends vn{constructor(t){super(),this.title=t}updateTitle(t){let n=this.buildTitle(t);n!==void 0&&this.title.setTitle(n)}static{this.\u0275fac=function(n){return new(n||e)(de(Nr))}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Ye=new $("",{providedIn:"root",factory:()=>({})}),Fi=(()=>{class e{static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=dr({type:e,selectors:[["ng-component"]],standalone:!0,features:[Tr],decls:1,vars:0,template:function(n,i){n&1&&br(0,"router-outlet")},dependencies:[Kn],encapsulation:2})}}return e})();function Xe(e){let r=e.children&&e.children.map(Xe),t=r?I(l({},e),{children:r}):l({},e);return!t.component&&!t.loadComponent&&(r||t.loadChildren)&&t.outlet&&t.outlet!==p&&(t.component=Fi),t}var Je=new $(""),qi=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=g(ve)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return f(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);let n=W(t.loadComponent()).pipe(m(mn),R(s=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=s}),Nt(()=>{this.componentLoaders.delete(t)})),i=new oe(n,()=>new B).pipe(se());return this.componentLoaders.set(t,i),i}loadChildren(t,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return f({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let s=Bi(n,this.compiler,t,this.onLoadEndListener).pipe(Nt(()=>{this.childrenLoaders.delete(n)})),o=new oe(s,()=>new B).pipe(se());return this.childrenLoaders.set(n,o),o}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Bi(e,r,t,n){return W(e.loadChildren()).pipe(m(mn),O(i=>i instanceof Rr||Array.isArray(i)?f(i):T(r.compileModuleAsync(i))),m(i=>{n&&n(e);let s,o,u=!1;return Array.isArray(i)?(o=i,u=!0):(s=i.create(t).injector,o=s.get(Je,[],{optional:!0,self:!0}).flat()),{routes:o.map(Xe),injector:s}}))}function Vi(e){return e&&typeof e=="object"&&"default"in e}function mn(e){return Vi(e)?e.default:e}var tr=(()=>{class e{static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:()=>g(Hi),providedIn:"root"})}}return e})(),Hi=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,n){return t}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Wi=new $("");var Gi=new $(""),Qi=(()=>{class e{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new B,this.transitionAbortSubject=new B,this.configLoader=g(qi),this.environmentInjector=g($t),this.urlSerializer=g(Ke),this.rootContexts=g(ee),this.location=g(zt),this.inputBindingEnabled=g(re,{optional:!0})!==null,this.titleStrategy=g(vn),this.options=g(Ye,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=g(tr),this.createViewTransition=g(Wi,{optional:!0}),this.navigationErrorHandler=g(Gi,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>f(void 0),this.rootComponentType=null;let t=i=>this.events.next(new xe(i)),n=i=>this.events.next(new Pe(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=t}complete(){this.transitions?.complete()}handleNavigationRequest(t){let n=++this.navigationId;this.transitions?.next(I(l(l({},this.transitions.value),t),{id:n}))}setupNavigations(t,n,i){return this.transitions=new D({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:yt,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(s=>s.id!==0),m(s=>I(l({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),x(s=>{let o=!1,u=!1;return f(s).pipe(x(a=>{if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",M.SupersededByNewNavigation),V;this.currentTransition=s,this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?I(l({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),h=a.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!c&&h!=="reload"){let d="";return this.events.next(new Z(a.id,this.urlSerializer.serialize(a.rawUrl),d,De.IgnoredSameUrlNavigation)),a.resolve(!1),V}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return f(a).pipe(x(d=>{let y=this.transitions?.getValue();return this.events.next(new wt(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),y!==this.transitions?.getValue()?V:Promise.resolve(d)}),ji(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),R(d=>{s.targetSnapshot=d.targetSnapshot,s.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation=I(l({},this.currentNavigation),{finalUrl:d.urlAfterRedirects});let y=new Qt(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(y)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:d,extractedUrl:y,source:j,restoredState:S,extras:q}=a,U=new wt(d,this.urlSerializer.serialize(y),j,S);this.events.next(U);let ht=sn(this.rootComponentType).snapshot;return this.currentTransition=s=I(l({},a),{targetSnapshot:ht,urlAfterRedirects:y,extras:I(l({},q),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=y,f(s)}else{let d="";return this.events.next(new Z(a.id,this.urlSerializer.serialize(a.extractedUrl),d,De.IgnoredByUrlHandlingStrategy)),a.resolve(!1),V}}),R(a=>{let c=new Te(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),m(a=>(this.currentTransition=s=I(l({},a),{guards:ei(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),s)),di(this.environmentInjector,a=>this.events.next(a)),R(a=>{if(s.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw Jt(this.urlSerializer,a.guardsResult);let c=new Oe(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",M.GuardRejected),!1)),Se(a=>{if(a.guards.canActivateChecks.length)return f(a).pipe(R(c=>{let h=new Ee(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(h)}),x(c=>{let h=!1;return f(c).pipe($i(this.paramsInheritanceStrategy,this.environmentInjector),R({next:()=>h=!0,complete:()=>{h||this.cancelNavigationTransition(c,"",M.NoDataFromResolver)}}))}),R(c=>{let h=new Ue(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(h)}))}),Se(a=>{let c=h=>{let d=[];h.routeConfig?.loadComponent&&!h.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(h.routeConfig).pipe(R(y=>{h.component=y}),m(()=>{})));for(let y of h.children)d.push(...c(y));return d};return Pt(c(a.targetSnapshot.root)).pipe(ce(null),tt(1))}),Se(()=>this.afterPreactivation()),x(()=>{let{currentSnapshot:a,targetSnapshot:c}=s,h=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return h?T(h).pipe(m(()=>s)):f(s)}),m(a=>{let c=Zn(t.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=s=I(l({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,s}),R(()=>{this.events.next(new It)}),ti(this.rootContexts,t.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),tt(1),R({next:a=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new F(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),lr(this.transitionAbortSubject.pipe(R(a=>{throw a}))),Nt(()=>{!o&&!u&&this.cancelNavigationTransition(s,"",M.SupersededByNewNavigation),this.currentTransition?.id===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),J(a=>{if(u=!0,ln(a))this.events.next(new _(s.id,this.urlSerializer.serialize(s.extractedUrl),a.message,a.cancellationCode)),Jn(a)?this.events.next(new ut(a.url,a.navigationBehaviorOptions)):s.resolve(!1);else{let c=new bt(s.id,this.urlSerializer.serialize(s.extractedUrl),a,s.targetSnapshot??void 0);try{let h=k(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(h instanceof Mt){let{message:d,cancellationCode:y}=Jt(this.urlSerializer,h);this.events.next(new _(s.id,this.urlSerializer.serialize(s.extractedUrl),d,y)),this.events.next(new ut(h.redirectTo,h.navigationBehaviorOptions))}else{this.events.next(c);let d=t.errorHandler(a);s.resolve(!!d)}}catch(h){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(h)}}return V}))}))}cancelNavigationTransition(t,n,i){let s=new _(t.id,this.urlSerializer.serialize(t.extractedUrl),n,i);this.events.next(s),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let t=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return t.toString()!==n?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Ki(e){return e!==yt}var Zi=(()=>{class e{static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:()=>g(Yi),providedIn:"root"})}}return e})(),Qe=class{shouldDetach(r){return!1}store(r,t){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,t){return r.routeConfig===t.routeConfig}},Yi=(()=>{class e extends Qe{static{this.\u0275fac=(()=>{let t;return function(i){return(t||(t=fe(e)))(i||e)}})()}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),yn=(()=>{class e{static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:()=>g(Xi),providedIn:"root"})}}return e})(),Xi=(()=>{class e extends yn{constructor(){super(...arguments),this.location=g(zt),this.urlSerializer=g(Ke),this.options=g(Ye,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=g(tr),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new z,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=sn(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(n=>{n.type==="popstate"&&t(n.url,n.state)})}handleRouterEvent(t,n){if(t instanceof wt)this.stateMemento=this.createStateMemento();else if(t instanceof Z)this.rawUrlTree=n.initialUrl;else if(t instanceof Qt){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let i=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl(n.targetBrowserUrl??i,n)}}else t instanceof It?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(n.targetBrowserUrl??this.rawUrlTree,n)):t instanceof _&&(t.code===M.GuardRejected||t.code===M.NoDataFromResolver)?this.restoreHistory(n):t instanceof bt?this.restoreHistory(n,!0):t instanceof F&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,n){let i=t instanceof z?this.urlSerializer.serialize(t):t;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let s=this.browserPageId,o=l(l({},n.extras.state),this.generateNgRouterState(n.id,s));this.location.replaceState(i,"",o)}else{let s=l(l({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",s)}}restoreHistory(t,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,s=this.currentPageId-i;s!==0?this.location.historyGo(s):this.currentUrlTree===t.finalUrl&&s===0&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,n){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:n}:{navigationId:t}}static{this.\u0275fac=(()=>{let t;return function(i){return(t||(t=fe(e)))(i||e)}})()}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),vt=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(vt||{});function Ji(e,r){e.events.pipe(X(t=>t instanceof F||t instanceof _||t instanceof bt||t instanceof Z),m(t=>t instanceof F||t instanceof Z?vt.COMPLETE:(t instanceof _?t.code===M.Redirect||t.code===M.SupersededByNewNavigation:!1)?vt.REDIRECTING:vt.FAILED),X(t=>t!==vt.REDIRECTING),tt(1)).subscribe(()=>{r()})}function ts(e){throw e}var es={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},rs={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},ie=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=g(Or),this.stateManager=g(yn),this.options=g(Ye,{optional:!0})||{},this.pendingTasks=g(vr),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=g(Qi),this.urlSerializer=g(Ke),this.location=g(zt),this.urlHandlingStrategy=g(tr),this._events=new B,this.errorHandler=this.options.errorHandler||ts,this.navigated=!1,this.routeReuseStrategy=g(Zi),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=g(Je,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!g(re,{optional:!0}),this.eventsSubscription=new er,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,s=this.navigationTransitions.currentNavigation;if(i!==null&&s!==null){if(this.stateManager.handleRouterEvent(n,s),n instanceof _&&n.code!==M.Redirect&&n.code!==M.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof F)this.navigated=!0;else if(n instanceof ut){let o=n.navigationBehaviorOptions,u=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),a=l({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Ki(i.source)},o);this.scheduleNavigation(u,yt,null,a,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}is(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),yt,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,n)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",n)},0)})}navigateToSyncWithBrowser(t,n,i){let s={replaceUrl:!0},o=i?.navigationId?i:null;if(i){let a=l({},i);delete a.navigationId,delete a.\u0275routerPageId,Object.keys(a).length!==0&&(s.state=a)}let u=this.parseUrl(t);this.scheduleNavigation(u,n,o,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Xe),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,n={}){let{relativeTo:i,queryParams:s,fragment:o,queryParamsHandling:u,preserveFragment:a}=n,c=a?this.currentUrlTree.fragment:o,h=null;switch(u??this.options.defaultQueryParamsHandling){case"merge":h=l(l({},this.currentUrlTree.queryParams),s);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=s||null}h!==null&&(h=this.removeEmptyProps(h));let d;try{let y=i?i.snapshot:this.routerState.snapshot.root;d=tn(y)}catch{(typeof t[0]!="string"||t[0][0]!=="/")&&(t=[]),d=this.currentUrlTree.root}return en(d,t,h,c??null)}navigateByUrl(t,n={skipLocationChange:!1}){let i=K(t)?t:this.parseUrl(t),s=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(s,yt,null,n)}navigate(t,n={skipLocationChange:!1}){return ns(t),this.navigateByUrl(this.createUrlTree(t,n),n)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.urlSerializer.parse("/")}}isActive(t,n){let i;if(n===!0?i=l({},es):n===!1?i=l({},rs):i=n,K(t))return jr(this.currentUrlTree,t,i);let s=this.parseUrl(t);return jr(this.currentUrlTree,s,i)}removeEmptyProps(t){return Object.entries(t).reduce((n,[i,s])=>(s!=null&&(n[i]=s),n),{})}scheduleNavigation(t,n,i,s,o){if(this.disposed)return Promise.resolve(!1);let u,a,c;o?(u=o.resolve,a=o.reject,c=o.promise):c=new Promise((d,y)=>{u=d,a=y});let h=this.pendingTasks.add();return Ji(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(h))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:s,resolve:u,reject:a,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function ns(e){for(let r=0;r<e.length;r++)if(e[r]==null)throw new w(4008,!1)}function is(e){return!(e instanceof It)&&!(e instanceof ut)}var Br=(()=>{class e{constructor(t,n,i,s,o,u){this.router=t,this.route=n,this.tabIndexAttribute=i,this.renderer=s,this.el=o,this.locationStrategy=u,this.href=null,this.onChanges=new B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1,this.routerLinkInput=null;let a=o.nativeElement.tagName?.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=t.events.subscribe(c=>{c instanceof F&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){t==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(K(t)?this.routerLinkInput=t:this.routerLinkInput=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0"))}onClick(t,n,i,s,o){let u=this.urlTree;if(u===null||this.isAnchorElement&&(t!==0||n||i||s||o||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let t=this.urlTree;this.href=t!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t)):null;let n=this.href===null?null:mr(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(t,n){let i=this.renderer,s=this.el.nativeElement;n!==null?i.setAttribute(s,t,n):i.removeAttribute(s,t)}get urlTree(){return this.routerLinkInput===null?null:K(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static{this.\u0275fac=function(n){return new(n||e)(P(ie),P(Y),pr("tabindex"),P(ge),P(pe),P(me))}}static{this.\u0275dir=jt({type:e,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&Ir("click",function(o){return i.onClick(o.button,o.ctrlKey,o.shiftKey,o.altKey,o.metaKey)}),n&2&&wr("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",_t],skipLocationChange:[2,"skipLocationChange","skipLocationChange",_t],replaceUrl:[2,"replaceUrl","replaceUrl",_t],routerLink:"routerLink"},standalone:!0,features:[Cr,Lt]})}}return e})(),Qs=(()=>{class e{get isActive(){return this._isActive}constructor(t,n,i,s,o){this.router=t,this.element=n,this.renderer=i,this.cdr=s,this.link=o,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new et,this.routerEventsSubscription=t.events.subscribe(u=>{u instanceof F&&this.update()})}ngAfterContentInit(){f(this.links.changes,f(null)).pipe(ae()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let t=[...this.links.toArray(),this.link].filter(n=>!!n).map(n=>n.onChanges);this.linkInputChangesSubscription=T(t).pipe(ae()).subscribe(n=>{this._isActive!==this.isLinkActive(this.router)(n)&&this.update()})}set routerLinkActive(t){let n=Array.isArray(t)?t:t.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let t=this.hasActiveLinks();this.classes.forEach(n=>{t?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),t&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.isActiveChange.emit(t))})}isLinkActive(t){let n=ss(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let s=i.urlTree;return s?t.isActive(s,n):!1}}hasActiveLinks(){let t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static{this.\u0275fac=function(n){return new(n||e)(P(ie),P(pe),P(ge),P(kt),P(Br,8))}}static{this.\u0275dir=jt({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,s){if(n&1&&Ar(s,Br,5),n&2){let o;Mr(o=Dr())&&(i.links=o)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Lt]})}}return e})();function ss(e){return!!e.paths}var os=new $("");function Ks(e,...r){return fr([{provide:Je,multi:!0,useValue:e},[],{provide:Y,useFactory:as,deps:[ie]},{provide:Ur,multi:!0,useFactory:cs},r.map(t=>t.\u0275providers)])}function as(e){return e.routerState.root}function us(e,r){return{\u0275kind:e,\u0275providers:r}}function cs(){let e=g(gr);return r=>{let t=e.get(xr);if(r!==t.components[0])return;let n=e.get(ie),i=e.get(ls);e.get(hs)===1&&n.initialNavigation(),e.get(ds,null,he.Optional)?.setUpPreloading(),e.get(os,null,he.Optional)?.init(),n.resetRootComponentType(t.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ls=new $("",{factory:()=>new B}),hs=new $("",{providedIn:"root",factory:()=>1});var ds=new $("");function Zs(){return us(8,[_r,{provide:re,useExisting:_r}])}export{Y as a,Kn as b,ie as c,Br as d,Qs as e,Ks as f,Zs as g};
|