[GRASS-SVN] r65342 - in sandbox/krejcmat/src: . GSOC2015 GSOC2015/metadataExample GSOC2015/pdf

svn_grass at osgeo.org svn_grass at osgeo.org
Fri May 29 15:21:06 PDT 2015


Author: krejcmat
Date: 2015-05-29 15:21:06 -0700 (Fri, 29 May 2015)
New Revision: 65342

Added:
   sandbox/krejcmat/src/GSOC2015/
   sandbox/krejcmat/src/GSOC2015/metadataExample/
   sandbox/krejcmat/src/GSOC2015/metadataExample/export3.pdf
   sandbox/krejcmat/src/GSOC2015/metadataExample/full.xml
   sandbox/krejcmat/src/GSOC2015/pdf/
   sandbox/krejcmat/src/GSOC2015/pdf/Makefile
   sandbox/krejcmat/src/GSOC2015/pdf/__init__.py
   sandbox/krejcmat/src/GSOC2015/pdf/mdpdfcommon.py
   sandbox/krejcmat/src/GSOC2015/pdf/mdpdffactory.py
   sandbox/krejcmat/src/GSOC2015/pdf/mdpdftheme.py
Log:
beta of pdf report generator + example

Added: sandbox/krejcmat/src/GSOC2015/metadataExample/export3.pdf
===================================================================
--- sandbox/krejcmat/src/GSOC2015/metadataExample/export3.pdf	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/metadataExample/export3.pdf	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,125 @@
+%PDF-1.4
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+1 0 obj
+<< /F1 2 0 R /F2 4 0 R /F3 7 0 R >>
+endobj
+2 0 obj
+<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
+endobj
+3 0 obj
+<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 989 /Length 27377 /Subtype /Image 
+  /Type /XObject /Width 889 >>
+stream
+Gb"0Th6n"ZOs\n/s-rW$X%sNg8HLEZ_qk;;brN9aG"?5.bJ$9nf,"Dezg\RQBe\)=j!-[ru^ZjS_!!)okT>,L:#QTAqr1,X?9`P0bq^uMRRfEFNnN(;TRfEHDF!YHkRfEG9l:%M52?<ffm;85T2?<ffiF7b12?<gQa@?8/g&qE6U)VKWg&qE6XkTOHg&qE6KnjYFg&qE6T0e.(Zj?`J*s*[]Zj?`J0B(kdg&qE6.kMN/RfEGD9+?R&-31id$DO3##lnq;aq,t<!W\acrZ<*Xo-OIQ$+a$,Zj?`:\)+bFD#s_(C-p@<YQk.. at a3#>F*7Tb^iRuQh6d+\!-$9.>W6_*!!$7_3RLRX)ZTlAc-LG%G6e2ahc<<gX6^K"J03 at bDen_U!8qB<-FX`a$ik78FYhd`3sPaF_<P`Op&+smltVTO[RV&4!'Aj_U$Yee!5Rmnb@^WO"9>[#>uTFZFTDKD at dcFfGBElcPF[fR:8ea)@%)-lfK#2u!).?8qDt`b!.Z\7k,pM@"otTDEoK-jFo[&/ZBbt#!+_1sIaA<"J6;BmmrSX3+Gs_&2a%0AGYY.4Nm7V)4<[G4VEY%\pW-35kRmm2V^/5,oEkTV3n`ar3X,S'L"(4*^&\5H-8.NUHN4''Od)Hd6NDYOa[f9N&cgj6dSVRo"9A3_0$9if!!!X/*k_^W:*p?[dpW779N"[rI0K[H,QC`kD#iK6P#"5(#67LAo5rB*!+9`n:+uPN!-T[O9]-TbJGi"uF#XO-?mi8)1en/RfRm-ZPB-a)<[Z3ek&^TRF\+@[3?nN375E(:S.kt-(?oB^c3jVSL"rsXVZm.F-aBbrf`;):aXX?4JcNS[;T^&N,60EWI'OE`#lr0mRI%t^!WWnT,eJ*&!'m_>e&_ReJ'4/iA]sZK!1'ir%f-,lk)Va_)]<2$;[*6agFn-Ub*g]?+8.d3!+<,2ZH"%I;q1`_IO>U*bd:sHpcE4_Rt')]g];q&[`f]jbaG3fhmPXq!
 +:UgPK%fD;qh0(Y'0jGkd>EMGS)g0c+e+C'**Ou)lJVG3E+Z0ViC-I!)RM#>]D')b+*t9qc3[s27?9p+%8nlo68sH%0.O$$!H7oe<E(F38oSl!#Z8<&YeDTLYNOC+OE.E+XCepRtoc7!8tD/P!`3oPW$ju1B>3(7qDm%1Y+QF#6;9mW1<Yu*As\<052("pr7#.o1RTWESs7e!+%`@*e`]M;=g+VY7gp*SMPnLW0uqp9*G=niRg[DC1]R$C&n<!*#Jm/"N$+f.;JkL^^C>Hr,?6V8.(d5k',+`AcQe[@fq7[=mt"d"or9sH1[#`/Pa$#!-"1?LVB;3jm\05!%0Jg7En<)*rp-$T`5W^]=ERpYU(On#>qguWsA]p1#.6j2(*>d!FQkdqX7=WVR1W>CC't[0[ThHC(B3C!l36Co"Sc9X/<9"&Q]YH(1i=%PGgL$M[BI-0ttD$&2g</:V!V.YRlHaKpnqhD19X("b7m9frpZ09nDn7XtB\_B3;oK*&RoFO1;t*0U=GA78)-p2Qq1]!FR#PqBAdX5*m,e7PU>r,&PWg8cuj?L at V61bpBmP!79"N^8EJu$Ci2X]`Fdg6$umHe<DjUifXC/$R>G'hP_l?I`,4kJ7=9%F402;>^-5sA*ep]2:pjA"$ckh2isuK(7-*C;Aln$7*W.7"99R$+e-;4CbEb`!!(u:f0#eiEdS>s&BJ8(->G0R7f`T5N77p'k)+O)!:Z(Y>!peEPRdlsDDOa4M40 at nR/k#3#&#_gF'UsF!;MAt=j6nr^,hkp!*j&J<pC$[dUkH\%KO.Q>ZPUcRA+:ET+:q7?r5Df2)jP?!e>bU,$Tklqsc*9^`O!*7\]$oHr'h4Mm:o-eD-55$37dK`,>PZoSr[V!'$KGfW./JMON4G at K7Ck&F at pg1.BG+4u<6LAGiiN&"0/()4qiJ7ksccBFgN*AgJN>!/E9!L1h*cU1Q-P*WXqNm,hslRA+:V+!:P&1Zh/@&"0/($_JRB>;G
 -6Bb-W+AeuO6!1P^sAnoY[U1P46,QQRQeAc7LRA+:<+!pt,0[>DgO.+L/,G-=`9/FYTclP'@bsjlp!#B.!XeIsk8t3MAWW4Tjn6/J3cBL56q-X5*Lp=@^p7*RHp@?l<YQP&D?0tKfg?dq]"^j<bC3Ao@;qgU"'*_hq6Y[.+k2C^/!"<C#m6oGdSBi(';%0?#Lmj+j;$/M*OgHE3';%/_m0oaqM4/hf^]A+[$uJ\fj9M;;!%eVPNA]ilBlbC=3rm6YT"TuLr4s`k5T)q%Ds]P`g769?%mU0UAoI&C;qdbck79g-K4]&hfi$=icQ`ET&gM",mD2]_>_T'UJ8g7dp=f,6bdeK"!WZ*YbS.A(883-*?3UD$1JJA,Sg!4>'mUl$GetF\7sg2Z1Df/<!8nn3j='Ce;Ues<[fV(UR2r2>:Qfb\d_$Cs>\@dkX$'@<Rd9N^!-!X;EOb^A.;,g,lN+e:-3ZW at a%JF6;;Mia^10Y%]Cq=8C+dY%!l3\e#QE;G1Sr>bGu"G8S[lO#[>.FQF'W)e!.HU6GbI95MONl%[K'\Nn611aPW"ljK`O0$.DT0T+]HlqSTb:r9\t9%BFgN*jp&IV!2oAXF&@;*PW&9oblKeZ2kQ#^j/&]b'/'m3$,#t:e=J6\c2Dm:!;>QGkG%ZX.<+^t.g3(,00Ijo7nRK:A)8D[rHR)-Y!#HNS(mNY!URb*c:?TPUqh6Wmh3DW]]X[B4[Y*qL[[>*XNjJaVqM6KS9Yfe'Yq;miS;eO+[sZ)Gc:[DjRqZDp)#5kT#Q*\YSQ[c:UDK@;=d%Z/V$iGZ$EK89Zie#H$aqq/qEc1eV%V^PG72gY+27'$t(io1kF@*V5UqmMs':E".74-9Xsdq.;eM6qB:10!2f9APG(-;MOHX&kQJS5!-<CKajZh2V9M0Y3'Ju7^][tR;RK"eBlagZcHc:kd*"LE[e;g4C@:'Sfm2ZZ\p/cTd%2V]brn0L3,]g&4`;ubg at M,1\UfNKkJ[P%
 jOL)/H`@c;=82XZ]R'W9]XQC+:R,t_l9^NWlN`Nr91tWFCaj,%/+E>HJH0u.Z1MdlQZD5_ at Sb?D#`umgaoq)T;q,&Lp^)6W!Fg=U)599)MOH'<3'j_l5SPk$F0p]r3HIV\LZiRXGg9O9..'#ne6Gl-$$m`qT(%Um9mb/"24'MTK&0(LHb>tEdiL85bn]%o_,!k[CC0JZ0./QtR=+:+e<DilnousY9[r,J\"fh-$';u=a`*t$+1ZTOdO%3`mj(Pf1V)rI3D,b at Z+Q/L8(?V%-g)mp!^uQ:Z6E/0f:JV0ZjH5l=-5qnRCj;UPgUno'Ac+--#3!Se58i-!;C^E=dl;2CZ/,hg'"q2)p%;49jS2i8ness, at 3Sm+DUIN;Ugph!FGBcYmjQo(Lk_\amXIsJTH)+fSQQKGJ_\riD4`GJJ3:ofT2uQ5 at m>ZBbTD8?9,G>C at Y.<kP4u,]YhOf]PhU[eDtNO;,c0Opqb.n#t.L:QZS625NkfGG2c6V&>CMdX,3:n-?(rJ)+P8rq'#DNUOL\h%'7`9`b at h8I]/3odO&o[0,Or:Mji)V>#pKK?f#O*:#7MJ,\lm;ER^42JYRIt30pMb%r4VY0CLg'%dt.Q9$Ncuk$"(/RU9B>?j0jd:*s`H9Blg1L0/@R0UOeV_hji[OF;_k5OKg&7e/TkW6#PR-R`g58+A4JQ`/%+Z[1.!nu;eUG`gnh;3N([Lmh]-G$kMm&c>DLjK%PF=#9*(Gi=3CE[L]MeDtDKW;5PS#F]mbi1K)S_\J\OrDiCG"3!Aan/YBtE/ck6or<91JMJ8dGYQIGfre3DbMs+tnC56BU?7k%Nga<E!0GDL"4rBuB1b>-$+Ikr!0VS5i)?B4J[UW.?cE,.^r$44LmeQ0+_lHD$:$"8$JZk at SgO+MVqi,`!=7X=J_NT;e+EX'B)QR$+Fo50,OgAbH(*T>dVQHG`WU7M#6^V3232cceGM'QJ6P,V&44l/b*c,ubK'ZIjO&K+U?5=9%W
 R?[@W2;`GqL5$W-OVkUZRp5!F4QVJ3_G%Ap\d\]"CC8kdD<P^^H_>La?dW-0Yu-].HJYn4t)1#Ua at .V>[#CkM-gT"o*^_!Q'QObW4X5[m\Ku)(WKU*X'P,C7Zd4"IHhSL(!M4.=`C83HJAKi!!!LDak-Tc6E<\7*X1kSDYHt`Lqclq>;CsW-Og<;)>GH=N1diaG1;*7*X26TAX<_`R'12puETfW-Oj*J'sj:<K%tYKT at -gLmggG26S]a@!b(Y-mN at G-2%I#^+I>9Cs3+oPsillZq&BnE`*cEYU,o"'U(?!&UT<]g_M+ at 2WLQeHD9O^7*QYZ-J4(!)7mnWLBp#_UFqMq"<6hR6R,J"&>J<(L(l2`-Od[VbsMUTidnSXW.II/oC;8=fWle`o+:mmo:^40(2W$0cZYeuQMhem*)7_n5'PN/K%1n:_=$sPZC,3d_`=I:n`659_h#]5<cmK%]&g!9*_oH?LCc<FSN4Pp+if&-]=tjmi:,fHJrlb?SMU#P0ZOYYR.'OjF5r%BV&^Tr:='q;oBL(4pc*noI$c9D^T9tHfUdT at b[@Bc-pGbVJ%aCg4+a*CL:rG48W5PE_T2Gp3A3(%&K<Y%r&!NZ(CW9:k;3%lJaY9cO;p/*C1]9aTTKcS&'$lQ/4"=/d_jOu1TrM!TS621T2'ipR87kUO/Q4!aFdqc]'jm*R87kUace.J,\J0C at 15=Jj)]R`S'3A;dQR at Qbt>tt'_%g0j^i$1Y36r)P at cO:&5r>BY4+3Q"BT[I\"hm!S9amH0a](\O6\if1\8/L)sE0J2:YE5+ at 8&[eOMaLbia"ai8.DmT/8nPM\*r7odNZno=:A1BSi0he]h_d63s434W\?mF#,aoj.5^9R^%fBGfWBsS%"jF>g!T+8'T3A<aehAD*FSI]\#p?:2[j3Bb"QV_ at 8]!kIfG at k"`))5A?-eBYm8e1*O<b9]e[EmaJYa5A=^c3oM8)9-@"hA%@T"qrhIN1M[i#n<VBGQIhV
 2gr at m$RPPhVn:D/rK*Rp7>fG6!IoYRR at YQ?0P><E[B:PCF_psU4P8U at h#9QAUchLUtGMYJfR[cC1_$[sP*3sk6B0*]m0&b5Hbp=41nE!"ciB<gtn=I7C9=st^aI2E(=UsU..-!l at kjY1UJP3WGP!%'YDFFi+Q=IK'Q+ZAa*StkhDeV(+Za%<j(q:R,[4gZZ+6`3K]6d1tqhFknc"W,BNoIpbn?u,6Gf/@NV%lDCh?(/spi6XA]o*\UR_uc)iiVP6"6,q0a"i8"SkIq`,<s?0X`j$]je"ArAe;:'f=RStI[ZI)mFJD_5A@:G3+bf9p&pu`Bhn*&/%;\JW7bJ6&I`5/j%@YV_&qe"5.bb!$Mem=02F[)R;KIXUNl8u3P!K(gUcIiD&CW9^bm1SZTlLP9m54 at -#2kdQtC%bn4[0f3DT"HS$j_*F$GC:MfNs\o)?sTEdM)u7>[JF19t&@S2m,6Iu'<Cl^BCtcJ4f?bpqN!q+Q>_:2[6s[O>!oD^II8\YZ>\#UVOA[k?=-jNR"Zj%STa0#T<.i8ib+@#GXT:LKVIPFK*&j.P5MNHMj6,\N^d9P58fE^b^L]9BklC9:%V4Gq8+*,afJ%#&"8GLb5IOdp\8o:63C_ke4[]hWIEHaP%po0B08^"gERR1?o*DQ-::,!#6gAj'GT]fd2DND=Aj9=5s at o2m>'p"[,qQk><Qm\_#3,!#7*k!#'c\':9S>u#:7la.Z3Ul">3%6&,g-:O8bS*;sc8'^0g"sBO"[O^sD`Q=ZmOd75,nq/2Q*k,op7Ri<"gZTD)8'^03H%6=ke_WuZ(+4=sjOtCrC at XHcJ66^=#n2i?-b&X,g(u&Jnd!iu..5M,N/r94p[I7t=6,u1q'QK"kM2f,(a$^lmbu9qY=Qt"4)tBu\3HlG7#IPj^lrP at Of6A0dK90Q3G1*;.\5A.PA=NcSB4tj".sUHNb+GS3k9g^(;:tiP:Im`Y&deWB:>&F\U2 at 4^)T.slf8;RE)//db
 +.7u at gcX:<6fU(kE$m4bmiW)e1>]^l]*QE/TN0sa:`m at h;B*5V8gW*41=X4pa8dRP:63q>J]b:QPq51mF]8l,%pJ">f#ma#QA>L'KEX;`tlArs.mbXdKMkF$2fu!;rH`6SQYVPj at hn](q9[\@*iFG\RT8Q]aFe88K^UbA58cK%%:u[GO3PR=!;2h9AVXlF6<nj-Ip6*3j\)tpa8ck80+UJi`p$RUcQ%fB3)\K?TgtkO)m9rXtt/tS_U8%X.IX%Bp)'i3It,k;s$iHPC%F[a\2-:P>)P?S+G_Gs2pJefL?l`ne-?:e<!.Cj^bpHoLX(>UCJi#4ung!1<G!8.8Q<s8WN2dJL/Y*1T-UNZ4j.XF2h%2 at p=%_ai!qiBd',8_)W.F,g((BM[h9ugVZe__!*&>XNh+ba=msFCjupG3ST`mqR#K5X/sLt&M%fA)+d%4gRls[/Kef61l5d4:5oZO;QOC*F'?6\DKjN!bn+p=>+?C#!iM3toHe5n;f at 6Ac1FF\L\.kZ-UfM!1XNCt3N_.S\!uVdAf;P!5%d8A;)?S(SN3h/Cn`7<O^oe[3n06LUE&$Se*>2$YF3+6`fatHE\<T5NLD6 at WFO\'<3b+o2q'.uA5^Z/:4u66As?f[E`B<smPWJfbC$V?*6s.^dUn;FHZE)jfgJOm-K.YV'PJ("2:!7Ea#<"W at T2*p3BgX_,3SUHIi=04cQ1c%UP_cgj6$,Q=cTl<7H`nM*]4HJ>K:pIW+,AR]/`&W<[@:ddrQjt2BOug'h9".kJkd:[B_F,VikpRKW+^nZ/%C;dQI9,NDGh9aZhZTR8Kd)-]W&_3L/a;EG^*$Cd8?MVSc)k&N.n&@`S3$S4]"#]/IB"p)jb)dG%s/rcF'e[iO4YF"0o4RkpTOm3JD7]"5AI?girP\Sa>iEblE7WAI1be?#_c^*=H5da&RXrJ!t7pDhq=F"5G]Rkl'#F%AeuFRgF;53&C"4i]J>O><$l7a9(Ji at Pr33B]LL\rX
 D/H,Hm-32Fb,2f=OLP.aFZ:[$Z'(4FMmU?7?8\F/#?%k0<PNN;&cA:*mq4o0?'7A"[!o7gbu5GZMB2m/&,O[DZ6T at 1!^/c)J?S"DaMp-Zt2GN5:i(cdB<FIcb.[:\.:MjeGSiOUfQ5GZMB2suMUOjcit=6L:3XSB5^RNFPrn3b>,pZXj2)0.&al8AP!&'MZUGu8XV- at Fmi_G@*bgl394)rt,Le9?"h^TI:V9:I"`Yj1T`%!U`dp]*=E9_C>-iB,4GoqLS=%]k!R!lNj(*^2iNXF@&d]XHU205Y$njS]FEFlRfCqVVVSl3DaqMR=N'e>PCBr/[@Kn!C!KTc83nG6blR=ZX?@CH_Qhk!c2uq^$!+il9gDh8(1.c<;UIc92QKr2EP7GjQS5Wn8E%0/1P^MrCF`^R^e&cE*Jt(4,nTbq"f(p4p>^$ZtE0pu:3nVrb)1l6Y"2n%YfH`DOVRY]k4emTg-+*5$5cqDtNPnuOSJUs6BoWUuOjX,D#Y9)-uqMX<3eS4Sqk#!mF^**`2\LQqVXhUP'*G9;3GE7)[6Cu`rW0n0spRVs3EjtD'_(LgdtF at PV0b=K'Q;7)fW%]%A$:8m],HWM"Me:\a0"gcIr@?f^aTce([XSTNq$iIp!eNGiIB0%8\[7rd<V@^`c4r;GZf=!@%GC*Ecgl7f]qgp1R#\b6B^_.tiLOrA_WnpNg?f:B20($2rGJM6&%kSgPQJO`>)*T1=bnp)VmLL8'p<^K7i6-]`M[$UY\';K2cNjXCKtXPa_oAN9FRK;+Z67;1Z#.#\Z\QY4_G'mQ`hiWNj3jO/G6)Hm.0mdO((+sfD3b'YSJ9*'GBU+ST6@@&TmN^+K7\&87(=O$akk%_$^:+QG-1)&G-1(eH`(6B2)uch1d&hgh]CsJ3AM#`J(h3,J(h<5-Z1$>Y6jcYNH8Sg`gLF6%J0+.qc39Z?0cgrhU.[<7h1>b%1I@][fcd<L\^_S/W9J'/W4r7p7[D5:gd80)mpRY
 h8%]P7/gW0MS?E.;,>t/F?(#W$jh/G[K59R2F.bo5AXBG$X4Bhg[,[K"[T!YR+K%Q\74/'0dqO\=ZJ-O=k#UD:V8Gq*d]s;LW6PGB<mUrF2Y0Xh+kAj[Ui>1gcfUQ'3_b24unhgN#F"^jmTW,jL$Rt]&E@&(['!u:C"U4*;nkk(,]iq(mi!R;oi`Y(A4XSB.[a_YHmpNB<nm)1W@`=AWJ=tg9RYQh*1/aS9a&?^_I"r:sNSRF2j*Jq83C_>d7X)T6bP)U*^;2)?o4r[P;<uR%$>,;8m=?Q#k:=;m+H7#G)E1QP9_e9Qi1(\/:cDU?3>b*3lFKdtGb.3KsCMR4kH#Q`,1[-V#_#_G#O>:sNTQ6`,eC]))E0fW:T=4ZQkH'?1B9LiOhhRkSO"d%r[Nd:VKfjN75+jNM\*#+g/Y']i"`0O`<J5"=/[q/r0lF5=aO'fBF6gMp*9j;\hFc,jI;h47o^=ZP(s3S^d-H-"Au#WWPNC*,A^:XV\@rK5 at I\`i"ob*as=]t!j`s%:RIHP;.ZZ1E(bD1?)o=tY,GXKbk*KKBCWj at o>JqqMc at f@opgG,jYuLM&)O_IR[6gs\H2c:j]XmeKf9'QVU=1Mt@(gE-keG<7G"RF"-DcA\3!#Q2>PDH"UkF)n.V$/lrF7;3FhVpCcFF1Da0A=Gn<RM.PGp&k4*&eq0:%Q at f#*LJb:g?kfH.HH at H3E+F\=Fh&]g>m5?1J$"8^=uG#;oi1hmp9qXh"=q1\aXPdD/uogA*C;,\^4AqfVXb>k2]35'*9K!6>;XI[83OVW7a at C=4ub"gD'54o.-/IT@`oN@%c"7-uF"1p0f4]cJ7[oHW9OhW15;O6Bm'M-uF"+p0go?21(,F.f6kkO"+HT'f?);"Xbf.J^PmcC*-$Ak-TQnZUY``N67Q_-A3e-J,`bKi+.3%;lM`k2NHK;2L4$u<P1"8C;t-"cIA-UUeM?K5*ugOS+Ck!`#_p+B2m.j2;u+&]I.Q:T_?2IC/
 3F?'-!2*SWF5FGC,[dr%Q9HUc2]m:oSk$'h?N7JNJ7+:M`kE$Z[T\A5:.6ZP0:b5,#D\S!3U?citeD-fe0^RP;[eF>n&$OK*_"D'(W"Xg*>%\#mCEmt=rGe/LLLcGLVXF5>&G6'Cpb[=-c!]XK7hhu at meY*5dj6]=`]dO%KKSQ#2YZZu8*h:P)qn,K"`U1!\UkI1nT)P6&d:!V-MW[^AJrU:i>Z%lB;s50P';X-]AI+;Yi,uU8?aZ8&[<cQWj*5OFTp"\j0s'&,1r:Db'^#q)l6MX at 0j;bihX#O`mNo6>;H>`ESs.LqMB)d<lcX<^5P+/i#+kgR0ERZP/_?77]@eK^"0'`FH?d>pC*9L?[ZUpW+U3CF=--Y at 74Dd;[<o<rG)P^^6mq9'<``Y@)8Xl6CI<(T!bfW46E(_A*h>&.eDGJ$Uh"<9cL^eBn[)iX.k>tg-//uXYp(M#nSc:>3c4o'U?1/Cg[nTEJV@\!GGCEPHbaB3BDC3N;49%[tD(2uSdk3Q&Yus3DX;q">qZs6ZQXe31h+X&UGQ,4igJVu0Vd4*U@`r/fAPqs/[B`s#I'9_%FXL&;h>&^TpS?pm::o%1_8_URj3ll/5A[coPIcr+lgF\;^jAt#%nBo>QsfeF[XE]HY'61s--Ur%jD?-g\i]p8n:oHJ^eshD-9*9**E"6)lCDKt$+$;!$%%K9m`p:f]Gi`[DpDpK$'#@#7hs3]g;d?!_TXWF_B*0g]CW30s%2h=64'38&Isb+#F<RoHH0/k_T]/r_B*0g\E=rCDai?u)fh.9h6E[>fYZ<Jqa at KAQe<+]D]mhmHi>2X8sEVl$$R453';(!?9T=oSSL+91:s(M%>7r*cX6ZC'36GnI;&c[lCD^%#rAu`c#UZBH[]uNQ'Z@)"bp>-eh:4CQ?l&*=hIE[B;_9(ih!nQ9j!^#onS#TjRAbFJ_oWl'/*;-fdS:bZfg'J;0gD5gg4Y>;gh/KfM)0a/'+$U(%%5!QJ6KU"fT(
 D^%W:g8Q2hW&"DgSE<X06[@Ee^_K(!`4oO at JepD>/OW8Lt0!UW6)-7J)P:G98/ZcA=n8g7s?&b0d)G*cWknQ;E*HMD#19[FCd_\<i%R9UFHe!@NTon^6.32nG]ot'+;Pobd;d*::\)A]@I'4H,/9I#Cma3u%d6?e%Z=Qp&gSBO'FrPncof&o:Y!NqMkm?0U)nkjG-<k(]ZqXq1@^d3[?%8DK/h1t*Pb->kp<Z"lC9hDq7G at s"-$C5Vb4TtXl_6]R)(CG<ZA7;!=-G5R/(u=(bhm9W&_CBcQ<O\JUn_&gaTgIs??W?m-tf$b0RU>IkM($8>&Ge=PD_3[.N<&nH3MtW[\>nd_u/>&*,`q7.__P%66aRI[qq^]p([_RfS]BY%E#ZDENCbdVtb:!$X"mI%^Wb?nWsq:PKMQ'2 at SJX`gO8?T&Rp"oq\6!qTS6Ya'X"oN3-cGfJ%TO)$el<F,Fl_'U+"rkr)1MT7D3418CQQ@`-iH-66[LSZ08f:e^GZVroV5I0(/ebG^:VL^dkgR;nHsGGaq+68=n+MpAZ3p,SKY.:Xm^+?@[$B at 7rHh3P>S$,r^2?M`!Zg.,RpWf/E?KB+_*T1LE_G[&<C,ZKqJ-?'<nX*k[o#Kr3d2Fn;[pR-,NX5&n!#6?JK3-.%e(=bSXZVtF+72po8Bq%dW\:lQWOFr'"A=I;'#`EGiL3\'M.n(^@lA8B-bWE>;)fg;i].J\X;U%n\Kb[=LM0Y4=WhQ?]_mE,b*EhFq\@qap(.'X!Ahp:%MV?*[?Cm+UB^,FKC6NpueT*AcY'sk(a<o$QkDWNgKX$m_.A'\KFFKU`ah5OV\ekrZ^Y;<#,/^M!8[4fZadA29""RP95KqehhD*PfM42#KP4Z$qkJ^UO%*-"Cq7N5oo>?Y1jrICDQ$C#o>?un5Em'@>H"mhLYpR]8]L_k&U89*QKH6p2;"8+Qg;(D0+G7201rmWd-B-$Y4BWY9nlg.QK^I#ERdbs1>RN:m.N<>_X
 CB&&9F@!&Gp]pfT5*9?W1sY`[Gp9jQADgU8'*5-9Za(m=W(pOqt$fDmEIYUUf/dM%KZqaRrP)P at D\\]8<V:L=uSnBDD*mE<F14.4ks6L!f84-Ei^g#_Q:u)PIE&G2b5cC0/`N)SppGUmO\Z@"Hna)>ilt\/i1B*PDU+b&rkYh%XqtZT<X/ub<ZD2A:'?(q'M'DN$S4pW'u>,j7ZB'?d5;-D<(>In;n3%#RAUn6RHDiN-nONU044+A(e]%k0W_.EI1-!6Mrg#j(>e-6Sgho5,i5C/CCc.m,1rago4lA?4ib?4:^H!R;Bt"N"$L4.p=Z&Ztq9Tpsg at .hDT8TpsIq*<ad-qa0?UIP78D#iCWT`7FU87(%iNh:439NSR(KD7Bc0^?kl]cC`L_(@&tO#1H&E!WG"gi5#T%uK&DuDap#aJ=nMRI$<CRA at Kp2B!J:iLT!@P>G"'m>`"`ZN<;,e$[\@Qnle<plL%ti[IW66mC!H^<bo$1))OMr0Wn^T?n4Pq%RUVm?qU,"O(1K&HJj6aXbVWjb`b(0V7El5UYEeLT+SFieCh:9jf=eo3RY;SOW8O:Q$jN.V7UqY%NJ_>&MV$!o<KR(J::@IbL[/:(>JWXb,u3r]lbPhR->@;E\5CYh;"7`BXpS'6d[A\<qf(fcgFHB^R03iQE_2X1c6SCo)`K78du#Yj[T&Ieo$4VPjG-B8hd4,c$m\/YOfQ>UF,"CFjS6*V3ISE3?qWAV0Bk=ZX+%eTp$L;2`@/S*+)t^+A^3Dt9c]iA25^sd'Ps`qojo+S9 at _@T^:q:L[?s<ti!.ef;<Ehef\l9s75L^XogWNmIR\B6cEXG8kGqtI at Ehsa+Y[l)bJP<pVJ9rF\6dR]-J[f_lAm;M-i=Mp$\,nep$EKq`=SaF&%P$N0k[N+`fIbsWD0nMV:6U5kfgj&B]$VEm1l_A"@</5>U5%@2-;@Bj5anD;2b!o3N4e:O(7rr(ioAL+W_39F^fr"j0^Ej[V))F(+&
 oq;Hj>Ha8F+7jR,l10HclY`<;sUCJA'(T.[;@-g>9-H8=t at g,Eu!LGd9&73j"t5HgC-7AX]3[Oa71:)DNOPOY,64dgR2m2NRL_j]\#+UO7T*M_5b$!WT1k6HqrbmFEde8EJmL%Ys\hd4Qbe<9p3iMP"9g70`&NKZ0<Q*t6$Al:R"SjN;Y52'GiMA.lFWT:e at B\KE0Nf3Kb`g*-Ks'T.`AfedA4^?lQc&,IUpSm?,d:M%1/P(i<1WG]O`;WqH/&iXHKKWSt at Ej[o1%FMfma5V"ZqZO<o/"COL;a'p?6 at 2\J&jN#m]^:lC7+\dEW^#1D;#bY`lT+Y8j`Z0.^'@mq`eL"+)S<";6lV\9]-siDrAjaMi0sNcGONfrD%)4`ccgP2QlMQAl/o&mgL at V;K(LGc&7MOPK)?X7/]ke#:=YDa>U3iY\$b<RI#kVD,P3.fM0MGErs[O<eUBACAF(J5%c5ZG?D1"WQ]GgOu=aIE:W-;`o0MLD%f6b,d7-fD4e.ul^OtYPWYg'@nE.hRQ5Z26d$*6j)kSnIO)>paZZ9&PDbn]>EgDq35\=W8Nbr21iWHVKuS\_?L5K!?V%;IGgGR>jPgYb(+"eDc4Zqt,i8%*c()Q-d:IdZG[:<ds#dp_i=-m:R4CA#=d0>,2[ba+1O-q>C$,?<#`Zan`f&Omro^7\&+B4jc!9%7c(]kI[98NsRDDPq\!\I#4M]1e)_YrUo&"&G4M94np2af#"cF#=aC\;PDE*^Q5HQ\m]D`KYqmu8Es(ur$_co9=1Db7;ZS$e;CR4)aL\%,;D<;t$bqS`6a, at fQs+f;#cL:A3rES#ac+6:tVV-K8*6XQF\$:QF2TZAg*%sp5o&$=q41rngp2b5/"mZf?J7]`QF"FNkhq"78`IA6;HsQ4.s"Lk5q0ejCT8Pc^=I0Rg1RiB\"*rQ![alu^r_lYUl[&$u=4rkaDt:[q?.iZ&\iaURZR$DLOLP1,CQ7B656YVI=7!X#._EnN3]q7D
 (O&uf1f"t/Cs;R4id(RYEYH"S:JI8WXRsM^;GcEOp(#m+PoUXAb<lIggN1K3Gi\n/geb0O;c)LuQ/;:3Z>3^>]`Y`cAVUHTnjL_.2VDdlD+=':s'b7j^:h"t=m0=_TDne@!gi-<b[%p<@DTP1<gba<G1oNW+h[Dr=DfaXr@'/a].uVLqq2.UdbC2%HFplWFh+V<B:A0Lo_]%fRisoeJ!`6_TBpE8*4f$U5sq5^E`uscmcqq)$^Tq0Y+043F&1^/E\3pTeGitJFFLO/q:Xf?l3b,mE/+N74*+J)G$(t*TBa[hAicR,\4(;t6XKXSN1J8'pGP#G]r`p!(!h(`Ybbhgp3M)=lZ,@>c8="\0(g!jR88)!s"JU]5MY,bq!hX(fhH_$]pUGm]<TuBb?gN2%EY#M3`d$N+uf*"ci3CQ%d<(;S/ac-X"1R[caPj;T9K$CHAC2>nrZd0dnJr4Z<QC%hWEMk_q5k*E-mf/a$8n40)s&M`qFK?`np-f?th53Qo!!/ri,l4\XBpPq0t>K9L%=kj:H?O`KkN[lK%$>^#!)hdTfa-8T,jW"._[3]1(%!P08-3a8ZZ[-hYCE:!On`Q><I2oet+Kg["6<0?k5C1UJYXY`7C=.-)S_SG.:+IlDOK5MtGP*-,W$Q9po*iMc.WfO=Kb>Z!CBHU at j]G^,.<?R2!0"s`&MPD=;%-DsjfAZ_7J<bYs_DH$<'H at +=<o2aQ"I%ClXFFIo<81s'7VSMZ?cKjXT*104PY16Oh'&AK"D<(>qQfb]]M>97QR-+=Lr at YXQT/$\$2gJqhCiWKtD\m0Art;FAgi2<IZBs^-Z<?uc'c?'1Xo1;kU7X1HIQ)F\LMV!1-@*9sf?T.1/UYHqgWNoln!$PgkBXiSk<&'tb!l8b=n'&F;`eNRF/jT#9$>NC2_BEpNS@*3RdZKca6-%0pu]!XX6$pA`&RO'm*lO#kE#aP/CClgi>i<`E:<M+=6FL5POWo&0Y"ZfrIVSef,4h.)`
 tR)p,Sqa(Vek5kMbgNfQ6*HZBs]lAM`lPoJa(dY5Og"]%7f,^J(6T;>Zk[i-.EB[G/g:9%n at HhGT^&De7Deq:mp1q,I6&F+LMN(Ohc4]*%f\Ski\jEm%KrFt%dmNI+<(RQm%]_<2KhR-("6/*@gXA1md8G'jP_Za[a=I^s6d1V8mbkJlnc0$Wk--K+JuDa<n^qo*WE0/=GpR5qt`pXpK_7dY/&IgWX?]=6;?q5%p$4eM:71XEI95?I[ge)?Xu6TfOm>m68BiP>F,CqFn0WN5VXg!k at 4h[O.kZsQ-9q[1g2LTs3/G,nn+cIpsZcBR_/EGqgLo0_3DHTp,B at q)iQ7G%Dg1ZFb+F$+WH/HsGQgU,7jD7ae7WCuh/B6(ZY$gEhh2IqtG0QrJ3n$]sM+hJZCPN&,lmO`?k^>qu_?gZIn<I`8\pgrS9&)V,MNC1-2V]h\$][&TD3`+LOHToIZ?a@(H:)Em5PN%q6dl`#ePr0')c]E&"1O6$r)Kh:M\b:E&)nXU5^S7n0$\lV2P6ZF/DTcc7ZC)$$\8CS5V`!`ZAJ=J,lo&g^e:(8#rpL[>^W[\])7qK$EPbHto\m7#]:INR6^5j$k>U-6V-a%AobDkp]_Gq%9MaA]6&cPddGBO(-LZ+WUCL-Z_Of(hj-;7apX\Ns:Xd=!UR<o$A%+=,m^Ib.<e##XDQ!/BHY(+\q4ooNkr%GnqC)?i5-sC=4P;MKS6b0()u++>kJlq5@'B9)2R]4'BHrcK-JW%%`ZGVL?Y3(,U^^t'fsl/$l64/bG\4R2<Aq(Q:M7S03@<Nl+3<p)-eB>JLO7I(;ep2S\pa87`bp$5]6714Wh.Pu_oF/-9t8M5PM_cK5Kk,8WI%AiZXqN-X+qP(kHQ&^:YChU5*6?tTStbe<r6!J0g:&S3T!d0S5Ee>U-hrl0m:GjgU3ZZnaq2ET0,0&Do1?(ao'RN_M/mhiq)l6;.f?=UK.m[F3g%3[Ze#5oR%"<4>^3[KH'?sq8!X
 <iQPgF?=r;&fr]L</2rREo at T)jUhh;>T>/F,99qBmT)3oL5+-<E4&%YTb,=Yf]Zd[8$<hHD9^\C\kK+b!7bKJA5'bHoPcSZ;D>+Wjq'V+#BBGj?fQLYj26.EJiRsXS1iqEhS$mmR1%]kUSiIuth1RlY;_gso)*$gf[N/I^_%JUGG]4Sqc.qpONbtG*!'Qs_#7a841#_9lT\@H>&8+Is^bW6G^SV+Z:?0'>gRd<0V3R%3kB$@4Z,gN(h#G8V.g+mg at oGujV0Tg\>^OD?Hu.rRLGs'aAOGYVKKX/pZE":=_;QK&RI\8>M-mU\LLhh2CiSEpcf(aP4("_#M^fZ)cY)QXUQE/`p`*'.`/Ks'##>*%SNj24j#?;)%Q]T1%G^[TVCefad"G*CF+tfmR.*rmqk:FD[5eF$rL09AWAOMX>=oAdLH>_.I#5QhVej;)bgSr!+/bOrBcR#\[?%a>ekI^#\a-"_ at t1V]jLCt`/u3\UiN)FICq,-ldR+3\B:A=@SGCR?:U_KB:+Wk)D/!0O/bK<cI[/J9Uhm,cbg7"m*f$6SR at O*;R4gc5*;u.ls0U4Qhs%7"qA`*8C"uMNd^ptJ-m@(2KOG*mdUn\sVK8bOUVD'Fomb]=$pTHg>'foV^A<<$7S1\Vgj[J`mj<E;#C_Ep at r?nKdn=p"bl6'tA,$X8f$_1&nC9Hr2FKkYk4Sler\i`Q3UL<m+*0e#SR+)"@, at OL)Io7D?V'X7 at TVG\g%Yi at Q$\QMG[\JPF4;Sj53[f(3l;*?Y_#+,"bucd\<b/5`%J`kZG@,.,rZl[E5dKkkbo#5X\#'r=p?D3I*J;Wl=/N);G6%^!ghb;fuOGeNuO-9\8K0]FO''[ik3R at FHQq=A#Xt3X,ChAI4`.%M-YNKA]#^&1@@3Ei._O[e2\UbqoG77kp-o]#a>7pQPS?IHUa:)@KWMW)\XANERtd,[nZY!%f';_8)=gCk*ajqR.R;i[+LtZeC(jp^nnM;2B>,]iI6su6
 ;70a%f'^<*8KN(bqjor/EorW?*OjRB2fTr2K4nd\I^M$pR>:sBZMR0rKl8&pkBV#"tI*QrMR?3fS89>Vi!n^3(MXi#ap449e4:=j?q]!qd"Dna'(=M"@f\U583;hm.P:;8m&?FF-Oq$OP.+lS:X^-5.A5?iqDn$_4mnU0Tp#FBeLsEgUGG, at aPBT:c8JDVVY&]$474;kViF+gW/1_.qY9d<#5IG6;`<9^26U[M`,O+ZM-RohJG'<T[JotDrWKsh)QNid;0I5b[UUZQP8-:gZB3UD at _)Z^&0%;DO[U.onIjE]7/B!6Z at WGj%Wo>$iDfSSA6I90r0nR)q_=Ubn$4^Hd!^J1upIJp$5q1RR^L8i<3c!^d%5J"EsR6+b_K'_aZMeIE6Nb at hM)>+Woa1hg##HS7'<t':$fDs%K@;Yes8\.:h6U2QD&c6g!),1C3+[nk!`pV(Y!\UF_aQ!omG5TCuFig\]?Z>#oQOMjbGGA>3opI:/Ke+6J%0qZ`8_\`KP\<'6*81SL,5hEEloQDJr\U?6;'R:WGF*>iS5kIK8Ih`_T!=>&l,`NuL-m=b]:p:2 at .XPUs+26V>I'O,nC^jJL5d`oN)4m)W/CB^<.K[sK&KKY!X:s0&[XAne_LWlruB+:qOaJZVu$d_'Q-Whng6m]4sWnTIo at 7WBtFL"Tb9-,k!et"S#S09!@:@Gt>;uWJu at S]ruCTP*kocuoI=hTf+C>SHARC2I1JOL%DCq"[!g*bn`CW2mDSCUg8=q/5[6:H6CZ9ZY:*\si5SLh"V+Wp/2Do,90rgpN\:WRDUs)dWmUUO#mW+_5eAug3g6fumm1BmJ+j:gD1A_:_PhmQAVM2H%FIp2Q<dFa4$<4#@Uo@,nV+VSV0B`abAnfdJl5.$BlFpmE(OKHP%WS`)0HZ*]'BU_cZWHkX6B%)WY"L^/JF5Gi?BV1G$X:g)YdTYS$im$ZZp9k8rD:?]S2%OiN<*F0k^tsfne>p>!m8J%W<DlZ75/[
 D"DEbJApIluMRq?92H(m[gd9<jY%Pd%n?N%iV+-c/M6Wa.K_uJ6Q4M/<$Zkp,Q5@`5+c68BbXf2=k)=i>3rGK!gapFBT66ViBpp3J;mqFFiVe3rKH'Ug0cpI=*c8=T<?i'G/+.)@qa[.0JbkP, at kCWEacsG3sbm[SC+GWX_KdHtnCrjZ2mMiHI%(L2?3#&dHn3>TQc>Mu3m<*9scR:YHEQHp<AOZZ,dcP%D- at q4/Obc=^RIk.V`no0Nf4Osi;=b'K9Uo+["7XKq%tDtSV1!$cb>)<;2OX1bBu?o%IA4EXc2.6 at c.a0mCZZ-2i1GaOr[U/`)s;e<k3&J#*Tm<'Z)(7gf!SjL+0'U/6`/)sE<*X0k7LhaH.b.i>VnY]L$UMd:\]ZCqtX',Bj8%<[[QqKAA/Ho"MbanSq=?kR>drHQDD#JE//^g_KVL$b_OnFgTRH_e\&74P at a:j!'W1$6!3HPBqM!aL8Ug$q['7fe++l1o"!WB[VY1k2/d<P9UYhR"#nGL()D48@["fh_W04#mDYB7EQ-%:%+/;5Q7]eDk&h-$-=`Zri/'IT_a;\phXTN]aVj?bAjYdo^>dcd7d7$mf<0Ruk$8Fa, at _gCi41jD`%$gD<74n#n.%S6:Io22J+ at n&U9V:h]6[c-M]+?:Aj5lQTK*P%.SnFb+lTif8a4?/U.Qs2PLR92N<O4TeVe2!dZE-:o8s9pc$:q-G_cid$85*@^r+Db7D\=T8_o<Q>MuYi]r:'.%@J+:T6DF(S4@)gF*'rVG[YUtT'mr)]$rq^XUEW\h8Wa6U?;C_R2=<nG+cX at Vdo_$F@'/U@<,\#^6>M\o)<1l/QQA4HT1Z+R[5g@;G;GcJMM9fOPs!a3LShfA'5D98_!P_rQ48-XMt<#mcnRFDe@(L)"j6up#\@]_]PgE1;e=UVP]Gl6rfTD-bNq,\n^$7Z/;O+/OQDQW+R)`1upBZr(J,r*<'Yaq,,n&3oBEki>i<X=QA7trD(U!q0XTL
 HGG(<L--oK+0.bl_fo^)VnbG`'c?]n[T?$=CYZY5J#di<T9"V%:H'uJOG at E6PBBiRptOHlUUCb7@,R[H?=i?#EVmcTXlaJJ4p^:5g;#s at SsPiUf2;A&T4XB2\;dF353f.ie[U$;s%r;:4s'emSnh`>+cjjkkNf&Pn[FqJ#OWb8^k#e6do,<O^&=ei4ad8(%sb+)q1_!h"!=cMK>\i9efMGY^`soNV*$>@*n&dbC0nd?ci/SF)Hb(B#A;snG$:"&_nbi\2\9!LOT)'@Wq:u$r_W1j5(E&L4O1`_L-.QH*jc%0`:!o]*kR!=o,Z8O<%VZ&db?E8'0*dha(O,4G$:F2_mJ--2\:,A6^j4 at V:%`b>P%8GJ)o?+A70OIStJrAgR4bpQYEkJXr_htm@>]Q;X"MTXa0H.5OZ9]0sHW\&(.='m_DZhbJ;g6=-'A!88#6Y=*d2[CYlYc%t!ai$uBOsF#<'R4#9t919L8ceH8Tjqtn`<m.ThKH0(V^l&F"BYcAq.dZEY[b\6Oi[+YU`%m8P4mmBaQHagKHI=(s\G<NUSp4b\(6f,L4e&<u8$4gB)n6!07$2*uZh;Of8mJ/Qpo%jH2)"KpdGl:C_(gk2[@5DlefONb7)V!BNEJJ<N[-%sErC[M<B[/EarWXF50tp'#KKgW^W)R-mY"c'Eb+:iRokuC#TP9Hemn5'C$n4;Xh:OO>p]@hP]4Hb5*jKET2o%XH4]\g`<ptB[Csr*I'K,>r-FKf>mm'ONqmEoqq3q,$"8j>9Z&3t8)W/GBPK",S$BJ at Ip-:RN!%l0-f%ujNC\#p`n4Uc2(&MNa]naWTN?@9s*jo\JJSoi?l7:\l[l$t4r21Ll/+^$'IBpH at __[Lr%s+b2>5-"nN'6CT00jr^4#OJ/Z-%I&MdBKC"PJi9m$#uj*hJcVIMl%.e=s/HB'`YRI0]&\gnq,0cW'%Z?1bK*-Ra5 at _I'F2-h5!Jn]R#oUDA:V2e*AEh)it]iuTeSH(ZpblI
 )RFfN[$=(&hsErqO604=k4EDFi;T/&(tOiFfj`"_]?(K9k(N9pq&ap!X7aXSB%-J$i1(r80#rPVi at nV!=$Vhu:mQK3n0[e5s+F5AM=:biee+iDfm4CO*"u?`hg"s2T.--&k+t.J`ds(]S+B=YFt"lDn.&R5N;fk/7*dGV-_N)BZ"e;JV-cnUE*69[`^jKW:Xt(\0L\\-)E#/`"O;LFDacIP8>R?q\0deK7\IMYcj-f/b6mr,"dBc^,%8S(h;#QI=@OABbdPq&!HR?50W3mT8Zq;G2rEnc)eVN25u>'<6Mqejm=Z5OMP>5YGC@[^"ubaaAh-'4)T]NUHQ*>H%cqrV1joF?n:L:4(+/QhtGtiFfjH"fSV?d5KQ<4.-WK*T7/')sDa=hFK4SlGrq2aoP)o3tk58\D0Td$:!iVmQc1h.lOWq_&4]79OItY0 at Ll>AOcXnIob5cBtVf!o#%k!g/%K0YAs[/.pB*,78M0!iFN)Fk^K/\81cX_a+#^]5hPj,HbBsA]"Xeq;dSPee<dLBpBht0moF-=?7)nEmT8\5e2!eJr9"\s-]Jqr97FCtp!&.3nL>?JV4<7N=7EkM[n=:%14_$"^K#3JQ5TAU?iFK?YMP$B?//,nq6"`=>&%3:FkI;KMcJJbQO.K0qo*k7YKW)8rqZG\-B5K\l[?:i`Qa&XmQu,j^5u?`QMmVl=J];JRDAO-hlZYDape+-YClj`Za\eHX$$2>"b.R69T]*;Q=sIeA+Fr2G2[!6LZj3#hTIE*k*J#$)HZR^qdbs>J#DGTrDO##?cDr'jZOi,=(rIW-?,4;2se5j11PcYa/!]DDnSqI\[%3R at pS0t[$38W at sJU+gJus]QO+Y1q^$SBYKVNhh(EDHf3%L*<Gqhjb!,pIF'$Qa-atVp;0oiH]C7S, at s,P!n"l?GoOmnj)V6h^qdbuHJ"cF/_"$2[^]2FCb'T0*Y0nr89]0mGYM+?&ANot8mD?k3NQ"(aiq6YL3mE at 25lKi
 c2Ce/=HFle]n1k$YVS7;i9<IjcYO.T3513Htm3Ro*CSqP:^\O:W8pu:tYL5&99RpK]?b#i./%tsuH\IIF\r+3"qai0Cblq521pafYqY7^0V-S>6!.X3]kMAk6o]As:Ou.(?.e_`f-_8aF(SG@&e%1e?m(?Z$?$Mb;s4%#$]pDpeS_r*KCj`7`dX/a$G>`cmJ<k&5C/O8Ko6Q[FiFN)'d/E+?QWiXEhq92fgsB'f]cU$2VS#,"-PkCcqK#>I;<h*OHBi[4AHKNprURXg>3X'lZ:ii[Tr$1a^Ro^D)dInnc7u:_WK59h<SE.n$#ic9qtFE3V4[_'qFT_UQ=B=]Ght0Or^f2_V_*>2gH!O#HX:#00gU&P!$CHS"lDtToWqn,4DEU%;X(k:cT at oO5A<X^[&))m4/=ZX&'O9=g1?KTn>Yibn at d=D5PWRV%i`".Q^QRp:\S,#8uf%r:2!;WPOa$bFr=imgsc3G^6`$fec0gSV"%8SV5Xq(BX_O\j]V3Y!t%hN9O=pN/u)*j-bA3SpJNNTqVSFq2BH$VW!)OsEifa%qeY^mhD=_KQ$+$V!^,*53kgqal)"E!fqe.CIANq!^9Q52[:4:GZaV<-&'4':g1?KT&>f8`HnVnUp]&dL at H4op1:+Ukks"E7N7,,O`eNP;*NrOYQVf(p\F.E.NRT`@s&TRTN@;c2VRH?X-L4_AdC$lpL?(K9Y?,G);'nPkmO.Uce2#qZ-YnHr&B/3m\,+)S]@MD)CO9 at CaEoOGYL5%u9Rp*u&*Fn2A\S$<X!Na-Q"=R:qVD^K])Z-kCM?6&>Od$)?K!aCeED?Fhaf?je_a^cC]l4?1V;33p9rNUkh96h+&ZI&f;nNNY7[F*pETN(C73uYje\,0XPu"A>CCF.$XJ;&]bU8bomM(u9!@_&!U=elV/N/qq<u)O*Hc[.Q<DT"Hd/1eLR*?h0)`UiR4lJD<I0AN#gfFF6%'ucb^]Z;7?U,patg=#I(T2A[Sa]`ih`h2P
 kcZ=?DU_JN<$Z'T at GkubP]Cf>9monW3!7schA*uN,;P^Y^#h6X(8pKY?0s'?6d5gh2gk at WFc))GK'cW(1h%moXQnTV;?dCrR<Bbq@:/EV,qo$!-<6HZ#?G(q-SV[?L4Xj<b"jrDteY/AdYtJ]_%[>11,R`X7Qb&&R_'qL\?_W1B6Yn%#[9fb%`Kko94n>gf!"cMO/ebqjH@@lW&7bf*F'/pN-4$C75+t^J55&29K[8l1=:[&):(>`[Y&>p#DHIrTdI0L"?Sa=ne]g7Wt2,U1RDb219r%m;mGN\b`eMSGBk5?DU_JN<&Qm5J:uGQh_qEQ5!HMjG/.)\?Xn],d!@.V8$?5=*T])X6>"_hajqmKbTcLVSFLH4Df#MHUq<mq\t$i9!@_&!S5]t%)7p2l1bsWWh at .r%R4n&W4hll+_/(LYPZ9g]u"Of=Aeg&r'l"/.g2Ok"kBa'hGHB$h*CaUg#)I\<I0AN#dCK"-i&bo8ls)#)/9L`V7f6>\AngQo4uHToSZ^qL"?U7]'b at LNV#gZM*p5/W`uF2'/nP#U;5lr^Z?94oEqc6?k;)>o,HqZ/eWqK'i_Y=@jc*#]h;5GAUhZ`G<8TFN;u')I\bjlYB3%X-rs1#>$^OOC3u;a<_WLAJ*qKOn/;?$e,<7\O^@95TdWNVFf?r%mqV</gUe0+>k46YF0"ncf*JU]mK`WKoLd`W73Ss0>HXTX)fG+B^iIQSm*C+*'4)p!hR]?H2ps3^.N1I:?/9Q"bhMXV/j3Jjq.or>aa(a="?8^Aj8DGnV$#k/R1hnd91,$2d\DMZ^XJf:S0ts=J9,fsiGYMng-,2R//k7KkfNLg(G?T;LZC,\kP"$EY7]\Lh%0<#l'6FQr\?!YW$NA1hPH8OF`WE#DtE/KjpA4'i(VtQq&AR`Y*P4<=YW=HdZZ1CcWf^]UMg'[nlPX.DtAY6#]R*;8,\G>8f*FX2rrMsD?J)A?f"-$HZeMlPJ>/1)k/4f7KC#lp,CDM>r*
 pX,d4Sppb\coDtfm5d.L^nr6*2him1oT'4)m`5BK-ZDkpIGAluVs[B=Ya=-*FRQM at CUTD`g$2u%Geo7Y^$_!ek,q)?_P>r+$;QWI6uJst&Mf-TK0nPQ&Fpt=`3n)o/^$*Oqk^NDd7DkpIGAmW%sYHF`!QCS-LIfH0L?2`%/n*]@NjpA4'JF at SEq/<'1\nko'/$H+Ypb]!&s"#Gaa$8k>eK7KaidPcWT(!X!Gcgl%Ij;YTAQ.&^8O^&*VeL!^q%Hn=o!e=6-hE#C#f%22ci4sKPqJPp?:ucJ5!+I6%umRUHN-pc?eNbBbS+;-!7u?(JN)"->s(2s-_mX:lkHTc1o at _Ic0lp-?U+9=:O%j!gsA1n?:ceknbD`P8JQ*hX7k>9f</1>P5JnigqZ&22$.`$pIofX^!+IUe)-<<.aCd,g2gb1YJ0stjDX>HlLT\\#f&g`PMqda1074IJ'5nn`Ru\3H[8A#f=ueYq.oi;oK;(i!YD)Q5.jcjk2IQLG8WE=3'/F#:QHC\qY,K2r#P`@HCjUE!=71<-!mRLFR^@D]C;=hR at R6`#KZCXrStZ;s+7sS4r<08!YDM]<kM=-l/F_gQggr[8'_#n+_p.h4's3SMXVMb8CBXU?E'lFrA=0nC;/2h+VUV_r`A\KnqdXU&V*j:F5rOC9%Qj;?h=7UoTghOV`dMH7*YYuj_Nr;&7-R]"hLVP.i">P+/m'*Ni4rlBE"fpr%I/IjKfD(,62;dB?2S<PqF,V7RbS)-G7\H-:9g at B*,<EmRctA7AYp_.T,ekp+R@"2=nSCYE;UHG`;^1kaj0*<)gGLXGY7bRmkT*fkL%m$2NJtGH:?CY7Z:Sh,EF#MFprF<YM3>A,3=9kK/KR/,1=&>GYDGN<$?OSh7-F<4ZnU&iF$3O-I,C<q%\g[n<jn)?C\LHc!En;<aPF.Q7!VRR<f]_,p-^._W]7"CRJ^3V,j3V/,3D;=h3h<;C7W$L[q<X7Qb&&V,GDVp-_,PqEoY
 7*X?;;l-"07<jdlN7C(4?E'lF_3>ZLI^Y3(?h;_.\,4CaoA?[u/%e=OL?kEnY>eK4>07I8heJ4=D`_!=gV6sh=*T])/>7Fi]M_Vk;F*t*I&fD:^@#+>4o]Db?K!aCY`S9%oL_QK9*MGZr3LCmr0ij.s4g`U%KC=2?K!aCYak,aoL_QKlX[,rr3L1ar0eN]$h!_4X7Qb&&V*;m:S_&A.U=<;M4.MQLWhuO<cG+S>GYDGN;tN3HS3!0;<]9].jP1QRUo@&i')Y"9!@_&!SB[3FF'dXdM3C]W-O)efdj^)!4L9<UL'puFF<9b26WAY2%/jAGH:?CY7Z<0FAJo<.OlG\\ls^7EgkHhrpBY&q5K,##f)b;kLD'tQ-RZ\U?4mbB!LhD!SCNKe9[scd_WIE,W^gOEb;EB)?JJsp[!4&W7%Zm9 at UUFcE%Ua,63M_Sm\`9<B;m]'dosJEpo2J$\[+;^eq]+fGbREcAQ#'k&k]VWpgo-3)K?+H_[=fH0IuU]L^>l'4)m`a6K71Dc at E4/:*/Af?'Eu_J9;4E8?`FNJ_0m75%O03]T!$G`;^m20.dVY+jQ'ktBP(Ln#>2]LDnrV0g at u;,Q\IoHe6Y-YGmTY7Ud6cop^OW$lgYq at YZhP;>RZf*DB6koP/S<)bn$I>OC78WB2/]:C=^7K@\8Hh>!L;<`T2->d':B0Ho6,61ur4TJh<W&/[S41c+_09\21$a1-BY3R-]Y7sqS]>V`o&iD>+1[bXR&HG#F4Ub[HW&/[SO1-BL?6a+>&7-R]gs\D!?R_p1G)=Q=,ALO3BAO2+.0+aqHPjIu:iG\5+)FEr]M-V`-bNac\?:/e?<'gElk1CV7b#(?cFbaAC&kc<HN8MlT_@"aY3n^-]]OLbXLUbU`>/p`Dfq,T3sn"[]>UO_PXNdVdUpu,R4Pdo!-k2akhT=eLY*n*D*ugc7a?B0[Kus':Yk(!WIf$+0(FB$U?4=Rk&[f0!.[:U&%WS]4c*J(bm$S\CZ
 N\NYmg_a?b/a4Uk6n10(ENUU?2W"AsCrV!5R2U;t?9,rkpGZC3<DF)EBTGCi]S9=nbT_<7%Sr-,*Yge@\8r$l%G?!7'(Wc-d?6.s?bfQ^0N_O>CCc2@=u`FO.39"\jn\ins'ZRMX&5iF:OF^cAtR=K.b?`NJdpU8$cREb:'YV?(Xfmb--`VLc"Qr4/c)H%DKR+guLnm&bVL[AiD$paZ;H:=QpAc:el*5QLN/4gj"nF>A6/T50:P(DNB1jp`=\[XeFKTR1jiWTdsg.R2Mt2.%gmMp/dn<,;X;3(N]GCK&^(n5[1jc'Jc4+nJ_E(#(tR:=DAHg=14"IMMl%qDScXT6VN6MJXI9BBl(#D/)*L^P\ucQ\*LqhSc*s)[O7$\n>39RSF&?+_q"cMOpFf[XeG*4k\Q=F>EF]7Es^(S8%-Q)_/:I!:WAMHtu[0aiN?U2?-aoBkH56TjerH!5IikEc#PP)><*bVOX&![XeGJ\*dDNVP]P3^O1FY/3(Ji]/EW)!s.=Ah%Qtd9daG"q;AV_E- at YYCoGtj!l/U-F0A;4-Nehke>QMhC74g3W7V:U^_P\SY>%_=TDmu8;7#2n12k`?Ymghdlag_:S!m)9rQW6SB#.&MhPm2X)[HG9lCNZGC-)1S#>^5G"_X'FRtcf;+9:3G4V-;sFRoF7*>::<:+,WS%2IV_!-k5b.^l>@jS`FI+DM[^9BH[%.^jm.n6G^(CfAg)Rm4<-e1<SAbe#Z1C]a\\9)"!T;q&iM^U*V5L0eg7RC?e,fEMCBXR8+%VP]Q$IV7-.=`=_9pLU;U"p.&EmV1 at OVNW,%aGs-(T`:E=AZ45c!^N at FRG"I7PFqfjG#>T=o9jf5W7V:U5dp+&fqtX1TDcVr;6uqYRC?\)fEMCBNUHVqVP]P!r9([[c%9hGhM\(:)[HG/\u052Z;+a&DmtOk"as.X%WfTI&-2!<cdF^_SUCGZY5eO)=jZ-7M_J4K!s,&fpI&jsf$*mge]LaqTXU>
 u@&V]^!^NsW\_<p^R;`(gAYWj'=#80PW7V:U^]`KB[7sd[?iBp\ULleV1J`J&fH(+0&D[Gs9j'9erQ>R<c%8]&T(uWr4Tp:4]#SWVZ=\R_Q^<Su"[1'lmC?\Q#QOsL&)0!Rc2@=n>UO8%F>*6UkDJXM!0#GkEncg9o,iI!Of2F0\',MW/%1350O4A1D,]$05QB"9s6lB[*QpS"\RKmk!))Ms^MV,^q<-Y'*An4NQ$KBN`V'iC(=G@!gQXSe^])+.W*.KDbk%>T[YFjeSF080VQ?3cq7f[aRPk&c4NsM9HO'U%l5n#`b*r.ts"lKGeoW81(l&Ie+TSUEHRuWTCZa6iW*.T5bQAh7]S?Kk]'eP4VQ?1mTkQ<$PHcm(DQ*%G!l,kg7s(63Ar__:218"XZ`1fg#QQsN*n5&lRQ2L-eoW&)[&+3!+TUl,HX+%ZCM%A3XJnAQS>HY^+TUl/HYBmfCM$MpXJn8NKVf+F+TUl2HZZ`rCM%kAXJn/KCo.R.+TS%*H[rT)CM%#)XJn&H<2L#k+TS%-H]5G5CM$/fXJmrE4JiJS+TS%0H^M:ACM%V:XJmiB,c1q;+TS%3H_e-MCM$c(XJm`?%&OC#+TS%6Ha'uYCM#o_XJmVQqbr4C&-1o8mqq?Y)&bAJC.[dh<8ftC!.O,Qnnh!g)%e`AWlSrL@,X6O!.NN_lJ%O]o3'SEfmd%t#7KuD!:[JcJ`!?3T6I&Bc-@!74B6V:!J'W\O8Uu5rVScmf'GE%^Jfj\&--sWHhb'!mH5ioZY$\'SXh7CLB,+)h%?;SBg8etc'j&-p2m>(*Wc>nFU*IUV>YcX2/@B&fZgD4HO'V!W]L]t.IH;VZrs]D]JbcbhEq;$T'fG%VR2t9Ate]8!WZ#<7tXQZrKK*2K_H#XGcj+NFK4ZibG\RNLTQ:)&-.O7*>:Kaoi'.0'Ac(V+BE\gkg\82Y'"q$hEq8c>^'Lff$`"C(&&Bu6NA6#GA:elgsX?QFqrk$!$G9cG
 %aq-d[F20(>_CYTKm^QBNEL.m,(#nGRjh*1>Osb=_^V$IeauB4TkbBFf1(.GqI;9c(i38&-1qBSLL"M\,X/0%Q3Hf3<0Vi4'=E+DZ;6C]kPjLEW at 4gGJ7bAh>VoimRi-"Q3.+i\l2))me6[[],qKn>7LYolHU<m]%d6,h486+h/WLg6?hF&f%p?*X1JTG\m#XEeEP7!br!1;Do2U+HJRh\RC8IHC,H"<X#kqje*mG39a1U[kY<>HZoV2uHNAYb](8HK9hnU8=9)aCmSqV.Hc'F('ED6.G;a04Z%;J7#lq'-4/"L[dL[:5"9A/BSPttkk!QB_"9A/ESQ;1nj)%Yq!s&&GSQVCqi!n#%"ot0g41R2s\rT883WS(Xh>*n8VHjm_lMuHVFJkL<g@\LdXTJRKd at Fj;C"*N9[giBt7sC\AVFCNLIHpl`F*-T6At&>#RYqCN*25OK1t.cJ<F.cfi"4]FVjW;;:k/!8J4"G!S7YsPFn#H^6Ze*SAg]O2pYl2RLZja\2!DYq!5Ln3K+FfiY8[I\SF6/>Om\,3!$&"#"HfkaM?*]Il]+:WlFpL'!7L#$\uuhK^e`dkLg]$T$39#!FGD*XFC-<oJ:HdC8-J.j6i[5El4-EKdX?ND!8cq"9AJ$FE<#tkkmgF8XS^-?!.:G$3q7dhb5q\5Z0hV2-/I/U!8saB(r[HM(Ba`rOmXpB\%8aI!'l)&8B!f8?O?d`0\sR&s3c<9!!%Una")W(^'F]=.Cqk^E[CdjZgOc7[-kg:!(b]^\.7&;li7#S\ms?3\dob\TN$.13_9!B!rt1ANaPB at 5%FYD2VgZ8F5=kE!77f/Nbtio?i^6skRM/Cl98)GJ3gcAfiGZp'*)F1mXVa&mUHA"(ofZp/[,$O!<>UT%VlI<4ur[o"a!8C-$::J!5LA$KA0kHNsbqq1#;A:);PN$!3i9e&@[2X,6 at jI=EfuKXo!&;!1)4Wk_A at d('&kZFN:t4\dnoD?n:'lDNO:]!!(
 YJGJkGoq[``-[acDjRWZ(]!+9m(EN`)\irK.?clMs$FLN4ii#pk'Y>f_P!<A//*<;">[i#2(:u*i[?$Co%!05VN"qu-g('&kJdq3f&!<Dno3uA1fDC5Das.qduL?WS$!!*&G*>/Hr[h+'6h#do-ilh9B3>:<rh(o;]io<24G*j`>X+]q`?Z8!JiSX+/Ku7Fu+"$napB?>YSGW\c=Z+D>ph^):TC+FVaakbU.UkV<!;=l)WSZiV%fcTjFN;LAFZ0L)J,nE!nfPGI!WYKQmV)EomX>-9&?.`sr^V/[!!%i,SMC/JmN)?.O@@Ft!$I>m#lm433>2CC4E;bK!.!X!!!)T2R/d6JOY["<a<P=!!0B^r"99R*S-]0\*]Xl6J37j!!!%<*9E5(`aI*#.jH25!!6?Bt!W\<Pc3++iO.6LV5TVp!!.[1P-3+$kj at fORz!!(r2rr]U1>m1~>endstream
+endobj
+4 0 obj
+<< /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
+endobj
+5 0 obj
+<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 482 /Length 34721 /SMask 6 0 R 
+  /Subtype /Image /Type /XObject /Width 642 >>
+stream
+Gb"0W&#?VfSL=1Q_\H+)X&KK>I>)@`L9&P.7!'+hD at G-^d^5r$U.bt-;aQ_*B!dRAY*>WENZk,dd at s7\U*>hb&k8i98otGN,XNI#RLp:R-r\ifo:G.3Fk0lKId=Ils4=U/o(C`"g$<qWIa<;so/Y_$4F<]mr+(jOp=Nl94n`h6s6mkeaQ;B1q0sG<aBTecftW$HlkHumI.<A\L]?>:*\KPKP<XK*r#\#&4Ckubr3+GW]\ItGSMQPS_uKG#96U1ZJ"RM$dghcFp@;&CnWV\^SnIsY](l<m!iAe=)WH[iHI;<U:[O)?kJQCP*/G\lqfB9&4H9m@&E4L[1Pe'Kb!l_R&UZ?f!G$rsO2".giDs]I2oHZpS_<r*D%;C%FSB6kL!9of'?%esbCk*jge:Z*%Io/iaM/&qpJ9pY<VRWq:Fhdfq$W at PDoaMa'?!ftQfaSFWtTjjLkc+OKpC(bGXG1!pYh&15+N_.6MsCD!HH7h4^<j`q-EY_9Pbhpa#=^N0YSLc=bZ/M^9KUm!C'qS at 7Th8&7bX'3]jttXog('#k@$8TB5<Sa2a`SJDco%N\+<\YLdP="`FVN at X!*E&DPZ=/3[S'mU-0O956bHHPUfX_5]&8Fmoi[2gBq:$=b48(?^7\n<#/UafmAuET2+kDlN4B98bYN7Z)R?Lg<%sJ`&VF\;Mn)iPOS/_%2%nFP&glY#0+n)jqmPU^Oqb"ZOBO%(e3"iFa6RM"@l2a'E?:>`'OR+N at Jm)T;'\>!b=sPlpRTTKM-IVsqt*n0,V<Sg")cg[@QMi`FMM=;KmXOW'uK"l`_BPp%Ie$n/3l3irXl40Q@*([TQa^:.i.X7-M&R+1J?LnCD00OE]Cd+LK(pu/7Ba"Irn0FF_;4e92ilE=:0-MWK.-sqF4fa7s^pg7CW,WNoh-hn`6*Xb&+pt=-ZDpHf7s07L!_',C%_AZ_Tq$Ymom[k]0*""pe8.ZlbWJ(F>4BScs%l#*^kC5r\L^T53;8-[s#n
 [.&<gpGj(fCL/#%HZX?(/Wp>a!eU`6\J2mSRBo_0QIWn.eEq=.:Wi"gM20`C$`8?G.*AR9TPmN1RmYEG*eT?WDe57<*3JH'])C'"eRis*L+\=fb/4L$@pLD/b'n3/a%F5,H-,Ti7q7aW[f%^-)<_SNA*aeUe#/;\^nkmT?QlE(l)V>iA2&;r""hK9a;,7%,MtL6tC`%HntU64cd=ln0iDi;>Kgi3^1sE0FZ>`9rfB&cApW4IdrqE2sT.=WQ("NXhe&O4nu.."ra-_g2[Iph6Mn'Z>n(U*-mHS\A<^s&DL&Wl]Nn#/!]RpeVgCpJ)i[`0!\HG-]V$1]h.b;X?"kc!LOgmKsc[_?m11EEf7FgFA/5fZ7G!dPT_<HVjJSou7'jK&,D>p!(_ACq<o5;m/hA,#>&>Xi9uXPPpJ10F#cNJg3ON<i"3ROQY at j?.^-+(hIK:gCV\URThn2o!oK1ra$ZFacVqEKG2:*D/U>7_DhF=BiX2kNFu.VGg;YP0\'Np_L775(T?^Ek4j974:AEW^I(Hsre==\>`kV2(mc#V0+HoY+eJ/2al4:O*lMcoW,PK#9BHQ+'g<`mO_s)^f4:&`mcNdI*+*./;B2!1:*[2KR%O7U\E;E`@L%TU+>-KVCW%pFmbl[q*X"G#IJV1c'+VhqC5;O9#P#(W/FTbO_0grR/UhrSjL54(N)s,B.W'k[3US>d:(Y`XWJ+4e0\7*"(^-<p4Buq;X)J-LW5*qu8)stG6;/uMmKC_VRmm[8E=+(O9hM\#_L_mm$NEtgV$Y/Rr,oQbBmSBkL['j\#Zkb8./]6CN]tDO#\GTGL3Vu7YTCWIl7sjMr-WSm^>5O3KeX-O'-c%:Q-MHmIZ4XD%C(`.Z39n9XpGl!f[o"m^7N;;@8Vi#0nItIiGR9TlU*5[D4 at c\r>-T'8?f861J?1O+V$ak>@%ZQ1CC;iYmnO"_ISJYKq0Di$K@]c>:iQrb:B\K!ob>.(g^`jgo`_W]`d.830(i
 Vf;3Tr7Od[mn7a%(,C$. at 9QRr)lY\5@?kJ3I.VqNB)&7T;s.6)I$3M<Ze/9SM2L5Se3J&Un/s;].giWgQ`sU!%9N4"D\hjFsEIqmn(fQOP8X1Ke%l(0Ta5p)+DhY;Eme>`!$J,E%'NT%dCk^h!:U$8(cTcK6O"^ZUi'se6E)0mD_1fkrWX9B_KK*$MW5I30d<7%gVhS;W at H0D-<>^DAPMiAH)\G2_fXCo\f;1W&Yp7(ZKfK:6\AKesYZ)F!Zm^@K&;O<=7c]C^_EnU1&=fU\GGl&aRhFLV3"Edr$HId$O5O2M&V:gN(t4)E'm?Up`Xoc*X.sVA at OZn//\V5RKr)+(Xf*qW(U'sFC(ZaTR&$rH`*NQ_&.9*j*+C2-)@B7l8h8A<-.2j(GBp[74GDJ?BNZ`Wc)M+(YSPJ[fG7pdJr;Z@%WOaoB*f>T\;'e,qRq['LJ'SccWqSUpZc\Um]Qf4$Rn2(Ye at nS"Nr:]9!Al at _@#m^["?qmi$(c#a+9UCYdVD+_9Jo3:d:RTdiu;X\&+jN.k@\%0h#LR`%l7s76Sc)'gA>.[Z*90fS*^5KnDW1:gkWfl3c]ieB.nQ7K0F4_f(t.][EO]35c^B$P[#RHo3&??B.4E_B'88&Zi*R"Ge9NgdX1m,PFt/[lRXuiakmpb:25>D,+M(Ju'SR6P4cRL_,5a4bXua$'(l:#@bn7dRiEXJ&#b@`XqL:YRe\0aFYQp9bo+$:>mhA64S;lb_OhH@;13uc3rFaFs5K?iiR/VJiOAQh`IlhpuA,U]Rn#(Ne8VPX9o%@J"qn+_AE,s=4RpA/D^`g&mQn;7'O`PD28WQ?<?++:Qd3GO2iV]/#"^, at _BQPOZaDu><FkN;rLYA>S at N5r!d at o0<JTR`*8RoF3kZ]AI-"I=FsqnYS;niIC+TN?%r=B\u_o?0o]Sogl90<LrW$D.ss+.HNa'Wre at es9nK8X/g2"\E5;phS-To$GF$i at LinM90>t0^ca+2WKY:p6S
 R;N;8RX`t.k$?;Jr%:O`B$Jh6OXP(%@kpYH.2!&R8m at m&[/)$I1`"3 at s:cpnr+,qS-UH,>\K%Xf9kK!Lpt6*@7Q"PH+=8t1u\[?UobAt?&5@,4L(5"OX:XsS&,?C;Zu!=_M/V#j<Z3:"Ykbr:^Y,8c:3HEXY<o:1D!5\GXK-X_AJ)=&j.K2Ts,ZU[LfbhX70(q#1ApS!5YuQ)\uj*LmM#lM;T4>GTt:&SnMhA6X_ag$P>LSR%Q,GiqOK4/'NNj!IS[=F-2q]gF=a?TrZ$\5THX)a+;l8 at 0;=N'W/!*%i,(i,_BH\BaQKr0qR*L$=>Ak`o!c$$nG#ipOuuY#IhRJC;D54)_,Y.Z%g="_utc-HuTDr+=8W:ESOc4+]5E$A'-=`DZkat+a.;gEASh6$NJGSn-BdZ^QB4:iOgjPgipXdXCh"5+BGM^KSuZOY<PfKbY^?&S8Nh:UbF?-5/F>u7Y>r.JeQ)Al]N;ZP at 1u=0+6/g)Yub4ZGPM49j!!i+F\e$e4C>aZ7ZS7m-a3k`(Yju_+hJ/]-L&V'RCAX%e7sMkPj$GA-bptr*41LJdE!X'AQO]]:FHTHR^QREUri<QYG[r>UZ-A6c0Ju at hjT2LhX%l_ at Ts&b]hEri7/uo=1HO3\1NNiQU at h(@4-lK\)=.#4b#bOPJ8Jq\<(o_LfG0b&/Q<&&D&-+;:^c`GpQQToa[:[b`WWer$_,Fjn6'l_>qLY"T(N%U[[_97DrQ#?nmAI"R at K&"Rug+j'-IEi^2LE+muI!S#f@<V!t3![Cl0chJq=NV$4&A61F&Ts86-q\LJ_f7F7CZi!TMPQ-nK;omM&bnaH1H>(P:(\7!oniH^"cirk&VHCCmlS6SA81tN1GL:fldPp'JNhca5l at h[sMQUNJqrdNgeh\,k/WqJ?\b_E.7Q39^4\EW6sJs=-=$\_uV($T_j"Qs9G,5g7,_uS%\F9875mdc>'ET?p*Eu.`!8m'>9]Iq$R,Ga?Fe<Y_(WGn'Z#s(
 KuG)r!,9o*4RBDnZ0I(<Ph4\Ka9Kkk`m'V9odP-.8TM;\270$f$]:g66PVD&*]EO&jnN_+20SAM\A+J)L++Sa#Y3.f++?9&SKG9Q(MrTt30'rF8ZM4cfD8`?!W*=ZJ+Kk!B<];A;AZ'[):E0I`7&D'\d<qqkY#S<Vei!9Z3&8MrLKA5-E751SB.k&WGYA(-]`.5guQjOCp+T?h6?/!?Yo0Zd3V?(ZtT-F_iZO#aNV;[GQo8*nkXpHH,iV^%@DJ2:h+$V?`]9j18-Qc]d5D*e,KmDtV^l8K%^S_3a)[(XT,PZSs[b.8u0+9SN/hF(T`3T1;;,sQWnDWiIg^[>EHO;_1/JKNFee<<PTOn'J&F?@bj%-YoqX=o5$4Z"K at V:'Cg8<g9Ys53mJ%pJs)hL-_^O50\3jOUZ%tB]>]sJoJV9k at _@`oI2`J<\RJDGNAVU"uL*ri;V"pgMm\0ph[&A.fY7,]D0%^FLii[>.DFEZ^>#QCasS1V+M[knD/-u?X$m6n0^06WI:+Me523PeXGkI\r)guH"C(a`>f@[PjpEo]4VHO/i0n1b9%$]"tQVO(/ii7M#fO:^UM4uCUcFpPfZpb)MFJG;e at Vo)h1B7r.j"LP]OM/Q=$%)JIc.q'.3cWLtA<VgVsM@!"5aleK+T^_G'H%Hi`(ut'c=9miL&R6=2;IS3\^u+,=KJ&c;-52,e3$7STnd4GX@!dLa$,%rB<JOXZO`'$VDXe7;G_:oS\52V`lE%Tq=:!pX&KFX+Y?,Mq!6ofshpoo:N%8ieK"p$^KlhmsYRW=fY_C'(_XSa$#p/o3#ei\d47#\G&B%d]09ItFleghiJG9uS?0>75$=[TN2HCZ4_*`oh$-j]#8RWm_ph;Jj7tUMji#f>MrB[tWa1""q%H=KDp^llO1;d2'q''8V`2aQ1<-U!EaU63XS1G/jXq at l'6i>/>^9IaKIbKkCs*CVIE3h+Q%E&l0dKU8\+-FbQ:2sp2:N3EiJ`*-:YfI2<
 gjH-U9@,9o%i&tK>c^IPf;2Cp%S^nUKj>iSrV^X,gqI.TqlKK%SeZ_PF$mSG`&YR)LKe0q_1f`_Jh[Tk;,7/kgmo0]Ge"1*l,)Ee5F:B30U*Z1$G/X[p%J\#J+G6`@2S"e^:YV4L=d?uP:?G&<YmY=\?<ijR3-WrLC1roSs&$g>-sI01D"mUlVI#2 at RE8p\+$jL3$lqPR5W"B#[SP26=DXcS1Y5K(JWuMR5E7iY!Og-D=9*-i#]gaKlIZ>')^b.Dqo^WKjY>-p*bR>TuK#'gf/Mc/.1oJ3*HG"VD[?Va3>[j%^F%Lh_.45N8U;91kka2\G)JX&.k>H=3DNd at Q_Ib(5)V'"SWTO6YslL2oKNj\&+iEKYg"tmLdZEprcgI$-o)YJh*eh'Z>O=;'9c)lqB)N at O6pop];2?:j<?,;IMA>>p5N<GUja]X!m<E0gIEki at e7e;n+_%=K*XK8E1G>#t at 1-<snu+'ebBZj/;GU'3lqZ>aMTF<d!(7iWnlQoi=%=Us9 at G'4nQ,#o&+<=LJSV/"Adc#+8j$Kd/qNTQ$*&Zdn<.,NnV-'uiL$\6^*!L0,MVX`+i*anX-oS3T2kRD2+ at f2?j.(##MjitVbA5,H-#\]1JUYAK88Ym$o,8g at AjfUH8eLk@,B/ucJ"9Sc,be?6SE_$.HO-p6"&W,P\ik!gYN at mMZ=n;ejU'nI4a\5.']E>gOR8;3ra7ce^phn?npN!</3$Y&L<gf*ugI5t1DJcpu^S.?3`$ZgXtM_ at Se&4`slX"YW#%>]"<C-0@[<oK\_Hcs#9Q;dQ?U8iZTnpnHX(DaCQEseh(@=n$d&epX`Qm6OOE3=';Qq9!JhcQ^7Y/8<mj8GO;gf-6Q`89k'&U]?@J#<r_Ke^XGNe5+SimbW"(T9d`XiiTh'Q?h4/A[XU>/F7sB&Npk74QM,3!@0n("Rq\WWLLm4f, at n`89j<&psb7V]bC>/>Y'"R/&RYKl_Xd/=%KiG?;NXgba+d.tM(]Kk
 kOpi0"fj_0;]Z<>XdaXKA]``&FJ9*bC4:;h\osHaBaQ0iPjn&;qs\JbV>*K4CL'_2:'^V>>6mPW9*6jgSp>3Pe7'H_Dm)0Cfgb1l,]XmQbTen3cMY[8%%uX1onYZ$nN(0VE at jLqUV6WN\J&;?S3fY%LKM<`NRq=q8KlJkU^)Bl:1.SOW#2PbDH]mUZAQ);24MI]AJ at M\H$R:\TdDM5AjT?pTV=O7bp1s8=(kKgS,l%IR8a8h^Il+iI:aREZ?Os4T>.&5Q%"E`Rr9'2W,]Hio'QLclHL5]!;O#NGR"3X at n`If*,KiHp<HVsl#MBsB/(+pnhe(/u-$\:CtiC#Ki_,P]I4d8$n7/A]%-LEJRf_DI'?%oas9LR>.s(Lj2fhWB\F/4-%s_G)>9knGCF<T/%$nr$'n#%@Scg>X9r9b=uhNnf>NB86Z9!bWb#E\nA;@teP=V at rh%B;)O8`'+Ok(42N$VssKfcEe(u+pnj=nC2go_(`q)P)J*!0[[TT>:M0*Z0VWtQV4a*rJ`niK,A=mUqCCeG%DhO$,02k>mWDffNh($S4m?p!/Qb$g/r0m0H];khd`Dq_5C*h-H%]q]%gUR%4I0gQq":l`8:'j'c-Gh5[ejYD.9TN/B$6Fit]#-R-C^4\o\uBK)5oDZbr1"n0JVS,eh,;H[$9LGp=c>%C&!T2IWaZ at m'-EHjh@?EOp*tE@?VD&=65'7rTR0-+^<=ZC!?DXVJ!U`@IHGgfona>a.DXNWq4\79\&I4b_^3ZjH=E/FeGri$&];`1jUV`3UkU\^Vah!&:Qo"gKSo$0$NTWjZ)"WX.2r!uGXe*,?48(58S-<`7Qj8$eR3%$tG#_GV at 4($>:)#'!7Vc']^CV=hHa/BdLp_VXWW9!Pk!Z3iCGE04SlKmU'G_'agoEZK>Dd4?8kB*iJD,"Sqm_L*-be&7U-J_UX:0Wjj,6_ag'KhnOa)?@Uf$;3\?,WLh$!P5Li_X9/tjRJG"DUT:8+aA5[,ebH
 0M\k?D]Y1rB#!Kn.6t'58#mu`I*DHg>n;.IS2tepO6d/W!%rmZg;a;=a@!<L5EY)J at m&9D$_6_-n&8NeTQ^W;Ta9qYm5(p&/bm17"]:1lPn?NB[#nF$*/As6SkCV?Q@!;i]P.mij&+b.G'IFBMfrJcU/AsB'<>EM08j:+n]P3`F>XP"h>E%emlNlk>@h[(;=Gl#cLh@$SA$M671kOO4oL`P0]i"(h$hO1sk7A?Q+i_-!6QA^,6%Y*Xm6OFm2CQLRG0d#SXK&T<$PJDRR&mNq`QpdA=Y!/gf\Jjjj?K"BkJU6mPM*97$E#I4Oc^3U._HoGf&<L(ou:PLen!0k?u:U+IgH6f+D)8Q"`a*W*o]nuFoZfW$)MSq^ZKc<L%QQ8;!8';k-?L5;Rm.tEg`/!1Pj-[9,1m@^GWrDM[7%'&/Xn46Hif!4s.VIDTX"PVS[&6cWp'W=,Sr]'\<\q!qD-T"3]*kYS%]%7*q:Yio0M8mO?@-\;iPbQ58*7c7!L#n1"cPY1G6AK6]^U7"2J9'#C2cg?UP__?\#OZ%Z9qjTl3_&cAJNM#C?0$B$<[N3EGc.Vo+T;@4 at 1>YEfC'WLI6`6AB*aS'dc^3>ld5'$n:[b+73Qk7:`3'gg4k%.-qDr&E;<BA'Q+SnF+;1Va!U?r[r[C?N\CkX_hXr/7+Ra7LMT_^XcC#?Hi[V'T!Kg0k+DUF:1&7bX/Js^8WTYb,A0Wac1i[\7E@*V(M2ofldnNc(K(a)ok at KV=L+PmIs9'[2-`@gfmpm?cP!5pT,Y59m2"S!2B2N??di?2G$aOBmC\(h\cNJGejchYSXb:X>N$&68:DQidLXM at 2T2&*JBfM(6AK"VlLL)=VTJ`*nF/T2QP?#"t\&B at cF1Tao\ld?[_7j+1rYU.5a\X2l1VScV8\o<kk])6_qAA_#<R"0":l'ibc3g5O0(0B.I?k%p]i82/aG[&8s'@KghR8=5L$#V6jRI$g`98/dU\jL;8E7<_@*-%3cB
 g?+VNY8cqkuh+ngF>t5#f0GW$7]jcY^sZT"FDT!l5e=(YQT_Z\484Q0kPQs!:a)l7,c!fi#K#bl85-kQeb*D)_tSF>dR[SJ#*i+kU?]*dL,`a>leD7nq&:fk?4*Ipb3CX0W_K5`+4m>#nF*lL>X^*(ML2kIVU6`p!g$Nbs0^)>bo4A_,Coo!#:'0;1bFTh"*eOYZTGi.9lHfrpqTBKoau\]^G)iH]\jUe,g1#/,YZXLk"S+D2<$C7Mar9V9>Yf]ghpc*QKlLY!jtO3%CHYMhIH+-spCmJu'SZ$6'gk-2>3l]AQgMJdSCY<4MA5NX>mfV at X$I6\o*JF]Xq4nKmZ^dP_FW+m(K$J_5Za-H*e//-3#8`T$/'T,ZLEi_QEuGS];9_Q"0*']CKp<R2/)"\b-<hrtej@'P:"?Q(BKTJhD=A;K\BiSb[5+iG at SaUgNH9SSp(C/fumaWp][*K]45d,EAup_"]5'Ro`*dta=Qn*m,,neK)RF*kR:rY?%e$MVd+>J.Vcl^f5JR;YE#)LBJ6'Q/LA:gnR"#nU#iV)2j9MeR&EL,,67Dg-`ZhOuV+cRSk^oN+/O_YiPSe/!f6n`_p%]jub*nW]3j&AnjarEZl?>8CY\rgR+`<Ytr/%pMn/fH"<S`6=_]@]>XRk&Fd#V^=27/g-0An-Kg.8k7W&hB'VYSK4:M_?5;FMI(sq]<II89ePB2J@<7!9nMmH:FYYUmY4jD"L3Npal4b!VfXQ:$R^bj.,6(m/VP:=>IpA at Mc"`<bHq8$d8sl#&IcJ/*3=p"NF9tabrMk>+Qqc"*^[M]&RG_%'._ige:P?]7'<`=;M'.!L%u8r$E&UAjoRF'1+a;uRr8s'YAf(ecJM$/;qN/$/;TWj)!UMNEcY_+DS3h?`.c&Mit;2Km_Rn.Lek#>nW1/'YHPg(Yu+Vni*,*DFZ:cD/$/tf(h,X[720W$Mc at 1oZ!;VG_UQSY=B8k9Uh#17"QL4lS8EtHK%PuhGX>qp"X+
 X/(uL$q'eTb56Hn]2jOI`hI)@Dg`"ZO$L at 989pnc&i*`eQaZo^``N5 at g'+KeS2-.lL3H\e0/*9'[H;IT)VXAOYK'OD&SH\H/F'+"#tr-a,uT4%1pZn3'6(TFVE_$#IA=Q,`>OA:"RN?K(;a\8Qj_12IVXGdlp,5<rM":%o9#;LKag)/fuK"LeAs$6Qa#_ds=^12lgI0g8\YiY<aY=4h[k:o:P]K!hdN]4e(If#:ra.^'g9dWuN#`De995m\c!b*s>B-A$5=S5*Sr^D&^bYU9c2iSnc=.?)f9r%MmKWG^S'ZW-2_?@LGgMF^>/hEhQLLBX)bZ%]7?pJ-1`#OL$&@775fmdKC]G22eNb5Fb(\6^VXg+S,h%6&(*7J73inj!T\&*?f0G7j+_JOe3_B'9S&Y'qu5VR0G'X+PK*'n!VLtrf#$'(Zt'4Re>.VTPiK/f+4!5o\k(Fp(?(0+HP5,tMh$!'r+Rp_]%0YoudPm^')+bJ#DnW;cm-b+mJGh3GG1W"BjCP\#`6/a!'4bta4QV$Mn@;CQa']I[IpCnAg3#thW@(a at j"Hsq`?/Yo at 4Grs-h.@3O6uW0H;dg8oR0qF.E6WAGZ at Tm5K5qZdhh;)bCPYL4AP"CG,PA2R[NTmq%O8[, at -:)M1!$u='9$bG[E-6kDGdiDf\P>S_Thh;NjC/4R9N?t+U1uI%I,Vg at bF1a)hMLP$]#Br7u)Zjq&;sPLrC)e,8dU<P2IFje192E,+.V5*.hfo*RG3uHk-?%T8^AZV at S$gbs;nM^;@s+4?OWh6O[1hLub0?Y&>Et-9uBJK]rh&#hFQO(=RZF%)`H9[`F%3f1I)OK4+VO1g/cW at _RI7K)#Xka-T0_r'AO at ept.gl?eFpM@$6f at hbeC/5,JOJXW5cCbZCV-Fh+Zr%$HeJ=uB]bL(qWl)qmt&/,nG=1IDF>@G5E>E>aEbYbl8clV1&&M0dJ_t\VaXMQju%tU>.AZ.:#@Tdsi^1;ouJcUZ2'lHcs
 kBJG7+h4Fh)UN'D2@;8!5,H,r"SXf\E,XVWW:7iDHa2(q\Do*BnE=Ouns?FsJll&^NUiQC%#:^!'4R!=(l3q_(D+Va)#kMNPn[8P3.Skl"9V.E[PJXF:oFinq$7a;(sL)9VEm>FE.YTTZJ#)\#/n8'Ja\i?_jNO'E>3:W$n1I];OFYl,fJOH]+Bqn(TB)k6WJq<WN[Pa>@Eu;9pB2q`])eSV.g at Vp&r;)J#<BgDjf=6i*'Pg&WYXuHgDeXA2s9Z=AW4j_O*c(jDm([6`--aOOF&nYAs;\.i_>nH\a]]_@$=seTYkdB*j=AHQS:q`&7bM&Ani>6bK/1Oq=)r/>@)I*!q?C*eHou;mf46"Ga:-EJRm+el-f!EAWAXLbY_c%`&H\5iEnF"L"rs0o?Ksc>k'd<7n;G1)6B)R%l@[;\t%<TPUI/'#Y/,HpBenGaN.O1Ed7,YU[QoJu9?<#W>boL[R5Gem<j?<3JW_.6L7B:LUo$;lU$FGa;r-[9&+Xh at pIPKhn[%*b#5'^Y3^o9!GA8ZcKEp?=2Xmhkn7];D!grm,[(-Rs!mOf;6.dG#UFe*/@olLfG0Z6;1=C6Z>t4goHY,%H;YkB31l<'Wt+!/AZi+E;@2FKD_=C_B6BRF%:rWr%0&R]=__r?Ai2?Kc^tc@*FOl@"l]67o7h<ih=47K"Vo=o4ls7UD72s(k7Sd"QLYk'bf4-_fTF@"l&R!$MtJ&fS0,47jC!R_XKW[a&0?sR&[A4`)EmDemZ5.$PAmC7RF1R?(62;N>`A?&A3h9+qXVa]X5Pq"Q+jKg(4c0`k>&*L;,QF6e,UhJ,'Gh&9GE7B!4%Y#7O-We)GN8YVEc1.-01k$PFF[iSV3F")ro1\-d#no>99lX0;!nER/*<I$"d977Z<F*@;S,jGn1.4pSo7L_iq at R,B$tM^iO4E;Jf&M0/rQRgN at X@efUdEu/LQ3tb4q#D,MS"/XWj?];iZ_11uO.bnjYZ`R7^oeCf(00q:u'Q
 8R8cJGnE;Z2paYo1A4's7kW;&J&GP>`ePY=3D:MK=g6n]_gJMikbAKmtb7_B4.#dJ_)BWQ0$<G6Nd_"NOBL\>uT>P@,hn_\V41rlaQC#&DVP&5T^lT#,?&Ym]&/;j`=nd#6`M9kf46,</aAJ='8 at on%QBGAUE3GThY>L$S+n1kR3Xg4dZJ&g0(ZGU`n#_[o`]4q5HYrY?'KJo at t!pD!Ti9cQ+. at 2(mU_&.mtS5Ndm^JbJDY!j9X9HuM_%%SE9]QWNB&?@7-5eMuh]bV#A4Nh^UL#%Gg"QG+ at 5/+?H[hAbt$?Hp4+BTCg1P0tMGlI(!R1r[KfWbh-&hF*("GPZK?-;/,#f^e\!P0!m/$)7F+N1u$GBo/MZ'N7qr[t*f+rF at j#B;/GJHp3CofaLY5]D,f#LM!9<[&Bb38qK&_G_"M']E_`dT^-sKl_j$$82O%r`JTOXpjh7a/\'(-=?eB-85J^/'MOg$*gqU"iQ2/a4EtLi"ZtrSJ7Y?=B"08(00!'@QfEHJN/-1G=M$g at 9%o#MgHh'6Rg5d7M\k2M5FSqcK-o[=:4%9?$P(1AV,+H<eWMm.=VAP_a8`5gb3#Q]9 at P=Kae;7mqAf,TYDBJo+h6s(kSS,[QHG&Xi$h<5)7"A!&#3Zp>9#,R1NRPS6Pp7RDm at +m&_rMEBo-Ih$NZ7_bjht_(_W(KprPnT;[(rq&k\cYZ291>N at A"Ohs,U1kMRh0YS.bjW?Z4s0)ar64eJWS6L@@Vb/Xlfi^]$=9!KN&!p4>-n.mL*kORP(K/oP`PRUo!LKP^D1s->=lJ$M,%1bcXM``p(J0P5lU(Lpi#A#<'Gl?Y^oc_[j-q-S<eN17kO@;m_R[D][At\qK&BIl7Oosib\dsN3!p$+gf$0N_8eNQpOJ`:TQX3ppX]d^D1\%58NR`Y6ekYNa^51)<=+E5FbG!.L"j%25cfJhB%`RUYmJ%gIg]hABb1 at RcOq3oi?lD:LC(@0b.5L);,"S at KpO$OUG/P
 Q$W=SJ_#thh+HF2VN?rfZ@]TL?MS_Bf`J5$>5)(2r9nhX&gOg>qEiRI';J]oaP at .mVQQoU4iKs`Y+[.3g9SHc0n6"<t`!Sq8BsIcXKthcc'aFRN,hNK6JDb`N)G]8^&E7'*=J,j(2R at WsK(Th<8MJ._K#12W:K)oM$'p3Gc=2C*E?L#7ePfS-@%,/"Jn$:#>DsBoa=f`r%q5s`\](j8lhP4k0`RqfTs+R6"GMu6:+=E*o_>Ve9lPK6M$+&bQpn6X_AIlQ'qQTd&$_nHs,a7"+YqL'?Z_$I9&Ui9G=_3h^i=]]L!N%=D+?C9Vr":<:uR7(TZn1JO\1D]]Ei:$XAjlC&-E9?6;.A\8mrQG*JO:lF#[Kpi*qV/_DVNm.?'#sYAf]T=b:K)[NV"?Z)5B576#n9Bh[oZ!%g=`,FGS%:uqLQ(k>^S at 9J3P()u2$(KDE.B-HtH=K)I".Ej&^$&*()Rh at hafTfk@Ne[Kk%gG**[<J at L'YuKA9mh^-9.R)3n5*NqIpF*^U^K[;=@6L_K$U at a/B!mS="!Y`IVsP%&=X$p5ql2FV=54;64>BG"L5&F28hk3%3a;$(k>`17"b%<prb&[IM at N.SL)nm at cjLi!69ka1kh"<^2"MDSE&]GB)AXYJlbngL3SP-S1BQmGNt?nW!YI,2D\3ei8.aeJo)2K&3Qe.O5R4_&_u+e5/`/oKU$2[!m<ja=JNSLKk^N9.K"&PhESW3'Z:Rh<`5=On)=]+&DNRc+2S30X!fMsKP*l9#-eHM\\_$l0bBsF at C,'/ZG0!7J%H52:%0n4O,I(AO'lsi59ur,)T64pbE?LCJWYejE*BF=.`/Io"$79r-\<`tqsGHF/kh%FH%jWWkC^*sX[I+;nXm40pa`(Xe)D^mX!mn>X28R=Jlpdb2m*M2 at MdDKPaDg,n6N1&""=%5/H-\nG_Ltc)_:iFTHM&qLdgA>;)kKIg\h-O5*!Z&hgET,puYVe7IY<WO>IBaHL04FQ#8*g7
 ^,DqL*>,K\=QJcR7?[3Tt%s1Ju9?4[coA*Kp/hr1 at cS0oj9.qOTZ2W*Mu>G\t(@A+q&C-E@?N*e0-eQpd5Z$pE6&?>*[nfZI3TD!u>=4@!@=>P-%])+N at X@"OWh!3JAFOl9gM=G7J)_rX8ME!B2;6N5A;FAK,Wq'ZV at 68>36n`4ssqG6VMVF,PiI[hZXK,"u$>jIqdV]t9ZKaq?8'YboAn]6o26nU1NprMeao5/-^ZS3ksW_+f_s$#V5o%5H)pd,0H5%qSQYK5^9Z?T.ZQNB:&ug=9>"Ju9`g.814Y at 6VU^"=kra-<L`:VR%r+Q-k(Met2t"`UWp#_[F2(d]cTY8T7I6<JY:'DfHq$61BXZ/+k$FiU7^HfYpgW:U$)#l!L%gja;d$V'?(W!-'iI(KPc5C'kIP`=iZ=1oEi_EB.'`i'5E1#W!WaU[Z=d#mTh"XgG4J9$SV*kZp$!7JrEK=:3r4+BX9Y<=,6n3$?-[I%RIH-G`XI%d3R9n@(IAKmNso0 at T28gk.Ql_6CdN-oDaj<g=>B2anpH01Y!\5IquR9SGA%,qB;jEk,M^Fc9u:+8G+6]P8JTq^Ze)R,dYb/kprHD5P0K&-E(0+J,tUl1jUK1][%mpiI9e&55o&SDErC',8I1kMU\"JfX/2L#@u\;Z;go-MTYJR%Q.r at d0T'9o,],#*-nQ\-Xn*V)6-1N&%/Zj1hXhnL.!4cRQ"gn7`U!oBN8.!FIn(?<p[A"Ubr::jC.?jsf48_&.m@#qCns(dftj at a)[1rq\)1:+ at FH37\4J5cdKFBb].l%M,TX_&<lK$0FSP]V6 at 5i0M63"OH'8'+AQT8$IQ]$0#Ggm>)&LhcY[%S)?46'c+/YQ/F*F[0]$J_Su^K;j\%LWY\/L=R\^4o3<uA@"Q6iJpRjB&/2-=rlRRO+kXF8P7`1in2ILOUuWJQ/UA";0b:?>'B4M>:[i'4%WZ:7<gXBe5qm&)>-o3s#khPXQ7]t[$MOfQ-qrYVa&f
 JZb:5W-30!'RpHOAjn"hhs\3euh\"4Q]ih=4f&GM3(-OM()mO>4?EFaYY'R#*gq>4DQVfr(L9q[1G0!&Tli#]f>Ju>cp!XJuEDF.%Z;RQX".6LUciG/;i/>Vhe"m?R1 at h]\M"GO6,jt!M6EH$U8+\r#o5YSFBa*/G2]ujT*3X'L6co;.=]C7`kraI"Q7G\C'$GZTfmW?I(fM#^:LkE?<#u at e%_Gd[b.?&p>%@H'_1;&r7`*A4gk-bPeJsbf((W"uqQX;)XE>7OK/>DY2.157=`u8UqLY,L5-&?:(g(CXs)dK8JU;@)/[Am-d=$U2^(/.aGh/JJf>:N=$(f6Sbn2G98L=8t$"(H8%6&#?dj]+p/.tWNf(]N]>WHVme`Pr7#5YQM096#bV#i5nIc%Tl_,FG40,f+_ZBCHAYKr#pC+F*0FnMq;d$193hpm[F)56$C+/$*KgZ,01jm1gClR/B.rZ4Mp*]G8.kkB?1:gU((Di'e?O-THq!4c&VP2[TJL*5QnXDU.FT.1!0a_2'^K&:>o(9^pG`>8Gt_kjjOF.4cu)kI3GW67bImI4 at o;<L_pKYSP/k$tfY at p'CX5Q!h,t!dFGQbZ$R\4&WR8p_i'a[2aT&0bVG!4[g+FR#Ta(@6V`Uhl.k)nQ'lbm'IbG=rkW@$Wmi7b>d*uid_/m'F"hl^@D1\`!(`H_=+_9=HDL='dd.tKYj5:'bt&. at -L=j1s.J,i, at KcXQT&6>2\7?3ggO8Q_9i7ed?n?TPu)7=#`ct!AD(-_0oZ at H4Un=8fZsC'dc0ciV*`K,!9XYi at g2?o-u<`]&5#h<Uo/^r,"fQ/_?i@&;q+TA2fM&mDC-<-P?9jOh\eI6i=skNs[KBa&I:!i[#;!&$_,2ZD>KDO^:IbD1[gWYHS_W*/LLDSlJl(h\NURd!1 at fKkjBP"Ih\.X"XS6=W]<+UN[Md^(eN0X0_R($[1KM.str\f34<>+Vo".27R1Km1kAHL$qGs9IRbMr>.2p
 7rT.$pU).+A3#IR'a at KPDT<tsL7%mb at 1e!5&O+")iCbNJJD`GAKaFVBm&b6cm."L&S0OY"iV3Q5cDN*B#dN'N at Maao&2OoB;-:tJEJ7[@-5.qb>tBPp+BBY18n#*AH3uU%A`B0m$q"i#0P8Vp'S[b8'GcI+gZ%5u`XT2]_Qj<fY"136Ya!"e#p(UE$r_X'_8Rh(;2"c'!j<:JY40eI(PQK.-7R_lF"N4*O=8(`.1AJSOMXAC\&'>h)A>5`=K;Mt'UJ6tL00+:98./;"UPrt=AWFg,0WuTU[W[u4N4QY_>H@,b&92V5eIZE+pu@<\>uhk_.j>C/P#+US3ni&Y[AL>EBL)%$c/t5bYe/,+WahR:9\^SG#UG)(LE#-087Z/YR/,a&5.^RLUY-L$=>it<&.9P)e)*e!JoS1'nLUd($TB=1C4go=BfW2Krk[4;-7=6g-oGn(CLljXt<BUs7<->U2UcT?\M8UYrf[(@2FXn"PYGS+3W&9 at Hn#"p2tU1N4VQ*krL@'nQ&b]i;6C(hHqpfD&'K*p_`fBGCR_'fY.jA')^!YJe*S8H'SusZKnYIRc(/+r4_JiJaO1\1P5Wo(;@X&La+=lpNI at +m0WLW\#Z_j_/+gHD:<aVH+f at A_)?F<8`@^0Ya]MUKqma]]gd=J%P*h('brVLGR at nFi??-DiNj0`W%]Ko]Y`*8b0b"="hUs%r/[EV+*u6/CN+$UJ1O1K6JhW-GB6'(@=edmMaOSGYQi&"nesm^Y4+a\Etie5UZN*ud$.L3kH2!cq<=qBe,1;['=n%0>q)mAn2DkL$]*W`AO&Ac,-=q%[5f"R=Ie<C^Od"e<d63P\&'\JAJA0lK4lOEM;SKnFCT$=K1#PrhWl[3&7T_t^>N<N]HM`6P2N4/G]jB)+4H7Bc0K`V9cr@#$82N::#S/W=C:#iIoQgSWMdVm":'^,/VU/OL#!&9jd<5j;aq7uA;H#i!/PENK.&8SnQ%V+_(:9\rG<2Fdi3lt`#
 8utpQU<g,>0G4)ndl*D/gt[/[^:d7F%tXr\q;H#_'DukOl^^+^ShB3[hgdKma9Q+FYL/V^91!&G$XfK31]RTF2"=A6So,Y[o6nU9H_n[+9W8Ngelg[,5\eO(\md5tk>3*o_.:K at L^f@(0#n-b'EO>'7=]E=d_;Lli%J"#4.km8>KAL[RXis)?_E+2:'m$J4VO>'se5B-I9P;ppZO7jWBi;oRj3AUeV(cHLF4_]f5!5V.@^pq>'4d]j)_+;RgV[1p7M]-tL?L`a*!SJN&mpr!;262^ORU(JA:i at 0S4=p7K:"g43/Jcokj9?TZW/AeGRX at f^g_Acs$Lm,]rBjrj6+qSh>NI4WK9&ZAV8;6)q%M$m?CO?/CIsS`ng`lM5&2soUZS('<NeS_N2Ku+hAcA5]>SR0f\%bQL>X46FGR-%%/;l$[#HkbW0YXl!3$2#qAJ%%(Qs>1SBeDda'fLSE>N#i!".*W%;hqbbYTC_)\7R8HbOKEb$1[,'e[2?nQ4P]>E789l^DMcrlmb:pOgM$*F%du%P2NGr;rRI?(J$3[E)!R$_Qj`&i&4fu)W0U/)<+`T59=8_N/)Ys,5dfJdoh0/L]MA3+XZp9K%DWb!87&KGD+cZgF.I6]M]SlV/u^(0a%k6/-YPK>1j#pp_J&_#qfPuFLaNKK?%$F5[cFXG_fdCr?4q9_YBj+Yeq$b=/=)u0VEB$LlD]VJ[e:U$cMK"igkcN>[$USTr0RLig at p:-W!nb@^5$.mTqpWit[<H7E0PMY^6sOY"2>Slro0Ef:jAY$Vt1t$kR4cZ+IYfrrjOjk9%0SL`c0ca\r\*\&-i+M\Fm!(k\n(`'sk;-qkr^@<>d3;IL#jmoJC)lS-\>"n>:i-Sg"b1'ojn3!-oQ[@;Oc[hHT5_EY"6p0EoC8T7 at W5<mK[SLMePpQE9]<WIr@(7]p^NW]Fk!taK-eq^cGls(qi?@`W=J"]kq$UY6e\gY38_+:=7e'B!a-qo at T-G^[Uoa(P
 EG*63OWEBC6/VW<I/LtcP#/Nuhamu<+I$chW&Zc>ELr,SlpBXf"q"Ulg_A1YBgE5?6)Zeqs.\%SC2<%eJY<!Yhi#iBYj&*^TAe"L0f7\dDXRKV);1H1\K+R>tXB0jlQ^%iB<B,b9KO?Zk!J1]8V93`IpD7_44LQaPC]j31(&n#-*Y88A"Vp_TR&mMC_=_j at 7l,i`HCH>^1'r\Y[j7?Cn1;MX"9\7J&6p^o6QAJP+i-1W;X;XX9doTTg/USmT\0q+j"mRnD^+sI:LP&q2o,WK%u!5O.BEkr0SKrAmO4#AGR at n9K'U+%-sRDo6ThER;\9dr\>O9Vi`tQP+;XMAE]jNjlYfO;U%$Ac'qU-S9F at 7$$n/1^nH>LYJd4"T=J?2`+grXu$"@b*h[?@O/A^CikoRZ.Kg/tN9H=T%K%Di*F2Yns;\6%4n.`g\$E#P4\AEh#2\iL'229bX!llLpYOF*]8d]VF/rgK/iL\+7$G.)4K4&^9#)Y*(iFMI!.bmBoQ=/A&-Gb5L`Xk5''F$*X12TU%XY<#E)oQA6pb at 9q'Rb]&Mm*E(1kh-t9nEb,hcin8e:RK',L6aE.4f&8T#(KJ9)eZ:N.KX[d]?)WbSFV6\@&jaKj>gE-29&>JocbJQ9oP0Ko;<Ir#W?T%4E2#@KOA&Kgd+B;]+('j0al`"r3N,E%$OM'o%:j<]Ff_>Dsi["lc]"('HE9cH!k`J(k95iL`9g,iFQeYJS at 3X7.Ds(JHHu_c+HG&<$YdXp?'uC^G(aE&e9s$&3d]#%H4o?%q\D,saXF0C8-bYegRX8;MmH9SQZ+i24B[bq&.,7[UA5LZ#Q_2Gi&Ahu!`ZhAf1BO^6V1?%TqF":kTY?5n\&&3L%L`Esn,[h&Z.+sEh'WMD5a at Qf>#]7*--.-u@[R'RbaEbX)S&A&<#75/=W*/.>Hfd/mW^_\W9A;(InVdgELSAN2ON$e<S5C7X0G`(F5'V9mnY:tOcAg>;GlqK0(@@1Fh(JYO^'
 \OL0VS at A-0a_iT@>JXsP.NM>@9&+.&NisYkjJqrLVa;7NXDrq0ob+__G1Y<&R=,2>:`<aiGTl[W46V9p32C%Ur"_q8$c;c at A^e;?'oGJS&1O]=HDC7#cEJD**-Jn`%]$r8Xp:)oRFE(/]=suf,nHE"tkcK4=M6]@Wum1#f\C]_Qg_cJdV*"Y_L"n('c'$<*5Dn6%oi*o++Wu0]$'-q;tnMa:9B%mD;+#``S0C=R%b9d3*UFQU\31_NkbFb:BEnPeTft at lTK=E*m$7_37<t:m_[]cQjVk:`':S:Z:!\Rg(REk:@%Hm at n^YKprj!#SqfU;CI at Wjg?8!VXPTm9I<lG![Aj8'+ at 5J;W/D0g&r3!a+64%_G,WEr\eQ\E#Jad=+p[5R0lUc2MX7']Al!=YHbrV&3I1eO5;_:$B4>g9SJrIG7fe2YQ;R-Kgd,EWA("Oj8DCZ>\!0$0S/0E]eI8nKjff-]Z,NTd:.^Bp'RE,@[LGFL%Ub,HOrOMDM=Pe1Eg(hi*'QXWeC0k].co4!-+3(Af%$bq"Qc2:@JLk:=Un5Ke4H+-?s:>!Pr\T0i0j=3&&0eaUoLa at 04C$$HF="[gQ*m8-B_b!J:,QQr\l-6!Pc[_(H(e$"?2P722p'D*n.IW:8p-^LUN\'u'DpN$5]-Qq?Qe$M+S,l`dS0`O$`pgH`uFf3MeeLmM&-6SO$Dm.-WIJfj)k7Mt,u$F:jE'3m&hFFi!oa*J:-nNDU9_&.l3$(b/,R*QqcV_G4Y0;5TU`)?U2.]a)!5_9.SVQnn!P7_YcaUgsB\AH`gi<TuF.6P!FN?gIm!l7TbXbuU!W<A#;":m/LSlPOf\(@V!<1!us/AYP!ZG3[J:FWA30F0C!j>@3T5qK%?'Z#$Mm0PEA04&'B^+1U*,?RQH&ao^:02<=$@3>qEYckp%6;6lm82*qM=b"U1S. at Nr_$D*E8qAt_MY'jgQA'Rl![AH2+S\)>_/+g66]XMX\;9n`dc(hUF6j416**
 AV]>CQZC\1sr_8p)D+]o`A>i at W2-\ZgW#:mYN<Mq"3;0WB:l3`^]L*8GtR&'4%7LdZF',60E(5EDFXGt(""Ll6o&1_m3=au26CD6Vn>81OJJo`?f"A_BI8[,J:8;M*s*YPQPE,YJS>P*gF@$OjjEbGo9>mRl9R-^Ij_&S/9I8ef19+VL[bRq9#oj-Z31CD#2qfUks1<Y5N>%&5'V%a.3`=O"k@<!nW#jt"6<*7r5.9j3neq6jXS1Yd$imisk8BDn3bCR09Z%p24IjYqr+SZq!Qs"t at Ik:up6bEcB8;3nm9nNOlUFIr-92h4n?SmH]6bEcBiX3TKNd%ZMT!9,a;@?qWJ$B@,'9#ocB at lTFQ3uLg_+k=Z?W]ICCQ"G`jr["b:ji/#0?qoPLP9sZIg$.u<8D8?B1h\OTU:lRMrLd00VGZD]!T/c+p9\X'\mk#g;[K%iAb]^*g!.'!M:UT["kffcADhr&d0:DMI6q. at tga%%^*#K_,C]]LNplj7U\H3BaRL#S?K,b&c@\n":#MP3%Sn]>$O3,Lrg1]]LFpl`52CHUGj>?_&Hhn_6Cf"5tiD'eQaPW,o3=_jB\#.io%/(U7n/)`6=KcnQ.2s5]#5*OTa9G\;La2."t)4Q;lK@@\1=kKuJ*t"EP8p5s.T?$beX;OVKK0Dd at o'+<JD?OV,,WdpGb%V]ZI?0[a29_%$fJ5hr89(h.??,nuqVP`A6&i at .(OJ-<aso,r3(=Bo9#Joc<dLS[-R&jEskA:bc69BQGbRDMLNU\Xf_r\[c>(![s$n:D3!MoAuQ='-2HK+l(@#Y%-CWGlg4JJT^<<*82>`)WAa"eOTbR at Hbb/JT=1*/%T6Kk1S)6N#e;,-OZ67)"#%bm:Hep*0:W'F%kjCoM&XKkZqf'0hlqnR5lHL%WY9qo^/8?/[u`[h)=`gjs]#C]gqD&WTQS&E9"m at 3LB_]5fFGKG`BNbnNo"##X$dn=E>4&]#@'0+.a2?q,9 at d:,CqjX`<E
 f\geOVSYt>]Tg:H?e00ECoO>j6&ojlq$f!2Oa>/&?Xj?OU2WeU/I?Supqs:[I9%13\4GN:kR%]?i>!)6WsBpV^)MdXKm7dTJ\lr/#3VPh$=Ee1[9Bf9[dFJA&_n=H"PZ9`O'mp`Z4Lr+BDl+.i?#fi=/9C<'aJ2gZ,J89!uAX"Ht3mAU%#FYP-7aJ'3l at 4,G?8eQ=*jOD(`s\Z9#gMKgS/=*5Uf73+nT%.,X$=_J1'K-uA$!LL=JCgCQ:LrpUAriXh#N]X#CP"EP\4'C;Ht/AWhb$kSpZb_13UJo0RC6d";`liIMeF3IUNl"Nk,5(![&<>\I"LJ(O%&GJ1#J2j.8CFRINfH+KI_'`+t-<R8UDh?)!g-!M[@6VW]j7EWVr:S#s8d*bM(<@7,)\Xd$0R>=^V6Dqt>_Spc]S+.LIuPVk'>,''7<;agD$VIN(.r!Pja'#b:pjcd00AHahh3Y<@'[Wn&C6jYmO6;2\0WR3ii!!,.?&p^csJS_PmG*6L"#cWE@]X at 3%Vu^Kl_;A4,tG,%$P(Z_G#cZQQrmQmU-r(@4&qL"FJ\XjV4:1pfn.:+f6]i#Gp:>mhTB^H"$Z]j"!PP;dg0S1'EMBVWCj6eHhaH3/@:tStZ\a64+f%O5L[#N/)Wk]H"j%'Fk1a"GLP$M\3%a0FQlb";;LK]8&ZT'c&0!6fBk6GFTs=]Y`YYd[T0F&?hh442aDj-J)Z_`$8&,$BHku<VWfe5@*lifbReDL\T:K?<pt@^)Vq2.m,(:Nl!.gGUjb1iA^rJGMs0DS>t$La&2UrNIhDEZV.FiXL:f\N<pAUfKeEQ?3"FC_1WQfjgq\+XVbA3&U_n3k<n<\5o%,u_J!%!+@]aRV!sIR]Z'jFKu1+u at j&3]3"Ec!Kn$^u&]'JC'*q'2]U$E4m&#>"2B'E*'K1TRQBr,e'YuV[+c'h>b<em%=M+na'aAm(("OLP#k>J/)_:j@=+rjN87A=/4bD"UYR&&JB=GbG$9,e\UG
 .[8SAJ3_bYo'C:`)t^!&7rLUp(oV0Z8l%6q]!,*h)"3a+saNLL:oH=!X/\f2gP0$]>\2Lr+HL].6!:E78:gr5Xq@=U\;aQR5g>@1:!:"pf2sJnp(RXAmGF\59^5:@^6M_TOHWRCkeR#dLnVKme7SPB'LS at oj"HN5B?B/?:Iri2#k)n-[X%n643aG[6#m-JD\:'rEF=I^(Ru at HQ6O0#9o2SI"ZJBr:B?":H\A7IV[B'lI.o=^cM/UCg1#3$uJG_TCdN6S(R.PerSP\3]Ts$3LA+a]f<=e5c]]=Q-k<Gj'(>n0^7(hf>g at mZbSX@&Cfa&WBRH6#=I/M?IjOQVmP>F:4/f+gl]R=')mQ,);^5GVt3L=u9UFk.Ql`7Oi3\nT"bjpj3@%73GWKZH_,,JdiEs+Z:HF7,b#RI"d\7GZNe$\?%e/rmh4E:LP]\L8l;echp8n4=g>[j]*8ZXmjI?G9FmTCdmip_J-<Z_EWrQ0\grA$KDH4S.q!ZE6mE90Lt)2>&]:)'TN4a=p,3_/4je;Ks;1n&Ng5:5&H22A&qgng#(a.)hOt_$;3`[+;hW?h9CHWPIk[BLi4!!JU$EWI&8+#5Slm=CeJ`Y$aplpGc7iSZk[0c/3&WmnGI=6Pep<5plkmh.dXHZ5_X9;do]&tJ-;K8i=<ed$=fHPq+$AjfM^\Cdo=tM@'[Z1(*$Oef\]UW/-XU1-p.fUJaui$KYhSX,G,eG,Il?c$^#c=>='l-/RRA1l4g>+$IAQQ'5X_R/AW]4=:d$\UbO$1-l`?Ki!RLJ\5]t2YgYJX at tGpS>dn*C at 7uEGY\LXQ&Q37c&Kr!>BbjWU]Y at BbV_b3e5Nc>G]TU,?M!ooQXfs4i$S#sqJWJk_IC&dsb[2:);gV(J]X#EBDMBI)l02Xa]0a.F?B*kV.9mN+:#T]#.PQii]Y^rWlRTXH>ta.D&46g%6$u`@S"()a:`)iE(l6X4iFi@('J;?\a-Z-G?=?-OIle<EmC_r^G=-2
 ?YS4sk$'p:4XROFaKd/6 at a+1\amrAPhLP`2N_5f$O%ct85PF&-e/M<,*.r5^#'#C3,<qu9h$;V;9Wc1JYKbWqeI-1ip&<&UZJRE2G#nZPXm&k:OeTaSMK"&Vb"OeL];B&-bBnA]%*._KNKr#%r*_M&mP/:-/b7_H&^)r0?_QjDO8)a53fFR!"7G(MsI#&kIOC7uXiCS`c&;q3L at Yc*Ys5.>'.f=ABe`is8!>X1<pg1S:*l6hCHU*N at _WOt0Q<,&8=b6[.5J^6BaRS:r>@AekH,;&$>AV+F4Y(oK+rmQipG&KpC^Vth?n[4N#bK`k7,]3*25sQ2JS^$eg at eEPo_2.<UTdJ\\I0VgrhiO`\$s4BK"25X5^X!9^F*&!TQVi%$aDdm6ZCMH;uYnjs#i!FeBPT at Kp\h.q?.<Drho]GVQ_)Z,=]3NCI6hJ(FId'@;UL&B2o]/'9%]K7q$Cn"h?19S2k^c>*'(9R9iPF*jPh([0$a$B:knjYQ;ZFJcdE;5d6]r4b&4igFK at _01OTrn-X:TaWGOV-%*ZHDH\"t@\E#_G2^b2*WNHI;Ep)J[GD)DWsA0V?i]3:]!)me#WfjQbTYV@@1 at CBpt@taV/R+-FVGSo<%t<_6j#CJ-bPtdn2Xjro>43nLRnQobsI at 7\>c\W_#oK:L%u:Tob<&26t)mMM^lq at I!(/A+I6TdL1%>]q:j\F7geQI%"$]-Q*<ml at Q_K7`U3kQ'cmq1<-T$P)2OPZUo.b9:PG&V2HEoh at KV2q`9qNs.pVjRhfUXIpWF13Ts+U:(fER[8MCcd!l7C&r8fHaL3TdR).Jc&!YB:(@mh;GH\F\(]/Zu at no;S'\0XHgq!U"aNuJUr5<Sp-if:3i(KQ'28lbfM*m1+grYHgnHkqDB&5s#I=GN5>f\KeLLfF`c'K0*hIZ1mV$\b?p>+Ik<bnU]lZ)#72&9D5*,l,W7=B8iW`7.6?=bmrGDM:kRYb8k>c at 2IELr*m<]=YLV3!paA.
 U5 at -897%Mm0WdY_c at Tb0n\<FT1q[ZTQR6:cC-%W)e+#+[1t%3gOklgYR\V>W%Af4_2#lb_$T,``e>-CK%Q[QcXrQm+;Q>,7H%s:'6Y#f$FaDSJcdJB(1K(OL]3/uHq&fsIN6APFFV.G72X<NfF6b-n7QZ2%0EflWSnO'.pFEoO'io\6U at 5s!Ps#1$](8Z4$i5Yf`>m[2D>fJ2XU;KO&$n.L348@@uKePiF=\N%\bY@@&OQRKnfeLKmVb?6h'l&rZ5PTnQdVL9 at pMR\Qp!1>$`Jm6\Rr72Wjek'[HYo.SPIS'Z"!^(;X566=,;",Pt](Zn^B]2aeGl8FS1TJe1`B5LkIWN%u,kK_TrH8/E"C<adG570o2U=GL9%L#Wb]#-f&^B&(uF:GlK]kBChfIWm;)\81:Z#NGB^daT6`_+R$EdtLjG\9D#<<3J?q't-pU+?6[D2ZDDDr#Y+H0<FXZT$0n9f3+;F$tQ at FcU+-T<03_+PMcQue)G!p79tXVFa<F,V>`PL0Fd#$"A:/E"0hjBRL8Y[</(+3ri-Sn"gONAJcq8d`([rgZT5 at hQ;a<3"#:088oaQW!?G`6`5'S&$7e!k at K.>\9Rq@<bZ";ObMlKSmoJDTr1,#KL02289+a:en8&EmFOg:VEqtFh+sI0AX4)HPLE\t=q_*lG;-;@U5/FQ:T2&g/Lp7'b((1_U#Oths:Yu"QX=8`7`5aQ2=HHnj^*[(.KB%@o"LnELro>dX"P<2o6(DdF$*NhPABkQ-/Cpu;q%sn+WMS`e(dNIhKc:R^na/Ung4GZD3%Vn&5<XTQp^S%a3OXNAO5Rl at Nk]+YFn-nU.1,E.*(o0jL'0^iSFT;#ImI/GK<cu@!6S1Bc^*Q"0cK$p_7 at O$K(80T9SbP?N^b]l6U?4lo7mGf6EEuiTmJeY3YD9;_\<I0&2OVnL)<;IXhqQ\G[6"\#W@>1DA:)(Hph.H!+J-\iXdb5YXkYhSPo7=gZ>d7'omZ\6%Wm.q#m
 `IN$MM&@@%>&9(6!k$PBJ9E/!Z%b1]lUYel_*&dY(,\.H3]4VG[\;L%O]5]?aD</'iFCNeZ]$8Vup#i`>s5Q&[)eCpcO&B(:Y""Ve#("RmP6a.H?bR1GI0H9!tTJRo2jmS;h*+BM6V'2-JGYs/pMsqG!NXErA/?&'AgnYu[.Fs4j+S\\G*YRi!09]cj`3YGJAFq?PROF-f(U*</nQ%UN`5PhaiCHC>9&X,k./\J)6`i8bpSi*qiXf?G5!(7l/m+!pa>g0NZ;U)JF8/KBI#S-BU'`[^?;TT-]01tH#S+#A.)@)=<s7D/gp^Ar@[Q'e.u]FF^W-dI_+]R?"\\A>>@D<!Yn.G.4gDlt9 at F(P at j#ql=Fjj,`%?Q[$MP]u(9#atk!Qe[_Lf4nJa'pI/XT<fY[ti6N_4eB9b8UNO&%-*]F,s<'nVf=Ybo9DVhqf)"t[2a=H-]D`#XHa$MRW"]=h<F at 4&q9.4g9.]H*YJ"C_spq%,ce6ZA0iE7ohS'unuXTeMO8KkmJO5qG[uYS<99NX at LFhQaqP&0l6D$B+[036`:L[^I3.HgFKpXA,q96a.?#`Odff4G`M1 at j0\9F!,X'fG.kc^B91&+henL,889`JjrcbGQ=uL_:"B2=c3J\[T&V!nJV`r6>W_W#@`_1RLgDL*":gL$ATpPFbOrD(51=p@*o2l+F$@a@=i>2mR+W%h?qRp4@:f$iPl7_\&+WmH%h:kLu>_\X!oSe0Nqn1JjXY=N6AmYbuC'HEF=K9OXCIt/)2PlVcHoV?p;M%'<L=L>N*>ZQI/B70nKuEX8'k7R*^H^$EJ@/bPuft/$,bT'uVAL;$tW9]G3>C_-:=_InP]dlGA\kO!$W;_L7$$'YaG0#dM([F at 4YVQpe/X(Cgq[Peo0Rh#qNiqg?QJ$0%fHYctte`/4mP6O_sY6+dqE(?&1B9I4qb0UcAgLsOS)"gNub0S[b!(I`NSc>Qf7*0">rL$'VF-MRqQN5CjppS0F_ at Qq_F
 (,Pk/.m-Dm<nKk"Mqkp=SjHk*Jo=<P?[E/":uP4^lO`t.4b`80<`405YcknN&@2ZY=82sYP:A*eYrI#K'V7Wi<+3>D^a6fmpqFlZ`.+=h.r:ub,/N%ego8)%;A_d*]>Du?7oi^siWom at +WeHc'V9GGLgWMrDbgM&"QLX(lV?#3f^U_21rPgcEteiWF];H_@\pKr^^s-MXJ)k5*@B5a"YjE34Y'4QP=k<PQPTRd"D8(nYkJ!#?Ju.mO!%IMR%Q,7?XJDo_JG%g/$&_jA;+HJ[2nm;Qm=,3?s.F\9 at .O-q[gXJ>?ZF",2?6:kqA+U=bY6+DhV8IfK`jp`%MJ at 6-Q%OL>X,k2B'.T9YgB>$P;*Y1a=urMBph>@<mI6_PP,1FL(!;!qC:<lTn2Wfg]D5`Sq4\olO0c$q,Gr#mATB at cHhj_(CA_=bGX/$<If!$"b]XY)uJ*$5%ZG$afQ/Nc%1bC at N/U(13<g"6p&p-&\'#lP&XGmq`SrA$HfcJJC'h\=p-K<[9X61P0\+ocPkHDUE8lnDXeQ at A`N12SmonF:<XPf`5Yg.P,/9UVb^rs*b at 8)eA7diWM=mX9>nd^W7V#6DV?4+OEF^A&DH3Aj\+LJW1g2_tP"A#gN[2XH^@l<A2n<*R/1VH7KE1>N\H9_H`11)1QK;mV/_$Q::_r2r9h:d37?RRh9K7Le*-ppZ`LJqEsP1\&&.PI^/Z%2uRG[Y`6LW\BVWR>\80<.>9W%G$"H5CPXtXo,s>spj<Vl.h(J8XqAL;@`onH94:$&G=8ZT"a3b1\VM8&iDW&_Zjo##Agkma;Ms:\$:c>NZi2LH0QL/rO5Re\HPKsJK)6+S4O&>@Ro];u01a+Li49&4'UC'?DS,D-!UF]oi-C,IXAgB'K#2+&pJo16 at -qa4cCuutijF[5$`jV]]*,SW`Y.(>NUO_I at 1.H-6S,D0&7Q at TDhkU4D['/X+rCco'U35Vp_`Gc^3`J(`sP>=_b1\PN4'B&<tJ. at 4P
 Pec($S*<6 at kiREC<!A_DSqX-jLqu6t&B5:T8:iJ)?5SY]^W0LH(C49+_#cY5s0>hj6WDLNA at E_K]B=+\$KgXKW%],A2(U[8 at E"0M::f`#AV)6$u:Y4+K'm[e,ogn-#)o'Xf[32ZE^Te\jZT#X/sj2;G1[^;FMsZGQ=3(ku.F@!dUb`4_".R\S]$Sc-M?>X9osA$c2M5^Y>@5t2Y7q"e:ALgV6Zc_iH;hlFMAQmqs at 3`"5=<nCZH^Np7AQXXHV>nhaOe8plt?AIGh`3M-"g587F-AC at -auU8^No8^M(_EbC$PJDRQq21>i>.U7YAqe*6X7B(M$C5E`V6.sRkZ&Z,ab7/)8Y;D3ta*In at L%kfN;QnLtr?^>3'XC#_Ht0(5<[*0KE-S(H<`G at Qf<k'n.q=`1@,/.Z=s?8mu(Y(K'sV#YlJa=c?cj`o!TZ%)-tB"UT)D>7iCmEI1,8s36;H;6nhV@/sb>n%'"?6L<hfAN<ph at 6C_;&?G at _'R#2lBR>5g$1 at In+c%_mD_dZ401K at XJia=_5ho32iUW`4K3!+0LY.u%GD4qEKN1k-=_^1lE;<%KYBbg.0d^!j at 0:u[M`8Jh'j.==gHmGYYfLh\&Gm(k"*(=0_kg=W9o'5mmQiCXh,qSj3h-E?EG+dcZ`q<4"=s<&ZaJZ"$!'o*P$g;+9eV0c<nN49<J>c&QO9nunIZ^lh%bC&d;We8ch:^>(/T6V<K=qBrW9MDG6obsmNu%o?qlI5_8SZ5+ZNEq?Ts0>nF?o:6$tm(^WB\pSo3#$W%`ePBF86K4m'O^hke3AZ^K%tW":K_nJs'+-$Vc8&]%KTWtE!*`9mum)?#BLK1b';$8JjpRh;`q0O at cLL$12&ic8ae-2a<7R%UH-`9u+b'kXo4>[`'nQA5/c$9Jl:WULV<+45k27dpJ%fRR at LI(taX>6S=fr]W^CmZInb<F?2d73QhuG,T at FJd!:"$+=*$?5MUm_Ia>q$@ekHm77"sEC)SXZjOh
 s\6`:GKt)\;$e(LBMH4+0JqY=j7okQ+>D83>c77%mpm,<7KpRE/+BVY&bJSi"R$S>U`iOJ1cX\OW5d1HE9lLOVma=!"Y%%hT4eS4:r.DL at X$q!)YTCVsLkc>@<eh]RYb&]:_)]H#lutB*6bJf'g(;R[g]Oo#+p=A`Muo$uY5uK(ZYltN#f5b%e>'QQgC)23)SoY:eJ6Yc3%+J]Qfj at SQJ"SUW:1ZISl3)]07NdL[E8hP8/G:b*+/S!_L`+N%d:(_#o$u:N)=ge4JVDL5/i'1"S&0>^)+g5GklJr5/Cc9O`N>oVN;UNi4Ar[5[i(qh6g6[pe(&28RX*b%#'I<B,R9](:;^eiEshRmr(X6?&(-GLEb at PiWqu?K.NqcL?ZQ3LfFbQg5\)CR:'cul7GSHG(/EEB,,"ibZ"9<^2&Lh_LeW:WserB.g?-CU5^9*W3EGGmL&Q6lj[$JBaWlh?BAR^d]/b-CN0Y5r\mgTf90NiKl&!q>AOgiP@,<ID1Yu-dGbMNdqf_aLNmrnaU,/T9)r_q>@@M at 1QKQbcL!3<"S3>IX at O9[/7S.6Wpa1[<Yus(<oG[I[gGKU;&(-I2H*]p at L[fICXG$CDh[AF,q2NCGVt21-o8,?&_tJ8"NTiFKuL&'^JfiZ0MLsM`-d.C$<u51#)2UHSm>cK;Ip03.XW.dB,/]PQE&7ZJ'eBPV/U$d."sYmch^:e(dfti at YeFaE\nEg,nc?u[1lYj/9b**$)V;b4Bn6<$B+d37'MrnXq4ZIiTUmUrXP-PE""kF!5nte-SN_*PJT'd7jHYgi at cVW^8(o=el8"<ECb]S+N at Uooj?BPBSD7.*)L'U6"\8DkAe0+V!>&#jniC.rOl]p\JF(J&M>,+oV()@%7BVc=AWY*rYnqtW*Pc$nZ9&^%YET[D+-fSa"Bn:o.oRlZ6[8o_HmB.:I+,(\APlm4q#;]KWi0uZWiRcAsWViPdA%C,Mt6aZ&QU$#o7eYlOb+5iUetZcbpi)]
 YDSl:Ff*bpf#d\KnBs7ldlCS$nG#[;H%O-KaWCf\Q'IQYq3^G]5VhY67hOX3DKLsW#^V*Yrf-[Jk[<-5iGMpAh35Hn?7niKih#WP7ik.Gh1YoDZ+Dbr(`5&#dHA*!Da.D4D7-:ouY[jR'`X#Y^jB#=?WTo&N50l?f$'^/Kl/bbcmK+4-fB)k&3Me8hb3;?==:pUFC$NLuAWZ-lg]ChK*bi[R[RBj16Y?#I2%VJI2;o>2`&2na@].CeT?@>7;7dFCB^I at 6>8G&U^2XG9N!QlmsMi9SM<%%7]i?_Gl,6$>YIa0CO_TYJmZ[,__BL?qJOe$%<,]YW]hr$<o]!+GFs*$QaXagK,>-rDGs6Kf'1&K%Q^OgTN9WH%T1+Ur#oK.Q<%rG.f^?!-FSO_=-:r-E]c^&r9!RhRs94?e>]a+9o4?l$W4. at pJHX'r(3W(8#7('F[^p_W&joXft2*2HDenN5mV!p]b32KkMaMV^'h&i^JI<e4F(r*-uLN"3dr%9CPW`_ULBY!>WU>g`+*.>t3e:'!/,&.1'<H at 9n\)A9#jQq3s],PTME0T--=]_ISH/76$sWJ?uJR(qq$hI<caF"N(RbK'3(q/&;XJbm;lu(tWhappr!R2+rbe'paULqIN)iDAkPETa8\<Qjt+dkgsHFmii;4Dt^Mqn9d(R?-V9A3N9lf;Q[jg+<M;@MWlQ5L0[nQ at C8R@YAfQ\BNJi'5WlYbrOQ7D$NK7Ei1 at eVSRJYG8?b'a at H@B&demfW8IuEgPg/[ShO[WQ7Ma"QIV:"Cp(3]+HnpD&P/93bDF+aCgk0iWKonh!Fj7-)`h^'O/GmeqdjaVmV-\350QZG\6/`*;2+rg13*Tf9Ll_($^C+t6$]&0Ac\0/+H(3O5mKg/,'j`5 at HG^%n at F^J$&ngrS?3Dc.liHX<h03`CDVfhT/)5^NFi/<n#tIm*!4MY0J(e8d4&EG"hf+0/`2>G\M:[ufE='?`Kkkk.+?lX=++3p#^2=>KlTK
 qBUI"CIX)*A^$!%K-)Qc(Mb8L`:e96r*87?RqaTQZ-2QO`U7G*=Pf:rqJ6_"ZQIfht&D5CRaU%"Hmk5.#oBgdRA:#U1<GREZf3iiIh(W!:>J`mKH5JF\F,4!RmI)-&!D_%)n)M5H89iu+Kqto,Ipsm-L#,_G!Erml9oG:>k!:`)7nDj:O#,2LDrp1[tj#7^=T^f90pto*qgD;+Fri-QX)MS.WZcqNS!"'5BcEibP(k7q\T+']i?4$U=@H&:oSFB5pE^8[sXK6Ari$jQdg?h/0nj@)XkRr at b*DrD)\4JC&iob%T7<g:[Mpb3/l`kf4+S\nC?dOSN8&"rNRDQ9W1B#a#(hAu*=YYDRc0UJ(S<)Sa.JtW=%>-nS.1?l[>?oX)1M8"fRh-5IG3m'f`!)O]/AeSP5qGUs&E6mMjDR=<rWKB[^Bt;u'0L(#NtFZ!l>Ko5h?n1WBb5J'7M:[)1'A7)2ClX3Llq\R!=4/1"(K at f$nL,F2^-gQfITZ.N8tgCn<D",-$Ve)SdZ;K-<LjhEIsYkLJmn%,2*)$%p1Yf=FMh?*WX%E$4B/diU>-&K#3&Z4p2fS]HKI+C5%oZ<`)tUi$jB3-28>Qm9pC2LKKr%fn:Q:Xg#:L4c#L/(EE;`m.%URFDcdY("Oa7;IM_9V7LUcKn3**S8ngfJU0s331dttQiF]hG^OiL$S#Cl/%f?hI5LHfd^_D3P at -,$%1$Qhi<]3*@0q9(/[g5_U&W^C`_lN[D1A%3l>H^.*l3"DLJmpD*Sqgc%<7`m@`qes82-^@dW4sfUPpL4-G`''D'8OWJh@=hTeMYfC[>"pCC`4JR1ZM.Z%p0uaO[iQT1^,TD\Q5"=?p;],2?,,8MCfeVON/?hkS$g_#`ijUqbIfk8^*&ii?`C. at aVT-HH*p=t=DTY^j\F"?.&"#f\Cm_6!-hf:7D5^=io55\r_?b[2Ns'>u/JI2"jk`6%#9aC,gd3DLb7h_Ddg]aKO`"E0!."H+]++t8 at V
 6#AUhX$Y#k\''mM2E-VtY`-HB5hojn=I.bXY!jBeXc^_XO&>5R(,4RBqJbt$R)6,[>'*PK5/]:$A_XAD_WsK=Kk"DPF_IWb/>DW at hW?X+F"L/Rei2SU/8?KrJB<!aL_FN'WUG0MOC3Ql-Qr+,R&htA0`aZ]G%hL0"=lbXeDD2(r'il?'dc<GQXDWap(EbsZ$.XW"`[kFJTBS9f%Hl/0'lk#LgqroK%Q2nNl"MH(F")ri<:?)BW:#!/AX&:@3icF],T`q,H`WLkI at F`%+(>VFmWVkK,ZUl3:2%\gIYBjX>S],LZ&qrH?IY:(abWLE,G,3"OARqH=kGC.K&FFBpq.SKjY>-ZNOd)VATs"02PG#4`n-j=P@>:?qH.TQgmPkjR&jm.M9nCY-p<,l2=nFC$l<mmHt:c5nP/mWGmIAT&A5#0F<1;<#FKUVQcZ,4CJ[6mTE6Qf;9%ib<(FqYA1 at F']Q"&aM'4cZ=r)Io(6%&b@&AXN0/EW2Fh0hJd2k-,^;pi)P at uO,9cK+R#Z[t<smsN"D]J<9!ErbluhPh1_1?#hG^X&>=Aim.<Z[0Ad#l.LKLRc1-9Cbjn@/]V/Vd]V%k<ZW^h$Q0ehR/n?*qBc4CriX/<,.^F:.G,="r]pur++6[XgVpMMdqpg,+]QjXOcJiEhJn?W2]0VGWT_6q7c4q't97cE8.o7M&6%:V,F'd-h9?se`Q>h4EbPOs3m`.?Rmij$-=_#oL'&tGQJ"hne7Y/9RBK&[DijQU%(J+a^ZLdV&dmg:#(,F3=P*9&KD4bBFd at S;M)fYnHXKfCj([DgD_'Kuf:md'>F]u;\2YenB_^ZJ$?#%E]U]G6I/n/XiC*"=#-gPF*+f&i?On+H9+8+7u8_bW/gIc9S!nr:`<30%6s/IAjB[nZ at e^K6+h+c`_0*5lRpq^[%HLnB`_ZZs9[LW-fkcMl,3]->),':sN`E#af)ZNrX]Mc<dhiogM`KkDO:[9*grlZ'Wd!jT;TY`Em.jj
 p']h?jLsfMQ':pRq"An7sV0iH)qM<`fW:9nbsaiS7lmNcc(+6]AG*Rp_-s#_)Yu$9toC&X2*6b8oSh;cq.?>%!%A/D^_h-[6Qh`:7jZ?b_`#/U3(K8nsZ$'iK/[If"Kq2_BJZq!#3()e)<h(K*4)r#2N</Aub,n1$m%l2SJb`?l/>-sZTFU@:i$SiBk(.^BYl\[L0u!I5D\ShXYHkP0tj.%FM#F.!7&j`[.`@3pMRc)l%cKTG=aggg*;ndk;-L!>K/$0(Bdb,a",H8<t,)hefY-S:o'3PN at a]X%M1 at GqRkO0dWsePNc3.)\i'aVKY0=GbrY$KpG]]+r7OImZJK:C>E84D%d;@ed#We),nsH5=Qi_D=?aQaI+ua1U=E7TbU+'V7dE3!-o9I$YtcQM9NJKYeoEYG&0Z_,()f9[=!>+eGXVU(@i[*TE!p]"K:^Z<.H=3!/"r/$LM>dL%ou[)2Pa=G;#3,MR,0ce\n9isH2+Cp.[pftP5)4l!?DWA%p9)?Xti\5spm%5E55]i%Pj\S-BF7C^FO`As8W/p#:^j^n=I[?!Um9l7)%p,J at KQ``"D@]@o?fj30/3$?&N`Fk4J*/I6B&IK>Y_D?U#Q<J7q'5Si_#\$IS/-_'Y:r#DfQf:Sd;$tWRS.hu*O9GoUTR6f>SAJ/`WoH`O(jDGDp'7BRJ&r7[=R<2pYJ79#b4!U!RTbD+N!E<?-RIDbBpri-m<=ihp?Q"pV\9WfqtoEB>$0G3Vb1aFrX*#)s+q%_:]<"U>2f8n1n>KC'jE at S-B9lL0H"=QKaf/j,'[#E,pDDVK%7RodkK%:-2>MZ"SY;r5YMBN7Bi2mo4ubQ]HRYoFlCs[1G(e=&Vcif.==14=!;fpiSY8CiVStOe`MAY;#/:P_*>)&SPj]Qa2IDIe<111#c at Ai4oZH^&dnXt:H9B4-XMhQ<8B!TgC!73]G4bL$X5o%cc8<+\BPN.;_l9^WO3l*"@l>aRG]:#&CW1:94:hP"fFW
 hDhU=[Ni'#``)?eK+T>%-b4D"Y!"(5CbTPQRhcLG&k8I/.UL,\0`7NLJ-&;m&/u12Xeqog!ZdKDW9OVpm""LASnSjg6G&)[I/'fVqq%-2$S:nlFCnU9cfr_HY.I[K`*\31)f at j\:LcP75Ea at 7$]gYuaOg#[VV]\0e_AWR'/%c5-\]E!m+X6BB?o#Z7(En\;SLFo0#X3P0Kr])728#dY511F&f795[0N-l]>SWhocRYir1rQ:h=G^FK_TP6X%)GVkF,LbmT(\MNnAu!V/"FePq[7OT!J2m=W&YD.&7!:f&+M3eaB_UF9<V!\KA^t]T-*(ILCOc5DnZ:nF8gJ64 at IG$i at 0A6#J'fXL4TO5KijUJ^b8?:r<X7A_d6VN(1fX\)%'S5m%n[eEU=m7;RkZ;7:Fs4BK'%Q$-j(SU9Hbri?77r$n+5;bXUP&"JZ^OE9p=Rfj[s,=&ITXim*0G<#@i&!oh9.LCj0 at Yt6Ndf2d,H9I<k7iCSj7_C&CZ0[\>.j0:H,Y`HX6&9!7Ai&4Bb(>=WZS.>Ftn-lCbgTcj`)@GN0doMi*0P3f^_=MfZB<aP49o*5Bc2:j9 at Bc@2>G"-;(W<>XnfZcl^Q@/K2;_:6XV$N/0Y8Tg*=+ho8XLi63!p>?;c8uV0QLMRLu$`1Zt!TtGm^/KinfeTQ_rSH]meRmVXPN'_PF2`gO(tG at 7K"2a>#r=)8S#F/d1Jib_Fd+fiaR,$"b]8&r8[bmQt_gDm^a[0>_`!`V=4EE3=.TXU2]O&C9'0'?lSVW3@)SfLIYq3/?-,f(lDGn<kHf5F*#%D2VC1V0P-P&Nln/_oG*ZC(6JeS]DcQKamR[K at g1'fgmQ.6h"k2KrJ4=?lt2k;cj-2i.0`qq%LtL=:\k8KhGsGnd6"dgt,!RL[;[XD?%"rfH&aR[_d!r-+u6k=+rX2VG2CO'no at -jm52#PXP#q;ZtQ'-1'i,.m[UY,-5Rb]=,:1Sk.h9f_PqZ6[WeZh_lhD""g^\7
 Mf)W_Ft`-(/$5j)_2m1 at PNesM6t(G9&\Bd+neBH/*qdA9jrah2Sj=<$%<h=,$9^k(tg5)m4!E$Lu!Kd_f>W9ln. at G&Dpg'U-Wa'LcGq at HjYcFbY\(OQcl(<Mq9/_WUL3:G*gT991/&_V-Xl7`G at Xe`6qqY6a2NdTa58Nk7pS=c_^WL1)19"EUbQ?T7>b:<nJ)FXg"S;6Yc&j at YH""L=i%r6L^@_iq]>,KX/4lfK=95[DQ/+-G`6,]g6b^U30R7]dm"Kpnk!3iM"aO.f=h,e<r\n.!J#Ip[3^mPn\[f%=[cIE!d+!I[];7U4$'A=Ms$2 at HtQ@?5d:?@l8iE$G0fZKYj=lXeG5![>5.l"N(d`F50p*N#BI8M*c#DTf9pi^^FVZ1W9hD%m.'K`9rdDK>a"?&-T21E2M0K$9'uJmWHRta@'6a?X$.]LCbud%M1"JFcL9NE=uFS;)Z67nL&P^Kl<rBJ#AG3`-?kGE at 4X)7!!rePCqMN6>qc@`5)c".-tiM8FW2`&q]&g$FcNd\&,ijkG,M?H$m*9g1gsBM`h at FV5Kgo@LJ=##Tc>!Y,>Yq^hq*G\DR^<OG]m=1r3K0f?Rj6bW^^Yhs9COf2UB/ia7QCnY-f>:tXSug$lE:`LFEB$A1[]$CaA`6a-U0opFREG<fOh07R>5>[\/!J#S<p`G7bU95m[8G;Nm+Ja_?e'OH]*N5A$qCD*_KYghBI'CjopWQ1i"iKY.dKt&J^'BT.a=`B)>$/Q$\j6^-f+F"6eYVO$5&.>)d,sRn9`$,?A!Q5h)4U\QI`PuS/KaA>Jp[([/dpKc)9B.N4YpI,O-fa]hVbm.SpVQ/tJt!N[0YJVN61"$:D"u`8nb+SCAmhoCf\B^@Lu\9rpj<2ZG),iYV%f+"p*n0(i]b<KBZc&?DB3Za at O@bbhY;sn*0"@0B6?ClZW!^u""Fna]4ASuDF*WLVKbM]I9W/ub<rZ&WOBYe'okkirH"/Kf_s<=+g6R<9.IRtY2V
 (27\oO%>FOJk5s.`%Ku2^58p0+6Z%;ZQ"CmlR_dYc\N?B"EfNhBAOpLJbC.-5%\#'$d(W<!]p'18?+?!%uSDX[rdBM6sVQdGHm\H!P4se-er9Y)D$Adk.;H2;<g:L88!9+X<lR2;*$AX;e6K-^/p?RXm at 3lS7-A[_t9+ZS]JklBO\&."7DM[Zpk!8;$ltQmF&F72-("o-Z1;W-M3</;4:j>P#l4@<7+dQ*[)qGJ'.`=K%LZoG!9^np&AVf.\FL*FjFXDanRo%m:,5;9Vf7+Ts_L*>c"Kr2QpAF:mp*MYW_C*oAlYGHRm1A8KMmX<!V&=l-3R1pul't%%FL1f!GfZ^2_<Z-sqce"Rk285lWK%0;o(e7D7Oom7RI'Jp._ICPMI-j3C699A0!R<3=JSPnjFVE9nGQJm at _r3jq$Ti7!AWGB-BA!WnQ?K/@7u3#'j_J]orj1\ZNQWH<7opa(<!K]f>gi7p^!J+Qiul&7mg]C^<boXOC39d(P:<-MrG2H"N9`@`j,=#;*'\=49brWlpsNF at CEqjp_F?3Bh3[SnRMDanV3=,Ye-o$+Ds<!'uW0qM^3hi^Aa"*kkNN&;HO at es2l<jG>H+g'>1[#MMT-I+II)AfAgb)YMa`hM&:I$_IaIoZdXu!_I3`tKBW*W>@D`0]pT6Ln*b9Y4->^@hIDU0p=Nl94j:s?nB^g\@uieHfOGH`Ync,*O$33h at h5cJ(#EG]4ndN<&$N5QhIDU0p=NjcYH\i!@uieHfOGGqYnc,*O$33h at h5cJ(#EG]4ndN<&$N5QhIDU0p=NjcYORf>p=Nl94ndOGDuBW-j4jS~>endstream
+endobj
+6 0 obj
+<< /BitsPerComponent 8 /ColorSpace /DeviceGray /Decode [ 0 1 ] /Filter [ /ASCII85Decode /FlateDecode ] /Height 482 /Length 110 
+  /Subtype /Image /Type /XObject /Width 642 >>
+stream
+Gb"0;0`_7S!5bE.WFlSlTE"rlzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzJ;4/678_/~>endstream
+endobj
+7 0 obj
+<< /BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font >>
+endobj
+8 0 obj
+<< /Contents 17 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 16 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.1f6d1d2c3a784d492dbeab53f51f9108 5 0 R /FormXob.d7d182b84f5619ec84c78507877e497c 3 0 R >> >> /Rotate 0 /Trans <<  >> 
+  /Type /Page >>
+endobj
+9 0 obj
+<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 200 /Length 26862 /Subtype /Image 
+  /Type /XObject /Width 200 >>
+stream
+Gb"/lD6k6aFeJaD+"((I&&@?B<Rc]%K_SK'Wmm8s8Q at O0R2W$Hbf#U)"A]kNJmY8AEc"AmM]c64YiReM/-h1d"7iiOM5u9j,K]K[3OZ`C#4.eVqmg?bh;'`^cca#-$*%"'>(-;?l0eNB>&1=Tp=]a at D]_NUpH+YASbNrjb_7.!/j:&VId,UN+$ZmsV`i(MKlECuaMF(lid`STZS*>GrZ)L,r2g4n`AgGFf<D&-:Q+$-==)#65OEk^IJMOjjmOC0`.,>N\FHWO/tTiS>^dCco$C=m\ETm*3q:'a^@g2q5C*'i+6K'kn[3@#q3dTLQ(@j:',qGtkB[!LiQpBYR<sss%KG\SKmWjQ:L?QQ]&fe/kiRb^GkefUjQ`Gf56_t5fn^tj13;mSZgh,\\odUeo9_-1<_cWVCB%s'hA:*&[,S*[p#U&#lok:.]D(da>F_M^QK..[X4C5Jhcp*+Tr/Ce107*]e`82IV*I at r\`0LpeJ)]5>Oh@<'<TJSq!nJ*q^[)>p8,g%]@=a6C5E:r&@Q/I[F#AhL'q>hL*o`D4)jS=.fL?dZ75"NVB1(k8.SZlV3eW?7E_O5.a[0rTU?`O/&<Z%ou2^D^3/fkXaeM7T7?.u,IVD)#/eh$;7$ujgj\Fg-UpV;Lrp:?'<TeIU%\,i'='u1+iVo/"a-dq*OFo-+Yp7hRZ#M=<-!]N]$PDCp>1NWe>6A)#6!O!:rol`C#O64%Ld4-qC>eckCKe,COIgclWHJ)&*0_q.O9 at D>XL>]ekUTU2^6a[m+=O(dq^.c;lrFhW^'5W$7gb[WncsgOjds'5PD5V++!#+[SFlI`u(9.h?Waq[Y'@dc<hKtEYX$>3\&&&g:4Y->i+sW+8?U.Pr!dLFX(O>eIPZrQ!_Wo"=4.XH"Y\mRkJ-U1H7c^chB%#4a8]UKF0a;bdk5.Ht-R2I\CC^,;V#ABI9tE]:Z_2Dmc]15$O at PfDN0Ha7]rsKlOul)0Fp at g+II8@CsVr%DaR4$]
 *>0-bjWZHsq["nCbVA64^#ulnE<^qWYWsCZSB48Pm@[JZs^0Vg)?2oP2[1:X$0U3A,lWj'.<,^T5CVc]'p&k$eRT1CV+3<T at YJ0[O)n`Pr6bekBY/nBcE6H'`do\Pok3 at B+k#4^3+hFm1VqP$,j5al0._6=K#KbGo94i,O2,CU^eLdRC3*$j!='ePqhYno3]UouZ?NAhgcrm[lP\4WL42!49HA6C#)r?:jh=dr%hMZnm3+T<"CYXR)\Qe*!nua$hn5H*e\TWc6[]:b>HZ5HW9P>RAZn-SW#54f%:fbS8nS$rHtVbu%pjomoq6lHj57?R2!F7iHeup\m=GR88;h+H^rQ_9YI"7Bgulretn6!TAF7^i/-e*8#`O>2iHAWiI-DXArCT".8L]nZ:^NG5WE;<7=M,'!qdH2>?]#`Ts%fRaf&4:#Dt;:^BUcTR7RP>P[(d`:u_gZ*IkO.sIE/6<VP`1);7]k:pq51_o at rY-Nq0pMjL9Onreu1JNP,=ZB]7c3m`iE%Km%aL)S%h^PA![r1NMJ'h5t>ih:g<3BQ>(kSB!qXga6.fAPbl^*m)+S?!]#X=GO7m at X2cK8RKg8XnGdIn\S6'q'8>YlTI^%N+pOMHLG*!hqS"J#DL>Vnq"U6*6)E7?XeqJKS#8uDal'mk=2r"DE7\`")njahW:T(')f"qs[7.s,M[AF(l*!@Q45L7ZUu_F`r'oE=ZM;,'3$)Vs[C/8j-Vi4iU?ORRCd.!uj%1NZFtl(WboEBI$GoAto%lFO.Wlm>eR0jLrlct`H"@'D11Yq0Q<\-fUYX;F<]iDFaI#<qX.O*p#4&2rb"!0<_78rSb]hn7,2huEK?nY`JGnmMfZ`W"Ejpau=SrTu\"J[o;6W'q@&'a)KEMLiP%"nCXW=8G68H=h5nb:tMd.XD,t02''.Bpp_;*KuMWP7/L9."(.o+BE/t\O+\,EM=?_A=NIJ&.gmJnk"LoTE!o>>d5AJ`LT/umXI6OD%%iRE"`/
 m=4kE>^;p=kF$0?q3IXM7fQ4C"j_@@)3&j5TLF-q_2!j.>R+;Kk7LsS+=5MlgQg"><>99;S]'oObI.+p6Q(_@"h$#nZO\e%+?:b73I"4EPkqgA<dm>Co_9t]3*+U""_R>or'7]Y0+8YJ^&G-faJD;7%n8U?K*ldtcRm$+>f7=^00EYBqkj_KF55a=DIiHfq3PWO?]7u)a;hb97"=fZIIM$c?S^$B?EYAA)C?gC#ZPVN\'=9NP\6aK!Hknm8AYe"-bKm*E.Oug!p&tO:rMe8,+QkD;:5k2QH2Lu/U"r.k('b%C*#P>W&9b(rJh+ElO9;HLi=cJ_OmOJsHtlm]FG'=VT4[u6^su+/3HGW'p,ZN>i,%EoM&)8$*$R>@9juN?Go/$3YVhpOs+c?H]7qVOb'm`<Su*qYdT\B9a\#tEUH?rc$<1\2bn(gTr)tN9+<*!::;E_mN.:&ri!Q%HkPsX>JIkhIajDFn\al71cVHriP)F#`BZu]A7s&/Wdb1,s'iK,sZ`"4M>'bXL#6K.(Eq%e_(tX26p`[jgEUV.&0=k+&5I6R8O7pM;$Ef6d&Jn#[e$?r,_f$=q"9:[m6%_UB+ko:*OcVmSl&mp7d^.qs'*>!+$;_b]7*pBg6eb=<D/W;OF!as#EqE:K3C;hi=';2-O0ZfXKV4-G6qrU"Gq^j5Hq`^d5#p2b=m.^AbOotrN?\`iZ4:iVR^)MC.dJULaU8p1CD5A-$lkSD at ZO#;\O)/C=&=Gls2lCaAAQflG56Alm-c%S0%t_"iN/+a at C."J-ot`5(U'gk<TflqXE*WGfj-1FB/p3tD/6]YiMF[Uk1(ul10?^#2N;D]4IBJAH0W<EhA&L6ro at oklES+@Flt%&20;e'_!!5pipa`)g7?.J<3dTXfI9uD^`GS,d=l,/BR)_;<kDL3?$@$A(BgOlPb)0E<nF(-[5pYcY$(pgPBh1;\oa\s,1((2&hc*`Bu(OK)YT$G&)LA$*qk9C)<1%)>$hNkM
 bDZNUuX$:`Tu&LVW$rj&q26X1rLogHOL^piFhJKpm-,mV0RI[`m(0\HWYB"G?T</;b:A$%o/NC/LTF]p8`>@G_W?efiKZ[7t[a^W>$RDbpR=+nm:&g+*+]."\sF<hF>tu;>bRBI0]qGK/@j+,jmM_jRL(KnTj?&35A&9YD:Np5fKL6*Q8BdL at j;F<6uJZA/BZmH.0IDEH8-.7Q5QUr3o\.U!J(5A,Gi,-#@6,E\(CJ(4L3$'7(cCL=g#VUU'a_c(Et=Q-)]iCBW[@-FIH!?J]g=+Kcu;FaSFdnBjMGYJeN<18C$@M\pDqZu92[UdiQ3eL6EQb>kJiUrm:`Z^CZ4UhFACkd^d(T2L4j9D`0aF at ZN`pX>$bnR$amD7`kX<q(?RJE9D[109/c3H#h[:5F?;$AqW9 at QPF=^)EuC/"N1Sf4&'bRTr;ECV5()>')0OC%L$=8ppkEW"^AZ0@'hT0'^WI2RF<&`)^>+fb<=^c)=KW"5!=03m9=ckMTXpeeGG0>,1Mt#o1,R07X;HlOR(7K+,AQ;s&s-8(VQ'8^@%*BH$c,0dKqQl;6<n_dCF0R5?6p3GJ`u\(pM!cpG2I:W0X!_*3*_70g7.8#L=8B8D2VdSPHdbRR\j=-I>(MsKOEqT%`A<-6Nkis!XWnameD(oQWZX-.G2Rb<F1YUV*`fY782kmBMN<^B5a.uc at m6]N?_Oi(pWr%hD7FIDkkZ9c<,OYXs8mW$]uhgMl74"pa_S1%[lS`!+2\u$'Rm!*!#T/g0S$08t<_ at B%-#r"b at 43$!M#j[!E<'0bojY:dUpfEYK'G34JRBO6g5'*UIHUhmrc*pIF>WL"9>KKH"oRdao!RnFlXit,6b/b<g)DasDBcF\HZ85SK6*6j9]"!>96f/*Wjf0[JXX4:Qlf_\)G-%i.1G_I$MG)KC7rlJjGppjW'eXo>N1l"(dr7aF(4dp0<>!]7%JtcoT0 at Z17pVHQZiH8[@5Ns^3s<c7O\"X$H:7H0h]n
 -j2`8qtYBJE-?AW#J'r9"\g'PS(3=R.e(g<$Ea?RoMOWU.sks\9-NY/K>C2N%*)&U]?pI%qa"!H2gGg!BEDV at L"Gar\sh62!"q[^E+40>JcFdI?r<T/QjJZII,.q6oNpi^FT4,u8pYJQ5)FNkNiXoQQ9OurfKkF`#KeamJbNt\\R$h&[]$!c,ER@$&`F:$p+5d'd3QdkL*<N)l at o-]P,&)k+/;+PZ/YD%.oiQR]EkAW2ah:MUJi:6XfSDJLthZ>jKBl#7sqc6^V`!HfscOP4+jtkXsB`>D)bB0!7R/1S_4[b:j7LqLoM<i>"Xq%!Li3./YYPea1AiuW/kTH<o&DcIcR`!f&[L78s+ZTe`H6f,kM.2[L*P,T1>DX4hP?BrN-ZEU:1;X,]C%/[M:k8!r8h#38Uq^u.igOXhs%\AQ[?Y6,B.':_r2ae<")8rkLriHdYi2]Q#"qWGEK:9Q&5us*NTldL>-R):m:N32?/qs8l8>-5<j&q]$dQ[!`(3bV_rjr_LHY:cGQQ(@UKlJa??).Ib+G9/jH(VF_/(s7WL[O.7*%*j(h3BhLHi_,l(0tp`$+'ABdS:q-Oa((nWl7#%p+.a;ls/@75#u(HJ6aq9*JM$dc=#%=cLoq2?ukd"]lVD`<'BX[>b(G!kd5%4u\]:4e7/'&Z,TUoUihm1T6W[_3USs:cmm\!VnEJVt(lm9kr\(E]dUs?SGuN.?SF'7j3fEF?;W#0&X!\cV1K8j'9C*TYZ"DVPDl^aE&G&CX"Lb1XbZoo[J%g9H<U?GVCei>Aq6<B9Aib at ce8%QrN!(_*e.qoWZn\-N"U'N0ZO+P7=*i%*GrCfte/!M=/!meRX3]b"^*6/_8&KS\dS]aW>(sT[psppL")":n`NKn?)(S_Ur=&dGesj9s1#P%6qZD41hAXA?PR@[#D6 at C'6mT&7h,KjV,Pp74Sjh*lO5VV90-oU&^<Q19FjcT\Nl+nSXo`Z+S:<W=p`]$(XGq6NYDoQ`J5n
 Ja4.^b?VGM1Z;`P&or at ID.os^bY]q:C]n6)Xf?\Q\B9RED-6V;#<%l.WoDI7PAc'COrZS.D_la#4"'/jDSCMGr"E<X'2H=FqkY$KE)n?D-boqYm-L-P!^D_5q*g8cTBu$)Nn/>:GP$?B)>uq4R]K%k%2[Bk_UM6N-*=ALSQ0hncc7T!49m,BZk`DqL%J.s1%qFE718 at kLCp%MZfVgSZqPOECd.;QBq<X-km"5&VVQ'T00\1*k0%5>':*XZHuk)%@OR6!Da\nBd(=F"DELYm"=hlT<E at -&,G/p;9i\T"XCo.dna2no7 at HVU[!"[^\6?$^[E at l?WaOe at 3AZu_m$7 at LObt<%T)A(&BGMXg2$J+`8'gF!`>;<g4M"P5m/FW`0faoub9Nq\P);S7EHd.#GNX9'Tt/lu/mR/)7qQoT/SpgK36\XX1m<p>oa"<469F+WjEuq/?E.Unqkk:1B7"hL#dh;pq7jO%gC(1XO#C'dc5eZoEui_@'Ga%dB'9M]6O`6.oMt2p!0"ZRRjl3<44fLQDs#g#cb\ug.+e]Kr4,HN5Nbd(`Z]$gS%6)VMIPM+r"(1c<(p(.o$cWu"1CSQ1!f;ZHEk4Ed]iOB>_=f-894#0)uc+n0SORRC+E at gmAP<#(Y2BK7qRrDn4MKO5bC3GDIJVu*PQ]MGNL%(_Dbe+^neC]^(EHi\!n.rd0d?ki.DplR_l$#=+n"UXj#7"=7pAW*GDi=6*:dU`>,gT5DjUjP;hra)3OV]$eHoqj"`olEUBUg=LK^BBT'#j]U;Z2Tj48Fr_ubY,;-u"F__ZOq>g,Q=Z1]O"[lf.dD0[RrE#q`q[$uu.fRAEf#:Xbb@]#-5j^NM(S"0RoL3hJR?u+_YuG,s<>kZ$HHsdudsPgh=3ZT5VA5N+cfYZPc<I5*@a=cXX\Y38)Q`)e5Ps]G$eJ^@!D9-$4-=F7A':=T8,r+5n4(b]`<d?j6IF69=37DQ3&ukEiTDndejjT=.V`bkhgQ)M+]
 04.L/$d0(ftPi5&*\IJZ+=0)8;.#@o$[663*uE`n]^ue/qoC/@MQ-VtfBM6FLUUbNkKCVph[BL0l)_-pQ`Qh!,qrRg3>Zh0!MERVtU[;pCB%h\]p9P.?HZ=d^d]!75*`V*uh(1BB&U`ttMB#oi%[5E"q:*>fEs^0 at W@9X[GKM\)(<?r`W at G-79t8p9&pha, at +:!;480s*0`/lAmt1oZ2,3b4U#57/Iu9])N+)N#cIi2qX?[R^CD[B[qDQJA at k_;NK)(A\A)55;tO[_,2-<d*"LZ)W=9UU%@O;<$N*M/5>Y6b\!Iq0>J$F$k'6p8BX/[tf$i-W at Je'tQ-"H;:>CUq,?Ef#34'DriI5X^#R]]6\u&lZ6 at g,SeEub;jU3\M=E<Ok*(*7"_nu1Qa2KO$=Ae^/]1E?>%lrjlZhkMW:o^T4,$2602P`CkPa@`>I4eJr_roXXT^&Zj^*?C,dkM^/j8T>R&D.,9cU+E<]C70>^CH(MK?fP1.Pg)CF'<N`7=5>O.[k<D]E!I*U.s40I`MR7lm8<\r4F-_/0&IsfiMT1mko.E5p5kBUdVKWW9))JA:6\NJHLe]RPQSftT0[fAC"6<V37-<K6=;]dA)kc56,Wj3Q7[3)BOS:OT!Djpoc'f5DgZ6^IFNqH(*^>S9TTDh0 at X'Fspl%4;6^,bYQ7Ga93_]4hTPusJrXIm/9;</l7dUNrM3;$sGAg=l!)U,o_cX^$n`9=&OL>RSnc'dk?<-+MYb@&'g:TW"H!(Ls`jQ[.A960$c=[Y<VB6j5GO0nnLG*"52)(:oRep8[0?[\io<Di'd)WufeT_(VtilSZM'"Lp6$@+BidAhX-Xk)CPDH/Mu@;oom;_/7b0WsI3L.MhnjYN[GX at I+9:i.!:RdklM]<d(`7FuaTM9S;gHl5;\`uE/s6r>VF;pLeA5L)9bEB=0?nP18.1[CIUfDFdPDLeclf8a%G`,+;ZVb\&8^3>elSo'h+("8LC.L8``':IBPp;CO
 DCC\N]Timq"fud;QZHX9cE7O5h"['aCJ\W4s0l3CPi;#l8O7_j'r+1oLe#JHc>hip-:.)Mu-U3qE0%(u&1;$B"1deSDCT_=0`9m#!W7JE>Z`Ca\!\sKoJsnFtd1\N^cn,SpYjJY`'scKIa?%*#@a-Dl=es9,!*ba,Z^%6L.?L:/$Z(c'k:QrtNl:a';9iFC+^UniAip*\&""e/&&7=QAj;ts[HkF\s#QQ#hba5.b'1%ZW6&!T%1ejfcc at qlTCCMimuC9\3b3J?Zk,_7BXh+.S3\^bLQ:a`n\W[SW+%at#9Unk%>4H^:7g*_nA4;VkO[&!#M9lio`t/2RWS'p3V/[q)haiOLGn50`WKK.PoME?_&hMi>g5-b(qSFm7:[W%\XMh5ji9Hc^$$Gh%uD\8kJrL:/;V0!bC!WF82)UEVT%L&O.SE@;$\,dG`<oY;>3/Q0+QpIn]FsjU+/rYC".94_\L&VJE1Y50J(#)0uO![d]1SsEGdlJ;-Jiu19D;U7:sHeF.83/7tm&U=5KZUU1K'A.`d`?j3jeWT=b$&]ipV`3Mm\l'T_aMj9c8I1MAmMQ7M7CS,ZctQYAq(`Sq'PY7BjKVb:HmlQEO%JiN!9=R>4N2))WB9<E%IcX[&FjLg3gY-bF<eA])`Qc>n;&gq0]4nm.-kqQ at j^Y'^67Z+o"Zs[`VJ!Nk@\5ofCNB"S)E4h4*Y=Xk(P+SZ4,H;mDKo?@'=..[fOVmp'2 at NFCK,(oESi1M1GR/!E$>PBGL^aTa1EKh/*&=L=Xt%.DJ_SnF+r2(D,Nj)hh6e7=QTm"?h!'_?K#GpJE8`q=_H"tiEq$r7,e8P;Lm:WuBha.EU=<^%T07O>F&oo#``f<a(>+hk%UqF#\O$^PA]M*aJUFGlG`h4kB\aiJs&D?bkcS/\DDFkSq:AHC?#$9%LEmR2FM%J%3;':<%liiR]R?n,33F"UY\D$gWp.!j:Yg9UNM:!C"`);ilUS2L#<.%c<`!8iD<Fa5!
 '>PYP8[4Ynuedf8_$X at i.XD+\/=52Vma472EEf0Bp#Q5[JJTQj+--$>9CK+iI*j$P8d6D*7$iV?nSB]V'f]K96^'0 at NT4.08<A^SsP;h&JU5f&<FDJK>jVJ;?_oLNdC[WdUtlb/4%m#DuL/p@`._^1`IAUpqR-eO0Z&N#"Ptk:T/mH^7JQD8%8arLa1ihoc,kKi\<>+^:iHL%?#E8I0D>$A$'-4l:S1ur!`u'hb:Z at 4$K.s?O!O\Y-FH<@*b6`O*em>K.C6\XVKJeph2dL*!TBEkK12/HbK+7)j&uFG,Z(ail.$1)B+nMAOQ5he:g^nZ,b;Gr"XqJd(J)6s-X^XE)%S^""L4C$]maPY)6>oX^5sQM'a/p94`-8r2HZi%F%n<hDZL`BM<Iu6WKGie8mnj%D>q^eqIlM=#4KK"[=D\StZ-KF);0j(Dks<lP[@GC*^rZo2qs9-/N;C2J?QT)rSk:.b8ZVElAoL_0>oo?-5X>,eqboD1h(2mS2.kS/daEBeA2"el5b(1XQMO3@[HnN#0;Y=gY%?ENgKooR@=j'i!"AG$NIRClU['A7i6(Z?74MSjUi5Akq_"AVEhC6jR,jAjm2bkAn&C3RhM+aSn7nk*A(mYH>VTC6,HYAIUnrWekA#UH)kG_2?'0\T2BsiH3W(8Nipg3MLdj5.N/K&M.qd(jbeY2tqisY)uY3oY*Z!c5!U^:[obU0jbl-m&0$DYG/YX*22B$34UJZq1+mK[-mDGC<2)&k#\jP@'i&>bc-DPF60tDg$/&^8k[YrcVR'4W_`sj(oi:<2`Dq2!'EA/Ms#&K&Aj.3[NJ2d";:?Wja)$K?.P"q%7D<YWP4gs*7:7aQSG+J[X6C5Wk0J,&\Ah0:eM^@8.pqAfJP`>k6SK(43qFs=#2^9f58ep7$pabcQp]XPjcKAd>3hL6PQ(6[T*^cHhZ"j0S$3?,r8CA^*)@0T''<XLimb@:9*gYp0u5(p,H-ms70mu1P2Zt`1ekBAYE
 OSbFM]oZNb"rZTGOLK;=2Sl86U,6r<FCe,cu=e`jZqc$!0iHJO8X:l4]R[-"c?J^`Z*?0YV.]+q>*Is*g7P-BRc%tC"E0bm_t)m0aafESL(L at E3F7^1,eYtTT at 0^LX"an0)'P_VDKDkeoN>B)tnA)to9(PP#=0"s<E]:&2d)u]!J]eS.hMZ$?hD$[9Q+SRE&)6IWA)k at k_;PRctl#MYU!:2`]=WEj1Jbj+@<6nhE+Yl+Ude>B,_roa1?[_J'[h#(C2D6"41IhXi7D$I`4\++uEbq(E at +MClN]5D-Im^QQ at F8o8--%MU%&b-f:a*1Omu^jp!$YL)-3.%bAIr8-4Z7)C`--ADH()asnlBb+=qn.1^ehP6>p0IopnlIY:D6u[8l^hZHWELOs7XJ_O:I6+k2"_#o[>tDIg&f52D6"4kuGX3$F`V9ZDG`LWJfDSkh*VO$%6sIJ]c#D!*)kW?+b,5<0/#ZNAu2+QSk%+7Eb!&AG@`^g:6fQkF2E,Bo,Y[cW=;>]>A]3__)ID+]kcqMnA3DcRjh0a at O'8)U=T^%JQj5Na0d0#$77kB]TYf,:42ZgOc?C$*O30qF;gd1TK&"nkfdO^5#iA6'ks;'2Xgaf:<MiM#F9gep"%X;%Ka&3j'iA>KLa'?sgo#ZuOYubmDRn[B5kN*D4G(r(=K9n-sT<qB\Y11p"U@/6"I8MS1H$8^=26!<CgoIDr\(<6_[rfeqd(fJ9%]Vq#"H93t%9lN9,!V\2!Q2huLGc]2YgH5WRnk:83C$Pa:;et,/L)_5O?(&dYT`^0iKfj;=0b+p(tch6MWK:';gkG"TLSmNK$>V0=@8GA)7gq%ZNs(E(0Wn`!_mGZ'LVj_I$'.T1ZF<igY0RWQckM9Mn$<-"0-Ab$q^+inRUBD&7,'4RW`U_YFNTTBH(P,2&X75?>Q1-:h&rq0cNllU8I5.-BA"=p[W3V;%7^C94RqQHTbDT"N`7N/I\ANk.Y'M9Y__'e%:fSr9-a*\B
 L!8kV2&B;R+K*Q]Ka[)$HK,?mK\j*JZCuahmQ+(gG#a(+<_C^?I[jZ0fE?r%Md&I=eK$k0eIsB88di^Sj#SDQ(AW1_jDTg]MBI1p)ZG"XH.?mQgPS*&6c[U!CmET.h]t5O1Ma&"2X]-uB-!gO$n?eWgFi]%J$'VW81RZpk3Hqljh[s'WfaU@$d(*rW*[unm\+>!(;Q%_]d"RR=;jL_\^qfri8d[a#?410\ItR0C"-PiS66!B4,A@(\=VU3ZeX:HZ,?\1W9"AhWd)M%(UFA'K at W#Y&"-!kh*lO:Bp5SWgNXW0M4Z2jE&qnJSc3UBWZh$ug0=UD93jSnYqBQX36!d0[S1:\cKZ1\d)LdF&h4gU%Pj)sLM7YA@'a2Z`*iX;)ps&9;0(--%BR^,d^),cWW3.)/:qIWHl%<OR]]d88]#(Ac%Mu0]W)])2n1,LZmIubJIL*&kI-)&AR_Z-Z-=#(bF,Cn+t6SRZ+i8lK,k+d1d)`ZS;oa>9ta[knZ-KmWZh@#Xpgg8*h9IN$!S./Z4'S;<e*9>a^UXO;GHfa.nFWc=tr2M:SBg/dZbKuV_A>d),99 at W0\KU!A,?S)\o*F:H at X/-h04,j![T:pAs,532=Hro_[]AMuj^^3:?o,g-t=:<CBQN"#hrPe]$'`RQI<Wk#D2L^0+(2JVO.QqL+)7\8h2/dGmb92tYVRm\2",HG;6t^S$/c![l(U+Y'+6)1`Ik0Us24J&h4u9aCHp`u"pWDQ'N;Nt#C\/SFG&5/5&kfrag-<<^,na#V.!^ZUP at 6s*[FkERI'(7,iMol.=QI9LEM.s#j[=4OVLB9$&)_!="V%\;ABqH[B'AYl2DfZ[I[%(n?u]7H+r\2$cO-,sSVEN:^"+La3^+?DX<ea,lo%+-Hs%#)'/`I at I?10diXja-3O%.J'Xl.;mAhCO0I0I`_Jm.qS;?mhSs0sq[T"J"a-^7qr5c+9o"?p%$S5YD6ZTI<1h#SFfQG]B,.%:9L:Z!&qHN&
 ,u.?amX^>)mTLMm6IlaC6';ra5Y(7jUVM'bdT7nm<cn]Q&SnEFa2Tp"H]U=OtHj4?;fPG#[reTWQr[jBK9f,9;7_0JJ:sW\WJ;fb_mn1A^&fA]7hgF+\Y6Z!bJ9:).=8$Y`HuRn"AI\b#&(W?1)tZWFS)AEke at DHiBW]^]Z;%61n4]%UQEW>sQO<6oR,;cW`JQI-qPE=9,tjZm#`Y+8_33pfeaa)*HWm/!YgAjJ6=S"[2`[#iV$II,QG-efWe6SOkE</iB4-P\dSgOq'`FP=fH3pA*JX<peIFK1<UC#.EB$2huA'p.cJ\4sD/EQYq-/]/<J\EK*^riIVXUVm:j-kjaQ_aW1TP!b3O&ckm#qP*0*<0 at IQMaWBZMEeY'W`HNQR%>?HDr-Ti_4$bu\Q2h:AF"jKgY<ed\E\s^@D"cVU1^'bC+\"rFnnJ7:#e/a[O?7;$)@2eEA3 at n"es%OIQ]=i8u\lU"-TO_h,ea)I-Wf1X_UG[drk.R]"WCISRoJ.i6#H))^^kd]EH,3Pp9a!^$7#;Ro!f.,O->Doi?Rj/CnEb9rKVWkZIPW0gHV/L0Cso6H;^bF`u#r%(*MJlfQU/oK\s+7+4Y'ZE)Tc;XR7fF\Q!&@Y=]<$;Uu!"+-Uk$Cto1MOHj5%paXTrPb!:LPbKsr]AAJn%gF\,Xca at g[o4Pd+&<PJ^N51"U6baVF+lVe5UV9_YN`Hdcec;iL9PmBU\@`4#EPS*%uaQj`(!_F5!or=]&'$0j-hTndo6.Z9ZS`O2PQ"2Z*+A74[Y"a]5.=>,G!,&J`X/>i&ErJT4kTqMckA;dI12D&0I5[#tSo2"s^e3Bdu9M<.J58-%1F$7]TdBX?76k##V(X1lBNo/+.jH.OJnKY'%9)7E47M)I4YYE]RjF3W-5`N2i7(f[$./rctr[6.@&9-d\-+r-:'^lXGVbPNd_Rt\q<'.\C=;H3p&Xp_<ON1skZgB+,jeA]"5=p%JuS5mKlNX9skMKA@*B!+,
 5K/lp_6(?n04N!nALCf1:FSu'cn]%un1;jY_<W)8WQ at .+Hd\0Z8d3s`@HbQmO/R`1r!gQ3*%/pqh)EB8+\laFrJpC^-Q?Sesk9*s/M9J!+`JBS_fArqZ9:!2r.TGO;a[O=q'=3pk>bMAHIo[B]?+G!Hfg9%c6GHWA`F5J[V7)$MU=V;V"<M839%%k6*')B//g"NC>\P4'!f$B:!M:]<L!S6>'<NJ_7]m`#7aQ;+ at aUu<.2BFpl0%4Gee-#qfsp6YPI(@@T<mF1+-+79k&J8>V2Epcd]muQDQ;kf]+h?SXOTY/%IJ#Rf:JXhc4JTnj^?AmL_^5:.d%rLn;UN[d8A'Cn%:e^=XdsBg,HroJml9T.`j6^SptD84Sg4qm8ILoMkSIKC/ThAHo5s/dB8,h1,f at O(G7`Z'+^eEH^K#_*Ret:HmatYqTbP/IT,^XZPYk`$&\'He`R>o(^dK3AIL':m#C3u:B&dCkU]3=Y>,mq]t1l]>$b3PX2fGS7=H0!N"*cXI`H_h&=%t$(:s at Q&hV!59g&\p(2(P$>@tr6$ZD48lF]=#MJ$7('=1r[\ClJ9qPquQ2$j9&J*@)Uj1]pB;GLs"aZF*F^4_(6nCot5b/lcSDc.sYc)g$PATKP\3Ao5U3u_28%9("2aRdHdqWu+D+rcSj'o<C\ddd:Yku/,XN"ls"jr1Q$Vd1#]((++m#J42C[1ZKd28jqYR0dk^T)\@kJls(Y1JX387-d7jSi5l]EnK&GPpJk2NnsU)06po4/F+fVMdgW::/#!eo"q)@+p5&0d%_nUfp=E3%uT5I56#;b<H[E3RpQ$9s3r>rro]o,]XUg%--e49EV1^A6,d;$Aa-r0aMDs*Tb>?WiD1ubb5PdKP+j#4lZ&=dVeg4RI]`[JFdN0'+rrE#N9'2K`45AW=St&IIcDpjaYt!eYHJA;U9`@JBaLZtGo&.6c$pbTe]UJ^H!o'+.p%jmdr]`pKaK8N:3<@lbkHL)cSYR]5h5E/,
 RlCd7MB#a9jsipCh9No<FrHMVD'W]gZ]e@='8thV(:j^LLltCH:Z%,cuRDMI6)6q%Vsor"RW=6Bumb5D-E9RH0MO31]6`f at IMJ(pAKE\juraCT[7$DX$8s0O*kNA#JTS72E,mF\iOWu6Bu2(EB at bB?iiYJonsha>qG/+%=DMd"XA_j$<1%(T=VaPoN7$&\Lggr\WMdgAX/O!.X]"!.2h-@^-[d!piA0&0WV:CifT@&di.n:0SM5`Mc3&]#F(T\+Vueleu).^CjU%i^(O\q[?OGmb+U2Y0J?DAPuHW*)Y>PY*kLud/TR"sCbDtVoBm_7IAPKP at XR+Q)A>jTd%r2ba. at J+I<1%T`_<OmZ-Gmt5\t3BanqR$XXo7!3e4poG4nJFbtS+&O'r8Z$\>APpMi8r$Oh<J=golZ[f!2[R`!Zb:h?,PMiuIkDq**IB"\uVMT]s(&AZM:N!F7g$G)I/_9E`Lqt4"'BMQ'nU64sZTo4X2*'12Q1lUj0/e]^*rjN3aW6PL`#S&"-HpTEXQ!PfFIjI!?\6@*SFE+]B%g_TVnUtIKP0p#O$YNrl=q9rQ@<[M.]5.XJk:u?q.>r#[R';9(Fq]jA0K*Y+Vp,qAksa24EX^.S1Zo,O[c7Ftd^2mV@$_RMAi-//adqS:kk]%ZeI&._,d);;=6&OmPHE:'Fj_:KX'(?b<HjJj1SkkE>0"77FP3`M0sENhfU;=+EQu`*_3MFn[0kA6<j4OG8d1KR.V<b#Kf#G_"0bF*KeZk/9*7<Q+$Y)I^Y`.%1Nh1Tl1*MJ$dBWL`7ehm^Pf.<!SI:?\!sZ:B]6V'D+;uF<)b)I:UP9g$\H9@%Z9dGSqbmj"+.>(<0E9V\>FnS2(^'96k)J at Ju'ELr)8tm:+dp[e(X.o'59s8^YQQ:^cU++m,CWsB4;]_D>`oO,c>"$X'")n>"R8WJ2>5k@=;.HX;(=R]#K>gLMDNn("YpmR:5N9idS-`3:hD.\%P>!]\2j12E+Gok#]
 G8RVL0M$q&CA.,EZ<o(]n&F'._L.5C;J:L%SrU42`E2ZO9BN?MG_1!l-[N%EG,iCC/BiF6Zs.I(%l?K??7PrE#4s3"KjMEJ8Ls6f?mPq&hA/fiiQH`#O>Wl^ZBN\#erQpmu,G\cDU--BtVBJlt)ZprN])ROa"Tpo1*Z[,JOnLekk37/_CJ^)DA<A%SSOXoO]C.k=h+e[,>fe/DR&k`Bg-5CTg>#-2lW^2POJ`^4k*+9[Y-X9V*MRja2KMi8q"]sYc+jR.M>@0U6k<8k2PBZrH+!Z+sq%jS>h>]\4`P5Wlk7/buj'6lpYZ^'H2/4PI"s4u1K.F:B_oc_LcpF.:"V&I!**d)Cb`#\]Q3dt3.almRj&:Y"dfW0\`B.anV9.S[>8OWeKemSodS*ZMjh=[=N9ddX"[?Z5dmOAZc2sAmlY6.SZm(7R/tf6^c?<chI&)5'gNmj?Z3oop^D)lC at YU?&c(^==33>GP\uSL'jj at _uVd-4/TW";'3]^0`,atS8dh#9"E)%'CdE5`BknfGCX&rO"6Qc;haWu/2lc=:%/,%=$?q_ec]]uOj+0O.>CD#bI9u at 6[%s?^':-rd8b"\"IUDO"N9c(rLQ\NOERb#.l\>#)+jW)/(^HkpsKt$2Xhu\nPdno_4A]B>ASPMocO#L[0 at MEM,"c-&qQ7frKNa/!PKIK2KEH3s202\2B=6ALGch>?tDk-(6B at 5tl]5EAPYqdYh_:@+I_diR;<Zb*fFm*W&nXX9CYNR+Q23:\"a)!oY'Z];up*!Zm:K.j+[)Jq,r<8.B:\E*5G?I"`%L\:R`fXk=(b3)U%)LK_J,K%#^ZeFjPZ[33F(Na/<%+Bk_0c8NcpD`?=W15P_F-GIQ7EhI at pJ.Sl`P"^q*_FW>319.4pg+er$]EhlN?Ec'kk"(KklK'BI-ok!k'SKAo`$@4l&eKn)R;O``NRn)5mnFXN_5V;)]G*AVtD$l:.:*^]>@iY066iEq#s]PZEOeKUMRD%jf(5
 0dA4h/T.1"%r]3#I'@gV4.\2'RHJcN'j;a6Wp'#\Lt-ORUXI&F+p4cQ4aEqZ07;p?MT6H:@G1_$BruZ[lekAWSq^jH[aPM*S\,30Wf?GZ<BWI57bZh;*/:NC"hV_XQ">*;81h0J;W]Gak<6<\`2ts2Tj*FAa.?nWa0-@^7I)oKj(r:b#VGjVZMMt0h10Xc%[t6Tl]7DZNY>FC5cE/Ec/[=[ni=VqGG.Hl8i%971:HisBk$7rD>EADbiEL[k`cjLE\<*NGnJ7Cm>7K*C<(WF_*4)`cK98Ll'5?$qmh%!U,A%502=%ZMUl#s at EO#'-N`P_m,0h*+O3A?$tSlqYlGc9lu^Ak)oK8r>nL'5,=#]h<9$tmS'_i at Qua-=a3#S%JBD#PldO)@Y+Zr\/t']m?-)5_`\p%u(ai?ggZfO)WE-dj>cG,E;d+S,aWESB at ij%*T:DX^hh3S7[ut5fWWf.r3F%3n:/j`i_,Zc'0R*q&(L9$#=>%Z\*2\\KDC1D/9]l=a[VL.XIt'RFa9edP>M26iWc/R-(MF7oM^!3BbrcOe3RKn[**K,(D/KJXldNgBUKY9norNM5QRf"-U4qC6<`KVd;JK8cMRckU2coq;_OU)QP"FsgNNb;17Xk8EN:F$JklCYoM.T2CpH)GN_m+&Vbal3Q3VfJrP`CM]1TtqCp8'*;Wf+!VWJ=@-eI3Hs#3Mb_WcW7?=(YnYj"bLtqTNr7kH_!rpWX7":1-?>jY_2Rncm6%IJ'0uC\[KS\?_u+^[1pEgEp0.A=JQ%q9l:Qag>l2G&/]6EdHbC-d1h+3H9(b[%*.bJBPYM>[a1o<=1jK1?Ub8(Gn6rs'77L&Z+haBgVPp05j^dP^L_3n*W>3e.Ac,\%H'I36&]/m9l5m0)RF#>*Do1f>]ZjJ5(-Ig3R3Y6*!TsX"3:hYu=.5G;/R&eK<G(,U-_sL*.H9ME7fJlRoh*QbMH`/kQu at d4n(6#ZoW9Y/MH/.p"Oes0t>Z*4W<I(I
 K_I`O)`Z9/Q-_mdd]o+q`43j1b!V"h;.j at _]h!3M8dT_f8%[U'PlkQJ+<uZCD+<"aa7X1T(RLg.[GU`IKhcHD&D!Lfp;c?^6F0qi[dnSK[2:kEncS0MD"X2.YXN]"Imm<ZY-,(&"C[RLYQ]AOu-u_<Z7B4mO$JG2ZZ.U`:li/YKLb_-F\sQH-s"\cdk7`(77l%7VD?6Xm@%pDsqpllsp#(SR^"?9RlS^&7;;05HBbN3fF'13!6]f$;MLbA&U^6_H3#eW_CdZ-pS'3Vh2Vg1_)F(q at 8%o6)=KGW`+CR`2N,_QhQC55]TLi6lsB&aAY-%E>/0`85&\b`i[=aL.>74Gb;AUD8m_flH(l;-IVY4C2&!;>EL8;pDA5W6l38QTF^g;PB3'3O"E-2&B=g`dCe60^P4ZA7r7rdg9n]Ua&IfXFoZI5?CpkH-;Tn<t[GQC7"GVR<:#OWhohLmaRal;epJ+23*^NkICJ(R_a\AjA/tfYBMXP<M23&?#+T]p36fMS6UYEpXNj>BJSnq8(hkES?Beqm=G[<0p=-8ij6d)3W%66j5sA at l88:/ic9U)R")qbJ60+p>d^',<)r:J4'.iDH=BEU@?%08h1WNg81pWFBmN'#hp8$rY*<[5Bb?/_W0s\(2UNF6=-RQg.k>:96.(V:9,pDa(([Y-VmZ.EK8Zi`!#:QcpNHmE4n`l%h1Z&VQ=<fTO';BBP6.l5+`kUtj/sUohA;RqGF1k?Bt^Z=(qnFTH,a6dUQ*hjb1at9M`D<Fl\$>.!]h'0AqpshHC?DVk3#dUR!NW/ag=qH5KAt08r+,rU?M680!-_20=!i4Ji%<F"1n?Ra#in0>+srGpj68]>[0;PE@$,Y[!SHW1dJ31aVUXhkSgD3$@NZ2#*H;n/OOet'X'O$=Z0(s'o'qY-4\g);Ar6mfWES at dp]#o)V/6G^h$!OJ7dn'<)kcI]B"8a;<_Y]5sP704QI5eGs7pp4BplY`'l^iVHQfniP(>]f8Y!
 Glp,7tAa+.+-a)8jU+/[<p5tj`hl=C+5g)1;Z)2 at J8qc3pp+p*jkqg]oY/1Q%KOklsDFCX:#$E8FH6V$(.T3:<Y1NVd:,.Y^!^18A;/Y3o5fE([D0^ZNqC/tBO*3+PnqH$1,OYEIShi$GhRoXn^L"ra at iEO^\u-,#YAKoIDQ_KbY3X&$g$]u\VRD2PcG%e<*9Z=]W0#\#.m'[imQGNT7m=KG5el#Q&"N<c+!,?<nYidr1jEfA]bQj/f3ThAD$Aj0#K39BZa$U9dE5J7Zj?tocWEAI1`bgu8q7UPl-'smA"2eE("_f1^h9gi[WQe`)uc,g0iQ']<nDjeqK3Ld:j09W]AN:M\$q`?6<Z%olcd)o2Ql?1(>Mc:9W"2.(sgIsA\9.XJ>&#Dl<KrVIs+_HSdF/;(2O_7c?q=D$tQ`"/0gm]'@j-7$0CGjYp*M?C>rQ'(+6/aOO.15asrI;O6RHQZf/u2J9\J-iRI*M1&o;ti(3#e\C'bP72eNl$C/"3`Pp/+AV0No_i->0C^Qq!aj(ro^+`R_fpWH3@*R0L-1+kR2G)6J-!a?h`m%#RnQ)]4E\QqRUbUZ[<*<WFX.8S2fXV,%^M%s3`/>pahT^PQ7hDsdbFLp6<(n!C[EDDLLBD!gjR at Dbd0r7nhakTV)PSJ:bZ!+hG?i at jCqg-1kGfsnLOjlnH,C5+6#_*5iMJC582ORhqGEem0pAXDO6^!8MO7t['gkVP$e5qD'910g()6EIGJWg(F8M#'CK/r=/m?_L9U5:Mo9f]Gb&s[&[&@Nl1kfASZa.aH:7H.6.W4Q<e\;Jk?;EH<<qes+11RrkDRt(:UdmJKg<WbR^_c"7h+jX).XoA_Fb`H at la5t[U>-)lRT_3HgSMt=*(/-dr6G^%.WWJZI>J/OPkLn0Dmb\CD=pe*Z=c%d:.ED19X5"_^7MnaY</%O)/Jf?CD"ORo3hf1*Y2+%(4Lk(0N=lM'%,<9J'V2]Mk&H0be5fZ*'E_YY5Z:O)
 176^!ju'0<nVR=iC'qJTS:i-WArpa;ErLV&Rj(p0,ELt?+]<<l_-37m=$btGNOd`)5PV,c."Bk$.6&@e`KMKo&Q!08.!DU(5;U*\Zr)%Dq#s]Xs.>YDjG7 at H]"A>W.IMX3DhR=nQn1T"If**dYh at TZ6VPWH,YYoUQ1SU5V(,%B[OuJ5<<od>s.i0Vbcj)K/NK>5+>IYK?q(n.Ko@`Mr95Vajjq56CdIB:A;m\CONedE%r-j\gjj9k#>'A,g5L!lC1eETXpM<XS(UK?e_I+ZNmL+eS8_aCZQ%mB$iatnH`&10,G/dhPYi`"KgeMEh(aaMV=h*$<=MmXcl=,hn!tf<bJ06cCS2%[7+$U'mO6C7hc+u3.kkeHhL, at kp-%%fa)=U^$JcYVJp6c"d:m^4GD/pZfjK(/unj+>5o_;^%jGq<DiMej]F*3(P4TeFY;J3=+Vq2S:BX)g:QA1Q9I"FQhph6.j%`43OA)oaApV<oUu_IWX#XLN6uU!#PBJA]9B@(kMgcMT]JM:E-9>ET6EI;:U3T(WRj/LPIE`4D^`!>Za4]hZ?G+S^lJFu["K[krC+4=hL_,CAd"m:V]W%VG#>Mo;MR+-Xq=X"k6puKb at q#u'oQ<"3O'W./2u]bo9d_s`//F(f2)=l+%@--W1Ms'6bJ8U09)XAF)q=*>Jp.$`I*bm\M@`E0!9rUe\rBmcFk(XT?I7)<)u+HfB^p*ELpZ&C3KFR<G6&%QaViCIJMDCFQn98!7Sh,OCS0_+1jgPUM<D'j at HCml/DV5X<I<. at V0)#@RMAK&)5l4XA#PRC?<T<3+He\mY`%+lRg+kM7IqeCD6<OiZqSd@/BIhY2Z"@a[6YV\"CA7=2X:FN6tP^YO],*/8I4HTDJ0rG[,&%Zp`86ElE+[T`J%JKSs^CW*PUC5Oh/`Y8-#l'Wti&1UDiMqPOFj[t?3&W^D5]*R+Y??"-J"'R at b'ba!d\/q(\n_3HYZlI"/&5*5blj_M?+e%d<UUTu
 XK&IT&$ZHB>L&Y">pYi)OeX_gAO*MSIE*Sg1F at R\[i\H3D8Tf&'^e?6CE3iDN:`Z&h!Xh4mU7]T+C0i.,u`'6mH7H?[Z%0K`_`._A]ZP?`!,9:Y=g,6B\3cGm:qX^kAa#.q-Ei!qW3/3u$4[[9hh>X)5FItQ'HcCP?9.6fNLZsSsR1/;gCZ:n"\g18HP(k?cR]YQLoa$S$B*_SK5WhW]\:Fe/T-q_ufZ7=:"RT;^f/_"sKQqJ2<-"i2$\9f5$=-09)"R*W6CS]:Z7puYn&EIdC\`f%>.Fgg'Ya<mrS0h\Aau_'OuSl&"Wjr*,!5T9Nu,0JQ)pQ#_coV"b]0*.2,=f;cX[@\Fu:$7297nd`FF_N*ftY&4"Zl$m'PD$)T\1ZTDA23JK7*W4huj\)g\N_.2PX:V(GP at +N1%07_d"lLN,"QYs6OU\$Uc'mGU?NL>i!/hb"Z]0[cmT=0^an2;.p#bEg3\/X<XElZ0t(",S`>rsDW+[g68[V%KM%@nkY_>HQKl`qX=j^tO<d<(DH%WGg!s at P_QALV&(8.q#`N;h<0=PcGtDM?A"g#a?'chut93THQ+f61%00=JCIEhSaZg*7#EaShKYA\Dh5daa6bmZ\6q]Bl\oIp#`2s+oTBM6Wk-=rus<W\;D\uYShr3 at O0oI=u.m+Z!a:2><TkGdS\?\dN!h!aFb^$LoP99cYdsV<0tO2.'7mce%ZkDX>l<aP([N);!G,=jTEm?DTNi!`//=pMm"'8bL0D(A6u3D6BJAIe`hsZ;+79 at i%g^\Bf\R!,D.d>B2(+-b3Bim.p(UY<lpK,E7uOP at U!6T,NIn!-B at H^S5frja6'*H`;eOn7eN<`'9"q4cc1Mspuu%"=tRHpS9(eo6+X#X>]:Dl`VuC'2m*fn,2:8^%Sa*j=O at 5d12j:7nh,cJ6"IjnTq#TYVB at H7Efj%Eh6 at h!Pp;#ak:U;M@(rZYle=B=DkP3,dqEE12,C)pI6Ar/3eIT;XjJVfZM7@\
 W^lrdH&D7A&rAZ+f*c7e*pb7+-NTZ9`@n6jZ<h;.&=Qr<ehDgm<EVK0eGScXiQ<P[GM4itZiFC=PdqH-%'s9L-,q.L.1+%kPMPX[9OTlr;4[k=S2EpDcs2RT0LCn2D'DK3@);-L?K`<3MkqS^*$"2*WebMpVq&E1[kABGKW8%;`W"hiV!Gmb[Ya`lGgNN6Y_]AA\nAmjZP?^HZH(j?f)@/9)HuFIP<j=^O_\o(J%Y9S%+)t(LXC2F)W.hKrH^V(.$F4+-!O'Rl8OD_:,>+C4C'd%3XbPJ<(qg<^1`3 at V5p4"]OG+#YQbV]/u\WsQ]7SFE4KiKen'!b,4 at rK_"#7DW2r5NL3XJ1mDN2uP1'iV7ok+_i)Ng4]<sV(*_oa=3Oc#DLWgA>'PI-SI(eii_jee9"0RT[e&YUFGU$?,UWZ4oeI8s6;GU:dU[DOT^_dj1ZW*G1_+(hGh%Gk&k,"N/ke6%[f[6S3,DU<)Fc/lV^p"^6c=)PlO?g1`3`U-Al.V3<Be!8)e`GbCFNn<120f?W9rPo>02tcD`*Z/+p9Nb*Xn-S`9%OVqekA-4BOp=DZOPOPl0YoCT3A1)/8;0]6GPPkVDkiPrFqc_+Qn9(,M44YWlY([F'VMs1]+Y30ZOi1]r'_fTW?2"aY6&H,6NKtpte"h'a^VZOih9[@kt1ZeDJ;L+^MhZ0(@A\ab<4T27[i!7:c5aa+8d&P*K8hNa,U0\\a2^/bYFE;WhfE(oHhkBKgHL0STk.l-\R(os`(SRYT at G<qXbh1M(T%6:@GtWuS7!mU;/EH<BU6C*/f$W_$8nK17o5$+*i@:SriM[PB!Z^:4P*fXTWtMiH<3l0\p0W'^-To4W0A2r&Q?1;T%&M-=,lE`IJL\P"_!k'2j(rg`2HF&h;((H+"cF0/:r,J<m4i;AK`H#s.rQ;1CZIA/;-]EMN.:V at .!ZSg8"Qn!otPaoJ=n??#qCdg4br?rVp at TY<.U6B;3Ec@<2d/r;F+tISrAr
 B''hYM=L>uR8TQ.r>GhB^@UN'3(^.iW%#[%]G8,?u7f#M(9O3H:pm!L5TqmHa$Fc_[g3=g`8bX$J1sd:@tseQA:[H1YX?W0Auc85<S&'"m,#8=s&=W`R[5$hVMbHZW_'S3R-WjNX<f_s8piXNcH";&Lo\<89M6W[YI>4uCI:`'@k>Z`jjG\cK7Io8LONO1DN`X&5>Q7:Y9q33"_ig5sjL:g'hH;]X3>o7u.'0==R@/%B?Zc^<$ln[ba78fDn5d+s=4:b^S:%&g^+$_p.70.)`Mr."H at Q4MFJd*3SO_=X>&bY)"?*5KI+Vl#\<GVn,<1)RY-#u1s^TPBGj`1M]ZXpUY&Hn53M79"AsA*hPAB(^N7fY0LqDmNQ0.p6)i_)``D2(kcFL`C>:]C/]pQ*=(f.[c7Hn<W`i2L,V^jkL0F*)h*Tc<qVd-c%AmQ`]GQZocAaFR/S/n1tY(Vu+1YcBi at lH,u\WE4PY`McgHC_*MXGA(g/VHH4LbEb!+,#)O"nH2,ko.h8M0l=o at 6]D(bk1"sN^V'WDu/EbbpeW at g?]3lM/Z,P)Dap[#o,FEuZ5TM,b=t`gQdluA$L?gHCY9Sl(Acdq?B#i at 7(LT=OAt9=^5MCc[5#ImUC at pS^[RS1B<3nlW7Sp&YDWZM^F+P[8V3S0-Bf6lHXb#O1('3GO$Je&ZJ6B>19L:6nTrABIf_"G:R0cm]%eH)54Ne0*>Xu'5a+6;0[Qlru!QSMSeh&(FkN;g[<7'Vner=t#.Z+L$)(p^FI`0;%3X>7.$VEgrG:f)_d`&L=Wp=Xmh-G!B<Y+d2$iq2pjX\S(=a4*"`5?Jq[ZW+e])[sIhjcP"IRG]aGV(IfdH*&@C*[%GPKCFOa+^R[4m+q#g*I0[&?91?M"iX!H'2E<&6].&i=`OErNFqV#92ts[?`Wh:PW3i?DZct>B4ubr at Y3c`Sb72;l;7jZ_/gp.UM\DE.QT<eM\V7T]0-:d9ciOok"!E[<eYGQ9.9K'@2S
 8WuS_N/ej`pZ(gHAK"luGJeu=/hL\1c>NO`u=&$7_H*-*meXAZLWZap6a;+fH0!nkna;R at E];RX7;[AWF&k1!nlg"+1)!2G>*%(>^b0>b4B`34L_Q*1%;10sqWMg8+.DUipp?;>0TG8X$;-b&^T\n9L"^9P0#6h2%M6p==C8.PZFI'(^J1H0X_=^,%XtjC(`F[NC*)C3jLCo:frb at 59,$d?AZN&4P at AXDa[/?k!X84;V-<`$FL9_^lF/6j!3X!_(f'=+`2HmAb%]G`479YbG6c$mV\3d4*_'92e8tACNL8_r4:Or8uTJ_h6`<Ls\Veb%]89OHJ%-[Pp<%hEA>#(Z:&h1o,`S%2gHfN6jh!jhdY&Mq\YC`fWYW)b;j=3S%=5d:r#Q7(9aYV>Um`kUbOkl_3's0S7HSQV0"dlW/ej&fc&,lLJJ'T"]0$,\QCff^=VAk$t>-"X7+LY0Q*V4,jl1;4%OHotVU)r at Ne`X-8ULgU6RIE:.f.qjk33C_Zbbi";\[(i"/lusr_(l',)qZ8i')`+";M25onBfnPDZ8B0DnOJt.=@^NIHhJqoS3]i5DOq5j=n-eS\%35=c,#A'M%<%8!$Yhc/e0gLfX&c!LOld#JX:plEj7!KS)Zb'U+S37B=Sj(g"k$LaVL=-fCbaY$S_Ri?j2R=>'R[CmGjqP9WB at W[#=pHOek]QWuOePQ;-m.T^l]&iEm\hug['hsXLH9H,c:CGa:5048"@.[ubW#C>U_\OMVfULRX<%G'TtgPK_dm>d2?!`Z*CoFbh/%QL/Ni!Ooa3$VM7hsC0[7t)h,jnc3mg_"'1 at -^:>%2\B"BH]B\'dL\Toe-(_`VU at O!jg;JH6%8P`3.LAV)(%@U/WRtgM?PSlK?;4IkCl+*Q1'3(Z`@BjB/Y-1-=t@>eTjb:\_k;55),UjU/,aj4&25RrJl+X"$n?WAE8d7Pg4iA!s=*IgsbF(>-d3 at 1QbjB:+$DUZj7$NhNu^71WS@*(g)Zr
 $_Me=L,X_'Nq/,Y5"30]DBZZ\Ul21E;5^%h4D6?KmR1KlPGM<(>qb`*#=%0K'QGdc2h1`hpL.8ks?mrD`#MbrqO]t at F6CNkQD"=Mmhrl-eMPX[Rr*PrGr*7`u^M2?]ckkdg/Dk$o5)]G\)co7+_VAJsSQ^*7&PS>]_YIRiBD>hl=*JbY=_OYHc6]/neh-p=>MF0RQDG5!+t/>M"o37:V^qA[eJta3&4lB8i1kHd$Xf_ at Ti]_3N!T;/r0:]''N(,0</pTqc/K!jHKFO:$D)B,n:9_EM7Ir<BCCcmk[KIA\RZ%6LrN5ne(OcY8B>X'W)3l4Ke^q$`k574tYT\G>\a6iH at 3G\Bf[O7A*B3O!fQ5If]P+8sh$Cr6uhCUrB%6=p8<h\a;&7;Gp`X5Jj;Y.V&X8qWOYXdioj1fLIbQk9c`-X%;)Ke#]K)><R!TZ9l<d)#g"T[TPAT8iTa4p]:<7h3=bMZ6#9j^*GsC[ElYrFjSqYKY7Zj(93bVnJIroY at 6KHgbuT>=5r!&]kdfIH8e2X$ZYYS]'STe3+'2ad!.J%gpIZk&A:o2%lZ$ojVh:an'UFhKo'iG>:8EmB4K9^@'6lh.7m;iS0i!Dg[Bg2N51sJ>F-Z-H7koBu(NK,Zk$+PQ-W.]l`d5\GE*d\,Z-YJ+8qJQQ_6p#-dtH3.0_Rn(kSK!*sEf_FhrcRL7;ONU%`mFeNsP'<b1ihr(t]g%X;U*.4 at X?MBc!m]s&G$tU1>H=*^oV&!*4)Ep9[XrNoX=5X<bO.7(TeGB"t`qEgL_=6uOhP7Wrp\jQ3eo1N<Im>l>n:SK(jRIR_%^,<,>`6EZ_nukd'POUKoj0,N54bVgJ+L'H^YrpQY1S7'l>o]3_dQ#W/<G#0Abc,4!\4+k2J>pOeRq)Ge\Aci)dbgU!hu8No1YuIf:Tl%o(f,3]ELGfT@)BBTZCL-%mL!J,rU!*>[lh\9Gs<uE<TEnGP;VkPcJDP]2^uaI0Wbkj`6,P?To5]@ce
 jA)NDA;)SRi,+u0?M+ at Lk!&o at sp<S@:a9Z'[2No/OQ:;47.YHP\2 at f@#dXM=6\4JJUKIt>N>=PPJ-IIc`/-dVbXhPYjKk9E2C*X0lL"#u[_qVAB.R4J!kG9Is7,\[?`)?S[jKe&&e`O(?0TRnKQdH#R6"1_=VNEAFa'LrNeHKESsjtX'Sp=sGe4NjZ&rPb6ZUT]48?b_'pY5%FoT=OfZ%pX,=1`1`S?p".cMsTW1r0P/j(Jejqo#pKos-[4^c<PVU_9lg(.(D<fjVRP'psZ3`eOa`R3+d#S\`3iq)PTc,Q0N5g[_1)'J$aL\KqnA^>oT_]ZJi^dF[`lrF+rP<dr5Qch0*OT5Q%l0'*;-uE]`sP'?:XSH2Ll:J+2ebp&MnQ?_;;,DL^qEhu:jO:*]KqH;:h2GMjHS at 5jl+rs<'sq1V?.eMC9>0>I1Df7&:GKm[e<3pcAaFQj at DQ=jnab]XJr`OIZ=C>[9ekt&E)B_W!JcDBE%;,M7ZokV%P8LUDfiQ0910A_3I*[!k]rV4Oag]BQeroPkA8M(&mCkLCW^\R.Z*4cPLm%ifhf4,PZi5B!=/F07Y(#*PPo at qT4*g at _g%Bf]f2kTY:XTic8=kY_r[_OK%.]Ze*NWM\XCr`f/0mBfC$l:JGnEI!WMQ;6\F8JXZKlb4qGjgF%IL#;,42Lg%f7$VsWG`i?NPG8D]r30_PIIMKKG,(7)fVY9_#Xoaj`frKh#5S1X$G67B/gMK#[1oD:Z(t"55j%f#-M,6]$<dt"ic:,[d`[kEYSlhVUJLcX1PpZ\#0D7IFV0M1u=hErYFWg.d6UI4T*OhT;HOfTmZIp5K.?WVrGcJ02:BiiX8sqmFch*)N=XIEDL_t?2O)=r2ArSE(@,^-b$6ATM7fd8I/'*s8B:=4qLu8fN0+RUO at ekp7p;;;rOE%+9tT83r;h#e[O<:4)kOM!O1N<r9(XRp;gRe%d&')j6_OlEN20plE$i#FUN^Nad'63Z=#afi>^Co
 \JW-uGUFTP:jOD=_gW+`H+rk7VO$k.$g63Yl2'Q&G=Tmkcd, at f-b>?*(G8]k#\=04-mCChrft782U3%eqXUn`/_8;,A7_Q!,LQm6q$HOi=0'.Q_ecK>G at ejsV:rJmniGaF6`8/MK;,4$K--O2'SqjD[4DNf,Zd*='b5NrZqd5R%T1%WH:b7>q"S>(?@HTnFlK"m5o<<KhCuqJ]>+!^&&..N!7)9%j(T,&]>+1Q\GFRn(VfS&;*,/pm/&D3l-]f<f[0(LpCfD'ROZh:]M5#TRS<%X<C?J78g4ea/@Fl/No/mFPBMYR7nnOJm1L!85!d8W\Wd#M*oFTo1%bbITf!X.0!8#I3(p7ijSfAo5OdSsR"6de`91?C^*-R0iK8LS%L6 at Ppu:Bc(CpDe>u8RecC]FjU\Sj.p(K>DM.Vu:Tr`_<r8[.[gL'us_ii58mf(3ng-duPR`de\43O3ocX2\t"KjiWod=)eD at 2<]PD+U'AiA)JB[1[EDb;NZ_,XL&kg!BS5BGK1$JFprG4t^"=Ujo(`LaW7?<n%$c-;;Yl!su2fYF1IeK?Q]T>#d4:/hZ4(e9&LahsBLHf4D8P>B'AM/V:4!0u2U)#H%5S:mH`_2fUe,o`3:pRJ6L4okstp)i0[I8rjPqn>^1&gbO%Y.G0+MT[X5O;<nWENZ"d!`BO+:8OtjGP3<j-8\ro]&PUM.\/),4^JdOCZ):>+&Vsf/tjSMfUb)'e<U#gTU03ITd0H:O*&^aI5k2^?pMoSM^&_ldrB,]h=mQ@(:Fa\Y$CfhV:k/*d$3^bH\18iE'csQ.p#6GLHk;ZB:h8bMiR1W)9?5RINXVGqLEZ/NJ;l\)_V]N=$ODW0"S=4R?amfq'Q<Vmecua.Vrl^^,Mb&#[6hC\-^=[67OgJ3d><IMeON0rCT!CDlXLdI?O&rYJ5N(pZ(7klSLP<)t:'41[IE-8bB2n2TH?&phr^2f'rC,+8/[Q*9mNjZ$KmoSEI]n^'^gO!l1[!6p
 9hHK8j@(*g*W#;h'Gr'p.Vi_(@!YCL,22*Jqp8mA\^gHt)-PH)'I):9E6l\/'SE8Lr0Tk:0E8^A^e@*33.bN@\a=>6R%lS>U$:cD,`IUK-tAC]BAi$ZH$`kO-=_ofTqHZ9ql*eseI&G+,\(5F5;9,A_MdfKS"a(O[E$G4:8P(l;AJ8K5Uu<*Z',J'W):.Q^c0s-QP<Q-kPj;tfgTig\bDfD^7ZFEo0;i>o$?.OQaKh07"$R*2\Cgr[]1F'?MD45H3 at bdGuTAF\<_<:eGJ[$G,NEJen3k-^S%(i_12Yc!1iE`UIp>QGHa($E`iq at pLFQpSBPVbS>cbcO96cBU!3oiF6V6``X/CC5C-!Xn^1SKV\>g.>S&\t:AU"J'ZmY1Gp99c7Y`V1O><h``u30o7%*>[3udS1Ku:WfjRJ3Jh/gV93*A_8?dJ\Ai;N7fY28hk&T+b)H73_ku[d))kC=-S+?ePr7Vn=8Wq\S^)J>)<J$-RJ.gdRClFCZe?/?WlYRuW]pJp`T-(-;Z"^m`6"3=<nZqU&-'VnQj]p]M=tO%BZ1n<S\u!fCua8o%8,WC3<Aj1Vgg_^,$5D$[9R_34o20-F@`+K*i1As2QrO,XNEmVK\UK'O4[S=$=:Kk6h&Z98.jK6"4-/4HELon*]FYa",!r<q]2p"1)F!r?'jX;c0cX$U!:0eYN+7),b&^fX/qgA?>[(D_I!PSCa.PUM/`IDj=6gCK>V:bB?k*Q9JeS-M]-lIUC^e:a0uiUYEn.I0RV/lG3\(7.VkE:S5%W$(SD.3L3Dg4MSH;0WiGaXnZjH:_NRA3[MD5r(>a-fc/8pFbM9b57ou3CcYC3q%ic,-763sIa1E,LMMLHoIA*+a\Jh?ljq[*sb-]`GU0V"PC:/*Od+U8OW^j4g at f$-0<0iqpi<a;71o8m2`SA8fZrei*8Zr%W8;o$.~>endstream
+endobj
+10 0 obj
+<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 200 /Length 24811 /Subtype /Image 
+  /Type /XObject /Width 200 >>
+stream
+Gb!ldH`Uj]Fl344r_K8gC4k"_OeObpO7X`[TVrSO6EZP at C5iQl7+tO#1;Zs?(d#,3e9$YcN.Es=0r0I^[UX,$`./)/%i at ON0T=7aIPZG40B:*3ms+9ER!WI@*!d)JF3aNOFk9oGTDdNZf,Yu893:;#*rG<1pNNgKp0)78]kd(LG<`D!Rh'rc3r%o+UEb+J/KHnQEJ':h<G::=]63efO_5.EH?/JjHQg["]!Q8ABC?o?RA]5^oG`.kFYgt@%Nmp/U*'fJf23#B_m*P?`:CfH'C,$Zd&X;2LJKJkT1U_!Z/6V3qX\&Adgm/_,/%0`TO\f*^JoF2Vhr9W*o6dl at h2m^?O]jZO'=JBNZW.6YDUg2fACNfpJ??$A+[Xl0tZ-&l)")`I0ZVCXIVDO"%jF,A5 at Mu9&G*_G'\6*hDaq$d)s(H4hp0-BPi%@K+Ha'Nsrio`2@/chqFLDdc]AofR^I"kJ$N7J1DkPWhI9NpPn3?Wqul,KI`*!otH.b"?$`0(thja,*/ekW3O[URglVD>5kMjFaj+=ch@^sla"#5UlV]Ck5dBgh(T'uh"1mW,a!T"=D1Q8G^Q&_QU0-diO_mfMuXIq-Q`6-ai?WFX">g4qKlKCA%q0X>AmB*5r9oqqY?\kF659fI@<h,jM)Vd\!$Ef)HP4:e?E3KA(Ck`W+V8_.S"$R&bubQ^C%YmjTGkBc[Z at PK4-a_#4:_C$%eIXk]*G-`OLY<#ugthobn(L#PC+rftNT<rED5p\.Bp?*59Jr.=G'DCDEd/Ad)u at B3mQC$rgHm;dB-<`2=KUD",l]SE,lN^`'/!h\fg\AJqXe^e+m4E0$i[/#ns7H2Ddan,N7_.6k'm\QNFYQYaY;Q\I.&][7e*0$E7s,LaYaZ#5:V6TYH at +M&L5jh$f<n;>#8Sj.7/#U/:GALh*f<Vs at Ums<s7Ro=22*I6d=O!qEN0a)8`iC?UQ!:\]rmg_Rn9de>U's8g6]qd>6-q1Xs.M[=s!"!chKG
 &lO1sSXbK\#0):AQnQYq!mMk#(='Rc-m5qqF4[IJ%grBT3Yp<'rbLfRT&?`dg*mBU7!si@!;6mIPsn_i"_7ZFUHo3.3Oh@^J5<'_PbDm\JN)^9`(E4nj=q,Mf-9g>=%3IsS6Oc4 at 02?1f[53cId+nVk>CUlc=NJr26,[7WB6l__0aje,68,19Q.fW6N]Sj3*d71e%A(g4mL4!k-]=JARpYUg.hdP/X?ciLHDJfu:N4B$/q;8?nZ8U&ts=bG'MlAhO1RPYFc]T-O9Y;'h>U.;/F9oH;lF#lCeNqTQl.R6-k$;::'1EN]X%R/,n2aPM]mAnBT%h)C8Uc at me`dW%WYg'PEXL!#'V\i\&6ImB',5aaFZ"OJL)0f%m%>imT=8J#qMm>[Rl")RSC.?pIDepdt]C%MTV_RUP4k=2qbJkMkM=(t1E)>I)"R7=p.t+'ldL;OmC?C5F0hfi,"VokXlSe#C`;ilra0^.g<WW0N4]GOK'WCXm6_)^K[l8Us#-LYC9bf$ASUNS at kfJ-U=gq#@QQ"c_Q5+6Xd^idBpn at d4W"0Kd1`g3A3bref.Yo,JJ<Vd<6P`bS[Tl^#nDB^TN8^.QPl`B_4OuT#V=>=U!)A0U),*a(0n,DIb)[ZT1-.+?c9];3'l"IC1F%hBq%.HV0ubTXQ+BsVQp74KX<H+(5_=.d!MB$@_8%jrcHZu)dQ"[TWYAM=,`aIZkb`34>-=5m&;"=/(qLqo`j/l!Ic]8CmUTp%2gK:!Ea$&J1sB]e;J2XPE2llnLN<%#N3(RIGDCVX`'>/;[YMqKTI7W/X9l66*lLu*=dW`'%AKYFe"lp&:8S-mAnmnPK"_;$^`YE1X=?;hZa^@5*Y)uf"g^NVB4lf;^nIM24<`IKJ^rCDOZCM#anNCR.8uH.X<AG/$T/5a?=L9!0(ki.ccT@<imEh^o-pi0a%_4;YHrMuN-b@`BR06>?\.9HOZitiJ.U7+/Z=CYh1'0N7(!V\"b$W9%25?6Xahq
 .#T9dCYRP<K"teO+eOMMZ#g=cS5:[lo#"Q?V&nYHQ9:%ikMo,+$(7_sWG at r!gkC?]?Kr`]WAK>MW7[^&\FqV9n1J1FGXXpWnJnR;'>uDtT#Fl31H@*K(`j:nNo'oMm(<R&L_&GeWT0RZu"_D;Q=_A#qAuNuKosR.(SAUHGkH%H#NCM>Ae&L",no)ip%"499:&CF]5N#n[/nK>HW^=pS*h"9G)?P7I-Y?`fP])8NW0fCu(?'T at S4j&;TG$StPX&UIh]UG at P1K]o-OrF$$^IX,#f.[JL%lCj%5"34ekmWhJdilW at KBQ!'q-X#*TlTo+8%5pX*HCBd11O39KptEZ]:8qqH at H7.BlWKfVV`(iFAX3e7j?1\NiV*PqOe-kXQRR*44;B,L=k,MirXW!=%d8766N]?U&8B0RiE%D]IniXa-^\RI':gj#5-R9d5sX$Boe^?8M[)3W<&mE*\X`SjG'^*;I=N%4AYXBmG,b=&]T'q?5c.-;m27bR at 3nr&n at O"I\Ad=*RYp49^Wk at fVcZ\Dj92R6oC-([@YnWP]*7a=KS6`)o/$"0VQg;@P:t>>DTp?"!ki54Z2jI)D>:J]`>p7_ScR)VbFiJ1L&`rWm0AC!]grp^^d^O<;jY:Tm`N_-SNX?!5N&]K55F\*72-B'M,8fig8FhWHBRCKB2(S8](Cr(%^*2T8_VMOjuNr%EH3+-ck.,Nha"2d&-RJtZD.^M1oL>E1W=j)"A`q-XI6na7Y9+uY+0k&0L-l[gX#adS<P1.aIr($WrR$n(X(e5/2`Bg&jhq*AH))o.I2`u;]bqfHS9o66rVh=-Q$Spm#$#$b:59"!#/5mSB.1_?H6[0fM"iM57$&]f3W!A%muqO&)p6-sH5PgKuc-GmuE\d"B2DpkO)Ie]W6mjgCI4NYSkhhpAB1k)ui;2aj%Rp at oM8j-::E2Y&%)Z=IHca)=]Y,op_K2Nj@*b%/Xs/eB,bW^&RY^J.P.I6JT at .JgT.Q"=`-.PqEQ
 i4ZQ!N?;=g.P0'aooE*m%(:7A)BlC9o:G7.lOI;=,$`1QI$r`%ZDa7?9823fu0s4b.,mA?uQ3LE7[o/[C'peomom+.t5q53G&9`Zh<\O9Se;?[]O14eEXuI*sn:2)khZM=AZ!oAC_,I?[ot9jdI\bc6cTNdTA2aqFS%Di'A+!E)ho`fX:%j]mK?U4o6D82#B=DPsLW;>_Pr#[nokH0SG*::@un<nkOX_kNtR<GpE.3I, at 1h_^eD8VH.A2hG,T35D@]qTM!s;l5!)D6]DMt^dA)8ZkuE;hfID?A':bi3AM"K;MJ1l(39+S^)s19B8u2H0jKF(%3,SK`I'_HL;*2o#O]rie]0/3/^;:[$DHg'rmJBS4o&D?n&Th$-SkmWJFicAm+;n[YF1cV6.DeP*8URjJl?AQ:sme0J:+6I)PU7]>%>X;9?FJ4g[n`>GqXolUF[?O$o;#8!B/9H+/deO_?TY6l0W1U6f9X,#FhX4ppm[-TsLI$?+d,D9F_=&8]$M,Q&gs6R\X@#2B4-c_YH<ab`J21$H>indgcGs_<q?,Ad=SDUs?@pV16[0C(Z7'>263U,3H:7?[sFa.<@f8Hm2njE?H;Q&>h*QJK\_UrlOIS5uq"r0#%+T=2"09crE0aQZ=n.bi)V]dF2&]beZ,!To1s1Yp"n_aOtCQ\2"66%hflc7R#JWYNJLu+2K$X?11E1YQ*s+$iU>:_'r"M9"=%9A*KS3^1>s$>[:7@$qk2q)YG`:e4L:BBK#hJ2K?p+<N[>]l;eghgAn\E8q:[RHS<ip3T+Q(h+c40+VT$uT@=CP+m$ki\5_MunO[(e#j:eA(-JL1"B([,;>*I0iT0$k"QoebUT&'1es5Mjkt[KS%`rTg<>:nU0/.)uc]@^)8N1@*MQ,WdMKt"i8P0S2b$'W(Id1Ze.AEsF.aOqiBPj2\-;/AWb`'M at QB*cfnhVp03BmVjC?F!iqGZsn"]W4C6)L+XMMIRV<AQ_;-X4+>@@RDIX9\
 Zim\FT2dd?4JNO,CW9b!1\p at JUqL+=qVoEoQ&<[0#5*`n'g!i&N1NQ%14R"4%35BXTC#g]T^3 at nq=o!'l+e"F-gMjgeJBlHh^5etum3a=+WBRQ2rqjM0YXoV^tOj]^d^)6aAVH54+Feiok/GkUs6TRStM8i6]JRX.`f(OpmA"g[f.rhEWWj]SE>a_0'?4gcVp=7h31ZJuqJ^(XA_sM+5X;$WeG]h\8"+:VKRoP&4T#5EX3ZEcQ7OaCk?WDj&L!!qS0kpGL-tEc!hRT^BNk-jV*Dh$[ZpqoMl:5F4YD-f+.AFhi5f(`"9#B5d\?]h8s"9]X1'Wpip)@&[XI(1 at 23d$p)66pu=I:u/<E'K]g;^YSSWLfVZa0G..$G7.%*'nEBj2=>/WVSW7n]7,VK_us`j)U1R]0krMB6/;J%5NmHaQ+1DH#6CD<cn(r;=jpLPA00$I`F^5U"3,lO?NXX*p"N)58K9\aq$&.F],*X3+YZ1!o2G`"SpH#Y8P?Ub]f10R)`8F\A\Ico(bJOD".kbY\i[iAj's]taG^8l?M%DK2>5Bo?\+#h7g%D<4icRGB9B#43a\V[!frjl$c\LG at O?Mi4jJZ/38mPjI@,PuF6DhR at 5JEcRdF2I_PW3ccqV5gbX]"A.#jQCBUB=WkTV$3R(ndB^99<)K'$?<KY(LbC7cl$&qjOaPh[_Wa%KpSBPAAc@$iBn at ce!2-plOV]sAfqF><6Rcl9Bq.6+^jjI!IL^%V#EG.*ef*Q827Tr0%JPVq*7?50SOX$alBo-\<2@"lECDseUVg.XI%YJ?&?hfNX6eb:%3t1N]l'f?[b]BA"g\fc,lh<Y<7XuN\HZ7$oPN at .(Tu,Id(SO)UL?1#;uB.I$!OW*W-R.Mi$1tSB&[hR8fh<'jJ?b-3 at A%keWFL'.lNDlg(G?'?SrUp^neK'_*=3DWl(JDk_tU&.6Il#iJTgV:i[^8h+6=6=mdX.fB.N=ej77`=tn1M&8G<&s,Q9OeqkR2
 \1,"V(FT36[&$e]`A?t8E!;_/s)PnNoeNWMPL4,Ph5oNSh8Z]@k?-"M3A*TB&+W\8^Kk+L at .^4c1,#=Bd2ON)TTtk6T,sh\EJgeRhi[A.%n/,WA;!Y$(MX^q&UK*@!H4F;RlH_j(t at KFfJTTEi&-!P]7X7[5 at d@.Whg[IdOb5c%*cO2lXHHA-=&LajC/WV0Qg]C-/f2[ic1fG^uPtKpq!fX2Gjb?3pWm!EX(O3O'R*lNk%GNE$!tmF3Zd9-b4f+551>'EjNoT at +A8S+e7MY@WdsVq&-ajX(!pgYnQE=4:g[T?):?=+:nkt3IN at B:JYtq<G'Gl.*Rq-/Xh5or]%$**0Pj7lCFO<S3/-ZmA(6s+bJi!]9&])JT+'(C'I)8+pZ(M3#;,Ee\FG[6;SlL&:]M]QEt^MLI].CE5`8aIXi!M)d$BOAmB9tNl8P/VT0DVr8_#"o:%fa'nSf_1),"tB&f7Y.TO_-OGY)p`iMD\O5E:Z[@HJnb8M"FJ_%EF3ju1l]!3QmOjU6ANad^0C6=r'W7ts&qt*_Gd\Q*$8clQI,J9&N2D/NV7.)+VJVkR\r=6!We\Mm=\l3uG\.UJD<cBg!+V8'h+:YSh]Wlu;K*8Rkdl2ErOOZ2$g77#=mfjgc+*s-\)YJ?`!?_@,?QZi at MPKXNjRgu(IHMgsK)YJ]=*"fGPGd8ejfqJ9$6?nHEh-q/O089OL&Z2RB9?/jMP=X=i]j:0'.Q5cD;8r<[IUfoq7UjAGh[q;Q-gh(BfO3PHP\QhM`AVj+8j$K<V^qW5BZ4=^[qocrnDpDqq8`0j(hu=aWGuu at s>ZTFdtJ#j29d.IZ9B\(#6\]:[(,u;l6/7!DW*lf>#&5])D$@($A^]lP98q1-&/oX[gl&iFHU_,Mf#!(@dSIT)+)kdKoitVqui!HhH*.No%H*E',6?+'9MUHL;<Q6%$at0&J;@QqHZ)g,gom^>R8^?au't]0Z)KgWr$2_5kJq/5\,oHiBQPfNTcn`U
 0"WTAjH(;>!?T9V:=g_)ItkNNGYucmlqa8;4+QmEHGbdnc"5s3+:1MXOpJ?AJ]4lJS+<r24kl:>YU.^]*E2qQ#B)\UnI:X;gU*:VXn(-[!5:6;\`$jZ26Ka7M,GlWK$VXaCU<n%XGadV.a<[?CC6aF:Qo;+L6f_BWjZ^RRJfK;]bQ at Vt\WdX<HQ:$SRJK'[K</#s;=idV^D/`b3,q;5HJL)O=mYLACX;\dT at Y5/>?!YrX"`d#[5]'_(JK?&Ck*`p&book\=:T7ITM?>oh\m>WS*W#QGpudA^NklGh#XV[!#p]OQqEV4?oSQ^hLB$&1X#p=&5Ghst"HnHh26?ggFd>6*5\4;;pXkS*/*YF-`CGFX/]M=oV1T^a<JI=s2to%3*I7"Fk.,,.HM5^,&+2XVjh(<6nbU?mcQ5-UleHZo:%i>ir^S%.U64;dU6R=&X8Z_+euY+kN*a>s)aAeRmbu(,2;n`id,,i.VIQXXRZ7o=<h=a3MT[W;B#kG=421:+='i^=%X-]T':8L9H2\n8o'uU#mA)p.b>V[-QifFIE:cC*GS\_+C(8<GqUgA-9qFLiiu`^-U2B)JD1![kF,#%UE7Y?)C/)`M:q3q)d[n(+)H.(^)O"h0H0UNIT)ZYH=81UH6?qe#qsK",pq$;&"7MGBqDb3'"j#W%Z`n__Hr.f<pTAO+Lm3JmWAp*kBi9c`aLVO4C0I6;mirdOGrG"O><TSsgg67F7P\1ZPP+:02^a]jK3>/>P%F%@EJ5X7O3=c2WP,C4OH^`&OG27ZZG$I0YS>QeRBeaeWCj'a/h%I84I)B"RidalW*rR(5i&BJ]`_RDBVE14+_Obd(Oi5,RoLV[c,L`?1D8,R[H'>krt)+u"-,fuHb5$/a&P$rbQkUfb7)B1^N.]j+0ZPf;%j=7`]8Dt]?&1\k-OS3Y+PU>Dh'Ib&=I#p*68+4:bffar6F'KqK7p8)3)RoqQDM%""Jg(;.f*u7j&Jrc1=GAJ/ddZ?es!
 G3aiB1WWCY,7mAa3.ZHF@!W:s1Cu>%KXPJt\7`^WHjMXWpR[W&ef"V>!HJ$jp.SYA2X.d%Y=G37d at TL`ck#9(+Eku>%0gr>#nXa[T9Qtm]WS?NE'!tthp=X)Loifo5rqk8jY5iD$Gg_prnCT at .NWWk['8qLAO/s3N/?cWiEu&_+c"m=9;6Ou9\3`JujmkB-nHmD5^*1EH$q9-0/-fnHV(A\*F>0'.=Bl"4B!H+3>9gr?=2lmpQT\/,-:g*'4J9Prch-e/?MQA02U15l\6 at RUSk,ZY8i:*+`/^uPmu`[QEej4#eO5uOKGsLaCoX]B0m/+nQ9K.HlQ<46%HH^J'sF:U at Wrfq^Am#D/)RQul[=F:c$EPV0X0Hr4e?&lJBEWbB9D-J9U;TQ0JJfXJg?9V^W9\;(=*.\V9I1c@&ZqBJon5]4*nM!CSYrapsY]fQHCOMYK9)jEOF4JX0E?_UHY4Yh+DCQ!?)\lA\J.$J[Kr<)=QS8'I(1e/*\J%ORPN[+\qT8Y;k^8F8.2JmlgDmM99mra#V'-'5tM0jBrh2?5E=%Q[T+]$Fg..Li4Tp1BLNa%;]U*'il)hShZE$/WP-iJPVXE8ld)YJ`I at M8guI'TOl4IPua94OLN3E5i\?K7R+T<fIZ)-q5GqpYn#iIp2EnQl8oM.mpKmVhrX%8nkle*!99sY>0L'N$E+j$?(a`Y8t:m1gIF<,Ounen9t0JXPN#,9>\01/>s`0XqcM"EZ3ciadtFltr\CadOsC5LlIg[g6,f;B;Aj"RUU<tmXD(BrR[$I=<*4L6R?+mQTuDgGN[-iLHC5h]Z+kMO*qL)H0-hb/C=B<$iE-N,S2HuO+7NknbN=EW^kd#=:stR0XqXSRDj6J at H_^Ms4D:d0$s2hTf]hdW!P?eC01BMeNVT,b[5HQPDILKf%1VLJOm#4 at b\A]4#e3KR:oep0-Q(2n`kJO^@GObY5a.[YRA2ZODW)Nd"i4#+!$g=\#T\SIFnEU$R#FG)3
 L[W$PXmiUj;B!t2`,0_VkRP^8iRuQb6js;<J[iS<QWEM'GWihK.I5EE(/4V<)`?&UF9!_kO9ZaAU%JM8;aIp-J#3&;mh2B]cSW@<EMOf)#d[FUp<cY7l+(n5$M$>Q:Hi_O:#,/JbChlQqB<,'W2R+j2168rW"DW^nJ$N>9n2&FTA at n"FreiW%/#^_\F2lH("F]N/1PK2TL*Bb3J2tO=[R,V0WIq+J[Md2jHr(p:-88"es^EVlS!A@;\oD'U@'fCO8bc#$_VVROZ:mqP\MGnrmtFQ</i,d.3?om%=iG6'*s6ETQeUBYKZc)*X6UYuEJ]FGEPbVOeO>@L\4'b'oSNEOLl@*q[53j7gJ'ZFEf)C:/b!><GM.^D)W!04tY1M^tnbYWT2-'dN-nICtQ:'e115$%o'<n4&-:B;g>IJ0`KeKgLFG-&S2b.kd$O>XDW?"OPobGm%3b1r9,a!0r38jPuj8AuJpt6H_%WOtr4V^%DZ*!NE[1lh;?aCnu;QW.bQF,e=BX;QNq,/Np/koQ:uX1CN0(.Io at -&VY=aKp'jroLkPUg&\md=elaS=T^4^cR<!gi2DA\h4nX]>=9]@!>Wn<:%8Q at PM/VP<!<uQWq6m4>V`/HFkkFqR9*ZHYBQ?E#*$KGC?5:P_Ne1nf%$SA_B9f0G%+/jlH?QcVmZ.ln<B%F4\l%2_";qAe#s9[7P at tbUfaf3UTX?GJMY6M[%^91D$!WFm6f,aL"=>GlP2QOAJEr:E5c\R%+<Bo8BF?;8V:AR81L^C at V0^^=L`r7V&JS\&rK<f8pHeBk!6u`,"WQT9f&B>K\"Oloi6%B#@)P66J[mFQ#W'4d;[tf0=E[oIIDcE'f$p;Gqi?_qW`?(mK,gpMq<5ZC$CCURDM-1!EY`g)&#Z&V8`KMs. at ln1I1!`)Ut]0p1iUreAk6b1n$B+[rJa!KgK"Yf*<?iQX8:<T at hJB#V#aW+k[o.kHh9BBX at k`6*5 at nad^6\!#n8fmlp87=ud
 l>UG69sd""0o0dQFD'TJFL/*j^A0#NWd/s!'0\r7('O#4/)VYP72nds'GrFns,SR:^7Lfr/*X1<V$StF*7Ad35CPL<Bl.HM!2C7ji:45VgMb9Nupag+fGNY0f/gG+<q(pd3W9t, at dh$X"sIRq]-(AME[e`7\]ejQt(7m!^=rGDfkO[bk0>"P+S/jFfaL4U9M\5Ll]h]9QKs&8f[NSgfUN4NSibRSVBl_$R.T-7e&?7HD!eD$hmLm2XQ*ClZMc#OGCIPnLVG/uB!o+;E at OOW;hZUu-tpd^\[>1Bp,-p"eb!Vd1H)d at -O[%520D-U0]0',g5#6T;&Aa94',A.Kf53g$(NVVLo?*r9Immr-W//K at sArdI.:pu;9c/CRAB?>&O=04p10e;JjINP*?h6n"=!*QdRnCm)KL9&gN&dG>M<*i18NOdR%IcjuX=("VCLpWCQ-el3$K]2c1oi3Z1`)Pg8RS1O59U'7B:$7`ii6'cuj at eOm)7$bEh<o8S`Tf4g;Y#<%8!>1!S3eUmV:=",Q.07VF0<VoC&P28o$85Wb4 at e=J(!sO.KFM=)n0[]OJ5LR.g3sBS>jk`4stt^2)"JI_H!VP)@teARYD2M=`Pn%H)9^d=+ATW9"ZA''9Xl3EKu6D+5J,UAQo/!\PpYFXcTnUe9t'+fYhBdYV-NSoPkO<rjFB$ZD[?Di8I=E>Y`/RRl at HGPnY>t"9<Br`N$qBT2.kP,^=#U+GDXWBN]Es)SU=j/Gfda;QH\7B<TboiQB&M-n*B-X:UhH7&<!k<HsbnVsV!Xa0`8!>+\UFHh"0?X(3)LVV=%i0BoCB9R+_.0b%i4.p^0!UF/fj4:GDA2HEOE_./%&;h-?>U<hC*dVqK16U^Pp2f-XN!j7-_a/B2Dc/rh26dYBGhIc[,m?e/\l"i*,kB0ZbasoW_!1[QdA\$=XZI'*%6$naY"/F_u@/3:?Vh3ARblFCqm^W5m#-G/'iWeqX;6LLT[O.:ql"6:]E at oL9
 SmH!n:=F0-j2:`&,j[&>.QaS12WqIrb<b[uj8H:L/@7;^DI(uiYum0;m'+Yk at i_KHof!u]pZ,Kg1 at LseL6/Ak?Xn*;'n3dX\BACti\NrkA7+0b1XJqbq'",5R6lZ.oa:0D"7#M>NFM^2N>,5G*NkV6:FSS?9^l-B9.'3<=pL*F)tu>cFo'q/jm<IZ>QkSC;K(1N*h%!!r<8Ku?['"eYWUY+jte#)2)rZXWK@,/R:9/r.'K;E?4J<rJ.7Pi9a=SXC,D$J,))>EJ(ln?E"tX$'#8khiALqBC<in7NGn"X7&f%E2*r5<9p>40""7<-LlMR@@$kpG6od389>JjMQ.$P^\m;Nr&0MmCfI,,%dnk_E[KVs3fNi7%Yfsn6/#r/DFRT0;C#"<'<9jb'gQY^rE1c40,L-. at 6PbE.6.O"B#g%1Gi<i,?V&3:M*^mD%<7Xg#.'2<dE22JXa<sW$poa8bKg_n*g]5IH+,"!PY33Rh7QL%`;EZn?Ra%i-I)B]B(0Y4(AZ[4L*CGA"iScm6/"9VYfISej=r&8SDsNgP9iQ85a-BBh;PcN,$I+D at hQFm2-&/JCC#E+;N0U:A;'BRs+MT4'THRuorQ;K#D, at _Pe0Ja1%Bc-`,ft at 29%WSsV2;rCYUgkmO_1'9GcID%V4c7`]cko&T`'u"Fo[\@-Ifs]XU_p at fX(6Cnm\Dhe&[$3b"ph)HCQE-\<<RAKm=h7.p^TQFDe&AN"Yf^!GqjF!EYr2Vld+Q<m]T*lEi3i+gpGV#jY)fV;ud$P[uRHp$?@JAbcRd((VJT\*!>3>;(q/J>s].]'!/A":tbfDWCHKc=4ED`*)BS'&%jn>fEu$B82X?/M]%;'Jh)!L*'0*C?uW,R-YbC/[lnE=D28bjk'jeS<er0.TC+O>W#)pR=?$<?ZPt&$jJ6<hB2"%N^K")Fd_UH*bjTA'N_%nAQ.%gGn5tCfnYfmlj'CH-oa`YU\Y1"q9>('qOP]2.pNmP,Ea'4d><%pi5
 am3cV(&qI:ak3gp(.^[$,!<'==#$[#?NmJC5'Ca&SO=;7@[S$l+apYup3a]/df;Ups;GRXb.6L))M]6 at s*eF3++:Dbb'uVCGh*,rAkP7+JcH0epQ\=JFF6r1lJejNS'BWj1>sQjC:Wh#XZ<YCJ,(*c at rO=:2R$q`D at jF(B)4N+bXAfMjBB\Bqund:<)kXimYW\?aWu?4M9dq9kM==][aEjE]GRfdg-,6V8g8e&fRK[uWFG6>>/rj'%MBE]YeMAeq+>-J`E2d9PT/m=,6n+"RQ.M"b'e>`,Si,ZRC']`6TUf?c3e5j/IaX[6rpQeBR;XG;,($`<U/4H-jr5>uo&\Io", at n:5XQirAARY6Z:dX!gbM?U=!_Pc%JHD)T-1<"me6"Md&I:]`5.)pegK6IY%6ZQ#>-T*P7<!7-%2H\AW1g6b'Nca=`UAX at A)o6"(TdXDRVOu?7g`u9B'O;$6T]`](r;4aEK3^4A*=qmk1i#kYUPULt6_D66g,T%GmBJb:drm7lc(!ZqCM6:7]B[s6CF7Z:dZOth.tmVmhXE)!Cg(Jsb#Gi1m)%m`>U]u]R'YJ^X:Qi&Ic`$^5WAK9.Nt0;q\ABRjIgHl'9oohnQ_/[TWpEQ/86H-m4H?C2?d>W^J\IGAQ1YU1'8pGT!oEb4&5mZ/BdUE>oW#3^KVi<4'D5_QF%ea3U1Z:LafGPbI$##XpttFD"HSR9CZbfP20Be9^YjKX3,rC9%LjZ)1c at K..!t_;P3-eaVce1^fAidm#d,.HUYQlX374t,H_GY.Ef"NGT63o,nJtWY7oDT5?UhMgABQ-DnT`V,J.KXiW.ETf.>f8a(W8L!?aIP!0]`ZLlaX03>Jbhja:gh%k$I??Bg])%tFe?^lmX`N.J?fO[1$"?cblB<n>P=>=?*;2>]q2:BkL7*6_scg43OK>*f8icotTuja1`U^!@7m9G3%#s3,>P#$T`QKo5D!EQD9]fMJ6m9##(b1T]V6#J\[!JMRI[Ket1
 `TcR:7*G/Wb^<;I6LSeH^6hW#rCC""aIs'YOSH[5m0ckM!%<qZ@#R,14?!\*SB^FsXk1qsoMkq+G!D,b8;7C2+E7O#CpE<5R1FodB'V_H>`O+'3mZ[UtVVdL3'DMJk\2$_A=NX+)bYGJ;K[`oEj=I?JD_L#U>'f+b0\)JaG!'EZX\<PWS0)n^W!gu+oEe#+)L3aP+ksFkpGT/."0^t?)Ar&cFmF$,j!3*,*6c-qEBEOl*3Sp,h*ogZ#4TLM.](%CgV5CHe_;bedShhMX[u44CQ3(0:5)gB=`?7nLpJlkZW>L7\U3Nh>C;k[8!UTYSVL<J%Bdq)?r58LIV,Bg_fg:=&7>HV;@tcr=4T<Y:h[GNSrnO+^B3AA\:To[HJrhX%WPBC2;KP-XPB;\Zfh7J[`*a;6j<n6PmiM)#BG\3iCY_TVMk84I]1Vd;88F^E3`'a=HZp^OHa=Q=>b"fco6o%qklQZF?f%kBOTp'feE2`>A9Ia4cV\XnS6cY$+I7Nik.U^pi"!j$RH at InuMF?Yf3N;^t!MPm&q,SJ,A3*?eg)JV"nE0>Hu, at 1_tC3!Sb%1>19ZH.0,_s;.Z#7f6Z+dM*jGi]:Q0)XcC#@I7jG'EM_4XiRNZ,)\HERC3!`afsn>"1J2A4/E6e&$C+K<jVHdSku at f^.CH1[DQB2P#3+`P)L/.9</2O_ZPL$^ZoIrJN*>deV8;=uq^HX7K:7pj;-Ma%b9uC^iFDV0X0jsHje;cW9t)t0MDAGi^bI;#E@!!*"j-O:Ahb%/dP++"b-b,-0!j3-RWj,Z((IGAjK1/Io-.[I14]p0s,AAJ$=;;e7f?<3[nOTfHF#!rG(mYr,td/pZ8+<:U_Q]OQrTo9?Ps^/Ft`sa^Ffd^H[I-KCeFIu[qAE(VfJ<)\8'QHIQR5"j/^Vq++Eu.3VU#,Q.)nMBDT1-?"O-i;n_U#O/oZPE=eARPt:1kH0!ESoej4b-bLt^J$QsXR4&ClQ71:A_Erc"nYD+)6
 ^--*FMl+=U!DX3GdnAefMA]aq_b]ha?sREQ#<L97;5rLSt[.c&hc;;<gOO?bl>!Do:9*h@[1qEim0Q%3W;Wk`)<\4SrTKb,mIX\S+dC6_H!U&WuBj3B(u)I602e]k6c<,=e`seRTl*1jQu7_L=<4*<n,jcoFBg%B4+giW6effXckB at QkuprNst'k:].?n;fN?m?FX.kTnhJQXch7;EZ9oAnk4(+glcV4N2OKS[f!Ao(?W!8hl]&amHi:KaQ'qA3PRikZ8rYdFsthL+1O'.l(UHi2iY]Ol^t;Gd:HQo40c#Mrj^.QlSII19oa",1K,`.8mn6mVpZ;<j"+SI!^a2"1=Ntsi4W;2jh!^(TMjdm+m[b*gK+e at m$c[Q.Gu\WFA&+QesC)O3*l;F4o#Pkj=%*Z[U+(uX'_^j:`kJJ)Ng?[S:(6u$@RcrCD(?sn57Il&!HV6<gVp/Y&",[3s'=PT[6##DsPJ^RmL%(^S6N6fcsqcH]8EZHbE,u%&+kr2g)L6Z,<biksRXE,-'N#.nfQ8H]?l'RUZ3+e.,-U(Xtde@#7 at lIP(G7POktl at 66WA8e$[a8j?@_k+SKXcEa%oYF0tk=(@54IR:kI9q*t.96MrC,bCYP>TjI/%I=k*@VLu%e=^Ps;k[?5("tm)X4:c\TR\>5Pb2V;$*(E`;o7U=&"S:(4S0V4+qa':^$]WZPu5tMkm?'N,Q3Mm9RWD$(PO;gOiN2Xf8YB]<an4?>\:6?#>9%_;4)L3bXfn5PE*dWWH)Xe19QSX-nhaD<P,6u at s?#hYM6DbR:42Bibm1E3Y5Jh;ue8gB>BdK:$FtQhUP5jS/R,gAD0oE30`C+om at 4`nhHkATc)^M at auu7rWE*hnY!)<HrV_D9nRj"<+?TOV.<fg9oUYg at Z6,#.1shhGQ67Jq(H):moPP:3Ys>])hQGR9Dp32c1%/fI5N<!r`Mlm,piNP25*CJZS7<2Q)(#Ts-M;bq!O?.^X+aYKKss%UOf\C$Dr
 Pi1W(;l`'^/5GF@\U/\%7E*7RmJ!h5Y.Z=,*&1)_OG1C.U;($E!Zb&;cVWa?'0(:WY.f]>l(A?C?GPQYBcM$7.<r7HR^N%+87ZM[;I#OJ?V<NrU)a)+V*nX\<N0PW96)HqZWoa;"(fTOVXFBGlu=P9U:bOl#g4C^j0Q%,T=53T+0?C$l(e^E`ge1`O%"Vh.X*A)^t712aSo(,\7_JB4)&MJS%JNHP"Rco`>_J=ncY]a7B%bpf$Nju)lr<HOJg2qIndR]!!831!ihsed5Sshc1.AE8[r/QPuCDN`i'be3+oOj+6Ni2JjBMi1DDR$>d;P-EaoWl>+-e1T4-tOPX/-1sk/d%"5NTPgCfMn^-D[LV>m'</_8WPB=*`3Ru;o>e>P,oA36RN4\Uj!A>2F.U!dH\j9aD(-Vl3&pFMR$oL=O7tLlVQ7dUbRHs#)1L@>0uECKA_UbLdIal(OcOXBW0)Hn%r*'G].nX<WQAfri4P63dH1/e;krWpemaMCru)7jS;Brq&2rrTn[8*=\`lj7._M53OFl49+'"dk56ZXYK[*qq%Y>(JAM3Z0 at QsQ^u!A0=P4R3`B:38M,q3H7S>A_=!\/V6fW/PqGe;.h?rP3i+6co,4UP`V99Q/`VOK6)I4k*rXU7i=.bf$b<C"8fV51C)IU/m2RDGDMc,)1fA!;"0$CI[W<0WYD./`aej=B<[20p3.8<gf33tR^!nV9`#ObYHB6O*Hp8rip at lukKI!=2thfOERhVtOp?>?&Yel[!mhGWB<f!o/f_.H/AFUmM)h)'SmMCE58h]4A%AF[2#g5DfJ[&&/3Q<e1Y4,nHpTuVI9Ut(M8FS)C(jKP5MctIHj.snhbUrn<<c(rQI&;[els)9_12jtdhG!%Xb(hdr29`!\+\7u5"*#=D^5<RJl0WqWaSFJ5hpe<-BC@[J@?;;0A_qO8.r^14sq;`f!&hpM&8[,'&_NUfmeS&O#j%>;-n!*RBp7L>1hk')SL#ORQ!LXB#
 2H/,'>H-Zi;)j\3[#Mc=b/'&WCYa_YofY1t_OD/!PuE<p2boA`Bq(Ad^U]Q1:C4CA]ff"$/+`^)ai'Y1Q,0/1XOCES0bTc*/DSc&S!Fi(B&KJpb2sVeP%Mb at H]t?S^WajL6?/hE-s;#kG,`*;:>79jJMaKh0hu]tn]=q.jpsXpLR.GZ0NCR.YB2jho9AW-2jS$O\2nrqeG/K<>s at u?`No\GD<e),PJ-jZbar1K*:tilgOj#0G*oPBCD'dchR,JJrp?.lR!jEu>`F/o7"60L3@@WtZ&_.RGu%XP^Tq?ok/)b[40"-p/-cc$KlYk_4[d,>2,Vtu=ab&2&'O^j5r6nfALpQH2u\d*.jMUkQ/HG<X\kaQ_'p\L-YG(5.f$gr`ELVcl#^7rP7PukX4t?c_UV$aRX1E?">shP?T#OA$5kS+&>+\,io.4RD5H,rghP+K,F`F$-!M\_?'%Y[[cC?8(V0fU'dePH3G9b6W?V_q35:o/;iE$EMaB(-=-r[gNl?!@E/U.E/2,K2c!)fh*S=UrIW97+fCCH1!EFS(34XZR,+9EOB96J;-#&-V,A!ksZ>3SQG5oW[6[A.H>-e1a;P1-j&8F*."dNRX]RR01. at 3d6VfL/6PN''LHe(9P4Db,%'U?.`"plP_TFkJ;j*_JK:s^]9S&E=Wm<*'6bp*Bs);4;]1e;,U:Ot$-bZ<,;>c!!X.t.-+VOJ)#>YXUYWM`m(3IXeL=u<Ch"npM@"$m)mHKe(Pq.&#__]+0L=_GF6PH0K-L5[?7N^9X=3-b5WLM1#Qb-NaNF-H)\gJ3&C2"Ya)-bH[Bd'KfV*&LlPX!(-/Nu)()Y2C?gT%UZ,$3F19;f/G)4N:1!U&NhK5)M2HZ*?1ddr5I9oTQ<kBYgr^amRZ`/92`"Mom^Po&2hWr%.K#s7rWW56P.ok+G;4R8f?d&b at .0E-:e9QTVQqhaT"e[lrN.8T5kYc"f\[)I1\e06t[cH/>:KSBdaJc8iI.I9uThQb
 gg4JsOME7$:j82NU;lJPTu&gqZKF8rmr8J$*g]?CGa/'N[!in)iJh>.A,R)Ob?NSTG4\Ck\qQhg*&d_;0-Kn(Mo^<dG6BE=uMND&AZE=*DSc'B]sfF;$l)aS, at 7VFuGpo,^urFFUl:a4n%nc[f+jK-JUf:ctK,-r%0^/!eH!*OL$+C(R3fFa&oGCoi3[N)LTq#f1#;^@f3G4"V/BN.d%,-,-hlcl.fm<;.&eI`1:`DurQa*5Ta9"k(>LI"?[!hun_KR'(2'2,EbD0NP?Mf>0dtTO4Bb#uPOZm-8VNiVe^68<PMYB=M,la/'$uI,=k+hd>(6PKjEB#$P.i#_(u'4-'FOb5tOk"GC<*-'^%>9&bo[oO!rp'9(K%Wc?DV-]LV&;*)h;E/pt)a3o&67\?hL;3%NOD2nLo+B at SnWSVM80mIC).i>L;$r1+=RZukkbpXa^a<bf%TA47A9 at 0]T<O6uL^**hQ)XJF,m9>DtR`JCj^oe%OUB4RnQ&l2_bPX>(co>WM:u_NXFgl!FL`<T8:'(iAp:+!.Wrs/K1(gKU+W"L5OX>^r%#gm[ECSZ/-*E\SP*kg=FPN-%KaT*_A3"$*b.MoVKFi2gBpcpUqA&V<kFU?kYB?fF<*H<727PER.%i>m6ph8Cl?\hMe0OJ3)@\.eio.TSDdF!@k^><M at oFpO[PB<323lBX]e$<MEUOG'"8q:VP&#H6M+E',*=Gq\Y)+:3qL^Aurc"@XV:I1AX2gJW>1kZlF0JjQZCZb.Cn&*EbA=!-Vu0>M5(CT03CH5j&u?(CV1m\s/-XJ)narJT at AhM?>*#)"p at Qm:!NJTH8o)>no+p,QDCDhKUg7 at ZiOh4Y5%E4Z<(<*#RhPcgGF^ISV3RO5G=.kB'jBtRql`,*l!'kWY+oomhLW(FA)+/0 at r\;Eq:_V`%0<_iNhj5EF9OGE'H:#S64n-5n7ih<U24d;3G`<$7/)t;d=hS/As%DO>Tne?Jg#FjEM_IH8f3BD%Beb
 dQLUZS"A:s-3kG2_8i;*G[)8QU1nbB.WJEp_VX@^Tp2eouB%]k^Ku,CTbha.kX."]I+e@"]2O_9soK-m3VkW0`ks5P%(sr^ehQ.h>Ko"(7Z!&+!E=#LPQ-J<f at +6)u3,,`Z>Rb7[bZ(lP<41rB^N?KVBE<XZ">>jALDfeL!%1RLo at 0fO6s1!"Y,[fNCb6AYG0t\WL$Y:T at GpJ[<6LNNN;u)&K92BUEj0CbRnjdXebXYDi8b1rGF%0H/AFL]Sj@/0&<37 at bRmqI=eCh<iu4)r9reNN!_^trdB?B(!0ZGBXauZJ6[1"VajcjbY0N9s5.%HWcl-OmF2V)"l7(suhDB1%.G\!#Ul!h?Goj8eR"n9-E=c\kHGS.";Vcc`0i'ZR4jO^AIb2YQo0ufH(5rDo0P^f*#]!?)gn]3:L'V?U.F]\m0Y:L(Ap$RBG:dl/ENT`Oa$)[?>\.F6c^5Td[mRnPjUf'lVP>S\+3fqR<qk=5p%*%0:8XrP/%<Tf(TnI7)t#7FhJNc+':E^5BEW*;M$dBfk9Ue>TQHb_BdSp%;DokC0)M$s+3EIkA@*"Q](.YrX?p*dXJl4\R&8#rMbI*)R>E!TCNGH[P_taGOOrR$&C$4cgEe-"L4\"-1FoR3*W'.lmENEfE0?&V#FSdm;ggW(P at Fl='Q3lN&-3J3ASO&Fd9QI3m#!i).U\m<kR:'KgZ[#19RV=_Bl=3aI at 5Mq,0e[VGEqlWCu6B@\)'BM0UT+fbL525mH0b7 at 2Eu.^SK[.m5$#d8m,::0U#cO2uE;`c%,e]V'5.9U2Z%.B%"bOXd"HhN)=C/Rp+RZ4*aHob#kMlG7m_`ZhpmQ5+81.1-Ts&?D+B;]_0]L=b+B2D#:"bG?d`'CtZ;P98B1*AQ,&fA_5OhmH- at QpNn)[h+(ZC?/t)dRWD2bc#7$tATe7rb"&KbNi$E=i'F%f?qI%Cj`SN;c!S'#7oO4n0El/@TBml"+^F>lW3"PX>@SI<FstR`$be$YO
 /5NJ]Z$3gqQ=Wtn/I:1Wo(psL'jso$@TDVdW!YfgE"gTB:Xr#e4*DAn;TVKMclk`XHKV>Skh2YLN(cPmkHsSNSX92^_=/r;G*QbpmbOBg9=%nT*qfRB5hiI[#IiSm50N[]7q#"A#Y!ZAhsOZR`5O4g6MkE>-p*pgCj=As)_kS_-nt+b,ujk"D)WpA>.QA5qq#D7T>roAg(-n<E#5#\(kb/fm="Ge832R"pA!81;YP+5j6IXc$R2 at G$GZFEKs>qSsp8A[+4N=\7JgAN3]q[H[7W.HC:I0>D9+fERj[fq8]XmaAQTfZAHFPgQb<5S2=3*NpJ(ZXfV4L6`Z0Hr735U>YVg.o\rET?un81?mq:[kU\f&K<(keoi=['J8g.Gm+l:G=XsiG()6=@hj%./'?@#I'Ab:C.f3Z_LsN.Z at tt!R)_T`lbG=@M(/F7?B&d?9/cDZil^!:77>Sg;dd.K1CTN!HT*!$Fo_;FQTAKS at M=Q*HLf3F,l'"aR3K$fJdgZ#Ea-8 at pmi"i-g-rutpF_&)%4rtLC-W>n>t88AQ0%iE<8+8FM76dcc/3s0f3\LR)aAeRCrfhRZ"HWq=C>5oI('kN^oSlg"*eKrm$%4gP>a#^2K[3_`YJ8K8k2[I>*/QN^91$Z<S6F/eGHFSB0HFo'b>cb_(TR5PdF.<#Bb'FdP#^C at r09M$W#Wlk?BOST[9R3:e_`Y-"mICcZINK3eXOt1SSZd3(=0+cB)W%<Qd6>Eb-`ba,A\*bMl,pPi.PWqY]aM+3hRIRf!e@&Su3*rfC,Dq><kZI7dJ<J?Bg0\;Vpe=/iS.T#lf;;X52&okT at 19&hqd$0,$P""gHf^[g76Xi"/ZTTn?LUmj\9I=0X5BuX[+=`dXn0K%;aO97nY2N>1Z3BtQQ\X6$3EA/>P3RubN-0BGWH[KW1Y%RiG:i27Q9mDTJh3YHP<0B`fr+,iZn#qSeb,!g">o#MrEBoGPko>*=.j*k`G/kB15JV(dBbBH/im+
 W`]EVGn=uf/_=m0%n\AdEaQ</uYd;aJbE4(sH''GOp8=sKE?B'=k+l@]/)Hm,)__ILrNoZVfN;&pq-R1Jt3L0eI#gd<GUm-TQ8X-U+VhcjX'l5e<M at c6&?apP^Iu_#oqnW%T>f0K_<I5,3,hkL]cCl]5e3n"EX2VC>E8OC(B7Z.q9g)]/o<rT8E'\JHBpAKA>$[F"<qS@/S205j_ppdGho-C=U`F(ZKuh*<G?fIdpYYPsK=e&JimhVdCrN-((t=rtmu,EP:72:B2-W1:,_?'IK%u&;&_+%:Fk^3:;?l8^^_LFtXH`!T\afLq`7loo,N*;D)50*IR>[\=Ar,/Mo!h:dIkj_l*>r)G.k1@=!tFZQ=%CqXSX'u?`4.S'ZB]Dl=N4>`E!s$jHGqBE^A0nU<tjObY;W!J,>N^I)'Y*\DCIQ2.WJJ':-f$+RY$GI at 5Xe4$s&,n4fN9gZs at KB+ds8%C2r=mMq]ncO->-Ih>!Gj!%gS^\>oMmDQa:uh0e#u>=j8H"Y]?Zd&Pt]W$XKFj6!=a'*(-9jE.Y)QV:rX"pk?`Pki))j:)9>H^=C'hRR)ui2RcG-Be<F4_bAKFGhBmG-\B,2:)\GjD0t)e`GI<dU$;pHrlY1HhP.XW8pE2=-l_]_/%ZJIsF,dRh/ZYr7s;`X0V+&+O/;@G/fC/3#&T3kUK8-BA)miIR4CbW`S+qlg5Qo7YB"Hs#X;3&=0_IhQKmrSd:gN*/%ZN*SaA!%ZMfPEo!mXqXG8I.A90H5W+jO9c[+nBb'W.gfqCp@\V5'Em$;/Q[ir>C\`ZC_HY#hJ8,(aYJ'r.QL[2&:S?H+&,NQXcg+0i2AT@]r+_N=*1P:'dmPXk$IPQ4A/^&lASg!fT04IO8Kma?%rU-F55\#W#opM<$E1 at _?%8F/Dm&u$e*m:<(Z+iR:1*r848BOWI&t%Z+.ad]%R'gQ[nP[+C]EkW'-I0LrVaA-cRm<^]:n@^MY0+l"o63h7*p/8q]9ZgfLYt*
 @pIa:$N1<.*P:sG8)JBEp+B;N0>@D?<`QcieX?dAjH4ki3.1%9Gio5K@\WFK_rU"Rp9A`7Ot.$TF[pbL\Nf2K__ at XR9:Jb<0.O*"l0VBW'p54Hg9V4\5_f$^IsnYQ&G<-Td*@,$"LQH^^Fu%]4\JRbE7rbm\nHJ'3cffJ&5fL3T!s8$hC^d=D>nT=YHe-*L"ep?2jO<'%gB(#hFU:R1Uco,\r*(DEbb'f077b$.bXECnS9Y)q-QqSETu3F5<\\\6Of4T-^P<mF]ZgNO6sIeio%mf)\)AnK=gUKPE4&<6q?_&3RRde5PrsH0AlGfS,S$6hY9S_i..Hkm3=eEZjC at fqmlR?M6'$TE8k:&HS7Ilqb?YCnR";0Iq%PdPmV9V3h91sAZN<-V)Y5$=CG*Wkg5NPe&k6kf^s><*U)(?o"'6Fmk-/7Rt]5;1T at r8VQPN7Kld/T`0.$tf,VK.FtC8V$s_=9l"uca:9s%6pOD2Z+'='0,+t2ABJn@!F=k%XcW"!F85XPGUtI2d*]?ZTHMN7F*K,j$2f:3/d*cI,.4q83IsbsDCSY*H.%PLH-J]p$[[C>r`7g;WI-a0[M`kBOBDm)&gi913J]aH4'g*]fo()aQk%VZZ,#kY;oB!F?lJ)IgIsbs.N_poNO]+YcjWe8:'W.[s0;N/2 at ah\^5,E7V(0C6[rVj><eK7;M,H_MuM&L,pIsRP_`KK2bAhi4c<'WmK>E^D)."(P4P0Wj\RM8h\:\O+ at kM(XNqG]?hN9crDIeiH=1;C?4`@GY#'s$RCZC650&GaT6=J%?hlC1GjD/5C3fba)$S`\,!V?j,i6H)8*_R5V76WU;a2FmiTfq%TSV(GZ7QU[ka`#gGM>FE1;P*FIEd\eGRR0l]$OC!FSF`YT'B(;rIe'.,>dCT>QjWbq](0Z.F`,p6c8]3ke[<YERk26'Jmm=YpNHE5P2'[h:/TBtMl2]9ZURP#tC,uH5RndCpg%ED^+Ct*`lGW&f6I+&8T%
 rqfqsV++-W=W;I<Y:tN%RJ[ZIV/5^`?As#[(^ZnM3u0[\eZmj.3?@DaGC(!^uQcg5$Zcnhn[SVMe-NbfoNia6hc^d1/j['V^=3jmpc9$aI(HA)I+-Mu<Uu]5G:\1OmhbTA06GE!<g4VRllZc<G4=cPKabVuR[B;L'"`PWGFT;[eO"BbESdk- at u=IUeotH?1XfHZ2)A](i>jE4)@'n!0/PQNgFQjFHN6^\d#_hXXP-pA8darQ).T#O`CUmD+.cM&,uh>HWb]I,f!d_h`gG..W;dVpLt_JH at 8pr!d=jWuM'9'7ed,.F"]kD!?MsgGX6`_^r(SPDV[jkI,:[A2SJ*kt+WkqQA'6l-T;KqVm8or-gm7Q6(Ku at mL.9^l7m?nC7"BXXbK]fS)R8,q5-<6.cXkoq\0jX")4!X`U$sEZ<R(fX9<2/Yo))4j&N[2ErKcj\V<qAS at FL]%N%CM5JKS8L2a?ZKc-2l_m7bC\t$_&_0RHCe*^K&N,\om^%:>d\+O[J<1#$5mspaH[</tieP:BhEQF%*=QdC@)p"4oe at qAj;EtXiIEP at 9lkZmo73M6nFMeRI-uJkqllp!P>]GH?ACRM\7/P at Zhc\`'U&,'(>U?3e<NY8?Ja1JQ423*cJO&ia9,`-gtBs at MHcJ?.8BPY%*u1h"kLFB/!MRRj-S&:FBM-=2f"1:[3W5$7c#kb`](>DZ98_;Q*1t1UmpVY]sQr'?.(c+N`GY*s7A3g,nnQ#DYX(R?2%!Of1YcDs&"rQ at n2r5_10N?E_mWfCd600fq"&eHY67:*cfV,/6Zsis%uBe.%F3+e!:,El>%h,eBMG7D;C`>;t?oQa2MI$\>Z4bL\a$+9K*q>*A6M`15C1I`YkGj!KDU6-0Csq[bI8CG"UoTb7?c7Q7K^ph49=8]gL+0ca0'"UogOC%V5N7f19iC6O[$pW6,-KBc;7\@2>^pKsea8IDS5ZH_F4272%*SR\NI'VBrQDE1qltAe&MPb+PT"X&Jf
 8SW=e=jJJFH>c`RPi&mkTl!W8So.RiQU+>,JKjpY4dK7Wm45S!Y5Il?7N=g^l8J'])5">@:8+R%6^3[P%aiP^TQI_u*V:pCM.q!hk,jA[ErY7u*?8>AGXlbd\E!hYhha]qaI;4KcQdFC>BK%fS`AT,&118+[2?aQo>TNe:ZSj:1g at mi)O<iG5YBrJV'LG'F3"/oP6H+NHCI*>!`Cc#=-*b)6SUL5#r6B6PTZ/rMhm[C!i<lHX[to7uPM=%S`Z!4BR?dI`\^,Yej4#89Oi=h\1"t!5hD9n(:9%b\a[TZA6pJY8)4NBJ[Q_#"KM0bGK2/T%0X30`*^/_j!]0=5!t#m^O,tSoJ1F378Q+N)Eo8Y&8hqM;n686N\YCP1;;seSEn4BsjhD.:Z*`Zp]g[=M`ZA>*@d.uZ?LDEp",`08c.=;=l%5WoEUOFN1o*^@F!M2\>*0*phi4_mflc:n+n]Qu9krn4ec=R+?HTj\WsD<D:f<?I^o;9e9j4']En]SIc`HHb9HK\KB#r*7++&YRU^;#'+5c]JPc/e5I^s]iiG(`thn'+Ojb(.BkdW"++(g%Jf>C]qnbG$qR`2]HB[UH+lQ=Q[/<bfe/>=fm*>D(&QA\X-gM<9)SQVo0C=\@K4c>CJ*+3_,I0o]Q!!FmUBp)n[$6\A:>TChN_W-)p!P[/`0N#@0n+L&54NWQNL3l[/VT]o16*4._YE->[:![jX^m/c'8LoWFN1KiZW\RV^*N2O/2uuRIih at jjbRFT?6<0jB<,QC+%.$)9C#l0;(MXJU9_KkdLgrhOR0UI;Q^O1dPM1oX?\$'>J-tg:jlpkY9IeBC at 5!3A3YM8tFOq<m,Fa3qMdjuJ#@n<1oa^Ge8lEl`-u\&i_NaU?!A:;4Wcq$QH<79oRe&&r#+-$r$9Qja;N(t?AM]@Wcn*R:4 at o@JW@^!bfVc#m^5:Xf,$md[V:fYCV9h;BGj^0apI[,*>QofE;':aK^UiNQ9ugedPR.`V#b5)k]
 =3]=5coPSp[]JCB_WF+^]l`2MJ"7e=mW*oY7nTjqqL)4!)*h*H8T>$/1LZ at nD!s!b;=4s.lbX!OGQPVf\lDMQi8a!2a,Led"gN)R0%F8gHPigaj6UUWIH%6*C,=Q=P4(H?mKlHDkpG3r7Cu6<s8oEr>0q^k;gG*g=`_)P*c*:'h&6$U7+i(=1`0XOBnU"d[C;+BRrmWn0-d')II)5_8\0 at a6H^0"TA=(rtjZ*j?.j(h-m2s<Wn""-8eA3l*:iHo&=&GQ3&4u7><Q]S74M*r.;ZF=<*/5<^IGtEJ[1F6VVr^NVA#WrT"eA2I3YgcI,KpnVb0OcT%*ma[j_"UFL>c.W:%[?XU<fbDksVAZDa."?_W2hBLS[V0ik.^#H=jKim0nha4Zr=nYcr;AsEP+rZPQ"/juA+]OK<.t!d(bugJmD9+IXo3Z)18MRd:1g1:bH*"G'1E+b<.ec'@2[X7[g!1)=+bm37YLAT,!Wmj:&J[e3cu^\:1>ng/nC-gd*n8/kgVAD!iMp'`[LpgS(2<p-3/.P5hfi>D)3-`!:X2m=rtR4ih+T>uOVo(@HKE?B\5!sk#a[j_WS)DMQ-lk>C2,)U`.+.qe'/AE#'A6M^5E"l.,T[7qnY9^#-#@:2u^u(!to_<5JI!OX#G0UQi?N?=6Of':JId?T!\lVR%>XZ''1+^8%at-YklG0;<`D-2dB!Q2g:4QAOrCVh)eEW=sBh0%7-P6RX\/P:SCF&,"@6Z94fJc@=\+0s4d!_b^\KG<atF5*83`&m8V,Grh=8mbG5o,)F%F.h(u0AK\L/a*p5+'#1VNOf?NQV0^qH-HX-*S at R6Mhl1_g^=RsKHDBK6PH&0B%6U:#6Da'Lt^'H\AQoJS_D>.;bNBo'(&]V>Umr&'u[FRMCJBWs]>R1CJ32etFNM4o"Wp8UO1d_\C%SeKsGK<&pZ8D\)<$JZua]ZN2\=BCmD`9j>G!Ko=G+cmXRs7a]Bu5T(.ZJb/IVCGUGt.3Lh$+
 eJ2?%UOS<f\a(#q_,:CuN,i8h*@&$NQgf;CV?;e85A3/4[h@/(q7#\X\+b4AN(W*XutCOk%TqeCOq32:,=3nO"&0UWiT/1G7)ge"cAP8^1]Xi0O#T5Gu%#@d#0mX<Pq"%%:D>\XD-jk8#2C/`._TV\#6U,J\id+Msg+)9,P/+(\lO!A]`\N=`CM)2Mk4i/L)U#^?"NlaSuM;^*j,O`Etq9Qgt;q)I_E`HEt$K5)(j't6lN-HiL,5Z*&ekdXUqD0rQBBW:n.l<9k_m,1h)g<_9BW[Vl$-NCqVc[]pqm??7e)qJD!'T.XYZ]37<fL&uo24LQd]^I%ci!-*9,k-:671,rDg91cm0lYmjD[=Ghj5[f!0;Kp"Q9(Ymc9aAi'/+`K2d0NmX%,ND+"G2,SYfBJOGA5SYD;G`.Xc at P6:eOo$5]k`lB?_)54DYNsC-qolbg9)+P#5o7-ZJa0Ze+OLN"N3C=s;53J&eg`muC:SXEO/-l/siYXFgd,8sO,<t5S3dj`.+;a3<:GFPG^_pOW"&@9F"r28;%2a]YpdliR1C^:P.=n*&+>H_DB#5EkJk>6d-Wln*-M3r\i(;lpOurT.7G?CtqMp"0V8>7+/DEJuXe0Xb$t)Z364;6RNbLGL,c7A/)s:_-\#TZ%/'qkRRQ;g3ZhXa?Usak:Lbq!)cM4ur9b8fB[&Y(%B"hlGn<6R20?_dc?JU!/4-Af@]<VVOPqNlh5GEG.AjDTX^g4P. at TR@HMn.cji7$1E>;>RPCsYM3X?b&!dYPqH4;!Lmo/"mrPoV>fAK;HMB%>2DCc]=^c1i-rZq4F&O(V1F;\2Bc]E at +,4&J[/!#)s=T10qre*tc=U(AoBof-mpN=HT]'jjT#p,j9Dr;Qe;C_2a~>endstream
+endobj
+11 0 obj
+<< /Contents 18 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 16 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.0954094976ca7c833967659ba5858e3d 9 0 R /FormXob.0ae0b17bd0dc54895a37640e5fd59996 10 0 R >> >> /Rotate 0 /Trans <<  >> 
+  /Type /Page >>
+endobj
+12 0 obj
+<< /Contents 19 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 16 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans <<  >> 
+  /Type /Page >>
+endobj
+13 0 obj
+<< /Contents 20 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 16 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans <<  >> 
+  /Type /Page >>
+endobj
+14 0 obj
+<< /Outlines 21 0 R /PageMode /UseNone /Pages 16 0 R /Type /Catalog >>
+endobj
+15 0 obj
+<< /Author (GRASS GIS) /CreationDate (D:20150530000902-01'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\)) 
+  /Title (Metadata file) >>
+endobj
+16 0 obj
+<< /Count 4 /Kids [ 8 0 R 11 0 R 12 0 R 13 0 R ] /Type /Pages >>
+endobj
+17 0 obj
+<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 1297 >>
+stream
+GauHKgMZ%0&:G)IJ!d^VMc_LpY.#b4h*l6aCgsaTME]B$,r:ZSKqaa??b\tMnh#%O)SnapBSeNXc5^kZ2?=UIdbS%0E'8pLT*Pu=VE'aR$"3TkI%63L*_$rVC$QFgM=2]]R\3G8'tW5VEj.4SIo<lS>KrZhc:Hs>Ort8[P&cik/5AMj:?%WGC!>LJ27iS:IC<WR.G9U+A*[TGJL&?p2_qIrZNhb\S3>1Rp.4H[&goY'c!Yon)^-0`\LN)^koEIT_.;<;B"40pjIa:4m5^hWrWWVbG66CjQQ6"cbU<o8Xk+Q$/.Q\+P>aG7_A*C/OpEWEP(jI(4Qu;1k3DXUY-2_mq#D-g1o#dlX]6uG^1+M;F-'B5X]]MeOu.>+*s$sf)`7'>T)13Zm1YXQ)9G#'dl7Z>+SE#XVmFar6^"@c9b-TT^^Eoba6VjWQh$5UNQ/a'`KS_Q1Ltt`h8&^76+.u=(%3;iMBr=R+SLsnn$,>!J73h*BYiEN[$m:GAHqe#V>Uc33G"p!7e!#C$f:ann.YPDQ*+_Yd?L&/.f%#2>EuFd]IoBN]&X'i!=CV7GRdGP<E(V:jnMI>L/Z at Z5d_3*jHj9:]FiC7c9)I5F9tX_S80_p\&H-Bc\*hLMj;Eg#W^"OD9uS:Ee/[q3p89;lKM."P%oq:]>Gi%NgXRJW(S9gRU*VPbA[c)__WtRk.IcI&*,u3Y2Q&hm(Q^)D&ClZ$JA/)[-%4?#3o7 at Wo;5fjBq[tcK-OiKsMBB.a[aC/l7D9`h[T2*RK`]6HUo2.nN0 at gFt5ENiZC5]RN6rAul_aqY3ZR1K!t$97q9I]d0ZBKm:P#.)QHC_0WO*YbmefYoHBPW"DW_0PmEmh'sU)rbNYpXrdi-9o&^=[8:_H``rn.0/[)E0.IYKZX^#8Yo##AbZ*/q3S"DdZnE/`h]2#iY*3pQnT[WMW7fkWdgh5J#M&U1Ta`N_C<=N=bR70,)>DbR.U]`q<\E2,k#cVMM*l)P-cni\:)
 nRo5[\fC9VefI!(&oh'.![k'^mTC]nUesg7<F#D#Tg\mPoHajc7AVQgnC(R12_35]WgFpkpc''`W;['-s^TB'pTJR-ii&EDfY2*jG72E3QrOjY#97hWL#BNeh>uil at u"LVRL3k68q,Rs+m^.W"M_QJ1YuX:49GlLs5(r56NL4;d2('=C`g.8l^jIBW)=T1W`b3DH;VmHnd>N18/enS)!A<EDE[V1dV%c%SQ(d9Q1\O0p_%Vr./+Q04<<ieA,m4h^II?\C at 7USP2/BlR+7Zo_mZk^+bqAau3'0Y7#`.'HMp~>endstream
+endobj
+18 0 obj
+<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 739 >>
+stream
+GauHIgMWKG&:M%KJ!`_bP0)Q6Y>LL^PuXdi;YnOI+c^BI-!:-E/rT6'YYC[g!jc\2c8d[nc=.4'?._B*28EK'[gs<0JM72M!X at Tbm_e;Mf5uVRHRT0 at E1iFr0#fOf^Js at EM$(OT9GbBcGQb7NnHc,AAm\G7<6K*G7+K^$T-/N6nA^Z>pNMB"lS2A7Tq[(":VEHJ1 at LLaP_js+=fomo/tqBul\NW?Ee)r-6i_)qlY"a9lk*E/R"]Z\&?hi)j-/e?2jgK'f1XPlDp!uQE;Eql+A*nM&jF?0QoX2kc=7i,o2HPVA0qr3aBs`k7p5J[D]7B3U*AJ_q0D-7)$h],E-WR.+?@gX6[,Uf-sRU%mRAmS8#%o&h:-E:eZMiu>n<0!bZ347gBb9p'@CM4kr%in$3;b>Vo<I,;"C!F'7<O'9p#t\oRgbu961I7C]/KneTlJB^]*)H^@ib^aU4VpS].#N\%07G`:^=R7q;-GqY@]r?suR<+'[n_`Pt!Cn#U$^IFLc?H67RAAb?CSG#P3 at E2?O'[-O\L#.s61;>8IbeHX\N58QcLNpGA9`c<fHj*EEr\V=@=<%Rc7N!BW\.B_>mgb+&QQn9']&3Z6T(5iBQ*U^LLD:d%Pg2:rZg5P>relKGg)YjX<$3W5;m9'C9qd at V?%iYaE].>hg;C%Au'W"u(_0$`;`Kd,GI'uBi_3Hkj5;FY,1/:]8\>--N7&=;4n1<[)CN5<j9OKpW!uSK5G5~>endstream
+endobj
+19 0 obj
+<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 1081 >>
+stream
+Gb!#[a`8:S&A;#]5P-*(S-ijRc$E%h8QCYR at iO<Q&VC(oArAL-q!Z\[R)SDbm'qR3d*m<srHcj&E:?<_2,41doUtl:!27aY!c]l!k]NTJX4MgNCZP:t7Nc*tAJdl[lI9T.CJs.FUaU8b8<)mlgn)_%EUOUh.$2fK;/3<R4cpMjiX%"f'M;o@\:EE\oKHG7DDo<+Oa@?RXl($-a#^[2-iT>S)h9QO.eb+kFFj2gc3A3$s-:t,^h-WMgK&#>G*m+T%I+M6l$,qf=Nf8hgM!AFr4AocB5^IWpjZa>NeiP0G,25VP1.nRB#53a4opEf/dAi@(GO0n:+)tj1VlS.9>b8US!#Om]$/\<oFjDp>Ri.&,BO/VDKJ]ID^MERB>[uN#8#qliT\9##_U+UZQKAd0"H'AGVjFIXF;,P%+RZ\#n<SbIOP<8O(LKFR`TumP2l;CI"cUP7er3;55&jRd`_lTXVV2SI$%r4pCf46V?,dWYt^3$pp8[[+_!Hr0e[+0Xk^WL5<X$rf5R132P"f.;D(%T)F?1C-d+.0a>CK)a?4)o6p"1CWAPm8XVabF$O.-$cMbWa>ig3[(q#=#OCS-n=_&IQq,F/<Ttnf]=sP:,=XgZhI$I=BV4>h6_aldRMmbZ`ZUm.md$^iF&3PT;>U>OP:#IuM.e-cISPQOn-GVJciJ=Oc#+:ankUPGU[Rm3N0$n>Q0UOJ?Y,b!jm at IL[WJlPf(;V*Tni4h]g[F:fms,M@[L@,;^tn,cB:cT-cS3Aal8-"N*.?E8)@[nr%@jP[#,dD'SejidA4S7mR-<?^JHf-3T`I0dmkCh$f at f#)nGa7!EIETtgCEYZJ9Z/-?>X(u\@V-P:WP;52763>@V_9,pP]EnR9q"F<U<J^3Q4bcmO8'Nc$sf#F)4\<<Zn8u9h8(E.gIe(_Vgq?*?H0"?B4JhNZ:DGEJ&I*ppGtV'&Vtk#g[N^k0\Q>[cssD.WN`nX^\ROBY!IW!Xa<!h0Wi.m3?i5mm
 /2d`mhV$,G%J4KaS2oJE+2c:4Ff9NX;]*B't-M4R:tda)#SsHtH0(Ap=i^.CB)Mb2f<er<ik(?Mb+6&@"q~>endstream
+endobj
+20 0 obj
+<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 341 >>
+stream
+Gat=&h+GR='YZ6m*PT]W=R8Vj-G<>d$6k?`5!Tukksu^nKRlp;&rk2RFtjWX-Kfb at k9P_t%uT\m!d>R7pB9L&>>WF6kU3HRT'c-.IWDu.,c$%QOssB]&'QgVQb4pWe*krNg#-;5_G\lcOM]XZ3tHFAUprX]`/?#[imAGF("!^kQMba.<.PEjMqQ;+2+.DsI.V<ld+J%!H3ZU*!_AR_Z<GnX2^e/a,u`[SR42?Ve\p!8UFM)PS,GRo!^,t#,Q8NX\X5PGpY.*\P[<B4+qF#oU,L:VIaa"&fuD_:.\ZQo<8:nqa&CcS at G.LC>sF#0iV*f6p^6q[_-;L7cb9C*IuJ.~>endstream
+endobj
+21 0 obj
+<< /Count 0 /Type /Outlines >>
+endobj
+xref
+0 22
+0000000000 65535 f
+0000000075 00000 n
+0000000129 00000 n
+0000000239 00000 n
+0000027814 00000 n
+0000027929 00000 n
+0000062861 00000 n
+0000063184 00000 n
+0000063306 00000 n
+0000063626 00000 n
+0000090686 00000 n
+0000115696 00000 n
+0000116018 00000 n
+0000116228 00000 n
+0000116438 00000 n
+0000116528 00000 n
+0000116761 00000 n
+0000116845 00000 n
+0000118239 00000 n
+0000119074 00000 n
+0000120252 00000 n
+0000120689 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com)
+ [(%'7>>\325\244\377\270k9\(\207&d\335) (%'7>>\325\244\377\270k9\(\207&d\335)]
+ /Info 15 0 R /Root 14 0 R /Size 22 >>
+startxref
+120739
+%%EOF

Added: sandbox/krejcmat/src/GSOC2015/metadataExample/full.xml
===================================================================
--- sandbox/krejcmat/src/GSOC2015/metadataExample/full.xml	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/metadataExample/full.xml	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gmd:MD_Metadata xsi:schemaLocation="http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
+	<gmd:fileIdentifier><gco:CharacterString>286c0725-146e-4533-b1bf-d6e367f6c342</gco:CharacterString></gmd:fileIdentifier>
+	<gmd:language><gmd:LanguageCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">eng</gmd:LanguageCode></gmd:language>
+	<gmd:hierarchyLevel><gmd:MD_ScopeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset">dataset</gmd:MD_ScopeCode></gmd:hierarchyLevel>
+	<gmd:contact><gmd:CI_ResponsibleParty><gmd:organisationName><gco:CharacterString>xouxoutos</gco:CharacterString></gmd:organisationName><gmd:contactInfo><gmd:CI_Contact><gmd:address><gmd:CI_Address><gmd:electronicMailAddress><gco:CharacterString>foufoutos at gmail.com</gco:CharacterString></gmd:electronicMailAddress><gmd:electronicMailAddress><gco:CharacterString>tsiou at gmail.com</gco:CharacterString></gmd:electronicMailAddress></gmd:CI_Address></gmd:address></gmd:CI_Contact></gmd:contactInfo><gmd:role><gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode></gmd:role></gmd:CI_ResponsibleParty></gmd:contact>
+	<gmd:contact><gmd:CI_ResponsibleParty><gmd:organisationName><gco:CharacterString>momos</gco:CharacterString></gmd:organisationName><gmd:contactInfo><gmd:CI_Contact><gmd:address><gmd:CI_Address><gmd:electronicMailAddress><gco:CharacterString>kokos at gmail.com</gco:CharacterString></gmd:electronicMailAddress><gmd:electronicMailAddress><gco:CharacterString>lolos at gmail.com</gco:CharacterString></gmd:electronicMailAddress></gmd:CI_Address></gmd:address></gmd:CI_Contact></gmd:contactInfo><gmd:role><gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode></gmd:role></gmd:CI_ResponsibleParty></gmd:contact>
+	<gmd:dateStamp><gco:Date>2014-05-20</gco:Date></gmd:dateStamp>
+<gmd:metadataStandardName><gco:CharacterString>ISO19115</gco:CharacterString></gmd:metadataStandardName>
+<gmd:metadataStandardVersion><gco:CharacterString>2003/Cor.1:2006</gco:CharacterString></gmd:metadataStandardVersion>
+	<gmd:identificationInfo>
+		<gmd:MD_DataIdentification>
+			<gmd:citation>
+				<gmd:CI_Citation>
+					<gmd:title><gco:CharacterString>Title bla bla</gco:CharacterString></gmd:title>
+				<gmd:date><gmd:CI_Date><gmd:date><gco:Date>2014-05-06</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date>
+				<gmd:date><gmd:CI_Date><gmd:date><gco:Date>2014-05-08</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date>
+				<gmd:date><gmd:CI_Date><gmd:date><gco:Date>2014-05-01</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation">creation</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date>
+				<gmd:date><gmd:CI_Date><gmd:date><gco:Date>2014-05-12</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="revision">revision</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date>
+				<gmd:identifier><gmd:RS_Identifier><gmd:code><gco:CharacterString>286c0725-146e-4533-b1bf-d6e367f6c342</gco:CharacterString></gmd:code></gmd:RS_Identifier></gmd:identifier>
+				</gmd:CI_Citation>
+			</gmd:citation>
+			<gmd:abstract><gco:CharacterString>Abstract blah blah</gco:CharacterString></gmd:abstract>
+<gmd:pointOfContact><gmd:CI_ResponsibleParty><gmd:organisationName><gco:CharacterString>NTUA</gco:CharacterString></gmd:organisationName><gmd:contactInfo><gmd:CI_Contact><gmd:address><gmd:CI_Address><gmd:electronicMailAddress><gco:CharacterString>lolo2 at gmail.com</gco:CharacterString></gmd:electronicMailAddress></gmd:CI_Address></gmd:address></gmd:CI_Contact></gmd:contactInfo><gmd:role><gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode" codeListValue="owner">owner</gmd:CI_RoleCode></gmd:role></gmd:CI_ResponsibleParty></gmd:pointOfContact>
+			<gmd:descriptiveKeywords><gmd:MD_Keywords><gmd:keyword><gco:CharacterString>Agricultural and aquaculture facilities</gco:CharacterString></gmd:keyword><gmd:keyword><gco:CharacterString>Bio-geographical regions</gco:CharacterString></gmd:keyword><gmd:thesaurusName><gmd:CI_Citation><gmd:title><gco:CharacterString>GEMET - INSPIRE themes, version 1.0</gco:CharacterString></gmd:title><gmd:date><gmd:CI_Date><gmd:date><gco:Date>2008-06-01</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date></gmd:CI_Citation></gmd:thesaurusName></gmd:MD_Keywords></gmd:descriptiveKeywords>
+			<gmd:descriptiveKeywords><gmd:MD_Keywords><gmd:keyword><gco:CharacterString>test</gco:CharacterString></gmd:keyword><gmd:thesaurusName><gmd:CI_Citation><gmd:title><gco:CharacterString>oeo</gco:CharacterString></gmd:title><gmd:date><gmd:CI_Date><gmd:date><gco:Date>2014-05-20</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation">creation</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date></gmd:CI_Citation></gmd:thesaurusName></gmd:MD_Keywords></gmd:descriptiveKeywords>
+			<gmd:resourceConstraints><gmd:MD_Constraints><gmd:useLimitation><gco:CharacterString>no conditions apply</gco:CharacterString></gmd:useLimitation></gmd:MD_Constraints></gmd:resourceConstraints>
+			<gmd:resourceConstraints><gmd:MD_LegalConstraints><gmd:accessConstraints><gmd:MD_RestrictionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions">otherRestrictions</gmd:MD_RestrictionCode></gmd:accessConstraints><gmd:otherConstraints><gco:CharacterString>no limitations</gco:CharacterString></gmd:otherConstraints></gmd:MD_LegalConstraints></gmd:resourceConstraints>
+			<gmd:spatialResolution><gmd:MD_Resolution><gmd:equivalentScale><gmd:MD_RepresentativeFraction><gmd:denominator><gco:Integer>5000</gco:Integer></gmd:denominator></gmd:MD_RepresentativeFraction></gmd:equivalentScale></gmd:MD_Resolution></gmd:spatialResolution>
+			<gmd:spatialResolution><gmd:MD_Resolution><gmd:distance><gco:Distance uom="Meters">2</gco:Distance></gmd:distance></gmd:MD_Resolution></gmd:spatialResolution>
+			<gmd:language><gmd:LanguageCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="eng">eng</gmd:LanguageCode></gmd:language>
+			<gmd:language><gmd:LanguageCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#LanguageCode" codeListValue="gre">gre</gmd:LanguageCode></gmd:language>
+			<gmd:topicCategory><gmd:MD_TopicCategoryCode>biota</gmd:MD_TopicCategoryCode></gmd:topicCategory>
+			<gmd:topicCategory><gmd:MD_TopicCategoryCode>economy</gmd:MD_TopicCategoryCode></gmd:topicCategory>
+			<gmd:topicCategory><gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode></gmd:topicCategory>
+			<gmd:extent><gmd:EX_Extent><gmd:geographicElement><gmd:EX_GeographicBoundingBox><gmd:westBoundLongitude><gco:Decimal>23.04</gco:Decimal></gmd:westBoundLongitude><gmd:eastBoundLongitude><gco:Decimal>25.05</gco:Decimal></gmd:eastBoundLongitude><gmd:southBoundLatitude><gco:Decimal>44.03</gco:Decimal></gmd:southBoundLatitude><gmd:northBoundLatitude><gco:Decimal>45.01</gco:Decimal></gmd:northBoundLatitude></gmd:EX_GeographicBoundingBox></gmd:geographicElement></gmd:EX_Extent></gmd:extent>
+			<gmd:extent><gmd:EX_Extent><gmd:temporalElement><gmd:EX_TemporalExtent><gmd:extent><gml:TimePeriod gml:id="ID_05d1d6c2-111f-4dc5-b51d-551a93cfdbbc" xsi:type="gml:TimePeriodType"><gml:beginPosition>2014-05-20</gml:beginPosition><gml:endPosition>2014-05-21</gml:endPosition></gml:TimePeriod></gmd:extent></gmd:EX_TemporalExtent></gmd:temporalElement></gmd:EX_Extent></gmd:extent>
+		</gmd:MD_DataIdentification>
+	</gmd:identificationInfo>
+<gmd:distributionInfo><gmd:MD_Distribution><gmd:distributionFormat><gmd:MD_Format><gmd:name gco:nilReason="inapplicable"/><gmd:version gco:nilReason="inapplicable"/></gmd:MD_Format></gmd:distributionFormat><gmd:transferOptions><gmd:MD_DigitalTransferOptions><gmd:onLine><gmd:CI_OnlineResource><gmd:linkage><gmd:URL>http://publicamundi.eu</gmd:URL></gmd:linkage></gmd:CI_OnlineResource></gmd:onLine></gmd:MD_DigitalTransferOptions></gmd:transferOptions></gmd:MD_Distribution></gmd:distributionInfo>
+<gmd:dataQualityInfo><gmd:DQ_DataQuality>
+<gmd:scope><gmd:DQ_Scope><gmd:level><gmd:MD_ScopeCode codeListValue="dataset" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#MD_ScopeCode">dataset</gmd:MD_ScopeCode></gmd:level></gmd:DQ_Scope></gmd:scope>
+<gmd:report><gmd:DQ_DomainConsistency xsi:type="gmd:DQ_DomainConsistency_Type"><gmd:measureIdentification><gmd:RS_Identifier><gmd:code><gco:CharacterString>Conformity_001</gco:CharacterString></gmd:code><gmd:codeSpace><gco:CharacterString>INSPIRE</gco:CharacterString></gmd:codeSpace></gmd:RS_Identifier></gmd:measureIdentification><gmd:result><gmd:DQ_ConformanceResult xsi:type="gmd:DQ_ConformanceResult_Type"><gmd:specification><gmd:CI_Citation><gmd:title><gco:CharacterString>Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services</gco:CharacterString></gmd:title><gmd:date><gmd:CI_Date><gmd:date><gco:Date>2010-12-08</gco:Date></gmd:date><gmd:dateType><gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">publi
 cation</gmd:CI_DateTypeCode></gmd:dateType></gmd:CI_Date></gmd:date></gmd:CI_Citation></gmd:specification><gmd:explanation><gco:CharacterString>See the referenced specification</gco:CharacterString></gmd:explanation><gmd:pass><gco:Boolean>true</gco:Boolean></gmd:pass></gmd:DQ_ConformanceResult></gmd:result></gmd:DQ_DomainConsistency></gmd:report>
+<gmd:lineage><gmd:LI_Lineage><gmd:statement><gco:CharacterString>history blah blah blah</gco:CharacterString></gmd:statement></gmd:LI_Lineage></gmd:lineage>
+</gmd:DQ_DataQuality></gmd:dataQualityInfo>
+</gmd:MD_Metadata>

Added: sandbox/krejcmat/src/GSOC2015/pdf/Makefile
===================================================================
--- sandbox/krejcmat/src/GSOC2015/pdf/Makefile	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/pdf/Makefile	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,22 @@
+MODULE_TOPDIR = ../..
+
+include $(MODULE_TOPDIR)/include/Make/Other.make
+include $(MODULE_TOPDIR)/include/Make/Python.make
+
+DSTDIR = $(ETC)/pdf
+
+MODULES = $(wildcard *.py)
+
+PYFILES := $(patsubst %,$(DSTDIR)/%,$(MODULES))
+PYCFILES := $(patsubst %.py,$(DSTDIR)/%.pyc,$(filter %.py,$(MODULES)))
+
+default: $(PYFILES) $(PYCFILES)
+
+install:
+	@cp -rL $(DSTDIR) $(INST_DIR)
+
+$(DSTDIR):
+	$(MKDIR) $@
+
+$(DSTDIR)/%: % | $(DSTDIR)
+	$(INSTALL_DATA) $< $@

Added: sandbox/krejcmat/src/GSOC2015/pdf/__init__.py
===================================================================
--- sandbox/krejcmat/src/GSOC2015/pdf/__init__.py	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/pdf/__init__.py	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,84 @@
+__author__ = 'matt'
+
+import cStringIO
+import urllib
+from reportlab.platypus.doctemplate import SimpleDocTemplate
+from reportlab.platypus.flowables import Image
+from reportlab.platypus import Paragraph, Spacer, KeepTogether
+from reportlab.lib import colors
+from reportlab.platypus.tables import Table, TableStyle
+import pdf
+from mdpdftheme import DefaultTheme, calc_table_col_widths
+from mdpdfcommon import *
+#path1=os.path.abspath(os.path.join('..','mdlib'))
+#sys.path.append(path1)
+
+class Pdf(object):
+
+    story = []
+    theme = DefaultTheme
+
+    def __init__(self, title, author):
+        self.title = title
+        self.author = author
+
+    def set_theme(self, theme):
+        self.theme = theme
+
+    def add(self, flowable):
+        self.story.append(flowable)
+
+    def add_header(self, text, level=H1):
+        p = Paragraph(text, self.theme.header_for_level(level))
+        self.add(p)
+
+    def add_fparagraph(self, text, style=None):
+        if style is not None:
+            self.add(pdf.Table([[text]], style = style))
+        else:
+            self.add(pdf.Table([[text]]))
+
+    def add_spacer(self, height_inch=None):
+        height_inch = height_inch or self.theme.spacer_height
+        self.add(Spacer(1, height_inch)) # magic 1? no, first param not yet implemented by rLab guys
+
+    def add_paragraph(self, text, style=None):
+        style = style or self.theme.paragraph
+        p = Paragraph(text, style)
+        self.add(p)
+
+    def add_list(self, items, list_style=UL):
+        raise NotImplementedError
+
+    def add_table(self, rows, width=None, col_widths=None, align=CENTER,
+            extra_style=[]):
+        style = self.theme.table_style + extra_style
+        if width and col_widths is None: # one cannot spec table width in rLab only col widths
+            col_widths = calc_table_col_widths(rows, width) # this helper calcs it for us
+        table = Table(rows, col_widths, style=style, hAlign=align)
+        self.add(table)
+
+    def add_image(self, src, width, height, align=CENTER):
+        img = Image(src, width, height)
+        img.hAlign = align
+        self.add(img)
+
+    def add_qrcode(self, data, size=150, align=CENTER):
+        "FIXME: ReportLib also supports QR-Codes. Check it out."
+
+        src = "http://chart.googleapis.com/chart?"
+        src += "chs=%sx%s&" % (size, size)
+        src += "cht=qr&"
+        src += "chl=" + urllib.quote(data)
+        self.add_image(src, size, size, align)
+
+    def render(self):
+        buffer = cStringIO.StringIO()
+        doc_template_args = self.theme.doc_template_args()
+        doc = SimpleDocTemplate(buffer, title=self.title, author=self.author,
+            **doc_template_args)
+        doc.build(self.story)
+        pdf = buffer.getvalue()
+        buffer.close()
+        return pdf
+

Added: sandbox/krejcmat/src/GSOC2015/pdf/mdpdfcommon.py
===================================================================
--- sandbox/krejcmat/src/GSOC2015/pdf/mdpdfcommon.py	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/pdf/mdpdfcommon.py	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,11 @@
+__author__ = 'matt'
+# Header levels
+H1, H2, H3, H4, H5, H6, T1,T2,T3,T4 = 1, 2, 3, 4, 5, 6,7,8,9,10
+
+# List styles
+UL, OL = 0, 1
+
+#Titles
+
+# Alignment
+CENTER, LEFT, RIGHT = 'CENTER', 'LEFT', 'RIGHT'
\ No newline at end of file

Added: sandbox/krejcmat/src/GSOC2015/pdf/mdpdffactory.py
===================================================================
--- sandbox/krejcmat/src/GSOC2015/pdf/mdpdffactory.py	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/pdf/mdpdffactory.py	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,620 @@
+from owslib.iso import *
+from pdf.mdpdftheme import colors, DefaultTheme
+import pdf, sys
+from reportlab.platypus import PageBreak
+import tempfile
+import math
+# from grass.script import core as grass
+
+class MD_ITEM():
+    def __init__(self, value, name1, name2=None):
+        self.value = []
+        self.name1 = name1
+        self.name2 = name2
+        self.addValue(value)
+
+    def addValue(self, value):
+        self.value.append(value)
+
+
+class MyTheme(DefaultTheme):
+    doc = {
+        'leftMargin': 25,
+        'rightMargin': 25,
+        'bottomMargin': 25,
+        'allowSplitting': False
+    }
+
+
+class Point():
+    """Stores a simple (x,y) point.  It is used for storing x/y pixels.
+
+    Attributes:
+      x: An int for a x value.
+      y: An int for a y value.
+    """
+
+    def __init__(self, x, y):
+        self.x = x
+        self.y = y
+
+    def ToString(self):
+        return '(%s, %s)' % (self.x, self.y)
+
+    def Equals(self, other):
+        if other is None:
+            return False
+        else:
+            return (other.x == self.x and other.y == self.y)
+
+
+class MapBBFactory():
+    def __init__(self, coords, size=[200, 200]):
+        self.pixels_per_lon_degree = []
+        self.pixels_per_lon_radian = []
+        self.pixel_origo = []
+        self.pixel_range = []
+        self.pixels = 256
+        self.size=size
+        zoom_levels = range(0, 18)
+
+
+        for z in zoom_levels:
+            origin = self.pixels / 2
+            self.pixels_per_lon_degree.append(self.pixels / 360)
+            self.pixels_per_lon_radian.append(self.pixels / (2 * math.pi))
+            self.pixel_origo.append(Point(origin, origin))
+            self.pixel_range.append(self.pixels)
+            self.pixels = self.pixels * 2
+
+        bounds = self.CalcBoundsFromPoints(coords[0], coords[1])
+        print bounds
+        corners=self.computeCorners(bounds)
+        center = self.CalcCenterFromBounds(bounds)
+        zoom = self.CalculateBoundsZoomLevel(bounds, size)
+        self.link1,self.link2 = self.buildLink(center, zoom,corners)
+
+    def computeCorners(self,bounds):
+
+        YmaxXmin=str(bounds[0][0])+','+str(bounds[0][1])
+        YminXmin=str(bounds[0][0])+','+str(bounds[1][1])
+        YminXmax=str(bounds[1][0])+','+str(bounds[1][1])
+        YmaxXmax=str(bounds[1][0])+','+str(bounds[0][1])
+
+        corners=YmaxXmin+"|"+YminXmin +"|"+YminXmax +"|"+ YmaxXmax+"|"+ YmaxXmin
+        print corners
+        return corners
+
+    def buildLink(self, center, zoom,corners):
+        size=str(self.size[0])+'x'+str(self.size[1])
+
+        print center
+        pic=("http://maps.googleapis.com/maps/api/staticmap?center="+
+            str(center['lat'])+','+str(center['lng']) + "&zoom=" + str(zoom) +
+            "&size="+size+"&sensor=false&path=color:red|weight:3|"+  corners)
+        print pic
+        pic1=("http://maps.googleapis.com/maps/api/staticmap?center="+
+            str(center['lat'])+','+str(center['lng']) + "&zoom=" + str(zoom-4) +
+            "&size="+size+"&sensor=false&path=color:red|weight:3|"+  corners)
+        print pic
+        return pic ,pic1
+
+    def CalcCenterFromBounds(self, bounds):
+        """Calculates the center point given southwest/northeast lat/lng pairs.
+
+        Given southwest and northeast bounds, this method will return the center
+        point.  We use this method when we have done a search for points on the map,
+        and we get multiple results.  In the results we don't get anything to
+        calculate the center point of the map so this method calculates it for us.
+
+        Args:
+          bounds: A list of length 2, each holding a list of length 2. It holds
+            the southwest and northeast lat/lng bounds of a map.  It should look
+            like this: [[southwestLat, southwestLat], [northeastLat, northeastLng]]
+
+        Returns:
+          An dict containing keys lat and lng for the center point.
+        """
+        north = bounds[1][0]
+        south = bounds[0][0]
+        east = bounds[1][1]
+        west = bounds[0][1]
+        center = {}
+        center['lat'] = north - float((north - south) / 2)
+        center['lng'] = east - float((east - west) / 2)
+        return center
+
+    def Bound(self, value, opt_min, opt_max):
+        """Returns value if in min/max, otherwise returns the min/max.
+
+        Args:
+          value: The value in question.
+          opt_min: The minimum the value can be.
+          opt_max: The maximum the value can be.
+
+        Returns:
+          An int that is either the value passed in or the min or the max.
+        """
+        if opt_min is not None:
+            value = max(value, opt_min)
+        if opt_max is not None:
+            value = min(value, opt_max)
+        return value
+
+
+    def DegreesToRadians(self,deg):
+        return deg * (math.pi / 180)
+
+
+    def FromLatLngToPixel(self, lat_lng, zoom):
+        """Given lat/lng and a zoom level, returns a Point instance.
+
+        This method takes in a lat/lng and a _test_ zoom level and based on that it
+        calculates at what pixel this lat/lng would be on the map given the zoom
+        level.  This method is used by CalculateBoundsZoomLevel to see if this
+        _test_ zoom level will allow us to fit these bounds in our given map size.
+
+        Args:
+          lat_lng: A list of a lat/lng point [lat, lng]
+          zoom: A list containing the width/height in pixels of the map.
+
+        Returns:
+          A Point instance in pixels.
+        """
+        o = self.pixel_origo[zoom]
+        x = round(o.x + lat_lng[1] * self.pixels_per_lon_degree[zoom])
+        siny = self.Bound(math.sin(self.DegreesToRadians(lat_lng[0])),
+                          -0.9999, 0.9999)
+        y = round(o.y + 0.5 * math.log((1 + siny) /
+                                       (1 - siny)) * -self.pixels_per_lon_radian[zoom])
+        return Point(x, y)
+
+
+    def CalculateBoundsZoomLevel(self, bounds, view_size):
+        """Given lat/lng bounds, returns map zoom level.
+
+        This method is used to take in a bounding box (southwest and northeast
+        bounds of the map view we want) and a map size and it will return us a zoom
+        level for our map.  We use this because if we take the bottom left and
+        upper right on the map we want to show, and calculate what pixels they
+        would be on the map for a given zoom level, then we can see how many pixels
+        it will take to display the map at this zoom level.  If our map size is
+        within this many pixels, then we have the right zoom level.
+
+        Args:
+          bounds: A list of length 2, each holding a list of length 2. It holds
+            the southwest and northeast lat/lng bounds of a map.  It should look
+            like this: [[southwestLat, southwestLat], [northeastLat, northeastLng]]
+          view_size: A list containing the width/height in pixels of the map.
+
+        Returns:
+          An int zoom level.
+        """
+        zmax = 18
+        zmin = 0
+        bottom_left = bounds[0]
+        top_right = bounds[1]
+        backwards_range = range(zmin, zmax)
+        backwards_range.reverse()
+        for z in backwards_range:
+            bottom_left_pixel = self.FromLatLngToPixel(bottom_left, z)
+            top_right_pixel = self.FromLatLngToPixel(top_right, z)
+            if bottom_left_pixel.x > top_right_pixel.x:
+                bottom_left_pixel.x -= self.CalcWrapWidth(z)
+            if abs(top_right_pixel.x - bottom_left_pixel.x) <= view_size[0] \
+                    and abs(top_right_pixel.y - bottom_left_pixel.y) <= view_size[1]:
+                return z
+        return 0
+
+
+    def CalcBoundsFromPoints(self, lats, lngs):
+        """Calculates the max/min lat/lng in the lists.
+
+        This method takes in a list of lats and a list of lngs, and outputs the
+        southwest and northeast bounds for these points.  We use this method when we
+        have done a search for points on the map, and we get multiple results.  In
+        the results we don't get a bounding box so this method calculates it for us.
+
+        Args:
+          lats: List of latitudes
+          lngs: List of longitudes
+
+        Returns:
+          A list of length 2, each holding a list of length 2.  It holds
+          the southwest and northeast lat/lng bounds of a map.  It should look
+          like this: [[southwestLat, southwestLat], [northeastLat, northeastLng]]
+        """
+        lats = [float(x) for x in lats]
+        lngs = [float(x) for x in lngs]
+        flats = map(float, lats)
+        flngs = map(float, lngs)
+        west = min(flngs)
+        east = max(flngs)
+        north = max(flats)
+        south = min(flats)
+        return [[south, west], [north, east]]
+
+
+class PdfCreator(object):
+    def __init__(self, MD_metadata, pdf_file, mapName, type, nameOfMdProfile='GRASS BASIC'):
+
+        '''@:param MD_metadata- instance of metadata(owslib)
+           @:param pdf_file- path and name of generated report
+        '''
+
+        self.md = MD_metadata
+        self.pdf_file = pdf_file
+        self.TABLE_WIDTH = 540
+        self.map = mapName
+        self.type = type
+        self.profile = nameOfMdProfile
+
+    '''
+    def getMapPic(self):
+        f = tempfile.TemporaryFile()
+        grass.run_command('d.mon', start='cairo', output=f, width=200, height=200, overwrite=True)
+        grass.run_command('d.erase')
+        if self.type =='raster':
+            grass.run_command('d.rast', map=self.map)
+        if self.type == 'vect':
+            grass.run_command('d.vect', map=self.map)
+        grass.run_command('d.mon', stop='cairo')
+        return f
+    '''
+
+    def findItem(self, items, name2, idx=-1):
+        values = []
+        for i in items:
+            if i.name2 == name2:
+                values.append(i.value[0])
+
+        if idx == -1:
+            if len(values) == 0:
+                values.append('$NULL')
+            return values
+
+        if len(values) <= idx:
+            return '$NULL'
+
+        if values[idx] is not None:
+            return values[idx]
+
+        return '$NULL'
+
+    def tableFactory(self, title, headers, key):
+        '''
+        @:param headers - list of header
+        '''
+        self.doc.add_header(title, pdf.H4)
+        head = []
+        head.append(headers)
+        tmp = []
+        for i in range(len(self.findItem(self.story[key], headers[0]))):
+            for header in headers:
+                values = self.findItem(self.story[key], header, i)
+                text = pdf.Paragraph("""
+                %s<br/>
+                """ % values, MyTheme.paragraph)
+                tmp.append(text)
+            head.append(tmp)
+            tmp = []
+        # print head
+
+        self.doc.add_table(head, self.TABLE_WIDTH)
+
+    def textFactory(self, title, tag, name):
+        # self.doc.add_spacer(2)
+        self.doc.add_header(title, pdf.H4)
+        val = self.findItem(self.story[tag], name, 0)
+        text = pdf.Paragraph("""
+                        %s<br/>
+                        """ % val, MyTheme.paragraph)
+        self.doc.add_fparagraph(text)
+
+    def createPDF(self, save=True):
+        self.story = self._parseMDOWS()
+
+        self.doc = pdf.Pdf('Metadata file', 'GRASS GIS')
+
+        self.doc.set_theme(MyTheme)
+
+        # time to add the logo at the top right
+        # getMapPic()
+        logo_path = '/home/matt/Dropbox/GSOC2015/pdfExp/logo.png'
+        self.doc.add_image(logo_path, 50, 50, pdf.LEFT)
+
+        self.doc.add_header(self.map, pdf.T1)
+        if self.type == 'vector':
+            name = 'Vector map'
+        else:
+            name = 'Raster map'
+        self.doc.add_header(name, pdf.T2)
+        self.doc.add_header("%s metadata profile" % self.profile, pdf.T3)
+
+        self.doc.add_spacer(2)
+
+        logo_path = '/home/matt/Dropbox/GSOC2015/pdfExp/map.png'
+        self.doc.add_image(logo_path, 200, 200, pdf.CENTER)
+
+        self.textFactory(title="Keywords", name='Keywords', tag='identification')
+        self.textFactory(title="Abstract", name='Abstract', tag='identification')
+        # #################### metadata #################################
+        self.doc.add_spacer(25)
+        self.doc.add_header("Metadata on metadata", pdf.H1)
+        head = ['Organization name', 'E-mail', 'Role']  # this is the header row
+        self.tableFactory("Metadata point of contact", head, 'contact')
+        self.textFactory(title="Metadata date", name='Datestamp', tag='datestamp')
+        self.textFactory(title="Metadata language", name='Language', tag='languagecode')
+        # #################### identification #################################
+        self.doc.add(PageBreak())
+        self.doc.add_header("Identification", pdf.H1)
+        self.textFactory(title="Restource title", name='Title', tag='identification')
+        self.textFactory(title="Identifier", name='Identifier', tag='identifier')
+        # self.textFactory(title="Resource locator", name='Identifier',tag='identifier')#TODO linkage is missing
+
+        self.tableFactory("Resource language", ['Language'], 'identification')
+        # head = ['Organization name', 'E-mail','Role']
+        #.tableFactory("identifier",head,'contact')
+
+        ##################### Keywords ################################## TODO
+
+
+
+
+        ##################### Geographic ##################################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Geographic Location', pdf.H1)
+
+        maxy = float(self.findItem(self.story['identification'], 'maxy', 0))
+        maxx = float(self.findItem(self.story['identification'], 'maxx', 0))
+        miny = float(self.findItem(self.story['identification'], 'miny', 0))
+        minx = float(self.findItem(self.story['identification'], 'minx', 0))
+
+        head = [['North Bound Latitude', 'East Bound Longitude', 'South Bound Latitude', 'West Bound Longitude']]
+        head.append([maxy, maxx, miny, minx])
+        self.doc.add_table(head, self.TABLE_WIDTH)
+        self.doc.add_spacer(25)
+        mapPath = MapBBFactory([[maxy, miny], [maxx, minx]],)
+
+        gmap = pdf.Image(mapPath.link1, 200, 200)
+        gmap1 = pdf.Image(mapPath.link2, 200, 200)
+        self.doc.add(pdf.Table([[gmap1,gmap]]))
+        self.doc.add(PageBreak())
+        ##################### Temporal ##################################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Temporal reference', pdf.H1)
+        self.textFactory(title="Temporal extend start", name='Temporal extend start', tag='identification')
+        self.textFactory(title="Temporal extend end", name='Temporal extend end', tag='identification')
+
+        ##################### Quality ##################################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Quality a validity', pdf.H1)
+        self.textFactory(title="Lineage", name='Lineage', tag='dataquality')
+
+        #self.textFactory(title="Temporal extend start", name='Temporal extend start',tag='identification')
+        # TODO md.identification.denominators
+
+        ######################Conformity ########################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Conformity', pdf.H1)
+        head = ['Conformance date', "Conformance date type", 'Specification']
+        self.tableFactory("Conformity", head, 'dataquality')
+        ###################### Constraints ########################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Constraints', pdf.H1)
+        self.tableFactory("Condition applying to use", ["Use constraints"], 'identification')
+        self.tableFactory("Condition applying to access", ["Access constraints"], 'identification')
+        self.tableFactory("Limitation on public access", ["Other constraintrs"], 'identification')
+        ###################### Responsible party ########################
+        self.doc.add_spacer(25)
+        self.doc.add_header('Responsible party', pdf.H1)
+        header = ["Organization name", "E-mail", "Role"]
+        self.tableFactory(
+            "Organisations responsible for the establishment, management, maintenance and distribution of spatial data sets and services",
+            header, 'identification')
+
+
+
+        # again, see http://www.reportlab.com/docs/reportlab-userguide.pdf
+        if save and self.pdf_file is not None:
+            self.savePDF(self.doc.render())
+        return self.doc.render()
+
+    def _parseMDOWS(self, md=None):
+
+        if md is None:
+            md = self.md
+        metadata = {}
+        metadata["identification"] = []
+        metadata["languagecode"] = []
+        metadata["datestamp"] = []
+        metadata["identifier"] = []
+        metadata["dataquality"] = []
+        metadata["contact"] = []
+        metadata['distance'] = []
+        # #########################################################
+        # ##############  identification  #########################
+        if md.identification is not None:
+            if md.identification.contact is not None:
+                for contact in md.identification.contact:
+                    if contact.organization is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(contact.organization, "gmd:CI_ResponsibleParty", "Organization name"))
+                    if contact.email is not (None or ''):
+                        metadata["identification"].append(MD_ITEM(contact.email, "gmd:CI_ResponsibleParty", "E-mail"))
+                    if contact.role is not (None or ''):
+                        metadata["identification"].append(MD_ITEM(contact.role, "gmd:CI_ResponsibleParty", "Role"))
+
+            if md.identification.title is not (None or ''):
+                metadata["identification"].append(
+                    MD_ITEM(md.identification.title, "gmd:md_DataIdentification", "Title"))
+
+            if md.identification.abstract is not (None or ''):
+                metadata["identification"].append(
+                    MD_ITEM(md.identification.abstract, "gmd:md_DataIdentification", "Abstract"))
+
+            if md.identification.identtype is not (None or ''):
+                metadata["identification"].append(
+                    MD_ITEM(md.identification.identtype, "gmd:md_ScopeCode", "Resource type"))
+
+            if md.identification.resourcelanguage is not None:
+                for language in md.identification.resourcelanguage:
+                    if language != '':
+                        metadata["identification"].append(MD_ITEM(language, "gmd:language", "Language"))
+
+            if md.identification.uricode is not None:
+                for uri in md.identification.uricode:
+                    if uri != '':
+                        metadata["identification"].append(
+                            MD_ITEM(uri, "gmd:RS_Identifier", "Unique Resource Identifier"))
+
+            if md.identification.topiccategory is not None:
+                for topic in md.identification.topiccategory:
+                    if topic != '':
+                        metadata["identification"].append(MD_ITEM(topic, "gmd:topicCategory", "Topic Category"))
+
+                        # #########################################################
+                        # ########################  keywords  #########################
+            if md.identification.keywords is not None:
+                for key in md.identification.keywords:
+                    for k in key['keywords']:
+                        if k is not (None or ''):
+                            metadata["identification"].append(MD_ITEM(k, "gmd:MD_Keywords", "Keywords"))
+
+                    if key['thesaurus'] is not (None or ''):
+                        if key['thesaurus']['title'] is not (None or ''):
+                            metadata["identification"].append(
+                                MD_ITEM(key['thesaurus']['title'], "gmd:thesaurusName", "Thesaurus title"))
+                        if key['thesaurus']['date'] is not (None or ''):
+                            metadata["identification"].append(
+                                MD_ITEM(key['thesaurus']['date'], "gmd:thesaurusName", "Thesaurus date"))
+                        if key['thesaurus']['datetype'] is not (None or ''):
+                            metadata["identification"].append(
+                                MD_ITEM(key['thesaurus']['datetype'], "gmd:thesaurusName", "Thesaurus date type "))
+
+            if md.identification.extent is not None:
+                if md.identification.extent.boundingBox is not None:
+                    if md.identification.extent.boundingBox.minx is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(md.identification.extent.boundingBox.minx, "gmd:westBoundLongitude", "minx"))
+                    if md.identification.extent.boundingBox.maxx is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(md.identification.extent.boundingBox.maxx, "gmd:eastBoundLongitude", "maxx"))
+                    if md.identification.extent.boundingBox.miny is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(md.identification.extent.boundingBox.miny, "gmd:southBoundLatitude", "miny"))
+                    if md.identification.extent.boundingBox.maxy is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(md.identification.extent.boundingBox.maxy, "gmd:northBoundLatitude", "maxy"))
+
+            if md.identification.date is not None:
+                for date in md.identification.date:
+                    if date is not (None or ''):
+                        metadata["identification"].append(MD_ITEM(date, "gmd:CI_Date", "Date"))
+
+            if md.identification.temporalextent_start is not (None or ''):
+                metadata["identification"].append(
+                    MD_ITEM(md.identification.temporalextent_start, "gmd:EX_TemporalExtent", "Temporal extend start"))
+            if md.identification.temporalextent_end is not (None or ''):
+                metadata["identification"].append(
+                    MD_ITEM(md.identification.temporalextent_end, "gmd:EX_TemporalExtent", "Temporal extend end"))
+
+            if md.identification.uselimitation is not None:
+                for limitation in md.identification.uselimitation:
+                    if limitation is not (None or ''):
+                        metadata["identification"].append(MD_ITEM(limitation, "gmd:useLimitation", "Use limitation"))
+
+            if md.identification.accessconstraints is not None:
+                for accessconstraints in md.identification.accessconstraints:
+                    print(accessconstraints)
+                    if accessconstraints is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(accessconstraints, "gmd:accessConstraints", "Access constraints"))
+
+            if md.identification.otherconstraints is not None:
+                for otherconstraints in md.identification.otherconstraints:
+                    print otherconstraints
+                    if otherconstraints is not (None or ''):
+                        metadata["identification"].append(
+                            MD_ITEM(otherconstraints, "gmd:otherConstraints", "Other constraintrs"))
+
+
+        # #########################################################
+        # ########################  date  #########################
+        if md.languagecode is not (None or ''):
+            metadata["languagecode"].append(MD_ITEM(md.languagecode, "gmd:LanguageCode", "Language"))
+
+        if md.datestamp is not (None or ''):
+            metadata["datestamp"].append(MD_ITEM(md.datestamp, "gmd:dateStamp", "Datestamp"))
+
+        if md.identifier is not (None or ''):
+            metadata["identifier"].append(MD_ITEM(md.identifier, "gmd:identifier", "Identifier"))
+
+        if md.dataquality is not (None or ''):
+            if md.dataquality.lineage is not (None or ''):
+                metadata["dataquality"].append(MD_ITEM(md.dataquality.lineage, "gmd:LI_Lineage", "Lineage"))
+
+            if md.dataquality.conformancedate is not None:
+                for conformancedate in md.dataquality.conformancedate:
+                    if conformancedate is not (None or ''):
+                        metadata["dataquality"].append(
+                            MD_ITEM(conformancedate, "gmd:DQ_ConformanceResult", "Conformance date"))
+
+            if md.dataquality.conformancedatetype is not None:
+                for conformancedatetype in md.dataquality.conformancedatetype:
+                    if conformancedate is not (None or ''):
+                        metadata["dataquality"].append(
+                            MD_ITEM(conformancedatetype, "gmd:DQ_ConformanceResult", "Conformance date type"))
+
+            if md.dataquality.conformancetitle is not None:
+                for conformancetitle in md.dataquality.conformancetitle:
+                    if conformancedate is not (None or ''):
+                        metadata["dataquality"].append(
+                            MD_ITEM(conformancetitle, "gmd:DQ_ConformanceResult", "Specification"))
+
+        if md.contact is not None:
+            for contact in md.contact:
+                if contact.organization is not (None or ''):
+                    metadata["contact"].append(MD_ITEM(contact.organization, "gmd:contact", "Organization name"))
+
+                if contact.email is not (None or ''):
+                    metadata["contact"].append(
+                        MD_ITEM(contact.email, "gmd:contact", "E-mail"))  # TODO more email can be
+
+                if contact.role is not (None or ''):
+                    metadata["contact"].append(MD_ITEM(contact.role, "gmd:role", "Role"))
+
+        # #### quality validity
+        if self.md.identification.distance is not (None or ''):
+            metadata['distance'].append(MD_ITEM(self.md.identification.distance, 'gmd:distance', 'Distance'))
+
+        print 'Parsed'
+        return metadata
+
+    def savePDF(self, doc, pathToPdf=None):
+        print 'savePDF'
+        if pathToPdf is None:
+            pathToPdf = self.pdf_file
+        out = open(pathToPdf, 'w+')
+        out.writelines(doc)
+        out.close()
+        return pdf
+
+
+def main():
+    xml = "/home/matt/Dropbox/GSOC2014/data/vector_cr.xml"
+    xml = "/home/matt/Dropbox/GSOC2014/data/vector_cr.xml"
+    xml = "/home/matt/Dropbox/GSOC2014/data/full.xml"
+    # xml = "/home/matt/Dropbox/GSOC2014/data/vector_cr.xml"
+    # xml= "/home/matt/Dropbox/GSOC2014/data/aktogrammh.xml"
+    pdf = "/tmp/export3.pdf"
+    md = MD_Metadata(etree.parse(xml))
+    mapname = 'Basins.xml'
+    type = 'vector'
+    doc = PdfCreator(md, pdf, mapname, type)
+    doc.createPDF(True)
+
+
+if __name__ == '__main__':
+    # options, flags = grass.parser()
+    main()


Property changes on: sandbox/krejcmat/src/GSOC2015/pdf/mdpdffactory.py
___________________________________________________________________
Added: svn:executable
   + *

Added: sandbox/krejcmat/src/GSOC2015/pdf/mdpdftheme.py
===================================================================
--- sandbox/krejcmat/src/GSOC2015/pdf/mdpdftheme.py	                        (rev 0)
+++ sandbox/krejcmat/src/GSOC2015/pdf/mdpdftheme.py	2015-05-29 22:21:06 UTC (rev 65342)
@@ -0,0 +1,259 @@
+from reportlab.lib.styles import  ParagraphStyle,_baseFontNameB,_baseFontNameI,_baseFontNameBI
+from reportlab.lib.units import inch
+from reportlab.lib import colors
+from reportlab.rl_config import canvas_basefontname as _baseFontName
+from mdpdfcommon import *
+from reportlab.lib.enums import TA_LEFT, TA_CENTER
+
+class MySheet:
+    _stylesheet1_undefined = object()
+
+    def __init__(self):
+        self.byName = {}
+        self.byAlias = {}
+
+    def __getitem__(self, key):
+        try:
+            return self.byAlias[key]
+        except KeyError:
+            try:
+                return self.byName[key]
+            except KeyError:
+                raise KeyError("Style '%s' not found in stylesheet" % key)
+
+    def get(self,key,default=_stylesheet1_undefined):
+        try:
+            return self[key]
+        except KeyError:
+            if default!=_stylesheet1_undefined: return default
+            raise
+
+    def __contains__(self, key):
+        return key in self.byAlias or key in self.byName
+
+    def has_key(self,key):
+        return key in self
+
+    def add(self, style, alias=None):
+        key = style.name
+        if key in self.byName:
+            raise KeyError("Style '%s' already defined in stylesheet" % key)
+        if key in self.byAlias:
+            raise KeyError("Style name '%s' is already an alias in stylesheet" % key)
+
+        if alias:
+            if alias in self.byName:
+                raise KeyError("Style '%s' already defined in stylesheet" % alias)
+            if alias in self.byAlias:
+                raise KeyError("Alias name '%s' is already an alias in stylesheet" % alias)
+        #passed all tests?  OK, add it
+        self.byName[key] = style
+        if alias:
+            self.byAlias[alias] = style
+
+    def list(self):
+        styles = list(self.byName.items())
+        styles.sort()
+        alii = {}
+        for (alias, style) in list(self.byAlias.items()):
+            alii[style] = alias
+        for (name, style) in styles:
+            alias = alii.get(style, None)
+            print(name, alias)
+            style.listAttrs('    ')
+            print()
+
+
+    def getSampleStyleSheet(self):
+        """Returns a stylesheet object"""
+        stylesheet = MySheet()
+
+        stylesheet.add(ParagraphStyle(name='Normal',
+                                      fontName=_baseFontName,
+                                      fontSize=10,
+                                      leading=12)
+                       )
+        stylesheet.add(ParagraphStyle(name='Title',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameB,
+                                      fontSize=18,
+                                      leading=22,
+                                      alignment=TA_CENTER,
+                                      spaceAfter=6),
+                       alias='title')
+
+        stylesheet.add(ParagraphStyle(name='Title2',
+                                  parent=stylesheet['Normal'],
+                                  fontName = _baseFontName,
+                                  fontSize=13,
+                                  leading=22,
+                                  alignment=TA_CENTER,
+                                  spaceAfter=0),
+                        alias='title2')
+
+        stylesheet.add(ParagraphStyle(name='Title3',
+                                  parent=stylesheet['Normal'],
+                                  fontName = _baseFontName,
+                                  fontSize=10,
+                                  leading=5,
+                                  alignment=TA_CENTER,
+                                  spaceAfter=10),
+                        alias='title3')
+
+        stylesheet.add(ParagraphStyle(name='Title4',
+                          parent=stylesheet['Normal'],
+                          fontName = _baseFontName,
+                          fontSize=8,
+                          leading=10,
+                          alignment=TA_CENTER,
+                          spaceAfter=5),
+                alias='title4')
+
+        stylesheet.add(ParagraphStyle(name='BodyText',
+                                      parent=stylesheet['Normal'],
+                                      spaceBefore=6)
+                       )
+        stylesheet.add(ParagraphStyle(name='Italic',
+                                      parent=stylesheet['BodyText'],
+                                      fontName = _baseFontNameI)
+                       )
+
+        stylesheet.add(ParagraphStyle(name='Heading1',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameB,
+                                      fontSize=18,
+                                      leading=22,
+                                      spaceAfter=6),
+                       alias='h1')
+
+        stylesheet.add(ParagraphStyle(name='Heading2',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameB,
+                                      fontSize=14,
+                                      leading=18,
+                                      spaceBefore=12,
+                                      spaceAfter=6),
+                       alias='h2')
+
+        stylesheet.add(ParagraphStyle(name='Heading3',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameBI,
+                                      fontSize=12,
+                                      leading=14,
+                                      spaceBefore=12,
+                                      spaceAfter=6),
+                       alias='h3')
+
+        stylesheet.add(ParagraphStyle(name='Heading4',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameBI,
+                                      fontSize=10,
+                                      leading=12,
+                                      spaceBefore=10,
+                                      spaceAfter=4),
+                       alias='h4')
+
+        stylesheet.add(ParagraphStyle(name='Heading5',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameB,
+                                      fontSize=9,
+                                      leading=10.8,
+                                      spaceBefore=8,
+                                      spaceAfter=4),
+                       alias='h5')
+
+        stylesheet.add(ParagraphStyle(name='Heading6',
+                                      parent=stylesheet['Normal'],
+                                      fontName = _baseFontNameB,
+                                      fontSize=7,
+                                      leading=8.4,
+                                      spaceBefore=6,
+                                      spaceAfter=2),
+                       alias='h6')
+
+        stylesheet.add(ParagraphStyle(name='Bullet',
+                                      parent=stylesheet['Normal'],
+                                      firstLineIndent=0,
+                                      spaceBefore=3),
+                       alias='bu')
+
+        stylesheet.add(ParagraphStyle(name='Definition',
+                                      parent=stylesheet['Normal'],
+                                      firstLineIndent=0,
+                                      leftIndent=36,
+                                      bulletIndent=0,
+                                      spaceBefore=6,
+                                      bulletFontName=_baseFontNameBI),
+                       alias='df')
+
+        stylesheet.add(ParagraphStyle(name='Code',
+                                      parent=stylesheet['Normal'],
+                                      fontName='Courier',
+                                      fontSize=8,
+                                      leading=8.8,
+                                      firstLineIndent=0,
+                                      leftIndent=36))
+
+        return stylesheet
+
+
+class DefaultTheme(object):
+    s=MySheet()
+    _s = s.getSampleStyleSheet()
+
+    doc = {
+        'leftMargin': None,
+        'rightMargin': None,
+        'topMargin': None,
+        'bottomMargin': None
+        }
+    headers = {
+         H1: _s['Heading1'],
+         H2: _s['Heading2'],
+         H3: _s['Heading3'],
+         H4: _s['Heading4'],
+         H5: _s['Heading5'],
+         H6: _s['Heading6'],
+         T1: _s['Title'],
+         T2: _s['Title2'],
+         T3: _s['Title3'],
+         T4: _s['Title4']
+         }
+
+    paragraph = _s['Normal']
+
+    spacer_height = 0.25 * inch
+    table_style = [
+        ('ALIGN', (0,0), (-1,-1), 'LEFT'),
+        ('VALIGN', (0,0), (-1,-1), 'TOP'),
+        ('FONT', (0,0), (-1,0), 'Helvetica-Bold'),
+        ('LINEBELOW', (0,0), (-1,0), 1, colors.black),
+        ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#C0C0C0')),
+        ('ROWBACKGROUNDS', (0,1), (-1, -1), [colors.white, colors.HexColor('#E0E0E0')])
+        ]
+
+
+
+
+    @classmethod
+    def doc_template_args(cls):
+        return dict([(k, v) for k, v in cls.doc.items() if v is not None])
+    
+    @classmethod    
+    def header_for_level(cls, level):
+        return cls.headers[level]
+
+    def __new__(cls, *args, **kwargs):
+        raise TypeError("Theme classes may not be instantiated.")
+
+def calc_table_col_widths(rows, table_width):
+    max_chars_per_col = [0] * len(rows[0])
+    for row in rows:
+        for idx, col in enumerate(row):
+            for line in str(col).split('\n'):
+                max_chars_per_col[idx] = max(len(line),
+                    max_chars_per_col[idx])
+    sum_chars = sum(max_chars_per_col)
+    return [(x * table_width / sum_chars) for x in max_chars_per_col]
+
+_stylesheet1_undefined = object()



More information about the grass-commit mailing list