TDH3hn 5Altos series 8000 Diagnostic, version 1.11, Non-DMA, Single Density, from original 8" Altos diskG,!q"r>Ox> >*r*r"r ( y0>*~} | vjE##M}χD G D qt qDIA1uqt\rurͺr=rttbq bq!Eu!bu~ ##n#fޯ2[uyqs!buN v#Irtq*RuF\!A~ /N :[u & qN #buN #7  ALTOS DIAGNOSTIC MONITOR VERS 1.1 *** D I ZA G N O S T I C C O M M A N D D I R E C T O R Y *** REQUEST: - FILE NOT FOUNDv"Pu*Pun f "Ruv*RuN FvF((!@ *Pu^V0vMD!v MD$v'v qt>2Ou*RuF!A~ 3~ - qN !#9u#N vځ:Ou= .u>2Ou .uCXuu !u*Ru!"\u~2^u2Zu͝sFs*Xu"Xu:^u=2^u($*Vu~(# *Tu#"Tu!"Vu*\u#"\u:Zu :[u<2[uyq!s q K\u n&F)~/_~/W0<N OCTu#MDCVuKTuvKVu *Pu^V0vMD!vKXu$v'v!%t~( ###>nf@tJtSt t \t Xt=t Ntv vO vK v&.Kvv## vv (3(?(;_ $(7(8 8O vya8{0 w#~(> w.upxtt xtt+6  $ȷO v`u\t!bu~ ( (# cO #~6 y2!bux(# (A6 #x v v vDIR q!! @ Nc:Xww6|A|&|z&|A| |1x{xÁxuxÙxäxÿz}yïxxz    9{m 44E}ThΥ (χw}w}}w}w}}w}w9~~w}wx~Y~w}w}8w}Hw?     4 0_*v}|*v}2|2!!q|ͽ{>v2bw:v(!{"v!{":v"v"@v>>221x!Zv Nͯx w }>2!v"2!q"ux>{G#:Oq11xx{x !qJ́xux͙xwʻwzw {xwy>0 !Nv ~ 2!|ͽ{ûwy2}i&))))v"v ^#V!V!yr*v`i"v`i" }y2 }Nv*}&yO~wxڐyyxڟyy*}&}Zvqyx͆xn&})))v*v Zv*}&~:}y1yky6y:}:}>:v:~v~-y++/y##wjy!~vQyw>y:}ky:v>ay>~*~v}&BvT] |ȁ( n& :y#>2|>2v>ëy>2|>2v>2|*v"v:}1y> 2}y:}c|ky6!|>wky: }2v(wy:}ȁc|: }2vzUz:}!f}!vf:| =z!g6*v:|!}f!}6!}:|wx!}~wzʰzÑzʰz@(^ky~@ ~ c|:}x2}fvͷz!}5rvͷz{!}6*~v&4> >ȯͿz zy~@ ~ c|:}Zy2}fv{!}5N_7rv{{!}6*~v&4> >ȯ{ ({yl{{{2}!9 N#F f  p+qM$> >ȯ͙{ ͦ{y>>~#O&|ý{!|ͽ{:~vK|!|ͽ{:vK|:~v{!|ͽ{:vK|!|ͽ{:vK|!|ͽ{:}K|:}xO!Bv ~>wx> yɯ>6|(T|0:8O&|d))e| c| 32K ALTOS DOS% VERS 1.11 PERMANENT DISK ERROR, DRIVE TRACK HEAD SECTOR STATUS INVALID DISK SELECT DISK DENSITY CHANGED 5'!Pv:v}w#w!Rvw#!}6:v6&@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@U aADXSETUPDIACOPY DIA DCOPY DIAFLPYFORMDIA @@' AUXILIARY PORT NOT USED 1 110 BAUD 2 300 BAUD 3 600 BAUD 4 1200 BAUD 5 2400 BAUD 6 4800 BAUD 7 @AUD 3 600 BAUD 4 1200 BAUD 5 2400 BAUD 6 4800 BAUD 7 9600 BAUD $ INVALID ENTRY, RETRY....$  'kFLPYTESTDIA MEMTEST DIAPRNTEST DIABOOTCOPYDIAo @ @ r9600 BAUD $   :!06262>2J Õj  :12:2 @  :0ڟ8ҟ2 V z  :080 2ÕV ê:2>220 SELECT PRINT @@@9  SELECT DEFAULT MODE FOR FLOPPY DISKS, 0 (SINGLE), 2 (DOUBLE) $ INVALID MODE SELECTED, RETRY $ SELECT SINGLE OR DOU@ہER BAUD RATE FROM FOLLOWING LIST 0 CENTRONIX PRINTER (PARALLEL PORT) 1 110 BAUD 2 300 BAUD 3 600 BAUD 4 @j!9"1 N  q :s0C8C2xzV   ALTOS COMPUTER SYSTEMS BOOT SETUP PROGRAM, VE@BLE HEADED DISKS, 1 (SINGLE), 2 (DOUBLE) $ INVALID SELECTION, RETRY $   ' :)A( B 2U2@/ 1200 BAUD 5 2400 BAUD 6 4800 BAUD 7 9600 BAUD $ SELECT AUXILLIARY PORT BAUD RATE FROM FOLLOWING LIST 0 @)RSION 1.12 $ SELECT CONSOLE BAUD RATE FROM FOLLOWING LIST 0 DON'T CHANGE CONSOLE BAUD RATE 1 110 BAUD 2 300 BB3 6 9 < ? .* + :!>:DNI + DISK IN ?: IS UNRECOGNIZABLE, RESTART OPERATION...$@@߁AX ERROR$ +VERSION 1.10 +THIS PROGRAM IS INITIATED WITH THE COMMAND +"COPY SYSTEM", "COPY DATA" OR "COPY ALL"$ +FUNCTION COMm#~w#~w#~ w!:w#w#w#wB ADX BOOT SECTOR SUCCESSFULLY UPDATED $ REPLACE DIAGNOSTIC DISK IN DRIVE A: )))DM!OO#   :%͇ ):&2&!#O 6$:S:DIAXóͤ.&dͤ.&Mdͤ.&M""N   @ 7PLETE +REPLY "R" TO REPEAT OR TO END: $ +COMPARE ERROR ON TRACK $(HEX) SECTOR $, PERMANENT $ +PERMANENT SOURCE DISK ERR HIT WHEN READY$Q   ! $ ' * - 0 3 6 9 < ? B E H K N  *6~#Y !s _~#~4 G4G fK"K:& i!O"KAͬͯ*KDMͲ͸*K"K:& ßxͩ:%O͓:%O:%<2%!#¼!O`*&&))  }TTER ("A" OR "B") WHEN READY TO PROCEED. $ I/O ERROR, RESTART OPERATION.... $:x0( !b B 6  9 ? :O!~wo ͢q R(!³# ç       3 | ͩ@8OR EXIT $ +PERMANENT DESTINATION DISK ERROR EXIT $ +*** FUNCTION FAILED ***$ +SOURCE ON A: +OBJECT ON B: +TYPE $ n G >%&'()*+ , !- ". #/ $0 ) !+#-%/ '(  *",$.&0   !"#~w#~w#~ w!:w#w#w#wB  9 ? *"!:b !:b B # + ADX LOADER ON ͬͯͲ͵*O 6$:S:DIAXóͤ.&dͤ.&Mdͤ.&M""N  @g+INSERT DIAGNOSTIC DISK IN A: AND TYPE $ $ +WHAT KIND OF DISK ARE YOU COPYING? 1 MP/M 2 CP/M OR DIAGNOSTIC DISK@I#$%&'()*+,-./0ÑÔ×ÚÝàãæéìïòõøûþ*6~#YSTEM$ATA$LL$ +COMMAND "COPY$" HAS SYNT?: IS UNRECOGNIZABLE, REPLACE.... $  !yN3 *.... $:x0( !b B 6  9 ? :O!~wсo͐0:ڛ_ͩ:"2%ͩ2$ͩ:%O]ͩ:%O͓:%O:%<2%!#¼!O`*&&))))cQG 3 OTHER (OR DON'T KNOW) >$ERROR EXIT $ +*** FUNCTION FAIL THE COMMAND +"DCOPY SYSTEM", "DCOPY DATA" OR "DCOPY ALL"$ +FUNCTION COMPLETE +REPLY "R" TO REPEAT OR TO END: $ +COMPA !!"A*DM*":p Ö!"A*DM*":p x! n SELECT FORMAT OPTION BY NUMBER 1!;2![3!4 :A͎ j͎͎  INVALID FORMATTING OŁ  ‡ ͺ R(!# ÿ+  = P .S }@@RE ERROR ON TRACK $(HEX) SECTOR $, PERMANENT $ +PERMANENT SOURCE DISK ERROR EXIT $ +PERMANENT DESTINATION DISK ERROR EXIT $ + N:oO:o<2o!m!͍*p&)))))))DM %&'()*+ , !- ". #/ $0 ) !+#-%/ '(   jPTION SELECTED, RESPECIFY REPLACE DIAGNOSTIC DISK IN DRIVE A: HIT WHEN READY ͎ :A8E0 A®2î ,  *ͼ.&d$ͼ.&Md(ͼ.&M"l 1840 @ @;*** FUNCTION FAILED ***$ +SOURCE ON A: +OBJECT ON B: +TYPE $ +INSERT DIAGNOSTIC DISK IN A: AND TYPE $ $ +WHA*",$.&0   !"#$%&'()*+,-./00! =  ˁ\ PLACE DISK TO BE FORMATTED IN AVAILABLE DRIVE REMOVE DIAGNOSTIC DISK IF NECESSARY. WHEN READY TO PROCEED, REPLY WITHW  ‡ͨ0:ڳ_:l2o:o>2p>02p2n:oO͊:oP1$!͎ :" .... ALTOS FLOPPY DISK FORMAT ROUTINE ....  & VERSION 1.11 1. STANDARD SINGLE DE@T KIND OF DISK ARE YOU COPYING? 1 MP/M 2 CP/M OR DIAGNOSTIC DISK 3 OTHER (OR DON'T KNOW) >$ERROR EXIT $ + *6~#YSTEM$ATA$LL$ +COMMAND "DCOPY$" HAS SYNTAX ERROR$ +VERSION 1.10 +THIS PROGRAM IS INITIATED WITHށ DRIVE LETTER ("A", "B", "C" OR "D").  "22=O  ͎2;!f SEEK ERROR ON HOME COMMANDO:oO:o<2o!m!͍*p&)))))))DM!H# 88 :o͟ ):p02p!#O 6$:S:DIAXͼ.&d$ͼ.&Md(ͼ.&M"l 1840Q*** FUNCTION FAIL7 , TERMINATING Ͷ*#~O>% !&>>:<2M*kkn&#"~<Ͷ>Z>  ENTER 'S' FOR SINGLE DENSITY, 'D' FOR DOUBLE $ YOU ARE TRYING TO RUN "FLPYTEST" WITH WRONG VERSION OF ADX ******* FLPYTEST @>M DISK IN A:, HIT WHEN READY $ DTEST ERROR SUMMARY TOTAL TRACKS PASSED 0000 DRIVE 0 READ 0000, WRITE 0000 DRIVE 1 _~p# ‡OÎڥ0ç1œBö!f!fEO͎͚*: TO B:, B: TO A:, ETC THEN HIT WHEN READY $>2B :] 2C !_""? >2A ̓>2A ̓>2A Q>2A QI < ERROR DURING FULL TRACK WRITE, STATUS = ERROR DURING HEAD STEP OPERATION, STATUS = ͎   DISK IN X: HAS BEEABORTED *******$>2^ >2[ <2\ >W2D >2A b>2A b>2A b>2A b O  ѷ2B , t T!9"1 *$$$._>>B#>B6.>>B#> B6K0 0U 0YY>2]  0 READ 0000, WRITE 0000 DRIVE 2 READ 0000, WRITE 0000 DRIVE 3 READ 0000, WRITE 0000 $$O :B <2B M!_"> TO REPEAT TEST$!TU !hE !tM !G ! ߁N SUCCESSFULLY FORMATTED !&5>y<*" *#~Z(͇͇͇͇PN͇ ͇͇͇2N͇*#~0 STARTING WRITE/READ DATA INTEGRITY TESTS $ ..WRITE PHASE $ ..1READ PHASE $ ..DISK 0 $ ..DISK 1 $ ..DISK 2 $ 9SDn>02]  ALTOS COMPUTER SYSTEMS FLOPPY DISK TEST AND STRESS ANALYSIS VERSION 1.21 **** HIT "ESC" TO EXIT **** !_"_ :^ w# - *? DM :A O :B J :B O :C O :C _:B >2W  E ͵:W =2W  ( ) *!+",#-$.%/ &0 ' 0M %+ &, !'- "(. #)/ cO !I !Q !K !S # 2A 2B <2C !"? Q!*A QI ½͇Q ͇͇͇*##F͇͇͇ ͇͇QN͇ ͇͇͇*#~W#F͇́ ..DISK 3 $>L2[ :] 2\ >R2D >2A S>2A S2v>2A S>2A SwO  ѷ2B , a e :v A $ LOAD SCRATCH DISKETTES IN DRIVE(S) TO BE TESTED HIT WHEN READY TO PROCEED $ ARE DISKETTES REALLY SCRATCH ?? Y OR N $qd:C ڑ:B >2W " M ͵:W =2W –*A &)>w#>w CBIOS DETECTED I/O ERROR $!U >w#>w>2C !_ "? :D R ^+$$*0  !. STARTING HEAD LOAD DELAY TESTS $ HIT "ESC" TO EXIT TO REPEAT ++ DISK TEST COMPLETED $ REPLACE SYSTE͇N͇*#~&͇͇N͇N͇N͇N͇N͇N͇N͇͇:w#͇xw#͇͇* >2A >2A >2A >2A :vo2O  ѷ2B , a  SWAP ALL DISKETTES, Aq !_""? ̓ Q*? "? :C <2C !] :[ J :[ O :\ O   [ :] [ + >2C !_ _" xʏ :B ! MORY BANK (0-3)? STARTNG ADDRESS (HEX)? ENDING ADDRESS (HEX)? RELOC ERROR - BIT: ALTOS BOOT MEMORY TEST VER 1.1 V<">2t:2:20*#"!͸*1!+͸*1:G!~͵K * :wVĶ/wVĶ# y̕y cu$ @!!"_!"a8 H18!kw#!&*_͌-(*a͌2Z[!F (&0840O(@(& 0|o&))) : (G 4|?}? ͖͖! (708+:8A8!G0͂7͂O)))) :C !   :C <2C !] l l COMPARE ERROR TRACK XX, SECTOR XX $ #  0:8w#. ALID TEST MEMORY RANGE (HEX) PASSES - ERRORS - COMPARE ERROR - BANK ADR: WRITTEN: READ: BANK - D7 D6 D5 D #.:G!~͵K * ~O/wVĶ}o8yVĶ0|g8yVĶ0q# y̕y #,:G! :Z<2Z *(:Z(!ͫ0"e!ͫ0"iKe}o|g#"g<"V>2cYͿ":k2k:c2c0*#"!j @ uO!͸7 870O180~O#  > y͕ɯ>( Q?          " % ( +  *3~#6  4 D3 D2 D1 D0 0000-3FFF 4000-7FFF 8000-BFFF C000-FFFF BANK - START - LENGTH - HEX INPUT ERROR![ |~͵K * :_}w# x #:G!~͵K * }VĶ# y̕y #;*|":221$:O! ~͵*#j*͌!v*͌:ZG![~Kg*e:cwV/wV# yy #.(:ZG![~Kg*e~O/wV}@@@V }[z{!͸*1!+͸*1!͸* 1!͸* 1:G!n&)))))!i͸~0O!s͸? q:_/WK x KU: &T/ > x :<2:=2 1$!*"!9"++1$Ͷ**"!9"+1$Ͷ** MEoE8yV0|gE8yV0q# yy #,(:ZG![~Kg*e:k_}w# x #:ZG![~Kg @!"@!?"~/w "1$!w#!͸*1-*1>22 2!͸P0" !͸P0"K }o|g#" @@ ## R(S$!7͸: ?!O͸1!V͸ͥ!a͸zͥ*#"Ɓ*e}V# yy #;(*V|"T:Z2X2Y18:YO![ ~*i#:c_/WKV x KVU:c &T/ > x :Y<2Y:X=2X@@Á!9"1>2-( EE * ] s   G*7*e͌!%*g͌:ZG![n&)))))l!~0O(!͚ (##;F FR(S\\8@ 18!(*T"R!9"P++18*P*R"R!9"P+18*P*R MEMORY BANK (0-3)? STARTNG ADDRESS (HEX)? ENDING w!9"1 !~(_^#*8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖  @ %1!"0!2x!2 2dO !:d͚!͌!!z(*#"(& 0|o&)))l :d(G @ kADDRESS (HEX)? RELOC ERROR - BIT: ALTOS BOOT MEMORY TEST VER 1.1 VALID TEST MEMORY RANGE (HEX) PASSES - ERRORS -(Ăy 2͵ ͋ ͖ DIAGNOSTIC PRINTER TEST 1.1 $  !"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQR@Hx EE * !"0!2ͩ!2ͩ!2x!2+x 2!2b 2!2+mb E".; 4|͚}͚ (!F (708+:8A8!G07O)))) O(!17 870O(@ COMPARE ERROR - BANK ADR: WRITTEN: READ: BANK - D7 D6 D5 D4 D3 D2 D1 D0 0000-3FFF 4000-7FFF 8000-BFFF g=3STUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~ &@K.  *.".:-Ã".K. *.".:-ô[0 EDWP180(~O(# ( (> yɯ>;(@ C000-FFFF BANK - START - LENGTH - HEX INPUT ERROR![e| }[iz{!j*͌!v*͌!@  *3 BOOTCOPY version 1.0 Source on A: Type $ BOOTCOPY complete $ Insert diag@@@@@znostic disk in A: and type $ Object on A: Type $ Read after write verify of object disk failed *** $ Read error o@ @ @ @ @ 7-n input *** $ I/O error on output *** $ $)@@@@@@@@@@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ ' @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @9@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@R@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@d@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@v@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@,@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@>@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @!W!@!@!@!@!@!@!@!@! @! @! @! @! @!@!@!@!@!@!@!@!@!@!@!@!@!@""@"@"@"@"@"@"@"@" @" @" @" @" @"@"@"@"@"@"@"@"@"@"@"@"@"@#E#@#@#@#@#@#@#@#@# @# @# @# @# @#@#@#@#@#@#@#@#@#@#@#@#@#@$$@$@$@$@$@$@$@$@$ @$ @$ @$ @$ @$@$@$@$@$@$@$@$@$@$@$@$@$@%s%@%@%@%@%@%@%@%@% @% @% @% @% @%@%@%@%@%@%@%@%@%@%@%@%@%@&&@&@&@&@&@&@&@&@& @& @& @& @& @&@&@&@&@&@&@&@&@&@&@&@&@&@'a'@'@'@'@'@'@'@'@' @' @' @' @' @'@'@'@'@'@'@'@'@'@'@'@'@'@((@(@(@(@(@(@(@(@( @( @( @( @( @(@(@(@(@(@(@(@(@(@(@(@(@(@))@)@)@)@)@)@)@)@) @) @) @) @) @)@)@)@)@)@)@)@)@)@)@)@)@)@**@*@*@*@*@*@*@*@* @* @* @* @* @*@*@*@*@*@*@*@*@*@*@*@*@*@+ +@+@+@+@+@+@+@+@+ @+ @+ @+ @+ @+@+@+@+@+@+@+@+@+@+@+@+@+@,,@,@,@,@,@,@,@,@, @, @, @, @, @,@,@,@,@,@,@,@,@,@,@,@,@,@-;-@-@-@-@-@-@-@-@- @- @- @- @- @-@-@-@-@-@-@-@-@-@-@-@-@-@..@.@.@.@.@.@.@.@. @. @. @. @. @.@.@.@.@.@.@.@.@.@.@.@.@.@/)/@/@/@/@/@/@/@/@/ @/ @/ @/ @/ @/@/@/@/@/@/@/@/@/@/@/@/@/@00@0@0@0@0@0@0@0@0 @0 @0 @0 @0 @0@0@0@0@0@0@0@0@0@0@0@0@0@1P1@1@1@1@1@1@1@1@1 @1 @1 @1 @1 @1@1@1@1@1@1@1@1@1@1@1@1@1@22@2@2@2@2@2@2@2@2 @2 @2 @2 @2 @2@2@2@2@2@2@2@2@2@2@2@2@2@3B3@3@3@3@3@3@3@3@3 @3 @3 @3 @3 @3@3@3@3@3@3@3@3@3@3@3@3@3@44@4@4@4@4@4@4@4@4 @4 @4 @4 @4 @4@4@4@4@4@4@4@4@4@4@4@4@4@5t5@5@5@5@5@5@5@5@5 @5 @5 @5 @5 @5@5@5@5@5@5@5@5@5@5@5@5@5@66@6@6@6@6@6@6@6@6 @6 @6 @6 @6 @6@6@6@6@6@6@6@6@6@6@6@6@6@7f7@7@7@7@7@7@7@7@7 @7 @7 @7 @7 @7@7@7@7@7@7@7@7@7@7@7@7@7@88@8@8@8@8@8@8@8@8 @8 @8 @8 @8 @8@8@8@8@8@8@8@8@8@8@8@8@8@99@9@9@9@9@9@9@9@9 @9 @9 @9 @9 @9@9@9@9@9@9@9@9@9@9@9@9@9@::@:@:@:@:@:@:@:@: @: @: @: @: @:@:@:@:@:@:@:@:@:@:@:@:@:@; ;@;@;@;@;@;@;@;@; @; @; @; @; @;@;@;@;@;@;@;@;@;@;@;@;@;@<<@<@<@<@<@<@<@<@< @< @< @< @< @<@<@<@<@<@<@<@<@<@<@<@<@<@=<=@=@=@=@=@=@=@=@= @= @= @= @= @=@=@=@=@=@=@=@=@=@=@=@=@=@>>@>@>@>@>@>@>@>@> @> @> @> @> @>@>@>@>@>@>@>@>@>@>@>@>@>@?.?@?@?@?@?@?@?@?@? @? @? @? @? @?@?@?@?@?@?@?@?@?@?@?@?@?@@@@@@@@@@@@@@@@@@@ @@ @@ @@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@AkA@A@A@A@A@A@A@A@A @A @A @A @A @A@A@A@A@A@A@A@A@A@A@A@A@A@BB@B@B@B@B@B@B@B@B @B @B @B @B @B@B@B@B@B@B@B@B@B@B@B@B@B@CyC@C@C@C@C@C@C@C@C @C @C @C @C @C@C@C@C@C@C@C@C@C@C@C@C@C@DD@D@D@D@D@D@D@D@D @D @D @D @D @D@D@D@D@D@D@D@D@D@D@D@D@D@EOE@E@E@E@E@E@E@E@E @E @E @E @E @E@E@E@E@E@E@E@E@E@E@E@E@E@FF@F@F@F@F@F@F@F@F @F @F @F @F @F@F@F@F@F@F@F@F@F@F@F@F@F@G]G@G@G@G@G@G@G@G@G @G @G @G @G @G@G@G@G@G@G@G@G@G@G@G@G@G@HH@H@H@H@H@H@H@H@H @H @H @H @H @H@H@H@H@H@H@H@H@H@H@H@H@H@I#I@I@I@I@I@I@I@I@I @I @I @I @I @I@I@I@I@I@I@I@I@I@I@I@I@I@JJ@J@J@J@J@J@J@J@J @J @J @J @J @J@J@J@J@J@J@J@J@J@J@J@J@J@K1K@K@K@K@K@K@K@K@K @K @K @K @K @K@K@K@K@K@K@K@K@K@K@K@K@K@LL@L@L@L@L@L@L@L@L @L @L @L @L @L@L@L@L@L@L@L@L@L@L@L@L@L@L