Modified: hadoop/core/branches/branch-0.18/docs/hod_user_guide.pdf URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/docs/hod_user_guide.pdf?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/docs/hod_user_guide.pdf (original) +++ hadoop/core/branches/branch-0.18/docs/hod_user_guide.pdf Fri Sep 12 08:07:04 2008 @@ -5,10 +5,10 @@ /Producer (FOP 0.20.5) >> endobj 5 0 obj -<< /Length 1555 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1548 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau`U97*El']&XfYa`i\'I3gk4&7WWA3--c[F89c?!rb2I3lrZ`+7;'?h#h]nk79[f]+N7n-/V-h0\Q%]UKC[)Ij!UY3/LA"0_]j%QnAYn/Y='q9H3.(C$Ih_q:[EMAIL PROTECTED](I`82AIlDk0N8`Tk'nqa)B3e&S9*o_>,U6B?"6QI31ehp1khRPo3aDH^O&&[EMAIL PROTECTED]<'tRH:fi!NEiFi,a=:nj:bkQMpc<j*TqeHk4ad,[EMAIL PROTECTED]<&.eDM;99F;*Q2C0!7F4F+N__0m6D!"PI49kSkut.i'&n6mb7K9V6PXNUK*e?_<5t233fR%1RlJKf\CQ:L%h_JpVJ4&U'!C5LQ4co89A9^'A[MbHa^%1Z_,$!l;p@&[EMAIL PROTECTED],sjkkVb"^BMg\3<dW8<+>pULjed7)7(OZ'IbM,Ui"5@;@m=BOe$^1m+&rjU[W/H?+\jfL,Q4LL./upkU,En\5G1NRc^!/8?R'mGKTGP(gI/)`_r(=/D_PeQ>cE)+M:T*^N&AH?I-G'EEsHd([EMAIL PROTECTED]'[EMAIL PROTECTED]"q1h+u5[A:s#4rTY2<;E+QGPCk1/EWY5Z3<@ruITHn_(fGWBSt)of9GSg6$QeQ/%_I:_"V?0uWf7$Ml8]Y'kBSdpMb4s?N0=gGC_cBF+gr#6j%/L19<893pcfUD3XG0^SR"G7Sjt>Ii$_ceim80?FUp']TcH+K^Z'N6;[EMAIL PROTECTED]/W>g_";!et,eqR%;F$g#VF?5'rAK9<rj=i(/cnS9rk<#X5T*o\K<^sJ&3j=FPg,h[KcXeCX3#l!plWlfJF*-LWRd[apBC&O=D7XPg>R\ZX(3M8oaQ3nqOL3f?csR@)*`Rg!=L5qqu8P%7f>NnDqq._cDq:jmR<d_[jY5%%PT`Uig6-ltg!14?FDHMB&An8r`]In/YL[AN&)-jDr"*_5fF)2DWX^R,L;S_Z]A>F& 0>0IJ"roS5<4VbVujg895DDm&[EMAIL PROTECTED]&%/Xd(]Er>=>'ZmNGQgTR"CV.jB<[pAY^]qsXS6Bu:H0'k_!W5\JAN&q%+ob*0`E@,>jq$;Vnhbb@/[EMAIL PROTECTED]@*br+jsF\%@)+Dr;]b/-ksb0Y,uF+V4_/[EMAIL PROTECTED]<LL8<ZD*^Psm4DrN0AD\*:[EMAIL PROTECTED](e1C"q?ld6&5'sQ#S<,&ABQreS4]N&J2Z!:qENb5A,'g4:mmM:33JU>[EMAIL PROTECTED]'pn"*tXCltLu2iseAQu^p6M,[EMAIL PROTECTED]:"jT@<W'mEl)!PmFqj_Ih;[EMAIL PROTECTED]>3_chbj)j'jI#oH0G$V.B'%"Y5ft9lfs2b.BSc@<EepNo1-e+LLj5"cT'+6.N_/>i_17,0*M6%$r[]FALS,4l3n)[EMAIL PROTECTED]@=,2^2#Dgg575iX"hn#JU`)eLtE/c_osG-jg6)(ZQ1g%R]4a'k+f=>WiJ'=>os.[k*"Pip.3I]L\)EB%t.8Q)&@]iH+gZ#]OD"X!2>*QjYN^'<3'0F-g9.9.I['bgk)?"8*Ob+9~> +Gau`Uhg:hN'Rf^__->BD0TZk(]t$_*VJDW;ERon^%iAh]h["7VB^5Qh'0hGYm+AVY`NJeDKJ1F0kh^BAi8%r5dhk.pE'7hh)gM%jFPo1NJa[jKcZb-:\M3MX*6-:banbPf6]uH'I-Y%3-s#52g_]h^RQ`#dVT4`D'mat#Z&HD>[EMAIL PROTECTED]"eY&>[EMAIL PROTECTED]/[EMAIL PROTECTED]'BXAB->RmNI$Rp=$V3:@8:[J(JO88l3G&dHeSI97hNNnC&+NP$37,Lfi=Y\Na+([EMAIL PROTECTED];=jR-f[(2^=K$;$pr)jV/@^%n+(:KQnKSK8Y*LV5nf<fb>*_m?S1-[;&dU[kKO>Y.EDOI.A8"[EMAIL PROTECTED],H0E2N0.bM$Z_tAlOL#b2o0kuHI9a'ff&8O9/8qOni'=O2/N&HuJ9G:P8>5h>YW$b)[NBOYPJ*?QoL(>[6)#pYphcQH*`hIW#h[](;,+4p9^6'XAGu[Hd?B$gbT4-5bi;j&aW)kp*8-+89%BW9R-mW8jj?OD)f>eaZV-qbEdbV:C:,Zc\e?;&fPIg#QSEqhaQ4jhEaU.0koXe;j_N;q+n\a&&`FL-tZf$sPlED5[=TJ!dbM!e`Un2Q,Eh4('2Qt'U_Dhi&b#[Ir)e(;u30([EMAIL PROTECTED];nOXkIpB!d-9ZPm<QXU#*,Fc-k>X[<VOk7(tsOnpa_s!1mP[!dE9Z\5!K3&2$pO;":<6<C13(f,_5Ye-2D+APlgM50eG0Ql*hOPn?:XS?6Xpll0itB#*eZ.1)Sa`!:^RmR^1Vh=QiVJZ'l*"J04S$"N[`!S8/!/EfYaS`'WeIcjh/[EMAIL PROTECTED]&0"tBY1irkk:I9pKhb",Oc<%'?akmjUZ/[EMAIL PROTECTED]/[EMAIL PROTECTED]&Ykj`Q,9gi!]Bbi")T*r'd143%Q1fc%</,6cl:6Uo5 \Y/[EMAIL PROTECTED]'t2qS_m$?<rL9HlWKfDGMcXl57KCF]GQuo*!W1LA`d3\PkR".r!8+tP(f7a%ScS^`!6-+u_"EV6nJ(bH'!.].pib8MP^a-hr-$[&iskqHK]N46(FBq[2?Z?3>?nXg*N!NqnqiZD14P"dd#ca=_ZNI#Q,a>[P3eY>(r'eW<::&KIHI1IDEV0SW<2d]%oo&J/nS+TYI80S5*kNYe\R2%XeI0Ig"W:*4E.Kk#Ab/`r7q\qcPB)uE!&,sKdipjSQJ<A.MTfGW)-5k9<!@:!9<gjh^GR=UTj1?ReU$XH"1)[EMAIL PROTECTED]<18d^hr`+7<jqq-[:DJh=d+W[Z0Rg;-<WCopO]SE<*(.Or>fK=]*G)_QGl+q"%rVB-))_/]B\d"O:Bk0qQR^5f%c<3"[EMAIL PROTECTED],H*C;r&/e$^PkHAT:R!s-m7GRN),6k%#Hc>K_:[EMAIL PROTECTED])s_8`BGqcfB-k^mQp\MQH&N0"@uWW-6P3?%Od_WVAq==$uuuq/D!1~> endstream endobj 6 0 obj @@ -596,10 +596,10 @@ >> endobj 100 0 obj -<< /Length 1906 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1882 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -GatU5gMYb*&:Ml+([EMAIL PROTECTED]>rkVD>&OHBUcULl0=EgJ%q4!M'Ik_XA+TUQ7t+b3AY_gke(2.I99kT\3d6erqUdR\W4;mI:*"$[/,/;$$#/Yj/^GT+'3BQ/P`]5e\;]Q.WL-tZ+0+QY5Y>a7LD]dB^)[EMAIL PROTECTED]@[EMAIL PROTECTED]:/$rX3n?80ksF:@Kuf>ZZ$M=l3n?80lU'e!6>1!%qYCu0:fZ37m?Ln2m-=Uaj[E1?qp][L]NV56^TIt;Ecm"e:s32.S=9bg24qEYj_f".V+PuM*a,B5ra)_A%*p*LEJ)_#m"'uqgDm_5(\MlhND%nYVXO;@P33!Ebc?]cWm'[EMAIL PROTECTED]:bE"EkCWo$G%WKi;-Vgg33NF5V*XqXQ3FKb)@^Obkkjf8!8V6KBL;_O:%AiiJAKs=XIORKH2lfO:JWHf2Mr<CHo/q\MhXF.CEZ_FT0`/@.[49K#ImA_'bf?e8C.qC._AI7:'N+:g'9R0knN0\Nq9WJiVDRToT4i'8.?!:CZW8NV.AJ[m6X1Vj4addt2YX7`X*2#IVB&-HB7O0&k>m"R%FlOB`%t-::[EMAIL PROTECTED]"[EMAIL PROTECTED]/7t:aMiaE<kN;n4(INUb0mTO/6>%.;L[$)d4Ho7:mud<%;\NGB:#2\I<E\B,iS_WbFfP4e+K`<JqDRV.hV\Yul8[ut?Eg0Q5U-_i!saTEPusl/9I+f(SK+%nWjKc=U9J.44aR1_9Knl"J(+\N[^;#">JqfZ*K5?Cgmnb\nOY7=q7aVX/#<r#GQ/:DWBl/Nq$[=i8oiQgR[%75,7eISkop57B)JN?8\$Wq5CIlsT=;`d?#K/"l>4KM#c!?pjFm1e20Xo6PZf&JSislgQ`?;9l'7)-Lh3LL+Ddp2BrXQab)+NWiO[kmD0Vp\8u^F1UQW04i;[km&nJ$?_MR",O;k9h$dXg^1ULY ]W<f7g%S*J&IW".M/mitSLsHN008d?ZqpPXi)'#sbm$Rm#9*$<)+`a$L&<]+\TdeHE"Y+_>L+WRDG%NlnGe+UE$d6R0eW4;[EMAIL PROTECTED]"\O'%n%$\OI(?G&@aIIL`H*YM#d"f)[EMAIL PROTECTED]<\(0:I]!R0-HsSa^s+[*co8H1NRcRJj;Iko4_;3bgY+\rgC"YJ&'[EMAIL PROTECTED],YRrO0ApMo[P^.4lnIqZDHPe'>KFG+R&_I)I3B8$_$\PP"6aRpoq'].6n>"Hf_+m^jB;2_cglW-6isFKFHL)3D0H,pm0qS\E-9tA\N0$^Z^J.<!B;iGS0*#-[K>lRS#6S)[EMAIL PROTECTED]<QPr\mo!&nDt$^F.R;B(tS]YSkA<3($amCY+1l0SXNIMC]R7KP[<9m4oOEU]DS17Pttga6QO5:bTT;HDsT6A<83aqq+]"l=^<_qlaFEh/RHc1#ZT\/gU"Ua?4AF34qB/!>s\OmDgK50C1bd)V2h36=LQVi4BMl+Vn&[KfLR)h`V'?c\pLsODG$<:@)k!K)kk?[d3sU'Wo&[9TBh'E.3Slh/[EMAIL PROTECTED]"i,U&H-2"h%jTS.HYtLOJPG$$m&*.02S=:qr/ul7WS=WCGfQ"'mToAfd$orWDKo=/-(@[EMAIL PROTECTED]@#g[B=66J*"4HI4mDOO/i9Sq5RQE`der!`cgiEhe:hTgPJJrHFS.H&gGo_&R,!I([&i-@:gBH$B([EMAIL PROTECTED]"!H%hYj7`5Z.Opp?)TsgJr;4/Jq<_$-!9&(XYj8S$#R0+l,>+NJVlPpC=OG7A4*>qn`,6)DZ[5B.H,?^'9^F<KN\#q2hpo/[XM8pshqT^;fQBDF)M5%eT+./Q?QZ<fD#u>:rrEr0/PH~> +GatU5>EbO7'[EMAIL PROTECTED]/tGaMEc:N3G.W0;[EMAIL PROTECTED],IkF&B87Eaj.aCS]c4pT?*LWebb-P\!:`GiSV[UjOfLSq`arM=T/+;o/rLF3OdS?5?Dcp/^?VO_,&[EMAIL PROTECTED]"@r]O!*V]_l7L*2n#LXQdF;TR6mD)lM-02/^/5>=PnWPJ_oTUkCSA\VMkkN*88/M+t(F%lkLm9SflM/<:=;O$E(.'[EMAIL PROTECTED]&!bH3;[EMAIL PROTECTED]'uL+Zo2F[:iOk\^.3KM=ls5s4ik(V0,:[&7f\dcLlhBkhipMeTRj_V+Q$,+6+?drG+QD*np.?m0%&`nRF-DnTrMuZRCOc)OH8^<T!Cd'e`1Nl;ou!<0\i=""[EMAIL PROTECTED]<=dWK-;:%a'Om<N-#N$,d#dI&;M38g_X`C#ilM'DcN$Jd6#L=PG;(?PaL)/B-`jrmQ&n]Kmi,t\e\YaE>48>5)[EMAIL PROTECTED]/]$q5#K)B6b_W\+bAXo!`"HSZ2bcH\qC.^9*78`2eWU_r!j.VGOjN\4PF,sQCg,%2f0XN9=D7cB?b08eU>5[GR,AhCrL#n7#Fh>e(-6U<<E=Ri+#3eng7i+MT>mCT(L1ks8CG`lAo;!jiP5<]5##`uG0#Mj7K%\pEINAc2+iIFt&04c4HXVBrn9g,@<(ZnWpI=d%<td`%n(=Lm<E0eYjiHHY;j-o`*#ba!Wt/(:i!(NuW1,d(MD?fr'CP(;7fo05]d&BV?n%o6!B[h7O/atTlU>[EMAIL PROTECTED]@nW9'6Kj]ej$[nM+SsB0\iANm9Tf1e8Dsf,)L"q-*M4t."E*>H!5c'V`G88?[>BAj+lS;c..+XpG29dPYqX*`YhO1jRkBgKPaG&nqQO=.q9$j0JofBKl4lAa\NWm`NnW([EMAIL PROTECTED]'HU<M"*.<'A?[7CqVXDj*5\DO*lrGr[9ULe%H.qpTV/PoKJ\5hl[jZj-88CT^#BlSY] =OflDlCj3tpIY2;HK%)0)WaogE*9r-.b__<Mid0P?ih"'!,jr1_GV;t$hEVlbBA^YlM??Yi.Sie70e)fn[9^XhRc!$8In(oXjYtXM_8L7si\kh1Z?Zdr[J7k/7XC*P:q/m"p#8d=RjCVL;2XN?7i+MT>mJB;hdA;/@;]U1e.%ioZ^bV6:3/8OH%E;UY[1HhFAt-%>[EMAIL PROTECTED];:BJErl=>[EMAIL PROTECTED](9'ngj&'1PpBnnQT,9H$NnR>4Rj"pAFB!*(]\Y&5qUF8s4O7#F^?SSR3pkEo6__uqBL?M$<+2A."Ra#Vf"]d61=#Z50;_bSN5I.%%t$5b#,9Q%9&%kZS,3fDn$J\[(bIaucD2O19(s4AM!-MSF$N<##Vfcee8CE-$B+ctNtL_*)b_&erNugjk"OE>1M<Rr`7&;Q/M'l%`sKFr?Mc;(A:Q^Q:n'QXHHjYsLoZGuqujmg1[)iMUIuHUrq+0\SLtEI>euVYDAWFq,@/IA'[EMAIL PROTECTED]'eJ\'UW5BID)+<[EMAIL PROTECTED]@J'Q9XK"<ZNtRu>!N["]<f^'q'G]>R(@^,Bsm9f#_E%]DYPHjt.B^sGg,R-pMiF<[EMAIL PROTECTED],!ubp[jlnZA75.U3)mSRI4YX*,FJ%)Ud?S&!!5-I8[p?S$("s_Sf'+DIi)1ND1ojYE)q\$G'C4e=loi)Ch<he%olnfbRJ+V?8u+TWdr7d\$2kXDk!*]&S$9^VDj,ebBG`T*rR%d0es%,[EMAIL PROTECTED]:[EMAIL PROTECTED])JZl/+arbpT3\_3ZRbj"m.=DY'qRT'27c.f7u?%c[Vogq/lIjhS/dcpPea/?X20lb"fBBA\n>L^9XX"[dXCO=t7S~> endstream endobj 101 0 obj @@ -611,10 +611,10 @@ >> endobj 102 0 obj -<< /Length 1888 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1875 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -GatU5>Ar7S'Roe[&Gi[886(crFX`%GD;$fq!i/KFm:"\#Csf[,=nHfmOafU<(<&XtP-),\!n/:<[EMAIL PROTECTED]'#[o>GQ6ld'JunSFh$3O9L-he+$\IQnSEWVDHD=RSb87;'5B#EJR,%eU;SnKW4\N4X^=lm&4ZLHPSbgUnK;PI;Q,Bm(#T,5oGjWh]M+URk5fh49?1RGb,-3N2liUV9J[Skat$6sSX*+:H`LT!)bO_.?.78!Y*Wg'R&u0"0nHl`Z4pP,=Ss>O2T(pViF7V-9_;1J;**]%HMc>".`:[EMAIL PROTECTED];4nr>DRUk.p<X:4D>Vf$2;dh"<jMMb'%gP\-*tkI\H:OjP)#!q1Wq0KJFI[_Q6cd.2rIN(AF")3PUnaD',K':e;]3-<2e./jFmVG$P8-KLJMZiMNY?hR9>^e[#s4NU57C9as`1u,%caJh/UIXOG84Bnh0*`P\nsEI8Xqe&D=:0VcJ1fL8KL0&Rft1F265!-arm6Xt*=$RZf)o5&#YrK-o`^aF5T2?iX(]lnStB<[EMAIL PROTECTED]([EMAIL PROTECTED];?JY=/LnBfq(6.`l-C)8KLB6NlM`1i"<c&!g'[EMAIL PROTECTED]<dY1[>BEARMX:]5h*qs`I:tm4`KR:EI37mSf<[EMAIL PROTECTED]>7F(&Go_j't1?1arfu_IC"[EMAIL PROTECTED]"^A]o/Q,bTlC8c>Uj<qs/,+56M>fQ!YcFiFn:4;*9B^!R9c,CQY=:H3;I8+&=g,Cqo66isRRSSs+Thq_)fERmDE'+VU;+XC\eJk6cB:H.0d._]>oR0;!<=lO)-VNZ!_QT8rE3e)$TbNuXY6E`st,>?RtGej/_R;[EMAIL PROTECTED]@?XMd!<9DU!H!jAi*bjr"'RJ<qD5o&(^k:PPf$aY<`#L1`e"N?r?%Q!H#toZ/Q,'),Ll<>X"LXrfp"2444O1? `'q'C]&[EMAIL PROTECTED],Y(Y':pR9S14<e`+\>d.a"*".mL/2Zj^kH/Ou[X;J5gN:i];BP2k&AQ_Id@/LpnY)GEs:m$.?8X<c0g.&9MX2KiiAY+nSE0I:eEP+a)]m6Z^#`:[EMAIL PROTECTED]@h;UU?FA7lE4Cm76_-1.(l8k!B8,sBP>[EMAIL PROTECTED]>rnX;-j',FA=B?&ps+[4<kOao!U\+r+bR`6[h!2h#De*KR</(bYl0*K12-&Ga\q(uC_l:ap+CX!9%Hu`*Cmc+W#po,5pd'V9a>436sY=Z\``lnY;W;?`IT4XfAYc./lu&H;&W,[EMAIL PROTECTED]"A<jqCQAc?h^?oYJY!nf11UC+U1NP+OVjRL>#d5rrc^fu0M7Q6+G42B,.M&6WIi5bSf7TFn*Q(NVp(F2.5\VA-kG/O+MWU>X3:eWC1edOgm'12kEsEpYF$ib?6ZoE$ZNG+ofV.FHdnja6a?ZGn[/3)7m3V&U4&2P(:d!RTN^(`9&UPL2LK[08RTM.]Boa)s&[dIr$S41\(,T(hMUI.'4T2dLV/f([EMAIL PROTECTED]&[EMAIL PROTECTED]<<;%:GQlqgc'rHL99]Dcb6VF=`<HriB53Mpkpj,C%E\1Yh^:CtM_SpkHg<+2'HlD^JZS)$s8ADn4Kgsq'9%goEVJPGc<cMBP[>!?tDKYq+ho'OfuY]]JtC!0:g.g[H8qGB)ba=k8,8ZZ2ES(kPOlhL,nm.aWp8&)[EMAIL PROTECTED]'UaXacm^jpS+ki<Ba?E+U6G3Ddr1gl!!Cid5?4BZSfj*niZW>0Rr?`iHEc6%5W'!B"@<On1KK?Oe.Z<4i]W'L^ulj)@>kDSXCb?ka3Pm$P?BL*;1~> +GatU5gQ(#H&:O:S(jY?MfI.pil4Od7Ep;_<"Ij;!p7^4G=e]akP3CG-h>D[MgD#FoaHpERCPW0TjIA4dF/XLES,>I>4A<h<WW([EMAIL PROTECTED]:2RoXntTDUEhp%.dCRa9J2n`+LNV$*4T3g$Ile>g=lUAi[/"Ze`&eND`eS]PanV;C&i5+d-;0%_48cQ>60p6POk]/s8<eDH21mp1m6Iu25&jT-DT3U6.R%^:j73Yg]<2e5NAZHj:"GO)c>I`^)trQZ)=3?Fa:MWs#"b^$2g#U;5$lBA0)Ue+WM1Z(@dWYVls?O6?&cZJm>d&&j_)t%OV9/7sJB$$Q%)pX"oB#Sa7T(6lNYYWC;Nb<4Oc*F.hi4qJHru,4/8WF`9$=/(c2`G(`I$P`ER*8T=e![9Y>(,2h2fXnZ?LRcR'8Mm)LUp'GIL-lEM7/(i92\n,>Q9ekYrM*Th2"0PLFZokQr,KMnbg!:f.4B4J=4H-jnrXS=iC/=R!>;)&E8em>4DBUo-tf$?qnDNH7b%tc5WA256^4O-uqFT/G/h4hNf9h.HEoMQNGT1*`,ZD.T%gVUfJbX2[`<nX=V;Rg,q%-,NSV>"QJ8))`(SA,&\to!>mUq<:IIoQ=KR5pq0n(c7%hEN*9;'T(BfMg5'>uK#ii4+G&Y6N1Hn=1L=(e!\E/Q!\2Il6\Be6moEokM+O!61n!EIq+G3&"[EMAIL PROTECTED]<0&3[HZ:gDi=fE=<.c*$X%m[682<W#7f.$gU4<$Y1+j*J]"u*O2(dY!7nD,:P#AMW;r(,3,@*\odN]Xt*^3+^Qm1l'HYRK)FD72T:TCWbrOj",ZbJHc;.\&TpZ)n(k#BpIM*tA'[M$^-p"dYE6cXAP5N3KCILcTj9XFQLb)S.1'FedKMT6[Gr]-h^\.G8_a*/[EMAIL PROTECTED]>*OKSrT=1j0XG12/5jt&46QIA>e?F:[EMAIL PROTECTED])qI_!=rBj,?ar%2RL_dZ0V3B?r-bX, YU3\G1]E*$O>/>YJk`N8YOSUSsk?[2"`P9A"HRCZHH3Gj-d/f`m?btUl!D92c9%%W&,/I>i:)=jdoQnm:9Lm6U#LPC[VRSQk*;#M1>KlN-JlSOroj*dkE$uUaikYgkOKgP-n`67b.]Z\uGXM%d0[l]pg52X].JRiT$/kbkVa3"(8p'[EMAIL PROTECTED]@9:Ii]8)q&`kSi?r2^I:^6jc=_OaMp9,[EMAIL PROTECTED];gJnK+MCpf(].8jN"JHmfArA6'>UC+S<9jUU%]2&&dV[VOPRf][+Q&;Bil'QCuCNS0]?&Vmj<j7.`6b==IK%"X07_LrU3hs#sEd-t6%#<ZYP.1DdKgg9-N`/-qc6fs7j$GIB<l/@W7ijj(;^MQk\fUL$(+dQu11kTuPpc_sqa)$&V\ET_G(TK)Q[X=>1RpBl+,"n]Y<tII(Y"*>G;&Vtegb:IqY1GcN$NWnf33IWra0R>0<b^7oAuh;Zh#+-eR/a&k0:Ia\MW2pUD:03fp=:KIH'$83j2aZZ7#&u$hXJ\.,SpHWOg(IA1*e\50<N5s[:O&[EMAIL PROTECTED]&f@&^6(O(eWF=)4]Kk`"&:.V#.nuB?cVW?m!H\R'3r0J%^E5<q?0RA6c7"t.1pRniN5D#cB/+Oh*.edbpmu?,[EMAIL PROTECTED]:[EMAIL PROTECTED]>fIk.l'c(n*`e^>;toUmd?\RY!^mYHe3m+18PB/q7:oO'^h%W=goTg)i9XhdbR;YT7PV'KJ=hafMo7,6A[<[EMAIL PROTECTED]@QNVi6uTFktE'XEU-ef1?=i?f[s7,k0B3,MP!&QX8.&J2#^F%;Mr,]tA[H2D>[EMAIL PROTECTED]> endstream endobj 103 0 obj @@ -626,10 +626,10 @@ >> endobj 104 0 obj -<< /Length 1971 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2013 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gatm=9lo&I&[EMAIL PROTECTED]<hEf$pbLOF_p%uDC1RCYrXnP4[:[EMAIL PROTECTED])/[EMAIL PROTECTED]<cEX++3lg5E]VX,UUN<Y,Dne&UkM2>2G;>:$\#X5@"I?JHQZmT=i\J(&T8E+"H6r>dt?`'6!AC]kB#U3EX)*Gn2/cO!gs[\JVQ!F=U?obJ&$bSg;Ill!KZrPe2r%sca``V+Y:)=j,=ln)T&o-)G+]\!7tR%d5hr:Un/W7C`&>reJ9NqeYdDpp1#^n0r(ei(#:I$O9n[C(1q89B<Go9.63/&]W$e;P4;C[5nSqf.YV]=&CH35-sLr`2.CN$\$\:!+Ku1ARS(d[6kiJj-(7M\#Yu4Q6*D0!"&hK%I;J,k2DNLO_*49,cF8PJMJh80<f2_"dZ":k3&Ik=rd%;?LZ/[EMAIL PROTECTED],DUd6od=XD(fC%\=e`Og9C66DO!eDX[8li_;CprV\th5\:[EMAIL PROTECTED]<[EMAIL PROTECTED]&"]r1IZQJ4!cFnTI>%)2eDXd4=J#"QiO`R^1Vb(E9L*QZ_HTtXogpNn>\BdhS(L2:A+C5'R3B2<l'l.#)p4lE[)Ne[lR26`LbPY&n6J#!:U<N2>`e73^@&pqH3;o7WT]img#/0#u^K<MJGI_WTjN6ZrY_.2]4<=A/3^+,,sUc4tq9aLr,6O=`P'JHBp%GGhiL_PdVcd;YZcGW]!TQV,L7$6&j:1hahn9XNsIc?j/[EMAIL PROTECTED])G*4:a90pG!>H%p![cR-/h/C+*;)+@;UPnBs7"jKRGYIMU#64\.o),[EMAIL PROTECTED]/VfTg;=etHS&mZJW:=dq=B1>>sA))S-"[EMAIL PROTECTED],iQ/'Wm9%AC&8ui?VHY(>/(K)?&7VW([?KpW"%H2MI1ui?TJ:.1i3s>b`'I8,U7hcr7g`E+V'YV:[EMAIL PROTECTED](eNH21g?2$>rSIh7]!a*^`1?M;3ZQfl]Ousb&,iu*q-'BaiSJ8CnRa<9 2P)aZ*Ca_a.*4\XQ,!BY=?5TQTl31)4j2'QJ7M)t<A=&;[EMAIL PROTECTED]<We@([=mZXp09\Jg6q'T+nDb!Fl-hN_n^;2bmj3>k[f.KF7Qj/^TN>d1_L>j^M-T&U#0%F-[3BcR_fdn*nQ[u[Q6`9]XPB<P_+qJ^0('Q7KNP-7:p+9:02>$Djn#j'Alm?FQe*5TnXsl:j+\U-bV/^C\NY1$7%QtRN[k8Da5j1**8C7'qs-F8d`?,[EMAIL PROTECTED]>G!,e_N;k`nhV<7KP[N>]Jb`C5[15BF;6W>[1A$rNpq.6Lt%)l#?S]+8Vd<T9!a0fHm%n//hkb!a\Ff[1`&U1j%&aQB>r,;Ko))nkWP1_N&+2l:bJ8V25J\8GBcBKk(Z\Xr)eU5r#@;[EMAIL PROTECTED]:b0\f(3n?)'X3C!P)n-LN"r?5IY^:n)%8(FMAY0!e1R$a>$2>AUIb<NA'qN>[EMAIL PROTECTED]'l!1^^J)YGdU-qVY!?l;ZT2rG)"`_1$Z;E<UEFPuQ2S?`fZfm?Zh[3.3Ig8oqlO*aqBqVuRFQC"r3!6l.Q>_a+K"D.aj9ZQhR'Qn/V)[[Wf7//Ki\GrneBEOEnRFb&[EMAIL PROTECTED]'rT<tV<6'ApLHlBT7fG>((tJ9M(+VKXC.;[EMAIL PROTECTED]:c>H0Y"[EMAIL PROTECTED]@87"[EMAIL PROTECTED]&=/4M/.20u4?:.uR@;WEl\0_c\>kBq;3%Q6Ef2s"b.s>oF`fKScu`Ug3drmVFZQfQgP6#LpWH<f4BkM-cYtgBZ=8&lDo0;[EMAIL PROTECTED]"R!MHtZV;X5`jOcUb"\T).?,*&X=q8&*>75sl=rp3ds"%EGHp7[&tAQ"K5i:q%U,m>XY36jb(]jD[0Lj&=Xg8<%Haj^KK>[EMAIL PROTECTED]&Eg4qUoNh"%=5`k27b(qdcTjp#6`<1L=CO?*rsr<G3J9eZ~> +Gatm=h34<d&:aF]_.,7L,7'B^a5iCVd`G0dT0%=3q]LNqeGsXc39U;</iK@;(:NHRR5bsQqsi-R=0)#+p#<l8naD'3>PRr4&NR:0/XK-*oP+4$Nr$IaXccnX`UA_/0:kpI3e^Ah8*tDjGjsU(\mpL*r..:L$cm%*C7H;60[HSkS_[I;kbZt82f&9;P]$2Z.D;@V5M+<S'c0$(BtH;;)1RCEhX!s"?ZFKFRE!^Dcs58U2\3hN/[O'n_E#3o^gCPr;9SPWok_s^f"(J:X'36GmbAq<\Zb9==+d'[EMAIL PROTECTED],>l+^rjLCmNYV>lm0&s]/<lKt/CcH;<Q2E14Y)W`D9;NePdUs\]&#P;K6&9N*^J48p0kB*\f+V2ZPC1nfP[W>[EMAIL PROTECTED]</[EMAIL PROTECTED]<G19>M3cEMPhH134XeZO)#ns_*3&M2^]RNnO:I!52+LZq:$A:5PP<2>[EMAIL PROTECTED]&7"[EMAIL PROTECTED]&Gm(JcRqLfH;_2_<-)de^0]n]n3_n:s^MQ!.&+=q10VrXQ;)!b5B!YSZ!aK^h\MO;&R^cO*Bc/G$M'"DeX$jriq0NZbY4WZmW+W-MMG#1$ClOc"[EMAIL PROTECTED]@Kff2m(n[c<1j<>-Te5_'d2c2CX[d#O?@(GF%%>SRAj'3TrZ+lg']X'a5+!kjR2Z3p_I,$.X9BI\mtl#6uNPq#N!*C]If(G19[)0>lVl[+lbH>a6JrCE(LEXkh=VV-u71'n@(XnS[IA3<@=r3d7V;NQbX=ur#b)CSX16DsOWg;t[/B!\S%Asl<2j,uV5IR"O^OAaj(Z]h97JN#$NMV8sLg([EMAIL PROTECTED]'IpCt50f&[EMAIL PROTECTED](6Ee5_1YYp[b(L*5o-"=`!1/o!K&m*-G>?p<HIOddtjhmDoMaFp</B7!ZSR-Z4bVkqUU/kP=K6W#9 ^U\*U0^mVkel_sm6[%4%_N^Mrnk_4o\lQ&/-p9L^:7V&5_q,XA*]JU!)'\ff'!k):e412gM_+Rc#*4%&f!KUA^+htFl":#*0#7[;elRP;;WO,(-CC)J#9nA?6i2DlPg3K86G/AJV$Y6Y5gR'p&/bV/8.I^#O>t&BX/$W'3G#jQ21uWdf,ZFB*7hhql]ptf7PU?o!'4WMsHB'1kIrM_mTr4]PJo.fBrTX/t'Oe+->)SRa2f`+fF,[EMAIL PROTECTED],REpS>Of"lYph'T^ejjk=fi^Sgt.R2WIqf-iVHIi<t%m7Ra$qccnF(i+XMLqI%q>(Z,;5=M"V6A!u5_[G)E#)\/MBS5%V'`#hMG:g\U5]bK'iY@(?6QY7CeuaS33F_M1ICDHi7m=`kFD96k&hEY%1_"Sk/"LTX$)%RB:fSm9f<j:@s<M7,kj\79dlMj&?`ff;odks]&q7ic+a\of,[EMAIL PROTECTED](8W1eo#"0QE6M\cCZkCIt)[EMAIL PROTECTED]:U$Z-AU6aT9:X8%B*J3^Z'6MjrYEuIGF)B^Zsjq5YE*\96G5FU$F^7#>c7b6a1i`sP-[j,lEr*JNU2\S7P2DD^IJC(gP)[EMAIL PROTECTED](kmBrp9\k$b2OK9P<@1,?qg%]&;_p(p!hW`HbD*4+K!-g7j1g:NI.#LXZ1&lk]8IBTZu;ESOW(popA=A4T6kpK-DhpDFV=6c*elZIa&[EMAIL PROTECTED](F3U<c0[F/:\Fd*gZ2:K<:ui(n5+$%^SN`KFI?U4NKQ`dm+<i5ZZNP>F2)S[b'YKI8Z=)+*)uq>9qk<BrYcet!S)l>B.c.'TISkut:)(>[EMAIL PROTECTED])s6,O#[f4+`7O4b`_=mN=(]h>U[/4FYZ!BEe?,:%oGSULSID>I2W*U3q$jU-D"p[=\pAmU[*PiU1qVWmg&sD$7Q`!SKO6^.L5cBh23.W!Mn]&<!_kdm'+(\Ut(bV3uA5a b%:O-&sHc&A0Lu308iT69W0L5%j-H1/j~> endstream endobj 105 0 obj @@ -649,7 +649,7 @@ 107 0 obj << /Type /Annot /Subtype /Link -/Rect [ 394.5 356.25 532.85 346.25 ] +/Rect [ 394.5 300.0 532.85 290.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (hod_config_guide.html#3.4+ringmaster+options) @@ -658,10 +658,10 @@ >> endobj 108 0 obj -<< /Length 2132 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2055 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gatm>=``=U&:W67i*2b?L`m$h,Th*W3G+_eZ1?7Uq`p@<KaC0t4JJdh^>K/I7.?(KO$*QX_!Z[(rH85<eUI,UIe.E/N$n/eG2l`&AaFS%nXInjo9Nip=qhnn1EJK)[EMAIL PROTECTED])[EMAIL PROTECTED])2M'L?Rl*\$4\sE+(P6M[sZZr:2G.gM:ct^ZpcpmE^H>sn-PAcCo`Q,(E>d_[W?\^EaSR$"o?Af:rj"=ZO[DNlGm]JF>Y([EMAIL PROTECTED],M"'$MYO#C&+[3`PLJNZn*UtEVoYs0.Vh>)&\#(FC[)-bj8`JcnYaleNVbkT62J'[EMAIL PROTECTED]'lmmBi&agF#G6YMq>CZdMc=NL`1q#2D(gm#h_6i1_DYK`j-H[C&[EMAIL PROTECTED]/pn.qn:ktPfG\<,-%JSVMTIYS")G,/b9)A_3ZeubAOCp*mdL6,DT3/lR/qLZ=>0qrWk4-:6qe;+M-2jddX81S-K>73[a&C!lo<ca7M?K8BB8eOm'?g<*Vf:StC'9hKBqa'B4\nu(KbXS%-A0G,T0Cc7>SKtUX1GIP53,SZ16rUm^n1^A17`=]lHW/A?bi6"Z+N[7"f$ldGqmUN8q:abWWpp?3t[WZU:#3I*5V%%P=2cW]Wn;qT&WsGG;?B6*p;[EMAIL PROTECTED]'D>rLZk`KG$1cu-HH2$J#5mbO;3aDp9/;)[EMAIL PROTECTED]/[EMAIL PROTECTED]<Fe7l==VR3_IoP2fqFC66%2iQG7R4FTFT?-8lfJ4@<:WW,'3uB,@uKi>llQC-Qi,LR?*B+SP4W*9Tf/g4T4J"U-&Eg$_#S6NREN-F4iFBU,RZ>@=TF!CRkMoU\<mNP^bhC'[sCbMj17'hn1]#NIL[:G1Mi*LZ:MHtXjC^dAP8J;A:ZC[.+$<T,>7V^#%A22,s\LGVob-'.IiKFTn4ASWL%WW8M^#>lST8#T`]Dp[F4')`Bo,Xl7;YAYZSXiFX39 GTp<mfAOK%;&cNdC99NS1Jdmc'iHZSm:^B&Y/H!#t7CO\B&m4iP?nAC+:7\3:#9JV(Ye2+C<^hG\.6n.GGk%2UAH8<[EMAIL PROTECTED]>)lm`.,3P.I"C>fGr\>/M@:]dY,;o0.:*kgIoL)>?^:[EMAIL PROTECTED])Is<8cA0E!g8V2I$QpqDY"c*+8W6NnHgL-[)6!bHuGS!=t_:_V*A3M)[!#jCHI4N;,'Jap-9m"&>,SpLF7rK:'C&Eg;BBjVi:'#J`/M4N>:`JgJ"[EMAIL PROTECTED],[9e,'[C3Jc3+Hi*S;QU&ta$&-T4[h6YM8![VKm<"V($Cq:_9<I$TP(#6`BWigO]`AJmb"rSU<4$/#GuXb(JW.W,@lY6CFI6a1,S!9(OcDa68d)*\/C=I)r]_^K6$_JGMdDT%([EMAIL PROTECTED],0O%/uP6Q1u;[EMAIL PROTECTED]@ND/h4\;*"6K$=u$'"@\mf2M\-VlSC"7C85Etm.g.^u=aD'':2>@P]pJ-ZmoR5&CfZdW@(mK71DU4o-qMN`+`0HqpP?7nbDjp)ClEE9:mOjoW(s=%aZZY->4m'JaB9L6-MTa*F'/dL702W;^uCPa)ti:C</iuD>i+F[V5"f$-jQ#YqHUcjETOn__0aIP!>3cHoIp"S\pAM/:Eo!_3!r+p*Z+uV^Y'a-bY$\kN9XUJgSXfTl1)%ge*T1IF;duJ2V/h=Z([EMAIL PROTECTED]<hDI'VBl?mJHI4YQ(1hsX`2m*6!g0Q+VW4Y,NRKSGKKjMI6hbC2ipJ=En4^OY=F,3]ML!Y2JZghW,L\BY"pMnoEY1SmbE_Ia$<Y.^5r+;V0^7B6nRt+lR4JZ9a:[EMAIL PROTECTED](h.H/e9G1[fN-#T!o$MjYqi;8!&?n9Xb.&[EMAIL PROTECTED]"-:r<lO+kpd:"[EMAIL PROTECTED],-Tdri9o6KNc Qu$?bq^.$j^u^NsaHAL"TN>t;Ei#$n,anTY"i.GASG3%<b^$f;pj_:sGbc8OO>)[EMAIL PROTECTED])Sh:n13e0BngSUnkfp:al,NTBsbEF$`nO"[EMAIL PROTECTED]/IilK$Cn,:4`!:N.%,Oc<~> +Gatm>99\*g%)2U?kgj8kG/T_Y+-UM"O-q>3f/[s,*jcQnk!YLT4lSH9^6E2cTL;pnSa>^',sqh)&bl?&H+fXE\s[u;+n&#%^7DD)L$pU[9DOp[qX^5>?kG(GkMG7cO4ijRjdD?Gnh6a'>[EMAIL PROTECTED],b*W.h1BVnJJ#2eg.(reW3OW\aJtQ9#/<#FDo\#=an<bB$PF+CW3IKbbRr4N*2cQ`.UVq::LC[X4eBN*t#0XrF^:ZrWWZuhrSbZoJIJJLXZDP#;N%>8.2LFo]B4UPfS)[m&AY6XBdkiT*Fd2:f<@X`IjQbl)Pe6,[EMAIL PROTECTED]"m_BJXZH#Z\7ULDCmY,AV0&[EMAIL PROTECTED])RF8SVVIIP3:W5$BibB$nJ>+i^L,SP2lbI8Wp1K11$=an5gW:GJ"YkO)*TA8QD!;J'ml<YUiu`*FQcR_l$>,XZ]#iJpVE'6PE&=V]g`Z+Le0j9BjHX7bD*>[EMAIL PROTECTED]>@1s'[EMAIL PROTECTED],At"g4")fMA+?E&0,V;]%qANlRm7o*LDB&VKB<@[EMAIL PROTECTED]:4@<(4ffEsg*\9/+f,jm99e74Q0Vs:933$:3^^'W?16dEH'X=DGO)"!,la:[EMAIL PROTECTED]"-4Q2]*-C1jqdU+-Z+^$R`oX"[EMAIL PROTECTED]@E\!!0.dJu6LaXfC82Qr/>%XsC`'pcO<cnO12]I9rp.u:Ah7>?!4Ra=aP8sejia]_M-+&$^U^&6QN<d^':ID:[k7'=n;!ub+6G,'Q*'gHF>aG".*,#(E+_XSP23Zp8u?oNDU>[EMAIL PROTECTED]))@!cLK7:<OppSKle2u=J8\XU5X;*H,*fRr8uno^:NjD!=_W-)&[A!Z.hJ./JB01GO[I'A"75-qem-.k."JUrUJXG".DQCRafN,%6fNtG[=b7u!Jnj9Tr]WH/If4`1mrVJHHf\l[1"$1N#XfAp,f<"ClZB4biYS#0W-X2Fr^+ pUJUY\TV3f)Q54HA`3un:!3K:bV,(^"KW3'nm(%BKUmQ64K7C2YF[ZR*][g8VUKf41976iu98h&qqP_:E1pgPpH5b1.S>8Arj-"PTF<bS6(TAfTfn2W,iFhCF*uED#o'7&nr]T7'*ZN&>;?bq'41HD,`LI-cA:U"ro!jR9LD_<`;ADj%K9,YSf-QfTF%2Vr]Mb!6Ze8<An;:K3(n9Z'>NrI;(ZD?>6nhUS59$dr%QI.Es%U3>2r(>P'MTU"=:Fsn$[%AAhZ9s\3cG`8bRIn%fHGn*Gm/pc_i3A42U)!K9$X2nZ;YgV,LV\b5^i9,!KQ&5iZ$M4J!0pUG<BDW8>3NEBa,Ee*1NMh)KkZt;HYICB6;-r#B%<s0tP/!c1(LoR<StqTUf,FjC(1($p-Rj2Q)h4U)tBM+G*?"[EMAIL PROTECTED]"h2(k2U:>K\mJ8g^4=,L7DF6f[(DPnD1!(&<KaA%KJ;VkB3CN``Q!/[EMAIL PROTECTED](bfTeD<$Wb!q6)2UaOo.nMlujTuV*sN>?-k77_hd$'*nN5XXO'`##"YNFH"MR+Pr'8M*rG:Elq>JXX#m[NB9Uci0C1/POYePg;4\PuT<U07dbojUNbtZ7=7H4"SU(+i^V<(rK4j3#_j/g!pNh.7LVuUUlH8:NXd3-X4sm^5&O;O(#jQ!FbA?E\M;[EMAIL PROTECTED]:kI.,bY"K^/NnFg#b%Rp6#&:[EMAIL PROTECTED];[EMAIL PROTECTED]'"HFhJVLG6;Nh2BP8H=)OCCrNIti?n-$i)5$N+b#;u'QsR\SS3)P,h"`J$+?1g_cn\qN=UidtGEWf:dO=5j)EB^9NOLhChtlp7*dapkX^?(W$7VuT0e\Wj)T(f5+U[6\4.On.(@,@b]k<s8mIH9]C"D/;geP$>NOP2"bP\3QOD=_Md5V)X`7HM,r>r[c,P+tEBj]\<[EMAIL PROTECTED]>TidtW;/AG79TqA)m3?KWQd6Eca">>aW;\r7$MiKT 7u*C0!6b`KEQ^)s:(mFBji6Q!Z*LMU09_]7IBc`/g>>K6*9,QXTAlRlSD8gqHRM-bf.+7$Du.K~> endstream endobj 109 0 obj @@ -673,10 +673,10 @@ >> endobj 110 0 obj -<< /Length 2406 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2370 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gb!Sn=``=U&:XAWi*5Q9#j-R1c*?:KD;[EMAIL PROTECTED]<n(L6(!g0CPb$OmUlED9&HWa#h/C'a"nQ2LoQ#9MjiGdanGDK!d$_&IXp]_rBD6]2=;E]8=%e6*48S(&`OuX1_d`n>IX:*hL'ca2k=9j/8r"KUX&_8.F*1]VY-^ERVb<GKBG7_:[EMAIL PROTECTED]/]!*.9a)]MPPUYh8_3%Z<X3]!8\&nWfZBfHB-".BR"PKjuN8biF+A-6oQl&BU;Dp6nVOB"TPGqhtE;D!bOC6PPoNr`f`haXh3cBC5*7kU<RtTMq&_&6*cRUB4u$`TIj,02IE`WED"OIqVYN=>fOi&11([!K17P#^fPB+\H5QCA?tEbM6EUTk>EU=p$+a=*6eZ*"e'[EMAIL PROTECTED]&<?bB]CVM&[EMAIL PROTECTED]>TkTHd)JS++Gd'[EMAIL PROTECTED]<!:/(tPjm&\I%/7t$c>:05H1V%#\pKV+OBoe&,l(S%peg,:[^(0A&[EMAIL PROTECTED](off5,/"[EMAIL PROTECTED]<p)7!^2WH4oe`tXljj0?)3NgC`;<MpKGdKp:Up>YkUCR,)K';>V]/a<m`humU9.L-ANb:)E!Rq@>ATAP2fO++l'5+EYB2=?Bl-+9e.d+KkBF&EB3Yl7Z)%\`<EfnGR%!dG\AZaB$l;<A_;(R8U8;[EMAIL PROTECTED];Da3e4=(bR/i'nG9,)[EMAIL PROTECTED],-e&o!Qg$!EY<)?*ed,KIt-Au1fg5.)Ag\V<aQHX>cJdN2rK9Q)-7q8sE)!T,uS%&Rslc.J]ZCrgYAN6BctpN^1$]Bh2:aPM<\ATC$#9nrmJJU/k[MKRRe0gdqa/P:_;Khn/>70klmNh:/Y/2C5iQNAP;BI+=[jXJMqPi0kn!\)g-Vh".R/9"jo^a)+:Z5j(llE=$"KL]cc=RS,r+u,G+'-Z-:@/h82n-5LW>Ad"^4HC\ sPJpCZIB-sn64O,Z.roV8ith-QA^]Bm3.?&h=%$0$9I?Ic_s<,LG%PT:o,eNDMmipI;CZ.l1D-=?IXm6]4hp$=7mnVb!tgC=$RoPsO-#ti6Ad:]X`tn]C2>6fN=]Tmh%N&:&"_IX9kT&C(3GK>6/jpGIH&m^Vs7%Fp*O6dNq;WV&gXITmj&u8<6ir1bXKQ*U\a+``8+t/p^4MR1%tJ7l4_%cb9SUB';33F6St%a*RN:j3d.Li3``p))"[EMAIL PROTECTED],DkM"[EMAIL PROTECTED],$&=iB`2DSZ13d9AN/coBMlA]9V(Z<iGH$C:\%kRRV6YQnqXkUemY3/$"W5FrLZQ>^nsrWm`]3PVV(biC5c%tISi2Vbg*VL9T]p5=B5Olg[]Umr_)TsCJo.*;94mnVTV7Ldr2Q5cJHk4Kl"JWjq3+5LCBQ4ert^pU'ek.,HQ;]\scE`_8ViaQNEE?Tjl#'a;`fQ%[$ZmeUdnqLb-YH\="Q)[EMAIL PROTECTED];LOo<(@kA\IhcbY`S02dM]^%aR/o%:_A6`I_E0'8\b_:eB#UX3mQQj'g&sm>h_GV+&0l:@fm\(PgZ9Ft[):hWORP+2kqHa2+H"?erg[Q[7e`SILet6Im\#FlW`m?Jgk1a3`B*]6V8ZiKBfL0p#,[EMAIL PROTECTED]'t0iluIm`&*e2VMX`=>$qt7ke%S>=6T4`->n5QT.D$SK$^fcVrr7.%KD3qD'^pLO41V`U=TU$B/q?fBLj?QS<nNJEg89Y+$e)PPqZM:3jeN6ZXKjQDLkPkt;[EMAIL PROTECTED]@R#,I&c-GTiFj1\hhHdcab:f7636D('HBoFb6OPN)''gs-H5+T\b!.2*/ZWfC)P3l13<$K"p&M988jVU2I)MeG&N[%Fb;\Lct"SlN?=NA`YFj1W&rmn/E;X/9U_)VA9$IMDjF%$Jch_0:e&RA^jsa#':oe<[EMAIL PROTECTED];jd58rHJcLap<o,6jh(pd<CPH/O_Dp;5AmElibXIEC_L8e FQ<Fn%UN5(FsLELHD]-=CY14rni>Z&hcS,i$70FfNh_i`;t!h!k2`2$R"s$fm=1)dA[T'RNeG`8\[q/Ge13#;*(1XM\,dmEB?"'(,Uqd<Ni8tJ_B.Un\'-6"T/8O`X=.G=B]eX(m:k'e]%7s2kV1/&]3Bj%u`^b3&*+m:lR44;mHfKlN>/1JBgcT&],T<[%^/),&7MQ=OTQ`d\I.c&jaSuMP4b4R4!""H.ORe/Y0o/me5Y,NFK-fjeqXQiVrLORJt['^">$5j.D<V7;&fMhO3kL;&Z6g7"q8K*3d$uG'[EMAIL PROTECTED]@`f=rsW9p:`[--k1cPES'9I<<%aK5_*!3[YT'P&[EMAIL PROTECTED]>[EMAIL PROTECTED]<ENFY#LNO:"j<J<Q&3,P^@',=d6*RgH,qMgu!]6kg0~> +Gb!Sm=``=U&:XAWcs,k)(aaLVDiPLoBQH"[EMAIL PROTECTED]<<n(L6jbX-OfkR$P>&12_TZ([EMAIL PROTECTED]:\*]F+kDj,9^^4U%T.Nfe3dGo;!fI]S!4;pY%X_2:W2P\![6]0Bra=!$T#*]g01W#?TVT$_L<_Pif&O]GFUWCE8522m8?8P#+0"@@_*Kr>PMA4E.eXI3>0"3q\DX$Sa,04(B9mm,H>u;b[)DQ`H"'bL)XsFV/$R3>N^YL?2W)`-4+4e)S"6%?&%&[EMAIL PROTECTED],/:X\>[EMAIL PROTECTED];k&:*jfHr>c>*QFR'R;)c)jWnGXuZJAihYOXET><B<@cgEY618_`28Ng2R,ia^'aJ\="KMTX2])=,#b7\[CZ%hA!&[EMAIL PROTECTED]>_l(dmj1rHt7c/[\kmD7jp^c`=9W/*)Y;o!!Ee6eX`lI;CDou_GVQ-b_dc1AX]PQ%#YfOg,4="BH";dZkI[7eggS3bpCasEQjcjdNW+.0(-6<=\?%o-9"%')ud4"Ufr&i,CZ]+[U62:Z0jXO&'[EMAIL PROTECTED])92tu^-SumCU3RuW6;JW,"Bihq-%8iC'<-8DJOp%"[EMAIL PROTECTED]:uArbmaWs%=4$_4rjrY"[EMAIL PROTECTED],X2aNcG42[=taK]SKh'NXMre3Wk9F'qH)O9-WHYLl#gJB]0hqbqH,I%^"FY%d#?`M5/4AY^Zq4!dK-4(3(2,V2hH-UY\a4&5G>:\r'm=9Mb>:!FVPX'i5TVVEh3gSfP7.IjG;pM+#g*d[NN*C_W0+^shVqLI*b,4SpHD)$VW<QTLA<r'@N'cHk'cFdQQje$MoaKik[a+',HtYM+GWHRY>*_F!.MJjN/4IVmP[q3X/L(7LlOq/[EMAIL PROTECTED],3oEg+9rCOcjkH_[0l>4&YfK 7AiRK+E1MhF)[EMAIL PROTECTED]@=g%(`<-&[EMAIL PROTECTED]""OFW*uQAl^O#6j8%&.[1pqKPMG>Td7Q3"/<IQuMM^D#eD$'_X[bXi`b1<SfR]D5#l5F(7Bs[lAm6;XNj7U\q[&2)Abp%jMcd=u$1r!^bAid)B2qX*r7Fr`p<.DtFTp(N""N%k!0k/3Ef9Fc>[EMAIL PROTECTED]"6i?Pb>o5I&_"nf?3)Q'T%th6hM356:?o&!aQL#5D4%"X1E%_[iLLdZMO+t/!l)<j9*%ifu`eahY[V8Wl*SD1K)A*c8$H7NP:1(Uoqi`?PAQh%n%Zq03U`D*hbi3>#O.3Cr>[EMAIL PROTECTED]:L.oKZCk\a$516SknD+_2O/K\gfn90H^aE4:a!/e^n"jH6KKb(!%ehuMX&s&$$U0Cq%pi#(1XP>[EMAIL PROTECTED]>DS$V]0f<9,B/uT)S8aenfu/d(M8sPW&Xb`Qt^r^H^KLe(H\kVM"r&]AYU0'@u$k]=D4P4GMJVi94'<"LOTieUHOKGRjrJ!6>b$jNs\[HW^-S&G[`kOb$rNS1>rao;f+F?Lt*"),IP#<oYVP\.98m[[,O:#QIHqO-NEnrZgM3G7sf=#n51"nlB$S>>8WnPh.Z0+!f&[EMAIL PROTECTED]/?E&de`)"sc-2L47K=C0\d649Agj2A6W&Gn2]NUc(4.a"BaR"%]LOFF,@?J'@8,mU\u^SfqUck5ECg_O3ktE;P[$.Bf9,V&q#U5W^/&"[e/<%8$eIN=XDqLgh*dR/JVhhkp?hq2fT_/p+ALH2VA$=<O:JSpg\l4.B\hiEm+*7H*-\6/G^!g^&/KiQhAq2f9^V+a,+Ft.7Jst$l>33bq(J=[1^+qBb0a6`T5mU5/C]i2Mc5YE_)FU?BY-Fi.EA5*Z!56Jhc%ha*OZ8#a6[p"0(;M,+Q]uR?rS.UQEE%p%&9u1l/D&^qN/ oB+Wooq;@-Sdfp!PHK`RT_.%6d52G*kqVcUON')Hh]iFn_1hhI!l`C1UA>!gdD/i]FPQOfWXU#5>0_(UE/%^nG`b132!1SL/?Cn54A]u<:Qg.:UIO[(eZ<,m)"Q(g0a)fAlVgqtefeDQ(<Gg`.$H'Y^8$'TPpM7,D4]/Rn:[EMAIL PROTECTED]<$%rGHV!>!\SAlE<,aIYm'[EMAIL PROTECTED];gSpgO>*NpaAK`7XlYQ0I!VS?4B`FP7CI!16]m(P20X-E&2=c.qX(Y_*'WK]t[O&ZPfa`=R9?SQHlca_qFJUQC\,0.+f'(ZJXm&Y>!X*d`e<K$?E!8r`*e0?rI+K?3lBrSo,Z+rCDHZA&H;O!ghX[PVHB6IE?bg]3"8q$99)~> endstream endobj 111 0 obj @@ -688,10 +688,10 @@ >> endobj 112 0 obj -<< /Length 2172 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2277 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gb"/(gQJ$q&:N/3kUfPpGEs,$>OpjuY1G+(m)3r8OJH+e7Y2I3=tV>ohl"#A*lNRC43:.<AX<VM1OV93q>eiCMjr8VIR0<)q"ngb)8oY2[LN7WX876UR20ck>@q?T?Mq0T^04e!3_O5)s/e0eUUDu:%p_*%ga!rr^=k/gHbtV,^0P'[EMAIL PROTECTED]>t(rUO!$rSm84bC8t46[S_Zd2&oR;8h_-^[O99,[EMAIL PROTECTED](,A;BEMj2uZ\TO)]qh`d=H/[EMAIL PROTECTED]'pp79G!Gb#r^?he1b^2"7m^9p]oToMETS#cGa,-j=sBtoWnW84Z<VZ.\4Tp5G'[EMAIL PROTECTED]&b]9a33>W&Dr-^m:r&cR&f6Vm-Bu?!bWZK:=U1g9`:/T97Ii-k"T*X,n/YD\HjqA+7#EM.o8=_XSp\T_%SKKli!b[fZ!Nln>HUW_="(YcO4##An<66EI\F8tn8k+l'H%nM,*HMgPH"[EMAIL PROTECTED]@f]6X`rcd$'(C-X#^s:E$>Jr(VHG5+Eon3%DUL;:67%FK8eo2icTU$:p6N_*`#,MH;?-%8LNBW4qu+<$!`8TTacV'YE;@5QjT!30*DUi\'_I"(iusf'tt]oQ&=q-js5ZUp6c=WT&Z^;ZdB8iCeC3M-Lc*nVlDr`Cuk+%g-/SA>NM![9T!'k%rtc#S/q[.O#+lr?!mJ$gIpAZNL,G5b2$5m?09''fk<^^gQQCbq1$G59G<9qe7G-F]:LkUfr-qt!Mu+6bsb\m(Pf*e7W*u-+!#hQp5/E/S4]=AQacFkUX,Z"7iq+g+*WNhcKO;[6^[%c0afK.5Up`+(l&"mM=9H:*XW`n`Be0aG]F->G7FlE=t%)5bcFaaEL.?6$VDSYZEDY*3HpBLX`k[u_$[<HFMo16)56=Bc-&cuN..JR/!*n&\eFnUKuj!4Lc=jciC8t1'[EMAIL PROTECTED]"6_/#u%!#&k2MdWg)^u"9:33[W5a"cIoA]S.``D]<:d&rnc/ r([EMAIL PROTECTED];?go9MW4FU6[`7Q)DGTG17`p\([.0(`_(>d>=D+pF8!CNnd0m:'[EMAIL PROTECTED](ZSNHYS3AZ^0k1M0A3`c,,ihSjR-=Tg#\U)"ZRZR$=O'%LHhYk+79kn[?9eE.c$`[BRc:/F1B+ecK-l(065oq)kf&e?:tdMbhP9Gaq[V*o1?&t0CSS<XB#R[TV([EMAIL PROTECTED]";G>]*&K5uL<[EMAIL PROTECTED]<XqVO`4TT>2$O7AHp1at9>E*n=l&h-%RqUABRT9N:[EMAIL PROTECTED]:13Z5/YZb4(:Jld7aRDd6r\`W65W^rhYk&[EMAIL PROTECTED],;'),<.(%D36lTbZnE]!b2Pr[X#%h<5eWN.`:`0$#W,s`GRdZclQ%2-`t^]P9g+Kh2R.uu1h8Or`%bG)Aku(Mr!d`J9`aHjkU.[3Ri!YDQ#5.%nt:.9K^,g06$[%,%n'iplTT/e4$QJ3IK%/`X?jA-mk!ak#<BL(Fd9q.,$q$<4j"BH3155JH?Umd6DUpB7_"[:=*?GBT5(ghq$;HT?^YH'm;em>EFU"D(rD,S&BX^]I/'MpVSY3QZ;Fdh^s?Te#uQ-"J_Or.k;2Q2(q8Hd=$?<C$8km$;EMA_e?&5be'1i%e&e'Pbm5Z]<6V@@AlVXtAuAB)VGm'XY*$n?C/`,HijeDRRt:b93SK^c"u/8!Y>(dc47cWtTL:LSi7;%>b2B;[YY."jU8D3MrsR:*-.MOBf;[EMAIL PROTECTED]<#tb/-0<afI0rbeBf*<VHAeKW3tIq8/@W-F#V<0+t/.0_eQ=9?k"F1ll18T]AQ@"$.(.gGtse_&L5H4QPETgUdl72WD(MNU!F&g-Xf^kW26*I_op4N34RQHFd9K1M$COBNGP_G#cl"pGQ[J<Z!/[EMAIL PROTECTED]@>/[EMAIL PROTECTED]&VpUcFf0X]U)akKct^(d ,;3*uHC2k><.n>_F7j^Voq*O\8!iIGNRa1=RpGSo_8DQ)$XNu$dar*+K;\5)AL4+AcFdhkG<<arW=ndD]_TS!%/^XTQFB3S"FU^CmE\%e%%a"6(:2&/)ND#ii:m8qLcS:9#>W`_I=qZ1$<Q^d!]^&`/Tgr_A]rT!*Xc'nJcMu)c[XeAUu#8*+_H%,k'kV.\~> +Gb"/(gN)%,&:O:Sn?'fkKb31UIEKNhPK>XqUU1PK-NfKm`0ql`?EEqj]=]dFK!Lk0G!,I0ZiDZ&Sis[n]incJXY9)pW3M!4[hjTe9Z)!YphMtao?+=3i_jCL_Ur,kEq/G]"P4n_qXf\]f:WQOZ//[EMAIL PROTECTED](i`:)=<EJdSpcbj&T8<PgfUgnWFrD[<JV`h)h/akpTT`8/CZ=>4YY0heTKGi[)AP+;J+taDn-_j7p_.,NJQ'>36\FF*8o.S4>4a;glB],hY?6nRrM8XH(:R2Tfa<>)I9'XdV'W=ATq`$/1VidJ&n>[EMAIL PROTECTED];N-R'8l^Wa>,0)[EMAIL PROTECTED],-<([EMAIL PROTECTED]/r?X&fL7<[o\qr7>Wt'$3aNq4siDLTpbX;WR)4%1CF;+$0u"[EMAIL PROTECTED]'ZZb-/-obWI1OTl=9O2qOg<5;ZNa!NL>cu5Z7S(]kbOpZK>m8'QI`UN1"-g,[EMAIL PROTECTED]""Zu=bYK+#)Cg$a9Pq<]JOOK<VPQ!hKcic]T^A!No8'LfiZoWj^KG^(<::>AJHa?66+&4>%$mJ%Hj+>Af22XrJ3fXk5BYgopg,`q!:&eRkF]pC],I[4Z(\"YDgB"[EMAIL PROTECTED](i&$KgL'K:j8L);a&(Ucc'0)k?(]l(tN_g5J4,HY`:6*`2/2+2$p2;4QW\Tqo%_pE^)\n[f'fI4$\L9N?fi=MEQCGA[k6rHms0sFUGr0//ft?F#jD;pb/.tf27,E'"h4U`De.u75@:FNcD0-,mI;)KlSg^'[EMAIL PROTECTED]&Er5m)/OO09W)uXn0\\*"PJo?b#"SSIZ4X2'pa_f[7AVJ:[EMAIL PROTECTED]('/+DCM.F^3^.7PS*(6d`pEJ.,l6IP40H(pd3>X2=iK"(EWQ6_M4"8%5jg*HS*#(N-O$M/>6%:5coFRq#4VM]InIEFM:dSC:OePIj6?aJ]YY[/>"[EMAIL PROTECTED]@QuH`:5 ][1XoTFkA+h6(P4rZR(>8c5sn=En\8_?X"A!?ZnFoSBZu#it:/TqRl%Xo&<[EMAIL PROTECTED]<?;kIn3`"22up":C++-ZP;b9_>[EMAIL PROTECTED](\seNO+YK4ZJ14M?Kf4Z%ZTu(NE(nuC2J:92N`h&.LJgOECA`0'c9mknqA]/@'='r<.hQb':.D=r8rG1N(3>[340M(s!?^Za+qnCtNMd+B!s41k4UB4KLmhXC#!<&E:_#aQm'_X::SbcNk&bLq-(Kreb;Z-+GPe<I&:P^ir/:OG.uXsC(&p0S23DHqN%gapO[YgK;H9;0VO[r0c*s5r,U=_W6Dp-qQrgU#C#i;]Fuh,EEU<mMZXSkrWj0jHKX&h65N-=u2pdJj1Yhsl=5QDJiBoGU`nB,[M+r\OEDY/1Y1i+F.s+-4Y[TfF*TI:A;[.d;,,XfUqQY&O&Pl&;,[EMAIL PROTECTED]&i&iCLV#Y)IH?6LBUHieGLs"p?EBQ6dpU(:'k'!B.%Bm3#!BSpT688lQ3Z2s/>i:8a3WZs)fM)ejC;8#B?>:cC-8_81AbL0lf_dZd_$NpJ#FYA[D4H:c$m\aV98cbVdLH7ah\XlftXpit&Gu<Q<_'[EMAIL PROTECTED]&W7!U_$C9H,cLUYb/k?HH)UhTU(K&;Kn/A)$<&!dtFZk0aQ2'&`Pg5hP]GQc,4$/BNZ)W4Jl:@)FVB$'spD&[EMAIL PROTECTED];5RpaN%?]MNNuOHhbZhiPTQ4.D&1$+N%7:rD)]Z"6":mJck)mIH0)FC6rBBh,AaC_O&OKn^X0rg`)bJQcT2FfIN%OF_Aso]*CB$W<[bf+oEQ)B4+RS[SQtrdOB2o$+"oLp*B<'9OXlh.Kj>jD.;ga^-:p0/pEH#4f:I0^*>FI+b!l^5&[EMAIL PROTECTED]/i=8-"&:iQ(tlLL7SPcFlOF>6e5FCe0j1P1<A4b&ejK=[8UqW\d9\l>9X[,pj'CK'LS')9 2LldM)qe.%3IYk+^UIVR.';[EMAIL PROTECTED])"[EMAIL PROTECTED]:B90;@f-h=a0<h?>b!/pr[0fZ]D(@HmAJI).%_?=pZ*R]WL0a\]M%iLhnMJei,`4VkLG<C.`Dk9%0c!%NHAQ1BJtr^!=Pl]_r=UfSqV-aL]?,^A<MhGp!.J(SK8t8DlO`%rob'];F18HcY7'^&cKZi<<OKF<!$aoYsap?e`E?N/)ZU=`2DmGQ$")\X$56nUW[U[$E0.T\6qBA*EXWHP)AP]RKoY]*[a~> endstream endobj 113 0 obj @@ -703,10 +703,10 @@ >> endobj 114 0 obj -<< /Length 620 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 958 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gat$tbAQ&g&A7<ZGcLpG$qZSUFDTYXD(fa&p!a0H'iC#Y+rrfZq!Ukh9Zg*3'[EMAIL PROTECTED]>0IY.dj2D9J&;HnSVJLYS.>&dW,tP^Rn*5Bu?XCbQ'D"SSHYC!DbQe6/[EMAIL PROTECTED]<@>H=&)Xr)4FL"[EMAIL PROTECTED])iumgjlL_g5/k_bCPq)]$<!q3f\,^^qq.>H9Oa&/]U'O4m;Kt<ac]6>h;Zbum3W4^Ep'1OP1^tR5q7l&.^aG?<h*DPeA6Q\4/M*\"Us_V->$S%3[uKT%XkpfZf8,%_cU'X.]sdC#gSQX#"cJAcJ2/,b=N`'p^J%7$'2Nu]&1":e8Qg30`e.)'UiPLQK2P4g??G![hr9*4k!#L$J#1Q$YO=-]i2S.mo?_FC#rdQ:-<K`:F,i$31dX3V\l-s/)$(>FB04+Q!&9>n5$p^TomS1E*6()d@/!rDi$Z(D30o#]ChsG;6^>cim?G[H>Z3G;[EMAIL PROTECTED]/QlnV[Lh'LmJ<mtW=PVA0CWGo/,9L(WC/\VXo,`ZYEr2-TOoohk/gD,lhL;Y"gA9Z.dVL`jVf8nQgjn6msk>l7O`rNg1.b-`9i2PgU=fBV(AWH[N5Bmb;k)77]f"!!CKY5~> +Gat%"a_oie&[EMAIL PROTECTED]<BN_,[EMAIL PROTECTED],Uuu\qX7'ok")qN)MSY0WStL8Ho'jNC2p^d4>)Gte^(irL_7'XcdVoY2=EFH"F4#kXS(T=iqDBXYO@<:*'LWc(V'[EMAIL PROTECTED]"O6'[EMAIL PROTECTED];#5C\:OdZ%LN`5]G(sGe!LXq^XRI,n<]/YnIS/[EMAIL PROTECTED]/?eb-F1c?s)-fH*:3;=GqslCAf9M1LOIY-(_9_1[SX5/J$#mWB\D&F7W`*KJB'C;?Kk:POE*>UK#_$:(R\*aMUc<e]U'Q(X^&Nk64XM,mk;jAi"s;?0-3_beQr9(aDtA.-FWn?m_!FaMB?MW_NP>[EMAIL PROTECTED];k+1S'&G_YacGdjBW;<<uUSJTSRI+WGZ4mt4?H,Q!`%Jr!I"V`p/%B4^X<hUlCj76LO`7)<>\mq%"k]C=rdRB%Oq<>`([EMAIL PROTECTED]/1M_f'E:&NLFjV+S63c2`M#*pW)@2B(pM99oXS12IAoYiQd;pQ)B_tn1fC;DU;gP>X-92RM_d&7I\pQX>[QPjOjcSq^D5f%]m(T#-!:\/sje<o]omdU>)ZraXi,*fhC7D9MP&[EMAIL PROTECTED]@j.o3RHS<c`5H*=Mca^Or0HM,h=h("S!b#du2Z'8n&i!X^O)%E#YC.FT>MUVe[aEA_H(4Q&J(QZ_tW!Y&+[q2<<4.B(VTgHp'/h$"c;2%V2HbFF;T[9GimP<e0Cr`dHbiie1U-pH2?R4V>)^6Jljcjl^Gj^(j"[EMAIL PROTECTED]'[EMAIL PROTECTED];Gc"b)O$$f?h=.)uMU&_u8U:uM,5JNF<L%##b/!ig;fh-+_r^+\Pjf8A!p7&*D6&S!g<qo7pU;[EMAIL PROTECTED];=PnUA=36!F-B6N~> endstream endobj 115 0 obj @@ -1130,43 +1130,43 @@ 49 0 obj << /S /GoTo -/D [109 0 R /XYZ 85.0 155.0 null] +/D [111 0 R /XYZ 85.0 627.5 null] >> endobj 51 0 obj << /S /GoTo -/D [111 0 R /XYZ 85.0 341.9 null] +/D [111 0 R /XYZ 85.0 280.347 null] >> endobj 53 0 obj << /S /GoTo -/D [111 0 R /XYZ 85.0 216.647 null] +/D [111 0 R /XYZ 85.0 155.094 null] >> endobj 55 0 obj << /S /GoTo -/D [113 0 R /XYZ 85.0 659.0 null] +/D [113 0 R /XYZ 85.0 598.2 null] >> endobj 60 0 obj << /S /GoTo -/D [113 0 R /XYZ 85.0 533.747 null] +/D [113 0 R /XYZ 85.0 472.947 null] >> endobj 62 0 obj << /S /GoTo -/D [113 0 R /XYZ 85.0 456.094 null] +/D [113 0 R /XYZ 85.0 395.294 null] >> endobj 64 0 obj << /S /GoTo -/D [113 0 R /XYZ 85.0 266.841 null] +/D [113 0 R /XYZ 85.0 206.041 null] >> endobj 89 0 obj @@ -1189,157 +1189,157 @@ xref 0 152 0000000000 65535 f -0000066235 00000 n -0000066455 00000 n -0000066548 00000 n +0000066561 00000 n +0000066781 00000 n +0000066874 00000 n 0000000015 00000 n 0000000071 00000 n -0000001718 00000 n -0000001838 00000 n -0000002024 00000 n -0000066712 00000 n -0000002159 00000 n -0000066775 00000 n -0000002296 00000 n -0000066841 00000 n -0000002433 00000 n -0000066907 00000 n -0000002570 00000 n -0000066972 00000 n -0000002707 00000 n -0000067037 00000 n -0000002843 00000 n -0000067103 00000 n -0000002979 00000 n -0000067169 00000 n -0000003115 00000 n -0000067234 00000 n -0000003252 00000 n -0000067299 00000 n -0000003387 00000 n +0000001711 00000 n +0000001831 00000 n +0000002017 00000 n +0000067038 00000 n +0000002152 00000 n +0000067101 00000 n +0000002289 00000 n +0000067167 00000 n +0000002426 00000 n +0000067233 00000 n +0000002563 00000 n +0000067298 00000 n +0000002700 00000 n 0000067363 00000 n -0000003524 00000 n +0000002836 00000 n 0000067429 00000 n -0000003661 00000 n -0000067493 00000 n -0000003796 00000 n -0000067559 00000 n -0000003933 00000 n -0000067623 00000 n -0000004068 00000 n -0000067687 00000 n -0000004205 00000 n -0000067751 00000 n -0000004342 00000 n -0000067815 00000 n -0000004478 00000 n -0000067881 00000 n -0000004615 00000 n -0000067945 00000 n -0000004751 00000 n -0000068011 00000 n -0000004887 00000 n -0000068076 00000 n -0000005024 00000 n +0000002972 00000 n +0000067495 00000 n +0000003108 00000 n +0000067560 00000 n +0000003245 00000 n +0000067625 00000 n +0000003380 00000 n +0000067689 00000 n +0000003517 00000 n +0000067755 00000 n +0000003654 00000 n +0000067819 00000 n +0000003789 00000 n +0000067885 00000 n +0000003926 00000 n +0000067949 00000 n +0000004061 00000 n +0000068013 00000 n +0000004198 00000 n +0000068077 00000 n +0000004335 00000 n 0000068141 00000 n -0000005160 00000 n -0000068208 00000 n -0000005295 00000 n -0000005898 00000 n -0000006021 00000 n -0000006062 00000 n -0000068273 00000 n -0000006195 00000 n -0000068340 00000 n -0000006328 00000 n -0000068407 00000 n -0000006461 00000 n -0000009091 00000 n -0000009199 00000 n -0000011644 00000 n -0000011752 00000 n -0000013980 00000 n -0000014088 00000 n -0000016499 00000 n -0000016607 00000 n -0000019085 00000 n -0000019193 00000 n -0000021582 00000 n -0000021690 00000 n -0000024001 00000 n -0000024109 00000 n -0000026775 00000 n -0000026883 00000 n -0000029581 00000 n -0000029689 00000 n -0000031697 00000 n -0000031805 00000 n -0000034308 00000 n -0000034431 00000 n -0000034465 00000 n -0000068474 00000 n -0000034600 00000 n -0000034771 00000 n -0000037229 00000 n -0000037352 00000 n -0000037379 00000 n -0000068540 00000 n -0000037514 00000 n -0000039438 00000 n -0000039546 00000 n -0000042415 00000 n -0000042523 00000 n -0000044523 00000 n -0000044633 00000 n -0000046615 00000 n -0000046725 00000 n -0000048790 00000 n -0000048916 00000 n -0000048945 00000 n -0000049139 00000 n -0000051365 00000 n -0000051475 00000 n -0000053975 00000 n -0000054085 00000 n -0000056351 00000 n -0000056461 00000 n -0000057174 00000 n -0000068604 00000 n -0000057284 00000 n -0000057450 00000 n -0000057749 00000 n -0000057977 00000 n -0000058270 00000 n -0000058494 00000 n -0000058841 00000 n -0000059172 00000 n -0000059421 00000 n -0000059718 00000 n -0000059967 00000 n -0000060287 00000 n -0000060607 00000 n -0000060940 00000 n -0000061259 00000 n -0000061455 00000 n -0000061701 00000 n -0000061929 00000 n -0000062193 00000 n -0000062484 00000 n -0000062872 00000 n -0000063338 00000 n -0000063598 00000 n -0000064085 00000 n -0000064496 00000 n -0000064843 00000 n -0000065105 00000 n -0000065339 00000 n -0000065453 00000 n -0000065564 00000 n -0000065680 00000 n -0000065792 00000 n -0000065901 00000 n -0000066008 00000 n -0000066125 00000 n +0000004471 00000 n +0000068207 00000 n +0000004608 00000 n +0000068271 00000 n +0000004744 00000 n +0000068337 00000 n +0000004880 00000 n +0000068402 00000 n +0000005017 00000 n +0000068469 00000 n +0000005153 00000 n +0000068536 00000 n +0000005288 00000 n +0000005891 00000 n +0000006014 00000 n +0000006055 00000 n +0000068601 00000 n +0000006188 00000 n +0000068668 00000 n +0000006321 00000 n +0000068735 00000 n +0000006454 00000 n +0000009084 00000 n +0000009192 00000 n +0000011637 00000 n +0000011745 00000 n +0000013973 00000 n +0000014081 00000 n +0000016492 00000 n +0000016600 00000 n +0000019078 00000 n +0000019186 00000 n +0000021575 00000 n +0000021683 00000 n +0000023994 00000 n +0000024102 00000 n +0000026768 00000 n +0000026876 00000 n +0000029574 00000 n +0000029682 00000 n +0000031690 00000 n +0000031798 00000 n +0000034301 00000 n +0000034424 00000 n +0000034458 00000 n +0000068802 00000 n +0000034593 00000 n +0000034764 00000 n +0000037222 00000 n +0000037345 00000 n +0000037372 00000 n +0000068868 00000 n +0000037507 00000 n +0000039431 00000 n +0000039539 00000 n +0000042408 00000 n +0000042516 00000 n +0000044492 00000 n +0000044602 00000 n +0000046571 00000 n +0000046681 00000 n +0000048788 00000 n +0000048914 00000 n +0000048943 00000 n +0000049135 00000 n +0000051284 00000 n +0000051394 00000 n +0000053858 00000 n +0000053968 00000 n +0000056339 00000 n +0000056449 00000 n +0000057500 00000 n +0000068932 00000 n +0000057610 00000 n +0000057776 00000 n +0000058075 00000 n +0000058303 00000 n +0000058596 00000 n +0000058820 00000 n +0000059167 00000 n +0000059498 00000 n +0000059747 00000 n +0000060044 00000 n +0000060293 00000 n +0000060613 00000 n +0000060933 00000 n +0000061266 00000 n +0000061585 00000 n +0000061781 00000 n +0000062027 00000 n +0000062255 00000 n +0000062519 00000 n +0000062810 00000 n +0000063198 00000 n +0000063664 00000 n +0000063924 00000 n +0000064411 00000 n +0000064822 00000 n +0000065169 00000 n +0000065431 00000 n +0000065665 00000 n +0000065779 00000 n +0000065890 00000 n +0000066006 00000 n +0000066118 00000 n +0000066227 00000 n +0000066334 00000 n +0000066451 00000 n trailer << /Size 152 @@ -1347,5 +1347,5 @@ /Info 4 0 R >> startxref -68658 +68986 %%EOF
Modified: hadoop/core/branches/branch-0.18/src/contrib/hod/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/contrib/hod/CHANGES.txt?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/contrib/hod/CHANGES.txt (original) +++ hadoop/core/branches/branch-0.18/src/contrib/hod/CHANGES.txt Fri Sep 12 08:07:04 2008 @@ -7,6 +7,11 @@ HADOOP-4060. Modified HOD to rotate log files on the client side. (Vinod Kumar Vavilapalli via yhemanth) + IMPROVEMENTS + + HADOOP-4145. Add an accounting plugin (script) for HOD. + (Hemanth Yamijala via nigel) + BUG FIXES HADOOP-4161. Fixed bug in HOD cleanup that had the potential to Modified: hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hadoop.py URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hadoop.py?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hadoop.py (original) +++ hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hadoop.py Fri Sep 12 08:07:04 2008 @@ -451,8 +451,43 @@ raise Exception("Invalid state: Node pool is not initialized to delete the given job.") return ret + def is_valid_account(self): + """Verify if the account being used to submit the job is a valid account. + This code looks for a file <install-dir>/bin/verify-account. + If the file is present, it executes the file, passing as argument + the account name. It returns the exit code and output from the + script on non-zero exit code.""" + + accountValidationScript = os.path.abspath('./verify-account') + if not os.path.exists(accountValidationScript): + return (0, None) + + account = self.__nodePool.getAccountString() + exitCode = 0 + errMsg = None + try: + accountValidationCmd = simpleCommand('Account Validation Command',\ + '%s %s' % (accountValidationScript, + account)) + accountValidationCmd.start() + accountValidationCmd.wait() + accountValidationCmd.join() + exitCode = accountValidationCmd.exit_code() + self.__log.debug('account validation script is run %d' \ + % exitCode) + errMsg = None + if exitCode is not 0: + errMsg = accountValidationCmd.output() + except Exception, e: + exitCode = 0 + self.__log.warn('Error executing account script: %s ' \ + 'Accounting is disabled.' \ + % get_exception_error_string()) + self.__log.debug(get_exception_string()) + return (exitCode, errMsg) + def allocate(self, clusterDir, min, max=None): - status = 0 + status = 0 self.__svcrgyClient = self.__get_svcrgy_client() self.__log.debug("allocate %s %s %s" % (clusterDir, min, max)) Modified: hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hod.py URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hod.py?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hod.py (original) +++ hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/hod.py Fri Sep 12 08:07:04 2008 @@ -252,7 +252,6 @@ self.__cfg['ringmaster']['max-master-failures'] = \ min(maxFailures, maxFailedNodes) - def _op_allocate(self, args): operation = "allocate" argLength = len(args) @@ -313,6 +312,21 @@ return self.__setup_cluster_logger(clusterDir) + + (status, message) = self.__cluster.is_valid_account() + if status is not 0: + if message: + for line in message: + self.__log.critical("verify-account output: %s" % line) + self.__log.critical("Cluster cannot be allocated because account verification failed. " \ + + "verify-account returned exit code: %s." % status) + self.__opCode = 4 + return + else: + self.__log.debug("verify-account returned zero exit code.") + if message: + self.__log.debug("verify-account output: %s" % message) + if re.match('\d+-\d+', nodes): (min, max) = nodes.split("-") min = int(min) Modified: hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/nodePool.py URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/nodePool.py?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/nodePool.py (original) +++ hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/Hod/nodePool.py Fri Sep 12 08:07:04 2008 @@ -116,6 +116,10 @@ """Update information about the workers started by this NodePool.""" raise NotImplementedError + def getAccountString(self): + """Return the account string for this job""" + raise NotImplementedError + def getNextNodeSetId(self): id = self.nextNodeSetId self.nextNodeSetId += 1 Modified: hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/NodePools/torque.py URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/NodePools/torque.py?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/NodePools/torque.py (original) +++ hadoop/core/branches/branch-0.18/src/contrib/hod/hodlib/NodePools/torque.py Fri Sep 12 08:07:04 2008 @@ -51,6 +51,12 @@ self.__torque = torqueInterface( self._cfg['resource_manager']['batch-home'], environ, self._log) + def getAccountString(self): + account = '' + if self._cfg['resource_manager'].has_key('pbs-account'): + account = self._cfg['resource_manager']['pbs-account'] + return account + def __gen_submit_params(self, nodeSet, walltime = None, qosLevel = None, account = None): argList = [] Modified: hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml (original) +++ hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml Fri Sep 12 08:07:04 2008 @@ -351,6 +351,37 @@ it is better not to run this inside a tight loop without sleeping.</p> </section> </section> + + <section> + <title>verify-account - Script to verify an account under which + jobs are submitted</title> + <p>Production systems use accounting packages to charge users for using + shared compute resources. HOD supports a parameter + <em>resource_manager.pbs-account</em> to allow users to identify the + account under which they would like to submit jobs. It may be necessary + to verify that this account is a valid one configured in an accounting + system. The <em>hod-install-dir/bin/verify-account</em> script + provides a mechanism to plug-in a custom script that can do this + verification.</p> + + <section> + <title>Integrating the verify-account script with HOD</title> + <p>HOD runs the <em>verify-account</em> script passing in the + <em>resource_manager.pbs-account</em> value as argument to the script, + before allocating a cluster. Sites can write a script that verify this + account against their accounting systems. Returning a non-zero exit + code from this script will cause HOD to fail allocation. Also, in + case of an error, HOD will print the output of script to the user. + Any descriptive error message can be passed to the user from the + script in this manner.</p> + <p>The default script that comes with the HOD installation does not + do any validation, and returns a zero exit code.</p> + <p>If the verify-account script is not found, then HOD will treat + that verification is disabled, and continue allocation as is.</p> + </section> + </section> + </section> + </body> </document> Modified: hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_user_guide.xml URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_user_guide.xml?rev=694707&r1=694706&r2=694707&view=diff ============================================================================== --- hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_user_guide.xml (original) +++ hadoop/core/branches/branch-0.18/src/docs/src/documentation/content/xdocs/hod_user_guide.xml Fri Sep 12 08:07:04 2008 @@ -412,7 +412,8 @@ <td> 5 </td> <td> Job execution failure </td> <td> 1. Torque Job was deleted from outside. Execute the Torque <code>qstat</code> command to see if you have any jobs in the <code>R</code> (Running) state. If none exist, try re-executing HOD. <br /> - 2. Torque problems such as the server momentarily going down, or becoming unresponsive. Contact system administrator. </td> + 2. Torque problems such as the server momentarily going down, or becoming unresponsive. Contact system administrator. <br/> + 3. The system administrator might have configured account verification, and an invalid account is specified. Contact system administrator.</td> </tr> <tr> <td> 6 </td>
