summaryrefslogtreecommitdiff
path: root/drivers/dma/pl330.c
AgeCommit message (Expand)AuthorFilesLines
2024-05-17dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"Vinod Koul1-3/+0
2024-05-17dmaengine: pl330: issue_pending waits until WFP stateBumyong Lee1-0/+3
2023-08-07dmaengine: pl330: Return DMA_PAUSED when transaction is pausedIlpo Järvinen1-2/+16
2023-05-24dmaengine: pl330: rename _start to prevent build errorRandy Dunlap1-4/+4
2022-09-05dmaengine: pl330: Remove unused flagsHarini Katakam1-4/+0
2022-07-06dmaengine: pl330: Fix lockdep warning about non-static keyDmitry Osipenko1-1/+1
2022-02-28ARM: 9172/1: amba: Cleanup amba pclk operationWang Kefeng1-2/+2
2021-05-10dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclcBumyong Lee1-2/+4
2021-02-02amba: Make the remove callback return voidUwe Kleine-König1-2/+1
2020-12-17Merge tag 'dmaengine-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+0
2020-11-16dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst sizeSugar Zhang1-1/+1
2020-10-30dmaengine: pl330: Remove unreachable codeSurendran K1-2/+0
2020-10-01dmaengine: pl330: fix argument for taskletVinod Koul1-1/+1
2020-09-18dmaengine: pl330: convert tasklets to use new tasklet_setup() APIAllen Pais1-6/+6
2020-09-11Merge tag 'v5.9-rc4' into nextVinod Koul1-8/+4
2020-09-11dmaengine: pl330: Drop local dma_parmsRobin Murphy1-5/+0
2020-09-04Merge tag 'dmaengine-fix-5.9-rc4' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2020-09-03dmaengine: pl330: Simplify with dev_err_probe()Krzysztof Kozlowski1-6/+3
2020-08-25dmaengine: pl330: fix instruction dump formattingŁukasz Stelmach1-1/+1
2020-08-25dmaengine: pl330: Fix burst length if burst size is smaller than bus widthMarek Szyprowski1-1/+1
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-7/+3
2020-07-15dmaengine: pl330: Demote obvious misuse of kerneldoc to standard comment blockLee Jones1-1/+1
2020-07-15dmaengine: pl330: Add quirk 'arm,pl330-periph-burst'Sugar Zhang1-1/+9
2020-07-15dmaengine: pl330: Improve transfer efficiency for the dregsSugar Zhang1-11/+21
2020-07-15dmaengine: pl330: Remove the burst limit for quirk 'NO-FLUSHP'Sugar Zhang1-8/+2
2020-06-24dmaengine: pl330: Make sure the debug is idle before doing DMAGOSugar Zhang1-6/+6
2019-12-10dmaengine: pl330: Convert to the *_late and *_early system sleep callbacksUlf Hansson1-1/+3
2019-12-10dmaengine: pl330: Drop boilerplate code for suspend/resumeUlf Hansson1-10/+2
2019-08-08dmaengine: pl330: use the same attributes when freeing pl330->mcode_cpuFuqian Huang1-4/+5
2019-07-17Merge tag 'dmaengine-5.3-rc1' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds1-0/+40
2019-06-14dmagengine: pl330: add code to get reset propertyDinh Nguyen1-0/+40
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152Thomas Gleixner1-5/+1
2019-04-26dmaengine: pl330: _stop: clear interrupt statusSugar Zhang1-3/+7
2019-03-25dmaengine: pl330: introduce debugfs interfaceKatsuhiro Suzuki1-0/+51
2019-01-07dmaengine: pl330: drop useless LIST_HEADJulia Lawall1-1/+0
2018-11-24dmaengine: pl330: remove dma_slave_config direction usageVinod Koul1-4/+24
2018-08-18Merge tag 'dmaengine-4.19-rc1' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds1-6/+6
2018-07-25dmaengine: pl330: fix irq race with terminate_allJohn Keeping1-2/+3
2018-07-10dmaengine: pl330: remove set but unused variableVinod Koul1-4/+0
2018-07-10dmaengine: pl330: Mark expected switch fall-throughVinod Koul1-0/+3
2018-06-28dmaengine: pl330: report BURST residue granularityMarek Szyprowski1-1/+1
2018-06-12treewide: kzalloc() -> kcalloc()Kees Cook1-2/+2
2018-05-03dmaengine: pl330: flush before wait, and add dev burst support.Frank Mori Hess1-50/+159
2018-03-06dmaengine: pl330: fix a race condition in case of threaded irqsQi Hou1-2/+4
2017-10-20dmaengine: pl330: fix descriptor allocation failAlexander Kochetkov1-19/+20
2017-08-28dmaengine: pl330: constify amba_idArvind Yadav1-1/+1
2017-07-08Merge tag 'dmaengine-4.13-rc1' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds1-76/+66
2017-06-17dmaengine: pl330: Delete unused functionsMatthias Kaehlcke1-67/+0
2017-06-02dmaengine: pl330: fix warning in pl330_removeJean-Philippe Brucker1-1/+2
2017-05-30dmaengine: pl330: Add IOMMU support to slave tranfersRobin Murphy1-9/+66
Sme42xr_ཱི?=E-͵資ް#"Z?jz5AjFlQ[5F Guph{ART#OU7 "@NCAAq[~~^}:RVfP&R6DMEg(:ٴ. G] d8;yH^.DD $hC{pƅ[GYc7>*_czNcإSj&&xŰRj 7 ZbO8(Y]AɆVC[][j,uɸ(6pHaZLd~pC<΋!IgZZx`tWjtLvq/sP%ずEg8Ϥ8upg&UTnIC־ `=//hZ>i5y~̽9=OU1t4K#35֮Y'ܑW"{C%<%1$XfD؀,U3} <~p-7"~$ctjz?_yC/2#7MRxEz#0/^!'|-hN3hg˵N⚺$\ kƓt).Vn>v s5^MqQ]ZɺvIqb!RLd+t%B4PE tjM{2&ds\ IA/^;QZO֑#9 aEz/|1oB1R4oE5eM 鞅zQ_:yP-H$~ %Tuk@a@"Q<1VWp6mխCj̖jLGZ\G-ERVX$v7P8t:Ufס4xy׹i%3_]u k$LnԿt\B;[0F!{hL$R\&25H''S Tf+ rem^ri7pgR)4 dZ<{%[r9L3 @~8r-|B:Hp' ֱx +'EqW79m6j]s:7i^1Rl]RW] p5Cfg]S 9^$Xd^µR'GpB;2~Z yNfSt fU{k.c` zFB-Kk^ qd/2{o#j5iPQCZ0&*8ŵFkrވžɆ@,p2[n2=,F2MZa;fɡ^0MSpii;u6w嬽p8xカ&Ӛ/尒i;k: OuǠi+ΆT,믯XU,tvF{;KӘ{sԙєT%К鎛>{ (B1e{g+y$i0Ff|5LɚK -ǯOE+&OZ'.n#)4Գ¢~@^Yo =t' =垯v$Z?)zդE`=wiOǴڍ3NPAJ t eGb{~o9+4?]YQ e)I ؚz_*+RgE6L.;g!}y"WeǜZ;Op]9.#f vw}0Sdos ~YEu%թA`͏'Jsb h42S%ϑIf~P$'e)Êz.o@"yhyd돷>Clgyi[7whxt@\ />kOl LḴF§M碌{ƀ.-wjvJZ;uyLRusScHO3t7zu-{tcNykQi1iotU;*s i6+m51 g(«>^+Im \6aHEoĨܛG_HPԻ%/"NwC -d`z,ө;X&0x+/W+_+8{J7K6C*iWmZx7 cNi i˂D`%J ~F99 ^[QѼ.WoK qlL"Xw h}صW5HˁF┌jr_ ,U&ZiԡU<TB1*W DylڀxH0sHy%6AQ%${ݗseSj땺}셱Rd_m>P_4USD;jHKVs~b}g@1pQ>PgE4UsDi|:*I4" tϲ{- 6N d_L&>##-B,OhCz/ B'צZ$: W 铀 pǦAKW4LD2cUۃ-E,I*g8[aDZP-!u2 d)M'~jK/Lqg27:j7լӛF?QN} @:SmP SyƑcGW_TłU!l$%-T J?xZ!wcr< ezͧ#sjrizr @H#D&;m/"Ih;:'UD9BqQ+;}wCxq$~Ʒ-hqNw~ROK8hEdw-@3pe{\]hіq5.11 @ +VpJuAjz(ԁE\&NCf~rWNВ'F1-I6I7LґMsMzUAy|PgeNJ# Lq S"Lb$ɪJyJ~ +{9ys8$DFޮѧ%&bg,;Snz@irI}MTwM՜ #z፻֘&> ";8 j|+)9=i7rn1EiO_>-a(2:]-XqOe !{r&)zh1G-I صI} +iXC,:0@M?qˉzvJ=)ƇPaJtilZFVJ6 > 곻)CD,!RS1ܷxE[5鈫 S݉O̱-ncRoMFJԑIϺvZiWuhniKzj :qե%"A0{gq+iO@;4J63%y]EyfCm(ZcV[rVdEA2S-^UIznp-Vp#nkMrny&ŵ \~2,P{ɒx=l4Iz4w 5~Zc4_hJ}GC"+ڀoO'Oni"{@ڠp=Pc,0w] 9b's8 э5&[ U,øZ1S =zΗ/_ J)RqwԠ_D=aW"U[0f2RSKqX^z2`6c$d阶 w'eհiGS%W(4x||Fʕo /+EH$/Ju{^W{7/B^ aH"Vc tOt ; X:|#ɓߓMfEzk1[[B>a+W+qekos ntђJ#VjJ ]hYLwq:ǀg.Lp5'@1 |z 8QWMtn@+F+gw:;R#b,B=H ڭsT@.84fjLF2AquC#4rdNz4-$ax;uLoׯ\2 v&aR%Ƨ)灓%\ ܠެu /$H6B?hYseNUH1U Cx桒d]VDF#{&f4?]0?HlNb0 l;&!:~8@VUr(3{&G2n{ ^H[hTb?`qGE~xu;fԈϖG_"Lr;6{ ds>YeUU $!G(xkpRd,-2v*4n\ j lFu7}hk~0y5lL,|I/%xS/Of0>h$ɉq|K}rCz ^;{[ə$L;KaW+4ZN^Y Wy8YK;ksr/rn|!4kI߬i>͚9E+\&Z{&isZT$.iA,eyY2//GH)',6X[Nֲ)5£f H @ѧ 0KjhGA+*qDYdSc%5L hGƝ$,6Y{oq_7>?[`Lݑ¨m-f OӂDnJZѪYjڤ4!0!'34y]ue$ݾhq?19ZB^2 R6z(> d:2IdMM@Dv;F$橽Q.2 .bwX낦IȘE#o‘꥾Qov!$V?t")h~ׂ0ez nGGڑM`H;u=A sqw7|M&D64 kM3a_,ps_ke3J{p2%H=ULbȬZcz,"Hz)~y)Qǣ ΥFI8gZOɓNJz4k̥<xp 1Z  f^g1^C=pxi> .M8-Ul.t ZHqv;Tƥ&9NZFEWG5,OJ1fAoRR4Zgdht-Y2MWלi}qw˧Wl窵Itr&_;:sҙ4kG69].;ڳ:j 'G>?Wi;2 VVz@ {;[M)ʭ! &fY\J@X&i#!T""s,7"2? [^ V +qƑ3k®^Dl/M2$hCd5pt^H>wHO"@]bEj1үuc*XСcӠXZL6p[¡ K$\G@pq>On٦vw4j! 25Kz#>(7) bBoFS\P8УJKܾ(K8aL8 *Vv\d8Lg(\˸CZtԧ+~hIOkTFv 'r¥6N"P6S jx7n%{W]| kPcUFَZg ֡FK)r% T۠~ Zzuw*n.56XaۀӎX=܌f織mM4 ǛP#mN\<K;`h'0?MfsHAS/Im 9iy3YCe=s6jLM2ըIK ;JRU0j7U: #:S6Ci=m2Xbf®A $™6SfRvՑ4}:f`Y^XhҰ1qYPJ!a,jd3zZw_?6JŃZV,_=My#KCfۤj7OĨ!SN$@YӮ`〦28 $) ;uduzi]؛;_!ny}BK \K0lvBXYyzݎ)l &oQgC`o&C5mk8TmxcjhhҙuA#k)v mkF[ "iB=QW+bͯ\/VQj79lvˈH ,z) E;d.0FA!VaN}GG ZTc {q^L뱿yl$a6Ui4Zjn}J(  ;YZߣP, ܯݩq8 \ZMޙѣx'šNVQ?π@ b}}0P*1+~OZtdSU-Lwi&I ,;k{b0b$}qFn譻Vս#C0UmE,0v~HVH7X2o]z3;,EttVxn% -_MՆfg[8^X.g,Ufe gyRWdctj'y:ǩJ+Yn֯, ,lSfxLmƯvZ ~G /$訉(t!f=#LRݿ(Se>~ٿAȥex;"F,vf  ,uc.{YZd@Z&4 b;SxɅ(EHZ *za}ܞL?1M`_'la,akEDu~f^=.BγV >p`A;@n1|8\8"E̍BeT*I_ebh׎qO;= dS 9B;.ަ$8̊$@sR,SL85(Ăhˌ.Nqe"l.z"i![^fTw3tv;5z֩pé05M)Jgr dg!FL+{h {jasTl6ެ7; 0ܵifdIti ŵ' V !f6wf&Wq2"mB`m\/`>TK$VIU&Lj)MspAͅC\T!߯gC'bCd)9ݵ_{rvYȡ*\PA _䁔DZ{ 3LgFqe i(;޿ȤJ9)Jp)¼XdX{cJs_a$ 'V[8)9_7z|8_9zf x!6;1[M6[ .5hρҸfrQ"/DEʒan9ED,;ؾ?-lk ;/ ufh֛CY=vR=@)xp,zwԬfizGF4 gCڔsbK6+K%tkz6YUkۣ}tphǡ~bVi(@E}znaa|+7ӊj:(Çe?N'YhRZb mnQK irŴv;}@ƿG/Yɲi|p4_us*YٔLѷdޝ}C3O02c&>zkpq#MM0n$/B-p,)Tx% b%Q<qÔH}w;֦?jr^*p0@:va :nCNOChT`阄i[yU[wz8d`5KrVJ3UOwwM#N) |K']:@khqHx? T%Lξ‡E MkD/j%-=p<58lv)=?8\^$}1lM5#&@ӆop6"kUM%}KZ-ۨw[.{f+QWC?qU kQЇ2R[GRÌ%sh^}@bB*RZU$YH'7|wE>$pOp5!*=t,8nFXS2~ GZO;[ldv'kyl``İ X-rj͖{5PZHvyM '5[T^W$GYE;„SI5zF2jtjjOoT/>+`&eu 'D_!J`T(R`LG.a Q:\zҋq}H S|+ފ~F٩ԡq%q8ClUfT3 szOulXROB$CCI%̊h >.iWY[)G9mlFuiP eǬI:UcLaDLnPZbjvnS{%}l[.O`eޜdhmN %uH):\[ڹʩrF,f'nӾڕwphҤHGҺ+K9j 5qo0HbXʅf:$T7{ 4a@Rmwh9YM] N -\c^nB?p1v$@ʫb6-# + KUq}%[?tfzjvتժ OGOx-+M] ;n#gU81WЧ94f6o_[BNW'$wDHoefDA<\٩i*7@,ĩTj{k:KVH3Qe^u:fS=Z= %ո!evTXۥ b> A XVFHQy8nRHNX-]) pqZDq:WX t*wۏOAߧ $d4NKI {R/I><5qD_$͝9NRR cNy\G'P,5$$Q2V!*S5{6TKUH/e^V_="2BS\W Pg&ˑL֒:^?q"#jBr3Zlڻ^:[QBab^5Ӣ텦٨aKaL.]N|NKh&2AwYs^VD/15bo0tJYAűۊOd]@e )lͣXaɸlg_sdxf4Ax&B+a+R'eBWG=bӦ_͓M,;oB,F^5^R @MYHÀ]l[(:mIR3k^>LiIs9MK=1Y'ZE~dsf@2+?)A3l~`{단"+3ܵo jW, .uƍ[?bx٬LpN@9;j郵9{7#mxH)Gm>lݨJo]}@Ɍ%ƠZ5 jWFrFE-I(oJh٭!}}oJ{~B5ذd;8Yf q< (Sȳ[63F:W)E[d1U[ kgrۍ[  2FjW[ 괻좰$@3dM)pD)(Nz4( &bvDeRPzdjM4ipDd)J7Of{X']5Euz6)IGѰ5VQIp)enKUX`fUdkrOGhũGty9s.û@z򀰮R-㌿Rgdxٯw3PdI1l` mKY[&ELפ-:R *fIBM;[ze5XEC G >XY|C3No-G٬E)cAOSD`\ bpyrwmVlrC̍ p Eb )lN$b#ޘ ȴsNԏ]dwW,; V.#ngէl_'eiIs8 D}T &KꙐ7!5羢&BR,J|ٯ׆k^M|4j7U,XMGK?9[3F0EJ8T3+u/*jou*;iFS<&0֒l3­KچF8= RW߭a)!rE}F|0WܟeOޟXɫ X %ȧ2?-񦵆:nLu!|,g1K?Doypc o#~i9 u+p#/i` b{RkuQB j9C&7?V^O7V. p|ՓKۓdGk -ʡv"fHloOl4Ym[8}⯄HiǛ&$j80RpB|E[+juH$:_J!@Zuy܍[Bɒrq_B~Aou|ʳvGp7 u w)ɪn6`ȺAƇC:ew~ qwڤ՚IhG847"f\;:k^I+g99;,)%Pם4լA {c}֟VOEL3`VIJ&3]ʓNaڍEWC"A *:H|$qHҤ;)v;+: )}ĤZ@Pr0 ؑz]*;p`)𢘋t@: M0lC~[ oa :+@ltaRa8nKKrg"a]pãRt8DݽztBReJa8 QkK Ssݰ:Ȅ"`yDn9"q]Z?(^ [^[4}k3o9Y3t&ipMa«K$5 hi?"'TK}Ur:E%T[[@Eh^k-t{ ]gUuK/Kr*U7f Ls ( 8Hn)FZn% < {|$mZj]cA(KX.;A⤺Qe6|! '8YoQwMw携cUFޤk+2b}EVm ̋YKAP*j8&w;aGNh3T5oumOksyIJD \N Qq'GZUxgg HUZ˛RZhn[Ң9ϩE go- Z# y' bڎ\MݐYq{z@b>OU<(_:6w6"daݼOHn5fG}@KÊ#EGEm{9uHi/Q7I׊ R}[IOqdb|[Qկ\d!.cB)sx.h6;$dž&[1\AW F;dQE|e>}_1՗Oz4\Kmwc+,7W7:L"9@R9`zM]7M{yY8w2i9^FaxkQ.|,%uih1% jIč<䃶 Ŭ{Ӑ+k-c]b dcɸfbM>X>n,Tfd$HuHA~]Z)ȵ`(ζ9EPyzD\%]pr ?}+g~ \hMZX*jLJ, v(eRna x)i;l ,/F J_zt{qD.g]ML鏑cvZ/i,CX*cVZrg3ء5MpAn{"He <7nRI"H#q˫)>)J{~hZ/*Y|49\qp0c 8TZEf >xF`/.k.AOp]omޭ|b$F,X8(yak<,M:фOj oYOoux7ȼZ ~R+L/\l{'"To#}'%%1نH;FY:f^ʅ_/SƭX9cՊќYlf9—cB+Ef8ػk16+8xURW0p^X먘HJjE Fkռ- WW_Jmgv̧hGcTW6zMn-ݟ9!z)`Lwq9|N縝1 h 6dMެw]?8u3P@ю{#}4X.Y˲x]Ll, THZ)}yR{u?th zR=Z‰*Pse{H-gF)'s%OΌQvr"45 e"-IvVYKdY q寄-n0?4i\Q 4@!* B|: 3KDF,=VdԂu7gJ-Pi?$BBJ3eG}a+NS2 v448SJvݓ!R c?A)/L k4AYf вu HbbR]-g0i{ qR1rN 927 E?QsxTG0R٤IzbTjD;WuDP8]sԲCݑgoc$EfG%)!@u΢F[^[_+E%hHb}ɳfiB^k4H,pOghoƹ))໾ہ-eJnJۿfx^*0*4(=^wċ)wQ: -{mN ~sDm"f Avsܪkf>B^l B.Zҷl>eь]רO%Gc`=NNnݒBv 04{ʕE5&wGZ-f0Ie֭tl5Z3}:O8.Afޤ VY H3WP:Og*([cREIlH8$FԄa T*T[⡌~B^~9wKsds"5JuhvS=6 2f 50Lq`v gR2kuPxQ!x%c pI2H 42ErHpn3LJ᎞v]4KtkQ9;f ɇ`^G5Fھmb*!$s"PvpXQjZQ>ݐ|þcC*ў4ԥ,ܕCP)_`FTbf4ќ% M]D3Zh+|6o &wĔ^H~4 NH'ϚXt|u}5Թe6-K/*FN. ?𧼼1.Ɯl2􎚤lw‰O3:)Sb愔"eR;-D&Cװ]H!s~<_1loH4mWضBuAzRW4%Ǩ EC}~O^C\6fZ1pɧ$xC5`jU$ڗ5XWUib)I)~^{T]"=xqﭽK#4?GhrNq]Ցno My1;ᒿ·.:Tv$o1"S^FA@ cmrpq 5}[_LZ#)/hPeYv1wPt]&QUIn\H^Pu]4ٿMM#VPCY .Nq:H_bӺBoB6kL `ݍr&2vuo'Rb_zX1\~i7q~E wyʼnq2}K Ӻ Y>]z!I[EmuH{SP*lQ/ 2¯ٹ 6>n1ex"jw_k#Z /YZh*ໟܽ\1IBg"ڸ~j,{3 n9Ԛd(akNw%K3ظ:(M$8fF,3+Vsr5f:&>RYu՟$ٸ9D"~5xu.:xH=$(DuCTz{R!gʼ IϷ4yi22k<*+R>iθ$LWS͒+#%Xw eŬב0ލrqZƒG=m V_bJ`X=BV M-`f++,@ HO.ӨzޑV΄> L6uEf9G7ȍ^/^Le3&Oi8u vv^Վ~ 9xlUtfI]km2Sը7qSaHP8E/X!7#PIG;tu([fQu'So]IpCM&nr|XXGUZFjRd zJWkDv;DGSX@>u 2,]T7,BR%: ~KYR69#^vG]3ugAN [zsk_O6~fM R| Nm?E`ԍftǪ9jUc8~55{>TiP8M;*yB;QHn0yt#&hiצ+r^{xgk\=ѡL|ZVa>X<+o<ӌ_M,TSSth>G(I~K'Od}i6v{J lTwB l<ƈhG[c5Ȍ3NSR^S"U5__3Pcr6Pg%y5ts#`Bfh9&˞tMRT9ѐ9 "ON?#Oa, mB:,y`u8ҭSSd"7G8H;ͬKMi>Hb1$ąd68%l+5EFY/B?ʹcqw J˾h?E:։dC72*bQF(4MM6Zvt-N`FCxTa7mKYnF=4=dnSS OzTۄ>9JaqH9]q @R)pcO&>D~M5iOfjDƸFcښz-sFH:==-Sxߴކ/u}=hcٌO^]7A.;B[VX>Xjvㄺ랷$M<̒PW )+ pWbV#2Giolb5cjw H>8Wt'8f?H&tΚOY{f5i ev蹞9d>ɝuLqjQ#xŒ"©m? bu LPR zLa%0d..ZL  R$CM{4>M5ΙS@n\ H2f^qaD62J;WNxGx J)/xz qkBRƘ}aCqKCQ ph%8OlHVZ;/rFv"XT@۵$lwIV'\E T #>FnitGU!ʏ@.${G4.%oPobzTwS/Q].YL'2pwSu WM\WM ݯEv*&n-diH"mdh|5 &iNPN.кp"64τ|/g@cRuVߴpڤZ[(<4Rn,Eͽߤa D4u=bب[Ͳg"|-;dFFjHz"-]X x]bTMEwm<| 5WwR;KwJD(^!iF#ELRCLR+U >b= $ԩYZW gXH ~GV>ERG#;\BV(5&Ӗj3rG[|1}Ǖ\99MTwDdIwPTٙ)sD[8Cܷ[) A~4)U]Q%qwD)M?}\lG796k}T(Sa]jHESY[M\Wi?_Žzz$GAF]MFbM;Gئu:ТOK0*, }4ca9P>ԛ$<Rx d$[ (0Kr]斀8#u4FyI ]Oy跥Y\ǽK[հUV@Ҳzd=>ٰ%wNQVͱ)׿ \U| lղVJK/>w's\|w!W)& E+;ZDE.3mtTO˰] pBvߧ]R,,9F|ޠ%ކ{Hvpn8AoLBWV&tEH@w 7!J@,JAߑBd I sK yͰy:Ws#rxUthwv& xʭ FFdcC@23*deD @$גh+i$n?jb2DCLo bJhwxVd#i|2@a6p91iCٜS-7[l`<#=}U-%*Uc{M]R,D|v\@i 1+sѓr#Rd|A][Y!鐞j:~]᧹;{42a7 CpS6J @y =[Go~?7vF I0kj!3G}ku}1'|O7:?")dN1J M^O`BG@H;iQVyE'9w&*ٟE.ꢓU=ʭMB(~]_˙LD50 ٥z]YR7$#I0w|Vva*98>}p@[>p[z^22}NrjisDM@jp@o].;npnCM\v~WW} |F:1ydܒ=~׼EX k`ƩЖV`;b?c G=UNXF<.a2sT[J47#l(BX sոݣٞ~aN_sb0kE%`:̅HAmzBgUQA8X{3md!6fiY(Q*5O KeC^u XqFs}{?Uԟg d@A~5 ?Z}dL;lӇMUYk7ͷ)i<`C1Cpp쀞NFQi-RI&K 43mןƌ3Na/Z$k(]@h⑲@~W=Yǵ!L7o37KH ):psVa_iXNJ9;G%2Y!*z~u.o{rǜValxhN\d`o6NDpOoY Z] W rlL·W'6NUo^ Yo#ë6l|5K eEBW߬Of.|fb{&$뎝 սEkZ68 "gG߉->zW Gq4׵54_w1wT?[<Ž~Q6usRWX ֹ7:d F7a'} #6ζ=5]\p9dY7[PPq<toz, FIt&4 U F;J$iRH 4ҞnSíGicZ%V)\sm fWUH57J섇$:z~Кl7Rb$ָ+kak 5Y=p8wF# :t FQY,}8V;̞%/A >.Z e)`52| y-rM5}L~JmKM !k7S7JEj2떇wKU#׫ M].23z.3:_m6{|SqZ䨆5Ndy#iSrm@K2 uF{iwW:~Mzι" Y{71?X~Sխh ŷLւOۮv |]9o1? ;Wq-՛MuBxAmI;jWQѓu(BLv9-tZ|L˫)*Ny +ԕ]^K+&{<ҙM.~3>-rsg]IA(+25432oY ͇W(-T\ *@\Pw8!SP %NҪIIZr|A['77.okj6OnXS{r(@bm{xn_20܂;O;z) &F:=ҡvOUW}0' dn] "Ͻ]&\@11h|QB(:JdfLgO>t/f[ Gm<7GU̶U9% YvZfλ dlx[$ P"!/)Fm!ͧ~:oq'? t%ՏTU$;h(++ly= c_NI|>ԭVv5]SBB @>᭘U/њ㋰.5T/ӅfT*Bʡp RVFW&0)Tp۔;bkQ5#7B3CF̑WvPU}']ZW8PfIt]{^k'+ ZM V+H(=)lS<ͲȲ>G)B79RZ02@d^KfciWvIT1Szǡ7/Iɕx'F Ssx *Uia% {:M'I]/{w{6¨$ oՙT5GJM"͆v{AS{Zɡ&TU&|F!*& E Nnсze,A3I4Hz e{:%֊Ѓ ֖.FDY2}I2ȲI K8-qC}ᐜ]hɆTg 7%>]g,Ņu w$rmH/ҊmID6xɚXwtF `X.4P5[:Hd %~2zjFY/8}p4:z9LO'n(1uŇ5p.W<jx~Uk@e^qT-KP[ڠ[A5Rux[wWf~7I;{Ieb}481f沾+D|( R|ňx{@w '^ IǾ~?Ԙ~T:EIފ_hHt p^﨟BlA3EtĉSt=4BS\;$+呾S$ۃ%tYZY[ٸWs)#/qlF$Sן6bcWQZhCvFR=DI3Y2n($(B賻nWNY']J-x 3ι)=쥀j6tC#Ί WŶ0C|o  \Ԍ >C 1@Qt]Bm܎=AI^^iY3sB˼gv$uz9ϐd)T.]=XwTtAу2[`{qf' s.ueVv #ڪ< ca/xR 4`[G4r^_4.@dqdjh'w =gKX6)P(жz.v_oGC5梊(J?NDD9+]Rjn ڱC4-OK*=Nj5R-\hVouEc1oXM; yXLJԿLs`-cG)y$۲Qw5&#u2$/Cd'.QLQB hr YE=N⽰5pB L{!V+ ƗQA#*0+ :9w.R*yo<"q@|WE'WJ8mH`OG\tGn4i[a*\(YpD8Su`R86n` sk$+V +s MO Qb $75.$Vs)M相z HuImU|8=+g䓬5,E*teb~=]뾦Q!|MBg>Y'!uMGov ~D%]LNeN`SG;R%8BI+ZB[qž Q+BG,?E9kB&6s|Uc`&TXpQ8"÷96W w-1F,nupCh9I,[SՓN9W5NWgU͵!3|{ffژG"FژӬo 5&&< wMp}7:K&"J-VswG۬Kc6M(^&[U8thuHD7uUJ3wNXbWSve250g)>l)t#1K8Du26\{ji;!Dfh J-oR[@\!;xe-4AtoWiff ?%wBNPvW=M(CdN_Wf؎ nIzj'6G.HQ%ܜkUie?r?DtlTiiT ZkIř+i'AT$I\v{gOqE}$y=l&#\OJ_׻+֮w|+U偩?6`4W~(!QHVJQX,QoDڋgIaa}PP"u:5ĺ%Ȯp.PM[R6 3+ nx^H& aXr4]ȶTĬÓ럤kC]_gNV"Ӗ΍,:hw:iH_DF@"hoÏφytSW0h{5`b:%gKw~Xθ`ҷ)<<@*qj <${PT|3gbϷ`6/<2>i>Sޖ -90 l@9}8(e)ZӊdѳTi@&MTPnT;dZ(BSfTZ8 ucFRO\,Tݨ|گz59[S~p@#So\;ɝNNgx=Z,GzՃI7Y,ٓhuTnQʞhEƁ 07[uBv΁Nv#']ں/b32PIݩ M#哺>H1zg.D8]Z,F x|!h$|זߜm4`itz. a%+ M2ER$eZHcj|’k 1#K~|i-EuGECeD?,* UwO!. V16~GH{{ź1-#E{٬ץMKiU+O'} h,YE,vg2>=Wg'\-j?d`Mx#OP`|pЕE$ "!ȱ4ylZ4a GD6T>zt}R5Bx1}8;'bD˝',1:b}F;QȣP~gϧEhG;o+iܚ&,[3fP,'6}\J(.i$IiakYϫw7bh zݒX2~}NG-co˫|z'dz>) }3Fdf).eevJa+(я8f;c.Es^R\5͔[xeF`xbJ%0Kt>fE,Ci\r>Ie(5XJd6RZJO g*N!^cjA49;Z 1:gܱRN3@ S1ȦUɩƏYUvd_0Ii);[@\o@]x{D Y#n8ShjȎ`MÖNԴrmXhL'j6V $T{tLdBI?7_ZѴnԤ6jק$0_H<0%:3PH8Nsp%.; _ylلulK6syB5%IrfS/|Rɏ[^B7 ;4cn[ÃZ; $K>HT3"Ì=Y z8!Ē)/g5aTc;.Ыl"$9 \lLIY:`aX, y]N4?OWc12Z V3O4+=.I\!tD @Ya %săը?_O (ga k(0މ7_hC!sz]oۨ=w8"2H؛W(]ZUŰ( iD6(.~pNh[7d-lm>x|xN9=XpqX'e>AI!WzڭiWiPϙPt,I#&2ۡ0 A3*ORP0d"ԫ]-&5|d e,ᣐ\3<&Vv9w# m< qAf82%ȎSZVz֨57gt:<ل ݞ-).oG +p){׆{w#aqm|y3t~[~e2MǓ?r {FjԌ-GLH@񑰡lpΞ㫼Pdr9ԧ&V"M-I'bnF uFVJH~b l:EuXxܛ ix7lf2ļoebx>S/e٦% B4EB)w 0[e]Z j ?|G`.{BmWnxjkI&21#d!D<"MF* ` ˽32zWQ sb6|f tuwk⒢B/e\]:nROnyw(WgTzx;-6)M Ll)! ZAeLIFQW `N{)s>I7b͊]Z >=kb1 i&gm)ǃbro=\@x)rk=4:L0fMUVg2}S+vvV%n>2+,%|m4*֨B:>HԧSVJ:E͆&;#[fM#i1eӧpe&ӀhIk} ޢ 58l^x49X᪢CRO4Sf͢!sXJUlS܊$?V;Nf hu4x"`2~#iWs|PbRO֊M/>CrY K!QOR 44'Zf_e|Hu+࿛d=QXP3%0^ g􃻧7I2}ARSb1Ee6 dv'PҌߢ{Ol[1}Vԯ-MSwL5⿍QQ3Jl5R/m#٣4JN[ p9  N)t"QZ7HO$^]eޖ+Xt&E5֟%.\+:q>vAj?o_s+VjV+-7e >Mt-\ „-cYtRϲ`?̙_**r1'Iʳ6EOMj+<УS%$pEb5 ΦY1틮IYzLMFd7vfCzduѯdV8Ct d{آs{o| U{#x}ۊ]'=<\{!jvNsCp pt͟gώ*:dNMMX&=W-=' "ӉK{^M vў:65N+dAX֚k1{Z. *<ٰ 8;OO7I'r=҇_~t0 O(HV-̱> ;T?3[# \e{hr?#)fmX2\^}){jUˤQF_bǡW膁CuO{am73җT诂g_lU1^E8Ͼjvn[f@тcռg6Nu:[Ph ã3?0"6j$)\!/ޓ9\*R/חR aEbZp"Z%M(c?LKL<> PNp}UAiDɨhkĚq@AaYBmMZneW+]Sv𜹜'؞a?cHyD8Mv9b,EafN ǜ6*%C֦¹G (&\;ҝ"'\JD60/Qxl烌2+pXԅGL*_N&m. ء BuScݡ?8=X{Voq&$ Y>AIC(V8cUo!8әRs CI[RHu-SU3$w 1T8K.%3M&(owu, DɀD?6OGɷmQ9$b)ɞk+Ddrx m`-խ1R@QZI3YSj#tI5T-Hsf1R]Ixqd;'7Sujԍ~7'e}?SВdqA~CF *iru;..ӇoPd`&Y[G"iLPI)O9 A8xsGQN`|E^jg, uX;F0kuzp8t`P3w(`5u#ʬ,h1k3B),po$@'YkFD4"TK* E %xoL 1gzH W`*XhL4Kz_X|)t-Èk|Jikkg벱hug3'X^w*SVOI.0],TTF!Vs VJIV#D;?VXڵ@>;PLo]uk}m*GS2RAi@=UK_/+7{_k-I1#ࢸ$-eq?[eQ&NI(f`;bIЇ'RdP E 6e//]+En$yIF=cejj(/V%(ܵ}x.bqNJ%} q0թ#?SLC)sl;=}j|u7$I^_]uk_]̿W|mDlY1b` $Y+zOʾǣQ1i*uzH3]:/;a}A ȼ*iB`z ,4+n}={*h 7ꥤK2-}wC 1KiG.YZ 4z` HfƤ(_-;Tfce t\dZ4}|4xuM&ho p3Qi @zQN_o4H RM(j31U}4)իOz`tլo)p + :GXPPwWπSdJ Nbn![}YmMHMdGLnu$=x " QMyL$k e@/,)_wÍ>i2ׯglb4{}2vil)3~ MuݥĖThC@2Ȝ__͋h"Noڔ>dE&B7v) S~|jj21 i& C;hBqo^xocXƋ6=ȉUM7ҝ1ld2S*vfQ Z̄$z=Hqze0ڃJ%u m9֊% ɥ?Pυ7ing=UZZ@X[pBib~5sQ6O+TG VB?o-?3`CnA_^\?-ڑC>\g+- kiٟ-N;hr%p̕3^ҾZz V]\Uz15ڪĶ**tEô? yhh䍃6㹅(]Dۈ _YY~PCrULwv1dTnMN>gpN1z D-UYRȂep픆5rIERk^sHTޤ#ICuaҫ`14djlr)Q1z|sk6 'IH.i(Z uh8əg kVAofJ ,N\.7Ep@ub 4$_mf+t~Q:MsSq}$:wZKS ZAy\BďQߘ9?zO/A7=0r״ z<-N#W㠊kJ]~k {p7EiXt>|a+?#nZegշ^iڦղ=V8^m۵rI((_s/onn|uh/}s'A?:?}ƆD']tZo5tEA-/k&=ש^RtH0Ul e,8_hGWn/n~f[wo*tedd#6n d"Oz3vFS'̈oI;"$e8: `6|/|iJSR~啋%!2_*r7(f oӈ-QeC}o>هbkX^gfPdK}Q滥 y>_+Q;г:M*t4jǒ2sx7ᓗ|ƕ}hX#G;V"hח]k{֑tϾO&<}VNLhH*x,97,F7s/AgZaJs~ԇ8H싞bG\t=megbRn΢h~HsxWi:}5g[M٥>7ՆQT/N *3BJ?}b`LHlpVo$IX?}C)6K"`t#Lta ,?ݽvRI?}?d@fC$a}ԧVs)xw2xH^tCڐٷƈ1^4M:zL^)sŦp=! 9(i2}'" 32IpлY`yQށ VWiJei#Gc;k)G$A C : EQ61H'9#{tQ*%d~q,X$[V2 wZPdɊMw 7\缪JbtUq e?e5L`+m\T*]Xϕ(ªRɛT0B2LE>\kzz+XM߈+ȋN||ҠDuKbcy%ߤTLWF=]ɷyMt\KWzFSU}ŋ*wz )~A1^Mh Ƶ KJ_9ѷڼT^l4ٲPPZ>>jK(;26G ~Gapa~06%oe%}Jftg"k4Z[1QK F_( )kj҇y5x