diff --git a/firmware/build_stm6/inlretro_stm.axf b/firmware/build_stm6/inlretro_stm.axf index b56f48e..c44a947 100644 Binary files a/firmware/build_stm6/inlretro_stm.axf and b/firmware/build_stm6/inlretro_stm.axf differ diff --git a/firmware/build_stm6/inlretro_stm.bin b/firmware/build_stm6/inlretro_stm.bin index 2066bae..54cdc43 100644 Binary files a/firmware/build_stm6/inlretro_stm.bin and b/firmware/build_stm6/inlretro_stm.bin differ diff --git a/firmware/build_stm6/inlretro_stm.elf b/firmware/build_stm6/inlretro_stm.elf index 090123c..338a07a 100644 Binary files a/firmware/build_stm6/inlretro_stm.elf and b/firmware/build_stm6/inlretro_stm.elf differ diff --git a/firmware/build_stm6/inlretro_stm.hex b/firmware/build_stm6/inlretro_stm.hex index 7ab4fd3..667bcd3 100644 --- a/firmware/build_stm6/inlretro_stm.hex +++ b/firmware/build_stm6/inlretro_stm.hex @@ -129,23 +129,23 @@ :1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 :10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D :10081000C858D050FBDC0849084A0020521A02DDB3 -:10082000043A8850FCDC03F083F9000060590008AA +:10082000043A8850FCDC03F0BFFA0000805C00084A :100830000000002030040020300400203807002091 :1008400070B50E4B1A68537A55685C18E4B2A3422F :100850000ED1537A0A48CB1853720378591AC9B289 :1008600001700020814202D198230130D37070BD05 :1008700006780130EE540133DBB2E8E7940400203F :1008800098040020FF23F0B5C04C85B02380837905 -:100890000200009340780138102801D901F046FE8B -:1008A000FFF76AFE1100D4057708360AEB0C440EF8 -:1008B000300E7D0B080C6C0CCC0C8F0ADD0A1B0B68 -:1008C0004A0B440ECF0C907891888C231D2826D893 +:100890000200009340780138102801D901F0EAFEE7 +:1008A000FFF76AFE1100D405BE08650A900DE80E38 +:1008B000D40E1E0CCB0C110D710DC20A100B4E0B79 +:1008C000EB0BE80E740D907891888C231D2826D8A8 :1008D000FFF752FE1E0028001E011802E4028303E7 :1008E0000E04CA04E604F204FA0402050B0514051A :1008F00022052A0532053A05AA05AA05AA054A05D0 :100900005F057605CC02D8023F058D059605A10549 :10091000B0239F4A5B0351690B435361002323704B -:1009200000F062FE152901D900F081FD0800FFF7F3 +:1009200000F098FE152901D900F081FD0800FFF7BD :1009300023FE160023002E007E05390044004F00E0 :100940007E055C006900730080007E057E058D00D9 :100950009A00A700B400C100CE00D800E2009023A6 @@ -297,1190 +297,1190 @@ :101270000B435361054B08491A680A401A60D96844 :10128000064A0A43DA600023FFF749FB00040048DE :10129000000C004800100240FFFFAAAA00005555AC -:1012A000D54BD6491A680A401A60D968D44A0A430D -:1012B000DA600023FFF733FBCF4AD04913680B40B5 -:1012C00013600023FFF72BFBCB4ACD4B11680B4378 -:1012D00013600023FFF723FBC74A09025369DBB2FF -:1012E000194351610023FFF71AFBC34B1B691B0A0B -:1012F000A370012363700023FFF711FB8023C14A11 -:101300001B0351690B435361BF4AC04B11680B4328 -:1013100013600023FFF703FBBB4ABC4BD1680B43B0 -:10132000D3600023FFF7FBFAB74AB94913680B40B3 -:1013300013600023FFF7F3FAB34AB44B11680B4371 -:1013400013600023FFF7EBFAAF4B59610023FFF75F -:10135000E6FA01236370AC4B1A69A2701B691B0A81 -:10136000E3700023FFF7DBFAC023A64ADB025169D2 -:101370000B435361A04AA74B11680B4313609022A3 +:1012A000D94BDA491A680A401A60D968D84A0A4301 +:1012B000DA600023FFF733FBD34AD44913680B40AD +:1012C00013600023FFF72BFBCF4AD14B11680B4370 +:1012D00013600023FFF723FBCB4A09025369DBB2FB +:1012E000194351610023FFF71AFBC74B1B691B0A07 +:1012F000A370012363700023FFF711FB8023C54A0D +:101300001B0351690B435361C34AC44B11680B4320 +:1013100013600023FFF703FBBF4AC04BD1680B43A8 +:10132000D3600023FFF7FBFABB4ABD4913680B40AB +:1013300013600023FFF7F3FAB74AB84B11680B4369 +:1013400013600023FFF7EBFAB34B59610023FFF75B +:10135000E6FA01236370B04B1A69A2701B691B0A7D +:10136000E3700023FFF7DBFAC023AA4ADB025169CE +:101370000B435361A44AAB4B11680B43136090229B :10138000A023D20511685B030B4313600023FFF712 -:10139000C6FA994A9F4BD1680B43D3609023A02192 -:1013A000DB05D86849030143D96011689A480140B8 -:1013B00011601A6899490A401A600023FFF7AFFAD2 -:1013C000FF258D488B0042692B40954DC9002A406E +:10139000C6FA9D4AA34BD1680B43D3609023A0218A +:1013A000DB05D86849030143D96011689E480140B4 +:1013B00011601A689D490A401A600023FFF7AFFACE +:1013C000FF2591488B0042692B40994DC9002A4066 :1013D000134343619022C020D205C00053690140ED -:1013E00090480340194351610023FFF798FA012107 -:1013F000814B1A680A431A6099620023FFF78FFA3B -:1014000001227D4B196891431960D9680A43DA605B -:101410000023FFF784FA01227B4B5961764B9A61D6 +:1013E00094480340194351610023FFF798FA012103 +:1013F000854B1A680A431A6099620023FFF78FFA37 +:101400000122814B196891431960D9680A43DA6057 +:101410000023FFF784FA01227F4B59617A4B9A61CE :101420009A620023FFF77BFA0023FFF778FA8D23F7 :10143000FFF775FA8D23FFF772FA8D23FFF76FFA26 :101440008D23FFF76CFA8D23FFF769FA957893885F -:10145000052D00D19BE119D8022D00D12FE107D82D -:10146000002D00D1BAE0012D00D1E5E09625B9E0CC -:10147000032D00D10CE2042DF8D1DBB2012B00D1F9 -:101480004AE2022B00D168E29825ABE0082D00D19A -:10149000D7E14AD8062D00D195E1072DE6D102F01B -:1014A000DBF890230120DB051A68002502431A604F -:1014B0001022986119680A4304211A6080229961F8 -:1014C0001C68D20122431A6080229A6180221C6823 -:1014D000520122431A6040229A611C68214319601C -:1014E0000221996119680A431A6008229A618022D0 -:1014F000444912034C6922434A614349434A0C68F8 -:1015000022430A603C4A14680443146084249062B5 -:101510004C619061906280224D611968D2050A4346 -:101520001A60802212029A625CE00A2D00D119E151 -:1015300000D222E1802D99D19023012540208026E0 -:10154000DB05657098621A68760132431A60C046FE -:1015500035491C691A6804400A401A60DA680A4072 -:10156000DA60F022002C36D11A680A401A60DA6874 -:101570003243DA601A6994461A690192C0461A69C0 -:101580000292C046C0461A690392C046C046C04691 -:101590001F69C046C046C046C0461E691A680A4058 -:1015A0001A60DA681140D96063462200034212D102 -:1015B000019B2A0003420ED10299023201420AD154 -:1015C00003990332014206D10432074203D1D632D5 -:1015D000064200D0D13A154B9A70CCE0144A1370F1 -:1015E00002F03AF8114C2570124B0098A2B2240C6C -:1015F0005A819C8105B0F0BD00040048FFFFAAAAF3 -:10160000000055550010024000080048555555553A -:10161000AAAAAAAA50550000AFAAFFFFFFFFEBFF3E -:1016200003FF0000FFF90000FFEFFFFF00070020AD -:10163000080700200060004002F00EF89023DB0550 -:101640009D611A6815438022D2001D609A62802233 -:10165000196852030A431A60022204219A611A6827 -:101660000A431A601022996119680A431A60082215 -:101670009A61196838320A431A608023DF49DB0215 -:101680004A69DF4D1343DF4A4B6113682B401360F7 -:10169000D468DD4B1C43D460106828401060D068CB -:1016A0000343D36080234A691B0313434B61D74B29 -:1016B000D74A19680A431A6000255D6192E701F074 -:1016C000CBFF90230121DB051A68CC480A431A603E -:1016D000102299611968CA4E0A431A6004224021F7 -:1016E0009A611A680A431A6008229A6180229961F5 -:1016F000196852010A431A6080224169D2020A43E2 -:10170000C04942610A6832400A60CD68BE4A15434A -:10171000CD600C6834400C60CC682243CA608022E3 -:101720004469120322434261B84AB94C15682C43FC -:10173000002514605561C0224469D20222434261EF -:101740000868B44A02430A60A022186852030243A0 -:101750001A60B1484A6902404A615A69AF490A4071 -:101760005A613FE790238022DB051968D2010A43C2 -:101770001A6080229A61002534E790238022DB05DD -:101780001968D2010A431A6080229A62F3E701F0D5 -:1017900063FF90230121DB051A680A431A601022B7 -:1017A000996119680A431A60042240219A611A68F3 -:1017B0000A431A6008229A61802218685201024383 -:1017C0001A60996159E701F047FF90230121DB0579 -:1017D0001A688B4D0A431A601022996119680A43EE -:1017E0001A6004229A6119683C3211431960082179 -:1017F00099619A629A6180238049DB024A691343A6 -:10180000804A4B6113682B401360D4687E4B1C43A5 -:10181000D460106828401060D0680343D3608023F0 -:101820004A691B0313434B61784B794A19687C481A -:1018300011431960196801401960D9680A43DA60D8 -:101840003AE701F009FF90230121DB051A680A43FA -:101850001A600422996119681143196019681143CB -:101860001960102118680143196040219A611A68B3 -:101870000A431A6080229D611868520102431A606F -:10188000996180235D4A1B0351690B435361CBE788 -:10189000DBB2022B21D00025032B00D1A2E6973525 -:1018A000012B00D09EE6802200255449120348698E -:1018B00002434A61554A116899431160D16819433E -:1018C000D160516819435160936111680B431360F3 -:1018D000544B1D70544B1A6084E6B023474A5B0397 -:1018E000516940200B4353619022D20513684F4940 -:1018F0000B4013608023D1685B011943D1605168AC -:1019000001435160906111680B4306211360454B00 -:101910001970454B1A602EE79022454BD2051A608C -:1019200006220221434B1A70364B434A1360434A46 -:101930001170434A01311360424A1170424A1360E8 -:10194000424B2E4A1D70B02351695B030B43536118 -:1019500001F0B6FD01F0B4FD0DE790223449D20547 -:101960000A6034490B700321334B1A60334B1970F2 -:10197000334B49181A60334B1970334B1A600122EC -:10198000324B1A70B0231D4A5B0351690B435361FC -:10199000E0E79678D7789588112E00D132E100D90A -:1019A00081E0082E00D128E119D8042E00D101E1F0 -:1019B0000BD8012E00D1C9E0002E00D1BAE0022ED2 -:1019C00000D1C8E0A023FEF7AAFF062E00D1B8E0A0 -:1019D00000D8EAE03900280001F0ACFBAEE00C2EA4 -:1019E00000D114E134D80A2E00D1F2E000D8EBE0A7 -:1019F0003900280001F08AFAA0E0C0460010024039 -:101A0000FFFFAAAA0004004800005555000800483E -:101A1000555555555055000003FF0000FFF90000D3 -:101A2000AAAAAAAA100700200C070020FFEFFFFFB8 -:101A300024070020280700201C0700202007002082 -:101A40002C07002030070020140700201807002072 -:101A50000E2E00D1C2E000D2CAE00F2E00D1C2E0AB -:101A6000102EAFD1AA21C84801F092F95521C748DC -:101A700001F08EF9A021C44801F08AF9390028004C -:101A800001F086F9A020C24B0002197801F080F91C -:101A9000280001F079FA0600C046280001F074FA27 -:101AA0008642F5D14AE0252E00D179E01CD8202EBF -:101AB00000D184E00CD8132E00D1B2E000D2ABE00C -:101AC000142E00D07EE73900280001F009FB35E034 -:101AD000222E45D075D3232E00D1EDE0AD4B242E20 -:101AE00000D06FE71D7029E0822E00D1D1E00AD826 -:101AF000802E00D19AE000D9C4E00023262E01D127 -:101B0000FEF70DFF5EE7852E00D1C8E008D8842ED1 -:101B100000D057E701232800637001F065F8B6E0B4 -:101B2000862E00D1C0E0872E00D04BE701236370E2 -:101B3000984BB7E03900280001F048FB0023FEF77E -:101B4000EEFE3900280001F01DFBF7E73900280000 -:101B500001F066F8F2E73900280001F019F9EDE725 -:101B60008D4B02225D6190238C49DB059A620868E7 -:101B70008B4A3F0202430A604A692DB2D2B2174330 -:101B80004F61002D01DA01229A62C046C04601224F -:101B90009A6192189A610B68824A13400B60CDE7F4 -:101BA0003900280001F0C4F8C8E73900280000F027 -:101BB000F3FFC3E73900280001F0A0FEBEE7744B35 -:101BC00090E7794B1D80B9E73900280001F05CFBF4 -:101BD000B4E73900280001F089F8AFE739002800A0 -:101BE00001F0CEFEAAE73900280001F099FEA5E732 -:101BF0003900280001F016FBA0E73900280001F0A9 -:101C000053F89BE73900280001F046F996E73900C0 -:101C1000280001F0FBF891E73900280001F026FACE -:101C20008CE73900280001F0FBF987E701219023B8 -:101C30006170DB0518685D4E30401860DA6802207C -:101C40003240DA608022D2009A62996198615248EB -:101C50004561C046C0462DB29A61002D00DA9962F6 -:101C6000C046C046C046C046C046C04690228021FD -:101C70004A4BD205C9001B69916201211B0A91617F -:101C8000A3705BE701232800637001F07DF9A07069 -:101C900054E701232800637000F0EAFFF7E701230F -:101CA00063703B4B1B78EBE7022363703E4B1B8852 -:101CB000A3701B0AE37041E73D4B9D4202D880238D -:101CC0001B021D43902700F01BFD6B1CFF339BB2D2 -:101CD0000193FF05304B314E5D613268304B00029D -:101CE0001343FF2233607369134018437061C04689 -:101CF0000823BB6200F004FD08230135BB61019B92 -:101D0000ADB29D42E6D13368264A1340336015E7F1 -:101D10009078D1789588AA23062801D9FEF7FFFD8F -:101D2000FEF710FC042A1B22264C2000FF201B4932 -:101D3000AB004A6903401F48ED00024013434B616A -:101D40009022C021D205C90053690D401A490B40A9 -:101D50001D4355610023FEF7E2FD0022280000F03C -:101D6000E7FCF7E70122F9E7280000F099FEF1E728 -:101D7000280000F06DFEEDE70123002163702800CC -:101D800000F006FDA070E5E7AAFA000055F5000096 -:101D90008C040020A3040020000800480004004830 -:101DA00000005555FFFFAAAA36040020FFEFFFFFF1 -:101DB000FF1F000003FF0000FFF900000121617018 -:101DC000DDE790789388002829D0012844D1D17884 -:101DD000CB4A5361C022D2019B18CA4A9BB293429C -:101DE00002D89023DB059862C74BC84A18680902DD -:101DF00002431A605A69D2B20A435A6190220821FA -:101E0000D2059162C046C046C046916107399161D2 -:101E10001A68BF490A401A600023FEF780FD0121BD -:101E2000B74A6170536190220420D2059062C020AD -:101E3000C0011B18B3489BB2834200D89162C046D0 -:101E4000C046C046C0460121AF4B1B6991611B0AC9 -:101E500003319161A370DFE7AF23FEF760FD957852 -:101E6000022D0CD0032D2BD0002D33D10223637013 -:101E700001F0ACFCA070000AE070FFF7B4FB95889D -:101E8000A44BD0781D80A44BA44A18709C4B000230 -:101E900019680A439C491A600E689C4A32430A60DA -:101EA0005D614A69D2B202434A6190220121D205A2 -:101EB00091621A689A490A401A600025FFF793FB5D -:101EC00090230122DB059A618F4A914913680B40E8 -:101ED0001360F2E7B025FFF786FB91780023012914 -:101EE00001D1FEF71CFD99421FD0B133022901D068 -:101EF000FEF715FD84210125938881481943426925 -:101F00004161814992B28D618D62426104228021DA -:101F1000134090220902D205002B03D091610023C7 -:101F2000FEF7FDFC9162FEF7FAFC01236370A93312 -:101F3000A3700B00FEF7F3FC9078938804282BD84D -:101F4000FEF700FB182A03080C00764A13800023D2 -:101F5000FEF7E5FC180001F0B9F9F8E7902302223A -:101F6000DB059A61C046C046C046C046C046013A3D -:101F70009A61ECE7902202230421D20563709162FA -:101F8000C046C046C046C0465D4B1B699161A37008 -:101F90009BB21B0AE370DAE7B223FEF7C0FC957828 -:101FA000D0789188112D7ED007D8012D4FD0002DEB -:101FB0000DD0022D5DD0822646E0212D67D0222D46 -:101FC0006CD0122DF7D10223102063706EE0012730 -:101FD000554B04261B7810209F40FA43534B019227 -:101FE0001D68AF626B6813406B6000F07EFBAF61F1 -:101FF0006B683B436B60FA20400000F076FBFA20F0 -:10200000AF626B68019A400013406B6000F06DFB9B -:10201000AF616B68013E3B43B6B26B60002EEAD104 -:102020000436FA2000F061FBAF626B68019AFA2077 -:1020300013406B6000F059FBAF616B68013E3B439E -:10204000B6B26B60002EECD12670FFF7CDFA364A9F -:10205000364B12781E689540B56273681020AB430A -:10206000736000F042FBB56173682B437360002618 -:10207000EAE701232C4A637012782D4993402B4ADA -:102080009BB21268002002F01BFBA070EFE7012357 -:1020900002000020637001F09BFCF6E701230200C0 -:1020A00063701020F7E702230020637001F0EAFC60 -:1020B0006080DCE79078D1780138938808285AD876 -:1020C000FEF740FA050D150B3C593F454F00194BE3 -:1020D0001B78A3700123637006E0174BF8E7154ADD -:1020E00013708322144B1A700023FEF718FC114A58 -:1020F000114D137083232B7001F052FA2B78E8E70F -:1021000000080048FF1F000000040048000055556B -:10211000FFFFAAAA8A0400208804002055555555BF -:10212000AAAAAAAAA0040020100700200C070020D9 -:1021300004000200C4040020E6040020C14A137019 -:10214000D2E7C14A535452181B0A5370CCE70023FC -:10215000BD4A5218D05CE11801338870082BF9D1C0 -:10216000B9E70223B8499A1E8A5CE2540133222B54 -:10217000F9D1023BAFE78723FEF7D1FB9078D57802 -:10218000023891888A230A2801D9FEF7C8FBFEF796 -:10219000D9F9060B11161D24303C41495000AB4BB8 -:1021A00019800023FEF7BBFBA84B1B881B040B43C5 -:1021B0009847F6E7FEF7DCFA0300FEF7B0FBA44809 -:1021C00003689AB20B0413430360EAE7A04A13685A -:1021D0001B0C1B040B431360E3E7042363709C4B4D -:1021E0001B681A0AA370E2701A0C1B0E227163712D -:1021F000D7E70223964A637012684B00D3181A88F7 -:10220000A2701B881B0AE370CBE7914B6D001B6823 -:10221000E952C6E78E4A4B001168CB1813600222C0 -:102220006270ECE78A4B6D001A6855191D602980B1 -:10223000B7E7012363700233A370B2E78823FEF788 -:102240006EFB93789188022B09D0032B0ED0012BC3 -:1022500010D1804A090411600023FEF760FB7D4A1B -:1022600013681B0C1B040B431360F5E70122794B29 -:102270001A60F1E78323FEF752FB91780B00303BA5 -:102280002F2B1AD8D078032814D8FEF75BF916182C -:102290000211714B512900D17DE028D8312957D046 -:1022A0000FD8002937D030294BD0B423FEF737FBA5 -:1022B0006A4BEFE7B523FEF732FB694BEAE7694B60 -:1022C000E8E7332952D04AD35029EED1C022D200B8 -:1022D00022801A7AA270DA78E2705A7A22719A7A97 -:1022E00062719A78A2715B7CE371FFF77DF97F29B7 -:1022F00000D984E070295DD260293CD0612943D0A7 -:102300005229D2D180221B889200A3701B0A2280FE -:10231000E370FFF769F9FF22534BCA5401311029CA -:10232000FBD101234E4A5B4253804E4A53804A4AB6 -:1023300053804A4A538001224C4B1A700023FEF707 -:10234000EEFA9288110AD9721A730023FEF7E7FA9F -:102350009288110A59739A730023FEF7E0FA928863 -:10236000110AD9731A740023FEF7D9FA92885A74A5 -:102370000023FEF7D4FA80235B00238093883A4A37 -:10238000D35CA370FFF730F980235B002380384BC8 -:102390001B68DB78F5E7C022D2002280DA7AA270CF -:1023A0001A7BE2705A7B22719A7B6271DA7BA2718E -:1023B0001B7C99E72A4B15785C682D4B1868C3780D -:1023C0007F2D00D9B5E02B4D009E2E70002B0FD035 -:1023D00000250095982B00D1B1E004E00025009580 -:1023E000D02B00D1ABE0214B10351D70FF2304E052 -:1023F000214B18609023C3706F3300939FE0072038 -:10240000084003281AD8FEF79DF8393B0217124BF3 -:10241000802901D2FFF7E8F8872933D97031C9B292 -:10242000072901D9FFF7E0F800212170D1789972CE -:1024300092881A80FFF7D8F8084BE9E7B523FEF732 -:102440006EFAC046E5040020C504002034040020D4 -:10245000300400209C04002060040020740400204C -:10246000380400204C040020E7040020A4040020CD -:102470009004002098040020940400203C4BC7E7FF -:102480003C4BC5E79088D178C6B28D19BE22102D7D -:102490002CDC0432002929D0DD78033AFF2D25D128 -:1024A0009D780132FF2D21D10022D7B28F4220D357 -:1024B000314D0022AC464F01013F1F727701000AE7 -:1024C00067449870DA705A729A721A80DA721A73C4 -:1024D0005A739A73DA731A745A745F60274B9D1992 -:1024E000A8540132D3B28B42FAD300222270FFF7F4 -:1024F0007BF80132B718214D013FEF5DFF2FD4D09B -:10250000C122F3E79378002B04D0402B08D0D223CC -:10251000FEF705FA23709288194B1A70FFF764F8DA -:1025200080235B002380164B1B782AE78023FEF76D -:10253000F6F9D82B00D051E780234468C3700023FC -:102540004372C378902B01D0FFF74EF8712901D068 -:10255000FFF74AF80B4B91881B6858680170928806 -:102560005968120A4A705A7A02325A72FFF73CF8D6 -:10257000380400204C040020F8040020E704002068 -:10258000A404002094040020F0B5194D040005A80F -:10259000067868690902C0B2084368619020042186 -:1025A000C00581622900002A01D101328262FF2523 -:1025B00000204A692D022A401A430E4F4A61C04644 -:1025C000C046C046C0463A690133120A22544A69DD -:1025D000DBB22A4001301A43C0B24A61B042EED9A0 -:1025E00090230422DB059A61033A9A61F0BDC0464C -:1025F0000008004800040048F0B5184C0500606968 -:102600000E02C0B23043606180269020F600C00503 -:1026100049B28661002901DA01218162FF266169E0 -:102620003602314011436161C04600200C4FC04664 -:10263000C04639690132090A29546169D2B2314070 -:1026400001301143C0B261619842F0D990238022D9 -:10265000DB05D2009A6201229A61F0BD00080048B1 -:1026600000040048F0B5174C05000E0060691F29F2 -:1026700025D8802131430902C0B201436161902114 -:102680000420FF26C9058862616936023140114382 -:102690006161C04600200C4FC04639690132090A09 -:1026A00029546169D2B2314001301143C0B2616135 -:1026B0009842F1D990230422DB059A61F0BDC0B2A3 -:1026C0000902DAE70008004800040048002302007D -:1026D0000002002A04D1002B01D080231843704748 -:1026E000DB43511EDBB20A40F3E70023800080B2D7 -:1026F000C046C04601339BB29842F9D17047FFFFF4 -:1027000030B50722012409490868450D43086B408C -:102710004340C50FDBB26B40013A23404000D2B2C8 -:102720001843002AF1D10860C0B230BD9C040020DB -:10273000134B10B55861134B13481C680902204312 -:1027400018605869C0B20143596190210820C90539 -:102750008862002A01D101328A62C046C046C04662 -:10276000C046C046C046C046C04690220821D20599 -:102770009161073991611A6804490A401A6010BDD5 -:10278000000800480004004800005555FFFFAAAAB1 -:102790000F4B58619023DB05002901D101229A6279 -:1027A00004229A62C046C046C046C046C046C046E3 -:1027B000C046C046C046C046C046C046C0460549A1 -:1027C00008699A61000A033AC0B29A617047C0462C -:1027D0000008004800040048F7B504000E004D7AD8 -:1027E000C046C046C046C046C046C046C046C046B9 -:1027F000C0460022AA215848FFF79AFF002255211F -:102800005648FFF795FF2402002220215248FFF787 -:102810008FFF23B20193EBB20093337AAB4216D20F -:102820008020009B0022737290210002FFF780FF3E -:102830000022802011000002FFF77AFF8020002292 -:10284000F0210002FFF774FFC0460020FEBD444B9C -:10285000444A196808200A43FF211A605A690A404D -:10286000A02109020A435A6190220121D2059062F7 -:102870009162C046C046C046C046FF249061916147 -:102880001A6839492C400A401A60019B009A1C437F -:102890007368A4B2995C20000022FFF749FFC0468C -:1028A000C046C046C046C046C046C046C046C046F8 -:1028B000C04600212000FFF76BFF0700C046C0465E -:1028C000C046C046C046C046C046C046C046736803 -:1028D000009A9B5C834217D0C046C046C046C046A3 -:1028E000C046C046C046C046C04600212000FFF793 -:1028F0004FFFB8420BD1C046C046C046C046C04696 -:10290000C046C046C046C0460135ADB283E7C046AA -:10291000C046C046C046C046C046C046C046C04687 -:10292000C046C046C046C046C046C046C046C04677 -:10293000C046C046C046C046C046C046C046C04667 -:10294000C046C046C046C046C04600212000FFF732 -:102950001FFF0700C9E7C046AA8A0000558500008E -:102960000004004800005555FFFFAAAAF7B50F0064 -:1029700003024D7A00933B7AECB2AB4202D27C72F6 -:102980000020FEBD0022AA211B48FFF7D1FE002235 -:1029900055211A48FFF7CCFE009BEEB21E430022E1 -:1029A00025213000FFF7C4FE00221F213000FFF771 -:1029B000BFFE2300203301937B680022195D009B3A -:1029C000181980B2FFF7B4FE019B0134A342F3D182 -:1029D000002229213000FFF7ABFE00210098FFF70D -:1029E000D7FE002104000098FFF7D2FEC0468442C3 -:1029F000F3D12035ADB2BEE7AA8A000055850000AC -:102A000070B504000D000022AA210F48FFF790FEC8 -:102A1000002255210D48FFF78BFE0022A0210A4815 -:102A2000FFF786FE002229002000FFF781FE00212B -:102A30002000FFF7ADFE0500C04600212000FFF793 -:102A4000A7FEA842F3D170BDAA8A000055850000F8 -:102A500070B504000D000022AA210F48FFF768FEA0 -:102A6000002255210D48FFF763FE0022A0210A48ED -:102A7000FFF75EFE002229002000FFF759FE00212B -:102A80002000FFF785FE0500C04600212000FFF76B -:102A90007FFEA842F3D170BDAA8A000055850000D0 -:102AA00070B504000D000022AA210F48FFF740FE78 -:102AB000002255210D48FFF73BFE0022A0210A48C5 -:102AC000FFF736FE002229002000FFF731FE00212B -:102AD0002000FFF75DFE0500C04600212000FFF743 -:102AE00057FEA842F3D170BD55550000AA2A000038 -:102AF000C90152080A43FF21F0B585B00293234B68 -:102B00000500586912B209021140C0B20143902475 -:102B100059610121E405A1620331A162FF213F2631 -:102B200058690902D2B2084010435861B4460020E7 -:102B3000174F01930391C046C046C046C046C046E9 -:102B4000C046C046C0466346396926698908F6080A -:102B50009E431940314329543E69411C019BC9B22F -:102B6000360A6E545969039B01321940D2B2019B57 -:102B7000114359610230029BC0B28342DBD204236D -:102B8000A361033BA36105B0F0BDC0460008004847 -:102B900000040048002070470F4B30B59022586168 -:102BA00080230124D205DB0093620C4B94621D68E4 -:102BB0000B480902284318605869C0B201435961A3 -:102BC000C04608219162C0469161196805480140DC -:102BD0001960946130BDC0460008004800040048F8 -:102BE00000005555FFFFAAAA0B4B10B58021586174 -:102BF000902301220424DB05C90099619A629C623A -:102C0000C046C046C046054800699C61000A9962FA -:102C1000C0B29A6110BDC0460008004800040048D8 -:102C20000E4B984202D880231B0218430C4B0D4ACE -:102C300058610D4B0902186802431A605A69D2B2F2 -:102C400011435961C04690220821D2059162C046C5 -:102C500091611A6805490A401A607047FF1F000019 -:102C6000000800480000555500040048FFFFAAAACC -:102C70000A4B984202D880231B021843084B0422B7 -:102C800058619023DB059A62C046C046C046C046E4 -:102C9000044908699A61000AC0B27047FF1F00002A -:102CA000000800480004004870B504000D000D48FD -:102CB000AA21FFF7B5FF55210B48FFF7B1FFA0216F -:102CC0000848FFF7ADFF29002000FFF7A9FF20000B -:102CD000FFF7CEFF0500C0462000FFF7C9FFA8425E -:102CE000F5D170BD55150000AA1A000070B504009A -:102CF0000D000D48AA21FFF793FF55210B48FFF760 -:102D00008FFFA0210848FFF78BFF29002000FFF765 -:102D100087FF2000FFF7ACFF0500C0462000FFF74B -:102D2000A7FFA842F5D170BD55150000AA0A000002 -:102D300030B580239024DB00E405A361104B114AD9 -:102D400058610223A362104B09021D6800B22A4396 -:102D50001A605A69D2B211435961002801DA01217F -:102D6000A162C046C0460121A1614918A16119684C -:102D70000648014019608023DB00A36230BDC046D5 -:102D8000000800480000555500040048FFFFAAAAAB -:102D90009023DB0530B51C68174D09022C401C60E0 -:102DA000DA68164C2A40DA60154A506102229A62AB -:102DB000144A00B215682C4314605469E4B22143EC -:102DC0005161002801DA012199628021C9009961CD -:102DD000C046C046C046C046C046C046C046C046C3 -:102DE000C0469962012199614918996113680649A1 -:102DF0000B40136030BDC046FFEFFFFF000055558C -:102E00000008004800040048FFFFAAAAF7B5050023 -:102E10001C4B01911E781C4B74001F8820213C190B -:102E2000A4B22000FFF7B4FFAA211848FFF7F8FE6C -:102E3000A01B80B21021FFF7ABFF55211448FFF70C -:102E4000EFFE20212000FFF7A3FFA0210F48FFF78E -:102E5000E7FE104B187846430101BE19C9B2B0B263 -:102E6000FFF796FF01992800FFF7DAFE2800FFF729 -:102E7000FFFE0400C0462800FFF7FAFEA042F5D18D -:102E8000F7BDC046A30400203604002055150000FD -:102E9000AA0A00008C04002070B50400B0200E00C7 -:102EA00000020A21FFF774FFC0200A210002FFF789 -:102EB0006FFFAA211248FFF7B3FE55211148FFF713 -:102EC000AFFEA0210E48FFF7ABFEB0200E4B000274 -:102ED0001D782900FFF75CFFC02029000002FFF7E2 -:102EE00057FF31002000FFF79BFE2000FFF7C0FED8 -:102EF0000500C0462000FFF7BBFEA842F5D170BD1B -:102F000055150000AA0A00008C040020F8B5050041 -:102F10000E00194B02211C88A71CBFB23800FFF716 -:102F200037FFAA211548FFF77BFE601C80B2012104 -:102F3000FFF72EFF55211248FFF772FE02213800DD -:102F4000FFF726FFA0210D48FFF76AFE0D4B197809 -:102F50006418A0B2FFF71CFF31002800FFF760FEE5 -:102F60002800FFF785FE0400C0462800FFF780FE1A -:102F7000A042F5D1F8BDC04636040020551500002A -:102F8000AA0A00008C0400200B4B5861902300B269 -:102F9000DB05002801DA01229A628022D2009A61C0 -:102FA000C046C046C046C046044908699A6201222C -:102FB000000AC0B29A617047000800480004004847 -:102FC00070B504000D00A021FFF7B2FE290020001B -:102FD000FFF7AEFE2000FFF7D7FF0500C046200038 -:102FE000FFF7D2FFA842F5D170BD70B50400A02054 -:102FF0000D00C0015421FFF7CBFEA0212000FFF7F8 -:1030000097FE29002000FFF793FE2000FFF7BCFF8A -:103010000500C0462000FFF7B7FFA842F5D170BDFC -:1030200070B50400A0200D000D4BC0011978FFF70A -:10303000AFFEAA210B48FFF7ABFE55210A48FFF768 -:10304000A7FEA0210748FFF7A3FE29002000FFF7F5 -:103050009FFE2000FFF798FFA842FAD170BDC0463E -:103060008C04002055D50000AAAA000070B5040009 -:10307000C0200D0000020121FFF78AFEAA21154899 -:10308000FFF786FEC02000210002FFF781FE5521D8 -:103090001148FFF77DFEC02001210002FFF778FEF6 -:1030A000A0210C48FFF774FEC0200C4B00021978D9 -:1030B000FFF76EFE29002000FFF76AFE2000FFF7F1 -:1030C00063FF0500C0462000FFF75EFFA842F5D170 -:1030D00070BDC04655950000AAAA00008C040020CF -:1030E00070B504000D001048AA21FFF751FE5521CC -:1030F0000E48FFF74DFEA0210B48FFF749FE2900BF -:103100002000FFF745FEA020094B00021978FFF7C9 -:103110003FFE2000FFF738FF0500C0462000FFF704 -:1031200033FFA842F5D170BD55D50000AAEA0000D2 -:103130008C04002070B504000D001048AA21FFF790 -:1031400027FE55210E48FFF723FEA0210B48FFF76D -:103150001FFE29002000FFF71BFE80200221000235 -:10316000FFF716FE2000FFF70FFF0500C046200006 -:10317000FFF70AFFA842F5D170BDC04655D5000043 -:10318000AAAA00000D4B0E4A58610E4B090218689E -:1031900002431A605A69D2B21143902259618021C8 -:1031A000D20510684901014311604021916291618B -:1031B0001A6805490A401A607047C046000800486E -:1031C0000000555500040048FFFFAAAA104B114A01 -:1031D00010B558611068104B09020343136053691E -:1031E0000E4CDBB21943902351618021DB05186836 -:1031F0004901084318604020986218682040186010 -:10320000D8680143D960136805490B40136010BDAD -:10321000000800480004004800005555FFEFFFFF7C -:10322000FFFFAAAA70B505000E00134B00211C88F1 -:103230002000FFF7ADFDAA211048FFF7C7FF552179 -:103240000F48FFF7C3FFA0210C48FFF7BFFF0D4B4E -:1032500019786418A0B2FFF79BFD31002800FFF732 -:10326000B5FF2800FFF790FE0400C0462800FFF7D6 -:103270008BFEA042F5D170BD3604002055550000EC -:10328000AA2A00008C04002070B504000D000D482F -:10329000AA21FFF79BFF55210B48FFF797FFA021BD -:1032A0000848FFF793FF29002000FFF78FFF200059 -:1032B000FFF76AFE0500C0462000FFF765FEA84242 -:1032C000F5D170BD55550000AA2A0000902270B5B6 -:1032D0000225D2059561C046C046C046C046C046DC -:1032E000C04601240D4B94611E680D49314319609D -:1032F0000C4909885961C04695625861C04694627C -:103300001A6809490A401A60C046C046C046C0460D -:10331000C046C046C046C04670BDC0460008004812 -:1033200055555555A0040020AAAAAAAAF0B58BB0FD -:103330000992012208911100354B02901F78354BFC -:103340001B780493344B1D68344B1B789940344BE5 -:1033500001911868334BA9621B789A40029B102B8D -:103360004FD18262012421002F4B05941B680693E4 -:103370002E4B1B7899408BB2210007932C4B1B6876 -:103380009C462C4B1B789940002303911900029C0A -:10339000202C05D1049E059C1E41264236D0826118 -:1033A000089C202C0FD1002B01D11A4C6354069C91 -:1033B0002669079C264206D0164C665C059C9C40FC -:1033C0002643144C6654099C013FFFB2002C03D0E5 -:1033D000002F01D1019CAC616446039E0133DBB236 -:1033E000A661A662082B05D101310A4BC9B25B5C0C -:1033F00004930023002FCAD1019B8262AB620BB001 -:10340000F0BD029B112BADD18261ABE78262C7E7B1 -:10341000E5040020C50400202C0700203007002010 -:103420001C07002020070020240700202807002078 -:103430001407002018070020F7B501221A4B1C784A -:103440001A4B19681A4B1B789A40102826D18A62A9 -:1034500001263500174B01961B680093164B1B780D -:103460009D400023AC461D0020280DD1134E019F26 -:10347000765D1E413E4215D08A610133DBB2082BD6 -:1034800002D100230135EDB26646009F013CE4B253 -:10349000BE61BE62002CE7D18A62F7BD1128D7D188 -:1034A0008A61D5E78A62E8E7E50400202C0700205E -:1034B000300700201407002018070020C504002052 -:1034C000F0B52C4B85B01B78019301231E00019AA7 -:1034D0001F009640284A1168284A8E62127802928C -:1034E0001A000298824094466046254A126890620B -:1034F000244805782448AF4000689D4087620468EE -:1035000003941C00AC402500039C254305604568DE -:10351000019CBD4345609C401D00A54008681C00FF -:10352000284308604868B043486010680299994091 -:103530008C4021000143604611605168814313486B -:1035400051600078124A984083401268116899438C -:103550001160D1680B43D360002319000D4A13702A -:103560000D4A99540133202BFBD180220B4B1A704A -:1035700005B0F0BD300700202C07002020070020F8 -:103580001C0700201807002014070020280700202F -:1035900024070020E5040020C5040020E6040020E4 -:1035A00010B52B4B1B78082B4ED013D8294C032B6E -:1035B00039D006D8012B28D0022B2AD0254BEE2259 -:1035C0003AE0062B3AD03DD8042BF7D10122202136 -:1035D000112021E00F2B28D008D81E4C0D2B1FD016 -:1035E00000220E2BEAD12021102015E0802B06D0DE -:1035F000184CFF2B06D0102BE0D100221FE0FFF764 -:103600005FFF10BDF0232370FBE72020FFF714FFBE -:1036100004E0012200212020FFF788FE8223F2E748 -:1036200000221100F7E70122DDE70022202111200E -:10363000FFF77CFE8222074B1A70E2E7012220216D -:103640000800E9E71020E1E71120FFF7F5FEF1E7B8 -:10365000C4040020E6040020BC224D4BD203996A2A -:10366000F0B50A439A629A6A4A490A409A62B022BD -:10367000596952030A435A6119009023464ADB05EF -:103680001278102A03D100221A609A60DA601A6850 -:103690004248012402401A608022D868D2010243C5 -:1036A000DA601A683E483F4F02401A608022D868AC -:1036B000520302430420DA601A68A2431A60DA68EF -:1036C0002243DA601A6882431A60DA680243DA60D9 -:1036D00010221D6895431D60DD682A43DA60402290 -:1036E0001D6895431D60DD682A43DA601A682E4D17 -:1036F0002A401A608022DD68D2042A43DA601A6800 -:103700002A4D2A401A608022DD68D2052A43DA60F9 -:103710001A68274D2A4080251A60DA68ED022A438C -:10372000DA60244A1668A6431660D6683443D4602B -:103730001E683E401E60DC683C40DC6080234C69B3 -:103740001B0323434B611C4B1C4C1E681C4F264320 -:103750001E601E683E401E60DE683443DC604B69BC -:103760001D434D611368174D2B401360D468164BF1 -:103770001C43D460116829401160D1680B43D360A9 -:10378000136883431360D3681843D060F0BDC0460C -:1037900000100240FFFFA1FF08070020FFBFFFFF4E -:1037A000FFFFEFFFFFEFFFFFFFFFFFFBFFFFFFBF8D -:1037B000FFFFFBFF00040048000800485555555521 -:1037C000AAAAAAAAFFFFAAAA000055550D480E4AA8 -:1037D000038810B50D49934202D10A7801320A706C -:1037E00090220424D205013394620380084B1869A7 -:1037F0009461084C0B7862691B02D2B2134380B209 -:10380000636110BD8A040020FFFF000088040020CF -:103810000008004800040048F7B50D000427019295 -:103820004C7A000203B2A6B200932B7AB34202D2C2 -:103830006C720020FEBD00986B682043195D80B259 -:10384000019B98476B681A5D094B824205D01A6844 -:103850003A431A6002229A61E7E71A680134BA43D0 -:103860001A60DA6801363A43DA60E4B2B6B2DCE7ED -:1038700000040048F7B50D001600FF27000203B250 -:103880004C7A01932A7AE3B2A24202D26B720020F0 -:10389000FEBD20006A683840D15C019B01341843AA -:1038A00080B2B047A4B2EDE7022907D10F4B104A0E -:1038B000984218D0904209D1180007E0032906D198 -:1038C0000A4B0B490B4A98420BD108007047042958 -:1038D000FCD1064B064A984205D006499042F4D0E6 -:1038E000054A8842E6D11000F0E7C04638040020BF -:1038F0004C040020600400207404002070B5060011 -:103900000D0005243000013CFFF73EFBE4B2290026 -:103910003000FFF73DFA6D08002CF3D170BDFFFFBA -:1039200070B50400A0200D0000020221FFF7E6FFA1 -:10393000AA211048FFF774F955210F48FFF770F9D5 -:10394000A0210C48FFF76CF9A0200C4B000219785D -:10395000FFF7D4FF29002000FFF762F92000FFF7EE -:1039600087F90500C0462000FFF782F9A842F5D18B -:1039700070BDC04655150000AA0A00008C04002046 -:1039800070B50400C0200D0000020521FFF7B6FF4E -:10399000AA210D48FFF7FCF955210C48FFF7F8F96B -:1039A000A0210948FFF7F4F929002000FFF7F0F9FA -:1039B0002000FFF7E9FA0500C0462000FFF7E4FA0F -:1039C000A842F5D170BDC04655550000AAAA000016 -:1039D000F7B501230225294F01923A78009105435A -:1039E00093400421A020264E2D049BB22943326827 -:1039F000C00100F065FE040001283DD13B7809209C -:103A00009C4005437830A3B232682900FF3000F0B3 -:103A100057FE040001282FD13B7832689C402900D2 -:103A2000A3B2002000F04CFE0400012824D1009B2A -:103A3000180AFEF74BFE3B7832689C402900A3B27F -:103A400000F03EFE0400012816D16B461878FEF700 -:103A50003DFE22003B7829009A4093B2326800F084 -:103A60002FFE0198FEF732FE3B7832689C40290019 -:103A7000A3B200F025FE0400E0B2FEBD1007002056 -:103A80000C070020F7B501230225274F00903A7854 -:103A90000191054393400421C020244E2D049BB284 -:103AA00029433268800100F00BFE0400012838D160 -:103AB00009231D433B78C0209C403268A3B22900F3 -:103AC000400000F0FDFD040001282AD13B78326857 -:103AD0009C402900A3B2002000F0F2FD0400012860 -:103AE0001FD1019B180AFEF7F1FD3B7832689C401C -:103AF0002900A3B200F0E4FD0400012811D16B46B7 -:103B00001879FEF7E3FD22003B789A4093B2009AC1 -:103B100014430922E1B209041143326800F0D0FDD8 -:103B20000400A0B2FEBDC046100700200C07002014 -:103B3000C64BC74AF0B51A60C64A8BB01A6002225B -:103B40005A60A02212019A600493049BDB68002B48 -:103B5000FBD19022049BC04912031960BF4B186827 -:103B600002431A6080220991920219681142FCD026 -:103B7000012259680A435A608022596852020A4356 -:103B80005A608022596852030A435A608022196899 -:103B900052040A431A608022920419681142FCD030 -:103BA0001121AF4AAF4C11605A680E398A43110097 -:103BB00002220A435A608022196B0A431A63802248 -:103BC000D96912040A43DA61A74BE381BC231B685D -:103BD0009847A64B6382A64B238262B6FFF73CFD53 -:103BE000F022A44B1A70049B099AA34E1A603278F3 -:103BF000202311009943D2291BD1A049A048C9789C -:103C0000C3780224FF2904D1FF3B1C00631E9C41A2 -:103C1000E4B29C4BDB78FF2B00D003249A4BDB787B -:103C2000FF2B00D00424994B994F1C703860D22A86 -:103C300058D03378F22B05D10022023B3370944BDD -:103C40001B68DA703578D02D00D04FE2904E306886 -:103C5000C378802B00D049E28C4B1978FFF724FE03 -:103C600000233060C570068804004372C07AF5B244 -:103C70001038222800D937E2FCF77EFCA301C501E9 -:103C800006020A02360236023602360236023602D0 -:103C900036023602360236023602360237008C0011 -:103CA000DF00E40010011A0121015D0173017B01B5 -:103CB00036023602360236023602360282019A0097 -:103CC00044002100FFF7F0FD01230135EDB2A542CC -:103CD000F7D3002B00D0386080223B68DA70D02305 -:103CE0003370A6E700230125F1E7E17B0F2900D916 -:103CF0001DE209013143237AA278C9B26068FEF758 -:103D00007BFC53E0E17B0F2900D910E263680901D5 -:103D10009C46237AA27802935E4B0E4376B2596991 -:103D2000F0B2C9B20002014359611F00002E03DA4C -:103D300090210120C9058862FF2559692D0229407B -:103D400011435961C046902080260023C005F6002B -:103D500005958661C046C046C046C046C046C046BE -:103D6000C046C046C04665464B4901320969D2B2D9 -:103D7000090AE95486627969059D01332940114396 -:103D800079610299DBB29942E3D2012286628261B3 -:103D90006372DDE03C23E17B0A009A4300D0C6E178 -:103DA000237AA27829436068FEF75CFC6072CFE05A -:103DB000E17B3C230A009A4300D0B8E163682943C1 -:103DC0009C46237AA5780293324B5A691F292FD833 -:103DD000802001430902D2B20A435A61FF27902191 -:103DE00004265A693F023A40C9052A435A618E6245 -:103DF0008E61C046C046C046002205978E62C0460E -:103E0000C046C0466746244801350069EDB2000A45 -:103E1000B8545869059F3840284358618E61C046A0 -:103E2000C04601320298D2B29042E7D262728FE06D -:103E3000D2B2090211435961D0E7237AA278E17B1B -:103E400029435BE7E17B3F23A6E7C0460030004003 -:103E5000CCCC000055550000AAAA0000001002407A -:103E600000200240006000403CA5FFFF4108000820 -:103E700085080008E6040020A40400204C0400206B -:103E8000380400206004002074040020A2040020F4 -:103E9000900400200008004800040048227AE17BDA -:103EA000A3780092002229436068FEF76DFB7DE74E -:103EB000E17B227AA378294300920122F4E79D4B0B -:103EC000E17B586929430E02C0B230436568A2788D -:103ED000277A5861902004266031C005C9B28662F5 -:103EE0001E001F2901D801218162FF2059690002AB -:103EF000014011435961C0468F4900238C46C0469A -:103F0000C046C046C046C046C046C0466146096974 -:103F10000132090AE9547169D2B2014001331143F7 -:103F2000DBB271619F42EAD290220421D2059161F5 -:103F3000033991612CE70025267A67687608FFF738 -:103F400045FC0135EDB238800237AE42F7D26572DA -:103F50007A4B1B6819889A7A52181A80D822DA701C -:103F6000C4E0E17B237AA27829436068FEF7C0FDB4 -:103F70001CE7E17B237A29430131A278FF31F4E782 -:103F8000A3786668277A002B02D12802FFF79EF9F2 -:103F9000684A9020002304259446C0058562C046E7 -:103FA000C046C046C0466246116985618AB2120A9F -:103FB000F2545A1C0233D2B2DBB2B1549F42EDD25A -:103FC000E6E6E37B1E2B0BD1C020B6092233F1B20B -:103FD00000029D43FEF7DCFE237AA27880212FE7C2 -:103FE0001C2BB5D1A0208121C001FEF7D1FE80207D -:103FF000F609F1B20002FEF7CBFEA0200021C001BD -:10400000FEF7C6FEA4E7E37BFE2BA1D17609F1B251 -:104010004B48FEF705FE1F21636829409C46454B2F -:1040200009025A69A678D2B20A43277A80215A61D6 -:104030009022C900D20591610121FF2091620331D4 -:1040400091625A690002024032435A61C04600221E -:10405000394D0290C046604629690136090A8154EB -:1040600059690298F6B2014001323143D2B2596126 -:104070009742EFD290230421DB0599618021C9008A -:10408000996201219961D1E6237AA2786021D7E66D -:10409000E37B002B20D18033F6091D43F3B2039359 -:1040A000FF20039B24499B004A69034025480240A6 -:1040B00013434B61C0209021039BC905C000DB0066 -:1040C0004A6903402048024013434B61227AA37897 -:1040D000290000920022E7E6012BE1D1402176047D -:1040E000760E31430391DBE7C323E370174B1D7852 -:1040F000F02D00D0C5E2114E3468E378982B00D043 -:10410000BFE2134B20001978FFF7CEFB002330608D -:10411000C370E07AE57010382678042800D9AEE242 -:10412000FCF72AFA180052011F022702E600C423F6 -:10413000DBE7C04600080048000400489004002067 -:10414000FF3F000003FF0000FFF90000A40400206F -:10415000A2040020E37B002B06D130008038C0B2DF -:10416000DD4A2100FFF758FBE37B012B06D130002D -:104170008038C0B2D94A2100FFF77CFBE37B022BD9 -:1041800006D130008038C0B2D54A2100FFF772FB5B -:10419000E37B042B06D130008038C0B2D14A210025 -:1041A000FFF73AFBE37BFC2B06D130008038C0B22E -:1041B000CD4A2100FFF730FBE37B0A2B06D130000C -:1041C0008038C0B2C94A2100FFF726FBE37BFD2BF4 -:1041D00015D13F20238830409B0905936B468026EC -:1041E0001B7D06430793677ABBB2029333021BB26F -:1041F0000893237A029A934200D380E06772E37BAC -:104200001E2B06D130008038C0B2B94A2100FFF71A -:1042100003FBE37B0C2B17D11F2030408026064385 -:10422000C0202588A5216D09EDB2C001FEF7B0FDC3 -:104230002900B048FEF7ACFD677A35023D43237A8A -:10424000BB4200D3A3E06772E37B1C2B21D1AA21E0 -:10425000A948FEF76DFD5521A848FEF769FD20210C -:10426000A548FEF765FD30008038A54A2100C0B2A0 -:10427000FFF7D2FA802090210002FEF759FD80203E -:1042800000210002FEF754FD8020F0210002FEF71D -:104290004FFDE37B1F2B21D1AA219A48FEF748FD51 -:1042A00055219948FEF744FD20219648FEF740FD30 -:1042B00030007038954A2100C0B2FFF7ADFA902067 -:1042C00090210002FEF734FD902000210002FEF74D -:1042D0002FFD9020F0210002FEF72AFDE37B6F2BDB -:1042E00006D130008038C0B2894A2100FFF794FA25 -:1042F000F4232288E370A37A9B182380C1E1002174 -:104300008448FEF745FDAA218348FEF73BFF55216F -:104310008248FEF737FFA0217F48FEF733FF6B4648 -:10432000187D7F4B0799C01880B2FEF731FD089DBC -:1043300063683D43ADB2D95D2800FEF723FFC04658 -:104340002800FEF721FE06902800FEF71DFE069BC2 -:104350008342F4D163680699DA5D724B8A420FD1C9 -:10436000029A1968013292B20292042291431960B2 -:10437000D96801370A43DA600222FFB29A6238E74D -:10438000042219680A431A6002229A6131E7AA21BD -:104390006548FEF7FDFC55216448FEF7F9FCA021B5 -:1043A0006148FEF7F5FC63682800D95DFEF7F0FC74 -:1043B000C0462800FEF7E8FD02902800FEF7E4FD65 -:1043C000029B8342F4D13AE7E37B002B04D1584AA5 -:1043D00021003000FFF74EFAE37B012B04D1554A50 -:1043E00021003000FFF746FAE37B032B04D1524A49 -:1043F00021003000FFF73EFAE37B042B04D14F4A43 -:1044000021003000FFF736FAE37B0A2B04D14C4A37 -:1044100021003000FFF72EFAE37B0B2B04D1494A31 -:1044200021003000FFF726FAE37BFE2B00D05FE788 -:10443000218845484909C9B2FEF7F2FBAA21434841 -:10444000657AFEF7A9FB55214148FEF7A5FB3F48D9 -:104450002021FEF7A1FB1F2030400302AFB20593DD -:10446000237ABB420DD2657290210020FEF794FBA7 -:1044700000210800FEF790FBF0210020FEF78CFBE6 -:1044800036E7059EA0212E433000FEF785FB6368CA -:104490003000595DFEF780FBC0463000FEF7A4FBFC -:1044A00002903000FEF7A0FB029B8342F4D16368C8 -:1044B00002995A5D1B4B8A424CD104211A6801357E -:1044C0008A431A60DA6801370A43DA600222EDB2E1 -:1044D000BFB29A62C4E7C046893200088139000839 -:1044E0002532000835310008952B0008E13000081E -:1044F0006D300008FFFF0000AA8A0000558500000B -:10450000EB2F0008AA9A000055950000C12F000863 -:104510002130000869FD000055550000AA2A00005E -:1045200069FDFFFF0004004855D50000AAAA00005D -:10453000ED2C0008213900080D2F0008A92C0008D7 -:10454000992E00080D2E0008FF3F0000AA0A000067 -:104550005505000004211A680A431A6002229A6174 -:104560007EE7300060304E4A2100C0B2FFF782F98A -:10457000BEE6E37B042B06D130008038C0B2494A46 -:104580002100FFF777F9E37B052B04D1454A210091 -:104590003000FFF76FF9E37B062B06D1300080383F -:1045A000C0B2414A2100FFF765F9E37B072B04D134 -:1045B0003D4A21003000FFF75DF9E37B0A2B06D16D -:1045C00030008038C0B2394A2100FFF725F9E37B7B -:1045D0000B2B04D1354A21003000FFF71DF9E37B96 -:1045E000082B05D130008038C0B22100FEF7BEF99B -:1045F000E37B092B03D121003000FEF7B7F9E37B01 -:10460000002B1CD1FF2280331E4323882848DB095E -:10461000DBB29D0041692A40264DDB0029400A4358 -:1046200042619022C020D205C00051690340224857 -:1046300001400B43536121003000FEF7CDF8E37BCE -:10464000012B00D054E62388194A5B04580E4023FE -:104650000343FF209B0051690340164801400B4370 -:1046600090215361C9054B69134A30001A408023D9 -:104670009B0013434B612100FEF7AEF838E6C323DD -:10468000E3700E4B1B78F02B01D1FFF7ACFA832BB4 -:1046900001D0FFF7A8FAFEF783FFFFF7A4FAC046A0 -:1046A000912D0008A12A0008512A0008012A0008BB -:1046B0000004004803FF0000FFF90000E6040020AA -:1046C000F0B5474680B4061C081C000C102801D524 -:1046D000162700E004270007000F8046FF20014056 -:1046E0005468251C1D439C43F60313850AD5C04618 -:1046F000C046C046C046C046C046C04694801383EC -:10470000958002E0012000F081F801390AD4381CBC -:1047100000F07CF8C046948013839580C046C04664 -:104720007600E2E7381C013800F070F894801383BB -:104730009580042000F06AF8108A184001D0FF200C -:1047400061E0C046C046C046C046C046C0469480F0 -:104750009580108A184055D001200226B04552D0CD -:104760000921168A1E40FCD1012000F04FF89480E8 -:10477000C0469580C04603E0C046C046C046C0461D -:10478000948095807600108A1840EFF300804000F6 -:10479000C00F0643381C023800F038F8948095802A -:1047A000022000F033F80139EAD513859480012006 -:1047B00000F02CF813839580301C8021022399404F -:1047C0000E401BD1002341085E4149085E41490863 -:1047D0005E4149085E4149085E4149085E41490819 -:1047E0005E4149085E4149085E41760808D34008A9 -:1047F000FF21084048400002013004E00E2002E0A2 -:10480000092000E0002080BCB846F0BD0138FDD191 -:104810007047C04603685A0003D45B005B08C018A9 -:104820007047802212061343F9E7C046F0B5574699 -:104830004E46DE464546E0B5814683B092460029A5 -:1048400025D04B1E9B46002701935B46FB18DC0FCF -:10485000E4184B466410E5005E193000FFF7DAFFFC -:10486000019B8046A3420BD0280008304844FFF744 -:10487000D1FFD04506D80138504509D2671CE4E77E -:10488000504505D9A74202D0631E9B46DDE70026AE -:10489000300003B03CBC90469946A246AB46F0BD02 -:1048A000012809D0022805D0002801D00020704737 -:1048B0000248FCE70248FAE70248F8E7954F00088B -:1048C000AD4F0008A14F000830B5234B83B0050061 -:1048D0008C1E002B26D001A9200000E000BF00287C -:1048E0001CD001992200FFF7A1FF041E16D0FFF78C -:1048F00091FF6368A864012B2AD0201D002B23DBC5 -:10490000FFF788FF0023E8642B650368002B0FDBAB -:10491000FFF780FF2861002003B030BD002309208D -:104920002B61F9E70D480E49091AC9100191D9E721 -:104930001801000FFFF7B4FF2861431E98410823B8 -:10494000404298430930E7E70123E8642B65DCE740 -:10495000002305202B61DFE70000000090580008CD -:1049600060590008036810B50400DA0705D4483020 -:104970009B070ED500F06CFC23685A070ED51A076A -:1049800013D5DB0604D42000D130FF3000F06CFCDE -:1049900010BD00F059FC23685A07F0D42000D03035 -:1049A00000F05AFC23681A07EBD420005130FF3086 -:1049B00000F056FC2368E4E70368002B00D01B18C6 -:1049C00018007047092070477047C04670B5040052 -:1049D0000D0008E02B6C2A0063612100012023698F -:1049E0009847082807D1296C2000FFF76DFF0028A1 -:1049F000F0D000F083FE0728FBD10020296CFFF7E0 -:104A0000E3FF281D00F00AFCF0B5CE46474680B50E -:104A1000C3682E4C9846A5448369060014000431EF -:104A2000402205A8994600F071FE002304AD0493CE -:104A300023E0F0222B6C5200736129007CA800F067 -:104A400065FE7CAA31003369200098478A9B0700E5 -:104A50006B6403934B4600950193320033002100B1 -:104A60000120C04700281FD1F0227CA95200280055 -:104A700000F04CFE0024082F1FD1296C3000FFF7F6 -:104A800023FF611E8C41070009340028D1D0AB6B95 -:104A900010216B644B462143019300953300320093 -:104AA0000120C047002800D009273800F5239B00CB -:104AB0009D440CBC90469946F0BD072FF4D12000D0 -:104AC000296CFFF781FF05A800F0A8FB2CFCFFFF75 -:104AD000406C704770B5CB6BFAB00B6404000E00ED -:104AE0004022043103A800F011FE01235B4202932F -:104AF00006E002AA210023699847050008280AD188 -:104B0000129B200019000193FFF7DEFE0028F0D071 -:104B100009207AB070BD02A8FFF724FF062DF7D157 -:104B200031002000FFF752FF10B58261DA6BC160DF -:104B30001A6419000022FFF767FF10BD436970B5C2 -:104B40000B64C36804000D00002B15D10A00236913 -:104B5000010002209847072807D0082803D1290020 -:104B60002000FFF733FF00F0C9FD0020296CFFF79C -:104B70002BFF281D00F052FB0122FFF745FF00F03C -:104B8000BDFDC046C36810B5002B05D0CB6B00221D -:104B90000B64FFF739FF10BDFFF79CFFFBE7C04632 -:104BA0007047C046836810B5002B02D00100012079 -:104BB000984710BD012906D0002906D003390220EC -:104BC000012900D970470120FCE7002B08D10F2AEA -:104BD00006D8920082185268009B00201A60F1E704 -:104BE0000220EFE700B585B003AB0A000093002177 -:104BF0000023FFF7DFFF039805B000BD012906D0B1 -:104C0000002906D003390220012900D9704701206C -:104C1000FCE7002B08D10F2A06D8009B92001B68E6 -:104C2000821853600020F1E70220EFE700B585B05D -:104C300003AB039200930A0000230021FFF7DEFF7D -:104C400005B000BD70B51A4CD36BA54413640600C3 -:104C50000D0019A8111D402200F058FD01235B42F0 -:104C6000189314E00C2118A802AAFFF7DFFF29000F -:104C700018A8B047002812D1069B18AA02A908302C -:104C800001939847040005280AD0092807D0289BDB -:104C900002A819000193FFF717FE0028E2D00924AB -:104CA00018A8FFF75FFE200090239B009D4470BD75 -:104CB000C0FDFFFFF0B5DE4657464E464546E0B51F -:104CC000160003220D0011008BB01F000193EB6C46 -:104CD00001401C1D009107A91B688B460894002FFA -:104CE0006BD01A0C1B045946079302230B72FD3339 -:104CF00013409B004A72E418009B022B00D1AC6B5E -:104D00002B6DDB0747D40023059308330340029340 -:104D10002768002F00D112E1019B022B49D0638844 -:104D2000278898460434012340469A469843AB6C42 -:104D30000F21994681443000FFF754FF002181453F -:104D400006D839005346994349448842894149422B -:104D500043465A0002231340012217403B43012BD4 -:104D60003AD0002B30D0022B1BD12368009A5F0071 -:104D70007F08002A67D1002906D0029A002A00D1B4 -:104D80007CE0002F00D1A9E0002B00DA04340137C9 -:104D9000BF00E419BCE75946300000F00BFB0028C7 -:104DA00010D009200BB03CBC90469946A246AB46B9 -:104DB000F0BD636808349846B5E71B0207935B466D -:104DC0001A8199E70820EDE7009B002B02D000290B -:104DD00000D08DE004349BE7009B002B1AD1002902 -:104DE00016D02368DF0F63689A1CDAD02A00583285 -:104DF0000692013300D1BDE0201DFFF7DDFD06ABBB -:104E000001003A00280000E000BF002800D082E046 -:104E100008347DE70D2130002F6AFFF7E3FE87425B -:104E2000F6D1AB6A9C42F3D12000FFF7F3FC0F21CF -:104E300002003000FFF7FAFE30002A000021FFF7E1 -:104E4000F5FE0720AEE72B6A0D2130009846FFF7EC -:104E5000C9FE804501D0236896E7AB6A9C42FAD12F -:104E60000023EB6204332B63231DAF626B63236863 -:104E7000002B00DA86E00123059388E7002F2DD070 -:104E800058239C46AC4463460393231D9946002354 -:104E9000984606AB220004933B004C464746B24678 -:104EA00098462E00914603E004342F00454542D039 -:104EB000039B20000693FFF77FFD049B0100002267 -:104EC00030007D1C00E000BF0028EDD04346B8460E -:104ED00035004C4656461F009845BCD10D21300088 -:104EE000FFF780FE069B28626B62AC62062059E7E2 -:104EF0002000FFF78FFC04340700AC63280000E0BB -:104F000000BF002800D14CE730003A000F21FFF726 -:104F10008DFE072046E707000D213000FFF762FEF7 -:104F20002862022F2BD1069BEB622B002C336B6285 -:104F3000AC62062036E735004C465646CEE7594669 -:104F4000300000F037FA002800D02AE7059B002B3C -:104F500000D137E70F213000FFF744FE0E21020099 -:104F60003000FFF763FE3000094A0F21FFF75EFEB5 -:104F7000072017E70D213000FFF734FE2862069B5B -:104F80006B62D5E738000130800020184DE7C0463D -:104F90000000000010B50023FFF78CFE10BDC046D6 -:104FA00010B50123FFF786FE10BDC04610B50223E1 -:104FB000FFF780FE10BDC046F0B5CE46474680B52F -:104FC0000500C3B014001E00012955D000294BD0A4 -:104FD000032922D0042949D1002B47D1102A45D8D2 -:104FE000102203681A4200D0F1E020AF380000F030 -:104FF0003DF900230120A96B02009A40144203D01E -:105000000E689A00BE5004310133042BF4D13800ED -:10501000A96300F029F9002029E0032B26D114040C -:10502000230C160C9846F318102B1FD8082203687F -:105030001A4200D098E020AF380000F013F9424641 -:10504000AB6BF6001C00002A08D0D400F21A1C1921 -:10505000BA181968D15004339C42FAD1AC633800B5 -:1050600000F0FEF8002002E0002B24D0022043B024 -:105070000CBC90469946F0BD130C14049846240CC1 -:10508000012E2ED0052EF1D11B19202BEED8424631 -:105090000F2A70D9A146002C7ED1AA6B4346AA6381 -:1050A0000F2B00D89AE04B46002BDBD0684600F06F -:1050B000D3F80020DBE700231004A96B000C0136B5 -:1050C00032009A40104204D00F689A00AA18576024 -:1050D00004310133102BF3D10020A304C7D4A963FA -:1050E000C5E71B19102BC1D843460F2BBED82B6820 -:1050F0001E4206D00322280093432B60483000F064 -:10510000A5F820AF380000F0A1F8AA6B002C24D03D -:105110004346DB00FF180023994664000023A400E7 -:10512000D158F95004339C42FAD14B4612196F46BC -:10513000002B0FD04046102800D210204B46D9003B -:1051400000231038C0003818D458C4500433994292 -:10515000FAD15218012EA1D120AF04323800AA632F -:1051600000F072F8002082E7934303605130FF3073 -:1051700000F078F85FE7102B3BD91022524291469D -:1051800099442B68194208D0022228008B4313430C -:105190002B60483000F05EF82B6804221A4221D1BF -:1051A00043460F2B03D820AF380000F053F86F466A -:1051B000380000F053F810244346AA6BE41A002C80 -:1051C000B8DD434620AFDB006400FF18A6E7934339 -:1051D0000360D130FF3000F049F806E720A800F066 -:1051E00037F860E7280093432B60D03000F036F8A2 -:1051F000D6E72B680B4207D0022228008B431343CB -:105200002B60483000F026F820AF380000F022F87C -:10521000A146AA6B002C00D07AE73FE7011C34318D -:1052200038C9043B9C461D60A646011C20313CC980 -:1052300090469946A246AB46011C0831FCC941681C -:105240000068E54600BDC0467047C0467047C0468E -:105250007047C0467047C0467047C0467047C0465A -:105260007047C0467047C0467047C0467047C0464A -:1052700001B401A801B585B0FFB408A841464A466B -:1052800053465C4665463EC001A83EC80F98009054 -:1052900000230CB401A9FFF71DFC109B12B01847A6 -:1052A00001B401A801B585B0FFB408A841464A463B -:1052B00053465C4665463EC001A83EC80F98009024 -:1052C00000230CB401A9FFF739FC109B12B018475A -:1052D00001B401A801B585B0FFB408A841464A460B -:1052E00053465C4665463EC001A83EC80F980090F4 -:1052F00000230CB401A9FFF745FC109B12B018471E -:1053000001B401A801B585B0FFB408A841464A46DA -:1053100053465C4665463EC001A83EC80F980090C3 -:1053200000230CB401ABFFF7FFFB109B12B0184732 -:1053300001B401A801B585B0FFB408A841464A46AA -:1053400053465C4665463EC001A83EC80F98009093 -:1053500000230CB401AAFFF775FC109B12B018478C -:10536000027A0300002A0BD1427A002A0FD0013AB8 -:1053700042724268111D416003211268017202E00D -:10538000013A02720268100E12021A607047B020D1 -:10539000FCE7C04600B585B003AB00930C220023A8 -:1053A0000021FFF707FC039805B000BD10B5FFF71B -:1053B000F1FF10BDF0B557464E464546DE46002388 -:1053C000E0B587B003930F339846083B9946802396 -:1053D0001B0306000F009A463800FFF7C1FF0400C8 -:1053E000B02800D1C3E003062AD503004246934308 -:1053F000DBB2802B00D171E0902B3DD0A02B00D1EF -:1054000085E0B02B50D0C02B00D196E003004A4677 -:105410009343DBB2D02B0AD15346024001321A43E8 -:10542000052301213000FFF7C7FD0028D4D009244F -:10543000200007B03CBC90469946A246AB46F0BD62 -:10544000FF23820013401D1D05AB9B4600930D22D8 -:10545000002300213000FFF7ADFB630620D4059B3D -:105460009C46654405955B460D2200930021002370 -:105470003000FFF7C3FBAFE7833B03400D2BD6D0D3 -:1054800005AD02400095002300213000FFF792FB9C -:10549000009500230D2200213000FFF7AFFB9BE7B2 -:1054A000059B5D1B0595DEE7B12874D0B22800D1BD -:1054B000CFE0B32800D184E0FC230340B42BB6D066 -:1054C0004A465346024001321A430121012330006B -:1054D000FFF772FD002800D17EE7A8E7040238003C -:1054E000FFF73EFF802520432D02A8429FD00401F4 -:1054F0000005020C002300213000FFF75DFD0028AD -:1055000095D12C4200D167E70123039364E7FF2381 -:105510004A461B011900824311410A001A40030741 -:1055200002D58023DB011A43002300213000FFF75E -:1055300043FD002800D14FE779E7C6284CD0C728A3 -:105540005ED003004A469343DBB2C02B6DD0C8281F -:1055500072D0C92800D06AE73800FFF701FFF023B6 -:1055600002031B03134042460240013257E7039BEC -:105570000024002B00D05BE705AD00950E22002132 -:105580003000FFF717FB009500230F2200213000A9 -:10559000FFF734FB4CE73800FFF7E2FE002800D1AC -:1055A00045E7030042469343DBB2002B00D03EE7C1 -:1055B000020000213000FFF7FFFC002800D10BE7BC -:1055C00035E73800FFF7CCFEF02302031B0313403E -:1055D00042460240013277E73800FFF7C1FEF02370 -:1055E00002031B0313404246024001321A430323C5 -:1055F00003213000FFF7E0FC002800D1ECE616E7BD -:105600003800FFF7ADFE021E00D110E7030041464F -:105610008B43DBB2002B00D009E704213000FFF7F9 -:10562000CBFC002800D1D7E601E74346A0221C406E -:10563000013412032243DAE73800FFF791FE4346B4 -:1056400002009A43D2B210321840120301300243D2 -:10565000E6E605AB00939B460D22002300213000B7 -:10566000FFF7A8FA3800FFF77BFE030618D57F2561 -:10567000B03C059B2840A0409C4660440590380003 -:105680000734FFF76DFE0306F3D481217F238900E1 -:1056900003408C46A340059A62449B180593E2E6BA -:1056A0000224F2E7030000B5DB6C85B05A680800FD -:1056B000120201921A0001A908324A6003220A72FA -:1056C000DB794B72FFF776FE05B000BD10B5FFF732 -:1056D0006DFE806C10BDC04610B5FFF767FEC26C52 -:1056E000D3799B000833D01810BDC04610B500F028 -:1056F00005F8C04610B5FFF7F9FFC04610B5062003 -:1057000000F076F8012000F0A5F8C046F0B50F2AA9 -:1057100037D90D0005430C000300AD0735D1150046 -:10572000103D2D092E013618103627681F60676856 -:105730005F60A7689F60E7681034DF601033B34292 -:10574000F3D10F2401352D01491914404519032CBB -:105750001DD90023CE58EE500433E61A032EF9D893 -:105760000323043CA4080134A4001A402D1909198C -:10577000002A05D00023CC5CEC5401339342FAD1CB -:10578000F0BD0500002AF5D1FAE70500F2E7220096 -:10579000F8E7C04670B505000C001F2922D8B723D2 -:1057A0009B00C358002B0ED08A009B181A68002A51 -:1057B00009D0012A10D0511C10D0002120001960FE -:1057C0009047002070BD280000F030F82200010052 -:1057D000280000F017F8F5E70020F3E71623036030 -:1057E0000120EFE71623036001204042EAE7C046AC -:1057F00010B5034B01001868FFF7CCFF10BDC04681 -:1058000000000020002370B5074C050008001100BF -:10581000236000F017F8431C00D070BD2368002BF4 -:10582000FBD02B60F9E7C0463407002010B500F02C -:1058300001F810BD58220120014B40421A60704708 -:105840003407002058220120014B40421A60704763 -:1058500034070020FEE7C046F8B5C046F8B5C0469C -:1058600074B20181B0AB308000000000800A018179 -:10587000B0B0ABF0000000003F020181B0AB30805F -:105880000000000080060181B0B0ABF00000000015 -:1058900030EEFF7FB0B0B0807CEFFF7F01000000F2 -:1058A00028F0FF7FB0A90280BCF0FF7FB0B0A880D5 -:1058B00008F1FF7F0100000014F1FF7FB0B0AA8063 -:1058C00048F1FF7F9CFFFF7F08F2FF7F010000008F -:1058D00004F2FF7FAA3F398050F2FF7FB0B0A8806A -:1058E0005CF2FF7FB0B0AA809CF2FF7FB0B0A880CE -:1058F000B0F2FF7F01000000ACF2FF7FB0B0A880E3 -:10590000B4F2FF7F010000003CF3FF7FAA0FB280DA -:10591000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88025 -:1059200098F6FF7F54FFFF7FF4F8FF7F010000002F -:1059300064FAFF7F0084048074FAFF7FB0B0A8800F -:1059400074FAFF7F40FFFF7F5CFDFF7F00840480CF -:105950007CFDFF7FB0B0A88094FDFF7F01000000B8 -:10596000080000200000000000000000F4020020F9 -:105970005C030020C40300200000000000000000C1 -:105980000000000000000000000000000000000017 -:105990000000000000000000000000000000000007 -:1059A00000000000000000000000000000000000F7 -:1059B00000000000000000000000000000000000E7 -:1059C00000000000000000000000000000000000D7 -:1059D00000000000000000000000000000000000C7 -:1059E00000000000000000000000000000000000B7 -:1059F00000000000000000000000000000000000A7 -:105A00000000000000000000000000000000000096 -:105A100001000000000000000E33CDAB34126DE633 -:105A2000ECDE05000B00000000000000000000009C -:105A30000000000000000000000000000000000066 -:105A40000000000000000000000000000000000056 -:105A50000000000000000000000000000000000046 -:105A60000000000000000000000000000000000036 -:105A70000000000000000000000000000000000026 -:105A80000000000000000000000000000000000016 -:105A90000000000000000000000000000000000006 -:105AA00000000000000000000000000000000000F6 -:105AB00000000000000000000000000000000000E6 -:105AC00000000000000000000000000000000000D6 -:105AD00000000000000000000000000000000000C6 -:105AE00000000000000000000000000000000000B6 -:105AF00000000000000000000000000000000000A6 -:105B00000000000000000000000000000000000095 -:105B10000000000000000000000000000000000085 -:105B20000000000000000000000000000000000075 -:105B30000000000000000000000000000000000065 -:105B40000000000000000000000000000000000055 -:105B50000000000000000000000000000000000045 -:105B60000000000000000000000000000000000035 -:105B70000000000000000000000000000000000025 -:105B80000000000000000000000000000000000015 -:105B90000000000000000000000000000000000005 -:105BA00000000000000000000000000000000000F5 -:105BB00000000000000000000000000000000000E5 -:105BC00000000000000000000000000000000000D5 -:105BD00000000000000000000000000000000000C5 -:105BE00000000000000000000000000000000000B5 -:105BF00000000000000000000000000000000000A5 -:105C00000000000000000000000000000000000094 -:105C10000000000000000000000000000000000084 -:105C20000000000000000000000000000000000074 -:105C30000000000000000000000000000000000064 -:105C40000000000000000000000000000000000054 -:105C50000000000000000000000000000000000044 -:105C60000000000000000000000000000000000034 -:105C70000000000000000000000000000000000024 -:105C80000000000000000000000000000000000014 -:105C90000000000000000000000000000000000004 +:10145000052D00D1B1E119D8022D00D145E107D801 +:10146000002D00D1F0E0012D00D1FBE09625EFE04A +:10147000032D00D122E2042DF8D1DBB2012B00D1E3 +:1014800060E2022B00D17EE29825E1E0082D00D138 +:10149000EDE160D8062D00D1ABE1072DE6D102F0D9 +:1014A00017FA90230120DB051A6802431A60102204 +:1014B000986119680A4304211A60802299611C68A6 +:1014C000D20122431A6080229A6180221C68520154 +:1014D00022431A6040229A611C682143196002214C +:1014E000996119680A431A6008229A618022494961 +:1014F00012034C692243484C4A612568474A2A43F3 +:101500002260414A15680543156084259062656133 +:10151000002590619062802065611C68C0052043B1 +:101520001860802000029862C0204C69C0022043ED +:1015300048610F2011680140116019683E48014060 +:101540001960D0683D490143D160A022D968520397 +:101550000A43DA607CE00A2D00D119E100D222E1D1 +:10156000802D83D19023012540208026DB056570E6 +:1015700098621A68760132431A60C04630491C6985 +:101580001A6804400A401A60DA680A40DA60F022F9 +:10159000002C36D11A680A401A60DA683243DA60E1 +:1015A0001A6994461A690192C0461A690292C046A5 +:1015B000C0461A690392C046C046C0461F69C0466D +:1015C000C046C046C0461E691A680A401A60DA68FA +:1015D0001140D96063462200034212D1019B2A00C8 +:1015E00003420ED10299023201420AD10399033219 +:1015F000014206D10432074203D1D632064200D05E +:10160000D13A104B9A70CCE000040048FFFFAAAA20 +:10161000000055550010024000080048555555552A +:10162000AAAAAAAA50550000AFAAFFFFFFFFEBFF2E +:1016300003FF0000FFF90000FFFFC3FF50555555A1 +:10164000FFEFFFFF00070020DD4A137002F040F9B2 +:10165000DC4C2570DC4B0098A2B2240C5A819C8192 +:1016600005B0F0BD02F034F99023DB059D611A68E6 +:1016700015438022D2001D609A62802219685203AD +:101680000A431A60022204219A611A680A431A6006 +:101690001022996119680A431A6008229A61196830 +:1016A00038320A431A608023C849DB024A69C84DB0 +:1016B0001343C84A4B6113682B401360D468C64B70 +:1016C0001C43D460106828401060D0680343D36086 +:1016D00080234A691B0313434B61C04BC04A1968FE +:1016E0000A431A6000255D61B2E702F0F1F8902329 +:1016F0000121DB051A68B5480A431A601022996176 +:101700001968B34E0A431A60042240219A611A688C +:101710000A431A6008229A6180229961196852016D +:101720000A431A6080224169D2020A43A9494261F0 +:101730000A6832400A60CD68A74A1543CD600C683C +:1017400034400C60CC682243CA6080224469120392 +:1017500022434261A14AA24C15682C430025146023 +:101760005561C0224469D2022243426108689D4A01 +:1017700002430A60A0221868520302431A609A4882 +:101780004A6902404A615A6998490A405A615FE7CA +:1017900090238022DB051968D2010A431A60802257 +:1017A0009A61002554E790238022DB051968D20155 +:1017B0000A431A6080229A62F3E702F089F89023C4 +:1017C0000121DB051A680A431A6010229961196821 +:1017D0000A431A60042240219A611A680A431A6077 +:1017E00008229A6180221868520102431A609961A6 +:1017F00059E702F06DF890230121DB051A68744D5A +:101800000A431A601022996119680A431A60042277 +:101810009A6119683C3211431960082199619A62F2 +:101820009A6180236949DB024A691343694A4B6123 +:1018300013682B401360D468674B1C43D460106856 +:1018400028401060D0680343D36080234A691B039B +:1018500013434B61614B624A196865481143196033 +:10186000196801401960D9680A43DA603AE702F062 +:101870002FF890230121DB051A680A431A6004221D +:101880009961196811431960196811431960102191 +:1018900018680143196040219A611A680A431A6066 +:1018A00080229D611868520102431A609961802369 +:1018B000464A1B0351690B435361CBE7DBB2022B52 +:1018C00021D00025032B00D1C2E69735012B00D093 +:1018D000BEE6802200253D491203486902434A6161 +:1018E0003E4A116899431160D1681943D16051682B +:1018F00019435160936111680B4313603D4B1D7098 +:101900003D4B1A60A4E6B023304A5B035169402086 +:101910000B4353619022D205136838490B40136082 +:101920008023D1685B011943D16051680143516044 +:10193000906111680B43062113602E4B19702E4BDA +:101940001A602EE790222E4BD2051A600622022141 +:101950002C4B1A701F4B2C4A13602C4A11702C4AC6 +:10196000013113602B4A11702B4A13602B4B174A1D +:101970001D70B02351695B030B43536101F0DCFE22 +:1019800001F0DAFE0DE790221D49D2050A601D49DB +:101990000B7003211C4B1A601C4B19701C4B49180F +:1019A0001A601C4B19701C4B1A6001221B4B1A70D9 +:1019B000B023064A5B0351690B435361E0E7C0461D +:1019C0000A070020000700200060004000100240CD +:1019D000FFFFAAAA0004004800005555000800486F +:1019E000555555555055000003FF0000FFF9000004 +:1019F000AAAAAAAA100700200C070020FFEFFFFFE9 +:101A000024070020280700201C07002020070020B2 +:101A10002C070020300700201407002018070020A2 +:101A20009678D7789588122E00D146E13FD8092EB6 +:101A300000D1F9E01ED8042E00D1EBE00BD8012E26 +:101A400000D1B8E0002E00D1A9E0022E00D1B7E00D +:101A5000A023FEF764FF062E00D1A7E000D2D4E059 +:101A6000072E00D1FEE0082EF2D13900280001F047 +:101A700057FA98E00D2E00D1EAE009D80B2E00D1DC +:101A8000EBE000D8D5E03900280001F0FBFA8AE04D +:101A90000F2E00D1D7E000D2D0E0102E00D1E6E02A +:101AA000112ED5D13900280001F032FB7BE0002354 +:101AB000262E01D1FEF733FF1BD8212E00D1AEE038 +:101AC00009D8142E00D1F3E000D2FBE0C74B202E42 +:101AD000BED11D7067E0232E00D1F8E075D3242E0F +:101AE00000D19FE0252EB3D13900280001F05CFA27 +:101AF00059E0842E00D123E133D8812E00D112E1A8 +:101B0000822E00D115E1802EA2D101219023617097 +:101B1000DB051868B64E30401860DA6802203240A3 +:101B2000DA608022D2009A6299619861B148456179 +:101B3000C046C0462DB29A61002D00DA9962C046B7 +:101B4000C046C046C046C046C04690228021AA4B2F +:101B5000D205C9001B69916201211B0A9161A37022 +:101B600021E0862E00D1F6E000D2EFE0872E00D1F2 +:101B7000F9E0882E00D06BE70126022166709F48AD +:101B800001F042FA31009E4801F03EFA02219B48E2 +:101B900001F03AFA3900280001F036FAC5E03900C0 +:101BA000280001F04FFC0023FEF7B9FE39002800A1 +:101BB00001F024FCF7E73900280001F06DF9F2E7A5 +:101BC0003900280001F020FAEDE78A4B02225D611E +:101BD00090238949DB059A6208688A4A3F020243DA +:101BE0000A604A692DB2D2B217434F61002D01DA63 +:101BF00001229A62C046C04601229A6192189A61F7 +:101C00000B68814A13400B60CDE73900280001F0D2 +:101C1000FFF8C8E73900280001F0ACFFC3E77B4BB1 +:101C20001D80C0E77A4B54E73900280001F068FCBA +:101C3000B9E73900280001F095F9B4E73900280028 +:101C400001F0DAFFAFE73900280001F0A5FFAAE7AD +:101C50003900280001F022FCA5E73900280001F036 +:101C600091FAA0E73900280001F0A0FB9BE7AA2128 +:101C7000684801F0C9F95521674801F0C5F9A0216C +:101C8000644801F0C1F93900280001F0BDF9A02035 +:101C9000564B0002197801F0B7F9280001F0B0FAAC +:101CA0000600C046280001F0ABFA8642F5D17AE77B +:101CB0003900280001F050FB75E73900280001F0D9 +:101CC00011FB70E73900280001F0E6FA6BE7534B8F +:101CD0009D4202D880231B021D43902700F0BCFDCB +:101CE0006B1CFF339BB20193FF05424B424E5D617B +:101CF0003268444B00021343FF2233607369134080 +:101D000018437061C0460823BB6200F0A5FD08239C +:101D10000135BB61019BADB29D42E6D133683A4AC1 +:101D2000134033603FE701236370280001F068FA35 +:101D300004E001232800637001F0D6F8A07032E7B8 +:101D400001232800637001F08BF8F7E7012363702B +:101D5000264B1B7803E7022363702C4B1B88A37070 +:101D60001B0AE3701FE701236370294BF1E79078AA +:101D7000D1789588AA23062801D9FEF7D0FDFEF771 +:101D8000E1FB042A1B2226322000FF201A49AB0067 +:101D90004A6903402248ED00024013434B61902200 +:101DA000C021D205C90053690D401E490B401D4397 +:101DB00055610023FEF7B3FD0022280000F064FD0A +:101DC000F7E70122F9E7280000F016FFF1E7280005 +:101DD00000F0EAFEEDE7012300216370280000F027 +:101DE00083FDA070E5E701216170F7E78C04002016 +:101DF000FFEFFFFF00080048000400480251000008 +:101E00000351000000005555FFFFAAAA3604002028 +:101E1000A3040020AAFA000055F50000FF1F0000EF +:101E200003FF0000FFF9000090789388002829D074 +:101E3000012844D1D178B84A5361C022D2019B18FD +:101E4000B64A9BB2934202D89023DB059862B44B0A +:101E5000B44A1868090202431A605A69D2B20A43A6 +:101E60005A6190220821D2059162C046C046C04600 +:101E70009161073991611A68AB490A401A600023E1 +:101E8000FEF74DFD0121A44A6170536190220420A8 +:101E9000D2059062C020C0011B18A0489BB28342AB +:101EA00000D89162C046C046C046C04601219C4B46 +:101EB0001B6991611B0A03319161A370DFE7AF23B6 +:101EC000FEF72DFD9578022D0CD0032D2BD0002D83 +:101ED00033D10223637001F0B5FDA070000AE070F9 +:101EE000FFF7B7FB9588914BD0781D80904B914AB6 +:101EF0001870894B000219680A4389491A600E68F4 +:101F0000884A32430A605D614A69D2B202434A613B +:101F100090220121D20591621A6887490A401A600D +:101F20000025FFF796FB90230122DB059A617C4A8E +:101F30007D4913680B401360F2E7B025FFF789FB7A +:101F40009078D5789188B123062801D9FEF7E7FC6F +:101F50007A4BFEF7F7FA0488630A2A7A810019801F +:101F60006D4B59610023FEF7DAFC19806A4B6D4A0C +:101F700059616B4B2D02196802200A431A605A6995 +:101F80000121D2B215439022D2055D619162906227 +:101F9000C046C046C046C046C046C046906191613A +:101FA0001A6861490A401A60DCE719805A4B5C4A9A +:101FB00059611168624B0B4313609023A021DB052C +:101FC000186849030143196051695E480140A8003F +:101FD0000143516159695C48ED0001400D43012105 +:101FE0005D619962C046C046C046C046C046C04614 +:101FF000C046C04608209862C046C046C046C0469B +:10200000C046C0469861C046C046C0469961116846 +:102010000730014011601A684C49C3E78425012646 +:102020003D4A0D43506955613D4D80B2AE61AE628F +:102030005061802590202D02C005490703D5856198 +:102040001B8853618EE78562FAE71888401980B2D1 +:10205000188000F04BFE85E71888401980B2188080 +:1020600000F0B2FE7EE7198002230800637000F0E2 +:1020700087FEA070000AE07074E7907893880428C7 +:102080002BD8FEF75FFA182A03080C00304A138099 +:102090000023FEF744FC180001F054FAF8E79023FF +:1020A0000222DB059A61C046C046C046C046C04613 +:1020B000013A9A61ECE7902202230421D205637071 +:1020C0009162C046C046C046C046134B1B69916131 +:1020D000A3709BB21B0AE370DAE7B223FEF71FFC82 +:1020E0009578D0789188112D00D19FE008D8012DE6 +:1020F00070D0002D2ED0022D00D17DE0822666E02A +:10210000212D00D186E0222D00D18AE0122DF5D1BB +:102110000223102063708CE000080048FF1F0000BD +:102120000004004800005555FFFFAAAA8A040020B9 +:102130008804002055555555AAAAAAAA08070020C8 +:102140005055555503FF0000FFF90000FFFFC3FF86 +:10215000A00400200127B84B04261B7810209F40C4 +:10216000FA43B64B01921D68AF626B6813406B6017 +:1021700000F067FBAF616B683B436B60FA20400087 +:1021800000F05FFBFA20AF626B68019A40001340D9 +:102190006B6000F056FBAF616B68013E3B43B6B22B +:1021A0006B60002EEAD10436FA2000F04AFBAF62E1 +:1021B0006B68019AFA2013406B6000F042FBAF613C +:1021C0006B68013E3B43B6B26B60002EECD12670CB +:1021D000FFF740FA984A994B12781E689540B5620D +:1021E00073681020AB43736000F02BFBB56173681C +:1021F0002B4373600026EAE701238F4A637012784D +:102200008F4993408D4A9BB21268002002F0E8FB90 +:10221000A070EFE7012302000020637001F014FDBD +:10222000F6E70123020063701020F7E70223002085 +:10223000637001F063FD6080DCE79078D17801384D +:10224000938808283CD8FEF77DF9050D150B1E3B39 +:10225000212731007B4B1B78A3700123637006E0BC +:10226000794BF8E7774A13708322774B1A70002373 +:10227000FEF755FB734A744D137083232B7001F0E6 +:10228000CBFA2B78E8E7714A1370F0E7704A5354A1 +:1022900052181B0A5370EAE700236D4A5218D05CAB +:1022A000E11801338870082BF9D1D7E70223684978 +:1022B0009A1E8A5CE2540133222BF9D1023BCDE70E +:1022C0008723FEF72CFB9078D578023891888A23F3 +:1022D0000A2801D9FEF723FBFEF734F9060B111685 +:1022E0001D24303C414950005A4B19800023FEF711 +:1022F00016FB584B1B881B040B439847F6E7FEF769 +:1023000037FA0300FEF70BFB534803689AB20B043D +:1023100013430360EAE7504A13681B0C1B040B438A +:102320001360E3E7042363704B4B1B681A0AA37026 +:10233000E2701A0C1B0E22716371D7E70223464A22 +:10234000637012684B00D3181A88A2701B881B0A8E +:10235000E370CBE7404B6D001B68E952C6E73E4A8D +:102360004B001168CB18136002226270ECE73A4B05 +:102370006D001A6855191D602980B7E70123637045 +:102380000233A370B2E78823FEF7C9FA93789188E5 +:10239000022B09D0032B0ED0012B10D12F4A090498 +:1023A00011600023FEF7BBFA2C4A13681B0C1B04B8 +:1023B0000B431360F5E70122284B1A60F1E78323F2 +:1023C000FEF7ADFA91780B00303B2F2B1AD8D0785E +:1023D000032814D8FEF7B6F816180211204B51291D +:1023E00000D199E044D8312973D00FD8002953D0B7 +:1023F000302967D0B423FEF792FA1A4BEFE7B523E2 +:10240000FEF78DFA184BEAE7184BE8E733296ED050 +:1024100066D35029EED1C022D20022801A7AA2704F +:10242000DA78E2705A7A22719A7A62719A78A27195 +:102430005B7CE371FFF70EF9100700200C0700200A +:1024400004000200C4040020E6040020E50400208B +:10245000C504002034040020300400209C04002027 +:102460006004002074040020380400204C04002084 +:102470007F2900D984E070295DD260293CD0612990 +:1024800043D05229B6D180221B889200A3701B0A28 +:102490002280E370FFF7DEF8FF22874BCA54013138 +:1024A0001029FBD10123854A5B425380844A538023 +:1024B000844A5380844A53800122844B1A7000233B +:1024C000FEF72DFA9288110AD9721A730023FEF7CB +:1024D00026FA9288110A59739A730023FEF71FFA9D +:1024E0009288110AD9731A740023FEF718FA928899 +:1024F0005A740023FEF713FA80235B00238093882D +:102500006D4AD35CA370FFF7A5F880235B0023809E +:102510006F4B1B68DB78F5E7C022D2002280DA7AA5 +:10252000A2701A7BE2705A7B22719A7B6271DA7B0D +:10253000A2711B7C7DE7614B15785C68644B186861 +:10254000C3787F2D00D998E0624D009E2E70002B3D +:102550000FD000250095982B00D194E004E00025D1 +:102560000095D02B00D18EE0584B10351D70FF2305 +:1025700004E0594B18609023C3706F33009382E0DE +:102580000720084003281AD8FDF7DCFF1C1E02179D +:102590004C4B802901D2FFF75DF8872916D970319D +:1025A000C9B2072901D9FFF755F800212170D17868 +:1025B000997292881A80FFF74DF8434BE9E7B523EB +:1025C000FEF7ADF93D4BE4E73D4BE2E79088D1786B +:1025D000C6B28D19BE22102D2CDC0432002929D060 +:1025E000DD78033AFF2D25D19D780132FF2D21D1D1 +:1025F0000022D7B28F4220D3384D0022AC464F0183 +:10260000013F1F727701000A67449870DA705A72AE +:102610009A721A80DA721A735A739A73DA731A7486 +:102620005A745F60244B9D19A8540132D3B28B4277 +:10263000FAD300222270FFF70DF80132B7181E4DB1 +:10264000013FEF5DFF2FD4D0C122F3E79378002B39 +:1026500004D0402B08D0D223FEF761F92370928872 +:102660001A4B1A70FEF7F6FF80235B002380174B8E +:102670001B7847E78023FEF752F9D82B00D06EE78E +:1026800080234468C37000234372C378902B01D029 +:10269000FEF7E0FF712901D0FEF7DCFF0E4B9188B9 +:1026A0001B685868017092885968120A4A705A7AF1 +:1026B00002325A72FEF7CEFFE704002038040020F1 +:1026C0004C0400206004002074040020A4040020B6 +:1026D000900400209804002094040020F8040020B6 +:1026E000F0B5194D040005A8067868690902C0B262 +:1026F0000843686190200421C00581622900002AF6 +:1027000001D101328262FF2500204A692D022A4050 +:102710001A430E4F4A61C046C046C046C0463A6999 +:102720000133120A22544A69DBB22A4001301A43AB +:10273000C0B24A61B042EED990230422DB059A610F +:10274000033A9A61F0BDC046000800480004004802 +:10275000F0B5184C050060690E02C0B230436061EC +:10276000902049B2C005002901DA0121816280214F +:10277000FF26C90081616169360231401143616100 +:10278000C04600200C4FC046C04639690132090AD4 +:1027900029546169D2B2314001301143C0B2616144 +:1027A0009842F0D990238022DB05D2009A62012260 +:1027B0009A61F0BD0008004800040048F0B5174CCD +:1027C00005000E0060691F2925D8802131430902C8 +:1027D000C0B20143616190210420FF26C9058862CF +:1027E00061693602314011436161C04600200C4FDF +:1027F000C04639690132090A29546169D2B23140AF +:1028000001301143C0B261619842F1D99023042292 +:10281000DB059A61F0BDC0B20902DAE700080048A2 +:1028200000040048002302000002002A04D1002B0B +:1028300001D0802318437047DB43511EDBB20A40AE +:10284000F3E70023800080B2C046C04601339BB24C +:102850009842F9D17047FFFF30B50722012409499A +:102860000868450D43086B404340C50FDBB26B4021 +:10287000013A23404000D2B21843002AF1D1086047 +:10288000C0B230BD9C040020134B10B55861134BEF +:1028900013481C680902204318605869C0B20143FC +:1028A000596190210820C9058862002A01D10132AE +:1028B0008A62C046C046C046C046C046C046C04602 +:1028C000C04690220821D2059161073991611A68AA +:1028D00004490A401A6010BD00080048000400487E +:1028E00000005555FFFFAAAA0F4B58619023DB0546 +:1028F000002901D101229A6204229A62C046C04690 +:10290000C046C046C046C046C046C046C046C04697 +:10291000C046C046C046054908699A61000A033AA4 +:10292000C0B29A617047C0460008004800040048E1 +:10293000F7B504000E004D7AC046C046C046C046FA +:10294000C046C046C046C046C0460022AA215848DC +:10295000FFF79AFF002255215648FFF795FF240202 +:10296000002220215248FFF78FFF23B20193EBB2E0 +:102970000093337AAB4216D28020009B0022737200 +:1029800090210002FFF780FF00228020110000024A +:10299000FFF77AFF80200022F0210002FFF774FF8A +:1029A000C0460020FEBD444B444A196808200A4333 +:1029B000FF211A605A690A40A02109020A435A619C +:1029C00090220121D20590629162C046C046C04665 +:1029D000C046FF24906191611A6839492C400A4031 +:1029E0001A60019B009A1C437368A4B2995C200092 +:1029F0000022FFF749FFC046C046C046C046C04659 +:102A0000C046C046C046C046C04600212000FFF771 +:102A10006BFF0700C046C046C046C046C046C04621 +:102A2000C046C046C0467368009A9B5C834217D07C +:102A3000C046C046C046C046C046C046C046C04666 +:102A4000C04600212000FFF74FFFB8420BD1C0461F +:102A5000C046C046C046C046C046C046C046C04646 +:102A60000135ADB283E7C046C046C046C046C04649 +:102A7000C046C046C046C046C046C046C046C04626 +:102A8000C046C046C046C046C046C046C046C04616 +:102A9000C046C046C046C046C046C046C046C04606 +:102AA000C04600212000FFF71FFF0700C9E7C0460E +:102AB000AA8A000055850000000400480000555512 +:102AC000FFFFAAAAF7B50F0003024D7A00933B7AE5 +:102AD000ECB2AB4202D27C720020FEBD0022AA21E1 +:102AE0001B48FFF7D1FE002255211A48FFF7CCFE04 +:102AF000009BEEB21E43002225213000FFF7C4FEEA +:102B000000221F213000FFF7BFFE23002033019376 +:102B10007B680022195D009B181980B2FFF7B4FE94 +:102B2000019B0134A342F3D1002229213000FFF799 +:102B3000ABFE00210098FFF7D7FE002104000098AB +:102B4000FFF7D2FEC0468442F3D12035ADB2BEE7D6 +:102B5000AA8A00005585000070B504000D0000220F +:102B6000AA210F48FFF790FE002255210D48FFF7DC +:102B70008BFE0022A0210A48FFF786FE00222900D2 +:102B80002000FFF781FE00212000FFF7ADFE0500C9 +:102B9000C04600212000FFF7A7FEA842F3D170BD78 +:102BA000AA8A00005585000070B504000D000022BF +:102BB000AA210F48FFF768FE002255210D48FFF7B4 +:102BC00063FE0022A0210A48FFF75EFE00222900D2 +:102BD0002000FFF759FE00212000FFF785FE0500C9 +:102BE000C04600212000FFF77FFEA842F3D170BD50 +:102BF000AA8A00005585000070B504000D0000226F +:102C0000AA210F48FFF740FE002255210D48FFF78B +:102C10003BFE0022A0210A48FFF736FE00222900D1 +:102C20002000FFF731FE00212000FFF75DFE0500C8 +:102C3000C04600212000FFF757FEA842F3D170BD27 +:102C400055550000AA2A0000C90152080A43FF2175 +:102C5000F0B585B00293234B0500586912B2090202 +:102C60001140C0B20143902459610121E405A162E1 +:102C70000331A162FF213F2658690902D2B2084000 +:102C800010435861B4460020174F01930391C0468A +:102C9000C046C046C046C046C046C046C046634661 +:102CA000396926698908F6089E4319403143295439 +:102CB0003E69411C019BC9B2360A6E545969039B97 +:102CC00001321940D2B2019B114359610230029B7B +:102CD000C0B28342DBD20423A361033BA36105B0EE +:102CE000F0BDC04600080048000400481E4B1F4AC3 +:102CF00070B5586110681E4BFF2603431360902384 +:102D0000A020DB051C6840032043186050690C02BA +:102D10003040204350615569164C080A2540840014 +:102D2000254355615C69144DC0002C4004435C612F +:102D30005069C9B2304009020143516108200121A4 +:102D400099629862C046C046C046C046C046C0466A +:102D50009861996111680730014011601A6807494C +:102D60000A401A6070BDC0460008004800040048D0 +:102D70005055555503FF0000FFF90000FFFFC3FF4A +:102D8000902270B5012104240D4BD2055861916247 +:102D90009462C046C046C046C046C046C046C02633 +:102DA000084B1869156900061B69ED083540800E4F +:102DB00028431B0ADBB2000294611843916170BD85 +:102DC000000800480004004870B504000D000D48DC +:102DD000AA21FFF78BFF55210B48FFF787FFA021A2 +:102DE0000848FFF783FF29002000FFF77FFF20003E +:102DF000FFF7C6FF05002000FFF7C2FFA842F6D18B +:102E000070BDC04655550000AA2A0000002070473A +:102E10000F4B30B59022586180230124D205DB008E +:102E200093620C4B94621D680B480902284318609A +:102E30005869C0B201435961C04608219162C04639 +:102E400091611968054801401960946130BDC04620 +:102E5000000800480004004800005555FFFFAAAADA +:102E60000B4B10B580215861902301220424DB050F +:102E7000C90099619A629C62C046C046C046054836 +:102E800000699C61000A9962C0B29A6110BDC04697 +:102E900000080048000400480E4B984202D88023E6 +:102EA0001B0218430C4B0D4A58610D4B0902186860 +:102EB00002431A605A69D2B211435961C046902246 +:102EC0000821D2059162C04691611A6805490A40FD +:102ED0001A607047FF1F00000008004800005555A9 +:102EE00000040048FFFFAAAA0A4B984202D8802398 +:102EF0001B021843084B042258619023DB059A6299 +:102F0000C046C046C046C046044908699A61000AE6 +:102F1000C0B27047FF1F00000008004800040048CE +:102F200070B504000D000D48AA21FFF7B5FF55212B +:102F30000B48FFF7B1FFA0210848FFF7ADFF2900BC +:102F40002000FFF7A9FF2000FFF7CEFF0500C046D5 +:102F50002000FFF7C9FFA842F5D170BD551500004C +:102F6000AA1A000070B504000D000D48AA21FFF751 +:102F700093FF55210B48FFF78FFFA0210848FFF76B +:102F80008BFF29002000FFF787FF2000FFF7ACFF31 +:102F90000500C0462000FFF7A7FFA842F5D170BD8D +:102FA00055150000AA0A000030B580239024DB00EC +:102FB000E405A361104B114A58610223A362104B30 +:102FC00009021D6800B22A431A605A69D2B211433D +:102FD0005961002801DA0121A162C046C0460121E1 +:102FE000A1614918A1611968064801401960802350 +:102FF000DB00A36230BDC046000800480000555504 +:1030000000040048FFFFAAAA9023DB0530B51C6826 +:10301000174D09022C401C60DA68164C2A40DA6011 +:10302000154A506102229A62144A00B215682C4374 +:1030300014605469E4B221435161002801DA01218E +:1030400099628021C9009961C046C046C046C04609 +:10305000C046C046C046C046C0469962012199613B +:1030600049189961136806490B40136030BDC0468A +:10307000FFEFFFFF0000555500080048000400481E +:10308000FFFFAAAAF7B505001C4B01911E781C4B47 +:1030900074001F8820213C19A4B22000FFF7B4FF60 +:1030A000AA211848FFF7F8FEA01B80B21021FFF7F5 +:1030B000ABFF55211448FFF7EFFE20212000FFF75A +:1030C000A3FFA0210F48FFF7E7FE104B18784643F7 +:1030D0000101BE19C9B2B0B2FFF796FF01992800ED +:1030E000FFF7DAFE2800FFF7FFFE0400C0462800C5 +:1030F000FFF7FAFEA042F5D1F7BDC046A3040020B9 +:103100003604002055150000AA0A00008C04002097 +:1031100070B50400B0200E0000020A21FFF774FF12 +:10312000C0200A210002FFF76FFFAA211248FFF713 +:10313000B3FE55211148FFF7AFFEA0210E48FFF75F +:10314000ABFEB0200E4B00021D782900FFF75CFF9C +:10315000C02029000002FFF757FF31002000FFF7D1 +:103160009BFE2000FFF7C0FE0500C0462000FFF7D1 +:10317000BBFEA842F5D170BD55150000AA0A00009B +:103180008C040020F8B505000E00194B02211C88A4 +:10319000A71CBFB23800FFF737FFAA211548FFF779 +:1031A0007BFE601C80B20121FFF72EFF55211248E3 +:1031B000FFF772FE02213800FFF726FFA0210D481D +:1031C000FFF76AFE0D4B19786418A0B2FFF71CFFD9 +:1031D00031002800FFF760FE2800FFF785FE04009D +:1031E000C0462800FFF780FEA042F5D1F8BDC046DA +:1031F0003604002055150000AA0A00008C040020A7 +:103200000B4B5861902300B2DB05002801DA012244 +:103210009A628022D2009A61C046C046C046C0462B +:10322000044908699A620122000AC0B29A61704793 +:10323000000800480004004870B504000D00A021FB +:10324000FFF7B2FE29002000FFF7AEFE2000FFF7D7 +:10325000D7FF0500C0462000FFF7D2FFA842F5D1F6 +:1032600070BD70B50400A0200D00C0015421FFF70F +:10327000CBFEA0212000FFF797FE29002000FFF7DA +:1032800093FE2000FFF7BCFF0500C0462000FFF7BB +:10329000B7FFA842F5D170BD70B50400A0200D00A5 +:1032A0000D4BC0011978FFF7AFFEAA210B48FFF7BD +:1032B000ABFE55210A48FFF7A7FEA0210748FFF7FC +:1032C000A3FE29002000FFF79FFE2000FFF798FFD4 +:1032D000A842FAD170BDC0468C04002055D500002C +:1032E000AAAA000070B50400C0200D000002012150 +:1032F000FFF78AFEAA211548FFF786FEC0200021AD +:103300000002FFF781FE55211148FFF77DFEC02026 +:1033100001210002FFF778FEA0210C48FFF774FEA0 +:10332000C0200C4B00021978FFF76EFE2900200028 +:10333000FFF76AFE2000FFF763FF0500C04620008C +:10334000FFF75EFFA842F5D170BDC046559500005D +:10335000AAAA00008C04002070B504000D001048DB +:10336000AA21FFF751FE55210E48FFF74DFEA0217F +:103370000B48FFF749FE29002000FFF745FEA0207B +:10338000094B00021978FFF73FFE2000FFF738FFD6 +:103390000500C0462000FFF733FFA842F5D170BDFD +:1033A00055D50000AAEA00008C04002070B5040086 +:1033B0000D001048AA21FFF727FE55210E48FFF700 +:1033C00023FEA0210B48FFF71FFE29002000FFF776 +:1033D0001BFE802002210002FFF716FE2000FFF7EF +:1033E0000FFF0500C0462000FFF70AFFA842F5D1F5 +:1033F00070BDC04655D50000AAAA00000D4B0E4A6C +:1034000058610E4B0902186802431A605A69D2B219 +:103410001143902259618021D2051068490101436E +:1034200011604021916291611A6805490A401A6051 +:103430007047C04600080048000055550004004889 +:10344000FFFFAAAA104B114A10B558611068104B23 +:1034500009020343136053690E4CDBB219439023F6 +:1034600051618021DB05186849010843186040203C +:103470009862186820401860D8680143D9601368C2 +:1034800005490B40136010BD0008004800040048C7 +:1034900000005555FFEFFFFFFFFFAAAA70B505001A +:1034A0000E00134B00211C882000FFF7ADFDAA2160 +:1034B0001048FFF7C7FF55210F48FFF7C3FFA021B2 +:1034C0000C48FFF7BFFF0D4B19786418A0B2FFF747 +:1034D0009BFD31002800FFF7B5FF2800FFF790FEA5 +:1034E0000400C0462800FFF78BFEA042F5D170BD56 +:1034F0003604002055550000AA2A00008C04002044 +:1035000070B504000D000D48AA21FFF79BFF55215F +:103510000B48FFF797FFA0210848FFF793FF29000A +:103520002000FFF78FFF2000FFF76AFE0500C0466E +:103530002000FFF765FEA842F5D170BD555500008B +:10354000AA2A0000902270B50225D2059561C046D6 +:10355000C046C046C046C046C04601240D4B9461DB +:103560001E680D49314319600C4909885961C046EC +:1035700095625861C04694621A6809490A401A6007 +:10358000C046C046C046C046C046C046C046C0460B +:1035900070BDC0460008004855555555A004002090 +:1035A000AAAAAAAAF0B58BB009920122089111002B +:1035B000354B02901F78354B1B780493344B1D68B4 +:1035C000344B1B789940344B01911868334BA962F6 +:1035D0001B789A40029B102B4FD18262012421005C +:1035E0002F4B05941B6806932E4B1B7899408BB28A +:1035F000210007932C4B1B689C462C4B1B78994051 +:10360000002303911900029C202C05D1049E059CE7 +:103610001E41264236D08261089C202C0FD1002BFF +:1036200001D11A4C6354069C2669079C264206D099 +:10363000164C665C059C9C402643144C6654099CC1 +:10364000013FFFB2002C03D0002F01D1019CAC61DF +:103650006446039E0133DBB2A661A662082B05D146 +:1036600001310A4BC9B25B5C04930023002FCAD11D +:10367000019B8262AB620BB0F0BD029B112BADD1FE +:103680008261ABE78262C7E7E5040020C504002041 +:103690002C070020300700201C07002020070020F6 +:1036A0002407002028070020140700201807002006 +:1036B000F7B501221A4B1C781A4B19681A4B1B7864 +:1036C0009A40102826D18A6201263500174B0196B0 +:1036D0001B680093164B1B789D400023AC461D00D1 +:1036E00020280DD1134E019F765D1E413E4215D01C +:1036F0008A610133DBB2082B02D100230135EDB220 +:103700006646009F013CE4B2BE61BE62002CE7D178 +:103710008A62F7BD1128D7D18A61D5E78A62E8E7C6 +:10372000E50400202C0700203007002014070020AB +:1037300018070020C5040020F0B52C4B85B01B787D +:10374000019301231E00019A1F009640284A116828 +:10375000284A8E62127802921A0002988240944699 +:103760006046254A12689062244805782448AF4094 +:1037700000689D408762046803941C00AC402500EB +:10378000039C254305604568019CBD4345609C4002 +:103790001D00A54008681C00284308604868B04325 +:1037A00048601068029999408C40210001436046AE +:1037B000116051688143134851600078124A984063 +:1037C00083401268116899431160D1680B43D3603C +:1037D000002319000D4A13700D4A99540133202B10 +:1037E000FBD180220B4B1A7005B0F0BD30070020D2 +:1037F0002C070020200700201C07002018070020AD +:10380000140700202807002024070020E5040020DA +:10381000C5040020E604002010B52B4B1B78082BB4 +:103820004ED013D8294C032B39D006D8012B28D0E1 +:10383000022B2AD0254BEE223AE0062B3AD03DD877 +:10384000042BF7D101222021112021E00F2B28D0B9 +:1038500008D81E4C0D2B1FD000220E2BEAD12021A0 +:10386000102015E0802B06D0184CFF2B06D0102B13 +:10387000E0D100221FE0FFF75FFF10BDF0232370AF +:10388000FBE72020FFF714FF04E0012200212020A5 +:10389000FFF788FE8223F2E700221100F7E70122FA +:1038A000DDE7002220211120FFF77CFE8222074B5A +:1038B0001A70E2E7012220210800E9E71020E1E781 +:1038C0001120FFF7F5FEF1E7C4040020E604002014 +:1038D000BC224D4BD203996AF0B50A439A629A6AA8 +:1038E0004A490A409A62B022596952030A435A610E +:1038F00019009023464ADB051278102A03D10022D2 +:103900001A609A60DA601A684248012402401A601C +:103910008022D868D2010243DA601A683E483F4FDD +:1039200002401A608022D868520302430420DA6001 +:103930001A68A2431A60DA682243DA601A6882437E +:103940001A60DA680243DA6010221D6895431D6030 +:10395000DD682A43DA6040221D6895431D60DD68FA +:103960002A43DA601A682E4D2A401A608022DD68E8 +:10397000D2042A43DA601A682A4D2A401A6080224B +:10398000DD68D2052A43DA601A68274D2A4080256F +:103990001A60DA68ED022A43DA60244A1668A64300 +:1039A0001660D6683443D4601E683E401E60DC68F2 +:1039B0003C40DC6080234C691B0323434B611C4B60 +:1039C0001C4C1E681C4F26431E601E683E401E6035 +:1039D000DE683443DC604B691D434D611368174D4D +:1039E0002B401360D468164B1C43D46011682940E7 +:1039F0001160D1680B43D360136883431360D368AD +:103A00001843D060F0BDC04600100240FFFFA1FF88 +:103A10000A070020FFBFFFFFFFFFEFFFFFEFFFFFE1 +:103A2000FFFFFFFBFFFFFFBFFFFFFBFF000400489E +:103A30000008004855555555AAAAAAAAFFFFAAAAE8 +:103A4000000055550D480E4A038810B50D499342A4 +:103A500002D10A7801320A7090220424D20501337F +:103A600094620380084B18699461084C0B78626972 +:103A70001B02D2B2134380B2636110BD8A040020DE +:103A8000FFFF0000880400200008004800040048F0 +:103A9000F7B50D00042701924C7A000203B2A6B2DA +:103AA00000932B7AB34202D26C720020FEBD0098C4 +:103AB0006B682043195D80B2019B98476B681A5D63 +:103AC000094B824205D01A683A431A6002229A6171 +:103AD000E7E71A680134BA431A60DA6801363A43F4 +:103AE000DA60E4B2B6B2DCE700040048F7B50D00D6 +:103AF0001600FF27000203B24C7A01932A7AE3B240 +:103B0000A24202D26B720020FEBD20006A683840DB +:103B1000D15C019B0134184380B2B047A4B2EDE7F9 +:103B2000022907D10F4B104A984218D0904209D170 +:103B3000180007E0032906D10A4B0B490B4A9842AB +:103B40000BD1080070470429FCD1064B064A984265 +:103B500005D006499042F4D0054A8842E6D11000CB +:103B6000F0E7C046380400204C0400206004002028 +:103B70007404002070B506000D0005243000013CDF +:103B8000FFF73EFBE4B229003000FFF73DFA6D0875 +:103B9000002CF3D170BDFFFF70B50400A0200D0014 +:103BA00000020221FFF7E6FFAA211048FFF774F98F +:103BB00055210F48FFF770F9A0210C48FFF76CF969 +:103BC000A0200C4B00021978FFF7D4FF2900200039 +:103BD000FFF762F92000FFF787F90500C0462000D3 +:103BE000FFF782F9A842F5D170BDC0465515000017 +:103BF000AA0A00008C04002070B50400C0200D004B +:103C000000020521FFF7B6FFAA210D48FFF7FCF9D6 +:103C100055210C48FFF7F8F9A0210948FFF7F4F9FE +:103C200029002000FFF7F0F92000FFF7E9FA05006E +:103C3000C0462000FFF7E4FAA842F5D170BDC046A7 +:103C400055550000AAAA0000F7B501230225294F07 +:103C500001923A780091054393400421A020264E1A +:103C60002D049BB229433268C00100F0B9FE040064 +:103C700001283DD13B7809209C4005437830A3B210 +:103C800032682900FF3000F0ABFE040001282FD17C +:103C90003B7832689C402900A3B2002000F0A0FECF +:103CA0000400012824D1009B180AFEF7BBFD3B78D5 +:103CB00032689C402900A3B200F092FE0400012863 +:103CC00016D16B461878FEF7ADFD22003B7829002F +:103CD0009A4093B2326800F083FE0198FEF7A2FD8D +:103CE0003B7832689C402900A3B200F079FE0400C2 +:103CF000E0B2FEBD100700200C070020F7B501233D +:103D00000225274F00903A78019105439340042102 +:103D1000C020244E2D049BB229433268800100F05C +:103D20005FFE0400012838D109231D433B78C020E1 +:103D30009C403268A3B22900400000F051FE04000C +:103D400001282AD13B7832689C402900A3B2002088 +:103D500000F046FE040001281FD1019B180AFEF75F +:103D600061FD3B7832689C402900A3B200F038FE28 +:103D70000400012811D16B461879FEF753FD22008B +:103D80003B789A4093B2009A14430922E1B20904A5 +:103D90001143326800F024FE0400A0B2FEBDC0460C +:103DA000100700200C070020C64BC74AF0B51A6068 +:103DB000C64A8BB01A6002225A60A02212019A6091 +:103DC0000493049BDB68002BFBD19022049BC04929 +:103DD00012031960BF4B186802431A6080220991D0 +:103DE000920219681142FCD0012259680A435A60B4 +:103DF0008022596852020A435A608022596852034D +:103E00000A435A608022196852040A431A608022C9 +:103E1000920419681142FCD01121AF4AAF4C1160D5 +:103E20005A680E398A43110002220A435A608022DE +:103E3000196B0A431A638022D96912040A43DA61B2 +:103E4000A74BE381BC231B689847A64B6382A64B14 +:103E5000238262B6FFF73CFDF022A44B1A70049B4C +:103E6000099AA34E1A603278202311009943D2296F +:103E70001BD1A049A048C978C3780224FF2904D1E6 +:103E8000FF3B1C00631E9C41E4B29C4BDB78FF2B84 +:103E900000D003249A4BDB78FF2B00D00424994BED +:103EA000994F1C703860D22A59D03378F22B05D143 +:103EB0000022023B3370944B1B68DA703578D02DAA +:103EC00000D088E2904E3068C378802B00D082E228 +:103ED0008C4B1978FFF724FE00233060C5700688EC +:103EE00004004372C07AF5B21038232800D970E27A +:103EF000FCF742FBDC01FF013F0243026F026F024D +:103F00006F026F026F026F026F026F026F026F0229 +:103F10006F026F0238008D00E000E50010011A0109 +:103F200021015D0173017B016F026F026F026F025D +:103F30006F026F02BB019B00450082012100FFF769 +:103F4000EFFD01230135EDB2A542F7D3002B00D0E0 +:103F5000386080223B68DA70D0233370A5E70023F5 +:103F60000125F1E7E17B0F2900D957E2090131432F +:103F7000237AA278C9B26068FEF7EAFB53E0E17BDE +:103F80000F2900D94AE2636809019C46237AA27886 +:103F900002935E4B0E4376B25969F0B2C9B2000289 +:103FA000014359611F00002E03DA90210120C90549 +:103FB0008862FF2559692D02294011435961C04685 +:103FC000902080260023C005F60005958661C04636 +:103FD000C046C046C046C046C046C046C046C046B1 +:103FE00065464B4901320969D2B2090AE954866231 +:103FF0007969059D01332940114379610299DBB24A +:104000009942E3D20122866282616372DCE03C2342 +:10401000E17B0A009A4300D000E2237AA278294388 +:104020006068FEF7CBFB6072CEE0E17B3C230A00C8 +:104030009A4300D0F2E1636829439C46237AA5782D +:104040000293324B5A691F292FD88020014309025D +:10405000D2B20A435A61FF27902104265A693F02CF +:104060003A40C9052A435A618E628E61C046C046F5 +:10407000C046002205978E62C046C046C0466746CD +:10408000234801350069EDB2000AB8545869059F0C +:104090003840284358618E61C046C04601320298BC +:1040A000D2B29042E7D262728EE0D2B209021143DC +:1040B0005961D0E7237AA278E17B29435BE7E17B72 +:1040C0003F23A6E700300040CCCC0000555500004F +:1040D000AAAA000000100240002002400060004038 +:1040E0003CA5FFFF4108000885080008E604002001 +:1040F000A40400204C0400203804002060040020A8 +:1041000074040020A204002090040020000800484D +:1041100000040048227AE17BA37800920022294320 +:104120006068FEF7DDFA7EE7E17B227AA378294317 +:1041300000920122F4E7BA4BE17B586929430E0251 +:10414000C0B230436568A278277A5861902004266F +:104150006031C005C9B286621E001F2901D8012145 +:104160008162FF2059690002014011435961C04634 +:10417000AC4900238C46C046C046C046C046C04637 +:10418000C046C046614609690132090AE9547169AD +:10419000D2B2014001331143DBB271619F42EAD2D6 +:1041A00090220421D2059161033991612DE7002508 +:1041B000267A67687608FFF745FC0135EDB238804E +:1041C0000237AE42F7D26572974B1B6819889A7A0C +:1041D00052181A80D822DA70FDE0E17B237AA278A7 +:1041E00029436068FEF730FD1DE7E17B237A294310 +:1041F0000131A278FF31F4E76368E17B9C46884B8C +:1042000029435A690902D2B20A43A678277A5A6129 +:1042100090220121FF20D2059162033191625A69F7 +:104220000002024032435A6100227E4D0290C04695 +:10423000C046C046C046C046C046C046C0466046AE +:1042400029690136090A815459690298F6B2014078 +:1042500001323143D2B259619742E8D2902304210E +:10426000DB059961012199611DE7A3786668277ACA +:10427000002B02D12802FFF765F9694A902000233C +:1042800004259446C0058562C046C046C046C04667 +:104290006246116985618AB2120AF2545A1C0233CD +:1042A000D2B2DBB2B1549F42EDD2AEE6E37B1E2B1D +:1042B0000BD1C020B6092233F1B200029D43FEF7B4 +:1042C000A3FE237AA2788021F7E61C2B00D07BE79F +:1042D000A0208121C001FEF797FE8020F609F1B2EF +:1042E0000002FEF791FEA0200021C001FEF78CFE27 +:1042F0006AE7E37BFE2B00D066E77609F1B24B4814 +:10430000FEF7CAFD1F21636829409C46444B090201 +:104310005A69A678D2B20A43277A80215A6190223C +:10432000C900D20591610121FF20916203319162A0 +:104330005A690002024032435A61C0460022394D98 +:104340000290C046604629690136090A81545969BC +:104350000298F6B2014001323143D2B2596197421C +:10436000EFD290230421DB0599618021C900996275 +:1043700078E7237AA27860219FE6E37B002B20D1A7 +:104380008033F6091D43F3B20393FF20039B2549B5 +:104390009B004A6903402648024013434B61C020FA +:1043A0009021039BC905C000DB004A6903402148F6 +:1043B000024013434B61227AA37829000092002225 +:1043C000AEE6012BE1D140217604760E3143039114 +:1043D000DBE7C323E370184B1D78F02D00D0CEE24D +:1043E000114E3468E378982B00D0C8E2134B2000BC +:1043F0001978FFF795FB00233060C370E07AE57011 +:1044000025881038EEB2052800D9B6E2FCF7B4F8DA +:10441000180052011F022702E600AD02C423D9E7AB +:10442000000800480004004890040020FF3F0000FE +:1044300003FF0000FFF90000A4040020A2040020F4 +:10444000E37B002B06D130008038C0B2DD4A21006A +:10445000FFF71EFBE37B012B06D130008038C0B292 +:10446000D94A2100FFF742FBE37B022B06D1300043 +:104470008038C0B2D54A2100FFF738FBE37B042B1C +:1044800006D130008038C0B2D14A2100FFF700FBCE +:10449000E37BFC2B06D130008038C0B2CD4A21002E +:1044A000FFF7F6FAE37B0A2B06D130008038C0B262 +:1044B000C94A2100FFF7ECFAE37BFD2B15D13F2021 +:1044C000238830409B0905936B4680261B7D06435D +:1044D0000793677ABBB2029333021BB20893237A25 +:1044E000029A934200D380E06772E37B1E2B06D1D1 +:1044F00030008038C0B2B94A2100FFF7C9FAE37B27 +:104500000C2B17D11F20304080260643C020258861 +:10451000A5216D09EDB2C001FEF776FD2900B04876 +:10452000FEF772FD677A35023D43237ABB4200D322 +:10453000A3E06772E37B1C2B21D1AA21A948FEF7D7 +:1045400033FD5521A848FEF72FFD2021A548FEF791 +:104550002BFD30008038A54A2100C0B2FFF798FA41 +:10456000802090210002FEF71FFD80200021000224 +:10457000FEF71AFD8020F0210002FEF715FDE37B17 +:104580001F2B21D1AA219A48FEF70EFD55219948EB +:10459000FEF70AFD20219648FEF706FD3000703830 +:1045A000954A2100C0B2FFF773FA902090210002D3 +:1045B000FEF7FAFC902000210002FEF7F5FC9020A7 +:1045C000F0210002FEF7F0FCE37B6F2B06D13000F8 +:1045D0008038C0B2894A2100FFF75AFAF4232288B2 +:1045E000E370A37A9B182380C9E100218448FEF779 +:1045F0000BFDAA218348FEF701FF55218248FEF7F3 +:10460000FDFEA0217F48FEF7F9FE6B46187D7F4B2B +:104610000799C01880B2FEF7F7FC089D63683D4318 +:10462000ADB2D95D2800FEF7E9FEC0462800FEF7CE +:10463000E7FD06902800FEF7E3FD069B8342F4D1D8 +:1046400063680699DA5D724B8A420FD1029A196843 +:10465000013292B20292042291431960D968013763 +:104660000A43DA600222FFB29A6238E7042219682C +:104670000A431A6002229A6131E7AA216548FEF7CF +:10468000C3FC55216448FEF7BFFCA0216148FEF73A +:10469000BBFC63682800D95DFEF7B6FCC046280065 +:1046A000FEF7AEFD02902800FEF7AAFD029B8342B2 +:1046B000F4D13AE7E37B002B04D1584A21003000C3 +:1046C000FFF714FAE37B012B04D1554A2100300097 +:1046D000FFF70CFAE37B032B04D1524A2100300090 +:1046E000FFF704FAE37B042B04D14F4A210030008A +:1046F000FFF7FCF9E37B0A2B04D14C4A2100300080 +:10470000FFF7F4F9E37B0B2B04D1494A2100300079 +:10471000FFF7ECF9E37BFE2B00D05FE721884548EB +:104720004909C9B2FEF7B8FBAA214348657AFEF7EA +:104730006FFB55214148FEF76BFB3F482021FEF7F8 +:1047400067FB1F2030400302AFB20593237ABB42C0 +:104750000DD2657290210020FEF75AFB002108005F +:10476000FEF756FBF0210020FEF752FB36E7059ED0 +:10477000A0212E433000FEF74BFB63683000595DEB +:10478000FEF746FBC0463000FEF76AFB02903000A1 +:10479000FEF766FB029B8342F4D1636802995A5D7F +:1047A0001B4B8A424CD104211A6801358A431A6096 +:1047B000DA6801370A43DA600222EDB2BFB29A62C8 +:1047C000C4E7C04601350008F93B00089D340008E5 +:1047D000AD3300080D2E000859330008E5320008FB +:1047E000FFFF0000AA8A0000558500006332000820 +:1047F000AA9A000055950000393200089932000845 +:1048000069FD000055550000AA2A000069FDFFFF60 +:104810000004004855D50000AAAA0000652F000832 +:10482000993B000885310008212F0008113100084C +:1048300085300008FF3F0000AA0A0000550500006F +:1048400004211A680A431A6002229A617EE7300046 +:1048500060305A4A2100C0B2FFF748F9BEE6E37B58 +:10486000042B06D130008038C0B2554A2100FFF732 +:104870003DF9E37B052B04D1514A21003000FFF7BD +:1048800035F9E37B062B06D130008038C0B24D4AA3 +:104890002100FFF72BF9E37B072B04D1494A2100C4 +:1048A0003000FFF723F9E37B0A2B06D13000803874 +:1048B000C0B2454A2100FFF7EBF8E37B0B2B04D194 +:1048C000414A21003000FFF7E3F8E37B082B05D1D4 +:1048D00030008038C0B22100FEF7F4F8E37B092BEA +:1048E00003D121003000FEF7EDF8E37B002B1CD153 +:1048F000FF2280331E4323883448DB09DBB29D004E +:1049000041692A40324DDB0029400A43426190222E +:10491000C020D205C000516903402E4801400B431E +:10492000536121003000FEF703F8E37B012B00D038 +:1049300054E62388254A5B04580E40230343FF2096 +:104940009B0051690340224801400B439021536171 +:10495000C9054B691F4A30001A4080239B0013434E +:104960004B612100FDF7E4FF38E62D02667AADB217 +:10497000237AF0B2B34210D26072C323E370164BB5 +:104980001B78F02B01D1FFF76AFA832B01D0FFF7D8 +:1049900066FAFEF741FFFFF762FA63680236195CB8 +:1049A0000130C0B21B5C0902C9184008284389B213 +:1049B0000135FEF709FAADB2B6B2D9E70930000801 +:1049C000F92B0008A92B0008592B00080004004807 +:1049D00003FF0000FFF90000E6040020FFFFFFFFD7 +:1049E000F0B5474680B4061C081C000C102801D501 +:1049F000162700E004270007000F8046FF20014033 +:104A00005468251C1D439C43F60313850AD5C046F4 +:104A1000C046C046C046C046C046C04694801383C8 +:104A2000958002E0012000F081F801390AD4381C99 +:104A300000F07CF8C046948013839580C046C04641 +:104A40007600E2E7381C013800F070F89480138398 +:104A50009580042000F06AF8108A184001D0FF20E9 +:104A600061E0C046C046C046C046C046C0469480CD +:104A70009580108A184055D001200226B04552D0AA +:104A80000921168A1E40FCD1012000F04FF89480C5 +:104A9000C0469580C04603E0C046C046C046C046FA +:104AA000948095807600108A1840EFF300804000D3 +:104AB000C00F0643381C023800F038F89480958007 +:104AC000022000F033F80139EAD5138594800120E3 +:104AD00000F02CF813839580301C8021022399402C +:104AE0000E401BD1002341085E4149085E41490840 +:104AF0005E4149085E4149085E4149085E414908F6 +:104B00005E4149085E4149085E41760808D3400885 +:104B1000FF21084048400002013004E00E2002E07E +:104B2000092000E0002080BCB846F0BD0138FDD16E +:104B30007047C04603685A0003D45B005B08C01886 +:104B40007047802212061343F9E7C046F0B5574676 +:104B50004E46DE464546E0B5814683B09246002982 +:104B600025D04B1E9B46002701935B46FB18DC0FAC +:104B7000E4184B466410E5005E193000FFF7DAFFD9 +:104B8000019B8046A3420BD0280008304844FFF721 +:104B9000D1FFD04506D80138504509D2671CE4E75B +:104BA000504505D9A74202D0631E9B46DDE700268B +:104BB000300003B03CBC90469946A246AB46F0BDDF +:104BC000012809D0022805D0002801D00020704714 +:104BD0000248FCE70248FAE70248F8E7B552000845 +:104BE000CD520008C152000830B5234B83B00500F8 +:104BF0008C1E002B26D001A9200000E000BF002859 +:104C00001CD001992200FFF7A1FF041E16D0FFF768 +:104C100091FF6368A864012B2AD0201D002B23DBA1 +:104C2000FFF788FF0023E8642B650368002B0FDB88 +:104C3000FFF780FF2861002003B030BD002309206A +:104C40002B61F9E70D480E49091AC9100191D9E7FE +:104C50001801000FFFF7B4FF2861431E9841082395 +:104C6000404298430930E7E70123E8642B65DCE71D +:104C7000002305202B61DFE700000000B05B000887 +:104C8000805C0008036810B50400DA0705D44830DA +:104C90009B070ED500F06CFC23685A070ED51A0747 +:104CA00013D5DB0604D42000D130FF3000F06CFCBB +:104CB00010BD00F059FC23685A07F0D42000D03012 +:104CC00000F05AFC23681A07EBD420005130FF3063 +:104CD00000F056FC2368E4E70368002B00D01B18A3 +:104CE00018007047092070477047C04670B504002F +:104CF0000D0008E02B6C2A0063612100012023696C +:104D00009847082807D1296C2000FFF76DFF00287D +:104D1000F0D000F083FE0728FBD10020296CFFF7BC +:104D2000E3FF281D00F00AFCF0B5CE46474680B5EB +:104D3000C3682E4C9846A5448369060014000431CC +:104D4000402205A8994600F071FE002304AD0493AB +:104D500023E0F0222B6C5200736129007CA800F044 +:104D600065FE7CAA31003369200098478A9B0700C2 +:104D70006B6403934B46009501933200330021008E +:104D80000120C04700281FD1F0227CA95200280032 +:104D900000F04CFE0024082F1FD1296C3000FFF7D3 +:104DA00023FF611E8C41070009340028D1D0AB6B72 +:104DB00010216B644B462143019300953300320070 +:104DC0000120C047002800D009273800F5239B00A8 +:104DD0009D440CBC90469946F0BD072FF4D12000AD +:104DE000296CFFF781FF05A800F0A8FB2CFCFFFF52 +:104DF000406C704770B5CB6BFAB00B6404000E00CA +:104E00004022043103A800F011FE01235B4202930B +:104E100006E002AA210023699847050008280AD164 +:104E2000129B200019000193FFF7DEFE0028F0D04E +:104E300009207AB070BD02A8FFF724FF062DF7D134 +:104E400031002000FFF752FF10B58261DA6BC160BC +:104E50001A6419000022FFF767FF10BD436970B59F +:104E60000B64C36804000D00002B15D10A002369F0 +:104E7000010002209847072807D0082803D12900FD +:104E80002000FFF733FF00F0C9FD0020296CFFF779 +:104E90002BFF281D00F052FB0122FFF745FF00F019 +:104EA000BDFDC046C36810B5002B05D0CB6B0022FA +:104EB0000B64FFF739FF10BDFFF79CFFFBE7C0460F +:104EC0007047C046836810B5002B02D00100012056 +:104ED000984710BD012906D0002906D003390220C9 +:104EE000012900D970470120FCE7002B08D10F2AC7 +:104EF00006D8920082185268009B00201A60F1E7E1 +:104F00000220EFE700B585B003AB0A000093002153 +:104F10000023FFF7DFFF039805B000BD012906D08D +:104F2000002906D003390220012900D97047012049 +:104F3000FCE7002B08D10F2A06D8009B92001B68C3 +:104F4000821853600020F1E70220EFE700B585B03A +:104F500003AB039200930A0000230021FFF7DEFF5A +:104F600005B000BD70B51A4CD36BA54413640600A0 +:104F70000D0019A8111D402200F058FD01235B42CD +:104F8000189314E00C2118A802AAFFF7DFFF2900EC +:104F900018A8B047002812D1069B18AA02A9083009 +:104FA00001939847040005280AD0092807D0289BB8 +:104FB00002A819000193FFF717FE0028E2D0092488 +:104FC00018A8FFF75FFE200090239B009D4470BD52 +:104FD000C0FDFFFFF0B5DE4657464E464546E0B5FC +:104FE000160003220D0011008BB01F000193EB6C23 +:104FF00001401C1D009107A91B688B460894002FD7 +:105000006BD01A0C1B045946079302230B72FD3315 +:1050100013409B004A72E418009B022B00D1AC6B3A +:105020002B6DDB0747D4002305930833034002931D +:105030002768002F00D112E1019B022B49D0638821 +:10504000278898460434012340469A469843AB6C1F +:105050000F21994681443000FFF754FF002181451C +:1050600006D8390053469943494488428941494208 +:1050700043465A0002231340012217403B43012BB1 +:105080003AD0002B30D0022B1BD12368009A5F004E +:105090007F08002A67D1002906D0029A002A00D191 +:1050A0007CE0002F00D1A9E0002B00DA04340137A6 +:1050B000BF00E419BCE75946300000F00BFB0028A4 +:1050C00010D009200BB03CBC90469946A246AB4696 +:1050D000F0BD636808349846B5E71B0207935B464A +:1050E0001A8199E70820EDE7009B002B02D00029E8 +:1050F00000D08DE004349BE7009B002B1AD10029DF +:1051000016D02368DF0F63689A1CDAD02A00583261 +:105110000692013300D1BDE0201DFFF7DDFD06AB97 +:1051200001003A00280000E000BF002800D082E023 +:1051300008347DE70D2130002F6AFFF7E3FE874238 +:10514000F6D1AB6A9C42F3D12000FFF7F3FC0F21AC +:1051500002003000FFF7FAFE30002A000021FFF7BE +:10516000F5FE0720AEE72B6A0D2130009846FFF7C9 +:10517000C9FE804501D0236896E7AB6A9C42FAD10C +:105180000023EB6204332B63231DAF626B63236840 +:10519000002B00DA86E00123059388E7002F2DD04D +:1051A00058239C46AC4463460393231D9946002331 +:1051B000984606AB220004933B004C464746B24655 +:1051C00098462E00914603E004342F00454542D016 +:1051D000039B20000693FFF77FFD049B0100002244 +:1051E00030007D1C00E000BF0028EDD04346B846EB +:1051F00035004C4656461F009845BCD10D21300065 +:10520000FFF780FE069B28626B62AC62062059E7BE +:105210002000FFF78FFC04340700AC63280000E097 +:1052200000BF002800D14CE730003A000F21FFF703 +:105230008DFE072046E707000D213000FFF762FED4 +:105240002862022F2BD1069BEB622B002C336B6262 +:10525000AC62062036E735004C465646CEE7594646 +:10526000300000F037FA002800D02AE7059B002B19 +:1052700000D137E70F213000FFF744FE0E21020076 +:105280003000FFF763FE3000094A0F21FFF75EFE92 +:10529000072017E70D213000FFF734FE2862069B38 +:1052A0006B62D5E738000130800020184DE7C0461A +:1052B0000000000010B50023FFF78CFE10BDC046B3 +:1052C00010B50123FFF786FE10BDC04610B50223BE +:1052D000FFF780FE10BDC046F0B5CE46474680B50C +:1052E0000500C3B014001E00012955D000294BD081 +:1052F000032922D0042949D1002B47D1102A45D8AF +:10530000102203681A4200D0F1E020AF380000F00C +:105310003DF900230120A96B02009A40144203D0FA +:105320000E689A00BE5004310133042BF4D13800CA +:10533000A96300F029F9002029E0032B26D11404E9 +:10534000230C160C9846F318102B1FD8082203685C +:105350001A4200D098E020AF380000F013F942461E +:10536000AB6BF6001C00002A08D0D400F21A1C19FE +:10537000BA181968D15004339C42FAD1AC63380092 +:1053800000F0FEF8002002E0002B24D0022043B001 +:105390000CBC90469946F0BD130C14049846240C9E +:1053A000012E2ED0052EF1D11B19202BEED842460E +:1053B0000F2A70D9A146002C7ED1AA6B4346AA635E +:1053C0000F2B00D89AE04B46002BDBD0684600F04C +:1053D000D3F80020DBE700231004A96B000C013692 +:1053E00032009A40104204D00F689A00AA18576001 +:1053F00004310133102BF3D10020A304C7D4A963D7 +:10540000C5E71B19102BC1D843460F2BBED82B68FC +:105410001E4206D00322280093432B60483000F040 +:10542000A5F820AF380000F0A1F8AA6B002C24D01A +:105430004346DB00FF180023994664000023A400C4 +:10544000D158F95004339C42FAD14B4612196F4699 +:10545000002B0FD04046102800D210204B46D90018 +:1054600000231038C0003818D458C450043399426F +:10547000FAD15218012EA1D120AF04323800AA630C +:1054800000F072F8002082E7934303605130FF3050 +:1054900000F078F85FE7102B3BD91022524291467A +:1054A00099442B68194208D0022228008B431343E9 +:1054B0002B60483000F05EF82B6804221A4221D19C +:1054C00043460F2B03D820AF380000F053F86F4647 +:1054D000380000F053F810244346AA6BE41A002C5D +:1054E000B8DD434620AFDB006400FF18A6E7934316 +:1054F0000360D130FF3000F049F806E720A800F043 +:1055000037F860E7280093432B60D03000F036F87E +:10551000D6E72B680B4207D0022228008B431343A7 +:105520002B60483000F026F820AF380000F022F859 +:10553000A146AA6B002C00D07AE73FE7011C34316A +:1055400038C9043B9C461D60A646011C20313CC95D +:1055500090469946A246AB46011C0831FCC94168F9 +:105560000068E54600BDC0467047C0467047C0466B +:105570007047C0467047C0467047C0467047C04637 +:105580007047C0467047C0467047C0467047C04627 +:1055900001B401A801B585B0FFB408A841464A4648 +:1055A00053465C4665463EC001A83EC80F98009031 +:1055B00000230CB401A9FFF71DFC109B12B0184783 +:1055C00001B401A801B585B0FFB408A841464A4618 +:1055D00053465C4665463EC001A83EC80F98009001 +:1055E00000230CB401A9FFF739FC109B12B0184737 +:1055F00001B401A801B585B0FFB408A841464A46E8 +:1056000053465C4665463EC001A83EC80F980090D0 +:1056100000230CB401A9FFF745FC109B12B01847FA +:1056200001B401A801B585B0FFB408A841464A46B7 +:1056300053465C4665463EC001A83EC80F980090A0 +:1056400000230CB401ABFFF7FFFB109B12B018470F +:1056500001B401A801B585B0FFB408A841464A4687 +:1056600053465C4665463EC001A83EC80F98009070 +:1056700000230CB401AAFFF775FC109B12B0184769 +:10568000027A0300002A0BD1427A002A0FD0013A95 +:1056900042724268111D416003211268017202E0EA +:1056A000013A02720268100E12021A607047B020AE +:1056B000FCE7C04600B585B003AB00930C22002385 +:1056C0000021FFF707FC039805B000BD10B5FFF7F8 +:1056D000F1FF10BDF0B557464E464546DE46002365 +:1056E000E0B587B003930F339846083B9946802373 +:1056F0001B0306000F009A463800FFF7C1FF0400A5 +:10570000B02800D1C3E003062AD5030042469343E4 +:10571000DBB2802B00D171E0902B3DD0A02B00D1CB +:1057200085E0B02B50D0C02B00D196E003004A4654 +:105730009343DBB2D02B0AD15346024001321A43C5 +:10574000052301213000FFF7C7FD0028D4D009242C +:10575000200007B03CBC90469946A246AB46F0BD3F +:10576000FF23820013401D1D05AB9B4600930D22B5 +:10577000002300213000FFF7ADFB630620D4059B1A +:105780009C46654405955B460D220093002100234D +:105790003000FFF7C3FBAFE7833B03400D2BD6D0B0 +:1057A00005AD02400095002300213000FFF792FB79 +:1057B000009500230D2200213000FFF7AFFB9BE78F +:1057C000059B5D1B0595DEE7B12874D0B22800D19A +:1057D000CFE0B32800D184E0FC230340B42BB6D043 +:1057E0004A465346024001321A4301210123300048 +:1057F000FFF772FD002800D17EE7A8E70402380019 +:10580000FFF73EFF802520432D02A8429FD00401D0 +:105810000005020C002300213000FFF75DFD002889 +:1058200095D12C4200D167E70123039364E7FF235E +:105830004A461B011900824311410A001A4003071E +:1058400002D58023DB011A43002300213000FFF73B +:1058500043FD002800D14FE779E7C6284CD0C72880 +:105860005ED003004A469343DBB2C02B6DD0C828FC +:1058700072D0C92800D06AE73800FFF701FFF02393 +:1058800002031B03134042460240013257E7039BC9 +:105890000024002B00D05BE705AD00950E2200210F +:1058A0003000FFF717FB009500230F220021300086 +:1058B000FFF734FB4CE73800FFF7E2FE002800D189 +:1058C00045E7030042469343DBB2002B00D03EE79E +:1058D000020000213000FFF7FFFC002800D10BE799 +:1058E00035E73800FFF7CCFEF02302031B0313401B +:1058F00042460240013277E73800FFF7C1FEF0234D +:1059000002031B0313404246024001321A430323A1 +:1059100003213000FFF7E0FC002800D1ECE616E799 +:105920003800FFF7ADFE021E00D110E7030041462C +:105930008B43DBB2002B00D009E704213000FFF7D6 +:10594000CBFC002800D1D7E601E74346A0221C404B +:10595000013412032243DAE73800FFF791FE434691 +:1059600002009A43D2B210321840120301300243AF +:10597000E6E605AB00939B460D2200230021300094 +:10598000FFF7A8FA3800FFF77BFE030618D57F253E +:10599000B03C059B2840A0409C46604405903800E0 +:1059A0000734FFF76DFE0306F3D481217F238900BE +:1059B00003408C46A340059A62449B180593E2E697 +:1059C0000224F2E7030000B5DB6C85B05A680800DA +:1059D000120201921A0001A908324A6003220A72D7 +:1059E000DB794B72FFF776FE05B000BD10B5FFF70F +:1059F0006DFE806C10BDC04610B5FFF767FEC26C2F +:105A0000D3799B000833D01810BDC04610B500F004 +:105A100005F8C04610B5FFF7F9FFC04610B50620DF +:105A200000F076F8012000F0A5F8C046F0B50F2A86 +:105A300037D90D0005430C000300AD0735D1150023 +:105A4000103D2D092E013618103627681F60676833 +:105A50005F60A7689F60E7681034DF601033B3426F +:105A6000F3D10F2401352D01491914404519032C98 +:105A70001DD90023CE58EE500433E61A032EF9D870 +:105A80000323043CA4080134A4001A402D19091969 +:105A9000002A05D00023CC5CEC5401339342FAD1A8 +:105AA000F0BD0500002AF5D1FAE70500F2E7220073 +:105AB000F8E7C04670B505000C001F2922D8B723AF +:105AC0009B00C358002B0ED08A009B181A68002A2E +:105AD00009D0012A10D0511C10D0002120001960DB +:105AE0009047002070BD280000F030F8220001002F +:105AF000280000F017F8F5E70020F3E7162303600D +:105B00000120EFE71623036001204042EAE7C04688 +:105B100010B5034B01001868FFF7CCFF10BDC0465D +:105B200000000020002370B5074C0500080011009C +:105B3000236000F017F8431C00D070BD2368002BD1 +:105B4000FBD02B60F9E7C0463407002010B500F009 +:105B500001F810BD58220120014B40421A607047E5 +:105B60003407002058220120014B40421A60704740 +:105B700034070020FEE7C046F8B5C046F8B5C04679 +:105B800074B20181B0AB308000000000800A018156 +:105B9000B0B0ABF0000000003F020181B0AB30803C +:105BA0000000000080060181B0B0ABF000000000F2 +:105BB00030EEFF7FB0B0B0807CEFFF7F01000000CF +:105BC00028F0FF7FB0A90280BCF0FF7FB0B0A880B2 +:105BD00008F1FF7F0100000014F1FF7FB0B0AA8040 +:105BE00048F1FF7F9CFFFF7F08F2FF7F010000006C +:105BF00004F2FF7FAA3F398050F2FF7FB0B0A88047 +:105C00005CF2FF7FB0B0AA809CF2FF7FB0B0A880AA +:105C1000B0F2FF7F01000000ACF2FF7FB0B0A880BF +:105C2000B4F2FF7F010000003CF3FF7FAA0FB280B7 +:105C3000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88002 +:105C400098F6FF7F54FFFF7FF4F8FF7F010000000C +:105C500064FAFF7F0084048074FAFF7FB0B0A880EC +:105C600074FAFF7F40FFFF7F5CFDFF7F00840480AC +:105C70007CFDFF7FB0B0A88094FDFF7F0100000095 +:105C8000080000200000000000000000F4020020D6 +:105C90005C030020C403002000000000000000009E :105CA00000000000000000000000000000000000F4 :105CB00000000000000000000000000000000000E4 :105CC00000000000000000000000000000000000D4 @@ -1490,11 +1490,61 @@ :105D00000000000000000000000000000000000093 :105D10000000000000000000000000000000000083 :105D20000000000000000000000000000000000073 -:105D30000000000000000000000000000000000063 -:105D40000000000000000000000000000000000053 +:105D300001000000000000000E33CDAB34126DE610 +:105D4000ECDE05000B000000000000000000000079 :105D50000000000000000000000000000000000043 :105D60000000000000000000000000000000000033 :105D70000000000000000000000000000000000023 :105D80000000000000000000000000000000000013 +:105D90000000000000000000000000000000000003 +:105DA00000000000000000000000000000000000F3 +:105DB00000000000000000000000000000000000E3 +:105DC00000000000000000000000000000000000D3 +:105DD00000000000000000000000000000000000C3 +:105DE00000000000000000000000000000000000B3 +:105DF00000000000000000000000000000000000A3 +:105E00000000000000000000000000000000000092 +:105E10000000000000000000000000000000000082 +:105E20000000000000000000000000000000000072 +:105E30000000000000000000000000000000000062 +:105E40000000000000000000000000000000000052 +:105E50000000000000000000000000000000000042 +:105E60000000000000000000000000000000000032 +:105E70000000000000000000000000000000000022 +:105E80000000000000000000000000000000000012 +:105E90000000000000000000000000000000000002 +:105EA00000000000000000000000000000000000F2 +:105EB00000000000000000000000000000000000E2 +:105EC00000000000000000000000000000000000D2 +:105ED00000000000000000000000000000000000C2 +:105EE00000000000000000000000000000000000B2 +:105EF00000000000000000000000000000000000A2 +:105F00000000000000000000000000000000000091 +:105F10000000000000000000000000000000000081 +:105F20000000000000000000000000000000000071 +:105F30000000000000000000000000000000000061 +:105F40000000000000000000000000000000000051 +:105F50000000000000000000000000000000000041 +:105F60000000000000000000000000000000000031 +:105F70000000000000000000000000000000000021 +:105F80000000000000000000000000000000000011 +:105F90000000000000000000000000000000000001 +:105FA00000000000000000000000000000000000F1 +:105FB00000000000000000000000000000000000E1 +:105FC00000000000000000000000000000000000D1 +:105FD00000000000000000000000000000000000C1 +:105FE00000000000000000000000000000000000B1 +:105FF00000000000000000000000000000000000A1 +:106000000000000000000000000000000000000090 +:106010000000000000000000000000000000000080 +:106020000000000000000000000000000000000070 +:106030000000000000000000000000000000000060 +:106040000000000000000000000000000000000050 +:106050000000000000000000000000000000000040 +:106060000000000000000000000000000000000030 +:106070000000000000000000000000000000000020 +:106080000000000000000000000000000000000010 +:106090000000000000000000000000000000000000 +:1060A00000000000000000000000000000000000F0 :0400000508000805E2 :00000001FF diff --git a/firmware/build_stm6/inlretro_stm.map b/firmware/build_stm6/inlretro_stm.map index ace8471..9f3c19d 100644 --- a/firmware/build_stm6/inlretro_stm.map +++ b/firmware/build_stm6/inlretro_stm.map @@ -1,7 +1,7 @@ Archive member included to satisfy reference by file (symbol) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\cccRrXfG.o (__aeabi_unwind_cpp_pr0) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) @@ -51,9 +51,9 @@ c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file @@ -133,41 +133,41 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o .debug_aranges - 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .debug_str 0x00000000 0x68 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .debug_str 0x00000000 0x70 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o .ARM.attributes - 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.snes_3v_buffer_wr - 0x00000000 0x2 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o + 0x00000000 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .debug_str 0x00000000 0x65 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .debug_str 0x00000000 0x6d C:\Users\paul\AppData\Local\Temp\cccRrXfG.o .ARM.attributes - 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o + 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) @@ -430,10 +430,10 @@ Linker script and memory map LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o -LOAD C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\cc0qRkgb.o -LOAD C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o +LOAD C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o +LOAD C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\cccRrXfG.o +LOAD C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o START GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -447,17 +447,17 @@ END GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o -.text 0x08000000 0x5860 +.text 0x08000000 0x5b80 *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o 0x08000000 __isr_vector *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o 0x08000198 USB_IRQHandler *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o 0x08000534 TIM1_CC_IRQHandler 0x08000534 TSC_IRQHandler 0x08000534 ADC1_COMP_IRQHandler @@ -496,7 +496,7 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x08000534 USART1_IRQHandler 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler *fill* 0x08000536 0x2 ff - .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o 0x08000538 HardFault_Handler *_thumb1_case_uqi.o() .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) @@ -512,11 +512,11 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) *(.fw_update) *fill* 0x080005aa 0x2 ff - .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o 0x00000770 . = 0x770 *fill* 0x080006fc 0x74 ff *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o 0x00000800 . = 0x800 *fill* 0x080007e0 0x20 ff *(.appver) @@ -524,191 +524,198 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *fill* 0x08000800 0x4 ff *(.reset_handler) .reset_handler - 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o + 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o 0x08000804 Reset_Handler *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x1d04 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .usbFuncSetup 0x08000884 0x1e5c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *(.text*) .text.snes_page_rd_poll.constprop.29 - 0x08002588 0x70 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080026e0 0x70 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_cpu_page_rd_poll.constprop.28 - 0x080025f8 0x6c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002750 0x6c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_ppu_page_rd_poll.constprop.25 - 0x08002664 0x68 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080027bc 0x68 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.append_pairity - 0x080026cc 0x1e C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002824 0x1e C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.delay_us - 0x080026ea 0x14 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - *fill* 0x080026fe 0x2 ff - .text.lfsr_32 0x08002700 0x30 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .text.snes_wr 0x08002730 0x60 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .text.snes_rd 0x08002790 0x48 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002842 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + *fill* 0x08002856 0x2 ff + .text.lfsr_32 0x08002858 0x30 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.snes_wr 0x08002888 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.snes_rd 0x080028e8 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.write_page_snes.constprop.35 - 0x080027d8 0x194 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002930 0x194 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.write_page_buffer.constprop.34 - 0x0800296c 0x94 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002ac4 0x94 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.snes_3v_verify_wr - 0x08002a00 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002b58 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.snes_3v_flash_wr - 0x08002a50 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002ba8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.snes_5v_flash_wr - 0x08002aa0 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002bf8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.genesis_page_rd - 0x08002af0 0xa4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002c48 0xa4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.gen_flash_wr + 0x08002cec 0x94 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.gen_rom_rd + 0x08002d80 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.gen_sst_flash_wr + 0x08002dc8 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc3s_prgrom_flash_wr - 0x08002b94 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002e0c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_dualport_wr - 0x08002b98 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002e10 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_dualport_rd - 0x08002be8 0x38 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002e60 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_ppu_wr - 0x08002c20 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002e98 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_ppu_rd - 0x08002c70 0x38 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002ee8 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc3_chrrom_flash_wr - 0x08002ca8 0x44 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002f20 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nrom_chrrom_flash_wr - 0x08002cec 0x44 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002f64 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_m2_high_wr - 0x08002d30 0x60 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08002fa8 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_cpu_wr - 0x08002d90 0x7c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003008 0x7c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.cdream_chrrom_flash_wr - 0x08002e0c 0x8c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003084 0x8c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc4_chrrom_flash_wr - 0x08002e98 0x74 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003110 0x74 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.cnrom_chrrom_flash_wr - 0x08002f0c 0x7c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003184 0x7c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nes_cpu_rd - 0x08002f88 0x38 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003200 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.tssop_prgrom_flash_wr - 0x08002fc0 0x2a C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003238 0x2a C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.a53_tssop_prgrom_flash_wr - 0x08002fea 0x36 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003262 0x36 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.gtrom_prgrom_flash_wr - 0x08003020 0x4c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003298 0x4c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.map30_prgrom_flash_wr - 0x0800306c 0x74 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080032e4 0x74 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc4_prgrom_flash_wr - 0x080030e0 0x54 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003358 0x54 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc3_prgrom_flash_wr - 0x08003134 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080033ac 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.disc_push_exp0_prgrom_wr - 0x08003184 0x48 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080033fc 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.discrete_exp0_prgrom_wr - 0x080031cc 0x58 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003444 0x58 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.unrom_prgrom_flash_wr - 0x08003224 0x64 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x0800349c 0x64 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.nrom_prgrom_flash_wr - 0x08003288 0x44 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003500 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.n64_latch_addr - 0x080032cc 0x60 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003544 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.pbje_scan - 0x0800332c 0x10c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080035a4 0x10c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.pbje_state_change - 0x08003438 0x88 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080036b0 0x88 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.jtag_init_pbje - 0x080034c0 0xe0 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003738 0xe0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.jtag_run_pbje.part.0 - 0x080035a0 0xb8 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003818 0xb8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.io_reset - 0x08003658 0x174 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .text.gba_rd 0x080037cc 0x4c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x080038d0 0x174 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .text.gba_rd 0x08003a44 0x4c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.write_page_verify - 0x08003818 0x5c C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003a90 0x5c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.write_page - 0x08003874 0x34 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003aec 0x34 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.get_next_buff - 0x080038a8 0x54 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003b20 0x54 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc1_wr.constprop.12 - 0x080038fc 0x22 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - *fill* 0x0800391e 0x2 ff + 0x08003b74 0x22 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + *fill* 0x08003b96 0x2 ff .text.mmc1_chrrom_flash_wr - 0x08003920 0x60 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003b98 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.mmc1_prgrom_flash_wr - 0x08003980 0x50 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003bf8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.swim_wotf - 0x080039d0 0xb4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003c48 0xb4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.swim_rotf - 0x08003a84 0xac C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x08003cfc 0xac C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .text.startup.main - 0x08003b30 0xb90 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - 0x08003b30 main - .text 0x080046c0 0x154 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o - 0x080046c0 swim_xfr - .text 0x08004814 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08004ad0 _Unwind_GetCFA - 0x08004ad4 __gnu_Unwind_RaiseException - 0x08004b28 __gnu_Unwind_ForcedUnwind - 0x08004b3c __gnu_Unwind_Resume - 0x08004b84 __gnu_Unwind_Resume_or_Rethrow - 0x08004ba0 _Unwind_Complete - 0x08004ba4 _Unwind_DeleteException - 0x08004bb4 _Unwind_VRS_Get - 0x08004bfc _Unwind_VRS_Set - 0x08004c44 __gnu_Unwind_Backtrace - 0x08004f94 __aeabi_unwind_cpp_pr0 - 0x08004fa0 __aeabi_unwind_cpp_pr1 - 0x08004fac __aeabi_unwind_cpp_pr2 - 0x08004fb8 _Unwind_VRS_Pop - .text 0x0800521c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800521c __restore_core_regs - 0x0800521c restore_core_regs - 0x08005248 __gnu_Unwind_Restore_VFP - 0x0800524c __gnu_Unwind_Save_VFP - 0x08005250 __gnu_Unwind_Restore_VFP_D - 0x08005254 __gnu_Unwind_Save_VFP_D - 0x08005258 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800525c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08005260 __gnu_Unwind_Restore_WMMXD - 0x08005264 __gnu_Unwind_Save_WMMXD - 0x08005268 __gnu_Unwind_Restore_WMMXC - 0x0800526c __gnu_Unwind_Save_WMMXC - 0x08005270 ___Unwind_RaiseException - 0x08005270 _Unwind_RaiseException - 0x080052a0 _Unwind_Resume - 0x080052a0 ___Unwind_Resume - 0x080052d0 _Unwind_Resume_or_Rethrow - 0x080052d0 ___Unwind_Resume_or_Rethrow - 0x08005300 _Unwind_ForcedUnwind - 0x08005300 ___Unwind_ForcedUnwind - 0x08005330 ___Unwind_Backtrace - 0x08005330 _Unwind_Backtrace - .text 0x08005360 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080053b4 __gnu_unwind_execute - 0x080056a4 __gnu_unwind_frame - 0x080056cc _Unwind_GetRegionStart - 0x080056d8 _Unwind_GetLanguageSpecificData - 0x080056ec _Unwind_GetDataRelBase - 0x080056f4 _Unwind_GetTextRelBase - .text.abort 0x080056fc 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x080056fc abort - .text.memcpy 0x0800570c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x0800570c memcpy + 0x08003da8 0xc34 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + 0x08003da8 main + *fill* 0x080049dc 0x4 ff + .text 0x080049e0 0x154 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o + 0x080049e0 swim_xfr + .text 0x08004b34 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x08004df0 _Unwind_GetCFA + 0x08004df4 __gnu_Unwind_RaiseException + 0x08004e48 __gnu_Unwind_ForcedUnwind + 0x08004e5c __gnu_Unwind_Resume + 0x08004ea4 __gnu_Unwind_Resume_or_Rethrow + 0x08004ec0 _Unwind_Complete + 0x08004ec4 _Unwind_DeleteException + 0x08004ed4 _Unwind_VRS_Get + 0x08004f1c _Unwind_VRS_Set + 0x08004f64 __gnu_Unwind_Backtrace + 0x080052b4 __aeabi_unwind_cpp_pr0 + 0x080052c0 __aeabi_unwind_cpp_pr1 + 0x080052cc __aeabi_unwind_cpp_pr2 + 0x080052d8 _Unwind_VRS_Pop + .text 0x0800553c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x0800553c __restore_core_regs + 0x0800553c restore_core_regs + 0x08005568 __gnu_Unwind_Restore_VFP + 0x0800556c __gnu_Unwind_Save_VFP + 0x08005570 __gnu_Unwind_Restore_VFP_D + 0x08005574 __gnu_Unwind_Save_VFP_D + 0x08005578 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800557c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08005580 __gnu_Unwind_Restore_WMMXD + 0x08005584 __gnu_Unwind_Save_WMMXD + 0x08005588 __gnu_Unwind_Restore_WMMXC + 0x0800558c __gnu_Unwind_Save_WMMXC + 0x08005590 ___Unwind_RaiseException + 0x08005590 _Unwind_RaiseException + 0x080055c0 _Unwind_Resume + 0x080055c0 ___Unwind_Resume + 0x080055f0 _Unwind_Resume_or_Rethrow + 0x080055f0 ___Unwind_Resume_or_Rethrow + 0x08005620 _Unwind_ForcedUnwind + 0x08005620 ___Unwind_ForcedUnwind + 0x08005650 ___Unwind_Backtrace + 0x08005650 _Unwind_Backtrace + .text 0x08005680 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080056d4 __gnu_unwind_execute + 0x080059c4 __gnu_unwind_frame + 0x080059ec _Unwind_GetRegionStart + 0x080059f8 _Unwind_GetLanguageSpecificData + 0x08005a0c _Unwind_GetDataRelBase + 0x08005a14 _Unwind_GetTextRelBase + .text.abort 0x08005a1c 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08005a1c abort + .text.memcpy 0x08005a2c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08005a2c memcpy .text._raise_r - 0x08005794 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08005794 _raise_r - .text.raise 0x080057f0 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x080057f0 raise - .text._kill_r 0x08005804 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08005804 _kill_r + 0x08005ab4 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08005ab4 _raise_r + .text.raise 0x08005b10 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08005b10 raise + .text._kill_r 0x08005b24 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08005b24 _kill_r .text._getpid_r - 0x0800582c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x0800582c _getpid_r - .text._getpid 0x08005834 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08005834 _getpid - .text._kill 0x08005844 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08005844 _kill - .text._exit 0x08005854 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08005854 _exit + 0x08005b4c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08005b4c _getpid_r + .text._getpid 0x08005b54 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08005b54 _getpid + .text._kill 0x08005b64 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08005b64 _kill + .text._exit 0x08005b74 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08005b74 _exit *(.init) - .init 0x08005858 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08005858 _init + .init 0x08005b78 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08005b78 _init *(.fini) - .fini 0x0800585c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x0800585c _fini + .fini 0x08005b7c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08005b7c _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -722,42 +729,42 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.rodata*) *(.eh_frame*) -.glue_7 0x08005860 0x0 - .glue_7 0x08005860 0x0 linker stubs +.glue_7 0x08005b80 0x0 + .glue_7 0x08005b80 0x0 linker stubs -.glue_7t 0x08005860 0x0 - .glue_7t 0x08005860 0x0 linker stubs +.glue_7t 0x08005b80 0x0 + .glue_7t 0x08005b80 0x0 linker stubs -.vfp11_veneer 0x08005860 0x0 - .vfp11_veneer 0x08005860 0x0 linker stubs +.vfp11_veneer 0x08005b80 0x0 + .vfp11_veneer 0x08005b80 0x0 linker stubs -.v4_bx 0x08005860 0x0 - .v4_bx 0x08005860 0x0 linker stubs +.v4_bx 0x08005b80 0x0 + .v4_bx 0x08005b80 0x0 linker stubs -.iplt 0x08005860 0x0 - .iplt 0x08005860 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o +.iplt 0x08005b80 0x0 + .iplt 0x08005b80 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o -.ARM.extab 0x08005860 0x30 +.ARM.extab 0x08005b80 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08005860 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08005884 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08005890 __exidx_start = . + .ARM.extab 0x08005b80 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08005ba4 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08005bb0 __exidx_start = . -.ARM.exidx 0x08005890 0xd0 +.ARM.exidx 0x08005bb0 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08005890 0x8 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o + .ARM.exidx 0x08005bb0 0x8 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o 0x10 (size before relaxing) - .ARM.exidx 0x08005898 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.exidx 0x08005bb8 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) 0xd8 (size before relaxing) - .ARM.exidx 0x08005930 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.exidx 0x08005c50 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) 0x48 (size before relaxing) - 0x08005960 __exidx_end = . - 0x08005960 __etext = ALIGN (0x4) + 0x08005c80 __exidx_end = . + 0x08005c80 __etext = ALIGN (0x4) -.rel.dyn 0x08005960 0x0 - .rel.iplt 0x08005960 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o +.rel.dyn 0x08005c80 0x0 + .rel.iplt 0x08005c80 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o -.data 0x20000000 0x430 load address 0x08005960 +.data 0x20000000 0x430 load address 0x08005c80 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -785,77 +792,79 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.fastrun) 0x20000430 __data_end__ = . -.igot.plt 0x20000430 0x0 load address 0x08005d90 - .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccOqsUkN.o +.igot.plt 0x20000430 0x0 load address 0x080060b0 + .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o -.bss 0x20000430 0x308 load address 0x08005d90 +.bss 0x20000430 0x308 load address 0x080060b0 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.bank_table - 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.cur_addr_hi - 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000489 0x1 .bss.cur_addr_lo - 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x2000048d 0x3 - .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.cur_usb_load_buff - 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.incoming_bytes_remain - 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000499 0x3 - .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.num_buff.5143 - 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.num_buff.5160 + 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.num_prg_banks - 0x200004a3 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004a3 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.oper_info_struct - 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.pbje_command - 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.pbje_data - 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.pbje_numclk - 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.pbje_status - 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.raw_bank_status - 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x200004f7 0x1 .bss.raw_buffer16 - 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.rv16.4759 - 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.rv16.5063 - 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.rv16.5080 + 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.sega_addr + 0x20000708 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .bss.stm_debug_disable - 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - *fill* 0x20000709 0x3 + 0x2000070a 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + *fill* 0x2000070b 0x1 .bss.swim_base - 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000711 0x3 - .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000719 0x3 - .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000721 0x3 - .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *fill* 0x20000729 0x3 - .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o *(COMMON) *fill* 0x20000731 0x3 COMMON 0x20000734 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) @@ -882,45 +891,45 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .ARM.attributes - 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o + 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o .comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o 0x80 (size before relaxing) -.debug_info 0x00000000 0x5b65 - .debug_info 0x00000000 0x5b3f C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .debug_info 0x00005b3f 0x26 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o +.debug_info 0x00000000 0x5eb4 + .debug_info 0x00000000 0x5e8e C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .debug_info 0x00005e8e 0x26 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o .debug_abbrev 0x00000000 0x6c9 - .debug_abbrev 0x00000000 0x6b5 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .debug_abbrev 0x000006b5 0x14 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o + .debug_abbrev 0x00000000 0x6b5 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .debug_abbrev 0x000006b5 0x14 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o -.debug_loc 0x00000000 0x910b - .debug_loc 0x00000000 0x910b C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o +.debug_loc 0x00000000 0x967f + .debug_loc 0x00000000 0x967f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o -.debug_aranges 0x00000000 0x230 +.debug_aranges 0x00000000 0x248 .debug_aranges - 0x00000000 0x210 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o + 0x00000000 0x228 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .debug_aranges - 0x00000210 0x20 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o + 0x00000228 0x20 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o -.debug_ranges 0x00000000 0xe20 - .debug_ranges 0x00000000 0xe20 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o +.debug_ranges 0x00000000 0xe98 + .debug_ranges 0x00000000 0xe98 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o -.debug_line 0x00000000 0x1c72 - .debug_line 0x00000000 0x1b7f C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - .debug_line 0x00001b7f 0xf3 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o +.debug_line 0x00000000 0x1dcb + .debug_line 0x00000000 0x1cd8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + .debug_line 0x00001cd8 0xf3 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o -.debug_str 0x00000000 0x12e0 - .debug_str 0x00000000 0x127f C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o - 0x13b2 (size before relaxing) - .debug_str 0x0000127f 0x61 C:\Users\paul\AppData\Local\Temp\ccCWXcVB.o +.debug_str 0x00000000 0x1341 + .debug_str 0x00000000 0x12d8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o + 0x1413 (size before relaxing) + .debug_str 0x000012d8 0x69 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o -.debug_frame 0x00000000 0x6a8 - .debug_frame 0x00000000 0x6a8 C:\Users\paul\AppData\Local\Temp\ccGCpWvS.ltrans0.ltrans.o +.debug_frame 0x00000000 0x6fc + .debug_frame 0x00000000 0x6fc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o .stabstr 0x00000000 0x76 .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/build_stmn/inlretro_stm.axf b/firmware/build_stmn/inlretro_stm.axf index 13ffc18..8baad1b 100644 Binary files a/firmware/build_stmn/inlretro_stm.axf and b/firmware/build_stmn/inlretro_stm.axf differ diff --git a/firmware/build_stmn/inlretro_stm.bin b/firmware/build_stmn/inlretro_stm.bin new file mode 100644 index 0000000..a2e83d1 Binary files /dev/null and b/firmware/build_stmn/inlretro_stm.bin differ diff --git a/firmware/build_stmn/inlretro_stm.elf b/firmware/build_stmn/inlretro_stm.elf index c5d5e32..2f110e3 100644 Binary files a/firmware/build_stmn/inlretro_stm.elf and b/firmware/build_stmn/inlretro_stm.elf differ diff --git a/firmware/build_stmn/inlretro_stm.hex b/firmware/build_stmn/inlretro_stm.hex index 163daa7..9a9ad67 100644 --- a/firmware/build_stmn/inlretro_stm.hex +++ b/firmware/build_stmn/inlretro_stm.hex @@ -1,657 +1,1311 @@ :020000040800F2 -:2000000000180020050800083505000839050008000000000000000000000000000000000B -:200020000000000000000000000000003505000800000000000000003505000835050008FA -:20004000350500083505000835050008350500083505000835050008350500083505000890 -:20006000350500083505000835050008350500083505000835050008350500083505000870 -:20008000350500083505000835050008350500083505000835050008350500083505000850 -:2000A0003505000835050008350500083505000835050008350500083505000899010008D0 -:2000C000284B10B51A88284B12041B881A43274B198849084900885A254908801988023164 -:2000E00089B21980198849084900885A214908801988023189B21980198849084900885A58 -:200100001D49088019881D48023189B21980198849084900895A1A4A11801A881949023299 -:2001200092B21A801C880288944213D902881C880832121B92B20A80028892B21A801249CB -:20014000124B0A881343124A1A40302353409BB20B8010BD0F4804881A889442E6D30823DA -:200160000B80ECE70C6000400A600040046000404C6000404E6000405060004002600040BB -:20018000526000401A600040005C00408080FFFFBF8FFFFF006000409449F8B50B88944C30 -:2001A000002B3AD00A88934B9A4234D100230225914A924F1380924A1380924A1380924A66 -:2001C0001380924A1380924AD08FA843D087D08F013DA843D0878F481735FB8705808E48C1 -:2001E000343505808D480835058080258C486D01058080258B4805808020FB878A4B000614 -:2002000023808A4B18608023D08FDB000343D387874B884A1A8000230B8023881BB2002BE2 -:2002200000DBC4E02388844A774F134080221343238023881B0500D49CE0804D7F232A78E6 -:2002400011009943714B1980E9886B4B198000216C4B19803B88FF318B4313433B806023D6 -:200260001A4208D08022764B12051B8828009B189847634B188060232A78134052B2002A87 -:200280004DDA002B14D16A78062A0FD16A88110A02291AD003291BD0012920D1694B1226F5 -:2002A000694A99B21180694A1B0C1380544B1E802288674B1343674A1A40C0239B01534036 -:2002C0009BB22380FFF7FCFE47E05E4B1233E6E7D2B2012A0FD0002A03D0022A15D01E00A2 -:2002E000E4E7584B584A243399B21180574A1B0C13800426DAE7534B534A283399B2118003 -:20030000524A1B0C1380544ED0E74E4B4E4A7C3399B211804D4A1B0C1380504EC6E7002BAB -:2003200009D16B78052B06D13A886B88D2B21B0213439BB23B8000212388494A1340494A00 -:2003400013439BB22380484B198023881A43474B1A40474B5A4092B22280284BDB8F5B05E8 -:2003600007D580222F4B1A800023244AD3872E4B2380F8BD60213B880B40402BEDD13B88B4 -:200380001342EAD1264A3B4B2C481B881188802212059B18C9B298472288324B13432D4AED -:2003A0001A40C0239B0153409BB22380D5E7802223881342D1D023882F490B4080210902C8 -:2003C0000B432380114B1B88934200D17AE7FF200D4B19888143C0D01988090A0A4311495F -:2003E0000A801A8802401A80B7E7C0460E600040005C00403CA5000000600040065C0040E4 -:2004000002600040046000400660004008600040025C0040505C0040186000401C6000404A -:200420001E6000404C5C00402032000000E100E0585C00400080FFFF8F0F000054600040FF -:20044000106000407C0400080A6000400C6000408081FFFF8FBFFFFF2A0300001E03000075 -:200460008F8EFFFF8080FFFF1A600040BFBFFFFF30300000126000400F8FFFFF120100026A -:20048000FF000008C016DC05030201020001090212000101008032090400000000000000B7 -:2004A000040309042A0349006E00660069006E006900740065004E00650073004C006900EA -:2004C0007600650073002E0063006F006D0000000000000000000000000000000000000061 -:2004E0000000000000000000000000000000000000000000000000001E0349004E004C00F8 -:20050000200052006500740072006F002D00500072006F00670000000000000000000000EA -:200520000000000000000000000000000000000000000000FEE7FFFF004801E02301ADDE00 -:20054000FEE7C04602B4714649084900095C49008E4402BC7047C046411D00000061656129 -:2005600062690001130000000536532D4D00060C074D09011901FFFF03B47146490840000D -:200580004900095A49008E4403BC7047411D00000061656162690001130000000536532DFF -:2005A0004D00060C074D09011901FFFF70470A4B0A4A10B55A600A4A5A600122DC681442BC -:2005C000FCD11A6101220180D9681142FCD12022DA6060321A6110BD002002402301674546 -:2005E000AB89EFCDFF2370B53F4D2B804378C688102B00D075E0C478818880783B4B013828 -:200600005A69082800D968E0FFF79CFF0567672B3D314B5363008A1E8E241D2A19D8344AB8 -:200620005A60344A5A600122D8681042FCD102221A618022890212058918422259611A6129 -:20064000C046413ADC681440FCD12022DA6060321A612C70284BAAB22D0CF0B25A819D81EC -:2006600070BD60001018FFF7A2FF0024F1E7002C35D10BB2002B32DB80231B05C8181F4900 -:20068000FFF795FFE5E704226A705A69AA705A69120AEA705A69120C2A715B691B0E6B71A9 -:2006A000E3E702236B701388AB7013881B0AEB70DBE7002C13D10BB2002B10DB80231B0537 -:2006C000C91802236B700B88AB700B881B0AEB70BFE70B4B0B4ADA60C7E78B24B9E78E243E -:2006E000B7E780232B70B5E7F40600200020024023016745AB89EFCD00600040FFFF0000A8 -:2007000000ED00E00400FA05FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 -:20072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 -:20074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 -:20076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF164B174A9BB21382164B9BB253826846B4 -:200780001C300F4A0F4B0430043001681140C91AFAD1094A094B043801681140C91AF2D147 -:2007A0007B460A3303600438013303600CE00A4B0A4A1A60FBE7C0460000FFFF0000000808 -:2007C000FFFFFF0F0000000100207047E505000800600040AD05000800300040AAAA000025 -:2007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 -:200800004156303309490A4A0A4B9B1A03DD043BC858D050FBDC0849084A0020521A02DDEA -:20082000043A8850FCDC02F051FC0000604D000800000020300400203004002014070020D3 -:2008400070B50E4B1A68537A55685C18E4B2A3420ED1537A0A48CB1853720378591AC9B210 -:2008600001700020814202D198230130D37070BD06780130EE540133DBB2E8E790040020C0 -:2008800095040020FF23F7B5C04C020023808379009340780138102801D901F0C3FAFFF7EA -:2008A0006BFE1100BA04EE05C10A6409C10AAD0AF7079A08E5084509C10AC10AC10AC10A4C -:2008C000C10A48099078938819281BD8FFF754FE1E002600EC00B7015F02D1024E03D60317 -:2008E000E703F203F90300040804100438044704550464048B048B048B041A001A001A00B6 -:20090000490254028C23237000F0FBFCE023A04A1B0351690B4353610023F4E7152B01D92E -:2009200000F064FC1800FFF727FE160021002E003B00480055005F006C00760081008D00A8 -:200940009A00610461046104610461046104A70061046104B40090234022DB051968914330 -:200960001960D9680A43DA600023CCE79023DB051A6888490A401A608022D96852000A4334 -:20098000DA600023BFE79023DB051A6882490A401A608022D968D2000A43DA600023B2E7B8 -:2009A0009023DB051A687D490A401A608022D96852010A43DA600023A5E79023DB051A6817 -:2009C00077490A401A608022D968D2010A43DA60002398E70122734B196891431960D968C4 -:2009E0000A43DA6000238EE79023DB051A686E490A401A608022D96852030A43DA60002366 -:200A000081E70422674B196891431960D9680A43DA60002377E790230122DB051968914374 -:200A20001960D9680A43DA6000236CE75F4B60491A680A401A608022D968D2040A43DA6026 -:200A4000002360E79023DB051A685A490A401A608022D968D2050A43DA60002353E790235F -:200A6000DB051A6852490A401A608022D968D2040A43DA60002346E79023DB051A684E4979 -:200A80000A401A608022D96852050A43DA60002339E790230122DB05196891431960D968C9 -:200AA0000A43DA6000232EE7152B00D9A1E31800FFF762FD160021002C00370042004D0044 -:200AC0005700620084008F009900A4009F039F039F039F039F039F03AF009F039F03BA0094 -:200AE00090234021DB051A688A431A60DA688A43DA60002307E79023DB051968254801401D -:200B00001960DA680240DA600023FCE69023DB051968214801401960DA680240DA60002381 -:200B2000F1E69023DB0519681C4801401960DA680240DA600023E6E69023DB05196818488B -:200B400001401960DA680240DA600023DBE60121144B1A688A431A60DA688A43DA60002383 -:200B6000D1E69023DB0519680F4801401960DA680240DA600023C6E604210A4B1A688A4343 -:200B80001A60DA688A43DA600023BCE6FC06002000100240FFFEFFFFFFFBFFFFFFEFFFFF7A -:200BA000FFBFFFFF00040048FFFFEFFF00080048FFFFFFFBFFFFFFBFFFFFFFEF902301217C -:200BC000DB051A688A431A60DA688A43DA60002399E6C24BC248196801401960DA680240AB -:200BE000DA6000238FE69023DB051968BD4801401960DA680240DA60002384E69023DB0572 -:200C00001968B74801401960DA680240DA60002379E69023DB051968B34801401960DA684F -:200C20000240DA6000236EE690230121DB051A688A431A60DA688A43DA60002363E6152B4E -:200C400000D9D9E21800FFF797FC16001E002700300039004200490052005900610069009B -:200C60007200D702D702D702D702D702D7027B00D702D702840090224023D20511680B4388 -:200C8000136000233FE690228023D20511685B000B431360002336E690228023D2051168F4 -:200CA000DB000B43136000232DE690228023D20511685B010B431360002324E6902280231E -:200CC000D2051168DB010B43136000231BE60123864A11680B431360002314E69022802363 -:200CE000D20511685B030B43136000230BE604237E4A11680B431360002304E69022012365 -:200D0000D20511680B4313600023FCE58023734ADB0411680B4313600023F4E590228023F4 -:200D2000D2051168DB050B4313600023EBE590228023D2051168DB040B4313600023E2E5A0 -:200D400090228023D20511685B050B4313600023D9E590220123D20511680B4313600023E2 -:200D6000D1E5082B00D04AE29022D2055168073B0B4353600023C6E5082B00D042E2902262 -:200D80000121D20553688B4353600023BBE5152B00D93AE21800FFF7EFFB16001C002200DA -:200DA00028002E0034003900400045004B00510058003802380238023802380238025F003C -:200DC00038023802660090230822DB059A62002399E590231022DB059A62002393E59023D0 -:200DE0002022DB059A6200238DE590234022DB059A62002387E590238022DB059A6200236C -:200E000081E50122394B9A6200237CE590238022DB05D2009A62002375E50222334B9A6227 -:200E2000002370E590230122DB059A6200236AE580222A4B92019A62002364E590238022AF -:200E4000DB0512029A6200235DE590238022DB0592019A62002356E590238022DB05D20113 -:200E60009A6200234FE590230122DB059A62002349E5152B00D9CBE11800FFF77DFB1600BB -:200E80001C002200280039003F0044004B00500056005C006300C901C901C901C901C9018E -:200EA000C9016A00C901C901710090230822DB059A61002327E590231022DB059A6100232F -:200EC00021E590232022DB059A6100231BE590234022DB059A61002315E5C04600080048B6 -:200EE000FFFFFFFBFFFFFFBFFFFFFFEF0004004890238022DB059A61002304E50122CC4B90 -:200F00009A610023FFE490238022DB05D2009A610023F8E40222C64B9A610023F3E49023F2 -:200F20000122DB059A610023EDE48022C14B92019A610023E7E490238022DB0512029A6151 -:200F40000023E0E490238022DB0592019A610023D9E490238022DB05D2019A610023D2E42B -:200F600090230122DB059A610023CCE402226270152B00D97EE01800FFF7E4FA0B131B2338 -:200F80002B333A434A525A627C7C7C7C7C7C6B7C7C7490230822DB051B69134063800023C5 -:200FA000B1E490231022DB051B69134063800023A9E490232022DB051B69134063800023BB -:200FC000A1E490234022DB051B6913406380002399E490238022DB051B691340638000232B -:200FE00091E40122924B1B691340638000238AE490238022DB051B69D2001340638000234D -:2010000081E402228A4B1B691340638000237AE490230122DB051B6913406380002372E44E -:201020008022844B92011B691340638000236AE49023DB051B69DB0BDB036380002362E45A -:2010400090238022DB051B69920113406380002359E490238022DB051B69D20113406380EC -:20106000002350E490230122DB051B6913406380002348E4002363708D3344E480236E4A21 -:20108000DB0251690B435361694B6C491A680A401A60D9686A4A0A43DA60002333E4644BA3 -:2010A00066491A680A401A60D968654A0A43DA60002328E45E4A614913680B4013600023E7 -:2010C00021E45B4A5E4B11680B43136000231AE457491B024A69D2B213434B61002312E453 -:2010E000534B1B691B0AA3700123637000230AE48023514ADB02516950480B4353614C4B88 -:20110000196801401960D8684D490143D960C0215069C90201435161042219680A431A6078 -:20112000022290219A62A022C9050868D20202430A601968434A0A431A600023FFF7E3FB8F -:201140009022A023D205D168DB020B43D360384A3C4BD1680B43D3600023FFF7D4FB90224F -:20116000D205136838490B401360314A374913680B4013600023FFF7C6FB9022A023D20584 -:201180001168DB020B431360294A2E4B11680B4313600023FFF7B7FB9020C00542692C49B2 -:2011A0009D000A40C021890029400A434261204A284851691B0A0140FF2005402943516109 -:2011C00015681F491B02294311605169084003435361022393619362136818490B4013608C -:2011E0000023FFF790FB0023FFF78DFB8D23FFF78AFB8D23FFF787FB8D23FFF784FB8D2382 -:20120000FFF781FB8D23FFF77EFB8D23FFF77BFB8D23FFF778FB95789388032D00D1E0E01F -:201220001AD8002D67D0012D00D171E0962566E0000400480008004800100240FFFFAAAAC7 -:201240000000555550550000FFFFFAFFAFAAFFFFFFFC000003FF0000042D00D101E1802D63 -:20126000E4D190230122DB0562709A62196811431960C04618691968104091431960D96801 -:201280009143D960F021002832D1196891431960D9681143D9601F691E69C0461D69C046C8 -:2012A000C0461C69C046C046C04619698C46C046C046C046C0461969019119689143196043 -:2012C000D9689143D9600100174211D1110016420ED1023115420BD10331144208D16346CA -:2012E0000431134204D1019BD631DB0700D5D139BF4B997073E0BF4A137001F073FCBC4CD1 -:201300002570BD4BA2B2240C5A8100989C81FEBD01F068FC90221023D20593611168F033C0 -:201320000B43136008239362116838330B4313602023936180231168DB000B431360802395 -:20134000936180231168DB010B431360AB4BAC489D611968AB4C0D431D6080254169ED0275 -:2013600029434161196821401960DE68A6490E43DE601E6826401E60DE680E43DE60466952 -:20138000354345611D6825401D60DD680D43DD60C0254669ED023543456104201D68284341 -:2013A00018600220A02598621668ED02354315601E68964D35431D605569954E3540556150 -:2013C0005A69944D2A405A611A68114319605A69D2B25A61986198621A6814401C60002589 -:2013E0008DE7DBB2022B23D00025032B00D186E79735012B00D082E7C023814ADB025169C5 -:2014000004200B43536110227C4B196891431960D9681143D96059680143596098611968D9 -:201420000A4302211A607C4A11707C4A1360D6E7E023734A1B0351690B4353619023012215 -:20144000DB05196891431960D9681143D9605968114359609A6119680A431A6008216E4A1E -:20146000E2E7DBB29825012B00D048E7E023644A1B0351690B43536101F038FBAFE79678DB -:20148000D7789588112E00D141E155D8082E00D138E118D8042E00D111E10AD8012E00D19A -:2014A0009BE0002E00D18DE0022E00D19AE0A0236EE0062E00D18BE000D8FBE03900280035 -:2014C00001F08AF982E00C2E00D125E109D80A2E00D103E100D8FCE03900280001F042F817 -:2014E00074E00E2E00D1FEE000D206E10F2E00D1FEE0102EDBD1AA21494800F059FF552104 -:20150000484800F055FFA021454800F051FF3900280000F04DFFA020434B0002197800F0FB -:2015200047FF280001F05CF80400C046280001F057F88442F5D149E0252E00D1B5E01BD825 -:20154000202E00D1C0E00BD8132E00D1EEE000D2E7E0142EABD13900280001F013F935E03F -:20156000222E65D000D2B1E0232E00D148E12F4B242E9CD11D7029E0822E00D12CE10AD8F9 -:20158000802E00D1D7E000D91FE10023262E8ED1174CFFF7B8F9852E00D123E108D8842E42 -:2015A00000D084E701232800637000F0A7FD11E1862E00D11CE1872E00D078E701236370EE -:2015C0001A4B12E13900280001F070F90023DFE73900280001F028F9F8E73900280000F06C -:2015E000CDFDF3E73900280000F0E2FEEEE7C046FC06002004070020006000400004004802 -:2016000000100240FFFFAAAA0000555550550000FFFC000003FF00000C0700200807002078 -:20162000AAFA000055F50000880400209D0400209022D2055369D848A9000340C02080009E -:20164000084003435361D54BD54C58693F022040FF242140084358611868D24908431860BF -:201660005E69280A26400002304358610220986198621E68CC482DB206401E60202696624D -:201680001E6831431960596921400F435F61002D01DA10219162C046C046102191614918E6 -:2016A00091611A681040186090E73900280000F033FE8BE73900280000F0DAFC86E73900B6 -:2016C000280001F0E9FB81E7B84B53E7B84B1D807CE73900280001F061F977E739002800FA -:2016E00000F0F8FD72E73900280001F017FC6DE73900280001F0E2FB68E73900280001F023 -:201700001BF963E73900280000F0C2FD5EE73900280000F0EDFE59E73900280000F0A2FEA9 -:2017200054E73900280000F0F3FF4FE73900280000F0C8FF4AE7012190226170D2051368B5 -:2017400008208B431360D36810248B43D360202390629461936153698F49AE000B40C02124 -:20176000890031400B4353618C4B8D495F693940FF273E400E435E611E688A493143196085 -:20178000290A81405E6937400F4302215F61996199621968844E31401960C046C0462DB2C5 -:2017A0009061002D00DA9462C046C046C046C046C046C04690220821D2051B69916249188D -:2017C00091617C4A1B0A937000E701232800637000F006FFA070F9E601232800637000F030 -:2017E00015FDF7E701236370704B1B78A370EDE6022363706E4B1B88A3701B0AE370E5E624 -:201800006D4B9D4202D880231B021D43902700F015FC6B1CFF339BB20193FF057A695E4957 -:20182000AB000A40C021890019405C4C0A437A6162695B4900020A40FF210B401A436261DA -:201840002268584B1A43226066692A0A0E401202324362610222A261A2622268524E324018 -:20186000226022681343236063690B4018436061C0460123A36200F0E1FB01230135A361F7 -:20188000019BADB29D42C9D123681E4026609DE69578D0789188112D00D195E007D8012DE3 -:2018A0004ED0002D0DD0022D5CD0822646E0212D66D0222D6BD0122DF7D10223102063709A -:2018C00085E001273D4B04261B7810209F40FA433B4B01921D68AF626B6813406B6000F05A -:2018E000A2FBAF616B683B436B60FA20400000F09AFBFA20AF626B68019A400013406B6049 -:2019000000F091FBAF616B68013E3B43B6B26B60002EEAD10436FA2000F085FBAF626B68E7 -:20192000019AFA2013406B6000F07DFBAF616B68013E3B43B6B26B60002EECD12670E0E454 -:201940001E4A1F4B12781E689540B56273681020AB43736000F067FBB56173682B43736069 -:201960000026EBE70123154A6370127815499340134A9BB21268002002F0A2F8A070EFE7A8 -:20198000012302000020637001F0F0FAF6E70123020063701020F7E7FFFC00000004004828 -:2019A00003FF000000005555FFFFAAAA8804002036040020FC060020FF1F00000C070020B0 -:2019C000080700200400020002230020637001F027FB6080C4E793789188042B1ED007D8FC -:2019E000022B20D025D8012B13D08723FEF78BFF072B27D004D8052BF7D1C14B197005E01E -:201A0000082B24D0802BF0D101F070F80023FEF77AFFBC4A1278A2706370F7E7BA4B1B785E -:201A2000A3700123F8E78322B64B1970B64B1A70ECE7B44BB44D197083232B7001F076F8DA -:201A40002B78EDE7B14B1970090A5970DEE7AF4B1A78A2705A78E2709A782271DA7862715D -:201A60001A79A2715B79E3710623D5E79078D578023891888A230A2801D9FEF744FFFEF725 -:201A800061FD060B11161D24303C41495000A04B19800023FEF737FF9D4B1B881B040B435F -:201AA0009847F6E7FEF764FE0300FEF72CFF994803689AB20B0413430360EAE7954A136865 -:201AC0001B0C1B040B431360E3E704236370914B1B681A0AA370E2701A0C1B0E227163719D -:201AE000D7E702238B4A637012684B00D3181A88A2701B881B0AE370CBE7864B6D001B6869 -:201B0000E952C6E7834A4B001168CB18136002226270ECE77F4B6D001A6855191D602980E0 -:201B2000B7E7012363700233A370B2E78823FEF7EAFE93789188022B09D0032B0ED0012B45 -:201B400010D1754A090411600023FEF7DCFE724A13681B0C1B040B431360F5E701226E4B7F -:201B60001A60F1E78323FEF7CEFE91780B00303B2F2B1AD8D078032814D8FEF7E3FC161880 -:201B80000211664B512900D17DE028D8312957D00FD8002937D030294BD0B423FEF7B3FE50 -:201BA0005F4BEFE7B523FEF7AEFE5E4BEAE75E4BE8E7332952D04AD35029EED1C022D200B3 -:201BC00022801A7AA270DA78E2705A7A22719A7A62719A78A2715B7CE371FFF792FB7F2950 -:201BE00000D984E070295DD260293CD0612943D05229D2D180221B889200A3701B0A2280DF -:201C0000E370FFF77EFBFF22484BCA5401311029FBD10123434A5B425380434A53803F4AEF -:201C200053803F4A53800122414B1A700023FEF76AFE9288110AD9721A730023FEF763FE36 -:201C40009288110A59739A730023FEF75CFE9288110AD9731A740023FEF755FE92885A74A2 -:201C60000023FEF750FE80235B00238093882F4AD35CA370FFF745FB80235B0023802D4B38 -:201C80001B68DB78F5E7C022D2002280DA7AA2701A7BE2705A7B22719A7B6271DA7BA27137 -:201CA0001B7C99E71F4B15785C68224B1B68D8787F2D00D9B9E0204D009E2E7000280FD044 -:201CC00000250095982800D1B5E004E000250095D02800D1AFE0164810350570FF2004E013 -:201CE000164803609020D8706F300090A3E00720084003283BD8FEF725FC3D3F2338C046D9 -:201D0000E1040020C0040020E2040020C10400203404002030040020980400206004002003 -:201D200074040020380400204C040020E3040020A00400208C040020950400209004002057 -:201D4000494B802901D2FFF7DCFA872916D97031C9B2072901D9FFF7D4FA00212170D17823 -:201D6000997292881A80FFF7CCFA404BE9E7B523FEF7C9FD3E4BE4E73E4BE2E79088D178F3 -:201D8000C6B28D19BE22102D2CDC0432002929D0DD78033AFF2D25D19D780132FF2D21D18E -:201DA0000022D7B28F4220D3334D0022AC464F01013F1F727701000A67449870DA705A72B4 -:201DC0009A721A80DA721A735A739A73DA731A745A745F60294B9D19A8540132D3B28B4297 -:201DE000FAD300222270FFF78CFA0132B718234D013FEF5DFF2FD4D0C122F3E79378002B23 -:201E000004D0402B08D0D223FEF77DFD237092881B4B1A70FFF775FA80235B002380184B41 -:201E20001B7826E78023FEF76EFDD82800D04DE780205C68D87000205872DB78902B01D086 -:201E4000FFF75FFA712901D0FFF75BFA0D4B91881B685868017092885968120A4A705A7AD3 -:201E600002325A72FFF74DFA6004002074040020380400204C040020F4040020E30400201E -:201E8000A004002090040020F0B585B001932A4B00901C6829482043186058690C02C0B246 -:201EA000204358610220986198621868244C49B22040902418600820E405A061002901DA64 -:201EC0001021A16265691F499000C0278C460D400100BF0039400D436561FF2459691A4D67 -:201EE0002040294008435861C046039590250020ED050294C046C04666461969009C090A31 -:201F0000215401326969D2B29400314026003E4031436961039E596901303140029EC0B2C5 -:201F200034400C4301995C618842E3D90823AB62DB18AB6105B0F0BD000400480000555572 -:201F4000FFFFAAAAFFFC000003FF0000F0B585B00193284B284C1D6800902C431C6027486E -:201F60005C691F2943D8802529430902E4B2214359610221996199621968214C084090216A -:201F800018608020C905886248699500C026A44620402C00B60034402043FF2448615869B5 -:201FA000184F2540384005435D61C046002002960394C0461D69009C2D0A255464464D694A -:201FC00001322540D2B2029C9600344025434D61039C5D6926403D400130019C2E43C0B22E -:201FE0005E61A042E5D980238B6105B0F0BDE4B20902BCE70004004800005555FFFFAAAA05 -:020000040800F2 -:20200000FFFC000003FF0000002302000002002A04D1002B01D0802318437047DB43511E5F -:20202000DBB20A40F3E70023800080B2C046C04601339BB29842F9D17047FFFF30B5072226 -:20204000012409490868450D43086B404340C50FDBB26B40013A23404000D2B21843002ADB -:20206000F1D10860C0B230BD98040020002070479022D205F0B553691B4C86002340C02426 -:20208000A400344023435361184B194D5C69000A2C40FF252E4034435C611E68154C00025B -:2020A00026431E605E69144F2E4030435861022098619862186810263840186008209062A0 -:2020C00096621868090204431C605869284001435961C04601219962C046996119680F40A0 -:2020E0001F609661F0BDC046FFFC00000004004803FF000000005555FFFFAAAA9022D205E9 -:202100005369194930B50B40C0218400890021400B435361154B164D5969000A2940FF2504 -:202120002C40214359611C681249000221431960596908240D4002212843586199619962E0 -:2021400019680D488025014019601021946191629562C046C046C0461869E0409561C0B21F -:202160009462916130BDC046FFFC00000004004803FF000000005555FFFFAAAA1D4B30B5F2 -:20218000984202D880231B0218439025ED056B69194C82002340C024A400144023436B619D -:2021A000164B174D5C69000A2C40FF252A4014435C611C68134A000214431C605C690902F7 -:2021C0002C40204358610220986198621C680E4804401C601C6822431A605A692A401143E4 -:2021E0005961C04601229A62C0469A611A6802401A6030BDFF1F0000FFFC0000000400486F -:2022000003FF000000005555FFFFAAAA1A4B30B5984202D880231B0218439021C9054B6974 -:20222000164A84001340C0229200224013434B61134B144D5A69000A2A40FF252C402243A4 -:202240005A611C68104A000222431A605A6915400222284358619A619A621A680B48024096 -:202260001A6080228A62C046C046C046C0461869000AC0B28A6130BDFF1F0000FFFC000050 -:202280000004004803FF000000005555FFFFAAAA70B504000D000D48AA21FFF76FFF5521C4 -:2022A0000B48FFF76BFFA0210848FFF767FF29002000FFF763FF2000FFF7A8FF0500C04695 -:2022C0002000FFF7A3FFA842F5D170BD55150000AA1A000070B504000D000D48AA21FFF7EF -:2022E0004DFF55210B48FFF749FFA0210848FFF745FF29002000FFF741FF2000FFF786FF26 -:202300000500C0462000FFF781FFA842F5D170BD55150000AA0A000090220823D205F0B5C8 -:20232000936153691D4C85002340C024A4002C40234353611A4B1B4E5C6909023440FF2657 -:2023400035402C435C611D68174C25431D605F69050A37402D023D435D6102259D619D6230 -:202360001F68124D00B22F401F60202797621F683C431C605C69344021435961002801DABB -:2023800010219162C046C046102191614918916119680D401D6008239362F0BDFFFC000084 -:2023A0000004004803FF000000005555FFFFAAAA9022F0B50124D20513688500A343136027 -:2023C000D368234EA343D3605369224C09022340C024A4002C40234353611F4B5C693440EF -:2023E000FF2635402C435C611D681C4C25431D605F69050A37402D023D435D6102259D6165 -:202400009D621F68164D00B22F401F60202797621F683C431C605C693440214359610028F2 -:2024200001DA1021916208219161C046C046C046C046C046C046C046C046C04691624918F8 -:202440009161103191611A6815401D60F0BDC04603FF0000FFFC000000040048000055555D -:20246000FFFFAAAAF7B505001C4B01911E781C4B74001F8820213C19A4B22000FFF798FFAF -:20248000AA211848FFF77AFEA01B80B21021FFF78FFF55211448FFF771FE20212000FFF773 -:2024A00087FFA0210F48FFF769FE104B187846430101BE19C9B2B0B2FFF77AFF01992800C6 -:2024C000FFF75CFE2800FFF7A1FE0400C0462800FFF79CFEA042F5D1F7BDC0469D0400200A -:2024E0003604002055150000AA0A00008804002070B50400B0200E0000020A21FFF758FF37 -:20250000C0200A210002FFF753FFAA211248FFF735FE55211148FFF731FEA0210E48FFF717 -:202520002DFEB0200E4B00021D782900FFF740FFC02029000002FFF73BFF31002000FFF7D0 -:202540001DFE2000FFF762FE0500C0462000FFF75DFEA842F5D170BD55150000AA0A000073 -:2025600088040020F8B505000E00194B02211C88A71CBFB23800FFF71BFFAA211548FFF72A -:20258000FDFD601C80B20121FFF712FF55211248FFF7F4FD02213800FFF70AFFA0210D4843 -:2025A000FFF7ECFD0D4B19786418A0B2FFF700FF31002800FFF7E2FD2800FFF727FE04001B -:2025C000C0462800FFF722FEA042F5D1F8BDC0463604002055150000AA0A00008804002030 -:2025E0009022D20553691A4970B50B40C021FF268500890029400B435361164B16495C69BF -:2026000035400C402C435C611C681449214319605C69010A26400902314359610221996183 -:20262000996219680E4C00B221401960002801DA1021916208219161C046C046C046C046DE -:2026400018691023C8409162C0B2936170BDC046FFFC00000004004803FF0000000055553F -:20266000FFFFAAAA70B504000D00A021FFF754FE29002000FFF750FE2000FFF7B1FF050071 -:20268000C0462000FFF7ACFFA842F5D170BD70B50400A0200D00C0015421FFF789FEA0212C -:2026A0002000FFF739FE29002000FFF735FE2000FFF796FF0500C0462000FFF791FFA84215 -:2026C000F5D170BD70B50400A0200D000D4BC0011978FFF76DFEAA210B48FFF769FE552115 -:2026E0000A48FFF765FEA0210748FFF761FE29002000FFF75DFE2000FFF772FFA842FAD1F4 -:2027000070BDC0468804002055D50000AAAA000070B50400C0200D0000020121FFF748FEE6 -:20272000AA211548FFF744FEC02000210002FFF73FFE55211148FFF73BFEC0200121000201 -:20274000FFF736FEA0210C48FFF732FEC0200C4B00021978FFF72CFE29002000FFF728FEC5 -:202760002000FFF73DFF0500C0462000FFF738FFA842F5D170BDC04655950000AAAA00008E -:202780008804002070B504000D001048AA21FFF70FFE55210E48FFF70BFEA0210B48FFF75C -:2027A00007FE29002000FFF703FEA020094B00021978FFF7FDFD2000FFF712FF0500C0460B -:2027C0002000FFF70DFFA842F5D170BD55D50000AAEA00008804002070B504000D00104802 -:2027E000AA21FFF7E5FD55210E48FFF7E1FDA0210B48FFF7DDFD29002000FFF7D9FD8020FD -:2028000002210002FFF7D4FD2000FFF7E9FE0500C0462000FFF7E4FEA842F5D170BDC046E9 -:2028200055D50000AAAA00009022D205536970B5194C86002340C024A4003440234353614C -:20284000164B174C5D69000A2540FF24264035435D611E68134D00022E431E605E69090217 -:2028600026403043586102209861986218680E4E30401860186805431D6058692040014343 -:2028800059610121106808431060916291611A6816401E6070BDC046FFFC00000004004874 -:2028A00003FF000000005555FFFFAAAA9022D205536970B51B4C86002340C024A400344064 -:2028C00023435361184B194D5C69000A2C40FF252E4034435C611E68154C000226431E6044 -:2028E0005E6909022E40304358610220986198621E68104806401E601E6834431C605C6977 -:20290000254029435961012114680C431460916214688C431460D4682143D1601A68104076 -:20292000186070BDFFFC00000004004803FF000000005555FFFFAAAA70B505000E00134B17 -:2029400000211C882000FFF733FDAA211048FFF7ADFF55210F48FFF7A9FFA0210C48FFF731 -:20296000A5FF0D4B19786418A0B2FFF721FD31002800FFF79BFF2800FFF732FE0400C046A7 -:202980002800FFF72DFEA042F5D170BD3604002055550000AA2A00008804002070B504006C -:2029A0000D000D48AA21FFF781FF55210B48FFF77DFFA0210848FFF779FF29002000FFF77B -:2029C00075FF2000FFF70CFE0500C0462000FFF707FEA842F5D170BD55550000AA2A0000E2 -:2029E000F0B5284B85B01E78274B01901B78029100930392254B112840D0002290200025F3 -:202A00001A70C0051C782A002B00012184460198202805D1009D1D410D4231D00C430D0034 -:202A2000029820280ED1002B01D1174FBB54604607690F4206D01448875C080098400743BD -:202A4000114887540398013EF6B2002804D0002E02D102200D0004430133DBB2082B05D183 -:202A60000132094BD2B29B5C00930023002ECED1002D01D0054B1C7005B0F0BD0122BDE7CE -:202A80008C43CCE7E1040020C104002094040020F0B5134B134D19780023112800D10223CC -:202AA0000027114E3A00B4463C0001262B702B7820280CD163461B5D370013410132334044 -:202AC000D2B25B00082A02D100220134E4B20139C9B20029ECD1002F00D02B70F0BDC0463D -:202AE000E104002094040020C104002000230B4A012113709022D205106888431060D068A3 -:202B00000143D1608021064A11701900054A1370054A99540133202BFBD1704794040020ED -:202B2000E2040020E1040020C104002010B52B4B1B78082B4ED013D8294C032B39D006D811 -:202B4000012B28D0022B2AD0254BEE223AE0062B3AD03DD8042BF7D101222021112021E0B3 -:202B60000F2B28D008D81E4C0D2B1FD000220E2BEAD12021102015E0802B06D0184CFF2B27 -:202B800006D0102BE0D100221FE0FFF7AFFF10BDF0232370FBE72020FFF77AFF04E00122A3 -:202BA00000212020FFF71CFF8223F2E700221100F7E70122DDE7002220211120FFF710FF94 -:202BC0008222074B1A70E2E7012220210800E9E71020E1E71120FFF75BFFF1E7C00400203B -:202BE000E2040020BC235F49DB038A6AF0B513438B628B6A5C4A13408B62E0234A691B03DF -:202C000013434B61594B1A789023DB05102A03D100221A609A60DA6040221868544D9043B5 -:202C20001860D86880260243DA601A685148F60402401A608022D86852000243DA601A68B1 -:202C40004D48802702401A608022D868D2000243DA601A684948FF0202401A608022D86897 -:202C6000D20102430120DA60454A146884431460D4680443D4601C682C401C608024DD688F -:202C800064032C43DC601C683E4D2C401C608024DD68E4052C43DC601C683B4D2C401C60BA -:202CA000DC683A4D3443DC601C68394E2C401C608024DD6864012C43DC6004241568A5431D -:202CC0001560D5682543D5601D6885431D60DD688543DD6048693843486110683040106064 -:202CE000D5682C480543D560C0254F69ED023D434D6115682C4314600224A02594621C6827 -:202D0000ED022C431C601768234C274317601F68224C27401F601768214C27401760DF681E -:202D20001D4C3D438027DD60D368FF021C43D4604B69154D3B434B61136833401360D3681B -:202D40000343D36013681E4016608026D368F6041843144BD0601A682A401A60DA683243C9 -:202D6000DA60F0BD00100240FFFFA1FF04070020FFFFEFFFFFFEFFFFFFFBFFFFFFBFFFFFB6 -:202D800000040048FFFFFFBFFFFFFFFBFFEFFFFFFFFFAAAA0000555550550000FFFFFAFFAF -:202DA000AFAAFFFF00080048F7B580270D0001924C7A000203B2A6B20093FF042B7AB34274 -:202DC00002D26C720020FEBD00986B682043195D80B2019B98476B681A5D0B4B824206D03B -:202DE0001A683A431A60802292019A61E6E71A68064901340A401A60DA6801363A43DA6063 -:202E0000E4B2B6B2DAE7C04600080048FFFFFFFBF7B50D001600FF27000203B24C7A01939F -:202E20002A7AE3B2A24202D26B720020FEBD20006A683840D15C019B0134184380B2B047FD -:202E4000A4B2EDE7022907D10F4B104A984218D0904209D1180007E0032906D10A4B0B4978 -:202E60000B4A98420BD1080070470429FCD1064B064A984205D006499042F4D0054A884240 -:202E8000E6D11000F0E7C046380400204C040020600400207404002070B506000D00052445 -:202EA0003000013CFFF79CFBE4B229003000FFF77FFA6D08002CF3D170BDFFFF70B5040001 -:202EC000A0200D0000020221FFF7E6FFAA211048FFF754F955210F48FFF750F9A0210C489E -:202EE000FFF74CF9A0200C4B00021978FFF7D4FF29002000FFF742F92000FFF787F905000F -:202F0000C0462000FFF782F9A842F5D170BDC04655150000AA0A00008804002070B5040044 -:202F2000C0200D0000020521FFF7B6FFAA210D48FFF73EFA55210C48FFF73AFAA02109487D -:202F4000FFF736FA29002000FFF732FA2000FFF747FB0500C0462000FFF742FBA842F5D17A -:202F600070BDC04655550000AAAA0000F7B501230225294F01923A7800910543934004219B -:202F8000A020264E2D049BB229433268C00100F097FD040001283DD13B7809209C400543F9 -:202FA0007830A3B232682900FF3000F089FD040001282FD13B7832689C402900A3B20020B8 -:202FC00000F07EFD0400012824D1009B180AFFF71BF83B7832689C402900A3B200F070FD9A -:202FE0000400012816D16B461878FFF70DF822003B7829009A4093B2326800F061FD0198E3 -:20300000FFF702F83B7832689C402900A3B200F057FD0400E0B2FEBD0C0700200807002022 -:20302000F7B501230225274F00903A780191054393400421C020244E2D049BB22943326839 -:20304000800100F03DFD0400012838D109231D433B78C0209C403268A3B22900400000F04C -:203060002FFD040001282AD13B7832689C402900A3B2002000F024FD040001281FD1019B6B -:20308000180AFEF7C1FF3B7832689C402900A3B200F016FD0400012811D16B461879FEF769 -:2030A000B3FF22003B789A4093B2009A14430922E1B209041143326800F002FD0400A0B27B -:2030C000FEBDC0460C07002008070020DB4BDC4AF0B51A60DB4A89B01A6002225A60A022EA -:2030E00012019A600293029BDB68002BFBD19022029BD54912031960D44B186802431A60FE -:2031000080220791920219681142FCD0012259680A435A608022596852020A435A608022F6 -:20312000596852030A435A608022196852040A431A608022920419681142FCD01121C44A1A -:20314000C44C11605A680E398A43110002220A435A608022196B0A431A638022D9691204F2 -:203160000A43DA61BC4BE381BC231B689847BB4B6382BB4B238262B6FFF734FDF022B94B30 -:203180001A70029B079AB84E1A603278202311009943D2291CD1B549B548C978C378022488 -:2031A000FF2904D1FF3B1C00631E9C41E4B2B14BDB78FF2B00D00324AF4BDB78FF2B00D011 -:2031C0000424AE4BAE4F1C703860D22A00D177E13378F22B05D10022023B3370A84B1B6872 -:2031E000DA703578D02D20D1A54E3068C3780393802B1AD1A14B00271978FFF723FE3060AD -:20320000C570C37A058804004772EEB2212B00D1ECE100D96AE1112B00D18CE200D952E1BD -:20322000102B00D164E2C323E3708F4B1D78F02D01D000F012FC924E3468E378982B01D03D -:2032400000F00BFC8D4B20001978FFF7FBFD00233060C370E37AE5702678112B00D15FE37B -:20326000122B01D100F0EFFB102B01D000F0F3FBE37B002B06D130008038C0B2814A2100D5 -:20328000FFF792FDE37B012B06D130008038C0B27D4A2100FFF7BCFDE37B022B06D13000C5 -:2032A0008038C0B2794A2100FFF7B2FDE37B042B06D130008038C0B2754A2100FFF774FD56 -:2032C000E37BFC2B06D130008038C0B2714A2100FFF76AFDE37B0A2B06D130008038C0B23B -:2032E0006D4A2100FFF760FDE37BFD2B15D13F20238830409B0903936B4680261B7B06434D -:203300000593677ABBB2019333021BB20693237A019A934200D37EE26772E37B1E2B06D101 -:2033200030008038C0B25D4A2100FFF73DFDE37B0C2B17D11F20304080260643C020258893 -:20334000A5216D09EDB2C001FFF732F829005448FFF72EF8677A35023D43237ABB4200D3CB -:20336000C1E26772E37B1C2B21D1AA214D48FEF7D3FF55214C48FEF7CFFF20214948FEF77F -:20338000CBFF30008038494A2100C0B2FFF70CFD802090210002FEF7BFFF8020002100028D -:2033A000FEF7BAFF8020F0210002FEF7B5FFE37B1F2B21D1AA213E48FEF7AEFF55213D487B -:2033C000FEF7AAFF20213A48FEF7A6FF30007038394A2100C0B2FFF7E7FC902090210002C8 -:2033E000FEF79AFF902000210002FEF795FF9020F0210002FEF790FFE37B6F2B06D130009D -:203400008038C0B22D4A2100FFF7CEFCF4232288E370A37A9B1823801FE32100FFF712FD7B -:2034200001230135EDB2A542F7D3002B00D0386080223B68DA70D0233370C9E6003000400B -:20344000CCCC000055550000AAAA00000010024000200240006000403CA5FFFF4108000852 -:2034600085080008E2040020A00400204C0400203804002060040020740400209C04002045 -:203480008C0400209D2900081D2F000839290008D92700086D20000885270008112700085F -:2034A000FFFF0000AA8A0000558500008F260008AA9A00005595000065260008C52600088F -:2034C00000230125AFE7122B00D19EE1202B00D0A9E6C17B0F2900D99BE109012943037A1A -:2034E0008278C9B26068FEF7CFFC8BE0232B00D1FBE000D2F4E0312B00D185E0322B00D005 -:2035000091E6C17B0F2900D983E143680901039383780D430193037AE14A0493E14B6DB2CF -:2035200019681E000A431A605A69E9B20902D2B20A435A6102229A619A621A68DA490A4026 -:203540001A609022D205002D01DA1021916251690198D64D80002940C0250700AD002F40D5 -:203560003943FF2751615A69D14938400A4010435861C046CD4A002305929022AC4606913A -:20358000D205F73F9761C046C046C046C046C046C046C046C046C04631690398090AC15493 -:2035A000019997620131C9B2506901918D0005990133084061462940084350617169069855 -:2035C000DBB20140FF2005400D43049975619942D8D21021976291616372B64B1B6819885B -:2035E0009A7A52181A80D822DA701EE63C23C17B0A009A4300D00CE1237AA2783143606839 -:20360000FEF7A4FC6072E8E7C17B3C230A009A4300D0FEE04368A24A0193837831439C46C8 -:20362000037AA14803939F4B1D682A431A605A691F2950D880260E433602D2B232435A6122 -:2036400002229A619A621A68C025104018606046902280000600D2055169944FAD002E40B3 -:203660003940314351615969914E31400491FF210840049908435861802090629061C04672 -:20368000C046C04600210597069604959062C046C046C0461D69019E2D0A75546546013522 -:2036A000EDB25669AF00AC46059D2E40049D3D402E4356615D69069E3540FF2637402F43C8 -:2036C0005F619061C046C0460131039DC9B28D42DCD2617281E7D2B2090211435961AFE7F5 -:2036E000037A8278C17B3143FCE6C17B3F237FE7C37B1E2B0BD1C020AD092233E9B20002D2 -:203700009E43FEF755FE237AA2788021EBE71C2B00D062E7A0208121C001FEF749FE8020F7 -:20372000ED09E9B20002FEF743FEA0203900C001FEF73EFE51E7C37BFE2B00D04DE76D09BC -:20374000E9B25D48FEF71AFD6368554A0493A37803980193237A019D0593524BAD00196834 -:203760000A431F211A605A690E40E03136020A4032435A6102229A619A621A684A494B4EA5 -:203780000A401A6090220821D20591614918916290625069B4463040C0262900B600314022 -:2037A00008435061FF2259694148154001400D435D61C046902511000690ED050396C0460A -:2037C0001869049A000AD055019801370130C2B20192960062466869FFB21040039A324073 -:2037E00010436861069A58690E401040059A06435E61BA42E3D290228023D2059361783B83 -:203800009362083393616772E7E6037A8278602169E7C42308E500212848FEF7C9FDAA21AB -:203820002748FFF701F855212648FEF7FDFFA0212348FEF7F9FF6B46187B234B0599C01814 -:2038400080B2FEF7B5FD069D63683D43ADB2D95D2800FEF7E9FFC0462800FEF7C1FE049091 -:203860002800FEF7BDFE049B8342F4D163680499DA5D164B8A422DD1019A1549013292B20D -:2038800001921A6801370A401A608022D968D2040A43DA6080229201FFB29A6237E5C046D3 -:2038A0000000555500040048FFFFAAAAFFFC000003FF00008C040020FF3F000069FD00006F -:2038C00055550000AA2A000069FDFFFF00080048FFFFFFFB80221968D2040A431A6080225C -:2038E00092019A6113E5AA216348FEF761FD55216248FEF75DFDA0215F48FEF759FD63688C -:203900002800D95DFEF754FDC0462800FEF768FE01902800FEF764FE019B8342F4D11CE543 -:20392000E37B002B04D1564A21003000FFF770FAE37B012B04D1534A21003000FFF768FA33 -:20394000E37B032B04D1504A21003000FFF760FAE37B042B04D14D4A21003000FFF758FA39 -:20396000E37B0A2B04D14A4A21003000FFF750FAE37B0B2B04D1474A21003000FFF748FA37 -:20398000E37BFE2B00D041E5218843484909C9B2FEF7F4FBAA214148657AFEF769FB5521C3 -:2039A0003F48FEF765FB3D482021FEF761FB1F2030400302AFB20393237ABB420DD2657219 -:2039C00090210020FEF754FB00210800FEF750FBF0210020FEF74CFB18E5039EA0212E432C -:2039E0003000FEF745FB63683000595DFEF740FBC0463000FEF782FB01903000FEF77EFBAA -:203A0000019B8342F4D1636801995A5D254B8A4210D11A68244901350A4080211A60DA687B -:203A2000C9040A43DA60802201379201EDB2BFB29A62C1E780211A68C9040A431A608022B8 -:203A400092019A61B8E730006030184A2100C0B2FFF7DEF9DAE4C323E370154B1B78F02BB2 -:203A600001D1FFF78EFB832B01D0FFF78AFBFFF75DF8FFF786FBC04655D50000AAAA0000B5 -:203A8000D5220008BD2E00086525000891220008F124000865240008FF3F0000AA0A000047 -:203AA0005505000000080048FFFFFFFBB1230008E2040020FFFFFFFFFFFFFFFFFFFFFFFF8E -:203AC000F0B5474680B4061C081C000C102801D5162700E004270007000F8046FF2001409C -:203AE0005468251C1D439C43F60313850AD5C046C046C046C046C046C046C0469480138346 -:203B0000958002E0012000F081F801390AD4381C00F07CF8C046948013839580C046C04683 -:203B20007600E2E7381C013800F070F8948013839580042000F06AF8108A184001D0FF204A -:203B400061E0C046C046C046C046C046C04694809580108A184055D001200226B04552D060 -:203B60000921168A1E40FCD1012000F04FF89480C0469580C04603E0C046C046C046C046C8 -:203B8000948095807600108A1840EFF300804000C00F0643381C023800F038F89480958003 -:203BA000022000F033F80139EAD513859480012000F02CF813839580301C80210223994058 -:203BC0000E401BD1002341085E4149085E4149085E4149085E4149085E4149085E4149089F -:203BE0005E4149085E4149085E41760808D34008FF21084048400002013004E00E2002E08E -:203C0000092000E0002080BCB846F0BD0138FDD17047C04603685A0003D45B005B08C0189E -:203C20007047802212061343F9E7C046F0B557464E46DE464546E0B5814683B092460029C2 -:203C400025D04B1E9B46002701935B46FB18DC0FE4184B466410E5005E193000FFF7DAFF6F -:203C6000019B8046A3420BD0280008304844FFF7D1FFD04506D80138504509D2671CE4E786 -:203C8000504505D9A74202D0631E9B46DDE70026300003B03CBC90469946A246AB46F0BD94 -:203CA000012809D0022805D0002801D0002070470248FCE70248FAE70248F8E795430008D2 -:203CC000AD430008A143000830B5234B83B005008C1E002B26D001A9200000E000BF002819 -:203CE0001CD001992200FFF7A1FF041E16D0FFF791FF6368A864012B2AD0201D002B23DB95 -:203D0000FFF788FF0023E8642B650368002B0FDBFFF780FF2861002003B030BD002309209D -:203D20002B61F9E70D480E49091AC9100191D9E71801000FFFF7B4FF2861431E984108235E -:203D4000404298430930E7E70123E8642B65DCE7002305202B61DFE700000000904C0008BE -:203D6000604D0008036810B50400DA0705D448309B070ED500F06CFC23685A070ED51A075B -:203D800013D5DB0604D42000D130FF3000F06CFC10BD00F059FC23685A07F0D42000D030F8 -:203DA00000F05AFC23681A07EBD420005130FF3000F056FC2368E4E70368002B00D01B1851 -:203DC00018007047092070477047C04670B504000D0008E02B6C2A00636121000120236906 -:203DE0009847082807D1296C2000FFF76DFF0028F0D000F083FE0728FBD10020296CFFF7C6 -:203E0000E3FF281D00F00AFCF0B5CE46474680B5C3682E4C9846A544836906001400043163 -:203E2000402205A8994600F071FE002304AD049323E0F0222B6C5200736129007CA800F0BB -:203E400065FE7CAA31003369200098478A9B07006B6403934B46009501933200330021003C -:203E60000120C04700281FD1F0227CA95200280000F04CFE0024082F1FD1296C3000FFF711 -:203E800023FF611E8C41070009340028D1D0AB6B10216B644B46214301930095330032000E -:203EA0000120C047002800D009273800F5239B009D440CBC90469946F0BD072FF4D12000A1 -:203EC000296CFFF781FF05A800F0A8FB2CFCFFFF406C704770B5CB6BFAB00B6404000E0088 -:203EE0004022043103A800F011FE01235B42029306E002AA210023699847050008280AD1FD -:203F0000129B200019000193FFF7DEFE0028F0D009207AB070BD02A8FFF724FF062DF7D12F -:203F200031002000FFF752FF10B58261DA6BC1601A6419000022FFF767FF10BD436970B528 -:203F40000B64C36804000D00002B15D10A002369010002209847072807D0082803D12900DA -:203F60002000FFF733FF00F0C9FD0020296CFFF72BFF281D00F052FB0122FFF745FF00F09F -:203F8000BDFDC046C36810B5002B05D0CB6B00220B64FFF739FF10BDFFF79CFFFBE7C04636 -:203FA0007047C046836810B5002B02D001000120984710BD012906D0002906D0033902206C -:203FC000012900D970470120FCE7002B08D10F2A06D8920082185268009B00201A60F1E715 -:203FE0000220EFE700B585B003AB0A00009300210023FFF7DFFF039805B000BD012906D06F -:020000040800F2 -:20400000002906D003390220012900D970470120FCE7002B08D10F2A06D8009B92001B68BA -:20402000821853600020F1E70220EFE700B585B003AB039200930A0000230021FFF7DEFF62 -:2040400005B000BD70B51A4CD36BA544136406000D0019A8111D402200F058FD01235B425B -:20406000189314E00C2118A802AAFFF7DFFF290018A8B047002812D1069B18AA02A9083003 -:2040800001939847040005280AD0092807D0289B02A819000193FFF717FE0028E2D009246E -:2040A00018A8FFF75FFE200090239B009D4470BDC0FDFFFFF0B5DE4657464E464546E0B59C -:2040C000160003220D0011008BB01F000193EB6C01401C1D009107A91B688B460894002F68 -:2040E0006BD01A0C1B045946079302230B72FD3313409B004A72E418009B022B00D1AC6BDF -:204100002B6DDB0747D4002305930833034002932768002F00D112E1019B022B49D06388ED -:20412000278898460434012340469A469843AB6C0F21994681443000FFF754FF002181450A -:2041400006D8390053469943494488428941494243465A0002231340012217403B43012BA8 -:204160003AD0002B30D0022B1BD12368009A5F007F08002A67D1002906D0029A002A00D1EE -:204180007CE0002F00D1A9E0002B00DA04340137BF00E419BCE75946300000F00BFB002879 -:2041A00010D009200BB03CBC90469946A246AB46F0BD636808349846B5E71B0207935B462F -:2041C0001A8199E70820EDE7009B002B02D0002900D08DE004349BE7009B002B1AD1002936 -:2041E00016D02368DF0F63689A1CDAD02A0058320692013300D1BDE0201DFFF7DDFD06AB89 -:2042000001003A00280000E000BF002800D082E008347DE70D2130002F6AFFF7E3FE87420B -:20422000F6D1AB6A9C42F3D12000FFF7F3FC0F2102003000FFF7FAFE30002A000021FFF73A -:20424000F5FE0720AEE72B6A0D2130009846FFF7C9FE804501D0236896E7AB6A9C42FAD1C5 -:204260000023EB6204332B63231DAF626B632368002B00DA86E00123059388E7002F2DD09D -:2042800058239C46AC4463460393231D99460023984606AB220004933B004C464746B246B6 -:2042A00098462E00914603E004342F00454542D0039B20000693FFF77FFD049B01000022AA -:2042C00030007D1C00E000BF0028EDD04346B84635004C4656461F009845BCD10D213000C0 -:2042E000FFF780FE069B28626B62AC62062059E72000FFF78FFC04340700AC63280000E0E7 -:2043000000BF002800D14CE730003A000F21FFF78DFE072046E707000D213000FFF762FE88 -:204320002862022F2BD1069BEB622B002C336B62AC62062036E735004C465646CEE7594679 -:20434000300000F037FA002800D02AE7059B002B00D137E70F213000FFF744FE0E21020080 -:204360003000FFF763FE3000094A0F21FFF75EFE072017E70D213000FFF734FE2862069BDB -:204380006B62D5E738000130800020184DE7C0460000000010B50023FFF78CFE10BDC046FE -:2043A00010B50123FFF786FE10BDC04610B50223FFF780FE10BDC046F0B5CE46474680B51B -:2043C0000500C3B014001E00012955D000294BD0032922D0042949D1002B47D1102A45D8A1 -:2043E000102203681A4200D0F1E020AF380000F03DF900230120A96B02009A40144203D099 -:204400000E689A00BE5004310133042BF4D13800A96300F029F9002029E0032B26D1140465 -:20442000230C160C9846F318102B1FD8082203681A4200D098E020AF380000F013F942464C -:20444000AB6BF6001C00002A08D0D400F21A1C19BA181968D15004339C42FAD1AC63380082 -:2044600000F0FEF8002002E0002B24D0022043B00CBC90469946F0BD130C14049846240CB1 -:20448000012E2ED0052EF1D11B19202BEED842460F2A70D9A146002C7ED1AA6B4346AA639E -:2044A0000F2B00D89AE04B46002BDBD0684600F0D3F80020DBE700231004A96B000C013630 -:2044C00032009A40104204D00F689A00AA18576004310133102BF3D10020A304C7D4A9634A -:2044E000C5E71B19102BC1D843460F2BBED82B681E4206D00322280093432B60483000F0D0 -:20450000A5F820AF380000F0A1F8AA6B002C24D04346DB00FF180023994664000023A40091 -:20452000D158F95004339C42FAD14B4612196F46002B0FD04046102800D210204B46D90084 -:2045400000231038C0003818D458C45004339942FAD15218012EA1D120AF04323800AA636E -:2045600000F072F8002082E7934303605130FF3000F078F85FE7102B3BD9102252429146DD -:2045800099442B68194208D0022228008B4313432B60483000F05EF82B6804221A4221D1B8 -:2045A00043460F2B03D820AF380000F053F86F46380000F053F810244346AA6BE41A002CF7 -:2045C000B8DD434620AFDB006400FF18A6E793430360D130FF3000F049F806E720A800F0CC -:2045E00037F860E7280093432B60D03000F036F8D6E72B680B4207D0022228008B431343BA -:204600002B60483000F026F820AF380000F022F8A146AA6B002C00D07AE73FE7011C343177 -:2046200038C9043B9C461D60A646011C20313CC990469946A246AB46011C0831FCC941682A -:204640000068E54600BDC0467047C0467047C0467047C0467047C0467047C0467047C04696 -:204660007047C0467047C0467047C0467047C04601B401A801B585B0FFB408A841464A4683 -:2046800053465C4665463EC001A83EC80F98009000230CB401A9FFF71DFC109B12B01847E8 -:2046A00001B401A801B585B0FFB408A841464A4653465C4665463EC001A83EC80F9800906D -:2046C00000230CB401A9FFF739FC109B12B0184701B401A801B585B0FFB408A841464A4693 -:2046E00053465C4665463EC001A83EC80F98009000230CB401A9FFF745FC109B12B0184760 -:2047000001B401A801B585B0FFB408A841464A4653465C4665463EC001A83EC80F9800900C -:2047200000230CB401ABFFF7FFFB109B12B0184701B401A801B585B0FFB408A841464A466B -:2047400053465C4665463EC001A83EC80F98009000230CB401AAFFF775FC109B12B01847CE -:20476000027A0300002A0BD1427A002A0FD0013A42724268111D416003211268017202E094 -:20478000013A02720268100E12021A607047B020FCE7C04600B585B003AB00930C22002368 -:2047A0000021FFF707FC039805B000BD10B5FFF7F1FF10BDF0B557464E464546DE460023B2 -:2047C000E0B587B003930F339846083B994680231B0306000F009A463800FFF7C1FF04008D -:2047E000B02800D1C3E003062AD5030042469343DBB2802B00D171E0902B3DD0A02B00D146 -:2048000085E0B02B50D0C02B00D196E003004A469343DBB2D02B0AD15346024001321A43CF -:20482000052301213000FFF7C7FD0028D4D00924200007B03CBC90469946A246AB46F0BD41 -:20484000FF23820013401D1D05AB9B4600930D22002300213000FFF7ADFB630620D4059BC5 -:204860009C46654405955B460D220093002100233000FFF7C3FBAFE7833B03400D2BD6D013 -:2048800005AD02400095002300213000FFF792FB009500230D2200213000FFF7AFFB9BE73E -:2048A000059B5D1B0595DEE7B12874D0B22800D1CFE0B32800D184E0FC230340B42BB6D033 -:2048C0004A465346024001321A43012101233000FFF772FD002800D17EE7A8E704023800D7 -:2048E000FFF73EFF802520432D02A8429FD004010005020C002300213000FFF75DFD0028F1 -:2049000095D12C4200D167E70123039364E7FF234A461B011900824311410A001A40030733 -:2049200002D58023DB011A43002300213000FFF743FD002800D14FE779E7C6284CD0C72892 -:204940005ED003004A469343DBB2C02B6DD0C82872D0C92800D06AE73800FFF701FFF02386 -:2049600002031B03134042460240013257E7039B0024002B00D05BE705AD00950E220021EF -:204980003000FFF717FB009500230F2200213000FFF734FB4CE73800FFF7E2FE002800D146 -:2049A00045E7030042469343DBB2002B00D03EE7020000213000FFF7FFFC002800D10BE78E -:2049C00035E73800FFF7CCFEF02302031B03134042460240013277E73800FFF7C1FEF023DF -:2049E00002031B0313404246024001321A43032303213000FFF7E0FC002800D1ECE616E7D3 -:204A00003800FFF7ADFE021E00D110E7030041468B43DBB2002B00D009E704213000FFF7BA -:204A2000CBFC002800D1D7E601E74346A0221C40013412032243DAE73800FFF791FE4346B4 -:204A400002009A43D2B210321840120301300243E6E605AB00939B460D220023002130003B -:204A6000FFF7A8FA3800FFF77BFE030618D57F25B03C059B2840A0409C4660440590380036 -:204A80000734FFF76DFE0306F3D481217F23890003408C46A340059A62449B180593E2E68D -:204AA0000224F2E7030000B5DB6C85B05A680800120201921A0001A908324A6003220A7209 -:204AC000DB794B72FFF776FE05B000BD10B5FFF76DFE806C10BDC04610B5FFF767FEC26CB6 -:204AE000D3799B000833D01810BDC04610B500F005F8C04610B5FFF7F9FFC04610B506207D -:204B000000F076F8012000F0A5F8C046F0B50F2A37D90D0005430C000300AD0735D1150062 -:204B2000103D2D092E013618103627681F6067685F60A7689F60E7681034DF601033B3427B -:204B4000F3D10F2401352D01491914404519032C1DD90023CE58EE500433E61A032EF9D801 -:204B60000323043CA4080134A4001A402D190919002A05D00023CC5CEC5401339342FAD12A -:204B8000F0BD0500002AF5D1FAE70500F2E72200F8E7C04670B505000C001F2922D8B7235B -:204BA0009B00C358002B0ED08A009B181A68002A09D0012A10D0511C10D000212000196062 -:204BC0009047002070BD280000F030F822000100280000F017F8F5E70020F3E716230360B5 -:204BE0000120EFE71623036001204042EAE7C04610B5034B01001868FFF7CCFF10BDC04680 -:204C000000000020002370B5074C050008001100236000F017F8431C00D070BD2368002B27 -:204C2000FBD02B60F9E7C0461007002010B500F001F810BD58220120014B40421A607047EC -:204C40001007002058220120014B40421A60704710070020FEE7C046F8B5C046F8B5C046FB -:204C600074B20181B0AB308000000000800A0181B0B0ABF0000000003F020181B0AB3080AC -:204C80000000000080060181B0B0ABF00000000030EEFF7FB0B0B0807CEFFF7F01000000FB -:204CA00028F0FF7FB0A90280BCF0FF7FB0B0A88008F1FF7F0100000014F1FF7FB0B0AA804C -:204CC00048F1FF7F9CFFFF7F08F2FF7F0100000004F2FF7FAA3F398050F2FF7FB0B0A8802D -:204CE0005CF2FF7FB0B0AA809CF2FF7FB0B0A880B0F2FF7F01000000ACF2FF7FB0B0A88005 -:204D0000B4F2FF7F010000003CF3FF7FAA0FB280A4F3FF7F58FFFF7F7CF6FF7FB0B0A88074 -:204D200098F6FF7F54FFFF7FF4F8FF7F0100000064FAFF7F0084048074FAFF7FB0B0A880D3 -:204D400074FAFF7F40FFFF7F5CFDFF7F008404807CFDFF7FB0B0A88094FDFF7F010000003C -:204D6000080000200000000000000000F40200205C030020C403002000000000000000008F -:204D8000000000000000000000000000000000000000000000000000000000000000000013 -:204DA0000000000000000000000000000000000000000000000000000000000000000000F3 -:204DC0000000000000000000000000000000000000000000000000000000000000000000D3 -:204DE0000000000000000000000000000000000000000000000000000000000000000000B3 -:204E00000000000000000000000000000000000001000000000000000E33CDAB34126DE63F -:204E2000ECDE05000B00000000000000000000000000000000000000000000000000000098 -:204E4000000000000000000000000000000000000000000000000000000000000000000052 -:204E6000000000000000000000000000000000000000000000000000000000000000000032 -:204E8000000000000000000000000000000000000000000000000000000000000000000012 -:204EA0000000000000000000000000000000000000000000000000000000000000000000F2 -:204EC0000000000000000000000000000000000000000000000000000000000000000000D2 -:204EE0000000000000000000000000000000000000000000000000000000000000000000B2 -:204F0000000000000000000000000000000000000000000000000000000000000000000091 -:204F2000000000000000000000000000000000000000000000000000000000000000000071 -:204F4000000000000000000000000000000000000000000000000000000000000000000051 -:204F6000000000000000000000000000000000000000000000000000000000000000000031 -:204F8000000000000000000000000000000000000000000000000000000000000000000011 -:204FA0000000000000000000000000000000000000000000000000000000000000000000F1 -:204FC0000000000000000000000000000000000000000000000000000000000000000000D1 -:204FE0000000000000000000000000000000000000000000000000000000000000000000B1 -:20500000000000000000000000000000000000000000000000000000000000000000000090 -:20502000000000000000000000000000000000000000000000000000000000000000000070 -:20504000000000000000000000000000000000000000000000000000000000000000000050 -:20506000000000000000000000000000000000000000000000000000000000000000000030 -:20508000000000000000000000000000000000000000000000000000000000000000000010 -:2050A0000000000000000000000000000000000000000000000000000000000000000000F0 -:2050C0000000000000000000000000000000000000000000000000000000000000000000D0 -:2050E0000000000000000000000000000000000000000000000000000000000000000000B0 -:2051000000000000000000000000000000000000000000000000000000000000000000008F -:2051200000000000000000000000000000000000000000000000000000000000000000006F -:2051400000000000000000000000000000000000000000000000000000000000000000004F -:2051600000000000000000000000000000000000000000000000000000000000000000002F +:10000000001800200508000835050008390500081B +:1000100000000000000000000000000000000000E0 +:10002000000000000000000000000000350500088E +:10003000000000000000000035050008350500083C +:1000400035050008350500083505000835050008A8 +:100050003505000835050008350500083505000898 +:100060003505000835050008350500083505000888 +:100070003505000835050008350500083505000878 +:100080003505000835050008350500083505000868 +:100090003505000835050008350500083505000858 +:1000A0003505000835050008350500083505000848 +:1000B00035050008350500083505000899010008D8 +:1000C000284B10B51A88284B12041B881A43274B5B +:1000D000198849084900885A254908801988023139 +:1000E00089B21980198849084900885A214908802D +:1000F0001988023189B21980198849084900885A3B +:100100001D49088019881D48023189B21980198853 +:1001100049084900895A1A4A11801A881949023235 +:1001200092B21A801C880288944213D902881C88D3 +:100130000832121B92B20A80028892B21A801249C7 +:10014000124B0A881343124A1A40302353409BB281 +:100150000B8010BD0F4804881A889442E6D3082308 +:100160000B80ECE70C6000400A6000400460004037 +:100170004C6000404E600040506000400260004013 +:10018000526000401A600040005C00408080FFFF29 +:10019000BF8FFFFF006000409449F8B50B88944C76 +:1001A000002B3AD00A88934B9A4234D1002302257F +:1001B000914A924F1380924A1380924A1380924A36 +:1001C0001380924A1380924AD08FA843D087D08F51 +:1001D000013DA843D0878F481735FB8705808E489F +:1001E000343505808D480835058080258C486D01A3 +:1001F000058080258B4805808020FB878A4B000680 +:1002000023808A4B18608023D08FDB000343D38781 +:10021000874B884A1A8000230B8023881BB2002B4F +:1002200000DBC4E02388844A774F134080221343C5 +:10023000238023881B0500D49CE0804D7F232A78EF +:1002400011009943714B1980E9886B4B198000218B +:100250006C4B19803B88FF318B4313433B806023F9 +:100260001A4208D08022764B12051B8828009B1862 +:100270009847634B188060232A78134052B2002AB3 +:100280004DDA002B14D16A78062A0FD16A88110A38 +:1002900002291AD003291BD0012920D1694B12262B +:1002A000694A99B21180694A1B0C1380544B1E8015 +:1002B0002288674B1343674A1A40C0239B0153406F +:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C +:1002D000D2B2012A0FD0002A03D0022A15D01E0064 +:1002E000E4E7584B584A243399B21180574A1B0C03 +:1002F00013800426DAE7534B534A283399B211800E +:10030000524A1B0C1380544ED0E74E4B4E4A7C335E +:1003100099B211804D4A1B0C1380504EC6E7002B3A +:1003200009D16B78052B06D13A886B88D2B21B02B3 +:1003300013439BB23B8000212388494A1340494A1A +:1003400013439BB22380484B198023881A43474BA1 +:100350001A40474B5A4092B22280284BDB8F5B05F4 +:1003600007D580222F4B1A800023244AD3872E4B97 +:100370002380F8BD60213B880B40402BEDD13B88AA +:100380001342EAD1264A3B4B2C481B881188802215 +:1003900012059B18C9B298472288324B13432D4A45 +:1003A0001A40C0239B0153409BB22380D5E7802293 +:1003B00023881342D1D023882F490B408021090282 +:1003C0000B432380114B1B88934200D17AE7FF2017 +:1003D0000D4B19888143C0D01988090A0A43114975 +:1003E0000A801A8802401A80B7E7C0460E600040B3 +:1003F000005C00403CA5000000600040065C00403E +:100400000260004004600040066000400860004058 +:10041000025C0040505C0040186000401C600040DE +:100420001E6000404C5C00402032000000E100E013 +:10043000585C00400080FFFF8F0F000054600040B8 +:10044000106000407C0400080A6000400C6000401E +:100450008081FFFF8FBFFFFF2A0300001E03000003 +:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D +:1004700030300000126000400F8FFFFF12010002B9 +:10048000FF000008C016DC0503020102000109029A +:100490001200010100803209040000000000000089 +:1004A000040309042A0349006E00660069006E0017 +:1004B0006900740065004E00650073004C0069001F +:1004C0007600650073002E0063006F006D00000071 +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000001E0349004E004C00F8 +:10050000200052006500740072006F002D00500042 +:1005100072006F0067000000000000000000000093 +:1005200000000000000000000000000000000000CB +:1005300000000000FEE7FFFF004801E02301ADDE00 +:10054000FEE7C04602B4714649084900095C49000B +:100550008E4402BC7047C046411D000000616561C9 +:1005600062690001130000000536532D4D00060C92 +:10057000074D09011901FFFF03B471464908400006 +:100580004900095A49008E4403BC7047411D0000D0 +:100590000061656162690001130000000536532D9A +:1005A0004D00060C074D09011901FFFF70470A4B6A +:1005B0000A4A10B55A600A4A5A600122DC6814429D +:1005C000FCD11A6101220180D9681142FCD120229C +:1005D000DA6060321A6110BD0020024023016745D5 +:1005E000AB89EFCDFF2370B53F4D2B804378C68894 +:1005F000102B00D075E0C478818880783B4B01389F +:100600005A69082800D968E0FFF79CFF0567672B47 +:100610003D314B5363008A1E8E241D2A19D8344A5B +:100620005A60344A5A600122D8681042FCD1022232 +:100630001A618022890212058918422259611A61C1 +:10064000C046413ADC681440FCD12022DA606032B6 +:100650001A612C70284BAAB22D0CF0B25A819D81E0 +:1006600070BD60001018FFF7A2FF0024F1E7002C16 +:1006700035D10BB2002B32DB80231B05C8181F4974 +:10068000FFF795FFE5E704226A705A69AA705A6974 +:10069000120AEA705A69120C2A715B691B0E6B719F +:1006A000E3E702236B701388AB7013881B0AEB70AF +:1006B000DBE7002C13D10BB2002B10DB80231B05D2 +:1006C000C91802236B700B88AB700B881B0AEB7088 +:1006D000BFE70B4B0B4ADA60C7E78B24B9E78E24E0 +:1006E000B7E780232B70B5E7F40600200020024016 +:1006F00023016745AB89EFCD00600040FFFF00009C +:1007000000ED00E00400FA05FFFFFFFFFFFFFFFF21 +:10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10077000164B174A9BB21382164B9BB253826846A4 +:100780001C300F4A0F4B0430043001681140C91A65 +:10079000FAD1094A094B043801681140C91AF2D14B +:1007A0007B460A3303600438013303600CE00A4BD4 +:1007B0000A4A1A60FBE7C0460000FFFF000000087D +:1007C000FFFFFF0F0000000100207047E505000853 +:1007D00000600040AD05000800300040AAAA0000FB +:1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D +:10081000C858D050FBDC0849084A0020521A02DDB3 +:10082000043A8850FCDC02F06FFC0000904D000898 +:1008300000000020300400203004002014070020B5 +:1008400070B50E4B1A68537A55685C18E4B2A3422F +:100850000ED1537A0A48CB1853720378591AC9B289 +:1008600001700020814202D198230130D37070BD05 +:1008700006780130EE540133DBB2E8E79004002043 +:1008800095040020FF23F7B5C04C02002380837934 +:10089000009340780138102801D901F0DEFAFFF703 +:1008A0006BFE1100BA04F405DC0A8509DC0AC90AEA +:1008B0000B08C00806096609DC0ADC0ADC0ADC0A47 +:1008C000DC0A69099078938819281BD8FFF754FE31 +:1008D0001E002600EC00B7015F02D1024E03D603D2 +:1008E000E703F203F9030004080410043804470482 +:1008F000550464048B048B048B041A001A001A003C +:10090000490254028C23237001F030F8E023A04AFE +:100910001B0351690B4353610023F4E7152B01D9E5 +:1009200000F064FC1800FFF727FE160021002E00DF +:100930003B00480055005F006C00760081008D0090 +:100940009A00610461046104610461046104A70008 +:1009500061046104B40090234022DB0519689143CF +:100960001960D9680A43DA600023CCE79023DB05DD +:100970001A6888490A401A608022D96852000A43DE +:10098000DA600023BFE79023DB051A6882490A403A +:100990001A608022D968D2000A43DA600023B2E7E5 +:1009A0009023DB051A687D490A401A608022D968C5 +:1009B00052010A43DA600023A5E79023DB051A6899 +:1009C00077490A401A608022D968D2010A43DA6066 +:1009D000002398E70122734B196891431960D96885 +:1009E0000A43DA6000238EE79023DB051A686E491C +:1009F0000A401A608022D96852030A43DA60002351 +:100A000081E70422674B196891431960D9680A434A +:100A1000DA60002377E790230122DB051968914310 +:100A20001960D9680A43DA6000236CE75F4B6049BC +:100A30001A680A401A608022D968D2040A43DA6030 +:100A4000002360E79023DB051A685A490A401A60C0 +:100A50008022D968D2050A43DA60002353E7902345 +:100A6000DB051A6852490A401A608022D968D2040C +:100A70000A43DA60002346E79023DB051A684E49F3 +:100A80000A401A608022D96852050A43DA600023BE +:100A900039E790230122DB05196891431960D96871 +:100AA0000A43DA6000232EE7152B00D9A1E31800D2 +:100AB000FFF762FD160021002C00370042004D00B8 +:100AC0005700620084008F009900A4009F039F03D9 +:100AD0009F039F039F039F03AF009F039F03BA00E1 +:100AE00090234021DB051A688A431A60DA688A433A +:100AF000DA60002307E79023DB05196825480140E9 +:100B00001960DA680240DA600023FCE69023DB0516 +:100B10001968214801401960DA680240DA60002350 +:100B2000F1E69023DB0519681C4801401960DA687A +:100B30000240DA600023E6E69023DB0519681848D6 +:100B400001401960DA680240DA600023DBE6012127 +:100B5000144B1A688A431A60DA688A43DA60002301 +:100B6000D1E69023DB0519680F4801401960DA6867 +:100B70000240DA600023C6E604210A4B1A688A4361 +:100B80001A60DA688A43DA600023BCE6FC060020BB +:100B900000100240FFFEFFFFFFFBFFFFFFEFFFFF24 +:100BA000FFBFFFFF00040048FFFFEFFF0008004801 +:100BB000FFFFFFFBFFFFFFBFFFFFFFEF90230121C0 +:100BC000DB051A688A431A60DA688A43DA60002310 +:100BD00099E6C24BC248196801401960DA680240C0 +:100BE000DA6000238FE69023DB051968BD480140D9 +:100BF0001960DA680240DA60002384E69023DB059E +:100C00001968B74801401960DA680240DA600023C9 +:100C100079E69023DB051968B34801401960DA686A +:100C20000240DA6000236EE690230121DB051A689A +:100C30008A431A60DA688A43DA60002363E6152B78 +:100C400000D9D9E21800FFF797FC16001E00270014 +:100C5000300039004200490052005900610069002B +:100C60007200D702D702D702D702D702D7027B0081 +:100C7000D702D702840090224023D20511680B438B +:100C8000136000233FE690228023D20511685B00A9 +:100C90000B431360002336E690228023D2051168AF +:100CA000DB000B43136000232DE690228023D20546 +:100CB00011685B010B431360002324E6902280231C +:100CC000D2051168DB010B43136000231BE60123EF +:100CD000864A11680B431360002314E69022802398 +:100CE000D20511685B030B43136000230BE604235A +:100CF0007E4A11680B431360002304E6902201230F +:100D0000D20511680B4313600023FCE58023734A6E +:100D1000DB0411680B4313600023F4E59022802369 +:100D2000D2051168DB050B4313600023EBE590222D +:100D30008023D2051168DB040B4313600023E2E536 +:100D400090228023D20511685B050B4313600023BA +:100D5000D9E590220123D20511680B4313600023CB +:100D6000D1E5082B00D04AE29022D2055168073B1A +:100D70000B4353600023C6E5082B00D042E29022CB +:100D80000121D20553688B4353600023BBE5152B2B +:100D900000D93AE21800FFF7EFFB16001C00220012 +:100DA00028002E0034003900400045004B0051005F +:100DB00058003802380238023802380238025F0020 +:100DC00038023802660090230822DB059A6200236D +:100DD00099E590231022DB059A62002393E5902386 +:100DE0002022DB059A6200238DE590234022DB055B +:100DF0009A62002387E590238022DB059A62002314 +:100E000081E50122394B9A6200237CE59023802200 +:100E1000DB05D2009A62002375E50222334B9A6209 +:100E2000002370E590230122DB059A6200236AE526 +:100E300080222A4B92019A62002364E5902380224B +:100E4000DB0512029A6200235DE590238022DB0518 +:100E500092019A62002356E590238022DB05D2019D +:100E60009A6200234FE590230122DB059A6200235A +:100E700049E5152B00D9CBE11800FFF77DFB1600E3 +:100E80001C002200280039003F0044004B005000A5 +:100E900056005C006300C901C901C901C901C9014B +:100EA000C9016A00C901C901710090230822DB054C +:100EB0009A61002327E590231022DB059A61002325 +:100EC00021E590232022DB059A6100231BE5902376 +:100ED0004022DB059A61002315E5C0460008004862 +:100EE000FFFFFFFBFFFFFFBFFFFFFFEF0004004816 +:100EF00090238022DB059A61002304E50122CC4B7C +:100F00009A610023FFE490238022DB05D2009A61DE +:100F10000023F8E40222C64B9A610023F3E49023F5 +:100F20000122DB059A610023EDE48022C14B92018E +:100F30009A610023E7E490238022DB0512029A6184 +:100F40000023E0E490238022DB0592019A610023D4 +:100F5000D9E490238022DB05D2019A610023D2E4F8 +:100F600090230122DB059A610023CCE40222627007 +:100F7000152B00D97EE01800FFF7E4FA0B131B23B2 +:100F80002B333A434A525A627C7C7C7C7C7C6B7C5F +:100F90007C7490230822DB051B69134063800023C7 +:100FA000B1E490231022DB051B691340638000230A +:100FB000A9E490232022DB051B69134063800023F2 +:100FC000A1E490234022DB051B69134063800023CA +:100FD00099E490238022DB051B6913406380002382 +:100FE00091E40122924B1B691340638000238AE441 +:100FF00090238022DB051B69D2001340638000230D +:1010000081E402228A4B1B691340638000237AE447 +:1010100090230122DB051B6913406380002372E4E7 +:101020008022844B92011B691340638000236AE491 +:101030009023DB051B69DB0BDB036380002362E489 +:1010400090238022DB051B699201134063800023FB +:1010500059E490238022DB051B69D2011340638091 +:10106000002350E490230122DB051B6913406380B9 +:10107000002348E4002363708D3344E480236E4AE8 +:10108000DB0251690B435361694B6C491A680A4092 +:101090001A60D9686A4A0A43DA60002333E4644B71 +:1010A00066491A680A401A60D968654A0A43DA60D4 +:1010B000002328E45E4A614913680B401360002353 +:1010C00021E45B4A5E4B11680B43136000231AE472 +:1010D00057491B024A69D2B213434B61002312E401 +:1010E000534B1B691B0AA3700123637000230AE49E +:1010F0008023514ADB02516950480B4353614C4BEA +:10110000196801401960D8684D490143D960C02170 +:101110005069C90201435161042219680A431A60E7 +:10112000022290219A62A022C9050868D2020243D5 +:101130000A601968434A0A431A600023FFF7E3FB79 +:101140009022A023D205D168DB020B43D360384A3A +:101150003C4BD1680B43D3600023FFF7D4FB9022B4 +:10116000D205136838490B401360314A3749136878 +:101170000B4013600023FFF7C6FB9022A023D2058B +:101180001168DB020B431360294A2E4B11680B4395 +:1011900013600023FFF7B7FB9020C00542692C497C +:1011A0009D000A40C021890029400A434261204A2B +:1011B000284851691B0A0140FF200540294351611D +:1011C00015681F491B0229431160516908400343F8 +:1011D0005361022393619362136818490B401360B3 +:1011E0000023FFF790FB0023FFF78DFB8D23FFF714 +:1011F0008AFB8D23FFF787FB8D23FFF784FB8D236D +:10120000FFF781FB8D23FFF77EFB8D23FFF77BFB31 +:101210008D23FFF778FB95789388032D00D1D8E0D4 +:101220001AD8002D67D0012D6BD0962311E1C0464E +:10123000000400480008004800100240FFFFAAAA6E +:101240000000555550550000FFFFFAFFAFAAFFFF01 +:10125000FFFC000003FF0000042D00D1FCE0802D06 +:10126000E3D190230122DB0562709A621968114371 +:101270001960C04618691968104091431960D9680F +:101280009143D960F021002832D119689143196047 +:10129000D9681143D96019691F698C46C0461E6917 +:1012A000C046C0461D69C046C046C0461C69C0460F +:1012B000C046C046C046196901911968914319603A +:1012C000D9689143D96063460100134210D11100DF +:1012D00017420DD1023116420AD10331154207D10E +:1012E0000431144204D1019BD631DB0700D5D1393A +:1012F000C64B997003E0C64A137001F091FC0023BD +:10130000A7E001F08DFC90221023D20593611168B3 +:10131000F0330B43136008239362116838330B4397 +:1013200013602023936180231168DB000B4313605B +:101330008023936180231168DB010B431360B54B5D +:10134000B5489D611968B54C0D431D608025416904 +:10135000ED0229434161196821401960DE68B049F6 +:101360000E43DE601E6826401E60DE680E43DE60AF +:101370004669354345611D6825401D60DD680D43A4 +:10138000DD60C0254669ED023543456104201D68D6 +:10139000284318600220A02598621668ED023543A4 +:1013A00015601E689F4D35431D6055699E4E354042 +:1013B00055615A699D4D2A405A611A681143196056 +:1013C0005A69D2B25A61986198621A6814401C60D6 +:1013D00095E7DAB2022A21D00023032A39D09733C5 +:1013E000012A36D1C0238C4ADB02516904200B4309 +:1013F00053611022874B196891431960D9681143D2 +:10140000D960596801435960986119680A430221FB +:101410001A60874A1170874A136070E7E0237E4A9A +:101420001B0351690B43536190220123D2051168BC +:1014300099431160D1681943D160516819435160D3 +:10144000936111680B431360002379490B7079494C +:101450000A606E4CFFF757FADBB2012B03D0022B68 +:101460000CD09823F5E7E0236B4A1B0351690B432B +:10147000536101F059FB01F057FB40E7E023664A56 +:101480001B0351690B435361F5E79678D77895882C +:10149000122E00D19AE140D8092E00D14DE11FD87B +:1014A000042E00D13FE10CD8012E00D1EFE0002E38 +:1014B00000D1E1E0022E00D1EEE0A023534CFFF773 +:1014C00022FA062E00D1DDE000D227E1072E00D15E +:1014D00051E1082EF1D13900280000F0F7FECFE0ED +:1014E0000D2E00D13DE109D80B2E00D13EE100D8F0 +:1014F00028E13900280000F0D3FFC1E00F2E00D111 +:101500002AE100D223E1102E00D139E1112ED4D1ED +:101510003900280001F00AF8B2E00023262ECDD0D1 +:101520001CD8212E00D103E109D8142E00D148E1A6 +:1015300000D250E1404B202EBFD11D70A0E0232EE1 +:1015400000D14DE100D2ACE0242E00D1F3E0252EF5 +:10155000B3D13900280000F0FDFE91E0842E00D1C7 +:1015600093E16BD8812E00D182E1822E00D185E1FA +:10157000802EA2D1012190236170DB051A6810260C +:101580008A431A60DA68AF008A43DA6008229A62F6 +:1015900018329E619A615869234A0240C020800037 +:1015A000384002435A611B4A5069844661461F48CD +:1015B0000840FF210F400743576117681848384318 +:1015C00010605769280A0F4000023843506102201A +:1015D000906190621068114F38401060C046C0465C +:1015E000F7392DB29961002D00DA9E62C046C046DF +:1015F000C046C046C046C046136990220821D205A5 +:101600009162491891611B0AA37039E0FC06002021 +:10161000040700200004004800100240FFFFAAAAAF +:101620000000555550550000FFFC000003FF00006E +:101630000C0700200807002088040020862E00D117 +:101640002EE100D227E1872E00D131E1882E00D093 +:1016500033E7012602216670D14800F0C7FE310051 +:10166000D04800F0C3FE0221CD4800F0BFFE390093 +:10167000280000F0BBFEFDE03900280001F034F93D +:1016800000231BE73900280001F0ECF8F8E73900E7 +:10169000280000F091FDF3E73900280000F0A6FED5 +:1016A000EEE79022D2055369BF48A9000340C0204D +:1016B0008000084003435361BC4BBD4C58693F0256 +:1016C0002040FF242140084358611868B949084365 +:1016D00018605E69280A26400002304358610220E3 +:1016E000986198621E68B4482DB206401E6020269C +:1016F00096621E6831431960596921400F435F614A +:10170000002D01DA10219162C046C046102191617E +:10171000491891611A6810401860B1E73900280033 +:1017200000F0C4FCACE73900280001F0D3FBA7E7C8 +:10173000A24B1D80A4E7A24BFFE63900280001F070 +:101740004BF99DE73900280000F0E2FD98E73900E9 +:10175000280001F001FC93E73900280001F0CCFBE0 +:101760008EE73900280001F005F989E739002800E3 +:1017700000F016FF84E73900280001F04BF87FE7FE +:10178000AA21904800F032FE55218F4800F02EFE2D +:10179000A0218C4800F02AFE3900280000F026FE27 +:1017A000A0208A4B0002197800F020FE280000F0EB +:1017B00035FF0400C046280000F030FF8442F5D118 +:1017C0005EE73900280000F0FBFF59E739002800E8 +:1017D00000F0BCFF54E73900280000F091FF4FE70C +:1017E0007B4B9D4202D880231B021D43902700F0B3 +:1017F00043FC6B1CFF339BB20193FF057A696A4976 +:10180000AB000A40C02189001940684C0A437A6144 +:101810006269674900020A40FF210B401A43626176 +:101820002268644B1A43226066692A0A0E4012023B +:10183000324362610222A261A26222685E4E32409D +:10184000226022681343236063690B401843606180 +:10185000C0460123A36200F00FFC01230135A36100 +:10186000019BADB29D42C9D123681E40266007E7A7 +:1018700001236370280000F0D1FE04E0012328005A +:10188000637000F0E1FCA070FAE6012328006370A9 +:1018900000F052FCF7E7012363704C4B1B78B3E672 +:1018A00002236370454B1B88A3701B0AE370E7E6B5 +:1018B00001236370424BF1E79578D0789188112D20 +:1018C00000D1A7E008D8012D57D0002D10D0022D4F +:1018D00000D185E0822648E0212D00D18EE0222D26 +:1018E00000D192E0122DF5D102231020637094E014 +:1018F0000127384B04261B7810209F40FA43364BB3 +:1019000001921D68AF626B6813406B6000F0A9FB29 +:10191000AF616B683B436B60FA20400000F0A1FBB5 +:10192000FA20AF626B68019A400013406B6000F0D0 +:1019300098FBAF616B68013E3B43B6B26B60002E13 +:10194000EAD10436FA2000F08CFBAF626B68019A92 +:10195000FA2013406B6000F084FBAF616B68013EBE +:101960003B43B6B26B60002EECD126701B4BA2B28B +:10197000240C5A8100989C81FEBD164A164B1278A1 +:101980001E689540B56273681020AB43736000F029 +:1019900068FBB56173682B4373600026E5E7C046BA +:1019A0000251000003510000FFFC00000004004849 +:1019B00003FF000000005555FFFFAAAA36040020CF +:1019C0009D040020AAFA000055F5000088040020BC +:1019D000FF1F00000C0700200807002000600040E7 +:1019E0000123B84A63701278B7499340B74A9BB253 +:1019F0001268002002F07CF8A070CEE701230200FC +:101A00000020637001F0D0FAF6E701230200637052 +:101A10001020F7E702230020637001F01FFB6080B5 +:101A2000BBE79078D1780138938808283CD8FEF736 +:101A300089FD050D150B1E3B21273100A44B1B789A +:101A4000A3700123637006E0A24BF8E7A04A13706D +:101A50008322A04B1A700023FEF755FF9C4A9D4D30 +:101A6000137083232B7001F07FF82B78E8E79A4AF4 +:101A70001370F0E7994A535452181B0A5370EAE75F +:101A80000023964A5218D05CE11801338870082B65 +:101A9000F9D1D7E7022391499A1E8A5CE2540133B7 +:101AA000222BF9D1023BCDE78723FEF72CFF90785C +:101AB000D578023891888A230A2801D9FEF723FFB6 +:101AC000FEF740FD060B11161D24303C4149500025 +:101AD000834B19800023FEF716FF814B1B881B04E4 +:101AE0000B439847F6E7FEF743FE0300FEF70BFFB4 +:101AF0007C4803689AB20B0413430360EAE7794A0F +:101B000013681B0C1B040B431360E3E7042363708F +:101B1000744B1B681A0AA370E2701A0C1B0E227118 +:101B20006371D7E702236F4A637012684B00D318C2 +:101B30001A88A2701B881B0AE370CBE7694B6D0003 +:101B40001B68E952C6E7674A4B001168CB1813605F +:101B500002226270ECE7634B6D001A6855191D6034 +:101B60002980B7E7012363700233A370B2E78823AB +:101B7000FEF7C9FE93789188022B09D0032B0ED073 +:101B8000012B10D1584A090411600023FEF7BBFE57 +:101B9000554A13681B0C1B040B431360F5E7012225 +:101BA000514B1A60F1E78323FEF7ADFE91780B00ED +:101BB000303B2F2B1AD8D078032814D8FEF7C2FC5C +:101BC00016180211494B512900D19DE027D831291F +:101BD00056D00FD8002936D030294AD0B423FEF78A +:101BE00092FE434BEFE7B523FEF78DFE414BEAE74C +:101BF000414BE8E7332951D049D35029EED1C022D7 +:101C0000D20022801A7AA270DA78E2705A7A2271AF +:101C10009A7A62719A78A2715B7CE371A6E67F2959 +:101C200000D9A5E0702900D37DE060293BD061296F +:101C300041D05229D2D180221B889200A3701B0A66 +:101C40002280E37092E6FF222C4BCA540131102906 +:101C5000FBD10123274A5B425380274A5380234A02 +:101C60005380234A53800122254B1A700023FEF72C +:101C70004AFE9288110AD9721A730023FEF743FEB6 +:101C80009288110A59739A730023FEF73CFE9288DA +:101C9000110AD9731A740023FEF735FE92885A741C +:101CA0000023FEF730FE80235B0023809388134AD5 +:101CB000D35CA3705AE680235B002380114B1B6822 +:101CC000DB78F6E70C07002004000200080700207C +:101CD000C0040020E2040020E1040020C104002030 +:101CE0003404002030040020980400206004002008 +:101CF00074040020380400204C040020E304002079 +:101D0000A00400208C040020C022D2002280DA7AB5 +:101D1000A2701A7BE2705A7B22719A7B6271DA7B25 +:101D2000A2711B7C79E75C4B15785C685B4B1B6888 +:101D3000D8787F2D00D993E0594D009E2E70002851 +:101D40000FD000250095982800D18FE004E00025F1 +:101D50000095D02800D189E0524810350570FF2049 +:101D600004E0514803609020D8706F3000907DE00F +:101D700007200840032817D8FEF7E4FB191B0214BC +:101D80004A4B802900D2F1E5872914D97031C9B2B4 +:101D9000072900D9EAE500212170D178997292884B +:101DA0001A80E3E5424BECE7B523FEF7ACFD3A4B76 +:101DB000E7E7404BE5E79088D178C6B28D19BE229F +:101DC000102D2CDC0432002929D0DD78033AFF2DB8 +:101DD00025D19D780132FF2D21D10022D7B28F422B +:101DE0001FD3354D0022AC464F01013F1F727701D2 +:101DF000000A67449870DA705A729A721A80DA721E +:101E00001A735A739A73DA731A745A745F602B4B8D +:101E10009D19A8540132D3B29942FAD800222270F7 +:101E2000A4E50132B718254D013FEF5DFF2FD5D056 +:101E3000C122F4E79378002B04D0402B07D0D223A3 +:101E4000FEF761FD23709288164B1A708EE5802391 +:101E50005B002380134B1B782BE78023FEF753FD99 +:101E6000D82800D073E780205C68D87000205872B2 +:101E7000DB78902B00D079E5712900D076E50A4B0C +:101E800091881B685868017092885968120A4A70D4 +:101E90005A7A02325A7269E5380400208C04002014 +:101EA00095040020A004002090040020600400207D +:101EB000740400204C040020F4040020E3040020FB +:101EC000F0B585B001932B4B00901C682A48204345 +:101ED000186058690C02C0B2204358610220986112 +:101EE00098621868254C2040186048B29021C905B6 +:101EF000002801DA1020886208209500C0272E00F3 +:101F000088614C691E48BF0004403E4034434C6128 +:101F100059691C4C2140A446FF2425400D435D61B6 +:101F2000C046902500210390ED050294C046C046AE +:101F30001869009C000A605401326869039ED2B29D +:101F40009400304026003E40304366466861586940 +:101F500001313040029EC9B23440044301985C61B3 +:101F60008142E3D908230800AB62DB18AB6105B0FE +:101F7000F0BDC0460004004800005555FFFFAAAA66 +:101F8000FFFC000003FF0000F0B585B00193284B73 +:101F9000284C1D6800902C431C6027485C691F2951 +:101FA00043D8802529430902E4B221435961022123 +:101FB000996199621968214C08409021186080202D +:101FC000C905886248699500C026A44620402C00B7 +:101FD000B60034402043FF2448615869184F25401B +:101FE000384005435D61C046002002960394C04618 +:101FF0001D69009C2D0A255464464D690132254017 +:10200000D2B2029C9600344025434D61039C5D6929 +:1020100026403D400130019C2E43C0B25E61A0428B +:10202000E5D980238B6105B0F0BDE4B20902BCE7BD +:102030000004004800005555FFFFAAAAFFFC00005D +:1020400003FF0000002302000002002A04D1002B3D +:1020500001D0802318437047DB43511EDBB20A4096 +:10206000F3E70023800080B2C046C04601339BB234 +:102070009842F9D17047FFFF30B507220124094982 +:102080000868450D43086B404340C50FDBB26B4009 +:10209000013A23404000D2B21843002AF1D108602F +:1020A000C0B230BD98040020002070479022D205B5 +:1020B000F0B553691B4C86002340C024A400344073 +:1020C00023435361184B194D5C69000A2C40FF25CE +:1020D0002E4034435C611E68154C000226431E608E +:1020E0005E69144F2E403043586102209861986217 +:1020F00018681026384018600820906296621868A8 +:10210000090204431C605869284001435961C046D4 +:1021100001219962C046996119680F401F6096615C +:10212000F0BDC046FFFC00000004004803FF0000B3 +:1021300000005555FFFFAAAA9022D20553691949FC +:1021400030B50B40C0218400890021400B4353610E +:10215000154B164D5969000A2940FF252C40214393 +:1021600059611C6812490002214319605969082409 +:102170000D400221284358619961996219680D4800 +:102180008025014019601021946191629562C046DA +:10219000C046C0461869E0409561C0B29462916142 +:1021A00030BDC046FFFC00000004004803FF0000F3 +:1021B00000005555FFFFAAAA1D4B30B5984202D822 +:1021C00080231B0218439025ED056B69194C820092 +:1021D0002340C024A400144023436B61164B174DC9 +:1021E0005C69000A2C40FF252A4014435C611C688E +:1021F000134A000214431C605C6909022C4020430E +:1022000058610220986198621C680E4804401C6066 +:102210001C6822431A605A692A4011435961C0461A +:1022200001229A62C0469A611A6802401A6030BD63 +:10223000FF1F0000FFFC00000004004803FF000037 +:1022400000005555FFFFAAAA1A4B30B5984202D894 +:1022500080231B0218439021C9054B69164A84004C +:102260001340C0229200224013434B61134B144D84 +:102270005A69000A2A40FF252C4022435A611C68F3 +:10228000104A000222431A605A691540022228436C +:1022900058619A619A621A680B4802401A6080225B +:1022A0008A62C046C046C046C0461869000AC0B22D +:1022B0008A6130BDFF1F0000FFFC000000040048E1 +:1022C00003FF000000005555FFFFAAAA70B50400E7 +:1022D0000D000D48AA21FFF76FFF55210B48FFF7AE +:1022E0006BFFA0210848FFF767FF29002000FFF7D8 +:1022F00063FF2000FFF7A8FF0500C0462000FFF79E +:10230000A3FFA842F5D170BD55150000AA1A000020 +:1023100070B504000D000D48AA21FFF74DFF5521AF +:102320000B48FFF749FFA0210848FFF745FF2900A8 +:102330002000FFF741FF2000FFF786FF0500C046A1 +:102340002000FFF781FFA842F5D170BD55150000B0 +:10235000AA0A000090220823D205F0B593615369C0 +:102360001D4C85002340C024A4002C40234353610E +:102370001A4B1B4E5C6909023440FF2635402C4342 +:102380005C611D68174C25431D605F69050A374075 +:102390002D023D435D6102259D619D621F68124DC6 +:1023A00000B22F401F60202797621F683C431C60CB +:1023B0005C69344021435961002801DA102191629F +:1023C000C046C046102191614918916119680D40BD +:1023D0001D6008239362F0BDFFFC0000000400486C +:1023E00003FF000000005555FFFFAAAA9022F0B598 +:1023F0000124D20513688500A3431360D368234EDC +:10240000A343D3605369224C09022340C024A40093 +:102410002C40234353611F4B5C693440FF263540F9 +:102420002C435C611D681C4C25431D605F69050AD7 +:1024300037402D023D435D6102259D619D621F680D +:10244000164D00B22F401F60202797621F683C4343 +:102450001C605C69344021435961002801DA102175 +:10246000916208219161C046C046C046C046C04640 +:10247000C046C046C046C0469162491891611031BD +:1024800091611A6815401D60F0BDC04603FF000051 +:10249000FFFC00000004004800005555FFFFAAAAF9 +:1024A000F7B505001C4B01911E781C4B74001F886A +:1024B00020213C19A4B22000FFF798FFAA21184858 +:1024C000FFF77AFEA01B80B21021FFF78FFF552186 +:1024D0001448FFF771FE20212000FFF787FFA0219D +:1024E0000F48FFF769FE104B187846430101BE19EB +:1024F000C9B2B0B2FFF77AFF01992800FFF75CFE7E +:102500002800FFF7A1FE0400C0462800FFF79CFE4C +:10251000A042F5D1F7BDC0469D040020360400203E +:1025200055150000AA0A00008804002070B50400B8 +:10253000B0200E0000020A21FFF758FFC0200A2138 +:102540000002FFF753FFAA211248FFF735FE55217D +:102550001148FFF731FEA0210E48FFF72DFEB020F5 +:102560000E4B00021D782900FFF740FFC020290014 +:102570000002FFF73BFF31002000FFF71DFE2000A7 +:10258000FFF762FE0500C0462000FFF75DFEA8428F +:10259000F5D170BD55150000AA0A0000880400207E +:1025A000F8B505000E00194B02211C88A71CBFB20C +:1025B0003800FFF71BFFAA211548FFF7FDFD601C3F +:1025C00080B20121FFF712FF55211248FFF7F4FDF9 +:1025D00002213800FFF70AFFA0210D48FFF7ECFDAC +:1025E0000D4B19786418A0B2FFF700FF31002800E6 +:1025F000FFF7E2FD2800FFF727FE0400C046280091 +:10260000FFF722FEA042F5D1F8BDC04636040020F7 +:1026100055150000AA0A0000880400209022D20567 +:1026200053691A4970B50B40C021FF268500890007 +:1026300029400B435361164B16495C6935400C40E9 +:102640002C435C611C681449214319605C69010AD0 +:102650002640090231435961022199619962196842 +:102660000E4C00B221401960002801DA102191625D +:1026700008219161C046C046C046C0461869102373 +:10268000C8409162C0B2936170BDC046FFFC0000BB +:102690000004004803FF000000005555FFFFAAAAF0 +:1026A00070B504000D00A021FFF754FE29002000A2 +:1026B000FFF750FE2000FFF7B1FF0500C0462000E5 +:1026C000FFF7ACFFA842F5D170BD70B50400A020A3 +:1026D0000D00C0015421FFF789FEA0212000FFF763 +:1026E00039FE29002000FFF735FE2000FFF796FF96 +:1026F0000500C0462000FFF791FFA842F5D170BD4C +:1027000070B50400A0200D000D4BC0011978FFF733 +:102710006DFEAA210B48FFF769FE55210A48FFF715 +:1027200065FEA0210748FFF761FE29002000FFF7A2 +:102730005DFE2000FFF772FFA842FAD170BDC046CF +:102740008804002055D50000AAAA000070B5040036 +:10275000C0200D0000020121FFF748FEAA21154804 +:10276000FFF744FEC02000210002FFF73FFE552185 +:102770001148FFF73BFEC02001210002FFF736FEA3 +:10278000A0210C48FFF732FEC0200C4B0002197844 +:10279000FFF72CFE29002000FFF728FE2000FFF79E +:1027A0003DFF0500C0462000FFF738FFA842F5D1E5 +:1027B00070BDC04655950000AAAA000088040020FC +:1027C00070B504000D001048AA21FFF70FFE552137 +:1027D0000E48FFF70BFEA0210B48FFF707FE29006C +:1027E0002000FFF703FEA020094B00021978FFF735 +:1027F000FDFD2000FFF712FF0500C0462000FFF797 +:102800000DFFA842F5D170BD55D50000AAEA000021 +:102810008804002070B504000D001048AA21FFF7BD +:10282000E5FD55210E48FFF7E1FDA0210B48FFF71C +:10283000DDFD29002000FFF7D9FD802002210002E4 +:10284000FFF7D4FD2000FFF7E9FE0500C046200099 +:10285000FFF7E4FEA842F5D170BDC04655D5000093 +:10286000AAAA00009022D205536970B5194C8600BF +:102870002340C024A400344023435361164B174C1B +:102880005D69000A2540FF24264035435D611E68CE +:10289000134D00022E431E605E690902264030433C +:1028A000586102209861986218680E4E3040186096 +:1028B000186805431D605869204001435961012192 +:1028C000106808431060916291611A6816401E609A +:1028D00070BDC046FFFC00000004004803FF00007C +:1028E00000005555FFFFAAAA9022D205536970B582 +:1028F0001B4C86002340C024A40034402343536172 +:10290000184B194D5C69000A2C40FF252E403443BA +:102910005C611E68154C000226431E605E69090258 +:102920002E40304358610220986198621E6810481A +:1029300006401E601E6834431C605C6925402943C4 +:102940005961012114680C431460916214688C432E +:102950001460D4682143D1601A681040186070BDBB +:10296000FFFC00000004004803FF00000000555574 +:10297000FFFFAAAA70B505000E00134B00211C88AA +:102980002000FFF733FDAA211048FFF7ADFF5521C6 +:102990000F48FFF7A9FFA0210C48FFF7A5FF0D4B3B +:1029A00019786418A0B2FFF721FD31002800FFF765 +:1029B0009BFF2800FFF732FE0400C0462800FFF707 +:1029C0002DFEA042F5D170BD360400205555000003 +:1029D000AA2A00008804002070B504000D000D48EC +:1029E000AA21FFF781FF55210B48FFF77DFFA021AA +:1029F0000848FFF779FF29002000FFF775FF200046 +:102A0000FFF70CFE0500C0462000FFF707FEA842B6 +:102A1000F5D170BD55550000AA2A0000F0B5284B2D +:102A200085B01E78274B01901B780291009303928A +:102A3000254B112840D00022902000251A70C00597 +:102A40001C782A002B00012184460198202805D1FA +:102A5000009D1D410D4231D00C430D0002982028ED +:102A60000ED1002B01D1174FBB54604607690F42AE +:102A700006D01448875C08009840074311488754E3 +:102A80000398013EF6B2002804D0002E02D10220A5 +:102A90000D0004430133DBB2082B05D10132094B91 +:102AA000D2B29B5C00930023002ECED1002D01D02A +:102AB000054B1C7005B0F0BD0122BDE78C43CCE78F +:102AC000E1040020C104002094040020F0B5134B61 +:102AD000134D19780023112800D102230027114E2D +:102AE0003A00B4463C0001262B702B7820280CD1EC +:102AF00063461B5D3700134101323340D2B25B00A5 +:102B0000082A02D100220134E4B20139C9B20029F5 +:102B1000ECD1002F00D02B70F0BDC046E1040020A6 +:102B200094040020C104002000230B4A01211370EB +:102B30009022D205106888431060D0680143D160AC +:102B40001900064A1370064A99540133202BFBD111 +:102B50008022044B1A70704794040020E104002086 +:102B6000C1040020E204002010B52B4B1B78082B79 +:102B70004ED013D8294C032B39D006D8012B28D09E +:102B8000022B2AD0254BEE223AE0062B3AD03DD834 +:102B9000042BF7D101222021112021E00F2B28D076 +:102BA00008D81E4C0D2B1FD000220E2BEAD120215D +:102BB000102015E0802B06D0184CFF2B06D0102BD0 +:102BC000E0D100221FE0FFF7AFFF10BDF02323701C +:102BD000FBE72020FFF77AFF04E0012200212020FC +:102BE000FFF71CFF8223F2E700221100F7E7012222 +:102BF000DDE7002220211120FFF710FF8222074B82 +:102C00001A70E2E7012220210800E9E71020E1E73D +:102C10001120FFF75BFFF1E7C0040020E204002071 +:102C2000BC235F49DB038A6AF0B513438B628B6A6E +:102C30005C4A13408B62E0234A691B0313434B61D8 +:102C4000594B1A789023DB05102A03D100221A6011 +:102C50009A60DA6040221868544D90431860D86832 +:102C600080260243DA601A685148F60402401A606E +:102C70008022D86852000243DA601A684D488027E3 +:102C800002401A608022D868D2000243DA601A68D3 +:102C90004948FF0202401A608022D868D2010243EC +:102CA0000120DA60454A146884431460D468044300 +:102CB000D4601C682C401C608024DD6864032C43B5 +:102CC000DC601C683E4D2C401C608024DD68E405FF +:102CD0002C43DC601C683B4D2C401C60DC683A4D8A +:102CE0003443DC601C68394E2C401C608024DD6855 +:102CF00064012C43DC6004241568A5431560D56885 +:102D00002543D5601D6885431D60DD688543DD6012 +:102D1000486938434861106830401060D5682C48D5 +:102D20000543D560C0254F69ED023D434D611568EF +:102D30002C4314600224A02594621C68ED022C43ED +:102D40001C601768234C274317601F68224C2740DC +:102D50001F601768214C27401760DF681D4C3D43FA +:102D60008027DD60D368FF021C43D4604B69154D9A +:102D70003B434B61136833401360D3680343D36014 +:102D800013681E4016608026D368F6041843144B5F +:102D9000D0601A682A401A60DA683243DA60F0BDFF +:102DA00000100240FFFFA1FF04070020FFFFEFFF1C +:102DB000FFFEFFFFFFFBFFFFFFBFFFFF0004004818 +:102DC000FFFFFFBFFFFFFFFBFFEFFFFFFFFFAAAA11 +:102DD0000000555550550000FFFFFAFFAFAAFFFF56 +:102DE00000080048F7B580270D0001924C7A0002D8 +:102DF00003B2A6B20093FF042B7AB34202D26C72E4 +:102E00000020FEBD00986B682043195D80B2019BD5 +:102E100098476B681A5D0B4B824206D01A683A439A +:102E20001A60802292019A61E6E71A680649013425 +:102E30000A401A60DA6801363A43DA60E4B2B6B2A0 +:102E4000DAE7C04600080048FFFFFFFBF7B50D00BA +:102E50001600FF27000203B24C7A01932A7AE3B2EC +:102E6000A24202D26B720020FEBD20006A68384088 +:102E7000D15C019B0134184380B2B047A4B2EDE7A6 +:102E8000022907D10F4B104A984218D0904209D11D +:102E9000180007E0032906D10A4B0B490B4A984258 +:102EA0000BD1080070470429FCD1064B064A984212 +:102EB00005D006499042F4D0054A8842E6D1100078 +:102EC000F0E7C046380400204C04002060040020D5 +:102ED0007404002070B506000D0005243000013C8C +:102EE000FFF79CFBE4B229003000FFF77FFA6D0882 +:102EF000002CF3D170BDFFFF70B50400A0200D00C1 +:102F000000020221FFF7E6FFAA211048FFF754F95B +:102F100055210F48FFF750F9A0210C48FFF74CF955 +:102F2000A0200C4B00021978FFF7D4FF29002000E5 +:102F3000FFF742F92000FFF787F90500C04620009F +:102F4000FFF782F9A842F5D170BDC04655150000C3 +:102F5000AA0A00008804002070B50400C0200D00FB +:102F600000020521FFF7B6FFAA210D48FFF73EFA40 +:102F700055210C48FFF73AFAA0210948FFF736FA25 +:102F800029002000FFF732FA2000FFF747FB050079 +:102F9000C0462000FFF742FBA842F5D170BDC046F5 +:102FA00055550000AAAA0000F7B501230225294FB4 +:102FB00001923A780091054393400421A020264EC7 +:102FC0002D049BB229433268C00100F091FD04003A +:102FD00001283DD13B7809209C4005437830A3B2BD +:102FE00032682900FF3000F083FD040001282FD152 +:102FF0003B7832689C402900A3B2002000F078FDA5 +:103000000400012824D1009B180AFFF71BF83B7825 +:1030100032689C402900A3B200F06AFD0400012838 +:1030200016D16B461878FFF70DF822003B7829007F +:103030009A4093B2326800F05BFD0198FFF702F806 +:103040003B7832689C402900A3B200F051FD040097 +:10305000E0B2FEBD0C07002008070020F7B50123F1 +:103060000225274F00903A780191054393400421AF +:10307000C020244E2D049BB229433268800100F009 +:1030800037FD0400012838D109231D433B78C020B7 +:103090009C403268A3B22900400000F029FD0400E2 +:1030A00001282AD13B7832689C402900A3B2002035 +:1030B00000F01EFD040001281FD1019B180AFEF735 +:1030C000C1FF3B7832689C402900A3B200F010FD9C +:1030D0000400012811D16B461879FEF7B3FF2200D6 +:1030E0003B789A4093B2009A14430922E1B2090452 +:1030F0001143326800F0FCFC0400A0B2FEBDC046E3 +:103100000C07002008070020DB4BDC4AF0B51A60F2 +:10311000DB4A89B01A6002225A60A02212019A602A +:103120000293029BDB68002BFBD19022029BD549C6 +:1031300012031960D44B186802431A608022079169 +:10314000920219681142FCD0012259680A435A6060 +:103150008022596852020A435A60802259685203F9 +:103160000A435A608022196852040A431A60802276 +:10317000920419681142FCD01121C44AC44C116058 +:103180005A680E398A43110002220A435A6080228B +:10319000196B0A431A638022D96912040A43DA615F +:1031A000BC4BE381BC231B689847BB4B6382BB4B82 +:1031B000238262B6FFF734FDF022B94B1A70029BEE +:1031C000079AB84E1A603278202311009943D22909 +:1031D0001CD1B549B548C978C3780224FF2904D168 +:1031E000FF3B1C00631E9C41E4B2B14BDB78FF2B1C +:1031F00000D00324AF4BDB78FF2B00D00424AE4B70 +:10320000AE4F1C703860D22A00D177E13378F22BB0 +:1032100005D10022023B3370A84B1B68DA70357869 +:10322000D02D20D1A54E3068C3780393802B1AD1BE +:10323000A14B00271978FFF723FE3060C570C37AD1 +:10324000058804004772EEB2212B00D1ECE100D9D1 +:103250006AE1112B00D18CE200D952E1102B00D190 +:1032600064E2C323E3708F4B1D78F02D01D000F092 +:1032700012FC924E3468E378982B01D000F00BFCDE +:103280008D4B20001978FFF7FBFD00233060C370E1 +:10329000E37AE5702678112B00D15FE3122B01D180 +:1032A00000F0EFFB102B01D000F0F3FBE37B002BD1 +:1032B00006D130008038C0B2814A2100FFF792FD6C +:1032C000E37B012B06D130008038C0B27D4A21005B +:1032D000FFF7BCFDE37B022B06D130008038C0B283 +:1032E000794A2100FFF7B2FDE37B042B06D13000C1 +:1032F0008038C0B2754A2100FFF774FDE37BFC2BD8 +:1033000006D130008038C0B2714A2100FFF76AFD53 +:10331000E37B0A2B06D130008038C0B26D4A210011 +:10332000FFF760FDE37BFD2B15D13F202388304064 +:103330009B0903936B4680261B7B06430593677AA4 +:10334000BBB2019333021BB20693237A019A9342D4 +:1033500000D37EE26772E37B1E2B06D130008038FB +:10336000C0B25D4A2100FFF73DFDE37B0C2B17D176 +:103370001F20304080260643C0202588A5216D09E6 +:10338000EDB2C001FFF732F829005448FFF72EF8DC +:10339000677A35023D43237ABB4200D3C1E26772AC +:1033A000E37B1C2B21D1AA214D48FEF7D3FF5521E9 +:1033B0004C48FEF7CFFF20214948FEF7CBFF3000F5 +:1033C0008038494A2100C0B2FFF70CFD80209021CF +:1033D0000002FEF7BFFF802000210002FEF7BAFFC7 +:1033E0008020F0210002FEF7B5FFE37B1F2B21D1E7 +:1033F000AA213E48FEF7AEFF55213D48FEF7AAFF41 +:1034000020213A48FEF7A6FF30007038394A2100E3 +:10341000C0B2FFF7E7FC902090210002FEF79AFF70 +:10342000902000210002FEF795FF9020F02100027D +:10343000FEF790FFE37B6F2B06D130008038C0B2DF +:103440002D4A2100FFF7CEFCF4232288E370A37AF3 +:103450009B1823801FE32100FFF712FD0123013594 +:10346000EDB2A542F7D3002B00D0386080223B6834 +:10347000DA70D0233370C9E600300040CCCC0000B5 +:1034800055550000AAAA000000100240002002408A +:10349000006000403CA5FFFF4108000885080008C7 +:1034A000E2040020A00400204C0400203804002086 +:1034B00060040020740400209C0400208C04002080 +:1034C000D9290008592F0008752900081528000877 +:1034D000A9200008C12700084D270008FFFF0000B1 +:1034E000AA8A000055850000CB260008AA9A000091 +:1034F00055950000A126000801270008002301259A +:10350000AFE7122B00D19EE1202B00D0A9E6C17BB2 +:103510000F2900D99BE109012943037A8278C9B2B6 +:103520006068FEF7CDFC8BE0232B00D1FBE000D2DE +:10353000F4E0312B00D185E0322B00D091E6C17B45 +:103540000F2900D983E143680901039383780D4370 +:103550000193037AE14A0493E14B6DB219681E00AE +:103560000A431A605A69E9B20902D2B20A435A619F +:1035700002229A619A621A68DA490A401A60902215 +:10358000D205002D01DA1021916251690198D64DC2 +:1035900080002940C0250700AD002F403943FF2798 +:1035A00051615A69D14938400A4010435861C046B8 +:1035B000CD4A002305929022AC460691D205F73FF2 +:1035C0009761C046C046C046C046C046C046C046D9 +:1035D000C046C04631690398090AC15401999762EF +:1035E0000131C9B2506901918D000599013308403C +:1035F000614629400843506171690698DBB2014079 +:10360000FF2005400D43049975619942D8D21021DD +:10361000976291616372B64B1B6819889A7A521847 +:103620001A80D822DA701EE63C23C17B0A009A4336 +:1036300000D00CE1237AA27831436068FEF7A4FC45 +:103640006072E8E7C17B3C230A009A4300D0FEE0A9 +:103650004368A24A0193837831439C46037AA14888 +:1036600003939F4B1D682A431A605A691F2950D83B +:1036700080260E433602D2B232435A6102229A6148 +:103680009A621A68C0251040186060469022800037 +:103690000600D2055169944FAD002E4039403143A8 +:1036A00051615969914E31400491FF2108400499BC +:1036B00008435861802090629061C046C046C04671 +:1036C00000210597069604959062C046C046C04604 +:1036D0001D69019E2D0A755465460135EDB2566986 +:1036E000AF00AC46059D2E40049D3D402E435661E3 +:1036F0005D69069E3540FF2637402F435F6190612C +:10370000C046C0460131039DC9B28D42DCD2617210 +:1037100081E7D2B2090211435961AFE7037A827897 +:10372000C17B3143FCE6C17B3F237FE7C37B1E2B7C +:103730000BD1C020AD092233E9B200029E43FEF74F +:1037400055FE237AA2788021EBE71C2B00D062E79C +:10375000A0208121C001FEF749FE8020ED09E9B2D9 +:103760000002FEF743FEA0203900C001FEF73EFE36 +:1037700051E7C37BFE2B00D04DE76D09E9B25D48F0 +:10378000FEF71AFD6368554A0493A37803980193E2 +:10379000237A019D0593524BAD0019680A431F21FE +:1037A0001A605A690E40E03136020A4032435A61CB +:1037B00002229A619A621A684A494B4E0A401A607C +:1037C00090220821D2059161491891629062506956 +:1037D000B4463040C0262900B6003140084350614D +:1037E000FF2259694148154001400D435D61C046C3 +:1037F000902511000690ED050396C0461869049ABD +:10380000000AD055019801370130C2B201929600EA +:1038100062466869FFB21040039A32401043686103 +:10382000069A58690E401040059A06435E61BA42F6 +:10383000E3D290228023D2059361783B93620833D0 +:1038400093616772E7E6037A8278602169E7C423AF +:1038500008E500212848FEF7C9FDAA212748FFF7FF +:1038600001F855212648FEF7FDFFA0212348FEF769 +:10387000F9FF6B46187B234B0599C01880B2FEF701 +:10388000B5FD069D63683D43ADB2D95D2800FEF7E6 +:10389000E9FFC0462800FEF7C1FE04902800FEF7AD +:1038A000BDFE049B8342F4D163680499DA5D164B34 +:1038B0008A422DD1019A1549013292B201921A68B9 +:1038C00001370A401A608022D968D2040A43DA60BC +:1038D00080229201FFB29A6237E5C046000055553A +:1038E00000040048FFFFAAAAFFFC000003FF00003D +:1038F0008C040020FF3F000069FD000055550000CA +:10390000AA2A000069FDFFFF00080048FFFFFFFB37 +:1039100080221968D2040A431A60802292019A61B7 +:1039200013E5AA216348FEF761FD55216248FEF7C1 +:103930005DFDA0215F48FEF759FD63682800D95D51 +:10394000FEF754FDC0462800FEF768FE01902800EF +:10395000FEF764FE019B8342F4D11CE5E37B002B60 +:1039600004D1564A21003000FFF770FAE37B012BA7 +:1039700004D1534A21003000FFF768FAE37B032BA0 +:1039800004D1504A21003000FFF760FAE37B042B9A +:1039900004D14D4A21003000FFF758FAE37B0A2B8F +:1039A00004D14A4A21003000FFF750FAE37B0B2B89 +:1039B00004D1474A21003000FFF748FAE37BFE2B91 +:1039C00000D041E5218843484909C9B2FEF7F4FB1C +:1039D000AA214148657AFEF769FB55213F48FEF769 +:1039E00065FB3D482021FEF761FB1F2030400302AC +:1039F000AFB20393237ABB420DD2657290210020AF +:103A0000FEF754FB00210800FEF750FBF0210020D8 +:103A1000FEF74CFB18E5039EA0212E433000FEF775 +:103A200045FB63683000595DFEF740FBC04630003F +:103A3000FEF782FB01903000FEF77EFB019B834284 +:103A4000F4D1636801995A5D254B8A4210D11A68F6 +:103A5000244901350A4080211A60DA68C9040A4302 +:103A6000DA60802201379201EDB2BFB29A62C1E7FB +:103A700080211A68C9040A431A60802292019A615F +:103A8000B8E730006030184A2100C0B2FFF7DEF915 +:103A9000DAE4C323E370154B1B78F02B01D1FFF759 +:103AA0008EFB832B01D0FFF78AFBFFF75DF8FFF752 +:103AB00086FBC04655D50000AAAA000011230008C5 +:103AC000F92E0008A1250008CD2200082D250008A8 +:103AD000A1240008FF3F0000AA0A000055050000CD +:103AE00000080048FFFFFFFBED230008E204002070 +:103AF000F0B5474680B4061C081C000C102801D500 +:103B0000162700E004270007000F8046FF20014031 +:103B10005468251C1D439C43F60313850AD5C046F3 +:103B2000C046C046C046C046C046C04694801383C7 +:103B3000958002E0012000F081F801390AD4381C98 +:103B400000F07CF8C046948013839580C046C04640 +:103B50007600E2E7381C013800F070F89480138397 +:103B60009580042000F06AF8108A184001D0FF20E8 +:103B700061E0C046C046C046C046C046C0469480CC +:103B80009580108A184055D001200226B04552D0A9 +:103B90000921168A1E40FCD1012000F04FF89480C4 +:103BA000C0469580C04603E0C046C046C046C046F9 +:103BB000948095807600108A1840EFF300804000D2 +:103BC000C00F0643381C023800F038F89480958006 +:103BD000022000F033F80139EAD5138594800120E2 +:103BE00000F02CF813839580301C8021022399402B +:103BF0000E401BD1002341085E4149085E4149083F +:103C00005E4149085E4149085E4149085E414908F4 +:103C10005E4149085E4149085E41760808D3400884 +:103C2000FF21084048400002013004E00E2002E07D +:103C3000092000E0002080BCB846F0BD0138FDD16D +:103C40007047C04603685A0003D45B005B08C01885 +:103C50007047802212061343F9E7C046F0B5574675 +:103C60004E46DE464546E0B5814683B09246002981 +:103C700025D04B1E9B46002701935B46FB18DC0FAB +:103C8000E4184B466410E5005E193000FFF7DAFFD8 +:103C9000019B8046A3420BD0280008304844FFF720 +:103CA000D1FFD04506D80138504509D2671CE4E75A +:103CB000504505D9A74202D0631E9B46DDE700268A +:103CC000300003B03CBC90469946A246AB46F0BDDE +:103CD000012809D0022805D0002801D00020704713 +:103CE0000248FCE70248FAE70248F8E7C543000843 +:103CF000DD430008D143000830B5234B83B00500F5 +:103D00008C1E002B26D001A9200000E000BF002857 +:103D10001CD001992200FFF7A1FF041E16D0FFF767 +:103D200091FF6368A864012B2AD0201D002B23DBA0 +:103D3000FFF788FF0023E8642B650368002B0FDB87 +:103D4000FFF780FF2861002003B030BD0023092069 +:103D50002B61F9E70D480E49091AC9100191D9E7FD +:103D60001801000FFFF7B4FF2861431E9841082394 +:103D7000404298430930E7E70123E8642B65DCE71C +:103D8000002305202B61DFE700000000C04C000885 +:103D9000904D0008036810B50400DA0705D44830D8 +:103DA0009B070ED500F06CFC23685A070ED51A0746 +:103DB00013D5DB0604D42000D130FF3000F06CFCBA +:103DC00010BD00F059FC23685A07F0D42000D03011 +:103DD00000F05AFC23681A07EBD420005130FF3062 +:103DE00000F056FC2368E4E70368002B00D01B18A2 +:103DF00018007047092070477047C04670B504002E +:103E00000D0008E02B6C2A0063612100012023696A +:103E10009847082807D1296C2000FFF76DFF00287C +:103E2000F0D000F083FE0728FBD10020296CFFF7BB +:103E3000E3FF281D00F00AFCF0B5CE46474680B5EA +:103E4000C3682E4C9846A5448369060014000431CB +:103E5000402205A8994600F071FE002304AD0493AA +:103E600023E0F0222B6C5200736129007CA800F043 +:103E700065FE7CAA31003369200098478A9B0700C1 +:103E80006B6403934B46009501933200330021008D +:103E90000120C04700281FD1F0227CA95200280031 +:103EA00000F04CFE0024082F1FD1296C3000FFF7D2 +:103EB00023FF611E8C41070009340028D1D0AB6B71 +:103EC00010216B644B46214301930095330032006F +:103ED0000120C047002800D009273800F5239B00A7 +:103EE0009D440CBC90469946F0BD072FF4D12000AC +:103EF000296CFFF781FF05A800F0A8FB2CFCFFFF51 +:103F0000406C704770B5CB6BFAB00B6404000E00C8 +:103F10004022043103A800F011FE01235B4202930A +:103F200006E002AA210023699847050008280AD163 +:103F3000129B200019000193FFF7DEFE0028F0D04D +:103F400009207AB070BD02A8FFF724FF062DF7D133 +:103F500031002000FFF752FF10B58261DA6BC160BB +:103F60001A6419000022FFF767FF10BD436970B59E +:103F70000B64C36804000D00002B15D10A002369EF +:103F8000010002209847072807D0082803D12900FC +:103F90002000FFF733FF00F0C9FD0020296CFFF778 +:103FA0002BFF281D00F052FB0122FFF745FF00F018 +:103FB000BDFDC046C36810B5002B05D0CB6B0022F9 +:103FC0000B64FFF739FF10BDFFF79CFFFBE7C0460E +:103FD0007047C046836810B5002B02D00100012055 +:103FE000984710BD012906D0002906D003390220C8 +:103FF000012900D970470120FCE7002B08D10F2AC6 +:1040000006D8920082185268009B00201A60F1E7DF +:104010000220EFE700B585B003AB0A000093002152 +:104020000023FFF7DFFF039805B000BD012906D08C +:10403000002906D003390220012900D97047012048 +:10404000FCE7002B08D10F2A06D8009B92001B68C2 +:10405000821853600020F1E70220EFE700B585B039 +:1040600003AB039200930A0000230021FFF7DEFF59 +:1040700005B000BD70B51A4CD36BA544136406009F +:104080000D0019A8111D402200F058FD01235B42CC +:10409000189314E00C2118A802AAFFF7DFFF2900EB +:1040A00018A8B047002812D1069B18AA02A9083008 +:1040B00001939847040005280AD0092807D0289BB7 +:1040C00002A819000193FFF717FE0028E2D0092487 +:1040D00018A8FFF75FFE200090239B009D4470BD51 +:1040E000C0FDFFFFF0B5DE4657464E464546E0B5FB +:1040F000160003220D0011008BB01F000193EB6C22 +:1041000001401C1D009107A91B688B460894002FD5 +:104110006BD01A0C1B045946079302230B72FD3314 +:1041200013409B004A72E418009B022B00D1AC6B39 +:104130002B6DDB0747D4002305930833034002931C +:104140002768002F00D112E1019B022B49D0638820 +:10415000278898460434012340469A469843AB6C1E +:104160000F21994681443000FFF754FF002181451B +:1041700006D8390053469943494488428941494207 +:1041800043465A0002231340012217403B43012BB0 +:104190003AD0002B30D0022B1BD12368009A5F004D +:1041A0007F08002A67D1002906D0029A002A00D190 +:1041B0007CE0002F00D1A9E0002B00DA04340137A5 +:1041C000BF00E419BCE75946300000F00BFB0028A3 +:1041D00010D009200BB03CBC90469946A246AB4695 +:1041E000F0BD636808349846B5E71B0207935B4649 +:1041F0001A8199E70820EDE7009B002B02D00029E7 +:1042000000D08DE004349BE7009B002B1AD10029DD +:1042100016D02368DF0F63689A1CDAD02A00583260 +:104220000692013300D1BDE0201DFFF7DDFD06AB96 +:1042300001003A00280000E000BF002800D082E022 +:1042400008347DE70D2130002F6AFFF7E3FE874237 +:10425000F6D1AB6A9C42F3D12000FFF7F3FC0F21AB +:1042600002003000FFF7FAFE30002A000021FFF7BD +:10427000F5FE0720AEE72B6A0D2130009846FFF7C8 +:10428000C9FE804501D0236896E7AB6A9C42FAD10B +:104290000023EB6204332B63231DAF626B6323683F +:1042A000002B00DA86E00123059388E7002F2DD04C +:1042B00058239C46AC4463460393231D9946002330 +:1042C000984606AB220004933B004C464746B24654 +:1042D00098462E00914603E004342F00454542D015 +:1042E000039B20000693FFF77FFD049B0100002243 +:1042F00030007D1C00E000BF0028EDD04346B846EA +:1043000035004C4656461F009845BCD10D21300063 +:10431000FFF780FE069B28626B62AC62062059E7BD +:104320002000FFF78FFC04340700AC63280000E096 +:1043300000BF002800D14CE730003A000F21FFF702 +:104340008DFE072046E707000D213000FFF762FED3 +:104350002862022F2BD1069BEB622B002C336B6261 +:10436000AC62062036E735004C465646CEE7594645 +:10437000300000F037FA002800D02AE7059B002B18 +:1043800000D137E70F213000FFF744FE0E21020075 +:104390003000FFF763FE3000094A0F21FFF75EFE91 +:1043A000072017E70D213000FFF734FE2862069B37 +:1043B0006B62D5E738000130800020184DE7C04619 +:1043C0000000000010B50023FFF78CFE10BDC046B2 +:1043D00010B50123FFF786FE10BDC04610B50223BD +:1043E000FFF780FE10BDC046F0B5CE46474680B50B +:1043F0000500C3B014001E00012955D000294BD080 +:10440000032922D0042949D1002B47D1102A45D8AD +:10441000102203681A4200D0F1E020AF380000F00B +:104420003DF900230120A96B02009A40144203D0F9 +:104430000E689A00BE5004310133042BF4D13800C9 +:10444000A96300F029F9002029E0032B26D11404E8 +:10445000230C160C9846F318102B1FD8082203685B +:104460001A4200D098E020AF380000F013F942461D +:10447000AB6BF6001C00002A08D0D400F21A1C19FD +:10448000BA181968D15004339C42FAD1AC63380091 +:1044900000F0FEF8002002E0002B24D0022043B000 +:1044A0000CBC90469946F0BD130C14049846240C9D +:1044B000012E2ED0052EF1D11B19202BEED842460D +:1044C0000F2A70D9A146002C7ED1AA6B4346AA635D +:1044D0000F2B00D89AE04B46002BDBD0684600F04B +:1044E000D3F80020DBE700231004A96B000C013691 +:1044F00032009A40104204D00F689A00AA18576000 +:1045000004310133102BF3D10020A304C7D4A963D5 +:10451000C5E71B19102BC1D843460F2BBED82B68FB +:104520001E4206D00322280093432B60483000F03F +:10453000A5F820AF380000F0A1F8AA6B002C24D019 +:104540004346DB00FF180023994664000023A400C3 +:10455000D158F95004339C42FAD14B4612196F4698 +:10456000002B0FD04046102800D210204B46D90017 +:1045700000231038C0003818D458C450043399426E +:10458000FAD15218012EA1D120AF04323800AA630B +:1045900000F072F8002082E7934303605130FF304F +:1045A00000F078F85FE7102B3BD910225242914679 +:1045B00099442B68194208D0022228008B431343E8 +:1045C0002B60483000F05EF82B6804221A4221D19B +:1045D00043460F2B03D820AF380000F053F86F4646 +:1045E000380000F053F810244346AA6BE41A002C5C +:1045F000B8DD434620AFDB006400FF18A6E7934315 +:104600000360D130FF3000F049F806E720A800F041 +:1046100037F860E7280093432B60D03000F036F87D +:10462000D6E72B680B4207D0022228008B431343A6 +:104630002B60483000F026F820AF380000F022F858 +:10464000A146AA6B002C00D07AE73FE7011C343169 +:1046500038C9043B9C461D60A646011C20313CC95C +:1046600090469946A246AB46011C0831FCC94168F8 +:104670000068E54600BDC0467047C0467047C0466A +:104680007047C0467047C0467047C0467047C04636 +:104690007047C0467047C0467047C0467047C04626 +:1046A00001B401A801B585B0FFB408A841464A4647 +:1046B00053465C4665463EC001A83EC80F98009030 +:1046C00000230CB401A9FFF71DFC109B12B0184782 +:1046D00001B401A801B585B0FFB408A841464A4617 +:1046E00053465C4665463EC001A83EC80F98009000 +:1046F00000230CB401A9FFF739FC109B12B0184736 +:1047000001B401A801B585B0FFB408A841464A46E6 +:1047100053465C4665463EC001A83EC80F980090CF +:1047200000230CB401A9FFF745FC109B12B01847F9 +:1047300001B401A801B585B0FFB408A841464A46B6 +:1047400053465C4665463EC001A83EC80F9800909F +:1047500000230CB401ABFFF7FFFB109B12B018470E +:1047600001B401A801B585B0FFB408A841464A4686 +:1047700053465C4665463EC001A83EC80F9800906F +:1047800000230CB401AAFFF775FC109B12B0184768 +:10479000027A0300002A0BD1427A002A0FD0013A94 +:1047A00042724268111D416003211268017202E0E9 +:1047B000013A02720268100E12021A607047B020AD +:1047C000FCE7C04600B585B003AB00930C22002384 +:1047D0000021FFF707FC039805B000BD10B5FFF7F7 +:1047E000F1FF10BDF0B557464E464546DE46002364 +:1047F000E0B587B003930F339846083B9946802372 +:104800001B0306000F009A463800FFF7C1FF0400A3 +:10481000B02800D1C3E003062AD5030042469343E3 +:10482000DBB2802B00D171E0902B3DD0A02B00D1CA +:1048300085E0B02B50D0C02B00D196E003004A4653 +:104840009343DBB2D02B0AD15346024001321A43C4 +:10485000052301213000FFF7C7FD0028D4D009242B +:10486000200007B03CBC90469946A246AB46F0BD3E +:10487000FF23820013401D1D05AB9B4600930D22B4 +:10488000002300213000FFF7ADFB630620D4059B19 +:104890009C46654405955B460D220093002100234C +:1048A0003000FFF7C3FBAFE7833B03400D2BD6D0AF +:1048B00005AD02400095002300213000FFF792FB78 +:1048C000009500230D2200213000FFF7AFFB9BE78E +:1048D000059B5D1B0595DEE7B12874D0B22800D199 +:1048E000CFE0B32800D184E0FC230340B42BB6D042 +:1048F0004A465346024001321A4301210123300047 +:10490000FFF772FD002800D17EE7A8E70402380017 +:10491000FFF73EFF802520432D02A8429FD00401CF +:104920000005020C002300213000FFF75DFD002888 +:1049300095D12C4200D167E70123039364E7FF235D +:104940004A461B011900824311410A001A4003071D +:1049500002D58023DB011A43002300213000FFF73A +:1049600043FD002800D14FE779E7C6284CD0C7287F +:104970005ED003004A469343DBB2C02B6DD0C828FB +:1049800072D0C92800D06AE73800FFF701FFF02392 +:1049900002031B03134042460240013257E7039BC8 +:1049A0000024002B00D05BE705AD00950E2200210E +:1049B0003000FFF717FB009500230F220021300085 +:1049C000FFF734FB4CE73800FFF7E2FE002800D188 +:1049D00045E7030042469343DBB2002B00D03EE79D +:1049E000020000213000FFF7FFFC002800D10BE798 +:1049F00035E73800FFF7CCFEF02302031B0313401A +:104A000042460240013277E73800FFF7C1FEF0234B +:104A100002031B0313404246024001321A430323A0 +:104A200003213000FFF7E0FC002800D1ECE616E798 +:104A30003800FFF7ADFE021E00D110E7030041462B +:104A40008B43DBB2002B00D009E704213000FFF7D5 +:104A5000CBFC002800D1D7E601E74346A0221C404A +:104A6000013412032243DAE73800FFF791FE434690 +:104A700002009A43D2B210321840120301300243AE +:104A8000E6E605AB00939B460D2200230021300093 +:104A9000FFF7A8FA3800FFF77BFE030618D57F253D +:104AA000B03C059B2840A0409C46604405903800DF +:104AB0000734FFF76DFE0306F3D481217F238900BD +:104AC00003408C46A340059A62449B180593E2E696 +:104AD0000224F2E7030000B5DB6C85B05A680800D9 +:104AE000120201921A0001A908324A6003220A72D6 +:104AF000DB794B72FFF776FE05B000BD10B5FFF70E +:104B00006DFE806C10BDC04610B5FFF767FEC26C2D +:104B1000D3799B000833D01810BDC04610B500F003 +:104B200005F8C04610B5FFF7F9FFC04610B50620DE +:104B300000F076F8012000F0A5F8C046F0B50F2A85 +:104B400037D90D0005430C000300AD0735D1150022 +:104B5000103D2D092E013618103627681F60676832 +:104B60005F60A7689F60E7681034DF601033B3426E +:104B7000F3D10F2401352D01491914404519032C97 +:104B80001DD90023CE58EE500433E61A032EF9D86F +:104B90000323043CA4080134A4001A402D19091968 +:104BA000002A05D00023CC5CEC5401339342FAD1A7 +:104BB000F0BD0500002AF5D1FAE70500F2E7220072 +:104BC000F8E7C04670B505000C001F2922D8B723AE +:104BD0009B00C358002B0ED08A009B181A68002A2D +:104BE00009D0012A10D0511C10D0002120001960DA +:104BF0009047002070BD280000F030F8220001002E +:104C0000280000F017F8F5E70020F3E7162303600B +:104C10000120EFE71623036001204042EAE7C04687 +:104C200010B5034B01001868FFF7CCFF10BDC0465C +:104C300000000020002370B5074C0500080011009B +:104C4000236000F017F8431C00D070BD2368002BD0 +:104C5000FBD02B60F9E7C0461007002010B500F02C +:104C600001F810BD58220120014B40421A607047E4 +:104C70001007002058220120014B40421A60704763 +:104C800010070020FEE7C046F8B5C046F8B5C0469C +:104C900074B20181B0AB308000000000800A018155 +:104CA000B0B0ABF0000000003F020181B0AB30803B +:104CB0000000000080060181B0B0ABF000000000F1 +:104CC00030EEFF7FB0B0B0807CEFFF7F01000000CE +:104CD00028F0FF7FB0A90280BCF0FF7FB0B0A880B1 +:104CE00008F1FF7F0100000014F1FF7FB0B0AA803F +:104CF00048F1FF7F9CFFFF7F08F2FF7F010000006B +:104D000004F2FF7FAA3F398050F2FF7FB0B0A88045 +:104D10005CF2FF7FB0B0AA809CF2FF7FB0B0A880A9 +:104D2000B0F2FF7F01000000ACF2FF7FB0B0A880BE +:104D3000B4F2FF7F010000003CF3FF7FAA0FB280B6 +:104D4000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88001 +:104D500098F6FF7F54FFFF7FF4F8FF7F010000000B +:104D600064FAFF7F0084048074FAFF7FB0B0A880EB +:104D700074FAFF7F40FFFF7F5CFDFF7F00840480AB +:104D80007CFDFF7FB0B0A88094FDFF7F0100000094 +:104D9000080000200000000000000000F4020020D5 +:104DA0005C030020C403002000000000000000009D +:104DB00000000000000000000000000000000000F3 +:104DC00000000000000000000000000000000000E3 +:104DD00000000000000000000000000000000000D3 +:104DE00000000000000000000000000000000000C3 +:104DF00000000000000000000000000000000000B3 +:104E000000000000000000000000000000000000A2 +:104E10000000000000000000000000000000000092 +:104E20000000000000000000000000000000000082 +:104E30000000000000000000000000000000000072 +:104E400001000000000000000E33CDAB34126DE60F +:104E5000ECDE05000B000000000000000000000078 +:104E60000000000000000000000000000000000042 +:104E70000000000000000000000000000000000032 +:104E80000000000000000000000000000000000022 +:104E90000000000000000000000000000000000012 +:104EA0000000000000000000000000000000000002 +:104EB00000000000000000000000000000000000F2 +:104EC00000000000000000000000000000000000E2 +:104ED00000000000000000000000000000000000D2 +:104EE00000000000000000000000000000000000C2 +:104EF00000000000000000000000000000000000B2 +:104F000000000000000000000000000000000000A1 +:104F10000000000000000000000000000000000091 +:104F20000000000000000000000000000000000081 +:104F30000000000000000000000000000000000071 +:104F40000000000000000000000000000000000061 +:104F50000000000000000000000000000000000051 +:104F60000000000000000000000000000000000041 +:104F70000000000000000000000000000000000031 +:104F80000000000000000000000000000000000021 +:104F90000000000000000000000000000000000011 +:104FA0000000000000000000000000000000000001 +:104FB00000000000000000000000000000000000F1 +:104FC00000000000000000000000000000000000E1 +:104FD00000000000000000000000000000000000D1 +:104FE00000000000000000000000000000000000C1 +:104FF00000000000000000000000000000000000B1 +:1050000000000000000000000000000000000000A0 +:105010000000000000000000000000000000000090 +:105020000000000000000000000000000000000080 +:105030000000000000000000000000000000000070 +:105040000000000000000000000000000000000060 +:105050000000000000000000000000000000000050 +:105060000000000000000000000000000000000040 +:105070000000000000000000000000000000000030 +:105080000000000000000000000000000000000020 +:105090000000000000000000000000000000000010 +:1050A0000000000000000000000000000000000000 +:1050B00000000000000000000000000000000000F0 +:1050C00000000000000000000000000000000000E0 +:1050D00000000000000000000000000000000000D0 +:1050E00000000000000000000000000000000000C0 +:1050F00000000000000000000000000000000000B0 +:10510000000000000000000000000000000000009F +:10511000000000000000000000000000000000008F +:10512000000000000000000000000000000000007F +:10513000000000000000000000000000000000006F +:10514000000000000000000000000000000000005F +:10515000000000000000000000000000000000004F +:10516000000000000000000000000000000000003F +:10517000000000000000000000000000000000002F :10518000000000000000000000000000000000001F +:10519000000000000000000000000000000000000F +:1051A00000000000000000000000000000000000FF +:1051B00000000000000000000000000000000000EF +:0400000508000805E2 :00000001FF diff --git a/firmware/build_stmn/inlretro_stm.map b/firmware/build_stmn/inlretro_stm.map index 803773a..f0ff5fa 100644 --- a/firmware/build_stmn/inlretro_stm.map +++ b/firmware/build_stmn/inlretro_stm.map @@ -1,7 +1,7 @@ Archive member included to satisfy reference by file (symbol) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o (__aeabi_unwind_cpp_pr0) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) @@ -51,9 +51,9 @@ c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file @@ -132,39 +132,39 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .data 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .bss 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .stack 0x00000000 0xc00 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .heap 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .debug_line 0x00000000 0x7c C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .debug_info 0x00000000 0x22 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .debug_abbrev 0x00000000 0x12 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccep6a43.o .debug_aranges - 0x00000000 0x28 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .debug_str 0x00000000 0x70 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .debug_ranges 0x00000000 0x20 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .debug_str 0x00000000 0x70 C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccep6a43.o .ARM.attributes - 0x00000000 0x1b C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o - .text 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .data 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .bss 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .ARM.extab 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .ARM.exidx 0x00000000 0x8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .debug_line 0x00000000 0x49 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .debug_info 0x00000000 0x26 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .debug_abbrev 0x00000000 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o + 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccep6a43.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o .debug_aranges - 0x00000000 0x20 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .debug_str 0x00000000 0x6d C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .debug_str 0x00000000 0x6d C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o .ARM.attributes - 0x00000000 0x21 C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o - .data 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o - .bss 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o - .ARM.extab 0x00000000 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o + 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) @@ -427,10 +427,10 @@ Linker script and memory map LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o -LOAD C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o -LOAD C:\Users\PAUL_D~1\AppData\Local\Temp\cclouYWi.o -LOAD C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o +LOAD C:\Users\paul\AppData\Local\Temp\ccep6a43.o +LOAD C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o +LOAD C:\Users\paul\AppData\Local\Temp\cckRUKFb.o START GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -444,17 +444,17 @@ END GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o -.text 0x08000000 0x4c60 +.text 0x08000000 0x4c90 *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o 0x08000000 __isr_vector *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o 0x08000198 USB_IRQHandler *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccep6a43.o 0x08000534 TIM1_CC_IRQHandler 0x08000534 TSC_IRQHandler 0x08000534 ADC1_COMP_IRQHandler @@ -493,7 +493,7 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x08000534 USART1_IRQHandler 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler *fill* 0x08000536 0x2 ff - .hardfault 0x08000538 0xc C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o 0x08000538 HardFault_Handler *_thumb1_case_uqi.o() .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) @@ -509,11 +509,11 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) *(.fw_update) *fill* 0x080005aa 0x2 ff - .fw_update 0x080005ac 0x15c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .fw_update 0x080005ac 0x15c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o 0x00000770 . = 0x770 *fill* 0x08000708 0x68 ff *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o 0x00000800 . = 0x800 *fill* 0x080007e0 0x20 ff *(.appver) @@ -521,173 +521,172 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *fill* 0x08000800 0x4 ff *(.reset_handler) .reset_handler - 0x08000804 0x3c C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o + 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccep6a43.o 0x08000804 Reset_Handler *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x1604 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .usbFuncSetup 0x08000884 0x163c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *(.text*) .text.nes_cpu_page_rd_poll.constprop.21 - 0x08001e88 0xc4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08001ec0 0xc8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_ppu_page_rd_poll.constprop.19 - 0x08001f4c 0xbc C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08001f88 0xbc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.append_pairity - 0x08002008 0x1e C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002044 0x1e C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.delay_us - 0x08002026 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - *fill* 0x0800203a 0x2 ff - .text.lfsr_32 0x0800203c 0x30 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002062 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + *fill* 0x08002076 0x2 ff + .text.lfsr_32 0x08002078 0x30 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc3s_prgrom_flash_wr - 0x0800206c 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080020a8 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_dualport_wr - 0x08002070 0x8c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080020ac 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_dualport_rd - 0x080020fc 0x80 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002138 0x80 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_ppu_wr - 0x0800217c 0x90 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080021b8 0x90 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_ppu_rd - 0x0800220c 0x84 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002248 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc3_chrrom_flash_wr - 0x08002290 0x44 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080022cc 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nrom_chrrom_flash_wr - 0x080022d4 0x44 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002310 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_m2_high_wr - 0x08002318 0x98 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002354 0x98 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_cpu_wr - 0x080023b0 0xb4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080023ec 0xb4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.cdream_chrrom_flash_wr - 0x08002464 0x8c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080024a0 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc4_chrrom_flash_wr - 0x080024f0 0x74 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x0800252c 0x74 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.cnrom_chrrom_flash_wr - 0x08002564 0x7c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080025a0 0x7c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nes_cpu_rd - 0x080025e0 0x84 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x0800261c 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.tssop_prgrom_flash_wr - 0x08002664 0x2a C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080026a0 0x2a C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.a53_tssop_prgrom_flash_wr - 0x0800268e 0x36 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080026ca 0x36 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.gtrom_prgrom_flash_wr - 0x080026c4 0x4c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002700 0x4c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.map30_prgrom_flash_wr - 0x08002710 0x74 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x0800274c 0x74 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc4_prgrom_flash_wr - 0x08002784 0x54 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080027c0 0x54 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc3_prgrom_flash_wr - 0x080027d8 0x50 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002814 0x50 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.disc_push_exp0_prgrom_wr - 0x08002828 0x84 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002864 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.discrete_exp0_prgrom_wr - 0x080028ac 0x8c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080028e8 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.unrom_prgrom_flash_wr - 0x08002938 0x64 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002974 0x64 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.nrom_prgrom_flash_wr - 0x0800299c 0x44 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x080029d8 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.pbje_scan - 0x080029e0 0xb0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002a1c 0xb0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.pbje_state_change - 0x08002a90 0x5c C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002acc 0x5c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.jtag_init_pbje - 0x08002aec 0x40 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002b28 0x40 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.jtag_run_pbje.part.0 - 0x08002b2c 0xb8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002b68 0xb8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.io_reset - 0x08002be4 0x1c4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002c20 0x1c4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.write_page_verify - 0x08002da8 0x68 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002de4 0x68 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.write_page - 0x08002e10 0x34 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002e4c 0x34 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.get_next_buff - 0x08002e44 0x54 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002e80 0x54 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc1_wr.constprop.10 - 0x08002e98 0x22 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - *fill* 0x08002eba 0x2 ff + 0x08002ed4 0x22 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + *fill* 0x08002ef6 0x2 ff .text.mmc1_chrrom_flash_wr - 0x08002ebc 0x60 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002ef8 0x60 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.mmc1_prgrom_flash_wr - 0x08002f1c 0x50 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002f58 0x50 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.swim_wotf - 0x08002f6c 0xb4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x08002fa8 0xb4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.swim_rotf - 0x08003020 0xac C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x0800305c 0xac C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .text.startup.main - 0x080030cc 0x9e8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - 0x080030cc main - *fill* 0x08003ab4 0xc ff - .text 0x08003ac0 0x154 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o - 0x08003ac0 swim_xfr - .text 0x08003c14 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08003ed0 _Unwind_GetCFA - 0x08003ed4 __gnu_Unwind_RaiseException - 0x08003f28 __gnu_Unwind_ForcedUnwind - 0x08003f3c __gnu_Unwind_Resume - 0x08003f84 __gnu_Unwind_Resume_or_Rethrow - 0x08003fa0 _Unwind_Complete - 0x08003fa4 _Unwind_DeleteException - 0x08003fb4 _Unwind_VRS_Get - 0x08003ffc _Unwind_VRS_Set - 0x08004044 __gnu_Unwind_Backtrace - 0x08004394 __aeabi_unwind_cpp_pr0 - 0x080043a0 __aeabi_unwind_cpp_pr1 - 0x080043ac __aeabi_unwind_cpp_pr2 - 0x080043b8 _Unwind_VRS_Pop - .text 0x0800461c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800461c __restore_core_regs - 0x0800461c restore_core_regs - 0x08004648 __gnu_Unwind_Restore_VFP - 0x0800464c __gnu_Unwind_Save_VFP - 0x08004650 __gnu_Unwind_Restore_VFP_D - 0x08004654 __gnu_Unwind_Save_VFP_D - 0x08004658 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800465c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08004660 __gnu_Unwind_Restore_WMMXD - 0x08004664 __gnu_Unwind_Save_WMMXD - 0x08004668 __gnu_Unwind_Restore_WMMXC - 0x0800466c __gnu_Unwind_Save_WMMXC - 0x08004670 ___Unwind_RaiseException - 0x08004670 _Unwind_RaiseException - 0x080046a0 _Unwind_Resume - 0x080046a0 ___Unwind_Resume - 0x080046d0 _Unwind_Resume_or_Rethrow - 0x080046d0 ___Unwind_Resume_or_Rethrow - 0x08004700 _Unwind_ForcedUnwind - 0x08004700 ___Unwind_ForcedUnwind - 0x08004730 ___Unwind_Backtrace - 0x08004730 _Unwind_Backtrace - .text 0x08004760 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080047b4 __gnu_unwind_execute - 0x08004aa4 __gnu_unwind_frame - 0x08004acc _Unwind_GetRegionStart - 0x08004ad8 _Unwind_GetLanguageSpecificData - 0x08004aec _Unwind_GetDataRelBase - 0x08004af4 _Unwind_GetTextRelBase - .text.abort 0x08004afc 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x08004afc abort - .text.memcpy 0x08004b0c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x08004b0c memcpy + 0x08003108 0x9e8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + 0x08003108 main + .text 0x08003af0 0x154 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o + 0x08003af0 swim_xfr + .text 0x08003c44 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x08003f00 _Unwind_GetCFA + 0x08003f04 __gnu_Unwind_RaiseException + 0x08003f58 __gnu_Unwind_ForcedUnwind + 0x08003f6c __gnu_Unwind_Resume + 0x08003fb4 __gnu_Unwind_Resume_or_Rethrow + 0x08003fd0 _Unwind_Complete + 0x08003fd4 _Unwind_DeleteException + 0x08003fe4 _Unwind_VRS_Get + 0x0800402c _Unwind_VRS_Set + 0x08004074 __gnu_Unwind_Backtrace + 0x080043c4 __aeabi_unwind_cpp_pr0 + 0x080043d0 __aeabi_unwind_cpp_pr1 + 0x080043dc __aeabi_unwind_cpp_pr2 + 0x080043e8 _Unwind_VRS_Pop + .text 0x0800464c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x0800464c __restore_core_regs + 0x0800464c restore_core_regs + 0x08004678 __gnu_Unwind_Restore_VFP + 0x0800467c __gnu_Unwind_Save_VFP + 0x08004680 __gnu_Unwind_Restore_VFP_D + 0x08004684 __gnu_Unwind_Save_VFP_D + 0x08004688 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800468c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08004690 __gnu_Unwind_Restore_WMMXD + 0x08004694 __gnu_Unwind_Save_WMMXD + 0x08004698 __gnu_Unwind_Restore_WMMXC + 0x0800469c __gnu_Unwind_Save_WMMXC + 0x080046a0 ___Unwind_RaiseException + 0x080046a0 _Unwind_RaiseException + 0x080046d0 _Unwind_Resume + 0x080046d0 ___Unwind_Resume + 0x08004700 _Unwind_Resume_or_Rethrow + 0x08004700 ___Unwind_Resume_or_Rethrow + 0x08004730 _Unwind_ForcedUnwind + 0x08004730 ___Unwind_ForcedUnwind + 0x08004760 ___Unwind_Backtrace + 0x08004760 _Unwind_Backtrace + .text 0x08004790 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080047e4 __gnu_unwind_execute + 0x08004ad4 __gnu_unwind_frame + 0x08004afc _Unwind_GetRegionStart + 0x08004b08 _Unwind_GetLanguageSpecificData + 0x08004b1c _Unwind_GetDataRelBase + 0x08004b24 _Unwind_GetTextRelBase + .text.abort 0x08004b2c 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08004b2c abort + .text.memcpy 0x08004b3c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08004b3c memcpy .text._raise_r - 0x08004b94 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004b94 _raise_r - .text.raise 0x08004bf0 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004bf0 raise - .text._kill_r 0x08004c04 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004c04 _kill_r + 0x08004bc4 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004bc4 _raise_r + .text.raise 0x08004c20 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004c20 raise + .text._kill_r 0x08004c34 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004c34 _kill_r .text._getpid_r - 0x08004c2c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004c2c _getpid_r - .text._getpid 0x08004c34 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08004c34 _getpid - .text._kill 0x08004c44 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08004c44 _kill - .text._exit 0x08004c54 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08004c54 _exit + 0x08004c5c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004c5c _getpid_r + .text._getpid 0x08004c64 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08004c64 _getpid + .text._kill 0x08004c74 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08004c74 _kill + .text._exit 0x08004c84 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08004c84 _exit *(.init) - .init 0x08004c58 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08004c58 _init + .init 0x08004c88 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08004c88 _init *(.fini) - .fini 0x08004c5c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08004c5c _fini + .fini 0x08004c8c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08004c8c _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -701,42 +700,42 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.rodata*) *(.eh_frame*) -.glue_7 0x08004c60 0x0 - .glue_7 0x08004c60 0x0 linker stubs +.glue_7 0x08004c90 0x0 + .glue_7 0x08004c90 0x0 linker stubs -.glue_7t 0x08004c60 0x0 - .glue_7t 0x08004c60 0x0 linker stubs +.glue_7t 0x08004c90 0x0 + .glue_7t 0x08004c90 0x0 linker stubs -.vfp11_veneer 0x08004c60 0x0 - .vfp11_veneer 0x08004c60 0x0 linker stubs +.vfp11_veneer 0x08004c90 0x0 + .vfp11_veneer 0x08004c90 0x0 linker stubs -.v4_bx 0x08004c60 0x0 - .v4_bx 0x08004c60 0x0 linker stubs +.v4_bx 0x08004c90 0x0 + .v4_bx 0x08004c90 0x0 linker stubs -.iplt 0x08004c60 0x0 - .iplt 0x08004c60 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o +.iplt 0x08004c90 0x0 + .iplt 0x08004c90 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o -.ARM.extab 0x08004c60 0x30 +.ARM.extab 0x08004c90 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08004c60 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08004c84 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08004c90 __exidx_start = . + .ARM.extab 0x08004c90 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08004cb4 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004cc0 __exidx_start = . -.ARM.exidx 0x08004c90 0xd0 +.ARM.exidx 0x08004cc0 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004c90 0x8 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o + .ARM.exidx 0x08004cc0 0x8 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o 0x10 (size before relaxing) - .ARM.exidx 0x08004c98 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.exidx 0x08004cc8 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) 0xd8 (size before relaxing) - .ARM.exidx 0x08004d30 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.exidx 0x08004d60 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) 0x48 (size before relaxing) - 0x08004d60 __exidx_end = . - 0x08004d60 __etext = ALIGN (0x4) + 0x08004d90 __exidx_end = . + 0x08004d90 __etext = ALIGN (0x4) -.rel.dyn 0x08004d60 0x0 - .rel.iplt 0x08004d60 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o +.rel.dyn 0x08004d90 0x0 + .rel.iplt 0x08004d90 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o -.data 0x20000000 0x430 load address 0x08004d60 +.data 0x20000000 0x430 load address 0x08004d90 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -764,61 +763,61 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.fastrun) 0x20000430 __data_end__ = . -.igot.plt 0x20000430 0x0 load address 0x08005190 - .igot.plt 0x20000430 0x0 C:\Users\PAUL_D~1\AppData\Local\Temp\ccOxWw6f.o +.igot.plt 0x20000430 0x0 load address 0x080051c0 + .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o -.bss 0x20000430 0x2e4 load address 0x08005190 +.bss 0x20000430 0x2e4 load address 0x080051c0 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.bank_table - 0x20000436 0x2 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.cur_bank 0x20000488 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *fill* 0x20000489 0x3 - .bss.cur_buff 0x2000048c 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.cur_usb_load_buff - 0x20000490 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.exp_byte 0x20000494 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.exp_byte 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.incoming_bytes_remain - 0x20000495 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x20000495 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *fill* 0x20000496 0x2 - .bss.lfsr 0x20000498 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.num_buff.5127 - 0x2000049c 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .bss.lfsr 0x20000498 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.num_buff.5153 + 0x2000049c 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.num_prg_banks - 0x2000049d 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x2000049d 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *fill* 0x2000049e 0x2 .bss.oper_info_struct - 0x200004a0 0x20 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004a0 0x20 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.pbje_command - 0x200004c0 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004c0 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.pbje_data - 0x200004c1 0x20 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004c1 0x20 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.pbje_numclk - 0x200004e1 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004e1 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.pbje_status - 0x200004e2 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004e2 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.raw_bank_status - 0x200004e3 0x10 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004e3 0x10 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *fill* 0x200004f3 0x1 .bss.raw_buffer16 - 0x200004f4 0x200 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.rv16.4747 - 0x200006f4 0x8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.rv16.5047 - 0x200006fc 0x8 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x200004f4 0x200 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.rv16.4750 + 0x200006f4 0x8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.rv16.5073 + 0x200006fc 0x8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .bss.stm_debug_disable - 0x20000704 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x20000704 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *fill* 0x20000705 0x3 .bss.swim_base - 0x20000708 0x4 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .bss.swim_pin 0x2000070c 0x1 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x20000708 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .bss.swim_pin 0x2000070c 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o *(COMMON) *fill* 0x2000070d 0x3 COMMON 0x20000710 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) @@ -845,45 +844,45 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x2f C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .ARM.attributes - 0x0000004d 0x21 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o + 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o .comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o 0x80 (size before relaxing) -.debug_info 0x00000000 0x4835 - .debug_info 0x00000000 0x480f C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .debug_info 0x0000480f 0x26 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o +.debug_info 0x00000000 0x48db + .debug_info 0x00000000 0x48b5 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .debug_info 0x000048b5 0x26 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o -.debug_abbrev 0x00000000 0x6a7 - .debug_abbrev 0x00000000 0x693 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .debug_abbrev 0x00000693 0x14 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o +.debug_abbrev 0x00000000 0x6b6 + .debug_abbrev 0x00000000 0x6a2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .debug_abbrev 0x000006a2 0x14 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o -.debug_loc 0x00000000 0x6ecc - .debug_loc 0x00000000 0x6ecc C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o +.debug_loc 0x00000000 0x6ff6 + .debug_loc 0x00000000 0x6ff6 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .debug_aranges 0x00000000 0x1d0 .debug_aranges - 0x00000000 0x1b0 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + 0x00000000 0x1b0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .debug_aranges - 0x000001b0 0x20 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o + 0x000001b0 0x20 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o -.debug_ranges 0x00000000 0xb18 - .debug_ranges 0x00000000 0xb18 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o +.debug_ranges 0x00000000 0xb30 + .debug_ranges 0x00000000 0xb30 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o -.debug_line 0x00000000 0x165d - .debug_line 0x00000000 0x156a C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - .debug_line 0x0000156a 0xf3 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o +.debug_line 0x00000000 0x1677 + .debug_line 0x00000000 0x1584 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + .debug_line 0x00001584 0xf3 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o -.debug_str 0x00000000 0x1073 - .debug_str 0x00000000 0x100a C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o - 0x1123 (size before relaxing) - .debug_str 0x0000100a 0x69 C:\Users\PAUL_D~1\AppData\Local\Temp\ccq24Qmp.o +.debug_str 0x00000000 0x1071 + .debug_str 0x00000000 0x1008 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o + 0x1121 (size before relaxing) + .debug_str 0x00001008 0x69 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o .debug_frame 0x00000000 0x594 - .debug_frame 0x00000000 0x594 C:\Users\PAUL_D~1\AppData\Local\Temp\cclxzrun.ltrans0.ltrans.o + .debug_frame 0x00000000 0x594 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o .stabstr 0x00000000 0x76 .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/source/dump.c b/firmware/source/dump.c index 4eb0096..167b7da 100644 --- a/firmware/source/dump.c +++ b/firmware/source/dump.c @@ -115,20 +115,27 @@ uint8_t dump_buff( buffer *buff ) { #endif #ifdef SEGA_CONN - case GENESIS_ROM_PAGE0: + case GENESIS_ROM_PAGE0: //A16=0 first half of A1-A16 BANK //mapper byte specifies Genesis CPU A15-8 addrH |= (buff->mapper); //no shift needed buff->cur_byte = genesis_page_rd( buff->data, addrH, buff->id, //id contains MSb of page when <256B buffer buff->last_idx); break; - case GENESIS_ROM_PAGE1: + case GENESIS_ROM_PAGE1: //A16=1 second half of A1-A16 BANK //mapper byte specifies Genesis CPU A15-8 addrH |= (buff->mapper); //no shift needed buff->cur_byte = genesis_page_rd( buff->data, addrH+0x0100, buff->id, //id contains MSb of page when <256B buffer buff->last_idx); break; + case GENESIS_RAM_PAGE: //Only read data from lower Byte D0-7 + //mapper byte specifies Genesis CPU A15-8 + addrH |= (buff->mapper); //no shift needed + buff->cur_byte = genesis_ram_page_rd( buff->data, addrH, buff->id, + //id contains MSb of page when <256B buffer + buff->last_idx); + break; #endif #ifdef N64_CONN diff --git a/firmware/source/flash.c b/firmware/source/flash.c index fe83742..bf56228 100644 --- a/firmware/source/flash.c +++ b/firmware/source/flash.c @@ -20,6 +20,39 @@ uint8_t write_page( uint8_t addrH, buffer *buff, write_funcptr wr_func ) //TODO error check/report return SUCCESS; } +/* +uint8_t write_page_mmc5( uint8_t addrH, buffer *buff, write_funcptr wr_func ) +{ + uint16_t cur = buff->cur_byte; + uint8_t n = buff->cur_byte; +// uint8_t read; + + //enable PRG-RAM writting and then quickly write to it and make sure don't timeout + //disable write protection, and enable WRAM + //for save data safety start by disabling WRAM writes + //dict.nes("NES_CPU_WR", 0x5102, 0x02) --bits 1&0 must be '01' (ie 0x02) to allow writes to WRAM + //dict.nes("NES_CPU_WR", 0x5103, 0x01) --bits 1&0 must be '10' (ie 0x01) to allow writes to WRAM + __disable_irq(); //clear's processor PRIMASK register bit to allow interrupts to be taken + nes_cpu_wr(0x5102, 0x02); + nes_cpu_wr(0x5103, 0x01); + nes_cpu_wr(0x5102, 0x02); + nes_cpu_wr(0x5103, 0x01); + while ( cur <= buff->last_idx ) { + + wr_func( ((addrH<<8)| n), buff->data[n] ); + //write function returns when it's complete or errors out + + n++; + cur++; + } + __enable_irq(); //clear's processor PRIMASK register bit to allow interrupts to be taken + buff->cur_byte = n; + + //TODO error check/report + return SUCCESS; +} +*/ + uint8_t write_page_verify( uint8_t addrH, buffer *buff, write_rv_funcptr wr_func ) { @@ -440,6 +473,13 @@ uint8_t flash_buff( buffer *buff ) { uint8_t addrH = buff->page_num; //A15:8 while accessing page uint8_t bank; +#ifdef SEGA_CONN + uint16_t cur ;//= buff->cur_byte; + uint8_t n ;//= buff->cur_byte; + uint16_t temp; + uint16_t addr; +#endif + switch ( buff->mem_type ) { #ifdef NES_CONN case PRGROM: //$8000 @@ -607,7 +647,11 @@ uint8_t flash_buff( buffer *buff ) { break; case PRGRAM: - write_page( addrH+0x60, buff, nes_cpu_wr); + //if (buff->mapper == MMC5) { + // write_page_mmc5( addrH+0x60, buff, nes_cpu_wr); + //} else { + write_page( addrH+0x60, buff, nes_cpu_wr); + //} break; #endif @@ -673,6 +717,48 @@ uint8_t flash_buff( buffer *buff ) { break; #endif + #ifdef SEGA_CONN + case GENESISROM: + //if (buff->mapper == LOROM_5VOLT) { + //LOROM banks start at $XX:8000 + //write_page_16bit( addrH+0x80, buff, snes_5v_flash_wr); + //} + //uint8_t write_page( uint8_t addrH, buffer *buff, write_funcptr wr_func ) + //{ + cur = buff->cur_byte; + n = buff->cur_byte; + addr = addrH; + addr = addr<<8; + // uint8_t read; + + while ( cur <= buff->last_idx ) { + + //TODO this is broke, first 256 bytes keep getting written over and over again + temp = buff->data[n]; + temp = temp<<8; + n++; + temp += buff->data[n]; + + //n--; + gen_sst_flash_wr( (addr|(n>>1)), temp); + + //wr_func( ((addrH<<8)| n), buff->data[n] ); + //write function returns when it's complete or errors out + + addr++; + //n++; + cur++; + n++; + cur++; + } + buff->cur_byte = n; + + //TODO error check/report + // return SUCCESS; + //} + #endif + + default: return ERR_BUFF_UNSUP_MEM_TYPE; } diff --git a/firmware/source/io.c b/firmware/source/io.c index 7393794..24bea2c 100644 --- a/firmware/source/io.c +++ b/firmware/source/io.c @@ -476,7 +476,7 @@ void sega_init() // HADDR_ENABLE(); // HADDR_IP(); // HADDR_PU(); - //TODO ERROR DATA16_ENABLE(); + DATA16_ENABLE(); // DATA16_IP(); // DATA16_PU(); diff --git a/firmware/source/nes.c b/firmware/source/nes.c index 2b1ccee..b2903b5 100644 --- a/firmware/source/nes.c +++ b/firmware/source/nes.c @@ -120,6 +120,9 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r case MMC3S_PRG_FLASH_WR: mmc3s_prgrom_flash_wr( operand, miscdata ); break; + case PPU_PAGE_WR_LFSR: + ppu_page_wr_lfsr( operand, miscdata ); + break; //8bit return values: @@ -156,8 +159,9 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r rdata[RD_LEN] = BYTE_LEN; rdata[RD0] = num_prg_banks; break; - case PPU_PAGE_WR_LFSR: - ppu_page_wr_lfsr( operand, miscdata ); + case MMC5_PRG_RAM_WR: + rdata[RD_LEN] = BYTE_LEN; + rdata[RD0] = mmc5_prgram_wr( operand, miscdata ); break; default: //macro doesn't exist @@ -839,10 +843,10 @@ uint8_t nes_cpu_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, uint8 ADDRH(addrH); //set M2 and /ROMSEL - M2_HI(); if( addrH >= 0x80 ) { //addressing cart rom space ROMSEL_LO(); //romsel trails M2 during CPU operations } + M2_HI(); //set lower address bits ADDRL(first); //doing this prior to entry and right after latching @@ -885,7 +889,7 @@ uint8_t nes_cpu_page_rd_toggle( uint8_t *data, uint8_t addrH, uint8_t first, uin //set address bus ADDRH(addrH); - //set M2 and /ROMSEL + //set /ROMSEL if( addrH >= 0x80 ) { //addressing cart rom space ROMSEL_LO(); //romsel trails M2 during CPU operations } @@ -1749,4 +1753,16 @@ uint8_t tssop_prgrom_flash_wr( uint16_t addr, uint8_t data ) return rv; } +uint8_t mmc5_prgram_wr( uint16_t addr, uint8_t data ) +{ + nes_cpu_wr(0x5102, 0x02); //PRG-RAM protect 1 + nes_cpu_wr(0x5103, 0x01); //PRG-RAM protect 2 + nes_cpu_wr(0x5102, 0x02); //need an additional M2 cycling, may as well be a write to a prot reg + //if there is an interrupt durring this time the write could fail if >11.2usec + nes_cpu_wr(addr, data); + + return nes_cpu_rd(addr); +} + + #endif //NES_CONN diff --git a/firmware/source/nes.h b/firmware/source/nes.h index ec5fd7d..86546c3 100644 --- a/firmware/source/nes.h +++ b/firmware/source/nes.h @@ -50,6 +50,7 @@ uint8_t gtrom_prgrom_flash_wr( uint16_t addr, uint8_t data ); void ppu_page_wr_lfsr( uint16_t addr, uint8_t data ); uint8_t a53_tssop_prgrom_flash_wr( uint16_t addr, uint8_t data ); uint8_t tssop_prgrom_flash_wr( uint16_t addr, uint8_t data ); +uint8_t mmc5_prgram_wr( uint16_t addr, uint8_t data ); diff --git a/firmware/source/pinport_al.h b/firmware/source/pinport_al.h index 668474d..b3574b4 100644 --- a/firmware/source/pinport_al.h +++ b/firmware/source/pinport_al.h @@ -641,6 +641,7 @@ void software_AXL_CLK(); #define RCC_AHBENR_ADDR RCC_AHBENR_GPIOCEN #define RCC_AHBENR_HADDR (RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN) #define RCC_AHBENR_DATA RCC_AHBENR_GPIOBEN +#define RCC_AHBENR_DATA16 (RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN) #define RCC_AHBENR_EXP (RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN) @@ -1113,11 +1114,13 @@ void software_AXL_CLK(); //IP and OP assume MODER[1] is clear (ie not set to Alt Func) //also assume PUPDR is reset default floating +//TODO for input MODER=00 why not just clear both bits??? #define DATA_IP_PU() Dbank->MODER &= ~(MODER_OP_ALL & 0xFFFF0000); Dbank->PUPDR |= (PUPDR_PU_ALL & 0xFFFF0000) #define DATA_IP() Dbank->MODER &= ~(MODER_OP_ALL & 0xFFFF0000) #define DATA_OP() Dbank->MODER |= (MODER_OP_ALL & 0xFFFF0000) //TODO create byte wide port structs to grant byte accesses so doesn't need shifted #define DATA_SET(data) Dbank->ODR = (Dbank->ODR & 0x00FF) | (data<<8) +//TODO the 0x00FF mask shouldn't be necessary as they're reserved and expected to be clear #define DATA_RD(data) data = (Dbank->IDR>>8) & 0x00FF #define DATA_EN_CLK() RCC->AHBENR |= RCC_AHBENR_DATA @@ -1391,17 +1394,42 @@ void software_AXL_CLK(); #ifdef STM_INL6 //Combine 8bit DATA0-7 and 8bit EXP1-8 +// //A16-21 are on PB10-15 these also map to EXP1-5, & 7 +// //A22-23 are on PA9-10 these also map to CIRAM A10 & CIRAM /CE respectively +// #define A16_21bank GPIOB +// #define A22_23bank GPIOA +// + //D0-7 are on PB8-15, D8-13 are on PB2-7 + // MSByte: 7654_3210 LSByte: 13-12-11-10_9-8-X-X + #define D0_13bank GPIOB //all of B except PB0-1 + //D14-15 are on PA9-10 + #define D14_15bank GPIOA + +// +// #define HADDR_PU() A16_21bank->PUPDR |= (PUPDR_PU_ALL & 0xFFF00000); A22_23bank->PUPDR |= (PUPDR_PU_ALL & 0x003C0000) +// #define HADDR_IP() A16_21bank->MODER &=~(MODER_OP_ALL & 0xFFF00000); A22_23bank->MODER &=~(MODER_OP_ALL & 0x003C0000) +// #define HADDR_OP() A16_21bank->MODER |= (MODER_OP_ALL & 0xFFF00000); A22_23bank->MODER |= (MODER_OP_ALL & 0x003C0000) +// +// #define HADDR_SET(val) A16_21bank->ODR = ((A16_21bank->ODR&0x03FF) | (val<<10 & 0xFC00)); A22_23bank->ODR = ((A22_23bank->ODR & 0xF9FF) | (val<<3 & 0x0600)) //IP and OP assume MODER[1] is clear (ie not set to Alt Func) //also assume PUPDR is reset default floating -// #define DATA16_IP_PU() DATA_IP_PU(); = ~(MODER_OP_ALL & 0xFFFF0000); Dbank->PUPDR |= (PUPDR_PU_ALL & 0xFFFF0000) -// #define DATA_IP() Dbank->MODER &= ~(MODER_OP_ALL & 0xFFFF0000) -// #define DATA_OP() Dbank->MODER |= (MODER_OP_ALL & 0xFFFF0000) -// #define DATA_SET(data) Dbank->ODR = (Dbank->ODR & 0x00FF) | (data<<8) -// #define DATA_RD(data) data = (Dbank->IDR>>8) & 0x00FF -// -// #define DATA_EN_CLK() RCC->AHBENR |= RCC_AHBENR_DATA -// #define DATA_ENABLE() DATA_EN_CLK(); DATA_IP_PU(); + #define DATA16_IP() D0_13bank->MODER &= 0x0000000F; D14_15bank->MODER &= 0xFFC3FFFF + #define DATA16_OP() D0_13bank->MODER |= (MODER_OP_ALL & 0xFFFFFFF0); D14_15bank->MODER |= (MODER_OP_ALL & 0x003C0000) + #define DATA16_PU() D0_13bank->PUPDR |= (PUPDR_PU_ALL & 0xFFFFFFF0); D14_15bank->PUPDR |= (PUPDR_PU_ALL & 0x003C0000) +// #define DATA16_IP_PU() DATA16_IP(); DATA16_PU() + +// #define DATA_SET(data) Dbank->ODR = (Dbank->ODR & 0x00FF) | (data<<8) + #define DATA16L_RD(data) data = (D0_13bank->IDR>>8)// & 0x00FF + // MSByte: 7654_3210 LSByte: 13-12-11-10_9-8-X-X + #define DATA16H_RD(data) data = ((D0_13bank->IDR>>2)&0x003F) | ((D14_15bank->IDR>>3)&0x00C0) + + #define DATA16L_SET(data) D0_13bank->ODR = (D0_13bank->ODR & 0x00FF) | (data<<8) + //TODO rethink these macros! + #define DATA16H_SET(data) D0_13bank->ODR = (D0_13bank->ODR & 0xFF03) | (data<<2); D14_15bank->ODR= (D14_15bank->ODR& 0xF9FF) | (data<<3) + + #define DATA16_EN_CLK() RCC->AHBENR |= RCC_AHBENR_DATA16 + #define DATA16_ENABLE() DATA16_EN_CLK(); DATA16_IP(); DATA16_PU() #endif //STM_INL6 diff --git a/firmware/source/sega.c b/firmware/source/sega.c index 56619e3..24769f7 100644 --- a/firmware/source/sega.c +++ b/firmware/source/sega.c @@ -3,6 +3,8 @@ //only need this file if connector is present on the device #ifdef SEGA_CONN +uint16_t sega_addr = 0; + //================================================================================================= // // SEGA operations @@ -34,11 +36,20 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * switch (opcode) { // //no return value: - case SEGA_WR: - sega_wr( operand, miscdata ); + case GEN_SET_ADDR: + sega_addr = operand; + ADDR_SET(sega_addr); + break; + case GEN_WR_LO: + sega_addr = operand; + gen_wr_lo( operand, miscdata ); + break; + case GEN_WR_HI: + sega_addr = operand; + gen_wr_hi( operand, miscdata ); break; - case SET_BANK: + case GEN_SET_BANK: temp = ADDR_CUR; //this will get stomped #define LOMEM_TIME_MASK 0x84 //A17-18, 20-23 @@ -51,12 +62,27 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * } else { IRQ_LO(); } + //use of flip-flop corrupts A1-A16, restore it + ADDR_SET(sega_addr); + break; + + case GEN_FLASH_WR_ADDROFF: + sega_addr += miscdata; + gen_flash_wr(sega_addr, operand); + break; + + case GEN_SST_FLASH_WR_ADDROFF: + sega_addr += miscdata; + gen_sst_flash_wr(sega_addr, operand); break; //8bit return values: - case SEGA_RD: - rdata[RD_LEN] = BYTE_LEN; - rdata[RD0] = sega_rd( operand ); + case GEN_ROM_RD: + sega_addr = operand; + rdata[RD_LEN] = HWORD_LEN; + temp = gen_rom_rd( operand ); + rdata[RD0] = temp; + rdata[RD1] = temp>>8; break; default: //macro doesn't exist @@ -67,19 +93,208 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * } -uint8_t sega_rd( uint16_t addr ) +uint16_t gen_rom_rd( uint16_t addr ) { - return 0xAA; + uint16_t rv; + uint8_t temp; + + ADDR_SET(addr); + + //set #C_CE + ROMSEL_LO(); + + //set #C_OE + CSRD_LO(); + + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + //6 above were working, trying more + //NOP(); + //NOP(); + //NOP(); + //NOP(); + //NOP(); + //NOP(); + + + + ////latch data high byte + //rv = HDATA_VAL; + + ////shift into upper byte + //rv = rv<<8; + + ////latch data low byte + //DATA_RD(temp); + + //rv |= temp; + DATA16H_RD(rv); + rv = rv << 8; + DATA16L_RD(temp); + rv |= temp; + + //return bus to default + CSRD_HI(); + ROMSEL_HI(); + + return rv; } -void sega_wr( uint16_t addr, uint8_t data ) +void gen_wr_lo( uint16_t addr, uint8_t data ) { - return; + + ADDR_SET(addr); + + //put data on bus + DATA_OP(); + DATA_SET(data); //lower byte D0-7 + + //set #C_CE + ROMSEL_LO(); + + //set #C_OE + //CSRD_LO(); + + //set #LDSW + PRGRW_LO(); + + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //latch data with /WE - #LDSW + PRGRW_HI(); + + //return bus to default + //CSRD_HI(); + ROMSEL_HI(); + + //Free data bus + DATA_IP(); +} + +//TODO this function is untested, but I think it'll work.. +void gen_wr_hi( uint16_t addr, uint8_t data ) +{ + + ADDR_SET(addr); + + //put data on bus + //DATA_OP(); + //DATA_SET(data); //lower byte D0-7 + + //set data bus to output +//TODO maybe want a function that only sets upper byte to output..? + DATA16_OP(); + //DATA16L_SET(data); + DATA16H_SET(data); //put 8bits of data on high byte + + //set #C_CE + ROMSEL_LO(); //enables level shifter + + //wait for data to get to flash before latching + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //set #UDSW + CSWR_LO(); + + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //latch data with /WE - #UDSW + CSWR_HI(); + + NOP(); + NOP(); + NOP(); + + //return bus to default + ROMSEL_HI(); + + //Free data bus + DATA16_IP(); } -/* Desc:SNES ROM Page Read with optional USB polling +void gen_flash_wr( uint16_t addr, uint16_t data ) +{ + + uint8_t temp = data; + + ADDR_SET(addr); + + //put data on bus + //DATA_OP(); + //DATA_SET(temp); //lower byte D0-7 + DATA16_OP(); + DATA16L_SET(data); + data = data>>8; + DATA16H_SET(data); //put 8bits of data on high byte + + //TODO figure out why this is needed... + //guessing macro expansion or something with setting both bytes separately + DATA_SET(temp); //lower byte D0-7 + +//TODO set upper byte of data + + //set #C_CE + ROMSEL_LO(); + + //set #C_OE + //flash writes must be high + //CSRD_LO(); + + //set #LDSW + //PRGRW_LO(); + // #UDSW B29 CPU D8-15 data strobe + CSWR_LO(); + + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + //6 above were working, testing more + //NOP(); + //NOP(); + //NOP(); + //NOP(); + //NOP(); + //NOP(); + + //latch data with /WE - #LDSW + //PRGRW_HI(); + CSWR_HI(); + + //return bus to default + ROMSEL_HI(); + + //Free data bus + //DATA_IP(); + DATA16_IP(); +} + +/* Desc:SEGA GENESIS ROM Page Read with optional USB polling * /ROMSEL based on romsel arg, EXP0/RESET unaffected * if poll is true calls usbdrv.h usbPoll fuction * this is needed to keep from timing out when double buffering usb data @@ -148,5 +363,95 @@ uint8_t genesis_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t l return i; } +/* Desc:SEGA GENESIS RAM Page Read with optional USB polling + * /ROMSEL based on romsel arg, EXP0/RESET unaffected + * if poll is true calls usbdrv.h usbPoll fuction + * this is needed to keep from timing out when double buffering usb data + * Pre: snes_init() setup of io pins + * num_bytes can't exceed 256B page boundary + * Post:address left on bus + * data bus left clear + * data buffer filled starting at first to last + * Rtn: Index of last byte read + */ +uint8_t genesis_ram_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t len ) +{ + uint8_t i; + + //set address bus + ADDRH(addrH); + + //set #C_CE + ROMSEL_LO(); + + //set #C_OE + CSRD_LO(); + + //set lower address bits + ADDRL(first); //doing this prior to entry and right after latching + //gives longest delay between address out and latching data + + for( i=0; i<=len; i++ ) { + + //gameboy needed some extra NOPS + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //latch data high byte + // data[i] = HDATA_VAL; + + // i++; + + //latch data low byte + DATA_RD(data[i]); + + //set lower address bits + //ADDRL(++first); THIS broke things, on stm adapter because macro expands it twice! + first++; + ADDRL(first); + } + + //return bus to default + CSRD_HI(); + ROMSEL_HI(); + + //return index of last byte read + return i; +} + +void gen_sst_flash_wr( uint16_t addr, uint16_t data ) +{ + uint16_t rv; + +//dict.sega("GEN_SET_ADDR", 0x5555) +//dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + gen_flash_wr(0x5555, 0x00AA); + +//dict.sega("GEN_SET_ADDR", 0x2AAA) +//dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + gen_flash_wr(0x2AAA, 0x0055); + +//dict.sega("GEN_SET_ADDR", 0x5555) +//dict.sega("GEN_FLASH_WR_ADDROFF", 0x00A0, 0) --write byte command + gen_flash_wr(0x5555, 0x00A0); + +//dict.sega("GEN_SET_ADDR", addr) +//dict.sega("GEN_FLASH_WR_ADDROFF", value, 0) --write value + gen_flash_wr(addr, data); + + do { + rv = gen_rom_rd(addr); + // usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != gen_rom_rd(addr)); + + return; + +} #endif //SEGA_CONN diff --git a/firmware/source/sega.h b/firmware/source/sega.h index 631222f..5eafcc0 100644 --- a/firmware/source/sega.h +++ b/firmware/source/sega.h @@ -8,9 +8,13 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ); -uint8_t sega_rd( uint16_t addr ); -void sega_wr( uint16_t addr, uint8_t data ); +uint16_t gen_rom_rd( uint16_t addr ); +void gen_wr_lo( uint16_t addr, uint8_t data ); +void gen_wr_hi( uint16_t addr, uint8_t data ); +void gen_flash_wr( uint16_t addr, uint16_t data ); +void gen_sst_flash_wr( uint16_t addr, uint16_t data ); uint8_t genesis_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t len ); +uint8_t genesis_ram_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t len ); #endif diff --git a/host/scripts/app/help.lua b/host/scripts/app/help.lua index 2e7dcbe..0d4cbfb 100644 --- a/host/scripts/app/help.lua +++ b/host/scripts/app/help.lua @@ -12,6 +12,10 @@ local function hex(data) return string.format("%X", data) end +-- file must already be open for writting in binary mode +local function file_wr_bin(file, data) + file:write(string.char( data )) +end -- global variables so other modules can use them @@ -22,6 +26,7 @@ end -- functions other modules are able to call help.hex = hex +help.file_wr_bin = file_wr_bin -- return the module's table return help diff --git a/host/scripts/nes/mmc5.lua b/host/scripts/nes/mmc5.lua index f4f3ac5..3108f61 100644 --- a/host/scripts/nes/mmc5.lua +++ b/host/scripts/nes/mmc5.lua @@ -8,6 +8,7 @@ local nes = require "scripts.app.nes" local dump = require "scripts.app.dump" local flash = require "scripts.app.flash" local buffers = require "scripts.app.buffers" +local help = require "scripts.app.help" -- file constants local mapname = "MMC5" @@ -33,14 +34,14 @@ local function init_mapper( debug ) dict.nes("NES_CPU_WR", 0x5105, 0x44) --vertical mirroring --PRG MODE --- dict.nes("NES_CPU_WR", 0x5100, 0x00) --single 32KByte bank (couldn't get this to work..) - dict.nes("NES_CPU_WR", 0x5100, 0x03) --4x 8KB banks +-- dict.nes("NES_CPU_WR", 0x5100, 0x00) --PRGbanking mode0 single 32KByte bank (couldn't get this to work..) + dict.nes("NES_CPU_WR", 0x5100, 0x03) --PRGbanking mode3 4x 8KB banks --CHR MODE dict.nes("NES_CPU_WR", 0x5101, 0x00) --single 8KByte bank --PRG-RAM bank - dict.nes("NES_CPU_WR", 0x5113, 0x00) --PRG-RAM bank @ $6000-7FFF (mode0) + dict.nes("NES_CPU_WR", 0x5113, 0x00) --PRG-RAM bank @ $6000-7FFF (regardless of PRG mode) --PRG-ROM bank -- dict.nes("NES_CPU_WR", 0x5117, 0x00) --PRG-ROM bank @ $8000-FFFF (mode0) bits 1&0 don't matter (CPU A14/13) @@ -129,8 +130,7 @@ local function dump_prgrom( file, rom_size_KB, debug ) read_count = read_count + 1 end -end - +end --dump the CHR ROM local function dump_chrrom( file, rom_size_KB, debug ) @@ -161,20 +161,131 @@ local function dump_wram( file, rom_size_KB, debug ) local KB_per_read = 8 local num_reads = rom_size_KB / KB_per_read local read_count = 0 - local addr_base = 0x60 -- $6000 + --local addr_base = 0x60 -- $6000 + local addr_base = 0x06 -- lower nibble for 4KB + --debugging reads +-- local rv = dict.nes("NES_CPU_RD", 0x600B) +-- print("600B:", help.hex(rv)) +-- rv = dict.nes("NES_CPU_RD", 0x600C) +-- print("600C:", help.hex(rv)) +-- rv = dict.nes("NES_CPU_RD", 0x600D) +-- print("600D:", help.hex(rv)) + + ---[[ while ( read_count < num_reads ) do + --select the RAM bank with $5113 register + dict.nes("NES_CPU_WR", 0x5113, read_count) --PRG-RAM bank @ $6000-7FFF (regardless of PRG mode) + if debug then print( "dump WRAM part ", read_count, " of ", num_reads) end - dump.dumptofile( file, KB_per_read, addr_base, "NESCPU_PAGE", false ) + --dump.dumptofile( file, KB_per_read, addr_base, "NESCPU_PAGE", false ) + dump.dumptofile( file, KB_per_read, addr_base, "NESCPU_4KB_TOGGLE", false ) read_count = read_count + 1 end + --]] + + --[[ + --read 1 Byte at a time from the host side + local rv + local addr = 0x6000 + while ( addr < 0x8000 ) do + rv = dict.nes("NES_CPU_RD", addr) + -- print(help.hex(addr), help.hex(rv)) +-- file:write(string.char( rv )) + help.file_wr_bin(file, rv) + addr = addr+1 + end + ]]-- end +--write to the WRAM, assumes the WRAM was enabled/disabled as desired prior to calling +local function write_ram(file, ram_size_KB, debug) + +-- init_mapper() + + --test some bytes + --wr_prg_flash_byte(0x0000, 0xA5, true) + --wr_prg_flash_byte(0x0FFF, 0x5A, true) + + print("\nProgramming PRG-RAM") + --initial testing of MMC3 with no specific MMC3 flash firmware functions 6min per 256KByte = 0.7KBps + + + local base_addr = 0x6000 --writes occur $6000-7FFF + local bank_size = 8*1024 --MMC5 8KByte per RAM bank + local buff_size = 1 --number of bytes to write at a time + local cur_bank = 0 + local total_banks = ram_size_KB*1024/bank_size + + local byte_num --byte number gets reset for each bank + local byte_str, data, readdata + local rv + local timout + + + while cur_bank < total_banks do + + if (cur_bank %8 == 0) then + print("writting RAM bank: ", cur_bank, " of ", total_banks-1) + end + + --write the current bank to the mapper register + --DATA writes written to $6000-7FFF + dict.nes("NES_CPU_WR", 0x5113, cur_bank) --PRG-RAM bank @ $6000-7FFF (regardless of PRG mode) + + + --program the entire bank's worth of data + + ---[[ This version of the code programs a single byte at a time but doesn't require + -- MMC3 specific functions in the firmware + --print("This is slow as molasses, but gets the job done") + byte_num = 0 --current byte within the bank + while byte_num < bank_size do + + --read next byte from the file and convert to binary + byte_str = file:read(buff_size) + data = string.unpack("B", byte_str, 1) + + --write the data + --SLOWEST OPTION: no firmware MMC3 specific functions 100% host flash algo: + --wr_prg_flash_byte(base_addr+byte_num, data, false) --0.7KBps + + --need to quickly write the byte after unlocking the PRG-RAM + --before the 11.2usec timeout happens + rv = dict.nes("MMC5_PRG_RAM_WR", base_addr+byte_num, data) --3.8KBps (5.5x faster than above) + + if (rv == data) then + --write succeeded + timeout = 0 + else + print("PRG-RAM byte failed to write, retrying") + rv = dict.nes("MMC5_PRG_RAM_WR", base_addr+byte_num, data) --3.8KBps (5.5x faster than above) + if (rv ~= data) then + print("FAILED on RETRY...") + end + end + + byte_num = byte_num + 1 + end + --]] + + --Have the device write a banks worth of data + --FAST! 13sec for 512KB = 39KBps + --flash.write_file( file, bank_size/1024, mapname, "PRGROM", false ) + --flash.write_file( file, bank_size/1024, "NOVAR", "PRGRAM", false ) + + cur_bank = cur_bank + 1 + end + + print("Done Programming PRG-RAM") + +end + --Cart should be in reset state upon calling this function --this function processes all user requests for this specific board/mapper @@ -276,16 +387,31 @@ local function process(process_opts, console_opts) --disable write protection, and enable WRAM --for save data safety start by disabling WRAM writes - dict.nes("NES_CPU_WR", 0x5102, 0x02) --bits 1&0 must be '01' (ie 0x02) to allow writes to WRAM - dict.nes("NES_CPU_WR", 0x5103, 0x01) --bits 1&0 must be '10' (ie 0x01) to allow writes to WRAM + -- dict.nes("NES_CPU_WR", 0x5102, 0x02) --bits 1&0 must be '01' (ie 0x02) to allow writes to WRAM + -- dict.nes("NES_CPU_WR", 0x5103, 0x01) --bits 1&0 must be '10' (ie 0x01) to allow writes to WRAM + + --test with 1 Byte +-- local addr = 0x600C +-- local rv = dict.nes("NES_CPU_RD", addr) +-- print(help.hex(addr), ":", help.hex(rv)) +-- dict.nes("NES_CPU_WR", addr, 0xAA) +-- rv = dict.nes("NES_CPU_RD", addr) +-- print(help.hex(addr), ":", help.hex(rv)) + +-- rv = dict.nes("NES_CPU_RD", 0x600C) +-- print("600C:", help.hex(rv)) +-- rv = dict.nes("NES_CPU_RD", 0x600D) +-- print("600D:", help.hex(rv)) file = assert(io.open(ramwritefile, "rb")) - flash.write_file( file, wram_size, "NOVAR", "PRGRAM", false ) + write_ram(file, wram_size, true) + --flash.write_file( file, wram_size, "NOVAR", "PRGRAM", false ) + --flash.write_file( file, wram_size, "MMC5", "PRGRAM", false ) --for save data safety disable WRAM writes - dict.nes("NES_CPU_WR", 0x5102, 0x01) --bits 1&0 must be '01' (ie 0x02) to allow writes to WRAM - dict.nes("NES_CPU_WR", 0x5103, 0x02) --bits 1&0 must be '10' (ie 0x01) to allow writes to WRAM + -- dict.nes("NES_CPU_WR", 0x5102, 0x01) --bits 1&0 must be '01' (ie 0x02) to allow writes to WRAM + -- dict.nes("NES_CPU_WR", 0x5103, 0x02) --bits 1&0 must be '10' (ie 0x01) to allow writes to WRAM --close file assert(file:close()) diff --git a/host/scripts/sega/genesis_v2.lua b/host/scripts/sega/genesis_v2.lua index 3e88f61..e14f256 100644 --- a/host/scripts/sega/genesis_v2.lua +++ b/host/scripts/sega/genesis_v2.lua @@ -1,98 +1,17 @@ -- create the module's table -local genesis_v2 = {} +local genesis_v2= {} -- import required modules local dict = require "scripts.app.dict" local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local help = require "scripts.app.help" -- file constants -- local functions - --- Desc: attempt to read flash rom ID --- Pre: snes_init() been called to setup i/o --- Post:Address left on bus memories disabled --- Rtn: true if proper flash ID found -local function rom_manf_id( debug ) - - local rv - --enter software mode A11 is highest address bit that needs to be valid - --datasheet not exactly explicit, A11 might not need to be valid - --part has A-1 (negative 1) since it's in byte mode, meaning the part's A11 is actually A12 - --exit software mode/reset chip incase locked up - dict.sega("SET_ADDR", 0x0555) - dict.sega("SEGA_WR", 0x00AA) - - dict.bootload("SET_PTR_HI", 0x4800) - dict.bootload("SET_PTR_LO", 0x0000) - - rv = dict.bootload("RD_PTR_OFFSET", 0x0001) --read upper half word of register - print("PORT A hi:", string.format("%X", rv)) - rv = dict.bootload("RD_PTR_OFFSET", 0x0000) - print("PORT A lo:", string.format("%X", rv)) - rv = dict.bootload("RD_PTR_OFFSET", 0x0401) --read upper half word of register - print("PORT B hi:", string.format("%X", rv)) - rv = dict.bootload("RD_PTR_OFFSET", 0x0400) - print("PORT B lo:", string.format("%X", rv)) - - rv = dict.bootload("RD_PTR_OFFSET", 0x0414) --ODR PORTB - print("PORT B ODR:", string.format("%X", rv)) - rv = dict.bootload("RD_PTR_OFFSET", 0x0014) --ODR PORTA - print("PORT A ODR:", string.format("%X", rv)) - - rv = dict.bootload("RD_PTR_OFFSET", 0x0410) - print("PORT B IDR:", string.format("%X", rv)) - rv = dict.bootload("RD_PTR_OFFSET", 0x0010) - print("PORT A IDR:", string.format("%X", rv)) - - - dict.sega("SET_ADDR", 0x02AA) - dict.sega("SEGA_WR", 0x0055) - - dict.sega("SET_ADDR", 0x0555) - dict.sega("SEGA_WR", 0x0090) - --- --WR $AAA:AA $555:55 $AAA:AA --- dict.sega("SNES_SET_BANK", 0x00) --- --- dict.sega("SNES_ROM_WR", 0x8AAA, 0xAA) --- dict.sega("SNES_ROM_WR", 0x8555, 0x55) --- dict.sega("SNES_ROM_WR", 0x8AAA, 0x90) - - --read manf ID - local manf_id = dict.sega("SEGA_RD", 0x0000) --0x01 Cypress Manf ID - -- 0xBF SST Manf ID - if debug then print("attempted read SNES ROM manf ID:", string.format("%X", manf_id)) end - - --read prod ID - local prod_id = dict.sega("SEGA_RD", 0x0001) --0x7E Prod ID S29GL - --SST x16 0x235D or 0x235C product ID - if debug then print("attempted read SNES ROM prod ID:", string.format("%X", prod_id)) end - --- local density_id = dict.sega("SEGA_RD", 0x801C) --density 0x10=8MB 0x1A=4MB --- if debug then print("attempted read SNES density ID: ", string.format("%X", density_id)) end --- --- local boot_sect = dict.sega("SEGA_RD", 0x801E) --boot sector 0x00=top 0x01=bottom --- if debug then print("attempted read SNES boot sect ID:", string.format("%X", boot_sect)) end --- --- --exit software --- dict.sega("SNES_ROM_WR", 0x8000, 0xF0) --- --- --return true if detected flash chip --- if (manf_id == 0x01 and prod_id == 0x49) then --- print("2MB flash detected") --- return true --- elseif (manf_id == 0x01 and prod_id == 0x7E) then --- print("4-8MB flash detected") --- return true --- else --- return false --- end - -end - local function unsupported(operation) print("\nUNSUPPORTED OPERATION: \"" .. operation .. "\" not implemented yet for Sega Genesis.\n") end @@ -137,7 +56,7 @@ local function dump_rom( file, rom_size_KB, debug ) end -- Select desired bank. - dict.sega("SET_BANK", read_count) + dict.sega("GEN_SET_BANK", read_count) dump.dumptofile(file, KB_per_bank/2, addr_base, "GENESIS_ROM_PAGE0", debug) dump.dumptofile(file, KB_per_bank/2, addr_base, "GENESIS_ROM_PAGE1", debug) @@ -239,7 +158,7 @@ end -- Reads and parses internal ROM header from first page of data. local function read_header() - dict.sega("SET_BANK", 0) + dict.sega("GEN_SET_BANK", 0) local page0_data = "" dump.dumptocallback( @@ -255,49 +174,486 @@ end -- Test that cartridge is readable by looking for valid entries in internal header. local function test(genesis_header) - local valid = false + + ---[[ + --test some functions + --read "SEGA" from the in rom header + dict.sega("GEN_SET_BANK", 0) + local temp + temp = dict.sega("GEN_ROM_RD", (0x0100>>1)) + print(help.hex(temp)) --"SE" + print(string.char(temp>>8)) --"S" + print(string.char(temp&0x00FF)) --"E" + temp = dict.sega("GEN_ROM_RD", (0x0102>>1)) + print(help.hex(temp)) --"GA" + print(string.char(temp>>8)) --"G" + print(string.char(temp&0x00FF)) --"A" + + --flash manf ID + print("flash write") + dict.sega("GEN_SET_BANK", 0) + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0090, 0) + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + temp = dict.sega("GEN_ROM_RD", (0x0002>>1)) + print(help.hex(temp)) --"SE" + + print("HI write") + dict.sega("GEN_WR_HI", 0x5555, 0xAA) --A16-1 + dict.sega("GEN_WR_HI", 0x2AAA, 0x55) --A16-1 + dict.sega("GEN_WR_HI", 0x5555, 0x90) --A16-1 + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + temp = dict.sega("GEN_ROM_RD", (0x0002>>1)) + print(help.hex(temp)) --"SE" + + --exit software mode + print("exit software mode") + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00F0, 0) + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + + + --write a byte + --[[ + print("write a byte $0000, AAAA") + dict.sega("GEN_SET_BANK", 0) + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00A0, 0) --write byte command + + dict.sega("GEN_SET_ADDR", 0x0000) + dict.sega("GEN_FLASH_WR_ADDROFF", 0xAAAA, 0) --write data + + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + local nak = 1 + while (temp ~= dict.sega("GEN_ROM_RD", (0x0000>>1))) do + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + nak = nak + 1 + end + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print("FINAL DATA", help.hex(temp)) --"SE" + + local addr = 0x0001 + local data = 0x5555 + print("write a byte", addr, data ) + dict.sega("GEN_SET_BANK", 0) + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00A0, 0) --write byte command + + dict.sega("GEN_SET_ADDR", addr) + dict.sega("GEN_FLASH_WR_ADDROFF", data, 0) --write data + + temp = dict.sega("GEN_ROM_RD", (addr)) + local nak = 1 + while (temp ~= dict.sega("GEN_ROM_RD", (addr))) do + temp = dict.sega("GEN_ROM_RD", (addr)) + print(help.hex(temp)) --"SE" + nak = nak + 1 + end + temp = dict.sega("GEN_ROM_RD", (addr)) + print("FINAL DATA", help.hex(temp)) --"SE" + --]] + + + --[[ + --read ram from wayne gretzky + dict.sega("GEN_SET_BANK", 0x20>>1) + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + --print(string.char(temp>>8)) --"S" + print(string.char(temp&0x00FF)) --"E" + --temp = dict.sega("GEN_ROM_RD", (0x0002>>1)) + --print(help.hex(temp)) --"GA" + ----print(string.char(temp>>8)) --"G" + --print(string.char(temp&0x00FF)) --"A" + + --dict.sega("GEN_SET_ADDR", 0x0000) --A16-1 + dict.sega("GEN_WR_LO", 0x0000, 0xAA) --A16-1 + temp = dict.sega("GEN_ROM_RD", (0x0000>>1)) + print(help.hex(temp)) --"SE" + print(string.char(temp&0x00FF)) --"E" + --]] + + + --local valid = false + local valid = true --force good -- Trailing spaces are required! Field length is 16 characters. if genesis_header["console_name"] == "SEGA GENESIS " then valid = true end if genesis_header["console_name"] == "SEGA MEGA DRIVE " then valid = true end return valid end + +--dump the SEGA battery RAM starting at the provided bank +local function dump_ram( file, start_bank, ram_size_KB, debug ) + + local KB_per_bank = 64 --128KByte addressable per bank, but only use lower byte of each 16bit word + local addr_base = 0x00 --A15-8 address of ram start + +-- --determine max ram per bank and base address +-- if (mapping == lorom_name) then +-- KB_per_bank = 32 -- LOROM has 32KB per bank +-- addr_base = 0x00 -- $0000 LOROM RAM start address +-- elseif (mapping == hirom_name) then +-- KB_per_bank = 8 -- HIROM has 8KB per bank +-- addr_base = 0x60 -- $6000 HIROM RAM start address +-- else +-- print("ERROR! mapping:", mapping, "not supported by dump_ram") +-- end +-- + local num_banks =1-- = ram_size_KB / KB_per_bank +-- +-- --determine how much ram to read per bank +-- if ram_size_KB == nil then ram_size_KB = 0 end +-- if (ram_size_KB < KB_per_bank) then +-- num_banks = 1 +-- KB_per_bank = ram_size_KB +-- else +-- num_banks = ram_size_KB / KB_per_bank +-- end +-- + local read_count = 0 + + while ( read_count < num_banks ) do + + if debug then print( "dump RAM part ", read_count, " of ", num_banks) end + + --select desired bank + --A17-23 + dict.sega("GEN_SET_BANK", start_bank+read_count) + + -- if (mapping == lorom_name) then --LOROM sram is inside /ROMSEL space + -- dump.dumptofile( file, KB_per_bank, addr_base, "SNESROM_PAGE", false ) + -- else -- HIROM is outside of /ROMSEL space + -- dump.dumptofile( file, KB_per_bank, addr_base, "SNESSYS_PAGE", false ) + -- end + -- + --currently don't have means of dumping RAM with A16 high + --dump.dumptofile(file, KB_per_bank/2, addr_base, "GENESIS_RAM_PAGE", debug) --A16 low + dump.dumptofile(file, 8, addr_base, "GENESIS_RAM_PAGE", debug) --A16 low +-- dump.dumptofile(file, KB_per_bank/2, addr_base, "GENESIS_ROM_PAGE1", debug) --A16 high + + read_count = read_count + 1 + end + +end + +--write to the WRAM, assumes the WRAM was enabled/disabled as desired prior to calling +local function write_ram(file, ram_size_KB, debug) + +-- init_mapper() + + --test some bytes + --wr_prg_flash_byte(0x0000, 0xA5, true) + --wr_prg_flash_byte(0x0FFF, 0x5A, true) + + print("\nProgramming battery SRAM") + --initial testing of MMC3 with no specific MMC3 flash firmware functions 6min per 256KByte = 0.7KBps + + + local base_addr = 0x0000 --writes occur $6000-7FFF + local bank_size = 8*1024 --8KByte RAM chip + local buff_size = 1 --number of bytes to write at a time + local cur_bank = 0 +-- local total_banks = ram_size_KB*1024/bank_size + + local byte_num --byte number gets reset for each bank + local byte_str, data, readdata + local rv + local timout + + + --while cur_bank < total_banks do + +-- if (cur_bank %8 == 0) then +-- print("writting RAM bank: ", cur_bank, " of ", total_banks-1) +-- end + + --write the current bank to the mapper register + --DATA writes written to $6000-7FFF + -- dict.nes("NES_CPU_WR", 0x5113, cur_bank) --PRG-RAM bank @ $6000-7FFF (regardless of PRG mode) + dict.sega("GEN_SET_BANK", (0x20>>1)) + + + --program the entire bank's worth of data + + ---[[ This version of the code programs a single byte at a time but doesn't require + -- MMC3 specific functions in the firmware + --print("This is slow as molasses, but gets the job done") + byte_num = 0 --current byte within the bank + while byte_num < bank_size do + + --read next byte from the file and convert to binary + byte_str = file:read(buff_size) + data = string.unpack("B", byte_str, 1) + + --write the data + --SLOWEST OPTION: no firmware MMC3 specific functions 100% host flash algo: + --wr_prg_flash_byte(base_addr+byte_num, data, false) --0.7KBps + + --need to quickly write the byte after unlocking the PRG-RAM + --before the 11.2usec timeout happens + rv = dict.sega("GEN_WR_LO", base_addr+byte_num, data) + + --if (rv == data) then + -- --write succeeded + -- timeout = 0 + --else + -- print("PRG-RAM byte failed to write, retrying") + -- rv = dict.nes("MMC5_PRG_RAM_WR", base_addr+byte_num, data) --3.8KBps (5.5x faster than above) + -- if (rv ~= data) then + -- print("FAILED on RETRY...") + -- end + --end + + byte_num = byte_num + 1 + end + --]] + + --Have the device write a banks worth of data + --FAST! 13sec for 512KB = 39KBps + --flash.write_file( file, bank_size/1024, mapname, "PRGROM", false ) + --flash.write_file( file, bank_size/1024, "NOVAR", "PRGRAM", false ) + +-- cur_bank = cur_bank + 1 +-- end + + print("Done Programming SAVE RAM") + +end + +--write a single byte to SNES ROM flash +--writes to currently selected bank address +local function wr_flash_byte(addr, value, debug) + + if (addr < 0x0000 or addr > 0xFFFF) then + print("\n ERROR! flash write to SEGA GENESIS", string.format("$%X", addr), "must be $0000-FFFF \n\n") + return + end + + --send unlock command and write byte + --dict.snes("SNES_ROM_WR", 0x8AAA, 0xAA) + --dict.snes("SNES_ROM_WR", 0x8555, 0x55) + --dict.snes("SNES_ROM_WR", 0x8AAA, 0xA0) + --dict.snes("SNES_ROM_WR", addr, value) + + if debug then print("write a byte", help.hex(addr), help.hex(value) ) end + --dict.sega("GEN_SET_BANK", 0) + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00A0, 0) --write byte command + + dict.sega("GEN_SET_ADDR", addr) + dict.sega("GEN_FLASH_WR_ADDROFF", value, 0) --write value + +-- temp = dict.sega("GEN_ROM_RD", (addr)) +-- local nak = 1 +-- while (temp ~= dict.sega("GEN_ROM_RD", (addr))) do +-- temp = dict.sega("GEN_ROM_RD", (addr)) +-- print(help.hex(temp)) --"SE" +-- nak = nak + 1 +-- end +-- temp = dict.sega("GEN_ROM_RD", (addr)) +-- print("FINAL DATA", help.hex(temp)) --"SE" + + local rv = dict.sega("GEN_ROM_RD", (addr)) + + local i = 0 + + while ( rv ~= value ) do + rv = dict.sega("GEN_ROM_RD", (addr)) + --if debug then print("post write read:", help.hex(rv)) end + i = i + 1 + if i > 20 then + print("failed write, tried:", string.format("%X",value), "read back value:", string.format("%X",rv)) + return + end + end + if debug then print(i, "naks, done writing byte.") end + if debug then print("written value:", string.format("%X",value), "verified value:", string.format("%X",rv)) end + + --TODO handle timeout for problems + + --TODO return pass/fail/info +end + + +local function flash_rom(file, rom_size_KB, debug) + + print("\nProgramming ROM flash") + + --test some bytes +-- dict.sega("GEN_SET_BANK", 0x00) wr_flash_byte(0x0000, 0xAAAA, true) wr_flash_byte(0x0001, 0x5555, true) +-- dict.sega("GEN_SET_BANK", 0x00) wr_flash_byte(0x0002, 0x0000, true) wr_flash_byte(0x0003, 0xC3C3, true) +-- dict.sega("GEN_SET_BANK", 0x00) wr_flash_byte(0x0004, 0xDEAD, true) wr_flash_byte(0x0005, 0xBEEF, true) +-- dict.sega("GEN_SET_BANK", 0x00) wr_flash_byte(0x0006, 0x3333, true) wr_flash_byte(0x0007, 0xCCCC, true) +-- --last of 512KB +-- if true then return end + + --most of this is overkill for NROM, but it's how we want to handle things for bigger mappers + local base_addr = 0x0000 + local bank_size = 2*64*1024 --2Bytes per address, 64K addresses + local buff_size = 1 --number of bytes to read from file at a time + local cur_bank = 0 + +-- if (mapping==lorom_name) then +-- base_addr = 0x8000 --writes occur $8000-FFFF +-- bank_size = 32*1024 --SNES LOROM 32KB per ROM bank +-- elseif (mapping==hirom_name) then +-- base_addr = 0x0000 --writes occur $0000-FFFF +-- bank_size = 64*1024 --SNES HIROM 64KB per ROM bank +-- else +-- print("ERROR!! mapping:", mapping, "not supported") +-- end + + local total_banks = rom_size_KB*1024/bank_size + + local byte_num --byte number gets reset for each bank + local byte_str, data, readdata + + while cur_bank < total_banks do + + if (cur_bank %4 == 0) then + print("writting ROM bank: ", cur_bank, " of ", total_banks-1) + end + + --select the current bank + if (cur_bank <= 0x7F) then + --dict.sega("GEN_SET_BANK", (cur_bank>>1)) --genesis bank is off by 1 due to lack of A0 + dict.sega("GEN_SET_BANK", (cur_bank)) --Don't think that's acutally true this bank is true INLretro bank + else + print("\n\nERROR!!!! SEGA bank cannot exceed 0x7F, it was:", string.format("0x%X",cur_bank)) + return + end + + + --program the entire bank's worth of data + + ---[[ This version of the code programs a single byte at a time but doesn't require + -- board specific functions in the firmware + print("This is slow as molasses, but gets the job done") + + --SET ADDR so FLASH_WR_ADDROFF works + dict.sega("GEN_SET_ADDR", 0xFFFF) + + byte_num = 0 --current byte within the bank + while byte_num < bank_size do + + --read next byte from the file and convert to binary + byte_str = file:read(buff_size) --high byte + data = string.unpack("B", byte_str, 1) + --print(help.hex(data)) + data = data<<8 + --print(help.hex(data)) + byte_str = file:read(buff_size) --low byte + data = data + string.unpack("B", byte_str, 1) + --print(help.hex(data)) + + --write the data + --SLOWEST OPTION: no firmware specific functions 100% host flash algo: + --wr_flash_byte(((base_addr+byte_num)>>1), data, false) --0.7KBps + --EASIEST FIRMWARE SPEEDUP: 5x faster, create firmware write byte function: + dict.sega("GEN_SST_FLASH_WR_ADDROFF", data, 1) + + --if (verify) then + -- readdata = dict.nes("NES_CPU_RD", base_addr+byte_num) + -- if readdata ~= data then + -- print("ERROR flashing byte number", byte_num, " in bank",cur_bank, " to flash ", data, readdata) + -- end + --end + + byte_num = byte_num + 2 --2 Bytes per write + end + --]] + + --Have the device write a banks worth of data + -- if (mapping == lorom_name) then + -- flash.write_file( file, bank_size/1024, "LOROM_3VOLT", "SNESROM", false ) + -- else + -- flash.write_file( file, bank_size/1024, "HIROM_3VOLT", "SNESROM", false ) + -- end + + --flash.write_file( file, bank_size/1024, "HIROM_3VOLT", "GENESISROM", false ) + --TODO define different flash part types + --flash.write_file( file, bank_size/1024, 0, "GENESISROM", false ) + + cur_bank = cur_bank + 1 + end + + print("Done Programming ROM flash") + +end + --Cart should be in reset state upon calling this function --this function processes all user requests for this specific board/mapper local function process(process_opts, console_opts) local file + -- Use specified ram size if provided, otherwise autodetect. + local ram_size = console_opts["wram_size_kb"] + local ramdumpfile = process_opts["dumpram_filename"] + --local flashfile = process_opts["flash_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + local rom_size = console_opts["rom_size_kbyte"] + -- Initialize device i/o for SEGA dict.io("IO_RESET") dict.io("SEGA_INIT") --- local genesis_header = read_header() + local genesis_header = read_header() if process_opts["test"] then -- If garbage data is in the header, it's a waste of time trying to proceed doing anything else. - -- local valid_header = test(genesis_header) - -- if valid_header ~= true then print("Unreadable cartridge - exiting! (Try cleaning cartridge connector?)") end - -- assert(valid_header) - -- print_header(genesis_header) - - print("geny flash cart test") - dict.sega("SET_BANK", 0) - print(dict.sega("SEGA_RD", 0x0120)) - print(dict.sega("SEGA_RD", 0x0122)) - print(dict.sega("SEGA_RD", 0x0124)) - print(dict.sega("SEGA_RD", 0x0090)) --read "SONIC" from 0x0120 >> 1 - print(dict.sega("SEGA_RD", 0x0091)) - print(dict.sega("SEGA_RD", 0x0092)) - - - --dict.sega("SET_ADDR", 0) - - rom_manf_id(true) - + local valid_header = test(genesis_header) + if valid_header ~= true then print("Unreadable cartridge - exiting! (Try cleaning cartridge connector?)") end + assert(valid_header) + print_header(genesis_header) end -- TODO: dump the ram to file - if dumpram then - unsupported("dumpram") + if process_opts["dumpram"] then + --unsupported("dumpram") + print("dumping save RAM") + + + file = assert(io.open(ramdumpfile, "wb")) + + --dump cart into file + local rambank = (0x20>>1) --A17-23 wayne gretsky RAM starts at bank $20>>1 + + dump_ram(file, rambank, ram_size, true) + + --may disable SRAM by placing /RESET low + + --close file + assert(file:close()) + + print("DONE Dumping SAVE RAM") end -- Dump the cart to dumpfile. @@ -328,19 +684,70 @@ local function process(process_opts, console_opts) end end - -- TODO: erase the cart if process_opts["erase"] then - unsupported("erase") + -- unsupported("erase") + --erase the cart + print("erasing SST flash cart") + dict.sega("GEN_SET_BANK", 0) + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0080, 0) --ERASE + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x00AA, 0) --ERASE + + dict.sega("GEN_SET_ADDR", 0x2AAA) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0055, 0) --ERASE + + dict.sega("GEN_SET_ADDR", 0x5555) + dict.sega("GEN_FLASH_WR_ADDROFF", 0x0010, 0) --ERASE + + + temp = dict.sega("GEN_ROM_RD", (0)) + local nak = 1 + while (temp ~= dict.sega("GEN_ROM_RD", (0))) do + temp = dict.sega("GEN_ROM_RD", (0)) + --print(help.hex(temp)) --"SE" + nak = nak + 1 + end + temp = dict.sega("GEN_ROM_RD", (0)) + print("DONE ERASING, FINAL DATA", help.hex(temp)) --"SE" end -- TODO: write to wram on the cart - if writeram then - unsupported("writeram") + --if writeram then + if process_opts["writeram"] then + --unsupported("writeram") + print("\nWritting to WRAM...") + + file = assert(io.open(process_opts["writeram_filename"], "rb")) + --write_ram(file, ram_size_KB, debug) + write_ram(file, ram_size, true) + + assert(file:close()) + + print("DONE Writting WRAM") end -- TODO: program flashfile to the cart if process_opts["program"] then - unsupported("program") + --unsupported("program") + + --open file + file = assert(io.open(flashfile, "rb")) + --determine if auto-doubling, deinterleaving, etc, + --needs done to make board compatible with rom + + --flash cart + flash_rom(file, rom_size, true) + + --close file + assert(file:close()) end -- TODO: verify flashfile is on the cart diff --git a/shared/shared_dict_buffer.h b/shared/shared_dict_buffer.h index 618e424..12fa463 100644 --- a/shared/shared_dict_buffer.h +++ b/shared/shared_dict_buffer.h @@ -105,6 +105,7 @@ #define PRGRAM 0x12 #define SNESROM 0x13 #define SNESRAM 0x14 + #define GENESISROM 0x15 //Read specific sections of memory map // 4KB/1KB naming designates the granularity of the starting address @@ -130,6 +131,7 @@ #define NESPPU_1KB_TOGGLE 0x31 //similar to PPU page read but /RD signal toggles with each read #define NESCPU_4KB_TOGGLE 0x32 //similar to CPU page read but M2 toggles with each read + #define GENESIS_RAM_PAGE 0x33 //bank address A17-23 must have been latched already //operand LSB //SST 39SF0x0 manf/prod IDs diff --git a/shared/shared_dict_nes.h b/shared/shared_dict_nes.h index b7b54b6..f8d3ee3 100644 --- a/shared/shared_dict_nes.h +++ b/shared/shared_dict_nes.h @@ -80,6 +80,7 @@ //being used to write to 3v tssop flash #define MMC3S_PRG_FLASH_WR 0x26 //TODO set return lengths for all these functions + //============================================================================================= // OPCODES WITH OPERAND AND RETURN VALUE plus SUCCESS/ERROR_CODE //============================================================================================= @@ -110,4 +111,7 @@ #define GET_BANK_TABLE 0x86 //RL=4 16bit value so 2 bytes need returned #define GET_NUM_PRG_BANKS 0x87 //RL=3 +#define MMC5_PRG_RAM_WR 0x88 //RL=3 Enable writting to PRG-RAM and then write a single byte + //after written read back for verification as a timeout would cause fail + #endif diff --git a/shared/shared_dict_sega.h b/shared/shared_dict_sega.h index a5f9141..ac698e5 100644 --- a/shared/shared_dict_sega.h +++ b/shared/shared_dict_sega.h @@ -17,12 +17,23 @@ //============================================================================================= //TODO THESE ARE JUST PLACE HOLDERS... -#define SEGA_RD 0 //RL=3 return error code, data len = 1, 1 byte of data -#define SEGA_WR 1 +//oper=A1-15 update firmware address variable for FLASH_WR_ADDROFF use on subsequent calls +#define GEN_SET_ADDR 0 +//oper=A1-A16 C_CE & C_OE go low (update firmware address var ie GEN_SET_ADDR) +#define GEN_ROM_RD 1 //RL=4 return error code, data len = 1, 2 byte of data (16bit word) // GENESIS ADDR A17-23 along with #LO_MEM & #TIME // TODO separate #LO_MEM & #TIME, they're currently fixed high -#define SET_BANK 2 +#define GEN_SET_BANK 2 +//miscdata=D0-7, oper=A1-A16 C_CE & C_OE go low, #LDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_WR_LO 3 +//miscdata=D8-15, oper=A1-A16 C_CE & C_OE go low, #UDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_WR_HI 4 +//oper=D0-D15, miscdata=addroffset C_CE & C_OE go low, #UDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_FLASH_WR_ADDROFF 5 + + +#define GEN_SST_FLASH_WR_ADDROFF 6 #endif