summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/flamegraph.py
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2023-10-18 08:17:06 +0200
committerChanwoo Choi <cw00.choi@samsung.com>2023-10-19 21:17:42 +0900
commitbbe7cbd07406b75ec845eb261f25373bf88b276a (patch)
treee1e8e0918743cdc50e4895be7484441a2d17c79b /tools/perf/scripts/python/flamegraph.py
parentd1d0b3fe95d888f1ae82a0cf6a594fa0c3cbfa79 (diff)
downloadlinux-bbe7cbd07406b75ec845eb261f25373bf88b276a.tar.gz
linux-bbe7cbd07406b75ec845eb261f25373bf88b276a.tar.bz2
linux-bbe7cbd07406b75ec845eb261f25373bf88b276a.zip
PM / devfreq: rockchip-dfi: account for multiple DDRMON_CTRL registers
The currently supported RK3399 has a set of registers per channel, but it has only a single DDRMON_CTRL register. With upcoming RK3588 this will be different, the RK3588 has a DDRMON_CTRL register per channel. Instead of expecting a single DDRMON_CTRL register, loop over the channels and write the channel specific DDRMON_CTRL register. Break out early out of the loop when there is only a single DDRMON_CTRL register like on the RK3399. Link: https://lore.kernel.org/all/20231018061714.3553817-19-s.hauer@pengutronix.de/ Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
F|Uc,Y;CC$D#Jnּ݃O[Q f k3~aKynu[s+ǴG!c+Q{&|۲vS? TE 8@ eMRݝ TESU%'r +8{q+Jm/^O]9Pԟ3ۿTym!2R!LkFVa:8 }0D6bT2m:QwoW2wnx Ԅ\ !o&^_UV=}]'] (ZJhhZBRCy f,dF_^4!?O>@b߂.=l82鶶o}&^^|"$`}[>6.Ni.Sɼad '.ۓep;:]v8ZnokB /[6[{dzcЉ+A( )h^-εR)EQVG[J7gn[xfm"َ?v&ա̋AWb `)əp2L# /+-4rEơVy׉gS g:z:<LR oQ{n߃ (֭f)N߿FDٮ-D4S]NVd4텲N3&,[E&γS jg`E.}=cѿ=Ǟk]?[..LK[sW3k4U¬`ZwWхs x4+T+l]jwD.6fE :*°cVò2=BR𞶻o1C'[=29EXCudzm=ڐ_dv6c+l}'J<NMsr*ۮv-eFh ǔ|[JŇR_ pwl{gwde_Z cOkUCԽ/cyͬ:-g뭖c-e;ywn}PˮqvϑkύT8qPQZsn?g^RKktj$`=PøŶ;v_^ֶnфxU=o/^kuR'F.;P~Xw3Qt ۻ3TYzĬ.H(XKA([]Ӿ^uMu<\ppj-r)Zræ*U«>8V9^g )2(Zu`c~*{s~w(;yNx9ic-Ԉ@O}#csd&8ԧ_̱wS'6<8h$"h&tMN1Q}`k!|ީ>٥vΡPNyc>tv Џ֏㞳T»磞4F}k' UZK ;X( fx./]V)m{9Js}߼ҏV<[7Z=+γ}k^9պq^2zlzױߓ'^?+_ӚJ\0%;Gk]8Ys(=_xLG㎾z^~>7QʱeYt:Yf=Oî3~qZb-|MԪOWXZae64.Ǻ_:S<^{Lj#VWTk/k#l,oO'l# A@/\+ fsc{`͍l~ήB)C'j `PF !gZ2.vֽi^"L?r@vG`, E zZZ5P W+tI9Ngl0E<$7k. 4p1Hd dRߜt]GT'wwp6{ҷZ7;OC.BYPjGQkי|i2!_p2f ɹPo3 { HI"G[IʭE?Sx;/vΎX3ijC)p(`0چهGkn5uyUq/. x6/>s:1mS]X~}^2WX~Ev:JtDjPᠾcǵ,f+݀hdc@4sywY#gF%6aqˌ4b޷SkqBX1^{.#q ܪͲ%+xo.t0`s^;M{[IjUF=$6͏u Rkꖯ埇|tʾ[ΡIb!*)/Wg@>7zbLqRqK"^719 /~iQF7~0 ~Bf`p oWx=㮣oaZⰢFD[?~>G[:>awH]YGw7|}yU*υid 4έ-,dU"Zz*^'(9/3͚SFerѧM82,F+HmՑ֙Y-9n9T#':ō,_mϲL.vJAl[J~,*Jjò8/ip.:KJŒ~-Y`ڇL\1xO96)-|iv[aBlmkk!Vbv32J:B9_/CϗIu4e3ƫIhe_[2_jBM??jjhCŨt'S}z{nEY,tXpha%u$=;Atnf˹CQl{̞^ 6CWN@xXZ<6`PX4tˍ6+ Lk.L&رčқ#_^A®"g0 WHso3;ϖ4 2ד9א:9^aH|lFj|4HJOV_]__1κ}h`Z Zr+~_%}ft.mn8Ƚ+<kWO* |W69ݔ&# I>9θjM L7(j(h% 5쾉 Ϗ_jOƤHxpʖtѕ_ ̹hl72#>j@u:䀼 >uUAsǣr827B1( T%TpªdTsds*?7%[ܜ׫\g޷w,69ڥ(uE9L' '{J97'}"OvZ1-*:3K*"aXif^HXPC ]4w :!B$B).m1NBJ(b)T)?}zOO ,B m8*"i_䌚(hAs=h0<ATJ-(R(Џqӿƈ/'\$O?N?ŊӔ kHRIXfѴkGE;0 +P_MϨ'W" eC)*jAgsV7+HidPq@B)X[Goߟٙ^yߖyj_ߌpCi`~,!>4PH{)؋Cv]9B|{Ș4y' 4iN@+t)M5N8@S%9))! da~{Zdt1???} j8U-ăOǖlӵ:LQ_-'9f:b8Pll)&k§_;gmci4k:?jW9T(wE^oE#|N?BQ(Q(wg~ɻ> / 0t|`?vbhH[S=# I~30bexZ6@߁mhLj*:<2ѹ_še[*%cܯGiME\/oal`Fͯ':탦 ,W#iԙhQe[&*ljs?+|bJե^_B]KBhjdcbPz{g_ND( I..N~<~՗4[yl ?ewS8чjxOUVa O[fj1*aaeF0}0ߣ@ 5Ȁ{K9DB ZU/7\\PM=`cAh!mhSw*-^//嶟/`ն+ub@<`K8=O':|ϕ],YmY&}ߜ{_HHM1hc6[Nnۛ4ƚ6t GJ{[۩W wg'}})Sqpѕˑ+ͭ]2E{8؉c &6oKV\3nԭΫu/MF3',冻ڀf_[+6׬oKtb)qsp)DgG'qt"}uлMc;iKlҾwcn鷞6>\EBx.(V`]/)@Io>܋}6|o*Qͫ )8v}-BF*;v9S'XHAB;[B t[]8={b"0/ Ifs(|]X|uFqRA@0*)`J_UFg ""z"ǔC|XK@U931 BCY.h%$pķdz?~w첔^ɣڡiwͲmۣ{~h8)2eo47u샧8FÃƱAm{fr:NI=Og/+Wp-n% xR<]7 ISOvc>AT7gNo?M|5k=ω6.y_G\L)o6 GxVi A<l3=4XsCFJ;"8y49z_wJS]c>l.wv+ /L+<T2T0}cͽ)˺<t6n@,8s4Y5<M8 _^ Jk*uSZZ`x9j=ebX"QV*y~SZ6䨸DT6$V#1!Bߩ@EP[vsJmY: +8܃@V5V2_(P>#Z 〺=āu 9 u6:ݜNl^~AWewB"s +G|_s]:ltϣS=Vz;:xJ=*z}@$049T[kD$\u@UmPP[9WF/uKzukΣᷓ_+]U<_GP1G/V6w+]I_bs&4e;_dtTHN~zx~kzZEVxYPlCq?_~6Yጭ~_0O?[׃ ~?DuU/GMz)/L>8vV2Ŝ:ucccJ{ l8f41X{$SPnZL3<|$sޯC R ̑$$Ulz9>}ITCy8$`a<~d2V-Hi# ?(J,]*(R%gM?GDŽoX+rtx sR Ԩ`XlpMOZ=^!pw-51|acbcnfpJ[]X)>i97ĭg^|_4ұa,[bžS(,A޼s?A54Z Sc/}Z{q^8-Kӳkֶmtnq귻J 4ZnǴ–jtoΜh܇h˯x`@>O;tj߷7ReνGS76zx/<`>) {uݰs;۹x7;E(-,..Lujk~ЋoõN|_FpYZxw3 a=-eoՍ/n V:6km~]j"s~jTNڽֺǿ#dSxt:|Eswؘs9I^>}{ٳECr;nS\-?/Ht9|y߄GNU`]V9haZ6S];,ˣW/}*Ozv/o<6C[ ?)z̄ $|}m=XpǬenL`OKrVd97_jan8x|߻ Z/k+x߈i0 P)P{" {zE_OINzU+vO(O=XxveC~3XwvϠfEX$0X$5~$woQMg<\ o،)#W}d p<2$[|Zn1qƴaeaަ㈜Cq6©I"33xb67Zmh9߶xMu ޝjX.▁ݳnqOWDH;nz5NKWoWST7~(鈮`#ç >p$6.9LؽN6c! ybj/t(Q5(;J!_ -!hw; Ihu _h)fإDL-XZ6Nvz =NH pP܃; D0ΏHJ5]ќg#y6#ƛTZ};@D>ȯ@ TA:O r貛wx|9`ÛyمR'0C_zsW~8>@Z?>&쾑] /xyB^;˺^]-?*QblG+.׫_~ bg-Ѐb?wJ>.ɯ+wwu׺Պ.(",>Dϻ>\y%~Ofx @]7u[/r޺/2M6a!{^/Ke9/Y!8 FC3P?b`lLwoP_oR|GX;^=~\f(B>FiPGe>_c.3*,c0 jUGY KG^]CXT%Y!4?N DGBwAk6b2w''-ȝ<{ұH.ZBsءlyF3W)a b8F/VQdoPRQESt  !:}6x5XߑZYXtr>?&O~[b1NdU(5S?=gV nq~/\C5GӃ79#?^ ]3/ |`ZJV_鷘qĠ*Dk<-'v`\x OK7ͰdE,;x%ArTv \˸(yǏ]˙'l0P-b[[gA7.NmpJs?~B%dŒ5t>%J^Q{{CNòOkn8jiP;Aڢ}8{:6ok'Kh'QzM|st~!fGINlCͽx̷U}F/rPF̑}v(՜Ld#U +mo|%|]C{;36ka _OmQ@wazG~;Ҹ=ʗOzưXZ ˄1[lq( \gpXYU4.4E@8YEG D@ŻT)k_\㪩x269;a{3¥~NtKǭڹg/jDЏ+KXwEq2 .21=͟oQwζۥ|j(FCg1QC5սHҭaz@RBi{k{F?B=r4x%"8 w6,LvpcmQ*9>6ƧlSGI:!8!$KH}UYJfC'oQD<fΨ">_$8qwu=R~tQB,JK<}svЙAz>Zfdϼ5.%y8`C`+X ").ҵlNȌdᮾw{GO_ߋ;g' ??T |jJ_7*YWoƄћIλodhEgv[`9Ц-(7SwD6,u#ˮ (A$g{e%f7PC`u0}?IY8tyR8mEٚPeC FόPHz2_Y?Xأ׷Vck=Ck:Ƈ qt[Xsid6\oqr-_ Mt_&SFݨ'ohNTE|[}>Un~1l\;kưA4J Lꭡ] *4!BH$⠤z?~n$'mC濏uJ*O箃prv;1Pz_7\A  BuD~Stz>-/79AŊ`9aHY=|Eǻ{~۵|=11 YKV`TnOlp}nZa8 ԛi5 ao_PDwYiwV7;2^"y>y"H9uky % 0ٍ{kQ[g/7>Q$x۬cn|N]Vt^'ɗ %@ w}=:Jݞ(T?_q#HCǕob1# lr`}B.>,oDoM AQm鹯u$)7jy}QqQv9չRBcl DDv0@mgd#7dG'_W\;"E`DVa @H9qZ6Ql/Rj Ԛ!$9ч23 8< _Nr 1=?r/V}~ Y?. /(6a]jV }+VJdx( D2y7qo28RP z*8-ce]c 'Vp[1ovΦFI"^Fr]t3Խ,ncfy}ת?P.ߦǹ0n$.tpuDDmm u(|^V+L<-.?E(%"ϪVF)ӡиvFqä? }Ի1 YˀU^eЪ{9IM3~U`sHZDBH[k>D{сs~d(!&vY<ǂ4g4 ¡ZY4Z|jP/9?kNgdw6nte{*޹Ҕ#ߴD\Y<\üh2}~0z >;ק;P~n{=0zMѴÌ+p ڸ/FFJraEcRB9tF22 P=e;|?RCweIE~l:UD[7z0B&&- B!_ RnBJJ糀+[xܼ@Ċ^)om\-6IuqvZ,>%].ZLYWaNPsAsOk`k=Z}?@mE:y\>Psz4H V0}8# fjezlfNT {6˞}L1[nw%Q[UaOط%^'GU3J U@BI;sucϟnxl}=}Ltܜ5\ͪ)|?7 0#fC;ѾkfcTL6óIzQ(A̠ Zαf~r>p$h=bK@h8B42LMFn2 v a!skZ_Jϝuiq @MʡقџߌwX }4xSlߒ@Iw"6s['';;~Cԉx?'ESٗ'HkZ <À Ȼ_a)QJe O^fސڕwflsQ wEZ@.Ż5KBq x?jܐ0at fR<$ v*'JזOo[0ru`}TN+1؀oN;}YG F '͕/eǵ y } -MAr s#C /N>9[u>Apˉw=ͅHRq%_AKu#2 R^V:P _N>;R(A_n)-y?RqyEWb% KM+C zAuj&-Qsi~upn;<~?;`E.pZl)\+<]:UǺ :b}? [z9v`_:\t8cҪxr{|ջi~wM͘N+msB 1d:&dUXygL=}`1^)c Ah DvA7}GA~NsJ@AMe!HrT B/%mH9 =X--#VX0精[% ;/Ae8uQ^64ミe;^ehƠeKNɍSTTViڶVծ**Isknݤ>O2MKv][]~ܶe`܃a%w cLPmq٫r<.t&zá9U\>_q5)`2P@~GG̚طoAEY7&b4ǛCvY8]- ::]FI?n@|W7Ɩ =1v1s[G@ER17XGJ Rf'Þ# 1?|聖y8XʔJ%{[J(J16v6<4$FF8R\])mBiB9H,nyxs{ko?N?eT ًJs߃⊘>q]/K ;~z TM_W=ms1U&5CQMł0e̳o#8B%- yK d--/)L0v_->bkU) 2JaPl>Zڏר٢:xmΈKbs(Gxr6n#Tv 8EOaߜ1zIu 68P?7$*%z-Wd=qGTXI"Fd. ЦaK uESzQ.xb)rkWC|*Ǥo-w¸cHF3Ws1y8x<=UQؘw\5x~{rDc5V@5Gk5p l9>1f'`cxMújLj71:o]aϣQmɷhsD:m\˼5f& Y2g0t  p'x8,I&ryUZW`X 'B,#cqg+]3@%s>YCBE.}ˍg !Dsՠ)rB2YV=A0&8`C Fxxq,sԿ'xW_c[+TuCYHz<`N um--F!S# /y~K& u}å $x\3$bc庫^ HDGjw2n@kv{&aTB\*ab=NrJma d1«ü@ vMИ|aZpp)9t!5 1QoWjuv'%HAߗC\ }g P` AoqL.-:y."x+\^qB`s2/gQZ'lCͅZw/sV z{$KHj^2 ڎo0K1E Vu2'3hʖ ģ`."#o0?Eh/Xʹ 2)G) rʻ)ZSR0˚ g| z& Z ,n"b\..d vͱ(g(|uqtضñX8w0s<&=F]PRU+DQ:2&7kC=KdE(]v}PrUPʬ>Lp. V"ThUE+2 BUdf'=Ga'#[2c#p|/sE4*,z_+AZZy˥|3qtf}{N9A@ sq$e$L ځd($22te`]NE(?n:"`&x.B{As/]e GEs :/M@A5]TA@,=j4-WÛ?ӕ.| 1MӠz҉ܻ, Jf{x2b,'UTeDa=̗(k*i>$qkIoV_SkZoAFwg(+;G X5`d3@O6d>/\j猾?X.v3AB:ހ)F'ьER O}N4&JFyXp%O3FEXc2~"M^"qkʾ-I"9hBu:6H" dSQcMdli:w-1)W3PQJyx`d}ygÜ7.Dvu1bk7H,idڶSiiu6pNU~W#WP`'P&1;^y}tgXǫgʷn} :Sza>$Oы[q7?#攫s 3'q#\fٓg>e,CkGO;M+^м爝x=p.H7rV\%P|f!J_6؉?xr 'u`5k{:evlI lՎ&>EӃsm}1=|dfrDOK~&.AFAdA&G#f>]spu$`d:dϜa7j)79D"SYFd 6.WfI7^T맗br[-O6 0y*aABIp+%p(i  UgȍmG9RYa~I'":($И-WEl/2_ S1&!3 \oín+3 z L"`Ҧ , &D~Jr{9Hx$O%>;>臭%qa#X+j )F)ks 0嗇q6ow: Nپht[L(bY}QrxCsTq`pH Xޡa@ޒ~S{vrLyt`~W7ɨuí4+UoL-|eM-v' 91[:EL3#{_tf#$FLT$,9$cpkKGTm<\bQy"Ƈb͝%q8k6{p] ٵ8л̽9g;yyԘr$Ba}Y(n+mKk\Z5EfG@$> 5O@֝Ƭ/a 8"" 8QX͎7T}8k|߶yu<7P#ݔ#drwk(3\BPd !g:/I`mpܪN+n||veM΃]%tuuݪ_J>6\m`^O*^@押i8 qaR&&]{pCc#o~'G7,'K6= JW(CQpd7R}u^}׏~RsNIb|녿r=ϙOEr`0$:Dgv+cnz!syFg}8OsY9cn։>zxܺND s9{[Voy&BUI3I/ j>M=Nh(ZIkxyru8B<hIH"&BN*2*t ڑNgjB:4,,ӚPkӚ&ےNx.hyvPMdo7 9f~@Vj@F`psېY)"ONK׷ ڇ*xS N,M Q lo!3Ƣ cE5qy5n-,0Qeۉ [ZS%}vōi[?g[!=^q{0-SQQ{"8 j\k%YOq~8^94;FNu2g%Fć.KgXLT̮#,8ak:R+}'w!J7lkY>o~;q@C{Q(q$-4.7a|Gnp.DYTn鏏BW4l͕Y1``r:zc-+3|FsՆN VZj/_Nl+{:V فL-y:7Йj[# RArP>Nbe-; i~$pXӍpMnTcg6ln؆c"z6K>KY= |g4|yNJNT;R:J[YݓpDL &E6ESXY&L>&l=zVQʑ H-"P*U`v|?S{WEbo w4=QhriPVfBA"%zNj@%,h9ٝS˓ Y4]7:|(f  !7 x-]$,sY/UZ慙[_~v5zÅ_V==9ʺM^jp3֔H.c~3](߸ͻ)YTJ'zW *IB%P`hm-6;LlY%czQIK^fPOj__s;:dK$QF_I3.DžxE $N8?x|aB*4DYh0^ ~&)0x9.C@=_)뵥0~qG-zC hsMїs, v8`sԈUcbLQj&8-:Cp?I2\N6TnVo!q[r4jR:[(+/? c$JxTg'#UtVen9]J308Puһkm+2"_'g9~QMӚGZlgc8A/\3evuha2),@GV`^h3{nx }/B-UՍ`Z |G=_(5U`&*=~Ӏ)Q/P װD)evZ'<RN*ձ@?"$!iFw 3[#cB+VXfH{4QŵL2Sӌgԟu n_˟ s'9,Y1^![ b<7^$egmFkkɵ/MλwexY-W=Zknm#n.M4Ϗ8Co(z8cxN5Ŀ!W .,ZQzKHJ㵬xat -C"ع%UC4![1t&yڛ!Q7qKw<7\+dO~9{{-bDT0̅lC 8U{_$ҹo>"i]EEcŐ+X=ΰoFpQ*Ib& I`~{"1!u?3%WJiׅsՏG^VM6QbRԥY ECG$g>o1_nw79*(7Ѻziu[J;YDr;{\XOU4 0p~Kv,6(cj"XĎXMT%@đ=FvW8G,Xc81j_p҅f]%') H45=}NE*췚&HyaK߁ 6|JTGdsܻd,_b&.ńF]s)3O=n+e ."ɋ,wx ^4D!`+VKQF8+LP(&9<ۭb*H"&v?mS{G|fhVIs 6[}b+HQxY!_6b0 tdG]"З(A ›xvRˏ?{TÏ /Zk#y*C3/^UOVݏǮ0~`TԁQcgg8nV:.]U X*(/>P{$X(ϫ[QWZ&,CG6p*Q]?o}I  [GDR&u\ʇ#j?Amzs2(x6mHb'RI]{+aŋ+;dBǼ1ƴ&JU䐁uw+' j]!~{+CnǶGpT I'+H8{~FEK6iszQB WTDǒlxs:lfRT|n++#$``^Rde^S R8-ɞ U1@ #0R GIh`;U°rfB^@a} MqbgbR(}sע0}#rMz/>=pСJXYNxmfᘄhPeICÝ2k8Tk<Ѩ@, T@3FK ۏHrҐ!2yL Utx8$AN pxgw6^ 6ks{wշ'bVITn$"6`aWPT@lil!z_5if69 Y\?YtLp$% V^ -Qx\;mQa8Xty~TU aYi]Gq@gcۊaY)@.oq=,c`ڢX% \m la󿟭:ny$@ s[[8 Crpʪfa'8BX:k QeMw.:bA2wNqS~ $lDb^Zm*Vׂ,W.6  lna[꒿l򫳓$ʑVgkVw8n's*ƥs%T+Q -nM87)"*Bk]X?p%J I` )jRFJC' -S i\G dq(\/nZ[8 ~μ 0@Ǵ9@Hfζg]EˆKֈ R/ܶ8<~@ԥPYn2X?\C?x@63WEȫ>.U])[82X !DRD)k}1{@2/q@F g`Y~Uƾt1`$ZϙZa>aM-6TXicxEuX1#B=_[?qb^Y; YhX9{'9>7uZ2nw/>-,6XeEeogvrMDq| )&(z^}±K5o*41,ΟlN'E }F EۿYJ"!u~Bt/ml U!`Q(ڠ;73ʉ&`Q¬ؒy|8_u^C.ڃg.ŝDS!]+>NDE/ķ#ql6uRSfoCep)\5I`u1+"Q3Μ)^M䇗{c'oVx T)o%eLL=A(wUFcsě?2vae\Jo$FU`eL{T"XGZj p]#(0\ppY,\Y3W ߐts Jv.#rH>'mm^i qp צy3 l ?hoڏA.hX&H|FPmqV~",f?k+n%#Œ3ш$ l3+akבDTy=:]Cyz& ǧ,P:ϘIžBMhb"PB DVVcܜ'k1c@8$D1XZ@䣊pX" H(6?r~' B%(1 m# T7Nl1&Z~YaL{.?H'VơiNWѭyJH,`U{E~XUqj_@#ؚPR-e!*?=|whG5[!Ԣw2%]bHT 2I!Wv?樓H\d lP~Ҡ0r-EY܃`b` mw]ݖ?v3 hVD3I6lAe+q46oز Z'(*/ /LĹ6኉A@-V_6t$eRvcpqf4q':MwC8,~YF_dj fytI36GXa}y @,[2[Bk`<$Ǻ3@}Y} l՜upbWghs'ʌzL(#죟]~ HƁ߯"5h.UUBw)v mD@dZDXh%`C ]/Cb%b&BX04@_iQK\KD=Mq,/YZGjYxtz8Ѡ,8҈:O_&k=}k"daF?Dahd!?&&O $,~ӇǰT /WGۀS CdHMw:HsM٭ö B$:N*wkHE~nX]P%>Q|}%Y4X5E{!m8X2-.M6ӧ۾c+$? `Ӡ9PVG/n=di+mc-w;XX>E.8fIF۠Dqs",p̐ׯt9Zn]=59oJoSVI-ҋ7\(({ٝ7a֑/~fco88]dqxQ c*σz2묷(!M! ]:͂ŴT;@#Bo`p~^grL -@D:l(ڑu :uӷ0J0,v8TUIs=,/gk,2`:ɝe4:4͂(ItcVh#oTp)7ym *8` SmvTq¼}i8FƀSSP-/<)c72䢦. Ńp+Tv=(\(ȣ-C%d3~G豲7 `У !>-&{3= y*[s=銍zZpm(\n뜪> (4pՋ(DB+D r! FRtqg,WfJ W#ۅr]&ǮTxO&;‘::̈́"[: L ˘e' p#}cЁp) ,՘6LgΏ05x#NeĄddb̪sjdJ$ծ5!!P`,ֽ4"@ԍj9Q'vm6WxwaJe?FΎ|z:Zrr½\8+ϋ||!ƾqYԾ9=98Lxc8J 69u]gNٟĩwI$nn R'QGh4ʼn!faA߉ꂓ4_޽ۯ}\^˰DY"Ɵ) ۟S<3 @ !̈́A7ߋ[9C(w[U">uAN^fuyl ^u͆-Us*!*YJubePd.OsQTLUr%rQ,#R3@yb*6r@irK=X$,&B?;x$:X* AqDDal'*Eң:C9ѵw[x[*;YXVda5-}5;c{[nR$$X-k R\۾ NXWӭJ_? VFyֵ.WXR56ཊcq>TnX\j'~x T"x h`qA+ O3q[§#q1#*=.tޚ6`X8-uOX"=b+$A$3[~$8r(ï7p+O&]F{Kے8G^^Y[Oa@m|n@ՒY˂LǩcW&Jo!}*(OU]yT ??҄.#L䶺>mٸ ~Q#u1v'ȘΫ_b)p6YžwNebz^,ڍ */tٓٗD>2H:>:ν.G#?%';{ꓹ Žp1-ʧ6h㏞˭U-џ]-AY-"pꄍl6PrSJt 'S|DNt!gY*+(aN eh~]Drgs"煾qt8QC+gH2g`>pjw dݏ+,K)w#iqrE "WsaZCg_bWaOm$>}$iRpbcn=;g-Cl AGЇ/_߉8ROr|PP_i |6Z^ƞ嚾 _羼\s;k}K Ȍ{Tڠ1|Lq>58|/‡#p 7'O?rssJujV]HG c'/Eh9|vv"D!ZTo~tx1ڻ 1nVs 1&A?d~% ~5CjGϞ+^QՄ$8$Uqk\B:w&Yڄ{C(X]sTXRYuf$N^Ϥn L<-:"^7yd _;t q?ƠKX+*!`<"=ֻX@8Oang'6ur%xUUnyBgOU)5:n3gͱK^G KCGw}䐼]fV_eϧ~p:y<%zs4z;-_49뜹ȹzSnwk45УsC Y͓(&*}EDmx9@em"ܔ<;Yk ثfМ'cC_˰Oyҵ0Tu V\Tfp!#l.T#[}`Řبq9:<'b^ax1P#/o^+O^}xJ(=aikU aվFgDޓⱘ-q&(ubM[1e>dqyD@0ξ>Z>ϙP؄!zk@G!c}/[Be %-GKPFO(3 yX,ȉW"ۜ` sGImʫZAsNMv}o Gc ˲r$-'UQFEh(J9!r}=*˜ۃ¯/ITkS(*!bu}BDR9ŁCC'd+MՎU:︽vtSSP]8B=}K< kj=i,|z#8d@˭T pUAsWT;-tcsK쭮--z찲 ǖMw.56һ7( }=3Y跑) +&n28{ ֘=aьDZu[~jWf,09bd+cbIT3^{e{baMWc3 фHIӉȐ֜" GՋ 4Hz|吋 Յ6oIC,QF6d&#F G^-f{q YM2*+]Cd5+0t8 S5 +fo~+8n8Y6**`<N?;L8; 6fhbU;\Y/F1& 00" "".ݟ@;Ee#ƥc'6q .QVVs;/JPe8`8X7^QGkޗĥV.烤c^#KCVspN06S|gIllʫj_,x`Dc}{6 c<]ƫ,0 rd> EWyJ rӪ羙 WR0_G][sjt4/7qr1qwH2oΤ STg±pT+2ʁYnLQQ{~ۣVa]<>0j'aS̫n_Cͣ䛘hF0mjYv`iohz+ósӎխ ox9돲C_6?F(nؐF|_ D / -{|wC2 $ @ew3,Eꊽg3˅wynlC :>\*ݏ^G+TBl,"6yD &t os}:, P6oE }@j}~m/T! *C??^Ƃa /)0f,6ˋ$˼7ZsY~l^_\!?þckts!!/+x^̀sNZ6.(j8 #(oZlumjd/wٱ['MjM:8(¡%0υ0v,mSb0! פ:.~HZX~o?9i?ʀ5`T_$ d{3q[ID|}Ҡx{~~Yf 嘒>^(ӡrh~wvm7 :<[y$uWތ|1vu9ġ/ _xyG,3Z?V'C$1+wN$ +_}G}S|4n`#`GԫAz8Y/=P{-dS{Lso [(B{ R\xA4Nq|^Qf3z}@Ϊ6$` tos]vQAmTQvQC'}D\ POݘAkto늧 R܆C!Nm؜,(xH-&l[)i4, 0-r"HYBۇwu8[0YAEᬔ/.$Vb]IʉqR' (~vǻ= @ l0=Iζ߿ҤeL36pjnDG%BM t ,l.aCLqRcNC;n׼ ?ggxzh ̨qxʎ,WFۗV gHrd2>CDIWD>?~?z#DvYY/ !G |a>y Hz :3\>VOh$Y%^npcO&PD”#/y'vD5ɫeH*W腉6( IEKpV(tj~VDwuTA5]N   >؞y9a$LqwvėQB!_E=Fգ:K>yV*>MkwR͹e.>s!;͐$$<xuCw9&K2I+ a> "H#遦/w#WXJ)$K1f$e?o0~oX(DHX_Lӑ=YNl7 RzoRxO Maku\'!0 vX`%D?I* hQ=qo7پDO"IE (t "Xgc\U\$ W\ə)#Q\(P3 Q跴8! J9cJJd7 5eDVRT`K3F~\-hPNKu]$?/ >"Ɯ&"2c7FRH)˳a=o|QS6W_ebyd ^!G;L+$WeR:Q*epnGl0r)mz:aelNJ }QogTd1&/s``&G稏헬VmA0x_q:ۭpm41˩/1-%8p=LF; '>$_77B x(xb^D/ܳ^yЩh= J}a'XJ33_9x[a֟b9N()VΩt5oXoʬ1bwTT>' \-%}P,I*yuG$9f,YOp\S_Z8dQ Rt#5"ww7:ր=:^#Bkdݒu(CEKk=)}.vV[f˕<|xy@>Ur<8)gʀ;kF80RF(UI˝\rMWc?Iq|'O+N[.扴D=H ҵDIft}YLޘMrg@-CAHۋ',t#ģy1,3#S 4wnJe$Պk ;,6WT8iҴ#@:K\˥Q|弎%}Ѷfd ٶ#U\>DKdnMgYaTrus/{^QuЉ.if=3kѲRw"-Pɳ'1<85c.//;<}5lj6< F}-wϯg'\eݑmPGcP#Vx[.:jPqWH|CŞ_I(GD gZr)3jfԻ@ʂHu`o_Tש`&6T[ȱ:;EU7 Q:7%*a՜&+*EZ,XöMIQ#cݿܢjp6)쀨cS8AJuX>DV¦ú3,syiCݬV/xs/O X(}oPD7^=_ qc~#:JwvpI&2dDr"cA-?e 'e'` bq}{p  FmVk[ڿ P/ ty)Qm,]Olz '^sr/ מ:zR{VR3TM e.;\XHT l>jZ%Pds)D.)Vq!d ώx0ލt|RVO^ u@ 4қ[HH%~ayaٻTBssE-r\`#j˶RT5Eh~M N:(2Adc]ђ`,"G;iϊ&+T#kt$ XvK޵zy;8[k"e/n)lva,~ m"Y`fo+mdxdDH1*AH`^B':aWZ!͛ K4eǗ~tqzjz{QAj6 *6)q}siWZrG"޶}eu;p rt`٧ {NYvrHN 䱠T!91T5@gmjZ][ٖ&̐o\^]\&& ܏QV_/TFRz#$È.ydwD"WZG!"YbFuH:Tzjd >@e`|E& /^&0Tt5-϶!#-lrp>m@@Zc҈bH}YcAVќygp芄LG-"A>l7>y[1Y~3!lmٯkAJ\&ZC2CROo:7/]>}ƝTǀ|#h|0sొWJPĉ}LGۯs(0kktJ+J˦ B :?-x^)=ۡ_\3R9v}kvxaGZ6)<5&)Us >U sme7}.uܠr}oK/nP*D{3D85A#p$1YPu!,F$PC~2;OV3, = C<MiL`C>];z&"II G|.WK)cc_6 ) rI"hp#Z=y~gmH & ޞc$O, 丱.,&K0c8po[0;[<)+힠(Di|}v>ÉQ:AWzH z*BUl&(*X0@ @ٖ%i3;Aa^)~`셂\ /fhP_3K~I=#CXh-t]1DhCQI8cƬ(ERMﭥ3#p$]|εTVhqfτ@1b&gu 0^K  2a#?(@D<a,6WZJ"@P\\cFȻa7`zb'}7o/ݲr2y,&JojF;puڴBWS+muvU܈7m,EGN|m4LB:s8yyBV3@Š \/# l䮥_| XZؖ#PkY=MstuzHjoypbZ" EĖyI_j@*Uk{狅'ap( Y$LQ^ EX1.Z/rjHD53!\V:gOm gJZy-Ps}4LI8̪zj)a`l˟g~Ez]쏛.$Ɏc.-<;Fr&NP Kkx(}oN&z2S)j ƪ(81oȅ"OK<堀6>Bt'SDsig,R݌qB`1X:KT{I1Taؿ@֞?ӺKCeAP T͔ n* #5 Jf^Tw{$; ` `N%N-tU ^w&8`M( bjT1@slx h&Yn¼閡y:J;4 y}wMy4g Õ9p}~~S_Mn:jLQ]Np߬^8؏8NTWz{uxq*ӟ*9K T^fKOqUKvI:#6|oatI>SݳcbE=^p{"샭ìA~)̠ 9$^G0ӆ-|)qÙu޺Gq8_1%PӊKkb5uzj cah\)1 W (y߶2׷o5v1{('])hpq ͚j1ʼاoo_ vGr⫰!'>eOkL\k@?C\Q#ԛZZcQm(82bP~8WHv dt_sǭ E@!p z~m4DZ`rf(6l\ +{r7b/y`C`L)SF9F? Vk}]Cc ;+A+ gnw{)IeP*XH.\н\R Ecw4HXX'@^)M8C*`wM.9CgȆ."^ 6#dAXpqK vui e4o>5X ^}8i8̚T^𿃆/x}C>G]&?1g3ܿ^&a0@Fy5/1cfsܡ ĘW\Խ%+ȞK E[oQUa巵cI><bnL3XŁ%杒e ufԅoV{qT-`a99ȣT+-.0y{Fwi˕:~04U^lj{AܣcpaCa ΂(bM9x.8-&yr4f  ~\Nms=Mpi8N)Dd $R/5iwc9j<)(Tx`͏U\Wpq00x'}@׎\r~F%/;`>#W qު1p > 8pt 8G00ZÇ@1Xdb<ޜSvSԷ;AU[q=|+'V3#ƿ<[= <쾃}n{⯥n}NЂ1#3"zۭùC'BT`KH7nT;+ (K>݌p1fi bv&֨LX#/<4Vvp6F )jLDj֏ŏVtsF&7[[  l܎0b1WJ-, hL=&u'zg\s4/XmGAN+3GGQ~sȄ`9FXz@ nWgj+C/\in>Ƴy\{э!f>fp8q|W7z*# qbI|O;^U|@Mqn0`0ff Hf2Af9goC\_FY &/sudX8v Pb`BZ8xHkmEu7h9ʛXER;&G +#{Pz#^Snaݡ}Yjףֳx Go9;s#|ԇTp\.lNr.?n>qho"kn{ 4(^ '%16cvoxBj@Zb^41fz8EsWn)m\ 8J9.W:SXJb/L69p$e;<XwIL>!F!E$3# Ʈ[nVY@J҈*xpraI@FEzJ@hIa>28ykkfBu^/L&cÆ gیҺe9 OjZk9RgugXFylIȮ|yz끌FTgҀBZ}:pq~ uKWλW ,hCs"`mݿvdf 88eg j TPtFa<=NARo X]]\zwv$ɣ_< 8q28Wpڐ,s0#UQ +-dkyf .9k#2:A&A/H2p#E#V'cv' @ g1 Kͽ=1,bq|Ӿ6V3! {rl^FL>Fg} N|<^<Fsis̸ހkh\D^pm` ):'8 :lQpĈӉ.HKq:ʚ_'[,Gc/1+%%RWPr'RHqA2 d`{ o:;Yzij33FW JܷAjw\7`1?D0Z.O!ݹ:e xfl[МFm8@9 pTP.zsX~Ts鮵΋[aˮuaQ ?8 /q۸+#2" 1fDϏx:Z0uIsZ>+'!uw.MjJ߁< ]Ƭ"hG@Dֶd?LEHFIu(=7kf!U f>sb0Y ۍރTfHM0G@!?v@2MMa<rjE!wkQe;`Fb2oZu@r$΃i>Ft>;QD#yI}|Ặ+ Vyi穑KǾv\KKo.u뜞)1lMz}gPz5puiز'X U7OA: NPX'9?2.Xl:p801ʱ6/XTk33 z.~F]L[ŒI\s]8jn{iCa0Bv:x(Jlg0uXq'Άk273 C8%s/3)yHZebP0afw kM M6ky7Gnez7y{Oo x7Q_"ӓqT z[5:gi/b=tXK0{8 ǝְW$GFvg~]jn98My}?vb@$QOZOǢWֵ% ȟ=M{=}< 8 WwE9R.C`PAHj*?YTWdĢӓl# AoQpR ЗנS!A9D&;s/$g1TF9SD1.-)Fb zj*~Ǚ:fX:pSFV[AĎ9!G&"c/ /5iV@9vt``EEI$o_ʇT\(|:_m'`^GC~OßgGfU`E~>T +Eʗ_:k;/^ЄO^$F% ԰a#Cʗ=d/?d %WO"^r;w"+(Gܖ\58*]G|$JLIG* 1-0byAĦ`X4N &:3LS(i%QC;{Sb1P\%F^\2!b*,}7׼jfx)zJe~>-E8Kʁ=/B3U[7>UrHZbIz&tls*~/V_O׎ķ(\e'2$sC}NHrV&)9OOo12H8a|>ŝJR#@σt1tĠӱEyWn`P!0R~#xQde>èB <$ D~BcWy HyG;ND-a S\VPZ!}_8mv(PZ3&zT#]` 7cS\whϭ#a90 Kzޞ#dJ##S`osX!$x~ډÓEf " U,~opO1@舩Zv 3}fJ rEŊ0YӞV/ȯ|@N8Qjlx" a{`zy|5Y۴`ZSf_~}evT 839I_dŀm_pb2VJO [񨵋Pa }vhEmV7[c( $:(ٜCy㏍wc޽&^dfg 0Y"TZ` <㳥jBBFm܇T ¾};/řُD`}# ds+@}fr*V 8>. [&h[K󳯌ihOmαWBnxX,36Nk~"FVʲ`.62ItnA3+2Rkt]~8Δ$jʤB׾D)dV4U`㬾^xؑz@YMt̖j_}a<c\)MHIwPefK#N5걬(%읪 l~'l<"H:P{N ")@a^T[o&S}U\ }g wW 'i!De#sLXQ?W4WYax@FE ?|$n z`Slѷr0෽j}Kk/P;㾸Fg(z'u[587o Oq Ă$a: o:Kj,e(A`zVM΃^E9^ 셢CTK`Iٚ9<9IXױ>~Gx?On G unp3J D_c7nEu g L8SԸ}b!^#.W\37zūAhҧp!rt\T"0x=LAA.6,=sir|.ZH(mu;.]gK$rb9ReLeE+cM}o's^&/#g qS~R9+v? \s'ÞYjX10(oZXatyiM 'W|X l/a7XF Vnn% Кfu.ss˭F W:壢 kMlDhF&`*V (ʋ!*lH]n!h[ RIQ'?/O#rd!)L;;󘠬Y㘇^\چ]ʐ)>jԗ@ϊ?wG9w֦Mۈt_ ԯ5`:#Yh*QM+4GXƿ?른OC,y\Wr[ Ȳ+yAlhx`341q^-fиP7abθ(R ^mVe^%&V.㕈PgsS mi> ̈́ua̞ͬW`t(Ѻ& Ϗ4!6 LsӤ%Ox0LϚx r~gYGp+WO(`J"޲%@8FE"$#89,&Bo|K;b =6s?|3!H#yaq'(?mpmub -AsWy^<5Rk%99CT`k0ְG{B`n! =¾ =  P;XVD)&#wGqֹzϨD΋m#,j8j9gTU:e%d7E"1ߘy= 7Ģ{'Ə5[tOUxޣmC-i1 I@ rg~dc۳ ˪F<ú{ӌI#A0jfTH7H 7Rr8߿zv9yQw[?mNnH9NMކΎA">b_s\!$GCWl_CZ7 v7CCq-9_ȰM -D;ᘯ=_ƫ=~]~-LkbX7ZzcbVݝn֣3=?rV#095/UB8 ?Ua힧H;'˛#",<kɄ ~Ϯ݉sl oL|OR!Vφ 0MeAF8>Vq/f1Ohݫ/h gC }k駧2BBxo0R Qx" }GKM4}L厞[k;t !dP'O_W7pzoC2@rk?c9h+`AHb纏rLu9kB@A&3#녘ٿ1>AX14e֯e(j(w^cÞ~kI] HvyNą(~6% ~M8oN02Gͦ n?7ե!A}0+r1݇eAIȉO#tMD?J q856)(,urc7Ęd&)X)nw2S]W{X]V@@7ESB&{cްKզ/vh*KBP/D>:͇‡(8D.ޒC@;74>I||[fΟk%_{_JIz."mO.뤫?M[vnʗ>ˢ]d 9*frQ&AA2 ݇uC. ~ǤtAwtv|Ռp;(IaAnͳt! @Ā+o.!--ؚi_ĔL0hz mN f=X;\# Yl`xJIIQf`!dvxP, $6;[ %ł8'M/75Jo4ߩCA2>tE nGQV)o-p!VC8횃ZkH_gm~?ӭ%w~oӾpQv諮>8IYO)n],V= 0? v/C 7oő.:5`fën?dC_TLnG,h7֘R g9-ɇHz{^ЃarnpW GYD|P.f%qqp"x/pe'/EF? :ybl{ Gτ1)O1#tI ?g&┺Щ^:> eA݋G6uzW9ư տ7NP~9yfஞ g7i UiJdx/Sl8n̋g;ww&Gb>XuxvգV]|\E^xm}:9숖tI:­XwvR@/ 3}uy<9ƭVKv;]6a4}fFB`ys+\oZ)qhG +z,X}$ME@ECd>gZ.lFb yw,qV(>&뫯hc^^/_hͯa!u%=q(庺]vS[_נ<V3xyle/e\퇛a1xx};tgwP}Xx|{Ȏ#g ^6կWZw[Mt @DpXaUˆ nDt^?ZǞǹ6I6uF7MvC>W}0~'zr&dp-'lsma]磹C2(I]u.h{/1 䥲"E ~{^{W|s\aJաG5$EP,4N65o8!PJD9У:<Nѳ!DB|>} Hz:/Yo9_yͯei{T뗱Rʸ^4-iDG)h(]am~jk[ߺk/6~T[ԓ! ]޳q/Aݷ/LDuU״Ɔ !Hs@Gy;eFG+52;cqre<9H}i=ܧadF@(%@2&Ai |XU[׷grx=OK\ ̶O`]l Nwyb90xfWr"" "Հ~v2ѧ+q |1%$)C#m<}`)F+\+Fp}&>%l"}NHkT y6LG֮Qmzk Qt>8Ҫ,jBRpa}϶=Sʝox,˖W}}G&8WmXS]Gbu;J:J뙡7BI.WwB9˛,@7㝰c/'/X+~}_կ&^]mWh(DBEoƃ %wڭתꒀOeM9c\oD̎7y< 7I3!} t;r:Yj6EnQGs-YF?p5>&ϋetDh#efkE\Mz}=z[ho[UA (ެ5{a[+VHl|aTFH3.U23L@1Û++r$ R #CݠVgŋwniZ&#l3gr9Y٥˵l%=U1w(kvDnSD~/ bPu؁6q*/ϯ#F1-|5N^tUk,|?LƪG 1F74 n!XO}wO?qRa 8;jDHc}ʈ [\]\7>=f4Q.$1jݛ7&pRv;,fޱy|g}."B?'F31bB^Rw{ho2=q uCǥN{>%V6]C,:Ep0uv^3#/KȌ .'Yj=q]_z-҆qD g]=+54-Zzg=\rЧFu͉dB;\\iI@X͔1