aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/console/command/update/update.php
blob: e827761d1c4f82ffdf0829f85294b6050b1e53d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

namespace phpbb\install\console\command\update;

use phpbb\install\exception\installer_exception;
use phpbb\install\helper\install_helper;
use phpbb\install\helper\iohandler\cli_iohandler;
use phpbb\install\helper\iohandler\factory;
use phpbb\install\installer;
use phpbb\install\updater_configuration;
use phpbb\language\language;
use Symfony\Component\Config\Definition\Exception\Exception;
use Symfony\Component\Config\Definition\Processor;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;

class update extends \phpbb\console\command\command
{
	/**
	 * @var factory
	 */
	protected $iohandler_factory;

	/**
	 * @var installer
	 */
	protected $installer;

	/**
	 * @var install_helper
	 */
	protected $install_helper;

	/**
	 * @var language
	 */
	protected $language;

	/**
	 * Constructor
	 *
	 * @param language			$language
	 * @param factory			$factory
	 * @param installer			$installer
	 * @param install_helper	$install_helper
	 */
	public function __construct(language $language, factory $factory, installer $installer, install_helper $install_helper)
	{
		$this->iohandler_factory = $factory;
		$this->installer = $installer;
		$this->language = $language;
		$this->install_helper = $install_helper;

		parent::__construct(new \phpbb\user($language, 'datetime'));
	}

	/**
	 * {@inheritdoc}
	 */
	protected function configure()
	{
		$this
			->setName('update')
			->addArgument(
				'config-file',
				InputArgument::REQUIRED,
				$this->language->lang('CLI_CONFIG_FILE'))
			->setDescription($this->language->lang('CLI_UPDATE_BOARD'))
		;
	}

	/**
	 * Executes the command update.
	 *
	 * Update the board
	 *
	 * @param InputInterface  $input  An InputInterface instance
	 * @param OutputInterface $output An OutputInterface instance
	 *
	 * @return int
	 */
	protected function execute(InputInterface $input, OutputInterface $output)
	{
		$this->iohandler_factory->set_environment('cli');

		/** @var \phpbb\install\helper\iohandler\cli_iohandler $iohandler */
		$iohandler = $this->iohandler_factory->get();
		$style = new SymfonyStyle($input, $output);
		$iohandler->set_style($style, $output);

		$this->installer->set_iohandler($iohandler);

		$config_file = $input->getArgument('config-file');

		if (!$this->install_helper->is_phpbb_installed())
		{
			$iohandler->add_error_message('INSTALL_PHPBB_NOT_INSTALLED');

			return 1;
		}

		if (!is_file($config_file))
		{
			$iohandler->add_error_message(array('MISSING_FILE', $config_file));

			return 1;
		}

		try
		{
			$config = Yaml::parse(file_get_contents($config_file), true, false);
		}
		catch (ParseException $e)
		{
			$iohandler->add_error_message(array('INVALID_YAML_FILE', $config_file));

			return 1;
		}

		$processor = new Processor();
		$configuration = new updater_configuration();

		try
		{
			$config = $processor->processConfiguration($configuration, $config);
		}
		catch (Exception $e)
		{
			$iohandler->add_error_message('INVALID_CONFIGURATION', $e->getMessage());

			return 1;
		}

		$this->register_configuration($iohandler, $config);

		try
		{
			$this->installer->run();
			return 0;
		}
		catch (installer_exception $e)
		{
			$iohandler->add_error_message($e->getMessage());
			return 1;
		}
	}

	/**
	 * Register the configuration to simulate the forms.
	 *
	 * @param cli_iohandler $iohandler
	 * @param array $config
	 */
	private function register_configuration(cli_iohandler $iohandler, $config)
	{
		$iohandler->set_input('update_type', $config['type']);
		$iohandler->set_input('submit_update', 'submit');

		$iohandler->set_input('compression_method', '.tar');
		$iohandler->set_input('method', 'direct_file');
		$iohandler->set_input('submit_update_file', 'submit');

		$iohandler->set_input('submit_continue_file_update', 'submit');

		$iohandler->set_input('update-extensions', $config['extensions']);
	}
}
r=܌QHZ3e)jVv7+4E "U7/(N/S9pޣ{;q17/,jf53C\"Z(= RY^xvk8.m-Eo]ݒFr _-W~`0fV<*,4CaeME̠ƶ|#!k[U♗SXF2Z J~v~?_i1Q0;?mѬ= ]n>.MJ:B]!X6"^~Ѩ , A*(N{rI:Ȇ4lZ!uXedʺkay \d#6ҺPT8J;dRNּ1u \ineFX= aaV cW Ja4d+n2&ΛKu t̯C# $*R Lg$?GnmcJ|~:1x0IZl 6Bޡh2ތD)DHULuWOyz(^v|@;9rzƯ̄mҾD,i'Hj$D)&[5n\Bp-BĂ\ USA!ͥQ ρ8A1ix]w/bɥ 0pKM_(f{<ʠDE8)(DIX659'$!%Z|tNH0kR1XM s̟#av|0k&uzy!\ji=L]>|ā#Y+QTT ADYXP {E ?iZR~98%""}m^焢bo8shQӫq9N1 xp`0Hڒ%JiĕBVM<2*s!Fdj ͤ%.AGyR{x^zF ئ5Ȫ|2'93HND+ÓL#J 4KpgxnP^_)QA" LaeqKaqED0e)9 Vf4w2,@e"4wG#SS)MqbBfHH>!'ȄG`I<qAq|c17c@8ߵt?au ?RLҒy Àì]"3b`JV*3SS hjD!a!M H,RKE.YRr` GfP/sm"`ƹã~UK-GrP% TS- HKkCPU~.?^R;h4t>gO~2rUNܔ IwV HsJƑrӘ疸 PaF߃MV c?"4 QFCK^3m-B8P)_6#;cGp܏q9X?;<ֳ#_uwjcY S2&5\R2=?B /R;,A֟Jǻl"PHDSG#~p(Irv1**PLa =~B4[vЌNuOǫRb#7 &х<ݿ8xM>ש}l>1m%OeyVEQ! r~Ccl粳i3Gan0𖜢8Vtո i\֍1a UpwXquŜ4>z\'b%-50NLwU<+\IPiz& @^":k_Eӑ~3W*g1vڸZFX؋r%e"H1QJ ׷7Z^XJ%'2pƔ# KQ>FXrOyB}U}%v,1r @z|SP wk&s*{LK*z%*w΢ !^N"lÁ]#`ې)\(z(3BxB!K WeRuh! QvCBZpv0V //h 4Шߐ}rT_EW8@e>&"M S8 3f wT4Jqc|y?vǭr (D <"q∩/?ܷEnz}ǎ{B"HmI}P} ,Ұa[)YA b~eInc-8O 8 ٗ Ǖ)ڢXʌg*U4<0'ImݜA‰AĂ(@sx kp♋m?~ s߆M-5kNVwPb' B {'N;*}ˆB!还E[~:Wo~b}c8jy-@~_džmRr?E xd8>Ss6֛h}m Hw8~ՕܽG;~9(}F-׀3]FmDzkN?~˵cϱz򏯇G(_m';9\my슣soX( ŭ!fD7ߺ^շF"3h!G51kF=SZo i6k:O\2Q'`_Շ\$Ƕ29wi :~<޿i;" a>4c7|)}~ y v7SDR.䊈 A4 )ݟ|CN,]q"@Zrؚg,bk-Gf5zpP_K 8aVdEH 7kvJ&4 U@mmGJQA<,q~D/e6؝}7'i?N|5y;0b[?. ZqD)~=e=o{¥2qᚯ)S3"\Q|Eqz{4w۰Jt! 猯)3*&oedž €FZ2zbr e$I-5l. }:tm?Ӛa AR?fCB9T?|(;,0rSpQU "| ߝ278˜# ;cG>FŢ*LMGDNfF,S$(8HM{" SgN]]~HTʇF 5 =a)hp5*D@:d htYygb`;Do BVsZlFJV믅oOT$W'y糸)?ZN.IHqD"Y%wqgZg4vOh*T?i9:1Dfg<|墟N "'Qcr6 AEhF$lQŒP ҊZ:@HIQx4l5s;*ɏM>lKy,2D( hlfHD1IC:c6ā(&nL<ͭE:IC*l6s_6 Gaz|y!46p| ߫{ E Tw!4ԭZEdt}MxX%d"3_ȒQwW2W_Y<,.s%ϐ3|M&a(;%gEkP(sڎ5RB)+tMɊ; c}ESgici&(!K㻼y;%2(tyQ{HEKf@Ԉ~Sir#ޅguqRՇ1$5. 5-M W%@%+WT Ø= 2+ H24tiʹ'22'ЃĪ !R`M.꫖mAiI6VM|ݲ|ory3q $*SZRdcV$*שu:KNc] b@` F vA $$ !Tp-\SG"kY氙;XeqIMٴfs! wgAq @IJEs9־qlҎ (2 Q 0Lqxj:Ar `ZXRX &sDsdz%8Ge CDa4@ <[֍,^&gwws7jtntoxR0~D*\gVQϯ˴}+4NBTBYnɍAD< .. O\M=X =nUt Ǘ7CRf0 sAN],A!1RIE5 ĨnE =1|X!'&h'Bzr xO ل#Ï`# :I 3-{Fw>_eЮMEb+DAS 0IO^;!!G|ͷvFX"R"Zhu.q<4)d{hG "i1&{iu9d>%)ZTn&V2$Z8q\u< +(k4'9L8aqAOU^u畱v7D4hG|t]g]]Eu 0`讹BVDCP }My|lpx8?>9U2 y\!Fʉ6((ꇷctǴ9mt+Gg>IO$Rw'6\$q6|::yxG֜=h>TE^0@'QAq˞l U;9td{Mo}mP;z ^[:91Y5AP:dx877DKN;w9}|ީo@OWpDUcf:26lƤe-ljNǯDkȲ#"N(d#JLB$P*"+"JJRcUE0̕UD t ׈GuRoDψh:d8hy`R__fa367&aQ] 4}c- O`PaC^ BI"46"zivבp4݄;P>O_#>ƍUո%o*ql3"nWB3sJ£0HCΜ+?5>#ˏǎ]d$oHw5WO笏vZf7QghYs"@XET >u@<L (;A>d Zke ~>TaK3r4x啴hA#  9i_zs_ 9- ~o|@Kh_TPpjߧ.k:KT5;!8Z5l.ƨA5p+@à6݇dqGPč ~0N48?>&CƝ߃-@:%JfrWU& |>5o2q+1Ayzd?wW#|Ѝ!#&X%(J Bl}kV9OPHF@Ȏ2A؝ C3֘if&W(&B R!z=.CE`qcM~49oɊe)̺<߮crGubo%=hfƕBbA$`"! +.0$CV B1D﮲@Ua*>j< NB{sT L_!7ÝPܮ2h|bp6&`q 1 vā?}Bg26LՋ0$D!p}ert„qT f@4T14'AC:ߠ*z0QW Lh9]W^=ͻЪgzΖ*?x׸`1JHтCpJb$Nlydx;+UfXcJgoO+S,d*] B[Np)a¡$J9ieVK ֺtz)u!EF] o)uND\J5ZJVٴEt"81]?.=b4~z edwč2"̪Y^q @]( n2Q$Hw0`~`dȎ_cUh)!uIZo!=u HpZ 6 [V: OJCd*)R@Sq! Jb2 8P**3dF#<@tÔl-;밄5SMއKD#̝8EW#r=R)p@'T$"^, +[:a>Gdb&l(&4м!pxD/s|L''>ŇO7G}jC_K'k{T .Uv\ǰ?k5FE{喃;@b%/IJ)z&1)Gߪo6+_CA((-7Fǧ( i༖LH~,+9tج峅Q % 2(ZZ*wQF0^vzg}F.>aiߖYcZW_uȩ pȿ7i$!HRRO҉0!HPJ(|/~KAFA5o!~`AP¡!J'!ROln'x;❪Cj> ">HB$N@}uݺ?:meZϢZeZϬ.ݬZҔx_?O'd6tY"I }h#w7F'97nϫm߃Mߓ.Oz<^7:=Gh!5@E|U!3@ˊr<z 9l*4 .edh!T$ 4 y Nh@@s!HH8[0 s@H$ &TBu| d_18tY: ,CP-]O_2&kkT4EY$`2qx|iG%GFkRޣ8@4l#TQ F:T46{׹GGUKC$#\m,q1#RCMyQQ Q32fVEKgzeP!]C2xV;y'L :yA| |!7l1p6 sMTk[%J:Təqv콑wC [ ymj6EI/E0 RFԆh ЙBfMVvQ# ann O Y"a9s5\W )޽ /UaG{t{Nj}%M+J5a^xҨ>BB/X".q>[3Z ̶:voN0=hm3ҎGUoӜ6? [E?_Ue_\.=`E28}8p%U' l7,B*32/9xffqX`ؤnw &@~0Apg~ov#7po^s~`aeZU #l00)B(̉y` D- Y/2M5PD$AS@DDD@U10ē5RES3QJR3 B% (, 43tUqV`QN\=;=%h&" aZS8)Y X׶RA‰GpPe.QHeB yt cC@"OpvASCz!' +VdN{(F(U>g=Ph( (h6z^-ϙR=99J_P@T `#Ty`"(֤j*w0X(6!&QAxtn?J\MAB$!~iVHAk7Q7A!OŇSj;KsQV"8S|kpŴfBcqQ;'DN#ࡢC, " ddT"oT Ed()LJ.p@R >?gwT"- YƼ^ und|"F̶^]=j@{ͽc((((1ETQEQE4EQE%QEPEQEUUEQEQEQD@"yx!$+kYd&IBe&Q B fAM84fQs<I3eE 4(fDME*:s)0#\A2E2L ʉL.ULg3 $L$ 2lA&PIJ%(($2l` J9A&MA&ISAA&IeҙerL($9&M&I 2EQ|DP ',G&_(9PXTZO]G#ltpt=暑MOTI%h":ǿʎy"%B9 yy#KzAQ< < fwrML*%3D `3qP|B븀9Hu3DN4R.`)qDe1AOg@JׁC$|,< C K˯A]{@D`:R&("*(&"(7>>܅88rW b!YAV]xcO|ăiʗPk9g׊nSut{sXtmwDyl.{fԝ8ݜ'& B9&)\]=Խ٭{NEKglt)ͅ89e{uݹ:S[&(۲];Nvz[fomG70rj5mXbѨňj,;eX$h6֠b4 :l2ҸSg,bgOjb5Ciq\P(J:~g ifJ{g{L!J 5QF륀m3٘, TSb"3|[^\,_y]c1.8I&y[zpO*3B@TL 2 cn'WA)(nwЁ#"@C@`6 U"~WU༶i, HVFPPID@B XUT GYv]HU"bMMo *rMB Cp"h qG$T!P*$Q3a(5uɨmatUE66J566E6#EEF+c%sU-lZ D#K;|G'i#FKfEM2+{s…T i2|~?_{gCRtd;2M,#C;;{gASvZMjN^W{񥻽Ui9ΚI&3^];RhH7Wt,ͺa!;Ӈvwg 9r9d;M)gw[%7'ID'ZZt ӶM=OY 0ZIQ, lPb6#FqE$ .%I -EI2Eb,)c`e qZI RV1E2ID'\hSP@9 D**paN|'bq'o!+B?1*( $T R DD\@ A2PI|u7PL 䘜5}H|o8DW@UCjX-3|yg;%|ҢG<g('F(n xEPIc73sT7V϶yhO(|Ch$FJETULPOnǢf'/Lɇ7v!t@ p 9_f {ç2隠ItNV 3.-:tCDPK(= k;JuWUD{r85M︊&8.FoAMo\E悏bqI`5"6IoM4ߓn6-imт*"+mAILABfgQ-3EhKaĴlRQtAIDI63v9788 E(1?T^ϢP_"vHV%RI{5ݖY-dhe(ӛSwI'=wGlIGIi9[{rjN 8I:ݹdƹNҰS7&m]>z;A ,C QbF+jmVjkLhJ*1RPBhU4K!0DFKljƵkE"Z@,F²?-GVoÕ n0E3K@GA 1A |wm~މT Bb@8JrZB (Udor.H\x@J̈Ɉ *"ysDDDDDDDDETDELUUUUUUېm7|4@×sկy\OIof3zrs'q)KZh>PG⁸qpx]*D@6@GY D}΃#SǎR*>i&JĘY'W"}:؝WCQDT\X;mN4Iedg0P=ڈTԨ' ញ$ ד@zAZhhƴ ɭRii1 ̥Pč%: Rla1J"*媈H($Am)iq'ſAVҦh 8rϪrV6tep;t3gGna7۰ynC7I^^]=6^a5 9vNvzjӴ,I/=wҕu:=:k6Đө6^%oq, S7+zu׬K%/N&df+lsN liFj"$EM[Semm6RQՒ hD$`ѵMQ6تDh)QΝ4cfLq6TTj4bKXUPByxwV=i&D@3j "ruU[ PP>2MMQL&`@6+@@\FB/q082PW_a`#yk >~ppuۆ\耡s2?``̀]C#u♐BsE% CiNsN(ѥ#K!1 #TE- LUMP1(HM_ ?``U` ;=̇jynwIiYg]xNݺ35xN,;d7#2w'k[4qnLgq;ӧp^InM"*̸Mڸ̋绉I /Yoe]w(ufqv7{C4h^)Nqli:&Ɗu*JLU5Y8b Qg3e)+-E@b-b m[MQX:*-IE&!ζ RNh4%&X1:jӢJXN5}EôSPyhPD:B4-Yjd$`J {hbֵ""" xxr 4Бz V}C0Wi'B8DJ]oah LLr[5Vxp* jh\׆Ά8c>{(n~8l֍䁑CD4@&t*HB".}#'NI'tiL2]{h;ݷ+!,ư{K&r] );wM/;7Eqtn\m͜Yۼn+'iܼ3vw^:74ܝwi;G\һIMn aaÅlץl)aժvۻ9MnJ#7;(N(fh9bgbi AM:ѭ1KMSEmZ(-4bqXűQ$@$N *F"c3bm ӖXL8mmnr glP3i-}jBrnu7jv4q(1Y }Ք}-AZ} Шd(.\E֋Dkdw3KV`FHP/OHo<ƹCe(a:  JP(@-97@5P?xN]驴}ztѰӹoI%ipv]s46)sb:A\K.Ic68DN"tvvNjuSx,[(G+:cӫoi%^;d.^NlfkMvn[К˵S'lQcb2UPm9phĻdѵ& mEEŠf31U6 DIh˘$DF"ζ-b6@gmM$L4@Q@QǢ~.>?+ 8 %tA=rƦHD-mJ(%(LDJ9KfeVX h:{q&Jj|KXD=b6tX uY6%F𶇆C="7x Ƞr X"Hg5xC} :y>C鏅$ %KS3  Gvxt#6W6MӊԳ[*tlnS6hvg.-fn0tvhsM6;]91㶻6D^3Fenn,G6.%:ME"hj%Q[[EU1&"*mD֢b%cUDU6g;lF*+[lAh٫EmTUESCMRSE1Fؒu1hW }aՍ hK6L[ DIey;@Pl~!LXJy*)4~@R" YXI;$NBL T咉$Q̴ HĔ!TAM--+LJ^e҅RD$HR4PDRPI b"v;mԈs5s-+N2y㓫Х䳉:ymM֚i4;q#ݺGamwvc'k7k]SCۤFqty פ;.b% 4TݦM2s:J]%를u5M-<&:i`u]YV$Ad٤Кld-V FE.34b΍h]FAm;hccmR֨*#ZthR꒩$["yXdh 9Qjyz Zk&]5urADAUUUU36^[8=;Nn }Ank!DFQ9fai#%nR0@#x@Qt]c<%N !PDEAPPT4E԰Ze%%SDT2A71DDLMRDAR TELRQUESI4جIi<5,4YL^0W0!4XCqefJ=:DۑzKl7(ݖwCNHKXkk/IND]yn:M&w4Z\ԏ;eKM詹c/җ|F8&`EUN "tST4S5j#5(Ěj"4`յc:*ъhZآFB)`A mLI"ŌEB!۷w6:3=T,~n!*&ӸapT $?,D%tH{V]鮘n1B7ߞ?߀"* *)bj %*b*b& ""*"bi("))"b`b&hj*ZJ'?ѱ?zo~I!O&RC7X+SM$OϚzEջs1/jQi„؉5 (#lzO\6fmhP{!" 4Pґ)&@8W(k{y=Jy &s Z~yr LŬD%FLqQ V$:g;&:0f{v,j98*bw (k2eBqv2iE^!gU"" 7'NW m)&)fe3/vhiUWE9Ky?D{3=y Nr?Ƿ|&)v{L74.y&dk\Z~z802m/^3/3stZPu\d2'9 Tֻ >36~T}(>OrLI$ ]*+J%:E.; C+I湦ScXb)=Js4HzO(|'l& |1zoi=ǔy;4%P'_,,ͱ4B_>8I)"螔iXLCWPP^ѓMImsl4V szGs㲔zrgCS*K.;/Gf|c9~fJѤNaS>gP|8 zfcn)IE?>7p />?¯[:CY(ogkbţhIl>?y3??>/ !=T? {kSLԒ9wV!IAJ{&I(Sblt+=S9#ϲ¯}=9z$Oan{5Bl'K_`@AD1=t>,1<#(8!t!"n_iuo|9fsL[rNĹ_7O< 6}MA*sQK@WP|[Z Y*3mj́?GH074h?q>3\>kF=_GrǾ0A/)OKR LW|w}TP.@ܱ7ڽ uL#2I3 WQf69d +jfQJ\HTLQ `r*&cLބIYN#1bfš(MhFdKc`B"j +i`p ڐvDY k(&h95ݱ]-pK, cGw+,*ѧbTM#r(صǒ3+f%18t'+y&<*eDiUCE*;hI (򘡪8$SF-CrѹE"@{)͓p Ia&Bdd̡.gELn¶69a ZjrbU ׳ b7ISrDmIՑہ@.Aѧ" {x @wŌODq/Ж+*o)H̚oC !Tr# )ՂV 0P^\UFD50FQu-lܮ*3M2sM! kwySQ"C :.3& [Dfդ#4M[V)Rt0FXB0DM:jڑ4w4R|<ƯEoHrb!"IbwZbێ@ʚBjQfPK|B4s! etr&+T*T j%%"2Ea)7lSTIfX!*dn``/H1 "$^MJ%H@;1KMZҽ|Ե 2ȥNvj_4fVVXșI3]JMZf bSr՘,;ܹp"޵\#f/-ۀ Estm"Fh.0Xp/,/g.J(TAy H!74z k. EO0`a?oӄ(20>L}xE))ʴJ"~Okby¦?nJp ?975]!G랻s<(~v1ny::UvPÑ` )h@C=q'rPx{'.=$` P?_$EOX/o !ma$e_?"8 yCFמepb@@O8s`.|!bmB(8N5G#4>,I< )6CC/'m c i]If'n@c1c=:s 2tl\7n6|cCKB.Oy89!P+6|k<'1eYc;I\s`G*G2ُܣ݄  T 2=6L?!UD(UP܆Sl6xs e\c>}1%>iogpnrz>C/#p0%˾$8őn{z(sc>_xu;$gK_ߎ1ȮDPŁt%rWGWu@s<`,ޓNѴ>`W}>Z@WÞ2˘-'-dAށ;m""z~/c 6@Ț>+#'s5?CïeD4SE4SESnX{,,xo'3 I$H/,{LCrBX۶dhc=E?1v_#~ T<[@pl2<쏮go~-OoLU(:\W7w'jVy2!CFaG+8dv}AĶg@j{ϯŏS`T'ͻ1b(Je}]^W=\Ʈ]_ӆEx~+&/?a?`F2Wإ~6.MK6k̳ǡ'#1 !P.;ό$hfR&Zh h, ?#Gd|<7.Ck g(>j9Q] L@J>?ssS% |G9/-A cKHH'2h}ueܱi.Kaxp=pO2M $|stzhHux~Ӄ9>z$-t7w]F=k\T/+Y )(70ʹ\Ozf0 &$;LGd ~4-Y$gFH?s?=h=?p? pLAEzszv; Z> mω$꩙>3O>>|mXI DBTG{Ո~)_QoXO6~/s?!iUU\1bw"IJRPnC>|_ ;,5UG6.6^$FEqha,ԳO90q􆱕Xǯq ]nxOPОjTPG/}^'SC|]N2[Yyp:j6Lr2]J2`͏Ni(f=@#vd@M e59@4S>(й4T=>wlS,_ $`!Mx^K s WߢjVCM(_軇4>OXN|;8:.9 aWoTOwH(Y? G~Oכ9ښX/OGTͿ.^Z3Z3օ_8 쁜['1 bG|K~Nx3xk}s0Dn}pٿ;[bǑJ+P-i"F':Ы?f *R^-bv>fI.UI׏yPH~K$ObGx${Xt$U @Qݾ ʙ޺~fNwOkD6J1"3 " QqL}x׻n:vJ07@㡼3)>F_],86ɋЋL^<[X |UK@Ւ_űDAgpZ@7ۮ-a(-Eo~X' X?3'RR򁙍eSh3}5!}W 5-I867; $gDtX!UU1ո.CGA 3s-`|22M9'L ^$D<eԻei zsP0U4yۏ Cjd˸t_. b2 t3:xr#Q EPm|v%k#S!l8F_lˣ ^ RЍ 㡞&XӚhBBkkG:妼/jds>r`دdP#Z"t UT+\leeAp?B$; XiE&U+F3cVOF2j349 I#bsŸZŁ7w_VۉD1.PM#v0_sA3vuMfH0'3*9('EıKp\'ȕ m8\{h`v-[cӟ:n-ØQoei{ p>y_wI]=P.ր.P8#⃓ j‰"E e`%q8qHrv3^3-lCw^`S>g =@L֒%mL"%|𸉈9<`9 Db>bN^?4{Š 7?Ioyo}:)u 11GH_ۀ.cOv}r2:BbeNR|lH $S{ތbm.9BO ;}0ȏ~Of6Mn2(",(F'uBPKRL44-0RQM3/=OُwG!B dH"'"/ <ŽB9( IKu.} W84ƈ8|1_a*WZ)D$Y Rjo{m;4*G-?~9HTMBEPJ (tU͝XAB0r !|"'aT<Iڛ7`.wl(;#Ia#8 ق) [I'DtuTo*(z. ,e{v°33h:!f(F(v@q?NSIp?T?;C˜(h#vR~<3A[=q )'A` "C>p溛7-Z4h}PP? ]B^x4)We!r,T4gFDQщ(y>d"iڽE ! @3 hb!9fb*E $Z*-Nwl< EE;`@븃;JCݓ D=_U.'g{mMf)&D $GZ'j ѻ {2mX:ظzEbq^)3E1F3r d6番 ٢n*jeO33Nw\:mASG*~ߐB&I ~>V0{uQAd~X*Q%ႹN] S,MpgL"9PZhDFneIrMp0릸0CB&P)p1O,$f:|@w{DMju6N 75 $}9 BH%NKi(:B;$)?]hR#AW1`!%3@S3Z?Zv$"D}/NϰG[@$@*!tpQ.C p;@!x w7?:i7FBp"5^jŨػy\QsA6XL9BvXb1*B& M"b+K |ZjW/noRȦ I#두2Uz~E{(^dAi=C7s>CFg^­|KkT.#A30Zh^ Hp'~oy Ȅǻ7u+K _<C 0`f*/$~8>D)Oht8~6MvLc3h|&x'qc|D"=Dp]zrXc|J:Q8p (o"kTmG53VAcK:^9CzvL!qLSio#ܸ vQ( ~KenF6"q&j?Hxi&PW<yᶸsLA2v EvˉovOn˃(?y7M`є`IyUPa ~nGJ(-i**M-P0k~[ӱ=d>pP 0]RIf'Ϡ)$EH}'~kQ1ԏa:5?71Ěk+ >?~B @!)$AADzX\q<m( }$_+vФB,[*؋m6 )E{.VgmH 6 A6B JwOjێ ) v5k@QMWRZ=\Ar{bϩCmr)sHr1; W80%+&I㷟p`a@ rN90"4hoP@P&t6:r$!o~'HOaF >&' <@DHQ(B9盝\FR~r%T>ĽQQBU'_KZ Q'"-rH.DM7|l 'r)T4,IBV%A>㓻Erݔ<-xmhk=-tt3iKP3l匌ʌ(w˟d>/@Y+i &G-xzi((jE [d5FUdwǬPsM488O=sGĞ PTUmh$#1 (݉E9ϧ9{ȠB 44zW@d1 )ﱜa5 󂑧 `d)| nl\ IʲނP# ؊(=e |њ`8u3RLAA};'R> (OfߵIGZt%&}wQUs}Ѯqlk[1gj%M&mDwMfѐѶ]̐!"eMu GMPq%:"96a j;2Mvk +G0(5͍":w`R7CmtE#H }3o)Js3!sJhxpj`t?`G?9[FVBP*RɥߵL8y.wNX:wq e9$s(]3M 4@DLy첇CA;h i1ev58i$ƒA :=hJ} C {pESO_<=#` %π`쯮(:_!׋YڟjlqCTdq$C\@5JTmXٌ>֢&.+`,cZnN1ue=DNn g+1[[{22OKу*OB:E.聖<c>PIs2@ *tؠT$A쾥Џg "nA$R`o;nHR  u ̝05[q & nPR9#6vֵaA(vP4|^0"83dL8 084JQ/HT^QsTdF{\4~7 "F/k`L`D*қ+d]ͲA2@Ih6r1(~Ha=OLZ6nsT51y!bmdB!!l~)py,}SE0!f!-u,< LFJpedy#BJrkxm%: 0IM1ADi&BܝE5Tؓ  PρtЀH՜ P56-!aeS}B ?N=C)!2c)ń,`hj#;zK@d@Qn0E{h/<(\UbQ{Y$"8@Srv&W|-frvlEE>o3_e3fa2b|IwqbT\s^l0fqiģfja6gs]Cz/bI[Üə{9]t"of0X8ޤ;0 O%$O7qc?Rd/0"Uf\gǰ(~xpG9&t$M. 7R\=JN)zX\>8YЭrSYhM'eӛ߲<.1'y`JiI@VlA4DB- %>NϤW% J%ijF&#< zy6':` }-?$9x\6aȹ] NlF8xi{:_XOzG\~%x"; 0b$$yV7ӆ{A JE%߬vĄj@B>H@A<)D8ݠ5?*Y0zA|yu:{:Ă[z n6,uMS`}d|kԼQ*&=X{ʎ9|m~fǠ~P*Dn 0:3h 2h^0c~oeՁ1 2߼\|B@`,+:u iz " Y1+AH2B8r(A@,BFBGW R*C ;xY Ba@ N1o& ICT4Q6g/@4}Yk\խ0b"](2r1],PX(:9uY~=@]߆O>7D<:8ϬؗgqO| +^u<}g|5&nddݷJ0IF{OP\u~( jXnqwy:z9| 8R®6tH+90ǝ$|/i.qvӟ<#qgE裣AAO*3LA^с8>OA&Qm|'  |@ZD0hRqL-lJk \^vMJQ2.ll] rt}y*'򈈐ĢB.Ҳ`ЉUBGHpHh0[mZlV9EjCS( gP7 A9+$#нg= jus ǝwc!9?:\|A{ .^ !w3 Eax0?CytZ!aB]=H9_!Z%|׺nWF!FqκBg8ߵ#H8+{?]a;@b9 EՌJ'Ks QI\錎-B#,׿G,#]G%~'!B4 ]( Q*t S*n6+oȀ_}t'H晴.si1FC'C!zuv(:d-9CŦ2 hZ [CZ=nΏF"VjhTf"C ZLfVl/qlS/>b@B|ڀCŗ_^p7VauS)tWFyVN.UEd&$Xc/,%ԉstH}@G;+zG7lo<kɘݯEh>]q>sש w Ə#Іg_w⛮13F Ē:zx'1wQ^ubD|< ;bbv;/HY=N lMɒ2=|Gsߝ`#<H :eEB bl k{}MJ~DG[_< sXv'=f.wDv{G7W ]UHT+y #̋6nźQ$ ť35sļ\Y^6+AfL'x.٫0 3bŸd`P63@ϕp IAGAᔮ_yдΘʑx%@jŵ{UB@ T"RvpޛOQ{-w-0d!DAV'vURYe_Pgi:&PDkzCcG;=bOޘbXB I|I>G7*{3 y: `-"~v }?C|}MgQ58JŘ5=zMȣ] B07xMs4A$!=ŵl4|A 9*0ئ\2B/ysrl |( dM+G7#j}[]ܖh#62"Wqw{'\**!@&8-#,9pr_$4\יS+U tN:Dm<qZ A.xr0PE.6ڭXorG`uH*klF1P`!z'S?)#T DTɦ q@r%KXr 3l7hL@sa]zמmyg4^dQ{vIFRIx16¢$F[<롞:(\ Քr9Z?f5;iMek ˛5Vgљq0\pQ8E@6TTj9y(t21'uU$FQ3wqB J+Q :*uD%^S9mWP -V3"$N*In#>~-)aeXH!%aPa*Hf)Q eP`IVQJ0%)+!($H UTET@,@H2DLM5E2J2 2-Q@ # 2@J #3EIH 5@TTTTR(# ʐ (ȁ„" B# $QE! DUEE0T*@ (U ʴU-4D44*B015D(!MQE2J2ʴ*J0(!(„ (ʄ# # J2H#Q2@M PR DK U54DBD1!2 p9.9 ԘcPuUģbZT@y魎{h^_?#1 -#k!&@d0ɰM)W(ԸᮩHȑaŰvmIb ߓ@ r+Y>)s/Ck$2>BrV9RJaL l7X ,vbJeЅu7-B5O t]KX k-(ٷqyLܻCF`гSp/Ƒ/um],r0B,$¥˥ރa@NTb&!'rnDR=Ob"G=@dsO/9`+5{uS O'5 ,ļK\E B E5H @8r@ ^"䷳9pׅǕin§a\ w$%C(#1qd|LERKAA84!穇iޱ@Ҡ!N-ʓ@m !G>1luc A&E h_hez+MgD(:ڃ\ .lc 0AP/UwL,J.XeJ WU Hk)W h<u3xnObQhyx H\Vn 8?}$EưDaATbL2 QO M1wUAayD+7D_ܟ'b%;o #_-p=MȠL\H}H!FWuW}47FT !Ed/(6Z1HN=!S"8a FaqR4>=A2 TG GSWOj"?+Vk 3bm=U}M1)Y"X"T?VT\F$H O:$eTN'-B̰mC8^J(b&*D(1M|Ej"\Ӭ/W˿颋j볶>bH B?pN.XA@0?TCnXgҗKAccR&끰Q=/0OF6o/{.s_Z] Hws 5n2}C<__CgAH7CZ|sOCd X/W3L_gPLb *U̻w꼒O,IiDT6ΣUL M)\R_:%R/AbAq}9ly/:jn+R3X@֋px*~9N׹y认aK7Ȉ?\L'P=.T iB|A!~">:|j vo|:Z;aY_'ob'FDAr\Q^lcP}2Hď>A.RG/@"C$!^~%n?DyaQev> ?;u/Ha%}0w|<,o^^z#r"`Yd(V&AA*UjCDj**bbx'߷~uD. :3'> ܁(4X=ώowQ=]L;F5B9W݀(>"hA;,q BrF8Q!HԎDRÈEPbRԎtqv@tkZXV,cŨlB`[,# džȊ`O]B /A5 `+`Af(41|={Ÿ̾ faN:^=8&4dHdסCD@I|Gd#* T3U0&菶(<ܢĂ$MJ7_y|r J)^]Sy?4=;©JD?w&v8;& Dԏe 0%#dVABsxHg 5vSJF>?k XeAԣOe:J3C0Lz~&O!Àڐ'%`ϧ^21U6X~}{T%FЖ  w9EEO"7̅"|ָo.a\|vk{%} bMsS,+S:t8 )(qPOqy?YŴwԹOTߒR/%H[}X($@d{e+I0OP}7%iTq R+jJGPL['k9xB>T; iZV,>:. !FPPNJt` 7C5<i1 E| H |$Cl39"I(d) Q v@N@|a.$CHY8$3&c 93T=K9C&+ub/;\7)(UD)VhfB%ASV=M} ͗@KG1Cj޾vPodxՍxD4P5Q,H BByn#ApȱWo%bM>K(Y$`| C'R!kj7 %bB `nft îy`F{MyYJp4z90~QyratNH"3>F$7;rXM@򖑄ȡ %$Jt@G|7e8M1\''dd :h||4a 4r<=bc2O<@ }B `|9{|rSI\0=gŘt(*B''4*eg  8|aALngÞ9\>2ndF!d TEf֝@E>9ܮPM9@\U10cxcC6@ 8BL.t߀QS0TЎT1Ɇ D%I TԮ. B!&A" !(h`dyt3?nNDI" za2'bҗƦL/f&N)ʭTbJHح (`2ue;V{dzLSk:,72t2Pj?%O={C0ƒ$") X2ksv0ŵX4i:h1u~q\D*+!"djjjʖОcİV(}e 8o \ Oj) PCg=a &-8TPrNTh1b宩3v*|~?Ÿb&N`d=4sd6fYYZiZNAQ 0T ƱD -Y&(1L9vb I0IZF*(?m r0Ga2-?lNprtlOXegLAY^s&)?\rzcmp[yUGZSϯnpˠlJ +l"r@?L@PA]hGw M +SEz(zlDЀi44 KsTQtX̣0ֺtmcbss4"<"t%D?J4Cf t0"kE\<7N% "lRre"vD({¦gyAjIv6rxz T Xo$`DzVdS5E4:2 h?uOF NGאN3g쩆)罎m@PÁR {C~G]ɽ ⡠~pQk  O3#Clq~Qή"Ĉ$+R<8[d@=yK y0|O(K 7`o&V-G품HG//P=x B|n9_H!(B HR(⍀Ȳ.#އqOnu Q|jWqZy/2 !"LƐҴb3RAG$BHF"ϜP1e yr+"/PQDqL8L@3K)pή ]CY#ׇj;1G6OW&)= )|n;3Lc\dC\3}zj$IϸHh><9⺝'R{Gv1F` v|.N.K$bӘt`P⦚R{h/eWt8N~J~GXEb $](eDG8\JGC} _=@zG.9HQ 髧 ;Rnrphy; ȫ&P)4Fa}1<{u䝿&\Zn"n"'[L2`9ɟ(" hJ@yBi>`!S?>ۛp['x>.׶oz@>r!vص_[O.3$oLU5 {O3"cal>"&? z'U>9n |_plSWD2/$@t!0M.Tr%FVf(sH(P,G|v?>è$F(z)(DR>s'ph1=u,~|rnnX-`|!JFhzXu_cjkM ׂ `bdEz<PGGEcp|΍udC#H@h\t=/Ї@b#` 8_&+`D 7ٲ`@l(jkQPRgS(ktVeGؑH~ p g`>}vZjW>t1ZطC|_sXc<#'˼q j g$' KQ"IYPX)u#9@C8ڳRvS+W"^ #E)"1AO]rI` CHȥw2WU$WFeLy祉W׭;N/^5yy! {<02ƊI r(b@Ơ\VmΩhiPdzҞ'I>DaR LB㿤䇆34q8pb|'Q 0M :]BW'<1b+ӠuNQ(hJ=An'ccU $D@PSLADMQQT!,PTf 9'HJi XA RA #1Ev1UUUUUT50)2"A U%Q6LYԢ$E%RU)"Jg2HJ!BJ 1RTQR MQDTH JM#J**@ ,*B@URRQD$! Q@$0(H J%J K5QH%J TH!TRT" H! H*HJ5MB D B!ETPUIL 5 B! AP(B(JQ J!*BQ0(B @!*B@$!H EPQ,M-UP DEM 1SM44 P4EUUTl&QhH`Q"8AItoQ5^TJSB){>Q4`bKbV囊s'xh["()tlTQQ%QAPST43NJ <6 sqT=~[@Pק |w_ET > x@Ѓ}="J =HMJH'\$ 3&fR`?."_QFץIΫٝ_Y4iDm8mGXOlKwbTo>Ɨ2*Ȏ8&8^t("5,Km| i }tcwPDߛ\f@')Sݱi>8~ǶE"c(D"E#J!#)AzC}O# :Vp6\ ~ĤsoD`W_u43BExG3,t/c =TQ{xJH;R_ɋOns_&z 91?S OtNhĜ=LUG0ڬ:J8{OЩ~3$ڙŇ\pR9 s$uH|)M-Ýgz&8NQD|ʨ{u8p4LPQ 3LDAma pG(\b2sBrEW, FdzJ|}@x\.ZMh3 dh)Jpd!l0 &Y<ȰAp9oB_C0KG}O b_OGSA0Ā (#^# PV f FUC@4(D%1Q (&y`f4A.4cZ3E PTSLb-aPZ pe(?hMᰜ׾u |M ݹBO)]9D]c*HU{(lW$@Xcu1tCqH!VSٚI!:vJ*'S{a'[%S؅HmtfD~14.jz#!"Bh(0W.fC*gG}ܣҹ򙣗$ m..`>S\`P߷=]>%xp紁?YU$n: G?AwG|C(EDfРFWt$zOnG1 կAG*J$ st= G O_:e͑HZfWt:I"+ 5Kaq\ Hh f7|>9ڄ0+12&p}OV\p}L> B05Em#`'"jJ\醎Q;5D'* '&rXgEX1E:DZrt4G1:,wIoVm:bSȔd=(T_3){ tgk+^J\EDHR_,6FᣝDQBSKSQD,HP#@_~SsՃƞm<\0! `C a [0 ( 8"'Q|UÇlكK,qz:"TEP(2vGR-0 {p0 =/A+&4ߌA\E&͛ &S5qE|p ":3pzn/nLȑr#j3DAI~AS|w fmJ`{(w%K-# tk 4 F/$C .uӁ'ڢH!0RkDz>{- 8AR]|`9 )oC`9&OxihBaU()@!:;(m!nKDw~G=o[N-Wv61vw`Y/K j`b_X1!ot~bm>,FOﺋSՙQ&HqdBwo!(`z`[j"i!gL9taLz84" \wa$mFT"g;ї*Xw}ŜGD7yѦ8F?=oϋAS>gqO̍Y;W䛯yRae;ʼ(+d )D%n> jú's}Hgr^O< ̠+@hANV)Ϟ&Ĉ@ ,w$@0S@) b5񵀨vxTT@A3$BUPbёfFD:D 5ceIdDfyK̔r* O y DUhE *1- -`\qi*p*mD-]n`aUT7ME1 ry'֕RR M|/z);@ͰVIp.5DP< D |㚾5@(~e:35=9L9*goYP) ( *b%Svt#^D({f:#d=AK.C9BdcĦO9G>@iʅ@yp88A44'5#Hi+ľ! >$ Z甹ݓdnې8lXnaF8`4HdfM> Z~ >W <_ K؋!P$C/؈@{&ů#S$(/!<,!W5LjIN'[[9KK^&(GZb9N~MS>j(}0CO=)TkHF|OI2Mф!69E  M4I|˥r:5i&磺w<⻛!KY$Ō~ϟGBw QQAT}]X  eרUB8VB1{m\eH)pzȼ J)DbRXFR(ZEJiPJH P((Z)(&"J()T;44()CKﻍEAw0ɁBKM[OC?:cAyK֠V4@( LXJ]oo{KÍ! fQ8hޟ lR8{ v@2Oc7QUۄ]Dv n@O["H|b*R q{uB#_q)>hm *8}2IZV1+0ą$Ih@S$2Flb)ʨd2ѵʶmIgY/x׸ 4Hju&,@"6>lI6$b)%c{"l9B &G&e`yWc.ZZ6gƐ_ICib6X=}w`KyPg* Hn.$JH$Y^m§mI9FUع1x/0 MQnQ&8/S$X:e90Cs2pmn& NB<=:>O`e[545Vv. ,h<@# Z<0;/ĔD> '"*"*"*"luOqUQPBO_-" .mIV h\0觳$2*C: qy6*(hB"p:wMr JPClF4t0;O09"Dqs2:FQTNxᑃ毬wc {!RBDbi*j"**)Ia & `J (((Ah( d"(JHo~lID ȷ#b(^ D`T3b8! A=foE3p$'A2lʵj!&@~S3jӲ C b<^v}"'6 AȈ< Mu: A\J+?Il"")<—03!;H%P8Q5t`Ĭ,t\pI<e[ir,G_na1|!BB*@'#Ǟlt̖VTcv ,@YrTiXdRMut'>\\><C==t>!t!CAz1fV , XYU&ҵZ"6hyX#Uptzpc 0iN7!a.6$b.@ J@Wwt7ffA!1 ve\ 7xhG]Cfvy>\8J F']0jk_DJa < i3$Ef$p~T2f 8bə4Mٔq/әmHH7 xB!T?,aY xpGBN \',<=t]uzF %F@yrh-xXRp]8!󆡆 EĹ{ ]VX"q?G%TФs'cVo>i!5j XdIKߖz̋^s43J/ `HB,]|@"tqiJ-'.-'E_@>Gs0reP Á ͇mDxszBAGr~@ 1 U4#쁞 M pG'9̝a^BFevsF2 8;`cI2!M#7p!S;nJgQs N"()6u2er91͖mx83M "`H".É֌ZmHŸ{1[iکDEeLIPP1dJ"M8CwWysI.rF*@@GbムDy<}gx5푚{"+JRA\D@40d\ɌMHH%DAQyS RCͼg<ԇ草R)BRUp0lK'z(`B%”* LzR>qG>/t6;yYN=_*(P;PqQyu,S \3NBBY]BDt lr @@I$@퇗j^1((P IJ% ij!MAD%tbDe&φNyql+h($:Q Fu=Jml&>9Rh9`(h ywP$ B <^}ۇwAH$nl؇C r tuc lO@4K! !Nk!n< yIB'{a=&Dz֐-#jJ$H'}arEzIF!b9"b"PRߨN@+!(Z~1 h #0Q#@6M`K^8y*eWs|-s;j֛0G0"( Ȉ;d.t)^Bf]KϥV0#AM"SHPЪ4by2*'bMRnAnR*DuI&QDT& K l͛1Uv&&BfL 7Hl5fN;xfRٙ QA@9)d\SF8(Y vVƀ@&oJT* eeS}v+tBxrr^ABԘ}Ӛf!s]v:>'݄)H,"MB Ob-kf)5XT5-r\2iKr; Oۇm#h8dl/WH @XF&.Qqz7ƅuC u L&hʅrOTO;Re飛[*.򴝷0훐{P`;ŴmB@*)P#s[1ֱJrG@:='5FmxpoJ1k:Xغ%QOI!|.Luuw$bIX-H"jF(Oi3~;9v9f[R˪"!o")[oox{%}Z W{Ҿr@dQG!Iâ\&21`Šrk+DЊ  ؼG"w!^9R4=bk ,vw{42¸Lri ^"!k`ADPAw75= aEXGyQe[E_QJHfQ((ODmK$ɀ?b?W} /3EN q; zB <; bOig1?/Œqdc_a$"*jhi( J&=#A,T6êY]#K}}NGQ@qE9J^>H fX%%I=Z`d_d o;}~T(Ds+i4 T"#+!g4.[uϴHw`dEahG<i6yI2y{@B*RPcihYi0`-)PYB2]> :S)GvДuf9~y?1D4 z1!>@A\6>E0 0}~>{(+Sݍ"Mu{;zA q8UI8-F}k&JsyG FGfRb>& .pa9l3 pe f67$-!@aG'<IA>BD p"f(($*aAA:.) s(`ЏRKƊLK T͇@9~U BQ($G(DF(L4QC )k}=!2L tZ= ꇂQH8v nx{ʤH)@0Дb !Q!lh}lq n "8A 8dNwNƬStrRx|b@뇤$!/d;0 ˃xim4b( @`db+`DM 0aD?_M1‹lJI" SMbbTv@ODxwcr708aȏREZuLEfbG BYl?xc& T % SCSy/;aDY F+8w"{yn%,;QO <,\[L! n-N@'2<_t !U @!2h !b0C~"-Tq1I#|-." )$n2b & i2hɹG9pvBi4 6^3 0$,3H33ga<[q47 .Df>oK:#!3y*9j?=Ϗ*WzzX/HgO!=1R AA, i ٨gR,=DOnT44iP  \. ":M 8dB\,X"B ;CH$rJ`KO!r3 YX !Mt<p2Gu$fl׌ PPqĴ)K~ r~[>N`'HYAZ&`Gx u*gà|;p(1<Ќ%-GOuBpjɑ^ x1E{B5!{@{&C"͞gEώ,ё8EEy%< ׃J@-) BRHRH0Hw'|rSbQ!JH8QY]`^"BIC.%C3'X#S刉6Mmt􈢀T/0=v~ 'r`yǩ:z[|;phcAgZ;BI Yz%u U=yCPD'!"GJH46qQQ@$JRD46܂%U7\TM|69A |&4<=9L״jy!*$3P !Ol OΗ "&(OB bEDAv,TF&9A䈩H$z>E8h#? FAH>sPQJR+pp4 "Dn QDxe4dX'->g,@5:|囱LD `Qzj"fG&gZC4>9S]3@&aw0QnXO_HP.L Qw"~g\Q؜Bl=aPTD - ݀ǰ D{ x:E6N110N+ā8ƚ%M8c !u>xH%@ar2C"!󙉷pG[6KmVzt g,tI%{RCoe4! G~L>/=cCss0X A?Db /}Ź ~4`,l*)5P3E" D A! .{.XXixA" lĴ8?# ;  "ybH>Mc+02s޺rCω |=cv ( J }%<R?Pn_XZA#`2? az =c!" N"ts"j "\qVJU 4E䟒9ll1 +y! HL4?9بJCDALG_6* #T!q1F!;di֮w=ƓPINb  Hr3mcb9cRP3R1#AmSۑj&jDELX p4QK :Z( f'&3#1ˉ~bwN3R*(qI 11AMESs8-\-HAj('P%)MZ(Z !i3>;w Dᆂ3DPCs@{d9E$Kh$Z?ACխfHi==UA@Tf=Q1gF(-w#qT%W**JUkJ+(Jb P0u@kzl5,QK4q& j\#QjfԋH ȈI6#'3ōN6 !\ʊY" *ULettl4ɮ B&FkD\2[Bqm4]ۖ5,HùFC668ec@i ;d!Iӡ[}ğXϬXm4J>JbE<$gƿĝh"WC {2 &HU߅sFl1nNsF~~wf4ZAڥ{w-˺N{(: x@a)'ǭ?Y|G9߾Dg7RQ.aL;i삧Ȥ=80(w \Ȫ#uFvr D{>Hr= |)l:D|5 V).}x`'Grz /,1fAE!0zA3?)| >)kyt12MD4D]ntQ 0a  [5Kk=MOm!; EDRKҝ`hy-l9/w,oJcϓC#~j&mD"bhĪ~?"@GALBxW-* nꨢ/ nGREZTYH&%UdTb"ӧC)MiaByj%=xON92Dz9YJ%y&n( 2MC "Hn| IYZ*!i$ aAC03a_q)0~D]u4{d!םeqjH&ixR ߃ &cR0ZqC׸H+'6G"baWD4a]Qr&[taELJ1 C>C%%(0CPLvMyPأNiЃAS\1&D`cJUBG4ÿ Oӡ!:RI(\@85le2r ) @AD!!ܟI Q #p0^_ce]\w8EbƊ!mlhG CAMm68R2%,X8 LIELq; r"#es>SiUX?_š % ⺚ֽ0>X0*fDB ԟb< by 33\=W EGkzp U3m =_Uom?[/4I<0ER_M#ߑ~P+OhkAGQ[mY]#.gP$Y)\lv|6iv*2v)/^-2DC6s;#0v诤*'<=܌S~ m_HQiS:;~G<'? gPHe[)I ^rPvZl#֪C@J A+=>ɜsg,+[`DjZ !ލ¤uv^4x"-W`b3 H&D$0& t9o^ڠs)0x&wX;͂*6Y] $V\d諰 Bq|,,xx ;h0{F.u;R+ MӀb$}r=<ҎJ^> ?u`1`H'{ɪ&B8r٢#8[3gX&yd$6R&P 7Laik#QZ*Hh0;$a*>ʌUJ1AM JŖ VfG!w 6:Hx%@Z) r.ٔE!R$M*hXsIa>vDPDC ,FFZTTIQU-axs3|Ea9J3Y"T 3u9yk'-MrA2RzLmr5dzm5X(Y2(dC3{&OHn`qH%T1b{H")Є4ߛ&@sIb$̏^k3r{8Y-UJ\i<^raPPUC`Z΋sf\i8RnzɝgqԖFCxbKQA<x T-&O%e;t>oF쪧hSӧjs3ޥq %هӝn!%,\9=@@ CׯM儸EJU'K[#%so'}wM۷n!t \Bq.%):==^P9zztΒ_Q< eWN!|es(`^ k"ȉ"jk>=ER JӢwXrbrzdJzq,8 bJi3D`Il2 JpJ s1ȱg`H p@ <L)F,Ʈq}ԅCߞx MaD%@ˀpx%/e`tHN t[:-A22[1ԭ;׆] @*)wQ·3ppMq,ٴRh$T1vi)Xr-.dI}>Z9$9DCXޣhUE]O{|pT!4LR9㪝y(_)|q>@8^JD60:G.$T.fd5{{!:fD=CZggݚ+qn̙ уV(R>+KRhI,R4 H|C!uO ]5|ulVE0_hԷ.'UP@tBb +u@j!!fAܓ#SĨjnb 16`bR!t}܂ *HryoxV߲@GWG@WBA% E$Pl,H?(;* QS!Ume h(d]:-ʓ8lw;03pIC{{=Owb (Csun_B x\8 V{\U&:?C^%""8S#t!F&Cs-rp7v& TzUCML.z$=@x:BRHv|54,6,DB e2X$NQlvEԋ&  M_$h Hb R&* @RD!QILou s~_ >ΑLT9m0AE? AcG/ $ɑ3>'솚F anM||)>f<0boe4Mܑ{fkN8%͑^.xL*9S3TZֵ^LRhPAVA,DC}y@lY A^@Z@ ($HP0 #1v08, md+7(NFWJI|LqdJZZJ N 9)^;4'#*s@s6mAxSAxU,3󪇃ąCeyWvR{bXB~:g[a}aֈcPw7Zɵ!}w=wf!z6k.2u-ณU &%yBA'"gcA NYg;>}#(`c/a{̯6S,[<ʎwPS=s[.@X\|4Odaʞ) "^r1E#7s ZFC+M.+9;0U;p|]-k4$2DҥC0*YN< C: XqؒFR+!?#"RkpAdXa xDGj|}pEa: sZ+AgEeo I>v]y+6 sC2YO ݧ uHD + f\Z5kxԐ* N U4-+HP`{< yon5h(݃]drGif(13M\̓2"T山Li扥8F;ca" ";DM Z]űȝ.BwXB`!8QFK*g=dR~4]`'L\>.f^wbx LT[l#9AB$CAcc>^|r#̇ 27=(^; ȞB `JLyL"|b<ਧdy2 Z<ی-,FU2]fM sTx9f9lr6@+4,,%=8dhG \6"G : yr )Z º"9>B%:iZPb#hi(ZEp֟pD2Q hG[љVMrn#g;DA(@ ޞSnA^T%)W< r*" Du3zs\f^<,~ShtALDC^7;i(h*pltC !æy]39 L$*9![ef}B8H<#x;8Bv^:r@2AUD+Bh?OHOHLD}USOv  1Tf:ύ5=>w4w`lY4 P/}29i݄sς|i0S p.92@.P@YyU#0mjG|A_8Hd$AyyoE3ʔ蘊?akBH M+'nT"K"' Li?~wJ?ͳ?a 6";5cQreC7B+dRn0y@|;08 vC.|V 0}CfU`~|B페ܙ< @//^騈r $=?ޏ%WۨPP]F>r%PTRm*Ϫ!DP@R#0pƩ2~O3>㔇$Fg9: <|%3D! 0i8C0Jiz2+uU uSӑ+ X5j6Zd?6vMbmQ5RrI>^OX&gͶ] A]5; D]$| 7:o@pQJZ7CN24/QS OIBI70h@|_P) $bsf/vDLRUUa6QDi5AD\*pdf# =A3_j-Sb(Z)h7r :( r JS0lp͑)*5AcѲ4A!&řNG8r Q[Q ݞ7Κ%|J*w+K&G$U; B̽LR4}Tн}IQd&q)|cvTZdžhT%feﳦ\E *^9r0HQB\<2B dм ( (䰬tܧ5tt. &r@GSICNbќڴAÎ P$JRTCAAAATpUc%4ӱjѧHQK]@ciyr) oqB9l%(vH*:Y<,(Lfn;֧X]*2yc2Tmd.G%XR3y5R0\0d)JQu8E-| WkSD,2Bz_*T'Ʃ$*&Ij}oh O:H%8ggD% PETH.R%U.bTde($ũTwTtvOяI`pg_3rY3#SG;aD0PzDY<dOWaO<߇I$"4^R0"s:?t$@_jc1taI4z4iiR(( yǼ4'i F"@A}uC34(Mzefk#4- /CMB!; yxZr=sSH" h!wr56v C(6U2RYBZ(2ȣ)B_;9*YY^&YY?٨@8,)V}$ @P*nb,S=|_:0aު{Z$$栴$ !KF_- X0=H3^f ^BI|zԕÒ65<}wWF,8@!!5COiT߭[|} ` 7>wm ucTqeX-oOT A7hRcW |$Gjxxl{3oSH>fgsx[J̓Dr*`pz~.o'AzUg \W7D2=&-A88= 1ƛ_)j*E (Dų6x+h᪋q4Tp?ƇxUg#!ɢ G@<_{Ѭ^'o>ϸJ|x} AI5}$HZPC BH${KhvC3=0DM* r.Ý,t:hUіmAZyΚ<2pg/oTpmIFl 'f G (dBc Od=Q$Cd=e2ql>!9#,BYapFDG8[G0Kc S͉qFHZwG-%$EXW^}\@ HFQ/!TJ<