Subject: kern/5354: File system corruption
To: None <gnats-bugs@gnats.netbsd.org>
From: George E. Navas <navas@nas.nasa.gov>
List: netbsd-bugs
Date: 04/22/1998 18:12:16
>Number:         5354
>Category:       kern
>Synopsis:       File system corruption
>Confidential:   yes
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 22 18:20:00 1998
>Last-Modified:
>Originator:     George E. Navas
>Organization:
	Nasa Ames Research Center
	navas@nas.nasa.gov (650) 604-1930
>Release:        1.3_ALPHA
>Environment:
NetBSD caves NAStore_(1.3_ALPHA) NetBSD NAStore_(1.3_ALPHA) (MSS3) #16: Wed Mar 25 19:29:23 PST 1998 newhouse@caves:/usr/src/sys/arch/i386/compile/MSS3 i386

NetBSD legbreak 1.3E NetBSD 1.3E (MSS3UVM) #2: Thu Apr 16 10:40:03 PDT 1998     navas@legbreak:/usr/src/sys/arch/i386/compile/MSS3UVM i386

NetBSD ursula.nas.nasa.gov NAStore_(1.3_ALPHA) NetBSD NAStore_(1.3_ALPHA) (MSS3) #2: Wed Apr 15 17:51:25 PDT 1998     mjacob@jules.nas.nasa.gov:/space/NetBSD-mss3/src/sys/arch/alpha/compile/MSS3 alpha

>Description:

It appears that the NetBSD system has a serious file system 
corruption problem, which can be recreated easily with two
very simple programs included here. The programs can re-created 
file system corruption on the following platforms:

Hardware
Platform	NetBSD Version				Disk Drive

Alpha 		NetBSD ursula_(1.3_ALPHA) 		scsi
I386		NetBSD legbreak 1.3E  with UVM        	scsi
I386		NetBSD wicket NAStore_(1.3_ALPHA)	IDE 

Although the enclosed  programs were not run under an I386 NetBSD 1.2C
system, it is believed that the problem can also be reproduced in 1.2C. The
reason for this assumption is that a similar internal program called havoc found
very similar file system corruption under a 1.2C environment.

It appears that when several simultaneously pids are started to excersice 
the file system, the NetBSD system is erroneously writing the wrong data to 
disk. The test shows that the contents of a pid's I/O buffer is written to 
a file of a different pid. So far the corruption appears to be in 1024 byte
boundaries as follows:

	6144 byte block corruption found 
	4096 byte block corruption found
	8192 byte block corruption found 

The corruption was sucessfully re-created using the following
types of file systems:

	File system Size 	fsize  	bsize  #of pids     size of each file

	100 meg			4096	32768	16		6 megs
	100 meg			8192	32768	16		6 megs
	3.5 gig file system	8192 	32768	45		64 megs
	1.2 gig file system	8192 	32768	16		64 megs

An attempt was made to re-create the corruption using an fsize of 
16384, but NetBSD crashes with "fatal page fault in supervisor mode"
when the file system is mounted. This is a different issue, which will
be reported under a different PR. 

Enclosed below you will find an uuencoded tar file that contains
4 files as follows:

	Makefile
	writeit.c 
	checkit.c
	testit

If you un-tar the files and perform a make, the following two executables
are generated:

	writeit
	checkit

The program writeit is a very simple programs that writes data to 
a disk file, and can be invoked as follows:

	writeit -f pattern -s size -o output_file

	where:

	-f pattern 
	   'pattern' is a character string that will be used to a fill a
	   buffer. For example, '-f 10' means the file will be filled
	   with the characters '10'. The string should be specified as
	   1 character long or evenly divisiable into 64512. 

	-s size 
	   Specifies the size of the file to write. It can be specified
	   with the trailing letter 'm' to specify the value in megabytes.
	   For example, if you specify '-s 6m' the program will write 
	   6 megabyte file. 

	-o output_file
	   Specifies the name of the output file. 


The program 'checkit' is used to verify the data written to disk. It uses
the same parameters as the writeit program except that instead of the 
specifying the output file with the '-o' parameter it is specified as an
input file with the '-i' paramater. For example, the following two statements 
will write a 6 megabyte file with the characters '2', and validate the same
file by reading the 6 megabytes from disk. 

	writeit -f 2 -s 6m -o file.2
	checkit -f 2 -s 6m -i file.2


The file 'testit' is a shell script file that executes
several 'writeit' programs at once by placing them on the background.
It then waits for each to complete and invokes checkit to see if
the contents of each file was sucessfully written to disk. 

The 'testit' program requires one parameter, which is a name of
working directory to be used to write the individual files. 
This is the script that was used to re-create the problem. 
For example, if a 100 megabyte file system is created, the current
testit script should re-create the corruption in a few minutes. When
the corruption is detected, the script stops and logs the name of the
file that encountered the corruption in the file called writeit.log. 
To see where the corruption occurs, do a checkit against the 
reported file. 

For example, if the writeit.log file states that the corruption 
occurred on file.6 and the file was 6 megabytes, the following 
command will display the corruption:

	checkit -f 6 -s 6m -i xxx/file.6 

Please address any questions or suggestions to 
	navas@nas.nasa.gov


George Navas

--------------------------------------------------------------------------

begin 644 breakit_tar
M8G)E86MI="\`````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````"`T,#<U-2``("`S-34Q(``@("`@,C0@`"`@("`@("`@("`P
M("`V-3$W,C`S-3,Q("`Q,3`U-``@-0``````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````!U<W1A<B`@`&YA=F%S
M````````````````````````````````````<W1A9F8`````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````!B<F5A:VET+W=R:71E:70N8P``````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````,3`P-C0T(``@(#,U-3$@`"`@
M("`R-"``("`@("`@(#0R-S<@(#8U,3<R,#$Q-34@(#$S,#$V`"`P````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````'5S=&%R("``;F%V87,```````````````````````````````````!S
M=&%F9@``````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````"-I;F-L=61E(#QS
M=&1I;RYH/@HC:6YC;'5D92`\8W1Y<&4N:#X*(VEN8VQU9&4@/&5R<FYO+F@^
M"B-I;F-L=61E(#QS>7,O='EP97,N:#X*(VEN8VQU9&4@/&9C;G1L+F@^"B-I
M;F-L=61E(#QS=&1L:6(N:#X*(VEN8VQU9&4@/'-T<FEN9RYH/@H*(V1E9FEN
M92!+(#$P,C0*"FEN="!B=69L96X@/2`V,R`J($L["0DO*B!L96YG=&@@;V8@
M8G5F9F5R("HO"F-H87(@*F)U9CL)"0DO*B!P='(@=&\@9'EN86UI8R!B=69F
M97(@*B\*"FEN="!B=69O9F9S970@/2`P.PD)+RH@86QI9VX@8G5F9F5R('1O
M('1H:7,@*B\*"F-H87(@*F]F:6QE(#T@(FAU9V5&:6QE(CL*"FEN="!O9FQA
M9SL*:6YT(&9L=7-H(#T@,#L*:6YT(&EN:71B=68@/2`Q.PH*8VAA<B`J<F%N
M9&)U9CL*"F5X=&5R;B!I;G0@;W!T:6YD.PIE>'1E<FX@8VAA<B`J;W!T87)G
M.PH*;6%I;BAA<F=C+&%R9W8I"FEN="!A<F=C.PIC:&%R("HJ87)G=CL*>PH)
M:6YT(&,["@EI;G0@<F,],#L*"6EN="!F9#L*"6EN="!O<'1A<F=L96X["@EI
M;G0@9FEL96QE;BP@9FEL96UA>&QE;BP@=W)O=&4L(&UI;G=R:71E+"!M87AW
M<FET93L*"6-H87(@9FEL;%]C:&%R6S(U-ET["@H)=VAI;&4@*"AC(#T@9V5T
M;W!T*&%R9V,L(&%R9W8L(")F.G,Z;SHB*2D@(3T@+3$I"@D)<W=I=&-H("AC
M*2!["@D)("!C87-E("=F)SH*"0D)<W1R8W!Y*"!F:6QL7V-H87(L(&]P=&%R
M9RD["@D)"6)R96%K.PH*"0D@(&-A<V4@)V\G.@H)"0EO9FQA9RLK.PH)"0EO
M9FEL92`](&]P=&%R9SL*"0D)8G)E86L["@H)"2`@8V%S92`G<R<Z"@D)"69I
M;&5M87AL96X@/2!A=&]I*&]P=&%R9RD["@D)"6]P=&%R9VQE;B`]('-T<FQE
M;BAO<'1A<F<I.PH)"0EI9B`H:7-A;'!H82AO<'1A<F=;;W!T87)G;&5N+3%=
M*2E["@D)"0ES=VET8V@@*&]P=&%R9UMO<'1A<F=L96XM,5TI('L*"0D)"2`@
M8V%S92`G8B<Z"@D)"0D)9FEL96UA>&QE;B`J/2`U,3(["@D)"0D)8G)E86L[
M"@D)"0D@(&-A<V4@)VLG.@H)"0D)("!C87-E("=+)SH*"0D)"0EF:6QE;6%X
M;&5N("H]("AL;VYG(&QO;F<I2SL*"0D)"0EB<F5A:SL*"0D)"2`@8V%S92`G
M;2<Z"@D)"0D@(&-A<V4@)TTG.@H)"0D)"69I;&5M87AL96X@*CT@*&QO;F<@
M;&]N9RDH2RI+*3L*"0D)"0EB<F5A:SL*"0D)"7T*"0D)?0H)"0EB<F5A:SL*
M"0E]"@D*"2\J"@D@*B!!;&QO8V%T92!B=69F97(@<VEZ92`@"@D@*B\*("`@
M"@EI9B`H*&)U9B`]("AC:&%R("HI;6%L;&]C*&)U9FQE;BDI(#T]("AC:&%R
M("HI3E5,3"D@>PH)"7!E<G)O<B@B;6%L;&]C(BD["@D)97AI="@Q*3L*"7T*
M"@ER86YD8G5F(#T@8G5F.PH*"2\J"@D@*B!&:6QL('1H92!B=69F97(@=VET
M:"!T:&4@8VAA<F%C=&5R<R!S<&5C:69I960@:6X@=&AE("UF"@D@*B!F;&%G
M"@D@*B\*"@EW:&EL92`H<F%N9&)U9B`\/2`H("AB=68@*R`H;&]N9RD@8G5F
M;&5N*2`M('-T<FQE;BAF:6QL7V-H87(I*2`I>PH@("`@("`@("`@("`@("`@
M<W1R8W!Y*"AC:&%R("HI<F%N9&)U9BP@*&-H87(@*BD@9FEL;%]C:&%R*3L*
M("`@("`@("`@("`@("`@(')A;F1B=68@/2!R86YD8G5F("L@<W1R;&5N*&9I
M;&Q?8VAA<BD["B`@("`@("`@?2`@("`@("`@("`@("`@(`H*"6EF("@H9F0@
M/2!O<&5N*&]F:6QE+"`H3U]21%=2?$]?0U)%050I+"`P-C0T*2D@/"`P*2![
M"@D@("`@<&5R<F]R*")O<&5N(BD["@D@("`@9G!R:6YT9BAS=&1E<G(L(D]P
M96X@9F%I;&5D(&9O<B!<(B5S7")<;B(L(&]F:6QE*3L*"2`@("!E>&ET*#$I
M.PH)?0H*"6UI;G=R:71E(#T@8G5F;&5N.PH);6%X=W)I=&4@/2`P.PH)9FEL
M96QE;B`](#`["@H)=VAI;&4@*"AF:6QE;&5N(#P@9FEL96UA>&QE;BD@*7L*
M"0EI9B`H*&9I;&5L96X@*R!B=69L96XI(#X@9FEL96UA>&QE;BD@>PH)"0EB
M=69L96X@/2!F:6QE;6%X;&5N("T@9FEL96QE;CL*"0E]"@D):68@*&)U9FQE
M;B`^(&UA>'=R:71E*0H)"0EM87AW<FET92`](&)U9FQE;CL*"0EI9B`H8G5F
M;&5N(#P@;6EN=W)I=&4I"@D)"6UI;G=R:71E(#T@8G5F;&5N.PH*"0EW<F]T
M92`]('=R:71E*&9D+"!B=68L(&)U9FQE;BD["@D):68@*'=R;W1E("$](&)U
M9FQE;BD@>PH)"0EP97)R;W(H(G=R:71E(BD["B`@"0D)9G!R:6YT9BAS=&1E
M<G(L(")!<VME9"!T;R!W<FET92`E9"P@=W)O=&4@)61<;B(L"@D)"0EB=69L
M96XL('=R;W1E*3L@"@D)"7)C(#T@14E/.PH)"0EB<F5A:SL*"0E]"@D):68@
M*'=R;W1E(#X](#`I"@D)"69I;&5L96X@*ST@=W)O=&4["@E]"@EC;&]S92AF
M9"D["@D@("`@"@EE>&ET*')C*3L*?0H`````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````!B<F5A:VET+V-H96-K:70N
M8P``````````````````````````````````````````````````````````
M````````````````````````````````````````````````````,3`P-C0T
M(``@(#,U-3$@`"`@("`R-"``("`@("`@(#8P-C`@(#8U,3<R,#$S-3,@(#$R
M-S,Q`"`P````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````'5S=&%R("``;F%V87,`````````````````````
M``````````````!S=&%F9@``````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`"-I;F-L=61E(#QS=&1I;RYH/@HC:6YC;'5D92`\8W1Y<&4N:#X*(VEN8VQU
M9&4@/&5R<FYO+F@^"B-I;F-L=61E(#QS>7,O='EP97,N:#X*(VEN8VQU9&4@
M/&9C;G1L+F@^"B-I;F-L=61E(#QS=&1L:6(N:#X*(VEN8VQU9&4@/'-T<FEN
M9RYH/@H*"B-D969I;F4@2R`Q,#(T"@II;G0@8G5F;&5N(#T@-C,@*B!+.PD)
M+RH@;&5N9W1H(&]F(&)U9F9E<B`J+PIC:&%R("IB=68["0D)+RH@<'1R('1O
M(&1Y;F%M:6,@8G5F9F5R("HO"F-H87(@*F)U9C(["0D)+RH@<'1R('1O(&1Y
M;F%M:6,@8G5F9F5R("HO"@II;G0@8G5F;V9F<V5T(#T@,#L)"2\J(&%L:6=N
M(&)U9F9E<B!T;R!T:&ES("HO"@IC:&%R("II9FEL92`](")H=6=E1FEL92([
M"@II;G0@:69L86<["FEN="!F;'5S:"`](#`["FEN="!I;FET8G5F(#T@,3L*
M"F-H87(@*G)A;F1B=68["@IE>'1E<FX@:6YT(&]P=&EN9#L*97AT97)N(&-H
M87(@*F]P=&%R9SL*"FUA:6XH87)G8RQA<F=V*0II;G0@87)G8SL*8VAA<B`J
M*F%R9W8["GL*"6EN="!C.PH):6YT(')C/3`["@EI;G0@9F0["@EI;G0@;W!T
M87)G;&5N.PH):6YT(&9I;&5L96XL(&9I;&5M87AL96XL(&)Y=&5S7W)E860L
M(&UI;G=R:71E+"!M87AW<FET93L*"6-H87(@9FEL;%]C:&%R6S(U-ET["@H)
M=VAI;&4@*"AC(#T@9V5T;W!T*&%R9V,L(&%R9W8L(")F.G,Z:3HB*2D@(3T@
M+3$I"@D)<W=I=&-H("AC*2!["@D)("!C87-E("=F)SH*"0D)<W1R8W!Y*&9I
M;&Q?8VAA<BQO<'1A<F<I.PH)"0EB<F5A:SL*"0D@(&-A<V4@)VDG.@H)"0EI
M9FQA9RLK.PH)"0EI9FEL92`](&]P=&%R9SL*"0D)8G)E86L["@H)"2`@8V%S
M92`G<R<Z"@D)"69I;&5M87AL96X@/2!A=&]I*&]P=&%R9RD["@D)"6]P=&%R
M9VQE;B`]('-T<FQE;BAO<'1A<F<I.PH)"0EI9B`H:7-A;'!H82AO<'1A<F=;
M;W!T87)G;&5N+3%=*2E["@D)"0ES=VET8V@@*&]P=&%R9UMO<'1A<F=L96XM
M,5TI('L*"0D)"2`@8V%S92`G8B<Z"@D)"0D)9FEL96UA>&QE;B`J/2`U,3([
M"@D)"0D)8G)E86L["@D)"0D@(&-A<V4@)VLG.@H)"0D)("!C87-E("=+)SH*
M"0D)"0EF:6QE;6%X;&5N("H]("AL;VYG(&QO;F<I2SL*"0D)"0EB<F5A:SL*
M"0D)"2`@8V%S92`G;2<Z"@D)"0D@(&-A<V4@)TTG.@H)"0D)"69I;&5M87AL
M96X@*CT@*&QO;F<@;&]N9RDH2RI+*3L*"0D)"0EB<F5A:SL*"0D)"7T*"0D)
M?0H)"0EB<F5A:SL*"0E]"@D*"2\J"@D@*B!!;&QO8V%T92!T:&4@8G5F9F5R
M('1H870@=V4@=7-E('1O(&-O;7!A<F4@86=A:6YS=`H)("HO"@EI9B`H*&)U
M9B`]("AC:&%R("HI;6%L;&]C*&)U9FQE;BDI(#T]("AC:&%R("HI3E5,3"D@
M>PH)"7!E<G)O<B@B;6%L;&]C(BD["@D)97AI="@Q*3L*"7T*"@DO*@H)("H@
M06QL;V-A=&4@=&AE(&)U9F9E<B!U<V5D('1O(')E860@9G)O;2!D:7-K"@D@
M*B\*"@EI9B`H*&)U9C(@/2`H8VAA<B`J*6UA;&QO8RAB=69L96XI*2`]/2`H
M8VAA<B`J*4Y53$PI('L*"0EP97)R;W(H(FUA;&QO8R(I.PH)"65X:70H,2D[
M"@E]"@H)+RH*"2`J($9I;&P@=&AE(&-O;7!A<F4@8G5F9F5R('=I=&@@=&AE
M(&9I;&P@8VAA<F%C=&5R<R!S<&5C:69I960*"2`J(&EN("UF('!A<FT@"@D@
M*B\*"7)A;F1B=68@/2!B=68["@H)=VAI;&4@*')A;F1B=68@/#T@*"`H8G5F
M("L@8G5F;&5N*2`M('-T<FQE;BAF:6QL7V-H87(I*2`I>PH@("`@("`@("`@
M("`@("`@<W1R8W!Y*"AC:&%R("HI<F%N9&)U9BP@*&-H87(@*BD@9FEL;%]C
M:&%R*3L*("`@("`@("`@("`@("`@(')A;F1B=68@/2!R86YD8G5F("L@<W1R
M;&5N*&9I;&Q?8VAA<BD["B`@("`@("`@?2`@("`@("`@("`@("`@(`H*"6EF
M("@H9F0@/2!O<&5N*&EF:6QE+"!/7U)$3TY,62DI(#P@,"D@>PH)("`@('!E
M<G)O<B@B;W!E;B(I.PH)("`@(&9P<FEN=&8H<W1D97)R+")/<&5N(&9A:6QE
M9"!F;W(@7"(E<UPB7&XB+"!I9FEL92D["@D@("`@97AI="@Q*3L*"7T*"@EM
M:6YW<FET92`](&)U9FQE;CL*"6UA>'=R:71E(#T@,#L*"69I;&5L96X@/2`P
M.PH*"7=H:6QE("@H9FEL96QE;B`\(&9I;&5M87AL96XI("E["@D):68@*"AF
M:6QE;&5N("L@8G5F;&5N*2`^(&9I;&5M87AL96XI('L*"0D)8G5F;&5N(#T@
M9FEL96UA>&QE;B`M(&9I;&5L96X["@D)?0H)"6EF("AB=69L96X@/B!M87AW
M<FET92D*"0D);6%X=W)I=&4@/2!B=69L96X["@D):68@*&)U9FQE;B`\(&UI
M;G=R:71E*0H)"0EM:6YW<FET92`](&)U9FQE;CL*"@D)8GET97-?<F5A9"`]
M(')E860H9F0L(&)U9C(L(&)U9FQE;BD["@D):68@*&)Y=&5S7W)E860@(3T@
M8G5F;&5N*2!["@D)"7!E<G)O<B@B<F5A9"(I.PH@(`D)"69P<FEN=&8H<W1D
M97)R+"`B07-K960@=&\@<F5A9"`E9"P@<F5A9"`E9%QN(BP*"0D)"6)U9FQE
M;BP@8GET97-?<F5A9"D[(`H)"0ER8R`]($5)3SL*"0D)8G)E86L["@D)?0H)
M"6EF("@@;65M8VUP*&)U9BP@8G5F,BP@8GET97-?<F5A9"D@*7L*"0D)9'5M
M<&)U9G,H8G5F+"!B=68R+"!B>71E<U]R96%D+"!F:6QE;&5N*3L*"0D)<F,@
M/2!%24Y604P["@D)"6)R96%K.PH)"7T*"@D):68@*&)Y=&5S7W)E860@/CT@
M,"D*"0D)9FEL96QE;B`K/2!B>71E<U]R96%D.PH)?0H)8VQO<V4H9F0I.PH)
M97AI="AR8RD["GT*"@HO*@H@*B!#;VUP87)E('1H92!B=69F97)S(&%N9"!P
M<FEN="!O=70@=&AE('-T=69F(&%N9"!O9F9S970@=&AA=`H@*B!D;R!N;W0@
M;6%T8V@N(`H@*B\*:6YT"F1U;7!B=69S*&-H87(@*F)U9C$L(&-H87(@*F)U
M9C(L(&EN="!S:7IE+"!I;G0@;V9F<V5T*0I["B`@("`@("`@:6YT("!I.PH*
M("`@("`@("!P<FEN=&8H(D1U;7!I;F<@8G5F9F5R<R!F;W(@82!S:7IE(&]F
M("5D7&XB+'-I>F4I.PH@("`@("`@('!R:6YT9B@B+2T^("`@(%QT7'0@3W)I
M9VEN86P@7'0@4F5A9%QN(BD["@H@("`@("`@(&9O<B`H(&D],#L@:2`\('-I
M>F4[(&DK*RE["B`@("`@("`@("`@("`@("!I9B`H(&)U9C%;:5T@(3T@8G5F
M,EMI72E["B`@("`@("`@("`@("`@("`@("`@("`@('!R:6YT9B@B)3`W9"`@
M(%QT7'0@)R5C)R!<="`G)6,G(BP@:2MO9F9S970L(&)U9C%;:5TL(&)U9C);
M:5T@*3L*("`@("`@("`@("`@("`@("`@("`@("`@<')I;G1F*")<="TM/B!D
M:69F97)<;B(I.PH@("`@("`@("`@("`@("`@?0H@("`@("`@('T*("`@("`@
M("!R971U<FXH,"D["GT*"@``````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````8G)E86MI="]T97-T:70`
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````````````#$P,#<U
M-2``("`S-34Q(``@("`@,C0@`"`@("`@("`@-S4P("`V-3$W,38P,#$W("`Q
M,C,W-@`@,```````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````!U<W1A<B`@`&YA=F%S````````````````````
M````````````````<W1A9F8`````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```C(2]B:6XO8W-H("UF"@I`('1R:7`@/2`P"@IW:&EL92`H,2D*"B`@0"!T
M<FEP(#T@)'1R:7`@*R`Q"B`@96-H;R`B=W)I=&5I="!I97)A=&EO;B`D=')I
M<"(@/B8@)#$O=W)I=&5I="YL;V<*("`*("!`(&D@/2`Q"B`@=VAI;&4@*"`D
M:2`\/2`Q-B`I"B`@("XO=W)I=&5I="`@+68@)&D@+7,@-FT@+6\@)#$O9FEL
M92XD:2`^/B8@)#$O=W)I=&5I="YL;V<@)@H@("!`(&D@/2`D:2`K(#$*("!E
M;F0*("`*("!W86ET"B`@"B`@0"!I(#T@,0H@('=H:6QE("@@)&D@/#T@,38@
M*0H@("`N+V-H96-K:70@+68@)&D@+7,@-FT@+6D@)#$O9FEL92XD:2`^)B`O
M9&5V+VYU;&P*("`@:68@*"`D<W1A='5S("$](#`@*2!T:&5N"B`@("!E8VAO
M(")C:&5C:VET(&5R<F]R('!R;V-E<W-I;F<@9FEL92`D,2]F:6QE+B1I(B`^
M/B8@)#$O=W)I=&5I="YL;V<*("`@(&5X:70*("`@96YD:68*("`@+V)I;B]R
M;2`D,2]F:6QE+B1I"B`@($`@:2`]("1I("L@,0H@(&5N9`H*96YD"@``````
M`````````````````````````&)R96%K:70O36%K969I;&4`````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````Q,#`V-#0@`"`@,S4U,2``
M("`@(#(T(``@("`@("`@(#,R,"`@-C4Q-C`P,3$T-2`@,3(U-C``(#``````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````=7-T87(@(`!N879A<P``````````````````````````````````
M`'-T869F````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````(PI#1DQ!1U,@
M"0D]("UG"@IA;&PZ"0EW<FET96ET(&-H96-K:70*"G=R:71E:70Z("`@("`@
M("`@('=R:71E:70N;PH)"20H0T,I("0H0T9,04=3*2`M;R`D0"`D0"YO("0H
M3$E"*0H*8VAE8VMI=#H@("`@("`@("`@8VAE8VMI="YO"@D))"A#0RD@)"A#
M1DQ!1U,I("UO("1`("1`+F\@)"A,24(I"@IC;&5A;CH*"0ER;2`J+F\*"0ER
M;2!C:&5C:VET('=R:71E:70@"@``````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
9````````````````````````````````````
`
end
>How-To-Repeat:
	Please see description.
>Fix:
	None 
>Audit-Trail:
>Unformatted:
no