LL„L2ТOSM-Z80 1.37(C)1986 PEDLL0–Lc• Multiform Z80 *Z80 <1-8> 6502 software by Paul Gardner Z80 software by Richard Hodgsonhˆ{‡oˆ{‡{‡‡ˆ‹ˆ{‡ƒˆГˆКˆ{‡{‡ŸˆЖˆ{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡{‡9‹B‹K‹T‹]‹f‹o‹u‹~‹„‹‹Ћ‹Д‹К‹У‹Ь‹{‡{‡{‡d‰{‡j‰t‰фˆ{‡гˆцŒ{‡{‡{‡{‡{‡в‹и‹о‹ф‹ъ‹№‹і‹Œ ŒŒŒ#Œ{‡{‡{‡{‡Z80HЩ №LЁƒŠH˜HБђЩ а ЂН.€№ уџшаѕЂН.№ 9™бђ№LwƒШшаэ YŒ Multiform Z80 ============= Double Density ============== Z801 - PEDL 80 track DSDD Z802 - PEDL 80 track SSDD Z803 - PEDL 40 track DSDD Z804 - PEDL 40 track SSDD if double density board fitted Single Density ============== Z805 - PEDL 80 track DSSD Z806 - PEDL 80 track SSSD Z807 - PEDL 40 track DSSD Z808 - PEDL 40 track SSSD If your format is not here add the letter 'D' to one of the above e.g *Z801D. This will allow a format to be loaded from a library on disc, or for you to define a format.hЈhЊh(`ЩаљŠH˜H YŒWith Multiform Z80 LwƒЩайŠH˜HЂБђ 9™н.аТшШра№БђЩ №ЖЩ1ВЩ:АЎ…pШБђЩ № )пЩDаŸЅp €…phЈhЊHЉŽ єџK.0 DIR A:|M K.1 DIR B:|M K.2 TYPE K.3 ERA K.4 REN K.5 SAVE K.6 PIP|M K.7 STAT шƒѕƒ„ „„„(„2„XЂџš jxЉ‡Љ‡XЉЂ єџЂ єџЂ єџЂ єџ„Љ…Ђ єџ˜8хЩLX… YŒNot enough memory to operate. This software needs 5888 bytes for disk buffer space and font explosion. Please ensure OSHWM/PAGE is set below or equal to &1900. Press Ctrl/Break to Continue LU…ЂЉ•шрpаљЅpЩЊ№JЂ†Љ юџЉ юџЉHЂ Љ ёџЉ юџhH € юџ ЙIџ юџШР аѓhЊшŠвЅp ŠŒЅp у“ЉŸЉ юџЉ юџЅа YŒHazeltine Terminal L†Ща# YŒLear Seigler ADM3a Terminal L†Ща YŒAcorn VDU YŒ DRIVE A:=  Ђ CŒ YŒ DRIVE B:=  Ђ€ CŒ YŒ Insert disk in drive A Press any key when ready or *Command zŒЩ*а —†LІЉ* уџ œœА ЂLїџЉЊ…pxЉПЉ‡­ ,­!-Љ/ Љ!XЂџ†>† шŽќŽ Ђ…#Љƒ єџ„=ЉЊќЉЂ єџЉ€ќЉх €‡Љц €‡ ˜HО<„Й=„Ј їџhЈШШРь YŒMultiform Z80 Version 1.37 Љќ­ќћЭќаі)ЩPА €Œќ Ј­z‡H­y‡HЙ€…(ЙŽ€…'l'ЎќаћьќаіŽќL=‡Nˆ`Ђ№Ђ Lєџ Б§№ уџШL‰‡ YŒ Press any key to continue zŒLc… Drive Ђџš­ аLJˆ Б§ЂЩЧ№ЂџБ§№™Шаірџ№+Љ ™ШЅ *i0Щ:i™ШЅ )i0Щ:i™ШЂНИ‡™ШшраєЅ")ЊН ЩџЅ"(№ŠiA™ШЉ:™ШЉ™…§Љ…ўЉаЉаъЉЎќаћьќаіќŽ †L=‡ zŒќ`Љ €‡ŠH zŒќhЊЉLєџЂаЂаЂxЉ˜ єџXЉ АЉ…` ~‰ aІаLKраLBLюџЂа ~‰ЂWЉ ‚‡ŠH a юџhЊЉL‚‡ц# љˆЄ#Б%E$ќ`ц# љˆЉџ…?Є# aE$‘%`ЅH ]‰Й ЩаЙ(J…Y8Ѕ!хY0…!h HhHХ"а Ѕ>аЅХ №Љ…> ~‰Ѕ… h…" ‹‰L>‰h [‰Й&…$˜!ЈЉ…#…%Й7Jf%e=…&`Ѕ")jjЈ` a…` a…!Љ…#` a…Љџ…>`ЉХ?а`…?ЉKаЉSЅ")ЈЙAаЂ ‹Ѕ")ЈЉџ™A [‰Й Щ№%Щ№.Ща9Ѕ й!2Й!щ8х y!Ѕ" Lћ‰Ѕ й!љ!LЮ‰Ѕ JЉ**"Lћ‰Ѕ Ѕ")Й"$ Й#­й!Љџ ХBad disk parametersЉ …@Ѕ=Ѕ<ЉЉ [‰Й%) IЉЂ  ^Ѓ­ а`)№Ђ­)Ј ‹Ц@ао­ )ЩаЧDisk Clock error TrackЩ аЧID Field CRC Error TrackЩаЧData Field CRC Error TrackЩаЩDisk Write protectedЩаЧBad Sector TrackХDisk FaultŒ@ŽGЉiFЉEЉЂ@ Lёџ 1Œ ЮџL8Œ 1Œ бџL8Œ 1Œ дџL8Œ 1Œ зџL8Œ 1Œ кџL8Œ 1Œ нџL8Œ рџL<Œ ~‰ aLуџ ~‰Lчџ ~‰ aLюџ 1ŒЩаЅ?№ ŠH˜H ~‰hЈhЊЉ ёџL8Œ 1Œ єџL8Œ 1ŒLїџ 1Œ L8Œ ~‰ aLШџ ЫџL<Œ a…0` a…1` a…2`Ѕ4ќ`Ѕ5ќ`Ѕ6ќ`Љ …7Љ`…: 1Œ 7L8Œ a…8` a…9` Б8ќL*ŒЅ3ќ`  a‘8ц8ац9`І0Є1Ѕ2`†4„5…6h…3`†r„s Бr№; уџцrаѕцsLIŒh…rh…s цrацsБrа цrацslr уџLaŒ рџЩаH Ќœh8``)Щ1а ‘Ђ;Щ2а ‘ЂšЩ3а ‘ЂљЩ4а ’ЂXЩ5а ’ЂЗЩ6а “ЂЩ7а “ЂMЩ8а “Ђ˜Щ9а Ђ№†r„s Бr™™€Шѕ`Ђ†A†BЄР№ Й(ќцЉ…`ЄЙЈќцРаЉ…`H * h)Щ ii0 уџ`JJJJJ`HŠH˜HКНЩаЉ…Љ Ђ єџЉ™Ђ  єџЉЂ єџhЈhЊhl,­ќЭќај`Љ€…sЉ…rЈqrцrацsІsрІаёІrрAаы8эAІа` ЙЂIP юџˆѕ чџLqqp)8$7%1p)8$7%1Љ юџЉ юџЉ юџЉLюџЉ юџЉ юџЉ юџЉ€Lюџ Љ юџ PЉ юџˆајL 8ЉPх+ЈLц Љ юџЄ+Lц Љ юџЉ юџЅ, юџЉO юџЉ№ Љ юџЉ юџЉ юџЉO юџЅ, юџЉ юџЉ юџL Љ юџЉ юџЉ юџЉO юџЅ, юџЉ юџЉ юџЉ8х, юџЉ юџЉ юџLHЉ юџЉ юџh юџЉ ЂJ єџ˜Щ€щ@ЈЪрџаˆ` Љ юџЉ юџЉ юџЉ юџЅ, юџЉO юџЉ юџЉ юџЉ юџЅ, юџЉ юџЉ юџЉ юџЉ юџЉ юџ OLцЉ юџЅ+ юџЅ,LюџЉ† єџ†+„,` РаЉ юџЉ юџЉ юџЉ юџЉ юџLЉ Lюџ)І^аBЩ .LюџЩ №2Щ №СЩаЉLюџЩ№!ЩаЉ LюџЩ№ЩаЉ…^`Щ №Щ №`Љ LюџІ-№L.Щ=аЂџ†-`Ђ†^ЩHаЉLюџЩAаЉ LюџЩBаLЩCаL…ЩDаЉLюџЩEаLjЩLаLЎŽЩMаLNŽЩNаL]ЩpаLДЩqаLШЩJаL%ŽЩlаLмЩbаL ŽЩoаL§ЩKаLёЩfаЉ€….`ЩgаЉ….`Щ*аLё`Ц^аЂ†-HЉ юџh BЅ]8щ Lюџ…]`)І-а5Щ~аЉ…-`Щ fLюџЩаЉLюџЩ аLЩ №ђЩаL…Ща юџ`р№Ц-LюџЩаЦ-ЉLюџЂ†-Щ аLюџЩ аLЋЩаLёЩаLЂЩаLNŽЩаL%ŽЩаЉ€…f`ЩаЉ…f`ЩаLЎŽЩаLjЩа юџ`Acorn CPM formatP џУР   PEDL 80 track DSDDP @(Р   !"#$%&'PEDL 80 track SSDDP @(ЧР   !"#$%&'PEDL 40 track DSDD( @(ЧР   !"#$%&'PEDL 40 track SSDD( @(cР   !"#$%&'PEDL 80 track DSSDP  џЧР  PEDL 80 track SSSDP  џcР  PEDL 40 track DSSD(  џcР  PEDL 40 track SSSD(  џc?Р  YŒZ80 startup modification program================================1) Change default terminal2) Read parameters from library file3) Add/Define parameters 4) Delete entry in library 5) Create new library6) Format disk7) ExitEnter option 1-7 or * zŒ`Щ1а c•Lу“Щ2аLЭšЩ3аLЅ™Щ4аLhšЩ5аLР›Щ6а 0–Lу“Щ*а+ чџ —† YŒ Press any key to continue zŒLу“Щ7№Lі”` YŒTerminal default setup======================1) Hazeltine 1500 terminal 2) Lear Seigler ADM3a terminal 3) Acorn VDUEnter option 1-3 zŒАЂЩ1№ ЂЩ2№ЂЩ3ащ†`iІ"№Ђ€`Ђ Й уџШЪаі` YŒ Drive A:   #– YŒ Drive B:  € #– YŒ Which drive to Format A or B [™`ŠHр€аЂ†" YŒ Disk format will be hЈ #– YŒ Insert disk in drive Ѕ"iA уџ YŒ: Confirm Formatting Y/N 4™АЩY№` YŒ FORMATTING Љ…ŠЅŠа ЊЅ")Ј ‹ЅŠ Љ…ˆЉ …ƒ –Н#…‡ЅџLЉ— ќ—№ЩаLй—ЦƒасЉ?аЉ уџ –Н Щ№$Љ…ˆЉ …ƒ –Н#…‡ЅџLЉ— ќ—№ЦƒашЉ?аЉ уџцŠ –Н!ХŠ№L— YŒ Again Y/N ? 4™АЩY№`L0– Ќœ YŒ Escape YŒ Press any key to continue zŒ` YŒ Disk write protectedLЗ—цац‚`Љ€…Љ…‚ –Н#i…‡Н"Њ ЅŠ‘ШЅˆ‘ШЅ‡‘ШŠH –Н$ )‘hЊШц‡ра ŠH –Н#…‡hЊЪаЬЅˆ " –Н%)I Љ Љ€ЉЉЉcЅŠН$H"   Н%№ Œ h  Щ№ џЩ`№ ŒЉH ЂЉ ^Ѓ­ №h`hЩ№ ЅŠаЉLЏ˜Љ…Љƒ єџ„‚ –Љх]&Ђ ‘Шаћц‚ЪаєЉЉƒ єџŒЉЉK –Н# ЂЉ ^Ѓ­ аЉSЅŠ ЂЉ ^Ѓ­ ` zŒАЩA)п` YŒ Which drive (A or B) 4™АЂЩA№ЩBаёЂ€ юџ` YŒ Enter title string  Љ ™ ˆњ œЂЖЉ ёџЉ ™ ` ›А# YŒ Save to (D)isc or (M)emory 4™А3ЩD№2ЩMаѓ чџ q™ ЌœLу“ A™А Й шШР аєЙршШіLу“ чџ q™ ЌœLу“ {œАъ œ _šЂ  БЩџ№ Д›ЪађLibrary file full Й ‘ШР аіЂН‘шШї QœLу“Љ …‚Љ…`Љ…€ ›АR ›АM YŒ Confirm deletion Y/N 4™А/ЩYа+ Љџ‘Шћ…€ YŒ More deletions Y/N 4™АЩY№ЎЅ€№ QœLу“ ›Ај ›Аѓ A™Аю БшШї YŒ More drives Y/N 4™АЩY№ЭLу“ {œА œ` Љ› _šЉ…„Љ …ƒЅ„ЩЉ юџЉ( юџ8Ѕ„щ юџ БЩџ№Є„ЙЛœ уџц„ YŒ)  Б уџШР аі чџ Д›ЦƒаК YŒ"Enter option 4™А) уџЂнЛœ№шр №ьає _šЉ …ƒ Б0Ъ0 Д›Цƒађ`Љ уџ чџLчџЅi€…ц‚` {œАX YŒ Confirm creation Y/N 4™А:ЩYа6 YŒ Creating library file _šЂ  Љџ‘Шљ Д›Ъаё QœLу“ FœЉЉ€Љ ƒЉ‚ЉŠЉ‹ЉџLtœ Љ™€ˆњ` FœЉŠЉ ‹Љ€ЉЉŽЉ0Љ Ђ€Lнџ YŒ Enter filename of library  œЂБЉ ёџ Ќœ8`Љ~Lєџ   0123456789ABCDEFGHIJKLMNOPQRSTUV09Љ0ЉЂл œ ёџА)Р№Р№Љ№­)`­)­) ` Ќœ8` zŒАЩ №ї`ƒ)№ *Ј­ƒ)ƒЉР№i ˆањmƒ` @`?џ? @€€Р№џЂ4ŽДЭДАЩ0jI€*`ЂџЩY№ЉNЂLуџ уџ)` YŒ Parameters definition program============================= How many tracks ? рœАb ,Љ YŒHow many sectors ? рœА; , YŒSector size (0=128, 1=256, 2=512, 3=1024) ? !` wАѕ • YŒ Start sector (0 or 1) ? !АвЂ2 yАє • YŒ Skew factor !АЏЂ: yАє •аЉ‚ YŒ Inverted data (Y/N) ? 4™` ˆŽ YŒ Single density (Y/N) ? 4™Аи ˆŽ YŒ CP/M block size (0=1K, 1=2K, 2=4K, 3=8K, 4=16K) ? !А–Ђ5 yАє •“ YŒ Extents limited to 16k bytes (Y/N) ? 4™Lпž ˆŽГЉ YŒ How many directory entries (0=32, 1=64 ,2=128, 3=256) ? !` wАѕ •” YŒ How many checked entries (0=8, 1=16, 2=32, 3=64) ? !АД wАі •• YŒ How many reserved tracks ? !А„Ђ: yАє • YŒ How are the sides used 0) Tracks up one side down the other 1) Even tracks one side odd the other 2) Each side a different drive 3) Track on side 1 an extension of the track on side 0 4) Tracks up one side then up the other side ? !LеŸЂ5 yАё • YŒ Are all entries ok ? 4™`ЩY№L›ЎЌЉ yRЪаљ­ЩаЉ—˜™Ў­—i€—ю˜ЪаяЉ™š›­Ўр№р№ 8эЊ­™m—™­šm˜š­›m™›ЪасЉœЎ“шшN›nšn™œЪаёЌ“ЙZ Й_ ­›№ˆЙdNГЉ Ў”НVЉЉЎ•ш Ъаќ8­”э“ЉЈЙsЉ8­šщ ­›щ­˜Љ­‚›Љ™œ“”­›Ў˜ MЃЉm›Ъаљœ8­˜эœœ№­›˜­œ›Ю™аЮ­—Љ„­›Ў— MЃŽ•Ž–Ў—ЌЙRЈŒЉm“ˆаљЌ„™ю„iЮая­“m‚“8э—“Ю–аю”­”“­•–ЪаВЎНN`€ŠЂш8э€№АїЪ`†C„D БCЊ БC)Ј ‹Ђ  џ aЄ˜H БC…EШБCH)…Fh)р…K БCHЊрSа  ЙИЅ™ ˆї0  ЙвЅ™ ˆї БCрSа LРЃ ШБCрSа LаЃ  БC Іh ˆЩS№ ЩcаLfЄ ЈІEЉџ…GŽ*ўŒ(ў ЃЅЅG)Xа<шЦFаш БCЩKа/ ЙЉЅ™ ˆї  БC)…F ˆІEЉџ…GŽ*ўŒ(ў ЃЅЅG)ашЦFаш  ЂЅG)@аЂ ЅG)Щ№ЂЩ№ЂЩ№ЂŠ‘ChЈЂ ЉLєџЂНьЅ Ъїш†IŽ Љƒ єџ„JŒ  „OБCHШБC…MШБC…Nh N)а џ„L***…HЉP$HpЉ( …ЅЉ $HpЉЈHЉˆ‘Iаћh ™Ѕ$HPЉѕ‘I ’Ѕ‘I ’Ѕ‘I ’ЅЉў‘I ’ЅЂЄOБM ‘I ’ЅцOЪа№Љї‘I ’ЅЉЂ $HpЉ Ђ …ЅŠЈHЉˆ‘Iаћh ™Ѕ$HPЉѕ‘I ’Ѕ‘I ’Ѕ‘I ’ЅЉћ‘I ’ЅЅKJJJJJЈОЅ €Љхˆ‘IаћЉ€ ™ЅЪаяЉї‘I ’ЅЉ $HPЉ …ЅЦF№L­ЄЂЉџ …ЅЪајЪ†GЂјxŽ(ў ЃЅX  L:ЄHЈЅLˆ‘IаћhL™ЅцIацJ`eI…IцJ`ЅGJАћ`H­(ў…G)№­+ўh@H­(ў…G)№­+ўю аю h@H­(ў…G)№­+ўю аю h@H­+ўю аю ­(ў…Gh@Ђџ†HЂ џ№jАшjА 1ІjАЂ 1ІjjЂ 1ІЅHI$ў`H8Љ*ЪаќIџ%H…Hh`мџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ