summaryrefslogtreecommitdiff
path: root/security/yama
AgeCommit message (Expand)AuthorFilesLines
2024-07-24sysctl: treewide: constify the ctl_table argument of proc_handlersJoel Granados1-1/+1
2024-06-06yama: document function parameterChristian Göttsche1-0/+1
2024-04-15lsm: remove the now superfluous sentinel element from ctl_table arrayJoel Granados1-1/+0
2023-11-12lsm: mark the lsm_id variables are marked as staticPaul Moore1-1/+1
2023-11-12LSM: Identify modules by more than nameCasey Schaufler1-1/+7
2023-04-27Merge tag 'sysctl-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/m...Linus Torvalds1-7/+1
2023-04-13yama: simplfy sysctls with register_sysctl()Luis Chamberlain1-7/+1
2023-03-20selinux: remove the runtime disable functionalityPaul Moore1-1/+1
2020-10-17task_work: cleanup notification modesJens Axboe1-1/+1
2020-04-27sysctl: pass kernel pointers to ->proc_handlerChristoph Hellwig1-1/+1
2019-07-18proc/sysctl: add shared variables for range checkMatteo Croce1-2/+1
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner1-5/+1
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner2-0/+2
2019-03-28Yama: mark local symbols as staticJann Horn1-4/+4
2019-01-22Merge tag 'v5.0-rc3' into next-generalJames Morris1-1/+3
2019-01-16Yama: Check for pid death before checking ancestryKees Cook1-1/+3
2019-01-08Yama: Initialize as ordered LSMKees Cook1-1/+7
2018-02-06pids: introduce find_get_task_by_vpid() helperMike Rapoport1-8/+3
2017-05-18doc: ReSTify Yama.txtKees Cook1-1/+2
2017-03-06security: mark LSM hooks as __ro_after_initJames Morris1-1/+1
2017-01-19LSM: Add /sys/kernel/security/lsmCasey Schaufler1-1/+1
2016-12-05Yama: allow access for the current ptrace parentJosh Stone1-1/+15
2016-05-26Yama: fix double-spinlock and user access in atomic contextJann Horn1-6/+63
2016-05-04Yama: use atomic allocations when reportingSasha Levin1-2/+2
2016-04-21Yama: consolidate error reportingKees Cook1-10/+21
2016-01-20security: let security modules use PTRACE_MODE_* with bitmasksJann Horn1-2/+2
2015-07-28Yama: remove needless CONFIG_SECURITY_YAMA_STACKEDKees Cook2-30/+11
2015-05-12LSM: Switch to lists of hooksCasey Schaufler1-35/+15
2015-05-12LSM: Add security module hook list headsCasey Schaufler1-5/+5
2015-05-12LSM: Split security.hCasey Schaufler1-1/+1
2015-02-27security/yama: Remove unnecessary selects from Kconfig.Stephen Smalley1-2/+0
2015-02-27Yama: do not modify global sysctl table entryKees Cook1-8/+5
2013-03-26yama: Better permission check for ptracemeEric W. Biederman1-3/+1
2012-12-17Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi...Linus Torvalds1-3/+9
2012-11-20Yama: remove locking from delete pathKees Cook1-7/+42
2012-11-20Yama: add RCU to drop read lockingKees Cook1-23/+24
2012-11-20userns: Kill task_user_nsEric W. Biederman1-3/+9
2012-09-28Merge tag 'v3.6-rc7' into nextJames Morris1-8/+2
2012-09-08Yama: handle 32-bit userspace prctlKees Cook1-1/+1
2012-09-05security: allow Yama to be unconditionally stackedKees Cook2-4/+18
2012-08-17Yama: access task_struct->comm directlyKees Cook1-8/+2
2012-08-10Yama: higher restrictions should block PTRACE_TRACEMEKees Cook1-0/+41
2012-05-15Yama: replace capable() with ns_capable()Kees Cook1-2/+2
2012-04-23Yama: remove an unused variableDan Carpenter1-1/+0
2012-04-19Yama: add additional ptrace scopesKees Cook1-11/+51
2012-02-16Yama: add PR_SET_PTRACER_ANYKees Cook1-2/+6
2012-02-10security: Yama LSMKees Cook3-0/+335
z~=IkQpHx8 ߲¿hߓlu2+5E;r@mϽCC=`r{2;#-w,=?Xh= "G%iqOeM6SKTIДKE}o!2TB~E2j4vDCOV xV5lQl:-Z;v K4*/הYFomj?wCg܅\89ΎSі$@\IKjR[,X 9)n`E=;~N4BI!weT*Z:x u뺜O1Bl8PcOEAmJ.@nK:K1?ݜ_M[蜛 _nH-U@f Ȗ*9E<:Q+,Rk.5nJRcV*i#ZXxTh4Tc)ծ^p5 X.cIcpv@mf"J(H WTol5'4S/1ȁ,2 fx[#y ٙ\iLet xfXw0>䋞U ɎɖQI|{a #hKġB+z;?&# }|dF6EkRRd2I枨+͍|؈nG@Ma{P>◹G&WW՞Ek /< 2s Vt8ugN"ZGOP7\/a كlO3 =(?QN: M`w@Xk3is\Ŕ]"$_a: l5*H&0q(,ޒ![85gg!wgZ2?bV(!qCi͋8 h!i﹟0G*_\oW-5=^ۃ'>ʃ94|&_.G/ ӂzdGNm03 R6PvTm9Czn#D֘"F.u#+w4n8_Zq8Ow]BęqĊX=9q9y;D >F5h'󔵁_{\P͆pj-.Rh$qEvIc% /4!Lwa؀=g]9*o>(j"+GK&!4Iͦ6]qj0Wd=+pzO\g1!crN^go~"ohao;;jVr d[فl{/$$מzQW#q%BBfx]|,MCjN)WGv7FsRְ**kqGiaT^p%kulMpͨUX}}/T=мxGަQ :}<@mH$ ء'`&@I6lz{s>y-h* ^YUzfOp< 6E:^ؤf@,[%#U+ŗ1[T+#¬-M[lz28!,;"?2<+_k/c- 1ʆ$>fDGaWt}HY/T*|d;"Vq٨0ߩL~_HfTJ-*/ǠڥnEL39|v A>%Y),>en/ީQߍ*C4ķӥF8✤NB]Si8uֺ2랽PK&w{~d!Fj< |:DT`ct4 9*xt -o9G.Ƨ!m.XC^9oZ1&yCMXVԪ`IRP_IIR%[̱|d_Z#zRN;32w(< \m^cPSf{P jU,k*$h;בNW(\hDAOHYiOz$&+tVfbKB ˲t)U:z@Rw'<=pfޜ!HxaơOh"/Fr"r*#B}-Y'IԎtc;8𨛃%{>|(V<FUzxAΑאxB66/O~i=ADxn)`k%nHBOgwo aǢ-yn}G1KE>h8ajx6 B0tWg <5B %g0D= 3;WlEeԈ0*|: Q"I6E:2 0|7ⴝH\㐾ܶwJvV`ﶶoDvW 阴!cg /l 3g'euVjB>zɹt#zu WTrSb6z 3Ӎp`oF 8Hae=ũD6|cl%і&lWLn{D;jGqGcp3>`KIřNj S~AOB ||' jI #,hJWΞ|QksD"r J+2҈(Ca:wG i!<Pj%GZ8Z,-sdJ} 7g)aVIp9ru*;MQ-:ȟ.i! %|XC?^i .ígN3GD~&fꄪL8XE.E{7)lrڞGcE,2 3T+3&+I=Ht|5'5!>䏖8Ъ4UZU*;˸R*u6;yS}ozW5Wzk{AE[Low줨˱Fx֮"Ui>wk0\@[Ƥrou~Lz)S9gA%k*UȦtl{jCJM|dԟ*cJ3Eu0$-xSגwd_n{[%ggkε7n@5_gYR :^M=6zcUVe:ǫw`{}M-2w5%MY3'k :lQK^% + Fqķ~=T?֗%xmbJZiݥ k-KNx`}aקrX=:߲vx:`K HBV!n"D5E'ڜvFQE^d{w\Kpz6{=_]f>70jS(Lg[}\UI+Z 7iQfuHQ9 (: |I2EßWVRPE̳-Ã- ""k葞N2f y)4Tc!Be>370nEfю ֺpCܹ{mCxsϤ@7tU_Y꥾Z wq̋$ߣ 3{+h9֎lDpS{onvڟ`i߅G'؅ڳ~ Ph,>HY (fBKeZ,U`sQx|oĪ'+ u} S{whjpXrv#q~ R6pLzYfWX0,2xk%4I3ȺJ4!`MJ]KDཙgIei,rE׉~;9X*pr)dcL(%5UoObxIufM;ga)IB&\86w\㇢2p4eq9mm{Wf&vI# 6xpͷ@˷EZZl9Dh= B=VAU,f H㌪z:e|I&D\<6&פ ~Q z+8>  R~{kVy,fL, z+Rm!^|pÊh&9sx8Z9q=|5"I,u% tQ5~z LUV%j; ̨@k4Zn3#N'Hd>=m3qPIA<1KD1k DV걋X<[٦qHzsvPWkғb4 ŜTJu'v6N;G Bڠn&/Eke3,,yXo><-!e7\6\պ,PV_IЧbF+N;jcu{9(V\iҧS8nfJq_'Ǩ\jCJECIj,Dn]WT :a]'hk3F}?0d$$Tjtǘ\'dQ7FΖӳlB5?::Z\>z|~O2l^=ցl@zf\w+VՇD|{r?HjPA,'㍴a乌/,ywR%i9f"e7{+w4D8ɐdmZŁ4}zW?2 % Нv XiQѰ(q%PJu^J+Ǟ \%6v[6~i<[ ÔFe {|1ɒ:>. zZC L; ^*c_'3P.MMoaQK3Ҷ7AȨjtPVZ7:@ RqdV6KlAc0;^' !PDF 5y7ٗUPȍݐ#J_Z"!l%')zfu;;ۭfE8*iUFQ {jU$^tƤ*y\ :" |?,im=Vb^L.^-Ȇog6<-Yu wu fPnQN(LeQӡW>hͲk/bC XZ'w{~$TS:q@3sGweo`=1Yc8V&d3E.,#t 1oSbﯦXG.&JowHbtpx̢ vH;:lڜ)fr = _f63X;)рjݵ#S^kUˢen c@Iv,z$u]_5Հˆ3Xx7W.Q/lWf$MJbg*dkO 1TC׹?)s _+̐s h{W_yWswsS$UzM:"~HHT}wDHQ7Ot({%݈q5[#?ADFT S,K?WIM=S'aղȰ:^fBiO@rxlؾ]Y0w%l]ew PQsl#_B̉VZ 5?}>^U~L ' Ӝ+E=[$u%M`R0B³[ u0(1*z8\6" AJ/]Yyg2ʇ=ūihJօA'AˆlZ3kQZ0&3Ra:-iU8:Kq>Th=p^6ǭw5TK &p$pr]<+aVk L~ky[[ҁz|m&~ꮒ%Mo?˓'Ionai4If@;** Ҙֈ7j9-+i` ܥ5گvaFiv',}ogRuԮvjUǠTFxi稪|zU8 UkjMI1hr7Zrn_'jiH+2e}y }(#iiÏhӈR_R.sN+dF!A`NMmE䨽6u}G3F;yWY5رqQ{Mtr[ 8_0iJ}iS;]CYVwkW* %i!]{BRwϋpҦmGS.#ؓ2yBO3j4jPGmΐqS) خNuWNT{y)(7br6ӶZ.$]"M̌HIg3mwhOrſanS|0@]n4mAh?Vb}<j {z w!_LT2S&H%h`\%;pDVZ^k*O/I5 nU2"n밗!ܦWٷ+6_bOI6#ݰH|j.;V\\ aMVCAݑY/iʼnRyj!!`S$8bP٫TVAerlj5u_֓CDloR߷C-66Ҽyisnl%SFyL˳̅ɠ@[]m+JQ{ָ\iW`QM@3t_A_{2$c skX:}2 UT˪2$k8TRn)ըNт\p 9SpM iG>O5~h: yz8|q:!7' ظpN A8bKS803{FF"L 2 R+5-Aw03f钻ex$ YBB2NuhB>uo_2'`nI%ArN"~Mu@N ߻ 2 5v1eoh5d-lgrt *;6)ƢE욭+ߙ[,L)C+9ɠD7 YU%S2Qfɬ-R5ʵ>dSW/GFȫ6BcYNR+琒Rr(iPi^>9 (ZYyAǠa(_0!q!)1;A= ؚN00k!Š=Q9{: )J:7 :(x WFEh%9~C aj !x2 `_fK9`7iՆ8a&Ѱd}%3 ',ԟ*&HOifƃw&B+~{"3yX`#oWFY٠ /9Ǎͯ7$[p5 ԂK ˜˯5NbnS "%B`o.GlRY8] Ai?b΋dv(f q^89רdz[6B {LU?j,j4͚t{u0FG:{V-v<_L!0boK23x0K"*%HaX yBT8̧ vi2;B?an g \f?fwK-ǧʘԱ~Y7ruf~`d|M_۹XU:BhskPI#ꆊ?kp8Dw^dahs;{6N,˚V<@J: 3Ā돔ޞH;v}^A]T{*܃׹\+V xɥVZlV )SHʧ96'ѻ=/碎"ΤV!n ڰhdit˕0z7jv&> _|o3k.2It)fӷD`lhssDxt.lb:;[Ȝt:~{ue mU7ϊ%fjj\8[.་ZW|Wg/L~?gM$*AxˇyLfw3Eiƹ>1r6UjJZPj̉Ҡ7/8%A@CͽP)w?)E0Eg4|6 ]Οt (/dIffPE+ (/ԅ/|Ikѯpx^ڎƈMB? & |P`nQ4. Ъj6:g=YD.ݍCoZ:Z`v>vX\K=y ` Rׂ u=;a]sxHV\0pP&&2 Ӥ#+5v>Y̹k@:EM&}^Wg:n$]s F 3IMUz.%'8A~s,' 7dADށ8'4bacbri0}ڠ5i 6PjONXVe xÌsmUe2uAmY;Cx>Z-uvC"UϜfYےFwB]rIP A@'$A*fi$M賬>]#^Y+blnO2[j`}vsjԚp=5(nMIE%1ӕU5`v* 8?=?YxC+璥ϤXr)]L%f࿾rKzw1aA' ǪF^+yv%.7v>t'Iq N91Qh13'u^L^psk;3hnFN?vdȘ19Ui)CYs>r.Xڗ!@a;2t ;+|@K?\z@9-^PIz$)֯V`4TA^S RP4Yq%x`NӲw9Rj#\38}.g(' 3)rv.>nn%?L"|39|K(zٿz}m!p0x#1NCnji}a bʉslw~HcSU fEw<j$Hrvk`t~ 0/H %l?IgRU;$*2qm:1Ihh;$'o8 u`ɪ%_8[2sZ`qwrijD1pJ6n1`ROv & %hl!PZuɝkco.hnLv:q _Mn(RڎmFo%/{uy|-ܕZD5 z됒gohŏ6(Cwf !Pwͤۦ놞,,X)Ȣcಝ*ܞ(}dVWG֨F#>P!qj\6d*V0ZzmHBV&3Gj]S祷ժng\Lo޼bUlX^\ńlZFe2VDeB`+9xA!0PC'h[RuRGJc:sbO˿Jz:}}1V^9=R4CDb68tZŜ +յ',rqrۨvkXS*i>4qgU?:@93%)uF[]oT>I N;+{LHcGIw/mvPFHuVx<^M׃fql &SN 썊9dmaeQ Vq>wVӵ^u !ؖA V[!{f^VT~Vĩn/S#Dʡ9I. gYy_śgT7a.p! mp!r|GrdZmU[|96$vƁRf 6*ln[nXkmf{֣89gry>PnnȘX|^sI&áVR$`z+公'_2y=TZ[Ψ3' Sr/CI.ڋ{=nXVڳIvati +=eJe[:yeG!U3zU$U^|G {Iε6+ \DT.g\:$`(d9z=sD҇~a$!8=h,f__RD'g"oLlTP@W^,Owni`3.$dKg@)II噖B 71sR'L|$W"XYu~۽2iGg\/p"+ ʲ')lg -W;85:!L2`L؀s{_"g f,U4A _?rY]R<u TO#J3NR=ljGU[&CEŸ (qS IC!\[LɎ\\ qXV6]&%ZXyI3F>qkZUF".gE㥻 w4ălwZCXt~p齙@A&TP(!6D,CW!N;tt3#u^ȻfgjbX7/c[r),*a9Ϣ8)Gi/a٩/e#|g' o}2LCԳiyA VKr/7g@(NY{Z5A< ̼cokeBxDI^r!v Oߴ M V ;fee|2HI2),{u\Ok; =iٟSS\Rh?^>O/4yM Ƞm1ĂW h:'*'<(ڏH5Gs+2dS<'8 j:CkEr=|_)!B=ҩ!&[`0܊fhNH(1tt.rf|WiU @sDsr ^'0HKx<GZ){W7{ ݭ+k@U%l /WXmkϳ>zسPk}!/.zOqz=&56#Trт'2˰` ;Vw?or%- q) SqxZzt;Hok#vCKSxQqXlobc(jE+`xbð<Լ{7$MZC^hޒ2ufn!48hɶv#EI MT_bh;Z}ɨTj,9V","ڽ9قU,t!-$< 7:;ζ3^qzO$D+ypHwaHц n*uS^gT0:8T 5r;ISS$Y+&yrbg(GV&$֮.U.q2Y(&<jx਑X(5p{ : I"_v [m GiDODRd|S]]JS)!*CuʢkP^_ LY% hon'S|%޶kMfkyy"[s 6l4NŃ\`!4haAx2F )H항 WiWܢV O!/xY!' ~"3O(8p 6bLF; m&l쫼@Y(~+Y5uoxq~ Bj&`,laE H%EWHY$RVi}'t$g?ho8iqz@NԪ7s:2$[R@Ղ3Ns,^=R!1fsFDkޓ])67RV˽ T׫dS8 =FIa+CvR-W:f7ս=Ӡb-leB-R{S£:x[d %h Ӭ _/(b9] j&]f-]^D>L%%#2J T˕,k_62\3mxy aR4ЂztKvK1mtuo r.聎7Dl[ݞ*gDs~JAiP5dvd¬N&dRM@#&Ix$eC`;"& m4R}?ha4ΓdέJS/2qcX'O1gFwe6x4g*K(IK Qq3bh^B2g.`GcF>dFÛs~W;U MtحڨQЎ>4_HWc_J,Jlӗv# I2Gъkz]z݋ JT85`;LrL*M 4"23 sm ҂G ޺42HsQMQfJdIb'E/ϯ8nҔC2+d䢾.cHeWjG!@2(a>Yvڃr<.Yz1Nxgx]Eէ~+D md*tлR244 kM⃰1]gqX=?L2«*4MύÊSMh:A +!;Е;^UTsZX Iˈ lZd|\bˀ:%y麟OEmޓc69W j=E]P vq%#×v8w%߿5(cQ%}]z!I[Y~uWwt*x5e,/KuW;Ulˋ@EdQ{R3'Ҵ/yxfc&MȮ}ńue[.)@@ wl$Rkŝğ9a,M>x79]4bak沒\¾FZ%RiVUުadQYuƝ"I?>zQ6;{4C~N PM~MDo }uzs$.wL)yΔ\Wܚ)9I*dI3X76 UQ#MY. X.*zeZli d0G2cqMB[54-^,tD䊺"݄kU5p.cde%49zP b4K3OX %be?v`d/1n:F{-j<ij 3Uۃem KtDnE>.W[n`7wRVosoY0#B&ʑ5 ,ٵZ"-#%)Ai,{KEY6f]g#{4Haz9Cg'cT] ~a (hW`gQ>תu,W7 ;~@% Hzk/UmN8/?6nchui!R}P|ӑo}OZ.lxp鷵'eJK R:3Ys X+->h(twbuuIȫ봤`Odϙ@:%O lp}U i] %ӳt h&99>$G4z"}z5fY22xrչvn  2n6k d35iѩHUCPpؠ-BB91O뢲8 7^sw$ȸRGُBTs;|IR.J1Ӝ4@EIAKJhVl'd3mVQb]p(3zv䔿Nwd.発9n3 $cp9UuqGu4Yaf"naTs ~\֮"H3;aF=oɈ1idz /XI}u+vm$$ØșcƎx?ܻs9 f@G|={&ؗCTg^Re%Q~H j9)l$UP4"ikbRyN0K!}BcYQqn`WD;Nz&sS &IG#X1=U5w,spf9oI"͝ Ȫa9~q ^Fκ`uJo.gB=Ĩb_{TZ9Ӗ6\k 0q96RU9,+,uƧT-ş3gJ&qu!<ƯF)bgWɺag%'qN .wUl+6ʤwp ^:Rŵ@;[qf+T4c}bѨ ˧!mĎR{XN]ԁx{ą;#ouX| nsI%[[:%4RdNwȨ5l]?QaVm۽Rz^_՛m8uKxd_\ Z*O^QGv6b<邖Y^ْNd>6?X}g2jAe?]Kj1H0OPQ`50Z.!ߌ%fi8;d?d7+ǼuVyFmyg- ̨pgj>eqPrV`e@eTh%D!+~Ŗ΃3O(HR.`iDqV$g\Z$ATCAqqه{SO[mҬtF01[/c+\;)$CQ_u}Ҥ!:u}&$bjUplCتvAE #3|@ WS$n9bnVb{!Z˖ r($xv侕nĶV LvDAge9h@uw[nje{,5w $&$-; y{}A k (rO.nH}AD Ӈ#tss.Ƀ4XbMZE4U]mIH\U~e?\=؏˧ )se~[lM6 '^(t R'2$k~WrNȜ76=\JrYP*S 0>#_3r;Ο,*%"{^;\Ъ'=\:#xk .[E"c &r煎Jn%% \23܆jɪKYAKavDG%?%햞(S25~<{ؗ4m)M(iIԚ^(\KT 5L^麛`L\N M6*&ޛ_LDFBNdh伹?2&id&HG7bq)og¿:~)_>-k,-O/쥍"Ўά٪E—h@5t\=CnHY VUxRF֞G^&r`m(h59'e,ַ6,{v#vm&f7^b;n1[rOKi?چ^faR k kkvuЊ]ڱbx5nڅkQ \Eb㦹(!"f6@n\ ![^ݣNQRfHE^)sz`` 欨cx-sD&tѦ-a`ܱAf@,;8C8.f#w2KY"Wê Ln{U91}\d9>GԊ?;^V} H[q9!AG ooV .zu!'ڭmRC#YBV 0G+>KCy5r.ryXv5Uէy%5jT3lUO[BԷ{KƁs OJ}죶rL hUsI9?<8S4>jKʪS=2,jJj8಴U8LdYy(Z1⏊Uq>Y'0m}:oitrTLLIl6C`}jEMw$!`  kd|V>,WNz8h uB}kHh[PY4ݝƣZJd`XB7~~[zNۺ_EߴPtyw:G'<>M6] [r㔲qq˞v]1'MίObV) iu;ww*VBp_X^~x,Oܻ/h|o]1iIcAc=}#=j͂Wr+}o8IU EKNlwv5v5jcX>Ivp.9AoBB(YbC\vKOV!>c7cפ~lq5H3G hbwu^sFxs&!d?VP phn:r$R Y~RpʶKGR|ogEa"% -A0mY}hG  #2DC/ƓF7W 'YHTt)a4B:?jOd$Q]%'NOA^g"#o5=^vFV X@GYh;TN)qiPA t2e=]j9+d-P t 'ҩi9R'XF$I:=i<ݸ>Z 8)A;c<6`ƵM)ɷ~X]idxhS,C$;>rhKw{vǤmeW}f6pGW*es\QնYW:cRVjjAXWWBzI%ل,LKtQzG6wи=Y^TYQ;f[mT 0344·^"J-ԜcFKk|OMÎ~3TkFB Ir;h!3Ami拙4}1GH{:;R\ڍ!z aB @tj̱:h:uhQz~ƕ{٫&&D.sjVӦ_&Wz.̛~kRVS7$#I0qv;Zم0s쨷. ko!th{s^22ҡUWO&uN`7Ody hk(u!>]=5#rmgoX|mT3 cq3s~=kOX9 Mx??GRG}Z[wi~ 3EBܱjkm(nI\&e9x3m_7INҞArcXX|^i?m(jxpb)GyQt]N[!!klI`'kI@Wcqq>Yx5*.k8V`MJNڴ#>B[C)MH]?EEm缤o|3, ɍÄJUym˰Է@9 #VFyěx 7@{2ZnO9g%B[׆Z LrA{u| Ve_gw89N/*Mظ,^j$PDk" N<7Qwm(5bcG`\U۸q, Uz]$Ca9<*Z8a#Ŵ/] %v>F;xXi ed4TJ+]ќƴ!G! O/#-NN{PQÎjQv֦tj_E:p535_/]q5xeNe"?. ~hYؑ1c||B7@]ޙSpػ{P " oZITbՐ,Z&my [~ N:44QUP7<̩9 \jirtcw*$kAa]zm$'5V1U*id`EH;~˕!%*թ :%RyHSɒry}t o3!#h_QM@ӱsKi]>p;Z:LԨUfn(?{V0> fR~ʣrK̓O}RtB:kgD>POr0ie3&WWJ{ K= ܇'8&p.67kd0($A>YӰe18%3g ,sPj-_9D8O޸ X!Ʊȉo,7s7g> 0i$Յ#jN#9wu>FSS/V1)vf9 F=zQ{Epz6t({p=]؏| t6:rRcr.wxp ^ޖ8 azL3J]fs姡7`Ge䪉^OGZ2 螱V>ITY̮>td߅\*36 m7j T@!baEɩ2jCާg dDKL;djCq7:Z=ZVxʋDFەjɉAaլj=/j j%<֋#+qzۛDgW$ ćD ߬PnXAݔwHsIxΩ8# ~Mk +$WQtNrݸqпcVG2\ƥD//U6+w_.PDsry-ޗ[vf&Z۔3:aCK*;E7Rlg*&3?ULP)x{dlk'\ ;$%ZatlOS.9Z){~[P1-7cfѫv{DBF:tZftZV1Ufap%<YuX^'xF&ӫΠRFIԄf]! ڨ˿kԢf[HsF\ʒ= Z+%;CKﯓ4@={#Gs=lwS7[ޜwyt-?^8~tL[YJFY^a[=nh'zo{s@FӉ!G ,^Y.I:> )L.I1-põ"=M,SHZdR-p^R%g'gֆbmbBorV$ "]mB77$e_Z+D?$:EMv݁w IBgelx$o h%˽sHwpEoC/^}j mvp ճ@C"K| .[$U{_KZN鈤]䊽#r#*ˠ;w3ˎcPt4^ R_=h IBGTsZ#U+թ)i܃{3RܜB'YL#K2!_xJ.i!s8H=%XhB͏HBs`^Topщ` pM$E]]{ik",9p􄢽\ֽ*&$v2ȲoI 9Q }ꐜ\xE*)k]濥Z4΁Fɼ\Ay(;/ ;ngKtIl gn^Y>m&˵"?K+j@ALl qÞhh3]mttj,#,vˢ ͿZ9-ڬ*A,2y4z>7i_|[]wwr4 ԾV(VV^\'sՉ=~_:; 'Տz?9'>=|m=~70,1Yg;0a16w?_3)3hkimd $wI\OM/|&E&*EP_pRN:)HoBtJ = sMa/eXCؗ"*b`ݺ{${.G|;2"庤3u8D0%ieyʄZA-`"[^MA-,PT'%˵&P9eл?8yH2ÕU66~&]A02]s?wW0>?^_ w9ί'un\v OHo2^wԄ@?-]lˣq:O/IT[M1P3YZڨ'ߝvDg˹ g(xn2/T՝j\rZDYW".9~&g5[XGF>F6bƧ-amfp0W Nq^HFf>K;,`ÝNjJ;׭ l{n47 㭫5F>p x铝8C9/ѫjiT.[%#|p* bi0a|] 4@("PoRP@i{3Zmаue!\HƑũs2Fgڝ˻ޕģ9Dh(vKҗT8Ĺl*XLl?]WVGt.32TpO*Dx.%tIe#@P-]5>I1uf/{ ڄD$?YB`B; sNh`+TrSŇNWT4FӼ{NU)ZK昵Non~T4rSڑb! FTp|_">CRlsaGxdH[>J T9 p%Qn4ΝpqqM)LAʑ3婻n J{2FFL(!T.ńs8_42R5k㠶efTk8[u[ | Εh+`^R*]TIځ>2ށ!ahNBU'L/뢦T^+Q?rR`|!&Vί!+{LJ-MImG8oҺrᇗvGWl~{v"#fvAt&Q Hr^\r4h M>H?-fɪA~Jbl52TUNDmw\svKQ}yyj:L~D|sSHROܫg/6!%5 `ng$ԙ\C6[gKFiA&eȌAs/}O G P\ʦZ.1n&E~)a^)HTJܕX$ّ]1lϖԽ@~P< mbC*QC 1=2% HM xE֍o&O+/6aBwnQ7d9he(4Od\Ls5}[PFԍh")!25ڷvC]~QV}z U|>~*GR?9с9r})<㡋c=w2`L3O2﷥~s^֛K'7\zLTMLN=;yМчӈ”wPelu?H=K1@h5wr]XP1^ GB4ө tgܵ!ou.[nj>.}9UFpajw汎Ќ~vdߡ9<>f/sAw6:s8='"z_K461'/> d \D~A[j.Ҧe{2QT,cs*tVY_Wuw"6CK]O?xbHy' WRğ$23L*abQYU(D) Pº^W@:AmIb_:j"n(d%췼*cR 8ytbQ3wbTgD2jf{Ƅ.e rDs]O; GdMb;ַ>G G1PcmSF9 vӠQRQ AzepfagQ ԕfk 0Z-2ڝ1x@AX5p%9]&^H=_7n#ڥQK9s1KU%>3'=\rw ҪL±3OĔnz؇A{6JdBūn6Σ!/k؂vD7ieE#0|g%fb,8_;_ix)3%P+WP &iQv]G*I'긨gڮ4Hړ^ɋ2aErtbpd]Ǽ&sCdGfGYqǜ?h>$SDZʳ].q\Ȯ\*-a&Ӽ\ f≠]E儮9qf?x3ڴъ 1*ۢWD߳!WHJ%;9UY3=^EI]rW4yt50)q_"gºjOr8GتŧC6FCN~]ժ9dS@wEd/,䏡.*=;|$Q1]#x-ofK?[% SB7v4D~Z2`P2f5[-zjۙ,YBBؚOHFwiANOUҗ$қSooH4up7[b5uZ'Y~ERѰCbs8VB0)N lP@@Q\Kl$R-Ìl#)jr~}at<<9frHv."iugrpʑ24GGzBw2͝SwbABI=[>?9Jװ;ͷH_P~OoGІ\~sT[$Vf{F ձaA=ݖ[)} -ݡ2=%ɳPlA>=7QeĤRWo_\JͷYq2:W7CyW\]uOTKVӀ1F1$q 1Uspj& 3ǜ`4I'cS LtsCB{2:a^g` d\\j5/뒝ZGk.כ跽= nUI:Hm#pa0C>fe9NEld)k_DIMAnU6_]x/{~c|dW ߧ;{rX<.XL# o 6{sRG,Wz 6cYCh0dxحi5oC 3CX=KޯR7Lud:4Ĕb4lJXzԹuP!QwZCD rA? &Qyg+}_s*6:a4-Ks y:wWz΂gxoq'eu.m::9i'~ӉL'0(Mf^h8Xvo lġǒڌlXOАF ]|GsP/0 "+OW%pe|d ᣐv\erSx  opeJi3ǥT~?hwH e[jI7F4T+p ]mݕTL U֏qq~:wG ng†Rcۛ免jG4ᰯsR`%B{ԌTktF϶0\a %m)[vvcA'N%po5 Tн3{,Ļyf6xq7/B&p*˄J\9] o".%Rϫ̎Q s]=߄M m-U厖D&,l!0t0,]Ը`F< e;Tmc5 +wީq?h]]XqORT33l\jMNƟR(>Y!Mh{n&OIF%W `[)qK55+>4km$YIL869s_R9̎[[c6L ǵzÖn.t=:ݻTdi"MGfĒ wޙ3BZX] 0S&gPÁңQ #05yDzը4 V2}8MiG{{ 3E꒥kqZ[ɛ^9stq$ӵ|Xߣtv09#} R %e>n #DgVUV^4ʘjhƫݾD܀u%@&#w۝`z#! ^Ш0{H)TZfU/kMAz(11;ݓm+N.krM&5ޢZ#"܊Szk#TyLJxתqSWpjX@TB[zҔOixP_JbBcq93ػx[`dG4)[ ȶB$es~r@ T?Y>] bY!Sl0D_ĒB~4sgɝsj:\+Up\I]|?/N_\^(:Q:v|pxAϟs~E6rK{:C2&s Q.aoZ-c^X۷oe0SR1'70{yZjBQb ɶ\X4ߣz4"=s>I{3,z?afRU6^ڭitʪ15ԠI,P$;V]=lQ8ɳo| {g}}qF]G'^{!Yb o4GD?M͙oӪԽ蔭;bgn|j椢c9$>PN\JT,7P4C/B)7Xa+Zk/TҮw,T%̆!/~zF^#}g>fd)l*Sۙd[&u8={w| ~;RP<^d<:[idRO{gC!P/6I\ѡlq"&TP ǻ{ܠj(ʭZQfEV;R\*9w] .IBQ]Ee]rmVڢ{SS!?$a$wwi2ZAhi CZѲp|XrP͆v9sO۳K0NM^X3QK{ǧSB>!W,Mz2dHp*1Q0 ߆ ;;:|A,Q$k-wn@ݭ*iP{C]$Z)I&RG-ad*kLMf/> S=ZI3p N yW;i, >DɀD?VGmQ9z#?ɞj ;@nx3 m`:T/ Z0)KUzM3=hz,'qِG# )ͨ7gkHR yRYA>ce?@xkqڒ,/H/(m@T>*Wl4 yHkEϽ("ޘƤJJM>Bpϛ$=| tIϼvƲ/!S!| u&Ps@FꂚT9,y0ݹމ&GpzD2Rʒu/7uVbV!g07R DBe~FH-+ZRjp?/mhL4KϯOO4-C|:6${2װ ecZoV@VT\y{DIZoGtch`x3'e 8(opޙv8pITjyҎ"w[B'+@MjrΣ[-q:j:fM}ߥ3X"?z7yf&:3 Y'/'S2`[9؉! o,w0%UU@ 8ERGh toh ܡm:mRj4~4/]ۉ;Kvi ݹAy;|f.ZOyryQIH]]вG( |(tsr?;V2iP/p=^bwrI*՜V:# ߟ V\GEY<7_Գ9/GX7/]#v(su1.r5,jZUC_"[wu5isaAZ!% 豘 0;略gPJx{g 9.0x[ r_"e)Lgɋ{zxW\?ִV/=u[KJV[ZB+:^b$#y?vI|ɑՎ_ GYx7ߪ7ߥOR](:tx1(VrW_qzj?$?|o[?//}ƏV|f;¿HJ>9{0eٽCTyin&p{&),%A΢ɠƎ @9|*uv6Pz煋,")3" r/3p&[VJ^5%h%{e|K.aݥGA+Am|2#tݗudEvv v%E<}}P ~ޗh% g$l,(3dسsKR3/0QB wxؔ? @M?͇'a"S4~{$IV,-U!'-RLJZ<~DE _Ug??jzw}.NNzg>RVӪ4SMݟ/jɮϼr5!\ ω*ZW @/$ 擄-R&XD'utH[^#QF?EVоbۯ ꫅;|ū_|/_YltXE3>V&,譍R˝.>S ORy1 L -"?qcZE1cYJcgu+H!!Py*V1mU7GW;&`#YCƒfFaV(akg=hO)v& 1.;Ȣ6d$`6!x0cvHrԅ'-$ '$jšжp3 S/h]fGqPf龎 x;$~0@<}8ËDg|zW+rxWk?ǟO[-l+ o_svh}J)5Rys(\{r+9Y@+hRtYXd.ņU41gNr xră;sH='7Fz9~V'&&i9{v{?QȜ}ej=M{(TM[CZ-=E],< .)C*]5b{9?z:?@ȧ!*`wo VN0v܎mI*Z%>*Iҧg< HueNc,r^ NѰaHEzԬkƋJh^鋚u>dr[0Jϸpf@y M˵ fQU=?1V H 7hG'IAc1D=?"4i&Ѕ4KM,<:׸4zN@V_r ]/=l\6}gq|Υ\y/xp>b+?녵+3ߊ]'^_~ ٗ~V?jg\mfYO7\|Z7?ǻHV3&+Ǎz2ЏtIwÅǒ ,J" M$\F1iqXb EW#g?_gȣsjG5]vXL`K#ɨfGo(lZAĞ'D1HhխD~ P6ciiW˩ܠ:W4BM VkLe8_sF_qʑ-KAϋf{w1jC <ԲDeMdW=}pP_;wb&WX"i]Vwif."O_iAo)&)̊m(f; 7֣[Zy 5; ;^84k:4Qdgp 5 Mq{hYh+PJϗCks|!gC~타 Yo*$+23HvBω7׎($$,V .`3^@9Meb*ӕi8Ҳ:q2UIӲP=_2N6Hi~K/ONZ0Ƒc8]ȷnPj6,C+`7U+Nqi`i ysKͦ~VIS@΢vܩ%C_X0w%d78KԈB`g^`=,S>x0a].Cdªz&S; NZ;IgջZ񉯅AwXxVtԠO/"L?Z4_g"gon`BAt+%ĭ&3=Ki4\<^5I rr,P!qy!5*;R7;`M U =>7"ic$J{d6/R|їd{>{YwoY)22P9%I+de)cV\'. ԫՋ+oL,K?vڟcwl>m>ԫ?OVx$J%%~A^HU>G\'n˔`aP/59O8͜DBm qǗ)$8I;~7'^ximKVVXBQXtyۧ?k2Q\b鵋vp?2FQc> ۿ`DPa%w_0.:}/y_D leb׬J&//]l'XFz4GZi,.3YsP{ԓ9 ]!x +~tMjCЕb=h/ ONԀwZ>JϐSng<+a09z. )\aҘ K5 .jV9C=IʂUU ӇAm~h~iK0V+3dPj^/=2 A]mR" j?AT:N@A*|C `n@eʞi4l_:%[51=Rgd; dtIY&{N5}OJ'YPs'($OLq*$8#H5ֈdszۄ̗\'.KmoM4Օu*O\} r§VO3_[ O q<{S"D