home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume40 / nocol / part10 < prev    next >
Encoding:
Text File  |  1993-11-22  |  76.5 KB  |  1,917 lines

  1. Newsgroups: comp.sources.misc
  2. From: vikas@jvnc.net (Vikas Aggarwal)
  3. Subject: v40i140:  nocol - Network Monitoring System, Part10/26
  4. Message-ID: <1993Nov23.035259.6479@sparky.sterling.com>
  5. X-Md4-Signature: af741ee762df8cd15f9ef631dde04b5d
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Tue, 23 Nov 1993 03:52:59 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: vikas@jvnc.net (Vikas Aggarwal)
  12. Posting-number: Volume 40, Issue 140
  13. Archive-name: nocol/part10
  14. Environment: INET, UNIX
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C
  21. #   nocol-3.0/src/eventselect/eventselect.c
  22. #   nocol-3.0/src/lib/getdate.y
  23. # Wrapped by kent@sparky on Tue Nov  9 22:22:17 1993
  24. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  25. echo If this archive is complete, you will see the following message:
  26. echo '          "shar: End of archive 10 (of 26)."'
  27. if test -f 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C'\"
  29. else
  30.   echo shar: Extracting \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C'\" \(45370 characters\)
  31.   sed "s/^X//" >'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C' <<'END_OF_FILE'
  32. XM/   IC@     1   /@  ID0     1   0   IE0     1   0@  IF      
  33. XM1   0P  IH      1   10  II      1   1P  IIP     1   2   IKP 
  34. XM    1   2@  ILP     1   3   IM@     1   30  IN@     X    @  
  35. XM 00     1   3@  IO0  %BL)    0  IP      1   6   IP   %C$H   
  36. XM 0   $0  %C1H   !    $@  %C@H    0   $P  %CLH   !    %   %CY
  37. XMH   !    %0  %D)H   !    %@     1   6   IR0     1   60  IR0 
  38. XM    1   6@  IU      1   7   IV      1   8   IVP     1   80  
  39. XMIXP     1   8P  IYP     1   9P  IZ@     1   :   I\P     1   
  40. XM:@  I]P     1   ;   I^@     1   ;0  I_0  %D;!       J    %DB
  41. XM9       J    %E>9       J    %EE@            %F/@           
  42. XM %FI@            %G4@            %GV@            %H9@       
  43. XM     %H_@            %IA@            %J"@            %J;@   
  44. XM         %JV@            %K*@            %K<P@      ?G8  %KU
  45. XMP@      ,:(  %L1P@           %LNP@      4%H  %M(P@       I\ 
  46. XM %M1)    0  J       1   0   J    %MNH    0   $0  %M[0    0  
  47. XM !@  %N(H   !    $@  %NB0   !    !D  %NUH    0   $P  %O"H   
  48. XM!    %   %O/H   !    %0     1   0   J!@  %O>0    0   !T     
  49. XM1   1   J!@  %OK@   !/____P  %O\0   !    !P     1   1@  J!P 
  50. XM    P    @   "      1   2   J"      1   2@  J#      1   3   
  51. XMJ#P     1   30  J$P     1   3@  J&      1   4   J&P     1   
  52. XM4@  J'@     1   5   J)0     1   5P  J*      1   7@  J,@     
  53. XM1   7P  J-0     1   80  J-@     1   8P  J.P     1   90  J/@ 
  54. XM    1   9@  J1      1   9P  J2      1   :   J20     1   :0  
  55. XMJ4      1   :@  J5P     1   :P  J60     X    @   7      1   
  56. XM;   J7   %P))    0  J7P     1   @   J7P  %P?H    0   $0  %PL
  57. XM0    0   !@  %PYH   !    $@  %Q,0   !    !D  %Q?H    0   $\ 
  58. XM %QKH   !    %   %QX0   !    !L  %R%H   !    %0  %R40   !   
  59. XM !P     1   @   J8P  %RC0   !    !T  %RR0   !    !H     P   
  60. XM @   8P     1   B   J8P     1   B0  J9@     1   B@  J:0     
  61. XM1   D   J:@     1   D@  J;      1   DP  J=@     1   E   J=P 
  62. XM    1   E@  J>@     1   EP  J@0     1   F   JA      1   F0  
  63. XMJAP     1   F@  JBP     1   FP  JC@     1   G   JD0     1   
  64. XMG@  JDP     1   GP  JF      1   H   JG      1   H@  JGP     
  65. XMX    @   H@     1   HP  JH@  %R^)    0  JI0     1   N0  JI0 
  66. XM %S7H    0   $0  %SDH   !    $@  %SW0   !    !D  %T*H    0  
  67. XM $P  %T7H    0   %   %TFH   !    %0  %TX0   !    !P     1   
  68. XMN0  JJP  %U*0    0   !T     1   P   JJP  %U7@   !/____P     
  69. XMP    @   K      1   PP  JK      1   Q   JL      1   Q0  JM0 
  70. XM    1   Q@  JN      1   QP  JNP     1   R0  JPP     1   RP  
  71. XMJQ@     1   S0  JRP     1   SP  JS@     1   T   JTP     1   
  72. XMT0  JU0     1   T@  JW      X    @   X      1   TP  JX   %UH
  73. XM)    0  JXP     1   YP  JXP  %V!H    0   $0  %V.H   !    $@ 
  74. XM %VA0   !    !D  %VTH    0   $\  %W H    0   %   %W/H   !   
  75. XM %0  %W@0   !    !P     1   YP  JZ0     1   [@  JZ0     1   
  76. XM[P  J\      1   \   J]      1   \0  J]P     1   \@  J^P     
  77. XM1   \P  J_@     1   ]   K P     1   ]0  K!@     1   ]@  K"@ 
  78. XM %WQ)    0  K#0     1  !!P  K#0  %X*H    0   $0  %X7H   !   
  79. XM $@  %XJH    0   $P     1  !!P  K$P  %XW0    0   !T     1  !
  80. XM"   K$P  %Y$0   !    !P  %Y6@   !/____P     P    @  !%      
  81. XM1  !#0  K%      1  !#P  K&0     1  !$0  K'      1  !$@  K'P 
  82. XM    1  !$P  K)      1  !%   K)P     1  !%0  K*@     1  !%@  
  83. XMK+0     1  !&   K-      1  !&@  K-P     1  !&P  K.@     X   
  84. XM @  !/0     1  !'   K/0  %YG)    0  K0      1  !,0  K0   %Z 
  85. XMH    0   $0  %Z-0    0   !@  %Z:H   !    $@  %ZMH    0   $\ 
  86. XM %ZYH   !    %      1  !,0  K1@     1  !,@  K1@     1  !,P  
  87. XMK2P     1  !-   K3@     1  !-0  K40     1  !-@  K50     1  !
  88. XM.   K7   %[')    0  K7P     1  !1@  K7P  %[@H    0   $0  %[M
  89. XMH   !    $@     1  !1@  K9   %\#0    0   !T     1  !1P  K9  
  90. XM    P    @  !9P     1  !20  K9P     1  !2@  K:@     1  !2P  
  91. XMK;      1  !30  K;P     1  !3P  K<@     1  !40  K=0     1  !
  92. XM4P  K>      1  !5   K?@     1  !50  K@@     1  !5@  KB0     
  93. XM1  !6   KC@     1  !60  KD      X    @  !E      1  !6P  KE  
  94. XM %\5)    0  KEP     1  !8@  KEP  %\NH    0   $0  %\[0    0  
  95. XM !@  %](H   !    $@  %];H   !    $P  %]I0   !    !H     1  !
  96. XM8@  KFP  %]W@    ?____P     1  !8P  KFP     P    @  !G      
  97. XM1  !9@  KG      1  !9P  KGP     1  !:   KHP     1  !:0  KI@ 
  98. XM    1  !:@  KJ0     1  !;   KK0     1  !;0  KL      1  !;@  
  99. XMKM      1  !<   KMP     1  !<@  KO@     1  !=   KP0     1  !
  100. XM=0  KQP     X    @  !R@     1  !=P  KR@  %^))    0  KS0     
  101. XM1  !C   KS0  %^AH    0   $0  %^NH   !    $@  %_!H    0   $P 
  102. XM %_.H   !    %   %_<H   !    %0     1  !C   KU0  %_P0    0  
  103. XM !T     1  !DP  KU0  %_]0   !    !P     1  !E   KU@  & *0   
  104. XM!    !L  & ?0   !    !H  & M@   !/____P     P    @  !V0     
  105. XM1  !F0  KV0     1  !F@  KW0     1  !FP  KX@     1  !G   KY0 
  106. XM    1  !G0  KZ      1  !GP  K\0     1  !H0  K]      1  !HP  
  107. XMK_      1  !I   K_0     1  !I0  L 0     1  !I@  L#      1  !
  108. XMIP  L#0     1  !J   L#0     1  !J0  L$@     1  !J@  L$P     
  109. XM1  !JP  L&0     1  !K0  L'      1  !KP  L'P     1  !N   L(P 
  110. XM    1  !N0  L)@     1  !N@  L+0     1  !O   L-@     1  !O0  
  111. XML.P     X    @  "/@     1  !O@  L/@  & ^)    0  L00     1  !
  112. XMT0  L00  &!6H    0   $0  &!C0    0   !@  &!PH   !    $@  &"#
  113. XMH    0   $\  &"/H   !    %   &"=H   !    %0     1  !T0  L2  
  114. XM &"P@    ?___\   &#.@    ?___[P     1  !V0  L2   @   !/__
  115. XM_KP  &#Y@   !/___K@     1  !VP  L2@  &$#0   !    !T  &$40   
  116. XM!    !P  &$A0   !    !L  &$M0   !    !H  &$]0   !    !D  &%)
  117. XM0   !    !<     P    @  "3      1  !X   L3      1  !XP  L4@ 
  118. XM    1  !Y   L7      1  !Y0  L7P     1  !YP  L8@     1  !Z   
  119. XML:0     1  !Z0  L;P     1  !Z@  L<      1  ![   L<0     1  !
  120. XM[0  L=@     1  ![@  L>0     1  ![P  L>@     1  ![   L>P     
  121. XM1  !\P  L@      1  !]   L@P     1  !]0  LAP     1  !]@  LB0 
  122. XM    1  !\P  LD0     1  !^   LE@     1  !^@  LG@     1  !^P  
  123. XMLH@     1  !_   LJ0     1  !_0  LK      1  !_@  LKP     1  !
  124. XM_P  LM      1  "    LMP     1  " 0  LO      1  " @  LP      
  125. XMX    @  "PP     1  " P  LPP  &%9)    0  LQ@     1  "%   LQ@ 
  126. XM &%PH    0   $0  &%]H   !    $@  &&0H    0   $P     1  "%   
  127. XMLS   &&=0    0   !T     1  "&   LS   &&J@   !/____P     P   
  128. XM @  "S0     1  "&P  LS0     1  "'   LT0     1  "'0  LU@     
  129. XM1  "'@  LV0     1  "'P  LW      1  "(0  LX      1  "(P  LXP 
  130. XM    1  ")   LZ0     X    @  "[0     1  ")0  L[0  &&[)    0  
  131. XML\      1  "-P  L\   &'2H    0   $0  &'?H   !    $@  &'RH   
  132. XM 0   $\     1  "-P  L]@     1  ".P  L]@     1  "/   L_@  &'^
  133. XM!0 8R   QMP  &(%!P 8'0  \8   &(,"0 %S   \A@  &(1!0 -K   ("  
  134. XM &(7!0 ,'   (I   &(=!P!D/   XE   &(F!0 (!P  =N0  &(R!0!EW0  
  135. XM2ZP  &)"!0 G.0  ,DP  &)2!0!BX@  0F0  &)<!0 +W@  2OP  &)I!0!0
  136. XM_0  *$@  &)Z!0 W>P  ,$   &*/!P!>I@  XE@  &*:!0 &K@  ,A0  &*L
  137. XM!P L_   XG   &*^!0 $*   <3@  &+)!0!#Y0  C(   &+8!0!,-@  *-0 
  138. XM &+K!0!:K   1>P  &+W!P Z=0  XY   &,%!0 D\@  EK0  &,3!0 AU0  
  139. XM+,0  &,A"0 &S0  \8   &,S!0!$%0  DX@  &-%!0 &2@  *>   &-7!0 $
  140. XM @  C50  &-B!0 $)   AHP  &-M"0 %8   \9   &-R!0 ,9P  3O   &-_
  141. XM!0 =90  3/   &.0!0!C(@  ;\P  &.:!P /V@  Y(   &.G!0 U_@  2U@ 
  142. XM &.U!0 VAP  3E   &/#!0!06   3Z   &//!P '\@  Y)@  &/A!P +-0  
  143. XMZ)   &/G"0!C%P  \9@  &/P!P S:P  Z)0  &/X!P (8P  [W0  &0$!0!;
  144. XM-P  JI0  &06!0 AMP  JXP  &0H!0!81   K#0  &0Z!0 >Q   K0   &1,
  145. XM!0 *V   J    &1;!0 #J   J7P  &1J!0!$S   IP   &1[!0!%/P  I?  
  146. XM &2,!P!($0  [W@  &28!P!710  [VP  &2B!P 7(@  [W   &2I!P \\0  
  147. XM[T@  &2]!0 L;@  KS0  &3.!0 /K@  L00  &3?!0 28   FR@  &3R!0 _
  148. XM/@  G3   &4%!0!F 0  G'0  &42!0!"S@  H'   &4C!0 '\   L\   &4S
  149. XM!0 ?S   KEP  &5%!0!93   K7P  &57!0 64   LQ@  &5G7U]$64Y!34E#
  150. XM &-R=# N;P!S;FUP=V%L:RYO "]T;7!?;6YT+VYE="]N:7-C+W5S<B]L;V-A
  151. XM;"]S<F,O;F]C;VPO<W)C+V-M=2US;FUP+V%P<',O '-N;7!W86QK+F, :6YT
  152. XM.G0H,"PQ*3UR*# L,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL 8VAA<CIT
  153. XM*# L,BD]<B@P+#(I.S [,3(W.P!L;VYG.G0H,"PS*3UR*# L,2D[+3(Q-#<T
  154. XM.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z="@P+#0I/7(H,"PQ*3LM,S(W-C@[
  155. XM,S(W-C<[ '5N<VEG;F5D(&-H87(Z="@P+#4I/7(H,"PQ*3LP.S(U-3L =6YS
  156. XM:6=N960@<VAO<G0Z="@P+#8I/7(H,"PQ*3LP.S8U-3,U.P!U;G-I9VYE9"!L
  157. XM;VYG.G0H,"PW*3UR*# L,2D[,#LM,3L =6YS:6=N960@:6YT.G0H,"PX*3UR
  158. XM*# L,2D[,#LM,3L 9FQO870Z="@P+#DI/7(H,"PQ*3LT.S [ &1O=6)L93IT
  159. XM*# L,3 I/7(H,"PQ*3LX.S [ '9O:60Z="@P+#$Q*3TH,"PQ,2D /S\_.G0H
  160. XM,"PQ,BD]*# L,2D +W5S<B]I;F-L=61E+W-Y<R]T>7!E<RYH "]U<W(O:6YC
  161. XM;'5D92]S>7,O<W1D='EP97,N: !S:6=S971?=#IT*# L,2D <W!E961?=#IT
  162. XM*# L."D =&-F;&%G7W0Z="@P+#@I &-C7W0Z="@P+#4I '!I9%]T.G0H,"PQ
  163. XM*0!M;V1E7W0Z="@P+#8I &YL:6YK7W0Z="@P+#0I &-L;V-K7W0Z="@P+#$I
  164. XM '1I;65?=#IT*# L,2D <VEZ95]T.G0H,"PQ*0!P=')D:69F7W0Z="@P+#$I
  165. XM '=C:&%R7W0Z="@P+#8I "]U<W(O:6YC;'5D92]S>7,O<WES;6%C<F]S+F@ 
  166. XM=5]C:&%R.G0H,"PU*0!U7W-H;W)T.G0H,"PV*0!U7VEN=#IT*# L."D =5]L
  167. XM;VYG.G0H,"PX*0!U<VAO<G0Z="@P+#8I '5I;G0Z="@P+#@I %]P:'ES861R
  168. XM7W0Z5"@Q+#$I/7,T<CHH,2PR*3UA<B@P+#$I.S [,#LH,"PQ*2PP+#,R.SL 
  169. XM<&AY<V%D<E]T.G0H,2PS*3TJ*#$L,2D ;&%B96Q?=#I4*#$L-"D]<SAV86PZ
  170. XM*#$L-2D]87(H,"PQ*3LP.S$[*# L,2DL,"PV-#L[ &QA8F5L7W0Z="@Q+#0I
  171. XM %]Q=6%D7W0Z5"@Q+#8I/7,X=F%L.B@Q+#4I+# L-C0[.P!Q=6%D7W0Z="@Q
  172. XM+#8I &1A9&1R7W0Z="@P+#$I &-A9&1R7W0Z="@Q+#<I/2HH,"PR*0!I;F]?
  173. XM=#IT*# L."D 9&5V7W0Z="@P+#0I &]F9E]T.G0H,"PQ*0!U:61?=#IT*# L
  174. XM-BD 9VED7W0Z="@P+#8I &ME>5]T.G0H,"PQ*0!A9&1R7W0Z="@Q+#<I &9D
  175. XM7VUA<VLZ="@P+#$I &9D7W-E=#I4*#$L."D]<S,R9F1S7V)I=',Z*#$L.2D]
  176. XM87(H,"PQ*3LP.S<[*# L,2DL,"PR-38[.P!F9%]S970Z="@Q+#@I "]U<W(O
  177. XM:6YC;'5D92]N971I;F5T+VEN+F@ :6Y?861D<CI4*#0L,2D]<S137W5N.B@T
  178. XM+#(I/74T4U]U;E]B.B@T+#,I/7,T<U]B,3HH,"PU*2PP+#@[<U]B,CHH,"PU
  179. XM*2PX+#@[<U]B,SHH,"PU*2PQ-BPX.W-?8C0Z*# L-2DL,C0L.#L[+# L,S([
  180. XM4U]U;E]W.B@T+#0I/7,T<U]W,3HH,"PV*2PP+#$V.W-?=S(Z*# L-BDL,38L
  181. XM,38[.RPP+#,R.U-?861D<CHH,"PX*2PP+#,R.SLL,"PS,CL[ '-O8VMA9&1R
  182. XM7VEN.E0H-"PU*3US,39S:6Y?9F%M:6QY.B@P+#0I+# L,38[<VEN7W!O<G0Z
  183. XM*# L-BDL,38L,38[<VEN7V%D9'(Z*#0L,2DL,S(L,S([<VEN7WIE<F\Z*#0L
  184. XM-BD]87(H,"PQ*3LP.S<[*# L,BDL-C0L-C0[.P O=7-R+VEN8VQU9&4O<W1D
  185. XM:6\N: !?:6]B=68Z5"@U+#$I/7,R,%]C;G0Z*# L,2DL,"PS,CM?<'1R.B@U
  186. XM+#(I/2HH,"PU*2PS,BPS,CM?8F%S93HH-2PR*2PV-"PS,CM?8G5F<VEZ.B@P
  187. XM+#$I+#DV+#,R.U]F;&%G.B@P+#0I+#$R."PQ-CM?9FEL93HH,"PR*2PQ-#0L
  188. XM.#L[ "XN+VEN8VQU9&4O<VYM<"YH "XN+VEN8VQU9&4O<VYM<%]I;7!L+F@ 
  189. XM+BXO:6YC;'5D92]A<VXQ+F@ ;VED.G0H,"PX*0 N+B]I;F-L=61E+W-N;7!?
  190. XM87!I+F@ :7!A9&1R.G0H-"PU*0!S;FUP7W-E<W-I;VXZ5"@Y+#$I/7,S-F-O
  191. XM;6UU;FET>3HH-2PR*2PP+#,R.V-O;6UU;FET>5]L96XZ*# L,2DL,S(L,S([
  192. XM<F5T<FEE<SHH,"PQ*2PV-"PS,CMT:6UE;W5T.B@P+#$I+#DV+#,R.W!E97)N
  193. XM86UE.B@Q+#<I+#$R."PS,CMR96UO=&5?<&]R=#HH,"PV*2PQ-C L,38[;&]C
  194. XM86Q?<&]R=#HH,"PV*2PQ-S8L,38[875T:&5N=&EC871O<CHH.2PR*3TJ*#DL
  195. XM,RD]9B@U+#(I+#$Y,BPS,CM< &-A;&QB86-K.B@Y+#0I/2HH.2PU*3UF*# L
  196. XM,2DL,C(T+#,R.V-A;&QB86-K7VUA9VEC.B@Y+#8I/2HH,"PQ,2DL,C4V+#,R
  197. XM.SL <VYM<%]E<G)N;SI'*# L,2D <VYM<%]P9'4Z5"@Y+#<I/7,W,F%D9')E
  198. XM<W,Z*#0L-2DL,"PQ,C@[8V]M;6%N9#HH,"PQ*2PQ,C@L,S([<F5Q:60Z*# L
  199. XM."DL,38P+#,R.V5R<G-T870Z*# L."DL,3DR+#,R.V5R<FEN9&5X.B@P+#@I
  200. XM+#(R-"PS,CME;G1E<G!R:7-E.B@Y+#DI/2HH,"PX*2PR-38L,S([96YT97)P
  201. XM<FES95]L96YG=&@Z*# L,2DL,C@X+#,R.V%G96YT7V%D9'(Z*#0L-2DL,S(P
  202. XM+#$R.#M< '1R87!?='EP93HH,"PQ*2PT-#@L,S([<W!E8VEF:6-?='EP93HH
  203. XM,"PQ*2PT.# L,S([=&EM93HH,"PX*2PU,3(L,S([=F%R:6%B;&5S.B@Y+#$P
  204. XM*3TJ*#DL."D]>'-V87)I86)L95]L:7-T.BPU-#0L,S([.P!V87)I86)L95]L
  205. XM:7-T.E0H.2PX*3US,C1N97AT7W9A<FEA8FQE.B@Y+#$Q*3TJ*#DL."DL,"PS
  206. XM,CMN86UE.B@Y+#DI+#,R+#,R.VYA;65?;&5N9W1H.B@P+#$I+#8T+#,R.W1Y
  207. XM<&4Z*# L-2DL.38L.#MV86PZ*#DL,3(I/74T:6YT96=E<CHH.2PQ,RD]*B@P
  208. XM+#$I+# L,S([<W1R:6YG.B@U+#(I+# L,S([;V)J:60Z*#DL.2DL,"PS,CL[
  209. XM+#$R."PS,CMV86Q?;&5N.B@P+#$I+#$V,"PS,CL[ '-N;7!?9'5M<%]P86-K
  210. XM970Z1R@P+#$I "XN+VEN8VQU9&4O<VYM<%]C;&EE;G0N: !S>6YC:%]S=&%T
  211. XM93I4*#$P+#$I/7,Q-G=A:71I;F<Z*# L,2DL,"PS,CMS=&%T=7,Z*# L,2DL
  212. XM,S(L,S([<F5Q:60Z*# L,2DL-C0L,S([<&1U.B@Q,"PR*3TJ*#DL-RDL.38L
  213. XM,S([.P!S;FUP7W-Y;F-H7W-T871E.D<H,3 L,2D ;V)J:61?;6EB.D<H,"PQ
  214. XM,RD]87(H,"PQ*3LP.S4[*# L."D ;6%I;CI&*# L,2D 87)G8SIP*# L,2D 
  215. XM87)G=CIP*# L,30I/2HH,2PW*0!S97-S:6]N.B@Y+#$I '-S.B@P+#$U*3TJ
  216. XM*#DL,2D <&1U.B@Q,"PR*0!R97-P;VYS93HH,3 L,BD =F%R<SHH.2PQ,2D 
  217. XM87)G.B@P+#$I &=A=&5W87DZ*#$L-RD 8V]M;75N:71Y.B@Q+#<I &=O=')O
  218. XM;W0Z*# L,2D ;F%M93HH,"PQ-BD]87(H,"PQ*3LP.S,Q.R@P+#@I &YA;65?
  219. XM;&5N9W1H.B@P+#$I ')O;W0Z*# L,3<I/6%R*# L,2D[,#LV,SLH,"PX*0!R
  220. XM;V]T;&5N.B@P+#$I &-O=6YT.B@P+#$I ')U;FYI;F<Z*# L,2D <W1A='5S
  221. XM.B@P+#$I '-N;7!?8VQI96YT+F\ +W1M<%]M;G0O;F5T+VYI<V,O=7-R+VQO
  222. XM8V%L+W-R8R]N;V-O;"]S<F,O8VUU+7-N;7 O<VYM<&QI8B\ <VYM<%]C;&EE
  223. XM;G0N8P!I;G0Z="@P+#$I/7(H,"PQ*3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W
  224. XM.P!C:&%R.G0H,"PR*3UR*# L,BD[,#LQ,C<[ &QO;F<Z="@P+#,I/7(H,"PQ
  225. XM*3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!S:&]R=#IT*# L-"D]<B@P+#$I
  226. XM.RTS,C<V.#LS,C<V-SL =6YS:6=N960@8VAA<CIT*# L-2D]<B@P+#$I.S [
  227. XM,C4U.P!U;G-I9VYE9"!S:&]R=#IT*# L-BD]<B@P+#$I.S [-C4U,S4[ '5N
  228. XM<VEG;F5D(&QO;F<Z="@P+#<I/7(H,"PQ*3LP.RTQ.P!U;G-I9VYE9"!I;G0Z
  229. XM="@P+#@I/7(H,"PQ*3LP.RTQ.P!F;&]A=#IT*# L.2D]<B@P+#$I.S0[,#L 
  230. XM9&]U8FQE.G0H,"PQ,"D]<B@P+#$I.S@[,#L =F]I9#IT*# L,3$I/2@P+#$Q
  231. XM*0 _/S\Z="@P+#$R*3TH,"PQ*0 O=7-R+VEN8VQU9&4O<WES+W1Y<&5S+F@ 
  232. XM+W5S<B]I;F-L=61E+W-Y<R]S=&1T>7!E<RYH "]U<W(O:6YC;'5D92]S>7,O
  233. XM<WES;6%C<F]S+F@ +W5S<B]I;F-L=61E+W-Y<R]P87)A;2YH "]U<W(O:6YC
  234. XM;'5D92]M86-H:6YE+W!A<F%M+F@ +W5S<B]I;F-L=61E+VUA8VAI;F4O9&5V
  235. XM861D<BYH "]U<W(O:6YC;'5D92]S>7,O<VEG;F%L+F@ +W5S<B]I;F-L=61E
  236. XM+W9M+V9A=6QT8V]D92YH &9A=6QT8V]D95]T.G0H,"PQ*0!S:6=V96,Z5"@W
  237. XM+#$I/7,Q,G-V7VAA;F1L97(Z*#<L,BD]*B@W+#,I/68H,"PQ,2DL,"PS,CMS
  238. XM=E]M87-K.B@P+#$I+#,R+#,R.W-V7V9L86=S.B@P+#$I+#8T+#,R.SL <VEG
  239. XM<W1A8VLZ5"@W+#0I/7,X<W-?<W Z*#$L-RDL,"PS,CMS<U]O;G-T86-K.B@P
  240. XM+#$I+#,R+#,R.SL <VEG8V]N=&5X=#I4*#<L-2D]<S(Q-#1S8U]O;G-T86-K
  241. XM.B@P+#$I+# L,S([<V-?;6%S:SHH,"PQ*2PS,BPS,CMS8U]S<#HH,"PQ*2PV
  242. XM-"PS,CMS8U]P8SHH,"PQ*2PY-BPS,CMS8U]N<&,Z*# L,2DL,3(X+#,R.W-C
  243. XM7W!S<CHH,"PQ*2PQ-C L,S([<V-?9S$Z*# L,2DL,3DR+#,R.W-C7V\P.B@P
  244. XM+#$I+#(R-"PS,CM< '-C7W=B8VYT.B@P+#$I+#(U-BPS,CMS8U]S<&)U9CHH
  245. XM-RPV*3UA<B@P+#$I.S [,S [*#$L-RDL,C@X+#DY,CMS8U]W8G5F.B@W+#<I
  246. XM/6%R*# L,2D[,#LS,#LH-RPX*3UA<B@P+#$I.S [,34[*# L,2DL,3(X,"PQ
  247. XM-3@W,CL[ "]U<W(O:6YC;'5D92]S>7,O<W1D='EP97,N: !S:6=A8W1I;VXZ
  248. XM5"@W+#DI/7,Q,G-A7VAA;F1L97(Z*#<L,BDL,"PS,CMS85]M87-K.B@P+#$I
  249. XM+#,R+#,R.W-A7V9L86=S.B@P+#$I+#8T+#,R.SL +W5S<B]I;F-L=61E+W-Y
  250. XM<R]T>7!E<RYH "]U<W(O:6YC;'5D92]S=&1I;RYH "]U<W(O:6YC;'5D92]N
  251. XM971I;F5T+VEN+F@ +W5S<B]I;F-L=61E+W-Y<R]T:6UE+F@ =&EM979A;#I4
  252. XM*#$S+#$I/7,X='9?<V5C.B@P+#$I+# L,S([='9?=7-E8SHH,"PQ*2PS,BPS
  253. XM,CL[ '1I;65Z;VYE.E0H,3,L,BD]<SAT>E]M:6YU=&5S=V5S=#HH,"PQ*2PP
  254. XM+#,R.W1Z7V1S='1I;64Z*# L,2DL,S(L,S([.P!I=&EM97)V86PZ5"@Q,RPS
  255. XM*3US,39I=%]I;G1E<G9A;#HH,3,L,2DL,"PV-#MI=%]V86QU93HH,3,L,2DL
  256. XM-C0L-C0[.P O=7-R+VEN8VQU9&4O=&EM92YH "]U<W(O:6YC;'5D92]S>7,O
  257. XM<W1D='EP97,N: !T;3I4*#$T+#$I/7,T-'1M7W-E8SHH,"PQ*2PP+#,R.W1M
  258. XM7VUI;CHH,"PQ*2PS,BPS,CMT;5]H;W5R.B@P+#$I+#8T+#,R.W1M7VUD87DZ
  259. XM*# L,2DL.38L,S([=&U?;6]N.B@P+#$I+#$R."PS,CMT;5]Y96%R.B@P+#$I
  260. XM+#$V,"PS,CMT;5]W9&%Y.B@P+#$I+#$Y,BPS,CMT;5]Y9&%Y.B@P+#$I+#(R
  261. XM-"PS,CM< '1M7VES9'-T.B@P+#$I+#(U-BPS,CMT;5]Z;VYE.B@Q+#<I+#(X
  262. XM."PS,CMT;5]G;71O9F8Z*# L,2DL,S(P+#,R.SL +W5S<B]I;F-L=61E+V5R
  263. XM<FYO+F@ +W5S<B]I;F-L=61E+W-Y<R]E<G)N;RYH &5R<FYO.D<H,"PQ*0 N
  264. XM+V%S;C$N: !O:60Z="@P+#@I "XO<VYM<"YH "XO<VYM<%]I;7!L+F@ +B]S
  265. XM;FUP7V%P:2YH &EP861D<CIT*#$R+#4I '-N;7!?<V5S<VEO;CI4*#(Q+#$I
  266. XM/7,S-F-O;6UU;FET>3HH,3$L,BDL,"PS,CMC;VUM=6YI='E?;&5N.B@P+#$I
  267. XM+#,R+#,R.W)E=')I97,Z*# L,2DL-C0L,S([=&EM96]U=#HH,"PQ*2PY-BPS
  268. XM,CMP965R;F%M93HH,2PW*2PQ,C@L,S([<F5M;W1E7W!O<G0Z*# L-BDL,38P
  269. XM+#$V.VQO8V%L7W!O<G0Z*# L-BDL,3<V+#$V.V%U=&AE;G1I8V%T;W(Z*#(Q
  270. XM+#(I/2HH,C$L,RD]9B@Q,2PR*2PQ.3(L,S([7 !C86QL8F%C:SHH,C$L-"D]
  271. XM*B@R,2PU*3UF*# L,2DL,C(T+#,R.V-A;&QB86-K7VUA9VEC.B@R,2PV*3TJ
  272. XM*# L,3$I+#(U-BPS,CL[ '-N;7!?97)R;F\Z1R@P+#$I '-N;7!?<&1U.E0H
  273. XM,C$L-RD]<S<R861D<F5S<SHH,3(L-2DL,"PQ,C@[8V]M;6%N9#HH,"PQ*2PQ
  274. XM,C@L,S([<F5Q:60Z*# L."DL,38P+#,R.V5R<G-T870Z*# L."DL,3DR+#,R
  275. XM.V5R<FEN9&5X.B@P+#@I+#(R-"PS,CME;G1E<G!R:7-E.B@R,2PY*3TJ*# L
  276. XM."DL,C4V+#,R.V5N=&5R<')I<V5?;&5N9W1H.B@P+#$I+#(X."PS,CMA9V5N
  277. XM=%]A9&1R.B@Q,BPU*2PS,C L,3(X.UP =')A<%]T>7!E.B@P+#$I+#0T."PS
  278. XM,CMS<&5C:69I8U]T>7!E.B@P+#$I+#0X,"PS,CMT:6UE.B@P+#@I+#4Q,BPS
  279. XM,CMV87)I86)L97,Z*#(Q+#$P*3TJ*#(Q+#@I/7AS=F%R:6%B;&5?;&ES=#HL
  280. XM-30T+#,R.SL =F%R:6%B;&5?;&ES=#I4*#(Q+#@I/7,R-&YE>'1?=F%R:6%B
  281. XM;&4Z*#(Q+#$Q*3TJ*#(Q+#@I+# L,S([;F%M93HH,C$L.2DL,S(L,S([;F%M
  282. XM95]L96YG=&@Z*# L,2DL-C0L,S([='EP93HH,"PU*2PY-BPX.W9A;#HH,C$L
  283. XM,3(I/74T:6YT96=E<CHH,C$L,3,I/2HH,"PQ*2PP+#,R.W-T<FEN9SHH,3$L
  284. XM,BDL,"PS,CMO8FII9#HH,C$L.2DL,"PS,CL[+#$R."PS,CMV86Q?;&5N.B@P
  285. XM+#$I+#$V,"PS,CL[ '-N;7!?9'5M<%]P86-K970Z1R@P+#$I "XO<VYM<%]C
  286. XM;&EE;G0N: !S>6YC:%]S=&%T93I4*#(R+#$I/7,Q-G=A:71I;F<Z*# L,2DL
  287. XM,"PS,CMS=&%T=7,Z*# L,2DL,S(L,S([<F5Q:60Z*# L,2DL-C0L,S([<&1U
  288. XM.B@R,BPR*3TJ*#(Q+#<I+#DV+#,R.SL <VYM<%]S>6YC:%]S=&%T93I'*#(R
  289. XM+#$I '-N;7!?<&1U7V-R96%T93I&*#(R+#(I &-O;6UA;F0Z<"@P+#$I '!D
  290. XM=3HH,C(L,BD <VYM<%]A9&1?;G5L;%]V87(Z1B@P+#$I '!D=3IP*#(R+#(I
  291. XM &YA;64Z<"@R,2PY*0!N86UE7VQE;F=T:#IP*# L,2D =F%R<SHH,C$L,3$I
  292. XM '-N;7!?<WEN8VA?:6YP=70Z1B@P+#$I &]P.G H,"PQ*0!S97-S:6]N.G H
  293. XM,"PQ,RD]*B@R,2PQ*0!R97%I9#IP*# L,2D <&1U.G H,C(L,BD ;6%G:6,Z
  294. XM<"@R,2PV*0!V87(Z*#(Q+#$Q*0!N97=V87(Z*#(Q+#$Q*0!S=&%T93HH,"PQ
  295. XM-"D]*B@R,BPQ*0!N97=P9'4Z*#(R+#(I '-N;7!?9FEX7W!D=3I&*#(R+#(I
  296. XM '!D=3IP*#(R+#(I &-O;6UA;F0Z<"@P+#$I '9A<CHH,C$L,3$I &YE=W9A
  297. XM<CHH,C$L,3$I &YE=W!D=3HH,C(L,BD :6YD97@Z*# L,2D 8V]P:65D.B@P
  298. XM+#$I '-N;7!?<WEN8VA?<F5S<&]N<V4Z1B@P+#$I '-S.G H,"PQ,RD <&1U
  299. XM.G H,C(L,BD <F5S<&]N<V4Z<"@P+#$U*3TJ*#(R+#(I '-T871E.B@P+#$T
  300. XM*0!N=6UF9',Z*# L,2D 8V]U;G0Z*# L,2D 9F1S970Z*#$L."D =&EM96]U
  301. XM=#HH,3,L,2D ='9P.B@P+#$V*3TJ*#$S+#$I &)L;V-K.B@P+#$I '-N;7!?
  302. XM<WEN8VA?<V5T=7 Z1B@P+#$I '-E<W-I;VXZ<"@P+#$S*0!E<G)O<E]S=')I
  303. XM;F<Z1R@P+#$W*3UA<B@P+#$I.S [-3LH,2PW*0!S;FUP7V5R<G-T<FEN9SI&
  304. XM*#$L-RD 97)R<W1A=#IP*# L,2D ;6EB+F\ 7W-P<FEN=%]N971W;W)K861D
  305. XM<F5S<P!?<W!R:6YT7W5N<VEG;F5D7W-H;W)T %]S<')I;G1?8F%D='EP90!?
  306. XM<W!R:6YT7V)Y7W1Y<&4 7W-P<FEN=%]C;W5N=&5R %]S<')I;G1?:6YT96=E
  307. XM<@!?<W!R:6YT7W5N:VYO=VYT>7!E %]S<')I;G1?87-C:6ES=')I;F< 7W-P
  308. XM<FEN=%]N=6QL %]F:6YD7W)F8S$P-C9?;6EB %]S<')I;G1?;V-T971?<W1R
  309. XM:6YG %]S<')I;G1?9V%U9V4 7W5P=&EM95-T<FEN9P!?<W!R:6YT7VAE>'-T
  310. XM<FEN9P!?<W!R:6YT7VEP861D<F5S<P!?<W!R:6YT7W1I;65T:6-K<P!?;&-?
  311. XM8VUP %]P87)S95]S=6)T<F5E %]S<')I;G1?;W!A<75E %]S971?9G5N8W1I
  312. XM;VYS %]S<')I;G1?;V)J96-T7VED96YT:69I97( +W1M<%]M;G0O;F5T+VYI
  313. XM<V,O=7-R+VQO8V%L+W-R8R]N;V-O;"]S<F,O8VUU+7-N;7 O<VYM<&QI8B\ 
  314. XM;6EB+F, :6YT.G0H,"PQ*3UR*# L,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T
  315. XM-SL 8VAA<CIT*# L,BD]<B@P+#(I.S [,3(W.P!L;VYG.G0H,"PS*3UR*# L
  316. XM,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z="@P+#0I/7(H,"PQ
  317. XM*3LM,S(W-C@[,S(W-C<[ '5N<VEG;F5D(&-H87(Z="@P+#4I/7(H,"PQ*3LP
  318. XM.S(U-3L =6YS:6=N960@<VAO<G0Z="@P+#8I/7(H,"PQ*3LP.S8U-3,U.P!U
  319. XM;G-I9VYE9"!L;VYG.G0H,"PW*3UR*# L,2D[,#LM,3L =6YS:6=N960@:6YT
  320. XM.G0H,"PX*3UR*# L,2D[,#LM,3L 9FQO870Z="@P+#DI/7(H,"PQ*3LT.S [
  321. XM &1O=6)L93IT*# L,3 I/7(H,"PQ*3LX.S [ '9O:60Z="@P+#$Q*3TH,"PQ
  322. XM,2D /S\_.G0H,"PQ,BD]*# L,2D +W5S<B]I;F-L=61E+W-T9&EO+F@ +W5S
  323. XM<B]I;F-L=61E+V-T>7!E+F@ +W5S<B]I;F-L=61E+W-Y<R]T>7!E<RYH "]U
  324. XM<W(O:6YC;'5D92]S>7,O<W1D='EP97,N:  O=7-R+VEN8VQU9&4O<WES+W-Y
  325. XM<VUA8W)O<RYH "]U<W(O:6YC;'5D92]N971I;F5T+VEN+F@ +W5S<B]I;F-L
  326. XM=61E+W-Y<R]T:6UE+F@ +W5S<B]I;F-L=61E+W1I;64N:  O=7-R+VEN8VQU
  327. XM9&4O<WES+W-T9'1Y<&5S+F@ +B]A<VXQ+F@ +B]S;FUP7VEM<&PN:  N+W-N
  328. XM;7!?87!I+F@ +B]P87)S92YH &5N=6U?;&ES=#I4*#$S+#$I/7,Q,FYE>'0Z
  329. XM*#$S+#(I/2HH,3,L,2DL,"PS,CMV86QU93HH,"PQ*2PS,BPS,CML86)E;#HH
  330. XM,RPW*2PV-"PS,CL[ &YO9&4Z5"@Q,RPS*3US.#!N97AT.B@Q,RPT*3TJ*#$S
  331. XM+#,I+# L,S([;&%B96PZ*#$S+#4I/6%R*# L,2D[,#LS,3LH,"PR*2PS,BPR
  332. XM-38[<W5B:60Z*# L."DL,C@X+#,R.W!A<F5N=#HH,3,L-2DL,S(P+#(U-CMT
  333. XM>7!E.B@P+#$I+#4W-BPS,CME;G5M<SHH,3,L,BDL-C X+#,R.SL =')E93I4
  334. XM*#$S+#8I/7,V,&-H:6QD7VQI<W0Z*#$S+#<I/2HH,3,L-BDL,"PS,CMN97AT
  335. XM7W!E97(Z*#$S+#<I+#,R+#,R.W!A<F5N=#HH,3,L-RDL-C0L,S([;&%B96PZ
  336. XM*#$S+#4I+#DV+#(U-CMS=6)I9#HH,"PX*2PS-3(L,S([='EP93HH,"PQ*2PS
  337. XM.#0L,S([96YU;7,Z*#$S+#(I+#0Q-BPS,CMP<FEN=&5R.B@Q,RPX*3TJ*#$S
  338. XM+#DI/68H,"PQ,2DL-#0X+#,R.SL =7!T:6UE4W1R:6YG.F8H,RPW*0!T:6UE
  339. XM=&EC:W,Z<"@P+#$I '1I;65T:6-K<SIR*# L,2D 8G5F.G H,RPW*0!S96-O
  340. XM;F1S.B@P+#$I &UI;G5T97,Z*# L,2D :&]U<G,Z*# L,2D 9&%Y<SHH,"PQ
  341. XM*0!S<')I;G1?:&5X<W1R:6YG.F8H,"PQ*0!B=68Z<"@S+#<I &-P.G H,2PR
  342. XM*0!L96XZ<"@P+#$I '-P<FEN=%]A<V-I:7-T<FEN9SIF*# L,2D 8G5F.G H
  343. XM,RPW*0!C<#IP*#$L,BD ;&5N.G H,"PQ*0!X.B@P+#$I '-P<FEN=%]O8W1E
  344. XM=%]S=')I;F<Z9B@P+#$Q*0!B=68Z<"@S+#<I '9A<CIP*#$R+#$Q*0!H97@Z
  345. XM*# L,2D >#HH,"PQ*0!C<#HH,2PR*0!S<')I;G1?;W!A<75E.F8H,"PQ,2D 
  346. XM8G5F.G H,RPW*0!V87(Z<"@Q,BPQ,2D <W!R:6YT7V]B:F5C=%]I9&5N=&EF
  347. XM:65R.F8H,"PQ,2D 8G5F.G H,RPW*0!V87(Z<"@Q,BPQ,2D <W!R:6YT7W1I
  348. XM;65T:6-K<SIF*# L,3$I &)U9CIP*#,L-RD =F%R.G H,3(L,3$I '1I;65B
  349. XM=68Z*#$S+#4I '-P<FEN=%]I;G1E9V5R.F8H,"PQ,2D 8G5F.G H,RPW*0!V
  350. XM87(Z<"@Q,BPQ,2D 96YU;7,Z<"@Q,RPR*0!E;G5M7W-T<FEN9SHH,RPW*0!S
  351. XM<')I;G1?9V%U9V4Z9B@P+#$Q*0!B=68Z<"@S+#<I '9A<CIP*#$R+#$Q*0!S
  352. XM<')I;G1?8V]U;G1E<CIF*# L,3$I &)U9CIP*#,L-RD =F%R.G H,3(L,3$I
  353. XM '-P<FEN=%]N971W;W)K861D<F5S<SIF*# L,3$I &)U9CIP*#,L-RD =F%R
  354. XM.G H,3(L,3$I '@Z*# L,2D ;&5N.B@P+#$I &-P.B@Q+#(I '-P<FEN=%]I
  355. XM<&%D9')E<W,Z9B@P+#$Q*0!B=68Z<"@S+#<I '9A<CIP*#$R+#$Q*0!I<#HH
  356. XM,2PR*0!S<')I;G1?=6YS:6=N961?<VAO<G0Z9B@P+#$Q*0!B=68Z<"@S+#<I
  357. XM '9A<CIP*#$R+#$Q*0!S<')I;G1?;G5L;#IF*# L,3$I &)U9CIP*#,L-RD 
  358. XM=F%R.G H,3(L,3$I '-P<FEN=%]U;FMN;W=N='EP93IF*# L,3$I &)U9CIP
  359. XM*#,L-RD =F%R.G H,3(L,3$I '-P<FEN=%]B861T>7!E.F8H,"PQ,2D 8G5F
  360. XM.G H,RPW*0!S<')I;G1?8GE?='EP93IF*# L,3$I &)U9CIP*#,L-RD =F%R
  361. XM.G H,3(L,3$I &5N=6US.G H,3,L,BD 4D9#,3 V-E]-24(Z1R@P+#$S*3UA
  362. XM<B@P+#$I.S [-3LH,"PX*0!21D,Q,#8V7TU)0E]T97AT.D<H,"PQ-"D]87(H
  363. XM,"PQ*3LP.S,P.R@P+#4I $UI8CI'*#$S+#<I &EN:71?;6EB.D8H,"PQ*0!F
  364. XM:6QE.B@S+#<I '-E=%]F=6YC=&EO;G,Z9B@P+#$I '-U8G1R964Z<"@Q,RPW
  365. XM*0!F:6YD7W)F8S$P-C9?;6EB.F8H,3,L-RD <F]O=#IP*#$S+#<I &]P.B@Q
  366. XM,BPY*0!T<#HH,3,L-RD ;&5N.B@P+#$I ')E861?;V)J:60Z1B@P+#$I &EN
  367. XM<'5T.G H,RPW*0!O=71P=70Z<"@Q,BPY*0!O=71?;&5N.G H,3(L,3,I ')O
  368. XM;W0Z*#$S+#<I &]P.B@Q,BPY*0!I.B@P+#$I '!A<G-E7W-U8G1R964Z9B@P
  369. XM+#$I '-U8G1R964Z<"@Q,RPW*0!I;G!U=#IP*#,L-RD ;W5T<'5T.G H,3(L
  370. XM.2D ;W5T7VQE;CIP*#$R+#$S*0!B=68Z*# L,34I/6%R*# L,2D[,#LQ,C<[
  371. XM*# L,BD =&\Z*#,L-RD <W5B:60Z*# L."D =' Z*#$S+#<I '!R:6YT7V]B
  372. XM:FED.D8H,"PQ*0!O8FII9#IP*#$R+#DI &]B:FED;&5N.G H,"PQ*0!B=68Z
  373. XM*# L,38I/6%R*# L,2D[,#LR-34[*# L,BD <W5B=')E93HH,3,L-RD <W!R
  374. XM:6YT7V]B:FED.D8H,"PQ*0!B=68Z<"@S+#<I &]B:FED.G H,3(L.2D ;V)J
  375. XM:61L96XZ<"@P+#$I '-U8G1R964Z*#$S+#<I '!R:6YT7W9A<FEA8FQE.D8H
  376. XM,"PQ*0!O8FII9#IP*#$R+#DI &]B:FED;&5N.G H,"PQ*0!V87)I86)L93IP
  377. XM*#$R+#$Q*0!B=68Z*# L,3<I/6%R*# L,2D[,#LU,3$[*# L,BD 8W Z*#,L
  378. XM-RD <W5B=')E93HH,3,L-RD <W!R:6YT7W9A<FEA8FQE.D8H,"PQ*0!B=68Z
  379. XM<"@S+#<I &]B:FED.G H,3(L.2D ;V)J:61L96XZ<"@P+#$I '9A<FEA8FQE
  380. XM.G H,3(L,3$I '1E;7!B=68Z*# L,3<I &-P.B@S+#<I '-U8G1R964Z*#$S
  381. XM+#<I '-P<FEN=%]V86QU93I&*# L,2D 8G5F.G H,RPW*0!O8FII9#IP*#$R
  382. XM+#DI &]B:FED;&5N.G H,"PQ*0!V87)I86)L93IP*#$R+#$Q*0!T96UP8G5F
  383. XM.B@P+#$W*0!S=6)T<F5E.B@Q,RPW*0!P<FEN=%]V86QU93I&*# L,2D ;V)J
  384. XM:60Z<"@Q,BPY*0!O8FII9&QE;CIP*# L,2D =F%R:6%B;&4Z<"@Q,BPQ,2D 
  385. XM=&5M<&)U9CHH,"PQ-RD <W5B=')E93HH,3,L-RD 9V5T7W-Y;6)O;#I&*#$S
  386. XM+#<I &]B:FED.G H,3(L.2D ;V)J:61L96XZ<"@P+#$I '-U8G1R964Z<"@Q
  387. XM,RPW*0!B=68Z<"@S+#<I ')E='5R;E]T<F5E.B@Q,RPW*0!L8U]C;7 Z9B@P
  388. XM+#$I ',Q.G H,RPW*0!S,CIP*#,L-RD 8S$Z*# L,BD 8S(Z*# L,BD <&%R
  389. XM<V4N;P!?<&%R<V5?;V)J96-T:60 7W!R:6YT7V5R<F]R %]F<F5E7VYO9&4 
  390. XM7V=E=%]T;VME;@!?:&%S:%]I;FET %]P87)S90!?8G5I;&1?=')E90!?9V5T
  391. XM;VED %]P87)S95]O8FIE8W1T>7!E %]D;U]S=6)T<F5E %]P87)S95]A<VYT
  392. XM>7!E %]-86QL;V, +W1M<%]M;G0O;F5T+VYI<V,O=7-R+VQO8V%L+W-R8R]N
  393. XM;V-O;"]S<F,O8VUU+7-N;7 O<VYM<&QI8B\ <&%R<V4N8P!I;G0Z="@P+#$I
  394. XM/7(H,"PQ*3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0H,"PR*3UR
  395. XM*# L,BD[,#LQ,C<[ &QO;F<Z="@P+#,I/7(H,"PQ*3LM,C$T-S0X,S8T.#LR
  396. XM,30W-#@S-C0W.P!S:&]R=#IT*# L-"D]<B@P+#$I.RTS,C<V.#LS,C<V-SL 
  397. XM=6YS:6=N960@8VAA<CIT*# L-2D]<B@P+#$I.S [,C4U.P!U;G-I9VYE9"!S
  398. XM:&]R=#IT*# L-BD]<B@P+#$I.S [-C4U,S4[ '5N<VEG;F5D(&QO;F<Z="@P
  399. XM+#<I/7(H,"PQ*3LP.RTQ.P!U;G-I9VYE9"!I;G0Z="@P+#@I/7(H,"PQ*3LP
  400. XM.RTQ.P!F;&]A=#IT*# L.2D]<B@P+#$I.S0[,#L 9&]U8FQE.G0H,"PQ,"D]
  401. XM<B@P+#$I.S@[,#L =F]I9#IT*# L,3$I/2@P+#$Q*0 _/S\Z="@P+#$R*3TH
  402. XM,"PQ*0 O=7-R+VEN8VQU9&4O<W1D:6\N:  O=7-R+VEN8VQU9&4O8W1Y<&4N
  403. XM:  O=7-R+VEN8VQU9&4O<WES+W1Y<&5S+F@ +W5S<B]I;F-L=61E+W-Y<R]S
  404. XM=&1T>7!E<RYH "]U<W(O:6YC;'5D92]S>7,O<WES;6%C<F]S+F@ +B]P87)S
  405. XM92YH '-U8FED.E0H,"PQ,RD]<SAS=6)I9#HH,"PQ*2PP+#,R.VQA8F5L.B@S
  406. XM+#<I+#,R+#,R.SL 3&EN93I'*# L,2D =&]K.E0H,"PQ-"D]<S(P;F%M93HH
  407. XM,RPW*2PP+#,R.VQE;CHH,"PQ*2PS,BPS,CMT;VME;CHH,"PQ*2PV-"PS,CMH
  408. XM87-H.B@P+#$I+#DV+#,R.VYE>'0Z*# L,34I/2HH,"PQ-"DL,3(X+#,R.SL 
  409. XM=&]K96YS.D<H,"PQ-BD]87(H,"PQ*3LP.S(Y.R@P+#$T*0!B=6-K971S.D<H
  410. XM,"PQ-RD]87(H,"PQ*3LP.S,Q.R@P+#$U*0!H87-H7VEN:70Z9B@P+#$I '1P
  411. XM.G(H,"PQ-2D 8W Z<B@S+#<I &@Z<B@P+#$I &(Z<B@P+#$I $UA;&QO8SIF
  412. XM*#,L-RD ;G5M.G H,"PX*0!C<#HH,RPW*0!P<FEN=%]E<G)O<CIF*# L,2D 
  413. XM<W1R:6YG.G H,RPW*0!T;VME;CIP*#,L-RD 8G5I;&1?=')E93IF*#8L-RD 
  414. XM;F]D97,Z<"@V+#0I &YP.B@V+#0I '1P.B@V+#<I &1O7W-U8G1R964Z9B@P
  415. XM+#$I ')O;W0Z<"@V+#<I &YO9&5S.G H,"PQ."D]*B@V+#0I '1P.G(H-BPW
  416. XM*0!P965R.B@V+#<I &YP.G(H-BPT*0!O;&1N<#HH-BPT*0!C:&EL9%]L:7-T
  417. XM.B@V+#0I &-H:6QD<#HH-BPT*0!G971O:60Z9B@P+#$I &9P.G H,"PQ.2D]
  418. XM*B@Q+#$I &9P.G(H,"PQ.2D ;VED.G H,"PR,"D]*B@P+#$S*0!O:60Z<B@P
  419. XM+#(P*0!L96YG=&@Z<"@P+#$I &-O=6YT.G(H,"PQ*0!T>7!E.B@P+#$I '1O
  420. XM:V5N.B@P+#(Q*3UA<B@P+#$I.S [-C,[*# L,BD ;&%B96PZ*#8L-2D 8W Z
  421. XM<B@S+#<I '1P.G(H,RPW*0!F<F5E7VYO9&4Z9B@P+#$I &YP.G H-BPT*0!E
  422. XM<#HH-BPR*0!T97 Z*#8L,BD <&%R<V5?;V)J96-T:60Z9B@V+#0I &9P.G H
  423. XM,"PQ.2D ;F%M93IP*#,L-RD ='EP93HH,"PQ*0!T;VME;CHH,"PR,2D 8V]U
  424. XM;G0Z<B@P+#$I &]P.G(H,"PR,"D ;F]P.G(H,"PR,"D ;&5N9W1H.B@P+#$I
  425. XM &]I9#HH,"PR,BD]87(H,"PQ*3LP.S$U.R@P+#$S*0!N<#HH-BPT*0!R;V]T
  426. XM.B@V+#0I &]L9&YP.B@V+#0I '!A<G-E7V%S;G1Y<&4Z9B@P+#$I &9P.G H
  427. XM,"PQ.2D ='EP93HH,"PQ*0!T;VME;CHH,"PR,2D <&%R<V5?;V)J96-T='EP
  428. XM93IF*#8L-"D 9G Z<"@P+#$Y*0!F<#IR*# L,3DI &YA;64Z<"@S+#<I '1Y
  429. XM<&4Z<B@P+#$I '1O:V5N.B@P+#(Q*0!C;W5N=#HH,"PQ*0!L96YG=&@Z*# L
  430. XM,2D ;VED.B@P+#(R*0!S>6YT87@Z*#8L-2D ;F5X='1Y<&4Z*# L,2D ;F5X
  431. XM='1O:V5N.B@P+#(Q*0!N<#IR*#8L-"D 97 Z<B@V+#(I &-P.G(H,RPW*0!T
  432. XM<#IR*#,L-RD <&%R<V4Z9B@V+#0I &9P.G H,"PQ.2D =&]K96XZ*# L,C$I
  433. XM &YA;64Z*#8L-2D ='EP93HH,"PQ*0!N<#HH-BPT*0!R;V]T.B@V+#0I &=E
  434. XM=%]T;VME;CIF*# L,2D 9G Z<"@P+#$Y*0!F<#IR*# L,3DI '1O:V5N.G H
  435. XM,RPW*0!T;VME;CIR*#,L-RD ;&%S=#I6*# L,BD 8V@Z<B@P+#$I &-P.G(H
  436. XM,RPW*0!H87-H.G(H,"PQ*0!T<#IR*# L,34I ')E861?;6EB.D8H-BPW*0!F
  437. XM:6QE;F%M93IP*#,L-RD 9G Z*# L,3DI &YO9&5S.B@V+#0I '1R964Z*#8L
  438. XM-RD <VYM<%]A<&DN;P!?<VYM<%]B=6EL9 !?<VYM<%]P87)S90!?87!I7V5R
  439. XM<G-T<FEN9P!?:6YI=%]S;FUP %]F<F5E7W)E<75E<W1?;&ES=  O=&UP7VUN
  440. XM="]N970O;FES8R]U<W(O;&]C86PO<W)C+VYO8V]L+W-R8R]C;74M<VYM<"]S
  441. XM;FUP;&EB+P!S;FUP7V%P:2YC &EN=#IT*# L,2D]<B@P+#$I.RTR,30W-#@S
  442. XM-C0X.S(Q-#<T.#,V-#<[ &-H87(Z="@P+#(I/7(H,"PR*3LP.S$R-SL ;&]N
  443. XM9SIT*# L,RD]<B@P+#$I.RTR,30W-#@S-C0X.S(Q-#<T.#,V-#<[ '-H;W)T
  444. XM.G0H,"PT*3UR*# L,2D[+3,R-S8X.S,R-S8W.P!U;G-I9VYE9"!C:&%R.G0H
  445. XM,"PU*3UR*# L,2D[,#LR-34[ '5N<VEG;F5D('-H;W)T.G0H,"PV*3UR*# L
  446. XM,2D[,#LV-34S-3L =6YS:6=N960@;&]N9SIT*# L-RD]<B@P+#$I.S [+3$[
  447. XM '5N<VEG;F5D(&EN=#IT*# L."D]<B@P+#$I.S [+3$[ &9L;V%T.G0H,"PY
  448. XM*3UR*# L,2D[-#LP.P!D;W5B;&4Z="@P+#$P*3UR*# L,2D[.#LP.P!V;VED
  449. XM.G0H,"PQ,2D]*# L,3$I #\_/SIT*# L,3(I/2@P+#$I "]U<W(O:6YC;'5D
  450. XM92]S=&1I;RYH "]U<W(O:6YC;'5D92]S>7,O='EP97,N:  O=7-R+VEN8VQU
  451. XM9&4O<WES+W-T9'1Y<&5S+F@ +W5S<B]I;F-L=61E+W-Y<R]S>7-M86-R;W,N
  452. XM:  O=7-R+VEN8VQU9&4O<WES+W!A<F%M+F@ +W5S<B]I;F-L=61E+VUA8VAI
  453. XM;F4O<&%R86TN:  O=7-R+VEN8VQU9&4O;6%C:&EN92]D979A9&1R+F@ +W5S
  454. XM<B]I;F-L=61E+W-Y<R]S:6=N86PN:  O=7-R+VEN8VQU9&4O=FTO9F%U;'1C
  455. XM;V1E+F@ +W5S<B]I;F-L=61E+W-Y<R]S=&1T>7!E<RYH "]U<W(O:6YC;'5D
  456. XM92]S>7,O='EP97,N:  O=7-R+VEN8VQU9&4O<WES+W1I;64N:  O=7-R+VEN
  457. XM8VQU9&4O=&EM92YH "]U<W(O:6YC;'5D92]S>7,O<W1D='EP97,N:  O=7-R
  458. XM+VEN8VQU9&4O;F5T:6YE="]I;BYH "]U<W(O:6YC;'5D92]S>7,O<V]C:V5T
  459. XM+F@ ;&EN9V5R.E0H,38L,2D]<SAL7V]N;V9F.B@P+#$I+# L,S([;%]L:6YG
  460. XM97(Z*# L,2DL,S(L,S([.P!S;V-K861D<CI4*#$V+#(I/7,Q-G-A7V9A;6EL
  461. XM>3HH,"PV*2PP+#$V.W-A7V1A=&$Z*#$V+#,I/6%R*# L,2D[,#LQ,SLH,"PR
  462. XM*2PQ-BPQ,3([.P!S;V-K<')O=&\Z5"@Q-BPT*3US-'-P7V9A;6EL>3HH,"PV
  463. XM*2PP+#$V.W-P7W!R;W1O8V]L.B@P+#8I+#$V+#$V.SL ;7-G:&1R.E0H,38L
  464. XM-2D]<S(T;7-G7VYA;64Z*#(L-RDL,"PS,CMM<V=?;F%M96QE;CHH,"PQ*2PS
  465. XM,BPS,CMM<V=?:6]V.B@Q-BPW*3TJ*#$V+#8I/7AS:6]V96,Z+#8T+#,R.VUS
  466. XM9U]I;W9L96XZ*# L,2DL.38L,S([;7-G7V%C8W)I9VAT<SHH,BPW*2PQ,C@L
  467. XM,S([;7-G7V%C8W)I9VAT<VQE;CHH,"PQ*2PQ-C L,S([.P O=7-R+VEN8VQU
  468. XM9&4O;F5T9&(N: !H;W-T96YT.E0H,3<L,2D]<S(P:%]N86UE.B@R+#<I+# L
  469. XM,S([:%]A;&EA<V5S.B@Q-RPR*3TJ*#(L-RDL,S(L,S([:%]A9&1R='EP93HH
  470. XM,"PQ*2PV-"PS,CMH7VQE;F=T:#HH,"PQ*2PY-BPS,CMH7V%D9')?;&ES=#HH
  471. XM,3<L,BDL,3(X+#,R.SL ;F5T96YT.E0H,3<L,RD]<S$V;E]N86UE.B@R+#<I
  472. XM+# L,S([;E]A;&EA<V5S.B@Q-RPR*2PS,BPS,CMN7V%D9')T>7!E.B@P+#$I
  473. XM+#8T+#,R.VY?;F5T.B@P+#@I+#DV+#,R.SL <V5R=F5N=#I4*#$W+#0I/7,Q
  474. XM-G-?;F%M93HH,BPW*2PP+#,R.W-?86QI87-E<SHH,3<L,BDL,S(L,S([<U]P
  475. XM;W)T.B@P+#$I+#8T+#,R.W-?<')O=&\Z*#(L-RDL.38L,S([.P!P<F]T;V5N
  476. XM=#I4*#$W+#4I/7,Q,G!?;F%M93HH,BPW*2PP+#,R.W!?86QI87-E<SHH,3<L
  477. XM,BDL,S(L,S([<%]P<F]T;SHH,"PQ*2PV-"PS,CL[ ')P8V5N=#I4*#$W+#8I
  478. XM/7,Q,G)?;F%M93HH,BPW*2PP+#,R.W)?86QI87-E<SHH,3<L,BDL,S(L,S([
  479. XM<E]N=6UB97(Z*# L,2DL-C0L,S([.P!H7V5R<FYO.D<H,"PQ*0 N+V%S;C$N
  480. XM:  N+W-N;7 N:  N+W-N;7!?:6UP;"YH "XO<VYM<%]A<&DN: !D969A=6QT
  481. XM7V5N=&5R<')I<V4Z1R@P+#$S*3UA<B@P+#$I.S [.#LH,"PX*0!S;FUP7VEN
  482. XM=&5R;F%L7W-E<W-I;VXZ5"@P+#$T*3US,C1S9#HH,"PQ*2PP+#,R.V%D9'(Z
  483. XM*#$U+#4I+#,R+#$R.#MR97%U97-T<SHH,"PQ-BD]*B@P+#$U*3UX<W)E<75E
  484. XM<W1?;&ES=#HL,38P+#,R.SL <F5Q=65S=%]L:7-T.E0H,"PQ-2D]<S,V;F5X
  485. XM=%]R97%U97-T.B@P+#$W*3TJ*# L,34I+# L,S([<F5Q=65S=%]I9#HH,"PX
  486. XM*2PS,BPS,CMR971R:65S.B@P+#$I+#8T+#,R.W1I;65O=70Z*# L."DL.38L
  487. XM,S([=&EM93HH,3(L,2DL,3(X+#8T.V5X<&ER93HH,3(L,2DL,3DR+#8T.W!D
  488. XM=3HH,"PQ."D]*B@R,2PW*2PR-38L,S([.P!S97-S:6]N7VQI<W0Z5"@P+#$Y
  489. XM*3US,3)N97AT.B@P+#(P*3TJ*# L,3DI+# L,S([<V5S<VEO;CHH,"PR,2D]
  490. XM*B@R,2PQ*2PS,BPS,CMI;G1E<FYA;#HH,"PR,BD]*B@P+#$T*2PV-"PS,CL[
  491. XM %-E<W-I;VYS.D<H,"PR,"D 4F5Q:60Z1R@P+#@I &%P:5]E<G)O<G,Z1R@P
  492. XM+#(S*3UA<B@P+#$I.S [,SLH,BPW*0!A<&E?97)R<W1R:6YG.F8H,BPW*0!S
  493. XM;FUP7V5R<FYU;6)E<CIP*# L,2D :6YI=%]S;FUP.F8H,"PQ*0!T=CHH,3(L
  494. XM,2D <VYM<%]O<&5N.D8H,"PR,2D <V5S<VEO;CIP*# L,C$I '-L<#HH,"PR
  495. XM,"D :7-P.B@P+#(R*0!C<#HH,2PR*0!S9#HH,"PQ*0!A9&1R.B@P+#@I &UE
  496. XM.B@Q-2PU*0!H<#HH,"PR-"D]*B@Q-RPQ*0!S97)V<#HH,"PR-2D]*B@Q-RPT
  497. XM*0!F<F5E7W)E<75E<W1?;&ES=#IF*# L,2D <G Z<"@P+#$W*0!O<G Z*# L
  498. XM,3<I '-N;7!?8VQO<V4Z1B@P+#$I '-E<W-I;VXZ<"@P+#(Q*0!S;' Z*# L
  499. XM,C I &]S;' Z*# L,C I '-N;7!?8G5I;&0Z9B@P+#$I '-E<W-I;VXZ<"@P
  500. XM+#(Q*0!P9'4Z<"@P+#$X*0!P86-K970Z<"@Q+#(I '!A8VME=#IR*#$L,BD 
  501. XM;W5T7VQE;F=T:#IP*#(Q+#$S*0!B=68Z*# L,C8I/6%R*# L,2D[,#LT-#DY
  502. XM.R@P+#4I &-P.G(H,2PR*0!V<#HH,C$L,3$I &QE;F=T:#HH,"PQ*0!Z97)O
  503. XM.B@P+#$I '1O=&%L;&5N9W1H.B@P+#$I '-N;7!?<&%R<V4Z9B@P+#$I '-E
  504. XM<W-I;VXZ<"@P+#(Q*0!P9'4Z<"@P+#$X*0!D871A.G H,2PR*0!L96YG=&@Z
  505. XM<"@P+#$I &US9U]T>7!E.B@P+#4I '1Y<&4Z*# L-2D =F%R7W9A;#HH,2PR
  506. XM*0!V97)S:6]N.B@P+#$I &QE;CHH,"PQ*0!F;W5R.B@P+#$I &-O;6UU;FET
  507. XM>3HH,"PR-RD]87(H,"PQ*3LP.S$R-SLH,"PU*0!C;VUM=6YI='E?;&5N9W1H
  508. XM.B@P+#$I '9P.B@R,2PQ,2D ;V)J:60Z*# L,C@I/6%R*# L,2D[,#LV,SLH
  509. XM,"PX*0!O<#HH,C$L.2D <VYM<%]S96YD.D8H,"PQ*0!S97-S:6]N.G H,"PR
  510. XM,2D <&1U.G H,"PQ."D <VQP.B@P+#(P*0!I<W Z*# L,C(I '!A8VME=#HH
  511. XM,"PR-BD ;&5N9W1H.B@P+#$I ')P.B@P+#$W*0!T=CHH,3(L,2D 8V]U;G0Z
  512. XM*# L,2D <VYM<%]F<F5E7W!D=3I&*# L,3$I '!D=3IP*# L,3@I '9P.B@R
  513. XM,2PQ,2D ;W9P.B@R,2PQ,2D <VYM<%]R96%D.D8H,"PQ,2D 9F1S970Z<"@P
  514. XM+#(Y*3TJ*#(L."D <VQP.B@P+#(P*0!S<#HH,"PR,2D :7-P.B@P+#(R*0!P
  515. XM86-K970Z*# L,C8I &9R;VTZ*#$U+#4I &QE;F=T:#HH,"PQ*0!F<F]M;&5N
  516. XM9W1H.B@P+#$I '!D=3HH,"PQ."D <G Z*# L,3<I &]R<#HH,"PQ-RD 8V]U
  517. XM;G0Z*# L,2D <VYM<%]S96QE8W1?:6YF;SI&*# L,2D ;G5M9F1S.G H,C$L
  518. XM,3,I &9D<V5T.G H,"PR.2D =&EM96]U=#IP*# L,S I/2HH,3(L,2D 8FQO
  519. XM8VLZ<"@R,2PQ,RD <VQP.B@P+#(P*0!I<W Z*# L,C(I ')P.B@P+#$W*0!N
  520. XM;W<Z*#$R+#$I &5A<FQI97-T.B@Q,BPQ*0!A8W1I=F4Z*# L,2D <F5Q=65S
  521. XM=',Z*# L,2D <VYM<%]T:6UE;W5T.D8H,"PQ,2D <VQP.B@P+#(P*0!S<#HH
  522. XM,"PR,2D :7-P.B@P+#(R*0!R<#HH,"PQ-RD ;W)P.B@P+#$W*0!F<F5E;64Z
  523. XM*# L,3<I &YO=SHH,3(L,2D <&%C:V5T.B@P+#(V*0!L96YG=&@Z*# L,2D 
  524. XM='8Z*#$R+#$I &-O=6YT.B@P+#$I '-N;7 N;P O=&UP7VUN="]N970O;FES
  525. XM8R]U<W(O;&]C86PO<W)C+VYO8V]L+W-R8R]C;74M<VYM<"]S;FUP;&EB+P!S
  526. XM;FUP+F, :6YT.G0H,"PQ*3UR*# L,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T
  527. XM-SL 8VAA<CIT*# L,BD]<B@P+#(I.S [,3(W.P!L;VYG.G0H,"PS*3UR*# L
  528. XM,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z="@P+#0I/7(H,"PQ
  529. XM*3LM,S(W-C@[,S(W-C<[ '5N<VEG;F5D(&-H87(Z="@P+#4I/7(H,"PQ*3LP
  530. XM.S(U-3L =6YS:6=N960@<VAO<G0Z="@P+#8I/7(H,"PQ*3LP.S8U-3,U.P!U
  531. XM;G-I9VYE9"!L;VYG.G0H,"PW*3UR*# L,2D[,#LM,3L =6YS:6=N960@:6YT
  532. XM.G0H,"PX*3UR*# L,2D[,#LM,3L 9FQO870Z="@P+#DI/7(H,"PQ*3LT.S [
  533. XM &1O=6)L93IT*# L,3 I/7(H,"PQ*3LX.S [ '9O:60Z="@P+#$Q*3TH,"PQ
  534. XM,2D /S\_.G0H,"PQ,BD]*# L,2D +W5S<B]I;F-L=61E+W-Y<R]T>7!E<RYH
  535. XM "]U<W(O:6YC;'5D92]S>7,O<W1D='EP97,N:  O=7-R+VEN8VQU9&4O<WES
  536. XM+W-Y<VUA8W)O<RYH "]U<W(O:6YC;'5D92]N971I;F5T+VEN+F@ +B]A<VXQ
  537. XM+F@ +B]S;FUP+F@ +B]S;FUP7VEM<&PN:  N+VUI8BYH &UI8E]S>7-T96TZ
  538. XM5"@X+#$I/7,U-G-Y<T1E<V-R.B@X+#(I/6%R*# L,2D[,#LS,3LH,"PR*2PP
  539. XM+#(U-CMS>7-/8FIE8W1)1#HH."PS*3UA<B@P+#$I.S [,34[*# L-2DL,C4V
  540. XM+#$R.#M/8FI)1$QE;CHH,"PU*2PS.#0L.#MS>7-5<%1I;64Z*# L."DL-#$V
  541. XM+#,R.SL ;6EB7VEN=&5R9F%C93I4*#@L-"D]<S1I9DYU;6)E<CHH,"PQ*2PP
  542. XM+#,R.SL ;6EB7VEF16YT<GDZ5"@X+#4I/7,Q,C!I9DEN9&5X.B@P+#$I+# L
  543. XM,S([:69$97-C<CHH."PR*2PS,BPR-38[:694>7!E.B@P+#$I+#(X."PS,CMI
  544. XM9DUT=3HH,"PQ*2PS,C L,S([:693<&5E9#HH,"PX*2PS-3(L,S([:690:'ES
  545. XM061D<F5S<SHH."PV*3UA<B@P+#$I.S [,3 [*# L-2DL,S@T+#@X.U!H>7-!
  546. XM9&1R3&5N.B@P+#4I+#0W,BPX.VEF061M:6Y3=&%T=7,Z*# L,2DL-#@P+#,R
  547. XM.UP :69/<&5R4W1A='5S.B@P+#$I+#4Q,BPS,CMI9DQA<W1#:&%N9V4Z*# L
  548. XM."DL-30T+#,R.VEF26Y/8W1E=',Z*# L."DL-3<V+#,R.VEF26Y58V%S=%!K
  549. XM=',Z*# L."DL-C X+#,R.VEF26Y.56-A<W10:W1S.B@P+#@I+#8T,"PS,CMI
  550. XM9DEN1&ES8V%R9',Z*# L."DL-C<R+#,R.VEF26Y%<G)O<G,Z*# L."DL-S T
  551. XM+#,R.VEF26Y5;FMN;W=N4')O=&]S.B@P+#@I+#<S-BPS,CM< &EF3W5T3V-T
  552. XM971S.B@P+#@I+#<V."PS,CMI9D]U=%5C87-T4&MT<SHH,"PX*2PX,# L,S([
  553. XM:69/=71.56-A<W10:W1S.B@P+#@I+#@S,BPS,CMI9D]U=$1I<V-A<F1S.B@P
  554. XM+#@I+#@V-"PS,CMI9D]U=$5R<F]R<SHH,"PX*2PX.38L,S([:69/=7113&5N
  555. XM.B@P+#@I+#DR."PS,CL[ &UI8E]A=$5N=')Y.E0H."PW*3US,C!A=$EF26YD
  556. XM97@Z*# L,2DL,"PS,CMA=%!H>7-!9&1R97-S.B@X+#8I+#,R+#@X.U!H>7-!
  557. XM9&1R97-S3&5N.B@P+#4I+#$R,"PX.V%T3F5T061D<F5S<SHH,"PX*2PQ,C@L
  558. XM,S([.P!M:6)?:7 Z5"@X+#@I/7,W-FEP1F]R=V%R9&EN9SHH,"PQ*2PP+#,R
  559. XM.VEP1&5F875L=%143#HH,"PQ*2PS,BPS,CMI<$EN4F5C96EV97,Z*# L."DL
  560. XM-C0L,S([:7!);DAD<D5R<F]R<SHH,"PX*2PY-BPS,CMI<$EN061D<D5R<F]R
  561. XM<SHH,"PX*2PQ,C@L,S([:7!&;W)W1&%T86=R86US.B@P+#@I+#$V,"PS,CMI
  562. XM<$EN56YK;F]W;E!R;W1O<SHH,"PX*2PQ.3(L,S([:7!);D1I<V-A<F1S.B@P
  563. XM+#@I+#(R-"PS,CM< &EP26Y$96QI=F5R<SHH,"PX*2PR-38L,S([:7!/=712
  564. XM97%U97-T<SHH,"PX*2PR.#@L,S([:7!/=71$:7-C87)D<SHH,"PX*2PS,C L
  565. XM,S([:7!/=71.;U)O=71E<SHH,"PX*2PS-3(L,S([:7!296%S;51I;65O=70Z
  566. XM*# L,2DL,S@T+#,R.VEP4F5A<VU297%D<SHH,"PX*2PT,38L,S([:7!296%S
  567. XM;4]+<SHH,"PX*2PT-#@L,S([:7!296%S;49A:6QS.B@P+#@I+#0X,"PS,CM<
  568. XM &EP1G)A9T]+<SHH,"PX*2PU,3(L,S([:7!&<F%G1F%I;',Z*# L."DL-30T
  569. XM+#,R.VEP1G)A9T-R96%T97,Z*# L."DL-3<V+#,R.SL ;6EB7VEP061D<D5N
  570. XM=')Y.E0H."PY*3US,39I<$%D16YT061D<CHH,"PX*2PP+#,R.VEP061%;G1)
  571. XM9DEN9&5X.B@P+#$I+#,R+#,R.VEP061%;G1.971-87-K.B@P+#@I+#8T+#,R
  572. XM.VEP061%;G1"8V%S=$%D9'(Z*# L,2DL.38L,S([.P!M:6)?:7!2;W5T945N
  573. XM=')Y.E0H."PQ,"D]<S0P:7!2;W5T941E<W0Z*# L."DL,"PS,CMI<%)O=71E
  574. XM269);F1E>#HH,"PQ*2PS,BPS,CMI<%)O=71E365T<FEC,3HH,"PQ*2PV-"PS
  575. XM,CMI<%)O=71E365T<FEC,CHH,"PQ*2PY-BPS,CMI<%)O=71E365T<FEC,SHH
  576. XM,"PQ*2PQ,C@L,S([:7!2;W5T94UE=')I8S0Z*# L,2DL,38P+#,R.VEP4F]U
  577. XM=&5.97AT2&]P.B@P+#@I+#$Y,BPS,CMI<%)O=71E5'EP93HH,"PQ*2PR,C0L
  578. XM,S([7 !I<%)O=71E4')O=&\Z*# L,2DL,C4V+#,R.VEP4F]U=&5!9V4Z*# L
  579. XM,2DL,C@X+#,R.SL ;6EB7VEC;7 Z5"@X+#$Q*3US,3 T:6-M<$EN37-G<SHH
  580. XM,"PX*2PP+#,R.VEC;7!);D5R<F]R<SHH,"PX*2PS,BPS,CMI8VUP26Y$97-T
  581. XM56YR96%C:',Z*# L."DL-C0L,S([:6-M<$EN5&EM945X8V1S.B@P+#@I+#DV
  582. XM+#,R.VEC;7!);E!A<FU0<F]B<SHH,"PX*2PQ,C@L,S([:6-M<$EN4W)C475E
  583. XM;F-H<SHH,"PX*2PQ-C L,S([:6-M<$EN4F5D:7)E8W1S.B@P+#@I+#$Y,BPS
  584. XM,CMI8VUP26Y%8VAO<SHH,"PX*2PR,C0L,S([7 !I8VUP26Y%8VAO4F5P<SHH
  585. XM,"PX*2PR-38L,S([:6-M<$EN5&EM97-T86UP<SHH,"PX*2PR.#@L,S([:6-M
  586. XM<$EN5&EM97-T86UP4F5P<SHH,"PX*2PS,C L,S([:6-M<$EN061D<DUA<VMS
  587. XM.B@P+#@I+#,U,BPS,CMI8VUP26Y!9&1R36%S:U)E<',Z*# L."DL,S@T+#,R
  588. XM.VEC;7!/=71-<V=S.B@P+#@I+#0Q-BPS,CMI8VUP3W5T17)R;W)S.B@P+#@I
  589. XM+#0T."PS,CMI8VUP3W5T1&5S=%5N<F5A8VAS.B@P+#@I+#0X,"PS,CM< &EC
  590. XM;7!/=714:6UE17AC9',Z*# L."DL-3$R+#,R.VEC;7!/=71087)M4')O8G,Z
  591. XM*# L."DL-30T+#,R.VEC;7!/=713<F-1=65N8VAS.B@P+#@I+#4W-BPS,CMI
  592. XM8VUP3W5T4F5D:7)E8W1S.B@P+#@I+#8P."PS,CMI8VUP3W5T16-H;W,Z*# L
  593. XM."DL-C0P+#,R.VEC;7!/=71%8VAO4F5P<SHH,"PX*2PV-S(L,S([:6-M<$]U
  594. XM=%1I;65S=&%M<',Z*# L."DL-S T+#,R.VEC;7!/=714:6UE<W1A;7!297!S
  595. XM.B@P+#@I+#<S-BPS,CM< &EC;7!/=71!9&1R36%S:W,Z*# L."DL-S8X+#,R
  596. XM.VEC;7!/=71!9&1R36%S:U)E<',Z*# L."DL.# P+#,R.SL ;6EB7W1C<#I4
  597. XM*#@L,3(I/7,T.'1C<%)T;T%L9V]R:71H;3HH,"PQ*2PP+#,R.W1C<%)T;TUI
  598. XM;CHH,"PQ*2PS,BPS,CMT8W!2=&]-87@Z*# L,2DL-C0L,S([=&-P36%X0V]N
  599. XM;CHH,"PQ*2PY-BPS,CMT8W!!8W1I=F5/<&5N<SHH,"PX*2PQ,C@L,S([=&-P
  600. XM4&%S<VEV94]P96YS.B@P+#@I+#$V,"PS,CMT8W!!='1E;7!T1F%I;',Z*# L
  601. XM."DL,3DR+#,R.W1C<$5S=&%B4F5S971S.B@P+#@I+#(R-"PS,CM< '1C<$-U
  602. XM<G)%<W1A8CHH,"PX*2PR-38L,S([=&-P26Y396=S.B@P+#@I+#(X."PS,CMT
  603. XM8W!/=71396=S.B@P+#@I+#,R,"PS,CMT8W!2971R86YS4V5G<SHH,"PX*2PS
  604. XM-3(L,S([.P!M:6)?=&-P0V]N;D5N=')Y.E0H."PQ,RD]<S(P=&-P0V]N;E-T
  605. XM871E.B@P+#$I+# L,S([=&-P0V]N;DQO8V%L061D<F5S<SHH,"PX*2PS,BPS
  606. XM,CMT8W!#;VYN3&]C86Q0;W)T.B@P+#$I+#8T+#,R.W1C<$-O;FY296U!9&1R
  607. XM97-S.B@P+#@I+#DV+#,R.W1C<$-O;FY296U0;W)T.B@P+#$I+#$R."PS,CL[
  608. XM &UI8E]U9' Z5"@X+#$T*3US,39U9'!);D1A=&%G<F%M<SHH,"PX*2PP+#,R
  609. XM.W5D<$YO4&]R=',Z*# L."DL,S(L,S([=61P26Y%<G)O<G,Z*# L."DL-C0L
  610. XM,S([=61P3W5T1&%T86=R86US.B@P+#@I+#DV+#,R.SL ;6EB7V5G<#I4*#@L
  611. XM,34I/7,Q-F5G<$EN37-G<SHH,"PX*2PP+#,R.V5G<$EN17)R;W)S.B@P+#@I
  612. XM+#,R+#,R.V5G<$]U=$US9W,Z*# L."DL-C0L,S([96=P3W5T17)R;W)S.B@P
  613. XM+#@I+#DV+#,R.SL ;6EB7V5G<$YE:6=H16YT<GDZ5"@X+#$V*3US.&5G<$YE
  614. XM:6=H4W1A=&4Z*# L,2DL,"PS,CME9W!.96EG:$%D9'(Z*# L."DL,S(L,S([
  615. XM.P!S;FUP7W!A<G-E7W9A<E]O<#I&*# L,3,I/2HH,"PU*0!D871A.G H,"PQ
  616. XM,RD 9&%T83IR*# L,3,I '9A<E]N86UE.G H,"PQ-"D]*B@P+#@I '9A<E]N
  617. XM86UE7VQE;CIP*# L,34I/2HH,"PQ*0!V87)?=F%L7W1Y<&4Z<"@P+#$S*0!V
  618. XM87)?=F%L7VQE;CIP*# L,34I '9A<E]V86PZ<"@P+#$V*3TJ*# L,3,I &QI
  619. XM<W1L96YG=&@Z<"@P+#$U*0!V87)?;W!?='EP93HH,"PU*0!V87)?;W!?;&5N
  620. XM.B@P+#$I '9A<E]O<%]S=&%R=#HH,"PQ,RD <VAI9G1?87)R87DZ1B@P+#$I
  621. XM &)E9VEN.G H,"PQ,RD ;&5N9W1H.G H,"PQ*0!L96YG=&@Z<B@P+#$I '-H
  622. XM:69T7V%M;W5N=#IP*# L,2D ;VQD.G(H,"PQ,RD ;F5W.G(H,"PQ,RD <VYM
  623. XM<%]B=6EL9%]V87)?;W Z1B@P+#$S*0!D871A.G H,"PQ,RD 9&%T83IR*# L
  624. XM,3,I '9A<E]N86UE.G H,"PQ-"D =F%R7VYA;65?;&5N.G H,"PQ-2D =F%R
  625. XM7W9A;%]T>7!E.G H,"PU*0!V87)?=F%L7VQE;CIP*# L,2D =F%R7W9A;#IP
  626. XM*# L,3,I &QI<W1L96YG=&@Z<"@P+#$U*0!L:7-T;&5N9W1H.G(H,"PQ-2D 
  627. XM9'5M;7E,96XZ*# L,2D :&5A9&5R3&5N.B@P+#$I &AE861E<E]S:&EF=#HH
  628. XM,"PQ*0!D871A4'1R.B@P+#$S*0!S;FUP7V)U:6QD7W1R87 Z1B@P+#$I &]U
  629. XM=%]D871A.G H,"PQ,RD ;W5T7V1A=&$Z<B@P+#$S*0!L96YG=&@Z<"@P+#$U
  630. XM*0!S>7-/:60Z<"@P+#$T*0!S>7-/:61,96XZ<"@P+#$I &UY061D<CIP*# L
  631. XM."D =')A<%1Y<&4Z<"@P+#$I '-P96-I9FEC5'EP93IP*# L,2D =&EM93IP
  632. XM*# L."D =F%R3F%M93IP*# L,30I '9A<DYA;65,96XZ<"@P+#$I '9A<E1Y
  633. XM<&4Z<"@P+#4I '9A<DQE;CIP*# L,2D =F%R5F%L.G H,"PQ,RD =F5R<VEO
  634. XM;CHH,"PQ*0!S:61,96XZ*# L,2D 9'5M;7E,96XZ*# L,2D ;W5T7V%U=&@Z
  635. XM*# L,3,I &]U=%]H96%D97(Z*# L,3,I &]U=%]P9'4Z*# L,3,I &]U=%]V
  636. XM87)(96%D97(Z*# L,3,I &]U=%]V87)L:7-T.B@P+#$S*0!O=71?96YD.B@P
  637. XM+#$S*0!A=71H7W-H:69T.B@P+#$I '!D=5]S:&EF=#HH,"PQ*0!L:7-T7W-H
  638. XM:69T.B@P+#$I '-N;7!?875T:"YO "]T;7!?;6YT+VYE="]N:7-C+W5S<B]L
  639. XM;V-A;"]S<F,O;F]C;VPO<W)C+V-M=2US;FUP+W-N;7!L:6(O '-N;7!?875T
  640. XM:"YC &EN=#IT*# L,2D]<B@P+#$I.RTR,30W-#@S-C0X.S(Q-#<T.#,V-#<[
  641. XM &-H87(Z="@P+#(I/7(H,"PR*3LP.S$R-SL ;&]N9SIT*# L,RD]<B@P+#$I
  642. XM.RTR,30W-#@S-C0X.S(Q-#<T.#,V-#<[ '-H;W)T.G0H,"PT*3UR*# L,2D[
  643. XM+3,R-S8X.S,R-S8W.P!U;G-I9VYE9"!C:&%R.G0H,"PU*3UR*# L,2D[,#LR
  644. XM-34[ '5N<VEG;F5D('-H;W)T.G0H,"PV*3UR*# L,2D[,#LV-34S-3L =6YS
  645. XM:6=N960@;&]N9SIT*# L-RD]<B@P+#$I.S [+3$[ '5N<VEG;F5D(&EN=#IT
  646. XM*# L."D]<B@P+#$I.S [+3$[ &9L;V%T.G0H,"PY*3UR*# L,2D[-#LP.P!D
  647. XM;W5B;&4Z="@P+#$P*3UR*# L,2D[.#LP.P!V;VED.G0H,"PQ,2D]*# L,3$I
  648. XM #\_/SIT*# L,3(I/2@P+#$I "]U<W(O:6YC;'5D92]S>7,O='EP97,N:  O
  649. XM=7-R+VEN8VQU9&4O<WES+W-T9'1Y<&5S+F@ +W5S<B]I;F-L=61E+W-Y<R]S
  650. XM>7-M86-R;W,N:  O=7-R+VEN8VQU9&4O;F5T:6YE="]I;BYH "XO87-N,2YH
  651. XM "XO<VYM<"YH "XO<VYM<%]I;7!L+F@ <VYM<%]A=71H7W!A<G-E.D8H,"PQ
  652. XM,RD]*B@P+#4I &1A=&$Z<"@P+#$S*0!L96YG=&@Z<"@P+#$T*3TJ*# L,2D 
  653. XM<VED.G H,"PQ,RD <VQE;CIP*# L,30I '9E<G-I;VXZ<"@P+#$T*0!T>7!E
  654. XM.B@P+#4I '-N;7!?875T:%]B=6EL9#I&*# L,3,I &1A=&$Z<"@P+#$S*0!L
  655. XM96YG=&@Z<"@P+#$T*0!S:60Z<"@P+#$S*0!S;&5N.G H,"PQ-"D =F5R<VEO
  656. XM;CIP*# L,30I &UE<W-A9V5L96XZ<"@P+#$I &%S;C$N;P O=&UP7VUN="]N
  657. XM970O;FES8R]U<W(O;&]C86PO<W)C+VYO8V]L+W-R8R]C;74M<VYM<"]S;FUP
  658. XM;&EB+P!A<VXQ+F, :6YT.G0H,"PQ*3UR*# L,2D[+3(Q-#<T.#,V-#@[,C$T
  659. XM-S0X,S8T-SL 8VAA<CIT*# L,BD]<B@P+#(I.S [,3(W.P!L;VYG.G0H,"PS
  660. XM*3UR*# L,2D[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z="@P+#0I
  661. XM/7(H,"PQ*3LM,S(W-C@[,S(W-C<[ '5N<VEG;F5D(&-H87(Z="@P+#4I/7(H
  662. XM,"PQ*3LP.S(U-3L =6YS:6=N960@<VAO<G0Z="@P+#8I/7(H,"PQ*3LP.S8U
  663. XM-3,U.P!U;G-I9VYE9"!L;VYG.G0H,"PW*3UR*# L,2D[,#LM,3L =6YS:6=N
  664. XM960@:6YT.G0H,"PX*3UR*# L,2D[,#LM,3L 9FQO870Z="@P+#DI/7(H,"PQ
  665. XM*3LT.S [ &1O=6)L93IT*# L,3 I/7(H,"PQ*3LX.S [ '9O:60Z="@P+#$Q
  666. XM*3TH,"PQ,2D /S\_.G0H,"PQ,BD]*# L,2D +W5S<B]I;F-L=61E+W-Y<R]T
  667. XM>7!E<RYH "]U<W(O:6YC;'5D92]S>7,O<W1D='EP97,N:  O=7-R+VEN8VQU
  668. XM9&4O<WES+W-Y<VUA8W)O<RYH "]U<W(O:6YC;'5D92]N971I;F5T+VEN+F@ 
  669. XM+B]A<VXQ+F@ 87-N7W!A<G-E7VEN=#I&*# L,3,I/2HH,"PU*0!D871A.G H
  670. XM,"PQ,RD 9&%T83IR*# L,3,I &1A=&%L96YG=&@Z<"@P+#$T*3TJ*# L,2D 
  671. XM9&%T86QE;F=T:#IR*# L,30I '1Y<&4Z<"@P+#$S*0!I;G1P.G H,"PQ-"D 
  672. XM:6YT<VEZ93IP*# L,2D 8G5F<#IR*# L,3,I &%S;E]L96YG=&@Z*# L."D 
  673. XM=F%L=64Z<B@P+#$I &%S;E]B=6EL9%]I;G0Z1B@P+#$S*0!D871A.G H,"PQ
  674. XM,RD 9&%T83IR*# L,3,I &1A=&%L96YG=&@Z<"@P+#$T*0!D871A;&5N9W1H
  675. XM.G(H,"PQ-"D ='EP93IP*# L-2D :6YT<#IP*# L,30I &EN=' Z<B@P+#$T
  676. XM*0!I;G1S:7IE.G H,"PQ*0!I;G1S:7IE.G(H,"PQ*0!I;G1E9V5R.G(H,"PQ
  677. XM*0!M87-K.G(H,"PX*0!A<VY?<&%R<V5?<W1R:6YG.D8H,"PQ,RD 9&%T83IP
  678. XM*# L,3,I &1A=&%L96YG=&@Z<"@P+#$T*0!D871A;&5N9W1H.G(H,"PQ-"D 
  679. XM='EP93IP*# L,3,I '-T<FEN9SIP*# L,3,I '-T<FQE;F=T:#IP*# L,30I
  680. XM '-T<FQE;F=T:#IR*# L,30I &)U9G Z<B@P+#$S*0!A<VY?;&5N9W1H.B@P
  681. XM+#@I &%S;E]B=6EL9%]S=')I;F<Z1B@P+#$S*0!D871A.G H,"PQ,RD 9&%T
  682. XM86QE;F=T:#IP*# L,30I &1A=&%L96YG=&@Z<B@P+#$T*0!T>7!E.G H,"PU
  683. XM*0!S=')I;F<Z<"@P+#$S*0!S=')L96YG=&@Z<"@P+#$I '-T<FQE;F=T:#IR
  684. XM*# L,2D 87-N7W!A<G-E7VAE861E<CI&*# L,3,I &1A=&$Z<"@P+#$S*0!D
  685. XM871A;&5N9W1H.G H,"PQ-"D ='EP93IP*# L,3,I &)U9G Z<B@P+#$S*0!H
  686. XM96%D97)?;&5N.G(H,"PQ*0!A<VY?;&5N9W1H.B@P+#@I &%S;E]B=6EL9%]H
  687. XM96%D97(Z1B@P+#$S*0!D871A.G H,"PQ,RD 9&%T83IR*# L,3,I &1A=&%L
  688. XM96YG=&@Z<"@P+#$T*0!T>7!E.G H,"PU*0!L96YG=&@Z<"@P+#$I &%S;E]P
  689. XM87)S95]L96YG=&@Z1B@P+#$S*0!D871A.G H,"PQ,RD ;&5N9W1H.G H,"PQ
  690. XM-2D]*B@P+#@I &QE;F=T:&)Y=&4Z<B@P+#4I &%S;E]B=6EL9%]L96YG=&@Z
  691. XM1B@P+#$S*0!D871A.G H,"PQ,RD 9&%T83IR*# L,3,I &1A=&%L96YG=&@Z
  692. XM<"@P+#$T*0!L96YG=&@Z<"@P+#$I &QE;F=T:#IR*# L,2D <W1A<G1?9&%T
  693. XM83HH,"PQ,RD 87-N7W!A<G-E7V]B:FED.D8H,"PQ,RD 9&%T83IP*# L,3,I
  694. XM &1A=&%L96YG=&@Z<"@P+#$T*0!T>7!E.G H,"PQ,RD ;V)J:60Z<"@P+#$U
  695. XM*0!O8FII9&QE;F=T:#IP*# L,30I &)U9G Z<B@P+#$S*0!O:61P.G(H,"PQ
  696. XM-2D <W5B:61E;G1I9FEE<CIR*# L."D ;&5N9W1H.G(H,"PQ*0!A<VY?;&5N
  697. XM9W1H.B@P+#@I &%S;E]B=6EL9%]O8FII9#I&*# L,3,I &1A=&$Z<"@P+#$S
  698. XM*0!D871A.G(H,"PQ,RD 9&%T86QE;F=T:#IP*# L,30I '1Y<&4Z<"@P+#4I
  699. XM &]B:FED.G H,"PQ-2D ;V)J:61L96YG=&@Z<"@P+#$I &)U9CHH,"PQ-BD]
  700. XM87(H,"PQ*3LP.S8S.R@P+#4I &)P.B@P+#$S*0!O8FIB=68Z*# L,3<I/6%R
  701. XM*# L,2D[,#LV,SLH,"PX*0!O<#HH,"PQ-2D 87-N;&5N9W1H.G(H,"PQ*0!S
  702. XM=6)I9#IR*# L."D ;6%S:SIR*# L."D =&5S=&UA<VLZ<B@P+#@I &)I=',Z
  703. XM<B@P+#$I '1E<W1B:71S.G(H,"PQ*0!A<VY?<&%R<V5?;G5L;#I&*# L,3,I
  704. XM &1A=&$Z<"@P+#$S*0!D871A;&5N9W1H.G H,"PQ-"D ='EP93IP*# L,3,I
  705. XM &)U9G Z<B@P+#$S*0!A<VY?;&5N9W1H.B@P+#@I &%S;E]B=6EL9%]N=6QL
  706. XM.D8H,"PQ,RD 9&%T83IP*# L,3,I &1A=&%L96YG=&@Z<"@P+#$T*0!T>7!E
  707. XM.G H,"PU*0!?971E>'0 7V5D871A %]E;F0 <W1A<G0 7VUA:6X 7V5N=FER
  708. XM;VX 7W-N;7!?8VQO<V4 7W!R:6YT7W9A<FEA8FQE %]S;FUP7V5R<G-T<FEN
  709. XM9P!?:6YI=%]M:6( 7W!R:6YT7V]B:FED %]S;FUP7W!D=5]C<F5A=&4 7W-N
  710. XM;7!?<WEN8VA?<F5S<&]N<V4 7V]B:FED7VUI8@!?<VYM<%]S>6YC:%]S971U
  711. XM< !?<VYM<%]D=6UP7W!A8VME= !?<VYM<%]O<&5N %]S;FUP7V9R965?<&1U
  712. XM %]S;FUP7V%D9%]N=6QL7W9A<@!?<F5A9%]O8FII9 !?97)R;W)?<W1R:6YG
  713. XM %]S;FUP7W1I;65O=70 7W-N;7!?9FEX7W!D=0!?<VYM<%]S>6YC:%]S=&%T
  714. XM90!?<VYM<%]S96QE8W1?:6YF;P!?<VYM<%]S>6YC:%]I;G!U= !?<VYM<%]R
  715. XM96%D %]S;FUP7W-E;F0 7TUI8@!?<')I;G1?=F%L=64 7W-P<FEN=%]V87)I
  716. XM86)L90!?<F5A9%]M:6( 7U)&0S$P-C9?34E" %]S<')I;G1?;V)J:60 7W-P
  717. XM<FEN=%]V86QU90!?9V5T7W-Y;6)O; !?4D9#,3 V-E]-24)?=&5X= !?3&EN
  718. XM90!?8G5C:V5T<P!?=&]K96YS %]S;FUP7V5R<FYO %]A<VY?<&%R<V5?<W1R
  719. XM:6YG %]A<VY?8G5I;&1?<W1R:6YG %]A<VY?<&%R<V5?:&5A9&5R %]A<VY?
  720. XM8G5I;&1?:&5A9&5R %]A<VY?<&%R<V5?:6YT %]A<VY?8G5I;&1?:6YT %]S
  721. XM;FUP7V%U=&A?8G5I;&0 7W-N;7!?875T:%]P87)S90!?87!I7V5R<F]R<P!?
  722. XM4V5S<VEO;G, 7U)E<6ED %]D969A=6QT7V5N=&5R<')I<V4 7V%S;E]P87)S
  723. XM95]O8FII9 !?87-N7V)U:6QD7V]B:FED %]S;FUP7W!A<G-E7W9A<E]O< !?
  724. XM<VYM<%]B=6EL9%]V87)?;W  7W-H:69T7V%R<F%Y %]S;FUP7V)U:6QD7W1R
  725. XM87  7V%S;E]B=6EL9%]N=6QL %]A<VY?8G5I;&1?;&5N9W1H %]A<VY?<&%R
  726. XM<V5?;&5N9W1H %]A<VY?<&%R<V5?;G5L;                           
  727. XM                                                            
  728. XM                                                            
  729. XM                                                            
  730. XM                                                            
  731. XM                                                            
  732. XM                                                            
  733. XM                                                            
  734. XM                                                            
  735. XM                                                            
  736. XM                                                            
  737. XM                                                            
  738. XM                                                            
  739. XM                                                            
  740. XM                                                            
  741. XM                                                            
  742. XM                                                            
  743. XM                                                            
  744. XM                                                            
  745. XM                                                            
  746. XM                                                            
  747. XM                                                            
  748. XM                                                            
  749. XM                                                            
  750. XM                                                            
  751. XM                                                            
  752. XM                                                            
  753. XM                                                            
  754. XM                                                            
  755. XM                                                            
  756. XM                                                            
  757. XM                                                            
  758. XM                                                            
  759. XM                                                            
  760. XM                                                            
  761. XM                                                            
  762. XM                                                            
  763. X>                                        
  764. Xend
  765. END_OF_FILE
  766.   if test 45370 -ne `wc -c <'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C'`; then
  767.     echo shar: \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C'\" unpacked with wrong size!
  768.   elif test -f 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.A' && test -f 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.B'; then
  769.     echo shar: Combining  \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU'\" \(169354 characters\)
  770.     cat 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.A' 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.B' 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C' > 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU'
  771.     if test 169354 -ne `wc -c <'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU'`; then
  772.       echo shar: \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU'\" combined with wrong size!
  773.     else
  774.       rm nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.A nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.B nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C
  775.       echo shar: Uudecoding \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk'\" \(122880 characters\)
  776.       cat nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU | uudecode
  777.       if test 122880 -ne `wc -c <'nocol-3.0/src/cmu-snmp/bin/snmpwalk'`; then
  778.         echo shar: \"'nocol-3.0/src/cmu-snmp/bin/snmpwalk'\" uudecoded with wrong size!
  779.       else
  780.         rm nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU
  781.       fi
  782.       # end of 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU'
  783.     fi
  784.   fi
  785.   # end of 'nocol-3.0/src/cmu-snmp/bin/snmpwalk.UU.C'
  786. fi
  787. if test -f 'nocol-3.0/src/eventselect/eventselect.c' -a "${1}" != "-c" ; then 
  788.   echo shar: Will not clobber existing file \"'nocol-3.0/src/eventselect/eventselect.c'\"
  789. else
  790.   echo shar: Extracting \"'nocol-3.0/src/eventselect/eventselect.c'\" \(4753 characters\)
  791.   sed "s/^X//" >'nocol-3.0/src/eventselect/eventselect.c' <<'END_OF_FILE'
  792. X/* $Header: /home/aggarwal/lsrc/nocol/src/eventselect/RCS/eventselect.c,v 1.4 1993/10/30 03:18:11 aggarwal Exp $ */
  793. X
  794. X/*+ 
  795. X ** Program to parse all NOCOL data files and print out (in LOG format)
  796. X ** all events matching the specified (command line) criterion.
  797. X **
  798. X **    -vikas@jvnc.net        Sep 27, 1993
  799. X **/
  800. X
  801. X/* Copyright 1993 JvNCnet, Global Enterprise Services */
  802. X
  803. X/*
  804. X * $Log: eventselect.c,v $
  805. X * Revision 1.4  1993/10/30  03:18:11  aggarwal
  806. X * Added copyright
  807. X *
  808. X * Revision 1.3  1993/10/22  14:24:07  aggarwal
  809. X * Now also handles numbers as levels.
  810. X *
  811. X * Revision 1.2  1993/10/14  16:59:10  aggarwal
  812. X * Small change in the usage message.
  813. X *
  814. X * Revision 1.1  1993/10/02  05:23:01  aggarwal
  815. X * Initial revision
  816. X *
  817. X */
  818. X
  819. X#ifndef lint
  820. X# define rcsid[] = "$Id: eventselect.c,v 1.4 1993/10/30 03:18:11 aggarwal Exp $" ;
  821. X#endif
  822. X
  823. X#include "nocol.h"
  824. X#include "fcntl.h"        /* for O_RDONLY definition */
  825. X
  826. Xint    logevents, debugflag, minseverity = E_INFO ;
  827. Xstatic char     *myname ;
  828. Xtime_t    fromtime, totime ;    /* user specified */
  829. X
  830. Xchar *(senderlist[40]);        /* list of command-line sender names */
  831. Xchar *(sitenamelist[40]);
  832. X
  833. Xmain(argc, argv)
  834. X     int argc;
  835. X     char **argv;
  836. X{
  837. X    extern char *optarg;
  838. X    extern int  optind;
  839. X    int c, sitei =0, senderi =0 ;
  840. X
  841. X    myname = argv[0] ;
  842. X
  843. X    while ((c = getopt(argc, argv, "dlv:s:f:t:S:")) != EOF)
  844. X      switch(c)
  845. X      {
  846. X       case 'd':
  847. X          debugflag++;
  848. X      fprintf(stderr, "%s: DEBUG turned on\n", myname);
  849. X          break;
  850. X       case 'l':
  851. X      logevents++ ;        /* send to noclogd logging daemon */
  852. X          break ;
  853. X       case 'v':
  854. X      switch(tolower(optarg[0]))
  855. X      {
  856. X       case 'c': case '1': minseverity = E_CRITICAL; break;
  857. X       case 'e': case '2': minseverity = E_ERROR; break;
  858. X       case 'w': case '3': minseverity = E_WARNING; break;
  859. X       case 'i': case '4': minseverity = E_INFO; break;
  860. X      }
  861. X          break ;
  862. X       case 's':
  863. X      senderlist[senderi++] = optarg ;
  864. X          break ;
  865. X       case 'S':
  866. X      sitenamelist[sitei++] = optarg ;
  867. X          break ;
  868. X       case 'f':            /* From time */
  869. X      if (optarg[0] == '+')        /* time given as delta seconds */
  870. X      {
  871. X          time_t  t = time((long *)NULL);
  872. X          fromtime = t - atoi(++optarg) ;
  873. X      }
  874. X      else
  875. X        fromtime = get_date(optarg, NULL) ;
  876. X      if (fromtime < 0)
  877. X        fromtime = 0;
  878. X          break ;
  879. X       case 't':            /* To time */
  880. X      if (optarg[0] == '+')        /* time given as delta seconds */
  881. X      {
  882. X          time_t  t = time((long *)NULL);
  883. X          totime = t - atoi(++optarg) ;
  884. X      }
  885. X      else
  886. X        totime = get_date(optarg, NULL) ;
  887. X          break ;
  888. X       case '?':
  889. X       default:
  890. X          fprintf(stderr, "%s: Unknown flag: %c\n", myname, optarg);
  891. X          fprintf(stderr, "Usage: %s [-d (debug)] [-l (logevents)]\n", myname);
  892. X          fprintf(stderr, "\t[-v <severity as Critical/Error/Warn/Info>]\n");
  893. X      fprintf(stderr, "\t[-s <sendername>] [-S <sitename>]\n");
  894. X      fprintf(stderr, "\t[-f <FromTime>] [-t <ToTime>] ");
  895. X      fprintf(stderr, "(can specify deltaTimeSecs as +300)\n");
  896. X      fprintf(stderr, "[data-files if not from stdin]\n");
  897. X          exit (1);
  898. X      }
  899. X
  900. X    /*
  901. X     * Check times
  902. X     */
  903. X
  904. X    if (totime <= 0)
  905. X      totime = time((long *)NULL) + 100000;    /* curtime + large number*/
  906. X    if (fromtime  &&  totime  &&  totime <= fromtime)
  907. X    {
  908. X    fprintf(stderr,    "%s: Ignoring EndTime since specified EndTime %s",
  909. X        myname, ctime(&totime));
  910. X    fprintf(stderr, "\t is less than FromTime %s\n", ctime(&fromtime) );
  911. X    totime = time((long *)NULL) + 100000;
  912. X    }
  913. X
  914. X    if (debugflag)
  915. X    {
  916. X    char **s ;
  917. X
  918. X    fprintf(stderr, "%s (debug):\n", myname);
  919. X    fprintf(stderr, "\tlogevents= %s, MinSeverity= %s\n",
  920. X        logevents ? "YES" : "NO", severity_txt[minseverity]);
  921. X
  922. X    fprintf(stderr, "\tFrom= %s",ctime(&fromtime));
  923. X    fprintf(stderr, "\tTo= %s", ctime(&totime));
  924. X    fprintf(stderr, "\tSenders= ");
  925. X    if ((s = senderlist) && *s)
  926. X      fprintf(stderr, "%s /", *s++);
  927. X    fprintf(stderr, "\n");
  928. X    fprintf(stderr, "\tSitenames= ");
  929. X    if ((s = sitenamelist) && *s)
  930. X      fprintf(stderr, "%s /", *s++);
  931. X    fprintf(stderr, "\n");
  932. X    }
  933. X
  934. X    if (optind >= argc)            /* no command line args */
  935. X      proc_datafile (fileno(stdin));    /* process STDIN */
  936. X    else                                /* specified input files  */
  937. X      while ( optind < argc )
  938. X      {
  939. X      int fd ;
  940. X
  941. X          if (debugflag)
  942. X            fprintf(stderr,"debug (main): processing input file %s\n",
  943. X                    argv[optind]);
  944. X          if ((fd = open(argv[optind], O_RDONLY)) < 0) /* Cannot open */
  945. X          {
  946. X              fprintf(stderr,"%s: Error in read open ", myname);
  947. X              perror(argv[optind]);
  948. X          }
  949. X          else
  950. X          {
  951. X              proc_datafile (fd);
  952. X          close(fd);
  953. X          }
  954. X          ++optind ;            /* next file    */
  955. X      }                         /* end while()  */
  956. X
  957. X}    /* end:  main()  */
  958. X
  959. END_OF_FILE
  960.   if test 4753 -ne `wc -c <'nocol-3.0/src/eventselect/eventselect.c'`; then
  961.     echo shar: \"'nocol-3.0/src/eventselect/eventselect.c'\" unpacked with wrong size!
  962.   fi
  963.   # end of 'nocol-3.0/src/eventselect/eventselect.c'
  964. fi
  965. if test -f 'nocol-3.0/src/lib/getdate.y' -a "${1}" != "-c" ; then 
  966.   echo shar: Will not clobber existing file \"'nocol-3.0/src/lib/getdate.y'\"
  967. else
  968.   echo shar: Extracting \"'nocol-3.0/src/lib/getdate.y'\" \(22024 characters\)
  969.   sed "s/^X//" >'nocol-3.0/src/lib/getdate.y' <<'END_OF_FILE'
  970. X%{
  971. X/* $Header: /usr/local/src/nocol/src/lib/RCS/getdate.y,v 1.1 1993/09/22 20:34:32 aggarwal Exp $
  972. X**
  973. X** This version is taken directly from GNU fileutils3.1. Only 2 lines in
  974. X** 'main' were tweaked.
  975. X**    -vikas@jvnc.net
  976. X*/
  977. X/* $Revision: 1.1 $
  978. X**
  979. X**  Originally written by Steven M. Bellovin <smb@research.att.com> while
  980. X**  at the University of North Carolina at Chapel Hill.  Later tweaked by
  981. X**  a couple of people on Usenet.  Completely overhauled by Rich $alz
  982. X**  <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990;
  983. X**  send any email to Rich.
  984. X**
  985. X**  This grammar has eight shift/reduce conflicts.
  986. X**
  987. X**  This code is in the public domain and has no copyright.
  988. X*/
  989. X/* SUPPRESS 287 on yaccpar_sccsid *//* Unusd static variable */
  990. X/* SUPPRESS 288 on yyerrlab *//* Label unused */
  991. X
  992. X#ifdef __GNUC__
  993. X#define alloca __builtin_alloca
  994. X#else
  995. X#ifdef sparc
  996. X#include <alloca.h>
  997. X#else
  998. X#ifdef _AIX /* for Bison */
  999. X #pragma alloca
  1000. X#else
  1001. Xchar *alloca ();
  1002. X#endif
  1003. X#endif
  1004. X#endif
  1005. X
  1006. X#include <stdio.h>
  1007. X#include <ctype.h>
  1008. X
  1009. X#if    defined(vms)
  1010. X#include <types.h>
  1011. X#include <time.h>
  1012. X#else
  1013. X#include <sys/types.h>
  1014. X#if    defined(USG) || defined(FTIME_MISSING)
  1015. X/*
  1016. X**  If you need to do a tzset() call to set the
  1017. X**  timezone, and don't have ftime().
  1018. X*/
  1019. Xstruct timeb {
  1020. X    time_t        time;        /* Seconds since the epoch    */
  1021. X    unsigned short    millitm;    /* Field not used        */
  1022. X    short        timezone;
  1023. X    short        dstflag;    /* Field not used        */
  1024. X};
  1025. X#else
  1026. X#include <sys/timeb.h>
  1027. X#endif    /* defined(USG) || defined(FTIME_MISSING) */
  1028. X#if    defined(BSD4_2) || defined(BSD4_1C)
  1029. X#include <sys/time.h>
  1030. X#else
  1031. X#include <time.h>
  1032. X#endif    /* defined(BSD4_2) */
  1033. X#endif    /* defined(vms) */
  1034. X
  1035. X#if defined (STDC_HEADERS) || defined (USG)
  1036. X#include <string.h>
  1037. X#endif
  1038. X
  1039. Xextern struct tm    *localtime();
  1040. X
  1041. X#define yyparse getdate_yyparse
  1042. X#define yylex getdate_yylex
  1043. X#define yyerror getdate_yyerror
  1044. X
  1045. X#if    !defined(lint) && !defined(SABER)
  1046. Xstatic char RCS[] =
  1047. X    "$Header: /usr/local/src/nocol/src/lib/RCS/getdate.y,v 1.1 1993/09/22 20:34:32 aggarwal Exp $";
  1048. X#endif    /* !defined(lint) && !defined(SABER) */
  1049. X
  1050. X
  1051. X#define EPOCH        1970
  1052. X#define HOUR(x)        ((time_t)(x) * 60)
  1053. X#define SECSPERDAY    (24L * 60L * 60L)
  1054. X
  1055. X
  1056. X/*
  1057. X**  An entry in the lexical lookup table.
  1058. X*/
  1059. Xtypedef struct _TABLE {
  1060. X    char    *name;
  1061. X    int        type;
  1062. X    time_t    value;
  1063. X} TABLE;
  1064. X
  1065. X
  1066. X/*
  1067. X**  Daylight-savings mode:  on, off, or not yet known.
  1068. X*/
  1069. Xtypedef enum _DSTMODE {
  1070. X    DSTon, DSToff, DSTmaybe
  1071. X} DSTMODE;
  1072. X
  1073. X/*
  1074. X**  Meridian:  am, pm, or 24-hour style.
  1075. X*/
  1076. Xtypedef enum _MERIDIAN {
  1077. X    MERam, MERpm, MER24
  1078. X} MERIDIAN;
  1079. X
  1080. X
  1081. X/*
  1082. X**  Global variables.  We could get rid of most of these by using a good
  1083. X**  union as the yacc stack.  (This routine was originally written before
  1084. X**  yacc had the %union construct.)  Maybe someday; right now we only use
  1085. X**  the %union very rarely.
  1086. X*/
  1087. Xstatic char    *yyInput;
  1088. Xstatic DSTMODE    yyDSTmode;
  1089. Xstatic time_t    yyDayOrdinal;
  1090. Xstatic time_t    yyDayNumber;
  1091. Xstatic int    yyHaveDate;
  1092. Xstatic int    yyHaveDay;
  1093. Xstatic int    yyHaveRel;
  1094. Xstatic int    yyHaveTime;
  1095. Xstatic int    yyHaveZone;
  1096. Xstatic time_t    yyTimezone;
  1097. Xstatic time_t    yyDay;
  1098. Xstatic time_t    yyHour;
  1099. Xstatic time_t    yyMinutes;
  1100. Xstatic time_t    yyMonth;
  1101. Xstatic time_t    yySeconds;
  1102. Xstatic time_t    yyYear;
  1103. Xstatic MERIDIAN    yyMeridian;
  1104. Xstatic time_t    yyRelMonth;
  1105. Xstatic time_t    yyRelSeconds;
  1106. X
  1107. X%}
  1108. X
  1109. X%union {
  1110. X    time_t        Number;
  1111. X    enum _MERIDIAN    Meridian;
  1112. X}
  1113. X
  1114. X%token    tAGO tDAY tDAYZONE tID tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT
  1115. X%token    tSEC_UNIT tSNUMBER tUNUMBER tZONE tDST
  1116. X
  1117. X%type    <Number>    tDAY tDAYZONE tMINUTE_UNIT tMONTH tMONTH_UNIT
  1118. X%type    <Number>    tSEC_UNIT tSNUMBER tUNUMBER tZONE
  1119. X%type    <Meridian>    tMERIDIAN o_merid
  1120. X
  1121. X%%
  1122. X
  1123. Xspec    : /* NULL */
  1124. X    | spec item
  1125. X    ;
  1126. X
  1127. Xitem    : time {
  1128. X        yyHaveTime++;
  1129. X    }
  1130. X    | zone {
  1131. X        yyHaveZone++;
  1132. X    }
  1133. X    | date {
  1134. X        yyHaveDate++;
  1135. X    }
  1136. X    | day {
  1137. X        yyHaveDay++;
  1138. X    }
  1139. X    | rel {
  1140. X        yyHaveRel++;
  1141. X    }
  1142. X    | number
  1143. X    ;
  1144. X
  1145. Xtime    : tUNUMBER tMERIDIAN {
  1146. X        yyHour = $1;
  1147. X        yyMinutes = 0;
  1148. X        yySeconds = 0;
  1149. X        yyMeridian = $2;
  1150. X    }
  1151. X    | tUNUMBER ':' tUNUMBER o_merid {
  1152. X        yyHour = $1;
  1153. X        yyMinutes = $3;
  1154. X        yySeconds = 0;
  1155. X        yyMeridian = $4;
  1156. X    }
  1157. X    | tUNUMBER ':' tUNUMBER tSNUMBER {
  1158. X        yyHour = $1;
  1159. X        yyMinutes = $3;
  1160. X        yyMeridian = MER24;
  1161. X        yyDSTmode = DSToff;
  1162. X        yyTimezone = - ($4 % 100 + ($4 / 100) * 60);
  1163. X    }
  1164. X    | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
  1165. X        yyHour = $1;
  1166. X        yyMinutes = $3;
  1167. X        yySeconds = $5;
  1168. X        yyMeridian = $6;
  1169. X    }
  1170. X    | tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER {
  1171. X        yyHour = $1;
  1172. X        yyMinutes = $3;
  1173. X        yySeconds = $5;
  1174. X        yyMeridian = MER24;
  1175. X        yyDSTmode = DSToff;
  1176. X        yyTimezone = - ($6 % 100 + ($6 / 100) * 60);
  1177. X    }
  1178. X    ;
  1179. X
  1180. Xzone    : tZONE {
  1181. X        yyTimezone = $1;
  1182. X        yyDSTmode = DSToff;
  1183. X    }
  1184. X    | tDAYZONE {
  1185. X        yyTimezone = $1;
  1186. X        yyDSTmode = DSTon;
  1187. X    }
  1188. X    |
  1189. X      tZONE tDST {
  1190. X        yyTimezone = $1;
  1191. X        yyDSTmode = DSTon;
  1192. X    }
  1193. X    ;
  1194. X
  1195. Xday    : tDAY {
  1196. X        yyDayOrdinal = 1;
  1197. X        yyDayNumber = $1;
  1198. X    }
  1199. X    | tDAY ',' {
  1200. X        yyDayOrdinal = 1;
  1201. X        yyDayNumber = $1;
  1202. X    }
  1203. X    | tUNUMBER tDAY {
  1204. X        yyDayOrdinal = $1;
  1205. X        yyDayNumber = $2;
  1206. X    }
  1207. X    ;
  1208. X
  1209. Xdate    : tUNUMBER '/' tUNUMBER {
  1210. X        yyMonth = $1;
  1211. X        yyDay = $3;
  1212. X    }
  1213. X    | tUNUMBER '/' tUNUMBER '/' tUNUMBER {
  1214. X        yyMonth = $1;
  1215. X        yyDay = $3;
  1216. X        yyYear = $5;
  1217. X    }
  1218. X    | tMONTH tUNUMBER {
  1219. X        yyMonth = $1;
  1220. X        yyDay = $2;
  1221. X    }
  1222. X    | tMONTH tUNUMBER ',' tUNUMBER {
  1223. X        yyMonth = $1;
  1224. X        yyDay = $2;
  1225. X        yyYear = $4;
  1226. X    }
  1227. X    | tUNUMBER tMONTH {
  1228. X        yyMonth = $2;
  1229. X        yyDay = $1;
  1230. X    }
  1231. X    | tUNUMBER tMONTH tUNUMBER {
  1232. X        yyMonth = $2;
  1233. X        yyDay = $1;
  1234. X        yyYear = $3;
  1235. X    }
  1236. X    ;
  1237. X
  1238. Xrel    : relunit tAGO {
  1239. X        yyRelSeconds = -yyRelSeconds;
  1240. X        yyRelMonth = -yyRelMonth;
  1241. X    }
  1242. X    | relunit
  1243. X    ;
  1244. X
  1245. Xrelunit    : tUNUMBER tMINUTE_UNIT {
  1246. X        yyRelSeconds += $1 * $2 * 60L;
  1247. X    }
  1248. X    | tSNUMBER tMINUTE_UNIT {
  1249. X        yyRelSeconds += $1 * $2 * 60L;
  1250. X    }
  1251. X    | tMINUTE_UNIT {
  1252. X        yyRelSeconds += $1 * 60L;
  1253. X    }
  1254. X    | tSNUMBER tSEC_UNIT {
  1255. X        yyRelSeconds += $1;
  1256. X    }
  1257. X    | tUNUMBER tSEC_UNIT {
  1258. X        yyRelSeconds += $1;
  1259. X    }
  1260. X    | tSEC_UNIT {
  1261. X        yyRelSeconds++;
  1262. X    }
  1263. X    | tSNUMBER tMONTH_UNIT {
  1264. X        yyRelMonth += $1 * $2;
  1265. X    }
  1266. X    | tUNUMBER tMONTH_UNIT {
  1267. X        yyRelMonth += $1 * $2;
  1268. X    }
  1269. X    | tMONTH_UNIT {
  1270. X        yyRelMonth += $1;
  1271. X    }
  1272. X    ;
  1273. X
  1274. Xnumber    : tUNUMBER {
  1275. X        if (yyHaveTime && yyHaveDate && !yyHaveRel)
  1276. X        yyYear = $1;
  1277. X        else {
  1278. X        if($1>10000) {
  1279. X            time_t date_part;
  1280. X
  1281. X            date_part= $1/10000;
  1282. X            yyHaveDate++;
  1283. X            yyDay= (date_part)%100;
  1284. X            yyMonth= (date_part/100)%100;
  1285. X            yyYear = date_part/10000;
  1286. X        } 
  1287. X            yyHaveTime++;
  1288. X        if ($1 < 100) {
  1289. X            yyHour = $1;
  1290. X            yyMinutes = 0;
  1291. X        }
  1292. X        else {
  1293. X            yyHour = $1 / 100;
  1294. X            yyMinutes = $1 % 100;
  1295. X        }
  1296. X        yySeconds = 0;
  1297. X        yyMeridian = MER24;
  1298. X        }
  1299. X    }
  1300. X    ;
  1301. X
  1302. Xo_merid    : /* NULL */ {
  1303. X        $$ = MER24;
  1304. X    }
  1305. X    | tMERIDIAN {
  1306. X        $$ = $1;
  1307. X    }
  1308. X    ;
  1309. X
  1310. X%%
  1311. X
  1312. X/* Month and day table. */
  1313. Xstatic TABLE    MonthDayTable[] = {
  1314. X    { "january",    tMONTH,  1 },
  1315. X    { "february",    tMONTH,  2 },
  1316. X    { "march",        tMONTH,  3 },
  1317. X    { "april",        tMONTH,  4 },
  1318. X    { "may",        tMONTH,  5 },
  1319. X    { "june",        tMONTH,  6 },
  1320. X    { "july",        tMONTH,  7 },
  1321. X    { "august",        tMONTH,  8 },
  1322. X    { "september",    tMONTH,  9 },
  1323. X    { "sept",        tMONTH,  9 },
  1324. X    { "october",    tMONTH, 10 },
  1325. X    { "november",    tMONTH, 11 },
  1326. X    { "december",    tMONTH, 12 },
  1327. X    { "sunday",        tDAY, 0 },
  1328. X    { "monday",        tDAY, 1 },
  1329. X    { "tuesday",    tDAY, 2 },
  1330. X    { "tues",        tDAY, 2 },
  1331. X    { "wednesday",    tDAY, 3 },
  1332. X    { "wednes",        tDAY, 3 },
  1333. X    { "thursday",    tDAY, 4 },
  1334. X    { "thur",        tDAY, 4 },
  1335. X    { "thurs",        tDAY, 4 },
  1336. X    { "friday",        tDAY, 5 },
  1337. X    { "saturday",    tDAY, 6 },
  1338. X    { NULL }
  1339. X};
  1340. X
  1341. X/* Time units table. */
  1342. Xstatic TABLE    UnitsTable[] = {
  1343. X    { "year",        tMONTH_UNIT,    12 },
  1344. X    { "month",        tMONTH_UNIT,    1 },
  1345. X    { "fortnight",    tMINUTE_UNIT,    14 * 24 * 60 },
  1346. X    { "week",        tMINUTE_UNIT,    7 * 24 * 60 },
  1347. X    { "day",        tMINUTE_UNIT,    1 * 24 * 60 },
  1348. X    { "hour",        tMINUTE_UNIT,    60 },
  1349. X    { "minute",        tMINUTE_UNIT,    1 },
  1350. X    { "min",        tMINUTE_UNIT,    1 },
  1351. X    { "second",        tSEC_UNIT,    1 },
  1352. X    { "sec",        tSEC_UNIT,    1 },
  1353. X    { NULL }
  1354. X};
  1355. X
  1356. X/* Assorted relative-time words. */
  1357. Xstatic TABLE    OtherTable[] = {
  1358. X    { "tomorrow",    tMINUTE_UNIT,    1 * 24 * 60 },
  1359. X    { "yesterday",    tMINUTE_UNIT,    -1 * 24 * 60 },
  1360. X    { "today",        tMINUTE_UNIT,    0 },
  1361. X    { "now",        tMINUTE_UNIT,    0 },
  1362. X    { "last",        tUNUMBER,    -1 },
  1363. X    { "this",        tMINUTE_UNIT,    0 },
  1364. X    { "next",        tUNUMBER,    2 },
  1365. X    { "first",        tUNUMBER,    1 },
  1366. X/*  { "second",        tUNUMBER,    2 }, */
  1367. X    { "third",        tUNUMBER,    3 },
  1368. X    { "fourth",        tUNUMBER,    4 },
  1369. X    { "fifth",        tUNUMBER,    5 },
  1370. X    { "sixth",        tUNUMBER,    6 },
  1371. X    { "seventh",    tUNUMBER,    7 },
  1372. X    { "eighth",        tUNUMBER,    8 },
  1373. X    { "ninth",        tUNUMBER,    9 },
  1374. X    { "tenth",        tUNUMBER,    10 },
  1375. X    { "eleventh",    tUNUMBER,    11 },
  1376. X    { "twelfth",    tUNUMBER,    12 },
  1377. X    { "ago",        tAGO,    1 },
  1378. X    { NULL }
  1379. X};
  1380. X
  1381. X/* The timezone table. */
  1382. X/* Some of these are commented out because a time_t can't store a float. */
  1383. Xstatic TABLE    TimezoneTable[] = {
  1384. X    { "gmt",    tZONE,     HOUR( 0) },    /* Greenwich Mean */
  1385. X    { "ut",    tZONE,     HOUR( 0) },    /* Universal (Coordinated) */
  1386. X    { "utc",    tZONE,     HOUR( 0) },
  1387. X    { "wet",    tZONE,     HOUR( 0) },    /* Western European */
  1388. X    { "bst",    tDAYZONE,  HOUR( 0) },    /* British Summer */
  1389. X    { "wat",    tZONE,     HOUR( 1) },    /* West Africa */
  1390. X    { "at",    tZONE,     HOUR( 2) },    /* Azores */
  1391. X#if    0
  1392. X    /* For completeness.  BST is also British Summer, and GST is
  1393. X     * also Guam Standard. */
  1394. X    { "bst",    tZONE,     HOUR( 3) },    /* Brazil Standard */
  1395. X    { "gst",    tZONE,     HOUR( 3) },    /* Greenland Standard */
  1396. X#endif
  1397. X#if 0
  1398. X    { "nft",    tZONE,     HOUR(3.5) },    /* Newfoundland */
  1399. X    { "nst",    tZONE,     HOUR(3.5) },    /* Newfoundland Standard */
  1400. X    { "ndt",    tDAYZONE,  HOUR(3.5) },    /* Newfoundland Daylight */
  1401. X#endif
  1402. X    { "ast",    tZONE,     HOUR( 4) },    /* Atlantic Standard */
  1403. X    { "adt",    tDAYZONE,  HOUR( 4) },    /* Atlantic Daylight */
  1404. X    { "est",    tZONE,     HOUR( 5) },    /* Eastern Standard */
  1405. X    { "edt",    tDAYZONE,  HOUR( 5) },    /* Eastern Daylight */
  1406. X    { "cst",    tZONE,     HOUR( 6) },    /* Central Standard */
  1407. X    { "cdt",    tDAYZONE,  HOUR( 6) },    /* Central Daylight */
  1408. X    { "mst",    tZONE,     HOUR( 7) },    /* Mountain Standard */
  1409. X    { "mdt",    tDAYZONE,  HOUR( 7) },    /* Mountain Daylight */
  1410. X    { "pst",    tZONE,     HOUR( 8) },    /* Pacific Standard */
  1411. X    { "pdt",    tDAYZONE,  HOUR( 8) },    /* Pacific Daylight */
  1412. X    { "yst",    tZONE,     HOUR( 9) },    /* Yukon Standard */
  1413. X    { "ydt",    tDAYZONE,  HOUR( 9) },    /* Yukon Daylight */
  1414. X    { "hst",    tZONE,     HOUR(10) },    /* Hawaii Standard */
  1415. X    { "hdt",    tDAYZONE,  HOUR(10) },    /* Hawaii Daylight */
  1416. X    { "cat",    tZONE,     HOUR(10) },    /* Central Alaska */
  1417. X    { "ahst",    tZONE,     HOUR(10) },    /* Alaska-Hawaii Standard */
  1418. X    { "nt",    tZONE,     HOUR(11) },    /* Nome */
  1419. X    { "idlw",    tZONE,     HOUR(12) },    /* International Date Line West */
  1420. X    { "cet",    tZONE,     -HOUR(1) },    /* Central European */
  1421. X    { "met",    tZONE,     -HOUR(1) },    /* Middle European */
  1422. X    { "mewt",    tZONE,     -HOUR(1) },    /* Middle European Winter */
  1423. X    { "mest",    tDAYZONE,  -HOUR(1) },    /* Middle European Summer */
  1424. X    { "swt",    tZONE,     -HOUR(1) },    /* Swedish Winter */
  1425. X    { "sst",    tDAYZONE,  -HOUR(1) },    /* Swedish Summer */
  1426. X    { "fwt",    tZONE,     -HOUR(1) },    /* French Winter */
  1427. X    { "fst",    tDAYZONE,  -HOUR(1) },    /* French Summer */
  1428. X    { "eet",    tZONE,     -HOUR(2) },    /* Eastern Europe, USSR Zone 1 */
  1429. X    { "bt",    tZONE,     -HOUR(3) },    /* Baghdad, USSR Zone 2 */
  1430. X#if 0
  1431. X    { "it",    tZONE,     -HOUR(3.5) },/* Iran */
  1432. X#endif
  1433. X    { "zp4",    tZONE,     -HOUR(4) },    /* USSR Zone 3 */
  1434. X    { "zp5",    tZONE,     -HOUR(5) },    /* USSR Zone 4 */
  1435. X#if 0
  1436. X    { "ist",    tZONE,     -HOUR(5.5) },/* Indian Standard */
  1437. X#endif
  1438. X    { "zp6",    tZONE,     -HOUR(6) },    /* USSR Zone 5 */
  1439. X#if    0
  1440. X    /* For completeness.  NST is also Newfoundland Stanard, nad SST is
  1441. X     * also Swedish Summer. */
  1442. X    { "nst",    tZONE,     -HOUR(6.5) },/* North Sumatra */
  1443. X    { "sst",    tZONE,     -HOUR(7) },    /* South Sumatra, USSR Zone 6 */
  1444. X#endif    /* 0 */
  1445. X    { "wast",    tZONE,     -HOUR(7) },    /* West Australian Standard */
  1446. X    { "wadt",    tDAYZONE,  -HOUR(7) },    /* West Australian Daylight */
  1447. X#if 0
  1448. X    { "jt",    tZONE,     -HOUR(7.5) },/* Java (3pm in Cronusland!) */
  1449. X#endif
  1450. X    { "cct",    tZONE,     -HOUR(8) },    /* China Coast, USSR Zone 7 */
  1451. X    { "jst",    tZONE,     -HOUR(9) },    /* Japan Standard, USSR Zone 8 */
  1452. X#if 0
  1453. X    { "cast",    tZONE,     -HOUR(9.5) },/* Central Australian Standard */
  1454. X    { "cadt",    tDAYZONE,  -HOUR(9.5) },/* Central Australian Daylight */
  1455. X#endif
  1456. X    { "east",    tZONE,     -HOUR(10) },    /* Eastern Australian Standard */
  1457. X    { "eadt",    tDAYZONE,  -HOUR(10) },    /* Eastern Australian Daylight */
  1458. X    { "gst",    tZONE,     -HOUR(10) },    /* Guam Standard, USSR Zone 9 */
  1459. X    { "nzt",    tZONE,     -HOUR(12) },    /* New Zealand */
  1460. X    { "nzst",    tZONE,     -HOUR(12) },    /* New Zealand Standard */
  1461. X    { "nzdt",    tDAYZONE,  -HOUR(12) },    /* New Zealand Daylight */
  1462. X    { "idle",    tZONE,     -HOUR(12) },    /* International Date Line East */
  1463. X    {  NULL  }
  1464. X};
  1465. X
  1466. X/* Military timezone table. */
  1467. Xstatic TABLE    MilitaryTable[] = {
  1468. X    { "a",    tZONE,    HOUR(  1) },
  1469. X    { "b",    tZONE,    HOUR(  2) },
  1470. X    { "c",    tZONE,    HOUR(  3) },
  1471. X    { "d",    tZONE,    HOUR(  4) },
  1472. X    { "e",    tZONE,    HOUR(  5) },
  1473. X    { "f",    tZONE,    HOUR(  6) },
  1474. X    { "g",    tZONE,    HOUR(  7) },
  1475. X    { "h",    tZONE,    HOUR(  8) },
  1476. X    { "i",    tZONE,    HOUR(  9) },
  1477. X    { "k",    tZONE,    HOUR( 10) },
  1478. X    { "l",    tZONE,    HOUR( 11) },
  1479. X    { "m",    tZONE,    HOUR( 12) },
  1480. X    { "n",    tZONE,    HOUR(- 1) },
  1481. X    { "o",    tZONE,    HOUR(- 2) },
  1482. X    { "p",    tZONE,    HOUR(- 3) },
  1483. X    { "q",    tZONE,    HOUR(- 4) },
  1484. X    { "r",    tZONE,    HOUR(- 5) },
  1485. X    { "s",    tZONE,    HOUR(- 6) },
  1486. X    { "t",    tZONE,    HOUR(- 7) },
  1487. X    { "u",    tZONE,    HOUR(- 8) },
  1488. X    { "v",    tZONE,    HOUR(- 9) },
  1489. X    { "w",    tZONE,    HOUR(-10) },
  1490. X    { "x",    tZONE,    HOUR(-11) },
  1491. X    { "y",    tZONE,    HOUR(-12) },
  1492. X    { "z",    tZONE,    HOUR(  0) },
  1493. X    { NULL }
  1494. X};
  1495. X
  1496. X
  1497. X
  1498. X
  1499. X/* ARGSUSED */
  1500. Xint
  1501. Xyyerror(s)
  1502. X    char    *s;
  1503. X{
  1504. X  return 0;
  1505. X}
  1506. X
  1507. X
  1508. Xstatic time_t
  1509. XToSeconds(Hours, Minutes, Seconds, Meridian)
  1510. X    time_t    Hours;
  1511. X    time_t    Minutes;
  1512. X    time_t    Seconds;
  1513. X    MERIDIAN    Meridian;
  1514. X{
  1515. X    if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
  1516. X    return -1;
  1517. X    switch (Meridian) {
  1518. X    case MER24:
  1519. X    if (Hours < 0 || Hours > 23)
  1520. X        return -1;
  1521. X    return (Hours * 60L + Minutes) * 60L + Seconds;
  1522. X    case MERam:
  1523. X    if (Hours < 1 || Hours > 12)
  1524. X        return -1;
  1525. X    return (Hours * 60L + Minutes) * 60L + Seconds;
  1526. X    case MERpm:
  1527. X    if (Hours < 1 || Hours > 12)
  1528. X        return -1;
  1529. X    return ((Hours + 12) * 60L + Minutes) * 60L + Seconds;
  1530. X    }
  1531. X    /* NOTREACHED */
  1532. X}
  1533. X
  1534. X
  1535. Xstatic time_t
  1536. XConvert(Month, Day, Year, Hours, Minutes, Seconds, Meridian, DSTmode)
  1537. X    time_t    Month;
  1538. X    time_t    Day;
  1539. X    time_t    Year;
  1540. X    time_t    Hours;
  1541. X    time_t    Minutes;
  1542. X    time_t    Seconds;
  1543. X    MERIDIAN    Meridian;
  1544. X    DSTMODE    DSTmode;
  1545. X{
  1546. X    static int    DaysInMonth[12] = {
  1547. X    31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  1548. X    };
  1549. X    time_t    tod;
  1550. X    time_t    Julian;
  1551. X    int        i;
  1552. X
  1553. X    if (Year < 0)
  1554. X    Year = -Year;
  1555. X    if (Year < 100)
  1556. X    Year += 1900;
  1557. X    DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
  1558. X            ? 29 : 28;
  1559. X    if (Year < EPOCH || Year > 1999
  1560. X     || Month < 1 || Month > 12
  1561. X     /* Lint fluff:  "conversion from long may lose accuracy" */
  1562. X     || Day < 1 || Day > DaysInMonth[(int)--Month])
  1563. X    return -1;
  1564. X
  1565. X    for (Julian = Day - 1, i = 0; i < Month; i++)
  1566. X    Julian += DaysInMonth[i];
  1567. X    for (i = EPOCH; i < Year; i++)
  1568. X    Julian += 365 + (i % 4 == 0);
  1569. X    Julian *= SECSPERDAY;
  1570. X    Julian += yyTimezone * 60L;
  1571. X    if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
  1572. X    return -1;
  1573. X    Julian += tod;
  1574. X    if (DSTmode == DSTon
  1575. X     || (DSTmode == DSTmaybe && localtime(&Julian)->tm_isdst))
  1576. X    Julian -= 60 * 60;
  1577. X    return Julian;
  1578. X}
  1579. X
  1580. X
  1581. Xstatic time_t
  1582. XDSTcorrect(Start, Future)
  1583. X    time_t    Start;
  1584. X    time_t    Future;
  1585. X{
  1586. X    time_t    StartDay;
  1587. X    time_t    FutureDay;
  1588. X
  1589. X    StartDay = (localtime(&Start)->tm_hour + 1) % 24;
  1590. X    FutureDay = (localtime(&Future)->tm_hour + 1) % 24;
  1591. X    return (Future - Start) + (StartDay - FutureDay) * 60L * 60L;
  1592. X}
  1593. X
  1594. X
  1595. Xstatic time_t
  1596. XRelativeDate(Start, DayOrdinal, DayNumber)
  1597. X    time_t    Start;
  1598. X    time_t    DayOrdinal;
  1599. X    time_t    DayNumber;
  1600. X{
  1601. X    struct tm    *tm;
  1602. X    time_t    now;
  1603. X
  1604. X    now = Start;
  1605. X    tm = localtime(&now);
  1606. X    now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7);
  1607. X    now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1);
  1608. X    return DSTcorrect(Start, now);
  1609. X}
  1610. X
  1611. X
  1612. Xstatic time_t
  1613. XRelativeMonth(Start, RelMonth)
  1614. X    time_t    Start;
  1615. X    time_t    RelMonth;
  1616. X{
  1617. X    struct tm    *tm;
  1618. X    time_t    Month;
  1619. X    time_t    Year;
  1620. X
  1621. X    if (RelMonth == 0)
  1622. X    return 0;
  1623. X    tm = localtime(&Start);
  1624. X    Month = 12 * tm->tm_year + tm->tm_mon + RelMonth;
  1625. X    Year = Month / 12;
  1626. X    Month = Month % 12 + 1;
  1627. X    return DSTcorrect(Start,
  1628. X        Convert(Month, (time_t)tm->tm_mday, Year,
  1629. X        (time_t)tm->tm_hour, (time_t)tm->tm_min, (time_t)tm->tm_sec,
  1630. X        MER24, DSTmaybe));
  1631. X}
  1632. X
  1633. X
  1634. Xstatic int
  1635. XLookupWord(buff)
  1636. X    char        *buff;
  1637. X{
  1638. X    register char    *p;
  1639. X    register char    *q;
  1640. X    register TABLE    *tp;
  1641. X    int            i;
  1642. X    int            abbrev;
  1643. X
  1644. X    /* Make it lowercase. */
  1645. X    for (p = buff; *p; p++)
  1646. X    if (isupper(*p))
  1647. X        *p = tolower(*p);
  1648. X
  1649. X    if (strcmp(buff, "am") == 0 || strcmp(buff, "a.m.") == 0) {
  1650. X    yylval.Meridian = MERam;
  1651. X    return tMERIDIAN;
  1652. X    }
  1653. X    if (strcmp(buff, "pm") == 0 || strcmp(buff, "p.m.") == 0) {
  1654. X    yylval.Meridian = MERpm;
  1655. X    return tMERIDIAN;
  1656. X    }
  1657. X
  1658. X    /* See if we have an abbreviation for a month. */
  1659. X    if (strlen(buff) == 3)
  1660. X    abbrev = 1;
  1661. X    else if (strlen(buff) == 4 && buff[3] == '.') {
  1662. X    abbrev = 1;
  1663. X    buff[3] = '\0';
  1664. X    }
  1665. X    else
  1666. X    abbrev = 0;
  1667. X
  1668. X    for (tp = MonthDayTable; tp->name; tp++) {
  1669. X    if (abbrev) {
  1670. X        if (strncmp(buff, tp->name, 3) == 0) {
  1671. X        yylval.Number = tp->value;
  1672. X        return tp->type;
  1673. X        }
  1674. X    }
  1675. X    else if (strcmp(buff, tp->name) == 0) {
  1676. X        yylval.Number = tp->value;
  1677. X        return tp->type;
  1678. X    }
  1679. X    }
  1680. X
  1681. X    for (tp = TimezoneTable; tp->name; tp++)
  1682. X    if (strcmp(buff, tp->name) == 0) {
  1683. X        yylval.Number = tp->value;
  1684. X        return tp->type;
  1685. X    }
  1686. X
  1687. X    if (strcmp(buff, "dst") == 0) 
  1688. X    return tDST;
  1689. X
  1690. X    for (tp = UnitsTable; tp->name; tp++)
  1691. X    if (strcmp(buff, tp->name) == 0) {
  1692. X        yylval.Number = tp->value;
  1693. X        return tp->type;
  1694. X    }
  1695. X
  1696. X    /* Strip off any plural and try the units table again. */
  1697. X    i = strlen(buff) - 1;
  1698. X    if (buff[i] == 's') {
  1699. X    buff[i] = '\0';
  1700. X    for (tp = UnitsTable; tp->name; tp++)
  1701. X        if (strcmp(buff, tp->name) == 0) {
  1702. X        yylval.Number = tp->value;
  1703. X        return tp->type;
  1704. X        }
  1705. X    buff[i] = 's';        /* Put back for "this" in OtherTable. */
  1706. X    }
  1707. X
  1708. X    for (tp = OtherTable; tp->name; tp++)
  1709. X    if (strcmp(buff, tp->name) == 0) {
  1710. X        yylval.Number = tp->value;
  1711. X        return tp->type;
  1712. X    }
  1713. X
  1714. X    /* Military timezones. */
  1715. X    if (buff[1] == '\0' && isalpha(*buff)) {
  1716. X    for (tp = MilitaryTable; tp->name; tp++)
  1717. X        if (strcmp(buff, tp->name) == 0) {
  1718. X        yylval.Number = tp->value;
  1719. X        return tp->type;
  1720. X        }
  1721. X    }
  1722. X
  1723. X    /* Drop out any periods and try the timezone table again. */
  1724. X    for (i = 0, p = q = buff; *q; q++)
  1725. X    if (*q != '.')
  1726. X        *p++ = *q;
  1727. X    else
  1728. X        i++;
  1729. X    *p = '\0';
  1730. X    if (i)
  1731. X    for (tp = TimezoneTable; tp->name; tp++)
  1732. X        if (strcmp(buff, tp->name) == 0) {
  1733. X        yylval.Number = tp->value;
  1734. X        return tp->type;
  1735. X        }
  1736. X
  1737. X    return tID;
  1738. X}
  1739. X
  1740. X
  1741. Xint
  1742. Xyylex()
  1743. X{
  1744. X    register char    c;
  1745. X    register char    *p;
  1746. X    char        buff[20];
  1747. X    int            Count;
  1748. X    int            sign;
  1749. X
  1750. X    for ( ; ; ) {
  1751. X    while (isspace(*yyInput))
  1752. X        yyInput++;
  1753. X
  1754. X    if (isdigit(c = *yyInput) || c == '-' || c == '+') {
  1755. X        if (c == '-' || c == '+') {
  1756. X        sign = c == '-' ? -1 : 1;
  1757. X        if (!isdigit(*++yyInput))
  1758. X            /* skip the '-' sign */
  1759. X            continue;
  1760. X        }
  1761. X        else
  1762. X        sign = 0;
  1763. X        for (yylval.Number = 0; isdigit(c = *yyInput++); )
  1764. X        yylval.Number = 10 * yylval.Number + c - '0';
  1765. X        yyInput--;
  1766. X        if (sign < 0)
  1767. X        yylval.Number = -yylval.Number;
  1768. X        return sign ? tSNUMBER : tUNUMBER;
  1769. X    }
  1770. X    if (isalpha(c)) {
  1771. X        for (p = buff; isalpha(c = *yyInput++) || c == '.'; )
  1772. X        if (p < &buff[sizeof buff - 1])
  1773. X            *p++ = c;
  1774. X        *p = '\0';
  1775. X        yyInput--;
  1776. X        return LookupWord(buff);
  1777. X    }
  1778. X    if (c != '(')
  1779. X        return *yyInput++;
  1780. X    Count = 0;
  1781. X    do {
  1782. X        c = *yyInput++;
  1783. X        if (c == '\0')
  1784. X        return c;
  1785. X        if (c == '(')
  1786. X        Count++;
  1787. X        else if (c == ')')
  1788. X        Count--;
  1789. X    } while (Count > 0);
  1790. X    }
  1791. X}
  1792. X
  1793. X
  1794. Xtime_t
  1795. Xget_date(p, now)
  1796. X    char        *p;
  1797. X    struct timeb    *now;
  1798. X{
  1799. X    struct tm        *tm;
  1800. X    struct timeb    ftz;
  1801. X    time_t        Start;
  1802. X    time_t        tod;
  1803. X#if    defined(FTIME_MISSING)
  1804. X    extern time_t    timezone;
  1805. X#endif    
  1806. X
  1807. X    yyInput = p;
  1808. X    if (now == NULL) {
  1809. X    now = &ftz;
  1810. X#if    defined(FTIME_MISSING)
  1811. X    (void)time(&ftz.time);
  1812. X    /* Set the timezone global. */
  1813. X    tzset();
  1814. X    ftz.timezone = (int) timezone / 60;
  1815. X#else
  1816. X    (void)ftime(&ftz);
  1817. X#endif    /* defined(FTIME_MISSING) */
  1818. X    }
  1819. X
  1820. X    tm = localtime(&now->time);
  1821. X    yyYear = tm->tm_year;
  1822. X    yyMonth = tm->tm_mon + 1;
  1823. X    yyDay = tm->tm_mday;
  1824. X    yyTimezone = now->timezone;
  1825. X    yyDSTmode = DSTmaybe;
  1826. X    yyHour = 0;
  1827. X    yyMinutes = 0;
  1828. X    yySeconds = 0;
  1829. X    yyMeridian = MER24;
  1830. X    yyRelSeconds = 0;
  1831. X    yyRelMonth = 0;
  1832. X    yyHaveDate = 0;
  1833. X    yyHaveDay = 0;
  1834. X    yyHaveRel = 0;
  1835. X    yyHaveTime = 0;
  1836. X    yyHaveZone = 0;
  1837. X
  1838. X    if (yyparse()
  1839. X     || yyHaveTime > 1 || yyHaveZone > 1 || yyHaveDate > 1 || yyHaveDay > 1)
  1840. X    return -1;
  1841. X
  1842. X    if (yyHaveDate || yyHaveTime || yyHaveDay) {
  1843. X    Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds,
  1844. X            yyMeridian, yyDSTmode);
  1845. X    if (Start < 0)
  1846. X        return -1;
  1847. X    }
  1848. X    else {
  1849. X    Start = now->time;
  1850. X    if (!yyHaveRel)
  1851. X        Start -= ((tm->tm_hour * 60L + tm->tm_min) * 60L) + tm->tm_sec;
  1852. X    }
  1853. X
  1854. X    Start += yyRelSeconds;
  1855. X    Start += RelativeMonth(Start, yyRelMonth);
  1856. X
  1857. X    if (yyHaveDay && !yyHaveDate) {
  1858. X    tod = RelativeDate(Start, yyDayOrdinal, yyDayNumber);
  1859. X    Start += tod;
  1860. X    }
  1861. X
  1862. X    /* Have to do *something* with a legitimate -1 so it's distinguishable
  1863. X     * from the error return value.  (Alternately could set errno on error.) */
  1864. X    return Start == -1 ? 0 : Start;
  1865. X}
  1866. X
  1867. X
  1868. X#if    defined(TEST)
  1869. X
  1870. X/* ARGSUSED */
  1871. Xmain(ac, av)
  1872. X    int        ac;
  1873. X    char    *av[];
  1874. X{
  1875. X    char    buff[128];
  1876. X    time_t    d;
  1877. X
  1878. X    (void)printf("Enter date, or blank line to exit.\n\t> ");
  1879. X    (void)fflush(stdout);
  1880. X    while (gets(buff) && buff[0]) {
  1881. X    d = get_date(buff, (struct timeb *)NULL);
  1882. X    if (d == -1)
  1883. X        (void)printf("Bad format - couldn't convert.\n");
  1884. X    else
  1885. X        (void)printf("%ul = %s", (u_long *)d, ctime(&d));
  1886. X    (void)printf("\t> ");
  1887. X    (void)fflush(stdout);
  1888. X    }
  1889. X    exit(0);
  1890. X    /* NOTREACHED */
  1891. X}
  1892. X#endif    /* defined(TEST) */
  1893. END_OF_FILE
  1894.   if test 22024 -ne `wc -c <'nocol-3.0/src/lib/getdate.y'`; then
  1895.     echo shar: \"'nocol-3.0/src/lib/getdate.y'\" unpacked with wrong size!
  1896.   fi
  1897.   # end of 'nocol-3.0/src/lib/getdate.y'
  1898. fi
  1899. echo shar: End of archive 10 \(of 26\).
  1900. cp /dev/null ark10isdone
  1901. MISSING=""
  1902. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ; do
  1903.     if test ! -f ark${I}isdone ; then
  1904.     MISSING="${MISSING} ${I}"
  1905.     fi
  1906. done
  1907. if test "${MISSING}" = "" ; then
  1908.     echo You have unpacked all 26 archives.
  1909.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1910. else
  1911.     echo You still must unpack the following archives:
  1912.     echo "        " ${MISSING}
  1913. fi
  1914. exit 0
  1915. exit 0 # Just in case...
  1916.