From 0e6d4f3f51fe6786605272210cb31d5e8f0f18c0 Mon Sep 17 00:00:00 2001 From: Robert Tansley Date: Fri, 29 Jul 2005 18:11:30 +0000 Subject: [PATCH] (Robert Tansley) - Fixed numerous HTML syntax horrors - Added database schema diagram from Claudia Juergen - Moved Oracle install notes from ORACLE_README.txt to main docs (porting notes left in ORACLE_README.txt) git-svn-id: http://scm.dspace.org/svn/repo/trunk@1270 9c30dcfa-912a-0410-8fc2-9e0234be79fd --- dspace/docs/image/db-schema.gif | Bin 0 -> 140100 bytes dspace/docs/install.html | 54 ++- dspace/docs/storage.html | 625 +++++++++++----------------- dspace/etc/oracle/ORACLE_README.txt | 58 +-- 4 files changed, 296 insertions(+), 441 deletions(-) create mode 100644 dspace/docs/image/db-schema.gif diff --git a/dspace/docs/image/db-schema.gif b/dspace/docs/image/db-schema.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c495b7c9278eaa34b6a85b2c35fa2a0cac7a8ae GIT binary patch literal 140100 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

G>5wnJpvr#_&`#aKmSOioI8T33_10&v z{q~aSi#n1z=WM6;SnpxHyN^! zhB%a=51VMjAxiFtGu+?{5ugBn2@88&1ET~FGLxu{@r-Cpbn;G;`Ocq&hP(#4^ogGsi!P88uE~c{F(P85CRHVzycTG!TIRtK0hLmeb8#3 z+_2U_Oj=I>|4U>{W+1KwRgRMaw4CIK2|3~|PM4NTW(70HK^g84a6J^Bz}D0m`z%m}`fggxq4r}1&AL&&uL8`5t)j}Tw?-m9zhhB2ImXLjdqph&b&j1_1z6pBlA-Lygojfhs(vMyho}ouyQLs<+1x zRf|p4Vg{}lRHV8RAytiHq?%a4o{IAzTI4BI%{l-C>_h>>Qm4;q=1%(DG^KdWYq`YM z0w=T~2rSsZ0Y;zzz9G4izW^ z0wQ%-lV&S^ack#BALu~Df^8>fyKF}UP)dr_HX@{r$S;FP)Pv;otGw;)R}UgC(vntq z$Q5pH%PPFGPW6{zT_tgIi`IkajkwaSu35{f5WbPNlp9Ql-o#Z~!!FgRJvHh++)9Fl z?nV2~DWL0SNE_a)5Yk3TAKuOFYO)Q(9lso9v(^yXo1iSE0kAtM%lYKQgPf)2L20 zrxX7&fDb(2%^D?_iV=JeO{@CWxaQeR+FAx4EIJ(6h;zQ|1us0$^t8t|@x3mTNmgds z%efZ73%yV~5gHnz3R?rEd@+uC-wy2ZWj zGEiIIFnG7V=bh~t@H^fF@HV~Co$YlC{NDyAIJ^6OZfh4@-}oN40J_~`V39g!7w4X- z^_=UDoB3Ad5Xk31Qs0!6JR`FSYq270$T89Y~1+e6|r@yGmdkLfEu0K z<9YTre&?PWU9T}m$WYa&^P@Zc>ASfVf7!8*A4AQ-1GkTz7IG73f<7hgZ}u0M?3QA)?Q(q8s-U+KsK_`)_!c@ z<`Ft5vu>)iqR-3w5^Vae!frRtcYeW5KW>5hNaAVtNKn1vGeTFuhv`!WGEAAIp@br23B7eT}fM!R3hO`rFM}hww=y4dh zcy9$P9wmXlA~pen00@8yW>5qpun&P1VtbLGf-fs zg-6gLgS19aGZ=na1A*H^euyM^Bp8MH@q=84b^|~UGC&U-SZ8XOhBa78tCeCfk#&GZ zhlm(xNtcJ2r)-=gP)0b1^b$}SGHe;LKxFqU>_Tksav+m4C*# zja`?F#v%c6;7A@2N#fX!2y#IGlwjs~kSw8r5}8H^w{Yo(k_m@!`=*iu$C5Cak|#Nn zElHCxxsozjlR9~mFPW1(`EWn!l0cb~_TzJ`W;OxzjC59xku^{X*;?sSjjXj`xVTtN ziGc5jmFZ)S2my?e@_8qRg9>2;3J?Gj@BoIzkp+2;Y&mPv$aMeN7<$6!P7_y`c3GFh zH*p0A13;;5e7SIb*_Q97T^IDB?5B50~>gWpGaqe)NF5wgwOYOR#=h}L;$Tao3vS*wt1VlnVZs~G6?Vh zUa1omd6AzPNwFr9Q;Cp+xQ@9Pm2ByYFnEqvsX%658E|y75JeCHKo9_ES!oO=X~`y?fJmM9c|XRtcXKI9GmsDA5unlG z8vv@C26~_f3Ld=)N{9G{6nPMu#aW&;2O3ZY{V! zh>mUpS-9wqE4K~8ho0t{p67X|cABT=NrI*ZEJ?Qq5fA_p5TAAiQe--T+~QsUH$ZX2CM62tf`300QC= z0lP|gA=r@91BZr004Hj#->R+Y8m=XqttQK@AxpC2da~&HvMx)q;M%gv`mC->0{6F0 z$0!nQwG2z34T{ESwJ4tn$&UN_oDb%l{b8lW`isf>0Sa)e<3J(^FtsRXwF&^WRZF#5 z8?{ectx)@{SgW<;aJAanwb6>T$ttxZ!nXfhG`3L-w^ggHTI;sY8n)tEw$Zw*dK-`orRi@l5#8W&;qlVv+fa=@brYW605h%Py$f1%!(pfyA5S~tiW3$ ze%rRho3$u{tiy}8%Zs+kTDQvzyuOT#;@i99 z>%Cqpyx!`Yafv^;Yjk2$4qdba2Vf6yhN1Q%j~hx!d_;_u$hxy7uT85xV_2j(s-mS@ zss_Bkqk5x8YQXuxz%q)!q*}oStib;aoWVyrstJ6e5xlA!?7$iv!Z4};@!GHp(LX(l zXca&LjFzzpbbv`)X>IziM_a@Ado^r2X>b~dJ4}MMyB~6>ikOmg8Q^LNaAb-Hq8wX( z48;T^9Ksl^!5tjME&9P1Y{gpqz!;3hSX{*qT%;nhv9Y349b{X9-Q3Cz@f;a49ow#Jj@AV9J##9k*vy!{2b4*%)Y_QsXPFtJP>Z2bF9{1 zzQ$;q+>xf~x%HW$!bXiusf6ffiSA;k-^@pvYiy(FHVM_fs=JHcqAQnke8gHS9t%Ob zE6uN5U&8Fj&`ciBVIBib(8CcOjm*fyq0j-K$f|rC#r(_s3>>O#9+wQu(Y(p3yve@d z&;hE@&p{oEj1Bp4(fq8+&jFwa&CePg&6kWG0vxG5xQJ7V0Kx+kw0kMGfx_`2n+f{U zKpoUVeW2J7uMLV>oD!gtOdO^{(Z69G!$BP;-PFuM9RfW7Rt?azOezEF$RoYfr4rUw zoz%=x)};~vT}>)U-5mc+P1bI`DQ`_2(P1h|t;!~C*U=oH=y3o<7`X^h4%?8%Yn*(k zdnx|QgZeRX)OK%-t(T5Haqf1Pl0Dg!UD=j>*^%9s^UuKdiDY}T>u%DcTOpwi00vC+Y?$<`4a z51q@!!O_et)mR-K$xYm`Ld~+fKlvfGGc-{FisU5tjs+y@vTHfNFs_1R1=}q3} z4ZLjVevg>; zEv%huOw6ASTDyu4=)+;?5q{{yt>F9}*P%|;sXo+gZXUcz%^T^yOb$;35YzG@00^+S z&+E2@i?;uSyA4p=wj_eJ#6Ij?)V9~_wrZ=ky`H^_o4x|^wr$HLQM)8|%ecq7B*`AQ z$qTK{4()cEz1q&W)6PZgfUMj;?h2r`#w)$auC?pl?aErEN)8gep)#*>Ffg?@ud+7@ zk}v@8G{fQVvokowvF`}8F%H5o0PpYt;PAr%@uS1=rUX;-fbke#G6oYdj59h312P6P zFfbKJER*qmGeYKp@&%Le67TT{Pckt-Ffsos9Frg@a~%THGB2Y53~LcEz=0?}DJouq zo0f8j{SZSxDVyH9`#dm%UNH*qG6C-(9}gVxLiH`rIF`fkgaaH=k1#bq_W8RpDns?~ z0y_UFlk?fZ_S>N`?E*Nl;^Ir5h*K!3YtV@LQNS5Y!415?Q#`^ZI>B3P!0UyhhmQb> z55|gL_*5*x7TowKnD~ib-hgiakU($0_zXP8ZP*fpCii`VF$=;tspL3}qwsw*JG_JS zAoNV7kM-msIf>&^us`S^v>==l@ev>TzylnfllsiVIDn%vrc}>Z-%YL`@q?~QpD#iK zgF(PyJhv}85#Kt%k2v+rIFPe9GGsaelTFw!_X98x_kiXI(e$atVtr`Xd$kbx00MoO ziv7!|Us{AC82|O}&5XK>n22ZG46F(1i2wmWAbP~k#>0@fg47*XOxiWMgk zu$WQ*<3^4h2V(RXQshXI6PaWf;J{zOl>QvB1TdiBybR@H2A~;$B}b0oT0WrfdS-XR^C@RfJ~j7b#~r7 zU>~;4qc7t%z3+2r(w{3|wv0D)?A4tuul9`Fwd~!k@oM&*+jZ^DoilSD&<{7c+Q2R6 zyG*<|XyTVMXRhAww`gplxqsJg8iC$5d=C@w8TBfF3^}DnZM(7{)q_Y?291gqW?QBI zJ9iQUK)wLiqba5JR9a6d{s3$Xr3{#&sT}-l8Y(~p;gd=y_V#P4AfNEN&%+EpR1km* zljMv`ei%uliF@phgt5xjoey)ULLy!tg3c?IOsfNJosRy-peJR4qQy z`gAI^KwXeOPbKs!0{{@X5wbgHrIS`$Z*8njTz6gQF?M+U=(hllldag(w%bhqJDHSS zHaTIpGuGJ9u))sRYPY)<+GC>)P1?;6kQUl*x8-es?vNX|IApmMx7~GxJ+8ZPw*yz% z%+5XcUhl?h6R{oJ0x$qYrEHZZuc)+%K@<5@IANRspp>9_2AUYrfiQiPN|?l~m^~Wn zV;E2eJOwI3g);{DVSz9$*@1vf1yEC*`b@b!l4&OBzMLU;6{iPBzVt;w1x3~7qqcDf zA{~Kcx@n4(bUNz6c3hbRc_cxl2c;Eya=kOX)RLk#zce$Vu{DM=%dW}hGEJ_*4*Sfn z@hnejiFCEQFue1&a|V}Pnoq2Q0B6r8pRnAjAejNIDdxl7!mn)$2j7tYJ;EE09Hy

8^%3Be`sY6oZpCJkD_rnQ)Ug28hJ+vt;ESR%Blfs#9|)L%tSn+A zg-i^0KlD+MfH=g&48#E>K!qeEaf%=~!A)Db5(A4Dwuy|*ZEyqs6PM6dB{iXKZd=5n z+OqhyFLI<`L);q?Ly|@{N`?R*(@CpN20WNZNMj>(p{oeiC01qXcr$SsrX0pIDGADe z6$9ALfHpGr^&;88PLndRN5}{;`WtY^X#3Ur0(j`HG@yuntF$O~?KPzI$jlh#DjT4B=oT|sE7SM=M6`&qDH4s5fteZ2qFN_9f4d+; zwn|WnF!#8{Enp<`Y1OQLx4Dgsq{pCpLr^~LNT^h$*=7kwEj`qxW|fme6o6maQH>l< zc*8M_5z-hC00Bl7VSVMR(^f|Dl?|RHUE?YyxS~m}T6CL)OJd6i5WvIY@Gt>DY&Wv< z_ai1Y3|bT7DOWLdAplF5QUmBI^a^CW)Wu+qJ84uKU$w{8T`_tm2HhC0Gri zV_$X@(upi7e&SP{zmln^Yz0L>aZpR<5-Calp4GyO3S$4aU$hIaH+>_R%buqw}?noE18lITK-dH~<-GLWP^>ymWSqB|s~TG{GW zxZX6w7WOi&5yJ#<3L95cn@2dD@Pd$T-~h|m26Gc!<}e2vZVnFPwJ}^_7v8bL6Aq(& z!JTcoEh!;To)xl z2DV8Ls66`t3q1ks&kFHVq6Gq;l6KVz;fup+<#eswQ9e4)XPA10gV0YP$$6F$zFA+v;FKaXnWSdo_4IGUFu*r zyW729b+Y&U>wA|w*WWI9ySu&Wcjr6UxGT=4bTd8V8z|ZTF-n%O{ zsXSg007wZKow<^N2^oQKm`QP!L23&hnwdtCl1gJak{Oz)P?!t|8BN+50I{Pea+oWz z8A?f+NjeynQIAK_A3Os=nF$(0yBVVM!JUzr2N9Y|TM!AsnMsKWq*;UgI*fPAzk8dV zr4a~y<2Qc;IDz9DJSwR%YACtswkV_dV@lF zd_oc+y(sKQfNUDH!l5N-f(keQ0(by&xG~+EuP=M0Uy~(?^cR6_o*Y967mEn#;wk~+ zF|6u~k&MWSI7u2i$%Gh5is+|CDhzmHDheT|97P=2uKOZAReii%8j7MqwENtVu*t55v~j+M>I&UWXg*;05T-V zu_Ptk>83K^frbnRY?v!60Y(U$s}IVwG^I9i(a;KB@t{5YUfnrIC zkSFbOC+}Ja$9yO7BB&$lq3AlUbmB3?TrwPLvchmmw1mXYoCw`X$c1dkhm^hfvM+4= z!>eRUoCHn6fI=FJO$dBI{F557R3qJ-HB*uRdmw=WScBTM$2G`AY$Q%1G9}b&0X4*i zzbrkTq?Lb6&QP+o+nkzsS}2ApI9HTQ3X`P_Ta#0q%Lm&-H@rXCtO&GP%eEwdw_GWM zL#aK~L<0iI6jnv>W?N2(WZGt5$gVCmoJi_x)w{yBBbv(bL(WoO*8Aa0Ti#sR9(Z91& zv^xM0{R>?gfCEUScpS&J8Izm}PcNLv;EPL)EWM;N%h6;>1Zd6&c+L@>6X~>5T+36v zN=Fez3;?AyKebAO;~TUhfo$l9bkGAcFoFnZP%i_+@60{A{KGEfJqsN-)?Cv`MF=4h zLqXmD(6*6vM3Sw?xW&~F)kup-v%%$&rXAdb>IVsU(>TOb`IJS7_1xlPR*LNrHgwlTH63f;ELoz#I{n@ufP{Zhnd<=l!uUj9nmnLQGE5L1bg-ph?C z`=q1p?9K{x(2M2Oob3y$$pA^5g9{Kq62L?RELeCmUW-`&-sBaC zc`MwTHKhTdhcGo8_%cxN?2Pgsr2mmz>6>lb2_1+Crh;kr@2sp4&Qc-o>TZ-_~ z{&nF#)L?{*8vvGMy!Blt3*3rz=61^{#Qny_?P|)MFeIkxr9AIV41 z9f2|!0R^bqh8AP)oKL_;X^J3LzGdoRZB=~DG7;eF-j!;+R?bR>KyK{6#1%lsW#`Ei zXBh@XmK|6dzTsKR#++=Y(*BXrcG{Jp;t+sp3lleQWo}!RDRFdUDO2jM{cL|kC-EiU zAl?Rf%Hq6K-`@_^`4vR1b=bECPZISAyg|JO=x+VBYJ4OAZYUlIp7mLg4m08P?dqkS zqzhD5M&;;bRSSO; z|1^pE{^0^5WxK)gP<7qK z7KzHHKJhcsMz23c*U?Cq^hu}mO1Jb&$Mj6s^iAjg^iH32Mvp$&&c7nJU!SBzGT?5H zG)J83JbEqXQ`N2ym;qnd>=oqg^<+|Bxak$(-|0{>9P*7oRWgU-I`>t9_y8X8 z#w1_z2y19@_l_XV zDhJ}zY+N>$V`$DB8~5cS`G9=h=XO623@;LY@8{+2NrZTSpG5ToIB<_F$7t{JX$NnU zoo;S_^}*2gyY0=i9uIIAc!yXeRbE}Gwb(cL@pMOaVpWN}!-@d86U4CP$M z_^2^+DX*t~U~7gSq7;9`o442V68LaB`Ki7Cn1qaXhs+0fBfkss)D$CIAV2t+rtif^}+=iF{@fo16TpD%hMc~=zfdV8Gv zj=-DH6;oY5UDKW32}NS}_uhb_e-^;N$%D`-uX4U{~l1uKeh>d4Nax&`0Yy-3E^L zN8B%S-It8U&Q5ZIua9RiZ|Qd-SPnr11P)&E?8!3#(4ZrI5-n=vYV|7CtXg|2{YYS| zR&ij*k}Yc%>DQuF7djvzPZBC83ZI@#88RY9x+GDi9Evxi)3a(xEER0nYTCn!7c-{X z_;FSN1tGUwOZhV9%qt}q-da=O00|)|Sg>$`$2h%qo#w?D7%<4ZEB)5xyI193keaEk zQSj38!=1Z_6X&{Su34zKUl$+$3%oh>=q;HX_bQ!X;_KSCugu=_^FYFqB%OK#2YGG2 ztUJnveS5v__I9OHN6+1`*!%kLgWs!4D$HQJs6M z3FX>Gcm-wBh3Vnu;YfaUs26Poe#FFNE)8fRi-vV2m~tA$*dkN?Ei?~}IjY7Ia{zE= z-FDvTIHY1i{&X?t%E#)>JjRz*^5}R;J zN)v*I%_xzflP)wM0uuQDiRp%1#<<~(rBXSnhoA}y)rG6Ny5*J@ji_FTU9uXhjIxp% z8%&jIG-h$YYC3FB!fv+EHcq^8%q~xEP{shl0UDxvf^s-zZL|fJX=aWRTa>Ziiks1b z<6>2xbmcPC>8HAi3Tu_M>dM@Rh@J}XMXkO!t4OzoO6Cl{Ze`g3GVrhh8haifzz5|J zT4=S4GO8Y+*G_w}qSy{8Crf9VODvd%U3%%qn+8WhOpoSzS6{MH$ude4$!u|;=~25{ zNnMguD!ml1oaN0Laf}^z;gc*P9LE9WNk5nJ(lEmEZ7qXe_&ai|w6&ygo1AZbpD9l&; ztoX`zJ6<=$VIJ7Fie-O$V7p_Ds`s$j5ws0lJ$y>7*6f)+bLpwmZ2H@)YppZt8Cq=b z&UGQq5au5xeI41BPg;gimN|fcI2*7K!vSSHfKB6zGum_H*-Bq=*A)8xQ1921$*HHa z{rm3SxX$}7$?ozSCt=b7N031XwR<>hf62GwqK4Wl_mw1a-68=8sH|0g2JnG0RDd4J zGn}bZ#j1#vZ(g*cUjiLSK3nDMdqbK53I5j|jZ95@I`Z0CZlyhfkpLCrIYk?s(3#e$ zt|IbFT=(Ww>8}PJ(kuRJj0MX!10=P8 zJWVpj3p79uLRIi)cBC8l_NTzdjqh#$(pT+tct;vOZ1IG4XQ35GCQ<8UO;=flN!mQc?ZHN~@H~zYM-)lMGQC+gx`|ZsIR` z(Cn2WMMlKLkV9F!Fh&sC5CZ~`!(s2FCF`se%XrGuXMS{O{Ti1Wk*1M{X7u5v&PKE# zJ(O6!^if9UL5`f1C7?vnn?NZ8NbTLUrraTzXh>rk9z>Li@{tWmxfRc#B4wywT1cJl zl&3xQ$%hTK+Ld(XPROzHq_$I~i3D(uh+5@LhBT_AtO~Y)Ow)bVoZm^miq?mwi~xT9 zD_{dF*ufIEuzvNTWy;ZlrupCn$XkX2+~m@cx-6ZcieX73m)9Dy4w52eX|=NEI4TPN zBzHliDO@FW(-lcJwOBE&7mMoJZ!*Y17J!fl$Qi|`V)K=NIp5aM2o`TeCou&(Si%G+ zfN@BxtPxu%DcNaGhi3MM(j^dV`!-v1(ep^4NopLK>eaBSQm@zjrChf=mFys31~E9^ z0VJ?IkJb{E>(Le~@yJJ%@`}6^AuUL^^*BFnQMQLMuzJyElt?AGtw4-zgFlE>JK;%B ze9D{-|9g^@?$x@&9oU1l=r_O#j&S5??jD^=-LY18kJOc_^EMXZtS~sjWlC>G5);nb zjp|O#Jmu|kvMyZUhNH}48O7>*A{rSBfvn;EkxG33XXPw& zjQo&iLI=S|&dh4he6D7C(9CLXjByQyFoi7_#Zulf452$47ndbq_1w++23WuYQdx>x z#*#WEc-}$@IbL3_B5-w-OXs{9PT4({K(bn4u1X2N?TqfHXN%)Xd)JMFghAo#OzNH} zlR0vAvsuWz>g~w7C9r<;sKa*aS(^no?Oj3>N__P=_6eKt8G!*n$EVwIH>+RLBjV<`Xy?99 zn(yrsHXgFp`tDYe%fN%dg@bv8uGPp;)t4?m+I$T!OLqm75q0N7)ntMHH;?{#6^v`@ z(y!G>YyYjCNkeMHfg9Ygu?TL3Vlly66nRoU;sAfZ{4fQ!cg@QjJdIdfoV$g$@j_$gl zC23=lKV4{Te~h2!DjlJ}9W4va2)i;CzDH_lbCisxOe#tDy6=19`5XYdGsAJnM7(Q+ z=MLMo0!A6oqmeD&I_6uNMUnHnGJ+%|*&lxurvJOfq92${cZu`UGk)g>4P!z-glx_R z7?mJnGf`RJm@_4wuWOag)OBAR(i3HU^oT`fV7#S*cg2wPds z1XAE>x!m$eAPEvj_92EFNq|Az)@h8+WMcvySz#5PM5DFm> z7U3GK0T3eL5e^{|GT{L@AruB-6H4I|QehO5KoeqN6=ES5N?{j%p%;cB7>=PBmLVCQ zp&6Fp6KbImCLtSIAsoJ;7A_$YV&R{8-C{%_4`ziP!bA)I!qHNNAXHtRr{NhMVi)dR z&j{{eX+_w}0URS@#v@|iLNo#~h?9iyfZ^B-kiF3J-Qc~^TgODARfyT+ZNoN104l0t zPNX6Ntl}%8qARLmD#{`)(&8%0VlCRDF5==Y-r_IjA}iM7Fcu>*9-}cPBQh?dGBzVK zE@LplVlM7tG)|)`vO_G+Vk(*&B%u~5l107&z>eV-IT_saz>fk!*?%RPrTL)c^x-!y z*!eNR_K9B^bYB5_p8?vR0QRFl{vQE`pZPK1Ko%rH9;88Np9WWX~rV|e&bDnho)6zpV(P8(Ox0K%pqb| z>M3GLUIi6eVG(Yj63Ss3qM=X*B~h{=7gk{#Dq&JCrBXH}Qwm`s0$N63g9KRJZ)F|Y zammYEU8D`&NOHwOltUcwz#MQ}8EixEIhXBhBuI^0v`vl<<|I#uqFmM`m1UmJ+2wk< z-au>{oq1c3rP#$ZUq=#&DdwJDB84joBQNGeD-I)LI-_Jh<76shEwaNezT#tQrZnCn zXD+5^W~M4C07GI%+8n^zSYAeIC0>46VS3~VA{nwQ1BsCU;iRQnI+<&_WwfElpJ_z! zCFW+hqi~XB!p&WAGQ~|H(XRy?%H_jbmBugpttPc8<*@U2gKlA@sKBKo`cR>M1I^s5tA`t*n}oU zRJz?miPt7O6N&X@pSeZq4A6`CX!|6gHiX6%E;ZHj1+DtH=eE#IkCUz)8d6WKo!2 z+jZVVLF|dHPkR+;;Q(u+9U2<{F&xEuU~_+xW0+pYOU_ks!g@6b`Ho*@YKZ- zZQi14jcCNYcI$z>tjT}|0?=j?XaLGJne(6{*}4vg5vKDQ8=2%Q-|E}j7FU_zO3Ic@ z(gJ|eMPI*)&E0lx3NqN~Rx0O81riBFKXea=OcB~WRaXw~Z~E&%Ab`Nd*VKAe*7(+4 zbfvtw%Qe-D$=28EI(o^1VjUleF5KE2;eJiJ zM(xY(SB26Dd43E@Gu3lCx`|=u@q9BoI-1UmfO2RMfy-#o* zTZc_6A?_xJWk%cu-T&65$26_~I!1-IPX?|Iz258T&A@(o-b0kbP9XrLhLGT@7u#0w zk?rnoq;KE?R{`&>S{&5zWk3jUYQ1`3M-HM)-dUbKui_q!47;$J9WhC^Fj#&UAj*** zeK7Q0-$KSETjXc#BC*@naH|f9#NK7c-f(wf=(A!ZhvpX!`G{C-?}dxzpxPbl{gqOA``$ND{>+)vLiP#Br~!kKk_6; zG9^>;^ir86Z*nDf@+EWfCwnp|U&ZQJSKz#iQ4W|IAIBueq!I&$%Fov#rO@Us~M#Ocx_cM(;j^9QQ3Pk8^`9 zGcyydEC)-t7RA&Jzyl!H*Cx+4;Aa}M@paY919vkJcgq0)U4-)U9zI9>lGU0{@%1tB zT$-G)omepcb6_0buS@uI&e1VO_w&;c@Gv)>z7hp{l>v!8XOdPYEfJY?s<915uxYw+ zo3->FULXh8?5Anz^|7=_2Hc27rjBGnU%mj~1Dql%tZvxJRgz_UR$vVvVX*DT$V zZ-c%my!0Jbp7X+f3^LQTYjw3(n_Zbe^ZPQyO-OA!uUh|r^BYUH?tv4)=GGeYLtf9| z3JYIkXYcP;-|IRlU8;nQY_tstm@DIzP8VhwLH0h2c1=;XS63F9+*&CQ$nXGea;!EY z-LtO$0XJ(;7&Tv5Y728ng7iy_No?0CVQ(-s$)IQnaoT2X2kMV0X-Nyd5xrnoRubR3X*PJPrASQJK3txJVHS3~CXWO+>L2(a@)=ZMOfA!ISZ;v3~ zHwF83LL#JvS2%_fBmv9-`fd36c{ulRc!+$J#^<~(1 zy$QIvMtBiPxahIh-#Dj^|Zu>JjCOK!&`jC=LE!4{KIdNaOMV28?uc z;kNB%b7h@(Z<~v|XT1TRI?J!T$g_OKMG^Rc^RwFJ}CS|_9 z>j$Igo4#Y7zBbbS?0cpv;{NXU{^_ft;L&}~@g4>fc}TCQ1c0_Gs|xe~KRE^AOFHkd zjp;kS1Asq70Bx@4Im76TUfGoRZc0*wHbYE`ROv1Zk}wW7#{0tS#95PoRh$^{-o}j)Y?I2Baz$}Hz3$9hxhrS?&!0gH+#H&8Y15}s zr*0@fb!*pJCqrdDaDcuK6he4RX;7!im^WzxUpbukYvTtyDtO4mpka3Vc%HpFnCWq= zOxA3(zMXq_?^Q=1oRM!p`LyNDqvxyMY;icRu~J*yO7}KYw5S^7!|`4?n;J z3~Yb`5j;>qw-AV+BkjJkstnA03ePwTBh0We3^nY~!w*4xXoe6;JPtbupJGm+0VIfn z0t-C2fCrR>D{dg)Zme;koOI-|MADczU@C`ZD=33`GWb!+j06yJ$tR(VvMCM+B0xX( z=JOA}{IFb)%fz;fZ_6vwO3X|4&`eX!zRn8FK@x_PvNN9lsGPIAI_1psAUyT#)6YLC z;uFw8C2BHGr;3zd84FJB0XcX1dQ@y*4 zA+XS^FH1DX48R{P&m6N=`fhdg%w5;)HBGw8G0Z{TP&G(UhmJ+|yJU+6k=bUUjh4G2 z2})90Xi25Ys}C@^;D;a1m_vgyN|n^6N-4Dw(@Sx>^jePKT<%>tW1H9Bd$nB+y?Fwd zXWz8^8Gv89_-#q4037IdfPncucrAkiUf8#T4{j+~hJ6bdW4hFgcwzJc4z@ghL~g09 z49Y{G-e{jyNL4zQ#rMhTWUkrf4Gqc%gmHG1j#IM#evWCdl!lg$x^sgD`sT0Vm5m@7 zmRJFeIVw1yjBS)k2uF0&?Rs5x+f{dIg*y7+CjkgRTkW)&fPrnbXGmLsxCN-&?z{2M zTkpO3?%Qv>>7H9|CIled@WK&4T=B#iU)=G=A%9%*$SEhBfCEq*Tl3BLY>2r5P*zDP z&_#D(RsfJJ2Y|6w2b%Q(5*EE+Boi(eblCfq9X{Jluf24C5=K1()dePb^?4i+*mT%K zMtL6K7k0qk3}i2F*m9d~IU(&6dYL=!IS|h8dctHrpkcKm~p$u_Y!yMjFhdt!s4|fKOy2Pa{6%c{Q$a0s^lqNN+ zxs7N}lb77wCN{5WO>SoMo74=aHqV*O21VwXJUiq&QH7@&m<|Bc6CRRSg3lEJfQdCJ zm`YODIsgE#U^c0kO^{?VgANoX`?TFa9gqQnqKuzzl%7PH=thbjiK0pg*y`RSlxqo+ zAS5km%;1@tqotIko6{dXTm&N-wXZh=jGqCuMoF(tl6={6+DJYyf*FXirQQJ*i2!+_ zqAr!Gfm#jnSeb!{8dQs&dZHY`Xw^w&&6G)UqHiq4N}vrUqes` zSEn*3UCVnLF=>@h+EmX_hm?B%^=q?=)QCkj>QRy6jn8TtR-C4Cr(kpCE1UKdYHbn$ z<3Kx@*2R8(P2C6(Ql72Uo1s5X?G6diCU|KvsKN*P@jmNILBs5ioJFSy0klP0<4EpUm8TnJ1oBzY>y9=U6Q_=8G#8~|72q6RyT%+P1A zyIt`fGO1(}NNNWXTkRg?v|qf)X_UBJUtq}t2SlAEgYtNb;ZLMs^Fe4BEQKj7!>plg79F$=Tzs*4nws73#hM~E| zT|scO(1j92_Y2eieQtS+8;C=+cfIi~#C+dd-~HzIzr!ukCmUzk**3VdRx>uB2s~N^ zx08$md2mcg`q>h<_(mq%#C4*VDl0wlh@HYqaEg2zw$vs&emQb;s+{D#ba~2y=}VH& zT;?_JWyxu2OP%MO=Q#KI&VSx>pbuT>MGyMXiH>xmCmrZVcjv&FeQ~LKNQq;+oC9GD zvt%oE>NnwO#k(H%P>KChN+!E#iw*I!ue~)67s!eMAOU+=@LdA9N2Za@6Sq4xRcr@) zDcK%)g}`0#QHgBfo0@h%BcAb}sro=9kd15@1_2uwrC22mBA-g@v*1;Hg#r)uzc>Eu z87I9&wtag4mVRC%tXKW%A1@FRWTPMH(1RI_Fb?`s>c~$z_Nh7#`iO@~+6%*tDVHe5CO;bUC~Of9n|8J8IA`xJYUA(ogDOXoEcH+s^IX)(zeqaNQa(-9D%R zDUbonjfMPe-!w1-IS}AFa05MXf<*9wu&w|X=>I?i1x;`T7b5lm02?&G47R}xia-LI z%l6UK)3ze=5wa^Q>@C(I|3y&_Eh!BYotToc`4B3z&h>alfVFWhd1NML(Bwz%9jDV=? zM}E&#g0BZ#;|B$h0Nbz-4e<~OMGz-K5fM?^_KsQ{02_>88-O4HMnC~}?|t^LM8+@c zc0vV}rSBMT2ph2!P4N_G%rzJh6${M;>!}DnAOMac5A{%fex$p2OY3xzJJxXRR*@Bf zF&KqWB7PAfhOrRWuONyb0xI#x=BM|Jt+V)S7Z-2%5U&`IF&nip7_qShw~+{45deAt z0RliAobj;0inyX=;c`*!J~0&ouN%K{9_jH6<#BuJu>iwyEUe}nu_Zg+1r*&-`0k|t z@$NAn5i%heParFUArHwK{6yC@*q1$Bp0$F zVBjDS-~kkX7KFWvL?^ZCy!nvMo(e?7mk4iHh`vj zggP5)M~SRHEv-6$6aY3fBm6Tf{L}M3<1Urde%5qK>9kHeWKNxeFa1(a`E*bHlmPUU z0RC>c{QARI6!4HtQ#$OXbd*A)0ym-JG^1`e zJ+v~^@h7iQQB`$S{UlCzLiD7REm`$DG${kZ!3ka<2v{Hn4gdyp??yQc2YGZl-Gx&% zaT9-HD5pd}^^PF9LNkfcH)nNPsTJx5MMW>oS*z7MQgTHQpbVT~SM}j2^1)Mav{-X0 zSS>VDa&RJWF*kctRvVKtl;%`jMq0NuU-gwIMdjJDRa^JwL_InW}O07n-(fLmTwhzacL4-NS1IJH!EgyUiNHA znYCmKY{33hP|cLD3RP6e4sRou^T_ON*35KE7th)Tbyrvab=}5wS@(56O?K6$b!Rtr zaTj)V_jY%;c4_x?dlz_lcX)j_cZpYcizp#QS7fzfZAbSj6fS0|7G$RvRV{WUqV#ZI zZ+V}$SggcXz&CuwcYMjWe9iZK(Kmh77kra;Vz-fdFSmQQ!f)^8a-Qxf;`9%jwQb=R zL5~l9<#$xv&;1affD3ql4fuc&fPf7cffLw)8+d^eSb`Z?fh(ATCm4b)ID;klfjc;Y zFIa;yn1d(ygF%>sL)e5z_=G(;g}np2tWZ4K#7@niJiEKmDq`&c#5HziVHaZiksMqs~C%~ScJ7Rqu7A6 z_=~mpjJFt#)i{mW*o(UujLX=H<+wo}zvS{_U^yoau_~oqTNw69RB+Hh#zUku$f*D(!K%_lUDi0G{{*6hMi`q2wydlRJ5dHTjbZcpEgiMc5NUhl58bO>=R}g&T^5|BGy!YZmxW zBC6XYFUVs6^5Hzhf=$vQDb|8I)Ive7x;^%ysnvR{ImR!hIxWayE#g|P&jU=@#4QGd zF92h%+nQqlqbh8Jaiklaa%v?qE&1KS8jzbiaSg2gG-K^R}w?E^SUqt7=O+xz^6&poW zTe1d%1X=(YbRkQ(R0GO&i0hSW!ZfpS_K?RkU9^g^KAVT_S#V4H9rxGS#P)x~+t66$ zwu9TZU;DMYL_PWgR*ZYP^8!7zTUU4`OqyH5ADm3`gH|eh!;gDRTzk6FBf8gwtPfi) z^YOb!JHS6>AP^uOwDcH)KvD?+dn|jMb7ZC?$rj;RY;-zPtHY#&*gAeVs1*WqJ-ZDV zTgB~%2|Ap^6FdOQ0l`6h!W+E*xu@L9VVhQLMapk`!W(8R_$A62+{(8+!I^uy{Udw_ zrcDe(GNh3nlYA|eT-yes99m!l+CT_iU;_?d1S~AbY?`Lwo2Pd?r={ys_v8S~hAQIR zv`N#^`SZl*T*|;ASopO$U?ip`O1&IrrPP6^XjpyJ zSAEnKMqwi6pIQfbHvQH6MPoQU0I27Ae0|f;0@%0ed4i{SXkF7gU5Yej0HVCq*St+U z22CQybfiOIut5Q4AegXa-m?+KRgvFg%mK!M31VPeSvF~~ms5q%l*$xA4OvVt zl)e`kznAr%gM7asSsRs}>A$PB%BY_7>2;vUqktxKSYo2wess)8pzhv`>}hlus)>$= zit@hiLC1}7By>Lgcm#^@-(H~1qMq)abyVV_BHthEN%DoqiCSk;+UVE?ii(D3@%esq zq$;6CC)=B(1m8FRxEeixC(8j=5(cKeLtJ)|k)E`{n?oTzS|uIrKTfTDqj%oNt$6-i zmUfG!Lp2r=S9ff6fPyofQQ#*G|1di)47WJm!A2Ox+rV1P)B0b05YU=ij+nF$FT*tW7D z#hg5McJ$d%97v!%iyA$O0F*#$zceXAqDq@OeF`Hi z6FgtheM0yP6s&k3s3oP-{VC`1GZAOI5r%&;h=jZW&Q zqmM4iXr`KO%4w&behR9jjEZ_`sF;?@sH2Oj%BYoSW@qS9A;o$St%<^E>#e%($}2>y z{tCmY!8ST96UCNl?5YANOMs+~O6n{OlPX&&vDCs)>9Nfcz^t{?dYkODkSgmeqtq@7 zZn4-B`zyNP0_$iQ!ZI6eq{3EvFS^^NORl}J^$KvV02jpOzy=$9010axu<#lRlfW>; z4LiIr|HBVcd~wDYZ>(|09DjWA0Tx$GvB(}PEON;Sm+bJ!B%E24z)r~w0L?WIb+E2B z=gf1@aOUZ=ihcqbbf7!;dUVlBI~c(>O>YBr)9gfzfYVh!jkVKSH_i3dUUv=l*J6j= zb<|L6jW*e6uiZ5}3Q)cE2Uqr#Ce9+-z4V<)=goKD+X3x&gjH%7IGuazTzKM&^LjW> z1rLgMZHt5X_~e#fjve5bXJ;nSo2yv);*Eb!dg-yzR2|JW(;T|#3Xbl2?6Nl$-0Z*E zG`H;%!d_;x%g*q7@V*ZZJn_O8kNok<8_#_5%`XqU0A)yCb}aHW2CbITwS!4zS$VW;lctH%N#DW*(pawVC!3=uPgC8W}2t^pe6n-#+7$hMJ zUkJk(%5a7>tf37N@BlyM4uU+?69b8(x>>oehYup65sxS>?2hblv{s+Lv{BMd+ zRG>jnQXkb!(70avQpjAC5;f<-R=vX^>t zAS;2$8v(3Q0SHh4JDSQzU^rV^CF~)g)>s{{B7Pt!9ErJRZSP3<#LJzu7 zgidOrqN*sSNM+GcU38;W662l-h(Khb(mF#trfte-(v$`&Pxy<21uWo!3-ExJ!z5+` zsc6%h+ESOd1ZD!Q=*ut0DU2%R4N5;`&TqQ2o&5CXHoLhErJ8db=|tx^|C%~gtSYsc z{KThKx%q*rjYF(t-Nsel#?>{NRiE8l>RPAz&bK;MuHURCRGaD4wz_kzWaZ{w*_p#X z1=NOwEv#V=i&z?Bql7RtVPhMcj|g-QQ6OF4a!RU^AQtsDt=p_;msUFoEaRmf_<;!I zzyoaTbeA_}ZDnu?)SvdWi@xk7PKyc3&(fx|QcaLc zj$1P0u^7h2hB@(x5s(sW^tghHjd6^T9AlHbIK@=nM~Y>9<&?zOf=KT21<4`f9E179 zi(Rad!+hc~4`9nS1~ZtUyk-3m* z`paOtnzld1Eq6ODl>z1StEB*)ioHVmUoW&$bO+9^Tul$#CaIAgilPTsb& z@{hOklOCnhq#YAr%w|NuxSmtqk|OV%t|r5|wy z!o{X@r7PXHCo;N_tS$oVZg;p_*X_YIq}-=FUPx*;|I&6UIztS9Qk6r_Bf9Q%N?|tYC880+m3tK^7XDCt6lj5Bkr|oMfDq__ zDe-_}@f9T)d>wc}6F7k?_<|V}gM{URi1mVd|1kg=P;QfjL}6*&kK1K%7T7>b`5h$R?`r3e|JsDrHm85H=5 zlgJemsDo}XfuqF1r}$Ab~Y(#@~289rG^sGhVxhxSgDl` zQaf8Y5JTgYnPpT1ae@7j6`a8qJ|`J|!5&=%8h+6hWT6)R(2$t16>0ew5D6Ha;T9|j z7^Fd$Xd#Gx85oP<7Pu&kdO3@W|3Q~3F^iiFyGbktkRimjM%fF_Wx;8l|BZm!XMdSr!1$pMM!1F;X5Xfgh1E zlA8%60Ky*?ITx&vky%lo5Xu@g5*RTukW&JcJfwhTp@W487APr#|M-vV*%D>}7M>^; zzzIwX$rd5_q9zKU5-E}i|GA=mNMk2RV>*}_u_zY47?7F4nqc982#Jss35bH28O6t= zboM||$)2S|kJPCs-&vhjilyP1onV=z_{STyvvUc-9||#&V-78F#9rTf>Vy-E;W>6J4;0{7;tZ<2sFQV?kRrxBSR2;n62@vP=SBjrJ@@A#%# zaT$F2r{$5Y|7oND|4ARr3M9^I9)23F{aLO4S+0fZt$j)$Hu0qOBLLrej|2ImeK8qM zf}VdWMFTk*_SzCL0-r01f&}}os?n*jmLC3Kqj}-4W_gGantOtJ7BX3p7h94v+L8@O zC96kSWY`;5X{@-~CdIlCB5SfK%MtDvt!qfDDtizpDZWi(`uo8s-g0TIIyyZQ;KPPs}sa)yg30l z_`^iVCrmbVOQT1097b!i=De+jVIX$B3bLUvJGKZh1D<6Q&uK&!f~*HIr!CvE{F)Z! zE4w*Ct)!t41e&aUsw3@sp?Qh`!WyqeFAya?!s5i3!YY#TFTZ=MD!dUgn?%NY#4Wsr3kCq9 zMOvmM2fjPOa=SoMBt>&;dUH#TI2BCJ`$G|&z2336Mm&}UVGk0JGNQz#c4j{$EGTiz zAiCsoSK8G4(><7+>Pnkbl@m7KhI>d3vHY|R$IQlYj2XfR<1 z{~!P#;JORk${nVbwFSfy>{?nR$cfBT$NW0WOuR=7GzX9k{g4iNU&(|SG7bbH9`S+sc#ha^yPVr$C)|9}k| zpa&6P21OtNY)8{2tlw9AHUh3uIbNB#@|D4uqT@?br zg2IjCIj-Y7E<-q^Lrljf2*3{T?G$%t!FKx*M$RG$e!NHAl@5RnMt}f75C9{v4L7pN z3TqcyuF95e-|j4(n9VuP+(SUK2KlfJ*kA^YJp%o}OZa`--K{rrl2k%&PWz=+YveXn z!%TZVXo1#Ofu3i4=2e2GXI=GI&?Ipl*H#nPXpL@hgC^S;;RWiWF6yOzU8lZYq;6g>9(cnQS)U~5AiG~9h+^xA0y}Ic;z2L;#>GeDwcBy8=5tXl2|teyjg{=VxSB#(pvu zV_Jx0?6+88wq#%EZeW(%%Ew|a)^4`Xh2o}W>1O*{`1&$7X1Bj>SEhVlXhGNJe$FZN znm!c*KzG;mcYB9i*p&Us1$f|3;Yi==e0NDpul>)ZUDV$c9KVkG%fj+p5{EAiiGM^r z@7V^S&%IFp!0yMR4-fzZ4kTF6;6a256)t4hP@#Y|3LH+PSkdCei3BiOBrw3^fB+vo zhWtoUWPkwsN|MAjpx?)r9$#WpIe_K>l`(DN^w_ec|4IZdcMc%8^XJZ(IX%`?c~t07 zpFE)swW(C9&YDMO@=wg4D|w zHusnA30-5km-yVQC*#b_AOk9$FVv>39@8>VFW`6(!6mUQQ|08fD z=oIs6jq2QU@WG3SgK$C$D~wCNk?u1IKMn1x|1U#qHq0-inl{X8fXIy6Nu|hIimXMR z27_s||C)MgpQvzhOfeO2Tq>%gTB7lz*GOOoHvtaHz(OXQJV<~88gz0>D#wx#yDI@e z;DMm3^inK{di!!rhmtI)mk0uo0K9|l0zfY^YlBG2IOEE)tr_OiGei0UC?~%U4-|Az zLJKvNzIpmmY#S)Wtn*RX;DdBhN`+&>!#z3d)58t2u6 zoNsa84Yys;J@0&P(Y?*wTfdPt|6Oy*A>Z8a!PP~!A4VC(TW6k!H$F}b6V(e`amPCs zuWtu0jQPyXJv^j0|Ngh*{_H)}`vK>*H6+CqgAGZ72B0U73_MsP%uVH2Cn zG~G5UC^>GDPF+UKX62UDO)uVVoa4miI4kE)!)eZNaO~j8yVS zG=P3f7ZaDMtHGf#a7#)f91G_>!2zIw5M^lJblAcnR#06T)tnEJrO(M_bcq0f;yE{Z zPa0nIqa#JuMsn_5!9`EFyZMi9dSp!|UdHvxPo2NE)E>O~>R9`6oq5Vt%GtlZ*wJJ2AL5-_K3mR6ssB~R=B=Z zu5pbk*Qkg^VqHie4sa7e%OkyBjR%T`E6?2KnXI{m)R2Z;5JsNewjYk_stN zf$Y$biB+N(llViDeluB)T_zIGSV&}s6p2EVEM%9dT9R%S0Ir!ql&o5%sNPn$3WMTb ze|X7|`WB79B_RjrmP#9@(w@` zNZ`IQquKm&#o(d7OsPzb69EVy4hv)W!Wri9hCQrd5O+Al9~Ns#14dVZR;o62+X9so>|Qpkq^uQi&~9BCta7_Z*-d3t3qBZ zwi149Y9%_;xk0v&g_9vrnWIwIpV;B zIiP{Q{|6|;HmK#`{L;@>|8+1@*IXtuzdC1W#*P3>HUbPR7-p!p->x5=)CrSdz+Pgp zg%T+1O%t2Fa!Hbw`#fZ46C}`>KC)p2@=G6IR@+CGac0rKoVv`N z8#&yAEo8jqE!&Gxh;2uSlhCgCdzKoCKq02 z76CKx#Q|8}rCmvwX18*A;+@wkuRn=Zk#APl-(swi#bKuw5CKr>H+1|BJ(a!QEi5Y> ztiTT>A0W^*gI@;uRsVYNMtwXgqf;wax9Rq)#4vN`D!f# z*O*{@ubOqN$A>}jqd$GKQeXMnk3RCBzy0E)6$ai98uY(!*6Itb`O7Ci_mMx=^TXe( z2WUOzePen1-x3D-KZyAbcGFk+fDxDhF5y4)fQb4tz%jwUwlEe6ScaYQfS&rP|NG)E z{wk``i!i5)rKDTHU=bh(AOX{BJpbA+2va=L3%v%Ty;3^53p6TI$~{&BzPnO3tBVf> zB#30o!Q5a#9(16xB7pHLzxEr#A|$`8LK-0~nju_5pJ_rRY{Kw+!X(T-D9k>k0YB%X zLN46CEA&F|Yr-akoA%2-q!~FmF^G9k6$A)7wy2dKG>9FHLl1P1z;iG7k}vwQFPAI2 z81%Iiysh0Bwkn~uM`0US*#=2Kg&xo~{rWr%OqUFFHPU-Q7G$+ndpe?%IZYIZ;HyKq z@WJee!`(0-Ivkl(Tr*K@szJn!)Wf?}1P&%Z!&t;E2Qd~0kO3Z80Z~&q{{e`Af!oA7 z!xa;hL;~}tN7+CdBq0)b07;O9Q)mMx7_di_A3rp@&||?${I5rJI!mlZZ49b{n8PVq zMT0QJ28_c`ti`!NM|MQIQzS>ddPnO(MtYnQckCH48$6V&0K;p!nY%q}ghT+7M=EiX zN--7^XaQuXJcGQ)Y=KFu>Noy_2#G*NnGB%+%Sj6{N3+d6ITuriEO&OfIvy4sr z%01N_h*=~=CIQM&#KD0$fNUTK4bTHKr~p$l%N68HUt6W*R2Gtq%$S7ETVflz%!YhG z0K0TUIb+K0{L7(oJ)vt(*Nd=Up~aJwPTSZ_^mLHPB#UDs2X^30Itj; z4S<6UAhpcY#1-tu-uuG`L(7jG&;td%w3N+(pie4kPl13?{{Uc{HOPl;zy>oggCZD# zQD`wp>qzG0`ky8xjc4H6TtS7>8iA$gym}60FhK!^BqlPzYJfws=KJ zLs7JFP#`T13EhZe8@HTX$NIF-`}`6_)KC9xJ=mL4g5=m!Ox72Yes?wr(I8OBTfMhzs-=`_zf1&$)c2p^419)%Dl zwNx*$CBbWfGT@RJ%^77(RJQy(Cy~&63{rx~hX<$t{{>i62^axvKu+)!NU;=ASzQ*b z`_zWGRb|Z?w#kPx-3Cl30tskS1|8HsWHkW=Q;)<^_Yi=4(9ODe6_YstscSrJ{ZfZ` z!4ynN89mSlD%EC{3uXPv{ zeWmo_4GIW>TszCO^vYN*RMk{U+N>fv?b!QcPZSl>3fb3z9g}`TvVttpDJfVhDN}+l zf)D5gaRA7tdsB-=)R%=6qZQf+1>50a8wbD!|07TU@35~9)mF%>Mv*ks*EH6yMIfi0 zM|F{a5cnhu5T(D9L7zR=Zq-(`q*xBT2U-^%8y^*YhNZ zB6!&Em{`IU+!1A0Y?)ldosH2|8xS-CcIbsxU0ctsSWNs|(Yx56eUKSoT(=0k2aLd; zngcN+*vJk*PfLn=;hz2wL^nIfJl|p zm9^5>8{VXKyb^9(?@Zb7^h;u_)J#3#1V#(dbrR{l(J|dOCAHxbeo%t|2?-E~Y1z6R z=3paEm;~wt1Q1`=-BkTD-uhYL;ho;`gi2$xEu2&rUF5}4695>^S~ue}9o15}ozc$C zqTD><#4Q$bl>u|TSl9GYmz~{!6ktuQO&cvs8_m)Sfy}1`wi|Aedp$-!W)dc)UIc4_ zUu6e3L<`S!*1A<=Nlr+E2$3KTV0`O9W+MoGOu2vLN_9ocF-FihzCfM@+yS!QNfwKG z1=X4LB%5_aH!Wj~1>@T!RF|E>|G>q_<8{wS?#!AAWI;X%=Z)TpfLggQ7;$xwef5$A z%772xlC#U?-d$yDrW7A_o8^$t;CN&wy*ZL2vofdvdT7-JgUSjXR*`(+6b9Z*DrYneY*pj0p;*Fk*SImHIcmQ*@W|1c8gos>= za6ky;DG}h^U^UrcB&y=QPj3urgd|=RHsCy#;~8z)v>4T464h|F9Ao`HMcYvKqBs>!BH|?0f4njO!qT>$#R|@Uv^WzH6Yd zU7GIed{YvSP)vmO&GhMtd?@BO>|q{EW550%2f0HB*24%!0K~>%mR(DV9cs62wMixD z!BxuX_~jemEqrEXo%MrAoEpAS8ji$zr#oXI19ynzrZ6+Tvb3057g=jWlC_E=$eM z*4GAOT6XOqzS0uk7O*}&UkSWzaDrX1 z%F>*Heh}6H-de84Wewl&3+e9(x#1rN@`6~s1iW$;Eb7^lXhVl*7ZzboWloIlYAZQ& zBad`fo=nh{!bWfKWw>BE(cJ5KHYf~?ERA=r}S9MWma^8mUiLf;U zVATh}hDJ_B|8PC=gw0qndw>mSgVH>J88}Y!_S_M!bMnq*Z@nq?P7kdHaOZf%5L9sb zwrnux%h}c1W#4KWck~&i2u+rBaZkfPmjK=D&aAHDR8I1^SjjbDNfLN>mYnx^pLcm* zgLuz(eBXC{?{|LxcYhCffFF2)FL-#j_kD-=cTaeRulI&uc!!U8h@W_culR?zc!|e& ziobY{cX*b>cX(&iafdphb-NE>2a4=w#YWzz?pI%-jSN5lCfEQLhynlX>01%%A+rhkLdUe8I>1 zgMjriL5OL7-k@g^(fr;!(P36u=tYv@*0AL`100s{hL`ZNUL4gGs z|2kY4@u0zk3>#j|sFC1|HQP3V3@LIX$&w~dqD-lBCCipBU&4$jb0*E2F<}rKpzni) zo)>r^$QTi$LxB??Vnk|lDbtHg4n$}wbt=`WR_rMM`Iw|6#!U z=pNtSr5=A?iw!S=u&}`zBWyDdXr@s{lxCl8Ce&z^l{Q&~rzzFoaGae)zyTlC*P(|W zf*9gT@qK{71wZ_7#vB@y5fp?E4i;Qe7>bCJ03@(eqmDcB*rRi^sRpEvJl=TRknah3 zBv?h(N8@sC0gwSUWxx^O0pdK+PX;d{CEQR6!pJ3Qo>3TPnZk)?Axp+7*`}Ls!WmP1 z8OXrH3TVtx!GIA+Mj>Vq+BIXGB563zpob!wsGf!&nlyw|Z z*JyJ%5##`N8<0@O1K4Opkwk+fq!5|;arR}PU#2RUs;N$xE1GNGm#MG6{{lN{P6*7f zgfO{9byP&Oss(UW0 zYC`0jxq^u+uUV;GOO^opG9f^}{Sq*PzXA{d!@mRzjPSk-Gu*Jl4@10g!23?DaKsN+ z+%Lf!6Tq>@9fSO_$RU%wala%OIbF8PVLAW;BbXZ5p-wvJ5|jDjoU_g{J(|Hb%OI;P zIn1uA>Z_F@#O|V-?%cG~PiNQ~lmiVQfeZ(@h^s|oK3Jid(0(l@tzJ(^b7wWfYZi`B zXSK!}B)EOR8gd^%_uO{ZEjI~uzuh<7fBPLc;DZb9H{W~feR$!7|HG|#K?s|pO}4IrBAvXr68dTUu3G1cyy-77tvgfOY!d#N^>`|QJ?{`lLlBft6J-=F{d_>V7s_Ws|lIlN2GwxZ+@>yd;_2wWfom9#BU zMF0T@Y~V(!N5KnXP(;vSO?;{r0SZ{a10vu}@pd(~F7@VF4WiKr6?DAPwQyA_w8>Kf zn86!LYJkWoAPz5L!5#uJh#bs_frL1an;9{QN-T>GxiT9G|JWvkx!KL^P-sP6-Q{S@ z+hWb4cbRex2YT~5*9>c79R(~gjYDc;Y^Ih*1*$QQa-`uLkGQrv;xUgeVWU<^)PxhI zC{Htx8HA3~LK!K~g^DbrvqCdHE@6mOk8BAN^=L`u@bNV~G~x{Ic*#$Kk|CQ+BI-hE z%2N&`lUSKSP99(`#VW!T09zXqnWfsKo$St0Yh2&T04GK`K4BTS@)%3}gXmC>2w z50UB2B`WiRaC{~;(-_UF00{wQFjmkWkdG}DQifbBTiDR_ywi;Bd8NZ;IJ-uZQdTpb zSJ_~F8WpJ?YKT+v+$RP{X~atMGoTl|CRKc=O&%Oz{{jyfT5sspkVAG2T}o3|yd>$F zEV^@@vNBpmmoiO(f)plY@X)sUAptaki(KyPqPZ%1%P+o^T<9VWKtpO%)fEt&|McWd zd&)X`28kh`8^H`@hstL9G^ryYC}G_AyQ@`kMlnpJImMRCT~6nWO5Li?+z0>!NFb{1 zN}EJo)zNl6^j$M;4m`Q)*48bPArKU6n?}b$l)W{t7hx)3d?$ejWWWQ&o8d1HR8?o$ zQhLm(sa_k4sFqpn0N-M%A-P5?h~m;qD`gqJ9P8Od@wF+Qx@Rcc`dO}qHZ7n6zyJ;q z2M~JTCs75?BMW=g=ppio%+ZhyPwQJB0jaeg{|o^JW*brCoe8VDRqk@v$-!RzHo9&~ ztw#g;QR&*0x@4J6ZEiC~61H=g$8D)E?R8jt?GU=yU9X5bD1i`w&;mcP;R$WKSrjrT zg_^zZ4)My~|LRD)X0$F(0UXfwm?y#MQLuU#?BE5b$2}x65sFk)fk76Jxn<0+FWbpn z=dPwmWk4{58(iWCn>fWNUh#=rtYR0l_{B1gF^yqtW9=BYI0S*BcSSIVHJ}QT@`deV@#bfzWk=}T`K(~$?eKyg+PwXm*)>RI z3KIt4?QerS+~OWLxyxRvay+wJam!y5q)IEy}&z0}q;s)#pqu9J9c?|-`_ zxWq!JvJl|wR&^$liL6l4kY>>^1N&0`1-NV|PRWH3i<<|qhc|0U?M2=)&&MO%RF%V6 zk79!yw;Ta4kGafi{~q(1-`wUc$NA26?sA{k9OgY2`p=0Tbei+L=rjlV z&yf!Fq#r%!Mu$4ppU!lnvpgRWnD-iDZShpb72_bFtF(bV(`iGTqISL2=*oI_aaLO> z>x#Hk8=j^LZs_ZJPoP{CKvbjl&^mP8yH^Nb@tl013>Bb9%vefh@Q8U_&@UbIG#7p9SKoTu zJZR8+t&@YFAOfECwzlzr|Cs3%hv+xs@D=a@1=xS{+ZYGS_a7Jj=U@JTj{e=>0RCTG zq~888LfUIeC|ynSEzJy}jbg(RRtI;evfHIm~IQ#uKm7-1V#8JX4qQ=XAY zMl4zS5grebRtEVS6l%o!$(mQWOa$bE5mAcsaa-)=T+?Bl7{(sf<--{+T^Yt)8jhjU z!6DQ2oEfem9opd=&LIN0p&qu}9@-(+2^|~8T=r;{6*5ZL4FCzCf+Qe=E(C!S&{wm7 z8DcTg^zj!viPwiE|6ztT51GY^M%-e8F$*qtIMZp0L3P$<%b01Uv;1VAj( z;w&D-0Qd$j4$VH`;sEpmF9yIqV1qF7A}-z{Fdm~Z?xHa&V=daE%hVz>4r4Fg;<)tU zGTNd+7^7WmV>JdqKlmaucB8@B1uzyPFm_`AU;{0#<19|2HRj^b7~BBl!?z8MJcc7U z4rBMspWd-rG7$s_Fo7iK!YLdBfH*-vFj5ez-9k>D$Q2nDsTJD^3T-K&BtGQUIOGwb zSt|aUS1D0Hf*%&D8Yu$Nz<-Xh(l zUgqT`QeP&r%byTab8Xo66`O{TpJApMVrI}2ilT0&*=otr7g|NPmF7%dCT0deIh-eJ zVr5qb|A0TZBz)qce9mWR!lrq)=W45t~9w-tmxI6#sHfCG$alMbm}{AUKd=bIAgL3k-e zoav92>751uk`5`9aw(YprZU5WsMn3OUGK7L|+Apj}2H z{~S71YDdWnFDYlzT&i^59Vm7ri^|%zfEC$s>fG5KQMet4veOq`qPD1IcbY0e6wtv1 zUafl60G#QWQpT7H1TF%=JY+yQuoj#?M3|=O0L%xlvX-$r>#+VRd(aX}7XgIn0N+9xAbV8?Z_%wEC)+vR1tAsg!1Gv>t0gD66rmr<&?$v-&Ev zPHVS<>9Crsy8fs@=qqa-YP8yGIY{fb4y&2=!!~pT7#iN9jtD~xzz2jw<6RJlMQ5Vk zs)0e))jVhs-c}5ST!-4%**u(mSgaL-?8RP0K7>{IfvQYx6lTmyh+^Lu=|_w<{{<6d zfIrN~WzYv*5Gj2yEdU^^Hf~8p80)tlP>|Bc(^9RxZfQaQX_+QO)#9s}g6(@M?bZr} zxf+Po#_O^I0N6I|yjJaxX27@NE7wM;nQCpC;%xxTthT06Y2(2N4kw>=70YFtS@ul|3%5jmAwau(+jBa(%Mbc7+nf_;K-0RUQtJ5kk zeHd%m-m96OZQEvsz9sLl=0s*tZ)xmpW-zZq7%j3AtHL4$vj{}uCU4+U|0&UAZ{QxU z10-+JQt9I&?75N|`Z_PMn(5Jst^7{!z0!x+0ssIHz&IS6A!2M{XoR^Q6XlXFd$|{U z`2-L27VOrg3LzoLDVIe?r?wn`p?Ks(8K&>h!v~)aNZssQem6fT&c?*wHLU8Jo{Q4QPn3E$eVL2OCY&TZ7rN)hQV zd9jQBBC$j{Ef71z(?-cyX>YM+z?Ky67&`zOw`~E(A_Uvp0;hx=Q_!|Wu$0vr0PvU; z`PdpLBw<|lyNSEu4;rQH}FNU;y{ShAt#=VS8^uj3vFsy-$L7(0Nlfh=B6-L)9@BE$uiq3J=+EUZU(n*>{gz&#hus0 zFy`f*C}MN%TH!HMSRhpZ6U+`J7h7`%GN5>HeQ5MMN!dOi{{Tw9bPnzl9B;I5WmB=} zTCyzEDho2oY8WD^$yCE#h;!TqhdA+_hf^%%S<&s0p^e z7+PaDc3}s$!dx0;kD8$^wxHRyUpty*3ru0ApXHVXc&@WE+3`^Wm_d~R!G%MRIi9;X z^DcSuGYcjbXx*csc8<9Y0@O8F)JH$n}qLR0ALM|abYA8D!BC>r$*hEC59MVPdJ5Z zMB$#Kj#C_mo3toy%ja;9dN&YzuY`)D_5o0L`Y}04IC2Esh9nE27Ln6o(fCu3M9FDn zwrvH9@3>w$=06Fz-U+#o5BNopax0$sE3!E~kl(8gxkdc!3SE|WANQn|w6BQytVQ`q zY;zQKGZi@`mdEPbF`PLUvR-s|op)dF@amZJ|F|3}d3&=^N-LXoCgy)Hh3i<&fdgS? z_3oWJT-czfgL^rm6pAR4_I42jGUrB~(Db3}*ILPV%GNkZczMKWx>S%jr8`!j|H@OG zZ2Hlinj2o3C(#T5InRvp>89?e9}R6m^L`t0u+>%uFU?9ncZlW0m1UV6?3w_K16jwo z^o{CB$Et&yHMcv;vkSXpak?~l`ZaIHuWvdYDK|~bM%7SoZ1KRcQ=)=cyOHq{3nMxw zMtYoBhea!D*ojJO2e&to7OZAs^=Y{@YoEIhCWJf6o6oyv<&>GnEWSf}D%Lv&0kc#L zdXLG03d1T^9sI#>5hB04ql0{+wESAK|HjlzJi!6pq+0j%Koq66YR608tju;_-TTOY zmRIEi2#D~g4h9EOTHgkC;Ix zws){znhlOyirB9iv4=#Z-M!!TSg6dZrlPx2r~lM-V|L z2Y73;yc51#1=mhczz0zNV4l+?T|097Wm#)`*z^A0S^h_AY-ADqyHnnnKwn7Pd3%L0 zm0?`59LtpqJ=`A|m`Szc+r3Db|LCv$xvahVSeQLB^?M$%M|aFWiGfG`-#`89zy0HX z|L=eP0|Wtq;sg>PII!SBg9#ZTbhz-LLWvC_R-71-;zf%YIb!s<@uNnO9YK~HS&#q# z0RUJIkPwH01rHZ^d|-K#WdNKvb?VHy6Q@t0JOTLZSrq8epg)oBG@8`uP^nX?QWZcV z0!po0xpwvX6>M0sW675NS`}?twQJe7y_wQ&T)A`U*0p;VZ{D~oZw@#RfkFrj2&4*K zD%5aPqKFqaMygbAWV!?nY?DkCZc7AZD$pzQ0Nd06qY;xP8Z~j#qN7je?8&&Gc|f%eeL$Dv#%MC9lzx1`HS!8{~y2rr#jB15Mr``Cg-4nim~(@ zGY`V2<`d93tb{v`B?k}~K>&w9c)x%L5O9FP5Jgl=fWJmO5k=wryKaUQT`Z0X`(B(; zuN7&$5l0$ZWa$G8F8JYxGv?5s400AMFE#p-lnu5C=X;7i_l{%=IVMcZaYS*j#LLDl zz5H^g%(k;Yrtjuhqn|0MEX_75)ss?630H$JN6Of_5Ga2Th+qIPSpQ`99-Yck5m6oZmUHBIep zP~Iq|F49?RofTK?j_dKqAUQ4LzS!0r%CKS`Yw*3FUZpWs;g}c-#87jcwyox)t(V?yEhINMaUb=U-+=Ra zwk1qgK!ei*1W-^^*G!wzSY;hXbv20t{T4WG1>TsY7-i)cS7H4)LlxPfm2@ zmcJx!00jhC;sAR*B=)?--UD>mc_$wA;W?wEO};q+tz217> zz;hg2Ma*X%lyKKUJ{-8|T$15{q={{n>#!kyu)*0HhEv!P)0Vxswvk_6@x{rB00Dn~ z`*Ybz2PK>Np=bwl`|PQ;9f1};!v;j}(K|Rj?t#4liV#a>*df2n27m!v z(1y(lj>hr1W@iY(kBowVp8)`>ALK*S^Dinzl&CQy$!3gjMB#6dy=z)C*Mjpi0d4;j!ScEZY^ z*G?Bh-ubR~7V8@ROb4a~9+FXmjLfcl1SBC<09Z&=p_}x_zf-*ulbdvk&r*awP@+YY zw^W)T@o38e=JG|r)TP^oc@^FL24)h7Kn6k}qxyC7SgjNuEHQ~iX+m?F*7TO6hUp~; z;wLi$F#j0BI<+uY;%h=FbPs%9_{=1s^F>PRrf%jL!9M12P=$)1FjIt*gZ$GW0ELJ^ z2^vs?4)mY}Md(5m+R%hPl%WuHXhbPGQHx3xqZNf{O85ym0tB#m1HeE8$YcQ#i07G^ zjAlB2r%81Vi$9f`)m^YCc)vQLih}8>U?)+LiU;0i~&X7Mfyy;E8xzy~L zt$a9CYWq6sR6^c!hraAhW*WhrGlnO2+LYp(;#ioy^~`=ponz_JTD%--)vEmr5QZ36 zhR%I1bZd0j7w@*DE8dT$dMnx_k(wWy#~P8e*eVo6&Sv#BzP8Z6sQcx6gX&EP}tDqga{R@DDVa(|Fj3p_mu($cyp zv2!sbLnJpgG+mEdRf6CjVi?BE zajqjF8QsHBGQcr?;dLv<;{P1BHyqsQx;%Ham-ZKI-qo#-O($0PT6cZmjWLB5T>mYp z9I>=1`)!q{{Ib53@IWY3lmCifq6{L#t@Yy$u%FByUaYgDwCPc9J3}z zeB{)v#mt4Rj+`$;*UivO93Db#dNu1L%w{pWZ^SKR-8jq1;_bkStn+n7YaKe956Dja z^rmm59j|%^je0I|h|k>WKw}!k*VNfyVK`HZ1+`xXm=Z0??kK?smJT~q8jQV_aCiFZzZSC2ywv@g?rB7E`Y?u;n#p@m3n%7-x zH}lzd+h!iNyF%@2J4>L=s(%sc&`qE(z2st;oD3Q8_-h@g;}V&2>(0Wdfcpc zw#X=e84$qY7{9mxm>>X*cf8{p7eK~GUUHM49OWrj`N~;7a*>nV_Z;Xy7dp^K?pxB*d*UeT%QzDzfN>o6zng_)t5p?g6`NSV2A=evU7A5n zo3GnR2j#AK(5q9z7V1Vtx9=j&?i8APM4=XxRG=>Q^Xb~|$wB&5)^LC|kihSN|GVD< z-}g22z3>M(015uyc*Z~8@sWr8;>5jNp1_M2o5@q4}NB_Eq22QTSs6Ptjb~!v67HnG-ewf;4@;YgJ4Gnp>U5dL__S# zQ#?dkEN#ttP_x>r4Ch8kgz!1SPd~JfMAqQ-+z>CqZd#a7@Biema_|ssfP!%%ARhpP z;W8}?^$>@Kt8qZEgXHeu2ysA2fPom%E}XDB><~F5(W&SV62F9(G6bKxkE${egfylc z_QVP!BM{@_6q&^n=ME_5ff3~m6xqTODUM_+F&4Gw79|C%Y)BEk2NQGAb&9C&uF%DD zgO?f$iY`qBiDviE&;)a+7lBbNW)V6lu@<<*8vi%O8kGFv0T=MaXQGHDEBx|XdzOm50%!Ckx2QG2w+Q7ESpE#eP)%#R%u009+n0J(Di%Ci5?(k#;wE!R>l+mbEokNw_{ z0NpPR=S?eJCo9qBBYnfv$OP5W$j=&0f1a`~U$f(J>PfWQ2%T zGH@{^lZJ-E6^DooBLjh2OWc4ZFjuYjR_VzM2p)&>GHVApDDx_TaWyd$JCH6mktZ@` za~^jB8Qn|jRE9ivI@d8FS6CjDKYXa80^M z?3X?WH^XFOZZi_^a2sp0J8988laD;ha|oRa9igj!aP6nks^5}r)rK!S?FHGeNh(s4 z8)ftm zk1Xm^thTmG$I^lba|32L$8$gj_gJv6es7NWN{o>3LM^lnUz0V*^Fp15HZ5~UoyOO| z?1Yw5oq~$%MC?NeRQIy(!-x&QtU@ZG(^A4`d>||X1)zs^^g$P8BpXymf3#(KRQzld zO!@LA^36=pd(6d~@Gu&_p}5=Wg4 zGRt&j#Ps{f6j50b06_DUM6<18jos?h_u8$kw$3z{bjeH$K}Sg{rcVw#Q!8ym4F#zl zClo6iHDnYu`L>i*AH~<0uAF>mK1&RXwC_^uvo*5INCV3R4HPI&6gM>N7OQPg(J)uK zG)GG^RyoF1EA&}8rW>rb#_K@ zb~!%wY_OJUjYBHRfiuf7YHtD?;wBmEsIQdKuO`+w)v7pO7HvMYRB=pU|0PwS7Gt;e zTB0@YrWS7tX_y!`FSum@9O(cYEB8uNj;0IytWQ{1Mo^d5HQs1Ay=1|xR%TbVZTs^w#dQ zR(A)am=JS>ED|PUf+o~a1pj}pTd$4>*KwDGS2hU%)@Iir4#jfE&u(wgcQ2H7-(qv) z^>-;{9N+PE8}=r;$}hiT-$XQAg|p3klWhrhS0xB;?^1Rt%y(nfH?}t@!{bhNl*%`7al#)u&=(FM(GZ}G-6&yc*sRKGh67HN1=ewOSTbE!F%Lz5 zdxMX?&5)H?IbW8LlWvy%mxPLUCQwRAvo5;IcvGKrf4&$u0C$IR!T}Uu1RN)?wD5w< zbYkT(P-0msnlK!5c`6}}igC$`(G!pjrHoEZeSKLBUv$<0*f(8RhS#=KnA2t1d49o9 zmFDSTNF)`8 zjJd#=_e00{lK(Ke(4cn_fdYYz(2g4wfC0do7j87H@ubaF8dEx=-S>Xy0;bdAdT}|X zCHf|0U}$wrd-=XB*=zIaV2UiTC)oaf7Vu ztgwynaQ_%uu9c&>-RH1zL~uW#nGq3#nA$EhFY-38B{z@oKu;%g(!0A`C$Zb~##{8r z+a=2zz0X^{{m#7EJH6d|y$|ob*oJvcua_{xDp`1#rXxu*B2v#50`4 zSKP!|9K~H+#amp)Uwp=69K-3ab8U1u8#;uosK5&viV>We<)YGfoXQSd$c=~Yh6tIH z93m~0ijADed#1pbn{tL*zk8goa|Fvl$;!9(b3>7{o%~Q~q@ks}EzUf-zdUi+9Gta0 za{sr)&9SA+$=sfUH^1%tBo)-i(R{ZG%g+%y$n{)=s+zEoT+eeVPRhA z;ImJT4Bnb1d9G$1ZDZn5oy_^2TwY#MoE}jbn4-tcYcZ9Gc|MYz%;58bx`*E6i(Wf% z9Ve1r+Ed-)XWr|RgFt9iVGux-*aJ@+S2%r7>*2UMnmp|x6zs3<+C3Q5p&sf(Deu?N zKh>qDs{V-O_{r8i;g!vJNPh5TFXml(Hv3-bogC^XABQx*pY18aZJ!ZO{y$ir;{VP5*Igg@ z7b#EnWB~m1Pk~;189w=IKf(DvjfA^pFd(BHbI^9hoAbz zKbZqn=-L0xv4k4=IPgIx{gd@%>fe>&zX%r{p!pvl00Fsj{WZmoQ_>oGFkc&6^@M;@ruzXGWhu zg9;r=v?xI)Mw13*vIc?Dr%ejGd%XUpWcJ0}=bK~Akd(F0&jUNj~7<{<#<74d_ zbbwr`0N>4{OP@|XW^u9CueQuiQ!&_*)s=D&Pac4P0qE1KU(de1`}gqUms_7NeSQ1* z^AEVsAN_s*`t29sfBy++AOaBxK*C-wjaS}W4n8R1gcl)IP(KnVu+Vqlfj3Y|9C}C+ zhX9Z$P>3FySYkmShFGGADSo#iK_bSaAcGXYx@wrN(+Plp0>4HHY_M1k8!WKK z8cXc3$QFwwvBEwpC9}~^i@-L@ZZpoY&MNRhv)XbiWd!0zxlOg>N*OM;=05P8h7I!S zmaX#E3n4)RNDx5=9yC=cNt{}GP>m^m%4xs|C%odR1>ckxj`l_@@x%)qHZN2bn?x^0 zNFFI8#T#u5GE_`_5bU-Hpsc{Q-YVeow^SHCivP08-@0tG%sUIa^0_qs$_}?d z2ko=5GUpt$0z4a?w9Z(P`|HZW=B%u;2*4acf(srxvQ-&>Ep}hZ0WiP;aZq4^2N&?5 zDyVRODlouscS!f91bZr~-2a{m({sO#E%@MwitJO^Lm3W$;t_T1@yCP@8986RTB+vc z(pnDY=4oc`W#@KczR$B&exCX1Skj5Ql%s3DI_g}r^Ah5dzgqk4X_ei`G8U};g9viC zJ@ChQ=Q_NMDx#=&sE_Y$x8I)1bR+K6S3ex%J7JHJ;!C_L;9A=DT41%*Q?iy~}Il1IqY9NWzI&2ml|zzy*HrgEP#b0yB8qz?e6;gLSH5 zapN1_?j|beh0i6aDxnaEc$N{)#E246Tp0+!L;{GTiBDu=6rBjgDoW9cRJ@`V3E;RB zfiD19oT3=RNX9LW@rvO=A`w60EBmnrer}}S{Lllx`JoSv>%n6l_ee+e1Ymw(nIrx5 z2uD2zX9|EJrTr42GJwQ^h|Jm6C?-MAeIs}u5odn3}syiA_E@G;Q}u_ zKpD0%0EO%gQ#H(C!%9U<8uD;q3Hf159{(oFUiwmmgV_pTy7R66iq^$Sz*VL}xnJDUz}|00GNbLK7-L z0s=gsl{TEwEOXeYe%kGBrn(_Oz4Nb~Opl!iP3T9Esm`P@)O#Z`9x$uZJ%uXCnuwgH zAvgNQ_i)sk*~H^EGfL8JmZOj-6{kw)!N2ouBQN6sp+y%u)0#TugaGizHfF$s1K1ON z$AgiPB%04mwJ3Rz^J0uhB-9TjRhKGJ&^c{N)v6ApqGNd|L$K z`Rq>E5*S>m$e7fDtxb{A$^c|w01l8VOXVup-VQgo4iM}Be!HUJnyp03Rckqz8vx|? zmO0fGu5kgoFzS{>t?}cW#M``%Y)@IaYZFw zQN8uK^YAj6gZo`E1K_vJX`h%&g5{ikIlf(%D|3naT;e7-1JAt{;9f%8DJ!JOj&2oP zm=nT9_vAd2&9tUB&FM~i`qQ8ewWvo;>d7L&T?g1~q#;cfVLrw?U7TocBi$0-o@lzy zEzx}SDG)Nx$k%iYGjz=cXn&Ll(DNAfig0Z=d?rR9TE=d0<2$2dhd0jFPPRa>3+*rq zdL9lyc6_fKZgBep(f{@xfC3K6Sz3d{-3cx58rf}7F_8{*e%jpUnpGIE$CMzuEq zFkni~P641>sU<$Qe6|+>tZg^E4Z`xR=cw!9$@)&15UpmJU0i2h7PrpMcC}Lr?Q4&Fv*1qm zxl`-y=(3jE)eiTz`(5sU|GVG=Px!X){qT3MR@#we_Kuqq-e9)~*dt%0SVx&UD);(A zW027uZWS(Rl)adIQ0Mt7j01HiCCn5XP1esy7iJND#&r zXFw-)+Lmn8#&jfD5T7S?Qg=Rl^}giW|Q zNT`IV^Z$gWqa{&@Z&)aWRCsSn=!Bi4I;^9GTlhLwsD#^)AZq|Gw3dMo;e#>Zh9JX+ z*71WJ5rl(tdtK8|x+jNph#WXI5T-{x^i~(u1V0rtNDIV20dRP4W91@8I z)Ijp{K9|T?_Jct8qd)AUKA*UV_ya$jsEDRmP5DDd-|;>iB8k=Xi3;>cs8~m=Xo?(y zKA(7qwFp1E$XLC&i?z59y;vV$!HDN`j0S=~9pp&NC`sk?fC0vblEY*}B#nC5hY`^k zOH^T{(P6K#8J`i3C&rEAcwwS(jvLmEno(jI_KoUT8ZclPm~k2IxQ?|E8L814sWv-( zX#b7a_!z#201}X3PDMO6gj9G#RLvoFb-|2qREXEqQIG^jfFwcF)J@!ENqY1@>+wM0 zbV$)uQmU99`;d{=v`uvsK%}Tq7imBQL`aatkt2ms&lHn}#E}=7li3tUBGr=6q(={Q zj1kmGL|IN#wQ9jcjY8y)v+|D?VTXhRe4W&fPC0LnA^|c$4>46xIwVjxWGNL0kp9IJ zOpud32~sbamfb{B-$azWNRx&%i+nUvD;beGNtbOolXj_=%v6_hNt12KmLR2|^1PPW31OH0_ z6_$=Mgbmr3JlP)LB$$L5m>4yiI?0!Z`I>jxQL#ywJ(*u@DN^f&k>jLI5_y}037fLn zJ}D)b9>pQ^QBEHKc@rUHKxUmohMh%*Vl$v&-AMr78J^xbp5RHI;#r>Pd7kQNp5wWm z>B*k&8K3SspX|8?(AXE8i4v1Zhkpo!dB}sBm!F+^7ouf05)cAvV*zdRai+OL2vabs zxfp}!FzG>F#)V$ZV_5LBFz9twiUnA81)}I7SOJh$A8Mi+8X|=ySs!Xx;DuiPFdrH^ zZ16K&>m^w?nxY&+qF}b6>hm~fbzi=PR>L(P{$Qge+FK}^qco>JeO9A2s{dC}I->XE zF=^#7RH~#dI-@=cqv#=7>H(%l5?wm@pOF@UWm#&YRv_v@AZ1iuAeqS991RT6PVX3LeT>s4pqMQmBdWwkn3$n{;h`hu=1 zt64^8w5n&qdS$TcTO~19W;0#G3R$fxX5bbU!rH8)_=3n9UAii)W>c--wXD_pTdZ1j zbLF9{YBq-UU2*oRVWw8K+FsIXXTo}_m8D$6rK{zYW#(qD=87I@sQ+q?<|6{|Bm_rs z05`Bl=q7AJB?vnw2)nQf`z8sS4-5OS5ql*N%dmPvB~OA4aDuTHOAZHHCs!gT8=EH} zOR^&iu%YuNj(4AYA)p#FsSQzJ5|9nqa6bL80V{YUkFzQQa1Z>dpHvC6)?*VXv_dWP zLS=wjxl%j;1EJB=D~?$gxYnbsgk2blW@IKnGRI}+23_N3Y#WMZsfu4=7Pe%IW@0N| z)aIjI+oN*Dq2{%=Vryt%3$|Taw!?;@S=+U;S|Zp*B4XQ0S^Kv3^*C3HUs&t6#g=e1pXU&{Jtor!06e5W&i7yoyJXD-hoeNkdE(IPcj zqb{t=x-ql5zXCKhQ+8_yeYuOfz+yCIH#DhxEy1e*z$?778zmj*FT&xnttPYzfl~*N z4dkE!W?%*tpa3c8l?H<-tceoL%PZgOyk}8115ipUfCi}~0PHY&wdA1g+d~rKxijH% zWY%UYB3yPub*WyZfj zcW3phXPrl)7>r9$7jt0twqr)Y5sWFV3LapFws|unt@OZycC5x0!uETt-b!=@vu2-C zzlwooFK1@5ms89&0BA^%(P%>NS9}Vnf7dd7!$L01Xa9gLGc4P3eA{?~v~eoy>;OXD+9G7e8%E$(8bixIvYfycK~UxL(IdycI>@DE53V75C|{>OP~!E;8PF4sYO-D0@G9x8W>XL6Q-JL&81Y$ z!*q1@a=w*puqSoU33CN0bgcYjVBvz~h00(d%R_}|)^=3eHdtHBRDQ;6s=Tu^7<0GW zbNyS)$NDMG<|2I?xgJByM@2k62hAJmF{0dSFXG9+ zn3IIk!h~GNg<}#rVoQG*WQ(if4_H-S$hNNI1&&7gNaGZ3{?=CAh= ziVjqXtSF1A2o{S(ik0+DqDYMWlR%AlAB{MP4YZ1?7)Y!LiBtWEQ@ufms8NZih?$tx z^;1b4WFVP1I-4}86eZCIQD6fw0vqrFMW7E7Far2=FbbU{g~GCV+z?P^RS~V%QsH~s z@BkT2#8Ii#G$8=Aw{$>V5Un?L+pG{d>;KaVVbh%L*#}X-rCowOO?1XKgQBg?xqJ}e zw$dHQ+Oypd%yEJQLD~r6+r_-oq-V>&J>0K%+W>HT4NYrkN=e>?lh*`Cl1PdVnbyom z4%Cevk{FzORFTe9M}~AjKA9c|l-(A&Ko(h%0%Spk=}m8mM~`HY%osuFBS?>Alz2UB zkWCN;_D)9d0YCr`Bd`sD_)i?oBYE+&CxKNb=UV=}-$~+o=fe)#3L;?0>~ls@S@`AmPMn;`y?Ccf#z*;ps_>9H#5FusgJ`^RrMk77Hzg`vM4AIs3 zqHLw1MoOh{3%@?PF!JT>UAkUym8C4&Tk-X!U)rT$nxoWSSx0KD$5x^&`mQo=y*fYiN z#eQkMB$W>H@KdqL?&h!M&{tn}!N9ds0M`ti^TB0(Il-}P4Gnq_CEtQpT`;{~l) zMy%O-uBkfmW;ItKPp{#6^2XX;IzOc45L|QwZtnG1uG*^S8uS{!rFShH58f6I4>G>@ zKOi6u5m4B1xQ`C)RSMbg6hAVjA&#U`8Lt5w0$}!NU-oIw8f$;{VgB}F4)<~&_jEt^ zc3<~&fA$xS6Hfm1L{TVe_?Qtf117Cz*cHQM>!Z=G_&xeu3Y=Zf?)a9QT-c>wE(~tw zh4^%JUeCVxTif_ztN*ytK3ItBXU;Zl$n~}9YGq8fTp2(P>(=4<9v)Bcb-tGm4=~st zkh2kU>@>CO3x8WR74?2U6C|*xi@FBMkNn8L2FkDeB%u6@8vTm82Gl?O(r^9QfBo8D z{nt{@5So#9sW)VW038fdt@mBP_zaYT%^zsT8bq z0Ffa8000Ba5ezVJ-avmD{1qfP06@cX0|7`>m_g#hfg2q_^ygq9LV_hnb~I@*qe_Aw z69NzjV4gz<14U*yIA9>oi4H=BocU0qPofWVMi4-PT}h@*oj!#cRq9l#RRIvNnpNvo zu3fQq1shiESpTwR&7OVA#HoV_4-gzg8&~e!ssh$*qgzs()0cb`{_UGr@L!PrB$--d4jB4!=`a6A4;&cc)9ccSe+Mr&DcvP#Etv@%OAx8zbtEX(?GtT4sw zk}4ld8bAUW4oEI4=pcmi&F$c9N=`bRn{zwu?2PldGXEURE+YXY^szCeQcJ7%#;UKY zMG4Aa!KxZ%>d~kqoeQp#K63D;gB+~yBLUGwUZMNUO3`rnQ=?n5iJ2YP7zNoocwLASrEX!Icq&k$?kG zJ(!?`2fi7ADR-8#XC-~+`DdYnCK_m?hd#P!q?cB@>7<`#8fvGbrh4ir0bsZ08wHrT zv23AyDrc>|9J_3@&n8Rksnm{&?Y6~D^dbpDpuhqTF5uwBxOGiER9Z%;L-MLsd z?@S4nvB2&hM37^Rc?<9N?dUVcee2gJVEkdjmtOt$zn8yz@Q1aZe)#2|KK$s#rys9o zpgr>m@N;E@U7;+eF6E)kaSeouzV;TCB0XkL%?TR>$)-ULc5rpCb6p6(Rgw>2-~zW3 z!5k`3hTZMUh5j-e?~2zadrjwFhVz{Vy>x(a=nz&5%t``%m=~E{OKU;|ROW_gu&e_>(*1lS)ZNW;ECNP;Yh;Tyw~JVkbid5zrKsmzANKmREalCR2| z14!@y5*RUXc|zpB_@u8Kim^S36do!Gi6>JMOp<0)Nw!*d$;D8TmbX;h9OI%(Z?UUX zOVCCI4nP364DwE)tfDbdIY#0|r+BTzrDN>k$!M0VD-WzDW2QMt)LAl{j%3OJ4j>On zpu!3Jh~Os)x6Dt9@`Z$BCKv-rC*SoeYzLqmEa5{HTYl4K{sd?v*$5`X%w?d3a$Mxf zPyu?Bp_pAfV?@2!ohyD(j1oO2DJLq+fD-YQ9W~D*nbHV*kl+Ao0I7JohQMxmC8bt6 zlO|Ci31sLZ2u`5p4Ts0hdG-{UBw6PTSE*BXj*?*a$SGsc7?p#*6#rpPg(?KgU{JYC zwW@SvN(Q#^fEl=jWl_E5HoxlYgo=i zf)+?Z7pFMJF<77ha;S4~J`Ljxn^{P~rPFxyqz);`m{g@&#j1IIDrPl{I3!;7EWCsj zmLeB{d|(PzVB2hFcVFo*O6WIM68S}O%No8A>}c!>jAvyhinO@s+<#k)jC zt~W2gr65xdK#px7zzk-H#6wf5%H5W+x1GxweBGOuGnJzSPXBm85MB_21B~D;(xq-P zr5j!9234M_jAvu{3xFB;S4-fHrho@L;_iZQmnQBdiEmj%6^oEaOhLdJ% zwC;qR$~BtR48&FPW{U~q%QC>h2@JM}eld(gpDHuDpxhTnH7wK&S9x^Y1+tKx@?$M` zIV|Q)8;W6tO)vXU0Qcx|nO(aT$K_)L8~8vGBp`usU?ayHeyLpZc|^OOOU-miC<4l` zfde=+iU~rrwmL-7Eu!(F)6wFSAo|v4&NIVI;W3xEOv_FG+0$=xae2l3Dj0lvh;})& zsrgw}hhf9EKnTDHKA_&8!WEb+>t350 z%wrKTufxUcW^0MJ)vijAQB(v31i+zw+;8D_i)DjF+sA9hwqBot0Co)EWT`^!R*Wrf zg^_!MWu|tzy=-mj!|F$@JcF!TIc4bQ`?i4hzYx zC2l2t3pd{uS1}Shp6yYy3QNb?vtJe+*~m(oic*Zvb$|D@nKOE+>eQmm`_ky0WAv1U z4C5D7PU$L%735ACIo6!gi*8FG0uFcU6*0?%WdC<_0X{myr(X3B|2gSd2m7<#k9IRzU5kbpQE zUgk_&{c_p{yHwB{@iY(V<88crUc{$@E}aZ!gW zZsLqX-R{PNR9|zY)WbaF!#~`^K=eaF?88C? z#6d(vL)^mxG``MBI_T3ZY#M-0;=+y6xejr;q2oXt0v<3d4@Rt#CIl-;G{U(0H-8JY z^V*a+;DI@~02L~s4m7<=jJfn$CADB)55yD#%`Ru@Iyl{tUJEjLbvm~eB{O(k(rbWJ620Kndu?Ndz>6h zKz5O-azKT2SUXx|tntgOFwDhc)23r|LVPpF1e`u;Tfi|3r&8g8VRDOELv3*r zp|iD$!bU~AM^?%?OVmI}>p7qF#+9=~UL-me9Kxfkzij%!Z=|4bbV$YlKpjjEaYBW1 zsHvNpKlhU%mdL#`v@)amMA9p z$|&1Ois~EDnMt49Cuh2#N&nl#IO)XI8;ch7KWC&%b37AqU;@7atX*J%4X{E>ODwK@ zKS2sQ$1=vsyEiW*MYsg0v%I*^dO-VQjkgqxcvB9)j0@L1E!Zp*R13hQoWyFpNby6z zjSNhD%*TEF&3zioZQQUG1kNvW%CRZORDnnYJd=xge*8{pI?7lnLix-( z(+r}LOO*j6Q9@D7$p1^aGnqtkl7v%u130)$?CQ_F`_JIqN&;Ocjhr%$6i+8p4@z86 zv|&nuSkGlt%`$KTI3P5K$_EQvGBE_aK`JE#T@2gYk|hNxFI~~iJ4Mt?M}!K~#1YH6 z)H#>1+z@Ri94CZNnpgq0EHp&(@f*6QcB~fBo)9AC703k8YxRc$8?x&m;pjd zGHh^3(-WO~j5?w7P-p^F0s~2d9MLl!I1{xBPlYK?g%!Ch(Q7IR>D-0tgwq+YvuupC zX1cWYD@HtxCDaSdu2jEd8c(nQ#pNkBOgzm}e4qi?hPHHz_%siuyi`E*Fasn@QSDR| zC6h8G6lsK3LjNhx+f+!Hh|mOEumhL@S){$@FhRb#I{-DTTFuki1J4c>!DS@~QpK6g zIip}TLTfFF)hrCzw2GyqkrvIeXT4Tz1JzZd)+Bn0kr`N{tWS&cCI|R{L1O_1D+3w8 z&?YNa%)~{G3{qj-(B$+)#4JXtpgPtR7ckY5(D^|^1uGT3HKkBCfnC^M^HL%5Qj~p+ zCc*~fAj&N2OlN|*yqwv1g;_S_3U(<6MP<~M^hH}m!NVNRc`Lyl)iIqb(AR_4coo!f zVcC5hrNHZ2s0!PIVaS*j$)WAFf}M(SRLA#36E&fShV)F3japnC*)s*$tb0+FDb^W~ z0d!I%W&b6MUY%FO*}!?jS;kwwqScbb{U*mn+l~^sgZ;A96sLEIm)#W3jQm*LTiBA- zR<6LN3|P$`v>@7)3x4It)fJ1pE!?v))ZrW*(v+V5(H}jmo;jq$-R0fh_1!m&L*Vt@ z-UZ(DiJ#*&-sDBzn9S48J;Q;OSMpucY9riqi``6Az>$=V*N6ZGV29l3jng3F$S`8zK;k1-;v`1m zCRPn5Ug9GTjoP4M(5Pa`xZ?V<;w{Ev(O``r-e66Y*$` z^Ikn+*Nx0tBP>2O)e2>#UZ>oZK9&_f{*^!mz8=48~VS;_?q$gQP1x}!W2CO+cM4CR+O4$?Z-LC`hY zt-#k_<1GRhfC0#dUG8OG_T^v(=3)NjVism&Cgx*S=457OWbS2T-eqBq=4qzpYX7$8 zYsThm*5+-dW^8x>-pXXu-QiG9KvRw;Ste&wBxSA`<?>0BDWQ z=z;d=j|S5?|-lOE`{;L^9kZaQ;AuEy#QxN49V>#26@w+?H#RsgxC>$tY-xxVYVcI&X_>%I2tzW=^!k5=i` z3TLpbX_726FFNdy8`JAWV^(<}h;0EwTWo2{RDDazcjj3D#lXI#yTWu;paj}eDo#zL zRKx6SkplaS8=y9m8y7q0nChpg!YuX0x zuukseu5IIX?&Oy3-L~rHZf@wFYU@UT=+6`An$4=3J!v=OJEW%LTP^RVe7Tu;801zk`*6Tug&&8lj+4# z*%lYmoVM36b7upQK^YeeeKxrIn?zLD2XpF&x%I$dRPc25Q3B;t&J4G^ZQZKV<$V|c zDF=)x*NMNd@`M@;=g!XrA*pzj8H~jz7T_Szj7%@^E3zcD`#^@b<{N9WhzH=YUcH2clKuA^JaH;H2**LEzj~rXY*>7_Gp%N zUWfKzfAj!2b1CO?YsZFRcT_HS)G5D={`;NA6m^0Xvcrw{u?k_Pg74a_cgqfAecM}t z;48^I1_dK5oFhRa&q*Ck@;zNY1N~W#1QR~~jlt1@(RJ?`@GkQxBpN1ZC;2fkDP6|;paSh^dvE# z_xZzbq{+43wjEW*M~pM;_k~=u0XVQWfKzZq086p@u1|QP(t0`m(5ny6CNF)nI3NLV z03c})cXPLzcoEpI2!GKD+j|jsn*H1_h}L)enz)G9kHNQp5r2sNx4#JE-(}_iDR3l7lmJGmRN3(*OoIYQME?*dVBUb04*WS7;9y<=o;-5~07^7K z2B1b)1|Yf;z<>-yl}>HCQYzGyLVFVR=MyJWumN`VOd6D|Q=~bGu63G|r%|b8%dt($ zR%=hF8G;r~yEf|pe^3Pn9ze7w&wkqktoZeQ-72Waj3HSE@_XVb22`!?>}x<{WT-P<(k-@Ahw#3rF8OxP4L#%B6DvdiZu zT|1{<9i(;Z*QaxAu6#K7@GoZ~7jORjZQ+%F57@TwK$!;!l2dQ#yn4m&F{N*RDsp*A zvgrq)eIOY)8vzGwW7As|y_JDK4rUeMQ~v|VW?_XF<_FkQ6=hJ)h8UKEm4jHh1prSM zk%;0?Qc2k0QzMpBApk$USYt&q!j*xI96ER-h8_kvVT&?mwNqB}@aR@zp*rF`{uL!stA_&6szy15b(NB|CN+_*7rFIeQaTZK605Fe0KkY(&4Xk`tri;; zk%C>6EC6XhmcL86x{B;{4jlW|M9HqT>#+ZHA;4I923ZQFr|GJ@F1xy&+wP=c4hS#3 z_1b&oyP4&C*}nYJ%LJXrWe~y|c>*YCpnig?XP=9H#3-mH8JKXwf);x3n4^}9F~^s| z>2E;}AP|91UpA*2n3^qIQf-VqiBOCENr&NwS#4OeQ?!bS;jDY*C)O5C;VocyIv^jvah)hlj7c9HI|fjQHahFG?|?gf3q9ZHyU= z`PzE}fGI)Na^9%M0s(w=M}p0EY)AhS5#)72tXCE*Y7@~edu1~kM0s9B z#sqop`RK_jpFHx*<0h~3(M#`X^D$MA?wa&sD#0>>d+>t@a`3P@mLeJ*s<%WkToZ3Aq-=P8y0pXZ=a!|x&Aef z53E51Kls5J=AeNxkmGRXvmB!sCOIQk&T&g*U&9jT#LLMrGmw&06&>Zd(`7MBfe7$m4i}h11>my{44!W~ z+JPJu4JjsvB@tpzG*tYc*ho6Yq;!<@(*6X%1OaGL05c#!C(8iJO>Xj&ob)6pPpQgP zva*$~d?hSnDa%!wl9RPW8O}}469&ud zpE}c}-n6PRwJKJx>eN!LG&hV<08GlDnSyq;tSThy zN)u_;wbBi(WOb|d2vUx1lz|5az$gMVil4{v2|N6mqF-53pYOPDk#S2JbMP}igtFBp zW^C+m7z&eZL|_~2P(WoXOIZX^b{m`RENDHO+0Kr(w4^<)X;X{Z)vC6&tUaw~L91EU zsus4H-?Km3bjy0|Y*~SQF z&?)G$@rv9{&v*Z+#J})z#*!U59(mK7Lgyxwz3P2$Zs1B9u{xApTpUO_Mn=Bbqzt}s zGOvGm6X4zOPXZDk!Al1Wr4pX;gbIGJ+o+pf_d>YBH$;tu9Sod2zJ!7nmYzyK+)xp( z<~I_^MmF++4Fqh!!}p0}V*y+c^pd#7@S-q5ZLDMPpq0J?uJ5{FuwxY#cgU8(v4uf* zfNYQ>9eOZB1r(sWkMvc!AwF+)jjUxfA(@h0-m;D}tYOfgRm^4jGMN1rsWbzW&7J`r z2@oJ>OqihvBhc#+*T>c(*D%X&{&SVkEJr~D`oZ%3@g3Wx%57?M28~8%FB_f9NmIJg zmcFzr89o2cO+%W~o$NHIKP~D_hMLr)_Oz)}jp|jGn$@T7G(AaGXoHw})&RIK0yJO- z1OTB3Aeg~^^W4O>dbh#HwKcMbLufWGJK5?z^oA47uAm;ksZMRGPPOV%s3w)$-tIQI zzb)=?FV(3sHTO-?eeSES+p6luw!7I4Z+5?1sq~h&z0-~Fdh>hV_^x)roDG0x!xwb< zkiiBJ;A;tt02?erqLpQB?DYt|;TrlZGLi|58dZQ2l~;4uJfeloajqmdeNJ{ z4F&&7-2o&IA_^CCaGwJ8VLB8>|KlH;NXZw&lPG;%Cz3zs# z`=bm}1O&iC92r$&{f3*MaTu54ct1QEMeJk57rM+q)*Is^PhPB(cf3VV01yK3_lH+G zxo0oD+9fag9DbPcqZjDg+br!ip1$>sHT`$T+lvSUKmwb$h=Bg;`8B`fB;*fV`3qcNp**!Y8`Xo>OBmqEA zfCQyc0wq%Zq*5Mb9j1mww%|-g<$2WPqzof|kpL=4f+U>68#uu+h7|wfT+2vCl6_DP zN}41;1|H&+<-^$qC01c9O6A>^-u-#wLLSrxI^;vjC12`>MUo$ta1jVFfh6d{DHuZ# zuz&^>ku*+@SW3}YLX!MQ`BT<@7-L<_l~96YQ5uLZ(J|VI)BkWKt#-k=?=uQl4KGE=Sr?6l@+II z6kALlS#?gB@Qo(Bcp@vx4O#u=b=GI{{ipr~=0G@r0xSdzfM@@F1RF@fPf4~Ugqr4A zMh=0jCtqD?=1AOp8Xkal=tSaYekx-C&eu75sENiOcZH^AV5CB9fIciJeH_;NgylaT zmOTQbo-xN_t&DK8q+5~z+HGj)ooJlA(>J9PIC;}GC8;wh>5(oel13?%UK1|iV3kS} zmR_lrS}B)iX_s!Pmxd`!-iwNsAiZSAe$LHPVi=LODSfskdhky ztpQm5q4l`we;J0L4l1D*s-Ye#q9&@M7HU2mYNHy)qe7~nM(O}Os-;RQre-RoM(UY!fg0F2CAvLJ}I%L=y8P3~p10V=CjBAia8L4+zheB}R`K4)dDqHg?;K&FXjwknx0 z!HUTlIgo>#2`jM{>#!Cp0wgQ49;>k`E3-apvqG!0E^D$tmu06x z_yY$$ST>5_n*ywtte*nN*~3OG#7^wQO02{pz{6r}v0ALgW-P^OEXaPWvW_gt7V9>Q z17~?G$7bxwcC50t?8VC2WreJqogB^TSIwgA)Ya?*eANn-D!k}vTcPG=2rR=kAa_|M zn2qW{5aiKj2@`w(#wx%EJnT4}+|^=i)ha;NYOVjoW^Kf7ZPg+`){ZULo?OI&E!m>& z+P3Z4Vl3E#t;cSx+On<3qAk|Gtk;ID0-!C|Laf{>>)ay1*hWB;94ABpEz(M-sy=O- z8Z9sq=qw%p;rS{2IqrF^AIXaA=9a9tdhX{!>&U8W=xVF!p02Z2Ysm&H=yq=FdT#2z zZpj{Qkdmq5u3dkYDCX8DZqic80B)JRUhbbRaFqyvpa#J6 z8U_Xr!22%m_gY8?UvLL!um=xn`I>O3B5wfXRS2VSp?)y(UhoTVum*qc`wHs%aN@AJMd5s%T~-m5O&?#8Vt(Nged>MIPPV(X+3u3{sQ`ctn$v3W3o z3!iWd!>|g=a2S)Z3u~|pf3FyeaSW63^uBNz!*B*KDjhSg36HO+W--U~u0cuh^gVHM zaxsAN@t7zrowy>PB%_TE$_vqtcgU!WHqu~CV4~E=HM*sSDlCTza(GxU8G~^N6KVi} z$S1e4DWkC&gYhY^@+p7t8XLtJ*RlUBCn``-Z>TN?55{*bH4rMSI8?sU9%id;cTb%zBGwyU3BwM49MGwR_IKdkn!!86tZ35eH+jV;?_j~?_Uyt-< zUTDN*&VYa1f=_ou(TG`S&~{i2cKe4@Y{y8PO0(1qX71?x^v+&rkas+vcKQnH*h*;k zjF6uSVyigVgiv}5#@E!0R3JcL>$3Ri_Vn;_(dur3r*#7pvp|%?1HgfIzCa9+fB=lc zcwV?#nsi>P{OS3hW5P!N!EHYv-?b1nbxe?DYBp>dwI; zxvvwukoUy!EOfh+IG9m8d`MY|>CelvJkRgE&#(N?qdd?Lz0emu$shfw8GX_ty~i_sJvn{P6Ft-i{nShS z(qDbke-Zx{W_jisM1JL#y_BY9TyciBy2?yEy{p%wBci{<9l*aJ3l6m0&pqAOz1`nE z-sipE?>*lSD!nponi;(GH2BgMaA#r$C8PaxW}P0ZVS!iNfoFRjW$VaNKC+(fyNa&r zT7KqV{^n!;w`zXngFfenzUPnr=chjEufFJyzU#LB>BD~K&%Wu?e(B#n>63oFGFanr zy?OAVjsgC_AwIk-etD_A;bV;8dtX_f^(M36%DODag6zd+Z1i70^;ay#Vn6q5fA(9y z_k(}TitNUYZ1sn~^rwIKufO`YKl^vT%YOg%XTST)zsDBf+RviziwE%An0!h+KmZUp zaA5xcg9if;RJf2~Lx&F`MwB>_VnvG=F=o`bkz+@X4+SWcAc4ezH6Kx?RJjrWlLHZ0 z#?(kaW=)$napnXdPG?V_KV{NXDRd~%o&pdkNcus6(sA3CHf4(7X;i9Et0u(?RRPy+ zOuZ&$mlT0luv({9RgjkJ)U`_CswFEIE?l={BP3NYwrSp`d=;o=`t~YYN0&aG`f>uuuPe`9o%wd*--Cw-KVE!!^1}ZG zymYAhAwu`K;m4OhpFTz=1SMq4Ho))(2MiM`h@b!gK&YUD1WeGt0vAkhKm^?*P$38- zWY9o^9&Ct01RY8*w)#+F55y5k#7V>wQB1L+6E|Y9MHMxg!LS);B!|WuZN$;A9BJh7 z#vc*b2go52@Nq{XY0T$GBat*rNGE4}GRPW<XPw(MBPC z)KNYEq*TyI8|AZ7K=g+ih#o)*?Gq0+(BY z2pE8z0Rk{r-EB;DFC1 zhh2mtg!fzo;B6OGcl#w+-hBvmxLu41=6Bx#NPhTZfX_`AV2~|-mtu!WMj7OoGk%xf zcJ1xgW0mj4x#y8N&R1Z2Nme)Jc!frQ%{3Gl*XfVEeR{sAZ;D_WcC21=8?Cukdg}<- z(K>6Z$rjt}ve7CP)_uc5kI@2&CfdvC8lTuA?0R4bI)@WT&( zRUi^(#KepuM#xoHV*{*wasn-PR`X{u*PPkS+iTWXWG(+Z*k=iPEpVx+M%;ClT7O-3 zhGLJX4A>Dbw`75Lhu8O_;iVW}ebMb_-JV1VgW{&(c@ z)n0k+19m>(@3+rhVDpPk*Z7K!Mt=L`;ay*O?16v3{QG|=-}>~AK3-^mDW)&t@rO;Y zncV>wA}$0@ZGjCOkpclkxWYM*f)zB%eFlO64VVD|Kq!I)WCS3}jqY;^=^U|=B|6Wo zP=%pO;pmc8I)`Kqbps*50k+{f2wISb7O7nipSDAe{175URFVGx;Kx1p@sEA>o1YV# z$gU_hk$+O`o%f1HKP4t{iBq&97k$^gC5jPz`s*JR%UC}s)(?DPRHGEds75(nOli@| zArKE|L_B&#k9+jvMC2qv!u^qug`|k$05E_NYybg80D%NXkPi`}&{-w45avqAAzz&^ zlMR~O3onTw6OK?rFf?WA446AZuF{6AJmBq$vXVZQhzVSbV;jwfJ}`C>j=Sq6y8Q7) zUj~zjSY#vqn8-^v3e$aLOeXi{k;Z4jFOIuhqcz=l%m9?5nsNkQH2cM$ZFtC)*P3NH ztA$Q=`mjBw(~vvY8P5gU#sMEN!Uup5fDzpBa>6<#B|HBIPZKtXlb?(Tvx-GR8h#R? z4Y8x^&M8l92~ncdifAiki8v&dV*t^d#{hzv$Y>@qLLW^Cx_*Vy0dUl$AN{C591sAP zf)u4DoJUAUdC~yHv_K!FsR*c!HJNO>NKTNWtm7} zdeWAX?4~kRDN~*5(Vx1_k8E7lWTri#AlqJsrMVGY~BK*BRaiFK^&5GfENM4%TFc!1<0c%T}Nl7#;x<%AYwNr^Oc zv%Okqvq%fAROa!q6hv%mfr8lAzE(anNMr_bWmEr>6)3k!1wc7)TOg(qi>|@lDNJD+ zP2>iZxD3iIZyA&UkESaF9PO!Bn;U@O=5_$M4JvnGn%nL2*0}TVEq58@fM|Ai9*HDY zdvhCJ@;^h@ISa~4 zwvfi46s?X^m{4*Z-~$k4@$5!?AIDq?rm@|6N1|mCs)h2?XFU- zY*!4`l%!NmNI9aMWo}mWx5oV~0JwbSC^!FD&M3{WP7?xV2HUmDdw#P@=lq^r?KR9+ z_OF2eo!m2LK+$bRE&%4?=3F6{s#H#JR)3}5QKC7)Q$}-x6C7#t?qeJ`1hJBHgX)ST zS=Htotw0&uYFWnzg9PbC1Ogy|8JAMW1dU;kHEB>7UMN+{DprMl4BCNm$f2t>9IIzt zn`om5u};niw09#A$pICnl{D{^&Fd^QLl?Mj{uP?TEmP_4m~`WYbS2kaIo~p0y#js|1m3?^Q>>`y0@nT@pnooS8gfS`?duK_$jv;?|Jk0KMxObzx^R_f3&%$ z7$+~o_4^-h`}@)I&Ukd;d|r%ueA55<9>6%AJ#C*@d)C;N`I~6Ypv>N!=eTk4y$(=@ zUCaETh|77;sg3kFF*%loyU%~R9U$p$2tiYKuhjuiU4d-;k_SpLpbgB~TnYT$975@# zEtK`=zB|g1PP;%XUGMi~IaiUcoF*4E_5j&^L2E{{#Seby3mF=dDeijV2#WWF$o=a9 z0=S$B4gmG)d&>XGfXGRPfM`ui=_cwtMnCVss2Se0p*Owf6_Sq!Gy*B^-WIA-0{e@o z&d8^qlg(}KkfT#%wi=zXLNJ>V$+=zR1Zl5ExSsWk6d&%&hse4IqVI@EKO@wy$ni0f z{DEj+HtzoYoAupZ@oQW2G0*>fh)j?B^W%nUh9~{{;lB|VJ763SK!EF~eZ$o~P5trL z$nO1*kC-kc`tK)*;`=0GvaLjY!=H^MMHz|c69 zV+_x*H@IUB*{}`W@D0}x4ZjdQrjWI|FxBqR37ZflunkT-$@28=@x191?|@DRhJ zHwN)L2yr}!0}vT;4q^WwJjRd-9?=lXFc5`f3@fn_ePa~@v$K-2qP(yTmo_0R%WNf|iZgh^?`VEtGm}?q0|sXQNHr(IY?NA<>Z@ z(JvyMrq*QgfK2~wAvMyqc2YiS=O=@*fpk*xNFY5oP;;tUEc zCuu|y@+w~wFCA01xY2O-QUW3%13~};HuIk>iL-KwH+8cxPb;+;D?6JJE*FwAVQVfa zvJb_xIPL#&AV{DEBtaKW;TVG81vG#hg42|c%{qDQFg@oa=d(W8F*?VkJZ}&{^RLO0 zQ)(1v03;v|EWiRh-~xCcI+JaLWQaNoQ$kNiIzfk_c(>f_M$4Du2@H0a-lq#3dI|WiiW0FUM0wchaOIfMb%Ap0Epbg%00}fyYKHvpo zl%YH&iM;>x3L+ zN?pbLoJLF6&sJ6KN9%E1LRAKMU=A)IQIj$PC@?|+DpDWyMgfXa4@yq+@P@|0Crz(U zKXogsuv%AaFSmhIgYE&AG$lEQC0mv1XtYfaQYdjqhp?4)SW{P1f?7pvAoyb$mOvXS zpj(44PF>ZX5_4Z4H7YBWKHoC1q&4(#^+QQ?T^;KvU+w{5!2VEBKIoK6tCCj#Q(+b2 zV3o{W@6tdCq8t=J0G8kY2*CdG)$0lmR{6Ch-R~^Z5=Yyz*e*301rlBdOJlE*JTd>a zwOmY8BVYg`7A0iQB3yD}>y%~{a%XXt#kTQJU5z04V+3YERd;qiTp}*XacM8MYP-@n zxwfJL6$7D6FLg9&F;;6$Y#s|#A|a3*@*-$eWoYryDo4~{zZM4*_HNU0{rYoD*VSgb z&}MtjD;EN8_4X(%7Gdr7aIeiv8CRYr(g@4eZ~%8B(Kf_9wQKdz=^j@&C%0}tuX3w( zC_8s=&yO){^=mITJe@WpL>E3Hw{)>lGYj_fR<{dDS9Z%Oc6km{%~oM=_pvxOD+yP3 zVRsF%HXL8qbd5J6bhdd{iFXO9XfL8~@lWKlr-H*JAutgaqK>A)Jh$SY1EZ#mp2KAS9AGqA^HI<*Ef`YP(Mqr z>%{V3>DQC!6WL^TKVA6nQYGf&!k?KdZP&Q3x8}m`3rJkB=pbBe_wl^w$DP zG0U}8VV7Vtb#V=uA9?SWfk<)0feHTd6n5blwm<_mbBZCkK6&jzCl!t@IaXO%ml;BT zOPFiJxS~cFZx5%|5HtiRU_l);T2~dwo)nJf__Na4odq_Q^>va0N2@`d?SWZ>BLbVt}ebaR4R3CqL zT?Ja6zIlicCu{*=NQ?AH<)9sL`9TH`S-DWz-Y?d;n4(=erZ4|_igTDO$wbYPvqOBQ<=fZXdxDr!eoI`1Tl~d&x_wKJ zhH=`Zw_7+_x_~wHmks>DUuXW@_C=pYZt1wledqxES;DdRlXum^Jys#M;Q>7S1%13C zP?sDDTn7!CpsTzhrID9E8e0V%oksdGm7M(8A)fHVZGI3{ncf?)@l9LXFb<#UDt7a z*L}U$ft}Zd{nv***opnvN4+7736p?>P0zUrkO0f;{9Z3O9UWax*!NSLJS%j8U`#7M**OUxck z&|XK<-s~gb0fu`vjJ9*RoTPu==S&!dXUH>^wZu2XEfK1QQTFfGQl@v9#5*Fwr3T@Z z@#O>B;3eXyr!l(kULidCfCS(%9z$uCqAX@)Gd`d!#-S{fg7ep+EJC02XJi{j|MXd( zEDU2a+Jf{AgD*n=D`+1oVxLAzpE5v0^M611fq(dgzxX%*_&vk;lYjG-#x;VzCu&@P z@x13NUp5$40%U+5k{qwdDkh3%98Nqyr8_pb!EB z0;U0;8tn@>Y2c-Okrpoe*RNr$h!Zb9+F0>pxC9Pti;KA`+02|fqa`4K2@KFo1dtvb z+H`2trB9PqE&8?V)U#W!mc9Qv_YBax1@!*SJGgJ*z=sSaFj2^rC_3YcuSaZ2O_89`n6}*o>zyAIF`RD5oAb|hj zXWxDW>W2-02O_XweFY7e-#!86cVLD0DG?5r16hw^<0Vu;y|mDY74o`_!z1J>8r1~LK*9qwCaj!v8>uEsjHYi`YWc- zLfNRXze*}lhHEIG-l$O}3U0V>!8sMVTA3?uy6Ub=6%$8Eu#Aiz{2;;{c`7wnjyD=9 zq>tfw8YG|T{p%rlQne)jeC(FHaJWn)*dT)v-)CQg6%#mdK^Ie;v4as8cyY)QZw#`7 z0}d#1$|J9=GRY&86M;|)H@seTYN5-O%`_vm*>-nX-~o+#3cO>HI0EXJkUKApVr6ME z-4qi~&T6TYRX_h(bpX{;?JAU4NBK3_R(mbBsI^X7>#UqkeYUP@vkk1IvMyU~-A{Hc z_uO})BnyJd}-|d0Q~llBbLFQk7eE`Q(~!4jl|feSpCQ zKm2gU92Jx?bkcw7$S;oo3wo8(0~3ue!bobKIp@&{uu|_fodmq^zz0A4N(veOQ1S&m zw0uI_WaJP@4UIE=@FYp^d-gYZ6!W2u>)w`|Yvq0w`H9Zi2r=@~D+dp$_gS8Y`67Mv zkl^3%R^#{^$%xM5J;K2&eV7dbc-~;7w-Rkzm7uVI!egU(ek9bJC zvM}KQAJ`lTQwSXboCG5g8OTd)l9H0BB zc!EX*Y=b8;iOCuXQj>(FBq;hrB3MkwFzev%bD&9}wGx(E5rBax#4(ILvp*1mCVn7P zplbh4C_fNF*)}s4F$rnxLfR@KGqJKvrleDynwwKO;=qGB!0?u3*v0^MC`=$7#+QO5 z<~db)sBwJIN&cABJO)tE0c0Qm2Sw-r$^n>z7BrL%J?N+?`lN&=l%W}&6aWnRq=Sai zF9!7oM?aa+Dy39PE45NNR2rp}Y7|N`r74tN>d+@GR4N0Q2R0Ni0}?cngQrC0KaYw| z5~1aYNNp!4otEfU{DP94KQji2-KB)HBzeZ|QX7k&pFlen`4Q~H% zaof_ey5=e`2`fWrYO7P&8kRS;6DiwR#uBtq0TSf$p7@-dF~Q?n&nD7o1AXaJGB5xK z_`?CA-0g1f$jcaWi0BOF_4|Pr0W;fs0(=Iv@bJ&A>su zi%^M*H@xKiEpC0ATz~u)z2SYSZ`ljpkNRUC<(O|dz?)m&=C+}@y)JHtd)?oD*B`dE zE=lhxkji`yE@P!igJtVkRw@a?6kZrq0pNfSv|t9htYL)>mCQYU7%T$NmDb4CwX7x3 zYluZGCb71xSbZ%3h)wa|AbH6Kdd*UQgUZ^{wl%)J4RJ$G9Ay0lSx1pF#3TO(0BDiI z)UP~QMeaHZ24~<4TdW*|VFWn*j{_1H*}SKn9e{+YIb>9*CCnaMSDPOh1~^ z#QkWZ^~~tuGS|73_Q$57>t;)v`kuN?v!4}xY22pyNf|o8`xtB_F_+n?68_Atf32n} z(**(SAP1qmm980BMw!4K%ZgR}V*gzY+S87tjuEJ0Xh*wh032JkKbfTqmMN%erSO!E za&EJXmM$L{0f%qh?07Ho07Jc>yI9NJ^#0|(^T1K7YuFd>DtFKV-#7mNC{1aA>(;x- z{R_g6hHv4r+0DA$t-uKkUP(Jz-}j}ssTXZreuI3usqV9PAMIO3ds^RkHhFR{zVTLD z_u>~Xxt|e`um#8E!T8Fxypd?aD4*-+ME}r*kFw~ZQ{_xL-p{N-OMvXvzrYzXuP`!V0`!B zRtqz5sr0*G9zFO@j}qxfbGp<>M|{6C@M#yNnbUnXN}_A1T;{Ttxw2lg#TP&MM<3iM z%7r|oU0r9xSAO!0ru^e;D511Qhv#CQdn(cHN?+T4_n0|4@16g0sCq*!-JYERap#fe zzyO+~A{F$vddgFYdTOK@-L6DK8t3e1H_j$)Xh9iTP?JudyV{Slm1dgLC*c&Q4UH0^ zdFl^rY(w^CPB-z1FCt+l1@6Bu`kC+NBu&w8WszJ;(P~FAfR>jP499E?g1%V!zXclN?ILBmHGKYkd768BHWg5lc*H@w|N{0f{2)b zh$tcC)-C^HhafbAV1aw1h>A#2hoe{-@J2H=*i>`jXaE;*qGEV`@oIt=g&)-y)JIa0 zRv2`zVhhmV*J2``)0gFbrkMf3x0Eip0aT~PJ8@5pzKbaapSq8%4ldNHsMY)qj zc^W?n1EtZEu)!Ko$&{}F8v-ztw1Jg98I?IH09&b*Q;C&2sgz+EmAkQQ^H@kV$!tTX zduq9lY|@AU*;$$slRsBw8F^?&$Xo?8Qld8)LTGuw6*&bXYjoyag)w%85s^kQXM87l zyl8op7I`O!VH%ibig#)bcu$nMnaUV@bvI(^CO&IXm*BFBZV6#7$vLNqnq6^|*pXGO ziH=!Onx7?`_IPyr00QR37iP6DzS(8_bTI#{(|55+7-m(RV>OtuDR<4(g0pFZbHQay z5tku|fK@S_NI`;KL4kuPfZ7Rntfhh$n1Y>{fh6di{nnDV(`2=|bfPsmIQW>i8H=C^ zKCDTfSfL^EQIGibzb`*`qm?+qY9k>)8>J);g6a&bja2KK^s$7o<0H0`|6*ig^ zW{#56k4VuE65xt>7iP%ToL8k)$_Zw#vz)`Jq)N)5$=RP!H$-MPIrurCRPmbFv7uQi z9cgz*UfP3Dm=qEq0VHq$YapiOasb@Y9(dZR zlmVt+;hv+~WGf^AaS$UOAOh}lRgLNwYI;bE8fHjCtN9eEb2_C}5qxWzgHK5S!fG5o zNtUg#8%vp#K?wuP`Wj8S8ej>OPFWjOSsO-~lh6tp$|{ynxg1X!8ineoJo=|sN*8v4 z7kcrg=pn0$S`}@2tC1Q+{G_0g(XRf)d*hg)n&Xb|k`38_LH)1+)ft@hsGMx-cS~BF zVg;qT%CJPrG^&|IsH!gbSVI34`+LF$FY6-$?Xyb`8l_nkOvovvvdS+ctFT>FJ56ew zSs}5nXosQ-OD`K?=SZ#*Yh@AuBQioGI;S-EDye%ir#uv|FK9^m0;h`_kbRnm0B``= zKo04k2WC(K3Xq*gTdTTiv`9L%IC4xo^tBe2qtPL=7+bEid9!Bgf1kqxqC+~SLm$=2 zqz{_3KxDG=>ad3zrz^{@pMjusX@`31e`5<_FxeKTIw%?&FF->t_VTe=D?3Lz8T5Lz zOv;?hiM7527>*gVb4Rm*dK4s35SU;FMKA(aTePs_uo1eZ4%)S?YoY0~rDUtN;9{{| zQMR?~NF^Ep@pJ)XKu`bM5TbZnx3fB-#cRAu%c#V=tH7iv&$(8CJBqVgxHj9CPsK-W z`$wp=xAuyr@9Mm-bZn_cGgRS0LelwG*2=#4svTlEgQDr0h~nJL$xZW^?JTNxQ;_ghjcLl8-M`v zD*+>r5664MKE%0Po4HAop!h1g2Ov~@O zut`d}n_E^eXvY7-31-K6unG!RE(^W)D82rg4FfW;7K~Mw`^J7EKW^N$F`T3j+ZmtB zYbG3~=E}abgjx;k!WrzYbeg|8jHW*n$Ye#l=$pPwYpIAg4o2_+K+p>#pa2A$y2KQ( zlgzgf49S|TCbT8RSj;3I~WQVuYK0N#0Q zlDi^IXGH&XY!sp^5Tt9m-<-6RJHeWpzpKl{9?id!oE8FIvpssYP=kXRuniC3%?h2x zc6y&mQ3UWC01trAnG8P~JoR5m!+gVJ)+ReTX z&#Csvr0kF_FUV&>DlF5Kd%ej`K`uGJk%%6 z$sd;5iLBC0BhT&qRHmK92B-jACctye9+I8j>x~s?t>CL!lN&5K7+zsVR|KJ)(>v|V z%M9TCjHq2b-Fcfo+j49wa?RMiFa(gT(wZ8*Apkk9<2%mdJ?`T_4&*^Dy6MZV)W zK9))Dtz?<4P0r*`uH@A!<<3gw-8$t~zO1&9Fgy%3366L@Wx(D;<1{V~WNzjJQ0D(= ze&%V;=4tweGce+F6e(g=z&h?hi>SJUg(3K zGXUZH(MMs|czxeLJ;u+RtAu@4PCUqQ92bxcBJTVlF@E4na{!yVsU)xl ztN!Y1psB9T>aXtVw=V0sj_bRw>%GqFzwYb74(!7&?8Q#($NuUEKa|Ymu-@v) z?(EVY>(4&z&0g))9_`q^?a-d<-2Uy}Ztd9)?&IF=*Dmhbp6w*S;O&GPI9{x(VH`$I z@AYo)^^WAKv90>f@B8lW{SNT|F7N?Q@c*6~LM0y*{^;f7=nJn%M~47HI==tqk)~p{ zuygy_CtJn@bI$+m7QhUUHYlHyLIPDq;=i_z`+6c{)-*ES6&|i45wHz2UlTH46WdVp z+rSP7A@exz^EUtUK@appFZ4xE^ha;>NsshPuk=k1^gh4yH1G2`UnWye^-q8GR-f}d zpY>e7^)uh~VE^?rU-e#J_F{kbWRLY@ANFdm^=VJ_Qy&34KTvT!)(P+Mv)u4`k3_lr zQ3smLL0x+b`qQ00rQ|EpEIuyn-Y^P}LTWt%W#CM$4KC%)9_Rfb=X@e&o$7q=`R(!E z6ie!)`uQmmprs#6=Xw`;0dMnjx8t0_pgq1|Tff-xt05nQCW1i_4t4)q&Lqp3*qv|S zs89U6WA_7o*u@Vbr?31-q^dhRBQ>(z#!L9!Yxv+h+NoT~j6dU*{^i4ahuqJfe>cr< z0rTjF&CRd=Z*g?_An`IhNP@3b;+(J6t={Xe+th*oCp0G;%eeId5NrAYAXqQ}fP)AX zCN!w9;6sK46Gl835n%v~7#~8+I8oxpjv6nD+*s1&Nt7E296*rL_cK--6J;TDuT*X~`sdG+q)+t=@3z=2Z=*f>Cf43_^W*)ptXkYZ!OktM?v zaKP+jx|lU@=G>WQ-Ls%Qk0xE(bYLb0KVZ1<9x0M{+T9-^ z0uL-;&E?Z@MJH!|mT+_EXa$g9$6T$&i=CH;#=AZGcktoGk0)R9Il%$+B2Wl{p`}U4 zy5mD`jJ~rwnvqH@vxMtB01%jAi6;LlIDmi$^!so^B$+(Zp$><8 zsm%>NRFf~`puF))E&t-OzYF1WvMiItA%Flu2_3XhL=RQeP(~ANbkRazybvQuD}D4* zM>Dmw#_sa;^ixoqJWqmUED-Vs5$0H9pWxW^aLEeQ3Kg|AM%>KCS#u2!&zE@B_18R8 zL=S;7co;JrZ2YwCHpV(~lUX%G>Mh1KGn#hViL4cDh68NX(N|!lD=8lk%-l_*>#(Kp zwv()twq0h?eYQ^kyEO^iyIzEk-u}wyG+clK78pR)SVJ{c+02#C)ePCKaNxZvvokV( zA+~rjT)De=<0F?L<}dDbKx~N z6X2eS@y%COkofISXqS*?d1zr?JU20 zJtNw&9K}9Ka=a_ITs$tlTtXW$#VJ$q>~bUg@|m9GjB?U1Mje3FQ+HiswqK9Q^c`Dg z`aGCXkwg+*f^fpyt7|@TYn%^HGf8C^Pg$kW-gOv9+X;$ZcIvB-_@TDT@Z|uJlLcMg z;Rtu$`jvo>(t6TYpB{bo&1-+AmB1!(eU9rQp#@3*PC4b6AYRaboaEI^TJ)Jy!)W#@ zXHjcs`>{;pny0OGL61}KqhJLi(7kK!BNT2u>amobjqPC$8zKRt|ii)@t`J6(&)MHc6pB+%|xDEOAR; zJDn8kryMJ0aU(8UqKKMww)fS=0pW1M3;MT#11w`3{s3LhTIHMK1@BeMYLoJUW*T$_ z@jqaMofiElMenfjk2?t=X81VBSsju_h?HUqlgPp&j*v^+m_ZDj5CalO-~s*c-~lPp z#sV^Ifry*q0rx|K4-k82L&`!m?%mL)?rDWjUVJDe{)=b7XBy$Sw2T$%I^L z8xzndG60_Ila5IsD4{hzItK4}i=*X6bcq=~5@>q1++{asmUetPe^ASB{Ko9vXGoEfl-kTEVCz0+fK4&^;PU_aeVX_SY5g0%x z^#aeC=&_}As%BhNIK69XRH(ng;7|v%Jj?*ps1~)-Qe{U>2}B?RA*iS`M>@@(C69;0 z8)^93xKkz~Rf4fJNd}^5J%vi|r$}`FYFl;XNSh9o2~|z1TX7WBm?+h*RH}<%;$SKZ zh=2z<#F~o7?qh&ofMqw%=9`iyxQcld*y6tmNNi-$S+=w9c^i` zHK~0PZJ)hi?K9<>E(oSJr6FqItvWkDEZ#P4qbk*@L?DO3(lbtpW#&AU*{s)|lq33V zrYY|NNgb78P?)lmrl@;e>t?sQ+r=(-wcB0r{^W$?EXigA#?ZN#SGVg;Xkk1mfm8~P zcy3xIR{2%m?~#^gDg8}-XIq?}o{zo$$>o5@cAgLLpf#_F%?vuoAx|oIzQkGVe!m(m zIpW2O2L202KWLm_vTm(+Q7?!8O`I2E(qkM`rK>4L$5qA>r=%`c9C2A1O$(7SL}De_ ziOG{uA8*WM4`2`)$RMUNtP#T1O0HpLyw&BxQI3s`F;D#&43oywE=IE>rtazqUf;7juF+Ct3zPxdvB}`?l zc2&YLt|LO>VrM?j1+Ev<>0nw+kj%;ssFCLMX^KiJQ+WVYz|G-1WhFjp-8Y}FedlrI zY-j@-7Rn(y&Ye4LnoM&@fwy+rLoz@tV{tHUMT^mFk(JwOW}%jP%_H{Uf6mAaf0IiGk&1iKkpIeT|xfDiE^>oE2VacJkq->}V<210XBT=d(ERH?da$%N=5(MszCSY355<5lSlo_ znJdHQ#6+fH-&pL*wYjn}yl9X z`0m;n1~|vVU1hKTXEoMguXnf^SKbl3lJTRz2{FC2Ju)Fcki?$#v0;5**|K^u&E6XL z0vKCuL(cD)j!fWHt~5zOoAm$jeZZhQ{IUZ;985rlF7~$z7HmLaS#RuG23Xk5&v)l| zuW`3AzQQdRKU643e)$`}5r2H3;W7|yIGIpe5t@H5NDDqIJoM;?2tWXtn+&6C8W6KJ z479+UsJ~<@!4)YAq!5a&n1L3IL7#v@tEfR6yg?k43Id?P8H_;}^g$r}K_Scv7_2o6 zLpOv&IXr+kY(qViLq6O?KkP$5{6j$uL_!=yLo7r<#6vz* z#5in3J9I=ye8fkbLpB_^`xBP75eFxLgJXJtxO1~tv%GNYuTYF296Kz_t2=ZfLvvcU zG$cJ%L?5!lm{-iLoYJX1tHsFJh6vaOUQ_^IoGD-IMPU?11z-nW9L8kqMP^(^XKY4j zd`4-EMrxc!Yplj-Oh#o)#$qH!Z`_7%1jlbQMs|S4D;qu2n*lV^Bn0?GW^%oFsfcci zJ^uRtwrScmcS%9+`;b1FMYS?JSJXwd14E;#tm$GDge;VVoGyiINQQjKMIiv`@-B)5 zukX6Zio{5Z%t(&hNRQM=knG5i{K$wLloLd(Tog!^9I!nZ00n5chXa^{>XQisy%Rz& zTU^P3TrYp@J)MjU;WNdb97;S>r;q7C90@^~sI;EY!m{DQfF#O-Bgmne4!fxaj`+?6L{+%7oKEf;hmcT!YEOO0(Px1>(xLoJ*(jFo<)?f3%>4=t8>e zv=l-B2@tJ(bhc+>y?4CA(Sj#>6vZgZ$8uW;r`wD7JIB9>MK3J2lDJnEK?1Pag>ZPXK+T$ts8T5lfqF zAIv1W05vh*3N=(w6~bbedaNfXjL#|r#S{#p$B-?nl1xkF&jr1S%nVTyt)9OOOl-@R z@!8OM{LdWu%!jzZu8GSLjnNVvu%cQGc#DnMFdTbp&7O143vJH3Gbzo(&mE)xOuvxP z5bewxebQdTp3~e1@CZ zV>9YhKq0bCz`#i`O^GeNQ$1}Gml=TLY!9r%zJPmty{e0O__Mcr z0CF%>0b0%FgwEK!FuHrw+w;-O10iX8lmSexzH zU+L2iz*SvE*C=z@*F!@b(b;abp86wCpJgPIy_}vDjE)7+s(o6ly^jB@8njWbXPkiTei&+fpwdL4NIAA9|Abo&uH5}GFyncPQQp+`SV-64cv(X zSzh{0z%7usK-xYMTqT;c4`NE2SXL5**2867%S{QpOec(`Ai3!OSF^d?B|^&qur_;r zN5eE-#gM(zDlOOo)?wuc*rlg&Gn~i#x}FHtF)Ufo-Cerz%{vOC1w@O==Pi3Gv~E1l+wNDd81L(FN>upI>kbc-%|`b?_<@$7+FzeR{&=J;jC3BKh56OB2;-KOvk)n zWR=c`HC)a;U?fJXg7Ciptf2ucKuxVr_@v)b98$i^DjVbB`-NaO?a;=9_6P}Sz}^> z7~mdHM6>zbyh;W;C$>~9Y-NyhW$V@7lbFoOb=EnyWryvnvXF%4dxPKkz^;Oo_AJsk zZDVD|3>1E5@hIfUf#%miUrOr4c04Y4Jj@&xE*16vq+nIHQ;R_QMYgTX*5GYCw53|z zHD`c+u7bE980McX(100MWeIHLqB$Cfn^|CrnQNd;#+=t zS8}#!TkgOAJBD2_hA$qp$Ul65SuP$qG z@)2U$#AA{HcO2$l4xOuxYvrA3$soD0G~gvQ>#;#gyBfixmSepR?4EcC2T11wum?#E zSy$t^UR^flYQ49v;@`#VkQVHv8DMlOpJuNARdKd#Fcqk6*dUH>9*<6r&l6u-?rP5- zn9dH^vN%ZCj&0eVZQ7RYG8k#z#O>AQ-JM1N+5qYjW)4^d-oD-KfaS@4Hs{th?hwsf z0Dv3z31Oujw# z#z%aP;_Z}PVw>GJs@;8_2^0os@jh?v#O$x#GU^5xLI&_d-iUID84_UP`MjA=qRuOg z2?>tf>HXo?B*py}CnARC|3+}$6!6NC=+rK55Dyn(YH+_HU3&$%`rzX+{$o*e@eB2# zu5;tkVN0(raP}EV9~Vg=CrKgy@gWcYaw0!+BTw=oUvea8awTtaD1UM(ck(4S6cNW8 z=`L@+`0x|YiMm+u2Y@`^Imh|zVK&wct3KYI}Axaq4bS=5j2d^DbAB?=4XB zrtB@h^Itg+5@3S-*`FX_0Vfy;IK93liEz0VAbreMMITh!{MGixahb4drMB}a(R4pI zkP}^R*p=kfrEir&+SZlFDUL@K%}lYj>FVL}6z+5_IgfmhAsPyTHi&`Qz~(j2+)2Vh zN23u~XZY>6K_%8=qwDz1Z@q*6?2yB1IG-Kr@M>mnrEmA68R#TGT@OH=IpPuZR~F-J z(m2MP_eVCGC;_MF$E2CddL@E%#S(3l2h#!}p^Gq$Yp+&G`?n>X*M-}J)xfRGt&yqU=< zV&XZ6`m%4NcbiupWjZwRVF&!TCfjhvG&UJ?sd_)qvG4P^@0gPKwYSOc=m=^N{pr7d ze4YSlL%w$%A^F0$7)%`hQ!x<$1z5cd!Fw_;V+=0c3eW14%yK@TzspCulTiGJN_G#2 z`_&&WmHiSxtN6I$x9l7EnP1A@xAClgiEV#%)t>zWx$#8lv@6bQ=f@Ggb}QJoWy+77@*g2C`j`W0VRndO{#P$Q>HST zLXEocsnn`guVT&rsq7zr_Q4SP_)fe0tXqD4sc=GwGw-@=V6cjrWd8Rp`(IfI1R zyng=zw%Il?VT0ldBTlS%G2@Mc8!t7A;4I{&k7r)4ta&r%#&roIkYF<5N00zM7DO%3 z^gxiMU9&z-Fm}h;tv#MDjZpV$-l}`o{*BxB>)fn`(^gxyGxO$F4?E9WCOY-%)~~Pp zjJ>A-zLdA$gsw9)`10n@XD>KF!ZHaTNZUT%+P3WY25Zk>T|YPd*!wy5cVB???PpqY z`5|~9e)^4dz-Z_}7-2%>NvITs6=Im7hEQp@p-Lo8W|)T|O}CSHBchlhbu$pOUIZD0 zuttai&L`jhe+=5_pKLbnSfh`rHRPXbG!mF#eg`smq<}*vSrA!$sTgHv7fOi}l~rPy zrIrFQu_Z)Le&?k@SBgZYm}jDy)Mo=65C;VocyIv^GZx8YeL5PbB#=DX+2@Ua9wg+S zcoLaooj?xSW0M4dn5Ls~nfYi&kxE*rrImFk&^(fM2PHw2jtHttmy%lQPBJyJ44fYP zAc7oo61gL8i{5#pZh6*5SXSi+mxuy7W6E%(^7j? zrr5a0QLyoCdz*o?3R+yRfdYFgatoe2tU}91YpJvjy<4rkkAC(61{eJB!x?jEPzIgA z;ddPdYt$yk#kWmlLn{jv=YZNcXAA?L&mn|M3!vX&u z%J7c^61-=u6*p;Tu`we|D?^Qr=`K$mhupJ=+R4Df92d+{!2xA#1J=w1PQ0?hO#0@d z!T=%*-_v>qiYTG-!Q83OUpof&LMMt{w%IUg=VAsP$hce8Ew7CA%rY+ub8=HBYG_34 zeya1SX9K?Fng}ezLlZ_5@PN`w^O-W^v(YVcz=$?1H_Z~)3~1fO9?RcJCkGyS-=Yh| zGwG*i?3F-lx(TP8C_gOm-8AA&H|8%p{J7p^(t7d1^e^rke`0`tOU4s;Y3d`YOt^ za|>>v;EGFqk&yEbHU7&V_kOdk<>ahV>{AQ;8VH^aRb&J+cmV7~*By*G5M&Fyl=d>{ z!Hm`GUisQr1!i!+Zow^uOH)+bHkY*)-tI>Qa|q7brNEtiFo(=xQ9;Trm=J3a|Eg~{@UDRU#?vm9x zhj{IbkDBA??r2H5P!fb|NZ%zdmB}*=(R`g8Ws1^(L;`@Wn0`B3C_AXkXPT!&4p4vuDVU}j5+sRU z(k4u}3C(W?WsMo^6amU94s)WD0OwR^I@jsWcEXdL@_gq!<4MnZ+B2W^+$TQysn31_ z^q&ItCqV;R(198>p$J{*K^v-2b_TAQwFDRep^S{$Mxl`tr! zmvaT6R;ol7F*tC^}0wKUa1qX&V z7TS)8KU)J%9qU=44Ayg>9j%(0C7Iv36(`;#ZBN%Efe^gO0&?P{!!Ap)Ec&&ntljNR z$QoMS0(T}C9mrjnN?W)#XSFLqZgAiC8TMF!ej=E|8nBVYNA418IO3{iC4|l9f>$KG z{B3y4tC38F#;V>64j9P?OW4TLy>`=T$>nzHc>2drv%jrn{-Vz$7St}j(gmYr?4pklBKNM^0Z;QY3*$`CgdY8J7V2da*`+Z zF*KiY$|Ya`aTMGr^kNt@$u0S345l)QX-VcYD{CO@fo*hWn>8a_?}c*PFheYB;4rs@ z#QPNtnxARP87$#w*32b*$(P;fVeil?%5R?=?94{z_@~g7E_M5{q?W17SDmZxM7MWf zMR&R-j8<-yf=Oyf=TMp-Xu$*#P~74v7S-jAu&m8169A9@aKNtC8l08P#a)J&YKIIn ztuvzMN}ak)weDo5_Q(#a1}>7z?r({wonkewxWz^jz&K=lr(VO*g;%UI?e1)DmUPE= zPEFHD-)ikU{uHS2OZU5NU2h#*8PM9$GC4rZG!7@(!1uK?lL?vUF)y}^Q@-~R5&J$y zGn};5j<}y&gn%+sfF5NS^qmXn-a4_jmGA8!gyEajTjGS#6W7d6DSpf*#@gkMUAfFh z*`W+<;{h9wF`AC8@W$5MgAP|8j)Oj0nj8I&!_}ij@*$RvYDL=F+;dHmo%FH|-FQ;J zdSQ{ybu^08+hU^ky3y3~uRFJi5J!7hz0P(WW?fAGDz}u?!}j*##akfQ0Kr`sHmr0t z`Fp@IwCs*b=#z(>V20mH%v(AOShEIr401Qhpxi(sH=K$r^wwku7yadoXrBC zmZD=`s*q3p`(PjdCJ2B4uZIEbWzPiKzdrW@n1SpC;QQYLKls8QKJklh{Np1(_`LW1 z@?r1%+&@41(4YSEZ<J*iG5G_J>;c_M7wo zYmh$)<}ZKx+kgIRSVR2}aDe&)ApZ$q021H;8ejn;-~lRN0y5wN8leC6pa1FK{Y_v6 zQs4zvAOId0)zQT2!5@UUR_nwG4`5iwU7ErF7)klX(D@mhXswV|AQM}C;7YaI42IP< zYy%KQKn@}R4gygQ`d|<4;1B{K5gK6;BH?$f*kp%GYh+R@B`CZHZw;dEg!Dq22u) zN$p|CgiwI(OTYA68qN|cZQADO6`oy=u*_jroYo(jR31uVB~At1WuGNd%bLW&60n$y zRgocvTO;m{7NH+r0gCCN1^a1YF;QYG!lHgvN)7T?ELO`CU7X=)nRWS_3X)<9nqmuj zUckLzR;-;Z-q9-}qa`XMV4U4DHcPz!?a>VQ0`qWOE)kxMjb5R7+9JZ?_JCP2VnyRY zBN{bhIqKm#`o%M%BdK(VKYTznLEG7&UOU=R7}{e#Y6L!Rh^gtLCs9N{0FgiB1=MW@ zEB>PnsbfO2-a_I9J2GU?A;hbx&oM@113BbH-d#pwQYLC-mc$+EkmE-h4@Z(D*O??- z@Z&?ID=T`-dj+LMNSIkh=e3iItW8O zR8unLQ#uq>I%QN+< ztgS)cvE^LSB~Wr8X4EB88bo^k`CTlTTmg|>EosD-nP zosMqln35?`kmyyIXqmo6vsuIdP$W$lWJbiPMS-81+UcE|$YZtyed4K^CPaZb7sB=F zpb{z{`X-PTs#_!_=}>8+I_jfNh@P^>%N|-xH<*7@+)_=2noo8B%ne%1W~VH7iW^+ zuMLQHHEV!MEGlxV6G(zCoWd>y0SjyZc*4!X3Z4r_ zYZ@x7wwMo;CLXaZlDS0e-oUERg00VHsUL>zWDdkOIKdkngE1V#3v56c?8BR4RflQcUsGqNXif*>={W7Hb4h8e#FGKL; zJp9l+qQ#u11Od;i&7RjL_3r}bqy7qo;g%f(7sWxyEv%8ihe~h;OCki9hpo~C2cND3 zAEW~RYj6p-q6q&4|C;bXgle>1@Cw85AEK~Ns4xt-FyM%04D0X=&TvoE@Cx7X+020b z?r;$|q@*sF5i5kN?y8scs!AYJ1eDVhmt_@`|TOE=hbY~hG&gzYqhSSHgeasDk+oN>m6rKNRXWyTSpHQa$$h* zb|kVuEHdHFl?1fF3pXpfwqYTOVrG7r?sggImfr9RBfK0y=^k=(81g7PBO9kgDOV?C zkt`~ZK*Bz4)96j+Qf(}E?HuDW#nvd@g68OYt0^leFvE{3BWf{^@@JI8$d>HMI)NSk zR&Cz6?Eh%)u5_mR%yWTA{MC3G+{pL)xzG<8HtNIBniSGi^$9 zEkktQ&TFV~ZlS0l`L2t;4m4y4^hXzEL5D<0^CmJguH!$Kl) zbNSj~P!onxb9I)OG);IgUJA1*mB9v(z{V9~?#?r`dRQL|W>&{_91h%g;$}?$M}$Rw zbzX$^UUw=<8|pC^1oXDR&Q&m$%x~+OuU~g0W5*9*cZ@e@3OusI003%1F5XHQFi&%I zPye!G2S#6m_P_q9;vO_YTsF~t?P#wfYx|67x5N*da1fi#S8cUxzXfdL_E30rbRh01 z>o#7H?r!@NPDhi^n91Nl-U>DR5v0iZ%T zm@LYwY=FRXdx4vm5uD77<=(INxVt~1j* zt)f6Ja?CTGJuEM`H9kk_l4%cM!p1EZg^qvu{{DH0Ylv)D%X(pS#C-uKw3NT|C|WqLC^(jHw3buYY6m)040)&*ub{&V;9Tu^Qru6?!vny<3-|!! zlE4gnz)QQ5_+c)L=gzHnZicI;jazJ)`!uNoIr{A`@{{*@dykd+xg6l*XOtBd|d>KPL8p~5xH4_y-yu@St z#Y<&{yyG^+FPbEFw_@B2PVjoxd&tu# zd(?Zc$;;8pGtm%_JlC^Cs-yje82n~LWV@A*C92Y%rXe&P%M;v@dzCtvb4e&Y`x;@95ZNB-es{_nva^>M!R)!sj^y=F^m z=wry+Ut&oWdFa6Q|7D;6{+|T)Uj))0?B`zux<3BVe(vM`?%#gz+y3u6U;`$g?gzi_ zvp(yS0PzDq{#9V}W1#=Zp8%7-oLaNkPk%sQ@L4?w|s&Lk@yJ5?aJIgg+5Z zp%nTc4z54@tN#?XfBeJ${J($wvwsxg{}RH#`aj_go<9%*1iNh!25u{8@Ss705fBhG z*bpJahXf%yi~s;*MvWUecJ%lWWJr-CNtQHu5@kyNl`C1cbomlyOqnxj*0eb?K!A`r zZ}#;06KGJOLx~nOdK76=r78(5bvm@nQ>jy_V$7+tYF4cp#clOUw5idsV!xI(dlqe4 zwQJeFe#SfyCyJ00PfqJb@%4|dv|c(!hsJr zUL3jbH5bn=-uxVTX6MnRPVZ^`I(6;axp$|26@2*c-pQ9Ye?I1nas$}6cmE!KeEIX~ z*Jqz^0DkxS^Y3r3AHe(k6Y#$R4eakg{_<=8NB|PHK?^(dB%Dw$3X_VkCJZyQki!l= z{7@$GM5GMF5=}huE&|9wU_}I6WD&*}VQlfm6=`(QMj2<+F-IADtg*!vv8mC;e0FTn z$QThwlF1m2%n`{Wi2K|5N}{JGuRJPjBxO7tnICebHKF z*+m!7EZ0x~t*&sr7dm_K1xa79D%=;~fCc`j&4CR*xH~!%4KmS&9d4Lm9wlCQ%83)* z=V2K!&e+9`E#_Ebc0*;(tX2^|IV+P*jfyNXQGOX_IYo?_=9>Q!V4nfV82~)?0?--g zpTpZHXYg_^`YN82Mp|g_@Dow#pLgyV>74uF`RW0z9^mSnvDtc`ueBaP?5n#bJLj>F zzIx}QwJsa&Uj;aTHOmUHiv`u02Tzy+Vs&A|;noGK>T`+0Gm*-Kk!_ablH zamgDm+Goot-<yud)yNs=d9;H172@>{s_Q4yhlC< zK2UPtSr3C8L@NDVurM%tA4xVy65(MGgdxn12uY|s0r-PG0O%P5QOF(!st`N?7yt}G z$G`#1qdg3~iUUxn!WsSyg*FT#5MB5)AGYv@0dRm3f5t!@BC&;0WRDc*gF+L6MkIB=HmD8re9eHoh@%O}XI=XQ;po=!A}UeBnGY06-kd z5CC^np$z>|jtuY&08Vtk02C<0@eF{6OOzoW5m`wGP*Nv&yrUppct|>al9GlTKsn|S z#2yadkc*rlDGOQ3OK#DXque4MQF$dT(d#T~gd_dX=p{1#q?Z}oc{pH@cm!l7>8QdC0P=?_j3fZc;lpc6lZhF5raz{MO&_XooaF?kHvw=-XjXHE zk#r^xGXPBo%+nv~9A`Znfc6X`jwo`#0V-A3C(uS zvz_hq2VdoiRA|ODsn^t*7cJ=3!CBQqm<51lH)~nX5|6W=6)j)FB2tl%l_jSAh+(_Q zk!yk^uo!tQMlP8V!;18^&@^pqU#nV-h}5*T1!N#a8d%{{5&<(1Rb@w8v(QpVv%dsp zbE%8B=T;a0yK1?pTssomkF=H~*Ys{iW~&jydStxkJ?}W!PgBu>+o%uW=H1`?M9hvj3#QfhttLe|&iSC*Y-DvG3 z+R=dj26ILvU=I=;U=5|xl0mlu=}6Os%NFj){c6H8QujnBp8oWzN62bd7X=0ykw7-G zVLJqDpu8G6>-{o$RvKDnt;j>`uSqJNvf9c7H*S<8yw<@iTK1}vX=v_Xd7m5h7lfs+J4`A-}NT-$Ukn= zkHb6Q9GUlB35IW%r-TV4;Ivi{PVuSKTr+!_nZu2Jlbzcf=+O@P&`nZqY-qp?+rUKs z5hPFs1gIS9^p-lmsSaNWfItEx@VHsulJ&yvTIJimI?A*D^?B#J>xEy5mYyzlxRdAYXEuA!V?rx{ zv&8a`*SwxLKlXAv02@Y701yH&0|e|H>V5}#$fK_Bh8LdXEWiBVzkZT}7QFKb&$H!g zwG!T6J|(};{qTJfdE!U3+<`0t0s>Hm2%tXo{1!OttIqP;znu14kN2{%-xB_g*(=^Y z{$PwR83O#i_b5R>@J+J*@xQ;~@DKW=Gg5>IkiO%izPI&7zW?g`yX#8M|B{XW`v}h^ zHVyaW?=i|RGS)BsO2Prz4<{T@0W0t%7|;USDER=O7nn~1@^91xFE0L01bIT_OfUeC z?bl8&{g`dr7O#RFF9RV111CcQ2{8C>P^>Ud2VrOif6ybu4+!DRFt8y2BtRTM@J+%F z%7)M}YS0EJuq7T)*Lsj(ZjcI{Pyyde3mt6(2Vey94guB+GS-eJm|zVWuL--5{9+~x zbK-8^&7jtnpLW4DiQ5cKy#YRl#25}XYQD8_UF8;$%0?kAaO>!m=DsNt} zvsf|_i_a%_k|>LkjlPfs)G!2tP1uaB*`5;H{%zS>awr3Ctw7HIBR3+dP|_%oq7!lD z)HVn!dP&>5(k#zXg#2OvNZ+!0=F$gGj_Rgw00q!4TjKVF4lPrrc)l_u z$nq}>(=g}f^GHA*BmotiKq*&mE=exs;4AhT?DHN*AOgrxG9i=exO3{_vOo6{H@lNVVG!C76hdo4Fa<_E88k&- z6h=LS{t%!HHh=|U-~h@%2}M*t_0sk7vMvL3FFQ0dwQeQQusS(0Ms1=dp`%5!ZAqh4 zO3|a-Y=;Rp-~jBw4^hu41Me#Rtpsti1*sAdyRS$OFeg!TN?D>wpW{hwVnx?fPUmzk zlFxQVUIhVl)R;Q5W?tDlw7zfg$*mD$I~1dhkyT zv?SG(QAeUpHv^3l)m1iCR7bT=?*$Dv@e@h4Bsw+!=UmiGR25cZ^(!_IR?5>NWi=!Y zbzk1JL2=brf7K`)wN{tQFM;);K+9ESf>n)`SwS<_=u9@vvsp7@StSojlXY6NRa?Q% zRMS*iv$a|;LsyUWCdPGJ&lOh_1NyqdQbA%X1r=DsRWd-eCCqgt(G_3w)m=FP0VE(v zsSzVbkTNNcDVdV*Ig=r2t>n@p4)j~6RbC^5S7~Bm^%Y|wQ7u8B&{B{tzmq@< zutGP7^xh*oGfRQ0?T zP-hM>x3y`X@M%L;YTuSwCyhBJ;W>@r7+639^1*BW^J}xyW5KpNXU|NrGT20Re{v@{ zMRjc(qhe>`W#JZb-E+{$AsvF?7^1Tc?(+`?^g{<%Y+=tseHKVt zJ!cnsM|DQa01li0M<>7!P4{C5R(p4o1+h+W4NyN74|o9;Rnt~mU)MWqEH_w#ec#u8 z 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 H3kU!^TB6aC literal 0 HcmV?d00001 diff --git a/dspace/docs/install.html b/dspace/docs/install.html index cb61ff5a6a..01ef02f170 100644 --- a/dspace/docs/install.html +++ b/dspace/docs/install.html @@ -25,25 +25,59 @@

  • Apache Ant 1.5 or later (Java make-like tool)

  • -

    PostgreSQL 7.3 or later, an open source relational database.

    +

    PostgreSQL 7.3 or later, an open source relational database, or Oracle 9 or higher.

    -

    Unicode (specifically UTF-8) support must be enabled. This is enabled by default in 8.0+. For 7.x, be sure to compile with the following options to the 'configure' script:

    +
      +
    • +

      PostgreSQL

      -
      --enable-multibyte --enable-unicode --with-java
      +

      Unicode (specifically UTF-8) support must be enabled. This is enabled by default in 8.0+. For 7.x, be sure to compile with the following options to the 'configure' script:

      -

      Once installed, you need to enable TCP/IP connections (DSpace uses JDBC). For 7.x, edit postgresql.conf (usually in /usr/local/pgsql/data or /var/lib/pgsql/data), and add this line:

      +
      --enable-multibyte --enable-unicode --with-java
      -
      tcpip_socket = true
      +

      Once installed, you need to enable TCP/IP connections (DSpace uses JDBC). For 7.x, edit postgresql.conf (usually in /usr/local/pgsql/data or /var/lib/pgsql/data), and add this line:

      -

      For 8.0+, in postgresql.conf uncomment the line starting:

      +
      tcpip_socket = true
      -
      listen_addresses = 'localhost'
      +

      For 8.0+, in postgresql.conf uncomment the line starting:

      -

      Then tighten up security a bit by editing pg_hba.conf and adding this line:

      +
      listen_addresses = 'localhost'
      -
      host  dspace  dspace  127.0.0.1  255.255.255.255  md5
      +

      Then tighten up security a bit by editing pg_hba.conf and adding this line:

      + +
      host  dspace  dspace  127.0.0.1  255.255.255.255  md5
      + +

      Then restart PostgreSQL.

      +
    • + +
    • +

      Oracle

      + +

      Copy the Oracle JDBC driver into [dspace-source]/lib.

      + +

      Create a database for DSpace. Make sure that the character set is one of the Unicode character sets. DSpace uses UTF-8 natively, and it is suggested that the Oracle database use the same character set. Create a user account for DSpace (e.g. dspace,) and ensure that it has permissions to add and remove tables in the database.

      + +

      Edit the config/dspace.cfg file in your source directory for the following settings:

      + +
      db.name   = oracle
      +db.url    = jdbc.oracle.thin:@//host:port/dspace
      +db.driver = oracle.jdbc.OracleDriver
      + +

      Go to [dspace-source]/etc/oracle and copy the contents to their parent directory, overwriting the versions in the parent: + +

      cd dspace_source/etc/oracle
      +cp * ..
      + +

      You now have Oracle-specific .sql files in your etc directory, and your dspace.cfg is modified to point to your Oracle database and are ready to continue with a normal DSpace install, skipping the Postgres setup steps.

      + +

      NOTE: DSpace uses sequences to generate unique object IDs - beware Oracle sequences, which are said to lose their values when doing a database export/import, say restoring from a backup. Be sure to run the script etc/update-sequences.sql.

      + +

      ALSO NOTE: Everything is fully functional, although Oracle limits you to 4k of text in text fields such as item metadata or collection descriptions.

      + +

      For people interested in switching from Postgres to Oracle, I know of no tools that would do this automatically. You will need to recreate the community, collection, and eperson structure in the Oracle system, and then use the item export and import tools to move your content over.

      +
    • +
    -

    Then restart PostgreSQL.

  • Jakarta Tomcat 4.x/5.x or equivalent, such as Jetty or Caucho Resin.

    diff --git a/dspace/docs/storage.html b/dspace/docs/storage.html index 1d017f5e81..2e7653a890 100644 --- a/dspace/docs/storage.html +++ b/dspace/docs/storage.html @@ -3,381 +3,258 @@ DSpace System Documentation: Storage Layer - + + -

    DSpace -System Documentation: -Storage Layer

    -

    Back to contents
    -Back -to architecture overview

    -

    RDBMS

    -

    DSpace uses a relational -database to store all information about the organization of content, -metadata about the content, information about e-people and -authorization, and the state of currently-running workflows. The DSpace -system also uses the relational database in order to maintain indices -that users can browse.

    -

    Most of the functionality that -DSpace uses can be offered by any standard SQL database that supports -transactions. Presently, the browse indices use some features specific -to PostgreSQL, -a mature open-source relational database, so some modification to the -code would be needed before DSpace would function fully with an -alternative database back-end.

    -

    The org.dspace.storage.rdbms -package provides access to an SQL database in a somewhat simpler form -than using JDBC directly. The main class is DatabaseManager, -which executes SQL queries and returns TableRow -or TableRowIterator -objects. The InitializeDatabase -class is used to load SQL into the database via JDBC, for example to -set up the schema.

    -

    All calls to the Database -Manager require a DSpace Context -object. Example use of the -database manager API is given in the org.dspace.storage.rdbms -package Javadoc.

    -

    The database schema used by -DSpace is stored in [dspace-source]/etc/database_schema.sql -in the source distribution. It is stored in the form of SQL that can be -fed straight into the DBMS to construct the database. The schema SQL -file also directly creates two e-person groups in the database that are -required for the system to function properly.

    -

    The DSpace database code uses -an SQL function getnextid -to assign primary keys to newly created rows. This SQL function must be -safe to use if several JVMs are accessing the database at once; for -example, the Web UI might be creating new rows in the database at the -same time as the batch item importer. The PostgreSQL-specific -implementation of the method uses SEQUENCES -for each table in order to create new IDs. If an alternative database -backend were to be used, the implementation of getnextid -could be updated to operate with that specific DBMS.

    -

    The etc -directory in the source distribution contains two further SQL files. clean-database.sql -contains the SQL necessary to completely clean out the database, so use -with caution! The Ant target clean_database -can be used to execute this. update-sequences.sql -contains SQL to reset the primary key generation sequences to -appropriate values. You'd need to do this if, for example, you're -restoring a backup database dump which creates rows with specific -primary keys already defined. In such a case, the sequences would -allocate primary keys that were already used.

    -

    Maintenance and Backup

    -

    When using PostgreSQL, it's a -good idea to perform regular 'vacuuming' of the database to optimize -performance. This is performed by the vacuumdb -command which can be executed via a 'cron' job, for example by putting -this in the system crontab:

    -
    # clean up the database nightly
    40 2 * * * /usr/local/pgsql/bin/vacuumdb --analyze dspace > /dev/null 2>&1
    -

    The DSpace database can be -backed up and restored using usual methods, for example with pg_dump -and psql. -However when restoring a database, you will need to perform these -additional steps:

    -
      -
    • -

      The fresh_install -target loads up the initial contents of the Dublin Core type and -bitstream format registries, as well as two entries in the epersongroup -table for the system anonymous and administrator groups. Before you -restore a raw backup of your database you will need to remove these, -since they will already exist in your backup, possibly having been -modified. For example, use:

      -
      DELETE FROM dctyperegistry;
      DELETE FROM bitstreamformatregistry;
      DELETE FROM epersongroup;
      -
    • -
    • -

      After restoring a backup, -you will need to reset the primary key generation sequences so that -they do not produce already-used primary keys. Do this by executing the -SQL in [dspace-source]/etc/update-sequences.sql, -for example with:

      -
      psql -U dspace -f [dspace-source]/etc/update-sequences.sql
      -
    • -
    -

    Future updates of DSpace may -involve minor changes to the database schema. Specific instructions on -how to update the schema whilst keeping live data will be included. The -current schema also contains a few currently unused database columns, -to be used for extra functionality in future releases. These unused -columns have been added in advance to minimize the effort required to -upgrade.

    -

    Configuring the RDBMS Component

    -

    The database manager is -configured with the following properties in dspace.cfg:

    - - - - - - - - - - - - - - - - - - - -
    db.urlThe JDBC URL to use for -accessing the database. This should not point to a connection pool, -since DSpace already implements a connection pool.
    db.driverJDBC driver class name. -Since presently, DSpace uses PostgreSQL-specific features, this should -be org.postgresql.Driver.
    db.usernameUsername to use when -accessing the database.
    db.passwordCorresponding password -ot use when accessing the database.
    -

    Bitstream Store

    -

    DSpace offers two means for -storing content. The first is in the file system on the server. The -second is using SRB (Storage -Resource -Broker). Both are achieved using -a simple, lightweight API.
    -

    -

    SRB is purely an option but may -be used in lieu of the server's file system or in addition to the file -system. Without going into a full description, SRB is a very robust, -sophisticated storage manager that offers essentially unlimited storage -and straightforward means to replicate (in simple terms, backup) the -content on other local or remote storage resources.
    -

    -

    The terms "store", "retrieve", -"in the system", "storage", and so forth, used below can refer to -storage in the file system on the server ("traditional") or in SRB.
    -

    -

    The BitstreamStorageManager -provides low-level access to bitstreams stored in the system. In -general, it should not be used directly; instead, use the Bitstream -object in the content management API -since that encapsulated authorization and other metadata to do with a -bitstream that are not maintained by the BitstreamStorageManager.

    -

    The bitstream storage manager -provides three methods that store, retrieve and delete bitstreams. -Bitstreams are referred to by their 'ID'; that is the primary key bitstream_id -column of the corresponding row in the database.

    -

    As of DSpace version 1.1, there -can be multiple bitstream stores. Each of these bitstream stores can be -traditional storage or SRB storage. This means that the potential -storage of a DSpace system is not bound by the maximum size of a single -disk or file system and also that traditional and SRB storage can be -combined in one DSpace installation. Both traditional and SRB storage -are specified by configuration -parameters. Also see Configuring -the Bitstream Store below.
    -

    -

    Stores are numbered, starting -with zero, then counting upwards. Each bitstream entry in the database -has a store number, used to retrieve the bitstream when required.

    -

    At the moment, the store in -which new bitstreams are placed is decided using a configuration -parameter, and there is no provision for moving bitstreams between -stores. Administrative tools for manipulating bitstreams and stores -will be provided in future releases. Right now you can move a whole -store (e.g. you could move store number 1 from /localdisk/store -to /fs/anotherdisk/store -but it would still have to be store number 1 and have the exact same -contents.

    -

    Bitstreams also have an -38-digit internal ID, different from the primary key ID of the -bitstream table row. This is not visible or used outside of the -bitstream storage manager. It is used to determine the exact location -(relative to the relevant store directory) that the bitstream is stored -in traditional or SRB storage. The first three pairs of digits are the -directory path that the bitstream is stored under. The bitstream is -stored in a file with the internal ID as the filename.

    -

    For example, a bitstream with -the internal ID 12345678901234567890123456789012345678 -is stored in the directory:

    -
    (assetstore dir)/12/34/56/12345678901234567890123456789012345678
    -

    The reasons for storing files -this way are:

    -
      -
    • -

      Using a randomly-generated -38-digit number means that the 'number space' is less cluttered than -simply using the primary keys, which are allocated sequentially and are -thus close together. This means that the bitstreams in the store are -distributed around the directory structure, improving access efficiency.

      -
    • -
    • -

      The internal ID is used as -the filename partly to avoid requiring an extra lookup of the filename -of the bitstream, and partly because bitstreams may be received from a -variety of operating systems. The original name of a bitstream may be -an illegal UNIX filename.

      -
    • -
    -

    When storing a bitstream, the BitstreamStorageManager -DOES set the following fields in the corresponding database table row:

    -
      -
    • bitstream_id
    • -
    • size
    • -
    • checksum
    • -
    • checksum_algorithm
    • -
    • internal_id
    • -
    • deleted
    • -
    • store_number
    • -
    -

    The remaining fields are the -responsibility of the Bitstream -content management API class.

    -

    The bitstream storage manager -is fully transaction-safe. In order to implement transaction-safety, -the following algorithm is used to store bitstreams:

    -
      -
    1. A database connection is -created, separately from the currently active connection in the current DSpace context.
    2. -
    3. An unique internal -identifier (separate from the database primary key) is generated.
    4. -
    5. The bitstream DB table row -is created using this new connection, with the deleted -column set to true.
    6. -
    7. The new connection is committed, -so the 'deleted' bitstream row is written to the database
    8. -
    9. The bitstream itself is -stored in a file in the configured 'asset store directory', with a -directory path and filename derived from the internal ID
    10. -
    11. The deleted -flag in the bitstream row is set to false. -This will occur (or not) as part of the current DSpace Context.
    12. -
    -

    This means that should anything -go wrong before, during or after the bitstream storage, only one of the -following can be true:

    -
      -
    • No bitstream table row was -created, and no file was stored
    • -
    • A bitstream table row with deleted=true -was created, no file was stored
    • -
    • A bitstream table row with deleted=true -was created, and a file was stored
    • -
    -

    None of these affect the -integrity of the data in the database or bitstream store.

    -

    Similarly, when a bitstream is -deleted for some reason, its deleted -flag is set to true as part of the overall transaction, and the -corresponding file in storage is not -deleted.

    -

    The above techniques mean that -the bitstream storage manager is transaction-safe. Over time, the -bitstream database table and file store may contain a number of -'deleted' bitstreams. The cleanup -method of BitstreamStorageManager -goes through these deleted rows, and actually deletes them along with -any corresponding files left in the storage. It only removes 'deleted' -bitstreams that are more than one hour old, just in case cleanup is -happening in the middle of a storage operation.

    -

    This cleanup can be invoked -from the command line via the Cleanup -class, which can in turn be easily executed from a shell on the server -machine using /dspace/bin/cleanup. -You might like to have this run regularly by cron, -though since DSpace is read-lots, write-not-so-much it doesn't need to -be run very often.

    -

    Backup

    -

    The bitstreams (files) in -traditional storage may be backed up very easily by simply 'tarring' or -'zipping' the assetstore -directory (or whichever directory is configured in dspace.cfg). -Restoring is as simple as extracting the backed-up compressed file in -the appropriate location.
    -

    -

    Similar means could be used for -SRB, but SRB offers many more options for managing backup.
    -

    -

    It is important to note that -since the bitstream storage manager holds the bitstreams in storage, -and information about them in the database, that a database backup and -a backup of the files in the bitstream store must be made at the same -time; the bitstream data in the database must correspond to the stored -files.

    -

    Of course, it isn't really -ideal to 'freeze' the system while backing up to ensure that the -database and files match up. Since DSpace uses the bitstream data in -the database as the authoritative record, it's best to back up the -database before the files. This is because it's better to have a -bitstream in storage but not the database (effectively non-existent to -DSpace) than a bitstream record in the database but not storage, since -people would be able to find the bitstream but not actually get the -contents.

    -

    Configuring the Bitstream Store

    -Both traditional and SRB bitstream stores are configured in dspace.cfg. -

    Configuring Traditonal Storage

    -Bitstream stores in the file system on the server are configured like -this:
    -
    -
    assetstore.dir = [dspace]/assetstore
    -

    (Remember that [dspace] -is a placeholder for the actual name of your DSpace install directory).

    -

    The above example specifies a -single asset store.

    -
    assetstore.dir = [dspace]/assetstore_0
    assetstore.dir.1 = /mnt/other_filesystem/assetstore_1
    -

    The above example specifies two -asset stores. assetstore.dir specifies the asset store number 0 (zero); -after that use assetstore.dir.1, assetstore.dir.2 and so on. The -particular asset store a bitstream is stored in is held in the -database, so don't move bitstreams between asset stores, and don't -renumber them.

    -

    By default, newly created -bitstreams are put in asset store 0 (i.e. the one specified by the -assetstore.dir property.) This allows backwards compatibility with -pre-DSpace 1.1 configurations. To change this, for example when asset -store 0 is getting full, add a line to dspace.cfg -like:

    -
    assetstore.incoming = 1
    -

    Then restart DSpace (Tomcat). -New bitstreams will be written to the asset store specified by assetstore.dir.1, -which is /mnt/other_filesystem/assetstore_1 -in the above example.
    -

    -

    Configuring SRB Storage

    -The same framework is used to configure SRB storage. That is, the asset -store number (0..n) can reference a file system directory as above or -it can reference a set -of SRB account parameters. But any particular asset store number can -reference one or the other but not both. This way traditional and SRB -storage can both be used but with different asset store numbers. The -same cautions mentioned above apply to SRB asset stores as well: The -particular asset store a bitstream is stored in is held in the -database, so don't move bitstreams between asset stores, and don't -renumber them.
    -
    -For example, let's say asset store number 1 will refer to SRB. The -there will be a set of SRB account parameters like this:
    -
    srb.host.1 = mysrbmcathost.myu.edu
    srb.port.1 = 5544
    srb.mcatzone.1 = mysrbzone
    srb.mdasdomainname.1 = mysrbdomain
    srb.defaultstorageresource.1 = mydefaultsrbresource
    srb.username.1 = mysrbuser
    srb.password.1 = mysrbpassword
    srb.homedirectory.1 = /mysrbzone/home/mysrbuser.mysrbdomain
    srb.parentdir.1 = mysrbdspaceassetstore
    -Several of the terms, such as mcatzone, -have meaning only in the SRB context and will be familiar to SRB users. -The last, srb.parentdir.n, -can be used to used for addition (SRB) upper directory structure within -an SRB account. This property value could be blank as well.
    -
    -(If asset store 0 would refer to SRB it would be srb.host = ..., -srb.port = ..., and so on (.0 omitted) to be consistent -with the traditional storage configuration above.)
    -
    -The similar use of assetstore.incoming -to reference asset store 0 (default) or 1..n (explicit property) means -that new bitstreams will be written to traditional or SRB storage -determined by whether a file system directory on the server is -referenced or a set of SRB account parameters are referenced.
    -
    -There are comments in dspace.cfg that further elaborate the -configuration of traditional and SRB storage.
    -
    -
    -
    Copyright © -2002-2004 MIT and Hewlett Packard
    +

    DSpace System Documentation: Storage Layer

    + +

    Back to contents + Back to architecture overview

    + +

    RDBMS

    + +

    DSpace uses a relational database to store all information about the organization of content, metadata about the content, information about e-people and authorization, and the state of currently-running workflows. The DSpace system also uses the relational database in order to maintain indices that users can browse.

    + +

    Graphical visualization of the relational database

    + +

    Most of the functionality that DSpace uses can be offered by any standard SQL database that supports transactions. Presently, the browse indices use some features specific to PostgreSQL and Oracle, so some modification to the code would be needed before DSpace would function fully with an alternative database back-end.

    + +

    The org.dspace.storage.rdbms package provides access to an SQL database in a somewhat simpler form than using JDBC directly. The main class is DatabaseManager, which executes SQL queries and returns TableRow or TableRowIterator objects. The InitializeDatabase class is used to load SQL into the database via JDBC, for example to set up the schema.

    + +

    All calls to the Database Manager require a DSpace Context object. Example use of the database manager API is given in the org.dspace.storage.rdbms package Javadoc.

    + +

    The database schema used by DSpace (for PostgreSQL) is stored in [dspace-source]/etc/database_schema.sql in the source distribution. It is stored in the form of SQL that can be fed straight into the DBMS to construct the database. The schema SQL file also directly creates two e-person groups in the database that are required for the system to function properly.

    + +

    Also in [dspace-source]/etc are various SQL files called database_schema_1x_1y. These contain the necessary SQL commands to update a live DSpace database from version 1.x to 1.y. Note that this might not be the only part of an upgrade process: see Updating a DSpace Installation for details.

    + +

    The DSpace database code uses an SQL function getnextid to assign primary keys to newly created rows. This SQL function must be safe to use if several JVMs are accessing the database at once; for example, the Web UI might be creating new rows in the database at the same time as the batch item importer. The PostgreSQL-specific implementation of the method uses SEQUENCES for each table in order to create new IDs. If an alternative database backend were to be used, the implementation of getnextid could be updated to operate with that specific DBMS.

    + +

    The etc directory in the source distribution contains two further SQL files. clean-database.sql contains the SQL necessary to completely clean out the database, so use with caution! The Ant target clean_database can be used to execute this. update-sequences.sql contains SQL to reset the primary key generation sequences to appropriate values. You'd need to do this if, for example, you're restoring a backup database dump which creates rows with specific primary keys already defined. In such a case, the sequences would allocate primary keys that were already used.

    + +

    Versions of the *.sql* files for Oracle are stored in [dspace-source]/etc/oracle. These need to be copied over their PostgreSQL counterparts in [dspace-source]/etc prior to installation.

    + +

    Maintenance and Backup

    + +

    When using PostgreSQL, it's a good idea to perform regular 'vacuuming' of the database to optimize performance. This is performed by the vacuumdb command which can be executed via a 'cron' job, for example by putting this in the system crontab:

    +
    +# clean up the database nightly
    +40 2 * * * /usr/local/pgsql/bin/vacuumdb --analyze dspace > /dev/null 2>&1
    +
    + +

    The DSpace database can be backed up and restored using usual methods, for example with pg_dump and psql. However when restoring a database, you will need to perform these additional steps:

    + +
      +
    • +

      The fresh_install target loads up the initial contents of the Dublin Core type and bitstream format registries, as well as two entries in the epersongroup table for the system anonymous and administrator groups. Before you restore a raw backup of your database you will need to remove these, since they will already exist in your backup, possibly having been modified. For example, use:

      +
      +DELETE FROM dctyperegistry;
      +DELETE FROM bitstreamformatregistry;
      +DELETE FROM epersongroup;
      +
      +
    • + +
    • +

      After restoring a backup, you will need to reset the primary key generation sequences so that they do not produce already-used primary keys. Do this by executing the SQL in [dspace-source]/etc/update-sequences.sql, for example with:

      +
      +psql -U dspace -f [dspace-source]/etc/update-sequences.sql
      +
      +
    • +
    + +

    Future updates of DSpace may involve minor changes to the database schema. Specific instructions on how to update the schema whilst keeping live data will be included. The current schema also contains a few currently unused database columns, to be used for extra functionality in future releases. These unused columns have been added in advance to minimize the effort required to upgrade.

    + +

    Configuring the RDBMS Component

    + +

    The database manager is configured with the following properties in dspace.cfg:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    db.urlThe JDBC URL to use for accessing the database. This should not point to a connection pool, since DSpace already implements a connection pool.
    db.driverJDBC driver class name. Since presently, DSpace uses PostgreSQL-specific features, this should be org.postgresql.Driver.
    db.usernameUsername to use when accessing the database.
    db.passwordCorresponding password ot use when accessing the database.
    + +

    Bitstream Store

    + +

    DSpace offers two means for storing content. The first is in the file system on the server. The second is using SRB (Storage Resource Broker). Both are achieved using a simple, lightweight API.

    + +

    SRB is purely an option but may be used in lieu of the server's file system or in addition to the file system. Without going into a full description, SRB is a very robust, sophisticated storage manager that offers essentially unlimited storage and straightforward means to replicate (in simple terms, backup) the content on other local or remote storage resources.

    + +

    The terms "store", "retrieve", "in the system", "storage", and so forth, used below can refer to storage in the file system on the server ("traditional") or in SRB.

    + +

    The BitstreamStorageManager provides low-level access to bitstreams stored in the system. In general, it should not be used directly; instead, use the Bitstream object in the content management API since that encapsulated authorization and other metadata to do with a bitstream that are not maintained by the BitstreamStorageManager.

    + +

    The bitstream storage manager provides three methods that store, retrieve and delete bitstreams. Bitstreams are referred to by their 'ID'; that is the primary key bitstream_id column of the corresponding row in the database.

    + +

    As of DSpace version 1.1, there can be multiple bitstream stores. Each of these bitstream stores can be traditional storage or SRB storage. This means that the potential storage of a DSpace system is not bound by the maximum size of a single disk or file system and also that traditional and SRB storage can be combined in one DSpace installation. Both traditional and SRB storage are specified by configuration parameters. Also see Configuring the Bitstream Store below.

    + +

    Stores are numbered, starting with zero, then counting upwards. Each bitstream entry in the database has a store number, used to retrieve the bitstream when required.

    + +

    At the moment, the store in which new bitstreams are placed is decided using a configuration parameter, and there is no provision for moving bitstreams between stores. Administrative tools for manipulating bitstreams and stores will be provided in future releases. Right now you can move a whole store (e.g. you could move store number 1 from /localdisk/store to /fs/anotherdisk/store but it would still have to be store number 1 and have the exact same contents.

    + +

    Bitstreams also have an 38-digit internal ID, different from the primary key ID of the bitstream table row. This is not visible or used outside of the bitstream storage manager. It is used to determine the exact location (relative to the relevant store directory) that the bitstream is stored in traditional or SRB storage. The first three pairs of digits are the directory path that the bitstream is stored under. The bitstream is stored in a file with the internal ID as the filename.

    + +

    For example, a bitstream with the internal ID 12345678901234567890123456789012345678 is stored in the directory:

    +
    +(assetstore dir)/12/34/56/12345678901234567890123456789012345678
    +
    + +

    The reasons for storing files this way are:

    + +
      +
    • +

      Using a randomly-generated 38-digit number means that the 'number space' is less cluttered than simply using the primary keys, which are allocated sequentially and are thus close together. This means that the bitstreams in the store are distributed around the directory structure, improving access efficiency.

      +
    • + +
    • +

      The internal ID is used as the filename partly to avoid requiring an extra lookup of the filename of the bitstream, and partly because bitstreams may be received from a variety of operating systems. The original name of a bitstream may be an illegal UNIX filename.

      +
    • +
    + +

    When storing a bitstream, the BitstreamStorageManager DOES set the following fields in the corresponding database table row:

    + +
      +
    • bitstream_id
    • + +
    • size
    • + +
    • checksum
    • + +
    • checksum_algorithm
    • + +
    • internal_id
    • + +
    • deleted
    • + +
    • store_number
    • +
    + +

    The remaining fields are the responsibility of the Bitstream content management API class.

    + +

    The bitstream storage manager is fully transaction-safe. In order to implement transaction-safety, the following algorithm is used to store bitstreams:

    + +
      +
    1. A database connection is created, separately from the currently active connection in the current DSpace context.
    2. + +
    3. An unique internal identifier (separate from the database primary key) is generated.
    4. + +
    5. The bitstream DB table row is created using this new connection, with the deleted column set to true.
    6. + +
    7. The new connection is committed, so the 'deleted' bitstream row is written to the database
    8. + +
    9. The bitstream itself is stored in a file in the configured 'asset store directory', with a directory path and filename derived from the internal ID
    10. + +
    11. The deleted flag in the bitstream row is set to false. This will occur (or not) as part of the current DSpace Context.
    12. +
    + +

    This means that should anything go wrong before, during or after the bitstream storage, only one of the following can be true:

    + +
      +
    • No bitstream table row was created, and no file was stored
    • + +
    • A bitstream table row with deleted=true was created, no file was stored
    • + +
    • A bitstream table row with deleted=true was created, and a file was stored
    • +
    + +

    None of these affect the integrity of the data in the database or bitstream store.

    + +

    Similarly, when a bitstream is deleted for some reason, its deleted flag is set to true as part of the overall transaction, and the corresponding file in storage is not deleted.

    + +

    The above techniques mean that the bitstream storage manager is transaction-safe. Over time, the bitstream database table and file store may contain a number of 'deleted' bitstreams. The cleanup method of BitstreamStorageManager goes through these deleted rows, and actually deletes them along with any corresponding files left in the storage. It only removes 'deleted' bitstreams that are more than one hour old, just in case cleanup is happening in the middle of a storage operation.

    + +

    This cleanup can be invoked from the command line via the Cleanup class, which can in turn be easily executed from a shell on the server machine using /dspace/bin/cleanup. You might like to have this run regularly by cron, though since DSpace is read-lots, write-not-so-much it doesn't need to be run very often.

    + +

    Backup

    + +

    The bitstreams (files) in traditional storage may be backed up very easily by simply 'tarring' or 'zipping' the assetstore directory (or whichever directory is configured in dspace.cfg). Restoring is as simple as extracting the backed-up compressed file in the appropriate location.

    + +

    Similar means could be used for SRB, but SRB offers many more options for managing backup.

    + +

    It is important to note that since the bitstream storage manager holds the bitstreams in storage, and information about them in the database, that a database backup and a backup of the files in the bitstream store must be made at the same time; the bitstream data in the database must correspond to the stored files.

    + +

    Of course, it isn't really ideal to 'freeze' the system while backing up to ensure that the database and files match up. Since DSpace uses the bitstream data in the database as the authoritative record, it's best to back up the database before the files. This is because it's better to have a bitstream in storage but not the database (effectively non-existent to DSpace) than a bitstream record in the database but not storage, since people would be able to find the bitstream but not actually get the contents.

    + +

    Configuring the Bitstream Store

    + +

    Both traditional and SRB bitstream stores are configured in dspace.cfg.

    + +

    Configuring Traditonal Storage

    + +

    Bitstream stores in the file system on the server are configured like this:

    + +
    +assetstore.dir = [dspace]/assetstore
    +
    + +

    (Remember that [dspace] is a placeholder for the actual name of your DSpace install directory).

    + +

    The above example specifies a single asset store.

    +
    +assetstore.dir = [dspace]/assetstore_0
    +assetstore.dir.1 = /mnt/other_filesystem/assetstore_1
    +
    + +

    The above example specifies two asset stores. assetstore.dir specifies the asset store number 0 (zero); after that use assetstore.dir.1, assetstore.dir.2 and so on. The particular asset store a bitstream is stored in is held in the database, so don't move bitstreams between asset stores, and don't renumber them.

    + +

    By default, newly created bitstreams are put in asset store 0 (i.e. the one specified by the assetstore.dir property.) This allows backwards compatibility with pre-DSpace 1.1 configurations. To change this, for example when asset store 0 is getting full, add a line to dspace.cfg like:

    +
    +assetstore.incoming = 1
    +
    + +

    Then restart DSpace (Tomcat). New bitstreams will be written to the asset store specified by assetstore.dir.1, which is /mnt/other_filesystem/assetstore_1 in the above example.

    + +

    Configuring SRB Storage

    + +

    The same framework is used to configure SRB storage. That is, the asset store number (0..n) can reference a file system directory as above or it can reference a set of SRB account parameters. But any particular asset store number can reference one or the other but not both. This way traditional and SRB storage can both be used but with different asset store numbers. The same cautions mentioned above apply to SRB asset stores as well: The particular asset store a bitstream is stored in is held in the database, so don't move bitstreams between asset stores, and don't renumber them.

    + +

    For example, let's say asset store number 1 will refer to SRB. The there will be a set of SRB account parameters like this:

    +
    +srb.host.1 = mysrbmcathost.myu.edu
    +srb.port.1 = 5544
    +srb.mcatzone.1 = mysrbzone
    +srb.mdasdomainname.1 = mysrbdomain
    +srb.defaultstorageresource.1 = mydefaultsrbresource
    +srb.username.1 = mysrbuser
    +srb.password.1 = mysrbpassword
    +srb.homedirectory.1 = /mysrbzone/home/mysrbuser.mysrbdomain
    +srb.parentdir.1 = mysrbdspaceassetstore
    +
    + +

    Several of the terms, such as mcatzone, have meaning only in the SRB context and will be familiar to SRB users. The last, srb.parentdir.n, can be used to used for addition (SRB) upper directory structure within an SRB account. This property value could be blank as well.

    + +

    (If asset store 0 would refer to SRB it would be srb.host = ..., srb.port = ..., and so on (.0 omitted) to be consistent with the traditional storage configuration above.)

    + +

    The similar use of assetstore.incoming to reference asset store 0 (default) or 1..n (explicit property) means that new bitstreams will be written to traditional or SRB storage determined by whether a file system directory on the server is referenced or a set of SRB account parameters are referenced.

    + +

    There are comments in dspace.cfg that further elaborate the configuration of traditional and SRB storage.

    + +
    + +
    + Copyright © 2002-2005 MIT and Hewlett Packard +
    diff --git a/dspace/etc/oracle/ORACLE_README.txt b/dspace/etc/oracle/ORACLE_README.txt index 796d7449dc..410ef56e7f 100644 --- a/dspace/etc/oracle/ORACLE_README.txt +++ b/dspace/etc/oracle/ORACLE_README.txt @@ -1,63 +1,7 @@ DSpace on Oracle Revision: 11-sep-04 dstuve - -1 Introduction -2 Installing DSpace on Oracle -3 Porting notes for the curious - - - DSpace is now tested to work with Oracle 10x, and should work with -version 9 as well. The installation process is quite simple, involving -changinge a few configuration settings in dspace.cfg, and replacing a few -Postgres-specific sql files in etc/ with Oracle-specific ones. Everything -is fully functional, although Oracle limits you to 4k of text in text fields -such as item metadata or collection descriptions. - For people interested in switching from Postgres to Oracle, I know of -no tools that would do this automatically. You will need to recreate the -community, collection, and eperson structure in the Oracle system, and then -use the item export and import tools to move your content over. - -How to Install DSpace on Oracle - -Things you need - - Oracle 9 or 10 - Oracle JDBC driver - sequence update script from Akadia consulting: - currently incseq.sql at: http://akadia.com/services/scripts/incseq.sql - (put in your dspace source /etc directory) - -Installation procedure - - 1. Create adatabase for DSpace. Make sure that the character set is one -of the Unicode character sets. DSpace uses UTF8 natively, and I would -suggest that the Oracle database use the same character set. Create -a user account for DSpace (we use 'dspace',) and ensure that it has -permissions to add and remove tables in the database. - - 2. Edit the config/dspace.cfg file in your source directory for the - following settings: - - db.name = oracle - db.url = jdbc.oracle.thin:@//host:port/dspace - db.driver = oracle.jdbc.OracleDriver - - 3. Go to etc/oracle in your source directory and copy the contents - to their parent directory, overwriting the versions in the parent: - - cd dspace_source/etc/oracle - cp * .. - - You now have Oracle-specific .sql files in your etc directory, and - your dspace.cfg is modified to point to your Oracle database and - are ready to continue with a normal DSpace install, skipping the - Postgres setup steps. - - NOTE**** DSpace uses sequences to generate unique object IDs - beware - Oracle sequences, which are said to lose their values when doing - a database export/import, say restoring from a backup. Be sure - to run the script etc/udpate-sequences.sql. +(Installation notes moved to main DSpace documentation) Oracle Porting Notes for the Curious