Google
 

Trailing-Edge - PDP-10 Archives - bb-d868a-bm - subsys/checkd.exe
There are 85 other files named checkd.exe in the archive. Click here to see a list.
?p  ?h0?x " 
 
<++!2	`p]`0!2X+	J+	J
+	Il&		



>/HQ`>/	#@JZ,>,>,>,p7:~,^,^,^,~,>,>,>,>,p7:~,^,^,^,^,~@ @ @ @ @ @58
V5HE5X
i5`
m5h6 6CHECKD>@ x1x(x27@9+Y,
,} "0 "0\"3+	JO@v+	J@@v 3,}O@w@@1@@@@@:O@:@@i F9 "46@9+	S &4+	VaF+8ad+= ?4@@ "0+ ?*"$-!$, @/7@9+	k @/ $H A B\"W B B " B@@\"	 B " B "O B\"G,
F A "H $B2`b+FZ+ H B1O@m,
,	rO@:6@v,:+Y " $ ",~7BJ I(, Di I\"5 &\"I I\"I7@J+
\"J J "\"1 J &\"K,~7Di,~ DI@@i\"K\"5\"N O $I64O,~6Di+
\"5\$1 &\"1(+O D>\"P\"5\"N6@:,~ >F B:,~\"( 1,~+0\$S,
p!"54Y`bp+[ F1+0!"\$	 154b`b`+b`b+c F1+0 1!"@4
%,~\"d\"( 1!"4
+\"h,~\"i,~[`Q$\"1(+
0,~O\$ &#, Hi@@jO@j j $i54k+
,\"k,
L,
,\"1,
<\"1\$	 &,
P+	e,~ Bk!$ Di\"l Bj@@j "H $i2`b+p7@K,~ J0D,~ FJ>K,~ BI,^l ^k "
K BH "H $s2+l k+l Bj!" Bi "H $i2`b+w,~ "H $y2ab+0\"z,~@@<@@< } B;K B;\"<\$5 &  B= u ~"&,~@@(@@) t ~"&4k ;2B}+\"5\$<05B\" "  ; &H\"
,"\=&J+\"+0\"
d,~-< D\"	\$1 & $D \$	,~@@m\"1\$H05B0@@l,
|O4B0O@m+0-<O@]O@^O@^O@J@@,++[`$"."K6 +$Q"] $*":+6B+\"1(+) D~7@l++\",,34B0\"5\$1 & ~ Bi BI\"1 BL 2 $I64k,
+
}2BJ+8\"1 BI@@J@+0\"@ B_@@` 9 $]64:+0 _`b+&`b@,~\"@\$105B0+0\"= ^ >,*\"> ],*\"@,~PBJZJ>$$@@L\"1 BI H BM I BM "NQ"D*"O "OQ"F*"PS"X" $I64Z,	u+0@@H@@I@@D E*"H,~gO Bl,
|+	C4"0\"E BJ!"@PBJZJ$"."S`X" $I64O,	u,~\"F,
L,
7,8\"H,
F\"E,
<\"(\$	 &,
P+	e\"J,
F "H $M2`b+Q1d1$+W DJ,
P+L,
 *KZ
J,y.*=lTO Y Z\"Z,
F "H $g2ab7 +i4D^1d 1$h+q DH,
P+X\"t,
F "H $2ab7 +4De1d'1$}+ DI,
P+\\"@ Bk,!" Bi@@j\"
F "H $i2`b+\$	\"F & (7@+,
P+l\"D\$1 &\"( BJ!",,+	e+	C\$\" &ZJ/ &J+ \$	 &\",
F,
+1d1$+' D( "H $)2`b+0,
+1d1$+6 D(O@(,
P+,~!" Bi\"  Bj " Bj@@k "H $i2ab+0\"9,~-<&\*  \$
C & BO@]O@^O@^,+
: 
_`l+
&<\$< 1f 
> & &,
T ] &J+  &,
T ^ &J+  &,
T\$@`l\$=`l\$?`l@\$A &
 ("$d :,
T`lH+
7[` &J+  $D $D[`:J+ \$B &Z` &J+  $D $D $D B+
 $D $D $D,~x<xBx<x<x<xCxCx<x<xD

Pair of octal numbers from one of the following:

Type  Channel  Drive  Structure name      Logical unit
----  -------  -----  --------------      ------------

 $D=f
U,~ "H $D2`b+FZ+XX
[Xh
b\"G,
L,
7,
w,<,
O@:,S7@m+	C6@:,	r+	C\"G,
L,
7,
w,;,
,
+	C,
+
g,
#,
+	C+
f\"I,
L "H $y2`b+N,}+Y "H $y2`b+N\"
q+	e		TOPS-20 CHECKD
CHECKD is a program to check the filesystem and bittable for  consistent
data.   CHECKD  is  also  capable  of  rebuilding  the bittable from the
directory information and of scanning for  files  which  use  particular
disk addresses. Commands are in the general form:

	Keyword [optional arg] structure-name

Command			Description
-------			-----------

CHECK BITTABLE	Check the consistency of the bit table by comparing
		the pages marked as assigned against those pointed to
		by the file system. Also writes lost page addresses
		in a file.

CHECK DIRECTORY	Check just directory information on the specified
		structure.

REBUILD		Rebuild bittable from directory information on the
		specified structure.

RECONSTRUCT	Reconstucts the <ROOT-DIRECTORY> on the specified
		structure and then rebuilds the bit table.

CREATE		Accepts configuration information for a file
		structure and then creates a new file system on the
		specified units.

SCAN		Read a file of disk addresses and then scan the
		directories for the specified addresses. When each
		address is found, prints the name of the file that
		uses that address.

EXIT		Exit from CHECKD.

RELEASE		Deassign the pages whose addreses are contained 
		in the specified file.
\"P,
L,
7,
w,<,
O@v,m+	C,	r+	C!"  >R+V,~ "H $X2`b+]Z+[x
\\"Q,
L,
7,
w7+g@@l,
|+	e4"q,8\"E BJ!",,+	e\"q,
O@v,	C\"Q,
L,
7,
w7+gO@l,
|+	e4"q,8\"E BJ!",,+	e\"u+	C-<\"x,
L z*"S,
,\"(\$1 & $D\${ "H $|2`b+}ZDt,
6,
w,;,
 t ~+,
]+@@ t4,4D  Bl" >R+:+& t
ad+\" "   &J+ \"Zt,yZt	+ +	C\",
L "H $!2`b+}ZDu,
6,
w,;,
O@w u "+'!0| u,, *@
1D+A0D)+,0$0d+0+  &J+1  B@	6@+3 B@*pM*p?\"6`"`/0SP u	+ ,S+	C,]+X,{ ",,M7@7@w+X,L,},~ "07@9< "0<+\ ",t+p $6 91BQ`+73B8+93B:+:\";,~*$9 7$6 B3 7$6 B4[6 B4@@5$7 B57B:+? B2$8 B2.20bP+E."&" B3+0 ",t+r+\"G,~l" >l"@ $@ &4Q5B0!40Bv,~ s0B,~+0-< 4$8 B * P~ 0@ l" >l"@ $@ &4Q5B!40B(:+ s0B
+ (4$K  .0d $ D> D?4D &6Z./( H@ (Br.( H@.0.&=d.
83*+ P~ ~,~ ." >l"@l"Q5B!40B(:+ s0B
++-<&-< 7"2S` &.&< B*d 2.$<O@/"0b9 "0 B "<Q` 2Q`..8 $<.2.2/$*"@@wO@!.zO@ 8:&63B+2 B"
4S` "0$8.8:! @,l+ *l.*n+6@w+N,B,~@&62"52"5+@2"2+@ 7$62$+@ &65F@&$$8..2 1cF	<+ABF	<>!<+0!(,~!(,~"4S`@@wO@ 8$2@.4 3.6/4&64TK ! ,l+ .6=tH*pD6@w+P,~\"m\$1@ $D\$R@ Bu,
,~,
+U,
#,W,
,~+SZ1,h,~(T$lZQ>+>$D^(l(B=$.(3(=+a,o,~f.&l"T5Bg"U."l.$l\D,>(U,,^+^,>,sZvU+ZSv"4B ,^,=+`+0O  Zv	+,~T@@@@1D+a1D+b0D+t7@+}d"$d\$F@\$(+uD&(O@fDF\$c@\$m+!",ZBv,~7@,~.(l,K+."l\B,>/~,7D{+M s,*\"7D|+P s,*\"7D|+S s,*\"7D}+V s,*\"7D}+Y s,*\"\"L,~\"(  "  "Z "  &J+ ,~,> $(,?+ "(,,+!2~ H(d"x4Bj BH(,l:z:7@{*rg,^,~d"|-<+-< B7 + :?,"+!7D+u3B+*dt*dr+0,4+'  >R+06@v+0\"*  &,*\",@:}+\".  &,*:{@@:+\"0 	 &,*@:|+\"2  &,*:{@@:+\"*  &,*\"6:}+:w7$+\"8 &,*+``+;``+?``+C``@+G\"34H0ah,~ +q-< "O!$X D H D@@@@  D  D@@@@@@\$(+MZ` B $+P  (hR $ ?4S 	+ ,~,>,>Z.U ",< x,3J
.,^x,^2BV5BY+0!(~@Q"+(5 d$x7@Z.+(Z*h5 ,~Q"B f[*d:,~Q"B &[F*d=,~,> d"| >l"@l" $Q6@;|:,^ ,~,> d"|l" >l"@ [Q6@+^,^ ,~\"` @ &,*\"c > &,*\"f 5/5S`X5@.A<*pU"` 5$7..? &,*\"36@v+^\"i : &,*\"m >F ,*\"p7@v+e!" >R+u,~,>\$w,
p!"+ Bt $+St 
 3l&@@u@@"5S` A<2B@l+
*po7`+\"  &,*\"7@:+"\"	\$5 & $D\$'!"\$	+- Bu /+0\"2 "  u 4
\"3,
T u 5"4: u	+ +\"<O 
 3l& t	+ ,^,~Z$8.2"8Q !<F l(b*h\"?Z &,* A< B@l\"3,~!""(BbB l+GB l:@lZ$6_.8$&.$6.,",~:0$@+G B+,~,>,>,>&6$9,^.x &@3F~+I2"2b7+K.&+& " J+ ,~,>SX(  " $!&H@\* ,(*,af+  ,^,~-< B~ ~,
F "H $L2`b+P D,
P+5 ^,~
(
7 ~Z 2B+J[ 0D`+J[ 5DJ  >(D{0$ +J  d5DJ  4BG,`,~  4BI,`,~+0\"S,~-<+-< B,z+_[&W0&
0D +_ 4B_,`,~  4BU,g,~  4bX,m,~ $W1$+^ 
4B\,t,~  4B^,t,~+0\"X,~-<+.~,z+e[&W0&0D+e+0\"[,~-<+.~,z+l[&W0&0D+l+0\"_,~-<+.~,z+r[&W0&0D+r+0\"c,~-<+.~,z+y[&W0&0D+y+0\"h,~ ~.l2"~2",~+0""	+  A@@ m*"@@m,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7@1/,>,>,>\"m "  1+  ",^,^,^/,>,>,>\"pZ~/$ "  &J+ \"3,^,^,^,^x/6@v+),
\"s+Y,>\"t,^/CHECKCREATEEXITHELPREBUILDRECONSTRUCTRELEASESCANBIN
|?WHEEL or OPERATOR capability required
\"4+Y? ^C capability not enabled
\":<+	J@h C
? Not a CHECKD command
\"C A+	ePS
[: Mounted as ]

[Dismounting structure - :]
,y+	C
[Working on structure - <*>
? CHECKD: Unable to reference directory files \"T,y,y,~\"T,y,~
? CHECKD: Failed to get next directory \"],y@@1,~% Rebuilding symbol table for  [OK]
 [FAILED]
@,FORSTRUCTURE NAME
? Invalid structure name
\"m A+	e
? Unrecognized guide word
\"t A+	e
?Invalid confirmation.
*U-LI;?File not in correct format\"~+
l?File is for structure \"\"<+
mFile written on:  , contains  entries.
 , Aborting...
Do you want to proceed anyway? 
? CHECKD: More than 8. units in structure
\",~y0K
? CHECKD: Ambiguous number of units found
\",~
? CHECKD: Multiple logical units found
\" ,~
? CHECKD: Structure not found
\"&,~O+0% Structure already mounted. Forcibly dismount and proceed? 0
? CHECKD: Structure missing one or more units
\"3,~8 "Z0B	,y,~% Unit  on channel  does not have valid home blocks - ignored.
xHECHECKDNEW FILE SYSTEM FOREnter alias: How many units in this structure?  
? Invalid decimal number
\"N A+L
? Number not in range 1-8
\"T A+L@@Number of pages to allocate for swapping? 0 for no swapping space or
   a decimal number between 2000 and 400003050 8H_Hf\"N A+X
? Swapping space value not in range 2000. to 40000.
\"k A+XNumber of pages to allocate for the Front End File System? 0 for no front end file system or
   a decimal number between 250 and 10000950 8HzH\"N A+_
? Value not in range 250. to 10000.
\" A+_NAME OF USER OWNING STRUCTUREOwner name? 
? Invalid owner name string
\" A+l
? Name string greater than 12. characters
\" A+lChannel , Drive for logical unit 
? Channel number not in range 0-7
\"# A+`
? Comma expected between channel and drive numbers
\"* A+
? Drive number not in range 0-7
\"2 A+
?Invalid octal number
$$UNK Bad home blocksMaintenance modeOff-line of RP04RP05RP06RM03
ZBITTABLEDIRECTORYCONSISTENCY OFTO MONITOR
? Invalid command confirmation
\"J A+	eBIT TABLE OF
?Failed to initialize bit table
\"R,y+	C
? Not a valid RECONSTRUCT option
\"Y A+	eINDEX-TABLEROOT-DIRECTORY
? Cannot reconstruct PS: during time-sharing
\"b A+	e
? Cannot reconstruct mounted structure
\"j A+	e+n[Reconstruction phase 1 complete]
[Reconstruction complete]
LOST PAGES FROMpOLOST-PAGES@,y+	eH
? CHECKD: Failed to open lost pages file \",y t	+ +	e t	+ +	C% Zero word -- ignored
\"	+&%FailedtoEdeassignllostapage atdiskaddress\" &
\"+. Released  pages
FOR DISK ADDRESSES IN
? CHECKD: Failed to open specified file \"",y u	+ +	eHO
+A@
+A?Octal number required.
\"-+?,y\"-+?l"@ >R,y+L?Table full.
Q$+d	#@Q$+dZQ$"+d
? HOMEIN: Unknown disk drive type
 "  B2 "` B2+m
? HOMEIN: Bit table too large
\"B,~HOMEIN: Could not find a valid home block$$ - - - - - - -
\"L@@w+3\"L@@w+M<ROOT-DIRECTORY>H(B
HOPENF failed on directory  - Skipped\"V\"(\"Y,y,^,~@[P ,o+ B+t B+t.DIRECTORY  
 in directory .xx:x+1:x+1:y:w+1 ".B+/:z ~ D+/6@,~2D~,,~Summary for file   Faulty page table addresses in FDB
Faulty long file page table addresses in FDB
 Faulty addresses in page table
 Page tables unreadable
 Faulty addresses in long file page table
 Long file page tables unreadable
 Illegal addresses
 Multiply assigned addresses
 Search addresses found
 Disk read errors
 File addresses not in bit table
 Assigned pages marked in BAT blocks
:y:w,^,~:>+p!(>>>?+

% DSKASA returned unknown error
`h+~`h+\"#+vDisk address  not in bit table Illegal disk address Found disk address Multiply assigned disk address  marked in BAT blocks: File page : Page table\":+: Long file page table\"=+: Swapping space\"A+: Special system blocks\"D+?{
? CHECKD: Unable to fix count for file \"I,[,y++ l+M+&$$\"I,[,y+*`	Checksum incorrect
\"V,~986$@Disk write error
:|\"\+K
Local count of file pages: 
Local count of overhead pages: 
Local count of used pages: 
System count before CHECKD: 
System count after CHECKD: 


? CHECKD: Failed to write bit table file \"p,y,y,~<ROOT-DIRECTORY>DSKBTTBL
? CHECKD: GTJFN failure for <ROOT-DIRECTORY>DSKBTTBL \"z,y,~
?CHECKD:eOPENFnfailurepfors<ROOT-DIRECTORY>DSKBTTBL \",y,~@,
\"+There are  lost pages
%Suppressed writing of lost pages file , too many errors
% Warning -- structure still mounted with exclusive access
so that errors may be fixed.
\"6@97@i+\"@@i+LOST-PAGES.BIN
? CHECKD: GTJFN failure for lost pages file \"(,y+H\",y+
Addresses are in file $@I,
? CHECKD: Output error or quota exceeded \"5,y+
?File was not written
?Bit tables inconsistent at cylinder 
?Lost pages exceeded buffer space. 
\"C1D@,~,^,^:x,~,^,^,~;
? Invalid response
\"M A+5NOYESDR0CHK: Illegal format for page 00FDBBAD: Illegal format FDBNAMBAD: Illegal format for name blockEXTBAD: Illegal format for extension blockACTBAD: Illegal format for account blockUNSBAD: Illegal format for user name blockWorking on directory 
Unexpected interrupt, channel ^C
% Cannot interrupt bit table rebuild, ignored ...
 "   " "\"1 " U$@+ + \"3,~,y<\"3+.p5>	,>p,p+,^/:x,~,^/,~/pPp,>6/6`|+
+,> .p5>,p+7 Z,^:x,~/pPp,>6/6`|++,> .85>9hh,p+7 Z,^:x,~,>,p7:,^,~,>,>,p7:,^,^,~,>,>,>,>,p7:~,^,^,^,^,~.<5><
|}~,p7:|~}
|/<,~:x,~
? JSYS ERROR: 
PROGRAM CANNOT CONTINUE
Z,^,~/8,>,>,>,>+@+)6=6=o[
OD9
OD9OD9OD9
OD9
OD9	OD9	OD9
OD9
OD9OD9OD9OD9OD9OD9OD7,OD7OD3QOD17OD,'>OD,?>9[>3;PHhfPHhePHhePHgN:pN9XhxN9WF|N9&m{3!_q$mzt9VS$	VS
VSMVSX8Q01;,~0M',2M'*hM'(@M&~(M&rI@M&NtM&NM&<]M&<\ M&4
M&/DM&-)z)0y	LJ"hX D89w+z#,Z9897s0yOSNOHgO%gO"@Oz>`Ov7 Ot Os@OqOhJ`OTsOHkOH$OHCO"C?O"?u6`JR;WR;
R4?OOqhO9RHOh8Oh5Oh/Oh,Oh+OgMOg'OguxOguSOguPOguIOgu7OgtoOgtnOgtDOgtOgJOgWW#W~WVz*U-LW+@W WOi[,nE%
mOQVO>|O/gOLOXO{OrJOq|OeMO^sOBpFOBLO/L`O#OgO#Fb
O#E 
O#*fO#&
O#$XO#O#O#O#LO#[O"O"~siMK
iOyNOxSgOxsO-yzO&FO q E
f 9
g2
bOayOax XKEONyiONm&ON`wON_}ONK]ON@^ON@ION@FON?)ON:ON36ON-@ON-?ON-ONtON+ONONqONkONMON
]ON
VODpDCn
Vy"
[W+gPHhePHgPJYPPGpPGjW1N["~W1NX
~W.n7W-NrW-NqMP@OaW*6RW)[y~W)[yG}`
\;`
[u5M
3P90];CGO<VEMyo`7P:P&)gz+>
>P&!	xP&w&twcyk>ooP%kxdLCDoYYhQ^lPkPIxY]eA=PpPPCHtpXF=0BXF=&KXF=%HXF=%DqG~W$`OVka:r7:Vbqq
OY	VOY	SV`Og1V`KOiV`IK!V`2I,V`,?5V`|>V`t8VVpY
VV9&u|(py0V?QX	Je	JT
lw

zp
T9s9e`8**8(MPv
MPOO	ux4hwVd&M2]"M/gO8UM/gBZUM/gA	#@UM/g@Q`UM/GUM/GUM/GM/F$6M.xg6UM.x^JUM.x]>UM.x\>7=L&GWL&!ML&SL&UsJD1;,~* -5	C* (*[3*[}5
K4z5"	I4x3`v'xH,'FyA'E,N4-T%?M4&eM4^uLM4^EcM4^E:@M4^C7%LJ5M4  M4M4SM4G8M4/M4.26"kYY|SY|XU
w
=wGU
$:U
lhU
:U
/s	p3[3uIHM	3[9M	3[@Pr.Pqo$cyu?M	fu?M	eK	^L
_ g7U_ ^U_ ]/U_ \/_?
		LuTUHpKA o[`Jy@lHB)Ll\T8HB(Ll\:g=zGHsVFJ
PqR@
30'=|$xZ	 :IZ]tHY}2R40J0Y=CsrY3\^)0}P?gP7	xPx0}{P~vFJTUa4P/h}{Hw3sTU-Rw7Z|TRd! xPm&XQUdzk_'yk_z/?y/<cwQz`Qut@Qrcei
k}TFa'	
CXpl	.06LCj<OLCj'	xLCjkLCiyO@LCi_@LCiX6LCiLxLCi@ABxijBxig<O7cBxeBx^lBx[pBxZqBxZBxYBxYuCAC.C}' =?w@@QBIT@I,=?79T=?
T=?	T=?}PVtT8b*T8aqB@T8a1N=T+#BPl)0Zg9T)0YzT)0YyT)0Yx)_
T)2s;)
m)
])
l)	
dz5(i!C(h1t,(I^<%	ot"am""a=
Kxl9'on
|Lt^g]^^g]Y^g]Y P%k"HP%kDXx4U
x}~KG	Jc:KG	?KG	>`?KG	>.KG	:.KG	+9KG	)2KG	%#<KG	gKG	8G	BmG	BdG	ApG	A_H0cKGz?KGnSKGnP=KGm@KGl-KGl,Gfh]$3s:KG[?KGV.KGU^GO&2GO%.GO%+KEE,BKEC2BE$X,
q$mz5$f
C#ct Hcx@l <1j`
l

k[L1T6BO1Lzs1Lz1Lz}1Lzt"W#KK1+G\ .a(k
XHS+@.K+mK+l{9@K+lu_K+l>@(UIy(UA
NtY#(T0?t
Nsz(T 
,(T
0(Tk
LtJF
LSg
Se@$ 

4P
":pP
	xlJ
P
pFP
cx?f
|?e|?ez?ex
}?:?:	?:e?:?:?:?:
&HCgv	~+Lv-lK-l^-l\-l
X-l	U-dc_w(;
6wBiP	{
`P	{:pP	z~4P	zy	xP	zw@P	zp.P	zpP	zi4P	z^P	z^{P	zS0P	zS"xP	zR8P	zRP	zQ{P	zP=P	zOgP	zK[xP	zFbP	zFTxP	zE(P	zCxP	z&~P	z&P	z$XxP	z@P	zP	zP	z|P	zJ@P	zwP	z'	4}*20`j+\!0gs.Ogj$F
gj
r"
gj
q
gj
pgj3?9!QRgif.@gi)4gi%Agi%@7
RP~:pP}|AP}|P}y	xP}rP}oCxP}o>P}oP}kxP}__P}_P}_P}^P}^DpP}]!`P}RwP}OgP}K[P}EAP}DIP},P} eP}FP}P}XP}!P}IP}:P}+P}ft=ftJft	Ift	GeC&Je;m@Je;l0xJe;iK`e/6	ke!zm5wo3alO
l!Saj(Xlaj(U~aj"w1ajg(ZB-dRS(/J^y)SJ^xJ\["P\V.\m'3\LuJ]J]@IJ];YJ]q@J]JSznSqO7RSqBRSqARSq@H/d)e/d^NZ/;lNZ/:NZ/:XNZ/9TNZ/9L)T^&Mh;
7)MG2JLn0?P?
L$H
L$B
:L$A
7L$A
KRY"CKRV
<RKRT.KR5}
LRKR-MKRI
FKQ}_
PKQjBHJL=AJL  JLzU JLmf`JLaU$/HK?	r#ll	""
ZJ5w
+J5w
%!,J
#T*0H1M"HY	@wHXwo,JJG\rxD89w+z#,8(#8!/8!)8	Y1gR8H.48v:W7dpg8R7dp^R7dp]R7dp\PesPeePePd~SxPdt1x7<WA27<="3R7<)MP7<Lt7<I
P@+sVO+s*B~}Y~|V~|S~{P~{M~zJ~zG?VD~yA~y>?UY;~x8R.4%t	IA/PFkGb,RDL.D
z)F
pPw4Pw3lPv+gPv#	xypmyhcrPvPumxu5Z5J; @HMK@0\B:/\>X\>5'\7N+\2g'r'I(\)8*\)7\	&\	)\+,\6.\.,[rO.O[mNO[mO[m	O[l|[l{&O[l+O[kO[kO[j]O[jRO[i%r%H([Z[Qgr%0[Ms/[M"-[M	+[L,[FG[@v*r#eOD^w'`w]!+{ 0