summaryrefslogtreecommitdiff
path: root/drivers/gpu/host1x/dev.h
AgeCommit message (Expand)AuthorFilesLines
2023-10-11gpu: host1x: Syncpoint interrupt shardingMikko Perttunen1-1/+2
2023-01-26gpu: host1x: Rewrite syncpoint interrupt handlingMikko Perttunen1-6/+4
2022-07-08gpu: host1x: Program virtualization tablesMikko Perttunen1-0/+8
2022-07-08gpu: host1x: Simplify register mapping and add common apertureMikko Perttunen1-0/+3
2022-07-08gpu: host1x: Add context device management codeMikko Perttunen1-0/+2
2021-12-16gpu: host1x: Add initial runtime PM and OPP supportDmitry Osipenko1-1/+2
2021-12-16drm/tegra: Implement buffer object cacheThierry Reding1-0/+2
2021-03-31gpu: host1x: Reserve VBLANK syncpoints at initializationMikko Perttunen1-0/+6
2021-03-31gpu: host1x: Cleanup and refcounting for syncpointsMikko Perttunen1-4/+3
2019-10-29gpu: host1x: Set DMA mask based on IOMMU setupThierry Reding1-0/+1
2019-10-28gpu: host1x: Do not limit DMA segment sizeThierry Reding1-0/+2
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201Thomas Gleixner1-12/+1
2019-02-04gpu: host1x: Set up stream ID tableThierry Reding1-0/+8
2018-05-18gpu: host1x: Remove wait check supportThierry Reding1-8/+0
2017-12-21gpu: host1x: Use IOMMU groupsThierry Reding1-0/+1
2017-10-20gpu: host1x: Enable Tegra186 syncpoint protectionMikko Perttunen1-0/+15
2017-10-20gpu: host1x: Add Tegra186 supportMikko Perttunen1-0/+4
2017-06-15gpu: host1x: Refactor channel allocation codeMikko Perttunen1-4/+2
2017-04-05gpu: host1x: Support module resetThierry Reding1-0/+2
2017-04-05gpu: host1x: Sort includes alphabeticallyThierry Reding1-3/+3
2017-04-05gpu: host1x: Add IOMMU supportMikko Perttunen1-0/+6
2016-11-11gpu: host1x: Add locking to syncptArto Merilainen1-1/+2
2016-06-23gpu: host1x: Use unsigned int consistently for IDsThierry Reding1-11/+12
2016-06-23gpu: host1x: Consistently use unsigned int for countsThierry Reding1-7/+7
2016-06-23gpu: host1x: hw: intr_hw: Remove create_workqueueBhaktipriya Shridhar1-1/+0
2016-03-04gpu: host1x: Set DMA maskAlexandre Courbot1-0/+1
2013-12-19gpu: host1x: Add MIPI pad calibration supportThierry Reding1-0/+2
2013-10-31gpu: host1x: Add syncpoint base supportArto Merilainen1-0/+2
2013-10-31drm/tegra: Move subdevice infrastructure to host1xThierry Reding1-5/+4
2013-09-03gpu: host1x: Sort drivers by probe orderThierry Reding1-1/+1
2013-06-22gpu: host1x: Rework CPU syncpoint incrementArto Merilainen1-4/+4
2013-04-22gpu: host1x: Remove second host1x driverTerje Bergstrom1-0/+6
2013-04-22gpu: host1x: Add debug supportTerje Bergstrom1-0/+42
2013-04-22gpu: host1x: Add channel supportTerje Bergstrom1-0/+113
2013-04-22gpu: host1x: Add syncpoint wait and interruptsTerje Bergstrom1-0/+51
2013-04-22gpu: host1x: Add host1x driverTerje Bergstrom1-0/+96
\9=Kvkeٱ@ƞn;9l-rŠ% ov 3N >Ra yed"ڢq=[{q:OV.jw˪}2ʛ9]ulUQݱ`Ų`63 kI<{G>ܺ6G]SHk_D[G`.Az}j-U%;l|~%ׯsl_CQۺu)[-n`;{7* LD XAvA3$&pnJsr\]2 ؉oƯRݽ\3>e V9UכoY{w] urxfoۮTڃZNi`TZƂ΂) ̏xo|,E^[:\Kv7i0NG뒿ͷ :r5'A\kO Dx2 E@dbXynF?GtF ̩\|\E))k1^}ߦ*?^ޕͻo >c0Cjt{~1O!^B]>ѱUQz٧aD ebߥ2HM@9xl*̋}BT>^B\ƁPAWgo&c{SD,~K-AJDDx!߿xg#GeA._dڱ"(p= `&ӕOYX@,X =u;}:v?WH>=oDk~T5Qed [-w| }7FX:9e۫VPݾc*vk =خ:cfѱ. xuڈ8G)t-&u'I_{()ܢPQ4CNϮݒxĢTnI{Cc:Kf)\|@ߤCGԩ`( d*çDWz-|6pT`'^JcžT@_[ܢ_(`<,".9E R"Bnid|l=+r`^"wQ=I_7$@7QЪ'&YCJz=ݯ<']56rrK ese~ c7Ei'pꏹy[/Vebw~yJ|a沢K;sF3g?j0dty]bp /ATؽy](mܡ< {ڵN+9CA/ *TOSpy9a_vjs.0ĈغYx@'ʕUO=PN|Kqۛk鵘>zsKA4{1uPIGMGN}O,#wSsNT']X Vcv;DC͍Vc t[m}ۖ-#o`=#obyz#U!H-?e}ƠIG9ɥz|ӗ/?n7ܪktO|ꑡiۍ` ^5zs bf7ȡK\"Q˅Bp|E.9-7? Ǚ~{]k5AGLvZҳ/lJӾvqD&Qe{Sܼ8U(>Q~{p™srs׳^5DVOLL>ݻT $ Ov0n`rn>f{/0sĸQmQ}%Gb?׾~B4 Sm2*aIӷ|·]λ&9ȧ:ԀMXu*9\#}9 KȾ4 ׀8a&7 4{O-PK^;] 9fzA/DE 6rAYk=] sXKVs!׌8/4DS ,s<>h {B,HqHpY]Pmp]@϶H#w!,TƁM!X/svt7Ɉ6zJSWhE݊؍L H>5:pNHHYXPVC#jtT/'>h<6=# xQfR|w_+P#"`p8;6Lrf:<+dZ<3\;^' Wc5o7&OfiLh+hW139zPpW&)@XP`y[.kA#R#+it65ޟ}P86[=VlE9CvoZ["Ƨ0J2ColYvi9ޞزnJx@Gz:3 Tzf:=2'J/x}`"g >1KYzt_ z9$OhAA@?~~Cl=!O <@f+n*| WhW '>;rtw TopW1 883omqZ@9j\V+5GXo0?!+Vg}\Bg~wG70l9f%NJ[LIGeTly]lG9l3~a#fo%U}oX:v/di3 w{A לȌ6* &Gιĸ,3SQ͌9.Xq`R`L*|~\_rwr K߆ysY? SXQz dF[ O$_+vK{وg8r22/%AjECzpW@AB (R(j>P.kF7qB&q5j,?})5wROV5c~'=Z~a@ǒp\H<>^AdzݎE$Q` 5nOq DTP#**( $c܊o/wg'T{BvFF7 K8ChP*6 EU'qy \ ES`sD1L-!*s1rNEjEl"jKoOmdvZJyb=@c]LuݨLnf ֜jn(A̮ݪo4 wG6MU95jay]r6Dž8QUk`og!hǨRg yXÎ%)a@( Tf='tt,sO}510q(pYLp5Di'"}=?l;ȵ*396sČ&hGr22'CnfVwV'W99x"3Ԙ>kU-kiC[kuppO?At,|d<&)uikP:jXK{M/zSL, i"C99=Ppqsgq:>3Ì͊, Pk0m U:*l:0d5[ۡby?=S%[6@V/3a l웑HlHKIru!%0h2xi"˿V;UG /ZZJq^8_fmc+Â꺟B.E!a6i8.?w1f~N.ȪB ¸:P9VCɘ^99(V!*ڈS"x;{l%4EG稼 Dbw\(`p/af2/hwEm*Z>]9R$x.9r]H ,@*U#npxe|Ca<. auQңzZ(~ٷք4xܷFa^3ȪRT~j: 5ڐц"D;zt[@uq-ɥC5` :Z@`|3| wR]^Bƅ3pD5-|3$B?h4)5*^l]d򢹬!YKc 4KHR lGce.tGj}~_wz~}^Ý9~2e_f}W/!zO84 zZFg~۝˷$༽c_`;#!G;[syN0dgu4K|5;YO3fNgͨ #~ Oոh=M 2qt8mdՓ׻sJ 0ߋ57GԷ[%aoGQO+P qPlik=GFc oW# Vps.TaPr& !<2SPuXA?@Ҷ/ra0abQ遅^xޥx]hjނky_)5kxp bkXcX'ppuDLzȎy<6X!{(#"b&n *0"j{di X5_1+{$R<Ѓ ow_c"̽q%HʼnH6}.u߇ȗq:Yɧ(np>EǶ ~BDP! .EG2^u.#1 J}ܑ="\o**Dm|M)rEF&L 0r(?2S DA /g?_17ӭz&;UL ƫت)=G7: λ$F rz?cFM\Q|X4RA^ 1Lฝdզٛ&1ԷFb?Ou^[ )qwE/!nB7$3y2o'S%Rw/RܷelFWuF1FA0 Zer5Fmg @n=rZr5-3F̸V]jԇi iÁ3U۹3OdW^.\4=Maty˚ͺ9JgMkL֥ՆZVXVPC+ eц`jJېs0cec 5\j3NYk4=;69CM('7S76ss$5Fص$^scѷ@SJFe`eniS4aFٻY[M1&ѧܲ5M.Vso]%1W_1VeiEjP1fbőir)u_w}_d+(9?p؁,q8 whU {}~al@aȆj Q0T%<@N) ߻.?w>u}-kdbd7EtM!dh#p'ZZm8XQ p(sb;O39vliD|~Kq2; <]tJ݄v1T(L|NC יo:9y OŇ͔]nkgz 6ӲW7K GD<Zt@0Yg(wSZ$Si0m'*/|qljԸK]қُʐ "!E;\Uja%*1Ʒ T-p/g|yu0*P#QrnU^}p6"Jz 69+[M뱶d @SR@rHՇ`%եǚf)Ѱ k-|hXG˚g4B>5Xxn3<ʃ-Ò,Em5,TɖCI d.NtB>k )Q`P@3pp k>4AV r% ha"dGngZYW1N$]3RoXUCRmUm}XYp#OįPTRj [KMHAUPX"1"ݤ^Ft`{*4eFa(xaąynPh BFj A?!f!b_ *RH]KV-\%/D@$ih_l8M16\F{u >\e?$z.g`"1?KuرVH/OB8W6p ϣh1wp->B<?HY\ }$=QCBV~I'dLǓ*uDzh,}e8e!&0PO٪0 Jߓ!SQo.+Fp5p[ Z::ǟeHVʥ菇|H vzatv6~ttVV#SGYorx[LzS'2_Kv.ocV ke8)b +t r ۟T`ʤf0De 3c(6Z."̡|H&N>.Fϲ&u͕oRk(Q zb;il>]Rߞ/Y8h̼3M`J#So 1lr[n4Ki/J0\BkT1Un/r @kIP0D4땟Z aJپL"Q[ƨ{\R&N5nbtu_pѿm;_`ȍ|n1]`G&aO,?7 hbY^E2-\8*pa>]75"';?u=F!B\!`dzʍomME EqR:Lcrͅ]<!v=S mdcJ[;XbFH̲#:/6$F[՜hn;\X .íйQvՒ!Pon20l&W=Ol+j{c=PfZ.vܺ:!-/_9 e`E R/x^Yī<#Qqp\iP<?S;?_63y!`sU2)um ɱ(rgk a %3Ψ_f|6q9G`Q^QQdQ>cL'=XYpNI4-6@9"+ /7=L0ֺN٠b6 @GG9\6d=}D:K^6G(K] g{D[0ػk6`,Q1$jZ֊Jr`xobV zy rG#}J?؟7@>朙 B!;Joйȹ#6Ouv ,Vi6^s]mځ&ʵ5ljKjZᆭn0^Vw<[d:8e'r ɇ%B6h(dy2EvfN9{gF\$ w6~쳫U~v_'sA߆VӋoތcĶk^`|PQ@2631wVl!2փemZ`l\\@ȡz,䫦q+b{ YCIlZρL|\m87v-;LFk@ɝGd\@ڠ? ޙ>p\6n> "H>H_[:zDb.Yra'2E!= ._NQ[͚?o >e产eZYN`-٭9U:a>N(0zy GAGez۔_ /?!6̷E|7߯*lɖZdumw-@ ss7?]/U9NK~X؟o3Zj!ˏ %Q袊lWevgvزIBBn]#/5df.,SAoϓbÉo>FvUi'x'wL<ͩ"DAy3؛/: b@>/Ӧ񘔮c/UW0j% Z:7sos&u:G @l$NCp 9ԡR8ò)Gngû~x[Ko{i[iX|Ukg\VJygWpvCl9mt_eЕ 4/Yݫyg5|kѪ/z7{җԑJ3߉`;J%B1_t@piVn#=8l( t;3{Y"Bxތ0Fw<_w|_Npk^H #1#&;䌡SAWZrjo,ȼ&ƞ:-++q256]nvuku9rj0:kz! Rh<'Ǝ9y<[]%2ĵ9~T./+AصE<{x#yJ d{t/!wӉ2&$? R,NMºŞu9y Dsp1H һcehT)@d gæc<\#nxWX;v7x:vwO&$胯C*+mC2z$^]y aϖi1D5h`H!-1`Р^V~]tfW-LHV6>5U8',P`IrQs'`faaE彋?iM.x"E҂EStdSS|HX= -`жꩽ X]/X'!?󪴘N3W "z BƩ>l 0 $ߕ8^v> WvQ!Z'{##v' ՍłQW!蹓w8ʯai8?:(`HBFn 6PselG5DA>R(>*jIEEJ Wq)"ڠ,j#@c+s~UE7 GoRi>cP',ilEʝtlL~Zͭ5z>r<ޠg5֜˾U6׉ש;i[N2]հJ n(Dܨ7wBqaM".u&8aW%l# R92@9'¨1Db-_Å}ZqLkVJ O4Uf&O^KXW Hh'$aӧb=vl~Rs,XA`X")q,D |bC$?g/XB$BH.>32/K8I|}j"ȓ_!` q?Oɭ(Q3.!R\?r` Gw~ ِt"]M[9; e kNإsC fZH|a{tx8e/˅1'O-8/D?O=U0tE$L߃GcX $u+fPDɐ FshP}?uƎ}ۢ % `*o #M_F#LLIera >+AUXAnTrkS\0 ߌ):SXvŶc*?=GOV_gpeB,Ŏ$ƗS0A_ͺ\g^Db5W\aW%;xxYh+rCfo?vxkeOg1?E{$]Si#5I=PįJFlGE*޲$X̍pĹ:e&yPW;Ʊ$Y!ɃxSlD:qT Ҽm@:Hh+㿞R6t {N|aYQޗ&s*Baoq^w(4[Lm?"cI E=-@%KBR58z}>%&Zp(,B~̒`h92`tkHEH+7q{"Ҍ݉BAxp1--xO&@sZՏf=*Lqkۉ qjE`AL/dg)fȞ?J 7_9 럫tEŻϙ =N Vhs}'q(TgPaʷf!*Jׁu]_/a{mk(t9¢Oza \pH uhL7yseFr7Iw$B{[/ X|]D0ho!. N?8t%8Io]#T(jLHi̺2mAs>,HJvBMU}aO9BEa@f:JG7)Nbpܱm.r=Iӌu7Hnzhf ""QhvQTQ$ortJH[~!H4C pd~!?.k2 q~fo4s~ed[isXZ 6s|8x ʼnꚵa0P犩[aB$WW#*4!>0g3%[*I,|Aȱy3峹呄+hfG*{שw2llՅ5ae]>DQ1N 7!@xS& wg] 09 3> _.?d!qH}LBtNy d~77фӦvcu-/},Fє^Մ*Hxz46* 0Wn [\<׋* C)ex:r2֔9㡴q4/TdhA6x^2dڲeN&w)e4Q%<ŕƦ-dS`0@QФ]H  jn H%)9^(BNu0j ׉C0`lbA\ Cy.=8A2wo:\qPçhV>#q1`_ggN&`m,qOv!^{|TmdL?<wGoQs"u-pt=:gM9_7A}GC$.uDMeK&%LR6兖Q֖)5ry98#$_)~o7QF _eπ:Pk;Npta'60 1i:VL~>5hzU9r'gƸy]Z2ƄDLטiEӵbUU ʡɏ;4/\`E[œF&P+aF{4ȸ3.k|1<,0$7(~cuKE-RJ-0{h<&#\DG!یth}u-=yv=}BE:^وЈ6Cf ~.ۨ; I<%fzA?_Pyi~8IU/m\4 ٧Za63:P 63}`)H~EғGKW+ ,r}a F7XF8)F0xLJ]GZWho$3m|~sIkT3g3E B0?mAM3U`YJNvϴ?hhJ(@#lF3`jB0hNs*9Wnj3c$l!Xe\*DM~E=&I4s1_ƕǡmEElcOJP-8UT_-Ov[=G4=Ͼf̾fk/QN2u̠{my.gac^傂TsdȌR 0)Bc[#n|$oF#2H{Y~+m?;w ecX9Fbcga=% 0(9^c%mIcrI@Bl)*Rc*F"&CjyK3K$|@+d@Hy繄dz# Lsg-t+:]];qKxt'n`Œ1QrA- s-T=Yɇ4":!@v@ϐY>+*G*MDN̦*@ ^vBgr6s#<(t#pp+(aA’mIVG #d~IζJ)%$Y;@Ό&(0: ]m sL:gdIusi`I(ҩ +\lg.1*?T B7 XZ'YIh9%^z.Ш`^vn|FcuEQ?+W8͉XCC4Q:LJ@IC &vod")?@gþhx&l;6˰]!&AQ p lo'd d,5]mb@X 9"BbAp]ttǶh$ -K>=HBLv/q@o<O;HőU0n4cr=bx?sogz^iMV?TfB0}AݮlE\$^&R%pjZ{ց;]x* J+ǁ`2kHǿO߸TDHU `u:D ,08rr`]]ǡyU:0> ."mZgy|jHRF ӑ&{/},(pKV2@j=\qt~`̈́#yA盳y2#ley4d-b߇ Fc,|\iu7Bh^$R*]xy #moHqY%=sYٮV,o*:Qu+B?d [R&&uDŽٶK6XYn'iVyf6 H,J(Jc!ۏI]HLqLvM`?U8Cyc0)'0S,[*kڣ)b@|`&wfbMW'pzݾ=ZuJDgY稴 CY,L ;p4vzN@PqY>&^gBnDynȞK8fAf(tBxO/b"uaSz쨭$'&R H8)ʧ[Ǵ8g׳zdsjAg QekDW"{qO=4]|qоPu7Z{(T9qEOe]6NAtUsVI W޵6:xʉ6$jჟl-Žw#;&\qu3"Ó#G3`ED~'Q E8u wlpf7uu:0ﬦ$ٶw][tY\O9pc3KְPVFt2EɃQYƃ qғQ`J˹1bub,m1 g ~X m A* .o߂ ogB7Z|7KH3g~~%XZFPLQQJ!|VX$2o0if*Zz1DG4ȯת4>1Clu:Hipp}W!k=kP>9#!W 1A Ny,P3 }\/lTz}.I\9S|~4 7D4H*$\h@}X%ܤ#+-&6CPp  2de_èo D:/KUq\zLiDtF"1|Ijdb& *:$<*,Š}DcGL|l `8c~%:<qԋU[ `0*F_WqZj+ɮݧ ͉Q1":7 (%,#P8(AQQМ[~!>p'k1Ei跥wS 2BN/lB`r mS~ W( I0Bv(Ţ>`+Űw^No9&CCJwuivOD/MY`pQ".f!*7M^Tke7 V ΣFc}Xh띆 JI :6 j5 {G_]y`H Ez$^͔=Q.!2rdE ̬뢼/.JB&R2͐(/.vwt@߂Z %eL@>!!ڮjpok۾㜘3oaR}B[ᖚVK M`/BTaZWA+j/`O_VNqVZݳ7w%jzid.ivH@#m7ݖON*( șc#xr1-co V!;ڴb4c~˷tj AIhFAw BxSD!w@&&l57\J0/~:2;z' E@8쉑uQ(}Ƕ\A 1$lċ yk\׷0~I`ݭAukb ¹q%CbE i ka Gxr-Z3A.T s(|=b&Uŷ87hq\oMF8"1l%Q 6*db̻5P6X) f+4:m \u쟶LyvLXg~?)y%@QcϜZ$#%:.Z@yLz}DU+XB3@Xøzqo_щ0\P[2tcFkbO a7_U 9p7-1rQ1 ܢaI F;<֪R"Pҟ~cs9k>uCy 4,&;2cd3Kl<4XP^ʐ@ YP)E1_58A<"[$@x-HK,<@/0n+6 ܬ;ޟ[Bz2^(;Fʪ-A 6XxcM>4eo/tN,DgHi"T&_JPǴ3Gi9G~٢;x^gQBQrK'IH*68*4Sk>B#0}A‚N=?k.L~a!-!rTLق -pfY3jUMeo0݊yܷiKASt4aT]Lh{# -aΡqA -BpuPC/Xj9ݷtl9иlʦxo Sc|r,G*J. Atr#1C@G=O>,繗L9kޠP41\azo1k$ceb\[IFOMuO .[8CzSb*zYt&žErBYI/{~~ǃ{s kz,ȹ  ` J;7h@o;ܨXsyj ClV[4}AciT,Cܒ]OnO M9}Hng(nol}x"Dn'|Tbf"t!xP.,88}c9"L9lK g!&L!vv E:7߬) jÀ-C@S?Ƭ6p#_3 ˮ>yg=ֱ97ҹ0Qj%֭9>SNeymq3Si2/"4:-pϩP,G0Q6$'A`w? -#r9 } E/ 5X@GчXYF)]Opjhs*e<ƴ$if*?өqȚoA= ; 'œ5`e KFz.bWWc}"ъ jݶqAɅ_5W?X3f4! /1 kO;K Voq#QSvc__.{xt|uin%Z\,Iuu2V}DRH/@.|g 1}<:ˉsk?Hv)eB>[a1 l`终₢3чک^UsTI&6@fFF1|Vǩ2$GEvY3'oƘDy\oH!XZ;Kfgc,G'fw*;* DGoi_E4EH;kU$Y&2B N.3Q_G]; }>+j^8!(;ȼnbmH s,ݹY\B"8j% @nܶ6cM(jpxX;#O $Ja9$6\( 1(@7`D I2@$r}it|@yNw1%_ %|aab53o$=Ý9C**]-:150[Z'TC# }2;Ʋ?ӹ9([huo"N5Cހ}5DYțGdF<8,ks|/t0-m4ScnD2w5@p 9'A6}ÑeBxֳ9(Ma ,Z5y&{vR=<+u608nAzÊQM,F6"o$vRɪǴn\8.%0vqUZj .[̻/y10:LB.s"Nn*[<  ` qM 莉qؚۣi{s#9xnsLI K0sI<1N4Hԅ)=ӻ-5}OqωA0m1Z-e8wS@݅=NtnK;ncIbwb8vdWJ_x19WrO.1JB<ք)PQp)7tDo]q9]^[n5Ⳋ5S}\C耈i |ipi/wg30>w[HN<120yY.'gsq͘q,9öS:-8ͲCB&Ũa,cs d[ɞ:.`9~66w  eSE;UkZi^ZgoP7.-ѻL`"6gm盨Z|Y<4~aI:0r1,8qxMxu*_}Xx\K ʜˮ(pKx[\K*މz_mYc#O8+zQ]Dxn;w!R ׾0y!>dz[8\{_rsu^>po\XVsa39(֟.b&/؊.aOWW'ȼftL~HY)H$qn3|8j]ZwEi)4inb[hi {#SL_+vXS/25唙(1!: >:@KKe!P_+nA:9w=@--;Ēn=Dtͼ~-ޟΏ̴GBŐ#t/fj\O&qQy~;!}[Dʽe٩{,~xkaBԦ3-`Qo4/CT:/cI"0[AHu6(UMEí|4TC>{?&D1d9tT |Z(T[E~`Lci6IkϱDU`Bx .(ARfuԃ)xuY H˔&G*LPal{7՚@(,m ~Hw1DDi6:]V 8G?x [,GݧRy'$8G kaaB$]U/ *r0~!ؠp,ֱؓI > @!t102Y~mcsG(! ZcSa@+zz,g!pubGcL%Cxmq|SQAA|#OMX+8Ime>H;_JqG/C1bqAjnɆ|'A!; nE\lr,C!lhG]JLa3K@A‡5 t /a56{49XsĨr#OTlWt!$=@з Ѯ;%ek8iRl&Iؤld;0ǮSځVq֬$ms<}I݅O 4)γwdCop_2>"nzטZ{km4hrحa[! *^Ai{*ZElg~xH$~ ص m8Y32K/kTO%uL}]B=<(Pk.!vt_v^]nPq WV T;!2F_R?g4(jtR_~U_ {Hm㋼ޮZjAB<Ŧ5D7.hdτxH?FQ\=PCc'dX) Qܺ^ƖKoF1YlcuE[óQB0(0Cz7hT^uH"ZP ?7٪G!i A]1*F=UM&VUK*;P*0 oQkҼ0ϓx5֓dPʘks՜5;Qڐ b8c;Dzd" ,]%HX?,D8e#56NHb a!|ocbydHz3f #tFbv7xW ܿLJ41E& !d')HPĿQ-RS1IƦi)*! JRc8(-Y (1WKvPtF?|?* @VÖR| Z:TC_6`ARaO٣;0GB~T~Cf c5nE\kK2/}?ozr+wD~XӆZ\l>)=6\ -j"ٗ@e ""\ehfs2[;׸Cby[*Xs|}0?dG׻%PX/i.!&O> EվU2S Od@?'%0PGC;PKA.Y\V:QA0$'8,o(֘@U#⣠)j~֑`6!Prv0BKH?RK$g#6W̒> -$$! r[O?هGT5s$)*" ŐK9`_m0{lç-VSbMbx[ca֎os~ʒ]"|UO?l\|-لЕ}hQ煿ޏe~< ؛a鿷Vp#t0X@0WvwHi ~һG 1 }vnjMJ5‚o>6v!3]w@cw7<|`V7yqW^ рGٽʃoew{lR9oo O?#/ >;lM]R󥞾7j=dOcpxzwi.)=-o̸CpGɅk)V\>x16{Gdt;Hc=+nvA2&K7PAYt=~Phje᷏&gگz681UxM/oO=\.{$E,x񜽛hd _Bt;DPظMksk?$ @{; @q @ 7AP,ƺX w0Q<^_kW:_gg昰YfႸ(3gi=>_lZ|V+ܸ\:> 6θɥ|g>ڷ8r[j( O}6N1[f~VV[!Po;Otڻee%}8z|;+>/~wI?d݌7rv_w>#, V_Z{u=b!T.ve{P8S 3[vad&p.}zǿBo1kRCssq#M$lnbq\ bZ$7z*Ϲ3r!>eSӇ)]>a_VrmZ_ܠG\%3Q~iY8P4?ꄇn^4#\ ?kx>?Ĉtz,O44^bPCFPݼS, R5f, ̹/^!J.u/>qn_K-% VjLt!ik8?p#YHO8L+j0JCo7 !M}~Z)klVb8@)U쏰:=m옜dּyeB݆=9IFV t|9 inƫw=S!޳|ѱN!Ac5 NvJLJ˙v0yee`C ;'Oi Z>MpQt|&>߯-^]cm! Aα궼~Kt#gbՋ z Z$`,`[OIC ag,6}\!)edGɻ7II UObleR^A^͜ey>b"ZR *_a|`*e{%gM%ͯřID/q@JZ!4#_Ֆg:~XIL,@`5 >Ͷ^z%W:ց_}sQZh_W;8 m;-Z*2O>L9jːw`*TuCG+Y.ܜ3e%(8"y# u9[1ٟ^QuAp  ];=odf13?d4$l2LCK:STmh(XXV_H?0h?"6nIHB$d!"D@(jəBCDBMDPLQĜ{{t`$doJ?f 4P$` Wo<`>F>r}nQژ}b5Aҿ<~w`vh8gWan´\qw YRU?Ԙr&5eɬ ) G񣠉-i UUly IGg _O@Y CR,ơї<oyN3S|\Hpvsӟg@m߲i A#?ô'.'IS8=qfk`!vtq(U7gJ ;i8]vsJα7A v8V*ey' ;`l@W@8g _QsuL :jrNP"%\M3??i?/݌̖rdew%"Oo^'@"* &\.:v¹h~eQ q(2/a{jŹNV!]#Qw~;[`OP5β*k]F}l.[wZZo )&A(yNP $D èx%_(8}h3ŵ TO=ֆOa~u^""d$2?MUwבVPI<$u DjAW (7}CeP5}ϻv>%igO`iMiVVB Lyې[ZɆ:N>U*" KP\AN 2U] B ׀ܘ9݂3i'ZlwH]!D1κݡջ>ӑ<3a:Tc*&y7~Ħ}apʩz'Pu}nKs2;qD52$ xؓtJsk LRÑ / "ӅpOJHwC`g-ndSA8f)1(ߕӲ?%6nW:7/)9ݕ٤Ȅhf<CŒ ozl򊌒*bCvQ jP݅m  ;'X)0Jrh8˞[62}+NMs{U\pUڣ8~y91l筇(`IyMKPUP@D/n68ފѯ/gV+"?S_W韁(|ĕPK}~9IfwR{b=@ 8 Efgb3^7e@m m'{|O>.ͪB'@wJ[(_Sa1 T`ѹw1qY.B {W "9g'ă> 6_+:Gm N1@ t%*WyWf:߈%'][°@X4{0W9"W3G+sh c.a. $RyP$@RMAhЁ6@Gš{UÇC1N=‰SG/X){Zm4 0՞36M(20Aܹ0$>^Oаun^uz| [T 6:+CWl/иة 슆^m.2(懙EuOg*V,6.vP6AF `:(Loc{@99B(ƥD!B,r~aNTZv8bq9̡_' O '/EߒҎ(wI\u%ӽ=-*H.k9."%bSo}Y6#bkge:2X< ޵訵GVS9{+R2bX"(K4(<~oE,d(p|/`Z5 "##nֶ. Qobhw~1[##c|/ =jc,r7q>3J|79 O9pK>,"t.9H9՜| \?scn߄~~p'$А^nY}ox#=6~ح*bXs0U/RxW{('J=^>©¬ W @> 2]M\#80=|>w#*HDq|bߪKD)+*$r3- {ua"b)m`wx@yomJֹUkf2b,{9R FQ`g?og}_9^3/Ãw 4V+!島ߖoB@aZX_OI)eS1\>c#_z鹺L>d{tme"qMϸ*3cBJing ږ~&Ԛ0Qx)baڪ_Bwzx;>wҧ5=:h7emߝN4C7]8iq֩z!pb 8n-HeEo%w8k"bk_ L< GOJv ?m֢6$;P@YUF2Ů}Kr=.EC‚dWrڄѧulSq'!@{C0`tkX9;6" }+AgJPB=8緔ׯA&flCqK4|DuwGP"Ih WԦ}sl?B9 Gm{0њ5ʽTDA<Owr@3ު2 ,X;H9 t07sϝ}D+DjMS.U"ϔQOuWC;\HEJ漩Xi<˸!@Qq @BHͤ??F!ݭ餓ѬMk!u n@ރ`M;ެs#5怌`6 R b Тdd3Tl<=vc(:Clc5FmMVaLkHP:B:Ml[# C\t$b).Lwz1$iuw2[C Q`ԀN@/)|;eA>GJέWY?Cz3;~olm|7\jA3g{mGP?CƔ×`BB% kSTMLymfTQD:z\Z$Ic(31Zv' 5}'$q5ˬHq{*f_'r#jhu8;!sZ*F֟^;p|kCQ&8䆬&4!c.#:nu^4j(B D{08B!"i$qa}YﶻJFh?Yt~YG9qoōvz7!7oHy*2>mv\We?Um&xI.ubQ1G~sdqQ[PTc8|z$z`W6!xlxaMwk$>uzAhr!P vV7)@45H!ڑzk/<{-5Kf5]K|o7 tЈ3w f@@sfX CrLS!&ɵ+XQ||*7Qe4 Lh :wu[ݣR /4T9bٶt&`<|vigCsת_\~8 kTs>6*\ƫ%Pˈ7vo yҖ H/4mAD"\˻3$96\V@e&"LvFxpd,sI:`CeA Ԟ& syx/ nᐰIʛ>4׹:\__v6r],n:tu3}vn-x/8lo&Vkqsi[۾cNzv@嚐!b5yy7p>,553=~/-Ŷ:Q`!Wfp5db~ |xp 'v'1c >_s1 ?R/젴Sʮz$yhPAj*tSAwB~ lc!99Gq.ҊBPK` }tKnN~u8yh~߿CclzDsY'o DVDcxM 'kB'}< 9̐ Ku{\~%N]`xq8?/Urz3 >3g״'Wi[;fh(! MU*T_\f=L!RpAx(0? @AP'N?ՎZX"y@? 58K#<'{zZ.צH [*~AوuhHm 'H(' Z;ChE!8 K}ìBH3"A$JHa⼴W6EzS"Ɂ~C5r nqou3ys$.B!bL, d2.o32=v62)c9 y zKy @O'_oDQKMۗ||O#F#`,&9yݜ l aFn![`CB1b< 75C<sU9q uM{:ϧ> u6" ]֠ < $"%EJw~ė_wm׷mcFl[j"{3 LS\51 XneF0^KPITQDTQDTQHQE QE QEUPPR5M5E5M5EQE-RUUUc۟SR h/dR/ǘmCBpw O)yXv>Ith"ior$ ΍Q` m9qHKxVt^ TZ@ڝDܲu$D cDZ)(8 H 2z <htǼo6bbށ ii &Yd& &(hF"!ZJRG=DHDLDA DRDJR#DHD!DDCDHR!HR-D4L PDEGWE]tȟ yTX{;\xLfoq.l8.V=fo~-RAdՍ$'.J  6 d3y!Po=zxɜON=/҂ۥ.eo2ZpK;^pXCr<9 :!Z^:b,sfp`' 'jL003$DU%T&"Vh٫Fc~<::UUBjZTrlY ZRH5bkKLVdM@WNP|Հ15{(6~:Մ'sҭMJ7HQ+ϺyΓ-(LQ`G"G&.;Y)Ƶԃېʣ/E# [^=sԢkd[xv0tQUR$թ&Sl,\f$}- PJb۟߫DCVt`ܜKCjP ӉVx30/Va$$'pM\ݯRB`(?;`G}sprFJ,$ ~<8%X2@X(wj񑟈Qȁ52 CY=eU@F/܅5F D'{bx 8`R / Ds1(;DD̋i}.p,V֣VptDva{( ]% Y]~5A d2>Q왿8KV睾%Y*4@[X! ^Ì9JpB'/TFNKwT" k)AE%Jf"@񆋃nk!rr&K 9<|,xoBk#s. \::56iP'ULt֍\qOqG膬wA m1ȏT$SIJ2P\>&P[̱3SJCo¶i/`ǻ.Huswc8D@!RZEeZEeoRu PX35D8.m۩b|>m aYI|L">X:6e\7$ fB@@#WLPZW`t% ~?Y_?'W~Tȉus_d}_Zs}V.ow]c_;x ԓengl>zV'kEnWpv_~sS5:/궜}վW~Fzo}Nox>#6ޫ݄Ї _ilt DG?S ׅ]_z?~}#*J>['Pʢ??! s㵯hʳL'KD )N۟d1vpTDF^x@}:47~8mvjK c1+\[m  3*B}°TASHJ= 6o$6 fj1 akf#*s|{gҴϲ 5]2󑍔eAMf[3ő٣*Р';@!%1gn]4kD5S}{ycbM:8$}Bϰ! ;o fcx0aB#"W9+\  xyۊ(VLj¢,^Hj̇賀jL.mD{% p p\fhIO|E )y۳4+83]-kn5K!6o˖˻߅L@ĄKײ`4K G@<㍰YS-cDt\:?<_BS XB,QHP'@WGInBz&5M#s?wtإ[˟J X>pSbuk^~:TiƳ^|_ŭ6 ڛ0QuП3ZV`ur:u\5^b!1ex2RW XOnU.pzs \]Zn GxOQ ~!zEڃo08]Oi |s=XdJDkn"̄s2'Q+v?:-^E< ?(( pP|#l9JFp :6FJnY k!*ove~f]E^ru o(c,6WGî"~ְixřӡRH9]*KX/Z.w <%6jY?1| ?w{ۣYb©LZ?CsfmYq7X=܃ oBm)Qs`&xWzC|le \aEn|ߧݻ׍NI'`Kvoኪ kR֛ z\ ?5ÁWuߐgֻc&sO;ʮ~ԫR",>= /9p9X [b^,\|'}s͙sI (4QB{k!5VhUZ^a"5x׎=:hß" Nd;Cw}ǫ5O80/L< bGq}![=B' vr,lT[8uۨ$Aў65UR̃B+lѶߝ9 bTv?=V݉^W5CJA hR@N@A1ۿƽ5R$׭x`mh8Vf9y/{Em_>|fd%a@X^9`d5Cks =Νwk`="$gbͺ&- _ , է&7c`(wrӲ8D(ENu@:œaE#̓OՌ ؑ?\|/Ld^aCjm8C?w~XlAX 8;M2sd6qH