summaryrefslogtreecommitdiff
path: root/fs/buffer.c
AgeCommit message (Expand)AuthorFilesLines
2022-11-26mm: fs: initialize fsdata passed to write_begin/write_end interfaceAlexander Potapenko1-2/+2
2022-04-08mm: fs: fix lru_cache_disabled race in bh_lruMinchan Kim1-3/+5
2021-09-24mm: fs: invalidate bh_lrus for only cold pathMinchan Kim1-2/+6
2021-09-01Merge branch 'exit-cleanups-for-v5.15' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-27/+0
2021-08-16fs: mark the iomap argument to __block_write_begin_int constChristoph Hellwig1-2/+2
2021-07-12exit/bdflush: Remove the deprecated bdflush system callEric W. Biederman1-27/+0
2021-06-29mm/writeback: move __set_page_dirty() to core mmMatthew Wilcox (Oracle)1-24/+0
2021-06-29fs: unexport __set_page_dirtyChristoph Hellwig1-1/+0
2021-05-05Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-6/+30
2021-05-05mm: fs: invalidate BH LRU during page migrationMinchan Kim1-6/+30
2021-03-22buffer: a small optimization in grow_buffersMikulas Patocka1-5/+1
2021-02-24fs: buffer: use raw page_memcg() on locked pageJohannes Weiner1-2/+2
2021-02-24fs/buffer.c: add checking buffer head stat before clearYang Guo1-1/+2
2020-12-16Merge tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2020-12-02mm: memcontrol: Use helpers to read page's memcg dataRoman Gushchin1-1/+1
2020-12-01fs: simplify freeze_bdev/thaw_bdevChristoph Hellwig1-1/+1
2020-10-18mm, memcg: rework remote charging API to support nestingRoman Gushchin1-3/+3
2020-09-07fs: Don't invalidate page buffers in block_write_full_page()Jan Kara1-16/+0
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-1/+1
2020-08-21Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/t...Linus Torvalds1-0/+9
2020-08-07fs: prevent BUG_ON in submit_bh_wbc()Xianting Tian1-0/+9
2020-08-03Merge tag 'for-5.9/block-20200802' of git://git.kernel.dk/linux-blockLinus Torvalds1-4/+0
2020-07-08ext4: add inline encryption supportEric Biggers1-3/+4
2020-07-01fs: remove a weird comment in submit_bh_wbcChristoph Hellwig1-5/+0
2020-06-02fs/buffer.c: use attach/detach_page_privateGuoqing Jiang1-12/+4
2020-06-02fs/buffer.c: record blockdev write errors in super_block that it backsJeff Layton1-0/+7
2020-04-24Merge tag 'block-5.7-2020-04-24' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2020-04-17buffer: remove useless comment and WB_REASON_FREE_MORE_MEM, reason.Zhiqiang Liu1-1/+1
2020-04-15ext4: use non-movable memory for superblock readaheadRoman Gushchin1-0/+11
2020-03-30Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-12/+7
2020-03-28fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular spinlock_tThomas Gleixner1-12/+7
2020-03-25block: move guard_bio_eod to bio.cChristoph Hellwig1-43/+0
2020-01-24smp: Remove allocation mask from on_each_cpu_cond.*()Sebastian Andrzej Siewior1-1/+1
2020-01-09fs: move guard_bio_eod() after bio_set_op_attrsMing Lei1-4/+4
2019-12-28block: add bio_truncate to fix guard_bio_eodMing Lei1-24/+1
2019-12-01fs/buffer.c: include internal.h for missing declarationsBen Dooks1-0/+2
2019-12-01fs/buffer.c: fix use true/false for bool typeSaurav Girepunje1-2/+2
2019-11-14fs/buffer.c: support fscrypt in block_read_full_page()Eric Biggers1-5/+43
2019-07-15Merge tag 'for-linus-20190715' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2019-07-10blkcg, writeback: Rename wbc_account_io() to wbc_account_cgroup_owner()Tejun Heo1-1/+1
2019-06-27fs: fold __generic_write_end back into generic_write_endChristoph Hellwig1-33/+29
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-01iomap: Fix use-after-free error in page_done callbackAndreas Gruenbacher1-1/+1
2019-05-01fs: Turn __generic_write_end into a void functionAndreas Gruenbacher1-3/+3
2019-02-28fs: fix guard_bio_eod to check for real EOD errorsCarlos Maiolino1-0/+7
2019-02-15Merge tag 'v5.0-rc6' into for-5.1/blockJens Axboe1-9/+10
2019-02-15fs/buffer.c: use bvec iterator to truncate the bioMing Lei1-1/+4
2019-02-06fs: ratelimit __find_get_block_slow() failure message.Tetsuo Handa1-9/+10
2019-01-04fs/: remove caller signal_pending branch predictionsDavidlohr Bueso1-1/+1
2018-12-07blkcg: associate writeback bios with a blkgDennis Zhou1-5/+5
Ƞ̗FMp ;sdҹ|t56C/j<_߻ o5Hs}@=J5~zH#QVjv;1VdY2Φ,S>P=ZF%vM?9 x `]c)BO>98v%]%j9S:m%ԗ[B[u,рLOsm^\;E-$zvWXH]3f\MtLrCࣝng'a]AeVq.dtէI n2w6 xSכR{|+=gBZcu}0 >CymJ%ج|Sדgg+z%"Z(.5FgTyA>1 艣Wʢ>N_b0[14<X(ّXc;zաK:Bњ& B|ԡU^¢:&VTgM);ٔg^~$#-8dw~p` 1rvN͞w y 7뫙%ziv2}HsZ.=ss>NA}wv> 5ƑgTqȬ):iW? ;)BX<n"ܺ@|сF3}nB/)SCMu֎Ml/|"/s ?f^ {+>:mM˛XC GׅPq}ޅ4$,]mb?pb?#PWTK'^Ec0[^'~xXH=L=JWr}[ 9,~FQƩjlɦWvEImnfN+V`#~aԫVC- NfۓX ӅE}%y!rݵٶ"GNNkĐϭp3$867DZ*z"/2᤻\8zz?{ڼe@i6cÔKu: x塪c2-UII!^^jZ `tNf >z{a4 gFMMWvJ0'IjxVEszqrq0~>XS׎+2a5l|g<4^឴6,]+"+CkKE2 i#,so9M%/YBӂդӗ vIwi:nY lYwS5Ɖ&;C8)s+OJj:$o"<3>P}Wi,zA_!+eL^RFV֬AnبL!iOpʉV܈lߢ2\wݹkD&NB5i֬+5@J41\)8R I4&w\y1-4nR #3d:-_B>m%ZHlM 廇;2~Rx ^DUo Xa`$OHZ=Int4ML]1;D,bbz蓩Pv-#{+ڱV$cu s0<[I:7x}Fup'qe?(OV@G Hn}CJ`}2KvNK H1I` uDz+4ibVi3? -M]! s+l9=˖4I33,x[nxphǡ~ne$]gaO] 63VQѡ49 A(Nb/1Bd9G?:B " "θ%"V\-"SwX3a^c="glM9~>[2?ɽ~v6܈:E.&Ð Lt m%3U4HeW հ€}Mcmp4.<9;"(Si B- WԫvYdC IzͲwv[E!$ag[Z}#!EO;q(6j2MNe6#P+jH.!џj)dn( Im5J-+n˚Dui {O )~r99o+?b%L3n ٨TCDO?4Dmsͮm{SΓԛYy?64 i0>GN]cKS  ڮIvuNTwͅ+Pț!MVHm"!$ӈ>w@ A[ 9WxWqnYѐm4I`_F~ޯR*>o8mI;} tRRjYYWiXqZi69? =RM;{bg(4q9+w-t'c"d6ó^:;{sr)SCz oxC8&"8w_GI"S$8НFwr hCU ozr,jTo3H'IbHcr5f;_ mf`jskQ|J*g-㆙2NP,t[O+Zf{ָ\iGq_jhOss̾R*j2a}<4TeP-ʐ hPSJTޫ9D =8CWܵᤚ '>N |>4s"ݝP~yI,D9m% ĔYB o ggf9C# y2L[2v2O蠨I=,1DdL/!QwGUU0ؕ'o`Bg&bQm5r3^١ظanƢZ4*d]hղ dzC ּia)9y홦3Zq"9UhLs2AE|ߠ/?@0D$Ox6R2\JkqʍägItUofh6Z䣎H'*D\CwɊ|W"-SsJ &;+MKQ 8'l7!Lsae6tGnDoNb8SRidFGaP 1l*'5 g(&鞖R7ao=M+zr>֗ ,s]w Lpf=wP!~_4lJ tz]i 61*{Z^ծ7bgD(%(h&l:+x2/kJ^ i|6M={F^qMPU5mXOzxxܸ(ɘz|o+BҒ/>tG7t2DSmـRmoXqK b ga6Ѻ|nPt%HwʍƩr6Bl%( 7/g/np8_~QMvK:Ɂ=!R锛E^M$}v kkv3ÈN^dL2F5 `-3s0&+?zGincUƃMN_D+³8ksk̰8Ă<In]8vu](6YiQW% ؈pNǸ$GƁ]i[iZReb 8ޛhf1rX6r!Fb oqLAd2Qo{m}*N(Oi&uA HTБ4jȸ0%fLڰh_A}ɺwG]r/Yhx0=rVseae6Zw&(X&;]xc-ݝ߆AVݽ&;oBnUMlܘldvߎ og>ܷ ak~ǧ~wޑc]3c68da$:WHh3wI-b4흵̦Z4$w/M%ƇB]ڴ4Wf"95~A[PqMhK앐X)wH7l~C 2 $Be&r?R]H\^vC|@jknzt2zk=#yɤ%&Ty8{5M  HB & 5- mnE!E),f(%rn l8i ZrC:B ,,f-|+{/YJ. 8ܸ%IݥO>n{v tuoFMRq3`ZNߍ-l'Poi 03nh ڠ5i6PjШlUQz U[VU.6%0+"k3pGúےiUk"%5LΨ[,q$$+V܌(K&7x,j(wc`}tbhԚp=5B sUncLun&V $REofEkXT&p&d$ xů"^W"q=4|:)vKR+RG 4 KV*&&bڳTVR/ە|D2'lT(s57 I7Q`)2(K!%GмjS P-<6yMb"i yC}n(0@ACuGȝ%leItn]$ 9_B:[lwNs\46$<i^ϵcMw~m3M-AkTU,w;5.DzJZZMR g(¶4tn/AI+ Zj\;hZ-[6ZєdM R.AiS]4*: "kGKc);; \pٴ7]j/ijNFO?d^{7MYC؇[{Ր 'VT+ OhGW[ rin+dF9ࠞbTAŁ"#w *+db* kN]됏 JRa ODS)ax@?%3{bҤ~$8nO@c}z{ī'0 p?֟Isqϭ-}Ck'kӡz\i uRڪW$D̨1Bwү~QcsPS0c:ʳ frbOK "ǫg7¸s(uZemUAtf( 1Iiu-BV㤑UdqfA WrTzw' }BJ14%=6}G:sx*reOܒOR# H@'D=r#+}A nC$`Qhu`3@&LuMUVsEt1E#`"#(HF6^>F/1c%;γ^q)! 4 o>ԌA"!f SbOvR5WezO.V!l'Ht+tR~~Xݭvq3%D /<7*$D:c)""=8}S7IaJ@|逡kˬUpo] 4ˍaD*@VY[FUkY9<"-X_{q6}13QKQKրoZw F!- +~anO˴ݓKT}(`J>f8$ujۛ"Jf4j-{lnEvb#3LG`0 @lTvi¼hg۾^MF$7={8))tab= Sِ; UO>i9ehuc'ʏ^yn w"5fMf37]g4|HO4zgj@RƉ>GI*̓5AWT:P. dW2q^` l$WZj}&ߑ p~ a[X6ZfhH>htv.jn'c bKprer 0gX#ǟcJvEmpܕuX[m&Nߘ1m'yUhR@&CyD[JCVR$L}ƞ8hǞ-I~I vXm%S H~!ggL͌[ 혱C癵QӽF Bb?!L?(hpK GgnBv$ewQm{̈_Pװs6{ޑTLv>pHm!`f5wOk]xh}n`ڙIQSFN QWF,N5&%e%d"OmaKBm}d '2.n~P!4c);yΝ…Vmkr3^,1d'HBMF2{.=3AfQsn')14t?ܐtT'TWFFT hvGmյmRҥǝ} 69RV{}Bm/VjxofjjD9"Ue@g7 kZӌ]Z+_CP i1u[Xi6%gUnB=^s[wa:oU-g њOdaaJߙT *4QCV O %k-GI}ё^_2bM&pF_+?u[%xVqzr d3fݧ͙n d݆dzx7|F=zx:>y;Y@VID3c:wO.0 g5M+)∜ΆƤKbܴ 9$hsȬ !WIg:gXJzhJw5i%2_<Е(IoIȣ=fJ379ӭ?:K֐QMwꮉ4)0J̍@tԥpnR:GjCV=O/jס⠾@JF- j#P>0pWJ+#DA`FHFK, ËJEfL}t] gTjW?d&Ah?;_cBOcЇU6` K( u8Nf&ƈLzւjjօJ2o{7us4Q7 ' vԟEEqQy =WKjLwcߑVu%t+[pbB$DhM?kXy'~cq[9{^0/U} 7U ƒ^ȃ4t8+ ܏𷮣0>1gIQ {E<-'w3~yoM6iCԐێ ;IĕVy Ꝼp6^}]Hp9ߨp CС;6w/HoU)z |t~3@QkBgi-lމ<SkI-U%-cK{`:P=8ȁf°SJ5g5I7 R $n,LcHIp$63J-]pdMJwЃ-[^ko(碞e! rMVsv ڀdّ%N:t duUyΰ[%e}ߵΡIt,vCdr[K{lX{]skͣ]ɬr揃G86LOޥqNby&n ݝ1As5uaބ!}}K鹙 .sό4' /$BkEg^d < ?bfJrNjLJYUzţ;E~HlP끙p"m;Nٶ~w6Mo]->[Äȟ; d=ͯo+E+Ӷm"XP~Mu#op||Om 1In0G Sލ:~({Znș"$#^d"Sw^:.p5VCr]L2+y*F~I ID|8/"OO6pC;\v 1qↅN ы8Nq8Yx ~y{H޴T^?9|.+pm3:6iL}//j ƆYpG]pe${GJtkqhb)yYۣ4I)f/- aEAY9\Nム4,E}?_P( ?ҭek?ڠnPiuc2Uиr> 8LEPnh(軵v%N4W!r$aq :{p%Ɍv2+$sN:xmJ+I0926褻AA/@gymnGȳ[z fNPMr|-m?=)ޣ0f4 K-nԠe|=`-g<_@Y HF[gJU* ~#}&۫LK Fsz¡Ts}Ti7+ r!lEp n6k 25UgT-S1FPpؠOt)ޥ}=,W/32"mڻzf>Ϛc0ҒL51fv PI#k̷t.(v:JhH+նj Iz2W$Ԡ3NNp՛Ah1(і {dZV PMc^{:MwhF1wduey3 d |5̂kjG:!NY\kmaGRa|y?'";}84 s8^XLA,<-sAJɢڦLW7[oY&şڏ% twuk~ҕA(6`J}ّ8K?Ԫ ckIT6ؑhA3'Sx3IYL&8J 6twvlB~hWJKQܩqXj}1ڪ?O6]ծWzUٮ(pി⸨/(C'U8ϵO";!@BPB`QěOYv7G1ȥ2]=!4ds\H^iSZLZ\b]ɦSbWٸukac8 %N&̶z]Qt {{d l[ƙ^XjT&=k2*-|T0,LA[G{c}XI5@G$<'Ѥ|#ܤ1Y0)f@;>}:"]iۮK$Gou?$Caǃu}an q@ gBIE9O;~VrNjdY[^&~O9b,wJϑx;åИà9Z\I<0m R]oj+wKr+V%G .5WV9/FsG[y6mlxJjCp~X,˜%KSKYPsK/1Molg;] 0Xe4djAB\2^tZ;|CRl24:X̄@L?@@3%&Z+4Ѝ!Yd[)./ z^Z'S: !Uo:IGS!eI22I!tMk~㽤oiU3KQ7.-> CP?兎\J.jT kKhgJ5DtwQ321eė7Ǿڸ>}ic6Kkc(*sU7cM9t=H%ifJltm\asR% V%63fP-ouzP\bY@^+ ]U d#G FūZh$<4U^׊^`>1G$&S VFSĠϜqeORM~mX6ݜCtKJms?@۾@!tIk6[ΗN$_Z;:V֞stm>4d{mٙ z2 5wts04Huuw zzF[pod8PQ hB?XB+kBj}D_}؁-5>+  2۟#&žp釧-j/Q°RFu4|;2Y~S[q?.[o.=e].O{:Fcg𞔠1xX;q'V@9b;_}qh4CхGMX;eF=䅂Qe GuUgrϟ=8$7%V/a]SxZ}Z'} [vM:NܲXU g(}&1 ʥS+'஀Q5LItq#Lv~cB:~+j<h-+FOЯ)5nۮUi0'XuaR.-kq~~蝹Nx*VH>OJ 2銔DmvEnjEM)A/ YNS? (τ|},hQo8 4C:u2g%<ġ:ZEiL;gtiRݧWKB5Ѻ^}u^O Kx=ө6{6|S&1&7=du^1aӃo6̱;sCHE8o[z BA.7͏E' ;Gpd-lvY4";߅AI_+@k6Ğ t~Fe'ArDRBĴ$U~>U|o_@ЁN)0S,6vClj*AA"!Ӣ5uíGh. 9!ei w:q쓅}G6Ck.N7 [biqPr/pmϟ{gz~Cznl # 6[w; Id.yo|ȮKFLDR]ɔ8 RJ& I{;"+4_>oG 4Ye銀JЇOD,&;afY*զ}KƝ S;,;@;ΦH9^v]sHO QƑmXXJݬϥ3T|/.ypH#h4ș \S.bq@?I(= b# ]z\J?kȗ{1$@Bn0r2>G$me2*O@qI[͕3"t6 BK6.ݫ 0P*XTNB$ɂ9.hgU-N@=E\W\gRF\RdNȎƛN9Ս=;D=|v Ar7y۸H +au؀6j[rJ̃1UhVO A׫!`}PbG]Mӳ|u\z?Oج}ݩ lXA@=.ւI_/Ej2D:XjY|Dsz4ZwA4pzdjAn$mPf.-S4ő./ε[Ov~aSjV1Dy!lAyNMU8,QĶh,>;A}$G"vtɪi*SZ7^1rx!T! T0=R$o<21ҙ] 7t&F]M{'raMQPxtQHn{Þvxy-~ ۙ㵸&sa=OθƉ̷wk+~"w5W{Bk_IV\Ž uUXke@H{(K0=4)ڗg+}ҋj6 ܐ J9|2E#]a_MMD0-É4f[7Jr-@ Dt -&#ZŨ>Jܡfvb=MxChv`{ /`)uHdg 7zؼhR =s;ӥ-=ߟ;LRj 38Q'{R j;5܄ܶYq-?GW Ǘ!5 -BrE-w&Da腚Х$i7oZuyҸoߚIs [V`ՂMU[ۘ.1 B~Jfcvl|PDw薯,v`͡ H|g3;BWvP)fqh@1@ιn7I}:zn`V4a&s!Wa$9'PcWo=#N@{PQÎBUZnZ4H l(#e]L@sͽ[! w7ԁ$dz-Cο#s@oIQWgp# _kYKG<;!Z%ۈ>}mcN+H[/F7c2hI${_yJ<6_1X9ND!aps޹́,FYw/!A ߨY{Isv[V&2H `}u@u*KV*/iaTҝfT^xoP^A5vHg'z_SD]!w78rp}w&Oe֠kEZj* tgʾPv>i0 fR~ʣrKdw@ǴB&mgDP8qo*g,f''Ö[JҜ_Q25a( A0SZqc\D )\YHpot\H0 3h;K}RW!ѐ\1>W8pS6P Fn}DNp.B>uEps"n'YԻ7yTd!sh.9|ۣ;>ꂪt:b.N bVkMO##Nܨdا^7Ƥ_\'-k'1vEvġLW% +U #P!=wj,H2s~!QLY 1IM_hBNZ.eP1E6L}0 M{kj߰JzyJʽ}d3 0Fcy ꩥ/3l(JSְG hn-y4Q-fiOJ%RCߡS_\l~<tCuIF+SZFG ` )ed::IvHޘ+]fK e+l. 3>c  @Ņx[0WvCgN(>FZ蚱6H T~X̦>t2d*sL5t?5q)@B {Ag{er,Sݰx{wHiE]9 d{7#Ɩx2+p}hHƿ+Ҡ͍BBj # *|ݎvI.:6~gX<[ŗE:4S6MLcI$ڎO uf;S%+m'삜:ۭMn#n/d͇$'A#kr;02%d[O`rlpj>;wkG1'eeF?^-ZROq7pvKžM'leC jU.Whѩſr/0JIs[|G}ƃQU="yR#ӪUUMU 1UtKap)_gdtv?#G 2 ȼL\\͞= *ݓCȳ'oj\MdɅr&+'#9!URb[.D = ~q: 4.w<&.({Yl{.lH]Adk7sI{BZ'+e"[ɿ4rtx=Mc\obzk7s#NF!4^4k"*Ts͚"+tf D6)0]B2S)RmFְ%*)9˃I71丆ńz dO7 yB:nv M4g?;pʖ0K2"Ӊݑ5ڭvqkw/A:RjP;=n3py}"7Q 79]S>GvEK^[.rERzGhސ:od@+N eKn=0cT (>1,)Մ|USvɤdnCn#jGI6'XĮ^d%W gji* %Km ܶ+@E oͥa' ᨨ<˼#oU&/fl9)!95Ya/dev>ΠDP&!OI庣OggY5I9\+YI'}BxxAvx{XNǚ^.i|o#u(Xu 3 t82G/&ݠn4>84Y)8*,swӌ_q>KVurQ Tȼd# =n<1ڀ?uӓ-O,; 8x;]~wXO &/ d;c ;$XݠW =,C[e^S> K9,#f>q Θ9OEFJ͒<˻)3c$} qs pwEd8d 5'i&j{=I忺{d-}&D9=irJC FAfnT)\S7\n? '&w`-/iaq4*H/N_$z~|*ZbOJ5L*C59NoPfƚjNRhBV.ŴMEn1ɕߙXK>v E.kGU2<̊&'n|TZC3{t( stnZNZ8[j F賺s.Fo>.r׎YN.N=RhJQNDp2m Iwe~uI~Y4S~vb<e<)MJd^giP}Nf90uԮ.9Zs!S\] TUp=a3Lbg2+.B~Wdl`x ~L1SY Q_KΆ% L;$9Et}4db ]J'df?hfb[4dJS lQXCuE-MF;֙qޛZ,PЬP=[5ɸDg,!Z{KH52݃@h}R3LG^U|CAwQ;,\fl` Rj54us9LJ5D@pg- ZۖG%t@!.!3H3Lnc+@;Bygxw{<-{LȺGe{P=YƽfEDϛuuv(r"i%K5;o!v#!e{iЖ#sNʈk(Sk]#U8|?'2c5O-YS&:8>pL8^V*ŢnmIFOd kqQ\ |0@Ҳe] Z'_m4b:jKM&o. ۉWv}x.r͌2a4xÀ  "/Pǽə)Қ }E4HD k1D$ze?0 "+B~'K'vhI%0*P<ɴ3h:(h=ˡ g~>[l9)ʿI"˫Y=+?oJ ULh=r2 OM_@~< !%U獎aif',oRo8~qh|/ֵN:֍(Q$dƺz _e23in5rX-_Zv~x/uIQoc),`:LPr]t:=﬎QYih2\A@GՆj\%K;0j!2AvG sl)ʽ,).y;pjLx&+fm xɯ1z |*Rj$٣w;枞sPM,t, UK F `S>l9RyX4 f0#O F7& q^ǣp]t2%A$䐍r4~^GYu5sTCW?K/RO'Κ{YWnk(-yr+䛏A(p}+CXwlJa?Uୠ;gGA}oH$Ad Iw?BWwY IM_b-2moJh . p  4l_ _ 0: dBϕV&s30s<ħnDt,&m{ [" >x6MC&vI#te#'*$`Cq^vfmƄId EƷm((Gh>u9bb#"őtp{9I' .L@!܃ @3Mk 99%7k`冠ɂgXO%[l,J_>@|,?b2{ir!V4d9ī'm Ha)nNCz$d;*@>.}DKĿǽ @d+ qi?fHi˛55FHNͼ揲-&.fLwv|p9[]`9\^q3tOis(Btw7&P677> 0O~DQ[j&Lka-heuw,>QZf5.\C(?" y*-R#F\n-2`*{c6 K **-HzP^dΟ*evx=wuo9EZtauC|z3LK4F3i#E p/”̈́ ;GsMx٣konPifSTRzg ' bkCoM㋧)v hgh;|zT}1qH[ |rUE5Y>+fـS$βyaE<\P1 ^IgUP׎P*j@tK5]@V֙fUP_ =8p0?/yQndqUd-[vV[)$uD"\j2fmQE衰_be[15Q'F1tfWL*]_Bwҁ?p ZBSl iIᫀu"cUZ A]4hs~Yno-<9NV 3C58rkl5 $ rU5߅3NynȔTt2C2b%ߍ_0)y6@̛o|p/ɦ2 #J_GpG2, Jg+7G_ݎ!_-uI>?tc~7t\Nk9T Un=D_^ STU K{cW$+d,Of=?: Pyzn=IT|&aj偈̆Hm 0@"?q|$}υ?HuV+fT%vd\<^\*M}w9V9q%{yc8҄iIN%|)V*V?9o]XY 87*3{@NDne]I8U(G.| #I a']ӳH]J+PazxL͚ LԽOFk"R{;wQ&T}@7F!Cl4{ŤbdhF J>XGZnx ̽ܓ́'&@k{r":\DQWZUaF`-P5B稌U2$Jz?j5u5QK[8KR,&C!Ô7bClìD<(7*t؊5TA[ŧX9amo.y+xVqy);H/` F.ZI姓6sFs}ڕ)$@/vi&dr3z=34. aMb=I F<1`($r 1!agn5dV $lZ=' Dzh=˄!gχbcLs##miǮy4lڎzHEԹhpQhQWFt A?}&Pyȓfۭs$WnRC>rP vCxwfOI:~61=d%asʅv1$[f4phϗoj]q'9(Y"`-C]]"3ط󻱜!0id0 odO,'.p"\++Mfz2Q)b&u\0f"Nީ>_e;OZck7Mb@k8 fkA2Tfe}ALfqA&pQSшqS8COz;w-mAipu~1i\76nӉ-_`V~~gR& i#娱-xF]:~KZn8/ OI^3'o֎Tt}˪gb#Ydp\'|:퀰S' pK$>-ˬtLDa/+IRUǢ MIK]Zb"ZfWy֝11+m)C~w'B6o rFMaz$i9qvVUڰp)"US6-v&%q6L" /C|u* }5 +o߾q?Ahk@7&.)F6α\9vFn u0 R%ݻ1>hy IUۼ%zaҗk0Y$r:X I:޾8dNG#kw뿊_+Q= o$MIت:!v>M}y.ʒ|5!^Alo̅1rW[j5j͑]L,JrJ_|o+yQqo]- ', '$4-dtEcݯL GSqOIe.^}!i]rJ#hwGx+sP W@p>fyjI:v_ȃ4lt2%$ճd?[nF/nL~w7&CnA 9O^jV_j{}zzgCh=i<3ra+Q|a2ajdWi؜ti4u#+`LDo>g&9i3t?6QAT}!38ɝ: nQ8P>4yrg[ӦgY 9s@Gjլwo8B/죺|iҨZE14͘ehre=|j\Vѓы]wqm3pƂ8GrK͜%i\B!;#^yr=Ik~lFw~<ރi9ş^Z{ L "TA$\n5#M8H: -! V+5 W˥nCrih3 % :ϴ=k)4ަgCe(*]%B! [{UEwE_lHsC 1~CuK6nxK*t:IF5SG\+#Un TSC-@{;~GZYɴ|COTD(7zJza!--/0]!WJh|}{o#xY{՞iItlO ywxC=ll֌=<ބrFo|w(z~ތ%Q:`LvvP໠Xۯ,.Zr ϑ'HY}ouBmt289 vV'\'Iit/{!HB^#{%}(X.tx.}}i՗&%%љf=(wPXqM B.Ft&w%4j;ٯ%w&\jVCSsEeQ{b35KF_W!-R['EtƠNtHgbڪ>-5XBЖiGJ[W,%_79IOtݍe5=GF䓙@hכH(sF",~ЈBnFz:Aݟņ$Wz1pDz-y0'%QNI(dwū-e3g+߄*ח.ʐqm@^{f-Y:+4Wg- TVI]lql\̮͡]z ;e6+zNaNHz_G$VBv–JT?>i+]$=ʮ4uui׭t0{x:ex9 Z?zQ]{ܝL S]]תRLշ7n˹+ ݧ!]g6 #y<2w#W6RwM֌,z{$W<eFGT!A̮&?NM#s?\ 1y&;Z&;*7e` :efcDC7WDXvyV6iqSW8CVΤIՌ8'XPW@ #'njpX}JZ@[Df[U\lȓ<FUբYGp3 O$(ҥXfdmop+L~nYKck[1~Mn (.P*9u)lcCwgz2)ҳhv`nt@h؍bpdW~pPd*vK ƒ="t̅ށ y$<)uv4C5.9/c5i5R ](sP+{fW#%j6R74s1aS6[1?K[iz`*`d g<}%s 8E#KU^.ېUdl^W)vC3uJJ7vWHJs3Y|#5Z {\nk2pW{Gx3lhaUkժjd~F}~Fkq_)2̄`A ,(u>GTͭ|ykɓ&kx9%]'-q(V ͑A{z/1<;9znt~Bv:kL7-O_!Y<&t?M0?F( oT(CH0HmcVq5~;qeҫr370١ P T3k>"iIQPA{Nf&;p~Q*Nb9+yq(TĤŐps$l:r{Skc}һ &o`?!_ĵ,.䊩ܹ"o5/:wp?Ȳ̝ekY(R؝S_;jy,Ӿw:Z ;?WfҪ֛-^[1 ]'Ӈ?޿&ޓ󇿁h62%Oܠ{ RZ2.<z aL,mN y4H^o肎=r9Ml6 d֣|D~͍l/X)R*O=t-{bں巎s>Ɏ9=#d"R!hM.EuzmEiѺoTfy dh,f_0_~B)r9L‾3 o!x@}+)UYP0k o]6qkB$?Y1쀸$\2=e!2Wo&qy 5h㳓"qswFvAyإߘu1񸘙~ϗ%6^vA|/=b T.1OӜǻ9tM@AѹJ B шz"H @qrwsٜ1C1dԓDI1덽u p'a^мqe#HL&Gx+ȯ{E<ǧ|9Hf^Wt:\HiOQcg$8QyK'&Bl5d܇͌ nS}t8/BRe`-Rn#hq[\-cxa5◆D.X !+HUԊUntFO+>7&Mb8ҳJK4u01gkk.ѬPܕgj L] XoceKxE+3@6-u=0ߓ~XJݬ j+6IМxEJ;ّ:B@ҠKUltSnV.xN/scO S{1S؜E}4O&[70ZI{R/ Me_HAx_Þz#!q5l<aӣ)I%TTU%q2mwDdVVIB{PU###"#{YUEH 1Eeq"6PFVqX=]9~Θ/D0"!SZԃ٫Fk"*rϨaPEebSdbh!PWFvSF me?Hfk@SᅊEx(v!"{/V$+i>{c}88[@$0!)!^Ж"Ijvn6֕N$29Dyh'ptO^Y!'Mv7֦%,8?V;(KFC [&-aI_qsQ]Wf=BňGa:: ވ<6,kJ9XXPΜ Nq o@´6Y:ާfǚF|5);J};XS(V;Do>i. 0YŭT5 \e[5ו!6kk~]Iz[OfC5)PL~3mR{l'S+Cڍ$*+^O١X`2T[k$gD^z/rnHgv}SĜXbd9x DrEC$J*_ŷ.7+üBid>IF'шQt9 Z U#ICT.ZtXE,ĩquggqṐZv4vJ\ -za1Uy>%SvyըoE:YGu"NSwjDr[e{uΘNоnKxY A]:qBg}ˏ!ܝn&F&bbBv"MRБxctSQfތy݁Ekw< /qXFe'H k5MRv|%gpZX{,pH hk&46LAӲ-VXE0yFdpXpPBGDTȨf@&U{_&ef8Gہ:Дm_Iv1 R7RlQ s+;;ADh}i¦0-lW5/܋bb^W?ų͕hsK9UlݺEy5 nojU&ƵA:|v:Q5فSͮ=.hFJ62'@:s |NK|Ip^{SIױaPn4]Mj{x D{aE}cPJRVLQҴ7r1sW=w^e[w~p9OU5nfHڣUܞiǝU tS2e=T8'*IS]fz}/H+nH9Y?p!sVL%gp6!Lqc^G{\│h:{y_n*|;u Vd;ętJ#<x t4KqR.Y'Ni]52JSNOպ~^cnvx0ypĽڳ"<;=1e9#xU&60NΚ/8Vƒ~LTyI"V_ki4)!? &-H>iQI."ktV.dHiv,1C`q]LkIX?)3"#; !Oơ:N.OYBrte$HѢ+RQ*X]˿[!YtW`JqC99+@'Pg41=JXM|՜PnO`S{I*2;I ZkՆ  QE<$Db3Dn׸o_U8Dq:x|a+(6BъR0L3bXnF,*tK#(Qe}މ>33-WFqۘc)"Cݻ) |i;ڗ(nRv, t>1y^B6$`T0wm8 B( h nZ6=B݀livcEݸH"%~ 9JFFU6^)px{POHx{‡.pП=Շ>B|FuJ}s: %x;NWf-<5u9fiTAz_XIIrV0 Y*Ϡ]7ţ2:ܭXUTpwɨ;3A^}xp*dUn]hgfgϞCq`6,vx>au-SpafQJ-;T1 WU3:ѵGvGzvViջͳ4(6gaʎd֗Q6A)xRƖ+ؽ:a{*CNjfp߅FRm={VF﹟={{&{ŝD$ 0맟_K\(+TnÆ]C7|6aВa"bĝR'Zjϯ*>WKPY<\v?K{1:gw;|CÚ#kKd֞_-N|Q1* A*r^q/L̨V>`'^*f. Ȝ3yշTĹǵ:C+|/{Pb#!ٞgL÷*=Q^."+Np2RY禘k?N[v\( 95G@ &>EY*dfϧ81B $"q.IDݟpAVv/`q}ec%ڄ:܂b$k|H {|/= Kl*Xq!МzU%M:r1bOw[7; q`! 5x TV䪗'K7d-1UUD:oTylHj_q{mi^{q5;; /ZxU v.c7; nѢ?`jde{@vu2O V뚰Ys`֭Q;M\.DW u¯?PĐ>ŝ|Tx=skGpc $FTBW .:d"j VVU˔Y,8pЦMܨ3%ssË-)gg՞>ixpf$)(7c#aq;=x 4,pO:r֝YӃRO#G.c7 q@N mEܶk clv1ӓؾg.d"uJmYMa&b7$+,] toK%63Io"._5LR#-b*<*g%x;A`[{eI4NhD(!1oߝCP:Q'l_r޸^H*;/7 ^N ƣ5;`z滰-',rߪKh\b:_l_P1 \Xf7v5/&r"qq0Jb?xL\>5Tnqf%/õ@) `;)IJJ_nr%"%KaZv7 1F3yx$'=T4 !r<}k(7| @%n]7מ/׶qF > ?iqL}hFa8!$q1zBfLV3fwUV'aLcg!Yd6lYxA*4(T`#{e>z|i2KzkrUfQRkxXJȇW\[85ZːJqh``ݿE pipYb%D| :_Vő a_˨=٪v?򧪌27 GDI'e-ޓ#b#FO~4B1ytH"!ugId.n.R"V `ŎLυ:#UoArW4gyIn^XL4;\s9n1F4;"9Ǩd<_ssGln*4&ʰS$?KsK$%tbq9T1ܨmj0-?qH`Bԣ${FKݼ/*oQ2NJtyEFen! P0y"DČH1yk eccL$}7ss|V梍3VBuÈNSAaD|9a/Zϻ g FƠ]:_q$k"?T ^譼㔚!CP'ēGgo+t3?w cɀi[UD"}(Gy,1ҡFDDKZ)Ik;Y.6R\\lwx&5\=?&eVil?N*mW# Zdu=Y-/Q0n|DT 51B=+:s_M  <{;dȚ;nխ'#|pdճA5N*5i+A'6n׶뿶F~{X;Gl2IV1Gj.ĈA|(qjgq8EXQWm'j2g #_ 5FDdqxE㙀h|OpY u}uomo|;xcPZ",M[&pn&AVyyvK%,ůj =C֧3.rj]z:l .(*uj\ܵP/j%~s*F0]H$jW$O0Ot0/1R#12 O`d!});d}`"O/Av8Cs0I-hZz̎ȬZ SFyX =#X*9T2_PfVV =8e@04:FkpD6A!,ZkY>y`F?×GA{enDFM@0]y,!cy|4 zPnx:9rӁLى6 2*igBib{2P16]QDp2׿ˮa Cw!cX@q˭A%EPֳ*-yb kY8luS31#u CA"j-tm: 9Q =`?}TU"l7_|}N,~zdk)zE"*oQd LEfj҇`cz&$+}ԟWkܯNsg,~x::;LWJv@nXx=sA 7֗wM?}:h@3n_Oo~yt}<ǝv%6M] 6 (Օ,@ TVKU{MW8a(c.YRƞck'aJ1Gq–ayp6|s͟Ӵ' !^OdSe .$vGNmExEj8I"}q^/34%@ɏ՗ xFGen+/A>T^#IjԡC+5Kjq/sC[$Tшtl1b^i%I߄ң2_"x.ץ*E1zhs/=:ECr+ޒh*qM#:.WPb1W:r簏%Lԥbw8AxXЄ]&GfU+D*;OGO Y"Xv7)l^ I׽( EܡwzF5*&'48w:k g TSψrkP$|$"sW;1}#,׋ת>G؄3oR3{tm`=@j\kY0wI\ RƆQ@|s dqs>nt03~QI#!H w{|!qކegqQ%L¬QHOkf;<$[((|2Wq-yqIqs0~tBuJ܌Z=>9r,uwk6R?ˤ/lôBt6&ɠccT[ٿ ڵ'R|JٟI gROj)2a+w$aۇ+ix}!iMlD_swu h#9;}7fhAb}Vh6$S͋1ȕWssxyJqD& +@O{4|ToSu0Msy偘_@;kPVTL('Ҳ _J  l(O*2 ?'Ͽl_ܿ^};iaU3bO=j(zSizd]OBgs\~9)]~F?}z<&oj^O%)k*U9[&uKmPĝ UskIIR^e-d,h=sƂgw&X6+74?nOOn)_/EW8? ~c;r]w }Lai<34VןsoO\{ j1G0^N},e`!T,8l2w&+N6]$\2 f/kW1BD rp͠!9PdS_]Wn&;aev^X*sPvˈ.3f<{Рe"l2ΗYzx|?o5֞OmX]|^_yybP;53~ugFIpy{o4DJ /3񊵭R 5Z2+N%ͤ&B~\609!Pl+sG [pHӲ"J 58L11WD<0P^L7j ihӇi?+4(lo6=[0ܧ^Y~ ^m;A,̷3YHx|_Nf>ɣ x0\%Od_jIi#-u|7i8M}lNWJisBUuF%iwhI4}u (2H%$i;8:e6h_3e!‘E[WI/L΀#0{QE+q u}W2\@lw.C<8WO)T\FIېbHvZ[61IJTUލӉll]l0_Yc+H5'.r(Iڑp s\^KI3lճ欬x_<|ʹ9떜 RFQ{R:1,+ lQ2LɉK:.6^#nRaT>>:%W)9n3n̓,-2΋xL>}$ w}'Rc/!+7T`iAaK57ӌHf,TZ#>% 5 쳕Gd<Yz(qe3״W )ː-Q1'&D85yDӄ6ǎf+˙V}zpD@[̕E>iܡCC4l2[Al㑰_㝠vuq}iiWhDs`8-tmmx[=4_hAy8шv QI,,X"!/"F|1Z0̜k [8 ZaA`( jQj^MiB:X5ݝh(OstZj 2 e͇