You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by dd...@apache.org on 2008/06/20 15:53:46 UTC

svn commit: r669897 - in /hadoop/core/trunk: CHANGES.txt docs/changes.html docs/streaming.html docs/streaming.pdf src/docs/src/documentation/content/xdocs/streaming.xml

Author: ddas
Date: Fri Jun 20 06:53:45 2008
New Revision: 669897

URL: http://svn.apache.org/viewvc?rev=669897&view=rev
Log:
HADOOP-3606. Updates the Streaming doc. Contributed by Amareshwari Sriramadasu.

Modified:
    hadoop/core/trunk/CHANGES.txt
    hadoop/core/trunk/docs/changes.html
    hadoop/core/trunk/docs/streaming.html
    hadoop/core/trunk/docs/streaming.pdf
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml

Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=669897&r1=669896&r2=669897&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Fri Jun 20 06:53:45 2008
@@ -315,6 +315,8 @@
     HADOOP-3547. Documents the way in which native libraries can be distributed
     via the DistributedCache. (Amareshwari Sriramadasu via ddas)
 
+    HADOOP-3606. Updates the Streaming doc. (Amareshwari Sriramadasu via ddas) 
+
   OPTIMIZATIONS
 
     HADOOP-3274. The default constructor of BytesWritable creates empty 

Modified: hadoop/core/trunk/docs/changes.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/changes.html?rev=669897&r1=669896&r2=669897&view=diff
==============================================================================
--- hadoop/core/trunk/docs/changes.html (original)
+++ hadoop/core/trunk/docs/changes.html Fri Jun 20 06:53:45 2008
@@ -209,7 +209,7 @@
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.18.0_-_unreleased_._improvements_')">  IMPROVEMENTS
-</a>&nbsp;&nbsp;&nbsp;(42)
+</a>&nbsp;&nbsp;&nbsp;(43)
     <ol id="release_0.18.0_-_unreleased_._improvements_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-2928">HADOOP-2928</a>. Remove deprecated FileSystem.getContentLength().<br />(Lohit Vjayarenu via rangadi)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3130">HADOOP-3130</a>. Make the connect timeout smaller for getFile.<br />(Amar Ramesh Kamat via ddas)</li>
@@ -297,6 +297,7 @@
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3593">HADOOP-3593</a>. Updates the mapred tutorial.<br />(ddas)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3547">HADOOP-3547</a>. Documents the way in which native libraries can be distributed
 via the DistributedCache.<br />(Amareshwari Sriramadasu via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-3606">HADOOP-3606</a>. Updates the Streaming doc.<br />(Amareshwari Sriramadasu via ddas)</li>
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.18.0_-_unreleased_._optimizations_')">  OPTIMIZATIONS

Modified: hadoop/core/trunk/docs/streaming.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/streaming.html?rev=669897&r1=669896&r2=669897&view=diff
==============================================================================
--- hadoop/core/trunk/docs/streaming.html (original)
+++ hadoop/core/trunk/docs/streaming.html Fri Jun 20 06:53:45 2008
@@ -269,6 +269,12 @@
 <li>
 <a href="#How+do+I+parse+XML+documents+using+streaming%3F">How do I parse XML documents using streaming? </a>
 </li>
+<li>
+<a href="#How+do+I+update+counters+in+streaming+applications%3F">How do I update counters in streaming applications? </a>
+</li>
+<li>
+<a href="#How+do+I+update+status+in+streaming+applications%3F">How do I update status in streaming applications? </a>
+</li>
 </ul>
 </li>
 </ul>
@@ -471,7 +477,8 @@
 The -jobconf mapred.reduce.tasks=2 in the above example specifies to use two reducers for the job.
 </p>
 <p>
-For more details on the jobconf parameters see: <a href="http://wiki.apache.org/hadoop/JobConfFile">http://wiki.apache.org/hadoop/JobConfFile</a>
+For more details on the jobconf parameters see:
+<a href="http://hadoop.apache.org/core/docs/current/hadoop-default.html">hadoop-default.html</a>
 </p>
 <a name="N100D6"></a><a name="Other+Supported+Options"></a>
 <h3 class="h4">Other Supported Options </h3>
@@ -543,8 +550,8 @@
    -jobconf mapred.temp.dir=/tmp/temp
 </pre>
 <p>
-For more details on jobconf parameters see: <a href="http://wiki.apache.org/hadoop/JobConfFile">http://wiki.apache.org/hadoop/JobConfFile</a>
-
+For more details on jobconf parameters see:
+<a href="http://hadoop.apache.org/core/docs/current/hadoop-default.html">hadoop-default.html</a>
 </p>
 <p>
 To set an environment variable in a streaming command use:
@@ -644,7 +651,15 @@
 <a name="N101E0"></a><a name="Working+with+the+Hadoop+Aggregate+Package+%28the+-reduce+aggregate+option%29"></a>
 <h3 class="h4">Working with the Hadoop Aggregate Package (the -reduce aggregate option) </h3>
 <p>
-Hadoop has a library package called "Aggregate" (<a href="https://svn.apache.org/repos/asf/hadoop/core/trunk/src/java/org/apache/hadoop/mapred/lib/aggregate">https://svn.apache.org/repos/asf/hadoop/core/trunk/src/java/org/apache/hadoop/mapred/lib/aggregate</a>).  Aggregate provides a special reducer class and a special combiner class, and a list of simple aggregators that perform aggregations such as "sum", "max", "min" and so on  over a sequence of values. Aggregate allows you to define a mapper plugin class that is expected to generate "aggregatable items" for each input key/value pair of the mappers. The combiner/reducer will aggregate those aggregatable items by invoking the appropriate aggregators.
+Hadoop has a library package called "Aggregate" (
+<a href="https://svn.apache.org/repos/asf/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/lib/aggregate">
+https://svn.apache.org/repos/asf/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/lib/aggregate</a>).
+Aggregate provides a special reducer class and a special combiner class, and
+a list of simple aggregators that perform aggregations such as "sum", "max",
+"min" and so on  over a sequence of values. Aggregate allows you to define a
+mapper plugin class that is expected to generate "aggregatable items" for each
+input key/value pair of the mappers. The combiner/reducer will aggregate those
+aggregatable items by invoking the appropriate aggregators.
 </p>
 <p>
 To use Aggregate, simply specify "-reducer aggregate":
@@ -739,8 +754,8 @@
    
 <li>Add these commands to your main function:
 <pre class="code">
-       OutputFormatBase.setCompressOutput(conf, true);
-       OutputFormatBase.setOutputCompressorClass(conf, org.apache.hadoop.io.compress.GzipCodec.class);
+       FileOutputFormat.setCompressOutput(conf, true);
+       FileOutputFormat.setOutputCompressorClass(conf, org.apache.hadoop.io.compress.GzipCodec.class);
        conf.setOutputFormat(NonSplitableTextInputFormat.class);
        conf.setNumReduceTasks(0);
 </pre>
@@ -766,7 +781,7 @@
 <a name="N1024A"></a><a name="How+many+reducers+should+I+use%3F"></a>
 <h3 class="h4">How many reducers should I use? </h3>
 <p>
-See the Hadoop Wiki for details: <a href="http://wiki.apache.org/hadoop/HowManyMapsAndReduces">http://wiki.apache.org/hadoop/HowManyMapsAndReduces</a>
+See the Hadoop Wiki for details: <a href="mapred_tutorial.html#Reducer">Reducer</a>
 
 </p>
 <a name="N10258"></a><a name="If+I+set+up+an+alias+in+my+shell+script%2C+will+that+work+after+-mapper%2C+i.e.+say+I+do%3A+alias+c1%3D%27cut+-f1%27.+Will+-mapper+%22c1%22+work%3F"></a>
@@ -838,6 +853,20 @@
 <p>
 Anything found between BEGIN_STRING and END_STRING would be treated as one record for map tasks.
 </p>
+<a name="N102B3"></a><a name="How+do+I+update+counters+in+streaming+applications%3F"></a>
+<h3 class="h4">How do I update counters in streaming applications? </h3>
+<p>
+A streaming process can use the stderr to emit counter information.
+<span class="codefrag">reporter:counter:&lt;group&gt;,&lt;counter&gt;,&lt;amount&gt;</span> 
+should be sent to stderr to update the counter.
+</p>
+<a name="N102C0"></a><a name="How+do+I+update+status+in+streaming+applications%3F"></a>
+<h3 class="h4">How do I update status in streaming applications? </h3>
+<p>
+A streaming process can use the stderr to emit status information.
+To set a status, <span class="codefrag">reporter:status:&lt;message&gt;</span> should be sent 
+to stderr.
+</p>
 </div>
 
 </div>

Modified: hadoop/core/trunk/docs/streaming.pdf
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/streaming.pdf?rev=669897&r1=669896&r2=669897&view=diff
==============================================================================
--- hadoop/core/trunk/docs/streaming.pdf (original)
+++ hadoop/core/trunk/docs/streaming.pdf Fri Jun 20 06:53:45 2008
@@ -267,10 +267,10 @@
 >>
 endobj
 50 0 obj
-<< /Length 705 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 793 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatUq;3-qq&BE]('[8f.-!mc,Pa3]W))#aSBT>IoomnZJD6cthjYl;"\%llB]:QL!.kgisREj$;$$2;#f=)_sL'c#'LnHf'M"lb"/G6H9;k0!RjUM(#EZ8eKH?4qG(ao=0)cRAMQ/2RV3i>^L+rK0jD67%S7G(po1-tP<Ym0r><<\md)tp,>f5#L@%*Da`ER8&O"`Q'<UH+V%AJ"WYq'/'Y>1**XrC$JY)&o!K*KX,B7qQb"P68-*$g>B$**A0qZ,9eP4.C$CWO8lMJtX'j:3R8aDS#obXfYbgA$tTo.eA.U^P5@8j)H[269/Y/M`f;h3\95fX&doj_(H__&VmV]q]L+:JTe2GlOLRBCf@iVdi'qQ11NomET3D%,]LoOE]S5C_Psm(?C(Xj"+&)Ug64G+reochk$JsPB3!@C[U.8)^R3-Y-ooUE81Xif8tL\]7nD!:&Z!;;!7A9:+/$f'BN4:_.h01qpfS.L`PQ)@;np6_(5=)0@#[aHiCp%<cko]ImAhd1A#>8%@Q\48Fa$AlJ(:#NqDJ6EZS=g>";Vt';n<)fNiYQIoHh'd`rnO7b'gKr`[FKa'`48iMcq,iA0C-S[j5'2O`3!j.-EQ_3Kf4pT?^NO2Vj#9ok%qq0n/fG&&r<[N"?S#4qFDk]^irBl8qqT?"&<GedQCuN&(eC\*Z)0.<Z6/lBT%a,nB;@!09(+g&~>
+GauI5d;I\]'Sc)J'W>*4Zr4]Zi2^R_<c-;DD/,k@g3-oX`'I"SLN0*Wkm)AV:9ps@>A<0<5PU#Oa70I;MqR2L8!IG6(<[R]oo(*SIh_"4n&m]0)+i4bK>,[fb*p%NSYHS4M')@1.Z0.\?3=nFVbQb,G.``o[;o+YnaYt0M5"dD'$Rgc940MLI'1u$0%F+k:t?PCU].hSJ@..&A#dbr..C[:6Td&ke)VMI7#Uda2DSar+eqF0Ak@U'*O?.^BOD&LQ=.FFG\a`8A*mH"lK)=<f^rsW>DQWFD%AS-XX]mH>'1?mo.eKc6RBWAB[aIfN`kEe:NM)A.9pW<-sJZuKtZ7$&9>.9EiU3OkPDZ*_5kRn$MS@?!>?V$VJHkmSdS49Vu.g<4i7t/XYmT!!gkkgQculu8>FAC-k9qiKs>]"'cYuYe(OO5Eu>jlV\oetARn3NK90Vo"<E[K't+4#^4#nZ/S2[oN<?00GCITYJoDD39-hf1'@X0r,aN5,Kq?9c*E037D70+lQ)8JiZ5q/W,8`\ZDqhZPMt$3)oNDsC.aB,'-=sD0;g+T<F?G7Nk6fi@B.aeA^ubV,6P?;9VeMIW>\$CP`$<CmpKCP9%#%N60Zqc?-AFTUok#rU2-^pf&0iJ&$]`XY@"K7d<h\XAbNp_60'M8ggb4u7"Q_(uidT.u7BQ8aA0C*lM%VA-83+2TKH/&hNb%FmVrLa[9m^Mq]c-1"#\QC%_)RF3&L*rQN-CXd]^g7VW,Ko.D$p_tY'ml__]`Gr>Hae=f'\&hS[,`)_NEXrFi>'u~>
 endstream
 endobj
 51 0 obj
@@ -289,6 +289,8 @@
 57 0 R
 59 0 R
 61 0 R
+63 0 R
+65 0 R
 ]
 endobj
 53 0 obj
@@ -342,497 +344,533 @@
 >>
 endobj
 63 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 568.8 381.46 556.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 64 0 R
+/H /I
+>>
+endobj
+65 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 550.6 368.14 538.6 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 66 0 R
+/H /I
+>>
+endobj
+67 0 obj
 << /Length 2066 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gb!#]9on$e&A@sBkg2Zum*[*NAbD?GfmEe=VN$/"kS==Rdq^k)kYT\ggL"=1P0BUfHCZBW(HH"TPJ`eI1QP>koAse;Q$>8V^:2nAI.)654^\0*?L"S(E>Tf<`87fhIXcss;t#l;mIM^/kurn6*l"m)UBN;hT6c!3bI=gEbLn7SW\sNcesQk3["r3F4=n"\IZ0HBPK[7UI[N?;rJ3R03^6:[#Y&7N\M2mKdb>7mGbtG;qTl&$3NqoEK6g1+4j$1/^qr7<[r<g<8&"-.$,0=270rrt_DRP%BqC5Gf^E-'4`G#srW83GoND65<R`n1:Wp-eaJRI>K'qcaXd]aCr_'>_U!aQuaZd&4WTbl;MhM;tB9M]`LpV21VS(P9C%scFL(9EFiC@U8r'($2#RM'VJem!O>3p;',:l&$`F7arSrXL(,c(B';,9;MhKnT3IspF$"WK$+7!-77.Df]1VB5F_obo,?_RT'&+'q0YEIIfRce$c5^RVKP3St>.K8JJsK=54,h8#E79t`[?3&7Afgl*AnLG"Tr+-EMZrK<MZVUfO?q`!np(L0uO)cC)Ll!R%=ouPSSiJB>_Ybf]:d6JnBa'.[C*DjjkrNM\TjX_:no^soDZd8KEOO_SAp^n\nl)YH;BO\.M0*Gg<pJ[CR+QQ$?eV.^r;H6YDjTKRR!cee$Ko5q"6\oYQ7lSh\\7:`N^X,bW_T?,M:3=_0!"W#)Z0=L_7aFFo<LC=5pLQAPGh%s*(]`2Z;*_-gF+D?VPFRuTj9kBWqod5_8!'h1[DT+VOUjY`@sdn?f`](QH%(@Km0%:B,>&Lgn5-b,P$BjpG9gq'4U_Z?<2C_V:3+7[/8qPWaU8?"Kd_40U$c?^m+k97JW^S6F$+82Kc_]RHYk/_Oq(Tmo30[lbpm7p8k;V<h:)s><n[SYSSq=g<'-E9%;-g_%?.u9V@$_MBXSr]%KN0P7otQ.Zmde4f@h3]%pM]fI]=7gPZbtK<#UTo\]Tk
 1m1#R\Z3CGgX+K7dkC9fqk`0<=8...@OD>Q49dN?8;'AZ:bpJOR?)pMl>O<t;KC+pc/gGDVfkb.kn:I7)TeoBS2?^HH_Zs7*PcGXC79LVW*-D<!o\A,'5AZ]ZrrCEG/B!_&B/0gma/GcM,[oJ`hBpKd[LPuFI^+BGdq"#a.GWLC_WfJ'U_R+3k5-9$%PKFZrHS'MSRX;LB=dpRc3=`HOLIS4?$VGfU\_^lE*?A:uK,GB1gd4U-5A,m&mL:V<1`2P$BF?BiS8ddM_hp='5DoLg+=_hGV(?`Zf,mC%TS*<peI?P=WDSA3GIcQ`D\)LZ?@5/;V-Bh.[3s[`@XIemYIuas.R/(2./"aX<L%`(KCU<*@l'QR2@Hd,H9I#"\<IWNYR<`\Z\BL2X)n/C9&8O&#o10`%*Xb(cKrkKLj/J(-K3!!R/g3R6Om"nq^$;W9>dE@q\2S>!#t"b58d^W0lZ.%6<3[(Vt`qR[NCDd[tcSt13+T3NRV,V@[Jn.jGY1"1*H3]iC5BXth@?@1hGs"#L[:ijctmDXo>AQ?(kjfk?LT5Ws7(hG]bhE&F:'#REd`qMgs-X8J#QH3R;.>*%`\>j7c*^GJTQ5:Z'$;dB[A)e7LjI?Sh*5mXEo%bo`k#]K*TQ&nGM@3jUNc,DkUnnX^\?g"T5eAHB"=6neI!_d>L;"Nla4;9]]@%nf2ge,6RB^#tg`:A*d=NWP"Kl$MUr6gaH&GMpN]U0(M;>
 l+\(a9IPJn\i&n*q$81&Z4='@P-[SmDg(r$lVHJa4pn"*d@VHhU1ojtn>e'6_,Y]g8jXCCbg+@QOnrW1t>6#H~>
 endstream
 endobj
-64 0 obj
+68 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 63 0 R
+/Contents 67 0 R
 >>
 endobj
-65 0 obj
+69 0 obj
 << /Length 2023 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gau`TD/\/e&H;*)+VY%0!];3"eD'\r?(3_U$>3(j@9A88Q>)hJ/UA$E=8VYP]cUh/%Zh)dd3PO/Hb\b3q"An%rc[l,`3EA4s2-+fM/E(&%mQI`r]L\m@P]MLepR&SjDAtn-9_fRca$.#\,e12#I%]@l,jqEpuR-NKRk'SL)F6$7[?u%\Qqts8h:q\3L8^0nu<K-=mL6HrUFnXP?k=u=]=31cbJ6N=67F`R:cE[h;'UI:[@`'O:DXikV[H]Xp9VleIGD::WNu:'K(QPI('dQN_3B+ms)J\ABbo_m0K4Q`I_peS6RX6U89J+%k`hrU(MD#L(VeR@smNM/sD3Agt]QPoIPdK2JfABQ?QTnpoL@`26/.Paq$.8T(IqW-XsV;3c`UK3@CIFnjAUMVGk=?,Z+mD8#2#umnsgeOX6?`4;B6>F!K%L8<.=1"CSH2Sht?K1dAs50c,Kagem;b/tNS4bR7(Xa\Hl5]Rr:Lou>hYHSKJZjW"eI&9YQ/B2hosaf=7H4M++a2:qf,1j[_+pJS3l'd=#lR[.9sN4@0\<@mcIS?S1Be\PX,E-^%!bk?lT]QW!L:'<MCH/g64A!(?#(dYA1_eZ5"UKktIYpmakItW8nX#g3fk\[R99:g(ola&4d9Wo;j9u!3B"tr^(-*'Wn\I\`Cj5+PN/sFU@<shDXCB[`B012Q)+Rj6(i_"K_o[g9lI*YlMr[!XrErK\7oh!F*`D&PRat/`!I)Grfpin>4+n`J4?phpPeR8U64I6Z2^uOl55DO$F<KdL]8Ar($o*s-.j*Xt(%is5FPSP&b*BDp52)=2DrnK;!g_L6PLHZWMe021r3Y>l<!#9,RiKk^H:s#Y:nQI8A$orJfhW1(?l-K=R>4':]85W^7V/[C9O@ju?),t"9mH%r4PTSF,c]/+,*>5t=bDYTtiq!=OIA`p85,+qYk%eYB9_h`U<I-l=A&o!ERIlkj&NMX]E0P?928r<X`r(S_.dQZj.#tQ
 gOg$R\V(r26gYG?sKTkq_XW8qh`BJ_K#Z`1pSLGeR%"eb%Ie`^#h/%95f>lS-pJk^%2btR+6gJpY)b7T&EP+Irm/WOk7n7kUk/19@IsP=%WpP'11\?rkfn?g/HdGl4MsE^5<H8bNEi7$^3)@l.!?_9HrSomne0\MfV^f)L$?`p!AMtc^e'&bUaQMhS*5q(Q`hbYd27_,d6Ep_[6NC!lq'=H3_snLH%Wg!V*5W[(8VlNUD@!@R%bcjJZ[7?Pfij!G,PZNmcVN)C!DFM21C+;(e9i>,E]jDeL>irrPqNnn*6:VnGHBd@>lsZm")'V3*X-/nKg5Si2j1)XJ5s@s""!!8BuVBd_Jg,GRP&,U.`YJ%L^\.X;QfSTS!jjF'0<jSKtWGcK.TTFi][qU%>Dp:(^ZBRp-"aJIr?eInC0e@Io)G98kE]?AI5(f$m/E6>h^L;pOAGS$A2k#4[WAH+\\^"F-Ish^fV.1?Wj,;%tO32Z:&,)EP4l/V/t.R:KTGCm9Q3N"ju6#\N,O6Mf/F!VSu@Ug`2?5Z`8C`7W.mWY??QG,BFNP$6)C?Ha[u<DI"L*5sY1#J.DJcCt8sW+;*q+WTbte+>A>&DL?bO6BK'D=t)Rqi\A??"5TU(:2dJ8(<ICg)sF]m#m*#+jAGT65X36;+l>0]>T4-)i<G=qm1@M(8SeI38ueeAXqs>9/;u>70g'(]i!lZJM5.s/oT@(+NRGHYed4YID[T\=lJ6<Q4TQ`C22.68c!^BGaDN`NXN#Z$*hW>rD<8Vf%An$%P,Qpu$SMnQCMYY/D(BEhg8a8Ua^Ja!=NOMM=$C]PP6p+Tfft'M1c>6,$FN4;N#*mun-Eth-m&V,o3V@"XWKA*b-0;["]YCB`G2a4!=?Cc]3mhlb2ca7alNr!HGIaYafh67JqiH2e&lbP)%sN-G:+OCR"o&+^%+nHZU-p5[__i0m>=lGes1BNUm?O'4f;XQ<=J_('8lJB:%^!mYA_ogn!b
 ]-HKS2faeENl#eF'KY[1;A1UIqEpch$0oX=W5+)(2t~>
 endstream
 endobj
-66 0 obj
+70 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 65 0 R
+/Contents 69 0 R
 >>
 endobj
-67 0 obj
+71 0 obj
 << /Length 2097 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gau0E?#SIU'Rf_Z&DEH\BP<8!Z9%?GmHQSuf63./@G$<cQ6i#[/?4qF-i\Ws?e2&)g0U3k87K^SH$Shgk8r?\(6^\8ag[+<XPrp@,VY'hGb,.i*Og?Cj\h^qe2(WG/182-?CcM[G)1e=T$CWZU@?/HSs]1<-N$t8o:Sa5B0+%AC]+!E+au,JBKaJDAV=Brn93.=WkT1(D8lps9VU_K`HQ,E7+RE;$5p*#:Y5OkQK2_=]Z`,SMnHf&Cs]I`Y%4mh6ZhGMViPbfoL"`U>bhqIho=[S?se(BS8M^2%1bDr@iR';I4P,R,uIj=+9[_`X&t*#NVc@QQ9ecOM2`3#^Wh6`T9(sgl.e3K]0TY\a:*l?d3^&m:kF5?U6*Fi$<!Jr$J>qS-fpep..C?3GMe<ihQB)[%FZN(j*0jo4I>g]H7/g+ZPg#QWsSQLR3RA%$=qHjKIuLsVF#0'U>RpM-5=6a"M,BqU)6N8;]:<cl;`)7POP6<nmbE]$nj;Z-Li)5F:FH/QL3/d^COBS6`pmsRpY"jP86'?fKJ"b5\pVk^p$KID9JGLcZqFR!l'<`MPjT[`"dk=m%2n+RI/YmK]W#"[Z(KmD^TOA@b]]aU+@?DMdmF@mq0\//9k0.2;jfs@b\i-\k,.@QMg(XH7iBoJK5OC=<tau$4V\=I7`iaUemkaL0M3nJZP>S,K^/2T8\Y*,'r*8pJXnN'$Zdu/l>jT$-4=%.g?qX@W3=uG&o3PXpGHmTs56?jGFU.K+$tgL?kM(CVZt0^TO0#&"^YT>36CuN9N0J'ud7J$7poo`<oK"I11Z?=G._$TaRg@;m%B<PEZS%?2lO&_4[^jE>Wd1-IKLX/4u49^+&<Fb%Q1e0d_qIfS?If,b5ZDQQC:1H_)>h`a+#3o+7@:[/(AgQ/_S(Bkr0)1i^MkS9s$dPo3*!(j\Rc8M[l,f-@X%;$%Z@e<bjJ)Xa9,$LK1nXdY:=eqObn5b\d@GU+/^'L,,-c671
 .*'Vmd4K:H4p/VZ.p"c;4<]6,)%ns.RN%n*^M-5_ROPtr_nCnqVEl-XIN0e%+dgDVj#uJqq%_]f+f`<CB0H6_^<QN$O2!7u9PW^i^]PMbC;Hc.n]^[6ZHOXaEQa[<gru6:2i-D'^Bf5Q<R;G.gldP9'+[GFt;)T.C+LC01EUK3'aRoH)jn]$=MA9)*s#>\<fO//=i,'=FOX38U'rnSq9*AH.Q"'q0E9TXnah+2.2_#+/_io[V<_X?WHRK&`;R".XrBI[g*#bs?d;IUG&"j3ioRJ0Fo7*bri$\eK2YB-?L@$@S@]N.4:-.?)CN"J():!4AFdjD8]]/+Q_V-mfRgp<lPYR8Ed2gtR8d;Z9IB7aab'_D8LeV_;4'"UoHKG@Y4D/so\'l4<'Pcsd2leof0qD@eI*ng.$:6AC7?eT'$V>>>4KSeo:N+Q^H4#-b^W#q.eNh-?@Wr6hY5)>dYtBkC$]>C?P'm+3%4f3N2L@Z1?%mg/DW(=Xcj@Zf<3>>NPgkI0if>O"=A#Q+iEjT0`ETIS"OeRU]`t0]eDBD2ZG$pQU\MWUr1-)"KGLBIi.3gsh,eY+TUnMaLI\j]l(H<):R07o`+Y6h#k98XTu_=`+iYbNIK@^P)(ohu#m_bN1mUl&RN"o><LQ(J/l47KNo/TRJ@MpYFFi-HZ0D#HJu&a*eN\n')bDZ8k]lL3B,@8a,4qu7J7WgtGV"i.)E9/$YljSjA^OS6Xaa&)jiF:!3ec?ZFZX9>,?P$*[+d2`$N\hK&(W@3#k!@+_WihqrhriYa!@\h(>*mt'=3(QfP2)c1O3s^!uqeEZHk8IEhP\B2R4*n6"`QEm$(PF=>"J4j",MX/of)hbOLDM*sr@qGI3u@Ei^;^O/#R+4bks@>rSnm/L0A(MmS;)V=c1oaJg]?;=ij6%;O+CF2SJ02mI%C/FCcEd),tCUREE<obC1'W9M3n[]KP.?FSpDh!s8?>qp<>b\n<qbaO1Q@6#-XgD,
 c@B%2$0oX0eB_TB]:NL9mR[i[<:"ppK@]r?Rd5)1nbrC("m++_*"rMZ"1B(.RVMQe2[Lq)*H%_B2+(M10eQ+@V#=Q:m"6+qH%`c(p@]4aWZi;NlsB:[r~>
 endstream
 endobj
-68 0 obj
+72 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 67 0 R
+/Contents 71 0 R
 >>
 endobj
-69 0 obj
+73 0 obj
 << /Length 1636 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 GauHLHZ.Xs&HCX[6L[#]!G4qL78XDT!,7`U-nqH$N<-pZ'T=Tr8o;\8j?10TNY5o$[cFr&OT^N[,C,@-4`ol]j2(D5n83]X)>nn"":fH'ch$)0bN/8N;-6Y0jcO[MpjMZ2eI+"IaS1Ybp'n>^JZWoSE2m[`r*l_@ap@PXf,?<E^Q3<.4?=reX:_F6*K)a)k>AAgdBcrX(6KqSZ$qG&H8,aq30,]`E1T1\k>u5XV+;8qaBs7<,jB&LU@PkEUc:**c\8'/q3:-_,"X$3qo9V)gp37NaDL8q<`,7&01e4jd3'1IW&VTHQ>EO1EGB;Z71&g<[4=f%p5!hEGEBn0##`?NHY=O43ig_7iZYT^pLPfB)Zm>eHUR6[6apcm7q%hI08?g)k".Q$o7kAi6H$*="2qDKM4mCHLm21FfK7/q\\fs'ED/BTT,]8FQ-ZQ2bs+Bo.T*F2geFM&/gB[N#qYGmM:+l@_2,<6`-8\W^Y[dpqJprWgU2I%V"S%eZYTfVA)^J157!Z3?G1"mYE+^$169?dU(4Sk:*s0d`.8G@(19O_>55$g$%6AuYDXg<Q]YQQM-8?%,Or3$feYI,l]^:;`2Jj('WY5EkV[`'q5hs/:`RE:A)qXK168<uYf63!-6CYlXI*PanmLM:m-o..Ti)*;X]tI52j9U:,uhG6BKhE6;nMR4RUW'B,7:d=*jr!q81!NqT:1-kl4c_p,0D-Yl4\b_KCD6O+(f5gD$DWpl3KRM.>k=J3IVtZGY9ag$H(S_L\#WGrPDn"$$7FcmJ68J)+#uZ7]CLe/h4#":nUX1VqEV[k`i#p!I4"Wqj\j#6"X0X-4G%Ml+G7hU23>G.uD0afZY&sDG;-WF_]Zm:o@un,$.4*Qqj^)]YQ9r@URZ1NDeibbr$n0Vd%kH>:8p;e`:fM8=dkZiSe:f.V"eJPEX,Y1l<*D1_l`Lb?H"0&./SdT/'rl2LM,TP]^cZqQth=n*E)V;pEi2'&E%^X8[3
 fG:2XeKN$bsF>o6S$\snE=,.Lh:<D9[Y&Zj1A(#A7F-26iDY,7_F^=&546EpZfL5^fiKQY&>B:_/'*Aa9q-dQrS?(5YFHYUR19\:&%S<$2MSD[EIe+S7>kUCH/g;^-e,NeYnJU?D)cpYEh#C"6'Zh6`<C#ANCK#*1m?!R[ZEkW#Ecb0_mh]lF6sblnq.!Cj1F)SVL"u1`KbnigF.j]4NQ`K.GhYi6LkfEaI?SUsd.fEr7PST6E!t-T`Yf$.1bhn/!JSQ2B0LO`?C1.^ORo/JB\F1X%*<=V$b;tQIu6?#pT:\EcAY?f@s24HK0sE\`__+)#hin/FqH&a"*<3:%O4H9U@k^+Xi6"2cqTLb`ba+4=4hBAj/u\^#,cUk!c2PW</Pd`?C[WN?47:AD^7$K+bCSeSjHSTqUa1<3,E"^5b:F_#DeR2VC`4Y05DK\2]0$j)e-pod*T]'!YfV"!n/8K<5#eY,SSJb/qG-_=LV[j:ob%F39!Wbn&PeJXH+=dn[;6u_Pg84!+)7%ao!Dr;+mWr.,CQZ+J3UtiTRIg0OlM][bI.2XZUurX^:R/2QsiCi-kh1@9B]5:TddZH@W18QRe@"CAg/Nb9rDkPcFA6c'LNWg1$`lQ0c@i7o2_uU&3Hor<n]<Uko~>
 endstream
 endobj
-70 0 obj
+74 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 69 0 R
+/Contents 73 0 R
 >>
 endobj
-71 0 obj
-<< /Length 2680 /Filter [ /ASCII85Decode /FlateDecode ]
+75 0 obj
+<< /Length 2661 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm>>EbO7'RnqH_=T1EWF\=-Qd#(F:$OX)[V<)&...@RYs2JsSX>eY5m(,,ZT61s=(h&WX4s0KW]<eR;KF_ba9K]!H3Bm/o$g9%lVAF3nrWs(4"Ph'o/<"d-b<c$4s*i7ED/f`o1dHY9]/7,cY0)pu:TM`\&0"CX$!TC%*nhC!dVFV)RXt/E.tT_]&Yr>RN8Qf%=`@cf+T@n92bc7h6*#ek`aRUg[cd2%>ibIs%L0=HjAW\&PAlD*e2=DKIEfU*F\1^R\_[_8DdO3V2s^,oIZE/Dk9[mGCOQ.9h7hp#DrS(KRVHjP$]hi(,DU\X>'B;$+H$$^5&igfP5".g.Er28!K0kgVoKcD0T\,K/S&l2C,LcJY<*;dM)(upbN6#AS=;4\p6k<-Qh1]EroLRd?Z,/2X)hZNA1T^Ya/;6'"4LZfj^ApC+V$WMRmKB3ao?<2g2@]Me=\/??&j`[os^02Xq5\+o5.u''+S\i^D#=J5.;p;e+DJ=Z7I(YD/Wq/#$!pZ]ca!@`p1PU$]ZIM6B5OehaNj[B]:ZsUL_I!6m"HeRp#*bZ,#(,',c*J>.2UchP*BIC9e#bqD8$G*+rj]c,5;96cFo9beg6:!nG:n>')?4Umu"a2mC!!kZVCRTi8GG=1hR>)(Xn0&[IQZ25K=
 J$oe/u.oEuG*DgN)#\]n-Ubm68jBM$,,YZL/;/<9!Q$RW7]G,oCWaH]Jnu?&c51Tq*a8kO^84I:#1_emn.TI?Mo($+U0%C/*>#=&QA6_k'f=2+\I4];=EFnLhhal2"7'F<%TpiFF9^3P2%cr=4j#8qeIA?GU^]g[lG.La^AaGKo9^J5]7,""I!_c=!DR!=&nt&5kB$_4V"(*g.:%r$7alPhA^(.%uTBXQ<(JK/B>Xc9;7rt<b`LClT.#,J#f1FN>JPaY=KqMgZd"s60NFY9k'dQ-O*'$.u-;/Kt<%]mfY-Cb=Q=Y%==PKpplAPD+qu3<pOi:,Z/-)I@NGI;:V.^+WF5XHph+r$=OG=J#B/19C*IG;[@MQ&HgK3?Uk#/@OG-A*M0?*r\FWCVHbZ]f/f#=/XK%Nm?U8U>"*H:)`>*pkk"]MtKn@6C^<<&>'+0m#:B"+6r[4CTJ@)O*960mOF0n,M8as$=Eq&BH&b$/2]hJjNh7Cbm?3hY&17XFE)@"8c^.'>)/7't`'kohR\G5X=^JEV<pabdD>$*9+D;8o^#q>`W<fCeWqF),L$<#\Zqg;;n0\q_6DF\)b0\elDlFuk7<VLCbN?\0g=[L%=R$ksibhuEK97j&Od!otM]T>g+!9Y=]Il7LRe*Z#7`F%F$"O5p\)+<"i;EeiIW`6NY7jk-Y?c:JV??rUO;F,X&fEgd9eG5=u/$GIA@=81TWK&k.iR[1lXQ`Ef3k))R&LplIhlDm^4eEs;U3ch8ARM9Xn*$TR=Lp3=F5om&fMR,!`XG\].Kr^>$LmN\rl@:+GRt\s^>qhOZ$'1#/QQQO_*L%9T/O8A2W+,cR6GRE,Is,98VM@NXN2ANcL1.-%GV2i:LFMU[&g\#<gXkDkjt[G$0%eBNL#jhibs:,YZ2^4jq7"ZlVKo7sQ^frA&\ts`'33+g*Y0rgo2lA?3GfNY96J'MXsZ=aW;HQOib0)`S4,[iDo)DD.7o/J770][_&_
 ;Ah1PCD&(O.j'[m;DXXL>NRq):''LJ[d<X3d#<*JJ-p2r?s\Wl?sL8/n5oX@u5O"]3tf7?W@Xb@m*?''mmC(8i>C^O_)!CtG;Kum4u0U59<O)&KjlsJ\LXil)(gTf9>kKq,&q5D&UfZ1O#89$82W,7,$aH8R*TJ-Q4,!GFl<u<1h5QNL:WoujB9tqLJn/>"P>@;@1WMF6.)t]edWm11H8C]9NC8mZ5I2,Li/lOXNo73i@#OM4B0S6K=56dJ4?,C6=5L7'5e\Y"_+q%8`\gS4lfP4P.i2.W43oJ(ZA7;cC(JNqZ_W.BE^l?`Y&3aHR/BV%A%<:B<ho85m]Y"i^g2c"UV"31jSW&8:(;]<F%>RN_+qd&WEI(K.'^qoTG')HEW;ZECf.QS,34QX]Q%;'3SlD:)a@`A;k5%Lp4grhQ>uNe\V9tqGW3qtL%jjPh/hGbSq2E2S@3]FWdU]U@S4"*`7V!W*Efnbe7o&?Gku)@`Q-0Dnlf\#NHogCJVnAL_W4(Y.1-4mg>(#"52s7a+"!QHPMgX-]NE>j5]-;C9Fes.,VHY*SW=PDc_q`E+LnZ9fa?A-npM$5Oi,L@T[lY:b4ME5>"ut&P'ubBqi=R,XF&qs>H@!]mV`iD&8"3]\Q#2sBSBCr/hH!-lqs4-$='PiPS7RnUO&<;:%d&C^'6'>9H?Kc53+pou7ApIZ?^k_j<W~>
+Gatm>gQL;L&q-CU@-,M5>%%[<i5...@fm>[BGe<8S:Ze;a['6-qYRKVoIgD6j'GKr6WYF0lJ</3>"`On0EdaVK;\q6<W9QXB#IF7,S!@FD_'/^G%$J%JF8\'L0t8/rbmCV>,;[S_5'JTRBK)XjU5Mm(+o:@%*:N`k"KHDC)bFJ2D?Z"`7i@F'WhVs[@UJG.:4"1k+gj7'a8T#,>f!LN`Qn8M"9NT.mOA=)ce[*OKqk5s;%cet-*8C27@j]BOR=YfN(].?IWM'S4jKe)G^CN3F$m8:rFcp$T'R%tjVC^u.*S>S%O&%in$?Z?"A%At@_*Dt'@iaCjB^51!#Squ`@;(Q1P[(he3MYbQ'SuqmEK5Kq3b[#7A(Q`!&e=2io_K/nTI<eB\](%=FVCZU=+p#!Se+fSlTcoIm,'AFhrV:QXnrh&/i`%8XZ%0rV`/>4dCnWbX\qiE?7e/<5cjY7f(gC^b$7"l.g"gnpcEOrgY&!UiWj;JY#)6^7_aAHl)YGp@*EPlGjiJ:t+9K4@Eoc!7O2.Le<[5I4Ada;-LgZp`Q(SL:?rKA[)G?M)5V)`&eD:^h4VaT4i74,nTs/fhLDVqJ"7#8"!SuVkI`0$@`1RsXY!iF'@CK7Oh`C2(OE7?\FL!f_fGS0bN7"LPoK'?!:C'!nA%3G_L$@u;rms0PX86%TNI4+4akA;_ArHdI``ZGd*Gi*O:YAgR]s$[(@lL/]f?Q=L<]q0JQf=.5P.D*ueRXTFrYI(^^HiN0B.jR
 )V#%GRp08<iDAEk]kFucLf(1CT3so<:^lh^%$8$DNY>(W+"&)^FogGShZoT,Jn<'!9$6OD9Y>(?$"0*oNIO6hPVYfPPN:oUjD0bs$q/Np,Al47gGPP0#Dn2=N[=2C.#*%2PG`7DIfo^mp:q>E#Y.;^N+Y1+Y2ku1P0t.:QS&eiEYp%X\Kg%&\-e/I,3:P\j+V%DnK=61A:1q;fR11d%%beIMGK#*p4tFc7eJ(giIG:s3WaPt&R\;5t+f:o2>ngMbJ1t_/L']hSHEKr-R=_DD@UrYPT.W7PP8LO4?#__<n*f\"Me_XE4Iu'TN943E*G:J.*A#O!f6VU)a7W:N>$PFU>fLpGP?s,h\?9aWLXV_C\SaK]^2CZLrts9\&6(H$,ppPEF/fUW96H&b#1ZG`;)<!!ZHO"Vm0Y)e&lVX*A%$g,_rrVchYq4oOT:"GH`R@@Mf3,'31Z%%eViuE"Jh:&I_X`Z?&_:`6%^MWc<`qciaFOVLN/h@'jDhbD3t`n<EHdX?!%E#!N.9q=sSnYel3HtL?g)Re6FrM8'S0DkqZa6[;1[oMsDF%#ra.FK'M?7E7pWfnq71a+Fa^h,i#9d.1&h(&:FNH00]Q<85^Q@C%>9<:*A%."K^Eh/Wu9l^CTSDi$62B,)jP[akRJH&@$<(DE5.@QZH=W-Q!TNl^Zs6^78e%G2/c)^4WThL=Q7sQS:Son)bp9eE&`TTVWip.AGk7L^!X=+FX,JSDIMMLGjch+buF,0/BUE<6tau[Gn:3SsZ6FFl@']&E9N0JL9<Rj^r)0bS3b<=sDF)qCO5uF[p!h6jjPd"0+>nM3'FG&YH`R7G6W2*om&jMfIB1**u6:b$i<dO[P,Fg@e6#S[jWqNX%I`2Gs.1pMM8FQ.Z*dW;QPU&+_nA_FmUmPm@q"KW-S7%?F#HWHi:_Ng_jVP@^V!C=a,e(=`<P)K@Nj):'KLPIKKLq35K"bi>t)N8Q<+L@3IcjemDLA<,oL`&<
 Q2W@]iQ!=C:)D;7Ka2-&5<[XAfaB<Gc+Fl6q=1&Yr1m?<G_fhESfF)*'-`"Za^Mcrbs#b)%O9u'VICLsfq'MRnW,1Dua,5W09C7?tc`ccrhi>d020HUaj&,W0L$7RFb%s;]m!]^Sm3>A@[>\45GoSULB"Xq/4<?7XSZQ0J6'g9Snb8-ILFoH&\eOD^#V.pBd/lOW$4X3tU\$*^6buLcuI35CkI?[K#"(V*up1&=RIn7P;o%1j)ZUU=]<FdB_`"Zd_$X4ik,MY+dblf#oMQBL;R=_DD;e0'2GAq&6)b+2,_`TP0@L[;iAD\_J;SKf+Z5S)H+B$2<Q;5`#/<Ac_\;$cc?4k:#ijsaj4j%tIA32j.WRG;Q=(mru#m/mJS>ngq?dC4J(hBaI>"ef<Poe!5hl^[adP>L_"Ou*T`J7844r9f/ZXQ4/bcjr#H>Tt+(f%(=:Fe13+191WiM.amg2r`;T\AKpVY0ON=$Acgg[j4f8Q<b$&Y5HdoWVHk3:4iTmQcTti1[r-*UD8SeZMFVEDu,=M="<`=dh^Tp,KPH4JM2!,')QK\p^"p5'i_(_X3E!,@;u/R0AU-$:P8+B),EEhO[aG+ZmBuajV;Ed\F_LE95`\#Np+-WOMQZo\oX1gQg).4O.u6SW@d(/IpoqDc:VBVLE[h'tE2tKu[j,mf+SXLq3~>
 endstream
 endobj
-72 0 obj
+76 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 71 0 R
-/Annots 73 0 R
+/Contents 75 0 R
+/Annots 77 0 R
 >>
 endobj
-73 0 obj
+77 0 obj
 [
-74 0 R
+78 0 R
 ]
 endobj
-74 0 obj
+78 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 321.288 577.1 527.952 565.1 ]
+/Rect [ 321.288 577.1 418.944 565.1 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/hadoop/JobConfFile)
+/A << /URI (http://hadoop.apache.org/core/docs/current/hadoop-default.html)
 /S /URI >>
 /H /I
 >>
 endobj
-75 0 obj
-<< /Length 2221 /Filter [ /ASCII85Decode /FlateDecode ]
+79 0 obj
+<< /Length 2195 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GauHMBlD`a)#g+6+U%\h!"H(-.$apKRl'@J,\r>ZR"p9Zka7>THBK8gqt5:^;:\BEXPKQhMRMO;hT&"[c1pL3I.Z$QAN[ccpIC?;9Z-UQpt,3(mo.uHL`IB;1T!Z,+2.LDrM*$3Y\[D[c]663QjJ6nUHRnq`&Ct3S/Hgh(lK%ehiN+\Y':]-qsfnN/&q./i]%Z-9oo1./"-aKkf5MUqLQ^*)AN-o-47+XYY8"i:GYb4A]9P4T37Inql*gb1&a#L+1="K,3!d7rg;/n]dE^"2s^H)@5GJgX-`e/]Fj1'/s,6IeYjoUQFp[2]<ISDF+SXtkCY7+1Tda2.bR"j4-daYiWApg`Da]>VM_'r\2o+`H[GM_lLs@L'T7>sP*/JU.'cnULOlHp5N4\Z9l%EH">r>O%RjM_VtgE==^b5c!J]0-L*@f""cFm.X;-"e8a]<5R)F1NdkaZ1=AE8Urs(5f(r_-$?i9QQBX>j>!b-@VAOQ_[iM;>>bA<BB;q3Yh/Fu2qp0(Hl^PHT@?'*Gm>Hqfe8SCO!aF?+JC5j-_EKVfKo6cmliD>+Y=NkDKI@;Fo%KUCPK1s?hq;3(;oBU-:X]VKo]@VpKI1E\hNm<M">niAeNHQ76NhisQpdo4D7-n:l[;l]WSFtssnM!*3#M7ZsY;UQ"XYp%u?^hPX8,E'[?R6@d;4\u0iOnWuOV8++5Ye@[ZXd9HDM2]Yk("#Wm=I#MYsF`cZo,[TiFXD?5DNQQXGm&-NUh03&Y2*K'r99jWYVd-UD8:>KJ$q#B1*FEZLj)>M!8+Tr0!sOMRM!9gp!&O2]5_O.rt[7ng@b"4C^D*n3dXZV^]O&$QV`JX+J`Xk7=M#M(DRtrc_*S2fS(&q1c3(*qQ%,75?(I/-3H]J@t[Er9!G-`TMHsT?]oIOg,LFVV*/)UP-Z^af'!jBG6tg@C\`f*"2]4[nJp6^i"hZh'ao?P#[?UUnAOUG)-t2)uL=o`,QbcBb8?''$.G
 9)hjhJ()#j`1f9D*^D5WTh;q^qC+!n=pPY92@/7lb>T\6Op\r+^UL.]G7!.lG0D*CJ&L\%@FisQP*ipg%3m^nMA6N9bO[(o,-5;K!(+El"!\^T7L2DeWTMgcB<%VT:2lj!u8ed='Q-lBI9TYM%b#+:830dJfQH6(8VAEsoLqeil*.YRsB*.FoZM%D"+fL9s\drNG#bHEA4h1Pg*XiVqSl#H"r:p>0<T07B3Fae/,;TTYUjGP.K=:=j&p1P`PZ?(4!L6o&0!Ks4gFCsB6,C]2>cT>9J][sp2pl8OUDcIVXU^PY"12`(3=&%oa+a_]L:IpIp7rtW=tDCA7Yqf%MP:pg$dd]>qO-6K`-/s9FtcROfh5@)n-Yok!P0%K%&us>?$&>=EP<&+':"I)Ci])E',l1tm3ntGcDrs;MU&n!lb>%<nc<I@3euEV-I7329YW6a6hrJG&@OrPfPKcM/mnps]Q<*s0Mf=5n&>]rPhl+]+r36IRt`M!=qHiN49VtBTgc%Z@XR9(3p!mTKcmm:[ijf@/UBg[D!s"4*EXQ/f#_GA_DgDm%P6Vlh$o#"Ml&RY#_%2-:V:I(q*%,/J.TI?"ANcldVUcBV"RaX/E3->V7%!0LB&cITXe'iFLNAV-.`.l.UK5q[LVO]\J>M,N`1i9^6R6Hm8H&P2/3Q-=1Qmt2$;:\N\pEiC_G`dlt9`/@^>a5aHm5Q8>)8KH04P,R+Y:V9M\]ECL'Q\WHd,#^8PWbTC,t0%T"61Z*i+]\Z[+8F_uDd4_;+j=cqOqjVlAJMU5$2)Nl3ul:?p$V63%1'c\6KHGm,)bsG;)T]3&eLJ;nnB"+oQ(bLQ"h\kh]5XGS,j0!EqC>4a,H?OhljuB6r)Q,t?m^'<[MM1(6LpmB&]?#0,A6R5HWjUKop8-UuLCdN.(:$A_W/oUfG5Ut?M_"/QPX"H/CnAWO$j?pnmL0gtPu+W/;oCb1.oh\QMdqR(aiPY*[K$;GC=tbrGR?
 CLog'-kGs^'uZaQLilIl-Th6FsMLnq,m[Lj,gQXeX.8/1h'J.Z75%j(\Q"@5kfg2Mo;?Z,?`f0]pK/2JE"-P;7CB!1[HXMZR>2H(-R3RGVeQ\9qNGpa[o2B5(0FGG'6'&%p&Tk>q"o17qh7d,I!nceQc=KDo00Q.">#b->F/C9FX!<rEmr`me[cC6`JO71&h>0.j*g6kU=bS+0pndooE%InVgn1N+UQ)o4>S#:Y<h*31OD!M~>
+GauHMBlD`a)#g+6+U%\h!"H(-(mY5;Rl8q<,Y...@G.kA>o]9W0baOg7XNXkM/TuF1c,,U0bl'T^*3*Bh!ce"p>\062N6br`,R89RND2:QS]:`eW4F9oE1431ar4h9GD0:@%!s\Sn=LqbDI$G5I2uip/AMN@f0q6J)&H$M29o#qEn"6p58Ji?Z5i1KIuCKX^:]Wb=7Fh\Nlal<26>G=Rq@:m(uqXbR*8l>n3m]c*XbdWau"FmSjh"M@8L;%8RT9Qn!jemdg;Cc->XrbF@gU8M'GO6qT'@UW?aJ*!WD]rJ9VZ2QcWj&Cg?.3>?&pP3*:2A;*b*";k<P)2a*#(G)^WYuTl\??0t)`$E&9R%@`L^iBLgr]boN_^HQ7rSlX[UWk8A$AdMLPnan`KTdl@/@/'N:0#K=Zciecg1s\Or?UO5F[8LSCrK_F,bYr!+TL,jW\nMo`_!1tcLY=NL-l9Y@PM44okBTY3Wu\37[]@Eo"QuTkL\6T>-UggpRi8=qAa=Z*1[g#\gehV)XX+J3K_H6i?tVX&[?rjeB0?GE7U4ga2@Nl**he0^"V+%[FXsTHu1oP+6i*8qC7o;MXhHA%Hi-mNgs5!!chJHRO-_YE[+!42@"p)D&7l1M%.=4L2/[fV41#lc(Ppj)rn[*U-)Zc7&NdU"DP5A7@.$*H#'T8\REZs5O)C*95jjTnjd#B4C^D*n43p^k:+;K$6;WIX+J`Xk7=LJM(DS?q_ue/2fS(npknpr*qQ$S75FMp/-3H]aLh67r;--)`Q,GhGA!,9aOl//d;5)R8]'Mb2Uoi4H&feXYhUBCNWgKt>:(EV<7aHR@hdO4af<9;;IGAt42_O*B:ol_`,QbcBb8?'&dT].NP\F5$]4K[\u!LChhple2Y&@e72#@
 #qc1d9Y^G@h/qc@-H[fMZaY,JV,J(@K(OBY`#a>M[3b<_8O3//B*U"RV19I_B8>$ra&IM#tMj1OLTp3e7j"nXY:m*/%PL_IW>L[4m,DseaIaOr29TYM%b#+:830dJff#Xk#TbhFnLqaH:*5JmXB*.FoZM%D"+fL9s\drNG)*I_nH?'1\*/t+:Sl"Ver+UhmWc2b'Ks@#fOTgCSd_2CH6!JUE#s)8kS183RTLZ.@(YD"U@[1fQTO?juf;d!=TJ?MG:%T=WW.lF'X2F:7KGKOp#;N.:fT:X30UH7d*gL9hMD[lD-ui^!;%t6_!P/Kdchspl[ZAk@K3=)U?F%.@=1IW*d'^Yu:gJ\=U'(7Lo7cCqWDo[*Z]g`Ed*Q!6:Jlgb?7dm1FRI[^s(u22%nI)Z)/BbN49H?RrP#oSji]>CfF@(RZ_=/*J0".MhUQp_Sp%BrN>9A[]CE?u/9V^c%9p9J+=(AT#-umT7BB=;H0+0KkIJ6MK&DsNJs]?@kRif[]t7Qo@#ZR=B<tmFhLHP,Y_Ze5<sbJ%RdSZkp$GaBn[@]CLC!\U6MuiT1q=W!2pDbm3_[Z%Li7I$g.'^:'#asH.iL&YBb_uNFbe;b'`bt*=53&36TRuF709sYe09FHATbJ/9#mu%NM6'kep=H15[)p)VZ)_@KK(33=kJ7llpE>p[DE+\W+Au#\VG'12H0q1PL\VaQ]cGC*qt4=WgUo*Hag3klD(hq[[JZ^o4,G9/MFE-m+4BNZC>'&UY.mE>)5L4&k#20WKFmDonP2PUN*5&X:*f7'X^FGBD(5!Y/<$lF`kK55t(XrB`A;M)UKOLQ'&*62MS9O#dZ+&9YiS]M(m^tCDdinb<Z\X!Jkr^m<$IW=c-0oZ%).6]j8Vh<ur-_<J@AIfb8Q,r"Fu=m,=1Yek+Q-JI`S)&A6g:.Y]FH>k@*6GKr+H+L;m)&0J6B5lb^%!.M(^pH7Ibg_dMq+L(E;X=n1&5LJ#fqhs3=NE6
 Z_=c[DE,VC^iXricSn-o@B`9JC+qO[kATO,%b'&UIZi9.1s(:%%S5QX_*()+nsj-<&g=0,])*\_Z.KgdU#"3L.85&rc,%$AmWhD%T8#HiiRYq43GOma0]$f]@-_Dbr3/bm5h$()iO!X>ko56:s%oHX1D5W^rDg2oQn(Q3#QIoU/phMHBHd/'#_TOVhp[tBEZM8lW-`?T_YZNo7`"4j8Z('~>
 endstream
 endobj
-76 0 obj
+80 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 75 0 R
-/Annots 77 0 R
+/Contents 79 0 R
+/Annots 81 0 R
 >>
 endobj
-77 0 obj
+81 0 obj
 [
-78 0 R
+82 0 R
 ]
 endobj
-78 0 obj
+82 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 303.624 511.64 510.288 499.64 ]
+/Rect [ 303.624 511.64 401.28 499.64 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/hadoop/JobConfFile)
+/A << /URI (http://hadoop.apache.org/core/docs/current/hadoop-default.html)
 /S /URI >>
 /H /I
 >>
 endobj
-79 0 obj
+83 0 obj
 << /Length 2048 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 GatU5gMYb*&:O:S#fT!75Vj0)l;f#<]qt*K]'6Zkdq5kHD9>m09<'Ufo(P5O/86M2[Za/,<0YJ7n][CEo4Bn+5F_S>0Ooh:5"p>;9Z(iir%7:3q9$-.i5.3hC!7rS:#;CG?jRBTp@Q?_(rm/nE+85ORJ=[YAtdJc0nh@:(k4b'b$5,i8?*-[E`jt>UfEg_-%qD>Qc8Wih`j>P@9i?9Rce8958T_m7,\7D\<d(9.G+N+08lor=c`l"ReO"[UjimNa#H\IbVU:fqo>*&54Hhf6+"?`%[$F2cO-DG(pRCWiEV[1.?fkt5:$V(O=Wo!D1f?]E%lZciu6-V2G&&.oYG.PEP_ni]n"`5j7blp<SWYM"F1lM;4:$bp"MGSLm*&Hfcj.V5u,WUd_'rf@dmAeV&m\3p2(ALhjBkp.gWFgZ'MU(Q>)f(-HL->+HGURLO?V2@IPTljAKc/Ral?E?6&SW,Mr-!&ADg4O*\V_6bR62/&:ej`la?hdsAE;M?3s.o3@.$U5gN+e<AZf!ZdLN!t&mm*>?*:nnPDh+iWUk814VI/<1K3Xg9/>RB<5ni"0$)a6@Im,LEj_0V?3EfZ7?es3q]M#G&2(CC:rKek=M7,%]q[4NVdk*+L'[pQA4IKRk"52_RbG&PmW:1fcE%7du/P>i#^T/=*If@SLfpCYFLL0!eehs6nqd_oPp!prBQ[N!%(^^q:`KN-SfN"lm>59HD,5a)!^hhesTD^Uq2Xo'aWRcgRe'.%.5BcnfS-:&bgTIQ5S;RGLWNC'm=mX?`2"G;n/>`^HpLo?Qq;g974R2m$GnH2(@RGSfJ\GsNc4,&[WBgJ9-Omba\9Z]]u[!HVF9LoO.3744;ndo%Luh1s=/7:VcK$`pf#>W#[T=B/^`X2]7l(5R.'<Hc)Ih[(2bUY)iemWS@q3la8op8\[O"DUgQ#j<c&24R`V>N#'n.dC&gW58CJHPLO,K<W.47Q'DJ50a8s_b>,NIVjCL0-Ga
 3[tE<1]Q>cVM,W!W]6n;Pb+SN4>Vk4o)^DafQl[rjXc5*&0=qtEd0dm@YaD1<,*oSV`?en/29QUZLnTu[:GlmRKk7P:^Ce)<.ur^!nCred!,L(fmWd[D>a6/eUk6tm6Jc?pJ5%UE@?Fa1[S^3C7jUX(iC%k",6`91jA@UlV7)Sl4GLgEB4%K7eG7"$+0c%6$[f>EY0eHo#&q.lG\Ke^d>!]IVVu17>)o(f\!G>E:!'V>:^d#SZU;2`o5o>VcTrPu`Za5IVaR%]#?3sU<lDr]5Xu';Z%,&kBDN0IK4K*rRdT6[cq-F8;qj`\9K,GuX.>&gTm&e*(1PC`I259;0Joam;3=_fN#oioXKDmFVHosrV(id#N-hSo@i@F!fAd;%id.5tnseYK8`Xr'.kEg@NuFu('fUID3a^%L)9lcDV+-a%SG"3'L_I+84AdGL;&h`fX=BI#PZ$%5T9hB`RkA,-MX!juW1YS*0.g/t0RoYulfc9PJYJVP51]s2/K0k07ugRh92\9MWX";+'i)QJ&V9>HeT3D",5Nk.:bKn(.k*-o?WDa[`u:X)+,:6"j1Ke4Qq+?#Z96hha7p%GC(bfq72s9^e.^8o9^;%R`iAlLRj3X\-n:I?lYqIWIX-djMfaSA`B^O,H<01Fl)EW`\.sF\gF"if0(c9[ZDrt_V`<>/>?.hp9!6KtW:$^BjuBNJh\iq"m4$WNNdP"TID=27LYFs6h%%#Z6-n!jmZ,sd]aFY/(CQbD(l.Ng_=@&_IEB/hI:(p?LGHjLj33&>r+>`YGK<GY*%^JNlp[=6An&RWVOctG1,7.YTBS&6]Rfd_V]TO(@,$IMqJt?oWB=r:&SNo1JHPK&-[9+5)5e1C-Ak";42ag2\D_uune]])1%^5[Tl,i!LE"RSoc67_T!<#a`9Ks1+!>(q[qbtt/V'3h,M"!`p"KJMUnZ-^k-jKSiT:K:r7-DP2?M&[49Pt'NMs=#p5heFofg<s\).1%>l#
 &lf'Ps4H>NkipQm-'pfeZ&]>H6XDf3u1Br^Jq%a1:Jh$j"g$Sn$%bdVipmK<2*@mFI2~>
 endstream
 endobj
-80 0 obj
+84 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 79 0 R
+/Contents 83 0 R
 >>
 endobj
-81 0 obj
-<< /Length 1812 /Filter [ /ASCII85Decode /FlateDecode ]
+85 0 obj
+<< /Length 1796 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm<=`...@G72D>:gU5<W%sShntA^?Z\0(lu#\B5_*=5_G.dri*P)HnV^l@?Z5QJQ)Rf^lDj%fQdD=5Md?J)rQ<%6l/sLO[8;O(7U`JfO_s=C:#?OOClLADu>#P.=j])U"@:K`o?.p5o8mJ>/C%09.T9qKY!pRLJZuD"_gAp?n/+igl@1\0=mZB&Ria(O#Y).$AK/_UT%X>V00feYbh`[oMFJ/_"$,W%oSZa(1/#%Vht?%;c7LsCg7@^g5`5(K6WeT,d<DG>a/GI/sKI>/"r814AEk%%inA4\h;!F<J^<(MMp'2j`TbBCESZ5N'tr;OIO6#i"cG3^l?l`].i7F2k+*'+pN"]d07$j!&rNCk].3ljop&F9a,=B;*?P6]>1)B-=!/2Obc$b.7RPt-M9$kG%]`[##$-6>0;4tho;o60e\[18&!^I(i:h%.cr<*`smL#6fp8;V_FSS6BCpf$A0BWY2^/PRD@r&g3K8_=:^0cDmgY5J<(f$jABo>_ur3mE<YF?X>,LGR+`7c2K='oQ<+_X2,Z"h>c<k#iRL@.K_J;!!YX2FY`f-Z65CD6`^B'8GIT!VE*oLGhmb8]]XY5JifF`^^2*t8.^kS_ARY+<@r7^N==^A(<N7P'=bU$^TD3tA[:"?YQeM$N;JJLZ/<n;s,MXOKj!VQJ'5`,1coB\!BJ>`&Gt?LQT<0:RX+[B`'bFq,jTRi;XY3V[P5E9F44EiXbGs!d-kX*Nk`TJKVa;=*]1uWJKKc\>'ptF0C!D?`@_FuR(/P;X.Os4G0]L?Og7-/$F3hTpf1BR<j(fg#H`/U>!tH.!q<>cBT_Gc(T.?&_npl@8i+XJE<4b!>!%,i9jOI+.-t:9A[Fd`"[HR``kLf2bX^^(G:B35r6\<#a?N<G>Xph]ARMZ#
 bL9_L$^t?RQZVMls9[S#]MLC%21?m?<OWhj;$JDp&8#lqCY%`a@7t":LgX+ju/@JaW]$PF$T(gI6cFEY6i3>]!$d,S&1u1J3M/i?9`1A(3[(f?5!I'dP<AG>lW>CMRPmELK>IIe8b6)5j#\k+J@)+=f<`90`d7rlYTFGsk(:bShk05E:A$,pObh-&OT#Y**&_l^8QZ#(C^:V/[q!X"8hgVpTnQi0qgSn[A`dd!U-[r[pLps,MU/Z_3_269%FLaL?4GEUO2OoR8g5gmX*ph^NrUHe3j'C*_c5.1K0HAJHOfZ\=:%uoX]As$W!_,<'CDn\FT]pV"e"'IQLuV]BAL5HZ0.Vd.R74gK&Jj1O9VE7:0h-aYAb/WZMV#,Z@jE%7nOYpIA@=dmRrO"dG*A(*]Aa(licE5@WC;/K@05U^W">mc".`r@;&fF?=8MnIjUTh%1td`;,aD;larX(g_UHK9KN*t;:[MF9^])BU$J!M&p\DH);8BBak7id\4P7[#(WYN^m@bFq4m8RkN[O[(oW-3q->Eq!'A;q+=YHss[+V>W._doFM6^%4W6VL;r)rcbLMD<KNaI/qISA>HD0*6=o`n0jS[#.%mn-[Ee=J&G!a"o#FMbV1N0&9D".g$b$[`&>$89'UoZ9pjZN30LXrdF32'(`;2YE/T'!O"[2K;iipJ%9(H?q$H_\ts5j8k%I4$RmaNT!?A,HHV"O<L;2GRR=%FXeT-)'QYOSW5aLAU[TM]PV6]../sP*Ce'aeE:4EF\HQe\'<PiXrl`%I,YM#g]9goc+lotZ*qKXMrsF/X[OD_!U@K<]`.uj!eNo~>
+Gatm<968iG&AII3Y\XjDZiUPsi5;*,S>8pV)Q1!?4]Is^/3sspMI8\INrFHn:Fmg'f"mBA#iK0sO71h/k07B/j'q_-7ZA8a^7RhPYmoUbiR;<0pGm:8ik)@eK^h&!IJ2gB"#L9TjIaTL`:j>&))_f")`[N*!ULYXMN-d@rpej4\,e2f6Zdm%(E'T/ZImCf`\&50:np2<JM].uHfOQF8dYEAKO,Vt(lP"^"C85nC'EesB2[69#^*OMLJZu($IX_i_,t[QE]YHd^$'JP7>)h>4Q6or;D=&c+,pGN/$1mFJ2L'B`eOV^"HM**HB>.#ZM<.@4&+e>Ss",`A9oj&C9(Dr#OsR3873[-?BeZf(J:d0Pu,XSSu-hc6UqfPXp_qG$F,%LERELN]^EFZ%E'unOiY'9EoZoqgk+Gc\?Qri(M4ZFB!VkA_uO[3\cA'*i9%Te?1%aK]O2XHA&0($F;gLs?!pKQ,$^`.Obc$b.7RR:PPUVF]//q>"/ZTV/S2*:[rJK;bY'5POfrpj7N9OUMKoS#]tr$;aLk":(hTO0kV8\t@F1dhF^3of,M5+G43qsSleugJc'BRmE;_Xg*YhaH9Y_;`=$SC^)KQ1CM$#K,9k0FMJQLGaY\`4HPK45hSJ50>ZG:]?*a8$DUG]g+cFGiQHfqhKR27fJ<?*d2_;MF<;T4q7\L]:<CohL6]sX"q=J`%'SQ2VR[HBOqaJq\`;nZH1!+KB1N&CUm?8*4WD-:2/8L2cXENkRnJ5WQ2+^'`fU_L@A,s4=@F=8Re0C[Y2I@6gpgcm.=RATFZ<g>"#M,:iNQR)Gj'pCqf?"f"!&GjI?<F?#OUbrqqC@_@o5JS+XW2O[U^q_jdC2Y;/bWYt]?720:N3@q'm\0>!%ldgAb"ig;KAOp@I',klWrNX\JZ"b]:l1XV"qXNn+g6p364lRsY/LU.3LMLMFH5b6dji@CpB3bA4='-Ip];9^E<3!iR#"$>kirfh^t?^UZVMl
 s9[S#]MLC%212=qkaWS^r$JDp&8#lqC/mX=&Nr#\H\"UVu=DTADlU#)!Ght6s3of3uJu=ZdP$`*<1!p[^,,(?a8*p%;Nn`4-+)j`l>U?spNP/_!=!C&Lag1"p>ojip5Z"Mc#6SQM[@/RqN,D86#&Tb!ZcET\12gK=l>do4=`abZGjKHf7VoOQ;ni'HqsOI_j1c](J,@WF`-8<bCo<<L)#oHET(q\^,i4F(Mc'ik"XbWAdH0pEn.`k^gMe?+BKu17Ha%^,p;`fjNH[rm4'teu_@/hZ7C"C=1u1)Pmue&P$5i;8YA'p`K;RB(9QsD5,*$SQQ'EUZ^8r16@M\Wo2(Z=;QpNGS@Z1G<b3#0='sD,>a%/2Nifeapa_ZSd2rasRm3X,4G/Y!a`O@%hVAAQuKaF7kTgGF+%!7LE7r@aF?0V6mPWMi/dUX_3P>k:O.XN:<#]D-J-)>SJH8t@[q=Rfi<N(XI^!GjfL]W$r5,V4Vi4Vg>^,Qnc:EHMJeUnpsU-?u6U0hII2c3f#S]I*uaa/5\1RWXuT^mGnPpe/JBm"$ikKga.4B21s;a:%XIneLXgZENZ:*20h3U)b9YE/+9;gY*d$XCXUm=]WF(a8Eg#!<tM(\e1['jfsqdl.Bmf^RBFXrdF32'1c;2YE/T'!O"[2K;iipJ%9(H?q$H_\ts5j8k%I4$Rn,'Z5p[7TL'"mm9>gn/.V(lVp891I?<eFunp$Q2+9'n[=hhTX`T1Fr8a[W6^$$F\HQe\'<R/f+2n#5&l:"mJnHsB&Fru=PMcg7<<[(etN`@!;/S^mltMnI:N~>
 endstream
 endobj
-82 0 obj
+86 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 81 0 R
-/Annots 83 0 R
+/Contents 85 0 R
+/Annots 87 0 R
 >>
 endobj
-83 0 obj
+87 0 obj
 [
-84 0 R
+88 0 R
 ]
 endobj
-84 0 obj
+88 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 93.996 438.587 577.908 426.587 ]
+/Rect [ 90.0 438.587 589.908 426.587 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (https://svn.apache.org/repos/asf/hadoop/core/trunk/src/java/org/apache/hadoop/mapred/lib/aggregate)
+/A << /URI (https://svn.apache.org/repos/asf/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/lib/aggregate)
 /S /URI >>
 /H /I
 >>
 endobj
-85 0 obj
+89 0 obj
 << /Length 2046 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gb!Sm>Ar7S'Roe[&<$WaJ=$op;3q]:kUgSZFm6ju6WFu1:"a8l;&,oQrqE1*k)h46:>0U$:c&b9nm&nMiHLe.e'[LGkh?AY/,B4SOf'F0ZY`qGZq0^L+Z`)qB5/mEk+`H^(C(IYh*mXch6/'XEce&?aMF``'Yb[aM5I+"D><55hm?lMS6pO[/m_8)O^8s'bC<X3fIG/Z=3B'j)t!5g'ZTK=S(N%lqrCX<MQK,f>D=k))-n$4r"K,&f2M'p2Z:<>cuP7A.Y1a6^$'>hh-uTGl$:gV]6+qk[>"7d6afi31-C67"/Zhe5$q"QQTaXa);%<2;oo;3(+mLu'I8hibl![0mq:Z%D_$+ELTDE.,Rrd-a]Pg8V)2\3np'hjkA`EA2_=Z<[@d+F6SaM]+[UWc8;QRT]1/:G03A:W*4'mh<]j4)JIK`35CCE>OBY4!AQbVElI]IVYdehS9N#>HaK(F6JXY7CVAhF_!AB"nj4S69_g")o\&>5@l3Q#:(E<;c(n.UFrR:VYq3<2LY4B>EO\(X'N9[Wp6rL-a(=C6(&L4^]`$2Y266<1gr"J`S_G(lp<.0jJopj(]]imR'jOl>s>k$!m`ljpTqqZlA%^K?;WG^0COm0<SRn+t(]IQ>;e^1t&9?n3IG>3cp;"YZZo9?+V?slBV3)aUaXq4=k@a392P_h:T8_F`uPGgldLXeJTHt:EJ_8,SW9s`^;OO84j@p'?W&oLhT%&$P:msreiT(h99UjTu]fU9#A9WaU;C\`=pTQP'!DIXQn0mK+?Z8ZSc`_>>oM2>C=H!KOX^>C]OZ8-41QRn50%+6be#Aboc!oD$7OF]9QnUXT$)usrq[cb+Vb(7'UL*1aH;aUO6AYWoY//oMCibo['"U/4gKIt&KgMs8!(WSjCK1jQD7_o]eq^Mgtqe^R'O>N#K[@nE;18Anukuu58A1[CLO)q2BF9!)$8(2aN[7f`qJF*X7?t*VV1mhg+l,N=r)t,Rrj74Q
 8gl(WRQBbSYOT&4ed:dlM3'S\1fJU.FlnWtm#86$G<*;A'R$MKZs'C`Z,1qmpJ!H'X-lH,EgIKrPc."8rI+UU<,ghXYrWki/8\X2a9-5**_X7E#Dn0P-2KI$1Ac;2^q5`iIpTlg1mp;X4_t\W8YQ2e99%1P@UnsqlXmOZiM'r^='?2QPg?SRK4O\Chj>s^B8Q-Z&REbGBn\M7['o)rQ%ao>ABGZZ!V!IT8=5a`<fablpOX/[Y_SDkCYaHY'`0&ld;,ejk:XWcF7bGY(,4EB"/<1aQm16WW'u$>m/`6:C+&Zo9M!W"UQ-U7/#"2dt5ZObEXDq4j,cWK_96=:GjLGaA'HZEV,upUgVeG8hV/]TuG2uKrOQcp0"ZL8N/P3r:VX'6^Arjp-l6Wh["Wt=_cc?uqQl#V[TIRjCS\Q4E<MeNhg@U5A6&s=Q\oLV2KNP?1UZ+aJ@Uh?:%Ep)P@j&)qf34-$-g_k"$re]/E@d-#WE5$7ADhV2p[nG2@1Z3EPdQ?WJ*m\PlT`=1i70F&Y'Vb0";ce&gl!1NEVOM,g0J;GA3][&YNHZe?K:kV@LR(&gS.?&9eU#jl-ctLBrP:kKi%t`nlQl[e_<>N!RDTF)af:r4DKC^9^dPV1h>(8+mVP\&O'(%Zg496;YGga0LfR"frUM9&@$fo=tpZc>d/-,MmKPijUfr%1<,,4[=jV.:Z#0g=S>;W8JU#V"3#I#_@`%-LX^q4ao<Du>b\g!!L%?9e!,]Ba%OPJJ000S-_?'n0W#@+mU0V7`p;laH2,i]X9T7@X.Ipc5\(&9J7o'7h[C8BGpJot76-%'.`q6C9rmH3`>1pt<IZlA_iZ7IarGl.p0?CgCZ.Y+6r>FCVo6qeAF8WC;[^HsfDT;YEd#d6%6;Hf6UPW5dT4n7K-a`B83P\ja<8H,'/Xb>ma^OCn^aZS^8EL4;MR!2GP?k&j;O%Ii1E)e]\[J!\X#(dNqc8=CaIZu12.`;%%T\g>0/
 eH;6)`ZX2X[n?`WiI*b9Kfc!,U:`Ud208r4qta/Z(>Mc."aCF3/0.s[CHmN6?_JQD~>
 endstream
 endobj
-86 0 obj
+90 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 85 0 R
+/Contents 89 0 R
 >>
 endobj
-87 0 obj
-<< /Length 2232 /Filter [ /ASCII85Decode /FlateDecode ]
+91 0 obj
+<< /Length 2193 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau0DgMYe)&:NH>&FpGQW+hC*]-n$,NEm>kd`,Jo7CNe4M7ZD_/#nip[9N:\41\Q^=gB%^7?Fo*M8P`;B5W%)>eFDrr`i98$idCGO\KZ8pO2gZ^&%TDF"-Xld*fd707I':>:rZ(",f50Cq3^$bs!*G;6/O=3[CHD>4/NMO*j:9Z$!o%8Ol"F_lu\]E.'lS<eWdXGbS/$XD^]_pg.ReiDtfRkUIMe*+/$>/2c#i_lZ7i_a84#XZroK:ErM76p`PA/QooM]f]F<b:F79J=d5V.!]f:I,>6u^lqV.7W+9c)\CnWe$CH<iA;:R6fLRDX2(W-.?I+3Wg^p_;b4)cL]hG&6eH:V1`]W-3XBR(dU.L^a9/&';T7XbiPrIG3+hEmm,<#Gg/hu;o+\/NZ_HM`/;bm[G`bKu%gpn:Ycco2[*#f1C;(d-S.(`N_FA?&;D"$#NR3EXF0<\q)CRt(KU3[pUh3AH7d6$<"6]h84UFjh4R0bNefN*bKe?2(re@Bdj1+n<_2(*SmUU`RUG#@`VX>KMbkCqP_7h[EJ<,79a>Fp)M?:C4_i2A`ht)4ZG!4G'bb]aS3jo.6f0lh*fHbRPet-rY(e.W_o0%%7W>Vb<O9nt6i!>^\:;q[NJUbd(2]T+)EViuC/oZ/[N-':k',gkF/[8=nhaX^S$<"r_^"L"0BB$9JJ:4UF+-1VDg^005R%&i,:Vt`m9MAt&J=T;iZU[@1)$embb;r;[^u)'hVN@b2pYF]s=%!GB:jS'$(pu:^BlLG8[EQh#&`W2oDAW@$]7X1DH*E:VG2JS+K]]+uFFEObK6\c0R2OED-0'd()k:$qK_/_SPZa$q=Mlg\LA0VI!s5gGUAUph1`9f>R\hBMM;;[H25lMphm>L%&hbn-$Bo2RI2(Q`e1\Vj1RLs"(7DUpnIFZ5Xh;PoJ)n:HF7f#h@Lj@=S";I\a([V80h3E#=kmIt+N$=.!BM=4-j>u.)4WXq+OTkNa1'\+F#?u
 4;WAfc<M^...@F>p2*mGXG<1nOZi'&%fjX],RgSRqF+&Iqo7./s(CIS:.4I<Oa04uMS>*r[Aghmo4ji=GbETXP0'p0.oqY#[0p`\5[V3Bnm(q+Xa!+$m,(4jGZoqYV&BLga+cdF)C3!mC"ai<5sUq)VBrI&&Z9jEB9=]M$FEfWGFEubO.)V?LLO@mIsQSdMnF5Y,juTZ)K$XnIudrnC,fA3Lu/GAX"FNBA&nuqe!deIiuX!Tg^IAF3VG5#J[[^ls1CnMRU`$S:!o$%1`B"N=")*(V6@FN-.eNuf4%3a1#$W6LMOGc)(rtIn^#NZN.rUP:-VB3F0cQ[$oG3S-4OXa:9eRRXbh<2B#FG<M*Ze`DV,IoN"YiQOblO.JMFB/qaSfG2m0)djK1feiE85Sd*eeFR:)HcRuC4Zjh!,b$m<C&H^NN[QO`r64"6tmcjQq-FjhhtmB2XMYPTFGWP9t,r9X(J!4qhl!U@R:>8U,O$QfBG%m2MjZ_Yj\`Iq<bHsWR3oN%#?ZAT]L]p\MV1#>n92.P30V:kMcMVsP-4+YN1[]Zt(V\rNXa+FlWPdh#`BtIh"8eOF/^cWIR4WQV`k7HM\\h>/jCt?%^IePb?+apYiD[@a([c(cPY.ohX)q1b].%m^J]O5(e"V)4H\+B-n`FrkR2=-`!<3&
 %R.Huk.g!ur@ltQt]Cg"0fs3W"b;a?eO")bc^R55?+1mcDm^AIUYbi-ctXr>4:q@SQ,(noLob+eE:*<c%6Adm9NbdX,^m!o4Fk67>?Rh&9HoM2(>6Tq@hE1dA_BGbi(rlhjg30>tlFl,qZVI0G3mR,&ncQeS@=jV@jelAj\Ps7NCh_dS'l:M61aeQb2flf'N]'5qpS2Z:8=Pp&OH/KUs\PuRpnCi!fD/5Qe/t0*S["^;%hhd!pi;F&=DS-_~>
+Gau0DD/\/e&H;*)+nSD@@,XN=4i8t\=d*F4g9'mA%.c[0&oA;E7#dAhAAeED:2eNWOjXr]:t-(knTaf`F)QN>?G0RHr`i<9&-&h6O\KZ8pO2gY^#o.7F"-Xld*febY'sNe?*CuV$nU\ZGO+)-DU7#*O':@Bf-(`;eiL-d5Of%+Vq)`$-(Xt,NoM<\j7Ds==I0(0i/(@N\A"rLi0hg`j&UlPkW0e%*'`bkX>JN>j&RV/EM7QRefWK>a,))n,,#fqQ>GJI-I4TJ1/C:]i$1_n.ULttht9<Jn77c:OZO]N#/iIYoIS-G3)'SCOLS0?.I^bI$"VJ:WopY2("+TK,!fBR&@T239ug8-N^B4c%*q.XjFN@9WFPJK\?W.jNd:K*GkmMtZ9#*uOWr=d?<01L760NG0CfAf5f%abes/?bX$Wl#k1R7a2EhHS#I3Ma[7'G+65uLK\?<u"TF:u:??$+3>.EN/V'claTT>c</3"gBBE2[OHaog`\jU!&)l?Mlj6")Z,N`NZONiK]^,UD*\pKAigE.%5qng8P4pK"LfBd#t9'h-L1BP0Nj2H'*HEKo.98D/BC^67ZM-eN58a(Jk4`?Ek(h%F11Z1Gp1KJcM'<IeA&MS9qMJSl8J'"E=*3oTb=ePj4f\W,B*M1B+#(Yo.X;/aa<GR>@'XHJ$p0kh+33>h]hi#Rrj+A%i_IO8@VIA_Q0K'"H',^l0TT\mDOcX\$JMqn]h@_m?pSknV,jOfGGHguKdDBsh*b,1>AHjLkNg?r97<Ld[]Xuf*"5m^>nV/b/N`"N$]+V[$]FqQRD`hhiYMq;r,C6n2I"-Eo'2+ON5+<9u?JmZk1(9<(*VeE?^oXags/A%RVHC(2BaJ$R%p80-C?,(J/^KEpbKGaZA0,k8`V0N.$ZPe@k4=U%VB'2p5l"e@mr7*TGd#L7]mQ's6\bE6-OoZeg.kYlObcDk[oaNh0[F<\h?PZ*!TmAdk7'%7oXs;U/b["YN>8;
 >\AqEgA]RR'laThehtMMs].=phSUE]OS+e!lI>r@^pTglZ&=R3_bGGCaQ+gN0B'LrPo:*\bk"6kEZOG24kM6L4U/CD6VRnmM/#i)\>Q\j4?sn>I9`jS_XSEgNNb.Ig[J].,.r3[VJ5SW<as...@oa.pBF><4I>-:t2s9X*$!PVr(1Qm::u)ELg`QGO+2lV(Y_QQB,+k:u-\Eis!+aV>#WZOM_4c$6PCf$jE#'60qjT7)U?gV(V#r]7=WLZ+5,/X4)-2nm:E:74KetS\SFa=4d7]`:L8t(FGT-m.YYRFnP'4LtS<Nj6>Y*E*PlLE1Wnu[)BLn9"j56AtJ$N`"!lW(PJIFbF$nK3r$"Z\#G<V>2:WqN%;,Ae(WKbTV2bce_<".oe5*X#K4aC9dGas[?sjl<PWWkk^s*A%"q='2N`t#\l:UAJOPMWK:>)_6Kq+8UUo>sqnXFj%U'mrEIIfEh0gi3`]:B<B/"#/6^7R5I3iXdA-!qS&8[oK&.GZa)e_naibhKr*/8f]BJGh*bBsNNmKNU]=c,*W$gi4s^/pTI=Rr:T3NX\sc!;g0`q6qZ$W>0eI`&g'bIu,>3?GARI[4G",S>0R=ism9V4_:jJR,a!5U1Eo6e?"rbZcb?/e:Yb+tRcP@;',7Ya:;B1^XMIJXtLR@L9b_7K"KM-,Kr6g51?G2D*/VdpC[=N92_LFl?d0#qjLGG$p)ZO#nedR*Z5BUNP$7hk+eLd@g@b"f^D@<'B9@-U4"r+8VhS_:M-$]&(\@DiAKi6Gf+^;JC<[aR/bXY_0^omb6(-QI62,VMd_VmOI#ESopSV&g`AW3!^Q6j.;9oe8pFa#Q:hDl?q!fR""on`aO2%UTXtN#e&].g4I(skpt5]AS+lm"(/AfB!qe5h<fXgCH7db(Cb^<\MS%RrB,2B[I!5(!-Z&0[^<'HK`:0H4Pm!83oXb?RsE
 qZcZ@3ub5:'P`n?e`cm`Ha>X'E0i*0$m$"_M+=q6/H>@n;f3-=o.)si(X?LJ&e5jJnTfF:TKdn;j&#]QI@]k&&QGQ,h\_RP^`V"N(Y5kMA_g@6n.WTTDbpFPMS.I4%^Kdn,d=W^fh"ASQ?MW<*(`G@UQ=8g(a/`*iTj1)g#]B[Hpg::1*T('aB"<Hfqd4O(a9=0H$5i7EON8XXB+P!O8~>
 endstream
 endobj
-88 0 obj
+92 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 87 0 R
-/Annots 89 0 R
+/Contents 91 0 R
+/Annots 93 0 R
 >>
 endobj
-89 0 obj
+93 0 obj
 [
-90 0 R
+94 0 R
 ]
 endobj
-90 0 obj
+94 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 250.644 205.748 537.276 193.748 ]
+/Rect [ 250.644 205.748 290.628 193.748 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/hadoop/HowManyMapsAndReduces)
+/A << /URI (mapred_tutorial.html#Reducer)
 /S /URI >>
 /H /I
 >>
 endobj
-91 0 obj
+95 0 obj
 << /Length 1816 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gatm<D/\/e&H;*)+Tqt=!];9%n(kRLm?4=Keo[sJDHMXF[V2(g/S^N7Ur.ZZ:2f::QCARoJiGfKG<A(`h!sTpo?#[5o(Rf@.K$lN`"$dg+:-oSoBYS-mnse<eC)3;9R`DB]N9[3JAc8R^-_rTFF;7T+a$.QrsrPVZ?0h%J,/DGlQIe2kHRJA=7at\BcM3PQWgMk(QleJk$./tdmoJ$=l@f)Ve_kPPoD_d'h4QBH"j(+DtAr:m%UQoOd.#t>[PD0^T@6,HV:m]M;rb.^6)%h2JCSYnXWMd(),uA)@Kg[1r=5A)A<mp)Tt"i)_$`DdC>&I'9BRO$.!"jlZ>epA+TXI-:*$0fTJCe/h;UuCrN:/)=c+nM]XT*hgN/Ir;"QCaNWLrp_28SbCq[-3Xc3N>5_T$C;IA791`Wd[ruo%B8f`l[MHe,mdQXd/B87T<?\`_(%t!=g7*-hmBE'sH(KqF$R_"$$pG7M=sOYK1hd;%RZ?,,3jXj71KB\No2X>I`iOFqEP&0o5,lM!ALh7#>R/R\N0B3=`O"g^*Ge/^_;`1MD,;&pAb_NnZRLn^c(WnZ3fpgJL[VdRZG]k<k#%FR>C6_h46O2F3V<nr0s=US*ehH/!MpP@`dI;c8t89*Im^'bpM=BbL_A:$J%S0o+XM"BM=Hbe"dJd&L>s0=q32"&drmUc4qB71[T.B.RmDIV!o$BZLehbVS'lZ[W[T$\nA[RWBT2H8gGckd.@7RnSf@K1Bd8GG#-fOfjAp.V7PZFE%@jd?W.2LT7ekRt(*Z%r]i*!ZE,DL#UYns<i]_F$Q+h_(brRuN4NE*6iq3P=lOe&S%/C[k3X!q9@ejH^Y4/I>)S!'JCcj9#Z7o1N"HkNop02lV,bC]8VXaqliAdBUi]!Au7G_:@h(;'%8sMOsY?u$e/[Ag#:/HbR<Z4hC5&aP_*e\DJ!GB"Rk?9J4!q2JFa$l8&*&uYg-:EGd.M^AuCm,`Q]TaiuTt]>QD&8W
 A0+*#?#A@Hdemb0(]#mKJhjmDP#g+Z<'(%Z@0O$00E\MpZFc(>dmKBa5TYc8m3aI^mbR!Jk+5O)e\0Q<Iob_2><L'`W!*X]WOrG[HL*KJ`iCHBt$HL7m'VHZ594Vrc<_,e*4;2]:IF8qqp0kan6k+M^_#Vb4[j,4RNb>X*M<[sQcf?2o/pg,=ZT'9Am>Ak&6eF:EI1Gf/2,=In?ItGn_l5FeX$g^-/<r]kad((B>g`henG,UKlNTVOQ0*3?c0u1oZKBdVH7\XG2"#P=nsblu**aBr!.j1>imjpEju4#edV;!T3eP<_dQcLU&hWbtF)A.l]k&l??cMY;QKur#LPuB7f!e6rishEK@OcfdD2&38^q:m6FS+Oslcd^G0-ii5NZ[t>"+6`oi\"<DKMFXH2II2=Dg>k%7\-b:O!+kLKt9F9L'B'2PUcn1(8rDJc(J8'p]0ab,b#S.8?O`5'?=Up)^tb*4XaAPk^'nEf`.WpPT'=Ar$JWAM07Un[(VGmpT&-#Iklr%/r:!9E4bb;qj:C@XD%rq@GgX8hV3e@n?GX>rf(^I2XPVh#,'B.iQT25Ui=qHgs27[!B.WP_:2tJ6AO,H3;Q5OV]ldN0Q@-Zmq&%p+-]9jT)KsU1f`cl0;%]<Aem3F#9H5\$"[E$\`f`"@0iE9^n:n#2?V>0ntY$E'9]T',gCHEU:oie9h/9DU&'GuK(!s=JaA\t0(O5\V$`&]kkXGC($bZAL/J_2i-]bCGbsuW>,LTi/a*3#mY1Jd8.96kOh,V0'ja.^_X`&].W;je,L,V[3Qh\+CG-'td&^Lq=TES^9NMM@r<H+WFh@~>
 endstream
 endobj
-92 0 obj
+96 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 91 0 R
+/Contents 95 0 R
 >>
 endobj
-93 0 obj
-<< /Length 1275 /Filter [ /ASCII85Decode /FlateDecode ]
+97 0 obj
+<< /Length 1577 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat%"hf%7-&:X@\61h!*O>*J(MUFjG,[KE,fRc$O6\fe$(n%h_8tmY0n[uWNe?AB*aD'hQNfFg7GMdi+OdF8EeT1B0N1u=1/nQiS"GL8tIi30s:P3VH3=A]\d)55!m.,o>6@pHOp=V;n1p@Y:oo+!NM#F*I?cW<h&...@d>X]@8?q*[:\t1rO==>%kn7PKh;QSQWbS_``5VpjoY.(&";>OFcsXc&.8*rtJ\9)u>%V1*Y7d)5dhsRf]a"B%[]5^h&SD^<A+k&EP'"D3R,_,gX(0T-7d%S4X>lIuDck=:F4OAUJijI7Pa0KP0XFbe#FT9CRnjXnlH:)Z_4!VscLH9M5Sg$g1poC(r@i;r%d?VLf5n8rCM@Pk;=W<oS]-YT9K6WH*gKF@s-9mk@-XA6rs^SPRTpT)L,aGjre+6R/23"8.+O\pgW=n2X"7_I`)3/Z+%K,&j+XO5U8o$9j[t*Xh06,RcEk.N`Ogb:O/J7<'Kh>O@DWQYJjUjj7g'2\(I@q*fF`e:%6?[u[m1%3_Oa%'[e>+?@>b^D;m>fEG+mlrGiDgr!-\[CT0.NO+nfMD]?WQKp0:4K`Ai[.I9mq%H1IUdBlSTI[CEdGqgNg7F1XD/`TmBdp=I-.j`\N.a-g:NTt4PmfU\akkH;N4Z*`]t6S.rpc)n@f]R<]'0nKR
 MX.4`K(WG6I4_h0C!uo121-;<4nR-C1CV_k\?-pW6PBh$Hj",rANQA^\'[s$c&d2\WLQ&^_/3$KPBJr?2heLbI!Yf&I!FfJr@hBp.:/$;6]=@H+LitZn2:URhQuD*D"\4ERa6c.N2U7W(l]K!TE)TN+<XpNi3"j-#+6>t;4&Q9W*Yi(db^j.A>`U>s3"@sS9nW^<_geT-I?e]Y>n[uN8%*qHB*EqoB.a!mdMj"Y%F<`%H>Ri2![H;K?Y"MS_dHVs%e`B$G7A@gX6S*h/KK)n!IkUR"o~>
+Gb!#\>Ar7S'Roe[&Gjfj8/UVY?%Sk>dNrU^2<YZ...@o4>i2LT9fo+IPlq;\Z'93c$Pf*^PKh!c2Tl9taD,-MO-L_7^=c\PRSoE^Gnf!+%U<i"Q3.n)#4)4((l+Q)!4GQ420\'9];)p8F]9,S+BN5f9M(^*HY0;-O`,d?+?WW*K:`j3a@[<qH;b3E@BTEYk0eb.1?/[B1R"riIC$[&jdbqYh7mWLq/Gdqo?0iegSbhZd;*D2n>&LZqjH*r4b_7`qrq<@^oeb.0oGLP=4S#ZXRcV?-2IdY-U_b$['1PfDR;,&\2j<gV4ET>r=]@?%(h-H]GAe<[
 'hQA)9(Vq(-,,Z[<=oP@d#.<X"_?o4.k`l^8Gh>!?[IBd(>a39>Po=BLirDHA,;M<6I,&fdJ^YRCa`o5?W1n6qCc#5Ne<@G^%4Q:FJ"9g1(Zq$`Ql3k!#"UTc9q4HB-9tlOBbL$K7oHrT$j7+uJ+cO)!>cr664C=%hg:EdpjZl_;Au9B7nsY!U:6f3aL"Z>h.Wti'^`-C@jLCm.7N&aM"8&SH$lnGAQ?B)39_bt`3XdbDGPq1'ODQP@^Xuc>m9J2grqJY[V>*>og>T<BTk>d3Gsh$R_)r-jOQ24SKHpqdTflR200qWPJ@RX8_t]<.ZI2:6Q>(`5FB%l$mojV42mEq\CKHcFRU"!*BtfmDuH-lmH3Gm%'8OuZ&dX7i,5Rj&T/+YFK?#nLni%P8/1h7&.oc32/0t7+:.74Vf,!Ba.W\=R*lgfdf<]+*D,O<?ZTc7F2ZotPgQ^D5&`"\\hcPO,fY\LLMkp,&sS&Ei%ak.#+I=[q94Fsb]^S3q7S=#b@Iko5RG<)Ain3X,_sfUOJXV3>2cQ.-kGm>SEgnCdEH0-FpI__gY1gY.l:lh,RYp@#C)sRi;F&^HTZ$~>
 endstream
 endobj
-94 0 obj
+98 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 93 0 R
+/Contents 97 0 R
 >>
 endobj
-96 0 obj
+100 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147)
- /Parent 95 0 R
- /Next 97 0 R
+ /Parent 99 0 R
+ /Next 101 0 R
  /A 9 0 R
 >> endobj
-97 0 obj
+101 0 obj
 <<
  /Title (\376\377\0\62\0\40\0\110\0\157\0\167\0\40\0\104\0\157\0\145\0\163\0\40\0\123\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\127\0\157\0\162\0\153)
- /Parent 95 0 R
- /Prev 96 0 R
- /Next 98 0 R
+ /Parent 99 0 R
+ /Prev 100 0 R
+ /Next 102 0 R
  /A 11 0 R
 >> endobj
-98 0 obj
+102 0 obj
 <<
  /Title (\376\377\0\63\0\40\0\120\0\141\0\143\0\153\0\141\0\147\0\145\0\40\0\106\0\151\0\154\0\145\0\163\0\40\0\127\0\151\0\164\0\150\0\40\0\112\0\157\0\142\0\40\0\123\0\165\0\142\0\155\0\151\0\163\0\163\0\151\0\157\0\156\0\163)
- /Parent 95 0 R
- /Prev 97 0 R
- /Next 99 0 R
+ /Parent 99 0 R
+ /Prev 101 0 R
+ /Next 103 0 R
  /A 13 0 R
 >> endobj
-99 0 obj
+103 0 obj
 <<
  /Title (\376\377\0\64\0\40\0\123\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\117\0\160\0\164\0\151\0\157\0\156\0\163\0\40\0\141\0\156\0\144\0\40\0\125\0\163\0\141\0\147\0\145)
- /Parent 95 0 R
- /First 100 0 R
- /Last 104 0 R
- /Prev 98 0 R
- /Next 105 0 R
+ /Parent 99 0 R
+ /First 104 0 R
+ /Last 108 0 R
+ /Prev 102 0 R
+ /Next 109 0 R
  /Count -5
  /A 15 0 R
 >> endobj
-100 0 obj
+104 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\61\0\40\0\115\0\141\0\160\0\160\0\145\0\162\0\55\0\117\0\156\0\154\0\171\0\40\0\112\0\157\0\142\0\163)
- /Parent 99 0 R
- /Next 101 0 R
+ /Parent 103 0 R
+ /Next 105 0 R
  /A 17 0 R
 >> endobj
-101 0 obj
+105 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\40\0\123\0\160\0\145\0\143\0\151\0\146\0\171\0\151\0\156\0\147\0\40\0\117\0\164\0\150\0\145\0\162\0\40\0\120\0\154\0\165\0\147\0\151\0\156\0\163\0\40\0\146\0\157\0\162\0\40\0\112\0\157\0\142\0\163)
- /Parent 99 0 R
- /Prev 100 0 R
- /Next 102 0 R
+ /Parent 103 0 R
+ /Prev 104 0 R
+ /Next 106 0 R
  /A 19 0 R
 >> endobj
-102 0 obj
+106 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\63\0\40\0\114\0\141\0\162\0\147\0\145\0\40\0\146\0\151\0\154\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\141\0\162\0\143\0\150\0\151\0\166\0\145\0\163\0\40\0\151\0\156\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147)
- /Parent 99 0 R
- /Prev 101 0 R
- /Next 103 0 R
+ /Parent 103 0 R
+ /Prev 105 0 R
+ /Next 107 0 R
  /A 21 0 R
 >> endobj
-103 0 obj
+107 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\64\0\40\0\123\0\160\0\145\0\143\0\151\0\146\0\171\0\151\0\156\0\147\0\40\0\101\0\144\0\144\0\151\0\164\0\151\0\157\0\156\0\141\0\154\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\126\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163\0\40\0\146\0\157\0\162\0\40\0\112\0\157\0\142\0\163)
- /Parent 99 0 R
- /Prev 102 0 R
- /Next 104 0 R
+ /Parent 103 0 R
+ /Prev 106 0 R
+ /Next 108 0 R
  /A 23 0 R
 >> endobj
-104 0 obj
+108 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\65\0\40\0\117\0\164\0\150\0\145\0\162\0\40\0\123\0\165\0\160\0\160\0\157\0\162\0\164\0\145\0\144\0\40\0\117\0\160\0\164\0\151\0\157\0\156\0\163)
- /Parent 99 0 R
- /Prev 103 0 R
+ /Parent 103 0 R
+ /Prev 107 0 R
  /A 25 0 R
 >> endobj
-105 0 obj
+109 0 obj
 <<
  /Title (\376\377\0\65\0\40\0\115\0\157\0\162\0\145\0\40\0\165\0\163\0\141\0\147\0\145\0\40\0\145\0\170\0\141\0\155\0\160\0\154\0\145\0\163)
- /Parent 95 0 R
- /First 106 0 R
- /Last 109 0 R
- /Prev 99 0 R
- /Next 110 0 R
+ /Parent 99 0 R
+ /First 110 0 R
+ /Last 113 0 R
+ /Prev 103 0 R
+ /Next 114 0 R
  /Count -4
  /A 27 0 R
 >> endobj
-106 0 obj
+110 0 obj
 <<
  /Title (\376\377\0\65\0\56\0\61\0\40\0\103\0\165\0\163\0\164\0\157\0\155\0\151\0\172\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\127\0\141\0\171\0\40\0\164\0\157\0\40\0\123\0\160\0\154\0\151\0\164\0\40\0\114\0\151\0\156\0\145\0\163\0\40\0\151\0\156\0\164\0\157\0\40\0\113\0\145\0\171\0\57\0\126\0\141\0\154\0\165\0\145\0\40\0\120\0\141\0\151\0\162\0\163)
- /Parent 105 0 R
- /Next 107 0 R
+ /Parent 109 0 R
+ /Next 111 0 R
  /A 29 0 R
 >> endobj
-107 0 obj
+111 0 obj
 <<
  /Title (\376\377\0\65\0\56\0\62\0\40\0\101\0\40\0\125\0\163\0\145\0\146\0\165\0\154\0\40\0\120\0\141\0\162\0\164\0\151\0\164\0\151\0\157\0\156\0\145\0\162\0\40\0\103\0\154\0\141\0\163\0\163\0\40\0\50\0\163\0\145\0\143\0\157\0\156\0\144\0\141\0\162\0\171\0\40\0\163\0\157\0\162\0\164\0\54\0\40\0\164\0\150\0\145\0\40\0\55\0\160\0\141\0\162\0\164\0\151\0\164\0\151\0\157\0\156\0\145\0\162\0\40\0\157\0\162\0\147\0\56\0\141\0\160\0\141\0\143\0\150\0\145\0\56\0\150\0\141\0\144\0\157\0\157\0\160\0\56\0\155\0\141\0\160\0\162\0\145\0\144\0\56\0\154\0\151\0\142\0\56\0\113\0\145\0\171\0\106\0\151\0\145\0\154\0\144\0\102\0\141\0\163\0\145\0\144\0\120\0\141\0\162\0\164\0\151\0\164\0\151\0\157\0\156\0\145\0\162\0\40\0\157\0\160\0\164\0\151\0\157\0\156\0\51)
- /Parent 105 0 R
- /Prev 106 0 R
- /Next 108 0 R
+ /Parent 109 0 R
+ /Prev 110 0 R
+ /Next 112 0 R
  /A 31 0 R
 >> endobj
-108 0 obj
+112 0 obj
 <<
  /Title (\376\377\0\65\0\56\0\63\0\40\0\127\0\157\0\162\0\153\0\151\0\156\0\147\0\40\0\167\0\151\0\164\0\150\0\40\0\164\0\150\0\145\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\101\0\147\0\147\0\162\0\145\0\147\0\141\0\164\0\145\0\40\0\120\0\141\0\143\0\153\0\141\0\147\0\145\0\40\0\50\0\164\0\150\0\145\0\40\0\55\0\162\0\145\0\144\0\165\0\143\0\145\0\40\0\141\0\147\0\147\0\162\0\145\0\147\0\141\0\164\0\145\0\40\0\157\0\160\0\164\0\151\0\157\0\156\0\51)
- /Parent 105 0 R
- /Prev 107 0 R
- /Next 109 0 R
+ /Parent 109 0 R
+ /Prev 111 0 R
+ /Next 113 0 R
  /A 34 0 R
 >> endobj
-109 0 obj
+113 0 obj
 <<
  /Title (\376\377\0\65\0\56\0\64\0\40\0\106\0\151\0\145\0\154\0\144\0\40\0\123\0\145\0\154\0\145\0\143\0\164\0\151\0\157\0\156\0\40\0\50\0\40\0\163\0\151\0\155\0\151\0\154\0\141\0\162\0\40\0\164\0\157\0\40\0\165\0\156\0\151\0\170\0\40\0\47\0\143\0\165\0\164\0\47\0\40\0\143\0\157\0\155\0\155\0\141\0\156\0\144\0\51)
- /Parent 105 0 R
- /Prev 108 0 R
+ /Parent 109 0 R
+ /Prev 112 0 R
  /A 36 0 R
 >> endobj
-110 0 obj
+114 0 obj
 <<
  /Title (\376\377\0\66\0\40\0\106\0\162\0\145\0\161\0\165\0\145\0\156\0\164\0\154\0\171\0\40\0\101\0\163\0\153\0\145\0\144\0\40\0\121\0\165\0\145\0\163\0\164\0\151\0\157\0\156\0\163)
- /Parent 95 0 R
- /First 111 0 R
- /Last 120 0 R
- /Prev 105 0 R
- /Count -10
+ /Parent 99 0 R
+ /First 115 0 R
+ /Last 126 0 R
+ /Prev 109 0 R
+ /Count -12
  /A 38 0 R
 >> endobj
-111 0 obj
+115 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\61\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\165\0\163\0\145\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\164\0\157\0\40\0\162\0\165\0\156\0\40\0\141\0\156\0\40\0\141\0\162\0\142\0\151\0\164\0\162\0\141\0\162\0\171\0\40\0\163\0\145\0\164\0\40\0\157\0\146\0\40\0\50\0\163\0\145\0\155\0\151\0\55\0\51\0\151\0\156\0\144\0\145\0\160\0\145\0\156\0\144\0\145\0\156\0\164\0\40\0\164\0\141\0\163\0\153\0\163\0\77)
- /Parent 110 0 R
- /Next 112 0 R
+ /Parent 114 0 R
+ /Next 116 0 R
  /A 40 0 R
 >> endobj
-112 0 obj
+116 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\62\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\160\0\162\0\157\0\143\0\145\0\163\0\163\0\40\0\146\0\151\0\154\0\145\0\163\0\54\0\40\0\157\0\156\0\145\0\40\0\160\0\145\0\162\0\40\0\155\0\141\0\160\0\77)
- /Parent 110 0 R
- /Prev 111 0 R
- /Next 113 0 R
+ /Parent 114 0 R
+ /Prev 115 0 R
+ /Next 117 0 R
  /A 42 0 R
 >> endobj
-113 0 obj
+117 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\63\0\40\0\110\0\157\0\167\0\40\0\155\0\141\0\156\0\171\0\40\0\162\0\145\0\144\0\165\0\143\0\145\0\162\0\163\0\40\0\163\0\150\0\157\0\165\0\154\0\144\0\40\0\111\0\40\0\165\0\163\0\145\0\77)
- /Parent 110 0 R
- /Prev 112 0 R
- /Next 114 0 R
+ /Parent 114 0 R
+ /Prev 116 0 R
+ /Next 118 0 R
  /A 44 0 R
 >> endobj
-114 0 obj
+118 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\64\0\40\0\111\0\146\0\40\0\111\0\40\0\163\0\145\0\164\0\40\0\165\0\160\0\40\0\141\0\156\0\40\0\141\0\154\0\151\0\141\0\163\0\40\0\151\0\156\0\40\0\155\0\171\0\40\0\163\0\150\0\145\0\154\0\154\0\40\0\163\0\143\0\162\0\151\0\160\0\164\0\54\0\40\0\167\0\151\0\154\0\154\0\40\0\164\0\150\0\141\0\164\0\40\0\167\0\157\0\162\0\153\0\40\0\141\0\146\0\164\0\145\0\162\0\40\0\55\0\155\0\141\0\160\0\160\0\145\0\162\0\54\0\40\0\151\0\56\0\145\0\56\0\40\0\163\0\141\0\171\0\40\0\111\0\40\0\144\0\157\0\72\0\40\0\141\0\154\0\151\0\141\0\163\0\40\0\143\0\61\0\75\0\47\0\143\0\165\0\164\0\40\0\55\0\146\0\61\0\47\0\56\0\40\0\127\0\151\0\154\0\154\0\40\0\55\0\155\0\141\0\160\0\160\0\145\0\162\0\40\0\42\0\143\0\61\0\42\0\40\0\167\0\157\0\162\0\153\0\77)
- /Parent 110 0 R
- /Prev 113 0 R
- /Next 115 0 R
+ /Parent 114 0 R
+ /Prev 117 0 R
+ /Next 119 0 R
  /A 46 0 R
 >> endobj
-115 0 obj
+119 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\65\0\40\0\103\0\141\0\156\0\40\0\111\0\40\0\165\0\163\0\145\0\40\0\125\0\116\0\111\0\130\0\40\0\160\0\151\0\160\0\145\0\163\0\77\0\40\0\106\0\157\0\162\0\40\0\145\0\170\0\141\0\155\0\160\0\154\0\145\0\54\0\40\0\167\0\151\0\154\0\154\0\40\0\55\0\155\0\141\0\160\0\160\0\145\0\162\0\40\0\42\0\143\0\165\0\164\0\40\0\55\0\146\0\61\0\40\0\174\0\40\0\163\0\145\0\144\0\40\0\163\0\57\0\146\0\157\0\157\0\57\0\142\0\141\0\162\0\57\0\147\0\42\0\40\0\167\0\157\0\162\0\153\0\77)
- /Parent 110 0 R
- /Prev 114 0 R
- /Next 116 0 R
+ /Parent 114 0 R
+ /Prev 118 0 R
+ /Next 120 0 R
  /A 49 0 R
 >> endobj
-116 0 obj
+120 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\66\0\40\0\127\0\150\0\145\0\156\0\40\0\111\0\40\0\162\0\165\0\156\0\40\0\141\0\40\0\163\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\152\0\157\0\142\0\40\0\142\0\171\0\40\0\144\0\151\0\163\0\164\0\162\0\151\0\142\0\165\0\164\0\151\0\156\0\147\0\40\0\154\0\141\0\162\0\147\0\145\0\40\0\145\0\170\0\145\0\143\0\165\0\164\0\141\0\142\0\154\0\145\0\163\0\40\0\50\0\146\0\157\0\162\0\40\0\145\0\170\0\141\0\155\0\160\0\154\0\145\0\54\0\40\0\63\0\56\0\66\0\107\0\51\0\40\0\164\0\150\0\162\0\157\0\165\0\147\0\150\0\40\0\164\0\150\0\145\0\40\0\55\0\146\0\151\0\154\0\145\0\40\0\157\0\160\0\164\0\151\0\157\0\156\0\54\0\40\0\111\0\40\0\147\0\145\0\164\0\40\0\141\0\40\0\42\0\116\0\157\0\40\0\163\0\160\0\141\0\143\0\145\0\40\0\154\0\145\0\146\0\164\0\40\0\157\0\156\0\40\0\144\0\145\0\166\0\151\0\143\0\145\0\42\0\40\0\145\0\162\0\162\0\157\0\162\0\56\0\40\0\127\0\150\0\141\0\164\0\40\0\144\0\157\0\40\0\111\0\40\0\144\0\157\0\77)
- /Parent 110 0 R
- /Prev 115 0 R
- /Next 117 0 R
+ /Parent 114 0 R
+ /Prev 119 0 R
+ /Next 121 0 R
  /A 54 0 R
 >> endobj
-117 0 obj
+121 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\67\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\163\0\160\0\145\0\143\0\151\0\146\0\171\0\40\0\155\0\165\0\154\0\164\0\151\0\160\0\154\0\145\0\40\0\151\0\156\0\160\0\165\0\164\0\40\0\144\0\151\0\162\0\145\0\143\0\164\0\157\0\162\0\151\0\145\0\163\0\77)
- /Parent 110 0 R
- /Prev 116 0 R
- /Next 118 0 R
+ /Parent 114 0 R
+ /Prev 120 0 R
+ /Next 122 0 R
  /A 56 0 R
 >> endobj
-118 0 obj
+122 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\70\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\147\0\145\0\156\0\145\0\162\0\141\0\164\0\145\0\40\0\157\0\165\0\164\0\160\0\165\0\164\0\40\0\146\0\151\0\154\0\145\0\163\0\40\0\167\0\151\0\164\0\150\0\40\0\147\0\172\0\151\0\160\0\40\0\146\0\157\0\162\0\155\0\141\0\164\0\77)
- /Parent 110 0 R
- /Prev 117 0 R
- /Next 119 0 R
+ /Parent 114 0 R
+ /Prev 121 0 R
+ /Next 123 0 R
  /A 58 0 R
 >> endobj
-119 0 obj
+123 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\71\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\160\0\162\0\157\0\166\0\151\0\144\0\145\0\40\0\155\0\171\0\40\0\157\0\167\0\156\0\40\0\151\0\156\0\160\0\165\0\164\0\57\0\157\0\165\0\164\0\160\0\165\0\164\0\40\0\146\0\157\0\162\0\155\0\141\0\164\0\40\0\167\0\151\0\164\0\150\0\40\0\163\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\77)
- /Parent 110 0 R
- /Prev 118 0 R
- /Next 120 0 R
+ /Parent 114 0 R
+ /Prev 122 0 R
+ /Next 124 0 R
  /A 60 0 R
 >> endobj
-120 0 obj
+124 0 obj
 <<
  /Title (\376\377\0\66\0\56\0\61\0\60\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\160\0\141\0\162\0\163\0\145\0\40\0\130\0\115\0\114\0\40\0\144\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\163\0\40\0\165\0\163\0\151\0\156\0\147\0\40\0\163\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\77)
- /Parent 110 0 R
- /Prev 119 0 R
+ /Parent 114 0 R
+ /Prev 123 0 R
+ /Next 125 0 R
  /A 62 0 R
 >> endobj
-121 0 obj
+125 0 obj
+<<
+ /Title (\376\377\0\66\0\56\0\61\0\61\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\165\0\160\0\144\0\141\0\164\0\145\0\40\0\143\0\157\0\165\0\156\0\164\0\145\0\162\0\163\0\40\0\151\0\156\0\40\0\163\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\141\0\160\0\160\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\163\0\77)
+ /Parent 114 0 R
+ /Prev 124 0 R
+ /Next 126 0 R
+ /A 64 0 R
+>> endobj
+126 0 obj
+<<
+ /Title (\376\377\0\66\0\56\0\61\0\62\0\40\0\110\0\157\0\167\0\40\0\144\0\157\0\40\0\111\0\40\0\165\0\160\0\144\0\141\0\164\0\145\0\40\0\163\0\164\0\141\0\164\0\165\0\163\0\40\0\151\0\156\0\40\0\163\0\164\0\162\0\145\0\141\0\155\0\151\0\156\0\147\0\40\0\141\0\160\0\160\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\163\0\77)
+ /Parent 114 0 R
+ /Prev 125 0 R
+ /A 66 0 R
+>> endobj
+127 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-122 0 obj
+128 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-123 0 obj
+129 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F6
 /BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 endobj
-124 0 obj
+130 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-125 0 obj
+131 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-126 0 obj
+132 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-127 0 obj
+133 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -842,311 +880,329 @@
 1 0 obj
 << /Type /Pages
 /Count 14
-/Kids [6 0 R 51 0 R 64 0 R 66 0 R 68 0 R 70 0 R 72 0 R 76 0 R 80 0 R 82 0 R 86 0 R 88 0 R 92 0 R 94 0 R ] >>
+/Kids [6 0 R 51 0 R 68 0 R 70 0 R 72 0 R 74 0 R 76 0 R 80 0 R 84 0 R 86 0 R 90 0 R 92 0 R 96 0 R 98 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 95 0 R
+ /Outlines 99 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 121 0 R /F5 122 0 R /F1 124 0 R /F6 123 0 R /F9 125 0 R /F2 126 0 R /F7 127 0 R >> 
+/Font << /F3 127 0 R /F5 128 0 R /F1 130 0 R /F6 129 0 R /F9 131 0 R /F2 132 0 R /F7 133 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
 <<
 /S /GoTo
-/D [64 0 R /XYZ 85.0 659.0 null]
+/D [68 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
 11 0 obj
 <<
 /S /GoTo
-/D [64 0 R /XYZ 85.0 521.106 null]
+/D [68 0 R /XYZ 85.0 521.106 null]
 >>
 endobj
 13 0 obj
 <<
 /S /GoTo
-/D [66 0 R /XYZ 85.0 571.96 null]
+/D [70 0 R /XYZ 85.0 571.96 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [66 0 R /XYZ 85.0 236.926 null]
+/D [70 0 R /XYZ 85.0 236.926 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [66 0 R /XYZ 85.0 205.792 null]
+/D [70 0 R /XYZ 85.0 205.792 null]
 >>
 endobj
 19 0 obj
 <<
 /S /GoTo
-/D [68 0 R /XYZ 85.0 624.6 null]
+/D [72 0 R /XYZ 85.0 624.6 null]
 >>
 endobj
 21 0 obj
 <<
 /S /GoTo
-/D [68 0 R /XYZ 85.0 428.847 null]
+/D [72 0 R /XYZ 85.0 428.847 null]
 >>
 endobj
 23 0 obj
 <<
 /S /GoTo
-/D [70 0 R /XYZ 85.0 207.14 null]
+/D [74 0 R /XYZ 85.0 207.14 null]
 >>
 endobj
 25 0 obj
 <<
 /S /GoTo
-/D [72 0 R /XYZ 85.0 554.1 null]
+/D [76 0 R /XYZ 85.0 554.1 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [76 0 R /XYZ 85.0 447.72 null]
+/D [80 0 R /XYZ 85.0 447.72 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [76 0 R /XYZ 85.0 416.586 null]
+/D [80 0 R /XYZ 85.0 416.586 null]
 >>
 endobj
 31 0 obj
 <<
 /S /GoTo
-/D [80 0 R /XYZ 85.0 624.6 null]
+/D [84 0 R /XYZ 85.0 624.6 null]
 >>
 endobj
 34 0 obj
 <<
 /S /GoTo
-/D [82 0 R /XYZ 85.0 480.04 null]
+/D [86 0 R /XYZ 85.0 480.04 null]
 >>
 endobj
 36 0 obj
 <<
 /S /GoTo
-/D [86 0 R /XYZ 85.0 550.54 null]
+/D [90 0 R /XYZ 85.0 550.54 null]
 >>
 endobj
 38 0 obj
 <<
 /S /GoTo
-/D [86 0 R /XYZ 85.0 157.107 null]
+/D [90 0 R /XYZ 85.0 157.107 null]
 >>
 endobj
 40 0 obj
 <<
 /S /GoTo
-/D [88 0 R /XYZ 85.0 659.0 null]
+/D [92 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
 42 0 obj
 <<
 /S /GoTo
-/D [88 0 R /XYZ 85.0 567.294 null]
+/D [92 0 R /XYZ 85.0 567.294 null]
 >>
 endobj
 44 0 obj
 <<
 /S /GoTo
-/D [88 0 R /XYZ 85.0 234.001 null]
+/D [92 0 R /XYZ 85.0 234.001 null]
 >>
 endobj
 46 0 obj
 <<
 /S /GoTo
-/D [88 0 R /XYZ 85.0 182.748 null]
+/D [92 0 R /XYZ 85.0 182.748 null]
 >>
 endobj
 49 0 obj
 <<
 /S /GoTo
-/D [92 0 R /XYZ 85.0 442.08 null]
+/D [96 0 R /XYZ 85.0 442.08 null]
 >>
 endobj
 54 0 obj
 <<
 /S /GoTo
-/D [92 0 R /XYZ 85.0 363.574 null]
+/D [96 0 R /XYZ 85.0 363.574 null]
 >>
 endobj
 56 0 obj
 <<
 /S /GoTo
-/D [92 0 R /XYZ 85.0 238.095 null]
+/D [96 0 R /XYZ 85.0 238.095 null]
 >>
 endobj
 58 0 obj
 <<
 /S /GoTo
-/D [92 0 R /XYZ 85.0 157.262 null]
+/D [96 0 R /XYZ 85.0 157.262 null]
 >>
 endobj
 60 0 obj
 <<
 /S /GoTo
-/D [94 0 R /XYZ 85.0 598.2 null]
+/D [98 0 R /XYZ 85.0 598.2 null]
 >>
 endobj
 62 0 obj
 <<
 /S /GoTo
-/D [94 0 R /XYZ 85.0 520.547 null]
+/D [98 0 R /XYZ 85.0 520.547 null]
 >>
 endobj
-95 0 obj
+64 0 obj
+<<
+/S /GoTo
+/D [98 0 R /XYZ 85.0 395.454 null]
+>>
+endobj
+66 0 obj
 <<
- /First 96 0 R
- /Last 110 0 R
+/S /GoTo
+/D [98 0 R /XYZ 85.0 317.801 null]
+>>
+endobj
+99 0 obj
+<<
+ /First 100 0 R
+ /Last 114 0 R
 >> endobj
 xref
-0 128
+0 134
 0000000000 65535 f 
-0000045851 00000 n 
-0000046001 00000 n 
-0000046093 00000 n 
+0000047287 00000 n 
+0000047437 00000 n 
+0000047529 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000002128 00000 n 
 0000002248 00000 n 
 0000002420 00000 n 
-0000046245 00000 n 
+0000047681 00000 n 
 0000002555 00000 n 
-0000046308 00000 n 
+0000047744 00000 n 
 0000002692 00000 n 
-0000046374 00000 n 
+0000047810 00000 n 
 0000002829 00000 n 
-0000046439 00000 n 
+0000047875 00000 n 
 0000002966 00000 n 
-0000046505 00000 n 
+0000047941 00000 n 
 0000003103 00000 n 
-0000046571 00000 n 
+0000048007 00000 n 
 0000003239 00000 n 
-0000046635 00000 n 
+0000048071 00000 n 
 0000003375 00000 n 
-0000046701 00000 n 
+0000048137 00000 n 
 0000003512 00000 n 
-0000046766 00000 n 
+0000048202 00000 n 
 0000003648 00000 n 
-0000046830 00000 n 
+0000048266 00000 n 
 0000003784 00000 n 
-0000046895 00000 n 
+0000048331 00000 n 
 0000003919 00000 n 
-0000046961 00000 n 
+0000048397 00000 n 
 0000004058 00000 n 
 0000004193 00000 n 
-0000047025 00000 n 
+0000048461 00000 n 
 0000004330 00000 n 
-0000047090 00000 n 
+0000048526 00000 n 
 0000004467 00000 n 
-0000047155 00000 n 
+0000048591 00000 n 
 0000004604 00000 n 
-0000047221 00000 n 
+0000048657 00000 n 
 0000004743 00000 n 
-0000047285 00000 n 
+0000048721 00000 n 
 0000004879 00000 n 
-0000047351 00000 n 
+0000048787 00000 n 
 0000005015 00000 n 
-0000047417 00000 n 
+0000048853 00000 n 
 0000005154 00000 n 
 0000005288 00000 n 
-0000047483 00000 n 
+0000048919 00000 n 
 0000005424 00000 n 
-0000006221 00000 n 
-0000006344 00000 n 
-0000006399 00000 n 
-0000047548 00000 n 
-0000006531 00000 n 
-0000047614 00000 n 
-0000006663 00000 n 
-0000047680 00000 n 
-0000006796 00000 n 
-0000047746 00000 n 
-0000006929 00000 n 
-0000047810 00000 n 
-0000007062 00000 n 
-0000009221 00000 n 
-0000009329 00000 n 
-0000011445 00000 n 
-0000011553 00000 n 
-0000013743 00000 n 
-0000013851 00000 n 
-0000015580 00000 n 
-0000015688 00000 n 
-0000018461 00000 n 
-0000018584 00000 n 
-0000018611 00000 n 
-0000018802 00000 n 
-0000021116 00000 n 
-0000021239 00000 n 
-0000021266 00000 n 
-0000021459 00000 n 
-0000023600 00000 n 
-0000023708 00000 n 
-0000025613 00000 n 
-0000025736 00000 n 
-0000025763 00000 n 
-0000026014 00000 n 
-0000028153 00000 n 
-0000028261 00000 n 
-0000030586 00000 n 
-0000030709 00000 n 
-0000030736 00000 n 
-0000030941 00000 n 
-0000032850 00000 n 
-0000032958 00000 n 
-0000034326 00000 n 
-0000047876 00000 n 
-0000034434 00000 n 
-0000034620 00000 n 
-0000034861 00000 n 
-0000035167 00000 n 
-0000035475 00000 n 
-0000035673 00000 n 
-0000035986 00000 n 
-0000036363 00000 n 
-0000036801 00000 n 
-0000037041 00000 n 
-0000037303 00000 n 
-0000037729 00000 n 
-0000038563 00000 n 
-0000039103 00000 n 
-0000039485 00000 n 
-0000039776 00000 n 
-0000040356 00000 n 
-0000040683 00000 n 
-0000040983 00000 n 
-0000041834 00000 n 
-0000042415 00000 n 
-0000043460 00000 n 
-0000043837 00000 n 
-0000044236 00000 n 
-0000044699 00000 n 
-0000045071 00000 n 
-0000045185 00000 n 
-0000045296 00000 n 
-0000045408 00000 n 
-0000045517 00000 n 
-0000045624 00000 n 
-0000045741 00000 n 
+0000006309 00000 n 
+0000006432 00000 n 
+0000006501 00000 n 
+0000048984 00000 n 
+0000006633 00000 n 
+0000049050 00000 n 
+0000006765 00000 n 
+0000049116 00000 n 
+0000006898 00000 n 
+0000049182 00000 n 
+0000007031 00000 n 
+0000049246 00000 n 
+0000007164 00000 n 
+0000049312 00000 n 
+0000007296 00000 n 
+0000049378 00000 n 
+0000007428 00000 n 
+0000009587 00000 n 
+0000009695 00000 n 
+0000011811 00000 n 
+0000011919 00000 n 
+0000014109 00000 n 
+0000014217 00000 n 
+0000015946 00000 n 
+0000016054 00000 n 
+0000018808 00000 n 
+0000018931 00000 n 
+0000018958 00000 n 
+0000019170 00000 n 
+0000021458 00000 n 
+0000021581 00000 n 
+0000021608 00000 n 
+0000021821 00000 n 
+0000023962 00000 n 
+0000024070 00000 n 
+0000025959 00000 n 
+0000026082 00000 n 
+0000026109 00000 n 
+0000026360 00000 n 
+0000028499 00000 n 
+0000028607 00000 n 
+0000030893 00000 n 
+0000031016 00000 n 
+0000031043 00000 n 
+0000031225 00000 n 
+0000033134 00000 n 
+0000033242 00000 n 
+0000034912 00000 n 
+0000049444 00000 n 
+0000035020 00000 n 
+0000035208 00000 n 
+0000035452 00000 n 
+0000035761 00000 n 
+0000036071 00000 n 
+0000036270 00000 n 
+0000036584 00000 n 
+0000036962 00000 n 
+0000037401 00000 n 
+0000037642 00000 n 
+0000037905 00000 n 
+0000038331 00000 n 
+0000039165 00000 n 
+0000039705 00000 n 
+0000040087 00000 n 
+0000040378 00000 n 
+0000040958 00000 n 
+0000041285 00000 n 
+0000041585 00000 n 
+0000042436 00000 n 
+0000043017 00000 n 
+0000044062 00000 n 
+0000044439 00000 n 
+0000044838 00000 n 
+0000045301 00000 n 
+0000045688 00000 n 
+0000046111 00000 n 
+0000046507 00000 n 
+0000046621 00000 n 
+0000046732 00000 n 
+0000046844 00000 n 
+0000046953 00000 n 
+0000047060 00000 n 
+0000047177 00000 n 
 trailer
 <<
-/Size 128
+/Size 134
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-47928
+49497
 %%EOF

Modified: hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml?rev=669897&r1=669896&r2=669897&view=diff
==============================================================================
--- hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml (original)
+++ hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml Fri Jun 20 06:53:45 2008
@@ -222,7 +222,8 @@
 The -jobconf mapred.reduce.tasks=2 in the above example specifies to use two reducers for the job.
 </p>
 <p>
-For more details on the jobconf parameters see: <a href="http://wiki.apache.org/hadoop/JobConfFile">http://wiki.apache.org/hadoop/JobConfFile</a></p>
+For more details on the jobconf parameters see:
+<a href="ext:hadoop-default">hadoop-default.html</a></p>
 </section>
 
 <section>
@@ -264,8 +265,9 @@
    -jobconf mapred.temp.dir=/tmp/temp
 </source>
 <p>
-For more details on jobconf parameters see: <a href="http://wiki.apache.org/hadoop/JobConfFile">http://wiki.apache.org/hadoop/JobConfFile</a>
-</p><p>
+For more details on jobconf parameters see:
+<a href="ext:hadoop-default">hadoop-default.html</a></p>
+<p>
 To set an environment variable in a streaming command use:
 </p>
 <source>
@@ -362,7 +364,15 @@
 <section>
 <title>Working with the Hadoop Aggregate Package (the -reduce aggregate option) </title>
 <p>
-Hadoop has a library package called "Aggregate" (<a href="https://svn.apache.org/repos/asf/hadoop/core/trunk/src/java/org/apache/hadoop/mapred/lib/aggregate">https://svn.apache.org/repos/asf/hadoop/core/trunk/src/java/org/apache/hadoop/mapred/lib/aggregate</a>).  Aggregate provides a special reducer class and a special combiner class, and a list of simple aggregators that perform aggregations such as "sum", "max", "min" and so on  over a sequence of values. Aggregate allows you to define a mapper plugin class that is expected to generate "aggregatable items" for each input key/value pair of the mappers. The combiner/reducer will aggregate those aggregatable items by invoking the appropriate aggregators.
+Hadoop has a library package called "Aggregate" (
+<a href="https://svn.apache.org/repos/asf/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/lib/aggregate">
+https://svn.apache.org/repos/asf/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/lib/aggregate</a>).
+Aggregate provides a special reducer class and a special combiner class, and
+a list of simple aggregators that perform aggregations such as "sum", "max",
+"min" and so on  over a sequence of values. Aggregate allows you to define a
+mapper plugin class that is expected to generate "aggregatable items" for each
+input key/value pair of the mappers. The combiner/reducer will aggregate those
+aggregatable items by invoking the appropriate aggregators.
 </p><p>
 To use Aggregate, simply specify "-reducer aggregate":
 </p>
@@ -452,8 +462,8 @@
 <li>The existing Hadoop Framework:<ul>
    <li>Add these commands to your main function:
 <source>
-       OutputFormatBase.setCompressOutput(conf, true);
-       OutputFormatBase.setOutputCompressorClass(conf, org.apache.hadoop.io.compress.GzipCodec.class);
+       FileOutputFormat.setCompressOutput(conf, true);
+       FileOutputFormat.setOutputCompressorClass(conf, org.apache.hadoop.io.compress.GzipCodec.class);
        conf.setOutputFormat(NonSplitableTextInputFormat.class);
        conf.setNumReduceTasks(0);
 </source></li>
@@ -474,7 +484,7 @@
 <section>
 <title>How many reducers should I use? </title>
 <p>
-See the Hadoop Wiki for details: <a href="http://wiki.apache.org/hadoop/HowManyMapsAndReduces">http://wiki.apache.org/hadoop/HowManyMapsAndReduces</a>
+See the Hadoop Wiki for details: <a href="mapred_tutorial.html#Reducer">Reducer</a>
 </p>
 </section>
 
@@ -559,6 +569,25 @@
 Anything found between BEGIN_STRING and END_STRING would be treated as one record for map tasks.
 </p>
 </section>
+
+<section>
+<title>How do I update counters in streaming applications? </title>
+<p>
+A streaming process can use the stderr to emit counter information.
+<code>reporter:counter:&lt;group&gt;,&lt;counter&gt;,&lt;amount&gt;</code> 
+should be sent to stderr to update the counter.
+</p>
+</section>
+
+<section>
+<title>How do I update status in streaming applications? </title>
+<p>
+A streaming process can use the stderr to emit status information.
+To set a status, <code>reporter:status:&lt;message&gt;</code> should be sent 
+to stderr.
+</p>
+</section>
+
 </section>
 </body>
 </document>