From e261cb22848d18e779862f0d7cd079ec039820e7 Mon Sep 17 00:00:00 2001 From: N00MKRAD Date: Wed, 16 Dec 2020 11:34:54 +0100 Subject: [PATCH] Updates Joey's ESRGAN with auto-tiling --- Code/Main/MainForm.Designer.cs | 2 +- Code/Main/MainForm.cs | 2 ++ Code/OS/ESRGAN.cs | 19 ++++++++++++------- Code/Resources/shipped-files-version.txt | 1 + Installer Files/esrgan.7z | Bin 27678 -> 24531 bytes Installer Files/shipped-files-version.txt | 1 + 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Code/Main/MainForm.Designer.cs b/Code/Main/MainForm.Designer.cs index 1114391..b8c81f3 100644 --- a/Code/Main/MainForm.Designer.cs +++ b/Code/Main/MainForm.Designer.cs @@ -1000,7 +1000,7 @@ private void InitializeComponent() this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(364, 34); this.label5.TabIndex = 1; - this.label5.Text = "Cupscale [Build 33 - 12/14/20]"; + this.label5.Text = "Cupscale [Build 33 - 12/16/20]"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // panel7 diff --git a/Code/Main/MainForm.cs b/Code/Main/MainForm.cs index 74f8632..02a44da 100644 --- a/Code/Main/MainForm.cs +++ b/Code/Main/MainForm.cs @@ -630,6 +630,8 @@ public void LoadEsrganOptions () private void tilesize_SelectedIndexChanged(object sender, EventArgs e) { SaveEsrganOptions(); + if(initialized && Config.GetInt("esrganVer") == 0) + Program.ShowMessage("Tiling is now automatic when using Joey's ESRGAN. The tile size option will soon be removed."); } private void alpha_CheckedChanged(object sender, EventArgs e) diff --git a/Code/OS/ESRGAN.cs b/Code/OS/ESRGAN.cs index a8cea84..f3435ab 100644 --- a/Code/OS/ESRGAN.cs +++ b/Code/OS/ESRGAN.cs @@ -35,7 +35,7 @@ public static async Task DoUpscale(string inpath, string outpath, ModelData mdl, } else { - Program.mainForm.SetProgress(4f, "Starting ESRGAN..."); + Program.mainForm.SetProgress(2f, "Starting ESRGAN..."); File.Delete(Paths.progressLogfile); string modelArg = GetModelArg(mdl, useJoey); if (useJoey) @@ -201,19 +201,19 @@ public static async Task RunJoey(string inpath, string outpath, string modelArg, string deviceStr = ""; if (Config.Get("cudaFallback").GetInt() == 1 || Config.Get("cudaFallback").GetInt() == 2) deviceStr = "--cpu"; - string seamStr = ""; + string seamStr = "--seamless "; switch (Config.Get("seamlessMode").GetInt()) { - case 1: seamStr = "--seamless"; break; - case 2: seamStr = "--mirror"; break; - case 3: seamStr = "--replicate"; break; - case 4: seamStr = "--alpha_padding"; break; + case 1: seamStr += "tile"; break; + case 2: seamStr += "mirror"; break; + case 3: seamStr += "replicate"; break; + case 4: seamStr += "alpha_pad"; break; } string opt = stayOpen ? "/K" : "/C"; string cmd = $"{opt} cd /D {Paths.esrganPath.Wrap()} & "; - cmd += $"{EmbeddedPython.GetPyCmd()} upscale.py --input {inpath} --output {outpath} {deviceStr} {seamStr} --tile_size {tilesize} {alphaStr} {modelArg}".TrimWhitespaces(); + cmd += $"{EmbeddedPython.GetPyCmd()} upscale.py --input {inpath} --output {outpath} {deviceStr} {seamStr} {alphaStr} {modelArg}".TrimWhitespaces(); Logger.Log("[CMD] " + cmd); Process esrganProcess = OSUtils.NewProcess(!showWindow); @@ -290,6 +290,11 @@ private static async Task UpdateProgressFromFile() if (outStr == lastProgressString) return; lastProgressString = outStr; + if(outStr.Contains("Applying model") || outStr.Contains("Upscaling...")) + { + Program.mainForm.SetProgress(5f, "Upscaling..."); + return; + } string text = outStr.Replace("Tile ", "").Trim(); try { diff --git a/Code/Resources/shipped-files-version.txt b/Code/Resources/shipped-files-version.txt index 980abc0..1bcc324 100644 --- a/Code/Resources/shipped-files-version.txt +++ b/Code/Resources/shipped-files-version.txt @@ -1,3 +1,4 @@ +14 # joey's esrgan update, auto-tiling 13 # new h265 supporting ffmpeg exe 12 # joey's esrgan update, fix chaining 11 # added joey's esrgan to fix seams with esrl code diff --git a/Installer Files/esrgan.7z b/Installer Files/esrgan.7z index 9d33cb06eb035a7710c6326e44a550dda4b9c954..625e67448c58065ae19bb40e3b61ca9e4670c79d 100644 GIT binary patch delta 15903 zcmV+)KH$Ng*a6eO0U$Seyssx500cX9C-skC00000001Na00000005T9iZHPt{SLD( zBLM*fQA`vOvmp-|1b?X^p#t6M8?J*+rZvn5@l53`2XbSq8{IL7fBij(7DPxfPOHgw3xq_#^ejTmW z-ZcDmzpfY8P6a>IS>3c%TIhTzdNY{n6D=f=aX6tqD+5Q)Wq+lWAF&cR?DSdnTHL^b z17ya`kzyQWxPu~w$$(7;mG|7ZNc%Fj6EuL!khASv>nH*-L|t&9Thy`l#jmTN=I3kV z1;7xC%4R@mY0`e;1rR$53;lhcFKv4B&*HY9rQ#?|)!u}E<&s|T#7VTw6H~i*``pB5 zewJ!{^%!F#+JAk^=b|!hjcptw$FD#qpq+W&cwRb zQO5DRO;c?C^2EmVj)A8e1JFg*1U>kzKY(B4md zTeL$P^;qxt(f*|z*s5N&YM7p|6z7@N2M-lYIQ0XdA%96xn4J-ljfF-XM+V|vJft*z zr;?Q#`u?wyC`Akxwr=;`nUM8Ipo0=nW`|l%9wCi1_bp|5=hE&fW+ZkAsgGhcdWdbK zuzwS8RUR$c>NrZA0esO6m}J9s242*Y_B3Uk>7T|SKhHMWjur)cVE!z4GKPkCkqS~^ z(bc2pbbplm4gh49RYK20!{3V2j!$XE?w@8cf@Nl*w$g%RmJ)5aMisVOovedHU$<5w zTx#ZMjJ5ku4@BLuF%}=dN_ffq8qX@tmIvc`r96c}&hRnrMqgmDUK~3SS*AXZE3I`p zJoKpubwam&OG3&lh1CaPRT&M)R{4?gr)yXN7k>|4!XN>*l;HJ|n2^GDr{5|V<|}s3 za$9OfMU;>f8d@Yw3~!vTRd-bu55pp^giK>;B=9+4p@jS9q=fuPok2+{rm65d=d*;w zG+H2}!EUQ8R|_S5S1{Y+7x&q8#thDSe&k=6`_kLmW0f{hfUYm_vTe6K0M+Euhhm09 zNq>@qm{DJt-#nbUrA1Xa_w`@Hr!yP@0d*$yzuwg#Qr3b2HP_5(_>UjOfWsI@kz!bZ zHA4KC4TlNtjL+qT3uo}MRp4zf;U+77-rQ>c$avRe5(H9=z7i_QN=jZxptUU~xqAaX zu5@8Ge#s()R;Xbj=Uuqhv|snoq(U5{@qg=maZtr%&5h2x`LVC`X#5_{_(uV!Ivw{9 ztJs>RaM#d_$kS_R$cVc1`=I#pt=n$yHyXbC@0RaJI#LUq2aI!TJ-MzE9T!^!E~nMN z3=AEdV;Douj<(_q<}HT&U36Q6f;t4D0iC4ZHWHxBZVlgOz5r_{IO;QRv49m{G=Gb> z$6G{1pgy~J=(OBMvQYZL)Ru!y4IcDnihH&r0Ksfw3w8ZlT;ga_h=W#1?Z1_3&a8&mEa!!YA%^9MJ0Dm2?xr$_L7p z58GAh%|+Q93wC&)rigAYjLYMJl^45sEUmTUv|6T+nZYO(^~gmpt$ZkU+s z>$YSS-h9|D;ij)=Uyt-aIDgUB%c}!awK$uG2bNl9e<6-ha8@xW`sNO=x~iM+MqdON z$v?jDpKX~&i15n(-@J6u95JsDqsg6^Sr2`A&i9K3Lk!Hu1#%ZO4H_GS)k!7vdByr@ z5)+3GoSd!;>r-=2B@rCaaG;@-Qkue;Ci94Gy7z;hkUWoU$F(Ea^?(0TUnHpakoZ5p zq8LTYThRagCyOjowkG8TJD9rgUCjzoAO+05GsMH64OQ=-OnE9(6xB9dv>n4`rn71) z*T^|vMDOFjQVpXW04aKMs~*Y}@0fx$YVhWcMF6EaY70j)r3FPz zd|T(q?;V^v^Vh|R?0@x(IW)SibfYU1tC6Ak(p>IetO_&T^jnQiB4r$2>(?O|G?eXv zW<}Bw7~Rdb8Urbm@q8TuSp!%`u%07bWMd;Ce!1}Tf^7oKO30yL0WEMb1$_WT;FKrI z7$WO&_LPj);lX-+%aK!IGR-M|szASTtHo zuVy0=bYPLwKV*ebQCeOtrx)KYV+jS_D61B&TP_t2*kYPeY-90*0qc~0Z#&spt+ZZY zA*;9Dxy7Yb2sWf9(5<@rnB4^U>u*S)0$6}Gu%#_(;1(qyy3mdb!89;s*oI@vZINg zj#j2$41XAUsm&@W+@SKaxU8~0M@bQAnBQCbWl(AgHUkjSVt*cNf-Z5rsZ+i;$tu;J zF{<#AW^H)#>nc80pBMVY$C2u`Z^*QWX_ z+POi9A9gN)s?xe+hPYP_q}$41xf0x_f|h9c{PGsqnjoUr1yt zhXkxdErU=vHbJ1zF=MdA?aNAMQdxC^GrrlZ8EEC{Gi}<+Rp~9HPY0t7{ny>f#}TRM zCBUK0-jNtO%FnA;0)&_37b!^=4yi=XXMg5hIA}!SpA)Q)zDeoTc==2UW z&pY=3*_7VgH<3Idi zpTSh`dI7D+bdZbD1S1f+#vk7s34V>NT+pB_k*!+UjSFOLBxUx9<>gUedp96Q!i>x2 z&n#jJzYgIk!XzTNnYgGN?g8o&We%se%0tims$ zoj6H?#W{2QiwFN~CN1Hk5-Ns36?C-)`J(slrem=HR1zM2T^lH)C1ukthw5;=ILlU8 z5Yv;D@0+bo_*A{X;kp^pL)YD_9n~hSrymOQ+{zz*Xchm&N+7NW!GHV8)K;N^f$?7# zRQlWYuJk0M`m~Urr_jzpufupQgXD)bSWq&lcser$# zwEN{)_kez=od+ghcq?#cZ)`pHGGOw=A~xVNl}Oah%Ny9}jSH0FTVSe#!I$ty)9BU( zaJVg;S-L<2tXvR#Vfg+M==|9#+#};m(jMa!I?OYtI38N7vwx}zpN^3WQj!~00412U z4o$J_N<*JaNU6U`BvUS&>ca95Iyf_uqSbeDtewwwh&3%>xKzn5Xns-IfdPQA0^1xB zQ9@}^Gv^me(cPGILX{lnW2KJ`gxjB9kg46OK>n_t$PChA*bU3&!NNtUN?oCTp z+c4jlgX4a8G;QYv5sxXtW=fx;gW$rXwL6kt42Tp2P1qv9J8P^GVZqiCk&t0o@Nx}l zq`uOWa(~7H2>?#Rw;kWa59lNx5EA+6;h$PVj`)jO@b`|tO@ z;-#eG@qZu2IIjl^P$J8!=(6?jEM)WDBRj95jTRGcR@1eW&6%LCxC-clYc+HmhZcb6+C-DGIl(u{Ws3PCsLe1 z=WqYHlib1xfB#EUW?KveeQV2&I| zZ3FkQe)NBrLD+^mJ~nJ4SLlkp+lI7Vzyk*5<>FzSAlv3MA)h;8%KS>#nLD6+I50JJ z6RfPAQKi~-4BD(okQTx2fsm#tns`&}iW5m4;xJ5h{@ju>&3cEo>TM9w_K_v)>O1sZX!!yhKe>TAiE zt0KCdJR;Y3?|#Nt1<6bNo9P#0C|-aDO0r^bS~q?rY)O(1lN&a+nmw<1p<6mimAD>v z4G1hjL=VrR-s5r)x?U^Z!~>B;>82ATb=%GPfXj_GNGSgaT!93PhI0SSdZ!a6zXbUr zzPx`HIQhKMam2n{E z_tQQiT_yt4gwG743E!C1EQmx>mKp0G1Gs;Ffo0G)p8h^~G2D~?oe1wZW4*Ix|oC@UmzO?BA2Xe=_J#ra{Lu7Z1=plcc zrul=f`$5}rVLN+C*Y58Pqt*XmyERwha@VQb?BS4_5;{fU4FJ=2)ye16DneV%`Y9)4?> zxL|QMaj{0wPqL4n@7~hQ3>rO9-t~mClfbQOJ-Zi2k^%0UL?#i6ck84mZhwaU^Cg;> zsqFt>7PNdCAsVsVRrzS(8A=xNd*Hhk_x7eJVE5<18Wp>}D@$(*;@AM}XX}tl?@RK(73) z^b8ogchGoAWxxa@c&pDMcaF?b!td6`P7R?>Fd*C9+wMbTl<}rC4CjEt70wCVPD$&b zS1pN5c=i?fK^3V$dN{1b3ti9sSTCRd(aZWc5nujB`auh1+kpsMPw#&_M^Q+ML4`Mj z*S1BA>ecce;aLKy4?eihes#!p3!V8?l~OC8B-BwX2YEy)l**wut{FY{TW5!#kqX6@ zOyMkyRwa-X<34v_t{$uRQub&oV->HX06mZg4;Yr7v4|94^{WTox5#%$0pAErP*t8t z4O1WQnDzqZTbCfA<-vcCi-i0jFC$DPU-?uPrbpKXmDL>kn1;RYVTM8>rvL4xiWW>P z$4XPu_xVFVAeh@8L-z&;>*y^3-sy z?cwsCYgrlHG$(*zq}%rgM~?0Y<+6vm-!Ikv@yM<=+Cvm?%JzR@eU!-hV|DO+In2N` zU(y>i1y=;DC&u%3)7pDUHK9kQ{h2bMyCuBOQnxLKE^e z3%3F0Raz>c1qFZqvW6Qe)y4DUwR^xq6oe>KE?wdOclgTp#`H?s)IkLY3c%5I7G9GJ ztp<%BwX}gzXiqqBO88U~b<6L#7#f0Zv&~&oMWJG)I0rYT|x)NiVi5Pzjey+okgx*|0FYpIUwkVmj z$7k52oRyxwV8HTPt!J0je%ei zsAc;#o8)4jeusj~P%-dD!fmrEN``+X>SD7!1+PqA*Mxq;U*gPq;rp$DHRr2?xnoKG zHKHaYhTCn-UE0QTPIgTHDV`L~Qw(z<^G=(yAxPltgM0Q@3V z88>9TvU5DF80e7EQ0uFM{hcl>Fs_`Sz)U5fG@^fi#Nlioat6QFr?c8+I)J!RtmImK zSVJerxn3NkOIlXGcM%UJ$*+%}vnZ~8m>Kvp)cDQt>1~Gj0t}ozjo)(rC?#;Jvv8-F zUHV)4bW@rZ)qs1g{_V30Xqn_{wM1B_SlRVaT zHLFP0v(AMa9q!ARH(-uipvRg{u4<;#TfTox4hZF>ESDnE4x}d7l;P)M=kSr6B~`3x zehe3>58RpUO@-G(U9ORond^r^jz@!5G+1=@`^stF`pBr}o%ar`;mqyZ2)LY{rCJzN zHA_~9-T3HMp|3s#m=izQHD)UM%##Iy4mk5BV*ESDT;V+rqJR=})l9&X%)iwO2KVS3wRhW;HG4aNtaFB^0}& zzX3rXufw;TaqYaN1jq(DO=*9D+`2gOPg-r6(xCmI3MR;zTw?T#MC$|zfZEKzSQP?M zo?1}~JxWlLyYJ01ko}d9u!_AQDJ>&!)C^j7P!-V5GKPVEl8$xAk8Ke*Xw~*5-LSn*wOQ+#G!W|XEN-CZQ_n%;<{~86*db)qi_5m53^zfaY zwj!Daz+2JzZbu8sN<jMb`HG@%j%&1xw=wUn-!vNlNev&e${`+LMxaQ>5>9Gt>2uD zn~7tX#L8HJ;K7l*9XlYFD49O?3lL^8(ocRTDV!Pt?;b?*HQdj)$R>uQD#vzF-s97d zy?y^THS#E4>s-4aA1}y#qGY&IbLh`(q&yr5(3>}!f*rHy@OTBhY{&%wV4a<<-``A^ z;(STI_rSo0$*uDo0Dd%^J>(E#H~#R?r6glZ%nP||zRh+dR9D;vI^Zf0fl zb$d|wHB)RgWR)9J#v#vDD%(*21LGZx2yo?40=AcUDnPP8iT)cfkP5uE^Cn&tdGA%x zC4~*loJA8<4WfPZD+-?0xeSYHRsjR(-yB%lD=wPX5xIZ7Cv{O_7%$;Uw&**_MdjcMMePzXu4BYid#lLxw;v9Ccu{UY&M63U} z+yTQ=wY51G~x5p33UU*7^9PeFToZwb(JL z?+5x@fcvzx_Y(i06oDfdd~lk?x@cuwFu#Y*<`aLulV-EETyrfT12LhONFCS^A!F*> zv!;-6=_)hFHzm3covqU0N63(xUgLe6Q!;%s?YVi)9)X?p1)Tj*2KG%$O?SC5oviFNhHcmY;T{OL#r?clXh~Qg z#Mf@soN8-v5pEBBk$o1*H1q>aJ*?-%8?0tvK{5eX3E1J%)^d@_CkFu&Ojv!l0oy({ z18Gb+Rl_+~1e}Y{JRvQN?wmh)az*wy$31`lW@g@~46I~0nR+WY%;T3c#5DA$E(NvrAJ?o?&ceO!ON z7<;;&_;$~F4MM*piZqjw6FMEn7J#1)Uu!#{9kC>V^Y?5YeZDCpf+N11W(oTAMQu<2 zHl+DhciVQ9>g_Z=?sLQ~)lvTQbDTChG&C>Z2RN{o*Orxr!oV@l`~cvewJ4BX05qFQ zXSh;4bLY>efv6QFZpPPJpsbbik({$mBmlK7Ga+U9F85A30svEZvTJS42srmhv;doZ2o5N4*K^oefBem18G9w~a0R~D1zzblby}tS?%He;nc7NpH?{XK?QlU=vsS$hKvw*2M ztzl~qBRuoH=-I)&{6IIFFV_droIYaLenm!9Y&d`ObO%T<>L)ZhTo_Q}vznE-nxWDNuIHN+N77F_;+$>#a) zoV_Lr<&*!_zCuT+l|w3D1)5QaWnAYn$BXZi`sOMGM5vzRhxMe-Og{g*76o8A6Wk`` zdtu4#AA1m~NJ!Ee#k1WJ<{q{ye5!7%_gh^R=lWXah!#3 z|A0o#MVFYHtBlMqf?y?WO{%1Pq$p{5m_65@dhR}2D|{( zF0N}WQ9GlaV+oCM=U{_AOajEIDp15>>ggM*zTRMd*Db#J zG{HkJOFQyl-}wC*aS24G-STf#f(KX#T_r88Qc&cpPZI2*x3Z&(TmX37)HOP1?n0~ z%*<-Hf&LJ;wT16hdeGqKTn3haVN}CpTnEix^t-PCSOL`{j-yU9ohj37>6SYv%RrTv zKvT7lWaGn^a|d&H_jkMK6%P6^sCm|@VVMNc8Wg2@ zDIjz3z2JAL1)Lnc(9Jrti&R}T(R5kDfTQxkhO;9#A}{#KBAElUT`ZC3_N4#sz(eju zee;+tf0pLVhDNY|+kqGDYl;2x!~5&|g2JGKW{G|0(&3j)gcE$1_5q_(uGIXCV6Q@BSJ~eYi2Cpm)5*wEQ1D;Isgyc6|_lqHf!No)wY2hgRK$;5W#EP%#p& zzS!*1S|aC-q4$UlrPIeM|5P#w?lyxt%(Z^6hP@5aUo8y7P$yqVV1l;(WoQ=1ked25 z+S96~h`{KTT-H~cYy4jVDfEJpx!9-vs}I|%ZUGw5%2E>7;WqKr0tFtTUTnvoyZiH| zO62q!+Dqhrzf}SC#O~TGgJ+WnOlTCp@T=F#GZGAwEI<^88l+7I0s%n&v99XDK%ugO zv_->_=x#__J_@0Wz-*ZI3!9C{C`j&@-j@O+uU4dCw{hbj9MkuuU4g_R1aUv8vfXd1is|6_%J)lKoIOjg(N2D<)45xMsgw*=AY zgl2~Dk0s#fyO^#Sx{2Jg)q5kHu)B7}wfe%_cve8pi->nQPpzDc!snd{YZQD&MLKQz2b3qEzB`Up;egn;JKWd#9$Nn9IG} zj^9Ur3qQlC|)Zoyyngv1&qrZb-(ymz#c?{iuf`-dD$-Ak4fZn-F^qqG2^rGn6PH|8n z13J})`$L4_*P8KLeUry1+)62W{%9KCzlzFnbo^B4w}1S6hOU{hy=#&T;t^)VzLN() zYe|ZVda!c>n77$#lOJGoieI9X{&zw@AGXHXE_WR)QWcJu&?z3SsbgXi^p)Tce#|g` zWu(8O=zJt;v74Vf1)3iW2uGdU2SppiBGR*+jqCU5h`HTZNQSa7AskND_wo&21GHsJ zR}w>5Ad&D$kH4aX1A=kO2aSb2vYr!_UKi;=S2M&w{mgp851oEmK1k1qqv>ue{xOy= z-_Ndx3ko!(c>pwP)D3$hf{Vc_Je6O6uC6FFS zHL+b6x7EUC1!XGt#_3=Bd2rfzhl-+nAXhz_!jAI({`1SX?scSTw`JgBavB3VLsPka zR6`*(Jw8(9c`Rsd=Nmj-Jp8Fddy53x%x>>n98zX0YYrHgjeO)k+0AoX4(ke~5qP763aS=L>Vu>!0 zuW#|kdh-N^aR-w*IroPvaa-tr1a~uO*>o1+#am26F&1>(^a&x-gZ!{&XbVX$^FtKm zA)=bVaPT1$uf_q+#VkOFh#l$=#s#svZUlGn<`ma&B3gp>5B`c})<=$Uz4(3{_MSg!oqXie zO+YrY)(vw>JbV7Mjk{-7NZ-uuwo!kkmV$I)0qbTTM;OzV_yvPN>G|C&DNUGbctjO6 z0^b$groTBNZnb(xuF4dD`zFJZ@_$DmHjhmSM*Md{Vkko^aM{nO7aLx){+V}?kyR*1 zyly#IS&k<-`OhXoxCxX%a%`ePwn<3 zKyYs^o~dPCOk+BK?*Tb=yVWJd13{$-fLqUAcZN7_SDdIFOdly*A=*!&qeiG)9d; zSzh9gd8h^YpjMNkxk(P_^(x=4D+E@ps({*}lkT=~HE`JMVbGV_?ZT0C8VM6c137-6 z&NWaX!vYPULj#W{s$^^96RqRf0k{G7QG-%ZYc^K%+mPvfkn+$UQO+ z7@TqWZWOkf*iO2&;*X{G{c8V?RzM^FV+m+#WG3hM+Xa(q3^THz-Xm41z&(^MR0|Kq z>;Xl*Pb=(y{S2tW4SUyJGuSjcHb2;kmv{tMqr1l3tzRvo zctYI*=ccX-ARijHYkb#)oWCf<(H(T>h`8eusWR07#%B9WG)Skoc(>{jcLaZ+^f!ng zC8mcNxo<=P7v6x%SIFAo4F|)jAGyORgeLfZ6)u{^P@JbtZHfA`6m1mF$Arv#Xlp$v}%~%q;=YHe$Vh zOVeC)aCPBKD@(WI1!b;qm08}bk9~Q!$Hfh~FvS|*VKq81Y2Hi3G8}IM{SwRxAzM&I zmmBYzOZ#q_R?FGE7`UaOK2mOo=gYht9EN-nM851qpd`Nrk+)D5op^!+jpF2A5p$}8 z9C?qiluWR;0iN?h1!DFu86`Juf!t7kVj}2$?R!#}v@SA#62KG#Dy{FESFrO1WkdS`6h6hk3@AMt}9 zwpq3Z6ojvlfDLu+YAgohYM6E?n(EgY&Nedjk123HD8Rm@*^h-?ZQJG3++mTujfUQr zFiiTpHzfDnCgg+lHLL~1yJ?s-eM$YesPA6gsJCvtc?0;ka6@`s=@jm4_VoMWYvbxk zhBM^52cg&3<%b@cress#@a7?Z?sdP+)HfzY@c2tO$u_(bdoHD#h54e$Ls|Cs8Z>nh z|Hai5PyfzwdniYUGo3vW-Z-lw&X`nwgbA<=Q?Uup$?zK28v#)z83dwedoo>L`~(1- z4ci9a;uY-qF3J7f(*_0JSV4b(r6&bP$h(+u-1&piLpLA#yvFsjLV0L^7_da4en)}_AwkJKa{#lT@qV>#((oD?z z1O(-y2|hka{BxHV;t{)l9oM#w3Cb8gSVW~@8*Sw`K(}m6R3D2#eZfJ##iQKji02*d znSzu@($#<^bw4{132cZLVRmqH((;+^btU;u9qJCJa8-0)T z4$_Y`_?_ho7gFU0dC&n9JOFA5MJAF~pG5+xZoW|DW<8cDe8SwrFf-;PATStkjlZ*^lo*GOk$W9bdfv66WwW65H;M;9 zZa{`xpnyhha^e(O%m#Z>R)zrL4#;LZvqQ%FdccLp$N&7iUvSOApFt@-mhy`xV}Fec z`w^jl-I2eCoOU;ff zVCI@DXuoGA)t?i9FR|KS+E=ww%(N{0_nVbiGn<}6WUKGb=A4GKxQRn(1%en(oQpiO zaR3?LPF9y?)eH90k~~b{6L2=C>N!itkPZf*zPp}u%Yzkv#88JPKR}h*^O%~M02)Qc zEg-nG3C2AJtB8{1MF`TR@tW=9deL5InSG?Sx$M(}gg-dR^Ay}JzlHe$f8bT^PP5=2 zgdV*QuR2G1XIs2r-!`g?ftL$(7ylahH5zeWEun!0%Gg!IXegxSQe?QCt5?d3Gg>(% zF%EwI1otI>{V$MNprveaa2Ck+KH}O^j@XG4uG5*LQ(7sTTHDJ?cR1`(21GO}BaiKD z-b!W|BnRxdX6!yApeK!eok>;`l@VsvXYG;n8^Kk7XfbcMDB7>Q*V8U759&vCRyNc! z@fl$ezWz9&^OSAa05J80sGRmVgih`>@Jfd`kmn6*g#GsR}cI^)^*< z$y_;qXq5*)47I@fg$JaD?Qa%9$Af-aQpsG-*-l_;pYAftA6v{I`No<0SFbeni)9>3 z@dTv6mM$+Ay#Tgm$bixw=}iic&Mb{c6)pSI5*JV7<3@~b9eJYjBm}^hN7>Yg7Rsq3 z;oa>UX2V;`C#p{1CCAbUOOrAqRS;29pbo@;09A=A2%NS>_#}eR|8!^c zQAqD*P((}6g_t(g6pciI;bEWi>=4eX)eK!}j@oZpnCFlM+!#=~g`k)PA$Ol=sde+p z?BNP6PzHD{$8HJM>3=v0W=3fqxNdRqM==H`3$yW4# z5!3Cg?N}N2nWds85#_@d_k1So`u93a5sC!*L|N1+$QLxb1gfWgji<+>3miK8OL$+BsQQ5C%E7f(O6A3obe6|f@ey(ylPj_6Z=ul zTfm2wu;YxCeM2OPU5Ptwokyq1!O4ApbD7#5aB+IcO}Io_%B`YG8lZYRiZ;=>4`(Yf zFqkkTbSYCxp1Ao*MIHIGt>anbt9P)=REyYBynPQtkiCu&nlfK>>l{EMeirSCO8&Yy zc4L139M1!Dmqk|k9$w!a46;m~<~V})RcF&ccqxR|zoEt4PQE55sF7yq&AeuRR6PP9 z897ft#)FLA+A~9h0^N)-D$mQEj>k}O6}dpLG|d#>mg#Rs#|(j`|FhB`Z@?DVJmB+- zrf60BX`S59FcVUjq*g5o?@Z|wvS>U=vSxwVm^lHU8O(C8GYyIrbj?#Is`B0B>)1j+ zy_W_$OBIs#2_C)F%gll26?8g(v|M3&(J@wSI{_#0_s=ToPTF2=XHGf0>>8Pe14{oU zwMq3O>az~|#u5TmjqT7xCHKhPaMs~@DX^Yla^k--jnqoR_&cR%&bPOsY-SXT4!fDz zH>y3U*jfMW3s6{YI@`Y|Fn*E)Z8r0VeC8Eu2w|=vEoz|Kjo$XH28dLD_fTmwi&0m; zN1DS^3vDV<*3zz*Ml`r@VRcnoc_Nml17~so!YrPTiaFfuu*Yhd7dtYlf6hJmx__mI zRe}IDtmCx}=cbzJ0ww=t&tkv9BhPeqF$;k+?{Zr!JL zD+rLf9o{40y{bfMXezURjGIg%2YyY@O3?$F#d!u3-i6bp(#8C z?Pc_I%zf9yme7`LhQNVSa6-=;`eKsGoS@+6-YzcN%_#)q#2)1mqXZw6n1XWS^ z|Ic;cA|?7?HqDS`bQUz7rMh zx|?57q$N<{+Ui(C%l6utTHT}v+C}IRDz~0|UoXy8VnL^WK*ei_Zbl#IK>jt{00M7X zp(V(xA!Ykp7enZFBHf*xm4hL!Nk$m}Jg%(np&?L1L5NT7xyv zC2k!#28ve9AD{avJ%OhfkXa;U-T0GT_$uU{a|Uc!`DdES34RLzLa|NJq9N@F2=2@h zg+W*+>#IzE450`WEpUJQYDPyvxVaP&*NSwp{KA!thLC6Tl8p#R0krSWp0ReyUwG6s zLMj}|Kz<0&$`n#cLQbEcrJrEOOSeAy@CL4>l<`f?2w0!cm0cmaaQQoBfS?)Dw%bKi z1>z67bfUaQ@3sX5K;CN2jsAD1fwem+nF|>R3;kAq|0u{_*!i#lJ`LxA_y6Ng{PZox z zA5n6DMzJe2gI-^(8G*I^bK|GuHEsHLhpWaSJyo?^$ES68L0W5EP>iS~B7MR5p z?Sewe+REU)T@n zb4EzA*-orl#t4wkGvc@79~T^2K{W;1w2Ms2fzKzYDS1V{`jMp9i-gCKco6Xr7Yo~e z3HLdD=h+=gP=KQn;q{L=VDo8@7=sl!8T$kC3JwK!n@DC115fvbihkwS8H&O_*LPn7 z8`ZPHgQ{>TGPS&N00000finlLj+p=Mo2T>Tg>f%!e622k(h%0x`+E1@mi$RUvo0<8 z3b+8_6mAajV2DZ^I4GHD8708j6mYnIluFI*%?Et}6Fru-#2R1f0LduQa9uWnBC(17 z%d;;j_Cbf_O0N;$U=BB@zjeJT3s5TKRGG^c>Ydqmz4TeYhg;Aitj!|oGQ*6a?ir4t zw#0;yWuqU&r3f0Npzgxb&Gm_!vA!KyC11L1`fq6O`Y0v*S$|1z5Am&r=zgt{PIW7 zcV^m2kBrqgt(8;@H~<$0z`tDq34zc62MYlJ0V4we0R>$E5C8xSh0+QEb8MtD008D| B)LsAp delta 19047 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⁣zpw;GRuug$r>GM3CfW3RYh7GwY7`yX>z>>(PAf{3p8c&5T? z0*B&X!DpEMAAnWmVoRREQ%(*=?|M)c$8RPd6RL_g=4Z^SU9!g6WL%sDeQBi#cGoft zE*VPkl1J42c5J_+aIJ3cW){5`x8&5BzpsCiq|ZhuU-$QucWPow^ruy5@{J9l${#s; zVcQ+wx6mdNNjD!~6XO|AD6s?IdmReJM%}gUUifr=uc7dSP(W+NhO%j`^=As8$bGzW z4iJI7GF);bFIIdAt*{zD6Pj!374!| z6alW#ZAyej>AiG*D(vQwF>e*L`K^PSj&hrJYSI?{x@Qcvho7@n>>i{9^uF0A+khF> zlW*BH*AO_LcUUU*m?#Iu#bL5wXhJ5UVRVr zi=w>?2miWAXCJf?eL@Q1X1RZUcl%VleU_SPGEyd{rbItEGJyaMMn{pPO`3y!^z=Cl$QMk< zsr@hI@`q&#ip7FQ(i()I)h+^AP4|JK74?1v>kW#SV2>s%Bd%H)(#B`I7=t=<*~HhT zj%^}7&PrwSvUP7uP)XsXK{mL3Lh{hIe|B>bJW5 zV8h=^{W4hR98{N7S_`+aMV{vQYN-Bj0zWRI;0*!z0TsLTQuhDtS`s(y2dYlr&z;xQ z=~AKESIqgNcpHBVk33cq=@{*DS7$PM-HvcJ9;4iJYHo#R>->8`%2Kn)VWdf_wtyHT z8E#?Ru-`S3WkUNI*UP=Wq6!8$_6PdmcfVFTx2dWY4RQgq-qf>;logRi3GrHFAFT$n z)~2t`Z+~+$@_s@j)Oe?+W$y?DO&j8qw#+KH#vJNK0Wp6ub6O0mg~PWi#yexdW^^=md*qEm`1l0S!O87sq`+R%&bz@*3f7r@7<725Xu{oNo zi}`e8v+sY~hY7zi_1p5T(t8?NUXb&ts*Eu zE}5SY=s);AgkX#^fNxI7i6(=K7c$_)dmAoqpG~f60N-LN#ws$NVwwJ)uHMLyImXr+ zx2wEZ#MaI{l{%AimyOBC*Z5?hASH=5eR=neb~Jw@JpRd88Pm=oy~EQ3smfqL@Kr=T z!{Deb6UUHs?cDQy4&ks?&`!vdYo^3o*8TVVL^H$vV)hhBB@jLfD(z2!lVur;Rd&r61N4J5z zD%5x7SX*!u{kZBtDBu=|Qb06e<;zuteYtesrvLOTh_oJDf_8wRW?$-4s8qF6?WrIl^uVT zuopE+vxFfnJO`G22K@rHpwk#LJ$PjKWt9Kj4Z}pagv-@fmbDElPZG?vKB33@-%u zK9nv|Z$62bCPF>CZ4W_!-o4;qTTg#%gbr0M$~j{xuc-o+X&-KhPYI7=qTij%YKlUw zEm18jks-*ES*Ihk4NhTglp!!z^eA{_=Jw!83EEl`K5F!LHcYdE^%_Z;=4-TaT21Sb z#2Y|sDGIaXqZMAMfkgHN%VK9E;%<_&|Mn|SwK|~9X)!9-1SjFM{C>)!Xd;khXjMGqW;&+Gyf0lD zk5hNLdU}VVvm=w!H0uN4QKbjRxWG{U^Y}h?%IGe|J2tdrSdG(G{+vRiG}{O)+^FKU zswsXr`vOcrcZ@)2u;^e_C0>6>QV(J6Qo{75pFIUf(LEz; zd^lpPcrnqHN_dGk9Wei7NzXz=TDSekb~C5S8I+x}Y=$sdzo&-f!Uf z$PJoPd@%}>-~y$&+!Kb!Dv`cK4wx#>KjO%1TD8#n&R$k9jd6wm6n#fU)V!7hm|i>3 zGX5nZuDgM)Sbf)Ks{1s{OPL+{G}s7xB4XxzmBTue^N!_Mf-uq_i}4|Zgyw!Hq+E0U zPM`9~Uv&ws#7Fzh@;HCuy1&HQ$C*&>C?z+>Ze9_Q4{;)IMcE_Ojmk-WvH$b-Zwq?v z)?{_!<>S|_GzXnwS|a!T9v~41&AB7n^P)xo6OXeEtZ85rsfD`Eiyp1qcQy6|IIR&$ zO}Ig5E5B@zPdJpDVGTvJ0LMCx&_04{>!T!SWSs%qFd6PcxWj)$kw$!2DH6on)sWL8 z4<2};3FEi%V0Qlj(I}k7mSS1hJy3KzYMETHVWGrxUxlWVXPgJ`)NE-re|7oUfq$0)i98Zq-BN z-Nc6)ar4hB+L^J%CQG)rK#LiyBOY!hLkH6p6Un|=)21hD{D&QMGzW@G=gGK_w%8%X z7sY4F=v46}m`?X#e?`DtfY9xHrjl#2r_i;g$AxC%s2G3Ox&gPctp=HMAkZkQ6c*&f z4q-5@xC+w?&Gqe6`na^z;vzKIalLzMBxPXgF_bVuAaB?=jeEel0QLZl^g28b8K^V;z{Oh;u+#YdrHqO@QGM&*3&PdfJ0bnzj{Br$j1bOj+9A zm0&DV%S?L7KVU(LORwx8j_4ZJVnY8#6Hx`Zu5f=t5xi1VNgoP@AOZY4Ru(^h7OIA> zTI{l^qO~z&+`$i5kM=2{&7bo{r;&%$%|f?+5`r?vwv^P7VYDoOXq0x$vRs5SfUGhz zBo%fj#+~qT{%X#7byGk8Sgr!qub@LyTL%g_A{yuRd(+2G@(f_S*ywC1pl|ROyFrl)()g~Y zvp1I*%m()F#KU#)yJ7Fd|5f6v?*1r2z)TLOQ_ZbBtyABom&i}8av=EPNjC{|Hzo{DqP%~STh{KGo8lf|f2WBen5dBokXwuiAMFO4 zf{az32poYMSH?ut3mTIPeW8tj+*L_AiidO^y%myKFm72YwGluJyL6X~7!kTPNec2lBFmTj0(o{BmZsv1(5$s+ZCC)n}17bp1tqj6#XpWmD zih%qR_iqG@cdnL&cRgtKcwQ?~<%)NtPXoYkrA@_wU4N@A2wAz{&Wd2vqKu!a{E#%+ zJ^T(^)hibss%4OqW<3L3gI!5yM%;gI2b>?Z*Zq6S`}!B6VZAv=u|WxvRDgQ+Z6upe z%M74ian+fZ_&4dKB{0FS5pe`7%*F2Fp$VT+K*Ux9N_sCa2Iz@Bs(YXgU-1-Qtq^Jk z*JTmpFH?$vuyY6Zw+@dFj7iyMaXXSx|Z@tgw>iYjY(@POT-kK1qMHL~cA& zC}U7E=*O~}0jLwxtUE*iR2eww+RZ*VKU}tL$$S8&!m%Ag#)_Njy{RI>B+pLh!4-I4 zV$aA_9AyHUsbn)}>)@pgIAzk0(6J!kxh;sGsxBaE?I z?~gx@Ylc$@KuXvS9d0t9{BL$g_r`~@hzt!t9bo1R9Xb4e# z6-;ckC!`njfi`lo8PYV}y~V+rv? zC`l4=sml~c%5q|p$%xH^^q~d-!}v{MIH`DraCR;Gx}#nvB{j}ujwXuM9%4}HJYzDN zx{781A|6y2u$r4pa7Z*kbGFIVF7y2gK>e0U;|rk!v`?UcTx4m!CFU!t#VEEm@)vzy z&=zwELZ*MpRX{4^IqOA{R`e3eeFtID{`$pV^^UlH05P21)g*01XHkXfGD-Tp^|0%QX>c| zLp4sI?@0e(%^ENewg$vLr=nmYs0`kwibij9SZ04{B>%$8xqdu;ev3x@-hQ+a=rfKN zrw`-xGYU@>T~JyavpZ{?LYcXd`0UuOY3Q36gSz_iBh!mBXI{YaU; zScb^(PA>A3_KBhcP^Vf^)8!iJKQg@7hk*JF{=&YL5`M2=2sx1Wk$ytqxzseIa8-U+Gy+vn9ltyDNuKFpZIql%qab+-vm#TBFIZT7Qq@ z{8ymWY85zpJ}rH43wruds9@bsYODU)(*ugX1`CcW`2OW3edgOh6!G z6J!dGuR$)FImUOfZg_IGJp37>I-968yz#HsmUVPFug<<9piTd;$i-yunT?r zq3&>|m=2hwtM3+E<3v=&iL8)@TW|D(Q>@*Z5PR*s&PVzT9_DHXNTyT=Lg^tQGdF$iPD7X z4(Sfa%~pfu0sTTEfX#lFq&sqNz=Nj;sa97-R!m`KAvX`6?$vdgMi-3~)BhZ^H!7Rd zgrwOd^TG6eQkJ~*4s18?cj_+Dpd)E2>k$b5mJNJJPhO6n(G*4YNXB&XK$t z{CEB9=aYJq%CiUxsv;v>nkM1{V6H!+Y@joz%`=T7L9TH3Yq|vILg!XQ-=w&NI!^uO z_-G-8D|S`ox|+`gQh3{$?tcIK^{he@{RX2pCZJOW;MOy9vgzVT=YOh2kNYDWp38tv zW{FJM7meFebLk5XD}-CPORW^cN?&V{XI66Qp(<8zR{#bkh*04z>VONUluGaJ3q)M# zX+!H2OmxvyDhc(cnZ`vMvG1ajJy<#5fNr@5$f41LODHxlf~--n*F}69WE`|ZW%|#D zCp1Z+oyfpCX_U<{ihpt%W!)=ny4j7)91r-&(9&aj+WE^c@psRKK zC?+`iAS0soZK_iJ*Igbeqt{UkHN$knKj@*qG!XjS#w((6EvI5L8Px~Q?P<0>V5Mz$ zH!q9)m{2JhcK0dypB#48sQfFe?Qih-4#!u_N)7oB1q7O_RewHYNkCjDAKo>ntrd7j z&-4iIlH4OLe8<_`HB}C*e4i#+hm3L9U;?%h1h3Cmb;s|@tr>&t|N7KY(FIVs(9&o^ z>u}-WBoXTTBzBwDrF-53%Lh0*pfIn(Q9H9xJQ+asYDYpN*}?{kS$bkGfyRP z)`}j1e9%f(Fn^~nB?VX3uSI2B_0sKW>`Gi$00InWAACNc{Aj2mG0e{6bk@tGo%g$v zNSX2HPc|0*??7Qfx6T9Dfd>&T9i-G7f#Fss?$9{z@a&>uT477%2l0*bh+ z)L0S_kdB?7G7aE;AQuT|5hk<~VnIuL;p%&yUT#*+5Hz4aWLH1_N5hZpV~&%!V*UqKeYC!_!9p=; zR;Sa|-y9jZT?JnU5b&K~gLn#)d7v2f@qa5c1P^&fHnVx!@%lEHbtBPd6_m0}U@P$f zXGjT(whWObJHUb zRuYh~nrL4UYwFr+u`x+L;l#cX|5M_wA>)~ZY7RN_d480$2zD>Sc35)V`P}abT7Ny* zrVF`>90ipUfg(oF_2oczA#Kv=5jy9bO(p10x`+AVTs&4GYIk9#UF?b$wNQ*1%A7)e ztVk%`YcaZ^+92SVE3fs8UQnvpevlI2zi}~0;+e}Sz)+YTg_*50>*eD2`=d@9E&o&F z^Ie;c*VtWaJyu_?IG`5%v0t0@T$z#Bj@Q7Lgp1P8ux)dG zzup{gB*j5s>n@rcOpMR>tHi-U9RN$TlUUL{5$Lk{Nvx;jgD}-gfPs zphb$=+EHg25&}EO31z?3RvGPh;(1_-)~5-T?m9lt!Lw!?czw^;ZNY$d7$BUl!_Sq;JD<|uk#^Rhu^nI~3r+3) z!o5gv=S11DKPuxav(e2`vLv6^6u+InZ+OTji(@qoB^8HodKogeAync!wntGAhRL?k z6DjVFO9-q@Y_qw3K&YXB^R<#?!P@TNPLSD^ugyo2+juB906r)Gcp$OIz7 zdAWyIxW-a(XO+Hav+JpHq01xF0NGir9P%b~V`v&y zP*2H64Y_zz(vr*82z&W5>;Zq`WUik|WUhnUBtsx|m~sYDrhPno|A3Q|=p}12e-8Wp zC~PE2qi+JAyg62YC;-oChQf{u*BIC`YDcZLrNX`eVFn-32qS>cy3KhplcNoO<=4g^ z6y|4zl~1Ud<`u53l^%;+p{VS{Q*<2(t%h<3=EpYv)1MXL#dVNayUl;SV!*TTE!)8Z zVn!!mwV?S}=-ZycV%xT`sF-6%)~We{7J>3Iu~%;D)fB6r7N z(XSKB$dkX(fG3N4+{VWz1sVZ!_1k*!xAIm7MjqR$n>rWf!{37Fwax?3~ao}(8xehFi(I= zZ3FRc44ZWI9Gp}bC;GE>DA-M0kSVgOO~6>H0w3E?exFQYFY2$oQiFsXFLaGE3NI4Qu~1T?^)b^a zu!jmiL;i^)4W&p}=hX41`*JTyG`ERj=VQiiIBkDd*VA-6T<=B7&Kh4Ra|nx>mVD&VkOoz!?a7DL5w@7&E7^{!zF7Oe?5H%+2FOvY z*Nr_KW|C#yjJOt0=!=uCXshT7^6rSGHZOR!Z!S9?4P0H2aINdk?a}oIrMoh68l-8n zmTrIMVwPG{bBs&^SpZ`vmLU$3g|^CI>b--|Dcdl^p#jZLp$HkfVy>jVfx?T(DQrU? z?Kl4Uuk?QcG!-~2g499}OI%ygpJsaAg zKvue_UWWISJm6ThSVh5g?_p#Nc8TQ{d$E0Z+%@Il}J1%`Dt_c zVieQVW*DQ|D`GRDf=J&&E1lIhi5L3+j{^onyYl%_974jiXbvvuSitAgimYUF649FG z7aUdxzf%7OYJea5u%ZJxiU|q+E!A!v1WwS7Vq|#~ahPP1k<^gUf6r zD?vENzv$DF;Ia!JQVCemPNf$rx@9H4Q*M`h1d<9mK^<73S3-1CI3zYfOO;cCa;0dj zO9F?1*WLpEHRu0WqX&CA<8fKt$CG~-vO4aeM(@o7XaY#zcs8MRfz8%ShC0rc*)L>a z#c>jtbb)4^Mm!(6PRexiql+YpGCz6z#$=40=SqA&%GglXBTQxx>;KH~UQ52u(Vpjw zC%FgQKl&vOrdvbTV1SL(PyLaZULg}J%|2~hIi?cERDB?tM4EdVi9FFU?oxjR(pEY- z^YKPSE7ho&8+vy`>R>7-+5XR&SJ7vF+#%ck&=HvVg^MAYq28!Ix^ZiSlcjbX>LE=> zgj(cLUO%~~q$h_c!_iKC_H`#HJxKaN=%(Vf0QV zV`NW`tY_6_7kQaZCOf`Yd9xKzCuFh4*Y&#<0P|s-jNjDFwPiNhvo+PF67u-n=X($Tw$7>ZJl~c&9Hm-mEzzw6Ik;9b+NjP6IKp`$0Ft_A+#_KS#QfWA&bd0{Ra>mY1t={1tsr#*5nSO= z%#pf_MBGvc2?z?7ij+Hm9qTjh;vj96xSvJrk&JE7E8tbwGfw%(N5l?RASgDe1!a1n z@BGEc3rz;?LdX)LxZHoZK&<`OL8w|d+EsYXl44NH`(h^HtJd<^Hj!xTuE$APanH@N z4KoubbY(AWSPw*T*Ickbt}Z}{)%MT>0Mdk>nBI4Dlz!2l{_m%XA8?}Fh|fjv#611S zf6ZVLgi}1A>gy_r7IS^<1~FdWQif$_FP;D?_)QXuUffU*G|hh%GC?1h6x;!WnptbX z92=*GDmd)WH{R!jpYUGrP6ojCS2n>IPlz)!d6>6<_?ai6)qn3rq)Mpzw@i1YBW6Q-sIDf2-y%-H=3sg@<(OkyOq zZ^$a@NG>3NBg%L)HtO%#2+}mCxM=%>zj-Jp?#pic9a7KV;tGb4depH7KmJ00AQd0RaVF01yBG42Nb40WZM5(EtE%a=U&2 diff --git a/Installer Files/shipped-files-version.txt b/Installer Files/shipped-files-version.txt index 980abc0..1bcc324 100644 --- a/Installer Files/shipped-files-version.txt +++ b/Installer Files/shipped-files-version.txt @@ -1,3 +1,4 @@ +14 # joey's esrgan update, auto-tiling 13 # new h265 supporting ffmpeg exe 12 # joey's esrgan update, fix chaining 11 # added joey's esrgan to fix seams with esrl code