summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2023-01-25 12:01:02 +0100
committerJohannes Berg <johannes.berg@intel.com>2023-02-14 11:53:21 +0100
commit9288188438d85e22c23cfd6657ee8a801babc83c (patch)
treed01dd3bbf448472078443ecb0a2a9ce78db18987 /include
parent015b8cc5e7c4d7bb671f1984d7b7338c310b185b (diff)
downloadlinux-9288188438d85e22c23cfd6657ee8a801babc83c.tar.gz
linux-9288188438d85e22c23cfd6657ee8a801babc83c.tar.bz2
linux-9288188438d85e22c23cfd6657ee8a801babc83c.zip
wifi: mac80211: move color collision detection report in a delayed work
Move color collision report in a dedicated delayed work and do not run it in interrupt context in order to rate-limit the number of events reported to userspace. Moreover grab wdev mutex in ieee80211_color_collision_detection_work routine since it is required by cfg80211_obss_color_collision_notify(). Tested-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Fixes: 5f9404abdf2a ("mac80211: add support for BSS color change") Link: https://lore.kernel.org/r/3f6cf60c892ad40c1cca4a55d62b1224ef1c6ce9.1674644379.git.lorenzo@kernel.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
r g(9ktuR޷M(cspEeY pX@iSH,`Pv"&NOq Fry<;tWHq[N=jC "Ôwſm?lEUq! ۼ^= (66BS&-Z6̃Pc:6ln`ݥRlra`:Bg\š0TAS&ZWnw"bf {TH_?JbAAc]YZj@+}v_L |\{ph+_Ӻ",MMZa4 U8jZnxΕ$$Q9]EN .͌0*A 4>?ZˍݩR[\5V6MtWK&uF`G0ʳ|0[im᪔E5Г'qfU;E8R9ZW50RiG1kJ|Dz=AFN: gбW1mylkaQXBI[J*݃䵞{zۿ(Z]߭=OkxI9 1ͭsp}`\m}GSuTّ0 r I{-w?_Led}&:`a~0\D 4HE:F/$'d?JjgˇC~tT70SCE>!8&] y4Z};y@ A8?@}lRh~~\DGlRk=Z?n |ROn,}%ZCo!eFՂ*ӷggp&vbSZffȚ]5رp$PeBZ-txFe{t=Zc å]ͽï3t^:)mk4}im֌$\ދVs[|0mN -n_աNo N`pu![ngEgl9e!9K mjn1 Յ茳^>k^>f3'3զZ7(|ig{||W-27Ǒ[C͍+ODm \뮁lSqrkm|gb?uոe}⚨xZX,|^26JFʹ~o},[4U}}0_buh-w27Ō%) EN7ɩ 0t[)A[,ǒ-e<.4Xvs]To|g6V}[BzYc>P|NZHp } =_y>j_C;[?mSIHc#}Ӆ.U;Ƨ,_غP.zkZQw3lt.e1ҺA:{yIUKuS+Eg+ {h"4qrjcy]g]9 3UUnN iݷ nY9e~ JUڶZ!#'|%&벼O8XyE~.gs?J057(L,\zG\TnXxX%_& iyJJ.?ِF`XqeZ*(aj#~G :Y>d"gty{ܝwy)4ʽzj^f-R=?p_?OwssieӫU`oh_C2껦-W8~7ߐY\RοY\Ϯ#ogǮG2gvGI F4lniX :_b]aZMMbm,"$z:xpmfV@hbA] qjFvAEM@D[&'QL>wf28żW[s=pIA$_^ qsv&Ξ=3.n\b{!!#{R?_ԶGc<00a<PJ;H>k46'}!Bx4ƻ(?eLYMsNe :G&^s#Vua{MfA$͑$5E[[+:29% TGwZd((ɚs ՎWitcI7Ѭ-m|/a"SPj (6cZ*E-myeӄ_Z̶\!ޣC\U[N#-:8k .Q [͋/f!lBzPLmc. 4|5"C[݌lʼn iI&6d ?&f0&덬G w:.])%D~~8 .G̠G5CD@umW훎vhSB4ŒK;42?=pNDū5A1LMd1 Pvt d/~b ঋ 3t.ȪY)2EJ ybHf7΅#|uVIHώ1CAf!)D/ ˯;^h4r,3mc*xgN&Iͼ:i ƨNl}:!(&9U$dEDCupw~.ӄqyӓjæm>Y XʍK[# vJZQeQ[-¶9&u0%V#WXv'3mt\j0u2z:ʾ4a$t5ļ99# Bq>Sg&:1eRs&{Uey\2\g;Z3\kkm~A3tgێn{ _g`oCJ7gkqY]Dvl״m]Ux|eh+95U](G )V]Ů6ArN|Zf-+`Y4|—Wx+ ":6}.j%ލDGDόoi̶"f?qx>.]>Nhm Q?p%ȈIN8=pRCfTSt^ܼGM-?_{B?|cDmڰn]o\ Қ5(@82 xZ#Q2@ ; CMlPlF L8u b*𝐗t|F|f1xḿ#qK}pue  M+ ,!OJrdZoQ( $@q!* fsx9LȹFrؑ͝A/Ϗ<>Їot i4ZFDI$EKmrv@Wm%`EI#h[]( ̝㤚ۇN?5# W*8?r|taW $kEy"$u] *,Ceң: R @ \ 3'k\ޟ~ͽJgAˆ.w>i(Q/އfmv<f׀gȈw_ێyw@ht5^j W"`h7?oA5ݥO7ߕ-u7h]{B glʫ5ϖE-uY Wp ;-08ԽGdz\P\а'p^Fn87|Tnj#v}duW7dm6HV3s;kp_/ BIP֩"fHBaZP 9U ~/)m6fr0:[.R ip9?T3Ⱥ *H4#ƌ`I`xɄDWP 11]] ʊFH>U?P 䟿v E4BLI!2T ,%}c 'p_bC*83W[t{lnȃ(yG#F$u0=?g&"y 1r"~̬zbH=FN]O C5D=~o)&Ip{ 6~_?;8S?Nߪ}_f+ɚ7vZ?bHsR;^IH?7O?(HPBCo0Axy,6|$0Q'zdPGoin%!Ȏkp`|Hhw Ip̔0FFaSca }vю@3m-RJ!(³=/>YǺqZp`@c BM"$VpyQ_1 G*\}ӧ+q8d_(/'GG['K{A߂s \jح\.Rwc@ܩb "Z)@^3\ kn^1?T|PxMr#=`,{:J9ShO-svC:՗m;u9D-?#"Kw K# /h6n@wE{[yؼ/e`{#$nqsft(mٛd&|xzD$cb/1t#a |$,hoq6JJje[+LjEqTJxZx.=g{Φpx  y 8ъmȧw8FK`9 8:8Xs3vUٸ7o!ͧd$K JQxMI랚F!*"ֺi {n 4HఎQA=c&{M>__Vy@V Q":#'aWye!_(=Xx(٭D7r Co$$􍱮Ԥn7 q ?KKg`/0pB;Ƌ|ݼlۯ>mnkuZz/0AO 1NoHyUg/1Cק_QwF?r3 P?x Z޿ݰ>- Ia$/ha%{c$QϏz ԧՒ@^lY=jz<ުjQ$g_lk5.o,w 6r(={uJ" /I=6`,U}/j v!s ׇ?>VQ}Rnrj=ٰnx ̈.,姐lWwYwwl/)ǯmGyP}ݜN|5,ˁ.@pR]Z=uX:ۓ0H^TK9'5 mE7gl8^m!NN52 Fr:K],xpR Uߌ5X([)#wCW.&e`=u[*YsB$:&d)9+(rwܽ`H|p3dp@?gWIw\DIQg "-~O1US Ä3c6D,WoS0/3A BB L k,Ke$A`ӽ'L΁mB$ة|Cm3b`Ċ3 M.lv2Ct[3MmY0uVylKpkfmpϾ 9=nJ# 3`4&6$ E;f!y1i6łP6ݙٞ)0AI}*8< ;PBgΗ q:$< %#/@_6bS0䳐)dk˲!BG߱y:2бyH~*z;9I^oavz*_{^bo1'3|kEG>2xh#5WO.L (pͯ_F"Qf8\,1a[u񶘏? @y4E~?G5\s딆'bf%dC:,҈'gCMgNwĶSJ--$aN#;~;Svqz:LJGG]kV[,TKZkr :ߡmQqkzSӧ?fq6 wo_iU^#ƂT7uvH"_#Y( ]v8iu7%+dov}.ho&M[~N5}Vʖg7@= Wǩ\53AuGRq$N,<eVP>Y?Wy +5|л]&.(i3{icȳ NڔPm|ae C!xQF;0$jPGb⶛Caw϶ZOF}#;5FUTbHn}Os1]ck^O>Lٚk]L+(Gg, 7!IpdO0J0u2F,)9`(mK݉6Kwq"'G-J roaq?ۆ^f`cGj$ĀC 2c<5j=(D( AsqvG`vpq>L.}>^,Fg,$yW/{#/ ȰMq|71䀈G8 D,r]vG9HypQ+b5*Y,тv|!nȰzNlH^Go'p/cgy>a9˧;~1O %0B '[~Gǁ{UR b d~Iai=XŬ[- wTeߟz=Əs\qnR4q '_+sa?b$\=C0'n: o@lDd :8钘'QJy=SIlD{<әqn[}mn@&hA|5 Gq6,T%UARlu'AlzJS1Fy_+k rqU@!p-&BҲ/^v{x:$AܨۜR9s {1RTtvi!,3](75[Ret%+7,M)ƗK<<]Unѫ1S5ˎ.vn9̴qٿ.޸?5GP场98eիGz9ɜJf!.iAU fm9m4v^ȇ 󞸎w͸_48/$*R=;8ZEK_,`4sw@{`v쇾&1Q{7T+7Dw.h] c \ ә %slPH]Et' HE[]ГH| '==t6-1 fzRnt9a˫>Kx+ㄏw]/LH zےg;?c<=P粢KQAH2Sw@iZ^u9tP+fx0ObR[ 9ɱa(1%k!OQHSݯx#1˟k'y 8?O\gBJmO4<wjT!D|};)[r=BB%J;n.GR~z|qg?pQB#"1^K6((@E1vrXz[*{^O+߂Cb < \2UTI#(>`N1Aޅz^mv{(Bs rʠD7- n] 5aR_ѹDТC@,ˎkgt1׼sxl= "W';3&%lÌW:siKamx yKtPvs^5]QbTH@%Ye).oUM5)}or~^ޝ}FAIQɿ XY_ǎ &G5._ {VDT26Pߪg(}il3acXa X\c-ELt#,mU(S\uy_xC#}9EͶ h=;O>\j) jӗf})`aeLMWa%mQt+% ;~GC+_iq؉bX TqαDžH~9n%,7S?۽u^l/m0 _frzs鎨@:v >:qPmrlHW < }S>~))0acc}|@ˁGTp-&u/22nÄdɈc 08.d@ګɣϛ&^\>Md..崖[C^ԜϞ bq@NbYˆ:A1\>Z/$٦细؋xs77̷a.ۭ,EW :s=ZdU| E@+s Xgw{ʶ1;fً.(0P6$~2B> 7Bzj"lJ /8 ~lOe>'}PDOZn9[@<| ]=涅2…-Sl߳2Qҁ|yQl= EA w|>Cb]dL[ =7uu!)[w{f38 ^?iu'1wFBߖè8OJw#q PrϺhW?\\`gp5KH8M>tHX*c[]joz.Ü<Ű=z# ,it.YadqQ(] 9f &yGbEGgSHԃK= 0P՝cWg?×1<JWe5L_"K&Py۬V#u~a#p%W|tSlGXs`bPtgkJ ᎾáyO\aBsyM TΘ;ncp[98D?< "F`@7[/^*OVA#R24CP(eU#@p)_~1=v_#pU,q ?OfBDhFF[& 15OGA7XEDu_A譊 c3i lz#'nWrQE> C|M$:#3Bgg<\x362Ygݡ3Rlt@([ 27j -.Ԩ=B5'c2=ؗEs;g{Uu2X0o#}T$: `@^N7o`BksD I\׎aF* DD,ގ jq (#@n?[ 3_ /ˋU}R$nr#ƓMto= ١?Գ|y~&ţtGҘv˶@w}%?J;sAa N cnN@+u.&˱UX .<E.쿞[|cuadU!!O;q~?+n88XA>N~\NOW!}n?14]}JZ@%H$K+_zɠ{vQ >otߗ>H#Ps(L\<@H#n_QpÝ+IªN?t؝7(I~ D7:M A)T ƺU(/Z-yU- 2U( x:,@5|/fhf@s_gôKZp؃h܄[xw]:7p!*fQ*T45<kP6nV#VDm!GB?X#^Sҝ}7;Es:4# 8QY:OhDӽEOe%8qb֯z/oXo6Pz>-/X|[۶q3=/aꬓH16kD>4v/㶸Zf.|l5+#vq,\V.bbUT-+>H$,c-,p7&}c(mr ž^&ڬf RF3\7Ԙ{8Fns xlf+%UOU;5Ϲ5l_Кo^[u|k-̗._bc+A:%˘\.ү4&A]QWx*f4b1#|KFs?.2מ~_-pqS~} 1i&K~i iO•Zad#1: 1׊E d-fE ;6}fj_78157^\,(PCaK9 H_d` m2cٷNӰߟ&p âf!Mȃ2Beׁ-*anfW C"AJ gQ?5 }MC#vdAW|LY}bVby^ 1/imuwȦiA`97dX #]M2_Ǟv*kVHp)ݜf 1*0c~q1GCk9P+YGtKh޿G~? 26ܷls*<9ݯXv=[uskG+loAiJ.{>x,{G7S+5bA@[G$t¾m#s֤)ֆ)B% "ASr= 4jS^ks>Fac ²*A˷g T(:_rz2l3cX9Db]=0y5KAl F<+AoK gSԖN )u$[*0Z=k2 /E}|fd,>kAjΊMwB NnPx f\V@< \qMv-Iqi¯ [R0yO>Acܰ-BnH:gE3E :\ٓ5r(zL.M$ \/lF)ymVE$CqRJlk܊`:S^2?d<@dU_ZоE2rA5@e7&X'3 U(m.W;->>b"Rh=P`@`C 1`}N V.ED8;nLod0;3Ӈ$v4 #E'C~|N?/G ӹp_oݾ9жqL,WE9!bxK⮫˅Uv6X*H}&'`gv?-#N7.)>^%BRCBfh]xOfUK)X(7( 6[w IsGp}&dp+N/QLZvߜ 4`ӶݗUPi-\7REk,؁s@ӵh4D7k٢{>;?NVQ5|6K{AVACB=8t nf7 ]/PHsUjזּ t[%>.UuFteby$+mRŽ.8԰俦XNn/.?N2 -!7xE৉t}e . Jfal>znk~rZa}h)vb'&CUrksᥢaj.iX4t%r]aHiE/#±GUmsE bv`u& T;կ\mIt'9U 4&LXoI6kDEmw4gj&5Z{KK[B`Y!$Hzt| " UEB(/gicͲcZ[A&C_&ОIp/~gBJWvE隕lxÜ>:$^bF"M,(8Mh!ŢU2E@EyR@@rk\ e~!faB_lJ R$VWp~d92?x uؕW1w!"Go&3s.Iމ4ޢb|2sCڿ{!*];Sf:'MK7JOz&=wJWU|%Tؠs|)&@5@%(ej .68^X(W{?`PzX[! =z ɍz:H/J(AhݱCg9],?¿|ው.* StccRPHߜTl{dm.|pNʹdzoپPWKFfLDx㞱;ǐ8hD?wsbYZ6~_敮ޮZNE 63&}nj@p/z}`H= 9am#&VG-k1U莏xWσo_5i.  ^␭ߞT.qL>N2 yO6+{U~ 0eA$uGOK=e]mY3S`?0z=1qx5X+P/> $ ,vG&}c:w͒%eQMѰRd˴0c6T"(N> iv T=8!Y(.*O$e)*MTD`ɤ)<~aNs̋)y-2kǍq0+s^xDIv^X #w D95hG;A&Ь݀C3H/ӏ^+f¯Tx؋M9ܔ-)gLid~a5UGDi04A;(Cr+% } FQoͩuR!'dZ2(%+ʈ&bA~P#VDz3uvW%&C9p^nNƲJf鉎iw Z\@u+8|a}/z|-8rQL8t^%LZu(?L!:K'mnٯ1s`>pߠGd}|X"?9'Xp0Mvc`\rf3bSt\AT?6&ݎ>Eu"[y8ʁg 8:]a1ЪI"}&`;QZٗWkj8d8>3'_7,XvvɌsM)Ws 8nb= NH _Cp.7K9pbF!T]}osp:6+v( h,`ͯ$xLOBFi]®[й10v;wbC*j5q&\bB(ZOWB{4Y{)l„0LvҴĿ&`V饃ݭg֛"FR#n^p2ւT-@؞yśU8Ct7_MUO g[!Wp Nqpׅ[!9TEam`eAGVӾRa7 .pe,1;/E;R1&: [=LU>6G{L9ݙvn/bxiZW{Ǔ)$¾L 71F>yZUT 1AqGX%0et蹶Kw; oV[>N2rub Qrdw\>2򥒼?A}CmQ3nBxtqɘmr6#5s %~jg_V(h=jʊn2pcyz&Y^D}LGSȧ0Z!:NߣX.AfNMb!@xUGM}5!OEC:[P9|4 CsxWGY wBoĈ1S#H^rEnYj3J=ʦ_׎X%9%J#ox 5ؘ~&N–$YmZ%SEq#\z샞|φ*߄u;.Y[;(+}<+=7Lw^Zs[ ѩSVmפ:/:Bd"4/ Z|8Sshױh._R=:v+VpkQ3@t|#<0r`1vgٷϾ"'.lc5:xĄY̲㝼%Kzz}{fJ4آdʏ؋`(F]Ytnyn.=|BeT@⠭v<:/lZz(Iu(3-p3k!E嵀Už]\^^;< w<39za?ݟuͬUXpŃ d*2bOKSN$[~ߴ=~e@p+&(ߝZ@Lsz%@P\ Xj.eh\# /Z(r[mC dW]{dݜؘ<#h+>>Y(˺Ծм>+{+R2?n/voK~ׇ LH3~a'8pv-L:/c3c_%^ˏ>{n#jH߆  v*WYZA s'QVXi+`f[B)EhK&+M%|Gw7w H9%q_5""2J:)ylAd6|;5Y\R"C֏g*{>'9ˑi 7A[?%!֫r4Vyui=HH}4$%0Ώ]khe96Q`x>"cQdom(Qj AKDN%Hp&Z]],i$^^Kzs&ܥqt7 X8`78Hb49_q3/vNJy)mGV+\`\>6{H!YB\J 5 ĈUօ/T98 h͐1Qb,Q%E^MǒS.&0f/1{|ȁ?$05PV|z]Ebl}wܻUDP)uo{oxz3DŽADŽ3uɇ7qǃ& V>iERQ ]~^|buU-Hz(5Y6Wy{$l"' oƬMӺewrfS cFtCQ.Ző-#g Ͻn1j;0mdߛƊ0fўWh`HHHBN{Rm?0E_m_#xhƅ!-)w4LZ2Nsb?+tzl5%6BTc} 9+{b~1kz~֛%;Kld5I2se*[`*`_.@ 7)M&`+orG{-Nz 8g.phg$Go~h= 2[5G9mPTNR y8JEՇ]r~ NY+d]Arڒ84o%蟪^+e0}y޵1pQ ϤAuqpRq7Fc-j`Q}%)A+0pQI~؅ Gn`3 ]@h.6wYsQ" ;r?"H(Vk{{@_O30zB9Xu9fC@`mDw!ճS HHن!T nIC_S lǑwk7C FF]+Js D?ʟ`f'e_9SI7P?ĴK?\@MSMR}K:j2vUSfR o\EABoYgUб˱%_o豘ߋ]P@/Pϵ򭰷-`Fٍka[ր:|(\ꅮɴ4 "6urirX& Ameiry{Lc=\(:xGtlfӚ6q`@e^:zc۾HI22>*\s 4Y 0@cnK;C|gS_;$T<PX"\yG?Ӎ&(N(yH]Rr1FNW+(w&X.EH#Tb +RpB.e~ֳhX4f/S޲oMвo(yvX? X[5Ԋ4>w>Z "fnaĺ\'S&c5Gej}{\K KzpMQxCZ?qəߜ^?( f:a$גXʍ[x?3 {4o/;zpu Üj21U"[_rkFcsO;ŨCuWhُNNv `.5!67&H5>Okj&M#by_kD:f̝DƊz0b-1 Sany`A^Y%;`G !`@z/Ԭ-CQ6TQ9Gܤ|#g`wDн>O+;$]lnRݦ`xOc>^fu z!룢=({|"OkL?DTEZZ=^(lS]#z' );.R/*A%HnqW-o ۔9 ͏)Ks "N 1. B$uL_͋+SmmI&hGxg ӷ+ѧ0S#[K;zR ?nZ *+%^\h9\[nmPx/m2gیOu"<_dK:S!4 &/_T0qc/Y4&R ;LAzu&ua9gUio/mZL7dbՎut}rq;_A*a7mqt"UM,xi@/Qsݓhwi?2 <d !/_ cﶗP7*K"wlIr-f;qrW%bu{%; cYUpP}ua}rcEH+@j:"a^c=e+ER4 LJnz[.3׾3@"gdY^ {;54*\ISw"`=1Pim5,>U.XbCkZc)и}lOk2ݲ^m!/Xa :g!Jc^򺲰'HUW*pDu[?5#e7lDĻ9m1$!2mwQAm&t0r; :sɖJX L@1en9q`{B/aWg | [U2,kjH0#R_zj~^$ѽnwP|}{υ)?n+8wD:,(J /k5s{f]"1z*7HNs::qp_UEPg姃z׋vF/ |-do]yD<#%tP> )EFecq8pk\ޓg<>b+)$Ym#$7|DW0@4(TLH 1\.@3.> xXsώ gcrʻ_ka]qr}¯ed}L{Cүd(4ɗ9̓1{3D4k8z#J%lP9T{dٻ)Ul/9'; Ep.ʥUQh uycf>6M7'قB?Tev%1hZ ZQdsU+XqT pEiF؛N'mgI3;nN%f8$'m {9^ !?y;>, 6]jǪh G\|(]|Vc7BˡuEf6uM0oz7͜0@ˁf`֫I~:uN=rpUQ ~hfl&ڟQ6`Y;u%^43kUGWGiMŗo ui{цP-0! c=b_lUPlQR;I΄uT6Qn-ω4) wGо#YcvuϿ;Ow("m&{˭DqV}$YvF1!*=oo怀6آߡQqnt05gp5/cS6V~oVag_jsv-\.z ]|=ױG̣.<2$ ;N* "|M $xθw6 laW`C\b#b%j 1wϳ$?[oj{_redk块`fJq 1XASv_Bx8V 7bzg-RVQl/ By\U!}B/GX}O8&ô)̪?) TK5* vgz v-ԍB2( _ PN1"1pu҄ZAtsq<'m=>1NV`7lG"IÛȸOKܤ&# @~߉9GVu`Jd !X*حlQ;$7vQLL]EZƌ$ԉuuCw_xkWH$ $Go1pJ,#NlGbH@[9o&d[T$5+M,H!DKl^F04|]m|*&"d}uߝ鉼fgH8zL*q2' ?+y)|8 h앭P14͈~`46@DqM"$EucX+ٴYs ]eG r"Zi{[oc(9C}3v]ppܭs]{.na B=w!Om䥡}U>nAZ?7lp6M?a:<6^}MٛeT^|20r{<.n=@=}=gpA^$mz9w.I~cz'@;l}f:MFðOϾXݳ"~p~AAnIjm3,0bw:˅$fq]_t4ubf -mTvjK4Ԙ1d aڤ,UvcԺ% !H/ }@b:Ìr̐ѷ(Ic䙞9 ·dηmrŔK r4*nM&!۾GCKv5x:yHHdC]N;Կ?En?^B̭d}Jr6ց}qN4Y9@Θ*t>v /J|0:A¥AqU*!3%߫/\rV̟9o[-ZwSԲ ]BDKϢ t&d\ak{SnnejOi[.d$=f-Of|6ƒ87 e{Kb$y%ƚzfj(RH cKj CP*ڧSjTDSe xĕ f^9hl9aͧư6{yyhLƑq&)% $ /B3gBlhLӷST\mrmH UjCۤaTq)&P p$YlwGrzxJ-C>N⩲'\?>͖2Q~Y[)с5'Y$5>5%2qP?%2zWiN144 X(IڙdD D#2TRUro3N$gHLnffsht;݇I9sh4s "{ ;: 4vaC֞Iu5VKkW=*rM]Be7.`tjm  ev_b"!树G =Dɤjűϋuѝ]31y~>Q39د3I{\5;.Y'}|>D$ӕًr(5ysqV@4< _߆qfBW^@`7d9{!R^z _E7V6-O43o[41rܩ=Mb*J1~_.j5aOFg6`^a,YvI5Ȅ]cqP[ۃB?ZU-1(xJTG"_ispx..V[}^Xvmnb0Sx0C2ofCR׮N C"z7a ޸U:[ -L.q*W^x~3N8Ɂ jd<,B~ϲ/}z8Ys_\D A36Y)?ܙDZk6"4 9ak N{ ^;MurpTH^ݴy0NZʦR}z+_cԈP|Cl2P{Zsr VQjMKHfTYPgH skO@Ĩ!j!<bSJpߒܗ;(bF<лGL[xRB>|w\ޟȽy~pQd΃ka ^{^Bojj8'=N,5dl-ow-]]ǧ~q?|sayS[)PpA&8SYX\;&7 {~1U`V H] <Pҹ:$U("3}ܶ~^i1Ҫ2F"f@1Tw<Öu€xYMaqKiJ\}sASp(쒃@.`I4+59Ȼb 3*m@%kNGTI|&9w33wb*{,x0hut:G|y|?I}ODo]?glSB:{Ï~@zȉp7a$BU j(MYĈ޳ z"we uT+8;}p )5 8je#㫑:6h4~|.mc(>[-6 c&IRh}y%mb ײwDpvԤRp Mڢ= #.A ^ZWTQA׿UK巬k:Fƻ{K@еݐMU>o,̾&1x`Ϗ 3د꺐J)؜{i1ΉV_t#rr'3]ϰw^# #,3!5=:g<1Z L^}f0{uC/^rz$l}1\ nYC38IzLdZ3ŅS7_qv'D{>߅{O| 딑`~`9(#[̈'甡hgYNvɣ(Od1i[2V8>?[8t:mfn0=\@8nB9Sr#[$P:{Đ @1΍'{'j< XG/21# $H#=q<>J$;ܲу.3#ZC5qr6)'?c {IG7YЊ(XcX#>ެFқKϝb Z$$83&B9[H fwѴA/ 2?.{Uf;?q*8X7 BNI2O?0aBuFzlڡX %flk9<wdlkft6_!p] ^xH;P63Fd6TݣvI=8gއ(&y+)}1=){T^@Z[Cc6 XhѲ @G͇9G%|tP@-D!=s2lB`ޫ+/@:9I[>t`]8|j=ܗ;Ol(o5ǭ٥&\~!ۜa̓lGk.膑r#_pm4o 808%7+%wWWO8ڠtv4|R;C:Q `u;,MhF.xU `H旰km@\9ug9:h YODO%a )pC ΗT't|yՆ ny#Y(]heTumf>̓a37.}UO?*ts?.ڤw U~x өrpv0GtA$sm,^%)>n 9QmtZۗNJ`' 6O7z}䳳eHgʩI1!BBB0Gx$D?j^|x_) u˚_elp_EM{]hNWoiU꿯߱ ̡LVz>k}wjz䃍-IdKTL1q:+w.faQX=&Œ|Ke90uGQ4h =&,ɓyҡdi^ֲ B~Sݬ+Kq~ vև1jt.Śb*6@__^ }Ґt^RC{fuJhl_}UӚJOW3MEoA{Y+5/(5i `̯]D{_cіqt0Gz~æB97qlckЩ؂MhZ:4VhXl~Uܕ wzϦ#iQ_#hh' 9^!_Y}E.I4u6Q>aVeXlN%6DI)qďa@|C\GW3Bik{;! ~?{~<tqw<ԅزXéjs_pʭ%ikV,$2 \E$^Z+#Z._E.I~, e:4uBVvMZ<gQ#2r'9r;kH|Rl,5LWSEf3u\,IBc1#/ .1k?–>[6Xu'0I b.k_K0/`ǍG1bXKihqMf]sk!^;wUtqtNݸXQ2ݯ{rela\+Z),sLa0!8/pFMfyLz9J:m1_K,PnxIIQy2}gmJrQ?g:鏲3 .ał$':LS'XYxWs ڳK2yw*(63 ye٢2{V@BH@qd9)O#^g1JgbVb( 4l7j4;(U;QќBW~Gy ~%Qo]%!Ɵ>xPhD3Q'/ۚw#:&bi_}kp?8}<6nl맅*>tAN񺉽'-0_w1ԡ60BМF9\ԙgoSQHުY8f ̼FpitY&ƫt6^#8?)&n;ƣ6_}:?*u0- 2&".0 qv8*4L.ێ4ۮ88nt7Cv7x5)G1*K0nT9Ea,0{=a*Gzv6QpzxYlXfkV@>Gh7kl̂@B8Tf grl pKvw6ڏ#; U ]U{Lo'R8s<*IP!\-¤H_XВ)扭EVڮ^sJIK`wVP'2 o<`1u)5lڈ۸GgbOdF]D0"1'}7Wպ+Ü.4<9p<ih9Q51I7ekԟo1/pWIGD@ݖv삠y_8hp(:(&G0?q~6p~8`(' mQǟ]6yP QN |i&zG}M Z*as1k I[0,qTe l;E̷ qSM6IWĮ_KJ1cs/GU~*gw cYGg{<޳7F߳c٦|SƟ.s;cͳ1CzVAJcg]\kYةQߴG}ܻ?TM m.O+HۍDd€nGjg;^ .IE5"oyBDg cfDn٦Xqcqq) 6UhC\͉:5qԅ9e5dwOPYg]v4Gr\Me̙h!#zV!:ڹ98vs&"Q;0VvC2j[Ȃz(O퓷w0uh&?;N֖[I+4%;-Ջ2v1}X(vfxkM.p~}켝TwoIY"3X2VDdws2yƞ Q;wu[HwfD,:Y?ǤL Pxe颾6Y_\l~hW|kە=^ӂ$ 1[i>3~GΝr_#[nC\?86Q7NufK8L_>6;$.>3,M8yϫC@w{M"8:k/\ƞS4d2U 2>rvh}azߙXsTKMogmk?u휈u}q"d]q4VGrxD䢰k 62ßlvf=qnK GTz|>Jj{V $@<#Nj>yy| [_i ?5L$aT=s"ׁ_~|AI 7FOMt~`\j"9&_Ƭ4+l Ⱥgm;"`jTbIrgfDRV²XPeEYxONpB ҽsnpu&|ШkZE5,PzO&3'QlԡvqJ4v0ţ31_nҞWqkݔOHa-E,(&ؒ@ V"1Y}څIIHM{9dypZU,ahPsH{\r/B& ˼LnLh@s(pXm6\x2CMcN@yD%NL[%6(\|@pCy6LSBrC O}..UD)KlY6E5M ) 1V lM.Wu'qV Sd x9Dig($|5Rc9Hq.N3x,:U(dGxM6Vt-P/_.s$Ws؜S$L(P/I$#iV%=iNkW}2p)Y R#;܊]\@ (F0 bi 1l 2[j 7ϳB}`&NDmD U g.!D6Ίm'a0+ݪ4ߖDr#15wrBh:^Z'kYthB"8o<,x-]2Yla1m&:sDEFe#IϰZ\>}\];1cE 8|f1f4#Ǭ? toSpb"PO\Q *`}lW>#n ޟlm=W>7m>C3\YB  ƈ!{T^ (ܱdeI~nU_ ΋|ɲGSFTa\<6T{0YE9u‡МVPS`J 0TJ"f u>xuڻ$&.ÏgOlz˗vP:UDT8D7H8#ZFA #xN 0f3fz 7!x [$cqWz./rBtcg~f7@l guOpC5D- v}imY*ΪJ14ILH|Φ83l(?)4AhČKdE1|e 6s|a8FYI{}xǰdݽx]]H$ksR.mLץs ʃwiN#^ =~{ ~oXmrpB<2i/]nrS'H(VK4d 85vPA^o-Z N<55%+ԊD'WmH,~ AUj[.l _khEK:&Ga'|vgs)Һ|X֢N~=ώ uUoHA O` ĉ-ln<.ޘ-\jW}PzوIöl4dd.qXoC<<f&sdtTtI,  v@#dtϕ YFo\m#,b]՜enWZE\@"I2<a{{m#oC|7ټ)-#q xL't VrUu:&;O+Jf ɋrK_Tvsőybgٲ6v*eMjA)t3?ZIl3I V7c殲sVy(T:E^zM pE`rƌg9)\y=e^][t-iPﻂ%aR>@L l'5[ҭXI` .`wl=xs. ƕ}UMZ͌`?dnSbZѾuղtg>~#b;{D_o|i^bb~ߖr`]_hgbTi??̀xܲqb8`C8BfRBGnOZ >|u$)&~?\_"̟VE뀺_ G~ @"*.{q-U2I1hZ]d<4_bLbZ+ڶ.eBtRJ@HE(mU}m7.!u'@dB*d9$K$&(JA?=8^TLM!@vzP87Q{lQUQI8N"| C?ޗ1?wşD&/1R@DOk~ny8S٫YhP?W +m@mP"y˟J0e[A1@IHl[ e(]BH~+HIZoy;_O˖$XkYYF9c˝:l/'{m-%#̷r_K,;-J˿vs?] >Ӕ$?gixĬGGP?FRs53n'tcd$^#9|]D[kmDyjb6  ~Gǩ>?O,gRRA}K~Nw=±PQN7f՗gwng"$|j )Ӟb?4-.c D2=ߞFQY2@:/{WVUOۺ}2SbGog!bN+'QI@ 3>&\{pwr=/k`37\Up]!ۧ"Gtg|!x:enK UR^yzAP`(Ad#[+6Q׺$ D`q'!OIXB% $aM&(qXIJV c"qH)JIOZ08!DpK9uJE JIa Pe_UOJ~pNGl{<*?ty,p;t Mɾ`@_'=sn@;0g>?~Q'+<ߐv'0d]y3~!1?F:5z8y0cV+!2{w2>mWG#հm:,y]]Vmv&FA٪J60.?vO]g!||1c,kM 6"3c0 {И-e ~ԆOxxt"Wo)T'_~=ۣO{2K79qpr-of=s?ȣ ѸV/;Ûs0c7. t.6ˏks;̋;p2 e`zߚcz z4~&绾CiuuVFIww<_od]bAxG^*O}l~::>'$C׹[4zG3j\=R户U8?St`arkh'ef`Y-[%pxqsohM U /κ]g&][ٿURѲѝlw 'uRt I~/*`p((]AӒZh=GP&M+ŢOHWU4q;X%JC0c> :6 ⫐dX?A)ڮ(gwO! @wD7??<`.fbU$ > ^ݮF4U"8Ti`1W{54W~*2M2%j%ɺ `.LQMJ3Ihx'mmC$%e歟X~uQWWʹ[wde%#Kր`OsY^:<[~74RtE`AoBxSϞ0l<^~Vb0?gGhIGaO! (/~R$QfZ%#DHz33{ 7Nd Hln6;S[#.U۽_*meݿyww1pC]hk`tO<5bOپUs0ZyJ=Q1n#Wv?/amn_ ÛSxsv0]YF rrbfi3`*hnr_V& L&8'NW*"_$Cuw"^H ߌbHk?&rUi +%';e _·'NXxU5okuƹ w&ܚ0P }~ky?Ev^풺؁ȬD E>Yb0ta]L3}zUL|?.?IC lxq* 2ugofnvijocA/n߳lm ^l9kB:P|Wug$,jsd#υu?g~(\kwI#H~~HleӵDqu`,^.+Ѿtlf\zlZ< AFk/ruɋ7=;o[xU'JrpBWvcwwiճ&}_{,UG9ҔJWw+sc,€T`7wF^_ џ+~V%,EEF暚MJ9fa(- ߲k_jFl)2J>>?~u_.Q2HNT$Q$ AD8QC;;z??O|APv)a"Ch5QǽGӦW8xC{&Il+=:\6۶qLu Cj59ƒ 0&KK扫=lIU"k0 0x??w*?Ęg3g-8O+O_@l_ߺz1oÓlϣ ܉>w!T8? 推 a\b<*G[+MATZ=ߟP]=OߗV(#[|a4tOHJG8rW ak)6C@cDg_?8ʮHA2㈿o^*0"+Ԃeq?Ow/~.-pwKC8x[Hdhx;agMstO0%s7n7-d%.Y %z-+RJo^BEWYR3CkHD- Oͨ# bpͦCs:>""7u:@""Xj{t Zzy)Ԃ^fYkQ pmpT@^zmC-:u Mؘlg9HiY%]]3 (?@H6E.id}zzz Ƹv./? pGK+[uo=թK8 9?7\z{E<,$bH˹f\nZ.9" *mBmmyx)  }HLjT`fZ6յ$c < ǂ]F[vou6c$m =9tBoL,yi~NG-_蟟xfh>vDX§Y*oؗ \$$2-;nLH1dKmB ^CrBb$9 K#ӣ^77v&dž^T2(r#\dGCYzgH4GEPc[/BŵqtGW/4_5GXq>63o|:vM_K uW)ዮ. !\I͗3G;iww j;G6~?V.wus[/,EPp3&_a,U;;Ow>kp1l.81C@CŭJC*x<(l{b8uX1}!3O!>ySB%5d$f*8J)n~W9C#gg~?{?1ډ!:29* vGa' NPޜ󾴀!5]v,Ҟ:g{)x^`7-rPXb{}UIƝbk0OS>Y3882kbc ܶiT,/оyžHi{:SS~Pb!$mOW5wa!JSb'HUs{{5:]և(qE| NߪZ>cn aʮq=t"FuAR'!AgGKc^53wϔp7q+i-%65.[Zk8tܬIjSPr#ήӒ&Et" MV2P;q;HY =^MkhUY<#ŇA[r!ŖӰ1Z=: <g01uA\j˕c{G& EI^([!5i[EZU_'284}>I/v I:NJnu 'LZ )ei( 1U4Jb ڮZrhe[+:pU}dwKU{Hj꫿ շ^Uf|&_Ho (jQ 5B`:5sCyiall}.c[z#k I"rnRgj*檇 XS[܌;NI P*JXtdޙhpfM@$2Wz˕0,C @oDB݅KH=A-R{sW.>_$kN맞-K SUm or|yŽ )<<ʎCL`!jZwW<:Ͽ8;a:I[v.1R4C!:-@S貗_*Lqf7s4IQ2S|+IIi]I<)8 F @K&V+{!^ ]rTNu_$oo<ƍ|G3_A13>\%lI\_^3Z/AjACYzOPD׌i~q w!>k߇BOC<{!!lR𻳓׶.C 'Շu ZT.,}x 8?!9 %/p@ cy@~G(a@7iCOW vYѵFLn쀀\u3a>]VzBZ?oiIT(QAR>Zsu8_tkcx0jm; s0 A:9U'( HE/%!r2p75:{D\6bQk`!xuK9~ F)J - tTzf-r Ze?9Q`a1SԆEfA9R[Kysv];#9DYuzOe5J.,ODcvVf t'S{LWMn]kSb&\rZXQI17ƣYMKC3ldq.՜Nc vnA- JSYXfuX >4ͪz^}57LpÍ}|^c3PS P\y>oߐdŭE dGmg.1>OWԏuy+oUfEuQj6ok.]z;Kh B\5'"3:SKr #d/emH @y|髀 q%.w;s~}0J U6pz e̪M9 9k'@XV0v-UZeC`zlhDv䜗 u_Kr\Oo|y;7sٍľPYk:&WUHRQA U+3  @8/5 4v[&2q䞰*أ%:@uub"a%br]eN І[5%Ww #(9c3md1] ,^PߊDlS{-Aj\GDx0q5賄= {L+R_ ~ZfMز \egP33pYY)^iXhːկ[,)sԜFˆp19o n31.93;"w}/.פyNչa= 5  (S9t:LoC0F%d¼^*[iٙ%v*q|aQ}mݭ֜5Chy$%#"Lhg˿]-aݗ;@5Y`faAu9[uS^* 唑yC]ȷ?`S17.8^ q{]eWgɱӎ\6w.eM/DŽx ~.ĝwV̇47r[˺G^;u_{$er`&` AXk1jûWyӬ5.X,)JV $U8Hd՘d{ 1cX[`)Exo<X1KQ6@]pA qGlCM(Z2]KYѦ/գ˽)(!igo{5KM\8Ǭ٧7܏+,-dFE$"jz TO!}n*f6vUwG|ā!  \3gP*OǝyE{%yZ#SoldrP(oRHzh8=j˄8DQ@UY_ʃN#]LIr5>D>GT<)pvxA.\Ys@*B@~OPY #^VA_(f=ӜΉ(Ѱ'j=- Oj4~Mt*dzǿG[u||(6!_smO>R+>?紟r2^{W jCf?m6ʛc>}~) ~.:! >T)Њ!$5g"/@ Z$-%F[h@+`4ǥ۬v2B4! @E#6]%,GrZ _[휪&K3= gYm$SvSmN2+ä8Tχ~]rQ*1$ \65zyB4wD iU)j!\<}# =jɫ聈yxxD>73CwUݷqᗨ2bUt@%a{#K~()* 9Vs9Wݷ]*3K0FTHE|+QĜ"*u>Mw⢚*!xH7ЁAUCN`\CD%@US8;*oT(@f6Macձ8?򇦱+9 [JKͽnRds(lE@𹂘u"v쐫Ҽ+.9*ptX0of['MwH05hjPITQDTQDTQHQE QE QE%TQCTQCTQH4PP4PPEIUUTDQUg3l= V4h#]l7J0 JHyƧPw0܇ 7!:y -5F}Dd3[[LvS~|K-O8ff#ۻrkQWwuuVỿ M ̞ & TzĀ1Ey|S] @1y 0 @%CB0JPU* PTUUM UB SPP4%% ^<&'j `!cjұiXڱ+V*߲ډViV )uXb wVMd/ ]Y5lڴ.@R괅.@RVy˶ڳgjvA+V6ՍZ}Ȁt|`<14׸'5Δ𿝾V9N qп;xnNp g*:,@ a%vKЕ:A:D:NdMFשE^.s]1 GifHV)wnA ?˻>wK`?"4|*_nBDE\Ud;ܺ-x3DK@s5)\TҚgL1QDNP5C2"qF̪:96ild"8˹Fq<za?zmvHM].Ἶc LҴ+(-5T7ut,* <M nO5{W VzQ@ׇWK#\ןns Q7u'j wԠL]p wT$Zνq@BX^5.ZX&:HwM[> Q $!i4NFh́󙅸g;xRx;3"%׌x LH8|INpi9fD @S'hR?t*:4&h"*K0ia*(R,4ڄ>$(hP~DDyUzyX`_ijF |Q0s5 *p?]( ) =3'{:T M7z2xbcBTH""Y$cއ̯ː">:X"fHF@*5F_Z_D@5ąm؛[Kp݋WN-$LS o>bnژ+@k\贏D Ů1BLjvv|Q:BKΔZʒD6ѓ'h~Ln/=_<$B\PbǵhoȎ<ӧƅi#˱9cݼ=sC8J cIABڿ*>Դ́m]:$%=}иJH`1[[mw9iGCki5<49(bqzo=#@`@CxTy9-;9Xxl#G9q r WYmƾer?Pfw03K1Rlqʶ&o|f6QԘ='e/yDDExogd)C'4mLE z"I BX_VU9`囝h`ȈRث,o^FtoUubs<7`V%RSؿ׋?g?p(oVWVWee)ɼ1uWۅ-Ԯrl Uph' wKH m-l͘ fijjvB;?_}ܕÒ5U]vÐՇcG@~BR  eP UP4%D)=QSP 7:qPׯ4Cxe]LJ^cFm*Brֿ_$9ͧ+?f`x~]-0֙)Ʒ\^{^3fדf &_U8uS(I犣cWTA/8$bH W500Mg[~7(fwI?ƹP$3v|#r}!mƌ dc%J$8Іg Ja;sO.n[;9I(9/kC.Ǘ6 ـ%dрio:hl0yI!CzX|jԶXオvnLuZ#6mM*&0XY* FdiDJlᇌ;-&0C̼zHZj܇3L$*{3c[Ɯ22HpFW֧w q3]JN⪙3C3r3e  痰P}f3룡plŸicjCK9{wUpE%2*,{O-%x6oQRuFYGLn,tOYT% "FyչJY$݃p;Zݹ @L?3!?@/A@96sqyD!H OѮc}!;AN@Fbs*g'LB,[cVlƅ{xfV}}.kgy iR&_ ; 0경r, b,Eœ:@*OMfEVHf9BdEmY1 ;pxp$=6(p-[9(!:rFM%ay*%kG9XR|(5NsS}a̭Sc#ħI@ C(MD~n~|]! H5TMoc\p:+0e7(33ouD؎ 0a~D^~>W:bH`1ʈ@/^t[}#$F$feKv6M? :R)  8%w/:2}JQtNȆ^x}_t PQ$*>By,!H=s|gqٖ28*@dP9rŊ|K7ʏςnߤW1Gv`FD _xt|3'ϗYY`bg-uMx`s GNJ{j:KՋ,f’ 'L,;9EȘYG= * qu-(/ۨY|[ !'C/7.*LA "D1b/: >{xv:ЌR!)$ |̓ bs7*icO+DńMqa)1e< h(d4M- ]uH-|J yܞK-4c1e^ޝ{_Euca~sQTBlk ֑MFis?~:;#z|P&]k<~!h|thd֨U>}yCŶh#kMB.×SRZϲ%$f)G бc&@8d-+y CpmݲzZI,t!5e_\v?;ߋp(-U!w먟1(sЅNᄠ\;v  aUx#J(d*EbI( JY=[AI,q}. ?o8d9liG@HC|; bkwk{75)Wϛ_Ej7ތ^;L x(ϹCKq\-.HҎC=zQKƋ.t\[R ]A6sWΪ7z`[)N6{ s+2^_4</Ox-U ^bB)R`֫Y"/CyzPema2KL.(8a7~<uG?YY,aCn'|#P^`$Ww6kvi1"T0ЂI|q H*Ĕ9JbtC9a$gLzs}78@Tnw^NUekw}xm~ߎPa&5f}#-4yP@ Gl \*~6rb}a] 8CÊ" ~~`$xώ (~-2# OR[ùdPcpi~l+\MQѠ4`+E^&faIyÊ˼G/G߾˳ &#"d/vv"zĠ(( M3uPƃTmD+nwpԤEAJF2oߟ(#ζ^}`FmWYnYi+MA+7idmn}\|}p#en rgM@y2s7_g"+_|pK,f5!';35~ RH Z @jXQjۍ&Y˕gEЀT6 #'ǃ 9&>)k4O%hgMhry8g`n1P(y|%%t= d2pz4uXg;2( bMEz4 #DzXT|oZrg/v#֛+yփ8gb0įDs>#=1)TRc"F%T s:6?߃W= ڷ{Ju|lwۥ'i4tl ~MDD n=:b- 嚗il"mVդ\-"&UDyǘ,>Bu-3"p.^