summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/netdev-times-report
blob: 8f759291da86c07435a62e7fa044f8c75f9c2749 (plain)
1
2
3
4
5
#!/bin/bash
# description: display a process of packet and processing time
# args: [tx] [rx] [dev=] [debug]

perf script -s "$PERF_EXEC_PATH"/scripts/python/netdev-times.py $@
/h=!Czw&7iElh,\#JP@LI~[#V`㌶X\xB Y5iK6NG]-YldH:x'GyV\*#I,6Mq٥wθF.*x``ȁf^N R5!<{{/%ia.Co?4q۬v h:m4&H;A@{,]vuGx(;ayTMCp"!o @%,[g Sy(mS7IսCS8G`2{l1s ^(2ЗiQ4^HUX܉]sϨI%s ھ#H gDRAsٴ)uGwMlTF|OLO߮4)RDKI $x2k>u(ӷ|Yv?tJe s;N]O;(0I 8iCCی7=|1O[TWit^hG^|T`$5c$F "1>H-yjVAAv{}!{<̧pWmdbzӞCZ4Qaz,5ʙUW?FJrCT 7+...qAfTK"D L*T;;"\3愥~*atd̳c+#åV'ʣ#|Yq7V92r22hn`OmWat"vc[?t ѣT{9{׽ƞ+ktp㦫jtȉቒ`%ԗ"e'_G'%NQ> ~T^675 { >/:*uue"">XQm9YƷsNy]PCm,!0%Vx>ӓ;zgs_Ӱt} pPG4\;@!f-;*Z:1drA3s_`J\uX UF !yt<ʃ?&ШJ#ʏ+;h6CIpT~ɥsO| }*$"1|+iS =vI߉i*>0.Y)6n__ 68_SRjx'%խ.Xu lWc]yݡCdD %jvNo΃~zҚ'+Qb*̇+G UDU>>W_H`R_?^UŒ4Bۍ,LM`& OW9yEKG? uC3-5l}Rgk< :t]z1X\7ֲeQC\qi*}m YsMX8d`j 2^/^B5P V0GZ|`9sYB9NT1'2G^1)G8W?~"rW$|Q~ާ) ;sG;Co.HsEZR _YYB{)|g]`^V +wiL=NB q@d$}!'7#fC7HxOƻd|kqFAeB,Ijq_e~IE?0 ?cb!|Cu(fu#2 ۥpj 10H2QC%=,! #<[tO -4ֆ"Vh`"yj%ʤ\E2p{nN PIiIkII:KRtfUU3HER8E>n}yeavjזEoO Z3J#a45TKAO 9xcG"G[ҷe]"mo." 3cT)ݥ 594zn/m[.d ?Ӵiy1z V:}ScOp]IЏ*cP?X^"|L=}㑌1>魤~p0·c]t/Ua+Ai(6uDBէu媷KG-z]Qc5GJv3|tC(ypC?My!fQIT"o؉*C4A@5LvՁ-4!LTD0S$E5$MTQPP䴖"!-,s0=~ ''JR)) vb_vf;}郂yzAEByw9|'<1?̦]ç[Sk&A*APLPQ QQUUUiv[oPM,77@ӕנρARR5]]wJAD(:=x5{R\1je=ւb!B!AQq25uvx@DqLG%7ХX^UGAc;Pد+15"I4~6fE+Jtg1'mRN9Zna tqn]"K:u#7`Z- -VycL@`PLPP&쨖aV:@X:1x~onn)N7o3R9#8|nr+X;?֣z?7̞κ iAPl"N J</]P ף]<tPɾ)9`BPGaDyY&63ZpQKF):2Xot؃<H }<>+^Ž'*S+h2]u8b-RaMm.Ϯ枯2iRJ)k4Hܦ2(tK2Ny5\~vP7snٖafԥ[[wr8&ym]ULUt!vdu 9 mib K۲))Kt if'4Z?0Vʲg+b(ح}sSZs*ÞȺo{d7 Eҧ^~y!f|A$e* ]haSw~0KeKC̷Wf{{mkˋ{zh͔u=%ޢBSЀO\h4 Ch9+<})u}句RAVTPl5NhiiMME<"  j*޽~2$a rALShX]n+G=SEǧp{5 ƹֲp7ñ"_W׿66WO_MxDɃ02Ɔ%[I͆1М\tAC_ғs?bKBzX^ !A8b %#m&BbdbH`H8蠄B`PAgr& (3-+wtxlճ浼>n{}^Ltv]^WS}71 ԋ ͼL.j9g3 ]r}o덴%xkPc'!jHP_D*fVOā˻Zy7:E>7*I5ky,4kᝳZt8V.U,]Z֦ӆŤUJUBƂ}wnIj\z{SKaڑdPD @ *?ydpG\)VQb*T ٫ٖ:.َߺ:fJ(ALYV4V{vA#癞=U~Gw:rX78)vEV#t2}W<9G$͓I{M62j!'K;mXm`& l kU5Q1QMH̎IO=:{l}aqe4J@HcsNлY"$LJG-31lm u`` B%UCRDGA$k-l L VEbNʪ&cPV_&1YX*[8RyyկoZA-jief6>_9 W~\ !sgA.h'BIۍwB4eT38PLfghfqZ/2Zd麿NLɻGO@}65cWtNw}MxNܠpu+t]j}c*Kt227/ X]s^ x嶗c7}gOz̴qqkvt,!&=[e`o>$2/ ;7e+6ҾTG;sg)U?-a6h >G^XP9'm~|Z2u9Bhv"BqWK;Fq|eJ miZ. AH}p˲;oе|HrPaZsp?o_i5~\ ]ǯ #0|\"hzoX\\;k4a9aEOp/ 0uW&]w7`~Xw1ҚA;{]>j+ 04|}ryB4~[8aW۶xdlajNSm.n; .(c K /||SW,TaLkv=/zZ{ve^Q`[qlTh:\.ࣄy)aΧzYJ\y6v"0XxU|X% ddGQ!Є$LÈdL@SeU.tC slr8^_:M҈V$d8cWZdxu cv2X+QfG`gJLœljR#8$2O FM[]}s0_/7JmP?e.z1B! eCH$S$  ;|+4fURz^e%_^]wK>'O5sc6(A0aozg곪s1Q0|_Ǒk|ToV'|z{cWyunEoYǚͽ\AF- jkyˣ>i,2r6Pė_ӶQv"7ZAײ!)9X=,8㯮WDn7z}a󾽦lI]X_4)uo8R]uE܉ZJTqrc(kGZLhdZ!sٮ^DwUć 1[<,zӑ?\B#,"y?Ɲss?4?Жl.}5V(1kb=s??: r4X6W]幭~`~?X #BbIHL5QFZZ|?p2/, OZ刈*ddUs?iX1U$ס/ $wIOURGS7ط^i6~3JUm P\&. n'p1ug ag>!7-t{6E^p߮EI/#@:Zb#c טx3.+DGH%~z~Z݁Uo/MS:h8?ٶ5᭗~gυ]ex~Z_)B pj0ɲvZ+431{ [;-30ez۫Vq^Rc8e1ܬ=?¡v,|/sN~]eq*tn7nسu0`tM!Om۟f:5K⺭'[?~O,J|)Id*)gez nlbv_m 5dkMC8Q酈Q5 7h>OlCc21wB3U6~N/7_5k⫹y; ՘Sְ~a7>`0ɸqzY3vVml7g}|~Xy3o-+䓕dvCNWَ/Y[eWvUoE]YZop6Z/puZyp74]DŽGI<.+q]tGìmuM:o^<4ڼ6Up{D6.|s{ƱK/%ȏGTJC{ZȝiBŮr‹g0"M_F?_co ']~<aJc\l1\g|xǴy5 S؎#8a6Y`ۅe:ŊqJ.5Rx>pradC=vS `pMp\7(},1wC.1m_p>s=W?;9[6a9ti smC{ MC sCM?!6'`hF1bix9A_!&uX: ijO(TehuQr1uw΍~r>*T=/#V@_ëj}տ38N7h9|mcCRN~0 0!xۿ W+Oc NPQ?c_K6|WڽUI59R'~@*}sgHUT9F̂^ ̯\H{$=@n'=xD:QsK,s>(?"=*3<p,Hlc|F8R8w-}X3Y/+ur)cfZ64d*2Qʝ`A7Zlh6=<҄+NKM*GskmnA(PlBIB0ճ-vpUDzto7ْC=5*݅*Ia2l{;uF(6{dJd>j|LkT]P(w;az".[wݰ "l , fJ\DЉD@04DBM Mܕ8 R5P : ԉy#p6 ܂ucL@Чp8s*NHSB$M4N=CɊXi*adif((274\>Y<wWc *'L#$RI wqs@$H@!N̲%'Ȩz߂L&fud<&"smL%y($7v&%=ϩNO\M&H'k',UtJh Pht.Kh*d9:; M%?_$<K 2 W?Ԯ. z]~ep~s c$5?6ő`jB`Rh "S?e6;3l Yye=l݈(Tў3ނe4,!'HQ:fT 0|ʄo~Np(?۳#PyDӫQUҢu)Oշ}gJ>Qw>ϯZPs!jBf(D뛉v0CD 8ǏSLyfp4%&*0w=1V1 ݐ/%#a֖[JUN2"]T0Û&Xr.;ܱd%`b24¡n|u_GxoM B0мޏsszoO-Ǻx%^I'vXwD__˞B-Ŷ^iT C(xЀ:*|_1Oj9w+NBgl@+6-/ޢXZM ovWO #Se,ѿՍ ue\ځPEH"qQlT/myku 5y=>jnAoWiM=.-'g+,&,[k };aoXӗ Ql'G0eƙOy}?q[mģL&C*ERMע&n 9Q7ѡgbenl[uEPu{Vr߇su@l?v6cF(ss"S6#wϟhm3\)F@PF(S^ Q"81Uo'E+))w;L"6;5jjQX'dQ~'0}Nzo+mG/Ѯdtf~IScyCvdpx_76΃,Zosi{VnoT`-g+(e}>$"p|p|(8_??\ XREr;ǣL(vSՐ# ̷>%% "#DG*O颹S,m='`5B!&5qslgTxlq mQO'<Ą`Z$to ̽<2`h']Y;q.^"N)%cX2C 苠:,8f$&tP4z)㲞k\E߇.|?ytoݵޟJ|ճz]?ة{ltx}6yhz _>{}(V[;ot<.Mxz-||no3wvf4 SXN; pJE |z]P>n"+a[@p#o_O/_E1-(sB{ٌZ3@PUݎ? [F4֍lEXy6=7(<တ`34 䥯@E郄ԤnZg F7_DY6u=/~\$.G*:n_,PsFŏ^9C&ee !U7&^!"_(AyVЮkq{ 7n'3˪h JG=_f#>Yw/ǝ|_>\|{h+j-=҃"dt~̶DŬkdvH'V}4^0x\9i5;7 v7ǜ-tyFHt9Ċx#Ktkjaאw l?7Ujtm!o:w Y ~~6mxŹ0/aXAGx1Bgv&f޸MR7pX;lq\.-ӑgJ/˯{,{v/k~-qio}I!Y"$Rq&%2' [!+;^ߣUf沈X?x}cQu@@[; ˿×xpHHZ`{j_cƋavM77 aA/Jwzگ[aPZX3B`QۉxUח1u?F|ZD3Oqٺf΄?X1#8pxPFV|j>5&,`Pn šQ0Km@uk\(`RnbOcu0U^Nvy;b.M}jx~wNmd⽜7;wN{p:ޏ;@B2XX-he@u\:xB;gmH{~ B"({@bQ/Ã9"yl5 O/Q&i2OA|c?L9 Hlp9㓔P l%4wc@NjD-vjY?< 7%< v?%uуgڙY&k78@nw\? (!w~GoV[ 4Yr)=0P*Fb/M6CAOVϗw)I-2Wv OģQpê1mh)÷>?S $/MuMMI{ސ(8=)>!є ŭ N1+﷣ t~ y0٬sÅ?hg8|/B|>aqP=QJ>E2n1#^B@Aไnfѥӣ)Iܡ7Lsh )&nwd0y<~]s9AT? 'sde<QF䯏{i8>C*%=>بg) p}_ߔa Qӳ[9͏T ՚Ay6+q~ "}tɟ͐ 7L<ˊ^8qx~ -+!8mgag/; x\{b1`z{xgv~u{˼2tWsns8?8Im3{gV)}|)UB 3XAM5'u(gswMg`J m j;|(]UaO6v?-& ʪL=%6oŴףs96}yT/ٕ:E-qPΪ>m`~8Z#$_$+(ׁY }=]{t:9CvXⳙ.`_6~abT_v?hr!l7tQ{N/|m}is~;/nTqܘms =8 M8lmC{B9dCJ ()/݆Wؔß/:tI `A^NNU'__1A"'n|>EsҲx$ҿ0Jx#_Sȫ#0}J@eG/tp}nt!@Y#Ȑfe9yi7(cH=/z:#$8ڪ۸d~ڳ>{o8ơv@F\Xx!tpp6 _b8m0vv\h1˱{T)L!1PkaA(DE70ًq_G|u{_FJFۖ:ջn)C z![vG-E+鳺#%.Fd9Ltdz!/+纸eawRcvlN]>.x O e@)=(-}Vb-.x 80 Ҹ-T+f^u akd`, z{L m[Mc 'npvom!%8ۥ V~c ~#{}}\A`p%EXErQ}v?~?b;z"" ޞ8lnhJ7"@\;0%#Ta(G>V+Q?煌}XuDi:NC q5+A%Ǯ?UBYnx::9'0KO|o}6FC˶8<+ŬM@_>'@i$yDA=0ϝ|ev/ |E}L~R˚M캻"߳v<>E-e=h?Jvճ}jDObdk/0T?ken8~pt {'I.c OUفFٳ0}-lR2]XTQVbJt>;rٯCnw[V5}i$F/nUC8=}~|BjBn!9c"P2 Z"pBU©S#p ]쟥RbEy[81h\Dj8~Ķͥ/psux_}J8eIZC&B H>.+pwM .|tX^weIHn sEBkΒ@!yp>PӲM5ć7˺J@k>Yz3r֬[N6N|ϣm2l^#o,s jh[Æ^"n$ SqW;|z!za?y:` O wȦ>o\=.d9<.1b G4w>xh6=λ۴P~GF{:ڻ#>l<:;}?lż`"қáa>gD6Q{u>C <: I$F=$>xRP9vLfn5;fW.wmѢ^8.%a/۲8 A{k?)FQ͌y34/dҊhOt1LLWd~A^Qfخpt#m:=B1tL\a h~cxlkhؿ~RKf.rav~+/rx{HPF͵z -,#|xnTBM ?Q''J+^ro[| 'Qt;-<_7rwϋ z>LQ6=0ިy<J%Ʊ?gѯ_ T\}<+ Iyupd֛+ {| b [(N{]M۩;3\ 85 @P %/#[%h$1ݹI+<{)]W 4N߮G78l.k!2!6C;;*/ސ;;6iAp_yz&om *F6E 1Yš:JX] ۥ_ 12Bz{ I ߵRPdlsf=kד!gi wf1)Ļ""rʨwAܳu3>B*Hbj5xϥ-O7na[N76ou.#vx mv6qM_>O}ph_k9Nt}ku_z E6o/f3QLzc2LJj~G79$v`;|y%ek0bkCT嫟)H]nim7τF{(23+'B&`RTLk- lnp B"߾u״$xBl<!4~̇7zxs?q +Y9@`b7/>uԹ:B YalcOleDUh+ŢRd~?ze0`T23?G!> |TEj`PH@hNrC>LiQ.IZMj%N8PxFL:us+ ~ẠNN\O6t亻qɞDlmCns3һ=Gqy,+q3&2,`>z*e:2Iws@7،bju[ʹ''E+AxSs6083 aB $"fO 8"PA"q*뫌g[NA='{|EfYBrWWsqFO٢ JCR!ˊ1D#53J2Uf. !p3yzj!Sw# E9HpF>Q&|W}p\r9_ !]la&@oTCww& ϴOg3ثuϝ,0EX!%9#s (!̢Zd!bc^GZ>+n(?]>=\%|ۂ$֪4P2Ie8lV9ĿK(vQ)*mn{IwLuׇn{ءg\ qRi(;M0Ʈ/ |dԌcz]@<4j6LDAG>3>GP2MUtr|P̃&['&Ks, R*ThlRA4'y 8d+D-+<]һ*Ϻ0FJkwx\dۅõodS.+0Dj=f!Y(u)h^HA̩ D;8#~*s}_nf8sq j_fdn`pIS It` Bp/oٽGў|w|嶉<)[-$&1qQ`%ra#? Op;M14^EUO`]}]\>^'=<׃.b*.Y(N 'DRŊz[,5#+f`]g>jX)vb:R߾8Ndl43pHJ 5xdR-0s@d%DTfo B"@gD?W9D仧."Nb9 )ܢ[Hb̼|lfOxC nn}½CfW&GYYI{d}zxx䥇@*aGsݪcbCkM(r1&d#@逸+aXV|m?5`Jz9wΎ09&^uODb1#|/}eqѳt _oGKL^+Cu)Mv@/;8"x"ǣ<3ƒ'sFI7JS{H];\v[ $H>|{0<8D{/BceL qSzn9~GJ˺W$D[n4h4yꂷ`hw7MWq ˎMX]U tp؅;$sū>hBOD}|pv:|ZQv?21U\RU ߵsFpV)OuW'z]hN:ؗcC/X a<侒՛`o 2lDJv$*Q3!+ge0pݫqwBm s$~Pm5}_=ƌ:oVUWbnm& ȸ8*zOGXP3,z=s95py#iٌ)pUWa3Mг,0,`RN*o H{wclr vƃ< 9> D漦`Q>:,`)SX Jpu*CjIwک/42S3Ìص8| (} w.(Z9`ƬxWp;E "4b@^?= ̴e6hܷ8?9ǮΫ̤9=^]ǝtXC{^ó]&Vue4,-5SI빐8zg-ѩq@q+~)o~yg]6![з~{S,,(aF}bzT9C鮽{vB{6~gPヂ 0rx6'Ǚ[R92:y8<}ڨV073.oQy|/zӞћ3^y܃0\@zqYه{ݾI݄z{J!^_%(?ۄ 6\en76OcwP^}U~L\ D7aYlN|N' z$}]CnnTǽ'&J\Ioha-\UHDn` ?S !=#S|nN Yٳ2[kH "aVaVN`o:@P9YXC&@qLk@H{BmFђy2" L!~{n֜/];]f,:2 e{j2ҩ[HdP>+p0nJ@Cیb}$OԿrtsVU}r^IpǜjZ<aTjQ܆'Zll<F>qJw3c4Y1HDtc^=?nƵ^c=ڊOy d{>΋9 A \ Y7;5sto΋0ݥj6DZ/f"UE_TɟgDhC/uYUt!lwVDty"9˖('41VˊcRa@+5͋k5ǁ)e S"a9>2uWQ0b[)Oge_0NmYq-MI,Nsos9$. 7*GJ0[ OGY~aF6)`LpYuß}'$4MJV/hY|P:Q@u>6smnvo`^yߓvޡ켢4[;aŖ.aE#܋"! IaRԠܫhOysCۙ"r #̓$-w4GA% \mT"cll`l>+3 s{@RfBx*@% ҭdJMؼo,`?d[ mRAtCxsA~;qULJ0]lMvJP-qn%\B#~5u3zxyD$tp Fawm-TPE :xCx r 륛9^y5Ir~[&wbl۰Xlv4!2& sT2Z])@}˳˸/*p+,~Q1tA 16C!K~~Is*gE"jrvy͊*>-զU{fNva?}/4w,UnǟgC~%Wmpj?oD鿿<o?騟!'pv+ݪ8D~kvSio f0/dh|!L;Xdi+4PF焊a S0W)@/AٵG"d[j6IӪQ Hnr&XMجǿ4}#H 89hpfoan~ ×]^ ᣝn1uN,r*ɄhXS c_iO} s\ˍ zLrɂ̇*o8RrF?<ӾޚɄg)c̆RxX|x bApnQm!;CxTi3^?*DWw@|(`rMkJhU;6!s*Q (2IfH 7>< ѧ,yFHLE՘pE,JΌ:qsӉ]7 j7Vi3w$*Պ(,'5G/c% G"XS~WKk1mM/&I2BNcvSn9M sHJa  z}"!(encra;3 u0ӎ[-lW/|`ytȦw#.~^gpaꉳ4?7,&K?jgĬhG]pez[xqh"ȹ38(גs/ǷG)?hi!{ 4~inHҁR djO iax{B\wݶs]+Bfx8[| , i5#C`NoZ7\W)@" ÉsZ do (K[Bri?i?fJOe~OVR{\ERBᎢq1"n($}daa)-H'$@6}qCגSMtfa`X_Ql7:]>d@;00szHPv%w*789:WчSd K;F񔃤R2_@-cPȼ)Enfn_(P8ǯ%ݧ;Pٱ` ddFjx7.z?"0l=H}LC3.uA~"V D Vz?c¡Za* (4İplx1(:4P(e&Sʎ"6me;xx?wWT\߇s!|L"09 ̙yY#w$"^Jey;r/W!= tC<J 8o@Zz " FqOPEx% q(oE G+A9s q@gl*H yx7WrnŖTȰlp\Rx9W*>rQDA;w hLKXp{L `F\y>׿Fi1Q\pdсDߺtCPMIn"v¤OԹ:* RO.-Q.̗4i)`3SkPUu_'bQ? >7H= RH ͤ?Qu:-kQzŗ?n yHRjVەn2J\ΚJI+Yeذ2rˡEoW1Su 2Km2ǧIw|B?ÎOD ܍.fR _5J~Zq Ժqid-]k|7 OHr/k5GnGn8lʏ嶻*K,˃uWĀKnȀqBmг^b(mKa\wt>i<,y3 n7u G-dΎm^z0 x\FFU(0d_挗{ZS1HZB c(B_u3vSɓ{,!px¼v9@tNNE2Ax;U}͙(A_ t3_bt׺6%L=0psbb"E9\4_}ME0SqeKJ@8J[f'"ΈEaK"h?-8f Ǟt8WRG, r_=υ+dpHq IF`mߛ:RK>}A" eAV׍YvZP&gwE@{sʵ|;OV.^(eH$AË]Vv s§ؤHtmx7?mV8pNj@\W*?k lt^ "Bʄj9t;^)yn/aEt*Mоwt?6X(* Z;TG\]GFsm=R}d!Fd#0\&Չq:tv/IJQO =tLDÙ˿n)6r 6q!XsSb?C*M,nQa |g++ynyswm,^4& ŝVsSbݤyR;:.!R=Uicizx:dÁoIpr>|L\(yTh,ek}썛v6`rεFؿ_hؖ0[tn<鮥KEЊqOI@^dLet{̽h)\o\iqGjɗZ^صF ⿌Koomtklsj@R`=XCsOS+2m"\LFŋuÊqzv f7,=S /6'k!+5D?a`82-}4]/v^:) hD"o[S\^M')fv.;|}{oق vp $^OgL:s鬦~~18]K +y+6W5ẻqH:) oTE/? a|۬pHvsàj5y RTױ7`#K٪QU{UN4uCg\)ùTwD5\: JJ}N'wfR>1;%WAD}U"%3V du024Lf下 V>/MxZUHeq.ٵT|:TTZZ792*PgMl)5^k{mGs30hͰfуd5] 8XI:^CQfxẊ;Ъ= xjڨao3j:OYM_|l* tuDOϲ.lMʳ{ַ ]d6?ʁ9k?;]iޕ|IRG#Ff}5Zvw2pӝR 䁤lBpbZ(/3 ɷn&VnT z~(8}/y%60B6a>䡉ŸQwp Njx^g(1w:S AI8,k{Qx;ZB]ͷ&S*ua\ uB}S GⓢK.L_^׊C3}yC'֕ ŬϮO r~Ͱ۲XKϲ{qbx!D>cF!3gT_au=t2`Bm|~n(Wױ҃f[j舘70$+K`Y~){L3)u }G|d|ou|A ЁF)^6Zxi?CiDv/Q9ߑP/R\qme#h0p'l VH2/*Y e , aB_W&=sg329zbTa2(-Pqy!AC\;X waq?"JXN<; ӃU'鶮NsOѯ0jIa -+x>Fpk=VΊ֔2Ge`i㤲-ˑƑeٕ<&T.]_QH@9]\nb4$*+Sk\9o5⢰4 k,<9u.Sw|'kH1**|Fn'H>^Ȧ<ɐ 횏D 27??GU>#^O!Z_F'C\;5cqayFQ BC񓢜 곏cwvIӣQ;YnYTITtWB[pj܃z$0 77=5)R&vvoEOEN ?ϲ ط{DȐ3˙EL]YXӋqrdg*7RA0\10$aǿZ_a#bkȸQF{~?#6K7`(1 >jCD]?J(ςۖwЃf) A8~1T>\EW LeF\ʰmUqW|'?hypfnj?VL RsCvPU~+[pCPy?ap"RBCxB-A<Ҧ<03_CuÍaa֔ч7g#~.;nh{Mp۲aR E|Ninr}D'5MV W&X걦AibFPp̈́Yt_J68B\`5 u]OϷ1p; n?9|R^ТQ=X4hMC;GpJ@#.+}F^c;`VI [% 9k)y]!v! e!̹seLy?q}ҁ3 (\͈Iis<0Go}},C"32e]?c#^'!ܬBԁzzc㦬x´em Qnd><_+e\TG}}grl[bdA|SU}:lsg/3֓DQ10LӼ@#:ۡXO6 |>NC(%$k /Y=\K sY#.ԋpm܄P]89vT_|,IqSI_*[Yu+ÿУ 4Y_ntSˢd>u4fߐ.IZP$,~lT\Ti#`}6׈Ѐr!F7G( 3&P)LA)\EfiK7z@X: ޭ5;Oa>2nA:=s#V+t _DC5g~-|?]B@뫽AI"-*W]m=em: 0Hls}oC0mx6A\;|iO_Kܟ2yF֗d&o`)<^8,0m?P{Xu31 g0sSʰF8`|w[՜C%> B] m)(||V.84!5AG= ZsE 9jv?\)ĉX 1R\5;Eכ%=tb78-x -6Wuϕ8x7i?8ôӝk^f|:UuHsP1>V~%"c<\\ '%JQ=|~hƏ9~?N}^Uȹ_-5/trnmsz+5ؐGrO7d}rXzHY0 wbFvujD [as_ȥbw_z`)+8#G( ƒ٨&֪Gˋ}.'ll cY9o3b\~)1"LB0!8H1&?+=&TMp:L˙Pe`iwF.kv;Q9zC틤uy$8tQr[Kɹ)3/@ӌKVO6~40E=o_8Q$*\>SO8 H)&!z~_{X nw<ע{An}7A~Rs~6 =r* H|Rg@ZlUU\c\ 0/ `f$<$C΍ǦqCw9t;%G+ aF(2Έ"9v ex0L_p8^;q/֗"'hp#WלVŒ.Km-N/bV7>3~;gr!F^@ كû6|8Ǜfa|n0tfK&'B9GQ#Z\ws7"َhQSJxw 1/]LbJ=ŃcܧPGc'zr!TʊU Dv2"A ޿FH~)Prw~{k?(O;1kwD zUb$/DRHmG80r >s+?T$Ã/Q`&%zbM2$`RٿX|nazJ,1z+;E؟% tY\ˑQEy&}v7YkזsEUuWW8KACb8$(BOL|pq;#zmUK_Ll/z\z;706eP I9$p thoCMPgJ7]FVyyފ~ʫ7E7*aڮ,*ROAWs< @Fkto>ɗE ˃-*ca8WddpSץ- vNW bW^ӂ=?Ofi=f- XpP $$r#1l&tA0*/k灜1w:aBJ<|QfUǫ/l\%7ilvt;>Uv[4ecȜ`+.0z>-gJk| A`R6 . 8P\༬! JM2p]-!@c8KgVuMeW7kys*x:ytw:o\s,S>0H($ '!z8?+Hu(֫nI)79|ctveTr=.}\Z(/`ELLvkos3<6+㞺xI!M.ky qU\<6=_1&V/d8Քmî.'XTXr^.}JPi~jkXQsZ-C*9rؽ>ő*S#;Y{!dQ&rN~tx<ХۂF8t??Î}ur2Mo=_rA׌L8=놅qNۦ}+sm`W,?ى-YW}+p)DYE>V`Nj rڅ&'>4qCK8o`^A@(EwX͜jX80!Exl|Lcz0n-!m$)]Í#d5=hZ.O*R{;ErUp.w \q2ĄUN2c>b?qVj?1N~p8z4:W nQh.ksso - ޱ',%C8 d!ܳmj psG\2Y? aǮJ6e>QLQؽQ. F2m" _41?R\_x0[GciF_;Qt3kj ):D#".׈͡MWDi/5.e6͍!߬CkP0RWyp K/ֿjCSf3xx1>ttD/Q`(BյXu2rK3 %ڏr/y+%X0(/7 Z.0 /!*thBA=R9GAr}=ڽ;"[$CTubB@ %hi3OVw?EoFM0o7Tcqp/"{$\ PBT;=o (0Q赕A8KTRHDZ9;|N @X-Wq]QQy(D rZч~0( Zpf8\vWif _y10Xa.۩SP-]!p3kʱx/o[|uI9d?p| ~nok`NNOgo^]@o7t:T4>&BuϵGXY3%|Aۿ-jad{kY==y]_RL~@h@E$A{^@9*:1wnSӿ"_\C2-|᫾%9OBQsV'P]G jGbٵjzK{]QNMRB(7\#TvFDIأ["| N&**W,!D2)Fy-_N_yFP-*v`3ҵUO?S|_KߖǎL!F%S;?-үSHzVvkFh [qS*(p1+Q/OYQj3>&PUuVlȚxݔ*g:V\Q=}F h*v=SDTS@_^ӊqОM岾(̴wQ`izq7vWDRFnV(B}Zeb5UO 94ˣYxq9g<Т跎vn]$LedE>a gxϻGވYDzO- ]-یW(tW3t͕Nވ{)Az@`v\K8Ŧ{c?)RⲔ  ߣU4(}Uˆ¸-eF,sr|YN[\Kv1)yF- ]L ̌p3੤ngrg )vNᓕBR@ ^F7lWv˷vQY;`"VC`+vL5=~l'DɈbb?9.HpqN jAIGvS{0e8>O&F; \zɑR%لBZڈxTj{F;O4 ϊ0 6 K'Mq|Wo0:mօ ᚮ2ܸr_1)~96Lc)"]>Zhn\=*>pQn)G=/EO Xp"~:ʒ(ջslȰ._n?b : {<.1r}D&8WjQ\fzXOh $Vy9/6w-z +ߔ&`RS$璅9Sti) O$q?Qz~~nZCOYX^FA*1 5Pr㌌d+ S{uQiMWS &+|م}[ {o: \F|:$HYS`6$v9ëLt0"DoiQ1h&$$IIFV*"2,UTT9)t n>(t<9PC{0?<2r9amOvN3| urM{>f$_(LޯR%Ձ/<ƘZ iλv=6_r  3g$:E2:dd`Zk l>S[s`/ v>ٽu _I7緘B$db A.,((H;(8U6AZ-Bq)2G4k>25:EJ$w)VXcI'.~&_m_v7*ȸ_c/8fGf;:Cp[~Vy}ًY@'.<JiKdY!* fCY H 0pH).4|%:B唬DJ8ɟ'm烧rM7pSԩ~6wC_M\֯$6g XK F &[s\(*SoDzaԨhł=G9XX>eA!:\. ) vXZ[d^( a\Uǐ@<{T Rx0iGl;O\ʤ or{XAun!ӒϢ/~oz* s1l֋02J3|=QDcQ/YDE_Iknۍ,~S`xm~V䩹<ׯ;L_+:%:FUL[E95J>dg8~9$\ֵqSAr-(5sz ~ʺ\sUwcZgv۟{5 NЮzsb+]x\n'j yP-g߭|>߼asaZǽ(P(RnUQuzCڞO{(DbTs?Ok|NFJ/ߙs {RS^K?msd@PqbԅXs#io\_wFXs44nvKY:"T:? (f)MP8sᶥŏpr]f5Ƈ秤s<(*|᧮BGt6\ 5H9X04ӯ5p9bBHC׳kPH "ySqq^Tj6/x>cp3+-F"]p}ksy/h j%HnGK{L441_̬#t_!(eY3p{&z3{ᕖm7ւЖ/yxfy/-_]pNB˦~Ot”(M^hK55YƊ i͆OȔ>ĉ\ h(X e1%+cScyO깤gއmݗ5ͪkB$=ӈw|\`cUY`n_ FCS~ ?|<:P2(t]{Rk呆Okb,M qӀ hG0WݶyYd$}<AqWrVK (?+WޟxcOߧIX9]G>` D0)ˋ@OֺFПׇ+* H }+*9qEgK8r#|P,hfk "a7O]kv~rk'~YL1Va(AqufZ r/"&@1m04cqq_2$Y%qwj)P[G"7 ֦d=bĜTpJlnc9@A :B†G L*9Z9ְmasS0lIȁ^ UEQ=I.9*IGM_ͮWrsѬXߌȦݝ2HsG)46 ࣥˀ_uOIa+SDKOe $A2{)|X;1kzoK!a׉Ӣ$\x~]1JN1 ]c괤 ^w/ ^!왩T6q >C8HmjP+<{;;d+0m'P< PT4v¬pD'eH{{݈o/?Xfӿ~N1s=y2z#^t<6hyjL u9Nұ=w,<ҽpq_Ec+F PD㝇E9{0sab"9wש~&֖8-Tg!FDjMI)}TV'.5PQP:`ݠ*.0E4N#;TZP~C\=.z̎nunIvh>67/Lk|[% "#Ff`J>K Å޶yľ)Bf+pŷ N1Kީ#;*cuDz zmp½4vEr{bM\YIN5Ytn}c[zpBN9(nn'\kp$Ap㷠7Wk8֣ީekJzO819@⃈!F&A8';Enh^lz-B 3{I n2uļIKӛ]ˉGF 87?w\lkֺO @Lv]VBPj6E!c+!%@w%D/B1S-Ns̚zƳ6xyw~1R8V(`\f#\ɝ5u\U=H=x|2(" }ַ8(TGEțoh^0qC6+zwxG Eu^iO ~g8F%&%j_rm@6^9a gV +ZI\c2rc1quY;9@b]1$)!Daͦ*z^"sŸc9^)c<Ƶ+묃& 0u:y=׿9rVs4XVSnok|5U.+6>hX<{jfQXwo|/m|6f5`B N,foo g9$Et1'X{#'8HDwq}j"+e7Zg'wD!p-JO?'kZn6OHȩ35 "іM95|qogz6c ѣx|Ύl3ϔ Qp[ĶM,߿kR:;/~VhoD/UV;lLny];To232«.:0.}6Yi5-iYURV(.N z` E9oNs3$չrSM\xt<1;\2\`{T>m[pp"`"pJл~Me둅o{W۞P8&vGY7GxY.ZbOR"}~e`LPzYz>2G1z(DFܚ=+2o4Ce">هRrܜ:OooZ7/yqSϘ8\K@o x\Y{Ty_M=XT &$=uSGLW;'scv']sb駊<,s~|v~]/8׼nzGys"o{ʿư!u(q-P+V9ոv1_LŴ>Ydrŷ9;`䁐΄R:v4OV(0oLL vX36X< $9]Ru㕽E{_oQV8qq{& `rּ/n+i)M+*V*d8n+}\;@Ȑ/{+ntAĉ>.~Ot7@7HC^p2ø^6z~Qo9wh?ǍCdMZ׭ ܧ>>at{cE7I;X/~jSJj%{xЬuUiҽ*sQ/M_,0p,̲`cLh]r ;_PVb$([ӣz?j./F œ'{"ŗTTɊ'PuD?T#u9? ElO'Bvd̜#%\'60t{ 0q@ 1䍩@9b"lV$Pq,|hǭsrP'60| $d8^`w2Cg% `s_#fBڋFg:Wot)M]`OUA2/:> -тb`ٷmpLTq'KbT<%'!Im^ԠӜĭۼcQdĩ"i#>ߢem-e7jsYk60eܶ%L 63oE]:.KTW˘ֳZ^Rv!߹X~F}Cѽ&`YOO Zλe +:)A}%9lw60h #8i3ᙁSL0W7(n/O\v&"zҪ{ :/ aUZI=a#:p$ <?%Ny9@8,LUx9$ʝ84[@0ۊ  4CzFn>6VN#T?MƫQĒ S9oy?oL>ˆoĊ[e7,uw8Sn=˂`f~eҸ5:rd֣DqZŞIk(`vr0-Bb(xF=oQ}bwD\iˌB%;QOƭjRGQu!|$T,~ːO,T(KqF%2Imvool]}ȏ5@HԍLJL 4ېԍ+(\ l!.HU1;Xk7K2|T`%/(.0! T:0&Sx[r߻OL(|.e%Bˆo`v"E7OQࢵa-1)̍=9n 75_/aIOvR{\D8qȼ6bA5O݉+Wb`M, Ȅ< J&_Z<!q?+Pw]EMQc%W(~ @! m4j2f#>C8^#lz'Z:EУY C*qD \2 L5 M|Ussn于@#ys9fAyd GlNhOنƹP-nTsA{JA\,wC4パAZVF֠De )\Q]Jd |CbAu9Cg],\QO&u#@/yskB%{Yqi*߉X RlEQpJM,CrKnJ0{w^ux< D#`I SϵWȲPpNty;+4gY-P\Q ԢG$S azprhz;nt'vik14d9"E.}x^Z_4CW.z^İ-[qZ0.kqlJ"j\.Ô$>2$ĺ0V,:Dj}K?R?sG&qg\1gX/oQ@=TMSI-F~ ;y^LPs q qr}Y~P8?''0[gaA>y'`m_"kNƛZbR#NehxۧO'RnJpF(NPs]{ (i&oxeBg9 ^OMjԁ*JOf=k!CwK ck}c#Eک]HųRub2F5f|:ڽOo#ܶ3Q:se޸8<`a~(F3K~ⲇoɹ[\ˮo=X[4BOf>1% En&/B#HKJUE k@ u'L}֜.)2׎P}k}v\F L9yycCg NXH}f\ȡYEgGq8?~O{!w.,2&]sO#F}[)vO0R|6Ǐ7BB:U?"CzN>DzMwoZf"iɗY7J ͅ1 ޱ^.E}"2CA4f#J""\o!ڬE\aSq`*wW4[A E^_e6ȍ كǚ7usM8+c5m tVu;M@ɘBk-dˏ?`▇^ D3!~gF ip`.G6+_ #X~e<,u<15!i9B+0R2$rFO׾}hUOJ5ݫ_*Y_(XqR Y/ [aIG88FQ{H.g )l;\_G>٘D5*ȤVWZ{ ^Xa4 yHNxZgihr}tM^ie uO|=Jڢ rA8O9.>F]~AuP3H`i9.6Ofp}=Υ<ĭm4v-ֲ2Ÿ}9\tVio__]ۘDV  l?[t,6/lW|t$A(7 !L (hF9(V (*%hTd7hx &˫D'|?ӥٸ'?#;g۾^UsQh+""1DNiC7i8}"cp^2@p"?mFV7ŵH%LcN+EGi}uQ9p)(o1_YVoߜC$>րԽ ⪪[V6.ٵ!DKM]>ccэw3!sYic"ȌnIBR}4H#QG_d \ *ehQ>O ׎FOM\.$Ci1LϞ%WNNWH=5'w/m~Yx㸽3."ws3̷͂) 9!@%Gctً}߆^tbu\۸xXf.ʂLUTP`]yP^tI"$(? ¦4$v73cn%4RFS-"8!b9a]QKh&*" 咁.C@*+"1 }iiA_#*4j&(Rop9S@9ŒہQSA Ƒ%LyR49f:) %F ?gSLbnjY &˟?ΡŹ 쀡f}akLLse㣦egMU?T7`~\?l݀dUl-b|wFT6:EViPvIZrx_u"Xmɵ$V$;  wX?Q7=R?^IcqI2ʨRe!&˥ˇ : Hbpv~C .V/G_>{Ayno>`'ͳ%xT]wGهbaA6c^hqۦobft\z@OKoK"/vSSN2_Ͼm M|^3"UFQ?OIgHJ^zf3uof#2^7,Iu$qa$ȅ!P R|`UAt6V2ڹfBDAO,_QI Ƀ +*0A߼aGTuH\;%iza%sLI% yh=ɯЅ-SŸo@>(qSO!Rp}˯'P_ :{{smEӾvqqcV< ;˽o V)ER>fL~+K$fMӼ wukт"L ?f`3fXՙpdbc9Rp[O*{ZzXuY[kl(#= U%=p7]ǧMc'43hP l9n"g9! ܉ #@ +}TQVo|É Ǐ:W#b_QW8g8ޟ{`tɀY݃Ŵ⏝@o63@۟~nCc.y>Z a*% םN:vVn6abˉc|s/h.S(椳.oy%W2=!+FCgf`kβ7\_ᆚsw_|0sU߳H\2~`B{'tS씁 ?oV :޻T Rrp)NDqo?Tyy⻻bj6ɰn