aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/cache/service.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-07-14 16:51:46 -0400
committerMarc Alexander <admin@m-a-styles.de>2013-07-14 16:51:46 -0400
commitbc6122b64ffb5c13c26991f78346fdc7dee6f9f0 (patch)
tree31673423cd6ab751bc8b102c97e89a182a94e219 /phpBB/phpbb/cache/service.php
parent79dd44061bbfeab64dd2ff7b40541612c219c33c (diff)
parent1891e24ea6f5b8d5944535479182e70119b2979f (diff)
downloadforums-bc6122b64ffb5c13c26991f78346fdc7dee6f9f0.tar
forums-bc6122b64ffb5c13c26991f78346fdc7dee6f9f0.tar.gz
forums-bc6122b64ffb5c13c26991f78346fdc7dee6f9f0.tar.bz2
forums-bc6122b64ffb5c13c26991f78346fdc7dee6f9f0.tar.xz
forums-bc6122b64ffb5c13c26991f78346fdc7dee6f9f0.zip
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11531
Diffstat (limited to 'phpBB/phpbb/cache/service.php')
-rw-r--r--phpBB/phpbb/cache/service.php406
1 files changed, 406 insertions, 0 deletions
diff --git a/phpBB/phpbb/cache/service.php b/phpBB/phpbb/cache/service.php
new file mode 100644
index 0000000000..69c5e0fdd0
--- /dev/null
+++ b/phpBB/phpbb/cache/service.php
@@ -0,0 +1,406 @@
+<?php
+/**
+*
+* @package acm
+* @copyright (c) 2005 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+/**
+* Class for grabbing/handling cached entries
+* @package acm
+*/
+class phpbb_cache_service
+{
+ /**
+ * Cache driver.
+ *
+ * @var phpbb_cache_driver_interface
+ */
+ protected $driver;
+
+ /**
+ * The config.
+ *
+ * @var phpbb_config
+ */
+ protected $config;
+
+ /**
+ * Database connection.
+ *
+ * @var phpbb_db_driver
+ */
+ protected $db;
+
+ /**
+ * Root path.
+ *
+ * @var string
+ */
+ protected $phpbb_root_path;
+
+ /**
+ * PHP extension.
+ *
+ * @var string
+ */
+ protected $php_ext;
+
+ /**
+ * Creates a cache service around a cache driver
+ *
+ * @param phpbb_cache_driver_interface $driver The cache driver
+ * @param phpbb_config $config The config
+ * @param phpbb_db_driver $db Database connection
+ * @param string $phpbb_root_path Root path
+ * @param string $php_ext PHP extension
+ */
+ public function __construct(phpbb_cache_driver_interface $driver, phpbb_config $config, phpbb_db_driver $db, $phpbb_root_path, $php_ext)
+ {
+ $this->set_driver($driver);
+ $this->config = $config;
+ $this->db = $db;
+ $this->phpbb_root_path = $phpbb_root_path;
+ $this->php_ext = $php_ext;
+ }
+
+ /**
+ * Returns the cache driver used by this cache service.
+ *
+ * @return phpbb_cache_driver_interface The cache driver
+ */
+ public function get_driver()
+ {
+ return $this->driver;
+ }
+
+ /**
+ * Replaces the cache driver used by this cache service.
+ *
+ * @param phpbb_cache_driver_interface $driver The cache driver
+ */
+ public function set_driver(phpbb_cache_driver_interface $driver)
+ {
+ $this->driver = $driver;
+ }
+
+ public function __call($method, $arguments)
+ {
+ return call_user_func_array(array($this->driver, $method), $arguments);
+ }
+
+ /**
+ * Obtain list of naughty words and build preg style replacement arrays for use by the
+ * calling script
+ */
+ function obtain_word_list()
+ {
+ if (($censors = $this->driver->get('_word_censors')) === false)
+ {
+ $sql = 'SELECT word, replacement
+ FROM ' . WORDS_TABLE;
+ $result = $this->db->sql_query($sql);
+
+ $censors = array();
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $censors['match'][] = get_censor_preg_expression($row['word']);
+ $censors['replace'][] = $row['replacement'];
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_word_censors', $censors);
+ }
+
+ return $censors;
+ }
+
+ /**
+ * Obtain currently listed icons
+ */
+ function obtain_icons()
+ {
+ if (($icons = $this->driver->get('_icons')) === false)
+ {
+ // Topic icons
+ $sql = 'SELECT *
+ FROM ' . ICONS_TABLE . '
+ ORDER BY icons_order';
+ $result = $this->db->sql_query($sql);
+
+ $icons = array();
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $icons[$row['icons_id']]['img'] = $row['icons_url'];
+ $icons[$row['icons_id']]['width'] = (int) $row['icons_width'];
+ $icons[$row['icons_id']]['height'] = (int) $row['icons_height'];
+ $icons[$row['icons_id']]['display'] = (bool) $row['display_on_posting'];
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_icons', $icons);
+ }
+
+ return $icons;
+ }
+
+ /**
+ * Obtain ranks
+ */
+ function obtain_ranks()
+ {
+ if (($ranks = $this->driver->get('_ranks')) === false)
+ {
+ $sql = 'SELECT *
+ FROM ' . RANKS_TABLE . '
+ ORDER BY rank_min DESC';
+ $result = $this->db->sql_query($sql);
+
+ $ranks = array();
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ if ($row['rank_special'])
+ {
+ $ranks['special'][$row['rank_id']] = array(
+ 'rank_title' => $row['rank_title'],
+ 'rank_image' => $row['rank_image']
+ );
+ }
+ else
+ {
+ $ranks['normal'][] = array(
+ 'rank_title' => $row['rank_title'],
+ 'rank_min' => $row['rank_min'],
+ 'rank_image' => $row['rank_image']
+ );
+ }
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_ranks', $ranks);
+ }
+
+ return $ranks;
+ }
+
+ /**
+ * Obtain allowed extensions
+ *
+ * @param mixed $forum_id If false then check for private messaging, if int then check for forum id. If true, then only return extension informations.
+ *
+ * @return array allowed extensions array.
+ */
+ function obtain_attach_extensions($forum_id)
+ {
+ if (($extensions = $this->driver->get('_extensions')) === false)
+ {
+ $extensions = array(
+ '_allowed_post' => array(),
+ '_allowed_pm' => array(),
+ );
+
+ // The rule is to only allow those extensions defined. ;)
+ $sql = 'SELECT e.extension, g.*
+ FROM ' . EXTENSIONS_TABLE . ' e, ' . EXTENSION_GROUPS_TABLE . ' g
+ WHERE e.group_id = g.group_id
+ AND (g.allow_group = 1 OR g.allow_in_pm = 1)';
+ $result = $this->db->sql_query($sql);
+
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $extension = strtolower(trim($row['extension']));
+
+ $extensions[$extension] = array(
+ 'display_cat' => (int) $row['cat_id'],
+ 'download_mode' => (int) $row['download_mode'],
+ 'upload_icon' => trim($row['upload_icon']),
+ 'max_filesize' => (int) $row['max_filesize'],
+ 'allow_group' => $row['allow_group'],
+ 'allow_in_pm' => $row['allow_in_pm'],
+ 'group_name' => $row['group_name'],
+ );
+
+ $allowed_forums = ($row['allowed_forums']) ? unserialize(trim($row['allowed_forums'])) : array();
+
+ // Store allowed extensions forum wise
+ if ($row['allow_group'])
+ {
+ $extensions['_allowed_post'][$extension] = (!sizeof($allowed_forums)) ? 0 : $allowed_forums;
+ }
+
+ if ($row['allow_in_pm'])
+ {
+ $extensions['_allowed_pm'][$extension] = 0;
+ }
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_extensions', $extensions);
+ }
+
+ // Forum post
+ if ($forum_id === false)
+ {
+ // We are checking for private messages, therefore we only need to get the pm extensions...
+ $return = array('_allowed_' => array());
+
+ foreach ($extensions['_allowed_pm'] as $extension => $check)
+ {
+ $return['_allowed_'][$extension] = 0;
+ $return[$extension] = $extensions[$extension];
+ }
+
+ $extensions = $return;
+ }
+ else if ($forum_id === true)
+ {
+ return $extensions;
+ }
+ else
+ {
+ $forum_id = (int) $forum_id;
+ $return = array('_allowed_' => array());
+
+ foreach ($extensions['_allowed_post'] as $extension => $check)
+ {
+ // Check for allowed forums
+ if (is_array($check))
+ {
+ $allowed = (!in_array($forum_id, $check)) ? false : true;
+ }
+ else
+ {
+ $allowed = true;
+ }
+
+ if ($allowed)
+ {
+ $return['_allowed_'][$extension] = 0;
+ $return[$extension] = $extensions[$extension];
+ }
+ }
+
+ $extensions = $return;
+ }
+
+ if (!isset($extensions['_allowed_']))
+ {
+ $extensions['_allowed_'] = array();
+ }
+
+ return $extensions;
+ }
+
+ /**
+ * Obtain active bots
+ */
+ function obtain_bots()
+ {
+ if (($bots = $this->driver->get('_bots')) === false)
+ {
+ switch ($this->db->sql_layer)
+ {
+ case 'mssql':
+ case 'mssql_odbc':
+ case 'mssqlnative':
+ $sql = 'SELECT user_id, bot_agent, bot_ip
+ FROM ' . BOTS_TABLE . '
+ WHERE bot_active = 1
+ ORDER BY LEN(bot_agent) DESC';
+ break;
+
+ case 'firebird':
+ $sql = 'SELECT user_id, bot_agent, bot_ip
+ FROM ' . BOTS_TABLE . '
+ WHERE bot_active = 1
+ ORDER BY CHAR_LENGTH(bot_agent) DESC';
+ break;
+
+ // LENGTH supported by MySQL, IBM DB2 and Oracle for sure...
+ default:
+ $sql = 'SELECT user_id, bot_agent, bot_ip
+ FROM ' . BOTS_TABLE . '
+ WHERE bot_active = 1
+ ORDER BY LENGTH(bot_agent) DESC';
+ break;
+ }
+ $result = $this->db->sql_query($sql);
+
+ $bots = array();
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $bots[] = $row;
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_bots', $bots);
+ }
+
+ return $bots;
+ }
+
+ /**
+ * Obtain cfg file data
+ */
+ function obtain_cfg_items($style)
+ {
+ $parsed_array = $this->driver->get('_cfg_' . $style['style_path']);
+
+ if ($parsed_array === false)
+ {
+ $parsed_array = array();
+ }
+
+ $filename = $this->phpbb_root_path . 'styles/' . $style['style_path'] . '/style.cfg';
+
+ if (!file_exists($filename))
+ {
+ return $parsed_array;
+ }
+
+ if (!isset($parsed_array['filetime']) || (($this->config['load_tplcompile'] && @filemtime($filename) > $parsed_array['filetime'])))
+ {
+ // Re-parse cfg file
+ $parsed_array = parse_cfg_file($filename);
+ $parsed_array['filetime'] = @filemtime($filename);
+
+ $this->driver->put('_cfg_' . $style['style_path'], $parsed_array);
+ }
+
+ return $parsed_array;
+ }
+
+ /**
+ * Obtain disallowed usernames
+ */
+ function obtain_disallowed_usernames()
+ {
+ if (($usernames = $this->driver->get('_disallowed_usernames')) === false)
+ {
+ $sql = 'SELECT disallow_username
+ FROM ' . DISALLOW_TABLE;
+ $result = $this->db->sql_query($sql);
+
+ $usernames = array();
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $usernames[] = str_replace('%', '.*?', preg_quote(utf8_clean_string($row['disallow_username']), '#'));
+ }
+ $this->db->sql_freeresult($result);
+
+ $this->driver->put('_disallowed_usernames', $usernames);
+ }
+
+ return $usernames;
+ }
+}
/; ͳȨCYF5;nr7v_1{Y YkzϏs)z:%gP@\+{%4w@BTiupd뢧v :YəBA"!1#MۨcGU$0ޫw9'KفyCgnzv]}-@!z˨ `4%L(GHw !.-^{R՛xS⿦a e\t'0aWvh" l2yV'=ʭ桿Rn_(G%li?"?`'}pi>xlZ]ADlbe:0Cr.LZ] J$AIj ]Zdg47E.B'uW-c>F`4纀ra޼VR Ibw35AHNfLTU V% Jxn>? NR  hIpYM.5$2?w9scxJ}sQer"c-}욥HY@O*4_o۵x/G ?O|"x+ҦnNG7$]Ikvn3//}0'yk*:CW*S~!wV3[I.zY8[Æ{5?^ zv!?zMrP} @\Yd= 2>=i6y rk#`bAHj·3|y8ȈJ@f|GkݲFݕrSH4ttMk\},45/Q34 11 *><#o,[}=]/BF= Mq7цmo~C"TU0G[B7v= C8&Ua;c]B@U#3nm rd8 Fn&_VNo.c*K $hMs+##&1 +#f/.aҜ0ybp֎~[ϥCNAvj;;D >%OF]Fg%ze_\Iq[ F)W#I _g82ФNiHH7$ُaZx`[ǫaE9Uo6$Qb^kj'$(ZMCf%DP+!dr`<'hV'*f/YgND'hZn=]VJNр&Y647Pџgwr9aJk+4Kޘ)w53[j5IeTz *)%ŬQѭ4ذ+=xU/pk8钤æ9߂_ BO3~xe|C~L Co07ӛ|"O!,~?q6Ð;qbdQSډkexkaac$x5*R-ont{haEeY.vM7Y~ uV-ym*{J'9" Ӏa>K!TmApzO3|NV ʔ\`9˓_.=M $27 /0/85Hq,}"! Յ#%!g򽪧SYPfd`uy ^AbJOa?)sp{t~m]n{'^Rx;eOD$f Fӽ`.TW;)"=al -r"#kv$t(ݏpUqԞB=lnt0z,U Y#])2/>3^9+ @y0*Y/&hgGjEHMtz(/P@vZ O:M_˴mGP=d9"DțiqQ-H߄.ĝ^pDq09-HdbIbUFjE6 ^I>\~I n1/y+(S P"~gw D!hYD_xȱPfš{2C:'~d4aX`8~ A?Uy8nSD#vMo;!nWVƖgtgvL)( kYm;uɮʲI)^XoPLyUbqܰ8,Q4 ;[i- `a›NWbIn2M_'[4λA>"dٱCHPlanE~eL #GĽ7ѐ ҅C644W4{&%sӰk$YVd˔Gc=QRڊ6SDPլ6fb)U0d8 t,PwCZAWzFs:Զ1 J L7{ye3X!/J΂3Rv2h^< chērݓTlyE73j5YWW_Ԩ'=i7[@r}"jvBm9l_ex3$ۭvȩڂe؊4 Dcr]kDJKSZ勞" gί1<>qXdPP"WR{b:uka Ġ+4Jl-nAYh]5Q 6}TL"USre~zAѳ^;XVI3 +}5mX~' M2U:z>M9Knw(!0 Zpt78 Q9zzi,xX_M~rqBoRLl]p$w2ք>i7*g0lm]upZY&M=hpQ1{gw[aqASxRy;1y/|=萏\P$1* @Di{DPb͟6ty@MsId ,IC,pK%1Ԑ"ę/"0'€y ɘYf ̙{"ٶ#-VrԼ&Tdԏ^1q#;V%1Zue+K3!TstN{p@EQ"R}8_{`mݢJ^iͿ֭ϠR̢,iZ;8JfQVuH[t֊Kmjm=שn/0al-ivH$eMo[]9Ei/=#,6 wvtbo X~Mr֠2s.W⫷N+wWΙBQ#fM2=gtHY"34 Ҫ g2qU!s?F~.HtgC3V wqٙW ,:k8Lˌ\L-h=$pFď1NF(V5}2J& o_ǭnX4J_ΪpΩ׿)wQ^qa꠬ӎjn*G|3>'ϾBTm)-%Bۊ0H?fwY k2FukLCy:`6& /Nq>7W$gͫf[j#\_ȁ)ӭgXXAsZmL-JTtE@bϧOU2{"ע/m% BU*Cًňr\apZh&.Tn@kg1xi;u [D3YM4aHsjsD+PB9sli)ӈ@+麼D1Ӝ΁Dgx//߾ ёJ\.m7y©n߅XeK٬f{PPE5pBF0L^ŇP_ƭrڃ; )9Oc怦{UxlI8𞬨aC" ]-;UYN9~_χ&e>S>(Mo'dhx5K }IM3B+x /P٢1 ˜26?)l'w8$siQ?TshTїWʅeΔ L 3&, %O9\k6 Q9\>Lt#ޡ:oT޶$eR\ G8  {Ri7" ?fNJřP @H#Z4vh M y8>kʤ9C#$CV[[zӒ ȱZw: iϏwօ1}y# P",- (g s0oH Ե>DdToǘkoHV\V?})Ɖ!Wp23jH%C=DjJ͔{\Se醶lYG>5KpS"!#'SWY+<%:Ǝ?-Z3%>8ƝPnJ|)4!Y/[a?(:6)WӨ[6ǶZeIV4ŷ˝yJmL"Xnx,sTg76-:&Au1 LNaH _i 9ʢryXN{m>b/ڽo}2:bgO4|HW*A$~)ZGFGU$*SSmk2p )WeBIzJ9$pB #=.m9E>׍tKeWlfܢ ʃwpUhsy&<*Awud 'n ۍszn^GycM2;Z8yX`;X&,,4:yp]b6*r8iwDMtI± 4?'+tp؁Ƙ OOX[g*OZҿqov4 W]%^ג8! ']v- 6۽D+Gv9as W56GP`DuD}3er6p:˃_07noZ~*[Ęʒ8> ZG|S=>90.ōtUY M֑$m^0 UWK` =R񶻳 Z‹MYar"Dsr37}âg e i6 I97zrJ}mB+C.jVDQ;YjRYHyq܇e`Fuo"4}wg-jAT>Z `};,WG-DOgS^ec1JS[e_pB9{$3dxh׋eR_ph0qrJ =MTzVks^<4eKXENH|\m0'"Θ?%iXF<*Q!1,%3ݤ?^K5m"LHSﰠӽ*X.K~ UE:;AHHU(4RUj Z+Qm"_A?5冓:Ըᬃ0*-BGH`'Z~ި2YahUs?Ppnm# 9jJ@s:oΤG1ܐi*,V$QcƤȎyX̃/>z`U)ΩGtK=`)vi^.x$نxw(ۍNMRx<끴Z[{FR`ʬ/H9R79#Ac¡?o[?P}V{us9Ġ zY\Ftj_S%hIE|.[oR,`p3wkHËjT]Ӡkpq7/A4} O]'~Q HVWxZD\|f?aNuoq[q _dťu3.9-?v㼄FF;]s]jSdҁ I^gGElJꈪ{p &r+B J g]|[)9H[Ae&ANNLOzˤ,ZpO !u>l`F_uxz lVĿ"x)EPERr>W%,8Ӱt[}m /2̣;O5;(+(ZPAYP]G *=mU/V;)vB}#yvb$~B;U@X|4Һcjrrrp+mPwj|_@9J!5^YUta3^B֪/`Uࡐpꕪ{yQ_S U5XH?gҍ5Kg M$-MPx/~C; D)ζ\ZCMV2sGHƓq>V!dK7oxLx4!#Ө~@[USD:'+/ CrՄB%[ $. g) 70P<7,=]h2gR_ 49vz`| >HnzyEewj_$]tG ]}j "C04wU7"gǜ2d_LX8xݞ ˒50kjes״a p+ sBhQjS9 Z5.a|L >h,ZoPtv&9umn!_JR*כldN$Mc}G.!g+zLrJ9.@m@%@etG].1~+RZ|RMYz`w6숋gV!DO7TB[fhCUp^Ac+NKM /kMw?$Q?tpyvD,f51V2W%hLh w)7cOolJKa,FVz"Qw5?=>d)DOҒ*G`:kkXt$:o:n:SћθIt^:ܳ.Yݒ;1cBbQNB8rKdD%I|:ͫ_kKo c8=ٛVAlh{# 7 j" Cň2o,yCE-)B,00u&౉kA§U#f'.r] qefx,nfTa#>6Sm2-- 4.9>NR2pߏ(__p X0 }:nkC6j?=l|Rѫ~~1-8 4 <> !hJuIߏM6oGJE$Ed|S~=B:8+fÄm3vfJl4_ɥi!s[ %l :ZaPq17€F%[l -5 Vnc~s-.KuZf`lޥld'{6JC}q0({t,pLjɕmԉ(Pv3qtK3 r gTϵ&>9$x.<>a ozsȳ~&cB;C~5cpɞ*%ЀzA:PEkTOSȉ]8gWKvֻǍZ?SU74u0WʥY9d#0Da8@M^GR"3/֣qO{=?ջ[nF؏S[F0zZtO%͊Yv-dVӲ.gMQ9xw޺ONԠ 6D2C5]0z"mԳ}OyBѰ8Z.rczXb3-M|7&/dy-*~E\_E?MmAlϕ2qп7Q|>IGJ!Ed"ƊI^DSW+JI[k *e021ަjD1_N_F֙> %̀bWl Vە`IT@+=.0 3$Մ ȴh#Cc_x,r a9ֵGdMS}qǏkZn)пt_o| jQjۙChBڻ{tzQ.萊PL SyFtC-B|KtZ_J 4l1mQg?lV(gQ&0F?~ypSDsŸrQGg26` SY85 m]f0)Yc ң_AFe+ȲM)8![=ZeRBj,!2ŷΘ~Jwek$^j ]1n>٧ۘ/ω?I9$#]8m{.W[0-äH2񰜔Nk.-ʿYDISBt5jИ;T:ܢUp5pߢ;IY9l&f_8 Y*'$p频<U.G-HI3xHTVlKJy';G*9'ǡh[&n#V&ڧ]9VJ[v1 5D|c.^lަиDUݏ>iO*!Ӗ9UhpZuEX*Au҃UoG] `Eo^M"+%1U&'zWhy?Bv>IOF8AvpLi$@ªrRqkH+.3f1حtRk ӓnhΦNJQ2"Bx|HX0D~sME>X˸iC7[}-\4}&G+:/Œ^,gHLxA+F'X!2r9vaw"ytx; |oKq+8_S A!Q ǔz:ʭ6X;!Sp 7.i,CR WAkJ& ` .`4=6O_yMds ,{q7y%UlUEs1d.i=E5_4lt,RЦAQHJ!6,5T\H8eskH&WĘ,pV\-mۘ+RF˦״\/,a_ $C{: K:zU#i%*-e4m@D(27e_&IMBX$%wjg\7~7PV qP䃿Kl#:nƮ)Gӹ@@PmLq&R<~iܛX t\>l8wjƞM, iƳ _#INiw.$!ǁ"k(`%7ǻP )/ ׎53ȻAX:" Z4T:A8~9[N :^4wVzF6wM`pϲJyp HI'C$S#}z%SA }B⑎&QX9f,J8T ݦo NBUU^:mIH`$S:Hq ۜqgD6nEwv n)(CaOӭ+YwYN\8NNVq6 & .a[.UqbW=JA؈S]^ S?p$|ٹfM,o7O?bm4)/ K] j )NA@4o- )l/q)-Z8MKѩ tx"`hդ?|KzTzO~@2 y4Xo3Wۇ@D,P)48:9yEeqğCh=S?,*NT\D͛cn|$oJ,FC ha&x/Ǣ\6x"GO}BA ҊW+"p)̓|I!y8g%xlΔ6/ۧUc<&F^Iؗ&ig`*x0r49mi]: 9GP6+yN 68=)҅j/Tؗ5Lf-t~<xݫo-Zl!ٚwb=:> r'Dubң&ڒG*k㮎jXS[L,c^ < {dxȌd݃p{ ԍmwپC4:BY]׼`G ?>T0Yj>mcv*YwoYZk_N_Br_0;s;'4Bȿ4"[3>u^ zĤ k#Q#V'lx) >(08o8oQc.(4b#*D鼭'!Ģ2utEe2-Go\LMGo+/2GI5\ŖGwxP~4h};CT+DpۘE/i6QfEҠ1cF fN60HMa::]a{i{.9Z;n) `.Q2ntQILD{ec"v ho Zb^e C[& t-q4Q" cSHdM7r_ZE 7ZS{72űL Fi ~Җ2.ÔHeUΧ-kbw/xmYhVTͮA@FI]?SϷ|L"R VQZ+T=C8m,A6‹*R$&!bb`͊`!>{_=w`ދ "X{ ^~V(x6ng{D[tA#Oz-TG0څe {y$vj_3IN7JƂ H7yno0X7'*Xt@)Ȁw"mc[^o!w}zu34:ձ4M'%)>jpp_t녽YV gMINfz-[i/q[MӖ<$DNc֋+,:uZ2(%DK!pb $]hcNDA/ČMW\LS0 cjv;- CIiTpd9[=0+PJq)Dxs{Ȉ*5U# J -4lJo%N&Ԫ>~~21[EUʵj#wH!?hn03pcwxME YB?,lM>1hpvf YFո;=Ra/_ndD\r&GѬcw5ڃ4‹ iꞅ2h)d~2M)]h.ڸAb8g?Tʑ> XXc5ڹihi%~nHQbNϥiwNDVى~_«I r23"fp6/Sz!`)agCpnTd' kD=vǖ{f V>K`I&}<;&mE2X H *I! B>3%2^"4CE׍+Jf E}&>gpsW):0WO)#:>uo-`5mT YSOW&J|]bOc/yY^LAMFlѧ\#dskꍫ~ x;eFB:^ZTƜ|~t+!hLxnv,PvX 5/>Rơ#eSЂ3,dw˯jJW_.xK(X)ՊD,jz:R88&\Řؤv=y&)nIݲ$kDQb}.0> 4Bg_8{ P,Np?(܂o-|> ކ?kp>`B70+&[ܱ3t,"8q{M`fj+;:u 58xqްN@KzJnRZtR CW%͖x ӘQȏݭ?;ԝLi }I ;Mr@}Ccz]%d .s9:F} #;Nn!` RNlUm>;> kG5Ql8j0J~&zegAQYz>8Z#列sA;֫DŽA5i;Űe?LN+3%ӯOb(+Z`,~1@~`g>@t0Fx\/{򠊏zGw!_MVﶢN{KM}˯҇v*=QVJ+xwWՋl/K]u.тʏMij1Ҿwcuv][䨕dQШKHܖYm%`=S=dd1O`}ϤE]{ 6;/s< WAt4 AZDR&- %Z湛{Y-tpU{͸e9HW@xDt`yd`:8z;엛'۰27HbI:9ٿ%=Cm'|4p,E`ؑQ?*!WzJ'vz g5E:P^; +;sBY[|!Z/=izfhdM5g_Tb̃mOXm(B0;Nd7J%H tRԌ+Q!/2N*8 Շ !;xkfdC*s<f 0ߑoZnƞfOhqd:/T5UNJE I*@IU&MiqH G'χY޹I~\drj\ J_EjP '>e(rSAQѶym^JV d͠L Qkt@\ Pe:kƜ #"L0G>%!͟^p^ KDF*;E_"9<$ x6hWpeVS*C11ll\n+QeDp~ܕR8w@lI5}Qv9$0r2ڽz/Dx(*) AE+!K}ob\1-rXu2>^FȐ *ӐܛD[btx $X9ב,N2,[0341z19ѣޟY:}7Wb|m^opՊDfk:dUV[3# ZV!"ˏ0UZn[n]P#:lXܹ4O( ID*zxpZJG DJa^φKI+;b'(qc<.4+REGGSm~l8;l+O:AVZF; aqhr@(v=ˣB_˕﬎dxIRƫqT'^qq>&yWR_GM~T^܆1M.b&IcT{i4t;7ݾb~sjT &VLKVD@J+!7O"?TK zu&x)'6r[`xVZB:)ȼN7. ,ou'Dxk&d W,E 䘩uʫ2ʽ(16?/' J0gEX9Ɏ2!/9qolV'^GLP1cÁ?%AX>hF_b*ރ`1Ly 5D<ᵽcɎ/!q,p]|sn>& L1|&Zr E}>̓;DUj }ٷ#Kh`U=DbI pu6}SlH A׋/H_&\7B0 0jK 6Nzy|[jf`7=딸}Mc!<0KA)g)·}I!ِg 'ΙDO+pVDԵ\7HSq38IIt%;:6{2D" r194[7==ڣ“3 ̈́' ~8 M%b513ef|ܙ˼%rݣP?5tg?b]eŢq y_!`BT rJHdǪ>Y$.9Xx1( 3pBi6ׯ9ŗQw؏_̬QG2 Ēޖko+y%e;ܝ{V/ڝ(1"R_"7yCw2ejI)x9Y#s@7Y#N/,bPSe3GW> ` B!R_=rdz@NKd|#K70.@\`z [Ch 6-X*]{,9.R1 ;-Z?ƸɌXl_H3H9_86Z\(!cMx~60_ 0%(AH~mȘl F-8}]i|L?dN sevX_i_?ħ'yGWPL*Æ)[Dh٬1Rlm6b1lT\Zrf<^]G5|^[QN \3W=Y^+G lTI$]y9$A/1 FшrT6(M2tMw}Fzybȝ@wo<׎7<~ѯj)]Zώ0Kٶ'-btr߼=Qv&-3 hɄ~'_~&P4R,4vΆeWWJH@Tm:=Z?ƇĤ'j8 2  WziQLk%TيP\|#aC+nU՗<qKU![*l;ƭF }}vz>X cڀGh*V.LY|?ݸOmxMl@[uDDTT)[/<:}-QJPjq Oh$?f9?f>b:bFiK(m^e-˟WlՆ:\3!F420m/3Ю@dG e=Qg|̐Q耇=G$?mi0 Ez<ȚTGC:ŽkFy_K,ؙ9>eO#wVI>gk`0/-Iu\ ֨y$OϖԒ\ lT4ɷn~zܲ/PɆTfŢ|>}|dbfuPI`oCY>O=>j{[}kZ ?|EHVgV%R rÕssUw|{{P9!2rC(8E1j$} -Y=|ݤA28'U[ h :!)N)7mnz#ў *gRs4(3;}/ rv;E6ޢrHtRy.%ݢV=^!%gM9S̜ Ѡ-VzDɧ1Im̀vH~gCkaP|GJר2#jEaZ_83x JDssSy:]/ۈ;xpX\AU*ZdK:#BlP8\=aiГRű=VF|Ƽ@K6ڍnH1wv?wWFl\"߱@J3HH')P0*ZͬL0c߫^9d/TrUNT.bxF)vSTEcI1(s2Ċ/1CwRQ q5\2zEX65XNnF >j.;Łj1h;vƛg8rm,,wp)3)t #D\hţnHIMWwH0&{˞×y"&x(%bK0 7Z4[?נS?x3 llpBp C!| àa8"CZ(:XOmQ>"ݩGo&DgB~`:AhɿJ0ԉ}[L>pkA 4  њzG,fL7tJC'n=HM!~L2CS1;d;UêBÑK2q[?~C>lwKٴ}6~5/J`$r;DQX3*0AEKBO᭱%4Tp);?|AǑX^$]GleIaYI{#{KVxfBW~=W0k7/k` Ϧx;edQO* Pg3 =awk0M0 .UGK2C[96{\d>wjx;0BYhntWr%hhg6[?AQGx;W76-,iB3A s%疎i ]1ͯ|:j$2w`TifFl*?Ml;MHQiZؑԡX$RS@F|>\9Vc+|n7R%XFc]RHŴ3&>IHX^۹@ĥg:K6U: E)i|lŘ:{\dPOM"s`1iNjJ/З͊1]1?YTl0s9 [NG׳^dZg 1I=ȸ^ ,}+jC/zEt S3%@PGE*h^vJ-+ ʊ!~>#yko,$tneMh%A @L>ql W ̭YUr /V3z(32R5xJ9ͧ I265 CSBM~bRBWM@^^H<[Ķ~25o8@(`o3M)$D5")7(FYE6kl^83eӇ#*x"6Jw7qŬD ~-u`xg/I4Ÿp%jhcvz˭ ulxa֥jז4! 7u: cc2᯹j<9Zw6A˘;Q|pqγڻ{3LOY Hb11$y4# pbM\Y *d'$_wAAΆwL%=rU~8,@Lr1-P&@/žc\w?^ E6?&|Y"SgW/Ae{$M#킿[cr"]ӡo-~G[q&N_  !(@pd(~T \$ I>P ֞Z ^M*㒥5*)G~d(v7)C%t6|(w nQfͷTVtb=i6,bz7ߟ~3QN?`X߼].A)W]nGGecW|:VaD:kh-S$P LY]ׅ2ka 5 Y9,r8Fz?',n@/ }5RCNդ` mYVVC&LFwbBob џ|D0DBT xK}Fiyi#  ,%_e'.HLsix~0R߳2/,TT+چҋ)CPDӴ R75$(6q.h#T3R 0ꨋҽ;#"gY]b!~ϣz(Źa_aBnb;[7l!SaS G<02 /gqJTviU\g%Fe4%[LnT8[sNua`t_piv Gn?w+j=cA<;QŌֹ:tK GcՐפPɜKu0@ 6/Lw[ e`S,e;2~e-O`! +j97i4ea|ū󊄅AteK T 80'ș3@"\Sw&O;cٕ>ZLLwЊHlO2%E:13+!q|䳕$-&e X5VFEuT4{~CNRNH|r{wxaoa'繿C~$k)QyG& *HdpKHy[h2R,qd؋& h*5R[v}wĴڦ`NVؐ;  Ȋ #iPݱe$ ֑@3k^)}qDUY2DiO5 VPbg*Սlx°Nί!Խ?rRLӿbv' TCl-ZMszZ.P;EW}e/I\K@qù-5mڥu^YReI}i8a9 ګE'\&eE=uI{nz\H@^MugװU].rSqFA@"{]́P&Dҭ _T[aYz5WS4R6LbGER:K#4h61cW!q] ?B2tbpŧFDv 2? XHn>aO)tH'vlV,\,3C_Πwku l11, *',Qچ^j_x%R_ʇ%7F}=2@!A\礅cVC-x&EiB]y]+<)9h傊"'3bLؘ: 11K4k).vZo)oGBp߶Xr*8ԹQQ,;$#Xl'ӵ*ֳݔG6A3-"Vwٌ!/5ڻ2nq[$@SH;wܫoEZvMJc ȩU/% R#IO*kZ))1*dQ[)IUC/fieG![\ ^<4.ig|tQr*g 26P_6K/l Sa$0䕌ga4rw1T"M3>*AVJ;`n )U &8D5>ѫ;=voNv) ݱeBFFPѝ<}K8ndRI!,[2p[{֌$.7<,V 3nFv?[ϫxh*9g`Ableĝt:N_I"I|VpOJ= (e6> C䊣ȎGMqY?xO KQMAdxkw]$|TsWdO(Rl,üoq۾C2o}15lrO̔ YS?:Бqoi, o 1S([mmHWJ~ U-6ҁ{ ϑL^V,@TD k` 0q-݊RJ4էhvwc(\DAmHPl|ceG^XI[̩|]+6sNQT pXX?yM٣+ 1ɝ aKk0Ƶo f7FX }gVv nN\8܅dwnVGbÇP\ܣT(JͶń| ڴ1V07ٹ0ʲ TE}4%uVQ_i0CO|yPxj"*\ʛTkiC4y{=JbުPYmWA]OHRB:(eb fYFN6޸ `0m >I]fomHcpl|\"[P /xay 6&0%xU;#- WC?p Hko]Ց\if̍IɊD99CMxd@JMHH}{@ T,du&VJ4ʫhgoIFuHa1{Ocl9<_JC[z#]X@w;$ lt.wp_G,fDAqg, 0[e Lfr!:p 97 U/nq ϤH"t[@ IB++ O`XM<q]iWv=ef ~}7x7{h/?2tJuڌcw tbѵh± 9u܏U $U#hXc.f㸖p?-=ޙM"oUq2>H{!JR-| 젤L8,z*ܾ{Ґ>×~ob2YZŮ.gkaDV_DBM4je\CUp&C6E@k$/6s cu>vmglYٯhj:u酈3jز^$HV E[N͜D')? ]3z{T?Ӊ.~2 4]3/l2ؼ38+4ct.&a'N yWBj"ʊ70N/,hTuTFvqe_-HԀ/LxM.M>;iǸ~Stx "ey,Hp< %]h .]TsNdCco,ʴ!WAo޲=ij 5;cLEw[]~;R|fl߷4rF{)3E6m6!d1~>:r8"䬙RqYr0X"* csrPRO,I/{=gyMaYz)Ў'G 2ޝ?b\} @b;)L֌)t_(`p4$; )->*,)'ٓ "MU QjtzDHؓO u9TYg"P˖xEtTo^[$8H DrQJe1'O9'.&t6۞_Om1=˧r*b<}mr T<6S@f^#E^Q3=f2R=4J vaj}\,=[rNȝ5P*?.ke`7 5yOJM}p)Ṕe`Z *Bzn7CO5Ewp>o$[w8I۝eZ/D(=&^" 4nZp| z2FnoKXuFu&sN[j M.9*90oȕ@E+u%y@$MS kn9@$xpKS$yy^,N." _jljَK6YޒO 7@3`t/HfpR~͉_ Ǎ$-wD_W@/G[ÜrF Ι;F)~<'z*hC5G;Oy;ư9>wk Su qa]Q_|`5~ FqxJX;Ҕm2GbIrc E%U]W@Ҵ%Ӣ< }=rE˒UdeCܤlWҡ\n!㏆rd"p7;CFiًt\ ɴk OѣuXmF$#ڽcQkXStIǵ:0|}}|p-ܔ({=JQaX=*>L0̐۹VRoI8>ÎWڄgTIF%Ez-OUC6ϢzohQcqsI*Vuokƻi$%۾Gٷ?cPVf9:H'hw%rTgՉ!^ԽvÍ3.W,$8$8[h O{S!"hx./\]ɝ I| 4gޱ cDmɊW&w?1SӐl]lbtB+G;H݄*j uջBv`QWWe)M#[gKQ% aG+#J;kDP f&as+8ҳ_"պRO/} q@5ld&2ELCm]⨕% AUd'yύ: ~7ܨ&Sbʽ<+a 'l!")1d<.ud.(^cu[$pPySF!y7AOs<ƾx])V\uN%/rHPoJM}Ic)єrJmwyE `&tBm!1[s vDkOhHݸcƧI=eI}ˆN/M ||s|pjA58qWCc`ZHdALh|8"*/$>P ͙'՝ލOܰ, Rf>9RjB8 |c0B+]i*{+QQf#L@ˌ 48 9۰Ul%GJ[,G `{5D-n0-*"{`@}&sQ.xIm&g0 8u| y,&dU\M1W0zR0Q*vn:~O8ϲ-8c:5bFC@>e"K Ȣ{"=%E"iY4}ټG$kG^fK)d^0dub9no%"" $}ip`¶$4y~k_KP[u U3߶gs(=xWm_qR u^ՉϙЍ6F 9fD!.t""3q# mwA1=3Y(^ڌ#1!z`auSK;)_I5V@Q^]`xE 'W =+wl5C.'MEfVF旉Mb&6ZV;޷ >9 U6\V7yLl|Ե5^l4N\n(ٞk*sE+p`nْvWf9sBs@6K:̆C[eW- dm*k']`io!@Vj2.(PבRr/@7;pK4(zPDҥ:4bSY?%nkmMIsQQ\=Yo֮a53̷ Z&[y9@߻߉${'{5qW61^(/@4MܒWɡ-uЦ~eޥ^A&¿>1Gǘ&hۮIJ (& mU Ed=>퍑-WWlrW̊&:N0]rKzcGt+bgB8"&V45Psnxx)yQ <\7$Z.W-KsZTf>GƒJ\c~[ms<@sŏ8lA̮)4{~K@h2p] fg;8=gNyxӵ+"Il7ƉfߏgVuY6{=یj9H-h~ b+J  CI6W"jل4GN8XOŗ *)}((4$ݯT;<&88PGnش\J@.,l"ngyfH\߯mx@-x{,&0KHI!7|Jr>UMs"S/ZmYS'(e[`'`+3ZJD_ 1k12r1t:0w jBAPJÇguϕ5DU t#Q\\ԆA/;jwƌ߹PAqD.r 7蛼xC,gJk 'f_Bzye,^ >V9]ókAPU!+JlpS+*ǔzF*Vs@SU5yqԭSv0Rh]ߏ?Xo 8K5a9.M`z̷53*C8Qt[ m.vH>6Igas6&rwJm蓼d5U\$wN>HEJ%=, 1CXu_`X|WFU9B(Jł^۪\ikRiRzifV .wyv+0 vfmDJ %k$M?PsL)3X플/O]Vx܆ 0kiA Enb'dw~a Mq7H:ڨN'ͅmd2A4i1A>{QۀUօzP>ݸ4aV"0L+GDY߈*Z܍C\4m@pO{ԸUNYi0*  7>c,lSS66v:O׎.9Q2@&sIbc36"m΂Ѝ W*|U?uF%4jaFo KuI!%ܐ.R7gzt(SuAO^.|oئrV'.YG{ڛKÉ]Qϭ!3Ƞ\p3"Er3 >fQEQ ~f0[#jTUގA?@{ь^ND C`kH;хU*^USuCNS0KZ"rPFOs w4*$BIp{NLVR~Gm"›֓}_O%!N>N]xPSBnb/z l̚5">Luػ2ͅd9 kky:jF`cBN"d(R TbL6쑪Sis+]㱕Z35byƷaڥsff_U$AäME(߱tRPZ;9&F68xo쓼KyY;\׏ ꡗEFU>AfG~?2v ᱤw  Td ]$BRC|hdD p@FfB>""H/Q ΚfUF5:BuI jCqO_`r(Ŧ2躯:e H3!R .͵D sijN [[{T Vxƴ-'^Xe6! S8dh&khǿۿ+@& j>v>pkj"_nd,Dw`j#[|cP4x/k U>MO # 8%[^-w<k|^xCF ǘy\X#]]zqSͧHd1ܖ{$ޜ4 2S9Y(70Eir5ڰinj`6R΃+f*>d5M:؟]^DG>Ci®g"[c| $IfzP8:Czlj1%&sӐ|*qxLT ;1q"k̓[2W.AB3`@!KRh_eN +ȶ񋊽Σxb%]Au"%}4\P5*ep!aVoS~s 2"܉gfm r$lkЈ ޫ Y.&z/sCsz!hjZT!t5L?.Rж1RM~\5]>kZnR(q_&qpnڦM@wCsu < P/HMz; (1i"C뒉'fd0syn>'ᤖ5zE|/ul}LX+u_(}摟tL*LBA0k0 J,,Äh1gԳeCdg2\f09,Yoآ347cޟST[$z:,m#?M?Xy_/'l`U$7 ewE9@I"ggI z/V./;_ ϐemw"QmM ]ʆ CX^gK ރqGmX92P||ml}Ȑata!Pόp22I)\f8fxN'Y|;Ր2 a⹶] B|ލp-y@46s҄3V5kڤ],a%mBU08gsNè stYq̡QE8)4W+[zo/.mq`mӟp7Nt]GTb#,b$2󄀶H|H;8AjYPwo^8ɯ* O <&*$ RNpT\WI Ć& k::= DTCM ng(3Rxyf&<ϐ)\DJ ,!xx>e:6IYÇ{(DYl#LWJ*ii@Jo!n]NkPόjrٳK("yAts^d":ڦzǭ!5Zp'/R2z30d@kAl2DEȧ{yqҖ GcjLr5}9hmx aeIkQ1)-;D4W8)Uj7}lu=50dհaq:pJQ`ٹ dɇ}!Ξ%<)5Ex5@zJk7!1ھ_dkex%ĘX5u+B kd99iB#!cۙG:q٥̲զ^!H4112=rxFa @iɟí pCU{!}E=0΀T}WWzW y8O e_e揎ewXXNèWKsO #t d; `1gJME6?~|jphˑb2 M(W.O N2/4yay<*7tJJ'۬xL&JUro"-cc4s֭Ո~?'5ZtAkokd(ʝ?X ST[ uBB3:e,`ђ޶bt Ev4,{N0lņWAZjG|td~@"!Y傸+L%j:<+::/aCIf??agP+&\ MLtUmV{ף3?Oɻk A-(,N~ƺ!gR}cԾ^e[qTO?*ۚYKOH!KΗG$Ë$";aͥu`bNSnCBX+Rzʂd}2{U&CV`9;њ MYℿ5{FQ6x{vO~~/G(8ycꌶs}L {"s>=`bEpB*!o, qxN´H`?EgA#3QGU  jvSKQyL.m+?>)/icv_m.S(fAro Km'f҉j4ck?^NK. hs55Us~۶+[۠q4=ԯk& Bq_B{嫞a7;.S?Ffw:s .7 mZLo^6R}[_Uo8չ:~n;enN(yuDUfPTݠІIbcf D@Rq?'qW8?t(;o4:]#.$=sl:+WH{#45XIZ.5n:ֈ02hRθ'h1t4Vˤ)|mCUxX$9Gy ARVP\ 7jY~*߁BjqlJaκvo2gW$'Z_@BɈaP_tgx sf{dZIU+auh\9]%rԪCEUˈm<()t*g8,:١[o8XMKr+8OQcz5U4Eq`QK8IY%MzL@Iݼ5h 'd)o@㉺듸B_9X憾AáqU(l@pN|9c$Hv㦡)(mO4ɕTV nK]CP`j6`LAiM ݲ1'kfÏ=Q0 ]Za=9R^F-MhOO%n%?&A\?K*)kq>⡫g!] z5և:b5'33&. ɶ "̛'`жp q]h;ݖqt, ]^ El1m wt>J~"VH+&- dÆ/l|Z~t5:ηoq1sXkb4=vmQYZ Ƚ7à"YZZsdɎH4)&/."p5MssѮęagưc _Q!A -㏪t3yy*OdtU2WtOhWHAA)DbZ[rJs[ɹ> 7_pZ]ᖁq"Ul m{uo}FV=H^i9N0a6rTSm5ɽ/!;5S,ufY" 4"8EQL`h'AIjeznX:j:1ϣO2Ms`>0K8"#pH|i_{s`b [J2](6ϾM9g~o;-sy^EM]G8+2а@C7S(?0HѴNeqk<'|\sڵ[uC-uR-G]pElUZs\Y2ay%#&Z>i-sC5 Dg^#!#008,fw'|5%Oi HF M AE)&a%r=N])jl8Ƚ9њ,C7FS C4BǴ`el?6kw*#exA[%[Ї*_(f/:MUr&+ޢѱB9^QBdVm'J@ v|Eۥ` m> $;&{-en?k/V(m <fC)uqH (^9 "d8$%.}$ D-YW;z2w|@7E%/7]̔E½Fh^WDӃ,X9"vXk/,9޷뫜ywe3>? ?v BıEhs*QMZ}PY?fAC̐e{SJ톨fJ|u9'ji'd|X1bm"yLڇoް7(Hɥ R?.$דU\v|mKՔzP“dk;ZME NQHBAj#  ʘHjlB__0 0`&) <%P;>5r|X) Vy8Kc_xX$PN<+]ρ;%֡p$reIPcVU%>`!E_V߉**h{mfP?RPfdBUT6 !혪YB2 ULGdܿѭ X]K 2gv}ld[&O4֎Qڀ%"xbK~ J2-:YN GRS԰{spH$Bڰ? s,rT {+KrID n0}IO_hߙE k@!_+ CgFs3qz~Lv3|'8ʽQ7T)K^|u%ӣପH(C {jSkAoiW`}(Cc*%.ܨmM0ӵS}ɐxYD_:@i={@T?mKN .Rh Ƽ*X6>NL9L&A33 nuN1Me#Jcm_,kzRJDml5_X.?<9N7G횮rVtN+>ggxY f, 1!;_Pή&UJŠێojgPSkҁ$νxV 9e|c59)n/)ܶYyR*UXB&K EGFs45QZ i߀ s@׀=G/ME|vSL~S=yXm%Y{|n5tE &}Wmܓʢ?Z &7 SS3#Ze#^#^VƬ'; Tð !fԑ@\+!aւ>#,JGH;j`8vZcaBhځ@L'\C<Ōٺ%lhm 2[.q]`d[?&~k7s-n `Vwyإ׍+H'w!x7kIbgIF\er$ ,ػ!ZLZ ,Ebj!fE<k%ނ_ gi(njrp^y­jo gJ7MZkBѬ)t-3^ZO9`̋Z%d-_QP;xsRsc>lsOb+| ZwAO0NOZ[hr-oyL˪]ͅrt".q꟔^jH{훋?"~0MuZB ͹%_RS=vc{2bZė@~ G >i͎TEYZWj/Q86B*,[4 q!vOw3NTS`_Jm ̠u%u~V+O0r5=CX պ'6east}[q>֤~AYc Ҙm5$:5JDI|O{іߋȞ{E?nVa?I&kA؆{*rbih2棡-b0ʓ} +.JcSE ? o3 ֔M5A}< 6YiKޏ9,vϬЇm% l|$ jO-x(C6}\,  ր;c##0nϩ<#$ Tsk+Đᜍ{.C*;.WLmS}t!~:.ixf2_ua_I0-@Ժȷdڤ֐-ܕ,EN&C? Mܔ3-QSn B (BO ؽ c9s}ޤ:Zͼ_[eyOkȃ\1DĔƺpH.#/ɽI"= ߰4_~}eMN"2V~U$-|\:Uci )W q쉬p byqΛt2pVktRG3\[?ʤ;p+0aOjuYH $ 9ʌQ(h~=&y zo~j?IJן1ߣp_΢Rk,qӦ>|zDyOH):p`u 6.RH;c?ϴ:iUc0߳Ӟ_kS087~DUM!iȠ 0]l dlqc~IC}Ζ|a"+\ @d&GSwQJ'H}>~JMJ nF)+(CG *$YSBЕxQէy`#B,:UP7!{z"qUT.e^(&[[$'܆Q%9+):&80Qs*.,DįRkQKs5{#?t4'sk9G?x:Fe˂Z%5,/؅צ6Dqvd$ڥG~1f [@te+=u[.JθlB2V \ ~5@oa!3)jWڶ!j[pڭO n9%a;$^?,maPz:OG|x]}-f ί q;/Fg|AE7Vt25ֿ- V~[ ʊ4ܭESp`26vRv‰n7lMwo 7 65s3Y9xz}yڍ<|{MNbv@TG:u}x r4ڎqor)dr\\dӖ'4V#j 8?_'f$To74HE4{KP&,ح\ipZ@*DU|彴 &_>e_GlQsacV̩rH[w1!)3&G6Hg|ٟH 뮼/P!5٘=5Y\_%ӳ.ς7=!CJhwQǎfarH$lvLɧ.R# a,4%,.(oi|O_9Ў7ܸF+357_czN.r`Tn>,׿ԋ2d`c/T7 fsֿ%hteXcgyRzϟc}>W#JJ xnpjM!;/ bŮ/;QK*{P{SmzYㅳA8ʥudw|% 7]k|LbIq^0!IY1Z *ivAN\gf*u|~7-oyaA`:m 4xE MiQpN$j[,|@I:vv~`Ks"(uԦq/S*!;6)?)cMx?I[J{.m1rmWn^%yo0N.q@Wܙqh4W ,R&])]&If)3Ϯy/ 9P*@+b­A@ʾ]/CJ|Esp͝nD18yM ®%EA75h^ ȈBAس8b%5" L f$%°[ X"޾,%ސi = jB%eOF|.F!:p\:[!6]~6)xoreE[@嚂~BW \DUlK@O x +Ej <Om?8ӟr>X/[j~w^UU|-p"EN7&=p;su^pAFmƢ[䒌0!)h E(l)pE9Ϻ:"0lJծ/4#vn]΁ :*R'#`mg꤄ ;;6"BRA) ݰz`!P+Q?3[wgewIի=GiK-}({N۰4F)è7]\)z'7aܾt@ 4?jS\a|܁9.]l< ]dwsX5qii~|;Y~-OdL%XE/[҄ !B #J Y.;YC=kstn*= Hr@d[>ٚL ȨAFSN0ݫ{oFۂ2'v6DϡTIw$v3q{q`F :[|cd|mEم62Z:ii`Gү^IQw18~&WN,reڞT mԟQE~$39W^կlK[7Cg!8֫)9{~_.7~ 켢zש#;ΔPv^KiT2 Z6cA1^Zgbng܁3܀!G-2R&ф JnAo7MmG˿qH>`춲c)5Օx\2[ZD^qiEw{X#Q? Vh k'K㱡ZJ®Xʆpf5*[ .uĠdJ7/@A!|E:Y2p} Ȕ;,4Y|_6Yb*KW0W>-^γMPC]oIjiZ֬.oFUZY -Kt#!".K%RfLu$CYz޷p:|Z"U^}y'ecNLە14] HhSKW9N Bz0A4\m vve[ j;Ԙ"=|yE0=fn7f<+,l8`?kJkDi|WK@Ionp/ \U  8HWTqdׅ=Tlh|gSƒ7XOF`W^b wr#O|!3zkD~hn&uEC025v*8+ASCekAbVMJlZ<. :^mB {< ذ-l73VvW41"1[@Iu$kD@9.@I?b sJ]W#WE\eT%FgN4 ,!#6sπKqOqV5?_-6^$ezZ>Rt`>\f}$%DtQ>[%JBN,w+$(Kzu5;e ټQ0LfM:+qWW{[gxO/-X  d81c"/Úv=\G&ssI ^ڹdHw D (8j 7iY I#Y7* K8z^%%ߒƘ\W•{Oyzu9غ>52|V!eTW?GD[,V7]_X0.e^3 Ss3>?S!uCzvkLSA^Fc@2!@'#SzAZ QOk*Jukm1b9oL[ ^ 0%XۀBu  RO3UE\-*mK`'O$n_ l"ijwB!"~N?BfiNd2~oM5 CU N8c Dƅ;M2W[Uv"9~:ң։27ZPD8kBv(W/mrIv`!(_ۉ %Ә*uA rðȒp]ŀؖnjM 갘=?%$nBm-ρޑ]oeBmKzwrUm&wӠHe1.x;u}kߏFW+c٢3Ɇp E[vrIޖpY#J M 鑭,Ja)mIrӢ K5"P?$y+ay.^NVE'Nrok#@skط!0"rwSғ%m;0@yYL6T쎓0,ӌns-;ysglY$0ԫDYj)]kݿVgĶ܊k(c zVd Džt|ff1Iax~t!>%/dj]~3 G<_Y?E'T[<2qKwf]Ƶ(v> >Q`to zJ82~/%J#Ȟ\WO؆K)pB]":I˦BF&~ D F7 BS_n/,MoO|giyOb\=UQ=\?]͗2 =9N)β*, DFq\6 5Dj)Z^xGE=jBwb^c$gAH20Kl;gۀ^NDIC-n|5] =bkj8lBsks@ه =5B*pFe'~Ͱ(? "[4X m$F4r]fA/@%'9jl=.3tEv.m+M1gNZ\ȶ*ciTHJ*HU\I ^N-=ieϠ7ک9./^WX|ږ ܐ`;YO R.옜]p6:1q E aӂf6rd_t @^ 4y `4@$`#%C_̽tqZ>gde%pň'҂E`;E]y{:;2GQ-ڬ,j-=l斕H% =yԈGHXP _!<̓?૷V%,$R?1괓*OrJjUxwT*%B #Ax p"X;s8J@ז+YhoU\ .j3lelYZ3SDzc 6g$"E]<ΐ)K=x]IV%nL{gEaEJ2!鈚E=/@YӨps:j0my@9< |?0rgż0n T&e /d0{ +`Q+0&(QU'X {{tҼӮ8UCgdEI`~ve5zKyYV[[܉6pGVx+ +$iJ~8@Zz_☱Rn($)PRUH'3'N:$6u7˖Q&JV*ƃ.;7p&&E$9̎~yc 6+͵' |!91Gi@m(25ɿ+hn]yT%e[xpZţ[|'uX"GI揕f ⁒AHL|vFᩦ":;oK_XH8aGv1pk D\3ʛK:`j}I2գu1IqLSM6=y=L27*X k#ltc_ʎMs9*xeVדm. gQ>CU&bm_hrnQRF7񄔊T<2(`0d >>"JY^5jLO}ڊ:y@#3en&y4IωAe &>NJ=4Յ/,.Bz%&)m.ăE䫄cDap"j݌i٢Զ$6`,Gob}nPx%螳R<jҼDڱ!5{]bo5xL''.q,e?^b~-Yc<;U_SN䊩c @NDDB0^32JnG d> t@"2FN[?:Hl]{[а 1)d&_!pIH8;XRn}qslVAͦ.e-L:L~6r8nzr&_TɺK+A pa0sww+ vxӼ> 3ڬ>g`D `PSt^^E0RO:&]IX^l~(r a,A!9LHp*ݴp$J$ rw^ݣK+CTāeT00ᨣ"kZ"ؗV? Px<}:FJ}iDO(jgIٖh4 fZ^|]K0r*a AE?&_g(C|r<bq\bqvTd5|elн࣏ (ǥcz4T׳\CYt Hbˌ$z; VU6DprtbTSMwKSov04V C] 8؋^ߕ 0WU]ًQ$h8Q1OY#ko}0%aW~lNd2?ŬV-%b5[įx{[{tu%8 4&.{ PfeC8Bc`wMՖ|o(Nz{g]䵉)5>ivgC@UC^Cu/edUX'ՏuF_ɗkQC3ImfPD5I@ `|ξi)::r> * JЎc֞DPv&36.JTU6M{Iz$ 4%f5=u %9jI&Mʸt7R>rPߐ>J2".G$u0!C7p)芦+^*R缝Z91*(MÂ;GB ĎF4M 8~==ʝߏJzR}kރLzI4u=FŷPi="鼺[pUA_'W:'UMirG]}r"QžA.J:?ka&0O a;l;ʧkm⤞i7 0)<&Pj݉x}lض]nФFC(t-%y,Af^4^3,@f7UH^ hmp?oA)t6MUbkρP&FxEn:^yz}pk&FKؼqRO1R EMÇ6įιcǩ/OcJ /, $#, ߼MW lZqLNfع{=d$EOr$tB33S 21F^ "H{$9VS)7U!YYvyYK}e}'=;hmxS@Ǯ/œ>s} 'l_+iWKj[ջӟM֍ĄvWyq7o> C~Ic̲.>o*+ ,GB .M9&û]dhe ,?l1"^E5U!76O;Tb\A~ `%7CsI_bTL췡[ A%k|+RV U#\S:r/ܻ/]ײݖ PNJ9o?xDa%ʀ70h55a&Rf(ߢ%`*D3%~6 o*[ / t>?p;3Wif?Yd'qƾ{L=,eI7 .vpQ($&p\vEv:bcjt⮉=s}C $9)i-G13kB &}kv {IF:r,@Kz5n0J_"K~Ec#Kyni1KK_)4>v?=J!3ILDK~/c_Epk꫁'$ke9留 P t `zp``vW ׼ s |٥_pp*ύq pRwS{*+KZ}{+3ʖ71_~CcfFCOBVU6±;ߖlȽ[?UNqqy Ld6y#ѝ;Qr 'e2eJ>97m|;V_GvhUo3'Xp,eXƧn}Brm{(x%_ܷ'RE :*l75nY?7 nn sK+To /G 4#BOU(ІWK+ME͸-Qw;Dj{QI)4 Ychq5,Z(DŖEu\$<sD$2 Ү|ӭ2)Ѥp.=5n\nSsE}+T&TguY\) s "40~D¹?3щA/$rVF&h1x8@576Pju snJ&r>+jYo wI4{AN_8UQct*Y_r ڗL7>+~⟅Vr$# %_=PN ?Qxh)QCŧJa- $`| (W g*=8+i5T!-캏%PYOFǨZ9})2߇F&k:who (<"cLvN^$v|hzBABfLU/ \D^9#/cDSG:%ozb}wh+@*, 9޴\xDñ/XĒ *DQ#uց]h}jCVi;'э٬aRlح=H|j&&g~s]lugeyP3"D/`CȬn|F/ahEW9Ay,먤ލK;,s@V/ &϶7w4Wڭ{jC]gˢf~Q;ueibRlD]/qW!I,4xB PUcÝۀ9;Y&JݟA= kvTO&J[QgQߙ*[,5V[;4u&'`pu:UnlzЮ觯OٍqVUm#/l""t.oU O&;]%d>HWl5;TF{$ɴ>_ƅ@Y;` %U(Z cT#~|i: ve~T} 3Z)C:n`>=_'18Se*sݎ)(#L"-} ΁xF-ZݠS}|Ѳ۶@dS q Gf{.~'#~Ў1;1/EwܗN ]7>M bpS/s#Us ڲ.v`0ɽUa ן@(-%s~+lֻ޳l$V ڎ1!T9:aV2"'͠b *7߀?wDCyB5t޲E '-{ wh bb޴!&Ӌ(0%a9 rxMp73u6JfE$@Ky=~Y|R>$v]obJf=}b.&ح_Xtغŷ\e-4lš\5-!b 噸HgmvKKUŵƃ;}Uqio;Wh}SA4J V9`Ds9j}6v!Şgihs"CۙVQ K-Ys2Eu$43bŬ=/鄔.Pq\I}\Vc-'n[?rtAC=ІFkꗙh 30 'vgV2.c6]c*vOKL!mѷפܬ?<{jg'te͘DqJ5#vg_@Z,ꃵS(r/*ҹ`o[xKFLFYKd@w\u (%>(a%fŽ:0%߮E…;0\&TtAL%Yb`"`D\¦5oєshnwnǙo~7Az7vr^ e6YrXc1#Vbd(69v}>퍡Ru>B| ,ӄ L5|lGh)Z#:'#:: < l~>ScKeҜD [Ľ+<\D̪biCKX?%;{B@#~T+QoD3`:ceTn[?d숛 ЦNcRc>d'RCRCHA0< _OCH ʋsi@q ʳ"zMw\>^NFeȅzrO$>y˂[) 4 Er&g;;~9,#J| 4U!`ht< +AdM^%翓OqOZ\D"V8UЪk&BQog6a2QH83ai7YtDpeOeH ;QJH̗鈕)u,TDa\Ey)9.Ȳ3Vn"۷e+Ts&s?xB* \ld4rZnЇ)[رAwza y!(Y>vEx, P AIRܔE~*{{q7!;3BeP"UJrƭU݇6[bzF-? kxg\\19S` W脯U?CYhc XtBI4Zs<0.`JΙW>u(OZx7t'6S Yp紀@1{\7_bk'_/%:*ܙI q6 _4Zͽ3 3 pP;cg!6"*649[Sf3DZ@̿9u!m"LYxྮ{L?gi KR \nW3O*WT5[7ˢأJ:wc9)0υJU(ЕICcQAGA mC2=9q{S[>Bm1v}/{' Z*NLJ (w˙OI'j_m.psW%5#!D32kJq aZ%8=IJVך/sqJa #e"BrTDqBYJ6VEg os }Z+7vzF͈gWVr]?Z\ŬM=[2 auNGSwQ~phؤ'ٯ&jLp-R=oʲ6=P^S=ѯ੔n'72Wb0J8B6h'}vx_FW-$9e LؚiB3wjH+8oצ7UrRR|Yun&8ȁĄ TsNZoUF 袇e¼z j+I(]ۣ[bW.peOj Ee@o΀]hC抁`FC U0).O' $4$0L*}0ϿɌ[װZ S* ٝzcyDy Z=L?$TAV^z]5ȗ|;V$3&)TeKIlWv,.^Q@uLot<"\%}ԕq%pfp-:,pÄCrd;*"k?= nRLb'R^ h,G6V~sHjX*ryL.n`TD&o:.H ֑8EU-/41"^X\tip]T³3-?PN/SzdN[aOCq3Om^^Um-R֕5VokXCgC-w](A\e_5i2ӨBŧN9_Y L0[إh7 N)r;cFi|qYc[=a I->o}yf5rs|> %g^e}:[2*.kg7W %L'`z"JshM3wפe/4N|i؅Wo*TJ`b5ʝ,U\*:wQvctau{"iKsyv@5Hm|R>(f[H&̋{"rmcr oqeC% 4dN*w«B*el&G FLHJA16IY1Q;ĘYl Hy=/_,sU*~*rIU{y,U ˣ81 $ṹYW{\f.lp}>u\W 8GNPŪ{(4k)d<"+=31$Qܕu8g2{b!9,Z B3AwFVEhiI8Qx7>e-Ɗijbd|HwݸdigE)j©խȤaջ0,Fo haRih2XIFbn=j '#WB<zPJNF7J(1RtpAގT "Oʸ @ Z j7Ȁ~I­k12'I5l*&T~e6)HHBD)E"6+ jz ϞV[q'BzX7>G!)or- %F 3pu &ʄabE_v0dw%Q A OPYB}yVFW{ 鬤| _ ꡰlȯhM{dQѲ}_#(Pf]cQ}hp>qO'z23ukКG(9 8pwKؚ; 6?:S]9O^:U3}XL5jFvl y@)˩1mpsbB:: _e&@m[?.muyW\-*PSkܭ4?%nS˝U˩V/SW\{v%dǎ}r>/Z5p 6a^8^P~tA=Ty틤vEw>ɬ{&Ʀj *+ ai ufZi1g͸\ ͞LmE#5KǵԡbMxMA:^ @Q918 rWRi r y[ij%ٰ3訳l3N]"SJYkn*0"ԢVm+_tRsoR$,.-Ó0EYv׊pUV- Q͜.xymѪTp䂀:~|QyvD_L"LތצTAɞƯ+Ń9f4j™A"46*#Wܵ\0@':Jޖ-ͱyQu3qGGV1dlڍң! \>OC2dPY9M V )g#ؒ$la}'1:E"=b7]uk2B6 ^ Vxh ;*%u̍`Y&ɸ~ |n@5꫎[tm/雃cvU=lC nDϋyk mch-X5 ':$H {|Y):}{4-3ۖƗ]`p .CS|La-YA^ƗIgKd jz0*'Ζy5Cn,PoE(׼bSB}١E0(:$$MV Ą5S_ƕb#mLKz4K9N]lZAH`. W)Cl70j65u3聅QI'ldM|@">R_JRSN)b#jը:!W̧G@GtȾj/憾 ,iG+LM"^oM4aU.ܬ\JkE7Js<䓷z$C !ܟXw>'nS8iD)&XQsbh:9K|ʟ"@ȨDI;?:y:d_K塥TmOaG= ͒!i%{*GKp˾ ߷K`Y#L.QNfXXtSTXdk{An cⓗǟNs~k 5*ߟ.̶O%B!۞D ,]BXV<}$LEI3Au+fx}{|W0f)y&$ybtmWPAJ7M^ݔwЎO,zq5Awhlv^2v4}jHF$&BeP u_KC>)ƚCʊ* 4z ?a$C.NUjI3ȲmToV~0r!N86B;Sj@چD=j%t0>mrj$1mHW8MBv3D [`jb?ڌX--C"O ޣO+(5xh*{/ Q*CڗXq+ʅpk5 W$'/3* rN/;JaWtoME>ꐄ<Ǝ`tHIEJX 66;hu' CQ 0{VG9/lZyX@q[2\%3؊[KSR; E-[r `EM,M<:5CTs5,d_<~v= R D<1_ǥV8AR#N3e.cߣa8>N6n\u\*{]+TjHlH!Hh:q?rhc!E2,l6Yl6EZٱT:3F7 piL7}Օ%d0ڮIU?t^Q H _r> ]A4&D~" [7\ 'ϖ%(tU38#+y>(lUT.<+u8SO/uP/m,1صX-W>~Ȋ}g+ u$}?cJXH#dJaL1Ա>e#7Hg`zÆĦ.n9 \,B&Kb )̯۽['WhuCE_d4;&&YusnL8_Zz@*i g.?<@ XL18ղm/@"%zhí{H(UPm|ԺLOi !+!tdc1`M޳53E?'\pHY')A$BWǚCd`] ~k!N~yi;\c|YΗ3dgq DUDRyɽ3mC;i<:-+|mr7}baCt#4k`%X';+l䌸RHSAhk8=P~!i6" fK Iqb۸laRM};#-no*NNw'~O5Oe0W;xk 0~߽.PYn!A CjwujyWFyl. {#l2nmi mS_&ڜ_"ge}h:Z;A 4*lxcND\OQ ]cPr@GetQȂ/QFȁ lmJP+1-:l)(leJ*]=d | X]X~fj!q|Z.7o,B R>oMh;Y=dh\}HEL=Y-8TiWalPm~),q!մZ}k|Hbvn OLCtNu`-p9z/AjK5HrɆ pz8g_ aHXw£ 0|_q-AhEO])Ppq"R45V,Y]o}M/7숨hyed$zҸ=\ D<|4{~K|aO$)o$}u8aC81rZt n"jo _N^&yO'4's`E* g,&!$zxri#Xu1YA:aG"J `ђЇl xɔʈnJ`E%ƎxL+\4N0!msCk)@wBNNUAӄ`υힺdgB>_>ue,> Dq-r] ۔J.Y8_)nS78v%c-ybCbjyq—JscЕ\Y\{:LO:oE(NƹZ`tz.4M]oi@(:&8q} BW:aoѝcO&W~ڛNdp7'sC$6PnJ=lPƜP 17Qu%0l_/WwGJ@8&Y 5Ev7Ol6p R efҨǔROfuAnס5i^{} i 4 S۾B*όS廉W7v>ƬC9V4N8&G< B8Z H"}H[de_U @QQ BHxV9RY%mŔnҝ^6_eC4urιR8CXcE/7cjYP=x-Qq ѭ?B6ȣQAKTL}k[7gCEO (gBGoRη׺4 $B'bJ?..Wtf %^Y9Lja\h4Y^r͛um)TW -Nm#%9Q|&~^!jּKHxzx]S"f<+B qS+pi#&řFGi Ѕ,KF5gƭ _{WI#]Iͫבl=HjYP 6A %F]΢Wp@& G(RtJ.K ,WvQ'qt1DԌ0{0`$'4Ђo D y遛pXܭtj=<x"C#&ת}_\m|B0 'F)qA/7vmw@peYu(<+ڇ+~G mf| Fe*\9PUY(bW?V.ko##?Lp:\eä5s>[!*zQDKCT+QM} wrd}o)Ng\~p}D[q)8k,< 䤼JLzu^\PԙMۏF0;uG-;_ޖ랳fvcѺG {}y:aH<<)iM2O(DH QBbId$~/-[A^b/,2U=Ȇ>*KVC09K2{e'<= W. UGMJ4G9p ];42q~&T-2oqLs5VZ>F +Ⱦe}2 CU+1 D(3 l> qf$˂ެKc q &.Ne:ߚ¡zu߰ѠHɴRh{|:°`[ON,R9Iie4+A\܃ܶ.jH $C * Y:{V0qD?-c\=ދ?My3`w{rlYKIGbu}/C4Cqpo^ͧo< RU3JE/W^r>3'OިL |1]w'efۇz|=c_򹥐UaKq'v|eZ[Q8z_j #(UA,P!pA݀4q+)gPZs0^gy;u ecY s}SXh9؜?/$[D ;<=Va@rq]iro)PU>-Erf0!`;1~I܁v(=Q=N;a$oQvhSkl#$I Y:* 2K+xDZD;fW'd9O4ULϏBEQa.{Dװʤwx 8^$ ^ j69QYئFUM4W08Mg(N3~X[x{U{Xi;X U7nΈXc[Z>2_=r %ly~nG! E="#>xeI }Ih?]C5 &QYd+Egό\;w˜kt皠uc> WPfV})yʽ*!tҝ{Aṕ01B4,b|>gE1L[+t"tp[jVzW?+2R~CyC.Xj .4:Դz>vstGL'lh_[ɂ:r_&߈5r8m 0:v!i a+H&+mۑqP'cRC픎l"]HDj{RHZ})G$j =K#xM頻SCbZTL2un{\[])Ү1Kn%I@$boξ[:!_9 J2uҫLb+QAZM u ( YX""bFa w er1b޿Z0'lW*[wI98aFyp \oD+/PRC"[oG ES\~iK$U_vX, [j}/ZS%=9&Efi !3ݯcS!"!\|&.yky?>4F/~^3jNsz)-)*8H8FjCSWşSE!Iw1` xp\ lߵn+%&)ص͘QJZr\S  ^ ^L:==o[lQ<;m͑Ecp*ZZz# dHJgsS=3.|'.rp~I*q9WJ ES{PUZMF{? ;.J{6we|mF$ U2O-UޣR;^<8FW.m%j fݜ /`dwҵ^Y/cYǃO.׉WX+M-Ms 4'fBo;IW[ ~}lv(ƨ*y9:!GN5q]cgru얐ulu`f:خ|i'JH,vkvĘ (w' GvKFQIuh o.h;Czv2[c!$"z.C&oz( dM~hBUF&nh~H}uwI-A=6@'u:-k-3u ]wU!!9&=W õ2YW<hbxq} r3 W&ZTІPOc+8giH5\ɇ7 @1u3UV9VOVi_=uyHtʳcϙ׈B`\y4_$Z[.ƪ$x"W4/J.2fhP{w{UwuC8K#p.O*Sgc57_ {;7s[kQx4eVtٶ3BY% L9z SC[Y|K߽ !$mʱ%A$5†]Vж8nyE8~Ab i2Mjj-pr/eu\6m\#2{žVXv*0Ỵb  GBL]f"kYO󀣭5rK`gw{fS6㾱m|)zt!m,ZuxIA=(|oUEV2RDAD:w:56W!hB _nKi3u !D#HڍacH(Qwڗ}m^z%m:f찇 5FO"/q]wk(“em91_3O'^˛䟺:i"Y6,{de?2̕ZvL֞QPSNE0 =rL?4S}y/0Ԋ |S-\ L=(k60̖D4 d#7u=f:Cꞁ#x]&+tFWvoN?\od{mB1'&NYl=zцHxJF$G7|t]NM?ymKir&eoER|cG ۿ;q 1DeUH?Em>] gf&`D-z%"k{hF:@ m V.BGTn=(tu2KmD̈́o݃"#mƸWl?$kL:tG Lx2@d6Ѡ"j#@O1D@@K5PUr;`BX?ݦO:zWX>\<f4,ܥ 60r9o,7A$1%1 +WrWH 61kj p#׮'A>! [Ne5 aI}Mq&7#:2jp4VEGIκ@A|n Ga:o ,v] ;m]x>v͟ݞno΄:.(JH}]':@(צK٫+J-JWw¶ m4whZA⾼þN ɀ*4/wjM`2o;+9ܿ^LqYS`!K;;#p>;y"߰ڃ[W:$OZ8XҘl)ddDn= r魲$ո] cpbر=%ean$Ȕ$>Ic6}pBY{OKM_eK ! u49ay3Lqfz!rrjO_Kޅ4@x4?˽ ^ ~ࣼiO/ ǃf̂h?Ol<=G`}@GdNj,fTeyCqtW;ً/1G#4lXIstnOe4/&E4 ޽Q}SDpfE ) ˩xaw@ܼxߗ7ed/TeY`L`5O4)^:<׵hU21OpH'%0}5dDM!p߸B-see`ЅU% Wqf%s[I$dH^tGO3`ɶ݆ǡ#b\.V{pcCŸ+OkZM^98j<_v9˅;!K?Ԫ#y/w9)3C89VqsBScw?cG31sƾa2``'#g-];z C RWcw_X՗T/o6>_xݓn!U=B09l\#;5PF(E8 *~.µbjrG[tz j7S/nzZ$ǾAZN+8z ?Jp" c1GnuRSU[QOyK~ݯ~ؐ,j &e$ǯ"5t*88[[c gXĄYEsի5eό8 +dA>nĄ((hqk/-ftYnmTj *th0w8 _S/H:$B]Hk L(cS_l|;:n  l6exy?'DX6Qs>d>i< Yq_ʏ$UXi -|\c`vFR?&@p{׼5($mk8$e[d\x6`q>U..x2:|8#?y:1+t-Hch0#7`6D՝^!䴵G ^N x:f@q+MR1vtҢ}wKr"8 G _K> \}[ P00! 85N^#.l|[K#-Dw;L*a:׋Ο({0Ǚ%bLVl2e%9@z]DW6E`eCda8f3  zP+'r4)BޗR\Aͩ/]m-xĥy&уN`_N(y]w+]hN학Sw\~H|T@x4g6}FjYdGz ¿ją4N K@f8 x] K ($<4ms!6l(k! d`V!ü.!/pP>NGi^gCkK2݊loZ\2:/:7O(џWc8&L Yަlk-ˁK"MDrOc(SrQ~ m,.3ȟzpBL@"CW?l T(cؽEU(@7W9HwWA(I_Aᵟrht_L{ڬ1u=ER-{AV|Th V5k7iЙn eY(@ޟ_,g P<؞=惗^Y w^5Yâ>3Q,SK2pyCFx3nWAVlׁ/53"ȧ#^i*ð!ߊ w5!?) WbRE4?[RUZbMr ` )1Q$ʭ AsS9ڠks 'gBrMaޏ6/ [^u |h M53i-OO7(a]^z tt;1 sutnx3JE<7%1Un0.^adg,|[J wJb.-er8{ &sӨ6N0 \ YWJzY5UQ'SS^I#:F{SWp&M`I'>xO4EV ޼SǀUcKC?[.l~ZjbtR,6uF/iII% @xknh ֝BR}@Hբ+LH0v 1@E&y^Bqe o i?0$,0Ӆ>s_ޭmJc@cTA8N[) ץZ3tW}`*FH~MͲ((OrTX>6^CfB&+sƌ>Ɇwp>"hGV}J. lL,理JEkʀ۴WWkxao{%!ojH TN;|glm[ l W4E8'j29Xi@ O,w$Nh!|c3F@\lt@wjeZdAZ*Vyi$B|uzo ֔J,u3 ͚͠b$_,0׈}TF֓ҙCO/*\vnPY^{ԛÐd9-xN0ڿ}YL!B\?]sHF/>Jrr0SleiM\5jf4X"MYOEqp@O7ےt8^PvyD= Ͱ'ܽ{yN@t eesa-ܭ<,j}UK D7 <8'mc1nS͜T|/!W~J4 >1iQv6뱙i!_/rW<@ +NbF"J12c%0 "mǪ\wV2A-hΐ}9Ϙ}?VE9L?g@gax&U|[v #%/L"VUD܈Q~;ɤ>Ƨ> Cf7+ry9܁T^R2z7N8R|] Kh} Zr]?ϮA::+k:Y tD.QHIzIZ>c .nm) "7i2;%Ww?I .dgEe!S_bMFLh %/fp&ԼsS7XxO]NQ_&"Fb SL]hqmd hR|TP_sP.G#9 "W99DPX:KF.߈jݥrx,#ok/s e?l#it&JƼB!ڹ>7HB?DDv% z=w$"(:L)T/vRbceeb޽[Eq:f&[g Y`'w#>r&TD͟4F lKP%ְ`kA@(uy_)Os5 t.r@~.kfl'SAxkI~PXJ}6 RȖyq4dNvۘTon>$ @MPdM GÁ!8 a?X+&܊kr+a3l+;P~Ts3jk=!82M}'+A *-t]x!nB } k\wʠG=,Re';MبdGQ <zΈV`df@q]N:ʒ¨p1KQ W@X9}Hcy(:Gh9NrUŠTZET[JgDw-w'V^k#9 ՠojZJR@y w.j}, hsHnhWxs^} KgôGNܳFhwFQԎ5V%[L +zSE됎ĶQzɤc_u_?$քnb?B f>XPpZ-?I/Y Ì˹tC@ؘmjBJ/u,柄G(<+3`''/AO/#i̭bv(tY\YW3#(qŤN Y]ϯv tݜ6j,t]0q4"F=pqcjUuVL cS&Z9ΨtOGModÉs3Q0Nu!1eJTIpz誯%*/V!> r\i sP3ic_ވ&g=|% Zs'x/hn1xF]z~k 1ljIEC<齥o?ﲓs!+;Y7Z[WI+K2hUB32 ?+D=G\8>P_z D}3ë!^E)0DRU0C[O\R) nV^tMRFWr?OKm0xb`0`H鋺iSr5өsٯ8E U{Ӣ- ęaдx6bmӈMs^n,a}@O 5 2Q#^\+fFqէ/›?"19ɠ"RjNP:vaG_&,~D!Z~(3vOKã_>@\WN<~\ly-~fWBOq>4i o5W~ݗAǝݻ[ 1 ;,`hOuPzib6Ggcn=}8qh2E##ڜsg͍؛2(e$y:ǡh2:1:\wKlYyQ]ݑ0d[o]=eW 9WRk$o96o8Ssy=i$] ";Fkdj#ܲnK%> {= vwMIܛPXpΒ1S':ca7)0 @iSka-5G vmQ&5-)IѪo9dٳxB)բC+d`=B@ZfܡHY-4$OFI5K0sAN9NXmnPlMXչE \I2:1`]Tpy앵ln ǫ$cv; ֑1'OtbE(Be }nc9>m}6&V?f4h8d:JUڒx4E/t#ǽZ"z!V*E0\7*-k?^|T@`yVw ЄAgh7D6E}+EDuKq*F|_vD:"'(Bs x3R78,xX8zzha+`?o]qy ^ޢsl +4ئnGޑr?ŢP{T)[<}Oszpx )`~էؐd,jEc{gexrEF!Ka Qhbb^"LvXD\>XF$VW}mW3:cN4UUh=OZuꀹl_}Of/;%\_}aLhn}yj쉓=HAЇڤ3>{^Qcrw2oXuŒpANI+/%׆ήؤ8=bu+'|o:nHx 2IR(rߌyg 5|4 #8tA z,uù!DۯIKc[dSW֦|\:l~^UZ$sT;ȹ$Ii%C5|. co%?An9aCBw"ABYOmRGCFCG4!X2 /!1>AAO"m{@;ʈ|%j)b_T9$QwG\F ޛkWA?\< xqj%>9V #`M hk?(UщON?Z\MB2= 8TK݀,3@`߮p/ K8[9ztʐ[ewTHX[hILJ)M(vho 0s98 ~2D7S^wWRqc-7lΆT/8u12cb9Ր:MSP4(w%%`{!g?+15! dPݥk>Tr&9:zk\&(CE7QNP]>(M&Q#EIGP1y$@w7ySbtX@`[ːI.6{_'Folam2hH'+}'IV8XP1S tx(JWQ(>1dI>҂웨ZLGPuOGFp< o~NEduBuÛ6%u?EɁ]WpF\8I95l<4f6ui d#$iS+09|\?zxD}6Ao7leZX{/E4BnuqzNn,rI= 5bf^G}7鮞̈X^BFdCLD#Zc!pivlf'pYշf^wP^P kl1k.`'={w!NyrB9W%(M}e6蠟hԘdLOb-Vw8ñȏ[AN1 h@qYGpO&N餧{MAu^n@/f7y,?aRG{,?KJޜ׶ݵh]rs/\⽪8Dzjl{6.p•B\Ad 7@)4<*rP