summaryrefslogtreecommitdiff
path: root/tools/perf/scripts
diff options
context:
space:
mode:
authorEli Cohen <eli@dev.mellanox.co.il>2010-08-26 14:18:43 +0000
committerRoland Dreier <rolandd@cisco.com>2010-10-25 10:20:39 -0700
commit33c87f0af60146b375220809c1cb745ac1a86edf (patch)
treef22e0a1f8fbe6b05f2f15c517d3b8e9b77581662 /tools/perf/scripts
parent2420b60b1dc4ed98cb1788e928bc57ff2efa1a8d (diff)
downloadlinux-33c87f0af60146b375220809c1cb745ac1a86edf.tar.gz
linux-33c87f0af60146b375220809c1cb745ac1a86edf.tar.bz2
linux-33c87f0af60146b375220809c1cb745ac1a86edf.zip
mlx4_core: Allow protocol drivers to find corresponding interfaces
Add a mechanism for mlx4 protocol drivers to get a pointer to other drivers's device objects. For this, an exported function, mlx4_get_protocol_dev() is added, which allows a driver to get some other driver's device based on the protocol that the driver implements. Two protocols are added: MLX4_PROTOCOL_IB and MLX4_PROTOCOL_EN. This will be used in mlx4 IBoE support so that mlx4_ib can find the corresponding mlx4_en netdev. Signed-off-by: Eli Cohen <eli@mellanox.co.il> [ Clean up and rename a few things. - Roland ] Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'tools/perf/scripts')
0 files changed, 0 insertions, 0 deletions
;iiVhIvkSu]_jAxAEQ1\+s8# 1DQ(k_sA{l?';Q zfa.Pz V̿{Zu>feG!UoZJU0 }"iA0={a!2pa JqRD]D QdbLN5GU{,Bw#onh~8#r6 Uڼ./['ph+ݗttTK\dm4r֬՘J:`Hj9l5cKqt^8D@GJ^Q\m9:Je:+V:Fz kٶ˲zͫ|fDn\!iWQF5kJ|D>oGYeި=P/x|GWi;W<[9K' y]N{סړ'u.HsG<jb_dߣXY~EͯGR6WGVX1*aV}ϒ, 4ڞ@RWrhd(?}xˠRJL!~'sCց?g?К0@80>ŚmwEeN76$:!w'4$ LKپW6MLyN-Gc*P"zt: 3'VkcXҶZ0ew6iD-0ru݅9x rȲ8#o~}OPDDX,A|^̈́ e=a$ [ke* 9V}r6J y#M&#wqIy7Pcm{{-0l]CFyl!"?]m]Fc> à 2$>JE02XC.H'2r+/o""rPt qhʀ UBT11`8ÌijiVe *d1 CThBd@'pTVLư9f_SWgFDtutM#%y`" О"V}r[BzYAa-ߞZbq} =_=$fpW/tJIζ tlp~$y=o/.Ͷ7^:;]L8+kstNgjUR`JrFJ^D:yܼ#G=WY}F g|+gUmZxb#yYu_ERUvC]3B9OäE]zFfЫ,1s;q׳~Qۨy"/ࣞXWM3r raR#cc{`~( 4%FGhp@Hm}y'2݁bHg>ݮo @'1+}3rxp$]vo/s?M)2Z7{592@P%R?H_,;1S8oZx識yxqӉa:啀9A\73lSy*7`gVBCV4企cƚ/6Yei.rM1g Ϊ&D5":5O"ZvVj,ch X^ hxW 'VMlLP]hb UZ!(kKb:qkU.mpͯs[*:&sfw2s~?څhgvA8kBQiUa[[-9ل4 ? %78:;t%V8\_&wQ[VT~ -G ݠVoci|kgǚ#YMDv]GDž.潽CyӴ6+|Ӕ&I1a G_>{̰&P *ffZj (s b,TǙߛ:}YCeڰAqbgUa#ZF]l!a.x ܪ-nuM=ChrYĒHkNEL:5f/:gZ37(\{ tqb1Ob:"k@ϕΟcڂ nv!ByI>D H߆,Iau<104c.۞f Ł$ u7<]U5MEITU!EA%3T̾$鱲Sz3QEArhnL7c&_i&9o|ܴt$3784_/Yxu"AR #op.u 0DxvhH/A 45M3Am偕k;^&h0ff!bbR^r5_Z>h(o;| 4'=!4Qp耀 Im!:þwUlylwt\yfe%0gnTj:Y5+%iG"Z1mQ?{ҏ0]*Y:J˜^9׮!ŞbΐSox7=4Ӌ euKH>cctW!9@韣\ɆN`EɤYbgd6y~{|=HF]7CڍXKR=fgNsV/uxq5ǣ۬uoo:."D,zRɫZC )rŏ$ML{yiv7Ok)xkҬM-F趹Z<;iw~DGxֱY% >(A9@&ETE d -M|bP ډ߃@ L87ԫ`8铘Li9bm` ic:pW~yB19s ! ّ[Cdc ;р紙q.n;DؙRϫUoZP}zby~mJNߪ簻E y2u|bXC?P_M;ԽqhBσ"jKts$9vYH2KtJuKP"!5b B 倚->;a`\ذIHZLHA $D,9aW “$lE"$v.u *,sebzy7P 0%ډ`ط{>k:virዣ8϶~2Iv`#䇷 7>GS>fDG>nrR;q/. ;A^l 1ڦ|>feFt9`5(]A~Y]1aYUwFٺ4seh|oxy]L|NgoE䖠mqˌ3CXkZnIXZ˒s_wn[/eTN]yi^ky6Xow; g9'kN|.MT>2!xv;Z]ד-_/4<[*ZKm|Fwe Тh5_Ggf?feSPTJ`iXvO-w~0 wLFq W=8a]ɲeюCSf??K=1o&xT`ۃpoq.^2uDٌzpi@g ߙg'ڸG> KWNUֲfx!H{Iۍa9O`5c+^p|h#lt}nW1񓁸ɥT T$ͷ=Ec۾{=H^t?p1I/A&%j#HIn;W_|PkX, N{&pخww@T5U$ MQ1 aW?Q1zC/aET8Ť;DKr/\SH$ONQWȼ( lk̡CX1"EU~ܞ O:_F>~S={A }( l!Mg*[f U!t'儞6y! Z-xjN׵9 ӍI*-تȑQ !~zؽ/π*̒~ !uMv $7d8(|>EJ@X %c15JR_6|n.nxDL<-ߞ|51CۀHTeQ'?_> eETDTʏDxWSeƜrB.Y&zj检Hmv1G턨^Vr`xj5eW9Wn9o限PT= 6dB R?Q=Aĉ$(C#M\F-QCoӰi'ҽdi>}N?8ڒ9dz @=>&#!OXƂMi]]ԥ};B+`Žz?+ 9zRƄĈ&I%W4 eCK},.4|?ҕ,h@AON\5>s)-jX ,  O|:ℌ ||8hɝ2(,!SX?D𥳋(ʾ~dbe,?~yS6/qu9_gd +A2%I)g$,< 5q]ݚsR_ /ql;gyHDX( Pw`,ʲpB8,۽b@vi(qzi$dcTj?}_<S')W*Zb=ӝ|z71A[q`#rvwsY]\8X+p 7Ӕ2JyVcbJ"]G4HKE7l(4  4[*Zk:q@(; {bְt 򩬎rGrF8,kZir{xu`5Xϰ+@p5!^(!R#N)ϑΜHX@ T$0{K$?j߬O_mvN 5["́{9ˍ?;!eFD{M3X:Yɸ.͞|x?SԱQKe,x&'Q6k#g_ں7S{T.EJDD dOޫg(0kw_.'on &. 798j+}sAs}_kuc;EZZnYpadK@ ֈ@x~4~`}BE_žY-k?nU߉~Sg"ϳ@}%Fg>+}hF m.8Iv( 8ֶv ^_| щI]>q'^cV ٳ5\bc8}ne *H $T̯̭pB{PafVnVz,lxmᓻIΚےH}hDS h PP,PTs#"+J?{Rt2,EQa*mIS.5xtI̷8~`- }ICfnB**BA0[WgjCmܽn5emJbPtkOt!22No2 !=bJیD1 =6lC2D?s;a ;pKGE;WŻ]-sQG[1\4G_=|m~/%v[ǟqt q<|n?v1ѕiǢ7_THNN{g {p]Z̞ZɪcsӏsIo3%D1/E6L v!sT1SoLeQxSk9o<^:wv[ûl.`QM5gﯧϐώ;xBD8Ǚ,&9_o/8F:_۲ +(r 99+˅i,|cK+l?|!=%$G"xQ@]}~7 @-]^U2FqFV xe%fn՗3uTaϠb9qhn4F@yW@tU1:pG奉 앑GMQZ!P_\[)ے 0cj:G@ ;:~Nq֖@!o3x%<$P9BO7D2 Ϭ;̀=st^ouKdkmᶆY׶Kݾݖc;rkLq`^jv ot?J\6r/ '0@Il߳\'97''.Õy3rHSt8.0Txh}oR=.͎4ugw$Ķ^NalBwW yzhDww*;L&No. j yv{y{'[G,]{t#HZը4l:;H4~9|8j>}::VC]Gk6ԾNvwD[cǑ rRVl:-זZ:%Є4;%K[vapΆy_j\v"H#B;9cX{0`#91!9Egcp%I]bXzuuGw^|N>q 0m*8G]kf8XJL2uK۬f+&=5f-ݿtq|ݥVRm{/ PD ϭXAw{9A̐!#K)X+%k~sC~96"jqTo>`*.} u֝*]j~J2@#5 !]`o_Pe(޵ŧuh@nx7^Az<@=1iB"Π)11pU'ڂ GbMdf2S텩1nzg/ 嗵/`!E@+j ŃP@ѾSh:n䶸p"ì UfnixSN؛0kƺz7ǪGaHv>'i\m7F$US9- {ŗ lĠd qf]2v :@Ʒ͵j-m~Hɡw$gT-ZF_*Q( #>@1zh[@$r0_'w# z}l; /H.Q.DM [p#o3}wOM]4p)Hĭt[NHuIߘz<Rk,w8}~xpk>(ml bPe|?f rO؀=D*ToqP:J U8<{Gx;Ï<,E^[#\kX] M ^u<=~q~5/^9ƯsXmnRh;&9fˆBݒ`# $'2pl1s)k5T?_K©܂>D|&'[F_CSp37f.Ɖṵ_DC:D:`pp v!:RW@;|`:Պ~x! v<. S{|F*w6op"L7cL?T2V,G ZXjxT;*k@qD@ BIf7gۂ< /s )g٧fyݏDPyf oEBKN~sO9gݔ:NFo/`#ww>5//d \m~&\|I(7"`zvUаdk}2e1wXHS'9PGd3wo\*{x Ͻ7+W#+G;`Bu*/ۃ`{eZ茘[03|h:m3͖ j#ykIQ/=OTbBgKBg>b=:;c9 σ)xyXH{VW乹Po)q@Ӷjn~2}) )~3g6Er.Xxff0,\ovcgv6}"Aй޸?%G~%.~N\-_7+8:Bvw;H t4JWͦz`9:U2ƀ4E{rz7CyC]ܫOtE %8v₆/>,(bB' ;(ZNɪ 11l]}- nxQ~Md {POC=[:r6-1 ɦeVX]O]t|#BXL{'5 dtDGڼKաXhҞtYQd%n~q*:\ȓ#E}+SnQ1Ǣ/\4; }4P+v6x6+bcU%A^97, #2!7T9ۼXphL{X #ġQdl(DZZG!hQ I‰haB|ɻ溳4.O;%G;l*5P?$e_-{>4'=X a~c!=VK-|:'dm$W 9qٿt0{X -#4š>!^Wk,޾I'~oc2+}W+A3g>2~Λ :xPG^нwEX,0Ae>.o] mKr N}_Uhi@zKeK lΊi 茤mqH食EO|d7pEQ F9(z. ڠ8!paPvzhzz`VpW1~ h%.d*z3#(>kX]^ވܹO˪l{wGl'Wa6 E+s sgTc߸ :m)},Pvzw((Ą9rg 7IVͩP6 5` 8buu3Yg^z9x oh`c kaKP,Jj+ZbTAPAe%M6[蘯Ϗ~Bwރ2}:#vC('tȧk$_a΋3bAT~tNx BV#DsP9Q3pӞR2 ;YMcMMSe![eD !=P 3 ;zEWl: Pr~ v& UCqUz>oul  T2ach@nzH y(r9KcoF F+sGS g3;!gcjSNק+[`n T`"(X(EKvqRwu?QDUX_` _fq GlԋD xG *>6(*  ;vy.QdҼ; ]+IIm FzLʁ:ym輫HE⓲)eXZIIֳe62^uwNvDV]GPt~}M秄`d)mkӒ&>u[!F,8k\pAj7C3t|mkHvP5yLZ@wXJ`@D,d۲y,`*wcfh? $iDA l5o T{l8l BqYbܝV C3PɪO/#h:Ͼ1ru YocA 'A@<90.qE0YJBϹ5K]6yGSydڦ۾g+|8N#'Nt5+)37$+ w$eWr(Ǚ^[Ԩ#nrݮlI@H (p_7 H| [:z萰~^Oma|6Dfl<(>Lep? vf T>ypwt[à Ymv#E.yf%V$!9[5T/}:X_-]-n9?cY b@KKjc8*G:XguM=ۦGe{V<.LIϤ}E#tnǎB RD OSIx30$f؛9weU) v6w-RQJ"sXc D!"#=G6.\sYŨ*a;BBȌ$f#:bOw@ߐ&>Ø{ h2y͚gŘ}ԮY@]<9ށzCse4 _Wk1kkzߞ:=0@N3 k?'׿L<#_cnSQoU#TfCL&6ɩF mi,ROjѧE(gTq@™|71}}0uVna\oVols`DZ=h=z̑oV8 sځa8;WF$AyHb5 = x/ c!'ڇ A A,Տ\,Ʊ"L@ܞW”A.NT(* m V abN;DDͨ6 8GTfǜ+BFOjl  % &`L͎H=GdEYx*,<1lxJ H{1kvy-'+l"@D Vya@;`awNO9CL"畒z5yoO(}3Q &I>D6X̯ϊBG kM휂zj61L8tS' ]m"سRXݾ|o6) Cmh>y/ IR (,A'~~g^|p]4= @%YH)D"Ṡ׏/2?q%v/$ÑцЄ"I8}^:狾>Nc2{⺕pDQ"%zL"OdNf8wqv=Z(E\ؐ'ٽ8K,.`X Avj ykx-u|oFO͆lS||s9I7"HQ8(TyxM? p+vV߇]\Bri뷿 öu&tDw2 u䗀M \ELߵXEU?5)kG8s11(:8sp$ڂP&J0֡9|$QILm͏rPH@vdG]ox Jy)G͔AUH0j1>/QuGU6s8הR,c?qe ha)Jib ǫ J,]`NLTmzuPxWkgN8ٱDx;򠖙!^墊&+""&.X:щ iLN(U.P%=~Vr#9r؞`CƋ tX"  gaVq)DW]sH8|Xqk *t;/E ~ e{]n _ӄD@ :nt1b4^[7BL;܏=ev;)e:Wh;_m0jRg~q }q䩦;ݮޙkIQw{=m ß>Ǯߥ3nDx#Pd`RaՊ{ov=+F3"T*ukQ3xm˲xT/={uk uYpN`P<69#^o. 76_;8 >}v}JƃyIt'6l?z`/wDxܞϗ$x0]7'<;P"@փBPR)Hcg;dH٠= ,n/R 2~8RDn/WǤ&k7'Lߕ:H?~\8 Et7-Ea \{t:f%l^--~> l =XG|s޴⫎h@|k]:o$#n@067.Tpw2S_o*Ujލ}TgQwl^=<+ cp72sh *2V4-Ȭ˰t3;`xB&mV9dٱ|\Rae,kpKIbE~ӵ ,*}*A nUDm\XU lݐ:A?R@׶gԇGc2 &V+n[0p"8_7*vRZR` V e-M@z5` zI1pF[, g"A/.wӰߥ؆xi<\Xn4r&+uqF"zg@h <$8,RgO"lo>@dXUGLY"Kv3*(dSon-M#~.7?] mS+\C'-N4ޏ^.`uݷ4zep;;!gHx :o0N`w3^}-[ ]"N.OoL p#WKq}!8;O?>dmz_q |Ù5YiÐ;5kQmJ@^V;_,-ePވL2 .ߏh wKr˛w1qmi_;cLa𢁘f`iՁ`aq.u⏴MҞ8b`nV!Đ.]*˃I/<pr4$ iQvGpҁ8ĊB_5a>VnG#1 MB(OpP|LuDb#N_?L-fݩw%rd勢 $_e+3h4.{ۏ 9Ol̪>E+qu oimޘ;o'k/ݶT\}ݔcէ#;)5X>cwu|[ݺ}/vpQXZ;++z3`f܋&< z5ס);rD78T VY'( .J=rsP(5>=m 3WYs[B9FD+F{YefEZ# Bsl-^=P{x}CAY }ݸX/Юڀ8VtKV$Aj&N : +A{ 痃#P\Dm|LmB4v"@FYa?%n8m#oc˦:1!{ۭ߉45/?: ? c.U u]Xg\! gc #9*V=wnXUGj{6ٯio~-f,l/%쵢46&nLL 51$e^=7톷U.5jl>67IuEҊ>,Dx%70 0LڰZTw0٦-'n煸@b`,}4dͣs6% {^.httg %mgow/9 e)ww_GŬz/`zG8B[8~$8H=\lZh{%NAM ه`eFeNKxg /'d@!|y\@8s{q>ۧn_bFϋ=5 OWg~qZr=È(KapЬ:o)}G$ᾊ{i6$G**APWS_1(0mb M)/ʑ(]18l4XhI|!ّ*mʁiajo zKHu'{@/í6͉hlHrQGEvqec)ڡ[9n5 LHDz "$X4&eL\"<s!qA_6Y+Jq͂dUfjwbWQz\ywvcN+H+Sѳl0.ag`8"G?_ D\e($E#5SRJ. dͰӼn,u[5Q)mܙ50`@5sRc5eӃVlqR8\Ѭ5paY·VfiN&i9ݑ+(av֘1|phZnZldž;t0wy w.47;U#ԉ<ƴ(10%TqgbW޽6R1R#! Qk U ﲂ-W Z^l/ie=Y0k'${4)s`⢪ç8S$Bo(Fw\ _/.ȻS`Ffrf}ɺB(T }b1r~e`*FؑT5^/ ctcsqw$6ʕd7CawbvݷAHjxr1J5$PnPվηt&MVƗW}} c^'݉#IuK91rCmU.Tx~5UrMI -%7i20qo%5pp/CkS֓0 C_]Vh'?qyD@~$zTDŽ,WߏzeخV^f Ӣ`ng-ad:FܜHfs&s. @cd.g@fa2{pP1 QM)P s|H^iD br}\OcRq sQJ"Kګb_X แX" ᗫt:FN{bSǓlm# m_ Eo8@+*E5\P`/EO{p; zƟ>]#?!!\p< 8]`OUbcq7Aܙ>}JzVߗNNl&ފnҏ?݄7P )P !j/GQ '" :3А8"(5R{ܩ>;".@ 'YptzlΜsւ:I{{oX|& 4UX.nIra{ ľ >{>S5pYaH^1 w65Sx'-@Hנg@NܬZb2z##e!c6ٔz~ptYzwCPϷ]KZ+umRÚ۝.1rpA(@ ^O[;<BupsjLK5m}8 ߁)rsKa2To|yzu|#^N3gPJM)(~6(y!v]DX{jҨCa}G(| {~.WKN3OFl}58 69TZNIH,<˰p 6<ݻJK\ArxZ?P۝7S8B c}l(Qm.<% gfS?zguCFBjt呑FzVtp}h;xێ (fm (3֕~>ՀH&yj8;^cyaI^2]ȋj#R߮,-5LF}DXP:|VOf>Hx@3H;kkӤi (e{d" ,M !X1xxm*ǦatX2XQ僡d1B{qkoISOP-dE[{X j{+qKd%V{|m2޿'kw.2 Ḙ q/$>I*_GJ蜹$%WiZ{V1a4QO$ {}YqV<|eSG^ysV+e+.Hu4i-47 䳃B?9Vn4:|[^^q_8Gpz*(%s,Ä,d#t2 aYHv2u2˒69@*~1rDz۞|]|gu/OOtԠixplGhm( @4tojl9/#eM|Y_Yk<HԍJx64g6@gǶM]/͗#|+ s#ȫ]%-/!/>;nZG% _?Ӽ|yGX4 N%تHӾ]-JwվiaߛSVY' }n&,&> 'x0*V |k؁:o yv Y* =wAKtDr:_GE`4y|4DA D9Gxo@ϘX"-{B{_[! ;8UMj:/\婡8?>%?%3o?=ʩnQE={u5m2At~R~?pZ]mxst-VpaWPAH"%ٖ@7W+v ^GJGC  [rIټ, Fy`d?E!>K_:a nG4G@2ME(s?/"`#`B]ܷ;?p-aB=V+9cM%iVv`PkwԿ:8?߉γ]͠c5TۂHt~wO^Ox/)C{pIkAbtMtD`BՃszFJ? C-@)!,2ۆ8Km&IDtA؇kul]jft,(yb\>v`.qv/pq'{.2w^R+ ix|7B"&D 9@j=J;Ǻ5K 49e}-~%'i4 Z@a;yO yL嵩 pX?Gc><;&.5T뭟le[oۃ0ZvբVs  /3(DA,*lj<'?(=h<^/5woNjj$Ak0 /+~R2*BrkCy瀊YMg(8ARez/X$A" )un۹c84:*<m.)x<<dkKb(C*v25ТTfLA|Lkw':mm4n9t߳C8$,P^"<t' 3#s% c5BV8|7[ m(, A_Ѽ߫7N$yb-ǗMxW-[ĞBGI|*_/e$Cnq GzfC#M?n.4G`%wT7!ףnl`xL#?6~/#ש\bRK!qrY@zu*^m[ky6ɻH,L5ʶ륋ǃhf\- gܣL9{,oސFhF(@8xĉ=R\=j#IN0!S86/,PO!zfllpFG!3Sb5Ο C[=d#Ly2íؼ&.+Iu -\h; m}MJ tZmj-ǻ7ui<si!wd#žD^~=T mzLk^@SVLmnۿl&5{yh9å@qir323a No0d-.yQs4?Y}Ĉn<ڨO%Àzg6_!qS4R~Yyr-g:4޳OžChqP8?O9dzPЅsj-dFsaQ-x =H.Z:|x0il nlK 6ޝpM0x,*yjA zl(3Dlt#㚫,K:YWؾ@|pæ2Ixᵤ?+go{2nA2%~~N>nGvhURT)?YlC|8TYATX _T<゚1ug/spх84oK{Kdcsj`M),]>jp6CcW& 21j ӻS7>Qu[~qz?,-JebE?6ܿWQ(yM] 8I-˷8H#g2d@ys(N(1bcxiGNT('r^/u青B(*?-&8Ǻr: F 2C`Gֱ.G-€`?Et֤u=Ö?9Da'1 nC3 ؎< ~7wGi:B[7g$;ogf%&ʸ>pøuߊ{Iv8aSdq.$#$b<9 ƊZ&|5sLPA$PuMK=gT\UŘ@dL,>M;暊EUD'x–->;(Rlk\Xêw D*׳8 R 퓪 {̬#PH±{XT(~Zcq!j@Ǟz-E/v-a-ߵe˘vw=pQDzE~PFT7-/Ȭt7b˴NPTXYt3.Ԛaw#Eу>>*a4\08y '冞cO=&T0j;F!ʤ_nc֩6[9D*˾ NO a?_9ȇ0{O}D`v{r.6at^SڷE/f3RaВdWN܏HEn*Sf3ՐIaqE/$3 A&0A|X3 QBJ $C\3jX* +@٨ fTsB2/#R пõgN>KA_j}5.:м3I̦]RhDG߹7Т|bkC0Ȭ~&ϴۿXۍgP:} f0t#iôע0."FE@ ZR [ܠ&E>z~,`;ڮ (! \ѐ 0a vDޮe+8*=vhy(;~J 0Z8 gn|Fh1=*Zc΀$}e#qH^l0l=\Pgp|̍@S9 J;)cj袈$^:5MWǶ6t^:AOOGɡT p 5A2= YN/?n2;]' po5t:֒(_zȮ?55YsOvø'Uϔ!PbP.g=kCʓS9v8% opbSy{@ftGE@]OY(<@u*?l- nm_'t0v{JJiA~&?/Yyqt[Ȱś>F0Q'MxA1v'Puhs-cq\\5^?LRPPTCJ42;c^+:sP`@;sl*N!g0%%pT-jyg.{{Z1YC`?L3PwCE-–HꓢЇ\L*?[Y>kƐbܲ7fP2iڙLj #CYC1ISd3֯yީrp'Ѡf!_ ;Hmge֢w0sФI(\auE`9J=;V3 ܓ<Û=]{-(h/7PqڞK2dJfC`GAY@."&x0 s8f/]30D`}^|I%7chT0 'YxEOu)~~ȳk͠9ݽݮG:3s6*Ԍ͹u\gtAFY đ05Õ; 0z)F3t`̿"rrJ6.(`" ץV$8W6* X|1n(eFbs}}_l,eC{ 5Rg+&aYH+,"fou*=u6nNTF@OI޽"i`ZGLh7D9vVa&+\R )%p3a"uq5C/vG\gI. ( iln4J)ڋg9fȫ9۳ž>|? Sؑu pnp] x},ٸLU#0*6YT`Ǫ_@(6L v|破>NPLI@W\^8ځfӂpf:\6L  -$cok8 ; s32ty\ML/- ^IC]_p\Xq=L>ɗ7 $k)Ve|E)*;X H#A)o,_SGf/]<]_\(+=,QNG8۰0yvÏȺ`{w/usij~Q>fŮŐsf!W'^. Hvy;9̎w""GH23ܸd>clmcFOqZ#y%6o;?%|U,="㨪09&Ǿu/8 uy+N?[Yl4u5ɻ/`($C=W/z/bd#a-=@Y$1h-z}/087kg b&'Pq@HQreDn" _fy9*:6%V6뀱w,;/? woHAՒAPf=1`mِue 3䳙ձm շJÝ͆JfV"L>gpņ#  ̚yw<ֈ =CFKb`z y?[KJB9aڭ}eUv.N{"N@v^C"z$S5ˏ) ]7Woq덡QW)N*Թ";B&& /X A b=@௅dNh 4xBݝfݵΨ)D^xn,kzGJ UYK{nPop6L`GEPAᎨ$)XG>e FhԷ"O\K#c<~)ZǺ<h5Soſ${b :GhDϸůێ.?)i-X#ߤh-;5?CܗCrlq(T{d`Ƚk=Fn݀ڹ<|D{m&}^+rM="I |_t0i&E8?CV$favf!Pk@rFbʈqdtB.S8W )Y\(`J3&B$Dk.닀BPpdi$.&tTw ~P;H88,QAuًINKdFԫ MJFc\&ffRC,IyUckѦa4ZY{V.QGZQLAHݭ`7(CD`${™o4H?w/#-ݵi?ILtI,3{1? /-,ybpTGhi "SZ =JLnKti} 1z{@B _@8Lゟݦ1) m X~lP9.0Hvj7uqm|:S/$\kZC:2"4"#F1 OXH}ˉV+xiW6fS0X{H= Uhʖp^@a(/*hNm$i\t~*qM?3O/ĺd``H1f3s`ryF3h}| 1Aq@pĮ7\ zxQ!*%p.{I .q.J}MZL25A$i̍ B"_zjoSq)IjH\>u3LquBm ")VYguUq2q\*=1cgt7/!@FSwvFGojKA,'p"$P+̵ ~ĈϷ嶶byhgǺUHR}Jd_ܔ+]3NsZ.!A \4_lAK7|6n"f7oEG|JZ|+70,֩bU69(ܨwrWf˯|E_he7ܰ`ڳ"\^ȱ429-݊*OyU-oE68##TdnqWv:ƋbdX:9t>RjC2A՚yBxx9Y}aisZ{)+aW扗\ÅJ O]T*WџA$ )B+mBʍ~fEq7~GʏŃJl.ױw 9;IHH,8 Ȗ@~w-dj\E|#ԕ `2h +5,"̌Nh7pĥH1 cۏRyöؘAV]xSyh 9ޱʟbŲ|{,``5W}K;ҁ?N# {( FG"u$bunRra)R, ɺJICQ{hm80 "अ׵G [tzˈeZ-h^*V9}W߻iZV=D " 6# T7-.'NwhШahCdK q 1q~#jz޶sܺJq :{)a`, '8ݺ mv/6t-ZiQt>^5?MZy5_U:Vs4!1pŽv _[Ѱ wXfg\q{BO!*8 E>B8.P9pۂƋbCͫx0.(@jO 7NPeCGA6v̾fhD#u+lQUP*UCBCp՜MTY9+!7ޢ\dRIE >d%|Y y}{ُ$<^ywGĢhŰ@iWYZ1(((ō}±1hzb\ EP~ZW8^nQ7hr лĕUa˪ o8G~NA/7;vkA@۔l;f(s03X ASG&pT9F݁T}8~҂6=kmMR %]Jz卌U5VhvȎF W΄ ΆE!7;"~":- ѮK˙i4VShuF1LH ͭ{IT& 9EK.+v̍48BN^cIsftpZ-]nMf2lP̑29^PG ϲm``$Qdׂ>>OEiz|$xĚuYp",xx[~; 7d=c,7c#ޗR,\0# 4( j8Lc/ߌ`eW?h3 %8]Xu?8x.Z@SGUUTK1NkE?ܲ^ȹ9Ϩ|!#Dŀm( Hl:f&BTL\7`$1 g38n'iNypvG HETā臻ּv"I&Ɇ(D1'AmjYmI}.MON&AߪlϒA#|@!>L.8Rk(1֥h{ߥ[_TH?~˪/d1vъ.G@̸I9ׅDM$LtU!`PO8F6__Z4&1H3Ct*'9Фfuv~_0nמ0qtGm,×rrNߓсTPUstm䗿| t & -tX Ps#E٘hR~]-C"Ғ8_[c F#KM:dUY[rf#l;>^ "P bZU>J0@]{ ,!la}햫8A8'5@uLzv+|'咸 :shހADZj5Y^U MHj aK|J}kN;.<׏P%ެ?F!B6~i 1uyj%Q8dPIm&O$ Ît7C b>olpzt!mc2!XY}:BDr pSA. ^옣Mya5 sA4‽^.0GZWnzzI:OL&8#o1v(5^!WV$(). B>o E[ ~YF*CFKK |`\/w!= lt5y0~ȫi(-5;Z(h|\!s{ŁB' -m]AcXt~Mo1W m8QwCUU#2x!28ȁNHo+-9e-4 "$Dړ_82 Jվ}0Ad B:ީYgw+5nY~d? d",̛Γ;<{>-m*2D|!}҃uL3Zҫ˫Jۈc LPk,;lt[uͺW~.NzACgTB6#'E 5|=Mm!~ Z$W6E4YOBfz+7/{;( %%J̣ͱ %g o% *E{?"5K\Jx(WGCSl'1oGx..3`T@N<r)axbQȍ.NCw/v녌Š\VEk/kX7 @MѪ,C@7rAγb.uCѽkHRӭpPJ2 F35cf `G߻9Q4&Qz U.:04hkdon4OI\}>'Ò7c]ǂ兂1XʡDMAFb_n-; @@ƿ?#F*oy<5w $gj}hqLPI.n#<2'OV,6y+< Zl )vzË zqß#ӎ|`C\Ζl@6; }O'%58ׄƞ֛P5hu u85wq8uNJIU\t8\$, <@k *BnkBG/Z7uuu[}mP C>R8Y0py벽POiW pHUR/d'''Oخ2 yU^@lr ZԉQ{+T]2+'x3bFL7cj6;lsZ~,@L 퀠ӣ=do};`<߱BlT$hX C~g/&@2Ar]ޚ,"Si9Б]Ƙ!Lpو쀶p  jx\0|L$4ǹ!:-W#zrE ;Z9Np]4 O>@pnꜶ[dɳU $eDJ  l4m[Zd Ҩ4 S--2݅P1;Lj-k ntUR*3Oţ\XJg|؀ÞqԸ;n_fFxˋD_dCSxjf~@{qטּ$IO1r\Ej*ug|4k^_B$> mHƂB V/4[UK,6>zm`!6+NxQuʸ>?lÀ|*bong]jQKA R.D!æBIzf=A00'{[YDڣ:xvM:a;:+8%/Am+:|$@CQQ+clc30y%8/~#}5IouFDq@'6^OۡÆ*p#e`w]gat&m 5a xWz>+=N+N Ӣ=dȊsēL@~tչpBTZ˛ ӕgb8++FE/G뛟{\ %a' ĐYflqT5{bH쵝}bң|l)j5APS6 n+qzO@AaSj:Y!e &vҼ\:q'oKh DtַT ZE/wS5r~{&bЅSpx Nb{c[Zq HCnl8I :'rjMv~t$}k0\pa$$9FzE<]h0CeyIX/`P9|~&|&GRZ_K8$Z6{#{ ƭԑ#O"V-B LYxi hÈX_+70|gRZx@L1zA_R0"E"x.Qs dQ# G0L?Z!γ\6 -=&~\iȼ346y黜[c9;z ) D"c/+Ey`ٔ:"콃+SD-|DMq(-:_X_^ 8|0B-'.42#%҉q̽ I?#CkhD9?]̌J>"<[򯥟Jp]TG7CaEjvwe&DzY٤b>oxAw_pYp_C+|kj4Gl YB5*WڞG%7<CEL>H-N vB o-Gv]hPwk<+F6uכH!u e$܌9"55ʶ\7 hoEADq5uk˸߫~4g!zfd%/ـ8anpub8Zɛ}P,DWĜ-mk7%I[u,5 -83뾽dnphMXi9{QR^927F Z.>(俙H7eŚ|#Yɂ[-&=+R묮6(W" ϯl F@rr *R].fL^1!uzU"C()! @J W]= &ul5-]ok⇼=^L?{톨,-A}s~4x{S ڙO-^Jܸ z4a;yIi!ui!;^ڱ5[^/bT?[0\b7'/ҧE4]8r >LgL __7̾/)tg}e/~7:={3^4OV󸿺׷0Jm(4dRС7<2KK1:/`,/_]T9%ǝOSmLm5"Ot+0X J8VueڔmmjEWqDx(O0;Rya'u~0{e-K#J .Weq p'h:HG8qjTcEd^o\Sc U yWmgnw|Jia`m? d-|"t}|16l\pW:#hbFcQ|F݆p ؁Y? Ю5V' r~i4;Ȓ{^B)j7ظRUiO%!o޲)%K声|{c0ޡS"<ބnG؉pY E.U̇*Aʫ/VQcY+[VC#WW/( Uɜ-P5.^\käh@JJsYHM(0!dG sUAI"'8}]nLp~too¢J_u:~ApT^W'<=u/_瞫SqfrTw! 2c m{Q B: w6rzwnIO+'FS8\ U(L ]Ğ;xPr Zj@puOC ,}vj|Du{x;Hۡvb:[ "F#RUpPjdmcjpx_Fa. d=پ[W@v 0Ǩ(׾aLunk Yq>8#!<h`V0$GȷoQq#)ٲ.*xvJN4HBɮzm$aAۥdݚD>I}JSC܁j!)9HQ2FoD$6u7ed]M3mĮHEE/(d"u9% a;W$( *vEͦC+m |_ďmb|4~dZai)ӰD|mN?ħ֢Ǿ/RFWR\s!!e6(8 @MVEP!ZU!:$w j\ "Ͻ*_7 {y ʭ.| Yq!vI[J~|ju ޶XV1xRNو2ua % ~j's\*yǃVKİޣ-xrF,}S%z[dCv"SwxaBc 2RHmQlC$DI QAo, 8D~Ob.e%ެ ! @un:DMl(Th胇`n͛Gw/ip`W.f;yP%6 ղkPK PG^SS4L9r-L^8'VŢ$}|H>.B4|5Б:En6\,/}`a XfvN =Z9}9yj mq+˷<](4L˿>""@9eUUu}q~C/5Pd=/GEPxB4PM=!ݑgypESSSLFjA%y42J(RJѭAM02|G̠R"F?u*]l-%z"u'ZyyW=]}bP!`fP< \r/(1~̏Ai[0_9yD| u((GnW7H$(ٺP1WGK!;1(5gW6>^vf<(G, AfB?㴷=}8tk]m/nB|A  PJW۫$? yJ𡴿޲hPβ~&Ni3iLB_wڟ탃4 41*y'\EEj[\ w#j)zecbx.Qw_0d$I9dGGӾwuIЬ̒> W$c4 $En^?ts;\050?!GJ?~#d*+ $HSHO@M)҃J!A@1%(O$֐z$OǴ8T9c=H:Ai"$1ܑnZ{ao_YKqK!l ހ =l) mvwenKX'st?|8Dfnۣ8Ypl65>O}]o9Ť&6~'Fŧ~pdŘrXp,}8y-N&í7OPݮ6`Eك)0}0@H<%6&.xblgSk4 &'WD#Dc.Jt!̠ P TP_zCj<oRZ7_D?7?=:{s4,O͆#'=9nEqyvSa:/'g_g|% G 3fB[9Gk^:iq_ Ӈ͐朼 <:6Y=X 0,(tGNkw\<+Z/6Я{Ws*v7 vor-{?S`wn2J&" RDAW@#X%S}\>GHm\P{YqeՌN>rxw}jO:\| Wl֩x  (?{D@y}|'~ S+JU_7c48J\=nCQymTG`}oޓ5?15( , .Ȯ봗tTzw)wjγP}Si)vֆF~/䘛Yt#0؅Iw=G؜Y>D2.v&Ҷ11S튽B=T82dS{$_;mu/ͮjj XxѯU{%6_oWuvqvUtmaУnz͸ q斮Ea`A3 yNYD<<~\F`>.oKo" sJ BdYb+ P$LI8J [RR_Sle)`LsX"(m?h {&*|C{m?EDE`r>S7v`f}X=T B?`<0IjcT xC,Zė R X`d6IQ vW߅*1WQ(fDE,X⣩P>>Af6f7{_ʿϫX9ˡoe<~{m3 āͷ_uVXp7 Pw lem(@?l5OW@tA$Ui! f0T CYA7m@&n{Īw- 8 _o1KO]6-`4߾w?d߫\W}XTnl>nhǧ+Ѩ0Cm=u6 K:>K8t0#[a(DTMY xTW$f{V_rDi_g]b|^o )s a5m >;NmX=9<؏}}='Bn y) Cn({>O5+Ш'ouIvtsLI8[y0iFw 7T92$j;`!)JǜYfX{rq^I[}ܙ ,D.PvIN˂9"w־U? LZH@ ɂ`s>$L}Y_/Y%&63Se@/ e($P*H Q6(qDenadH*k bK, AaK|/nC]n{5vxcGn@X "2V0 @2sΦ/m@(tJz *wwU1:,jfW4t0~КXx؊gK~hZHU%7/(-R&"f.#p9 !x=DBUquԁ,M\A!hJ!5fDVgRzUqEDUU7jNaǗv۶pOk6Nm '3<~ ]'5&N*y=DO<8]y~Կm^߫Ta0}ׯT pګl3< ᛋ[ٹ:~_ 5I]'~ݲO:I&UfGPBQwuG]a `ם⨃Ȁɾ4f0 , ;q0z>K- k%P W̃CqT/zP@xTE}5]]L(pR#;CFLH;B{Y^$:em9  zaI PnMx7o.`-Y]KK:qA{z.lα>wDa ul"SR"Zv0!V{4+w8E#󑋄=ujDDekJN8 CU(q&8Z;(oΐ-zCڟs?-8F(o\5N`.0#w9YB7`26h;-"fݤ8M5Z#IH1{ki BTc(Ckuևn3 *G? ( :G,"mtU" *_q~1FAcલxH׎}yv#]#%'%~vuElzGnuAa} ^㤣J9YQUU.訪eȹ~&|WDDQI+qᢖ2H8qR{SeEnvu.$G_ EK靝k2Up}bvs -?sm/a:XQ"Yvj8N\JqaMY:-yxvI3MlrvBbg5}Z.)8\ t`{5*Ms:Vi*H!ZR%Jb#†dHRjZ\8`QKu:*)| 1y-:.۬r8LYE5[棣W47ҶӕtשDeO_E([L&%`ph)S'KߔI PPX#&ϻF;+6l6Yϱd|-=IT}ƒ6eDGJ<?arJ9^C[~a.5*i[v`<1U'_gw/)/se[Y RcNX7skBI8I il A\zJG9" ȑFa|5ͯsպ0~ەPuobDWutW9@90KQ{k`b|=$uP@K&W?y(Y1n]q [A0/X"5yoõwQl78iڶ{xrZ/QyAL q/GҸ D.";Gطß?a|mBu3Xph Ȯ|$o|>ν5߸K9Rw!W=ssgplcwJuaN%J/yq^Lnjk]+|TcyCZNY 0 g!~&#QT:Ȫ{ZI@v ttJ0PNf({ q QZAēdLuw[ 0qA%  H$41 тrM!*|R{}??lwX.< je7ZCǨX=nކ`!\{vןngW@o:[u`<>LF=@<Ng"jzbȃrݗ7aii啒CImZ/}񚺎C[0Lɦ#Xk|FQ~Q׃Ds:kXE#]mLn(e8Mn uj$N#>{"h@^$Ġ 7rZ A ,Q!@Mf :ru5ldl!6VѦ3NGJ7S;;mHw|Y밄LAv^'UݗdOm٘0ؠN. mLb`i-!+7׸ʥF5Ƅ5vKRy:=k/ K A H@M7h MmGcN1eV$M_15 @=3a'MB0 1G8kspr-Vj{%e36!,(#=O߯1dۤp6p u67w͌S DHv7Cb&kM6:/u"P,-H9 x%껶&'qTh\;\`)[PP\ˆg+kn<@}`t5 eQ^" ,q3ߤ9zC$BpGCMRTv}lŸRR,Z/58DžhM ϐ9RbܦNn}YH2B!V\Wޮ [:?"崘cq nl{C|ڵW_̟Q.;>Koa`,Yh_J* ߛ yt<<51Oƿp$E^I=R Kj^q#X@j@q50 `"YܜI?_J/,%TQ=@}W~ʨϒߋ1|E{/_M$ rWt+"@A?W/fmE8! =1@dv8 B#z( p{J;SOEOnrٸjxՈ)Xs ny'9Kʴ!@,8Ѭ$Fu=sY$i/bWu|̉T":۫^-Ѱ?j]rk:s}#yS_Q>W{)z}9vԆdiD+lٮ3yG)j5ϗTմ8̻; ș0m)PX/vˍFan@5: [+=lWBM4 P]oO}y71qC=3r^x } oʫb"^8ʊm4 GFG_&aRk{Ng7&Ϩ!3I; <µxok L 9/bBb$\`yOumAcm=Ǭ+~Ee4/bxzBtzS|χ.' =FF*b!r=~ۿeGY9thPbϭlZ 4uׂTYuk6ѹ@tY e<]\ټ|@2Cov @oj5V!6Dp.Ot :=c=V+%,7cr d _`˩;_VH12)-(d$<Twnkx844ؕveUl;٠d:GOÚ)T%D-i?-@1F欵ELELEUPPR QE QE QE#TCTQCTCTQ@UR%UUQHT'?L BjxAUv@ dٸ ɻu;*IIvʐ>m@(?Mpm1 8 #oGJ$ڲ ac9l y4B o]|ȦAQ {:wID n"OoU~z!s |N '7:C\ ӆ l4_Q~̦fQd  aBJ`*QfFi**"hV!i"(GݮgƢ$"I&I"I Z&"b"VI`sE-"q$ B )1%% UHR!HR-D4 PDEOOree4!5ҥnf+F'rn ]sU"M0P>9@=4:|-ZqVp;̯*cI-$~r1,[A>Σ=;N :.D;\:s}tqRj4ߥDf Fl/X !;=F{bhBXL:*`09/`:=*DU9V?:zN^=>/ʯ$Tߧ:Zaw*meuYf EfLl6" f rհUc="pQ"fkt0m ]Yϵ>\63KGwp)2 m79k$ȥb#>sU@`t[קԂ ܫ'&<j*XN^Mi̳DZWGgy(WVR@;I&̬To%N7+&̉"Cp?E zOSu P@R͓_U/J;kN߻n+ zώ*uznٷ,q?ه !E@D]*tL!1"(P-(RL#@eJ*B"IZNa좿".(DD JJ*r%F*UUDQTU/šA]"DP%RgX T$9=2@T^ ݢUC{]GդјS0D (*~}<]>z35"҃SOwVU~2 YVz}OxJLc>s@PA99e=րrv'4:?JJAilPcZolVׇUkvY9ҋPP.L,1wDՓ]'J5o37;xe>etp-Y ]]<+BCpG7 r@=mZMq]L(}-4 Rqp XD-T.PaQJ"?"-jؑ.k[q5N'4htOmenլ?$ZƃɓH}2*DB; :˭QeWq h2#+`/"sǸ>1I)í֟qƨ=WmƞH̿QLG#"#/"zmKS"xA^\єl-+5go?'A6YFdYhp:r<[荔{a9xڠ6d4 NBE!.n5{3 ٷbQ|  GmNO/VOz]yy{=YIޫaQ_eqR,nxOf7 [X}ׅ._;b615>ûggG|iqealmyia}/S=?[)q9N޼~f6=?\w <_ޚ_g/? D(* v$G]?dw\1=Ds"ݩbĽ8:A ťH!^R@G9f۞\NP@_ U3z6a wBG=|aa6lΘD(H*(_M5:眻mS$Iρ}!?(4ISϳArk HX@kf}ƚY}Fm0D̟Nv/aBy O,FtlHm;lq@ yqS(FdxPqϳfJP0eË$U~6B*)N=˜0k1=ⵕcl%Q.Bz3> |7k>=e^wHVղ!9㘲$7@=v)DRTs-gݰGe@%&$Qh4X>WoǘoQ7t8?_,5XpCQb?: V^nuO^mYu^c`nЭ}C/,>Hc+iİ!eIʀvx GTDRj UwM<ˑqFjdO""yr6dˣϝ{⚥IΏzmTse@ D 12wb{->O"ÒUwYuBRWoҕ7\]v?gn^ҙLnHߧ%?(sֶ2>)U[6RS:.ܕNv* V_YXyu_zڞ^=1v߻")Zy|ݩZD"P0#2_&7A}~)n52̛Mūw1gS~O'!1}52IP~ <ͫ3 n-KǍDX7|_~U֓h9U̍?Gc8TJo&l-+B]v!\]_GA J(ףפ%)O~(` y?GdBu3>w+XERi=tW̩[bd((z7ckoj2ASrn'k-xP 6"Hϛ'{f-P+٘mss#ٗ5OR0lB>qp] e,BA $&΢Oٸ;?е_K/)Z<9hÕ (ށ fJI??<+Sc#ħP>vq X\z]<峿q~}@FAFH5%\ӧ͇mÚlE}PI<`SB` ^o|jݮ$P=xU!Aq2[TGGr.C/u{3n5;N %# ciGWdHD([ѥL&un 3GW]E-^(U,QJCEP8A`0 &G(4N]&^p⌛ZDٗCP5*&7>_K1u屜ym|V_U$"q[qP!T(OX.p\}yOlzHPP757.%D`Ъ[YgMօe6`ۼjdy>_k>cgQhBGP~V9E"jyu {_Í7,c"qeTM "HR"1VeQwx /%( =T)beU  խ!$9=B-#u<$n~>1 8e `ĴC,1hb'3M-gjDie"PK>[Md+cgG2 + ϩn6ck+þKZ߃8SP8\/J ./ү~ P7']z8_[w0 26f4r /QVS>O[;.~0R,c=&w~mw9^ EtBgt@9H̠AJ@rΝqEV"2A P"~!pav۷]Q'l%Gd8lg$_