aboutsummaryrefslogtreecommitdiffstats
path: root/modules/images.py
AgeCommit message (Expand)AuthorLines
2022-10-06Added styles to ProcessedMilly-6/+1
2022-10-06Removed duplicate image saving codesMilly-3/+4
2022-10-04Merge pull request #1550 from RnDMonkey/#1484_fix_empty_styles_patternAUTOMATIC1111-1/+1
2022-10-04Apply prompt pattern lastMilly-19/+20
2022-10-02moved no-style return outside join functionRnDMonkey-1/+1
2022-10-03Merge branch 'master' into #1484_fix_empty_styles_patternAUTOMATIC1111-1/+6
2022-10-02Merge branch 'master' into savingAUTOMATIC1111-40/+37
2022-10-01os.path.normpath wasn't working, reverting to manual stripRnDMonkey-2/+2
2022-10-01use os.path.normpath for better safety checkingRnDMonkey-2/+2
2022-10-01added safety for blank directory naming patternsRnDMonkey-2/+2
2022-09-30Merge remote-tracking branch 'origin/master'AUTOMATIC-1/+11
2022-09-30prevent neural network resizing when it is not necessary #1109AUTOMATIC-8/+10
2022-09-30fixed so that {prompt} can be anywhere in styleRnDMonkey-1/+5
2022-09-30refined [styles] pattern and added [prompt_no_styles]RnDMonkey-1/+7
2022-09-30repair broken highres fix #1109AUTOMATIC-1/+1
2022-09-30remove unwanted formatting/functionality from the PRAUTOMATIC-25/+12
2022-09-30fix the bug with broken rescaling in PRAUTOMATIC-3/+11
2022-09-29Holy $hit.d8ahazard-48/+36
2022-09-28add advanced saving for save buttonWDevelopsWebApps-1/+4
2022-09-26use strftime. update hints.jstateisu-1/+1
2022-09-26add [datetime] to image file name patterntateisu-0/+1
2022-09-25Changed job_id to timestampEyrie-1/+1
2022-09-25Added job_id pattern for directoriesEyrie-0/+1
2022-09-24added [styles] filename patternRnDMonkey-0/+1
2022-09-23fix for inpaint at full resolution breaking if you have an NN upscaler.AUTOMATIC-1/+1
2022-09-23Option to use advanced upscalers with normal img2imgAUTOMATIC-3/+12
2022-09-23Merge from masterRobin Fernandes-1/+2
2022-09-22Fixed directory name generation process.Prof-Cheese-1/+2
2022-09-22Add option to save before color correction. Add suffix param when saving file...Robin Fernandes-2/+2
2022-09-20Fixed filename part sanitizingMilly-5/+13
2022-09-20Support reusing filename stems during batch processing in Extras tabolivier-10/+14
2022-09-17fix for broken export for 4chanAUTOMATIC-1/+1
2022-09-17add support for switching model checkpoints at runtimeAUTOMATIC-1/+1
2022-09-17fixAUTOMATIC-1/+0
2022-09-17the last PR broke saving EXiF completely for me. I don't know if it was broke...AUTOMATIC-10/+7
2022-09-17image.save parameter fixJJ-3/+8
2022-09-16Replace invalid filename chars with an underscoreTwizzes-1/+1
2022-09-15Merge remote-tracking branch 'origin/master'AUTOMATIC-0/+3
2022-09-15fix for failing to save 4chan downscale for large iamgesAUTOMATIC-7/+8
2022-09-15exif fix for webpJJ-0/+3
2022-09-15Improved directory sanitization when --hide_ui_dir_configEyeDeck-1/+4
2022-09-14Update images.pyMichoko-9/+10
2022-09-14Update images.pyMichoko-5/+12
2022-09-14Update images.pyMichoko-2/+14
2022-09-14updates for exif comments #446AUTOMATIC-1/+1
2022-09-14format exif stringJJ-2/+2
2022-09-14prevent extras from saving in dirJustAnOkapi-5/+2
2022-09-14add webp to file formats with exif savedJJ-1/+1
2022-09-13revert the breaking change in font sneaked in by the person who did EXIF #407AUTOMATIC-1/+1
2022-09-13add support for reading saved jpeg commentsAUTOMATIC-7/+9
h<5F%VܮX 5':#= 0qO?R \i~w ʋ&_eR,=]Ru'og&q.N۷ Rˌj&0}׬$+1Yb.y-}pu3~$TN'cЀnCn,|MP=:0mW٭!G7q .ي"Oqt Q)]SVD >-z+FhrထʽKҪ$g @DY"~:b7Tu\4>+Y׫yxIg1@]Iߡ uVL`Pct߈  m?dPȉJfWM- ̮l8Nz_k" c,/q.qNm​o˸D@;$Tf$ʇ0=# FZu֮EDש*czX rX2SsOk0~ή{e7)]|pV2NM· jV?f:fGl.DR ]'w8!5Mx=Y/}GD*vfCH]lG;H3KeQb1|,SgrLitwqJe*ZY^5UOV/p8\Υqsk+$R.Glㆄ4٢Ү"rL=ʐC#eNNv^jb> >P?P4 lT~שG{h[']a%Gr䠕#rsrC >Jz GAE<1p1m6bGnJ@&0PG},1w\cQ\IN-s:G;Y*QbH>RmU )Coli[A3.vZ~>|=ɮ7NQXM|y鲎(Φd3z_WוIOrCw0 :l7uK9v )3ޤHa\LH󲎬І;&CL,Xz"~e" ꦘhȏ2ye!hڰynɄݐ Wpc.Ht~z,a'9ܺ ;k5Y>FW]BɷW}#}lex Y+XC=GMqa2p+gJhZIrtؤ]>Hmf7 `hnXyQGǾ wd K2Ziwظ m&p +1C/06tU'1pQJջ%"#.:,4zc2P|;l_6dB؂^]_ v1"f1QJoޔ镩8v3Ď$J6Iu 6'JW.NKs#8%:. b[ddruȜ"V ^_K_e唶̭L]Ԡ2gЋOg^k9P2_S+Z$t&";4{^ő]V^B}{'3Ov9L3_E4F:iI.OZ( DU \ېҶ*fAeYuNU ΀i \?jIZ]Z(uA sD\[83 ztR>㴬,: [+ƓK8=C*.o~ԣ>\YBh$}0S@XG+m5|ό,T:VmO;PNJD 7 \$u!wx /#EȌ55"[|r,FeKXt Tq"a*GI\=dέ]Kΐf$amG:?+8Y{`5٫ڂ,d<<)$\@y@uTNfᩴG⸧&;Yk}ɻ`c%mߗ}0) o)L5HV_$)=7+^_l*s ZP{ &q;U iD:s͹A! A!3eJ8+ִUww2^ 2|KB퉏z)$|1委;k3(p-">P>9{y: #樢Îsv?x/+ՂljBaG)A# :IAjlh而Nyow8 Xo'锃:.Nd˝NʺB0䷇&`d5ih%ίQVQtfa# ?%Z!SR M 5 {vWh RN0e?7(,R[vӀV<*t1*Hv6z]'ᡫ$#Ҁstt.LN {\0^pi+<%؛R<) T/{B^FBNv pj.4ڲS2rXw ّw0UN[&?%ؒ4} [W~u5*Ak 9Iwq_(w-=O$Ŧ`b=.@\aUW2ک$񏓇uN?GNS2;.{*QOJ;8}Q"냱jMSR+P/M (}!Sz91Iq8 t:Djq:qP%Y={Hƃns8(E ˮ\P뇑DIc{a:Gw+P3霛?W)*6#"-*5 `-! M #NZD[b%<-4W)qHDa7 (*t yy) -#EvZl*-ɈxRwdWyp] NKc1!Q-)&N r@OapDC|]l3XZ3BCz롫̄:)NrPa5qBa$ºΨ}6 i/wk^' ZR"uIDuɼf/ސyWT:nAڥ$B^w ENZG8A"-:([)f&wk/a>$NŋY E(ZnD !+8]N"zE␇7%d81ؘ˘ֽyxc":bBZ$^S)w"QP%X*6Qw8h^B] (IdSfJZ2^WSs-X -LB ڄw|YfzBr3e:А ( 0;ˉ--eI '-BcжLɻ4+qb_M EQM[Z1\2BEsA@EjWL"]oLeX]RbT ~;ʝwб 08}(e&R:k< G6<H9MZ4Tj04ׅ^A3VȨk(|ًpí9pCxĪ֦sˁANN^г^^inIphX&CbVj7euu[j9䄝4D1Mʺ|qAB72dI:N Q} 3rX3Ƀ6v(cT&.9){L%RIT`; N7Z% / L Yf!7 @_4&M6`6VWR/n$O:af-һJ!))$[.#F<*y:QQt2ueinu:A7t$||WCA#Θ']V5Qj$6E&j!&Tj&βI Loʜc{UT>HK`g .l;ˆ/wrp }fVԿƎgN{B}3 (e*ˑn[qZeJxBJCx\yCz`b#%C~ 20Tjf _{C|ȉ ƒT:'A'y| @ xB`Az캸T>jv;uuA/Rg?{\GTkn>0ր[|/iҋR"R|@Z|io]*FHɮϒҷ+Z:'Yux1^OyZvz}p4 NaɣJ+Sa $-OvdL^TR( fI-B,RF:v4vԫt}rh 8.jc̾>xGCt~ږ 09E?BL|vHf-rrQLC+Pґn4|(SK *q6zHjN^)3"\AV)`9N:NZCOi=W]KTA;I"w̵KZW/\OQjFb쉒:m<_HKEOfν9C̑xN:<(An,;2\|nܢ·cܵKۺ9\o!jܻX?pFM>CNSPM7;*1^eZ)fo{jI| !HQ ;tvdT|Zp{={.,Gʉֳh2 n0ix7o{ff mJW֩.q z'503\TNr#889yFO t!,6?ְ`N $mD_b.8 5ENC&n4y_,qbτ;4Y(\RៃS,r0w$ IHsFq1H)!b8ί5O*@k\ 8֭1 -{ViAc9ш |w!e٘|5گJHu; "3Sg0VoWׅG2;^UaoAU'Pܣ߷d^/*\<(AKZp!& * QŞ4u$AVW;4.LgՇ8nBƑS\j1TB!ҷh)|S^,,_vy<3{SB|!P`s={=WID1(D} *FVA' +3][JtکcIO@^WRQ.ϖƦG!̭V: `_y]R^.Qq>30*%,~`lX!=Sp1`rp-g#fQc"Hjg.xi)bmKǠ-B cv7aV nw*BTR߷OX&3 8H>컘cz/a>TTfyP}UzG''2S]ڏR6C֦!I ਸxAT]{I1}NL LZ=I-x-uI3KobJF-5t8qU2lm+,~GXUx\SҬe6f- 8Gna`n?qho̒=K&LGKum/;u*aIuwb79 Mo+5}BhDGfʱZ`H@>ݦlǁ>A3 ~Ham_jdm*%/2#j@DVJ;ҩ)P[ }(j^Z$]*fH:aq>5'^zF S2i:)-n$Ig Z2ȡ&]VnA}QqEhd^ō8eU :+ԳR'2RߤH7HCr9As+;̮@>*hZyf49!Z_6X_d$WbԹLvZ@TPQ Bښs+ƥh΄uoBZH2nq#:*۷9&ggp+IyBm콹6q139'unJYح8cXt)zx-=g:mvi60ܥSU W !Չh;ԩ{- u_JcrHEpeq;:uDN3MOothxIz=IlphZfxYP+@ NH\T_ , pr)r@ ūr9?j"al׼٪~'$t$G\I[wѳ468RC5֞1H}҇2&kzdlsRk-̚ T‡ kN_u$F Ǿe i鮁Iˑ0VQrL Qc Ƹj8dÐ\Kk/j\6$׆]MvҼgKq ^nV(ar)<Aƥfi͊ٙ즓Kwh9$y;svגOJK&BZc1PE\ xDNkڷHA1=V?A?qΡ 3LNoӱI#k^uP:8/sP udX%Oӭ ~`NDb$+;A9ҏ$C;G4 6A9y$踕ʾ.gi5xž=?HC jcRSόqk1I[UگBuFmյCoW\,>{U~ ; ˋBbRz1t%isH[k%LRD :jRLpRΏ[tH'0u^ުWGm[ԺWEy)2 31߯ eWt)N|p %VxGNdθ],㏶l{'m6,KZg&3fl'hfZ. ,'A8m$ir2̀ QWIQ[\4I|l9rA| EsW׉FL=QLKgC"Af+Buj? .;8HK 鴏td]py{7 ?ONx j wt^{I=UN*u TGa]Ѕt{mk.c(Ջ!a5Mkr{o J(u}{k=^vOZ8?A13T'GDz'jg46C?^Uf!]X˙2uBЗ; ƫ+oUG^%qD<Tp NEfus֋hQNRhXzR̄'NM: 2#%Nk*#ȵ`d*vYG 2 aRT#b4% oaԳOA+)fǐ]~R1Qq1s& R.YIR~e^xq*0NT_;FW Na hZ2.))EƘkR ÞNfl  JץNx0e\I>_μgԦw=D蜴+['8bB}L{ @4_d: ̦,rD5hcdF CfތgwLڅITnW\N4|$-|ϼ#iVF|F·wC2>|o;f˫wwt]-M;˟K%E%-@𝴠?m}hBܰEVJZ7v@;#_o|STWp"V:FÄn 9h#6".wj7rdڌ+/9-3 ]j~7E61͜.!חY,$=> ۇ"̓a}Ndt vHx'U=uWQgc5b$kqd»<W&pZ~3eQc{`TqIK.]w4=^wuI'Ab2J |t0t,I2@Dh=3n@ X0kO*j%84ԓ^}A3)`Gm?3fT6ҝPȀˤăQrGI֠ȴeZa90(#  o7-͌D̝]I _uJn<ԡl YaSwa#Rt#mBW-»QS'Mm︺1߈l` POU#'B-4¸ș$p "A Vd)P0ncy5-iog}V.UE[aM 8ծd_Md<5|BB]*rm|t;2:*H<Ɔֻ"3hAt?+CbbVv09- )vO ?ݨ_ߙ\k[ܾV :HGǾY@(wBpE H,A4~KnvF6s+bR,U3'eO6;4[-^Ȩ̮w{ί9s篵U [Q&Z QWNT9Fh[WJPб.[/B0d>vFSHw8#ثmH))C#r UAvVGt_wj x4t%C{=y+ ?|win/Y!A,;قy ~ 8w[5'DS;!][Am&fަ]tLhb$ ' Ofr1{kl{EXq96% nkB>gfCS55BTSh$p}BBÿq<6gA~F+or[d~o=Cڎ7=:31 ]0tN)aOz}<BZ3L yZN9zi*E4!];@avx$+5aF)y4ӌ^ێU}%"Tpԙ@2 "Ȟh7Zt(kN5J1':Wez;ɴgdg,T/C/;_oW<ڛI3ͧ[E8?r"ҏMMZÝntX6"_ml GHf9RW8H ew~Gd_RyݎSS\PV':>#7gk5o _K")! Rv@|.BC_3+l-p0{3e͌+(טEyse?U1.s6H2q’>J>. 4f͕< ;^|1h\cd4joLf. [i4Ӹ_\ 1qkTYaL3.&)rwᩦ6__%9|7$ێlvE"R=xj,_1Ol g2ZBUqD m-*'!5}ǜg!{V- Lz_na"'U噊M2ܖ< xdҸ~/4=Oqo8}ZAģ {Nۣ{pE-.Z$0v %Zemb'sȩϳQ]qQI)T +c/SM%-pfGzu8hTC1#Qv8`DMz.Q,ˀk hT:d!1ܐ;З+xQ9D,\[y8tNm9·[9Γ@3 FjZ]MLfHN=/!y'd| QanXt%EfI|,̑V\jOoӥ-`R wzzEDvfoб5[0A1r/ɳ TɇSQ 5#^ fʫ3١ٰȮٲ!l_DfHPFp8I=2 ,)gB ݷ I:Q1_V]xIVizu!%4pY04 f!gq"7u4(]-hwZ͸PQ$-`^^P zNqS|MYdcTYţHV Z^ xRDefg[x?%#i ]L9RsUP]w2R T9J!SZ$;zn /;4n\>Nr(̳R;J:m4[ݽjv0`'z-j(!m6i 'Ϫt1ZvN6Kx=v[슅' ZʅCmV)Ldh"+DZ>?u2l>(8mLwR TZck+L\asm5wP45{o/?qkۆ~C">I.>le<6oR7(T$9y?ĀsGMg%ʩo~^Ozp*+QI in2qwZxjaرjfoаql>iTIGm>(±B}OQoKQSžS puӼfz<ʓ/;ٗq^fiN^6e/3&:iko)ZJ5Nm[1-]^NؒrtbhkPt \[nq eft@YK]k/H+K1F*7>1փLcDƌ&Yt`kح%_PZQ5I5$Kk)eN =BGqNIK~H2b>i*P<}%b' 0\Q=$lF 1p<R>4Qd]}e19Χz<[W d5tgNf =́")~xp?Z4Q.*  _厨o2Mv=`&@퇶`vO/\ cmQ@9vχGfi;8I_ӛ G@c%}JM&q6H<d͜Go+g'n$VmKڄk5iC @:(J?f @yJI.6ˣQ2<ӬbʹbZe6S>]awqoUiE;mlW2(段nAц;e&83P.۰NIJfA!g7|my&^[dSf촊`C~%2媣[I)qlQ鐟rH^އ68;yHUj|Xx sPATTDdܢF܃y75:}j rT:kh!q:tՓQf1bAm]X.7a ;ޅcNX(J 8V#4m79&~4($mjfһ؏m52+js ֫2z\Ru#eV醊-O xުUZ`EjEsEb"lC^YAAB>|H< 7<"tK5Y䷜>f75K*_‹x-nnN+-G8u|%{ۤPabH^:C'jx]A}%zp$E q}|UŵJf Z䄒ǝt4æЈko X[QQ lF%Ʈ#lS1 <@q8<3Gh~drz I(n-MsNz;7iG[6uγ_W*IHЀoߦyTi dU/"Wj$ WLa~l7I'A sf,~ρb]64{N R|r5SS"\Cds@/傶30]@7U(W%*뱭zѮ= x S] Ц+U43ic=@O+Tݛa[hîT,dZ:<H}-oEڻڶG@O6Ϯ٬Bdwb9^(o,F+sJ(G O^f8:#'^e&;}~%ia+- `Sen].Z[q8jq:F->3>Hmr !h#+WOȁQ(I/7"T(rF1~r OeL*5==DITlHiwaG4>J`I6ݸ-αTUd?ZO'BH.92~{@-5j9Fr[NϠM'm!-s$/IJxulU.gveL o\f, >Z;fɉcamLV!5JPT^]ritroK VkloC2a^Ϳ0QTT11{Eb R v7(LѮ;Q!( %z[-)SR tZz]?6OhG*>:|#`ƍSeJ[oi.=,{,8vFTRQxFbt Ӯ.j~tP"t?S>dkg hxG 0jnN $8y(5Q0U\7A +wOBx'l||M6_s(r BTζty@ ʹbn l=IS%W#d>O: Ԕ'$LzQ^fG7!@jJ zƗw\1J{uFM= 0Bdt8{1i>-+`fF d~dے^4KobMm sqP]vjd*tT񴛑f8bf)RR{'$H{:&ap?"yO'ߥ-WtvoRM!b( ~ -jekQjWhH~ 5Hfk+Xhո (aLmr =L xn4:[j>VWʇO`2r:_>//ڤs"s-JGɖ*P2B 7>QF]:Qs(04챒oD'TdS L PӨ!mLHzAZM̥r(`{{@:+d/rxa7i {cu nZ.LA9*2SFfe2 5aPYGC!8$6QUՀ;HmFWT?ܞx3o),ۖ79~DGN$ Fitq8+2 N:]߱,{"3j!]u_$]. HBk{2<ĉ| l~$#'l+4tu `[P(M"C XQx.:F<»IZ^;PS>(,E-k{L()KL*~;Zi;_BswQCYl)XLʷQnbɤگs*{jE1x?74{Z LjPavp5)fuIWf3@oh4Jhؤz\˰~"M]]R,3=lgFȼ譇T*̫7FĆ{!ZhHgtRpBMA?lf)*hMs:ͫTAQv iE>Չ * kgLt%͂B/i~Θr6^f^nrM-F =Tvݸq(՝RT ^>kw#4yQQIy|E7S\w"łhnKJsYpE7ᠦ|6}M _kV#|+ G.~Ybm`A%JM4@wzXTT'fKӗ'v᳟SSI\wA qfOn$-7L"U։'Ҵeu͜Hs)959%Ώ'x.u&i!\WoHwIL>(!ULU6㪼W[mV{RNlj} x[ӣi9mMu A? :r|~@/|G_UAeBd<2 *J@լ*)poR:fmf?Ǽ{) ?T]@~ 4o}[p-1/EwbT\i" sb&~3-ci)"Hbjk;~~6Ȕ;vVP.I)7<=<֐-)_ C˨gCQ(0ρ*4$[yQ:ss257nl`UB4Wmʤy. 6Z^ieFtŎ tVXu1fÿG|;|i&k5;|H^ !yQOsHi iYn~WN#m)_0UvpLsӶ x|e:M|vy{*B ڨڛ8wdEpQ4O{eYgMٹͯP`̯5=+s96a>EA6iym>ϩ,&72 Q4K4B ovAޒY'W&EZ lA" b*ެE<]m6T@a?hs22w~° -è-H%ZfEadlr_>^0yhX03 bo߂otum\٥$T5 W&3]:mAvg)VKm٘i]-3oEmvYks6>هγS6> @jRy7ltlj[LG(.H~M|)RnCMǀwB<Ֆ>3 wO#eN/8{=:nySeMIK7tUF-@-mO#Է}:'BjWA{TG&~UT Y cRZ>?-^ b^N>s?`I\Sl>QA@P. &7Ef/6hi]L[~$ՠ-z.KRmظےRkP8 ꤘFUtۯhZ&e—=&u?1fm¦~KV$߲K&bws p|+|lK5ZīB(d~:EW3%PeM>hq;;^1%lnDF3 m 08Sy}P xHW4MLd>*dZUWeͮƙܐYK]A99I6l|?VO+Y?veNJ*KETnR+T 8c\k0L\帚,L~`tzŐ )taTk9Kl^,^gT^~bS ۭLi.A :ZM\6MZtHm9H'66{@:׺Ԑ&g1\!s[}VU9(ڬ/wbQHЕvZo lRMՉJd(m*F["3\duJ[I\SަDN=ijwI'~=Z x2jj!Z|mi5OmC 5m#< ' !Sj%}IRYNsW)}>R$fl=8*xn%G,i3}+t4B]T|gn͉RB6hv{R6&%*[s-QI<c`RfY1PBteKt\g6tsi6TT'EiB?2\}Af_$BV ^nKޤqGG;m)YsiA \ n ih@.J zRtN jI'j('QDfHù"ҬDI Ǖ~NҲ/SI31=(:+oy) pgzBb"/Dru St+5߬[!z HԐ > `"@L@,3۷O4}G[rjYdj8(+QOcL}?yC/u4Is L0t {%0SwreYEq<~$@$ӎʌ9Nߢq7P Һ7.W9B*A2A{6dJw:]I]kފ7[O>0΄4ѕ,k6*`?= DUtNK 5iȷs VuH.5߇&~ p?H$C El~#9h5kdl:)n;LHz!xewFb>wH?kQLi>E- >laYi3̵yoŐC:(ٜUUM3,+M.2 RƓy;q05X[hG0l={eV>{$j oQ-}tsiJ`,"Mjrnil<ؚaSfQ)h4~u:QPݾUXJQd1;Nk.f=Z~e!)K:s k0#ϳ1#sh\;t=,Iz횴0DSYL9?ٯU&^4=+>8}n}Nz'hmZ쁢KZ~[6/}K6U eaͯS:Evt@jN+n :Q i4d9T3nTm3r"i.lV䑩>8Lvګ|2Hv)~=֘ބ h7=pie~;YHtxASSi+imQNڃq!XhatA&_o'tb GqfޛBPoV hoN $)l%cRs%^zl'/%R"Z@/ѫ4d:¨2qtZ͆sn$iSLduBIq xp}B˖3xE u7vٚP="tIxK)wd9EN;ִYg9NzI 'p 8pFh$򻳉tIM#0:8ρ"$]\N(Ѫ#.]}g:E&|>CSVMh,cΜ(f#쉚-|$u5K(E36d4CYдFuG{!O͑Փ/I>cR ~3)iz]0m&50RޗtL3@8&9Cqm| :ƒ[9Ikm:b]О#ۼILFqC 4s*EINTQE p;m穄MPzI;<6͟WzYx: kà"sV[@i>쐴N86~1xZJ-ٲ$-lttRb>93`*N߬sd|H!BJV9K/ @pn傶TZRD UPtY֦AwbS bε+P_t6/w˥H'9L)br$b$&9r isqAϖ=ؿإ%@z~f!WT6y86y>^qYTVΫ9Y.W IH 7p55oYNf+iGZoQ&br]T -Q7ۡBzV &rP zfZ+j'-#]iH6A+(jJ͚  äa׷ 56 ȰZ*7(ˡ,NS/"d9.OEr4{0"uR@1u4LTvr{f #@ϛӢ MKaҰ [r>|HI&R-v䎪TLW Xm|d唶y:3|N ^-ʴ\?J{Z,vRd9&R%| e]!3~"B8tR)vK~5IŰ(BIIn e! vcBGsRJN6 q3FO+UXFv0G'#RVnh M[EO-ĴHfu!Y:I X,K>&\zŔLtldbv:zn1o!k.%=Z9dG Sh;㸚KCr%v ERދQiNЬ(.6~ B$4e͇%gi%)Mitq*4跬*RV(ZYŨBCmQV;Q&EߌUy\6y>,jig_ȲdrGl#ͼ^wŤ:/ fЉ7S'EKy:*DAHkhvDjU:0H$lƂP{ōÅK9=銢F2h6mQWZV4UAj S+MlXWY"F^ٮk:,H5e -pekS?nBAs v4bo=7?9+3~hV0Z#(*|ԭ 49ɩtXpOߢd֛Ʊ ݸq ͟ϜmH7y1ۺUuuG[A4 IY7"Y1v~88$tä$f4#U|ɐl^}y[rQ1}]d1dO8٪ٸ}m;" j.br/`;ͱ HUӛ% ??W9c!#vg}ӟO~-㾶# ]z·e~IQoaqڸoZnG'F? OX?k?$[Tm>Z/HL>w{ٽK/iVT6'lHKjo}?;7F,Ӹo${opۘ7's'kc*-m:?}jm}㪯]nMK/^.)Y:{rUعytUV.ϳIbO Ţm]F[(GYEw-BylQϝ!&&3ҋ=O ^5j dxZoryU/<_{M_y?#!֞g4_c?P3t2ͳ3Owy+y#|GŰe.2 O͛}M[{zg$^ч78iY%mRz3[y6]큑f~Ȯx{Ϟxk ^ޘWf)tVx])o +;'<ΘWw-GBc2!ōǢ;ۋgw튻mdSΓrx.ڭ{42]ϼ'ǰrQt#1|Z loN>QPE8KJ-A2lXVWڧ3S8xjuǫ˾fjnfșX=9/7Z0ݦ/ +Y:ұǟ, wmWoz)sGӕFpUƢ4Q>!%}r}JO?Z7&ZZ%v1E:Gd }o"V\zf>d173G6߲}YplutbɺMl e>y0ڽ"# xZտ^_ It>?$"g'pK?IF.fy+@}[w5zӹͷU\ݼA;uk>[5oRoi ?Xi6KdG>׋Y<R$0)/.S>7MHT7zݑBv&΀y:k{>y۳⎄8_$<% U;5)k`(OyjG|\^ ųL3 4<=n9?n_ jnP]_21N˵jGF{'#~-:&7 Loe6-n߿H"dxzd HtCjɱWLF|ISӷk}~ž-Ժf#QyusۍbR=K[Kyʀ`m7B9mT%2v3-Y& * 4BEw+_d7''k=y~lr*5-?y o|F"1zdžuyX=->Փ+6JԮG&z0S{bҍfrg^{Gmޢ]͓To`7~KyS_Ze}gޣ>_ysuyq)|ɲ:nnzx^}љ72BN=^̦ +61>Ա}j_jǮuz{1o{3՜%C.QygKZB٫ AK]=X)1k*[CRfy6zCꓧeM42B~mחOB=Ob+gM6Qg5k}mz>A3(Od;dem~)!SަgO{훒Wᅠ8W`ph pY*f~r^̜ȳl~Cf00Yiy.oNS?0Xxf~9#Gӛ r;)ocl{IYvCjm5~g9uPb[uʴ竣{toعZ(Y@>Y;=ݦ'N #U_B}F>p=}8jS{z?{|HЮ,?6wTVcv<=ߚe6IHC{}=︚ơ~d~7>`s77#ࡢa=C>"EVb,[|c{ doFn6;gtWTł),}>`6Q>$XGez5*#$l9ϧzdR=|-|6_ S.q@SAZd^x7ܻ,) fP/N 4|!]6}G2/=fWpKD̮ Wnǿ"j8FsG˛|k /L x`O-{[7FN~%Lի|.[_]\ӂrS33o{[#߮7y/k5Wa N`/,><6%#4zBVد\ٖ B&Fb'{熵[+0-l=~|p>٪reW<0܉y䟒9ʇOfC^Ό,GY1c]fӿryƘ{}BC~Q?[q~li?_6Z[_nf}q-dZP6%8" Vl@eϵf &ݢ5sW bWGį%Y^Go`Y][mQ(^:Ρ6ч4[颜e|=)7i>~ߧz.i~!wJ:.,hH̡>m?_o}X+Zu⒩ի9)G4ތLrMu{< h&J yLju}~3(#xNG+$ <;d'?bz9+?ڜ f|+{mO$aԠ'Lbi-Zj姥ӧO6)q/t~C^[NwmE2-߰m+ v_nMSgOO|Zk}x.~V;:M L͙ѯzn_#x4RWܫ-}}oʋIX{ń~ XH͍ԏ| Hҹix}\Hahj||7{$[J߀q6r=޹PiG͇: zIFSw>w }DSy2l&o+GϽ38{>)RQ`o6Ft%QXT/jADzEke;hn n3ӰE7ҦޔِyӵWF]f?dǜ>5׋Ii({=_@0>!폑Ǵ=D>bʌ{b.ؼ_m_. <}]>5軦ɣ]A|~ڮ>>;Nhۏ6__^sc9'oVFHYyML\*'汊GN s=z!O&#(հ7:^K5I7?CxSFܙ( l/t0pD!Ӣgy \7svߦeNW_A|s gޣ[Sjp䦤ٔ4Ijfx0m3<2ǮsFܙCR d)I=[4[v^:*JS ^1`|*yO>s wtMz_XzFQGDZ"( SSt"!=75ےW<5zg^F2_ ԔI@ LqpQqyl$SjbQ NbLGV{>+8(_b٬4^`;-FdTѰ>@ *FP/g2g % DÒ<~736YuSM2|9Mp7aяhb~5!LE+bz{GYvfL̷X|d`0;r&AV:qxzlQ-If9?hm!,*3ew|92/ɒPsca{GɄ{p  ̿,Yw{P`bߤpOmm)Ev2t`/9`Ze5d*דg;O{`PH:/m'Y=ߞ\.2k#b>2Rpsvg#bo< y}kb|/p҂ µPWN~n(;x%BL" .9)m6)2A`V@x-/ˢj0.6,GSb (eWꍳO __uPMnd-tDY}ΰ$"L+ i)u@s|3JiC/f`沯".;Os4e=xԫb,nXRY*iK|Qa^,H潾}g;ϥպiգGbBsXv|5sLR}*G928ŪL>*|Ԃ wsu,:(ntV/u*KQ)l7353 5Y?[/eOquF S$ 6ZDGu4(,Mo߇oJR̝Xx$'GwIIX_Hn&73P7͛s&Y))t3BTt OTFiLRCB]-A0x; ffJ<*yJb j= 0Ƞ8ԧ[Qq!BTa9>1XlΆ *!3ac>2?F^V0A ,Oe@F,V ,PYƅd^-Sf0ݑa 2ҏU 7}l$VB:3ܛPǷg߷W_oң[73B/r+ 喷[Z!V\`%SyS~Vf8ejJWuhOOʼn W^>7 +mz_}ޯ_3$ 68hЁ]0fw%]0ZNI>7KZIQk# 5= Q)z=}+Ƅexfs^M3dR؝͟On&/=323ż.#eߗ HX(,uPj0tw#9$įf?@ˆF[&m+z#[[LtrV?$vgΧNInY֣9?V*|4_ =uĕϜ?Ғf ߛ,_FG"QʬL!SpSA603]}Y7Ŝ:3D7j"jp+DA'[r,%ӳV3>HY6+ XwHGsi/`.>_Yf39BrCɨQ%t%cqf7oi8 uǏ+YZZQ')wuWJKAY O,j5fdmzu N+RVCcP`3: WpXij983,f{I 6szTԲ57W윷dKV. 1ͬF<ol  Y"۪.>+$ %s8X߈U?d_>%rlILw0/hh|d/1;4Z'x^ R2T1:4}O5 8~OmXPgm4soŋׯ>3W e_p5tAjf# W[Kb,'9prA5,5%`4%dzjAKDZF}cUj VOgi0Œ[¹傿ĀsdX#[duHweW68kG]Ï OT'D%%u+WҹB܆%#6ɒZtFZ~k(JiXd5Z.+ﻇM \`&{JZm+he9h8Wpz-,ŋ l{8(ST j6qЯñkuGQe=l5#0r6ndHZ n_p]N"Wa+yY'T1 U~ds۞_ߗlZ'N찓؅FRа䔽SۯF *crؙzOeߒ)@FiyoK/vNEFE)-G(NDb/0U1bp_}Qs0!31OW|9>>1 rasSZ Zo~!'r.&l g2bppVT&|v/+!or~\DƤBcYH)>HǪq7Gߥ8V\AD3| _؂Rk8RȹL'R2d⪾'ٓ'kuTo33QóŶŎH>43 n*s?7 {gK uqӿ*u{/%8:i3.HsVnYf/3KQq0I`%s@$Rcg# o{ܫ_O+M9)/C1X'預w5?9_Ś hH`Hij.Cqda $x(>h훥` zX2+w~jqL_x;ޟ{Oo;uZh3.ݵTPe>=7;$B`$ιnx*wL3lK%M v^rGJsĽ'Hˣ.r$1ig43xo3- =#Z}7(yN8JkSl J֥q2T7O<sFE'1+WU!f}K:>7gd~73-~ y<&RyAom<ɩ%1컦$LCtE4 \ڸ&xG&X~I /'?0ʗٳeHgMMO\W Fx/)߆}|+?'?Ɵ͟( K*TצO~"I0C^ܵysC~#!~cF @^w"ɷO??U>v1Oc4]o):PtmY^]~G٣Gk+~%YYyAd#^ϧ矐BJQ,8f٧^YV /.^\ ϧ+|>'N~/&EjtÀn{,9S05E$v5\)lזsJڔ|҃K{TwNc~F/$_y`VrͳAXs8Yo!Wt P|۷nQM#i} k:jmOᐊk6z+:-7zs:[P ziŠ-.#>wg9{/ӈ?>ߜywd9ns\9~5-7o~{o>ohTDDVZsoRE/;VHt)-F9\ǟo4&EԣyL?onRikS ޑx/L%$RҵOtd},7 (N1c/'D+9&MJ|p6j&^—7ֆ)$\itszuWK$)wVNCkhMJ)&2ݻ'ltqDE,9p}緵ǟ"Ua?~H@ h;c'WI7& TbKԖ#pӍZ`,h PokpW = >rk򭫾0*R&Q[Wvwf0um;h3(+'WL$*~f= ss]zl/ncՙMXz`kwG8F^|Pv,`}>)mMKMO͚.3ҶVCn Gi[d]q6,N [wÓ'3ןoΒ׳z5jmzw÷_b0cdL%Ո?z+n/h1?Exw+|y Ou14b_ױ ~>S&m͟ W/[qtrž/5K?U;…6sc}S`}woV>=(C2;oMɿ*ΦX|x'nSj1VIt/z_eOn7qz9:i[?kN,g^4[`F[?1RGoz~owܿ3O7سd=.%?OBğRk03/Kע Ikz[eǎ͆(%ԫEz p]u/|tsf{c|lz_9z3:YgO&cFl0^~iUsomzNhתG&mpܘUGQ1ڠ4uu7 SSg9ܙG^d5mE֯ی⟽';p<3wדl: ,0]qܾINp?+Mڻy&U&>"QQ=@I[A|<|lсiOnQbz|#;(hv=Ų-[;o ?ۯ6ߏ΍ߞ/}DԞCS:m:lO7kĞ:nSd񭷵% 6аR">Q|^SC L(Q_͊2&Ϳ!#/b&3}3^d{ h?h7ePk[$WA{wCYYM M9s~`H{Ώo 3tvm–F6m՟K2|#% ov6b7+G步>ݞB(/MMuKTѲU0?zٴx_oP{iDxC7|-4<~{.?w}}O+<0Q}3a*l?lA٪T|_'Y]" 3/◿5̲; }<}~7u gJ>}g'Oz xf|0f{=1?9^Ì1 "IU6JkisAhĺ _||ś@z_|ur3l`q`sn}?V]b7XJ >$&__e.nn6gmȓ̭jҮ-> )OG 5~QVKŭVy5-?T(I7XvO>0o__nn w^6 xI喫Nfu#64iz(م~ug6E3uUՐ̨M`/nEn?"4"g#6My,c;B ktS~Woo?&YW u?hLvd6Ƿvo?7*؁|؎qS.&\,_H!\n)(;CQ2Pt_.Ѫ O>A#*eD,O^\6*K1T6oT '% Qcu܅?7=On~?I:7`gu4P&ŊUyπV >ISDqN*"Pkx HXRr~T1'k=]~z^uǭ$ Ft埥]r?=~sO Oq:.IkCv4T&ҡRD9yɔ]":I+ ۤW]wqW(<5sHH:Iq˲JjwUeGlےQ}s&=g{QY5y; zZ%{O0l*+3+?Vg>lvek3E3GgѸHvQ/PϪL̹ >za0nO^tMNw.Y fŅr/,rfN_s-#L6L )m:" R3S@y?'$鹛 e䳧ϴO'kt l2a[RaqƸ0X08Lom n:4[BA,sZ MNId|6*Ybme`KJódYqҢOdż)yA#ܯ_o 6,w ]jY-t(Y3(99vofv rR dL|rhus`I<R}תd`D[Xv߿ȟHv3͕4Bcuxܞ94-+vgJZ/mU6[>@98|-Ve щup[(D' uEwhW}IY>RAPM17G4e [`#lVGG-$ ή`贇ʦsbR_^5 _H|P̋> ^)GyV<x3L[B!(,2R6BQ@TV V$h.+:9VX ]4]{P R˂yLrlr!xܸĝSElFݕqɹg]ΛC--8kB`\sQ[n^*8(QdZM#s[0u qperM*"nvv t37Z(' :?*Z/?[EkgO^UkoX ,hVt\:{fXo4X[}mkaSW+ɖշf95e}HA gxY */!9d.Kr^&a[i>md7\n453 -QWP+ד,0͜U+G>؃3ˆ?Z|f!V_ݷ(\"΅KF6D wT/=nYUh{kpu0|z& W׎P嬮~5-o!m^iEԅ94vz2(fn.H*]̦@%y_z!_TD= ]Z$oBaʂVp_Xp2;O\zd2XcNHZv"dtQ9 ?.]Dүӝ7;~ͻkuԷuhߪ?%oVޏ%$7-S|VXgm?P.~Lgx"tP,Ԩjysn`;17猧%M5zu|m4KאUO!'N6?ά۶