[comp.binaries.ibm.pc] v01i066: setenvjw, sets environment variables

john@dvinci.usask.ca (John John) (12/18/88)

Posting-number: Volume 01 Issue 066
Originally-from: john@dvinci.usask.ca (John John)
Submitted-by: john@dvinci.usask.ca (John John)
Archive-name: setenvjw/setenvjw.uue

This program enhances your batch files.  SETENV sets environment
variables like MS-DOS but also allows embedded keys to access your disk
drive letter, current directory, and DOS version.  The SETENV program
can also prompt for information from the screen in a batch file.  This
program is a .com file so those people who are concerned with size
(like I am) now have a smaller version to run.  The assembly language
source and a documentation file is included.

[
A possible altenative reply address to the submitter is:

     John Wolchak <JOHN%ADMIN.USask.CA@CORNELLC.ccs.cornell.edu>

The copyright statement is enigmatic, allowing you to alter the source
code but not to copy or redistribute it without permission.  Since this
was also sent to Simtel-20, from where I received another copy relayed
by Keith Petersen, I will assume that distribution of the original
source is OK, but distribution of the altered code is not.

The command line may include special variables that represent values to
be filled in by the program.  These can represent:  major or minor
version of MS-DOS; current directory; current drive; current drive plus
or minus a value; a value to be taken from the keyboard with prompting
and an optional default value if just carriage return is typed.

The program traces the parent COMMAND.COM's PSP pointer to its
environment block, so it's about 99% portable but not 100% so,
especially under Double-DOS, which has two COMMAND.COMs with different
environment blocks.  It is still a generic MS-DOS program, i.e., it is
independent of your hardware configuration.

Uudecode normally.

checksum     size (bytes)  file 
   49892        19175      this uuencoded posting
   27741        13896      setenvjw.arc

-- R.D.
]

BEGIN--cut here--cut here
begin 644 setenvjw.arc
M&@A3151%3E8N05--``3?T2$``'@1<E7I@(90```,=-+085,&Q)0R=$`4<6,G
MC9PW;MJ4<9/02A@Y:<*((0@"RL,S<L*T<=%``9PP9PK:@,$BA@P8"2`-V`'B
M9$H0!-V<H8,&1`\0*TO&)$#39L$[:<CP!.$3A$L8)7=$34`%39HY-3^&;%.3
M39@Q9;"&`6'G8L:-!=.X`<&SX,2&#R-.I$-2@52[":84H5+$B140.D`,>0,G
M#\8S:!*B&)/":0X<.$"(R0-"R1LT:Z^\83,&39@U=7<D8)H$Q)DT=@K"*2.G
MS=4Y:2"R?0,B#!LZK-FB*3CF#9DR+"372>CF34(ZM'L7!O%&#HBI3.64(7.5
M#D8QP],F1,KSS7`0;2B7P0.'39HQ`FNR=CT'-D07I,V`R./].5ZFMG$[;PNB
M]^_@Y941QAP%D?'&&'5(1%%_GND45FUND`$"@1&"5]!8T/5'6![!S4&;;6ST
M%\9:GJ4&@D#P@5#552`8B*""";51QQP)V79'&'E@E>%7O;5QDAN4\:<77WYE
M]09((H%PQVYKC:4<92RV$<9O()C1G'VBX5=<6\Y)V9E:9:2X(E;^`3>;;@6)
M$59";\@7'I:C@;!&<7<01,9-=S2W!E9WE,$&&RF61MT<8WB5!E<C4B;=''!`
M!)L8:9A'!V496KG?;AK^)M88`3D*`@HS7I@0?74X]\8=:V$TQQHII!C55)9A
M!H)FG'D&VE0UV-`1&CF>AY40=41*G4Y333'@&F$@!U%PQJZ:;&=EW.C&5$.,
M..58D!0PQ0U+@`##%5#A584;J+$&VZ3,R=<LLG1`*VUH"4"!!D1E!(;"###8
MT%@.-MC0`@TXU"##5$X@Y$1S2Z$@1!)4.+%7"H'1VMEG0,QQ[*MX4?%A>V6T
M@98.4TDY!U<$XL80"S)-99X;:TR(T%LH#S#5>&7(`.E:);_E`LTNFVR'"SUB
M7*;+9\!8TH!S),C;'#J4R0(93)=94G-G.`4##&B45!*-%]&A0P()J.&C9&6<
MY@:YQ-HU50)$)#M6$-*%@?%X`GU19@)DB)$`##.@`39-"\$%$8QDF:411V/$
MC1L9=<54`$U03`'%B5AY=.16!I5-N$=EF)$&'G6-`0>C8)-QQ]Y8_ZTBIJ/#
MD:Z&;4@9(=!OC%326U^T:4;IIU_M=P*`,^30X'.E:T;)M9%!QJ)SU(4[;'KP
MCOKOP0LNUX+0I[769+@UO_479+@MO>^J3Y&&'@6U"<);PU^?4/ATA%%7&%_@
M7I8<>/>>.O`@!*$\\Z]C7UP(=[^S$*0N<Z@?0[YPO_Q-3W6!:Q\!#8>6"9TO
M3"4A@P+MP,"+X$UO.(!!B^H`!Q3`(`4E<4,=_E0ZO?F.!>3C7P0'6+SX1:HN
M>?@"'![B(SHX$`8XH)Y!+OBZ$Y1@A[6#0T).4!<\Z)"'2ORA#81H/O35A0U/
M3*(/\Y8`$2"QAR(H21VRV,,/=A$*4GA"$Z!`A3`JX`UDC*+I'LB_)YCA>`AY
MW1&A2)?O_69W/Z0!%2]X1?!UKH5=+,$?W3C&/R)2!"4@0A&,X$8G.O*'^Z,)
M$3H7AA4FI"QLJ$-!LE<7#EYRCC:@P0A+>$+^;=(,G;Q-X4*)004DT$!SL,/X
M!%D^0I8$B[C4I1E%$$Q&@N\-N7PD$9XP!2NX\9;(;,,N!VG%7QYS9(_$91N,
MJ4UE,K,)S[3;'<@POK[ULIH*P.(8QOG(=9+!F.Y\Y!"N0(1P+J]<XZL!-6L)
M3(RD)IO^+`,W`ZI,*23!"D4(YTEXDL]]UD6#"_T=%T4`A2!0`0D]"&>/&%6&
M,?PPB.>LI08WNAJ/3G0(:I1<$8:0T>]]48Z]NX%#,QC'+>J-HFE<(Q5:JH!.
M=@=_PSQ(0F9(O`59!".'*XCED,05*\3`!2)<3&-B@(,6',P.+8C!8R+CQD=.
MIC*7R<QF)@8:$;1D!BT)UV[8`(='5L%B-[E*8`RRE[[\A0<%3*H/0(!7VXC2
M!V:-`5ICP)(<L"`'0AEF7Y&*EKU^52`GP`J!V"`?Y*PO)`1R06`'6]C#)G:B
M?:7E7L<PHA.YH5!UH-(:RI"C"=6A,[5AVF;3>EC/*N"13%$D,NT`@A>`0+<C
MJ]*5ECD%\(1!#5?RK6N*XYS4R,$];M#L9_4F6-H:%K&W'69NW2E<YR!(#M)9
M$'6DPZGFY$&S9[6N;7'[VWN:R%(MXJ0G6Q10]%:7L+7%+GM+L(*U^+8$+5@+
M?/\8R_<%M"LSZBUXU)+@$[B!B5TUXWT[JU_%@O*O(MI>08SXTH3P0"+M04D9
M?'"",QVKN[69I2B#TYP(<W'"^9UN%YG"83ZVMW,\^`T;?,`#W."!#CS6\5X_
M'!:XCKC$ECTQ?,=RX3"YF+J<E;$(BH`'D00H,#+)&4/H6Z[QMC>@.BB!.V=+
M6"D?##=?`X%,WEJ0$I3@3-+985B*-Q;8Z(0C;U8+"(1@T2I%*BS2S>Z+.9O>
M,@OZIE51C5:2)!TZE,H-6.&/E?YT*K54K4RR+71AI5P<V,F.#,%9J^M>(TH)
M@<UW9-[TH;LHP*)^DH(<8<V`IG-J&:`AU>L=9JO=5SC&(DYQM-Y;WW!=X8GN
MFG",^DI:L/(&YRH)(W0PV=X$26PI'[MX>:T@">$7;!CHL]JK%D$=(O*LW4A(
MQX<2"&MB,H!\W5K3MA6-KH5'PP5EFR-;$NZXR;FW((+[D;I#GOK<>Y1(A4A-
MI@5E4D"PMQR\&\;%ONFUL7<2L%"N2BMD`]@(>VLID\"-=Y%W$[[RD/[%36A)
MO$@9OD`C_'GI(0E081L2VX9F)V`,>`B.S!,;YYO[:`YB2.Q$R#!S!92DYJEA
MN742\/(WQ#Q!-+<YSG4.]>SV'.E`%WJ$BHXQ>0^&2G`3$,:$4#:UH.T,(,LN
MTBT8G!`*T8YX9)-\>O1IG("I<0E@@V^`SFZ:'"&/8^%>+<$VAK'9)C@QI$D2
M(KT;Z4"(,O"37V+5X`8]:(@BJLL"H"N3(#@\]"I?$'7:P;9V,N3<>,CSZ;SP
M1Q,D^,EU(#8RWM<>!C0@WN&J(\)5RH.C$_4QNVI)B`QBD#6U-WM]>*B;T[R5
M.IH<S-,C`C4(1$VYI$T'[V)S'7._H!]IRC#YOU_;WQ."$0FICR!3LO2$*OZ@
MZ+-%(]Y30&\H,OJ\[UUO,O$[X"63!]S@O?"N<W@@(`(#J#J+YWLX(2##4C4;
M,2*WDEUJ8'GSYT/Y!P*:USQ,P01O0!C_9WAL<'M"=(#I@7X+^'YB@'T2"!$4
M.!,6N'D@H($<F%@`6!L?Z"UD$()8D1Y.<A%(=1.-]F@HV"*@)VJ9MWF#$GJO
MAW>_,086U'=[]A5K0$(HQA\3$Q*<PAIU$76\13_V<Q$=D@9U=$<"5UF8<F^#
MQW3'1QTL)H9YI$%=Z!PT`7=CN#X,`1]FF(5XD0#CAR:]9D`%X08B`1QKXW[S
MYUS'01LDM!K>-6MUD1)TT$%R4']Z!S7XQX)[&'C]=X8S*(`$*`(&F(/'@2E#
M]SK\888_,'F6=S\*Q&\T<8$IH@2=QQS#T8$!6(,P@'O\(X*AZ!85HCZE"&ME
M<(H0F(H7L8I%B(&<-S;>\7N$YX'!(0(9]8D(R!^CZ(ME"(S""#81V&O&R#^N
MF(RNLXRT2(.(=X/2F![4.#NH"`+%`3[BXXV;=P4%<0;&X7OCR(EZX(FY.`>3
M5S5;\@5ZUR=`11,R(1`RZ(P#&`;Z2)`%$)"L,7EBP([&`9"GLF[\`PD'0%H$
MDHT)D#01*8`O(40CMUH(F(BYH9&U](\.&8F)12/(5(DT82PFPA^"AWUCXXB0
MJ#4*T(Z15W^T9XLWJ(4@L`6PT07!81LEH8I#YY/'QXG1R#]"Q8?5*!]WV)+(
MP7<5*)/:@8>DUY2G!QNJLX?\$7`(,7O')P:GQX4+U$`T079F<W:D>(V^=H8>
M61NGAY9AF4>_.)<)J!.)89:\E4!O>)1XP#]!4"$68R(HHI-=N84U2)1IT`5Y
M62/\YW\'68O/6`(+"0*ZF&(<A1ZVP1QN<(;;V&''"!^PJ(RSJ)/R)I:8$GDU
MT36-B!#N&#],Z9C!`9F2R3^76)F:B)"0M)F=66<EE1$A0B]!J(A@01%?,)H>
M!(\8F)KAN)H*@).C^6.2>'].V)LU>9GD:(,X.(VBJ([#V")NLXK-*2"LUX(8
M*(^F48^+F5TNB94LJ)5\V)T0>).T&7DZ&7GHZ9PLF9^NXY]#5Q+*.1?I>1'U
MEWWJ(0?+20>L"39($'UXUF%UT6&WR1PU]86)!0<STA/4T:$?:D&,B8:\I89-
M")5MN"9JD2RQ$5V)I19,&*+&%YAIL(9QAQ,UI:(),07>X:!GN'93!P).U&$\
M5P:N`X!\MX\(N$=:%(0$YDD).I#LR94)T"BN`QLB.@<]H:4U*H1?6#XK2B,M
MVBDP"GRG)81""1LXBCQC9)HQF4<>4BI@`9C]<7I%RD='FJ0_IS=,FAXE@$9J
MQ$90*E^W,:6G6:)82J+9M:@TJHWZ^8B1ISH'@YJQ*([]::B/"*`+.C91>ALE
M@9,8VJ&$P:A@XZ%<RJA"&09?"8;\(YU".:0Y!*=J-@!MD5A3(B&L&APXISK9
MXJ0]M*8W:I>^>@`M9VEXAZI=F@8ZV6$QD)V4Z(130%H"UAS>*8`P8(X7.0!C
M\8-R<*;:6'E&TD,Q4**T9WL#^'$&"&FLD1#'FC:-"0)9I9M'*40RT7UEVAQV
M2J\TJ*BEZJ7Q:GIARC\>$7RKBJZW:*^VRCI\A'?!!P+#5WRDFJ7,VJ@C"K`F
M"J:,VF$RD*&UAWC$ISI2H(!RPEIB\`87H:L5TE'SXK`+$K$ENHFV"%*\68^!
M!X7)9G%5^!7ZD9Q\-`/76H,W8`9"=`0V&U\$@1L,<A$\BX63)ZX=1@-"208S
M*T0%NR`W.P9[PGYV^K'>8FLQ^K+$9Z`_6W]+J*9?2K7/6(`$BQ%8NW[*UK4(
M"[9H*GQC:W1I6[6J<[64*08XR[4'BWAT"S8/"[,".JY*-#`FP4<T4'_S"9,&
M$08SB2GXV8R8"9YA>;3>"JYA`[5\I+A3"Y16Z[:4N;ER*[C%1[ABF[H9J[;>
M4GM[2[HIMC*=4P;7%[A?R[J%>[<3:ZI7>K$5&Z\"J)M!"P(PI*V*!XHI9KI/
M:WD=E@.4^@:O>*G4.;7#"I;\TP3-5@;"VJ9Y9$J'1)`+6R":&JMX:DB`Q)!Z
MQGMUNJ?@T6Q9A[?"*[I6^9)DJT4Y4'^+BK&.6K&3%ZFU*3=X*V\3&B%X]D</
MI:D9RJ9H^ZET``/0&K^6^YV=>([NRGX<N8T.#!/0"1])<`;,]9N7F[`6G&+Q
M(P89;'D;?)J<"<+-44N?U5&^JZR^6WK7ZZIQ^CXL"HAF:J<,3)8)`4SAFSD]
M^J/M^Z5#>DN=X[Y*ZJ?)VZ0(O(XXZ<")*K]7^J_!V[HW+*8Z3*8\_*(^/*Q`
M#`*--,11.:=`:J=)C+Y,W*<E'$F3%(13K*E5_+^N(ZIZBK=S#$N>M,##^JCV
M%ZT5Z)KD:QZNT;.A>Y0:!Y62NY76Z[V?A+Z\"7C_4V0HEICI0Y5^%:3'9TF=
M,[`QV<A\R#5R('=\V&0)S,>W\:R)-8GTJ7]]FXGW*+HEW*T(\6@I'%^J3`<R
MP,+2*8OAEUTR&QQ46\+\@6Z'S!JY[,`SX,O4RXP=>960:Y_Q":D#JJGEJ@`.
MW+%".:]%2<R+['QO@+L5O*W(K&YR()3\"KL760`>0LZ`5:R)(R"X(90QL,[V
MF@"W^J4RL,[AK&8+H!96HH0RC+%"RC1;0#>/6"9&Z2U3Q#_C(B7M8FY(>RB(
M?+@.G,T9I*DSX+&M.IG]42KAE1"-$GQ.^Z5H&1R>G+X@L(<.K&*C%#^EC'=U
MN:N249C\HS&FD4<Y@1BF_-*H',-,R*I"N=*$63ZB')^K^M&3G!`(4BK%4](4
M<=+QFM(:2JM[V&$P/2$R#<TU?9<X31,Z[8B(2QQO<!4%T=,\X;)#C0=".:M\
M=-2AK)C!?*I8;,<[_8A&JL?[>9Z<BM=3[#8&RAH/ZK$U>,]%&;3/N`+"J;QC
M41XS$H2Z`SX!%;/`V0*-C8!CL5R1W;S],4X1F@!RF$=FP$,I=AJIL18$5Q>3
M37`9>H.*C-23.TII`,)VZKK]G-C"[*DU*`(PT-@0F=<!C*CB:Y"[/:"]G0.;
MF2T"K(U5$]CQ0]QJ=@`RIR9R0--U$)&NBR\B^1G:(1DM*@?G9:Y-B:Y:5;1Z
M^9I7T3*K';9VR[JY2L%!L)DC^=UCD;07/<&P/8",O8ZYFLU@4],U6,Q0F=W6
MP;-58MK?-=)<EAJS_(SS;8#R01#M@29K$03]>"'*T\O;VB?3)\JEQ1H/<=V_
M1)LBWAP9JM!VXQMF0L)QR(8_?6!(\2=DDW"VD11=V]N:N;??<:`+XK=::Y-W
M3)O7":%X^]_U%]\"2.`TX3\24MJU$]+@53SM?=P4K`7"*1\@0<^YT19KH07]
MF("/>.)4*A,>7B(7LA9D/C\;GJ'^+-L%P1_X?=+BET?E%Y=MU@+,X1S\E:PC
M"L@TC+$R6L-IN,4$>]98NXORNN<@L`)=R]20@^A&#C9*?GHP8&N^RJUFH!_=
M2ZSM?,RU'9^YFK^MK)T5.!@^PCSU^\JUNL\3C*W(JV8%$'G8)ZZC[J\4V[N`
MS*#0+<"A7<!4VV;N%#KCI+]_GL6![K]I:^@Y'%]>[*+O$;8SFL5K]\,PKJ/Q
MU.P^2J><S%MK[$YM/#I.S)G**V;C),>T&4\=C.LS#+R/G*+-KBD!\<71CJ;3
MWNEC/$;93L038L3=?J<=(DYD$.Y+^L2`.D]$@.X+S4[K;L7[B^RENNOB&DS1
M:ZFJ&<PXZ4[Z>]>-&O'4WI2]S06;"07?H6>NGK%OOJT/48]`OB=>P:5^GJJ`
M[NY?:NTY2H20XQ469UD>JNCCU5'((=[L&(A6>J[!00,R!=(+3N4.`?3F==NV
MF$F"(=),ORH-?H:[*['R-TZLG%VN#+E&H!82<O+#S'P*^ZYGX-GN%`.^6@#X
MRL-7@@+H\Q"M4J)G:]"%#LH@H'OD%?24`8@2@6!8\52]R[\T+^V^.^A@68'^
M4Q:GQ;WVWH05*!/;F\Z1O_@L^*O#7A+NQ,U>;^HLJ+VSO>J0*Q-TYWYHK]B8
MV\YJ8A45\O/E)?2`3YKBVOGL;OBIBO<GRNQ3/^4+(M6F?/KD&:\VCSPX;Q!=
M_3JP[_=LC;;NU-&E+LBAO[UH0OI.:/JU4W>I;^6P;J\%T/*U+H'C!+0.S_%V
M/:#*;LW"S9\#+*$4VF;!]%"[9>PRC^R'O^QZ'Y7R7J9@C/B`7.UB?.W`M%L\
M:A#^KL9?>4UV0/#CWIG`]3-2O)^[5<<=G^L6F_L?O_OY/Z;S#NV<.^C_?WS%
MGT>-M%L\VN_<KL9?>4UV0/#CWIF1Q$Q6H/#7)$RM"&BW#_'HC]?=Q#^5"H[`
MC(=3//^%#_'HC[O<#=+$11;F\J+LF"#6[;+O7:)*WMN_K3KUK=GLF"#6O:_?
MW*_MKX=VOG#66!#$M%L$:(WPOULQ#Z+VG_M9K/@?O_MZ#P627AN*3DPB\.AZ
M#P62CJO*8Y>(QTO;&@:;_I`U/ZRLVO;\(0)V(`+RGTM=#S9?[X2H+F?M8?V3
M/[ZJGZW>3^N>'4P:W?&YWO'H#]A]'3^__O[M%4WR/S+T#Z+VG_OIK\7Y/Z;S
M#NV<.^C_?WS%S]/7)$W:[N]J_)775'1@$V?]X<9_FA#`93OE.<715,<=G^L6
MF_L?O_OY/Z;S#NV<.^C_?WS%GT>-%$T\VN_<KL9?>4U%!S9QUA]N_*<)$4G?
MI/#7Y'VM"&BW#_'HC]<$5_'@",QX.,71M/&YWO'HC[O<#=+$11;F\J+LF"#6
M[;+O3=[>;NF"=*T(R\X&'\26[.5L,1'8I]W1Q,&MN'F_C*E?BJU8D\BO*T1"
M$#=KL*HUR,[B2T(R*`:G,_ENOQN?A1HMHG&3?P#4<1IT$'^4KCP4_-NJ4]^:
MS8X)8MW[^LTT6#Y!'^<3$7_Q.J1\H[MIZJ7:!,&XJCRU@:Z^3=_>K=GLF"#6
MO:_?7!M4%/3I,YKQ5^?DMW#66!#$%$T$:(WP'TTQ#Z+VG_M9K/@?O_MZ#P62
M7AN*3DPB\.AZ#P62CJO*8Y>\&M:U&@:;_I`U/ZRLVO;\(0+;)/\CT_5@\_5.
MB.IRUA[6/_GCJ_K9ZOVT[MG:I-$=G^L=C_[>.:0P($CKJ$V*6SH%7;':Y/GJ
MW^N__OY?5BX/!69;"J+VG_OIK\7Y/Z;S#NV<.^C_?WS%S].4C4_:[N]J_)64
M72X$/^Z=J4CU)<7[*0?"U(J`=OOVG_L?O_OY/Z;S#NV<.^C_?WS%GT>-1%#-
MCL9''*]K3'`$/^Z=&4D&A5`*3]G"U(J`=OL0C_Z`3>3CX4/\4ZG@",QX.,5R
M8`<;G^L=C_ZX>]X@#>I67^6J^]XEJN2]'>'9Z]V:+>;YC?+?W*_MKX=VOG#6
M6!#$%%`$:(WP7U];"J+VG_M9K/@?O_MZ#P627AN*3DPB\.AZ#P62CJO*8Y>(
MIT^9'@:;_I`U/ZRLVO;\(0("]5`!U?5@\_5.B.IRUA[6/_GCJ_K9ZOVT[MD$
MI]$=G^L=C_Z`W=?QTY_GN91"+?DLZ)XJ!P).L`*$_Z4VC;VPS(=`;*=6K98<
MQ):KDR9E=S958XT%497RF=UV&1QXV=1\")L]_9>XJCQVB;JJ8P170@=Y`@)S
M+[UK&L!';9B(F=083YNM0_\@.@?2*LK\02!%4SQ^FUFA/030=AZA603@=25.
M#D`'433%HSY(Q%1A'!PQ($A+G9NZO39#`&WG$9I%`%Y7XN0`=!!%4SSJ(_R,
MTR.W/0>$V>DQ,$5+G9NZ':]C@-"BPR@-3=3MGQ>:4SQ+PAJ\:#W(!KAI.P>$
MV>F^$ZH(00-DD';R!H,M`U\T<(.B232$<[+[=A'C_:7#J]NO7H,T$)3E28]T
M0`,#C[<RRG)EX]%ZGP2G)1U&DUV5'AP<E^F6Q1]%WNFLZJL&0"!%4SPGNV\7
M,=Z'ZX@T,/!Z;!PT0`8>'1R('9D@S1^M,XYC@-"BPR@-S:I_JN@6$_@#TA^M
MD\'B*J,L5S85SQ2_C*E6;/1FOZHU.`.Z"=+\4=VYH3X$4C1S$7]5?7H<1W,K
M=-/;F=Y_F"#6_3J"%W_Q.@8(_3SGT]"LRLAT7?1>J?=)<%K283395>G!P7&9
M;EGI:#U&4_/#RJJ^:@`$4C3%<[+[=A'CC<0(C3NZT]"LRLATC8?R!HLTDF(&
MDMV(LQM:BV(3=\%QNS9#L!M:BV(5=5$_<26"JE,_<24HM48KU0./3LQS`-+'
M[#9$8S1?&A9'S3_NU_,(J&?C<>!$`R.WS?MC<G$_ZNSS#NUGJNMSX(0CZY*.
M=\QN0S0P$L:0W"(ZE"Q^0Q-#L!M::[X!'U&9;BD$/^[94E$7U0-R/)%O0=Z[
M'QRXHSLBNR8OS(?[3^^<6^UB?.T0Q4?\,P2[H;7F&_"T*A.60O#CGBV"JE,]
M(,<3^1;DO?O!@3NZ([)K\L)\N/_TSKG5+L;7/E*U\YD@L`-#L!M::[X!3U(=
M=9$$8"D$/^Z08``HU00JQ5)R/)%OH:A_/@?2*LK'[#9$`R./'AQA`=(G7WIS
M<-3F[#9$8S0U/ZQC@-"XHSN2R9"H[^^`C1`TP(K3;5F$4EH>$O@U)QUX2(]C
MSA#T#Z)S(*VB?,QN0S0P\NC!$18@??*E-P=';<YN0S1&4_/#.@8(C3NZ(YD,
MB?K^7O1YCWIY-`8([89K>1&221-A_UQ.[1E6R.DH78-C@-#4L9OBJSX3]VIS
M"2]Y0:VZ\1!U@!AT:#V$`U_I"&IKX^&C.1ULD2?LF'&^&7]Z1Q@1#+G<*<NJ
MGWCDCH`J]">Y//=OP/8=W-+UZ#G/11P9)^0XL8%MQ3]+8+NNHW=OL`;(&MH'
MN)=^B";2(8QS_P9=#S9?OYW[5[D^-\)2WYES_P:Y?`?05@8L#([`_."2\<^=
MF8X_TX=)E<'BJG>$4?%,\<N8:L5W#X85Z)XJ!P).L`*$_Z4V#34@?<QN0S1&
M\Z5A<=3\XWX]CX!Z-AX'3C0P<MN\/R87]Z/./N_0?J93"^F1.]O)LSR6K#XZ
MTVO)&O%SX(0CZY*.=\QN0S0P$L:0W"(;!(D@T.S\@<9''*]K_(;\PP03L1,]
MH3Y5:75(VA]N[$IO\"#I03<TDLO;EBR0OZ4@.@?2*LK'[#9$`R./'AQA`=+4
M^&,A030P<MMS<-3\XWX]CX!Z!IL$4C1S$<;$C,-$+(7\@<9'K/YZ1QBAG6AT
M:#T3Q)<LPB6U)&\'<P=D#`?<)I7TYFI]F%1UL6W)4B];"J)S(*VB?,QN0S0P
M\NC!$18@38T_%A)$`R.W/0='S3_NU_,(J&>P22!%,Q>W_<=AO3HLPB(_ZNSS
M#NV<6^U_C,-$+(7\@<9'##9B!`?<UO5@\_72N@9I``>JGWBU6OF>O6W)4@9L
M_^ERZ8=6^O5."(,M4WLD:UD$`OFE4]!@./D#D`9D^(?CD1""I_J))^LL,O>T
MD0;RL27KN&W)4@;-?)$9F40`=,QN@X?;EBPU$\&0B^IRUA[6/_GC:Y[QH_J)
M)^M+YMG;EBPU4ZQ5:<5?OYW[5[EX4]!97/:)1^X(./=OD,'BNFW)4C,5SQ1[
M6.1XN&W)4@;0_Z4".`8(K>(,K?K>QKIJ4#7;EBQE(+5(C-`JSM"(IT\R1&^N
MUH=)1<9PP&V,(T9PP&V-:[Z\BM"WY#:221-,,!$[T1,#YS:W?7IC@-""N987
M(9DTP003L1,]H3ZSC]T1.:2FUY+9#?"YJSI-P&!8(0,@,/=O`&C>.:2)1^X(
MJ`8SHNBS'_[/IFYLSS^5"H[`7/3'E\0XK!"]*!^;(2$3!\VE=WK4H3I#0/6_
MCTP"T?_RF=T`WR)N_:78*O5:P!KC;'5(RM4OJ3I\N"C0?-`ZD-#@M^*_T="7
M[C?5(T'8!HR7-6N,@]?;UWVAG6AT:#T3Q)=7\6"[*!WPD@`'<P?O.]OF&3^F
MQ?,Z7TMW`&WULM3$/`<@?<QN0S1&\Z5A<=3\XWX]CX!Z-AX'3C0P0M!,B/DT
MX9XJ!P).L`*$C__POCHLPB(_ZNSS#NUG6A)W`&UET/7GWR)SX(0CZY*.=\QN
M0S0P$L:0W"(;!(D@T.S\@<9''*]K/*D\RH=JC09U<0?05C,>BZYAH0-;0!V[
M"<O./N_0OCVR7!)W`&UE`/W<C[!2/YP@,/=OD,'B^H]S[W3\4ZE,\<N8^OG2
M#\N^2=/2+*VB7+GV5ZIW`&TUHSHPZ'FA367HR+"7(Q)UL7W=9]B\BM`JSM`\
MRA;KP?^R42:G"P(TT!FJ0P7KP?_UKKKOK9/_./=OX-'$C,,MG=Z\0?4+`L1V
M:M6XHSL@/7'NVM78_9%@73X&;H6*3LJFK#-":=7/<SX@/7'NZDO<#]9A"6R7
MPHO6@VR^!($^.&<^U,%,(9VG:_:J4]\(./?2NZHUJ.)W`\O(EQYE\N#>HD\2
M3L9PP&T6WB*TL249_FSJULPJ/QVO%>>B"%Y74B9VJN++!P.\5#T25#PYFS[.
M=@?09C)"_FSJULS;ZG[282!XN"@(8;8R#,AG^_\@CWA23_(),?>T`?ZD3_I"
MJ>++QW$\FBD%`5_+&$!UR`)XO7W=E^GN]_;)`L/RQ^)T"#4E(>NC2,I&K@$E
M`1H(4T5414Y6+D-/30`$WQ,'``!X$8=8I]-E"0``#.EX$1@``)(7!``,`(`C
MYTT;.'2@2'G2!`H5```(`"A!IHR9$D2*&"DH2".9-W/L$'DRQ8I)E&U63FE"
M<,P=,D.N$"D`@(R<-';*$)&2Q$H1GE""4$'2`^$0BE.@%!G2XP``B10M]IA2
MA@Z((F[LI&GHIDT9-UZMA/D91@R;,B"@-#PC)TP;$%9BN(`!`L68%"!BX&CA
MY(V=%C%RX,`!0DP>$$K>H'$#XLH;-F/0A%GCHH&"*G/"G(&;9HX.$""F%*%2
MQ(D5$#SLK$W3]JT/V++9U"GCPW."!+%GU^;=^'$:.B?F@)A3AHT9$'3>@"A3
MEWEG!;^#ZR8^)@SE-&[&Z.X(8DV9/,KGU,D,(HQIWPE0<T1I!\0+$//GW#7S
M1@X(F2"T$88:_=D7('@%!B7''&F\X<9UO\EG$QD@\.??&'7((<=97I$Q5AEC
M1"=''A#&AY]/0,%E(0@=F1%&'6QT^%-0)<JW`F7WE=`"92NV^&*,+,X(%QRZ
M*7=?&^#5H=P);IQ0HG:[W=8=96+`=4()##D$$6QFS1'::#Z<`)UT[JU188%A
M@)#;;BR`T!]\J%V9Y4-><>01#QVQX0,/=)2!!QU[YGD;#UU^R9N8T;4WAYDK
MIKEF&=<5@8==1)9Q&B0#,-=G6$&FZ*%_'`FI0PD3>E98GSK$AREH<)50PI@@
M;,A0&<RAU=YRX)WQ%GX@@`>"$$I5F,9;<USG&15H##E777=M2$>&;BA'1[)G
MLL'&&W?D"L(8;W3T'G9N2,=M&P*Z04:;R;(!1Z]>[D;A;S#`@(9O9XE%EEFV
MRL:66W!1YUX99,`KP[S8U3N6@_AZI2]M_&Z[81A]!IP`##,0G(#!]W*X'!QA
MC$&:<H91!\(=/]&QZ<0T6(PQPAHO/!P(=<!!!L0`PUN#Q764!7%F`+/87!I(
M]BE'`IC"8(/%;YAAAJ9N/H=B4",/RT9CI(45!AMIO`M##BJ'=7!9&L_!L<?L
M5@@C&[_%("\)O@`"`"L\`%#'`[H((0`M"303@C$&#!```.EH00#<T.W#0P)T
MW,-#`W20XT0B-C`0P"\0!$`X'1T<3D<&//1`1P6+T]$`#WK\80`/:PG0IBKK
MB`-+`X@0`$L/JBQBS"(>2+[",*,X$(`B!/!0`AT4`"\\'0O`S?@`K,N33B\"
MI&-!`)#+$<`55BSBSQ&^F!'`(@Z0$<`\IA#O1?;;^\+&]^&/7SX!7GRQ#C'K
MR`$)`.?;#KX8`0P0S"+PL(+RZK`/6I``$63X1^R\L`AKX$UO^?,'+0*@-QX@
M@`X*X,$?ZE`!62"`%@+0VQ-D`0(0ZLV#)@S!.KZABL7501NR:$`*9:&`%)[/
M>`VH@P.TUS;V^6%\I'B=*N*7#BC\8Q'WN)SA$'</U_#0#NRC@_OH$`$&^L,7
M>HCB%`>0C@0BD16*@,8O`$$]&_Q0>70X@`Z$08<-L(X>B*#"/V@!`D20@!8^
M0&``$$$$`3C!!7SSFP'6P0W]>>"'NT/"*'YH2.OM#@BCX)\7TH&!?Z3#&OY0
M!!$"P(,5T"%X+:@#$Q0!#T5000"`T`<,Y(".5.;@#^,`A#I@0(L,Z(T`00"$
M/SP)`14(@P=!Z`,$`AF`!,"B!.D@A3\$\$LM_`$>L<.>$;1GNP((````9$4+
M<Z@/(O[!']C3'O<L(`#P44``Y#,?^KB7@7(ZX)SIA-\7ZH"#^,&""]&T@B\4
M<;<CR`(`>H.;W/;A!.V=SPB0&-PVZ]!-].U3`$?0I@N[^85TC`"<Z_2%`-P)
M`'26KP(1Y)X!..I1.A0@?NL0P?WB1PL8W!(&^9RF/ZJID6PNE*+IZ$8_PID^
M!KA3`24%:48A\-.2GE1^05CI%UJJMUQH!!#\4(`<(@`+`-!0$<3`A#WD00"8
M$B`7!#$"((@!4Q)(DYK&\)]-)QJ_0>2#`%)T0CKPL-.,>L"='`AJ2'TQ`KP:
ME8A9Z`=+;1D"7,84K07@R5JY2409]*.@M\M=`'9G30",0@$!\(`O*(!-`C@"
M&[ZP0&==,`H"!."SOL"(\9I`AP14$P+8A,<ZXK&(3;H@!P8P;1W:00L`:'(`
MNX#M/<9!6@1\SQ@%@"T`26N``#`"&XX`AO8^X`L5N!,%)57!(GS07%_LP)TY
M*.D&MMO=&+CS!25E@`<8`8S/NF`1-FCN.B2QWO9BX[WQG5SE7*"(#@B4#@)8
M1S[^>P<=#*,.\'#"<Z-+36M0MW+@\UTZ$U#?SR)Q'=*H,#86H8\OQHV`K'!"
MW.C``(G*31\A_C`]7``*O_&@`*8#9-\"4(#W.@"S[[6`[U:@C$&D0P!NE9L&
M%N&,15R#QU6=ARID[+<`<^!^"P9&0?WQ8/9AU@2**`%4Y59B58ACQ2T.`"V8
MH+=%'`-WS=T=[HR[@V$(L[=A?G$?K$%,`JSC&4]X0E55H0IB0F`=RP`:"%-%
M5$5.5BY$3T,`!-\*#0``>!%[5<Q#&1<```P-%`0<J"`!"$@$IA2A4L2)%1!U
MZ*1ADX9.'A!68KB``0+%F!0@8N!HX>2-G18Q<N#`$9`*FC(@%#)T"`*.G#=G
MY(1I`\+,&SD@PH`@\F0*"#MEY,Q)\\8-"!E!V;!Y<V<.B#EEZ$AT<P9$P#!.
MR[BQD^:FFS9BZ1P-(R=-&#%LRK@`$7-APX<1)U:\>&<B&Q!RZC@53":I5P5$
MC<[8.!=$$A!HPB`%X:8,4J!8Q0XM>C3ITJ8A&Q,D*/,N"!T@AKR!DZ?M&31J
M/8),N1*$F(M*WJ!Q>N4-FS&1U[@(2/?QF323X21MDV;.9Z=TWD2E8YC.2Q!C
MWA1F83LBY3=JHV-???'G8;IRRI!I3J>MF(@P*X+H:_V-]S87R^"!0W&,?.5R
M,.<<4VXTEH09(.1AWWG357===MO5%%<86(%`QAMCU(&6&VH!!]8995@%%AE7
MB44B6D$QF!UKW,TA71A280<69)+%1T=C+C5G(88:I@5"&W7,H1:,=X21AU7$
M!35&=FW``=9%UL%4&DTVX:033W>\Y)10*UZD8QMA%-:3>4F"!=Y+0($)7!J5
MX8B&CA"6P9UX4=H6HEIO((@?@VNX055<9(`XWT]K6'5'&5(9:&%S8[`11AH\
M/0E8B'`TM908>EG$H$]`U1FGB&-(9&E'0<(4AEH*U@$454ZU-<<:*8A6$"0&
MY+;;:`(IX!),<^3!81AX@)`G")Z^T0:8;I#8G`X$)3#E0SS8P99;<)7A`PC1
MPEB'M01EV]9;<5VKHZ324D2B6&29M:%:TGY;;8(+]C4'&L1*%U!A9K`)DWGI
MM8"OOK(&E"T;VXHKXE7ML=G5L#:Q20>X,'FH4ZB>-;9$&4?*Z)08,`541AL<
MDU&8LM`]&-G$U&&6,%=NPG1QQFR5P:P"=)4PQATD]A5C>G2H6G+$JJ;'X:+I
MA?I3'L/1#$()%\YAQWQ^3=JS'#]O9A28:IAWV7-)U]PTEE'S[#.QUR7V(YM:
M>T9@UTN3T=9D.O\E-M5D`RV'T&JM]ZJ%;\,4EU9)L5U""T[%+?78G@;MH]YK
M\(T<3,RY$20()[AQ`@A_IXS"'+$F6<(*A8>=%>(/*CXTXXXG1[!5E5^>>5*;
M=Y[KP`5K;"?E)539I%I,EV$&#X6QX0,/U.%!Q_#!7\L#6LZ%`:(/)W`74)9)
MP53G\B'.X;RU(.BH-W]&JB=LU=FYX6)<025;]V'IS5&I^?%9A95:#DM79[O4
MQM48\?H=W[U5URM7[=*`H("H(4A#.AS=='0<I!2(+L!#E,%2U)2(G2P,%`-*
M\""5,A8$1#QQJ`-XK'<=_AG/![*B'??&,"..X4YW<%`+]IKWO!,D#5<EH0YJ
MZC*3A[#0*7Y2BWZ<I+XZH:LL35G759PT!KG095>',9M,QG.L$=GN0F0[%7=N
M@YWTG$IAQ/I8I70BAXO@#V)(4@!]Z#45KJR%8"%*'XFBU*J/F02,4>()QSAE
M*C=<I'UI*,S0`E*EG.SD?X`13&.D$*)`^JB05Q)1>D``!2DDP0E4X$X3GD"$
M(MPP5P%)PL9.!9R.""$(5.C)1$($DE(MK03UFI1-0N0CH2R%*S"!):<@4J$/
M2N=9<X'$`-+@Q&<-10I6^`(1DB"%5[KM<3HH@<UP%A`&X(HT=J%)RB)WJCBN
ML7M#DT$,T,"=(""A!S0`SIRNX["T$`B1'XQ,>*X#R4/^\'8LE(KXS'"32`41
M336YB2';L$7OA!($9]B6<[*H%L-%9C+B*9)\=KFU=\K@D\:<F_E`D)2;R"$N
M2/G+I[B3I324,F8S"T@"_$1%9)&!.R]A`QS^-X=MD2$!"8`!#-"@TB.JRT=G
M?%=2**2>G,J`IP7Q:1*!.BV(=;$,W;PI#&:`U`0H]2P^<A\&]W69^;0%<&[(
M*0VJ>E4E!A5]=8`#&:*:TQI453!@H@-PQ+=!YJ0,IS"P057S9(;Y"0M!SX1;
MU%S(IG(%,J<Y(.M8D(C5H6FUB8@T0QVDDH`8[!17JA$3#,;*T<7^U+%,Y*IA
M[O!5ZC@%+6`!H#SK-LGI4>@[;FB!'I(BG;4^S#9YH(Y5Q)(=P:1,?&Q:7UE]
M%)#'.A$$.;)*9."@G(U2+RR>7>K0SAJ_]07$44(:7WRJ-ES0;E6.B`Q>5M2S
MSHXI@+J(3$\;3"*^]\R35Z%%9!`YJA.LD*$QF37O9NEEN/D^%":S;*(@(<M>
MH`CE3:\Q3)P^29`BX&$G_)$909++T0<W"7UB("6]\H6^>Q9FO>9K3S?7%Z3M
M_96'=_GD_-#5&:6\LPE3:('9K"#-IMG!!35^PQQX$MP:]RV:TR21V^SP@O7(
M(6DK'@O?[&`5(O0-D=)<`0QT0-**T$N:*$'-+)]FQ2C'`#65,1Z2QZOD?"F%
M=[GK9PQ!D`7[`,4(9<FN$W8BL\,D^6G813,,>6=F(<&RS:H"`1,HI)8YHP4U
MQ24SE\UW**!(<\_.]-T+LO""I?69#K`L09YAN05*.Z$+V,J"#Q"M@/D1!,YG
M_@YUUB?-,1GX*@I#'RR#FV&YHL%`H[0UO.I@NX"XL@0\N.H7VN4#6(HG/6:(
M2ZC6)\!](4@H6V;*Y#P6W<:RJZG5:DP3PK`&7JD*)JFBT63$8I_7=#9=TE5+
M<>,K'B']A(3C6J]O3VS;,"3-FJ#,-Q+8<[24*B`(#274?&#RWZ$TIW%6A#/Z
MII`4LK@Q2&`T6T5!LQBZ!.0*6DJ1FMY4&=L5G*4G$_+!N5-!8:7IW322@\CW
M1DBV2$14&[4BF/+@0J%<B7'<F0H+M]*5.J'./!PV+U;DT-5Q8:XB=$!?PL:P
M!J0]\3JHLV+02T1TSP2EM0K0>52#8H:4[1HH(5_4WIPDAY<3:`XXDDZ^BO@2
M+)FW2RD*^IQ>-*E_56;EPGFZ9G0;'NEDIGL(JE-`IJX?]J"].(&_#N'Q8/CR
M%FZU@375)`\UOJ0Y&,+H6Y9**;24,VRL!UWQ@>38L/D!>=XV/:"7Z"=;^LY_
M/@T@6#WI"\+Y-)Q>##U00^Q'WWK;?[YQLE<IW)GD4A<PR38ZX$+O;]\#,>R>
M]04AH*HKS!X0K"'YQ!^1\8V%4/!(1PU#5JD+A*E2Z<^W\-E5`_:-5?SCG\'[
MW0M_0<8_`/&3/U<HN`),6-I&$&G0?F]B%7YR!PPU<.(F)=ED!2Z0`KCR&*0U
M0BE23SR13X"2&E4@!42`3&ZB(Q(X*)-%(G#@'8*G`!ER-XMS<*GC-UGA=<$U
M(TI%-6:%;1T&(Q48$$-P@1FH@'JG2JE6)=6"):]E':<R'QGW&'YE1-6F1`%!
M78Y'?=0Q1_0D4%?2/0WU6N]7&5M4!BSD2D)!2%)X2)%Q,'`W+$B(;M:V1%L5
M,+J2<91W*$,S%6^P!F"T2]#VA3PAA`'W@0I$/J:C;@J`.I%'4A%#9TIR$PM5
MAU9R2*2%=)H17$.`6R`@!285=@&Q;7)0*#*B3R0"3'2!!+QB)*HUA`$84(F(
M)?;!!B0R7W<@<+Z6+(9!!/91+8G1(@#(@788%(:"*'_17^`Q*)<($:X(%`$!
MBW4@BT71&$;03Y$XB6Q!(I98*"=@%1WX&*4"A?%1&$(Q+`$!(EH!1D-8AHRE
M1,8%B6NW'FY4)QV(%6>@A`HP2_D2+"@`!5,`!2`Q+-F7+-O7!AMH%3I"/9-4
M)U[T%]WEA^-($2'R249@'G52*DIQ8A*G-A3'6M7E,$\Q3MQA1>EQ'$)B&`%A
M3CU0`T?%'1082^6X/O((!09"/U9A=Q6!*!<!([T(54O!D0I`1T0XA)(H,<[(
M%HWC*'D@/O9!!P6E%J-8)%ZB6OOB!FQP$:X%)6K')M9(2?,(C(4!%`_I8J`!
M%2@@'GO2)W^B'B`2*Q:WAE^2%6B@'0@3-:MXB59!&*_(&1/G%#,PE#T1$=_&
M/H@BDW$T<Z0(4=)1<Z3X@_=V3;D2!$PW@(`"(NOB;SD9=L\X!]&8&J0X4':R
MA16R1D%)A=SA@*>8BKU8<(-G'VQG/8'!*T="'3PQD&KH@#>Q:M9ABZ4X/BDB
M!8_B!F)`%5EHF20TA/VX6H_Q7[("<+[8.-18(0I!!*GT6GNB'A5A'EP4!&[0
M;4`A!$EQ!BTP!4V!A1T!(R["/H)A%:"1!$+0!)0T!-$($NX5%$1I+#:"2$)!
M$5J!/HXB!X)"AX?!."L($QEF7U=QFA_3&-BIGI#!GH[!2RY3!,@)B4I@)""@
M!`V',;+"F7I($=T62T(8G753(<JQ&ABFA6'@2ICI'4+Q?FC)G-$AC`H@'_?$
M,4RR?U`%%)!2*0/R+A'U57UT$1*HA@%A*[SA&QZR!@%1`S9`26AP)"9E%4)0
M!Q-ACF<0$%7@!H_C8IHR+%-`(6N@8650)&X0$%7Z*J?R!DW!'5UZI;:6I6!A
M@V`1)D(!"04P!3>P!"```U<``P$!!6=9&:B!`C.05R"1`S9@`RU``S@`D@'A
D!%E1$F5'+R@@!$E`!4ZP$"F`&KWQ&\$!!-KS*@2A`0$!&@``
`
end
END--cut here--cut here