[comp.os.minix] Expanded

Peter_Van_Epp@cc.sfu.ca (01/07/90)

This is the posting (several people have requested it) of the installation
of Terrence W. Holm's original EMS driver into Minix 1.5.0 (part of
the original post is reproduced below), as well there is a seperate
kludge (and it is a kludge!) of the Ramdisk load in fs to not 
require the whole ram disk to be loaded (when you got 2 megs and
only need to load 500k the saving is substantial!).  A couple of
disclaimers: I have only used the Zucker board modifications (the 
cdif files were created on the system using the 2M ram disk so I
know at least that works), but NOT with a real Intel Above-board
because I haven't got one, and since I modified the original code 
for conditional assembly to select either my board or the real thing
the Above-board setting may not work ( I would like to know and get
the fixes if you fix it though!). If you have a clone board (like the
Zucker that I have) you may have to disassemble the DOS EMS driver
to find the I/O port addresses and the initialization sequence (that
is how the Zucker driver came to be). Of course we all owe a round
of thanks to Terrence Holm for both this EMS driver and all the other
good stuff that he has done for Minix over the years.
     Now for installation: this posting is in 2 files, shar ed and
then uue encoded (this is being sent from an IBM host which likes
to mangle tabs and spaces) cdiff ed from 1.5.0 sources which match
Ast's crc list. The first part is the is the actual EMS driver and
is independent of the ram disk mod, changes here are all in the 
kernel (except for /usr/include/minix/config.h which has the config
info for the board, NOTE! you will need to change the settings in
config.h to match your board!). Since I see someone just now asking
about EMS for a 386, this seems to work on my PS/2 model 55 sx at
work with a 386sx processor, but I have problems making root file
systems that work on the machine (and a kernel that doesn't use 
EMS doesn't work at all!) so this may or amy not work on 286 and 
386 machines with Minix 1.5.0. You should only need to apply the
difs and remake the kernel to get EMS installed, part of the 
modification returns the amount of EMS ram availible to the mm
(you need to set the amount you have in config.h the system doesn't
 check but will crash if you lie to it!), and will install the 
ram disk in EMS automatically.
     The second modification (it is seperate because it is a temporary
kludge!) is to modify the super block (super.h), mkfs and the fs
(fs/main.c) to load less than the full number of ram disk blocks.
This works as follows (and only for a root file system made from
a prototype file and then not modified on the fly!), one more field
(media size) is added to the second line of the prototype file
(ie. number of blocks, number of inodes , media size (new!) for
example 2000 974 360 for a 2meg ram disk with 974 inodes that is
going on a 360k disk). The media size byte should keep you from
putting to much data on a disk (should because I just realized I
didn't test this!). At the end of the file system create, mkfs reads
the superblock again and writes the last zone number used into a 
new field in the super block. When the file system is loaded, the
fs only loads the number of blocks mkfs wrote instead of the whole
2 megs (allowing you to load root from a floppy and saving time
loading from a hard disk). This will eventually (I hope!) be replaced
by the fs reading the zone map on the disk and only loading those
blocks which have data in them (which will allow you to change the
root image after mkfs makes the system, and which Andy (who suggested
this method!) has said he will make part of the system if I do it).
   Here is the text part of the original EMS posting, followed by
the 2 uuencoded shar files.
 ________________________________________________________________
 
 Message: 1037797, Posted: 2:38pm PDT, Wed May 18/88, 217 lines
 To: userID=MINX
 From: tholm@UVICCTR.UUCP
 Subject: need test site for expanded memory
 
 EFTH Minix request  - May 1988 -  need test site for expanded memory
 
 
 We are looking for Minix users who would like to test
 our "expanded" memory handler on their PC/XT.
 
 We converted to "expanded" memory because our two AT clone
 keyboards would not work with "extended" memory. (Yes,
 its true.)
 
 The following code has been tested on AT's with real
 Intel Above Board "expanded" memory. We want someone
 with a PC/XT to try this code. If you know about the
 real hardware for the expanded memory, then please tell
 us - or fix up this code to the standard. [We had to
 reverse engineer the card and disassemble LIM 4.0 to
 obtain what we have so far.]
 
 .... (beta test site request, old minix information  and
 original code deleted!) 
 To install this you must do all of Tanenbaum's updates for
 "extended" memory, then insert this routine into klib88.s
 INSTEAD of his "em_xfer".
 
 Note that you must update definitions for where the i/o
 location is (see the switches on your memory card) and
 where to place the mapped-in pages into memory. Only
 the stretches C0000-CFFFF or D0000-DFFFF can be used (see
 if there is anything else in the way, like a disk controller).
 
  ("definitions" above are noww done in /usr/include/config.h  )
   original from -
                Terrence W. Holm
 
  
  EMS changes (cdiffed, shared, and uue uuencoded). 
 
----------------- cut here --------------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 ems.shar
M96-H;R!X("T@8V]N9FEG+F@N8V1I9@IS960@)R]>6"]S+R\O)R ^(&-O;F9Iz
M9RYH+F-D:68@/#P@)R\G"E@J*BH@+W5S<B]S<F,O,2XU7V)A<V4O:6YC;'5Dy
M92]M:6YI>"]C;VYF:6<N: E7960@1&5C(#(W(#$X.C(X.C4P(#$Y.#D*6"TMx
M+2 O=7-R+VEN8VQU9&4O;6EN:7@O8V]N9FEG+F@)5V5D($IA;B @,R P,CHRw
M-SHR.2 Q.3DP"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B U,2PU-R J*BHJ"E@@v
M("-D969I;F4@1$5&055,5%]#3$%34R @(" @(# )+RH@9FQO<'!Y+F,@+2 Su
M(&]R(#4@=&\@9V5T(&]N;'D@=&AA="!S:7IE("HO"E@@("-D969I;F4@3$E.t
M15=205 @(" @(" @(" @(# )+RH@8V]N9FEG+F,@+2!W<F%P(&QI;F5S(&%Ts
M(&-O;'5M;B X," J+PI8(" C9&5F:6YE($Y/7TA!3D132$%+12 @(" @(" Pr
M"2\J(')S,C,R+F,@+2!D;VXG="!U<V4@0U13+U)44R!H86YD<VAA:VEN9R Jq
M+PI8(2 C9&5F:6YE(%-455!)1%]724Y)7T%$2E535" P"2\J("IW:6YI+F,@p
M+2!S:VEP(&]D9" Q<W0@<V5C=&]R(&]F('!A<G1I=&EO;BHO"E@@( I8(" Oo
M*B!4:&5S92!C;VYF:6=U<F%T:6]N(&1E9FEN97,@8V]N=')O;"!D96)U9V=In
M;F<@86YD('5N9FEN:7-H960@8V]D92X@*B\*6" @(V1E9FEN92!&3$]04%E?m
M5$E-24Y'(" @(" @, DO*B!F;&]P<'DN8R M(&9O<B!F:6YE('1U;FEN9R!Fl
M;&]P<'D@9')I=F5R("HO"E@M+2T@-3$L.3 @+2TM+0I8(" C9&5F:6YE($1%k
M1D%53%1?0TQ!4U,@(" @(" P"2\J(&9L;W!P>2YC("T@,R!O<B U('1O(&=Ej
M="!O;FQY('1H870@<VEZ92 J+PI8(" C9&5F:6YE($Q)3D574D%0(" @(" @i
M(" @(" P"2\J(&-O;F9I9RYC("T@=W)A<"!L:6YE<R!A="!C;VQU;6X@.# @h
M*B\*6" @(V1E9FEN92!.3U](04Y$4TA!2T4@(" @(" @, DO*B!R<S(S,BYCg
M("T@9&]N)W0@=7-E($-44R]25%,@:&%N9'-H86MI;F<@*B\*6"$@(V1E9FENf
M92!35%50241?5TE.25]!1$I54U0@,0DO*B J=VEN:2YC("T@<VMI<"!O9&0@e
M,7-T('-E8W1O<B!O9B!P87)T:71I;VXJ+PI8(2 C9&5F:6YE($%$05!414-?d
M,C W, D@(" Q"2\J('AT7W=I;FDN8R M($%D87!T96,@,C W,"!R<FP@8V]Nc
M=')O;&QE<B J+PI8(2 C9&5F:6YE($5-4PD)(" @,0DO*B!%35,@*&5X=&5Nb
M9&5D*2!R86T@:7,@<')E<V5N="!O;B!T:&ES('-Y<W1E;0DJ+PI8(2 *6"$@a
M(VEF($5-4PI8(2 *6"$@(V1E9FEN92!%35-?4D%-7U-)6D4@(" @(" @,C Pz
M, DO*B!H;W<@;75C:" H:6X@2RD@:7,@<')E<V5N= D)*B\*6"$@(V1E9FENy
M92!:54-+15()"2 @(#$@(" @+RH@8VAA;F=E(%I50TM%4B!T;R!!0D]615]"x
M3T%21"!F;W(@(" @("HO"0I8(2 *6"$@(VEF($%"3U9%7T)/05)$"E@A( I8w
M(2 C9&5F:6YE($U!4%]004=%(" @"2 @(#!X0S P," O*B!7:&5R92!T:&4@v
M97AP86YD960@;65M;W)Y(&%P<&5A<G,)("HO"E@A("-D969I;F4@34%0,0D)u
M(" @,'@X, D@("\J(%1H97-E(#0@<V5T('=H97)E('1H92!P86=E<R!A<F4@t
M(" @("HO"E@A("-D969I;F4@34%0,@D@"2 @(# )(" O*B!M87!P960@*#!Xs
M0S P,"!O<B P>$0P,# I(" @(" @(" @(" J+PI8(2 C9&5F:6YE($U!4#,)r
M"2 @(# )(" O*B!#:&%N9V4@=&AI<R!T;R P>#@P(&9O<B P>$0P,# A(" @q
M(" J+PI8(2 C9&5F:6YE($U!4#0)"2 @(# )(" O*B H86YD($U!4%]004=%p
M('1O;R$I(" @(" @(" @(" @(" @(" J+PI8(2 C9&5F:6YE($584%]03U)4o
M(" @"2 @(#!X,#(U." O*B!&:7)S="!I+V\@<&]R="!T;R!C;VYT<F]L(&5Xn
M<&%N9&5D(&UE;6]R>2 J+PI8(2 C9&5F:6YE($Y%6%1?4$]25" @"2 @(#!Xm
M-# P," O*B!/9F9S970@=&\@:&EG:&5R('!O<G1S"0D@*B\*6"$@(V1E9FENl
M92!.15A47U!!1T4@( D@(" P># T,# @+RH@4&%G97,@87)E(#$V2PD)"2 Jk
M+PI8(2 C96YD:68@*$%"3U9%7T)/05)$*0I8(2 *6"$@(VEF(%I50TM%4@I8j
M(2 *6"$@(V1E9FEN92!-05 Q"0D@(" P"0I8(2 C9&5F:6YE($U!4#()( D@i
M(" P"2\J(%1H97-E(#0@;6%G:6,@;G5M8F5R<R!S970@=&AE(&%D9')E<W,@h
M*B\*6"$@(V1E9FEN92!-05 S"0D@(" P"2\J('=H97)E('1H92 Q-DL@14U3g
M('!A9V5S(&%P<&5A<BP)*B\*6"$@(V1E9FEN92!-05 T"0D@(" P"2\J("@Pf
M>$0P,# @:6X@=&AI<R!C87-E(&9O<B!T:&ES(&)O87)D(2 J+PI8(2 C9&5Fe
M:6YE($584%]03U)4(" @"2 @(#!X,#(U." O*B!&:7)S="!I+V\@<&]R="!Td
M;R!C;VYT<F]L(&5X<&%N9&5D(&UE;6]R>2 J+PI8(2 C9&5F:6YE($Y%6%1?c
M4$]25" @"2 @(#!X-# P," O*B!/9F9S970@=&\@:&EG:&5R('!O<G1S"0DJb
M+PI8(2 C9&5F:6YE($U!4%]004=%(" @"2 @(#!X1# P," O*B!7:&5R92!Ta
M:&4@97AP86YD960@;65M;W)Y(&%P<&5A<G,)*B\*6"$@(V1E9FEN92!.15A4z
M7U!!1T4@( D@(" P># T,# @+RH@4&%G97,@87)E(#$V2PD)"2HO"E@A("-Ey
M;F1I9B H6E5#2T52*2 *6"$@"E@A("-E;F1I9B H14U3*0I8(" *6" @+RH@x
M5&AE<V4@8V]N9FEG=7)A=&EO;B!D969I;F5S(&-O;G1R;VP@9&5B=6=G:6YGw
M(&%N9"!U;F9I;FES:&5D(&-O9&4N("HO"E@@("-D969I;F4@1DQ/4%!97U1)v
M34E.1R @(" @(# )+RH@9FQO<'!Y+F,@+2!F;W(@9FEN92!T=6YI;F<@9FQOu
M<'!Y(&1R:79E<B J+PHO"F5C:&\@>" M(&UI<V,N8RYC9&EF"G-E9" G+UY8t
M+W,O+R\G(#X@;6ES8RYC+F-D:68@/#P@)R\G"E@J*BH@+W5S<B]S<F,O,2XUs
M7V)A<V4O:V5R;F5L+VUI<V,N8PE7960@1&5C(#(W(#(Q.C0X.C4X(#$Y.#D*r
M6"TM+2 N+B]K97)N96PO;6ES8RYC"5-U;B!$96,@,S$@,30Z,#$Z,S @,3DXq
M.0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-C8L-S$@*BHJ*@I8+2TM(#8V+#<Wp
M("TM+2T*6" @"0EM96U?='EP95LS72!\/2 Q.PI8(" )?0I8(" @('T*6"L@o
M(VEF($5-4PI8*R @(&UE;5]S:7IE6S)=(#T@:U]T;U]C;&EC:RAE>'1?;65Mn
M<VEZ92D["E@K(" @;65M7V)A<V5;,ET@/2!%35]"05-%(#X^($-,24-+7U-(m
M2494.PI8*R @(&UE;5]T>7!E6S)=(#T@,3L*6"L@(V5N9&EF"E@K( I8("!]l
M"E@@("-E;F1I9B O*B H0TA)4" ]/2!)3E1%3"D@*B\*6" @"B\*96-H;R!Xk
M("T@:VQI8BYX+F-D:68*<V5D("<O7E@O<R\O+R<@/B!K;&EB+G@N8V1I9B \j
M/" G+R<*6"HJ*B O=7-R+W-R8R\Q+C5?8F%S92]K97)N96PO:VQI8BYX"5=Ei
M9"!$96,@,C<@,C Z,S(Z-#(@,3DX.0I8+2TM("XN+VME<FYE;"]K;&EB+G@)h
M5V5D($IA;B @,R P,CHS.3HU.2 Q.3DP"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJg
M*B U,C L-3(U("HJ*BH*6"TM+2 U,C L-3(V("TM+2T*6" @"7!O< EB< D)f
M?"!S=&%C:R!F<F%M92!N;W<@86=R965S('=I=&@@96U?>&9E<B=S"E@@( EJe
M"5]E;5]X9F5R"E@@( I8*R C:69N9&5F($5-4PI8(" *6" @?"H]/3T]/3T]d
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]c
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3TJ"E@@('PJ"0D)"65M7WAF97()"0D)b
M"2 @(" @*@I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-C0R+#8T-R J*BHJ"E@Ma
M+2T@-C0S+#@S." M+2TM"E@@( EP;W )8G *6" @"7)E= I8(" *6"L@(V5Lz
M<V4*6"L@"E@K('P]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]y
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*6"L@x
M?" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!E;5]X9F5R"E@K('P]w
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]v
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*6"L@? I8*R!\(" @(" @u
M(" @(" @(" H0VAA;F=E9"!F<F]M(&5X=&5N9&5D(&UE;6]R>2P@(" @,3DXt
M."U-87DM,2 @969T:"D*6"L@?" @(" @(" @(" @(" @*&UO9&EF:65D(&9Os
M<B!:=6-K97(@0F]A<F0@14U3(" @(#$Y.#@M4V5P="TR,"!P=F4I"E@K('P@r
M(" @(" @(" @(" @("AM;V1I9FEE9"!F;W(@,2XU+C @(" @(" @(" @(" @q
M(" Q.3DP+4IA;BTU(" @<'9E*0I8*R!\"E@K('P@('-T871U<R ](&5M7WAFp
M97(H('-O=7)C92P@9&5S=&EN871I;VXL(&-O=6YT("D["E@K('P*6"L@? I8o
M*R!\(" @(%=H97)E.@I8*R!\(" @(" @('-O=7)C92 @(" @(#H@061D<F5Sn
M<R H,# P,# P+3 Y9F9F92P@,3 P,# P+3)F9F9F92D*6"L@?" @(" @("!Dm
M97-T:6YA=&EO;B Z($%D9')E<W,@*# P,# P,"TP.69F9F4L(#$P,# P,"TRl
M9F9F9F4I"E@K('P@(" @(" @8V]U;G0@(" @(" @.B!.=6UB97(@;V8@=V]Rk
M9',@=&\@=')A;G-F97(@*# M,C P,"D@6S$V2V(@;6%X70I8*R!\(" @(" @j
M('-T871U<R @(" @(#H@06QW87ES(# @*$]+*0I8*R!\"E@K('P*6"L@?" @i
M17AE8W5T92!A('1R86YS9F5R(&)E='=E96X@=7-E<B!M96UO<GD@86YD(&5Xh
M<&%N9&5D(&UE;6]R>2X*6"L@? I8*R!\("!4:&4@<V]U<F-E(&%N9"!D97-Tg
M:6YA=&EO;B!C86X@8F4@:6X@96ET:&5R('1H92!L;W=E<B V-#!++"!O<B!Of
M;@I8*R!\("!T:&4@9FER<W0@,DUB(&5X<&%N9&5D(&UE;6]R>2!C87)D+"!Te
M:&5Y(&UU<W0@8F4@;VX@82!W;W)D(&)O=6YD87)Y+@I8*R!\("!4=V\@,39+d
M8B!P86=E<R!A<F4@;6%P<&5D(&EN(&9O<B!A;B!E>'!A;F1E9"!M96UO<GD@c
M<F5F97)E;F-E+"!S;PI8*R!\("!T:&%T('5P('1O(#$V2V(@8V%N(&)E('1Rb
M86YS9F5R<F5D('=I=&AO=70@=V]R<GEI;F<@86)O=70@=&AE('!A9V4*6"L@a
M?" @8F]U;F1A<GDN"E@K('P*6"L@?" @3F]T92!S971T:6YG<R!I;B!I;F-Lz
M=61E+VUI;FEX+V-O;F9I9R!N965D('1O(&)E(&-H86YG960@<F5L871I;F<@y
M=&\@"E@K('P@('!O<G0@861D<F5S<V5S(&%N9"!W:&5R92!T:&4@;65M;W)Yx
M('=I;&P@8F4@;6%P<&5D(&EN+@I8*R!\(" *6"L@"E@K($U!4%]$051!.B @w
M(" @(" @(" @(" @(" @(" @(" @?" @5&5L;',@;65M+B!C87)D('=H97)Ev
M('1O(&UA<"!I;B!P86=E<PI8*R @(" @(" @("YB>71E(" @34%0,2 @(" @u
M(" @(" @('P@("@@=F%L=65S(&1E9FEN960@:6X*6"L@(" @(" @(" N8GETt
M92 @($U!4#(@(" @(" @(" @("!\(" @+W5S<B]I;F-L=61E+VUI;FEX+V-Os
M;F9I9RYH("D*6"L@(" @(" @(" N8GET92 @($U!4#,*6"L@(" @(" @(" Nr
M8GET92 @($U!4#0*6"L@"E@K(%]E;5]X9F5R.@I8*R @(" @(" @('!U<V@@q
M(" @8G @(" @(" @(" @(" @('P@(%-A=F4@<F5G:7-T97)S"E@K(" @(" @p
M(" @;6]V(" @("!B<"QS< I8*R @(" @(" @('!U<V@@(" @8G@*6"L@(" @o
M(" @("!P=7-H(" @(&-X"E@K(" @(" @(" @<'5S:" @("!D> I8*R @(" @n
M(" @('!U<V@@(" @<VD*6"L@(" @(" @("!P=7-H(" @(&1I"E@K(" @(" @m
M(" @<'5S:" @("!D<PI8*R @(" @(" @('!U<V@@(" @97,*6"L@"E@K(" @l
M(" @(" @<'5S:&8@(" @(" @(" @(" @(" @(" @?" @4V%V92!$1B!F;&%Gk
M"E@K(" @(" @(" @8VQD(" @(" @(" @(" @(" @(" @(" @?" @075T;R!Ij
M;F-R96UE;G0@*$1&(#T@,"D*6"L@"E@K("-I9B!:54-+15(*6"L@"E@K(" @i
M(" @(" @;6]V(" @("!D>"PC15A07U!/4E0K,2 @?" @6G5C:V5R(&)O87)Dh
M(&EN:71I86QI>F%T:6]N"E@K(" @(" @(" @;6]V8B @("!A;"PJ,0I8*R @g
M(" @(" @(&]U=&(@(" @(" @(" @(" @(" @(" @('P@*&YO="!N965D960@f
M9F]R($%B;W9E7V)O87)D(2D*6"L@(" @(" @("!M;W9B(" @(&%L+"HP>#@Qe
M"E@K(" @(" @(" @;W5T8@I8*R @(" @(" @(&UO=B @(" @9'@L(T584%]0d
M3U)4"E@K(" @(" @(" @;6]V8B @("!A;"PJ,'@X, I8*R @(" @(" @(&]Uc
M=&(*6"L@(" @(" @("!M;W9B(" @(&%L+"HP"E@K(" @(" @(" @;W5T8@I8b
M*R C96YD:68*6"L@"E@K( I8*R!\("!,;V%D('1H92 T(&)I="!M87!P:6YGa
M(&1A=&$@:6YT;R!T:&4@97AP86YD960@;65M;W)Y(&-A<F0L('-O"E@K('P@z
M('1H870@:70@:VYO=W,@=VAI8V@@<V5T(&]F(&%D9')E<W-E<R!T;R!U<V4@y
M=&\@;6%P(&EN('1H92!P86=E<RX*6"L@"E@K(" @(" @(" @;6]V(" @("!Sx
M:2PC34%07T1!5$$*6"L@(" @(" @("!M;W8@(" @(&-X+",T"E@K( I8*R Cw
M:68@6E5#2T52"E@K( I8*R @(" @(" @(&UO=B @(" @9'@L(T584%]03U)4v
M(" @('P@(&DO;R!A9&1R<R!O9B!M87 @<F5G:7-T97)S"E@K("-E;F1I9@I8u
M*R *6"L@(VEF($%"3U9%7T)/05)$"E@K( I8*R @(" @(" @(&UO=B @(" @t
M9'@L(T584%]03U)4*S$@('P@(&DO;R!A9&1R<R!O9B!M87 @<F5G:7-T97)Ss
M"E@K("-E;F1I9@I8*R *6"L@<V5T7W5P.@I8*R @(" @(" @(&QO9&(@(" @r
M(" @(" @(" @(" @(" @('P@($QO860@9G)O;2!-05!?1$%402!V96-T;W(*q
M6"L@(" @(" @("!O=71B(" @(" @(" @(" @(" @(" @("!\("!/;FQY('1Hp
M92!T;W @8FET(&ES('5S960*6"L@(" @(" @("!A9&0@(" @(&1X+"-.15A4o
M7U!/4E0*6"L@(" @(" @("!L;V]P(" @('-E=%]U< I8*R *6"L@"E@K('P@n
M(%!R;V-E<W,@=&AE('-O=7)C92!A9&1R97-S"E@K( I8*R @(" @(" @(&UOm
M=B @(" @87@L-BAB<"D@(" @(" @('P@(%-O=7)C92!M<V(*6"L@(" @(" @l
M("!T97-T8B @(&%L+"HP>&8P(" @(" @("!\("!497-T(&EF(&EN(&QO=R!Mk
M96UO<GD*6"L@(" @(" @("!J;GH@(" @('-?97AP(" @(" @(" @("!\("!*j
M=6UP(&EF(&YO= I8*R *6"L@(" @(" @("!M;W9B(" @(&-L+"HQ,@I8*R @i
M(" @(" @('-H;" @(" @87@L8VP@(" @(" @(" @('P@($UA:V4@:6YT;R!Sh
M96=M96YT("L@;V9F<V5T"E@K(" @(" @(" @;6]V(" @("!B>"PT*&)P*2 @g
M(" @(" @?" @4V]U<F-E(&QS=PI8*R @(" @(" @(&UO=F(@(" @8VPL*C0*f
M6"L@(" @(" @("!S:'(@(" @(&)X+&-L"E@K(" @(" @(" @861D(" @("!Ae
M>"QB> I8*R @(" @(" @(&UO=B @(" @9',L87@@(" @(" @(" @('P@(%-Od
M=7)C92!S96=M96YT"E@K(" @(" @(" @;6]V(" @("!S:2PT*&)P*0I8*R @c
M(" @(" @(&%N9" @(" @<VDL(S!X,# P9B @(" @('P@(%-O=7)C92!S=&%Rb
M="!A9&1R97-S"E@K(" @(" @(" @:FUP(" @("!G971?9&5S= I8*R *6"L@a
M<U]E>' Z(" @(" @(" @(" @(" @(" @(" @(" @("!\("!3;W5R8V4@:7,@z
M:6X@97AP86YD960@;65M;W)Y"E@K(" @(" @(" @<W5B8B @("!A;"PJ,'@Qy
M," @(" @(" @?" @061D<BX@,3 P,# P(&ES(# @;VX@8V%R9 I8*R @(" @x
M(" @('-H;&(@(" @86PL*C$*6"L@(" @(" @("!S:&QB(" @(&%L+"HQ"E@Kw
M(" @(" @(" @;6]V(" @("!B>"PT*&)P*2 @(" @(" @?" @4V]U<F-E(&QSv
M=PI8*R @(" @(" @(&UO=F(@(" @8VPL*C$T"E@K(" @(" @(" @<VAR(" @u
M("!B>"QC; I8*R @(" @(" @(&%D9&(@(" @86PL8FP@(" @(" @(" @('P@t
M(#<@8FET('!A9V4@<V5L96-T:6]N("@Q,C@@*B Q-DL@/2 R36(I"E@K(" @s
M(" @(" @;W)B(" @("!A;"PJ,'@X," @(" @(" @?" @4V5T('1H92!E;F%Br
M;&4@8FET"E@K(" @(" @(" @;6]V(" @("!D>"PC15A07U!/4E0*6"L@(" @q
M(" @("!O=71B(" @(" @(" @(" @(" @(" @("!\("!-87 @:6X@=&AE('!Ap
M9V4*6"L@(" @(" @("!I;F-B(" @(&%L"E@K(" @(" @(" @861D(" @("!Do
M>"PC3D585%]03U)4"E@K(" @(" @(" @;W5T8B @(" @(" @(" @(" @(" @n
M(" @?" @36%P(&EN('1H92!F;VQL;W=I;F<@<&%G90I8*R @(" @(" @(&UOm
M=B @(" @87@L(TU!4%]004=%"E@K(" @(" @(" @;6]V(" @("!D<RQA>" @l
M(" @(" @(" @?" @4V]U<F-E('-E9VUE;G0*6"L@(" @(" @("!M;W8@(" @k
M('-I+#0H8G I"E@K(" @(" @(" @86YD(" @("!S:2PC,'@S9F9F(" @(" @j
M?" @4V]U<F-E('-T87)T(&%D9')E<W,*6"L@"E@K( I8*R!\("!0<F]C97-Si
M('1H92!D97-T:6YA=&EO;B!A9&1R97-S"E@K( I8*R!G971?9&5S=#H*6"L@h
M(" @(" @("!M;W8@(" @(&%X+#$P*&)P*2 @(" @("!\("!$97-T:6YA=&EOg
M;B!M<V(*6"L@(" @(" @("!T97-T8B @(&%L+"HP>&8P(" @(" @("!\("!4f
M97-T(&EF(&EN(&QO=R!M96UO<GD*6"L@(" @(" @("!J;GH@(" @(&1?97APe
M(" @(" @(" @("!\("!*=6UP(&EF(&YO= I8*R *6"L@(" @(" @("!M;W9Bd
M(" @(&-L+"HQ,@I8*R @(" @(" @('-H;" @(" @87@L8VP@(" @(" @(" @c
M('P@($UA:V4@:6YT;R!S96=M96YT("L@;V9F<V5T"E@K(" @(" @(" @;6]Vb
M(" @("!B>"PX*&)P*2 @(" @(" @?" @1&5S=&EN871I;VX@;'-W"E@K(" @a
M(" @(" @;6]V8B @("!C;"PJ- I8*R @(" @(" @('-H<B @(" @8G@L8VP*z
M6"L@(" @(" @("!A9&0@(" @(&%X+&)X"E@K(" @(" @(" @;6]V(" @("!Ey
M<RQA>" @(" @(" @(" @?" @1&5S=&EN871I;VX@<V5G;65N= I8*R @(" @x
M(" @(&UO=B @(" @9&DL."AB<"D*6"L@(" @(" @("!A;F0@(" @(&1I+",Pw
M># P,&8@(" @("!\("!$97-T:6YA=&EO;B!S=&%R="!A9&1R97-S"E@K(" @v
M(" @(" @:FUP(" @("!C;W!Y"E@K( I8*R!D7V5X<#H@(" @(" @(" @(" @u
M(" @(" @(" @(" @('P@($1E<W1I;F%T:6]N(&ES(&EN(&5X<&%N9&5D(&UEt
M;6]R>0I8*R @(" @(" @('-U8F(@(" @86PL*C!X,3 @(" @(" @('P@($%Ds
M9'(N(#$P,# P,"!I<R P(&]N(&-A<F0*6"L@(" @(" @("!S:&QB(" @(&%Lr
M+"HQ"E@K(" @(" @(" @<VAL8B @("!A;"PJ,0I8*R @(" @(" @(&UO=B @q
M(" @8G@L."AB<"D@(" @(" @('P@($1E<W1I;F%T:6]N(&QS=PI8*R @(" @p
M(" @(&UO=F(@(" @8VPL*C$T"E@K(" @(" @(" @<VAR(" @("!B>"QC; I8o
M*R @(" @(" @(&%D9&(@(" @86PL8FP@(" @(" @(" @('P@(#<@8FET('!An
M9V4@<V5L96-T:6]N("@Q,C@@*B Q-DL@/2 R36(I"E@K(" @(" @(" @;W)Bm
M(" @("!A;"PJ,'@X," @(" @(" @?" @4V5T('1H92!E;F%B;&4@8FET"E@Kl
M(" @(" @(" @;6]V(" @("!D>"PC15A07U!/4E0K3D585%]03U)4*TY%6%1?k
M4$]25 I8*R @(" @(" @(&]U=&(@(" @(" @(" @(" @(" @(" @('P@($UAj
M<"!I;B!T:&4@<&%G90I8*R @(" @(" @(&EN8V(@(" @86P*6"L@(" @(" @i
M("!A9&0@(" @(&1X+"-.15A47U!/4E0*6"L@(" @(" @("!O=71B(" @(" @h
M(" @(" @(" @(" @("!\("!-87 @:6X@=&AE(&9O;&QO=VEN9R!P86=E"E@Kg
M(" @(" @(" @;6]V(" @("!A>"PC34%07U!!1T4K3D585%]004=%*TY%6%1?f
M4$%'10I8*R @(" @(" @(&UO=B @(" @97,L87@@(" @(" @(" @('P@($1Ee
M<W1I;F%T:6]N('-E9VUE;G0*6"L@(" @(" @("!M;W8@(" @(&1I+#@H8G Id
M"E@K(" @(" @(" @86YD(" @("!D:2PC,'@S9F9F(" @(" @?" @1&5S=&ENc
M871I;VX@<W1A<G0@861D<F5S<PI8*R *6"L@"E@K('P@($5X96-U=&4@=&AEb
M(&-O<'D*6"L@"E@K(&-O<'DZ"E@K(" @(" @(" @;6]V(" @("!C>"PQ,BABa
M<"D@(" @(" @?" @3G5M8F5R(&]F('=O<F1S('1O(&-O<'D*6"L@"E@K(" @z
M(" @(" @<F5P(" @(" @(" @(" @(" @(" @(" @?" @0U@@=&EM97,*6"L@y
M(" @(" @("!M;W9W(" @(" @(" @(" @(" @(" @("!\("!$4SI322 @+3X@x
M($53.D1)"E@K( I8*R *6"L@?" @4F5S=&]R92!R96=I<W1E<G,*6"L@"E@Kw
M(" @(" @(" @<&]P9@I8*R @(" @(" @('!O<" @(" @97,*6"L@(" @(" @v
M("!P;W @(" @(&1S"E@K(" @(" @(" @<&]P(" @("!D:0I8*R @(" @(" @u
M('!O<" @(" @<VD*6"L@(" @(" @("!P;W @(" @(&1X"E@K(" @(" @(" @t
M<&]P(" @("!C> I8*R @(" @(" @('!O<" @(" @8G@*6"L@(" @(" @("!Ps
M;W @(" @(&)P"E@K( I8*R @(" @(" @(&UO=B @(" @87@L(S @(" @(" @r
M(" @('P@(%)E='5R;B!C;V1E(#T@, I8*R @(" @(" @(')E= I8*R *6"L@q
M(V5N9&EF"E@@( I8("!\*CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]p
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]o
M/2H*6" @?"H)"0D);W5T7V)Y=&4)"0D)(" @(" J"B\*96-H;R!X("T@<W1An
M<G0N>"YC9&EF"G-E9" G+UY8+W,O+R\G(#X@<W1A<G0N>"YC9&EF(#P\("<Om
M)PI8*BHJ("]U<W(O<W)C+S$N-5]B87-E+VME<FYE;"]S=&%R="YX"5=E9"!$l
M96,@,C<@,C,Z,#@Z,C<@,3DX.0I8+2TM("XN+VME<FYE;"]S=&%R="YX"5-Uk
M;B!$96,@,S$@,30Z,#$Z,S@@,3DX.0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@j
M,3@W+#$Y,B J*BHJ"E@M+2T@,3@W+#$Y-" M+2TM"E@@('P@4%5"3$E#('4Qi
M-E]T(&=E=%]E>'1?;65M<VEZ92@I.PI8("!\($%S:R!T:&4@0DE/4R!H;W<@h
M;75C:"!E>'1E;F1E9"!M96UO<GD@=&AE<F4@:7,N"E@@( I8*R C:69N9&5Fg
M($5-4PI8*R *6" @7V=E=%]E>'1?;65M<VEZ93H*6" @"7!U<VAF"0D)?"!Gf
M86LA+"!00R=S('-E="!T:&4@:6YT97)R=7!T(&5N86)L92!F;&%G"E@@( EMe
M;W9B"6%H+"-'151?15A4345-7T953D,*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJd
M(#$Y-RPR,#,@*BHJ*@I8("!G;W1?97AT7VUE;7-I>F4Z"E@@( EP;W!F"E@@c
M( ER970*6"$@"E@@( I8("!\*CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]b
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]a
M/3T]/2H*6" @?"H)"0D)9V5T7VQO=U]M96US:7IE"0D)"2 @(" @*@I8+2TMz
M(#$Y.2PR,3$@+2TM+0I8("!G;W1?97AT7VUE;7-I>F4Z"E@@( EP;W!F"E@@y
M( ER970*6"$@(V5L<V4*6"$@"E@A(%]G971?97AT7VUE;7-I>F4Z"E@A( EMx
M;W8)87@L(T5-4U]204U?4TE:10I8(2 )<F5T"E@A( I8(2 C96YD:68*6" @w
M"E@@('PJ/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]v
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]*@I8("!\*@D)u
M"0EG971?;&]W7VUE;7-I>F4)"0D)(" @(" J"B\*96-H;R!X("T@<V-O;G-Tt
M+F@N8V1I9@IS960@)R]>6"]S+R\O)R ^('-C;VYS="YH+F-D:68@/#P@)R\Gs
M"E@J*BH@+W5S<B]S<F,O,2XU7V)A<V4O:V5R;F5L+W-C;VYS="YH"5=E9"!$r
M96,@,C<@,C(Z-3DZ,#4@,3DX.0I8+2TM("XN+VME<FYE;"]S8V]N<W0N: E3q
M=6X@1&5C(#,Q(#$R.C4Y.C4S(#$Y.#D*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJp
M(#$L,R J*BHJ"E@M+2T@,2PV("TM+2T*6"L@"E@K("-I;F-L=61E(#QM:6YIo
M>"]C;VYF:6<N:#X)+RH@=&\@9V5T('1H92!00R!%35,@9&5F:6YI=&EO;G,@n
M:68@<F5Q=6ER960@*B\*6"L@"E@@("\J($UI<V-E;&QA;F5O=7,@8V]N<W1Am
M;G1S('5S960@:6X@87-S96UB;&5R(&-O9&4N("HO"E@@("-D969I;F4@2$-(l
M24=(7TU!4TL),'@P1@DO*B!H+W<@8VQI8VL@;6%S:R!F;W(@;&]W(&)Y=&4@k
M;V8@:&D@=V]R9" J+PI8(" C9&5F:6YE($A#3$]77TU!4TL),'A&, DO*B!Hj
L+W<@8VQI8VL@;6%S:R!F;W(@;&]W(&)Y=&4@;V8@;&]W('=O<F0@*B\*+PIHi
 h
end
  
  
 Root file system load changes (cdiffed, shared, and uue uuencoded).
 
--------------------- cut here --------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 root.shar
M96-H;R!X("T@;6%I;BYC+F-D:68*<V5D("<O7E@O<R\O+R<@/B!M86EN+F,Nz
M8V1I9B \/" G+R<*6"HJ*B O=7-R+W-R8R\Q+C5?8F%S92]F<R]M86EN+F,)y
M5V5D($1E8R R-R R,CHS-SHS,R Q.3@Y"E@M+2T@;6%I;BYC"5-U;B!$96,@x
M,S$@,30Z,3(Z,3(@,3DX.0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,C0L,S @w
M*BHJ*@I8(" *6" @(V1E9FEN92!--C1+(" @(" P>$9&1D8P,# P3 DO*B Qv
M-B!B:70@;6%S:R!F;W(@1$U!(&-H96-K("HO"E@@("-D969I;F4@34%87U)!u
M32 @(" @(" @,38S.#0)+RH@;6%X:6UU;2!204T@9&ES:R!S:7IE(&EN(&)Lt
M;V-K<R J+PI8(2 C9&5F:6YE(%)!35])34%'12 H9&5V7W0I,'@S,#,)+RH@s
M;6%J;W(M;6EN;W(@9&5V('=H97)E(')O;W0@:6UA9V4@:7,@:V5P=" J+PI8r
M(" *6" @1D]25T%21"!V;VED(&)U9E]P;V]L*"D["E@@($9/4E=!4D0@=F]Iq
M9"!F<U]I;FET*"D["E@M+2T@,C0L,S @+2TM+0I8(" *6" @(V1E9FEN92!-p
M-C1+(" @(" P>$9&1D8P,# P3 DO*B Q-B!B:70@;6%S:R!F;W(@1$U!(&-Ho
M96-K("HO"E@@("-D969I;F4@34%87U)!32 @(" @(" @,38S.#0)+RH@;6%Xn
M:6UU;2!204T@9&ES:R!S:7IE(&EN(&)L;V-K<R J+PI8(2 C9&5F:6YE(%)!m
M35])34%'12 H9&5V7W0I,'@S,#<)+RH@;6%J;W(M;6EN;W(@9&5V('=H97)El
M(')O;W0@:6UA9V4@:7,@:V5P=" J+PI8(" *6" @1D]25T%21"!V;VED(&)Uk
M9E]P;V]L*"D["E@@($9/4E=!4D0@=F]I9"!F<U]I;FET*"D["E@J*BHJ*BHJj
M*BHJ*BHJ*BH*6"HJ*B R,S@L,C0T("HJ*BH*6" @("HO"E@@( I8(" @(')Ei
M9VES=&5R('-T<G5C="!B=68@*F)P+" J8G Q.PI8(2 @(&EN="!C;W5N=#L*h
M6" @("!L;VYG(&M?;&]A9&5D.PI8(" @('-T<G5C="!S=7!E<E]B;&]C:R Jg
M<W ["E@@(" @8FQO8VM?;G(@:3L*6"TM+2 R,S@L,C0T("TM+2T*6" @("HOf
M"E@@( I8(" @(')E9VES=&5R('-T<G5C="!B=68@*F)P+" J8G Q.PI8(2 @e
M(&EN="!C;W5N="QL87-T7V)L;V-K.PI8(" @(&QO;F<@:U]L;V%D960["E@@d
M(" @<W1R=6-T('-U<&5R7V)L;V-K("IS<#L*6" @("!B;&]C:U]N<B!I.PI8c
M*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,C@T+#(Y,B J*BHJ"E@@( D)<&%N:6,Hb
M(DEN=F%L:60@<F]O="!F:6QE('-Y<W1E;2(L($Y/7TY532D["E@@(" @?0I8a
M(" @(&-O=6YT(#T@<W M/G-?;GIO;F5S(#P\('-P+3YS7VQO9U]Z;VYE7W-Iz
M>F4["2\J(",@8FQO8VMS(&]N(')O;W0@9&5V("HO"E@A(" @<'5T7V)L;V-Ky
M*&)P+"!&54Q,7T1!5$%?0DQ/0TLI.PI8(2!G;W1?<F]O=%]D978Z"E@A(" @x
M:68@*&-O=6YT(#X@34%87U)!32D@<&%N:6,H(E)!32!D:7-K(&ES('1O;R!Bw
M:6<N(",@8FQO8VMS(#T@(BP@8V]U;G0I.PI8(" @(')A;5]C;&EC:W,@/2!Cv
M;W5N=" J("A"3$]#2U]325I%+T-,24-+7U-)6D4I.PI8(" *6" @(" O*B!4u
M96QL($U-('1H92!O<FEG:6X@86YD('-I>F4@;V8@24Y)5"P@86YD('1H92!At
M;6]U;G0@;V8@;65M;W)Y('5S960@9F]R('1H90I8+2TM(#(X-"PR.3@@+2TMs
M+0I8(" )"7!A;FEC*"));G9A;&ED(')O;W0@9FEL92!S>7-T96TB+"!.3U].r
M54TI.PI8(" @('T*6" @("!C;W5N=" ]('-P+3YS7VYZ;VYE<R \/"!S<"T^q
M<U]L;V=?>F]N95]S:7IE.PDO*B C(&)L;V-K<R!O;B!R;V]T(&1E=B J+PI8p
M(2 *6"$@("!P=71?8FQO8VLH8G L($953$Q?1$%405]"3$]#2RD["E@A(&=Oo
M=%]R;V]T7V1E=CH*6"$@(VEF($5-4PI8(2 @(&QA<W1?8FQO8VL@/2!S<"T^n
M<U]L87-T7V)L;V-K7W=R:71T96X["2\J(",@8FQO8VMS(&]N(')O;W0@9&5Vm
M('1O(&QO860@*B\*6"$@("!I9B H*&QA<W1?8FQO8VL@/B!-05A?4D%-*2!\l
M?" H8V]U;G0@/"!L87-T7V)L;V-K*2D@<&%N:6,H(E)!32!D:7-K(&ES('1Ok
M;R!B:6<N("-B;&]C:W,@/2 B+"!C;W5N="D[( I8(2 C96QS90I8(2 @(&EFj
M("AC;W5N=" ^($U!6%]204TI('!A;FEC*")204T@9&ES:R!I<R!T;V\@8FEGi
M+B C(&)L;V-K<R ]("(L(&-O=6YT*3L*6"$@(V5N9&EF"E@@(" @<F%M7V-Lh
M:6-K<R ](&-O=6YT("H@*$),3T-+7U-)6D4O0TQ)0TM?4TE:12D["E@@( I8g
M(" @("\J(%1E;&P@34T@=&AE(&]R:6=I;B!A;F0@<VEZ92!O9B!)3DE4+"!Af
M;F0@=&AE(&%M;W5N="!O9B!M96UO<GD@=7-E9"!F;W(@=&AE"E@J*BHJ*BHJe
M*BHJ*BHJ*BH*6"HJ*B S,S(L,S,X("HJ*BH*6" @("!I;F]D95LP72YI7VUOd
M9&4@/2!)7T),3T-+7U-014-)04P["2\J('1E;7 @:6YO9&4@9F]R(')A:&5Ac
M9" J+PI8(" @(&EN;V1E6S!=+FE?<VEZ92 ]($U!6%]07TQ/3D<["E@@(" @b
M:6YO9&5;,%TN:5]D978@/2!I;F]D95LP72YI7WIO;F5;,%T@/2!R;V]T7V1Ea
M=FEC93L*6"$@("!F;W(@*&D@/2 P.R!I(#P@8V]U;G0[(&DK*RD@>PI8(" )z
M8G @/2!R86AE860H)FEN;V1E6S!=+" H8FQO8VM?;G(I(&DL("AO9F9?="D@y
M0DQ/0TM?4TE:12 J(&DL"E@@( D)(" @($),3T-+7U-)6D4I.PI8(" )8G Qx
M(#T@9V5T7V)L;V-K*%)/3U1?1$56+"!I+"!.3U]214%$*3L*6"TM+2 S,S@Lw
M,S0X("TM+2T*6" @("!I;F]D95LP72YI7VUO9&4@/2!)7T),3T-+7U-014-)v
M04P["2\J('1E;7 @:6YO9&4@9F]R(')A:&5A9" J+PI8(" @(&EN;V1E6S!=u
M+FE?<VEZ92 ]($U!6%]07TQ/3D<["E@@(" @:6YO9&5;,%TN:5]D978@/2!It
M;F]D95LP72YI7WIO;F5;,%T@/2!R;V]T7V1E=FEC93L*6"$@(VEF($5-4PI8s
M(2 @(&9O<B H:2 ](# [(&D@/#T@;&%S=%]B;&]C:SL@:2LK*2!["2\J(&]Nr
M;'D@;&]A9"!T:&4@=W)I='1E;B!B;&]C:W,A("HO"E@A("-E;'-E"0I8(2 @q
M(&9O<B H:2 ](# [(&D@/"!C;W5N=#L@:2LK*2!["E@A("-E;F1I9@I8(" )p
M8G @/2!R86AE860H)FEN;V1E6S!=+" H8FQO8VM?;G(I(&DL("AO9F9?="D@o
M0DQ/0TM?4TE:12 J(&DL"E@@( D)(" @($),3T-+7U-)6D4I.PI8(" )8G Qn
M(#T@9V5T7V)L;V-K*%)/3U1?1$56+"!I+"!.3U]214%$*3L*+PIE8VAO('@@m
M+2!S=7!E<BYH+F-D:68*<V5D("<O7E@O<R\O+R<@/B!S=7!E<BYH+F-D:68@l
M/#P@)R\G"E@J*BH@+W5S<B]S<F,O,2XU7V)A<V4O9G,O<W5P97(N: E7960@k
M1&5C(#(W(#(S.C(Q.C(W(#$Y.#D*6"TM+2!S=7!E<BYH"5-U;B!$96,@,S$@j
M,30Z,3$Z,S @,3DX.0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,S@L-#,@*BHJi
M*@I8+2TM(#,X+#0T("TM+2T*6" @("!T:6UE7W0@<U]T:6UE.PD)+RH@=&EMh
M92!O9B!L87-T('5P9&%T92 J+PI8(" @(&-H87(@<U]R9%]O;FQY.PD)+RH@g
M<V5T('1O(#$@:69F(&9I;&4@<WES(&UO=6YT960@<F5A9"!O;FQY("HO"E@@f
M(" @8VAA<B!S7V1I<G0["0D)+RH@0TQ%04X@;W(@1$E25%D@*B\*6"L@("!Ue
M;G-H;W)T('-?;&%S=%]B;&]C:U]W<FET=&5N.PDO*B!T:&4@8FQO8VL@;G5Md
M8F5R(&]F('1H92!L87-T(&)L;V-K('=R:71T96X@8GD@;6MF<R J+PI8("!]c
M('-U<&5R7V)L;V-K6TY27U-54$524UT["E@@( I8(" C9&5F:6YE($Y)3%]3b
M55!%4B H<W1R=6-T('-U<&5R7V)L;V-K("HI(# *+PIE8VAO('@@+2!M:V9Sa
M+F,N8V1I9@IS960@)R]>6"]S+R\O)R ^(&UK9G,N8RYC9&EF(#P\("<O)PI8z
M*BHJ("]U<W(O<W)C+S$N-5]B87-E+V-O;6UA;F1S+VUK9G,N8PE7960@2F%Ny
M(" S(#$R.C(V.C4P(#$Y.3 *6"TM+2 N+B]C;VUM86YD<R]M:V9S+F,)5V5Dx
M($IA;B @,R Q,SHU-CHU." Q.3DP"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Vw
M,2PV-R J*BHJ"E@@("-E;F1I9@I8(" *6" @"E@A(&EN="!N97AT7WIO;F4Lv
M(&YE>'1?:6YO9&4L('IO;F5?<VEZ92P@>F]N95]S:&EF=" ](# L('IO9F8Lu
M(&YR8FQO8VMS+"!I;F]D95]O9F9S970L(&YR:6YO9&5S+"!L8W0@/2 Q+"!Dt
M:7-K+"!F9"P@<')I;G0@/2 P+"!F:6QE(#T@,"P@;W9E<G)I9&4@/2 P+"!Ss
M:6UP;&4@/2 P+"!D9FQA9SL*6" @:6YT(&1O;G1T97-T.PD)"2\J('-K:7 @r
M=&5S="!I9B!I="!F:71S(&]N(&UE9&EU;2 J+PI8(" *6" @;&]N9R!C=7)Rq
M96YT7W1I;64L(&)I;E]T:6UE.PI8+2TM(#8Q+#8Y("TM+2T*6" @(V5N9&EFp
M"E@@( I8(" *6"$@:6YT(&YE>'1?>F]N92P@;F5X=%]I;F]D92P@>F]N95]So
M:7IE+"!Z;VYE7W-H:69T(#T@,"P@>F]F9BP@;G)B;&]C:W,L(&UD8FQO8VMSn
M+ I8(2 @(" @;&)L;V-K/3 L(&EN;V1E7V]F9G-E="P@;G)I;F]D97,L(&QCm
M=" ](#$L(&1I<VLL(&9D+"!P<FEN=" ](# L(&9I;&4@/2 P+ I8(2 @(" @l
M;W9E<G)I9&4@/2 P+"!S:6UP;&4@/2 P+"!D9FQA9SL*6" @:6YT(&1O;G1Tk
M97-T.PD)"2\J('-K:7 @=&5S="!I9B!I="!F:71S(&]N(&UE9&EU;2 J+PI8j
M(" *6" @;&]N9R!C=7)R96YT7W1I;64L(&)I;E]T:6UE.PI8*BHJ*BHJ*BHJi
M*BHJ*BHJ"E@J*BH@.#(L.#@@*BHJ*@I8("!I;G0@87)G8SL*6" @8VAA<B Jh
M87)G=EM=.PI8("!["E@A(" @:6YT(&DL(&)L;V-K<RP@>F]N97,L(&EN;V1Eg
M<RP@;6]D92P@=7-R:60L(&=R<&ED+"!B861U<V%G92 ](# ["E@@(" @8VAAf
M<B J=&]K96Y;34%87U1/2T5.4UTL(&QI;F5;3$E.15],14Y=.PI8(" @($9)e
M3$4@*F9O<&5N*"D["E@@(" @;&]N9R!T:6UE*"DL(&QS.PI8+2TM(#@T+#DPd
M("TM+2T*6" @:6YT(&%R9V,["E@@(&-H87(@*F%R9W9;73L*6" @>PI8(2 @c
M(&EN="!I+"!B;&]C:W,L(&UE9&EA7V)L;V-K<RP@>F]N97,L(&EN;V1E<RP@b
M;6]D92P@=7-R:60L(&=R<&ED+"!B861U<V%G92 ](# ["E@@(" @8VAA<B Ja
M=&]K96Y;34%87U1/2T5.4UTL(&QI;F5;3$E.15],14Y=.PI8(" @($9)3$4@z
M*F9O<&5N*"D["E@@(" @;&]N9R!T:6UE*"DL(&QS.PI8*BHJ*BHJ*BHJ*BHJy
M*BHJ"E@J*BH@,30V+#$U,2 J*BHJ"E@M+2T@,30X+#$U." M+2TM"E@@( D)x
M"6EF("AB;&]C:W,@/B!.7T),3T-+4RD*6" @"0D)"7!E>&ET*")";&]C:R!Cw
M;W5N="!T;V\@;&%R9V4B*3L*6" @"0D):6YO9&5S(#T@871O:2AT;VME;ELQv
M72D["E@K( D)"6EF("AT;VME;ELR72D@>PI8*R )"0D);65D:6%?8FQO8VMSu
M(#T@871O:2AT;VME;ELR72D["E@K( D)"7T@96QS92!["E@K( D)"0EM961It
M85]B;&]C:W,@/2!B;&]C:W,["E@K( D)"7T*6" @"E@@( D)"2\J(%!R;V-Es
M<W,@;6]D92!L:6YE(&9O<B!R;V]T(&1I<F5C=&]R>2X@*B\*6" @"0D)9V5Tr
M;&EN92AL:6YE+"!T;VME;BD["E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Q-3<Lq
M,38S("HJ*BH*6" @"E@@( D)"2\J($UA>6)E('1H92!P<F]T;W1Y<&4@9FELp
M92!I<R!J=7-T(&$@<VEZ92X*6" @"0D)("H@0VAE8VL@9F]R('1H870N("HOo
M"E@A( D)"6)L;V-K<R ](&%T;VDH87)G=EMA<F=C72D["E@@( D)"6EF("ABn
M;&]C:W,@/" T*2!P97AI="@B0V%N)W0@;W!E;B!P<F]T;W1Y<&4@9FEL92(Im
M.PI8(" *6" @"0D)+RH@3VLL(&UA:V4@<VEM<&QE(&9I;&4@<WES=&5M(&]Fl
M(&=I=F5N('-I>F4L"E@M+2T@,38T+#$W,B M+2TM"E@@( I8(" )"0DO*B!-k
M87EB92!T:&4@<')O=&]T>7!E(&9I;&4@:7,@:G5S="!A('-I>F4N"E@@( D)j
M"2 J($-H96-K(&9O<B!T:&%T+B J+PI8(2 *6"$@"0D)8FQO8VMS(#T@871Oi
M:2AA<F=V6V%R9V-=*3L*6"$@"0D);65D:6%?8FQO8VMS(#T@8FQO8VMS.PI8h
M(" )"0EI9B H8FQO8VMS(#P@-"D@<&5X:70H(D-A;B=T(&]P96X@<')O=&]Tg
M>7!E(&9I;&4B*3L*6" @"E@@( D)"2\J($]K+"!M86ME('-I;7!L92!F:6QEf
M('-Y<W1E;2!O9B!G:79E;B!S:7IE+ I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@e
M,3<U+#$X," J*BHJ"E@M+2T@,3@T+#$Y," M+2TM"E@@( D)<W!E8VEA;"AAd
M<F=V6V%R9V-=*3L*6" @"E@@( D);G)B;&]C:W,@/2!B;&]C:W,["E@K( D)c
M;61B;&]C:W,@/2!M961I85]B;&]C:W,["E@@( D);G)I;F]D97,@/2!I;F]Db
M97,["E@@( E]"0D)+RH@96YD('-W:71C:" J+PI8(" @('T)"0D)+RH@96YDa
M('=H:6QE("HO"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Q.#8L,C T("HJ*BH*z
M6" @"7-T871I8R!S:&]R="!T97-T8EM"3$]#2U]325I%("\@<VEZ96]F*'-Hy
M;W)T*5T["E@@( I8(" )+RH@5')Y('=R:71I;F<@=&AE(&QA<W0@8FQO8VL@x
M;V8@<&%R=&ET:6]N(&]R(&1I<VME='1E+B J+PI8(2 );',@/2!L<V5E:RAFw
M9"P@*"AL;VYG*2!B;&]C:W,@+2 Q3"D@*B!"3$]#2U]325I%+"!3145+7U-%v
M5"D["E@@( ET97-T8ELP72 ](#!X,S(T-3L*6" @"71E<W1B6S%=(#T@,'@Qu
M,49&.PI8(" ):68@*'=R:71E*&9D+"!T97-T8BP@0DQ/0TM?4TE:12D@(3T@t
M0DQ/0TM?4TE:12D*6" @"0EP97AI="@B1FEL92!S>7-T96T@:7,@=&]O(&)Is
M9R!F;W(@;6EN;W(@9&5V:6-E(BD["E@@( ES>6YC*"D["0D)+RH@9FQU<V@@r
M=W)I=&4L('-O(&EF(&5R<F]R(&YE>'0@<F5A9"!F86EL<R J+PI8(2 );'-Eq
M96LH9F0L("@H;&]N9RD@8FQO8VMS("T@,4PI("H@0DQ/0TM?4TE:12P@4T5%p
M2U]3150I.PI8(" )=&5S=&);,%T@/2 P.PI8(" )=&5S=&);,5T@/2 P.PI8o
M(" ):2 ](')E860H9F0L('1E<W1B+"!"3$]#2U]325I%*3L*6" @"6EF("AIn
M("$]($),3T-+7U-)6D4@?'P@=&5S=&);,%T@(3T@,'@S,C0U('Q\('1E<W1Bm
M6S%=("$](#!X,3%&1BD*6" @"0EP97AI="@B1FEL92!S>7-T96T@:7,@=&]Ol
M(&)I9R!F;W(@;6EN;W(@9&5V:6-E(BD["E@A( EL<V5E:RAF9"P@*"AL;VYGk
M*2!B;&]C:W,@+2 Q3"D@*B!"3$]#2U]325I%+"!3145+7U-%5"D["E@@( ETj
M97-T8ELP72 ](# ["E@@( ET97-T8ELQ72 ](# ["E@@( EI9B H=W)I=&4Hi
M9F0L('1E<W1B+"!"3$]#2U]325I%*2 A/2!"3$]#2U]325I%*0I8+2TM(#$Yh
M-BPR,30@+2TM+0I8(" )<W1A=&EC('-H;W)T('1E<W1B6T),3T-+7U-)6D4@g
M+R!S:7IE;V8H<VAO<G0I73L*6" @"E@@( DO*B!4<GD@=W)I=&EN9R!T:&4@f
M;&%S="!B;&]C:R!O9B!P87)T:71I;VX@;W(@9&ES:V5T=&4N("HO"E@A( ELe
M<R ](&QS965K*&9D+" H*&QO;F<I(&UE9&EA7V)L;V-K<R M(#%,*2 J($),d
M3T-+7U-)6D4L(%-%14M?4T54*3L*6" @"71E<W1B6S!=(#T@,'@S,C0U.PI8c
M(" )=&5S=&);,5T@/2 P>#$Q1D8["E@@( EI9B H=W)I=&4H9F0L('1E<W1Bb
M+"!"3$]#2U]325I%*2 A/2!"3$]#2U]325I%*0I8(" )"7!E>&ET*")&:6QEa
M('-Y<W1E;2!I<R!T;V\@8FEG(&9O<B!M:6YO<B!D979I8V4B*3L*6" @"7-Yz
M;F,H*3L)"0DO*B!F;'5S:"!W<FET92P@<V\@:68@97)R;W(@;F5X="!R96%Dy
M(&9A:6QS("HO"E@A( EL<V5E:RAF9"P@*"AL;VYG*2!M961I85]B;&]C:W,@x
M+2 Q3"D@*B!"3$]#2U]325I%+"!3145+7U-%5"D["E@@( ET97-T8ELP72 ]w
M(# ["E@@( ET97-T8ELQ72 ](# ["E@@( EI(#T@<F5A9"AF9"P@=&5S=&(Lv
M($),3T-+7U-)6D4I.PI8(" ):68@*&D@(3T@0DQ/0TM?4TE:12!\?"!T97-Tu
M8ELP72 A/2 P>#,R-#4@?'P@=&5S=&);,5T@(3T@,'@Q,49&*0I8(" )"7!Et
M>&ET*")&:6QE('-Y<W1E;2!I<R!T;V\@8FEG(&9O<B!M:6YO<B!D979I8V4Bs
M*3L*6"$@"6QS965K*&9D+" H*&QO;F<I(&UE9&EA7V)L;V-K<R M(#%,*2 Jr
M($),3T-+7U-)6D4L(%-%14M?4T54*3L*6" @"71E<W1B6S!=(#T@,#L*6" @q
M"71E<W1B6S%=(#T@,#L*6" @"6EF("AW<FET92AF9"P@=&5S=&(L($),3T-+p
M7U-)6D4I("$]($),3T-+7U-)6D4I"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Ro
M,C$L,C,Q("HJ*BH*6" @("!R;V]T9&ER*&DI.PI8(" @(&EF("AS:6UP;&4@n
M/3T@,"D@96%T7V1I<BAI*3L*6" @"E@@(" @:68@*'!R:6YT*2!P<FEN=%]Fm
M<R@I.PI8(" @(&9L=7-H*"D["E@@(" @97AI="@P*3L*6" @"E@M( I8("!]l
M"0D)"2\J(&5N9"!M86EN("HO"E@@( I8(" *6"TM+2 R,S$L,C0Q("TM+2T*k
M6" @("!R;V]T9&ER*&DI.PI8(" @(&EF("AS:6UP;&4@/3T@,"D@96%T7V1Ij
M<BAI*3L*6" @"E@K(" @=7!D871E7W-U<&5R*"D["0DO*B!U<&1A=&4@=&AEi
M(&QA<W0@8FQO8VL@=W)I='1E;B!F:65L9"!I;B!S=7!E<B!B;&]C:R J+PI8h
M(" @(&EF("AP<FEN="D@<')I;G1?9G,H*3L*6" @("!F;'5S:"@I.PI8(" @g
M(&5X:70H,"D["E@@( I8("!]"0D)"2\J(&5N9"!M86EN("HO"E@@( I8(" *f
M6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#(V-"PR-CD@*BHJ*@I8+2TM(#(W-"PRe
M.#$@+2TM+0I8(" @('IO(#T@-TP@*R H;&]N9RD@3E)?24Y$25)%0U13"E@@d
M( DK("AL;VYG*2!.4E])3D1)4D5#5%,@*DY27TE.1$E214-44SL*6" @("!Sc
M=7 M/G-?;6%X7W-I>F4@/2!Z;R J($),3T-+7U-)6D4["E@K(" @;&)L;V-Kb
M(" @(" @(" @(#T@:6YI=&)L:W,["E@K(" @<W5P+3YS7VQA<W1?8FQO8VM?a
M=W)I='1E;B ](&QB;&]C:SL*6" @("!Z;VYE7W-I>F4@/2 Q(#P\('IO;F5?z
M<VAI9G0["2\J(&YR(&]F(&)L;V-K<R!P97(@>F]N92 J+PI8(" *6" @("!Fy
M;W(@*&-P(#T@8G5F("L@<VEZ96]F*"IS=7 I.R!C<" \("9B=69;0DQ/0TM?x
M4TE:15T[(&-P*RLI("IC<" ](# ["E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Sw
M,3DL,S0U("HJ*BH*6" @"E@@( I8(" *6"$@"E@A("\J/3T]/3T]/3T]/3T]v
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]u
M/3T]/3T]/0I8(2 @*B @(" @(" @(" @(" @<F]O=&1I<B @+2 @:6YS=&%Lt
M;"!T:&4@<F]O="!D:7)E8W1O<GD*6"$@("H]/3T]/3T]/3T]/3T]/3T]/3T]s
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3TJr
M+PI8(2 *6"$@<F]O=&1I<BAI;F]D92D*6"$@:6YT(&EN;V1E.PI8(2!["E@Aq
M(" @:6YT('H["E@A( I8(2 @('H@/2!A;&QO8U]Z;VYE*"D["E@A(" @861Dp
M7WIO;F4H:6YO9&4L('HL(#,R3"P@8W5R<F5N=%]T:6UE*3L*6"$@("!E;G1Eo
M<E]D:7(H:6YO9&4L("(N(BP@:6YO9&4I.PI8(2 @(&5N=&5R7V1I<BAI;F]Dn
M92P@(BXN(BP@:6YO9&4I.PI8(2 @(&EN8W)?;&EN:RAI;F]D92D["E@A(" @m
M:6YC<E]L:6YK*&EN;V1E*3L*6" @?0I8(" *6" @"E@@( I8(" *6" @"E@@l
M("\J/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]k
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0I8(" @*@D@(" @96%T7V1I<B @+2 @j
M<F5C=7)S:79E;'D@:6YS=&%L;"!D:7)E8W1O<GD*6"TM+2 S,S$L,S<T("TMi
M+2T*6" @"E@@( I8(" *6"$@+RH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]h
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"E@A(" Jg
M(" @(" @(" @(" @("!U<&1A=&5?<W5P97(@("T@('5P9&%T92!L87-T(&)Lf
M;V-K(&9I96QD"E@A(" J/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]e
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]*B\*6"$@"E@A('5Pd
M9&%T95]S=7!E<B@I"E@A('L*6"$@("!S=')U8W0@<W5P97)?8FQO8VL@*G-Uc
M<#L*6"$@("!C:&%R(&)U9EM"3$]#2U]325I%73L*6"$@"E@A(" @9V5T7V)Lb
M;V-K("@@,2P@8G5F*3L)"0DO*B!R96%D('1H92!S=7!E<B!B;&]C:R J+PI8a
M(2 @('-U<#T@*'-T<G5C="!S=7!E<E]B;&]C:R J*2!B=68["0I8(2 @('-Uz
M<"T^<U]L87-T7V)L;V-K7W=R:71T96X@/2!N97AT7WIO;F4[("\J('1H96X@y
M=7!D871E('1H92!L87-T(&)L;V-K(&9I96QD("HO"E@A(" @<'5T7V)L;V-Kx
M("@Q+&)U9BD["0D)+RH@=&AE;B!W<FET92!T:&4@<W5P97(@8FQO8VL@;W5Tw
M("HO"E@@('T*6" @"E@@( I8(" *6" @"E@K("\J/3T]/3T]/3T]/3T]/3T]v
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]u
M/3T]/0I8*R @*B @(" @(" @(" @(" @<F]O=&1I<B @+2 @:6YS=&%L;"!Tt
M:&4@<F]O="!D:7)E8W1O<GD*6"L@("H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]s
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3TJ+PI8r
M*R *6"L@<F]O=&1I<BAI;F]D92D*6"L@:6YT(&EN;V1E.PI8*R!["E@K(" @q
M:6YT('H["E@K( I8*R @('H@/2!A;&QO8U]Z;VYE*"D["E@K(" @861D7WIOp
M;F4H:6YO9&4L('HL(#,R3"P@8W5R<F5N=%]T:6UE*3L*6"L@("!E;G1E<E]Do
M:7(H:6YO9&4L("(N(BP@:6YO9&4I.PI8*R @(&5N=&5R7V1I<BAI;F]D92P@n
M(BXN(BP@:6YO9&4I.PI8*R @(&EN8W)?;&EN:RAI;F]D92D["E@K(" @:6YCm
M<E]L:6YK*&EN;V1E*3L*6"L@?0I8*R *6"L@"E@K( I8*R *6" @"E@@("\Jl
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]k
M/3T]/3T]/3T]/3T]/3T]/3T]/0I8(" @*@D@(" @96%T7V1I<B @+2 @<F5Cj
M=7)S:79E;'D@:6YS=&%L;"!D:7)E8W1O<GD*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8i
M*BHJ(#$Q-38L,3$U." J*BHJ"E@M+2T@,3$X-2PQ,3@X("TM+2T*6" @?0I8h
3(" *6" @(V5N9&EF"E@K( HO"E@Mg
 f
end
--------------------------------
Peter Van Epp / Peter_Van_Epp@cc.sfu.ca