summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm/msm_fbdev.c
AgeCommit message (Expand)AuthorFilesLines
2020-03-06drm: Remove drm_fb_helper add, add all and remove connector callsPankaj Bharadiya1-4/+0
2020-03-06drm: Remove unused arg from drm_fb_helper_initPankaj Bharadiya1-1/+1
2019-12-05drm: constify fb ops across all driversJani Nikula1-1/+1
2019-09-03drm/msm: Transition console to msm framebufferJeffrey Hugo1-0/+3
2019-09-03drm/msm: drop use of drmP.hSam Ravnborg1-0/+1
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234Thomas Gleixner1-12/+1
2019-03-27drm/msm: Use drm_fb_helper_fill_infoDaniel Vetter1-5/+1
2018-12-11drm/msm: Add msm_gem_get_and_pin_iova()Jordan Crouse1-1/+1
2018-12-11drm: msm: Use DRM_DEV_* instead of dev_*Mamta Shukla1-4/+4
2018-04-19drm/msm: don't deref error pointer in the msm_fbdev_create error pathEmil Velikov1-9/+2
2017-08-25Merge tag 'drm-msm-next-2017-08-22' of git://people.freedesktop.org/~robclark...Dave Airlie1-37/+20
2017-08-22drm/msm: add helper to allocate stolen fbRob Clark1-28/+7
2017-08-22drm/msm: don't track fbdev's gem object separatelyRob Clark1-15/+19
2017-07-26drm/<drivers>: Drop fbdev info flagsDaniel Vetter1-1/+0
2017-06-17drm/msm: Separate locking of buffer resources from struct_mutexSushmita Susheelendra1-4/+2
2017-06-16drm/msm: pass address-space to _get_iova() and friendsRob Clark1-1/+1
2017-06-16drm/msm/mdp4+5: move aspace/id to base classRob Clark1-1/+3
2017-05-17drm/msm: fix include notation and remove -Iinclude/drm flagMasahiro Yamada1-3/+3
2017-02-07drm/fb-helper: Automatically clean up fb_infoDaniel Vetter1-1/+0
2017-02-02drm: Rely on mode_config data for fb_helper initializationGabriel Krisman Bertazi1-2/+1
2017-01-12drm/msm: Stop using drm_framebuffer_unregister_privateDaniel Vetter1-4/+1
2016-12-15drm: Nuke fb->depthVille Syrjälä1-1/+1
2016-11-28drm/msm: convert iova to 64bRob Clark1-1/+1
2016-11-14drm/msm: use DRM_FB_HELPER_DEFAULT_OPS for fb_opsStefan Christ1-6/+1
2016-07-16drm/msm: change gem->vmap() to get/putRob Clark1-1/+2
2016-07-02Back-merge tag 'v4.7-rc5' into drm-nextDave Airlie1-0/+4
2016-06-04drm/msm: deal with exhausted vmap space betterRob Clark1-0/+4
2016-05-31drm/msm: Nuke dummy gamma_set/get functionsDaniel Vetter1-14/+0
2016-02-11drm/msm: remove unused variableArnd Bergmann1-1/+0
2016-02-09drm/msm: remove the drm_device_is_unplugged checkHaixia Shi1-3/+0
2015-12-14drm/msm: Use unlocked gem unreferencingDaniel Vetter1-1/+1
2015-10-16drm/gem: Drop struct_mutex requirement from drm_gem_mmap_objDaniel Vetter1-5/+0
2015-08-06drm/msm: Use new drm_fb_helper functionsArchit Taneja1-24/+10
2015-04-01drm/msm: add support for "stolen" memRob Clark1-1/+2
2015-02-01drm/msm: fix fallout of atomic dpms changesRob Clark1-3/+0
2015-01-21drm/fb-helper: Propagate errors from initial config failureThierry Reding1-2/+8
2014-12-17drm/msm: Deletion of unnecessary checks before two function callsMarkus Elfring1-2/+1
2014-11-16drm/msm: Fix fbdev for 16- and 24-bit modes.Daniel Thompson1-3/+0
2014-08-26drm/msm: Fix missing unlock on error in msm_fbdev_create()Wei Yongjun1-1/+1
2014-08-04drm/msm: Implement msm drm fb_mmap callback functionHai Li1-3/+42
2014-07-08drm: Introduce drm_fb_helper_prepare()Thierry Reding1-1/+1
2014-07-08drm: Constify struct drm_fb_helper_funcsThierry Reding1-1/+1
2014-06-22drm/msm: Replace type of paddr to uint32_t.Matwey V. Kornilov1-1/+1
2014-04-25drm/msm: default to XR24 rather than AR24Rob Clark1-4/+1
2013-08-24drm/msm: basic KMS driver for snapdragonRob Clark1-0/+258
?LjG1ӽ]El5BͽE%TXM6Mо\,=;n'NLYd3Pj/KOË`* ܊>xxe$GVjpDD%lLʑw;X.)S aN7|\seM^q@<ٿ;N2s^]?"sׇЗ>1XXxӷ?.@u\:yFB;_l2u%<mojzJ 5نC{OGFG#L_1b.#zwC.;!jV/_ asezJeۡvLU2vXi rO,y(n.?o6[r~Qć ܈9ڲ)o^:\3]Ƴ "т*``T^-sm6V .a[o۴R@k7%[菗+A 0=L5IEM,^G A7i5'az@B /o .LN-hUZq_l}S]s6kBh+o|>?v⿪W//_g]̾oapdL.b Nc!G2V*AOS$ b/d!iv \|.GvO)Glkg@)R[Co`«8DդD:oTb ]UM}pI>S$0!Q|= q+}>;G(upfnqAO.2{~7<;ʎstr6땄1f"%֭L.w'ծg;b)7<3ՇGjg20zKeg\Fe!xq_qvb>ڹdxU ;S]_/n8?8Im3{g ӔTjYgm]IP (yY!ԭYwW@baa_P; ]_?)./ D柹o(H}IUa=U9^C22A%Bnt"!QGf>^_M~?-'jz+9b<>W[>+}_YëF /l7|2 믻xl?Nu.m&v?gهcJh }e[-z~"}YJ\* bX=҃@>[>e֊cweA-|swWd0 |qi'Ä;|>~J3ċoh^!H*@4߈sw_C+u1 @^=/3@W/z#" YU'Uity5 rozmv M+W}0M.N,4sd-jj$<3;s % e=7^.ྮ{_FjF˖9s_Bgm9ߖ ߾9j\n"2Xq\tF{?Br? vP>1>'_\yGۙ8hd%^::mp 9Ǝp rtot]~^me#*0tc6@HIٮ,99l-%145\^E31UPn}:ߛ_dx)G,F`% FoB{:8fqXŀ>s1Nzn|>M7+_t|~P|M9 Omg|asz}N޾I3LxvE"a ";I"J؇ B.zꆯ8V˫ 6gh4 #p8k/ WJTTNSE{DEDm x~~fp콮AT($v\j"ʁzcJ' X5~)xd+ ؝oӘKPOxC1U=/b)XP+T`ȱE~]'Cd:Ψ>|4S[܃1wy4w`s N_%n Vі<~s{Ur !W(GY8C[ urh]*MxA"%]Сtaܺ׌0?ohds=a{L h8;V2m8Ro+w&E ۤ9V6 6U%Xeұn>k;0dzܟO8h;`Qx.妡}Ϗ>>b;:zz>x(C˿G$<~}D?༖@~pK./퐤q@81A)-0'zu3[y쬚G/X)-d[},$}PT:? Ók{T(m"ۮֈ(uZ;eRGݾb"xFDLF/XC {ZNA ?t4?j2 ] B ӼL`?dJWaKDP5 P|t)Tߣ foE&$Wg&8uD"!s5!Ύ?{da1l96~Nt|('It H>\5+k紭<ܲyN{<}?>j}1$_!&B&YAI (1*9Typ2)!P8z!ˮ^ O[LGieB'{/'EpH[ŝup4p4A/t}6qeQ-" ݧlG\Sz>NaO/6$o'ހ}>wX>f0\gDʈ̠y$T͐.gg@φ뻦H׬bR@)[xÀe0_= otIN~$Fy+uMgNM#7z0qFǃZvϔ5\]𪬿ácϛ,u][.>lmEtk˳3 ']b:;S1B:S[3y_7pp(77GkV'z ƻbx F߻IMz? /1ɑM yGacZ]xLC(c(|b@?r5KexD/W^)hɰtY/Z'ev{f 8T7jڶ<+ E _&9k׏ CSm$DF`w } V".67^W | 5w٧Ke߱3Fpo\ JRٮ8 AqQzHٿ1FQ͜y>9"1JMƓuXۄ_!\&+H?qGz  CYkW8F;"@ٳ.xF/-u/^DӅ!1{t?AD7yOwz? {={ ?j;:o/))jQžvU9Ɠ;|c = m xg/w[X]gE.f-xɅڹ( zȖ(#Vu=NF_ #|xn mVIX ݇d"DW[:U_ZKzmWCnpSVT k_ '}8\;OJGaL7*/dOЉqA?DT"FpLuฺ ԋΛm&kopOv-ia/.|!Sc є ogW$JKP\ 85PJ(ño \Y0swc&]mpD׹`e rx\>7_S2YT93QnGuyMnHŎ6zé\$Xw}6n?VzM'2Nvnavq; /bYmЎܰ?K_)32zF{@}nW6Ϝ&MR^7ج`!'*Ҭx <HAG_y?S+Ye=H()PQjBn3ۆ]'ܼ͎i&/q.DL^Y-:bpyH*b{泘4ns1U41"I7~c@!v}Pp]>v˫,>Q?@/ٿwǴ%q!5ǫp?Ĭ'r<$=H|8 &=k* !IBhvZ*tjS'٨?$]ns;ێo u VN:UJ_1GQ12 ai=PrB%г_3oO-?-g3zjĩ%eR /iAMCjE~dG26WO);oLtB;a`oᬍ="Z5Fy#Pjc>c/V˂ŷE+EAZJ@2v=Usi ~>{xqQ(|Xxht=kT U.0.W+ ~\l}2=3/$a_r ھ*LΜ񨊑 lʃKI5'9~^cϣ#CqZiKVeV2a"c /ё$yغ$no.2F>esKe⵳"*Ε|& ⢧P[܋Cøb¹z:vf+2[rIws`Uަ¸sBMpcp<,bekgB`qSƏΘ0/ 28҂1/ZiAS6|^ކr # ~wLd\!fYB^޹]pIN,gOٲUz!^j2 B3Di#!(vV(ps'Cq9v=r2p_I_Y RzňSS֑~z5>]D~*K 7w7㚕3clX1bC\VpN;`@2b"y+wyiȒ.yU'pM1L9j':EWdAZq>q @KC kLJH|ނH$P $fk75c19ODŽ1(> r-xj# Ž(a#%bsh1b j \)C9nSq8 #z+Cwl"m6\qq*]VUJ-9A4 4ylϺoXm#||7wP0a2EQhHb.l.[-ú=88Op=b3`wK*jԩOHA~˅6R1zWѼvNCj }uuuHӔ9/ϗ$0PUwޝR8!2{zCk2/)&j^|}܎<ljkN%ڴ +qj72E4 z4jhy-AN݌ua.݃Fi"j\c5E$^1I<)]Za筚B^2XX݋'ƈz\uC7c{C|^ʏ Be;mq%DY3I qR^;-U+a+MD`C Bp%ni1Hŗ5$ysGTKKD6^ovfA-:qC,CGqT\ [X+ĺT'ZWmr}ţt87V k8S\+Q03[2>W#^n:α),=$)>} 8O4]Ǣz1'Y(nsӵUcXE;1U)Bs4BNpt-]\w gf׿PdZP,=HYͳP~"w(bkبqw5^c"%b918vS@|D^k=<8?7'mYZ9L2ȴ@ XOY eF2j]g>jX)v`o=z.oY#c[}v7 |>8&%g*HRir+=w|K8lK:e5\%@9(;X£ 勄>^dϡ Ŷ" hyq.31Hd\-ZH>jo(q8"۫X6 `5?IJ-*H1&r@KTP9 kFY8Fm~5{oo2myF=xr$FåsXCsOpWɰ"uVVv+{b%}UMMG{G. NE_/53{lǍƧ oNJiW3!D+띈V`gUNW\{b06aR}z0QTI ,XiYj[d*dA,y~_WU?y{MC鎄(aЄCWA'ͫLӂpsf86_6ӋeH<@ ꫉Oj4[[0^ 9Ȫx\W9kA*N]Oד?qd'40}Lf3J1[&į 9l@/"^Rsx7$u1oA m0$-XJ{i#`H&EGL-`09,bq]z2hi( yxi֓t/.AGϝ>CA'_,6PyZ˄O%GĻS> Oz"%0 Uu7WJw;k07g;[k0% {%Vu]w|6v;}FT6`j,E!d?'5 4!quejƛhɗ3eoG}qA;=xSJv(C9u<jeVR78>(bc=i>.w3\k|,1ҎTNnɠ<2 phXm|HJW7>Qvx{lyw}f'9 Ə[lqr5ψPߓPsd>]Eqrꂴ{rbou6Y.\}zyX"L/,'oxVDry"9tFc(NkEj_^uX]wN+!PB%9=(=]! =?qk=_t"uE5'9Ӑ֠q]o"I;O݇ F'~_Qm|dq Xwqָ#8c(uktu<bP(uKd*}Zxt[^;,om &ӓu^ bG"xK`'u Ã-@sd{f%!9{We0'=gff0?p&)5ZAQe;ч#kZU.oP]9Bu]3 ~4Cn,lwl٥7bX틻9aŧv >qG/nѸN$x -鳖ǹufQXm\̈U6;*_&7&`})鶮M^؎ӻ96;ZH)hC¹cR(T":BE!=saIEkGhig^-{kת|vFNfd]/pÛDž O-Roe=|,MyS p:$!;DQTں) -|2ȧM˼qXPMs]ĻIo:YyNlNst$4RR=xN3}u8vSZ'9sv.S].xwS32> %T wYS\Q+["(YFیɴk`>'쁞y24( @%rO@ Ae ýߗ2˯kPQ?"'zx*&sÊL_jF^?O~y eiCOK_2`n5 .!Q(2Rb~o!]bl@h'3WU \,|[1Ƚ$Wxr=.N3L0`L,~#S Z֔{ !~:ovSOustW?Z]xv}nnth:Mkz?F }Opʣ11U[mmLL&H{ Uci`V#x_c8ܑ{a|HkEKu[9\_CduK1x :zjH>OJ~S퟾1\Z_ao9YGS)0'|`9 DU ĬǭߌiY837֩vHsos!Ye! ݿ^w:N01KP J@*UT8;:y  ↲^%&T\Xةs˶ gqU uI շӁÅǵM$DFLI~(vfB840o[Rkp%?LhST@rv.wLVڼ-/.;ũ=;]7:iU' L i] I)f(>.Wrj~w]0j6& ]J7AgVtjfCA3P.$É'&'4ke$:º~9]!'\HVG*H fAR̦Dww,9྘;&[^ͲlKꠦO3dեS0 RSf0V1@XQ[0W?ٌo|$%0R?Gx=ӃF鸘h/kbH.p0S8ɔPd.ѱP{d\B~b&Jݻ3V]9/X/mL t0xPRKr VPXI)y+8(1 5gykśI%xc|y֤O^HxO3u$iU@*D (Z6EER0"O,QS.ҭԅ]Hoea$oѿ>ᅤغ5{=5{~u9CG5׿p gnEeי,<Q6# ɸ1a39/(wxqo՚>%|Sxv[ۈ[>Kmk]DU@SC[?,<p\pKuDl.)7ĸŨ5;Ŷ43,UM9iG月Jbrf뻯1`I=vZz躯zGF}=$8\VmQ,Cڷ!])A׷ u$#Gï|ȁ8`=ZErHH7ߛ@M.<.mL7M>e<32ƣye" ~K+^1ӿs.MQ )pM 3TSck1*Am: 8;Ul@ Bf>C}9jl{7T6ӣk(^EՇ=85vu`ʋ\fj (ۼ[;Br1ZCE%'%fʨc]r I/5oױ>KpT3J`qU ˰[;Y1 U 5R 2]|`tF g~( $hqM7pAsIv2:letgeq#RN(80Ï% &AץڡP2/Ć%\Or1>Gn]N'҅`DkD׷l*߸M.;\R`<(Ra&D9ճW0 sF=@Z#11[1`H[Q$qx+'a#xvYy39r;"dDs".3"Ӽ1"P^H^Z vţ\P8 Hyt>+OT*O"qq#7ge_[AKqyؾcw:QIZ9uf %VZfi׀vV{{+}WFi A6.bcls~oa3#t`Q g[GrE3KT*iyX|*bX[u:exՆi s*=WMV6SK58 =@V?iJq.Wa~sm[QMUTSeI%q?;v光p5_[n^9 \7Frnσ%P0ȄqAGjSafr 31_V>"~XP3i|r]LWs.AJ!4_ɖ(7й2A$/ݎazYE% 32J!stYnxKw'9nrz ks]@; +&m˂z7A]"@āy]8Jþ[ _ [ݔqy2U=vF4X6|oiݮv }-*K-ދvkJ:"7ͻav25`jufx~yLh^l!W3N4?m}v dp~+៝ g Lmϯoc-@P''*by YBxϣQV|@D +?Ϻ˩4Twsk WH>"ތʴƍxuOч*+E qq%EU^,\0sdP~^K]Rv8L!Ʊ縁ǟ΄f͙r-/ŒB!! %ۿGw_(MN" iAVۍ2Lή +i=]r@IYoNj®ԇD@+&!O%(ò `ehtȌ(m_sJ~aOYi"H*5@3$QHE"8OU.Ƚ^A`j1ˉwk+[(.Gndw&?oiw9#TN_ ^wk5`6GO ( )+@ B*gEцD^Nw̽|,ՃmP@3/zp*>ު+.>3ե Y S*% Iah1+;#WzxjQ]Wzxuv>Kw}  t}{Ĺ/=%,(xR=֮?j:5,Џoz:O&6^#To^N3}ҷCǻ~MH2PT^ 52Q"8?\#6 D4pQ랠硯ÃG^^8m1ټNzfV1{ק{xLa+?2X` EnnuY`vyݻLywevYSGBÜ*>stjkli?i O*s=cvS~ r_˴ ]B+^2|<*otVU}}|dBCF7FR}eɺ>-6K0vn>VjQdEd|M3]SA 0A2]#D/\saRQ*駥z۴Jv I@c?9T]N7=83LnQA0ٟHP䳧g_[v Z0琺9$WR?& du18M(p):q>FxZj񏏕6?iwg2kU;f֩X5쏔~-YƦ 2\Jpso9V\] ZޛJBHCe+QHCH==[A {#n1wy3|"q+uV}tݯ&.Tv77hozABClFO/2D$V(\&MEw5ؠzmݚ`E ]RF$_f0u7 _kԬV:.T8Uba*hZPIsᢢji; WGtB 5:м90^\BA| Y8i@:iZ*QzZ#;HbjѪe->(BzK8}[QQ <(S2RY%/a5@cCwS*L|MKcˌ0ޟ(szQ{~n*|e[?Xݥh6%; #CjSQPFܩ y%/ot> K}!kW8_/W[`- G~PsaxMus-E!G$l?w_F4'ܨŚϫNMKS\=ђ=8k[$ױRτ[G=.XoL~voQH@3 vDvc$rz+#/ޏ/k.xNFH/<q!׍ZHx{aٌN0.AH52U?7۫ј}B?8U !bAQyNq<@a_g/WUKp_޹ }V" k.@ !)w0p2[t'v yoO Լ[Q5p^\Q_p ?Җp/ap1SΝBDcbԀMK)X.6QN#4P#Dk#{B'J>=(""9Η%X]+3Z.+^ 9ît(qVR#0}_?5|WN#5|& `)f xL/T!lz8gjgrU:b58_jҸu^: &x҉#E:4h$x5tSAkԋ~CYadcKGj >_cP>Α1iꢗ1?eyf_ Teyed؅삣[)"mkxVH|@ #MOU, Mr`N;֮o?U;si[ᶁgPYXywyL\u_1cht7Ң ŵIA4{ު%q]X>?Nđ3ʞ487i{=ꁃۜOrn`38uk],©'=c䀏_KXZV" Wo'?4ҁ@Mzx/X{:~L m:ԆˌRզڼ(r;Yǝ CDH*q@ybrSoĸlNjlkP/(; p'u-Em 4?dccի{ƲF}z5J lZ=ACWV={w/̸=+w0pW,CF9c*S|K.ks0_ F>U⌊3##ߤYh?hf()$ {(ԊU4m|pX2싹 IG p3zn~?pgd޿*2Un4n Z+r)Q%\3p~$mj\:m]{k "Wl>|+3>F,+88 #F9_dVt\/{˙\ %ZCa.gl?/7+rגM|=n$B@U$> $^^-t5(8'q>#;/1@0˻d9yNC>]!t! _h2$,dx1@>+MJVc@z20e!x/qv=r7}c3#4򐓏!Ƽ3TÉB1Ay8Mw-LQǷZ߽L¡ߵ\ <@k9vW}y1xDӆ[y`vIz[CP3pzg3`#f3PDh1ו_Cb繅 KX*d'X%pl%1U?Dzk>l!. ;C1Jh,;h7L'A΢)"s=AWdc!)η*7٦i^KHiO5ٰXӝ@<~xg~M$i'?/K?E8>SUS6>k>&ÞN_ 㪔μЦGHo{3a,"Γ+na괄&x3`4 Ofq&\rf/G ľ rGEqrF[r;݁gĄ d[QzXH,w-x{L9gߔf%f]vnY]-|냟ImiHG2en*j:A^nF{n(sOòl| | w_׸wBv  i.K&u 8xgi5S[34ڏocW k7Qo3 |#%!ƶFu!Qmߞ`P *4@9}Z/ݭ+qnڸߞ:y,?]'a QfrKzȫxF]wW?)h ≖>9X_ŝǝiKR{04up"_vx%Nhٍ2p+e3-z^kD<-^dT. fw^vg.`"vEX+>͝+Jwv*G^4g=^M:wDxX{>܌ 㺰 hɐwwff,^ޭ5;`ߩ]]h:00uI!U)I )d*,>Jql a2"#^]1յj/r&σWk]SQ kBe+٦(}[U RDY-%39֮xM+qmIM7l1W8԰ ;9ϑĉOJM0&N^s"T#SJ*_%/V٩F L {g.,.JyَNwȷ H׋XIH dL8sM|jLi}/m\ݑbj=Tõ{0|Z(/{3v`lDȀEmg-X"-zX2szry[9,2_(|F h”pmȾeT1t_,`Q 빀]FBVff5nCWȍNO+"1 3<|_ VGlzX:@%2563qR}}ae k0:3P?x /0WO^KsZ#t pm-SX9:: -=!" Αʾ5x*sS"GBI*"bHPɇ|sÑUXǓv=C)Z]̱nH2)5Ϳh| `Bci%on(jqa]w?%{Z@b s 1DS[n?lh;A+j=vgۋڏ{ӱeܬ-G$ ہ$q( △d|:UuEsNgǶA$)Ug]|W\ij; w/ @U86\ cSA<;z?ݑ>e1fNg⽗Zz78:AY|᲻raoJV")ʎ( > Ѳ`E5YPP CpBͱy(P4om&u:I{ ;'Rq0π"QKE`::M>;9!g[4v>E/1BC8+vj]M蔙Cb%t|dbi`#yLEx`ށn$IRr::NlVN ȭjBň++ p^Sz\&@AH$%+K |o^Y)͊J4W+f#sWG{Bpy/l21vKltw^4_xu,!FpGzaxabJgĹ?t mz:WCk; NNxh{D⦎2sňͭ{o q]<ƺx&`Tj/]=xb^};}r_26nY!rLJ{l9&[#T\1?+ 8|czPߛ` 'C* u95T21JL}FHFbrFL{u9Jۭj@*iEDBQ|Sjx@~)Prw |Hkv sk=D/QS[BuCyjX ?+! E.ps > ]} >I CނE6\i:QS)+(R٫*Rݏo?X3ZM#.hcֱQ3zC󈑑Ev>G^z ilW YBw…O &'q"*IIRYغ}T2MU8XޓukEcg>7Y&00몇P^, nJ] h :cU"l rTvBWYm[#R/WuAh)'9v  :I˞VM.5ׄ_ sW_ 69[@ kkDK(#CxrZTGv{>}.aRsY&s\qR$'QLN"8=6HZF(plYOaIg@X"QsB޿}UsT-ӆ+{!y Q(PA)~)3AAAs2$ 8Y38|R%`A0]ܧCߏ x-V^v^>Ϝzu.f|X:TG5m渘`W> 8ȹ#ʓє!S4@BKK?rԾ@h"d"1^zIu)+EW%beg^$*VJEݓinMbP0R(K ISz̐.?4+i~zUd?N|6YpT߁%'P]lT?Îܷ8 kP_&bVR2۩_|"BCW2z.vi_#-5,~lwmg1WE 0jCs 5DSX.WfQ}`Ǣ"6e^Gn:OvmEs0Bª`$, gPYXtQ;_JE ]$>Ѓxzۏ 4q3i bı 3u2t̜~=?4)3^G "DH(a͋fncAJt R0x8{V'>N{Q}<1HUr&q,WqVj?_~ pjN!{,)81h̤-v̆kR;fZcmP}.f~|2`eEq" ZgifLt{/f ` Fwy~E99pfu"Ǘ1KޚrIK% cY\+`E+5W- $xD ~1v41v^`oop;KC#< f>{|/pNMy߶G!Į\|nߗk_skܳ!V8߸%@G27?BDHU Q2eU\52EC鮏: 7!;SSɲ:6"lUA \-d.P]"]jl̶-7X d![֟bJ \4{O*,5&+mPF^Mvʇ !R@rt?tVk+k[ΑUTK@G!c/Ӆ`GVX BڣṀyQeZNú!y`򏚥ڡW)-˛U,|)p}id]éSp09'0FtHy'Xv›|鲉~~W{ms=VE}%ӎ?/8>`^Z `Tx/~j};>=O DSyΊZd~dO>2*aZn,G|DmOtdpE>%(U.Vix #Tf5'꫺'|2J~:*CaWxZ(k Eu@́t6U(UZ_e'+fyoGݼvZ =,!$*_rΥ1񵋫N{F䕾{0›5τ5 >x!1 w=R[Giphx%*cV̺u0Am7EK't Wb+zo|> 2Vf?o%HTU=6qv )B*Ebb.un!ۺ]dEN 2x1rvDZ(qڪT_nJ5gipx}χ 跒$z#o-8Єpu$ gSF_Gy[}=Gۜ<8|MXK TYT II|bja3#QSцk^gB~ ʝ J2`Ca6Cjk۹8}O|.Oa7KY,qqCt+yNDvb׹rP3oxcۗ!ZDy*.+YT~qWPXT0/ʭ"o sI9NI X)ï648RP*#s<_ԍ`*`LT^YUF4 %82>ێ[+£ ~~aT6>5A" RodUXYOė9{xy}bLf%_!pm4dѲ$wr''7|Nr}:ŹζS8_}-jAd{kj"OD'o&GI\:šE$A{^@9*:1wnaSG`fI%FgC t%lLG=4\UW@2V6\T|#. {U{VǨF/uD}z5KL\^oo~%twpDI+Ҩ~7OT5WI8eEs$QH=wSA|ɭU=ӎ*,Qri`3E$o=M%2LeV[.S8Vm rCeVw&xD #%38=u9I;+gV.q>&n<&ȧljȺqv%.ך0~t Zt\rJaP*6Nv%s83uNS` FUǰaGa+?=m6lq2z NF/Ge %_Uf̉}z ̯w%b|;f`} \2\R??TH>)Oj:`,K[Kj~^/~f^J<fde ^wwl- 7o-K.萺 }8 DA>Y7wST, ^wv2!頇$ʁG.8$e RO#sڌC~ K<(4^>+kpf@V )\kAj&Dedd`G]@L<ټ>@*2woI!륶/#u ur|sefw);7#;ҟ yox?S9JEX|>W5Ըɸ8  A>,vd#/G85i.=l-$;9H|]h{Ob zNIeX_-_85@ɳHT[㋇{\uwY$c۩z\劶ԭɠM 0h`$ILPw\9^;6XEXҼ+C'o.(`!Eǂb ~H /̤]L`zK] hbK  Rd|IMkp|T̐HYΝ̈́$&2D{Im[N9KDfųln_. 0X @NWt[Xiܱ (]gdpcÑ>G_<+ekW)n jhl#ꏕG<a_hO^tߧBƛf̈bՖ%L Ujݩrpښ' *_a@,K&۱fJVUPNLF aHϋ‹"ó,Vno"H"YpO[1Mxfql}g}7?Lß%U]W)V_'`I?'aR"yQА5|A.𲟇j $kC|~FcN>"Ow֐uKt>7tJ)}NnQ)ˑM}D~:ݯKa~ @A-҆GCF%VɵM8AtWV#Mb/.pg, (/,d[γ_1rwIPLqPVaL5WV{zaQwOMO=:2t8N?5?d2gq7M]l`FB$ 6ħCfi&LC3 !_\q8'nFr{"~ژF9_dLyg</d;R7QO]=ND%Nn%MO/۠XwmC8/4.Jz<`/=ABgybtן-}vHd4 Ek<>ǂm c7<9 cфItR) !W(}_ ?psïďkU*`_΅T?EP(BEGwBDP-L P-Y&𶹥 !,@x*$n$BPN]8>?b} \CC)0 !:$t{s_k#0^i.E7= MQHY L$x'vN&p;y[ˠ9ެ$b`܋ n(`,!Tm$h>N0?T%͛idKBa ]^DK,㑮`p.x ䷫C:,xgC0 ,5 " <^|]ד%Rx˦2CPvBxjzH֍5y5g 'J~!*7txoDa+3562.saJ8Q!*sc<*0PjmV#' g-sjଡ଼C;%RS ޱg:[d~uOtB8;!Hvյ5[P%HH^Q/S#yyogP!Ɏm1$ ]>!@_X0I?h`s.QW}D|6W;ױX@ޢWk`i8%{* Yv_e~<> fաNe o?志cZN7sJ+l[Ͻ_ >'#/b8yG# 쓬/իّa\Brbbrp;3\}T 8Ws*(cMDO{{A|xϫghUgϫ)B.̯vS B&cKre ?cB<_&TCDUrp$?U(?S?7NGխ@!U)z 5b"`Tخϫ]s}pw7{H_c!o}G] K6n-b 9MX;DqhNMqU뫉vaۇǯz%ݟߌX8$G'+XC[t .^곽N /iiWT:‚JzKe1 y4|v>/ͱ7,OjrQ#(^ ŊIG ?fma W Ƃq_jknNA&en~^OɌiE";P.`$uzfppA6~Vy~كV(x.y>߫ȮVt[EƠsUbKT:=G|ٲ1<H)..NAO?턮1u!YV"m1_T ~Q#5$"jCTL)TOQ]wY:{ܷ/6W/'SDXTQOY fz Z*hQn. w|`_T7 6"U",'V i |5Aϳ~|{)s Tgu,E]|z du+;|-y(w^UBkm-ayuſ/vLr/Vc4%٬AtTVD*]-ȶL_;|)=)תʼn9P>B NL[E95ʚ4O3?@SCO.TkZArpF9b.7&kc*sb+]x\g'*,tZ `jY5ۗe1ӹwP(Rʨ6ŴeyB/[# )+7>%hxue* qG! uʈ _\a9ng;25˹h 4'VǺyA/:kޡ7uYٍ?iM'7od+ˏΑrQo~]{p `+9t<(}t!#p)n!a rk_KU`3{s0>.S8JpђGk1WDw扐#'?}ڹBG_2CTd% Bgj580I;%BMYZ-X-mM T)Qp޳$&-lW灱uVa̋`d>!L&}h!E-P^vv@8yh{X&r?='eAUVsMaMa8b oz]YP9`2*Pt鹤gއmཽ^/ʽ!YeQ}vjBsЕ_E1bd5QA|Fs,u7yg½U>yoxƷZwLn+ًUɝDV̽S@wFC'[ձ,9Ox`Rvv=g߿'ciyϝK^lFSUGRBX72/JQ.zTd_rymWw@lW! ّɹSАHw> EB.^p}T`QS!kǀݸ2CO_bͳVq$Jx:,&[m8^|$ 9ZzA,juqfOS߈r|"` @`S[i{ͪ`q =Juih5EbC(XXX@lUG*V CE9 7gBjF#ԱR^ܵnc-.4 u?և\ 7(x;؃,FgXH b{5C=H{ 'G>Ta p|0`p$=BA#4)'MܘԌ`Hҽvr nl+`bb!.H+mƽMFpANMG6I%ev< .0`E { *^XhiItxnxR1fʎN5PQP^7AUxNߩ+4zysB˾#^gʂyq d;}O0QԭRݎEtT.twx#8VƋ;5[/uDV5;/Lk}u+Z]Vi)V!q*$diŁmkqmVyڑ*\T#{q{VP_-ht-%?9#bu ye:;ZbP>8ƙol{#$_qW5wbn s= 9s rO;sz&9)86FpЛy|`DMy2@<>Fx*z≋Seu(`؃#_ݺw8Kw7Qj&]g5"\#GCuY͎x9øԸs, \<>;3Cqp]wg0fn笼[-ds;j7Aq08kʜKrF(nȽã ǒ f;$FMJX~1'7-Br#D*,qLp>cϑj NR/L 0VqL` )9wZ<ִ-B] ;ANߕ^::=3ay#>ƨj<8D,ޟ,4lq3m4 ҂OCsUd[ӣ[榈 qqbmF' \M:뎽V(Y=MzZ2XÜx|01:p@}e|>U|K!b5:஭59>KrHЪy:Ⱦ2;uU}J!j򚉫~ h"~&"q WG5Si?Jx,>Ѵe _;^\q|H7O80>6if:#va**e&skOAƘ+X*Uh|8>Ur 9qR7ZJWen%q3:\7inb`=;yΈr^Y[>±\<"&"Q 8#| |xUn;7#$t,t6w.O8" jU)WKCRsgp)7BߧrRd <W>!#ȟԢ:. w&O AYqo=Qb;?"0 ~쀧z1%\W_`]~8QOo{O(Eg#. -/܇p"GVUK> TkUF%5{}+ZįhxQ)vIH`BS>ݙ#/1yp@O>cqGj\CAw?lĂ.qx*ggR7?ł:NzI_/q5_5xN/bs»ӗk`(IFo#3uS!@.H ¹̈r_d8p?|<~q uI7NiAJ: ܇rB]#$XP\!5 gQ#^pd9u?l9ʈ9Fq&ncxqEL8Ī} dun}QtOg1x> $SܺGY{CX&\k20 hmZBtW,ybl(#/ f#텡犸s/7=iߚϱ" bo_ȳR.04P\WCwY%@n>+-DZⱋxU#YWZvȵwt`Hm1͒NN¯w[/Cq'qr >Y98b*/F dodSnuU_T]۪'z~E B+a5K9b4;Mbϯ~zp(nC˸d"ZW%&9EЀ(UP~>op &{ O}mG;}oueIV:lPѓPۢ- (p%f 7ՆKi;"53Se߫wVt%%)mrT3FyoԴFLxOߟ{K'33(Aoa5r^\8E@v/==j'YE`] :y|Cty nсHMɆw,3 ^|V ʱ7l )<7/m7ǜ @\jqGY8i2:88f`A# 9 Ld\}=ǼְVyqJ X4%ILUZGwy^'L *pƱ3ȱ4@_/'>"h|reuj␢/QM ȒVTYZo0>﹓Aب r6] 4 J bVg*gUIa)CO}d"oYoĊ[LuݸNT٩/o6$~"AҍUFSYxUskTXYk(`1C9IV|sEƃԂwwAia`b%;]D9>+QH2!Gsi0 "H{ia$? rƂ+o{KmƪLj>HD@FA-8bem wD5Ĥ̠]}#J.op~2Hr !~]8\pfzlI|2o,v :Ai<] )q`cu4"{T#?/~։W%_y91@u?!F2!.~"06] i{ahp7"#̝*~N"rWS-3Poւ xYIvtuU͙Ntϫ6_"[ ;{0()oI'vy=>dt{AC °+釛^g">r>H5wΎ'6 *:f0uq$$DG;jߒIݙ\tP290= |!:(dW})Z~.lCZH"`j&Y~6~cIF"!0{NVhuRK}>)ZW? 'oa sNr3xyLP >rTknQ6 Ijuz"oDL@4 ! NN`7ǪBG`%=iq1vxv ~'lT_ݜ& IZɑ 'A,rsU_e? ӝy ܝ>KJ`<}^=7])_i O8uU 6m:!].c9>dLe#G}y[snhQbĆ0[;&?2cp-M`hg^I}T3}ιZ^$hK10ʈFWՕ=Wk##φ#=|>DAh;Ƿá-.0 >ܼ 3/6"~6 C8q4 ngb X!ࢢxZq8'F#D1 j n j00Q̿i^\T]u:7ʍnэ3t|أC+v8oNSzrl8zy_GBf{;3g%'LkӾ\GF 371xƆ$z{$Sk4'E̾"pŭ ~$?N(>σ?dkuRGtdL.!xDhKCWe8貏´觋hiXt7E|Ƴdҵ&L=GB{>IPLyZAZbr౾>;63loP1_X MBϩH_́l(➿ <}Pt:T#c(~1pYwW4|3~̢2:9Fdlu#h׃q=~FAD8A'i+N. D $.^Y|}T5gXhjoݗʉqfW➷ Ë10tx'o=J{BuH_By+ ؖ'KAqP|Q!fEfs[Ѡ>q ʛdĸfaqX'{3@Sԃw&Qwk(~c+~0y?׏Dt!;l[({?:&?yN^藬@4?F5萚"hS%h@ HXKHЉM?z6s{RnTʉ(Mwb{ ?ʽj*5<[ͅsc$7={tEg*ZIk8>k'B UTjF6qf议.h8tc~](Yɩ9^2)oIzN (@#T\)+ 2;~t_G-qsʥ|1}J25!q!ċ f˚<0]iςD0n۝],:gX%(rd X:$ ^ur.O~\,_.fdyۧjtusB]C=ku]?}_xbXNWMBNWH=4'ϻȁfgs_kiu@ߵ4=Bɖ0E!)J oݭ3t{|-Ŷj\ٴ9Ĩ4]U!%COL?7W}ARcaWUI,DDO*cAHbgqFJhRh-fjj$XsD63LTD%C@;UE_T CCI>D44!|^58J)PE0TLqہQSA ϺkUL1BJ- vk:) .??pQOц&YQ u.?Iw9܏$ 4h_ Y@zm-TۛRњYX+ݷ?L˫l@RrkYT2(o3K!,UC[4QAUd$yZswuCh=:%!E/L.{]l~XG!Cx@:ސ?D)IcyLeTk/HIm