summaryrefslogtreecommitdiff
path: root/fs/devpts
AgeCommit message (Expand)AuthorFilesLines
2023-08-28Merge tag 'v6.6-vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-5/+5
2023-08-19devpts: Fix kernel-doc warningsMatthew Wilcox (Oracle)1-5/+5
2023-07-13devpts: convert to ctime accessor functionsJeff Layton1-3/+3
2023-03-13devpts: simplify two-level sysctl registration for pty_kern_tableLuis Chamberlain1-19/+1
2022-01-24fsnotify: fix fsnotify hooks in pseudo filesystemsAmir Goldstein1-1/+1
2019-09-03devpts_pty_kill(): don't bother with d_delete()Al Viro1-1/+1
2019-06-20devpts: call fsnotify_unlink() hookAmir Goldstein1-0/+1
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 83Thomas Gleixner1-4/+1
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner1-0/+1
2019-01-24fs/devpts: always delete dcache dentry-s in dput()Varad Gautam1-0/+1
2018-08-21devpts: Convert to new IDA APIMatthew Wilcox1-34/+13
2018-03-14devpts: comment devpts_mntget()Christian Brauner1-0/+18
2018-03-14devpts: resolve devpts bind-mountsChristian Brauner1-10/+16
2018-03-14devpts: hoist out check for DEVPTS_SUPER_MAGICChristian Brauner1-11/+15
2018-01-31devpts: fix error handling in devpts_mntget()Eric Biggers1-2/+2
2017-08-24pty: Repair TIOCGPTPEEREric W. Biederman1-16/+49
2017-08-23Revert "pty: fix the cached path of the pty slave file descriptor in the master"Linus Torvalds1-3/+1
2017-08-17pty: fix the cached path of the pty slave file descriptor in the masterLinus Torvalds1-1/+3
2016-10-10Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-3/+3
2016-09-27fs: Replace CURRENT_TIME with current_time() for inode timestampsDeepa Dinamani1-3/+3
2016-09-23devpts: Change the owner of /dev/pts/ptmx to the mounter of /dev/ptsEric W. Biederman1-9/+4
2016-09-23devpts: Remove sync_filesystemsEric W. Biederman1-1/+0
2016-09-23devpts: Make devpts_kill_sb safe if fsi is NULLEric W. Biederman1-1/+2
2016-09-23devpts: Simplify devpts_mount by using mount_nodevEric W. Biederman1-18/+1
2016-09-23devpts: Move the creation of /dev/pts/ptmx into fill_superEric W. Biederman1-8/+11
2016-09-23devpts: Move parse_mount_options into fill_superEric W. Biederman1-8/+8
2016-09-03devpts: return NULL pts 'priv' entry for non-devpts nodesLinus Torvalds1-1/+2
2016-06-23userns: Remove the now unnecessary FS_USERNS_DEV_MOUNT flagEric W. Biederman1-1/+2
2016-06-05devpts: Make each mount of devpts an independent filesystem.Eric W. Biederman1-136/+55
2016-04-26devpts: more pty driver interface cleanupsLinus Torvalds1-41/+12
2016-04-18devpts: clean up interface to pty driversLinus Torvalds1-25/+24
2016-02-06pty: make sure super_block is still valid in final /dev/tty closeHerton R. Krzesinski1-0/+20
2016-01-22wrappers for ->i_mutex accessAl Viro1-6/+6
2015-06-30devpts: if initialization failed, don't crash when opening /dev/ptmxJosh Triplett1-7/+24
2015-04-15VFS: normal filesystems (and lustre): d_inode() annotationsDavid Howells1-8/+8
2014-06-06fs/devpts/inode.c: convert printk to pr_foo()Fabian Frederick1-11/+15
2014-03-13fs: push sync_filesystem() down to the file system's remount_fs()Theodore Ts'o1-0/+1
2013-11-13devpts: plug the memory leak in kill_sbIlija Hadzic1-0/+1
2013-01-26userns: Allow the userns root to mount of devptsEric W. Biederman1-0/+18
2012-10-22TTY: devpts, document devpts inode operationsJiri Slaby1-0/+21
2012-10-22TTY: devpts, do not set driver_dataJiri Slaby1-15/+6
2012-10-22TTY: devpts, return created inode from devpts_pty_newJiri Slaby1-6/+6
2012-10-22TTY: devpts, don't care about TTY in devpts_get_ttyJiri Slaby1-5/+4
2012-07-14VFS: Pass mount flags to sget()David Howells1-3/+3
2012-05-15userns: Convert devpts to use kuid/kgid where appropriateEric W. Biederman1-8/+16
2012-03-21Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+1
2012-03-20switch open-coded instances of d_make_root() to new helperAl Viro1-2/+1
2012-01-24tty: rework pty count limitingKonstantin Khlebnikov1-4/+30
2012-01-24tty: move pty count limiting into devptsKonstantin Khlebnikov1-1/+52
2012-01-08devpts: fix double-free on mount failureAl Viro1-3/+1
) GTp<@[ӱ  2u)n!9B/(@(=z:jUXܢtQ+,~5$6B[G+袷exgpaudY_v.x)~F{cpx֐0-0bt?X"u OcEW:HUtRJ!$ F|<Nɇ)tD^Hp>$TTQJ!=}̴8fBoMj[7Y !h:b4a)\K8!;CA,asz-MV2J[~R}= yDE 6>tZV{j\rX햋/,B|7/"\D ل~.+"1Oo\'e) +us>ʉh =V~a01b`j[AN1Cg6L)J|ȷ[ `@n >%ͦåæEi eب,+ s ?hƠ>d XRoLމj@_kupp˴o6td|@GOnΤԁ 2p]0t?_:U~3ГגS$A?J ΃k\@p̧݁z7@d}7iWMv54[^0tUR2s!!9lISm ڐC`8f _\|s\3PkY8yz{c*w,ٜ8lwJa9.bAʡ醹>]9.D׿ &@( WH_\r" x\s'M}UiMY]W2/j"1纃:%AʤD/i.xFZEy*gu~< }|X,? kEW-yC_?C(IAta 7o!$}n8O;Z֚B18|~d1Lp#vA>Ss^0@K"((x~A\<ل!Nvb92P.Hvj;5En , p7luն|Sj Awj69l]o~Օ2\@(<s|5Uh"z%(é@n\d,hi#קˆ>8eM`C_!,vvy'K-$#S"*5ջMUgS`7,pɝj:W`g"mir vm҂qQ/Ҩ$4𞄬,1SأKὰtA&¨*O/ẁ\PU>>v751T.A#hąroN urK{و譜{qPn\]_xg^ ~1#_|8qJ;$'FX'wmI!qv;ikN'zfd(jJUIb0&/!)R",~?)0&,j G`,їPT*=جH @ˠh;aS_~oX |^"vF*8n:Y6Sʹ=cSF$ v.geլZ–9<]tB]$5KdZ|$pF pi zEݔr+TIc8h0ۍas A_EiRx$ 8K{-Q;Q@pdSjWݝqô_#D.F#x/ qr zp1t >H"ˣpbej(;rf?L-%Lk-s}J:n䢳QqAHe*|pу~h;7v_A?_D<]oȢ {Ĥ: f"$_'EK qW~O zc-F@}7Wļ0J (+ΜB,A3m.7&z,r#/}sի?'MIm@n5/e"躑EZ`*{k~G,QҵlN KBo=)'9B z)\F7*m;C#*k[KC <1.S8QF28  ^DE)>V`L /?pk6Ɛ\0wkqp#>ljlu\-wwӰ8O8znYҺCL{Sbv' h3 * SS3P0Xn~p!ӂ3#d=s.lq٨>nOsF6q|KhKq廉dXe}0т%^_;ut;oUz6@s7A!.%vt|Z4lsHE##o82a:֌5T:XZHD1aAan uJwx^xZ؈Kh @PRzR6,1 V\X'.^;G r,}@^D Qw?EpjϴrFǰФˑhHCM'z<~qK?'`U!\ϝ 0E \>!/ј(V!*ڈS"gt0Hg0W `;6A'+X:5Oyrܹ \ %P+ c4Gϫ1L)yY$y.r.9.R *>O'ۅ2dpV^Bb4 9@wAGZNd@W W0ԍ̱*w8k5n֐zԏaR4R73+\ +r'Gt\Rdl|F(w=_dE]!{#Wm RohWPbPU&O{+TMܕbqrk&U5uh (# M-T.ѯxȠa wη}x~2?br0 BRȄYP趟n:ɷT=cp׹djY)F(3R x\V- :4)H4ІvM {ڍVi,wo雃| ӣPb[aUq!B%up]=(3V{^3bE/!ؘ^f]qZ28)Z d-S8a3-}+)o|ss qD>X-~S! NEGd@^Z\F*aaV$#>*?ueͶ_i+\Ky2A26 |"wc{U„Gs87ӭz8UÉOTS);bmǏ|[dn؞wؖF )P_2 g.$:i"vS-9MTe6x`Ar\aTLG{:M*uP%%nwWXD:h mP իg1``)w5O^cCG;0^I' GOhrr@,/.Bts,b+ퟁuz}'synpw(5F{!8i`+3{ԏi]>'4AFY,02Z5"6Άfă`k6ku~y8e,ih*5Ps'|= C )Z1VLiFIti,k`.\3D-O,;-mݷ}1eiE.Ԡbp$K, 8NE)]'YAΩ AǬ2ÏNi6d۝Jil@9}g5^Q˹I}$H gȉ>zpV%nkX0#h|[ lX|nl1aBb_u!W6O:lgd*lf=!vEBh N_P*KÝfC{Ggݚ ^a:kBOaTZ>*G9co~ >,0u!DG=\grH-nQDe;Rt N i fV~:% .~)鮳H8E~Q}/nqop1>; !$EQ:Uj`t51ړ(@ľ1o|_=Ge(#jsxt?Ȑ":%-O\Qʰi/a-̢YJ(gi5.rW_&#tPRn'_PQj.l7oo-O{bCwݐl$;a pŀ 2` fʚ!v+p*<˦fcFnK=)47쥚&\(3r@}CdI N$X2!OmdpZFV >F=?{FY'h;ϢH8`@_\:H_Iq񇖰UK,m &1VjS-eU$= U0lioTG>_¦ iVSMOöJWm4HU ..Dj0$ %689sa]v" uVaąykdwEg+Zos#w*ʹ9@ĠzD%K*gh ɃVӞNd5^rK/ FSj7\mo V{2> ^ rnܴk98j۹U3GGeV.P " NpisMkNʑAoةt|Ѹ7&mJ D˧tpjփ@ZR;|[]j<#B{Duߌ``S*c< l>H[osn"5QF"~ =EXM&ڔO$m?;t)yfcvnjnu|[1&H.7T",U _Y>D㮷lhc[G^v[SLzZY߮pyXlŵJ:Z2u' ( 2;DAu[;yOdTO$g0ĬNn`e<{L\{ek m2(Q< :^b:d>]IQNu[3$tuc16`FO?A2Ha[(DիÅv7S_c;8et*RJA$hG2\5_ Id[gv>7}ߦwL_ir+pgN%|d(%%_%B-f`O^uK|,ȌwrP$Tym[|#qiV;ʂ!!A ~<Ņ1MgKS(Dpchr䛨3Z_PYkT9p]usi"!<8ܯMۂ'hOpY%Qq "A!wk Hlп|\R*S~e9ʯ*vקm_wl=gw8۾.6F#d>&=: ;2m vCybjGlo1F굿0,Sn!.rl@7ܠ<(pTSRtU15iYQ^AQ.%?'>Ы,@`Bڦ4qlO12Ρxxy!>ȯ?΄s>TxDgɐbtB1ms_m.n0A捓 va]-Mv#.[ 5^-Ӵ rd,( Bf7uϫ xۣ{X H Yn..-R6CO5T(Sݢ߾%4P 2SD4'jz钒58c8)VėYady (pJ3p~Q8݅aϋ1kX Ӈ~N髟EK+<|$w۪"alQ~Zək\c /s-`,rDH8o\z<@z, CRO"կО M@$5^| aaH灎> g-ΐlW{6iẽKdr#"Gp1Eo4E{3}y"u0DQbFEIcC ֻXe˟c>ߪ)IntڼPⷹ<Dꩥ.z\+-U9UQ s:M(3n+^egVyH k\HmnGdz`B[Q~[^mo,E g|$ z@. ([V9:Wߏ~2/Q;o>Q 'bXmyrÝ%q ="kŇ/f?Ձ_!;5<$j4pQN3Rl[XԻ>\ˎ{Rt7bxS}X:>-Cp5^& D9{Wb*Hb  27_Ӗc/UW0aD@Rɮ/Bd+9r88Wܿ'<]€ʃQ s>uU.{_<[w,-evU+/2Šػ1o>p*߷O j{WCƆL;VyKk턴E]/Fu{)7eBOvyu鮳uDQ P*9 |ZrLk:A׃ trY޶HnFDY? lTO`1B9@0Sl vs'[d\]V/Pqo~9[+ݴ@q&b$C_ $D@T{IqbDeo@k2U,( T+KKWl]~t~"ޫ?"oIMw=ًjDxiV4mF,Lj Y|FOv*Icw ]?/aEgOZ)@+X4iwΖʵӝ_c"ũ$/:oţjN,<8sQv\a0I|*fj}qЋ 1(ݿ4ֽO(o[\!N8h,*ؖ"Mj좲@D [WP|u+F8r&hAZ*#`92 T)Nphr;bq4oxx-ZK"(4KcZuPS%F3P@mZ\6t'QESc`Jڭ&,8(ۘ( jY74v8)f׎ 3O'! ()oikZkpS3 z#'ĕ|ZUSy=NvLD%A &DKT/iqpof}Kh.~a+) tbDXljXS"-ˡUbfp>M)oP}ug{ X@ 2>bGUcG4H7xgk:>\״a5>lry}88XI>#;M[^'':64bUc؈z/xa( 6.-2V*Nj\~PSXo5olvc!d(4 dfl_3,\8G<=:vyxz~Y&ѯPd|fTMU& 1ppH/q5hXM֥{XkHH')@VHbSX~w wB^_&ceXLҥ4q3&%D$2EoNv>Z܇-@")fEUs'=U@ ,D,Z񈁡qR*jŀi鬽>,-ξob,܃tǂ1~l)iЩU2+Yk#'2Lt֎&[58p<p!iSS@^>3|VǍ1]`w Iuԩ("d"o'6~XqI.=@)[jy+2X)7_w|b;+!tiTQNSWEUh??{&@P5].G DVn`&gv0`XvWOT 鱃ofV(y,u,f6ݯҒM|(*r(@t_?0}?CHO;4T^Z*Yh$,@m-O6I+_kE Hڂ}z T>Ji@ ٨ EAWȦ"l ux:prME"(SQy@%k,OYz\cex>;@DG\. [2NcNIDAPex!y[3#$`ũx0.İD01ơ?J̈́Ow?nj`R1f?фA1\!%ei 1̓qW(0VgȺ1}Ŏ2>H . uhFfB2G¢c~+?N_v@7q`Aś/ꑐEܺ`&zsy)P+zFڲ4So7O<B_x[AH[ۏ-bXTnD) /.-Q):yna_+\.DDV*"*_ҙ4vw % h?FNqߤ KfS1(ѭ) 1 \o#,-.cY4P!7iĜ<ݏ~4e`P`Že  w3O9 م̸wPؓ$2} g|[3[Cv؁Ii DtO( C8qT^,m+B!$T9^(蜲@3A˟}tNk.]ۊ$ "?7"?]ajx̹F) D#Z|DGP4.9 *}1[XBدa)GQs-RV ' @m|,H,s{T:伎B\"PP=, By/;IG̠i|QPrlb00P˓p g[R_mA{zzvu]ƊsYX,׊䲧@OQf9@PKLC߱pOTyXT.R+lwi2U-@ : #/+/ƎP0L:n_Z/{\V F,|!t4id|YRDBTZ- !₶U:[GiΎd/s .T\RQ¾=$rWfE~/Dϯ9R/`w}wg  "_G1p<|0ZH _KǍvO1@]<3V=/1`^^}$7Zd!F{q+VwH5<.o&!X,8(QByzO5 S:e6Tf X{U^Uns.L֚z&%8g>D8L1PpQg.kg&CfjEɀY/,߁|tը֧rI_Hܞ37ip1  6T):bF"9Y H:o(b EPr|m|zB!z@g|CS.* j `G7^8vӯ4b#EP8~x;t&urT8!cA`++Mx#D+j`,3mI#&6`}`^vv3彆"/q:ԇSf*YETQ+d]Y "&%RhVG*[4™N:עODqpGȮSd_7Eٌ v1p A8a儝rk\Do؆4+*S|>"JǴ<8=8u|j"nlЅטGWlUJyT=X씔}% VŠitwF8n_ `"\@Eρ^! :u=O $ ?Pt6IXŷ^sA.6 4'd(.lވ^=P fC" EŤ=A@5x"b+[\K ɒ3G42\4-^1cN1%UPǦ[3W׶iS3ec3=`)LrȋĢIGfWR\e*VCPF] EzkQ0Le&f#& +@PpZZ3M%LFh s7ʴuܚb&>M+%80A%57. >U*Ig=lh_6rf]C*D3CKnPqeD Ge)}mr ESΊ_<|8S{}d;=C,Y<y)V}5,=Φ}6K,^[o3 )PQEo"IW$(Y-e1UB>{JH!^P<%kU> "U\PāA?G5+,܏A<ʇO W.%V8 KH3W*rE#9BC=vX82uOK3ae>8h0 vo 8j}?Dg*ؗcQBȉ@}7qM, B$^QT_όs 㠁qmUJZ^Q?P0rpYw=-,5su[}u˟`=lc9Wn/=^F䘛ꎲm?0BZr9nw;^xyڃ2aG@Y`#p/(Yhic(նR_Myl]!uf/uip6'+Wq:'aRgmEԕL~ ,;NNr1ʺ>җ q1<ƅwn[#B(PmZfѵ8Lҕ}yeR\yo7%T :h$!mW>et-ZʄdQBAŜ-MN%!PUe+@s;#|??8f%Yk:  Zֆxw\{q9|ٿ.fx `jѝݪ/1*i%갻㑩[AuZ Ơ!=PU~ĔJԴ|$!ks`(@8,~~>ǿg P{"$&U08ؽ4@Y4/3SĢ%)*ꠌk}`< 8Cnom]Z4!&*ذ[ݶfLؑs;׭隆`| T۸"O_sdjR7cwO>\8ٸCQP4pJ#Xg{>4)A ˡU5ƜI>D I e"(,7@C$;ͅ$wGR$[Uϕ]ҷw"`6;f}ַi ]^$4 m! ejXyw8qE /D!TyyCCfÿund}>Ct)$n` H˅ n震$e az o=#VrzY3iѸiü#$-X hLK ,WM*MH #b 'hSϷqV@ӻz}xi`#^gx%vˠM$"Geֺzָ5QgfaT >~^S0Ԍٲ?7Hgh倍WBٸ=X;}<>SJc <:/W+5yF{"W,pZ|&y6 rAA)( @l(H8+*}p4}4M?h4ؕ>%(l<)qdҳЍ?xƧNP> z_.^^OuQw1r"#u21騲$c!z4GZ>#Yb,o{$x1+t汿8 HE0g *FY.O>vJK?osS>H!'~e8/sn 7UJOc }fLb.#-6 _R,j 2fRHO1aVlEj X֖!wq(F3/׬yFCp#2UX+Ca0[tޕ7aNМD0!?YH/rSzܼ7uy{Vl{`jWZŎسK>Z[|lvqOhbE7'/-~{=^݋88Tˠ €jZ( A H0!VXHAï@^&uaf Է๋Ow>S )ҨNࡀ!zT%:B͕b6M9;{8V. \,h.B1|WE~6= )m 6XRQq8PӾ/f-0[ZP55x7\Ku~&[pOL1Al^iN\I4jxvҰ_)MSD!w8&&9jorwQ+aytN@Ⱥ u˃; clw(K7-T_FXRVC56h4@܏w?".!aQ^Gq!S{Ԏ2t9:~?.B)i֪$[_çzZe<> Q#TbA y{it#=J5M9,H^Շ}X]ʇx0-7k"WzP Eͱ.{pȵx7Hq\oM- tWқ/VFfaƸOMSZ&l }.DYn*t$4ѐ4I(VS[[upujOm DeB!!)r ^;L'X_mH60}qQ'w2?@VӋ~Lq℺Nvh-lI!8=W҅N]\8*u?uL)!E?T.j!GAc}& WǍ=j?6l|=C0BRdŪe }u5L(zh|܄?po =p$Fx6+ǨjM,| V_yp(@CȁN|ʣ XJֵD8gE8p7:_6ml(Tt {|]1WGCN^K9Z#k8G@p$ѧqCJmt'"BkxwتbTh:` 5]!pk;Ya-^תK S GȀ/duk!" $E|ڦסYP>J3?R_Us/ TT25. zV}W+CȹiEFPY>ujT7E\ˌG/])wc8CǟHޛ9!ПMl>f0d[Ib.p=mTbV! 5(9Z%m/ K4fX M)st[ Y"psmh:hE?pf{~6&(4ú+uw2gX^(P>G>]֟Kbl}tx+I梷2J ι>GQwQU+ab"cxb7*[Q~AK݃![׷ )aBn!{ nƺոE!BpEgzs8B 3I-ao}Uo_UsDUdmg8/.hWX@ޕg$IA 5ͪTJCT&-ruW5.?݃5֫zb2-5`Žu> *)l(g nZ<y"t=}vӅ56p0s]tl 1,-%]Π;" ҆ yE@.|Z]7B"IG鋲zxuΞ<-.`9*`#c&ը*%x-ZVl](_LUPuD]p7 \z4Zo ȲjҮm>’=Ujs ,L0?7buX4 F"<"^L/X+GI(ASk$qR9oq?`L8cvHbm_5fQo9̎l;Q"uШZkR=N#2"=ǜ'S3P'a/7NJW+tcd3BwA+uݥTR:ƷCzPI }Li~;Qd6FGV oOqZ=nfD]fGдоFyyo gf7C-p^p$I(it%8v8c.P6&F PDzO9< fhXdqlMA#И[G;'&3bo7"*.()K'^:iߤ:}ѫ30LB "3QpZZDr, M 莉qt1n]aͯhN dOҞk֖xi$đ|S0smEvHԅ2!H}3=_\VC*uP+ܳp}GZGF\kk_~8:[<6^SKs `jal]$sx%I،/bQc~o$HDg㱐H1h`鲦V ~D<SGfoꙿ]N2:;\}^ӈzc4C0y!>}zHs]Z6ʦUkOB&.)U}w2+',)>1_RJk& A85Y@NsGΐG{ iuAcƇ1S87$[#Ie?P@: ^ð"]5-!B2^{)zONX C`҆$zI=sΣF*w׿qQ~< D`|ԍ;E v_Z!S,+.sNxvѲH^.3Qy!A=oV^`sMn`mhz;z? !wʞI0oVj`XOoVW47{݄ѶZr~|!o(KԳl9!rDL#A}-x2u`O-&}9("*۠P:[ƅqKfpja- ^=s~+Nsoh4vrX$Ŷ \`蝤8jN`2['*ΏPoXhvD ~%<R,3)}/:"KOکXA==|?0?^z3`D$46S}ń)V.{P"&-VdRڸ9\QTT~Uf]0d*" ?fˆ|VIm="O" ~f`9~ )$|w!V<2`VSCV#h6?t=[ g`$Ty"O32׿"8#1mL+ޣJ-/j,>*&99uW3G8M!K@\rH/+}>ȗb椦Eg{Žmۃl(f os <[o4lSTG="21A"WDu| }g<[/ xyL&mweݮ^ 0DΚIg: xX( ˂[]Y2x$1:'bN8b!I< v"kⅿ h-؂5>a6?\CYbabb} oUm*]k'9Lulw lj_0Of{;9J< &JL`e1s4u@R ڡ]L{־%oOY?QbfG4Ҟf@xn&.0 B|Yw%5.C蛃R%u^_]dj~H{ 6QL' fcMgeKXk g|&8쥀{88̡r>qwŇOe1N({̕AڸcV_ۈNЏ 7(lD%$:9CG]sM9"9ѾC)>8ii r:ɚ m&>/S5# 91SdS6[80ǝgGgd{|K|C u:g d+;OG]PStaE7E*V MJH%0#3ugQ?LnH\U%U>)}rJ2x+El  m$-qsDt&|$üoUC}8i ;$HDhj5C _Ǥ8ni.j0Yj۠ngRA$ M0A2>;_Et?>Z)"@fnf=4$f8uHbSoNd%UST99JZ#X*AXP3;,qB/+]ɴhH()v`UkJm)bX@AhdG Ip PuU>zGagӐ 6*ڼ8Y},a鮫QGeNmXEQȣiF>UWló%sQrf.g<H"\#h- i EJMQ8 jqa:D-ÂkQ9γBL #P?O'֣L{J r~":=mP80c=9IdIzBxsNs VhN(Kt[Z!], ]4r=fvfjwKtF?DC!\as2_i0a| vk4&$PM`a+/N8W;fCR"VpLۦhj&7.[lrd[g"[vѩFCTqC{d@+Q ئx#YJ$n;yL; P/?G YQG]m.aQڎ!AYhCkxԼ>ƚ^[p;/ q^r,W8pא1[iwË0 d2ANK}s<}[;WKdq?ٗz}"96=aqRG)DxR{lq3pn%B|LU9Y(ihӬ^AC? q4$Tp#EVO1%k{ \*A¡si!pc(R7'e6ɌPEJ%0dȭȀUB^g ܒΝb {,K9`tq4YC«AB R>w[pOz/s`nuE9t_K~F.b7۟|V 6@_<#Aq"ܶM78Ӳ}@{ƀ֜fHq)Z;wm]P#Maݣp{*ɿ@k~<5YSg`?P|=K 9IN&UMcWq%j]}89#5,r$(ةW?G,O)dC :;+g8GՕc> z\4;>gGu5ͲfvFR &fODՇ-ʂ|m0a!OL!_݀,RjtBPD0@K! !=JB%obj(v-4t=4'wuړ8"b-Y (1xJmd5 rOC,oCgyMp ~{0^S-rtA 2To`n~E:/ >kkQ?^?VͬΖ#ȕ_ 3oR*f4HE5m^?K#% $c;n :IrE|&#n8t߯>^ҽVⲦpUIw09td??~?.ހxRYg{t1?aBi >| J&=|(,} kR [_ȯNu>-mibQnw&3&0+:oDdF,}SU#ܨ8ܤR{Q"ĄHwo:ǒOd!jY Y'm̒>B ! J O?_uBkrQTPöIRdyvv_o7/Z-%ܙ|5C 2HJU%B)}X(bB^`&ZG6T4-+@ҍ 9 Er!p4PԐi%Q|@ 0}fn" >_zz=, n PC_+%rcm/^~Cn@GP_y8ZpsRn=uJp" 1l{^??jV:߄Q1c($?gJ{)}^% jZGD>We&=jǷu͔Q d$J,b:buef"@ 8#Y@й؞rr57g51-IN ׵wB\<=CMA 1նݰ Un9_հǫp ڹ>_{8cgbZ. {9PS^P#z:H}k ?^#-"˩m}Z-V8a;ʫLa.qiU頇nGynnw"dڅiIrɅNPyջ3r>m§jE-/g/=|{6\HXbʡݳ]3L{ieu'ף}}Vy]CuV2?MuŝS~(9L I4ō?wRC@Vz{ozt SY)'6!R+=HwSP]:?IP}l~<G@?\/Z]@?̳u/q@|" ɜ |H*W| mOV>>4+>$}Jh.wi!9$ ZkMP9fDV?{0 \gdOпo۾X.5CV@@A_M_g/]Yt|ڟzTXʺq~ʼ>hӧ糏&EbE>PixrA ~\ Rח7i^tŋeFzxMr}ݑaM-w=Tg*n@2է9(Pjcnuh_確{fܲQ0gR>_ϳ_qqH,d5a3@w5Gr`9qEaT Ѓ-i !osdt]t5:o'P=&tAj'㺙'Gww=hs~`in<،uo~]kW.׏X?ɧNaYvw㘵)M` gĖ ^!X$.!lx!W ejn,tͅ%ev+FR!,}`;&aRhI^08ϪWf/Qj%y)?kZɵ? cy`.!=H£ɮ 1˥Ȱ;ߘz!,V:4HrMTm,Ɯ.`h/{TeyJ]W(ק{);ܾ,VnfgP[2.>w>e&+pz8A'ct}{Nv+0HU|k[SuCĐ vg/pxR>z8.lxA 7tray;I={uZÙz#fA.:VnBCk)핫#%&%];H?wy+ =~kοw@'#0'^i{J88j]G!+[y2z 5J'%A#%>$~a1GIk:JezE`m/qvQ{8ҿVYTCяUIhth3ؽ_ޯ!"UyŽEPNv`P<+>` \PG P| @M8\-wm ?0?^0 dDm,*ӗᨒG#GS܀Y { ?Ͷ^Nabϲ)~]b?^F;?1|[fa|?7y8q-aqpz'^=pߛ^\E}6V !¶ۢ9KPvd0\]!S !y>qUmՎkjDiE%Dz"=:p]cJdo%!1f)aQS0\0T2LCK[XQ4xWP &(& < 1G1ƙXwϺx5*l\ew3AOX=.B nP8A8X0c7P5,aEY76  UL#hcG ִ4<'@=I etφ4ZM ! I#1ϳY[C1"3@(0pq"(o bZ0-D^*E 1ikJr2ַp¹`ơ8bI(w&P@܇h`%@fDx 4E7rx$iC=&x輒-N'ܙ֙S+(ݍ(1fh$5!uWxB1K, 7AE^I $UjAQG o1ٵ鳛*eRCu _X_̘N!޹>=[E:/JxEqO?VP6j8;U3d'+0D?-9NM *{j_4*bղŔm]yJ&z \]d$C>6Hi{ 9^XOkW,]#9 A5{L8䔺8ݲ3\?f Oz.ͪBSu藦Pa:69 k uOqY昘A"]#q?xx4dt(p!yLH>xzscuGpi ' E:mx^!BEŒkuX`Z~QFf @dB~ nZ8Qv^`OKAf곚%\4~berEHjfmj 3UBV@o!B QI6 0#0%VRPRC.,G~QwPhF=V7if)\G2Q:& !@8;mX4wC\>]kJV(Ƶ}6JJ@Kk< I֩er23QGCq]{DȻ`4;Qx6o TV~!"R7#ݷ\#$R9I"[*e{79os?Z8G2. ,*N[7[cMiacݭ3le<~.z~5ЍYG; %Vql!iҤQsX7q/c{zηᮑ|&_sFqY(|\8MQ_3(V$eftDQq.sՍl%x/F`5p(2>φ}zEK{pф,̄  7Tg9CԒo h`‹(:bƈܧ3x5J6N>."?Ōib\ #E@N&?Hk ,h0S8ȐʏZ~9J=>o!k(r;Z;ԏyt{$Gz7q9b Ygt]iŏn Xh8 ؿ+9ÎE Fk'4Ɲa˱ ݋Kݘ*1.v:fܡQ74夷"O"֣dy͟g!e&x[qu=sȼ4DH҈2FCԘ3Z>~_#;p6qdgY"sLƳcCx mէ>kՇd|yyk#EԽۛaϜ;ׇ)=}w]4V1vz{~Guz_9iS_C%RNw}?EUO >EB `st\*#8&y>l&dG>of18DE@ \Ν7wb^%~W,M6w"On(9Rb/Ez" ̓NWOT.pZ]vF\,;t 81> A>yk[paz:SF-hƒp=Ʉj7Zc,Up6q=&qpq98W{Ժp!DmgAbY~>NVSLѵsҕix]Mͷ%hepF8"SD ~>d}ހ5}ΖҦhu(R'}YoO~==xG界+g+WsI>3gRŎk*ٸR2b$H%iXkgGjq\@F"Nd+_˿HбS! ތ̢fYx_WBDb%TuAD^2~ejzu5Bb~^b, ]>dr3;:vPy}=9bE岧ÚƳ5tlx,>t6li7?I)~]ULQk|}=aj띃ss}mqS,&"irG8k$l}ӄ6-JpĢ㯖ZtWQ勪Ux%^o7&4);V>,deWٷ*I`Dwr~{cͱ^D*\lHDwt\9FkQӆԆ4V@iMHٞ`glN+PW( 3b/]젦 fQP8vR짧0&{L* mvYM>=K= dR?VڣZ/7RF廗>S"v>x ^uYί*$Wer1Pר,'R'00A]FÁg'0`7: CGs q@sE9UɬUAty~R/g #U|. ,ECI83$W#sDt|X\GOưDDhM.UOA\k.DAx }Wo:j詒3 PD735G,Džs%TWfF}l C֘٧{G(h+5g})W'SN0-#aM|oWg>8%iZT!ҧɷqBN gmFfT2/^!מ_ݛ^sيw_neBc9PZD&Iid9{->`@<9k`&vϸt'KFXJ5ck'&Mysuri>~ian6OaqiX,# !$P'ҁ599Sxoo\@.8! FVEĵM&硂%4/f4s^ĵRnN=88y'4N=~EX6^NW=@Ju |Dee&FDUGE_cF2v;>Ѻix3،H,;|8'~Te!fKA*Z@1ֻ|-UihokkB 1F@[k/wo>].ݠ)W^tQܕAm_fjsR^25.~GX˹۴|e Lӑcykd3iBa A@`4[K NQ[#K(4>oMJ &Y^/pӆiXhjhٯ  s RKj]oVX[11FM 6wv2qym@+T 9޶_CbϲNS=Y@ {t,"_yU\30b[16+j C,g#C 5P6HFS]lZ:U=k;BM0<`0Y+$^ ID;B_iyH h:n /BoKLgu! {Nzԁ{Dvv28@)+=XQ}etl[4s@mDI7]eNme Kax6M\ǚ(+]YS9cy(_}=N_sK:|:ngh\pu{pl>=-C,^iJڂD-9 l10 SCt:N;q .n@x9,(!2 `ۄD8F!\6]fݸHJNT~t^=m>彨|Y |/'Џ-&W!6 !L$ kB!Ezp@ nPٔI +F̞< 2 `w-ِfe2`sbi-d܈=#{8X(kCb,?ժ6==}s;~r2f7% a i^ #'0f+ |Yl(qmD"{l`Ќh3O͘"})tzp6$4@T C.'ʡ_w\ Q^MzkEAɺebD^Nk`!B uz#*ihkEP5 l&.Nٵ@P6g\2k uZ0^1$(d(d(*(j(j))UUDE*uY!q} >λ f >#.aШ Hp;OWoHpH}y w{N8'΍C #R>뼸%Ky inᓭD " .h%YSj4@,"艃 tsQ DD :epɻ& *d iZ" "%J IHwg~ % F LDA ,LE+JDz)SDPRKT7rcڙN*ߥ\\x ]ٽ+W]|N) fHN[CZA^M] (<똇!Oy) L}rjVppe}פ\#涜";Pri>fK r ;pM2'Rmd dKgv/9#xJmT DH AP4-Nъj7*@ mhDA/.K/ѦE땘ldl.8BXl{5Մ[4QD؎\O^~bYh܈YwD hhzr`Zd\hyK' k,̅!n*}tPFmY)PK2-t5:*԰y|g%2@C2$=8ɻ:weLH)fLǺ,e`tβ1 ,wB$"z"@hEvLeMT ӭt/E w 7 ^&7hu#CqtK4 > B|D4]&}o-lAs1{KHpԠJ SXK@`T"U;T#ǵ/J.%_6jQbvM'_'攘A%{D6:.~s}%\*T*$<*hfCA܄ P"ġA`΀c8]((PO"&A#F_2?MYQV"(8PPcFPh*|А LJb`i5*kY:J UA)D E,IBR5UAֈm(PJJsnb(:~(hBf$Yd) ׁH(Kw'sg(y`BpbBb}j/now@}q!'JJh@wA*f $ O+jj0#H#'7L{C,5@˂UAR[tK@5_{ܐH׈`"8q mU3r;8 ?>fP(CM2"ҙ; v:T})UT艬:Qj Jҩ[uA j1lLlq(]gֱ7s`yM; fVaRd=!ݿe"=fC#uo,U|*]JsX$qã4OK#4,Ǯƣ&$0.淸[~:y9P$om2!/Sfя(Orp]Upps*@!NEޢeel,XvG ȣ[ftCV0@H(|EI0B^VBEq}24g_*QҊ82ClhU̹硿?`!Ҫ򩮒(вasJ}slI!:Iv%-"P}/RuP ō?"p ?/86tZ 4JD| ⮙i|QRTj8;P_ Xt9gُUl?sNe&AN ¶?_g:]:Of|'JVa?/eTL畬tg«~h[X^OL7ZV溾kD]Y5{Z8Ci]Óz9?`_Yl'it B+F&@銄EjMpۼO#~qJmPYBUa =U@D}q?M Dwiqͧ0 tps^ ?n ǹ3QuGzJ{'zN%9{`A]Y?x/\?`0`'tZr0` ſ}Nbe'"j2_h>}sGNcGPB^Lk+.zg60k8W . ~Q!F(P"A&(&͹,s>-{ WWOK' a"uПi=-Ehej('.T2oov=Wau0R{E`Ёt :wOu~N?55烺A^h$I%RUTvgL~_Y"uu^"R9BRWkҕg ʜX"`~„FM[6m˄̄)z[leUmԔ#^{V2J cJ ڜV7I%4αX}HCf~o>m{gvgN@)@ ̹J#"%. {kMn!Ρ@ *PPC/ \w=(*}Z>1jYsfS7 %̭?\>Cocx3ic ,`{)vd @A .y`k'Yǯ76l;w'(O$ vmje#H 4K o;踶>E` ܩeԅX`~o"> J U_t*6փ @US k JZCFnWԵE?;/&r 4QBw}eL^ OmuAFagy/IHE\Z"UQ7i{o(xwI)%H e-_9{]Z