diff --git a/firmware/build_avr/avr_kazzo.elf b/firmware/build_avr/avr_kazzo.elf index 3a56b83..5a612a8 100644 Binary files a/firmware/build_avr/avr_kazzo.elf and b/firmware/build_avr/avr_kazzo.elf differ diff --git a/firmware/build_avr/avr_kazzo.hex b/firmware/build_avr/avr_kazzo.hex index 9d12ef5..046cb3a 100644 --- a/firmware/build_avr/avr_kazzo.hex +++ b/firmware/build_avr/avr_kazzo.hex @@ -1,4 +1,4 @@ -:100000000C9476000C94E0180C9493000C949300DC +:100000000C9476000C942D190C9493000C9493008E :100010000C9493000C9493000C9493000C94930014 :100020000C9493000C9493000C9493000C94930004 :100030000C9493000C9493000C9493000C949300F4 @@ -13,10 +13,10 @@ :1000C00049006E00660069006E00690074006500FA :1000D0004E00650073004C006900760065007300F7 :1000E0002E0063006F006D000403090411241FBE7D -:1000F000CFEFD4E0DEBFCDBF11E0A0E0B1E0EEE491 +:1000F000CFEFD4E0DEBFCDBF11E0A0E0B1E0E8EE8D :10010000F4E302C005900D92A630B107D9F723E0C1 -:10011000A6E0B1E001C01D92A83EB207E1F70E943F -:10012000F4190C94251A0C94000080E008950F93A4 +:10011000A6E0B1E001C01D92A93EB207E1F70E943E +:10012000411A0C94721A0C94000080E008950F9309 :100130001F93CF93DF93EC01FB01D90100914D0197 :1001400010914E01888187FF09C08E818C934423D2 :1001500099F00481158180E883831DC08FEF8C9313 @@ -29,13 +29,13 @@ :1001C0008083E0916903F0916A030480F581E02D5A :1001D0008D818183E0916903F0916A0387818E5F4D :1001E0008783C801DF91CF911F910F910895803DC2 -:1001F00011F41C92CCCF8FEF8C9380E10E94CC1134 +:1001F00011F41C92CCCF8FEF8C9380E10E942412DB :10020000C6CFE0912501F09126018381811106C0BE :10021000F0936A03E093690380E9B8CF883969F7FE :10022000E8CFE9E5F1E08FEF819391E0E936F90756 :10023000D9F780934C0180932B0180934B018093DD :100240002A0180933C018093180180933B018093A5 -:10025000170181E00C94CC11CF93DF93FC0150E0A7 +:10025000170181E00C942412CF93DF93FC0150E04E :10026000CA01820F911D4197E4F52223E1F18381B8 :100270008F3FD9F582818F3FD1F5DA01A75ABE4F62 :10028000ED0180E099919F3FA1F58F5F2813FACF90 @@ -83,22 +83,22 @@ :1005200021E08934920769F021E08832920761F076 :1005300021E08933920759F021E08531920769F76C :10054000DBCF88E291E0089589E391E0089585E1A9 -:1005500091E008951F93CF93DF930E94D211823DC3 +:1005500091E008951F93CF93DF930E942A12823D6A :1005600009F071C00E945B028093060189E491E06A -:1005700090932601809325010E94D211823DA1F41F +:1005700090932601809325010E942A12823DA1F4C6 :10058000D09106018091250190912601C1E0CD17FF :1005900008F45FC0909326018093250120E8FC01B8 -:1005A000238380ED0E94CC110E94D211823F41F43E -:1005B00080EF0E94CC11E0912501F0912601138279 -:1005C0000E94D211C82F803DE1F4809125019091C5 +:1005A000238380ED0E9424120E942A12823F41F48C +:1005B00080EF0E942412E0912501F0912601138220 +:1005C0000E942A12C82F803DE1F48091250190916C :1005D0002601FC0123812038A1F4609106010E94CC :1005E00072029093260180932501FC011782C38338 :1005F0000E944303E0912501F0912601882371F1C7 -:1006000083830E94D211182F803FC9F4C091250125 +:1006000083830E942A12182F803FC9F4C0912501CC :10061000D09126018B81883991F460910601CE0139 :100620000E9472029093260180932501FC0113829F :100630001B83CE010E947A088823C9F08B83DF9147 -:10064000CF911F9108950E94D211823F09F094CF5B +:10064000CF911F9108950E942A12823F09F094CF02 :1006500089CF6D2F0E947202CF5F99CF2085808154 :100660009181820F911D9183808388EDC9CF84EFA2 :100670008B83288588819981820F911D9983888336 @@ -106,40 +106,40 @@ :10069000CF93DF931F92CDB7DEB76C01DC010D91D4 :1006A0001C911197602F1996EC918E2F90E0FC0110 :1006B0007097E631F10508F017C1EF59FC4F0C9423 -:1006C0001F1ADC032D044D045004740474047404D4 +:1006C0006C1ADC032D044D04500474047404740487 :1006D000740474047404740474047404740474045A :1006E0007404770384039E03B103B803CD03F601BA :1006F0006585603108F002C1F0E16F9FB0011124FF :10070000602B0FEFD60120C0D6011D966C911D976E :10071000862F837C8111F2C0602B0FEF16962C91EF :10072000169712964C91129714968D919C9115974D -:100730000E94A50DF601878380E0D7C0D6011D96E3 +:100730000E94B50DF601878380E0D7C0D6011D96D3 :100740006C911D97602B0FEF16962C9116971296B1 -:100750004C91129714968D919C9115970E946D0D56 +:100750004C91129714968D919C9115970E947D0D46 :10076000E9CFD6011D966C911D97862F807CD2CF44 :10077000D6011D966C911D97602BEE24EA94169677 :100780000C91169712962C91129740E014968D9129 -:100790009C9115970E94F314CDCFD6011D966C91B4 +:100790009C9115970E944015CDCFD6011D966C9166 :1007A0001D97602BEE24EA9416960C9116971296DC :1007B0002C91129741E0EACFD6011D968C918E3193 :1007C000E1F4202F2F7BB80146E0769567954A9596 -:1007D000E1F780E090EC29830E94F90C2981622FD7 +:1007D000E1F780E090EC29830E94090D2981622FC6 :1007E00060680FEFF60126814281848195810E9425 -:1007F0006D0DD60117968C939FCF8C31A1F461E8D3 -:1008000080E090E50E94F90CB801660F672F661F23 -:10081000770B719580E090E80E94F90C60E080E031 -:1008200090E50E94F90CF6018585102F8F3139F083 +:1007F0007D0DD60117968C939FCF8C31A1F461E8C3 +:1008000080E090E50E94090DB801660F672F661F12 +:10081000770B719580E090E80E94090D60E080E020 +:1008200090E50E94090DF6018585102F8F3139F072 :1008300010680FEFF60126814281612FD6CF1F7815 :1008400010686081718124E0769567952A95E1F7BB -:1008500080E090E50E94F90CECCFF60185858E3F93 +:1008500080E090E50E94090DECCFF60185858E3F82 :1008600009F06ACFB80195E0769567959A95E1F71A -:100870008FEF9FE30E94350D602F6F710FEFD60150 +:100870008FEF9FE30E94450D602F6F710FEFD60140 :1008800016962C91169712964C91129714968D915C -:100890009C9115970E94050E4DCF602F606631CF59 +:100890009C9115970E94150E4DCF602F606631CF49 :1008A000D6011D968C91811119C0602F6068000FD0 :1008B000012F001F110B1195202F8FEF84B925B93F -:1008C0005F9A5F9814B8EE24EA94F60106812281BB -:1008D00040E0848195810E94F3148BCF813069F7C9 +:1008C000439A439814B8EE24EA94F60106812281F3 +:1008D00040E0848195810E9440158BCF813069F77B :1008E000212F2F732064E9CF83EC0F90DF91CF91FC :1008F0001F910F91EF90DF90CF90089584ECF5CF8A :10090000CF92DF92EF92FF920F931F93CF93DF93DB @@ -165,7 +165,7 @@ :100A4000BF90AF909F908F907F906F905F904F90EE :100A500008956AEAC401F701099565E5C301F70144 :100A6000099560EAC401F7010995EC81FD81EA0D61 -:100A7000FB1D6081C801F70109950E94C117C801DB +:100A7000FB1D6081C801F70109950E940E18C8018D :100A8000F6010995482EC801F60109954812F5CFDF :100A9000CACF2F923F924F925F926F927F928F9226 :100AA0009F92AF92BF92CF92DF92EF92FF920F93FD @@ -178,11 +178,11 @@ :100B1000DEBF0FBECDBFDF91CF911F910F91FF9030 :100B2000EF90DF90CF90BF90AF909F908F907F908D :100B30006F905F904F903F902F90089560E089E60E -:100B40009DEF0E94F90C6AEAC401F701099565E579 +:100B40009DEF0E94090D6AEAC401F701099565E568 :100B50008B819C81F701099560EAC401F701099531 -:100B6000652DC1010E94F90C642C712CA980BA80FA +:100B6000652DC1010E94090D642C712CA980BA80E9 :100B7000A628B728AE81BF811496ED91FC911597F8 -:100B8000E60DF71D6081C501F70109950E94C117A7 +:100B8000E60DF71D6081C501F70109950E940E1859 :100B9000C501F6010995282FC5012D83F601099598 :100BA0002D812813F3CFAE81BF8114968D919C9136 :100BB0001597680E791EF3018081281307C04394AE @@ -198,15 +198,15 @@ :100C5000099560EF80E090E8FE01099580E0DF9162 :100C6000CF911F910F91FF90EF90DF90CF90BF90A9 :100C7000AF909F908F907F906F905F904F903F903C -:100C8000089564E580E090E50E94F90C852C912C94 +:100C8000089564E580E090E50E94090D852C912C83 :100C90006401C628D72860EAC601FE010995D7017C :100CA0001496ED91FC911597E80DF91D6081C60130 -:100CB000FE0109950E94C117C601F8010995382E59 +:100CB000FE0109950E940E18C601F8010995382E0B :100CC000C601F80109953812F5CFD70114968D9118 :100CD0009C911597880E991EF4018081381208C0E6 :100CE0005394FFEFAF1ABF0A5198599A59989DCF64 -:100CF00061E880E090E50E94F90C642D80E090E8C6 -:100D00000E94F90C64E580E090E50E94F90C519A8C +:100CF00061E880E090E50E94090D642D80E090E8B5 +:100D00000E94090D64E580E090E50E94090D519A6A :100D1000599A8BCF4F925F926F927F928F929F9250 :100D2000AF92BF92CF92DF92EF92FF920F931F93F9 :100D3000CF93DF93662E7A01E901DA0117965C9072 @@ -220,7 +220,7 @@ :100DB0009F908F907F906F905F904F900895852CBB :100DC000912C6401C628D72860EAC601FE01099566 :100DD000D7011496ED91FC911597E80DF91D6081EE -:100DE000C601FE0109950E94C117C601F8010995C7 +:100DE000C601FE0109950E940E18C601F801099579 :100DF000482EC601F80109954812F5CFD70114967F :100E00008D919C911597880E991EF401808148124E :100E100008C05394FFEFAF1ABF0A5198599A5998D6 @@ -237,7 +237,7 @@ :100EC000BF90AF909F908F907F906F905F904F906A :100ED0000895852C912C6401C628D72860EAC601A4 :100EE000FE010995D7011496ED91FC911597E80D37 -:100EF000F91D6081C601FE0109950E94C117C60156 +:100EF000F91D6081C601FE0109950E940E18C60108 :100F0000F8010995482EC601F80109954812F5CF58 :100F1000D70114968D919C911597880E991EF40116 :100F20008081481208C05394FFEFAF1ABF0A51984E @@ -254,11 +254,11 @@ :100FD000099540E060EF80E090E8FE01099500008F :100FE00080E0DF91CF911F910F91FF90EF90DF9004 :100FF000CF90BF90AF909F908F907F905F904F90D9 -:10100000089560E080EA0E94E4142701552442011B +:10100000089560E080EA0E943115270155244201CD :101010008A289B28D6011496ED91FC911597E40D32 :10102000F51D40E06081C401FE010995000000004B :101030000000000000000000000000000000A89573 -:101040000E94C11760E0C401F8010995782E0000E4 +:101040000E940E1860E0C401F8010995782E000096 :101050000000000000000000000000000000000090 :10106000D6011496ED91FC911597E40DF51D808144 :101070007816C1F000000000000000000000000031 @@ -271,569 +271,579 @@ :1010E000000000000000000060E0C401F801099564 :1010F000782EC9CFBF92CF92DF92EF92FF920F93DB :101100001F93CF93DF93EC01B8808985823109F476 -:1011100029C138F48031A9F0813109F4D3C083ECBE -:1011200006C0833109F426C18431C9F780E0DF911C +:1011100035C138F48031A9F0813109F4DFC083ECA6 +:1011200006C0833109F432C18431C9F780E0DF9110 :10113000CF911F910F91FF90EF90DF90CF90BF90D4 -:1011400008958D85811107C04FE55EE0BE0180E8FE -:101150008B0D0E94B6048D85813039F44EEA5EE035 +:1011400008958D85811107C04FE65EE0BE0180E8FD +:101150008B0D0E94B6048D85813039F44EEB5EE034 :10116000BE0180E88B0D0E9480048D85833039F4A8 -:101170004FE05FE0BE0180E88B0D0E9480048D850A -:10118000843039F446E95FE0BE0180E88B0D0E94AF -:10119000B6048D858A3039F44AEE5FE0BE0180E8FE +:101170004FE15FE0BE0180E88B0D0E9480048D8509 +:10118000843039F446EA5FE0BE0180E88B0D0E94AE +:10119000B6048D858A3039F44AEF5FE0BE0180E8FD :1011A0008B0D0E9480048D858D3FD1F46B2D6F7364 :1011B0006068B62E88819981F6E096958795FA95B4 -:1011C000E1F7A7EECA2EACE0DA2EBEEBEB2EBCE0C8 +:1011C000E1F7A7EFCA2EACE0DA2EBEECEB2EBCE0C6 :1011D000FB2E8E012AEA3AE245E555E50E944905D3 -:1011E0008D858E3139F442EA50E1BE0180E88B0DE5 +:1011E0008D858E3139F445EC50E1BE0180E88B0DE0 :1011F0000E94B6048D858C3031F56B2D6F7160685F :10120000B62EE880F98065E0F694E7946A95E1F7F8 -:1012100065EA80E090E60E94F90C6E2D8FEF9FEF5B -:101220000E94F90C77EEC72E7CE0D72EE9EFEE2E68 -:10123000ECE0FE2E8E012AEA3AEA45E555ED6B2DEB +:1012100065EA80E090E60E94090D6E2D8FEF9FEF4A +:101220000E94090D77EFC72E7CE0D72EE9E0EE2E65 +:10123000EDE0FE2E8E012AEA3AEA45E555ED6B2DEA :1012400080E00E94FB048D858C3101F5E880F980F7 :10125000EE0CEF2CEE1CFF08F19461E880E090E5C5 -:101260000E94F90C6E2D80E090E80E94F90C64E574 -:1012700080E090E50E94F90C07EE1CE029EF3CE0CD +:101260000E94090D6E2D80E090E80E94090D64E552 +:1012700080E090E50E94090D07EF1CE029E03DE0C9 :10128000AE016B2D60688E2D0E94E9058D858F3132 -:1012900009F04CCFE880F98044E0F694E7944A9551 -:1012A000E1F76E2D80E090E50E94F90C6B2D6F78D0 -:1012B000606807EE1CE029EF3CE0AE018E2D0E9435 -:1012C0008A0634CF8D85811106C047E85EE0BE01F5 -:1012D0008B2D0E9480048D85813031F44BED5EE0D2 -:1012E000BE018B2D0E9480048D85823031F44AE44A -:1012F0005FE0BE018B2D0E9480048D85843031F427 -:1013000043EC5FE0BE018B2D0E9480048D858A3006 -:1013100031F447E150E1BE018B2D0E9480048D85A0 -:101320008B3031F444E550E1BE018B2D0E948004E6 -:101330008D858E3F09F0FACE6881798135E076950A -:1013400067953A95E1F78FEF9FE30E94350D6B2D7E -:101350006F7109E41DE02BE53DE0AE0180E00E94E5 -:101360001407E4CE49EF5CE0BE0180E68B0D0E94DD -:101370008004DCCE8D85843039F444E355E1BE0130 -:1013800080E88B0D0E9480048D85853031F444E324 -:1013900055E1BE018B2D0E9480048D85863039F485 -:1013A00041E655E1BE0180E88B0D0E9480048D85E9 -:1013B000873031F441E655E1BE018B2D0E94800457 -:1013C0008D85811119C08B2D8068B82E88819981F7 -:1013D000880F892F881F990B91959FEF94B985B934 -:1013E0005F9A5F9814B80FEA14E12BEC34E1AE0178 -:1013F0006B2D80E00E949E078D85813009F096CE8E -:1014000089818F7380649FEF94B985B95F9A5F98E3 -:1014100014B80FEA14E12BEC34E1AE016B2D80E03F -:101420000E949E0783CE3898409A3998419A3A98FC -:10143000429A3C98449A3D98459A3E98469A5398C9 -:101440005B9A55985D9A3B98439A3F98479A57986C -:101450005F9A5098589814B88FEF85B93F9A47987B -:1014600081B911B882B914B885B914B885B9519841 -:10147000599A08950E94130A399A419A389A4098C5 -:101480003A9A429A3C9A449A3D9A459A14B88FEFF8 -:1014900085B914B885B914B885B93F9A479881B908 -:1014A00012B884B915B8479A479814B808950E949D -:1014B000130A399A419A3C9A449A3D9A459A589A05 -:1014C000509A14B88FEF85B914B885B914B885B996 -:1014D0003F9A479881B912B884B915B8479A479886 -:1014E00014B814B885B9579A5F9884B915B85F9A3B -:1014F0005F9814B80895823081F0833061F08130B4 -:10150000A1F40898109A1092BD0380E290E09093A5 -:10151000BC038093BB0380E008955098589A88E0FC -:101520008093BD0389E290E0F2CF87E9089581308E -:1015300049F414B88FEF85B9579A5F980E94100B41 -:1015400080E0089588E908955898509A000089B17C -:101550005098589880FD22C05098589A59B149B176 -:10156000000039B10000000029B1000000000000B7 -:1015700099B1000000000000000089B1509858980F -:1015800050FD0EC040FD0EC030FD0EC020FD0EC04F -:1015900090FD0EC080FD0EC080EE089580EF08958E -:1015A00080E0089581E0089583E0089586E008953D -:1015B0008AE008958FE008950F931F93CF93C82F6B -:1015C000842F8901C230F9F030F4CC2389F0C13086 -:1015D000B1F0C6E90FC0C430F1F0C0F0C038C9F7AF -:1015E00081E0F90180830E94A40AF801818309C087 -:1015F0000E94130A8C2FCF911F910F9108950E9482 -:101600003A0AC0E0F7CF0E94570AFBCFCF911F9153 -:101610000F910C947B0ACF911F910F910C94970A14 -:10162000109214018FEF84B915B85F9A5F9814B8BF -:101630005098589A80E880936C0310927A03EBE7F5 -:10164000F3E0119283E0EB39F807D9F70895609140 -:101650007A03813109F441C0109214019FEF94B9CB -:101660009091140195B95F9A5F9814B820E070E0EA -:101670003FEF8032C9F4E72FF0E0E558FC4F40819E -:1016800050E0022E02C0559547950A94E2F740FFBC -:1016900028C092E034B995B95F9A5F9814B82F5F6B -:1016A000283011F47F5F20E0492F446034B945B9F8 -:1016B0005F9A5F9814B8615034B995B95F9A5F9892 -:1016C00014B86111D6CF909314014093270134B917 -:1016D00015B85F9A5F9814B8089592E0909314013A -:1016E000BDCF90E0D7CF0F931F93CF93DF9350914F -:1016F0007A03B0917B03813109F46BC0109214011D -:101700009FEF94B99091140195B95F9A5F9814B8BE -:1017100020E030E07FEFC1E0D0E0803281F4EB2FB9 -:10172000F0E0022E02C0F595E7950A94E2F7E0FF9B -:1017300054C0916074B995B95F9A5F9814B86032DB -:10174000B1F4211105C0E32FF0E0E558FC4F108201 -:10175000489B0DC0E32FF0E0E558FC4FA0818E01BF -:10176000022E01C0000F0A94EAF7A02BA08351506B -:10177000442341F0511106C0926074B995B95F9A43 -:101780005F9814B8A92FA46074B9A5B95F9A5F983F -:1017900014B874B995B95F9A5F9814B82F5F283060 -:1017A00039F43F5FE32FF0E0E558FC4FB08120E0D3 -:1017B0005111B3CF90931401A09327018FEF84B9F7 -:1017C00015B85F9A5F9814B8DF91CF911F910F9170 -:1017D000089591E09093140193CF9E7FABCF8091B9 -:1017E0006C038338D1F580916D03883009F463C0B0 -:1017F000C0F4833009F445C030F4813079F182308F -:10180000A1F18EEE28C0863009F44AC008F04EC01F -:101810008430B9F781E880936C0341E060E281E1B4 -:1018200036C08F30C1F148F48D3031F18E3049F738 -:1018300081E880936C0340E028C0803849F08F3FF6 -:1018400049F08031F1F681E880936C0340E02CC0D0 -:101850000C94100B80EF80936C03089581E88093C3 -:101860006C0380E20E94270B14C081E880936C0314 -:1018700041E060E080E20BC081E880936C0340E0CF -:10188000F8CF81E880936C0341E060E280E10E9440 -:10189000730B82E8E0CF81E880936C0340E0BECF19 -:1018A00081E880936C0341E060E2E4CF81E88093BB -:1018B0006C0380E1D7CF81E880936C0381E1D2CFC4 -:1018C000CF93DF93E901843061F138F48230E1F0A5 -:1018D00008F58130A1F087E80FC0873039F128F48E -:1018E0008530C9F740937A0306C0883021F18038EB -:1018F00091F70E94100B80E0DF91CF9108959091B5 -:101900006D0399838883F7CF40936D0383E88093B9 -:101910006C03F1CF40936D0383E880936C030E94C6 -:10192000EF0B80916C03898381E0ECCF40937B03C4 -:1019300050937C03E0CF80917B03898380917C036B -:101940008A8380917D038B8380917E038C83809139 -:101950007F038D83809180038E8386E0D3CF82B90D -:101960008FEF84B995B9479A479814B884B965B987 -:10197000509A58985098589A14B8089582B98FEF91 -:1019800084B995B9479A479814B884B965B9509AFB -:101990005898589A14B80895509858984098419A71 -:1019A000429A82B92FEF24B995B9479A479814B84B -:1019B00000000000409A97FD4198000000000000E0 -:1019C00000000000000083B14098419A089582B958 -:1019D0002FEF24B995B9479A479814B8409A97FDC4 -:1019E0004198000000000000000083B14098419A37 -:1019F00008955098589882B92FEF24B995B9479A0D -:101A0000479814B8429824B965B9409A97FD41980F -:101A1000000000004098419A429A14B8089582B993 -:101A20002FEF24B995B9479A479814B8429824B92A -:101A300065B997FD419800000000419A429A14B898 -:101A40000895811520E2920708F4906882B98FEF1B -:101A500084B995B9479A479814B844980000000093 -:101A60000000000083B1449A0895811520E2920796 -:101A700008F4906882B98FEF84B995B9479A47986E -:101A800014B884B965B9000045980000459A14B8A7 -:101A9000089582B98FEF84B995B9479A479814B8D9 -:101AA000409A4198449800000000000083B1449A95 -:101AB0004098419A089582B98FEF84B995B9479AB1 -:101AC000479814B84098419884B965B90000459882 -:101AD0000000459A14B8419A0895EF92FF920F932F -:101AE000CF93DF9300D01F92CDB7DEB77C018FEF8D -:101AF00084B965B9479A479814B8409A67FD4198E8 -:101B000042B9000080E0011117C00000000093B14D -:101B1000F701E80FF11D90834F5F42B98F5F2817DF -:101B200090F74098419A0F900F900F90DF91CF91CE -:101B30000F91FF90EF9008952B834A8389830E9431 -:101B4000C11789814A812B81E2CFEF92FF920F93D7 -:101B5000CF93DF9300D01F92CDB7DEB77C01603208 -:101B600008F460688FEF84B965B9479A479814B84C -:101B7000449842B9000080E0011116C00000000046 -:101B800093B1F701E80FF11D90834F5F42B98F5F6A -:101B9000281790F7449A0F900F900F90DF91CF91F4 -:101BA0000F91FF90EF9008952B834A8389830E94C1 -:101BB000C11789814A812B81E3CFEF92FF921F9356 -:101BC000CF93DF93EC01C11580E2D80708F4D06809 -:101BD0000E940A167E01F3941FEFC2B914B9D5B959 -:101BE000479A479814B814B985B9000045980E94DF -:101BF0000A162196459AEC16FD0679F714B8DF917E -:101C0000CF911F91FF90EF900895EF92FF920F9365 -:101C1000CF93DF9300D01F92CDB7DEB77C018FEF5B -:101C200084B965B9479A479814B8409A419844983E -:101C300042B9000080E0011118C00000000093B11B -:101C4000F701E80FF11D90834F5F42B98F5F2817AE -:101C500090F7449A4098419A0F900F900F90DF911F -:101C6000CF910F91FF90EF9008952B834A83898342 -:101C70000E94C11789814A812B81E1CF0F931F9365 -:101C8000CF93DF938C01D62F442349F080E090E876 -:101C90000E94E70C60E880E090E80E94F90CC5E043 -:101CA000C8010E94E70C6D2FC8010E94F90CD6955F -:101CB000C150B1F7DF91CF911F910F9108951F93FC -:101CC000CF93DF93EC01162F6AEA85E595E50E9434 -:101CD000AF0C65E58AEA9AE20E94AF0C60EA85E5FE -:101CE00095E50E94AF0C612FCE010E94AF0CCE0192 -:101CF0000E94E70C182F0E94C117CE010E94E70C2A -:101D00001813F5CF812FDF91CF911F9108951F9365 -:101D1000CF93DF93EC01162F6AEA85E595E10E94E7 -:101D2000350D65E58AEA9AE00E94350D60EA85E5A1 -:101D300095E10E94350D612FCE010E94350DCE0137 -:101D40000E94210D182F0E94C117CE010E94210D63 -:101D50001813F5CFDF91CF911F9108951F93CF9363 -:101D6000DF93EC01162F40E065E080E090EC0E94EC -:101D70003E0E6AEA85E595E50E94F90C65E58AEA7A -:101D80009AEA0E94F90C60EA85E595E50E94F90C53 -:101D9000612FCE010E94F90CCE010E94E70C182F92 -:101DA0000E94C117CE010E94E70C1813F5CFDF91F6 -:101DB000CF911F9108951F93CF93DF93EC01162FBE -:101DC00040E062E080E090EA0E943E0E6AEA85E52B -:101DD00095E10E94350D65E58AEA9AE00E94350D8D -:101DE00060EA85E595E10E94350D40E060919D0334 -:101DF00080E090EA0E943E0E612FCE010E94350DD8 -:101E0000CE010E94210D182F0E94C117CE010E9401 -:101E1000210D1813F5CFDF91CF911F9108951F93D6 -:101E2000CF93DF93EC01162F60E080919B0390919C -:101E30009C030E94F90C6AEA85E595E50E94AF0CC7 -:101E400065E58AEA9AE20E94AF0C60EA85E595E5CD -:101E50000E94AF0C90919D0320919B0330919C03B5 -:101E6000692FA901490F511DCA010E94F90C612F68 -:101E7000CE010E94AF0CCE010E94E70C182F0E94E9 -:101E8000C117CE010E94E70C1813F5CFDF91CF9157 -:101E90001F9108951F93CF93DF93EC01162F80912C -:101EA0009B0390919C0362E002960E94F90C6AEAFF -:101EB00085E595E10E94350D80919B0390919C03EF -:101EC00061E001960E94F90C65E58AEA9AE00E94B9 -:101ED000350D80919B0390919C0362E002960E94D5 -:101EE000F90C60EA85E595E10E94350D90919D031E -:101EF00020919B0330919C03692FA901490F511D2B -:101F0000CA010E94F90C612FCE010E94350DCE014D -:101F10000E94210D182F0E94C117CE010E94210D91 -:101F20001813F5CFDF91CF911F9108951F93CF9391 -:101F3000DF93EC01162F6AEA85E595ED0E94F90C16 -:101F400065E58AEA9AEA0E94F90C60EA85E595ED72 -:101F50000E94F90C612FCE010E94F90C60E080E034 -:101F600090E80E94F90CCE010E94E70C182F0E9405 -:101F7000C117CE010E94E70C1813F5CF812FDF9116 -:101F8000CF911F9108951F93CF93DF93EC01162FEC -:101F90006AEA85E595E10E94350D65E58AEA9AE1F0 -:101FA0000E94350D60EA85E595E10E94350D612FAF -:101FB000CE010E94350DCE010E94210D182F0E94E6 -:101FC000C117CE010E94210D1813F5CFDF91CF91DB -:101FD0001F9108951F93CF93DF93EC01162F6AEAA8 -:101FE0008AEA9AEF0E94F90C65E585E595EF0E9473 -:101FF000F90C60EA8AEA9AEF0E94F90C612FCE018F -:102000000E94F90C60919D0380E090EA0E94F90C17 -:10201000CE010E94E70C182F0E94C117CE010E942A -:10202000E70C1813F5CFDF91CF911F9108951F93FF -:10203000CF93DF93EC01162F6AE080E090EB0E94D3 -:10204000F90C6AE080E090EC0E94F90C6AEA85E500 -:1020500095E10E94350D65E58AEA9AE00E94350D0A -:1020600060EA85E595E10E94350D60919D0380E071 -:1020700090EB0E94F90C60919D0380E090EC0E942F -:10208000F90C612FCE010E94350DCE010E94210D69 -:10209000182F0E94C117CE010E94210D1813F5CFF1 -:1020A000DF91CF911F9108950F931F93CF93DF93EB -:1020B0008C01D62FC0919D03C295C07F80919B0358 -:1020C00090919C0360E280960E94F90C6AEA85E593 -:1020D00095E10E94350D80919B0390919C0360E1F6 -:1020E00040960E94F90C65E58AEA9AE00E94350D57 -:1020F00080919B0390919C0360E280960E94F90C72 -:1021000060EA85E595E10E94350D80919B039091F1 -:102110009C036C2F8C0F911D0E94F90C6D2FC80130 -:102120000E94350DC8010E94210DC82F0E94C117C1 -:10213000C8010E94210DC813F5CFDF91CF911F91E7 -:102140000F9108951F93CF93DF93EC01162F61E059 -:1021500080E090EC0E94F90C6AEA85E595E90E941E -:10216000F90C60E080E090EC0E94F90C65E58AEAE9 -:102170009AEA0E94F90C61E080E090EC0E94F90C70 -:1021800060EA85E595E90E94F90C60919D0380E085 -:1021900090EC0E94F90C612FCE010E94F90CCE0147 -:1021A0000E94E70C182F0E94C117CE010E94E70C75 -:1021B0001813F5CF812FDF91CF911F9108950F93C1 -:1021C0001F93CF93C82FCA018901CE3009F488C06C -:1021D00078F5C73009F48DC0B8F4C23009F46CC08A -:1021E00040F4CC2309F45AC0C13009F462C0C0EAFB -:1021F00057C0C53009F466C008F057C0C430B9F7FD -:1022000040E00E943E0E53C0CA3009F466C040F45C -:10221000C83009F471C0C93051F70E945F0E47C041 -:10222000CC3009F46FC008F461C00E940F0F3FC0AA -:10223000C23209F444C0A0F4C13109F460C040F4D2 -:10224000CF3009F450C0C03191F60E94EA0F2FC080 -:10225000C032D9F1E8F5C23151F60E94A21027C070 -:10226000C23809F460C058F4C03809F44EC008F010 -:1022700054C0C33209F0BBCF0E94DD0D18C0C53871 -:1022800009F457C0C63809F45AC0C43809F0AFCFB2 -:1022900021E0F80120830E94490D3CC00E94AF0C50 -:1022A0008C2FCF911F910F9108950E94BE0CC0E01A -:1022B000F7CF0E94350DFBCF0E94F90CF8CF0E949A -:1022C0000F0DF5CF0E945B0DF2CF40939D03EFCF32 -:1022D00040939B0390939C03EACF0E94870EE7CF25 -:1022E0000E94AE0EE4CF0E94DB0EE1CF0E944A0FA7 -:1022F000DECF0E94960FDBCF0E94C30FD8CF0E9483 -:102300001710D5CF0E945410D2CF21E0F8012083BE -:102310000E94CC0CF8018183CACF21E0F801208310 -:102320000E94E70CF7CF21E0F80120830E94210DE5 -:10233000F1CF81E0F901808380919D03ECCF82E0B1 -:10234000F901808380919B03818380919C03828328 -:10235000AECFCF93DF93FB01DC0112962C912223A9 -:1023600029F0203479F082ED808308C01082A0919A -:102370000201B0910301EC018C818C93CF01DF91BC -:10238000CF910895108281E08183A0910201B091E4 -:1023900003018C918283F2CFE0910201F09103015D -:1023A00080830895E0910201F091030180810895F6 -:1023B0000F931F93D901082F10E00831110508F081 -:1023C000C2C2F801EA51FE4E0C941F1A2012FE11EF -:1023D0005B12B61202134E139A1345144A144F148B -:1023E000521456145914611469146D147014741431 -:1023F0007D1484148814901497149B14463151054D -:1024000008F0A3C2FA01E95FFD4E0C941F1A1D12D9 -:10241000231227122B122F12331237123B123F12A4 -:10242000431247124B124F125312A514A514A514B0 -:10243000A514A514A514A51457123898409A80E045 -:102440001F910F9108953998419A80E0F9CF3A98F9 -:10245000429A80E0F5CF3B98439A80E0F1CF3C98D8 -:10246000449A80E0EDCF3D98459A80E0E9CF3E98D0 -:10247000469A80E0E5CF3F98479A80E0E1CF5098B8 -:10248000589A80E0DDCF5198599A80E0D9CF53987F -:102490005B9A80E0D5CF55985D9A80E0D1CF569871 -:1024A0005E9A80E0CDCF57985F9A80E0C9CF509870 -:1024B000589A80E0C5CF4631510508F048C2FA016C -:1024C000EC59FD4E0C941F1A7A127E12821286125B -:1024D0008A128E12921296129A129E12A212A612AC -:1024E000AA12AE12A714A714A714A714A714A7140E -:1024F000A714B2123898409880E0A2CF399841983A -:1025000080E09ECF3A98429880E09ACF3B984398DB -:1025100080E096CF3C98449880E092CF3D984598D3 -:1025200080E08ECF3E98469880E08ACF3F984798CB -:1025300080E086CF5098589880E082CF5198599883 -:1025400080E07ECF53985B9880E07ACF55985D9875 -:1025500080E076CF56985E9880E072CF57985F986B -:1025600080E06ECF5098589880E06ACF4631510590 -:1025700008F0EFC1FA01E154FD4E0C941F1AD51278 -:10258000D812DB12DE12E112E412E712EA12ED12A7 -:10259000F012F312F612F912FC12A914A914A914DC -:1025A000A914A914A914A914FF12389A80E048CFDD -:1025B000399A80E045CF3A9A80E042CF3B9A80E05A -:1025C0003FCF3C9A80E03CCF3D9A80E039CF3E9AA5 -:1025D00080E036CF3F9A80E033CF509A80E030CF12 -:1025E000519A80E02DCF539A80E02ACF559A80E00F -:1025F00027CF569A80E024CF579A80E021CF509A77 -:1026000080E01ECF4631510508F0A5C1FA01E55F13 -:10261000FC4E0C941F1A2113241327132A132D1375 -:1026200030133313361339133C133F13421345133E -:102630004813AB14AB14AB14AB14AB14AB14AB1406 -:102640004B13409880E0FCCE419880E0F9CE429850 -:1026500080E0F6CE439880E0F3CE449880E0F0CE60 -:10266000459880E0EDCE469880E0EACE479880E03D -:10267000E7CE589880E0E4CE599880E0E1CE5B98B0 -:1026800080E0DECE5D9880E0DBCE5E9880E0D8CE44 -:102690005F9880E0D5CE589880E0D2CE4631510583 -:1026A00008F05BC1FA01E95AFC4E0C941F1A6D1335 -:1026B00070137313761379137C137F1382138513AE -:1026C00088138B138E1391139413AD14AD14AD14A2 -:1026D000AD14AD14AD14AD149713409A80E0B0CE94 -:1026E000419A80E0ADCE429A80E0AACE439A80E043 -:1026F000A7CE449A80E0A4CE459A80E0A1CE469A27 -:1027000080E09ECE479A80E09BCE589A80E098CE9B -:10271000599A80E095CE5B9A80E092CE5D9A80E0F7 -:102720008FCE5E9A80E08CCE5F9A80E089CE589AF8 -:1027300080E086CE82E08C934631510508F0A2C03D -:10274000FA01EB55FC4E0C941F1ABB13C413CD13A6 -:10275000D613DF13E813F113FA1303140C14151432 -:102760001E1427143014421442144214421442140A -:1027700042144214391486B1817011968C931197CA -:1027800012961C9280E05CCE86B1827090E0129628 -:102790009C938E93119780E053CE86B1847090E025 -:1027A00012969C938E93119780E04ACE86B18870E2 -:1027B00090E012969C938E93119780E041CE86B163 -:1027C000807190E012969C938E93119780E038CEA2 -:1027D00086B1807290E012969C938E93119780E060 -:1027E0002FCE86B1807490E012969C938E931197B1 -:1027F00080E026CE86B1807890E012969C938E93EE -:10280000119780E01DCE89B1817011968C9311973C -:1028100012961C9280E014CE89B1827090E01296DC -:102820009C938E93119780E00BCE89B1887090E0D5 -:1028300012969C938E93119780E002CE89B180729C -:1028400090E012969C938E93119780E0F9CD89B118 -:10285000807490E012969C938E93119780E0F0CD57 -:1028600089B1807890E012969C938E93119780E0C6 -:10287000E7CD89B1817011968C93119712961C92B5 -:1028800080E0DECD1C928DE8DBCD14B88FEF85B9EA -:1028900080E0D6CD14B88FEF85B980E0D1CD14B8E3 -:1028A00080E0CECD8FEF84B980E0CACD45B980E01D -:1028B000C7CD83B111968C93119781E08C9380E002 -:1028C000BFCD14B88FEF85B93F9A479881B980E0A2 -:1028D000B7CD8FEF82B980E0B3CD11B880E0B0CD35 -:1028E0008FEF81B980E0ACCD42B98FEF84B955B993 -:1028F000479A479814B880E0A3CD14B88FEF85B9F4 -:10290000579A5F9880E09CCD57985F9A80E098CD69 -:102910008FEF84B945B95F9A5F9814B880E090CD85 -:1029200014B88FEF85B9579A5F9880E089CD579892 -:102930005F9A80E085CD8FEF84B945B95F9A5F9843 -:1029400014B880E07DCD8CE87BCD8DE879CD8DE825 -:1029500077CD8DE875CD8DE873CD8DE871CD82B9D9 -:102960008FEF84B995B9479A479814B8611101C09F -:1029700041984498000000000000000000000000A2 -:10298000000000000000000000000000000083B113 -:10299000449A419A089582B98FEF84B995B9479ABC -:1029A000479814B884B965B94598411101C0419858 -:1029B0000000000000000000000000000000000017 -:1029C000459A419A14B808959FEF94B985B94598EE -:1029D000611101C041980000000000000000459A0C -:1029E000419A14B80895CF92DF92EF920F93CF934C -:1029F000DF9300D0CDB7DEB76C018FEF84B965B936 -:102A0000479A479814B84498411101C0419822B997 -:102A100080E0E1101FC00000000000000000000086 -:102A20000000000000000000000093B1F601E80F74 -:102A3000F11D90832F5F22B98F5F081750F7449ADA -:102A4000419A0F900F90DF91CF910F91EF90DF900F -:102A5000CF9008952A8389830E94C1170000000047 -:102A6000000089812A81DBCF1F93CF93DF93EC0194 -:102A7000162F40E06AEA85E595E50E94CB1440E018 -:102A800065E58AEA9AE20E94CB1440E060EA85E5B7 -:102A900095E50E94CB1440E0612FCE010E94CB143B -:102AA00060E0CE010E94AF14182F0E94C11760E0B1 -:102AB000CE010E94AF141813F3CFDF91CF911F9175 -:102AC00008951F93CF93DF93EC01162F40E06AEA3D -:102AD0008AEA9AE80E94CB1440E065E585E595E82E -:102AE0000E94CB1440E060EA8AEA9AE80E94CB1484 -:102AF00040E0612FCE010E94CB1460E0CE010E9425 -:102B0000AF14182F0E94C11760E0CE010E94AF14CD -:102B10001813F3CFDF91CF911F9108950F931F9357 -:102B2000CF93DF93782FCA01E901072F10E0073018 -:102B3000110580F5F801E156FA4E0C941F1AA615FE -:102B4000BF15B215B915BC15C615B7159FEF94B9C9 -:102B500085B95F9A5F9814B8872FDF91CF911F9145 -:102B60000F91089540E00E94CB1470E0F5CF41E052 -:102B7000FACF0E943415F9CF0E946115F6CF21E0FB -:102B8000288360E00E94AF148983EFCF21E028837F -:102B900061E0F8CF7AEAE0CF823099F0833051F1EA -:102BA000813069F560E070E0BA0155274427409311 -:102BB000B7035093B8036093B9037093BA0380E0EE -:102BC00008958091B7039091B803A091B903B09193 -:102BD000BA038827992760E070E0842B952BA62BF9 -:102BE000B72B8093B7039093B803A093B903B09326 -:102BF000BA03E5CF81E090E0A0E0B0E0F2CF83E857 -:102C000008956093B7037093B8038093B9039093CA -:102C1000BA030895CF92DF92EF92FF928091B703AB -:102C20009091B803A091B903B091BA0327E0AC0129 -:102C3000BD0176956795579547956C017D0155E1E6 -:102C4000F694E794D794C7945A95D1F74C25482722 -:102C50006C017D01CC24F7FCC394DD24EE24FF2419 -:102C60004C254170880F991FAA1FBB1F842B215030 -:102C7000F1F68093B7039093B803A093B903B09390 -:102C8000BA03FF90EF90DF90CF900895880F991FBF -:102C9000880F991F20E030E02817390709F40895BC -:102CA000000000002F5F3F4FF7CF20E030E02817F3 -:102CB000390709F40895000000002F5F3F4FF7CF58 -:102CC000CF93DF9380E190E00E944616C4E0D0E00D -:102CD00084EF91E00E94461684EF91E00E94461630 -:102CE0002197B1F7C4E0D0E08AEF90E00E94461649 -:102CF0008AEF90E00E9446162197B1F7DF91CF91BD -:102D0000089580E190E00C944616CF93DF931F92D4 -:102D1000CDB7DEB7F901813171F038F48130C1F0FF -:102D200078F08230C9F082E80FC08132A9F0823297 -:102D300099F08231C1F782E08083128211820AC049 -:102D400089830E94601689810F90DF91CF91089549 -:102D50000E94811680E0F8CF81E080831182FACF53 -:102D6000482F90E0982F882720E0411103C02111BF -:102D70008068089520953FEF340F4323F6CF80E01D -:102D800090E0089580E0089560E070E0CB01089540 -:102D9000CF93DF931F92CDB7DEB7DC018FEF809327 -:102DA00007011092080187E091E09093CD03809392 -:102DB000CC0316968C91169789831196EC911197F6 -:102DC0004E2F50E0FA013197E131F10508F0AFC024 -:102DD000E451F94E0C941F1AFD160D171B172917F5 -:102DE0007D1797178E1737174517531761179717C2 -:102DF00097179717971797176F1714964D915C9120 -:102E0000159728E031E013966C91139712968C91E8 -:102E10000E94D811809307017CC014964D915C915B -:102E2000159728E031E013966C91139712968C91C8 -:102E30000E94DC0AEFCF14964D915C91159728E023 -:102E400031E013966C91139712968C910E94DF10CB -:102E5000E1CF14964D915C91159728E031E01396DF -:102E60006C91139712968C910E948E15D3CF149665 -:102E70004D915C91159728E031E013966C91139772 -:102E800012968C910E948516C5CF14964D915C9137 -:102E9000159728E031E013966C91139712968C9158 -:102EA0000E94600CB7CF14964D915C91159728E065 -:102EB00031E013966C91139712968C910E949500B5 -:102EC000A9CF14964D915C91159728E031E01396A7 -:102ED0006C91139712968C910E9441039BCF14968C -:102EE0004D915C91159728E031E013966C91139702 -:102EF00012968C910E94CC158DCFAE014F5F5F4F23 -:102F000067E071E0CD010E947B019093CD03809337 -:102F1000CC0389810F90DF91CF910895AE014F5F6F -:102F20005F4F67E071E0CD010E94A911EECF80E80C -:102F300071CFE0916903F0916A0327814481558143 -:102F4000322F360F231312C0E0916903F0916A0308 -:102F50008781860F878380913801861B8093380193 -:102F600081110DC088E9838381E00895FC0171918E -:102F7000CF01FA01E20FF11D70832F5FE3CF80E0F4 -:102F80000895CF93DF936091CE03635067FD91C0A6 -:102F90008091CB03CCE0D0E0C81BD109CE52DC4FEE -:102FA0008091CA038D3209F0CFC0683009F07FC02C -:102FB00083EC8093BE038AE58093050110920F0194 -:102FC0008881807679F0CE010E94C8168F3F09F47F -:102FD00066C09F81911169C09E81981708F065C0F5 -:102FE000892F63C02A811092C703998191110AC069 -:102FF0001092C80327EC33E082E03093CD03209396 -:10300000CC03E7CF953029F42093CF0327EC33E0AE -:10301000F4CF963099F59B81913059F48EE890E089 -:103020009093CD038093CC0382E190E490930F01C1 -:10303000D0CF923019F48CE790E0F2CF9330A9F71B -:10304000211108C088EE90E09093CD038093CC03CB -:1030500084E0EBCF213041F48EEB90E09093CD03F0 -:103060008093CC038AE2E1CF2230F9F680EA90E047 -:103070009093CD038093CC038EE1D7CF983059F055 -:10308000993019F42093D103C1CF81E09A3009F42B -:10309000BDCF80E0BBCF21ED33E081E0AECF9881A2 -:1030A00097FD8E8190E890930F0180930401109218 -:1030B000CE038091050184FF3AC0809104018F3FC7 -:1030C000B1F1C82F893008F0C8E08C1B809304014F -:1030D0008091BE0398E889278093BE03CC23D1F06A -:1030E0008091CC039091CD0320910F0126FF3FC02A -:1030F000AFEBB3E0FC012C2F34913D93319621507E -:10310000D9F701962FEF2C0F820F911D9093CD03CD -:103110008093CC036C2F8FEB93E00E94DC18CC5F84 -:10312000CC3019F08FEF80930401C093050184E146 -:1031300099B1947131F48150D9F71092CF03109264 -:10314000C903DF91CF91089580910F0187FFAFCF21 -:10315000CE010E9499178F3F21F48EE180930501E3 -:10316000A6CF882309F4A3CF10920401A0CFEFEBE0 -:10317000F3E0DC012C2F3D9131932150E1F7C1CFD9 -:10318000E9E6F0E0808182608083E89A0895A82FC4 -:10319000B92F80E090E041E050EA609530E009C04E -:1031A0002D9182279795879510F084279527305E7B -:1031B000C8F36F5FA8F30895EADF8D939D93089598 -:1031C000CF93CFB7CF93DF93C3954C9BE9F74C9B3D -:1031D0000BC04C9B09C04C9B07C04C9B05C04C9B33 -:1031E00003C04C9B01C089C06F93C091CB03DD2706 -:1031F000CE52DC4F2F9365E54C9B03C02F916F910E -:10320000E6CF0F931F934F9320E040E15F9309B106 -:10321000047104FB27F93F9350E03BE039C014717F -:1032200040642F77012F5F5F1EC0406819B1147191 -:103230002F7752501FC0406409B12F770471D1F12C -:103240005F5F00C023C0406219B12F77147191F104 -:103250005F5F00C025C004711027515012F45D5FFC -:103260000000115027952C3F19B1C8F614710127A1 -:10327000015027952C3FC8F64227499309B10471A4 -:1032800010274F73115027952C3FA8F64695469569 -:1032900019B1147179F00127015027952C3F98F648 -:1032A0006B5A60F3315009B1B0F600C011E01CBB9D -:1032B000002717C03B503195C31BD04011E01CBB09 -:1032C0000881033CF9F00B34E9F02091C90319811E -:1032D000110F1213EDCF093651F10D3211F0013EED -:1032E00039F70093D0033F915F914F911F910F9158 -:1032F0002F916F91CCB3C0FD67CFDF91CF91CFBF3E -:10330000CF9118952091D003222369F31091CE0319 -:10331000112339F534303AF13093CE032093CA03A8 -:103320001091CB033BE0311B3093CB031CC00091C9 -:10333000CE030130B4F40AE53091050134FD14C028 -:1033400000930501CEEBD3E013C0052710E000C0C9 -:1033500000000BB91AC0052710E0221F1DC010E0A5 -:1033600021C04AE502C032ED432FC4E1D0E032E093 -:103370001AB114615C9A0BB11AB954E120E865E303 -:1033800020FF05270BB9279517951C3FF0F666958A -:10339000B8F7B1F720FF05270BB9279517951C3F04 -:1033A000D0F62795179517FF052700001C3F0BB98E -:1033B000B0F629913A9519F70B7E1091CF03110FB2 -:1033C000C651D0400BB911F01093C90311E01CBBDA -:1033D00000611AB11B7E402F4B7E54E05A95F1F7E5 -:1033E0000BB91AB94BB97FCF9EE088E10FB6F894BC -:1033F000A895809360000FBE909360000E94C01853 -:10340000549A80E0815099F4549878940E94130A59 -:1034100080EF80936C03A8950E94C1170E94AA02B6 -:1034200080916C03803FB9F30E94EF0BF4CFA89515 -:10343000EFE9FFE03197F1F700C00000E3CFEE0FB6 -:0E344000FF1F0590F491E02D0994F894FFCF42 -:06344E0069019E03FF5A14 +:10129000C9F48B2D8F78B82EE880F98044E0F6945D +:1012A000E7944A95E1F76E2D80E090E50E94090DE4 +:1012B0006B2D606807EF1CE029E03DE0AE018E2D4C +:1012C0000E948A068D858F3609F030CF42E051E1C9 +:1012D000BE0180E88B0D0E94B60428CF8D85811158 +:1012E00006C047E95EE0BE018B2D0E9480048D851B +:1012F000813031F44BEE5EE0BE018B2D0E94800404 +:101300008D85823031F44AE55FE0BE018B2D0E946D +:1013100080048D85843031F443ED5FE0BE018B2D78 +:101320000E9480048D858A3031F447E250E1BE018D +:101330008B2D0E9480048D858B3031F444E650E182 +:10134000BE018B2D0E9480048D858E3F09F0EECE6C +:101350006881798135E0769567953A95E1F78FEF69 +:101360009FE30E94450D6B2D6F7109E51DE02BE693 +:101370003DE0AE0180E00E941407D8CE49E05DE078 +:10138000BE0180E68B0D0E948004D0CE8D85843016 +:1013900039F441E855E1BE0180E88B0D0E948004DC +:1013A0008D85853031F441E855E1BE018B2D0E94D9 +:1013B00080048D85863039F44EEA55E1BE0180E81F +:1013C0008B0D0E9480048D85873031F44EEA55E103 +:1013D000BE018B2D0E9480048D85811119C08B2D3B +:1013E0008068B82E88819981880F892F881F990B72 +:1013F00091959FEF94B985B9439A439814B80CEF2F +:1014000014E128E135E1AE016B2D80E00E949E07DA +:101410008D85813009F08ACE89818F7380649FEF3A +:1014200094B985B9439A439814B80CEF14E128E1B4 +:1014300035E1AE016B2D80E00E949E0777CE389893 +:10144000409A3998419A3A98429A3C98449A3D98E1 +:10145000459A3E98469A53985B9A55985D9A3F985C +:10146000479A57985F9A3B98439A5098589814B85F +:101470008FEF85B93F9A479881B911B882B914B8EE +:1014800085B914B885B95198599A08950E941F0AD0 +:10149000399A419A389A40983A9A429A3C9A449A90 +:1014A0003D9A459A14B88FEF85B914B885B914B828 +:1014B00085B93F9A479881B912B884B915B8479A47 +:1014C000479814B808950E941F0A399A419A3C9A85 +:1014D000449A3D9A459A589A509A14B88FEF85B914 +:1014E00014B885B914B885B93F9A479881B912B82C +:1014F00084B915B8479A479814B814B885B9579A5B +:101500005F983B9A439884B915B8439A439814B8A6 +:101510000895823081F0833061F08130A1F4089821 +:10152000109A1092BE0380E290E09093BD038093E6 +:10153000BC0380E008955098589A88E08093BE03D9 +:1015400089E290E0F2CF87E90895813059F414B828 +:101550008FEF85B9579A5F983B9A43980E94200B6A +:1015600080E0089588E908955898509A000089B15C +:101570005098589880FD22C05098589A59B149B156 +:10158000000039B10000000029B100000000000097 +:1015900099B1000000000000000089B150985898EF +:1015A00050FD0EC040FD0EC030FD0EC020FD0EC02F +:1015B00090FD0EC080FD0EC080EE089580EF08956E +:1015C00080E0089581E0089583E0089586E008951D +:1015D0008AE008958FE008950F931F93CF93C82F4B +:1015E000842F8901C230F9F030F4CC2389F0C13066 +:1015F000B1F0C6E90FC0C430F1F0C0F0C038C9F78F +:1016000081E0F90180830E94B40AF801818309C056 +:101610000E941F0A8C2FCF911F910F9108950E9455 +:10162000460AC0E0F7CF0E94630AFBCFCF911F911B +:101630000F910C94890ACF911F910F910C94A50AD8 +:10164000109214018FEF84B915B8439A439814B8D7 +:101650005098589A80E880936C0310927A03EBE7D5 +:10166000F3E0119283E0EB39F807D9F70895609120 +:101670007A03813109F441C0109214019FEF94B9AB +:101680009091140195B9439A439814B820E070E002 +:101690003FEF8032C9F4E72FF0E0E558FC4F40817E +:1016A00050E0022E02C0559547950A94E2F740FF9C +:1016B00028C092E034B995B9439A439814B82F5F83 +:1016C000283011F47F5F20E0492F446034B945B9D8 +:1016D000439A439814B8615034B995B9439A4398E2 +:1016E00014B86111D6CF909314014093270134B9F7 +:1016F00015B8439A439814B8089592E09093140152 +:10170000BDCF90E0D7CF0F931F93CF93DF9350912E +:101710007A03B0917B03813109F46BC010921401FC +:101720009FEF94B99091140195B9439A439814B8D6 +:1017300020E030E07FEFC1E0D0E0803281F4EB2F99 +:10174000F0E0022E02C0F595E7950A94E2F7E0FF7B +:1017500054C0916074B995B9439A439814B86032F3 +:10176000B1F4211105C0E32FF0E0E558FC4F1082E1 +:10177000489B0DC0E32FF0E0E558FC4FA0818E019F +:10178000022E01C0000F0A94EAF7A02BA08351504B +:10179000442341F0511106C0926074B995B9439A3F +:1017A000439814B8A92FA46074B9A5B9439A439873 +:1017B00014B874B995B9439A439814B82F5F283078 +:1017C00039F43F5FE32FF0E0E558FC4FB08120E0B3 +:1017D0005111B3CF90931401A09327018FEF84B9D7 +:1017E00015B8439A439814B8DF91CF911F910F9188 +:1017F000089591E09093140193CF9E7FABCF809199 +:101800006C038338D1F580916D03883009F463C08F +:10181000C0F4833009F445C030F4813079F182306E +:10182000A1F18EEE28C0863009F44AC008F04EC0FF +:101830008430B9F781E880936C0341E060E281E194 +:1018400036C08F30C1F148F48D3031F18E3049F718 +:1018500081E880936C0340E028C0803849F08F3FD6 +:1018600049F08031F1F681E880936C0340E02CC0B0 +:101870000C94200B80EF80936C03089581E8809393 +:101880006C0380E20E94370B14C081E880936C03E4 +:1018900041E060E080E20BC081E880936C0340E0AF +:1018A000F8CF81E880936C0341E060E280E10E9420 +:1018B000830B82E8E0CF81E880936C0340E0BECFE9 +:1018C00081E880936C0341E060E2E4CF81E880939B +:1018D0006C0380E1D7CF81E880936C0381E1D2CFA4 +:1018E000CF93DF93E901843061F138F48230E1F085 +:1018F00008F58130A1F087E80FC0873039F128F46E +:101900008530C9F740937A0306C0883021F18038CA +:1019100091F70E94200B80E0DF91CF910895909184 +:101920006D0399838883F7CF40936D0383E8809399 +:101930006C03F1CF40936D0383E880936C030E94A6 +:10194000FF0B80916C03898381E0ECCF40937B0394 +:1019500050937C03E0CF80917B03898380917C034B +:101960008A8380917D038B8380917E038C83809119 +:101970007F038D83809180038E8386E0D3CF82B9ED +:101980008FEF84B995B9479A479814B884B965B967 +:10199000509A58985098589A14B8089582B98FEF71 +:1019A00084B995B9479A479814B884B965B9509ADB +:1019B0005898589A14B80895509858984098419A51 +:1019C000429A82B92FEF24B995B9479A479814B82B +:1019D00000000000409A97FD4198000000000000C0 +:1019E00000000000000083B14098419A089582B938 +:1019F0002FEF24B995B9479A479814B8409A97FDA4 +:101A00004198000000000000000083B14098419A16 +:101A100008955098589882B92FEF24B995B9479AEC +:101A2000479814B8429824B965B9409A97FD4198EF +:101A3000000000004098419A429A14B8089582B973 +:101A40002FEF24B995B9479A479814B8429824B90A +:101A500065B997FD419800000000419A429A14B878 +:101A60000895811520E2920708F4906882B98FEFFB +:101A700084B995B9479A479814B844980000000073 +:101A80000000000083B1449A0895811520E2920776 +:101A900008F4906882B98FEF84B995B9479A47984E +:101AA00014B884B965B9000045980000459A14B887 +:101AB000089582B98FEF84B995B9479A479814B8B9 +:101AC000409A4198449800000000000083B1449A75 +:101AD0004098419A089582B98FEF84B995B9479A91 +:101AE000479814B84098419884B965B90000459862 +:101AF0000000459A14B8419A0895EF92FF920F930F +:101B0000CF93DF9300D01F92CDB7DEB77C018FEF6C +:101B100084B965B9479A479814B8409A67FD4198C7 +:101B200042B9000080E0011117C00000000093B12D +:101B3000F701E80FF11D90834F5F42B98F5F2817BF +:101B400090F74098419A0F900F900F90DF91CF91AE +:101B50000F91FF90EF9008952B834A8389830E9411 +:101B60000E1889814A812B81E2CFEF92FF920F9369 +:101B7000CF93DF9300D01F92CDB7DEB77C016032E8 +:101B800008F460688FEF84B965B9479A479814B82C +:101B9000449842B9000080E0011116C00000000026 +:101BA00093B1F701E80FF11D90834F5F42B98F5F4A +:101BB000281790F7449A0F900F900F90DF91CF91D4 +:101BC0000F91FF90EF9008952B834A8389830E94A1 +:101BD0000E1889814A812B81E3CFEF92FF921F93E8 +:101BE000CF93DF93EC01C11580E2D80708F4D068E9 +:101BF0000E9457167E01F3941FEFC2B914B9D5B9EC +:101C0000479A479814B814B985B9000045980E94BE +:101C100057162196459AEC16FD0679F714B8DF9110 +:101C2000CF911F91FF90EF900895EF92FF920F9345 +:101C3000CF93DF9300D01F92CDB7DEB77C018FEF3B +:101C400084B965B9479A479814B8409A419844981E +:101C500042B9000080E0011118C00000000093B1FB +:101C6000F701E80FF11D90834F5F42B98F5F28178E +:101C700090F7449A4098419A0F900F900F90DF91FF +:101C8000CF910F91FF90EF9008952B834A83898322 +:101C90000E940E1889814A812B81E1CF0F931F93F7 +:101CA000CF93DF938C01D62F442349F080E090E856 +:101CB0000E94F70C60E880E090E80E94090DC5E002 +:101CC000C8010E94F70C6D2FC8010E94090DD6951E +:101CD000C150B1F7DF91CF911F910F9108951F93DC +:101CE000CF93DF93EC01162F6AEA85E595E50E9414 +:101CF000BF0C65E58AEA9AE20E94BF0C60EA85E5BE +:101D000095E50E94BF0C612FCE010E94BF0CCE0151 +:101D10000E94F70C182F0E940E18CE010E94F70C9B +:101D20001813F5CF812FDF91CF911F9108951F9345 +:101D3000CF93DF93EC01162F6AEA85E595E10E94C7 +:101D4000450D65E58AEA9AE00E94450D60EA85E561 +:101D500095E10E94450D612FCE010E94450DCE01F7 +:101D60000E94310D182F0E940E18CE010E94310DD5 +:101D70001813F5CFDF91CF911F9108951F93CF9343 +:101D8000DF93EC01162F40E065E080E090EC0E94CC +:101D90004E0E6AEA85E595E50E94090D65E58AEA39 +:101DA0009AEA0E94090D60EA85E595E50E94090D11 +:101DB000612FCE010E94090DCE010E94F70C182F51 +:101DC0000E940E18CE010E94F70C1813F5CFDF9178 +:101DD000CF911F9108951F93CF93DF93EC01162F9E +:101DE00040E062E080E090EA0E944E0E6AEA85E5FB +:101DF00095E10E94450D65E58AEA9AE00E94450D4D +:101E000060EA85E595E10E94450D40E060919E0302 +:101E100080E090EA0E944E0E612FCE010E94450D97 +:101E2000CE010E94310D182F0E940E18CE010E9483 +:101E3000310D1813F5CFDF91CF911F9108951F93A6 +:101E4000CF93DF93EC01162F60E080919B0390917C +:101E50009C030E94090D6AEA85E595E50E94BF0C86 +:101E600065E58AEA9AE20E94BF0C60EA85E595E59D +:101E70000E94BF0C90919E0320919B0330919C0384 +:101E8000692FA901490F511DCA010E94090D612F37 +:101E9000CE010E94BF0CCE010E94F70C182F0E94A9 +:101EA0000E18CE010E94F70C1813F5CFDF91CF91D9 +:101EB0001F9108951F93CF93DF93EC01162F80910C +:101EC0009B0390919C0362E002960E94090D6AEACE +:101ED00085E595E10E94450D80919B0390919C03BF +:101EE00061E001960E94090D65E58AEA9AE00E9488 +:101EF000450D80919B0390919C0362E002960E94A5 +:101F0000090D60EA85E595E10E94450D90919E03DB +:101F100020919B0330919C03692FA901490F511D0A +:101F2000CA010E94090D612FCE010E94450DCE010C +:101F30000E94310D182F0E940E18CE010E94310D03 +:101F40001813F5CFDF91CF911F9108951F93CF9371 +:101F5000DF93EC01162F6AEA85E595ED0E94090DE5 +:101F600065E58AEA9AEA0E94090D60EA85E595ED41 +:101F70000E94090D612FCE010E94090D60E080E0F2 +:101F800090E80E94090DCE010E94F70C182F0E94C4 +:101F90000E18CE010E94F70C1813F5CF812FDF9198 +:101FA000CF911F9108951F93CF93DF93EC01162FCC +:101FB0006AEA85E595E10E94450D65E58AEA9AE1C0 +:101FC0000E94450D60EA85E595E10E94450D612F6F +:101FD000CE010E94450DCE010E94310D182F0E94A6 +:101FE0000E18CE010E94310D1813F5CFDF91CF915D +:101FF0001F9108951F93CF93DF93EC01162F6AEA88 +:102000008AEA9AEF0E94090D65E585E595EF0E9441 +:10201000090D60EA8AEA9AEF0E94090D612FCE014C +:102020000E94090D60919E0380E090EA0E94090DD4 +:10203000CE010E94F70C182F0E940E18CE010E94AC +:10204000F70C1813F5CFDF91CF911F9108951F93CF +:10205000CF93DF93EC01162F6AE080E090EB0E94B3 +:10206000090D6AE080E090EC0E94090D6AEA85E5BE +:1020700095E10E94450D65E58AEA9AE00E94450DCA +:1020800060EA85E595E10E94450D60919E0380E040 +:1020900090EB0E94090D60919E0380E090EC0E94FD +:1020A000090D612FCE010E94450DCE010E94310D18 +:1020B000182F0E940E18CE010E94310D1813F5CF73 +:1020C000DF91CF911F9108951F93CF93DF93EC0180 +:1020D000162F80919D0390E0880F991F20919B03FC +:1020E00030919C0360E2820F931F0E94090D6AEAFF +:1020F00085E595E10E94450D20919D0380919B030C +:1021000090919C0360E1820F911D0E94090D65E58D +:102110008AEA9AE00E94450D80919D0390E0880F25 +:10212000991F20919B0330919C0360E2820F931FC3 +:102130000E94090D60EA85E595E10E94450D9091A8 +:102140009E03692F6295607F80919D0320919B0380 +:1021500030919C03A901989F400D511D1124CA0183 +:102160000E94090D612FCE010E94450DCE010E94F3 +:10217000310D182F0E940E18CE010E94310D181338 +:10218000F5CFDF91CF911F9108951F93CF93DF93E8 +:10219000EC01162F61E080E090EC0E94090D6AEAE4 +:1021A00085E595E90E94090D60E080E090EC0E94D1 +:1021B000090D65E58AEA9AEA0E94090D61E080E06E +:1021C00090EC0E94090D60EA85E595E90E94090DF1 +:1021D00060919E0380E090EC0E94090D612FCE017A +:1021E0000E94090DCE010E94F70C182F0E940E18B4 +:1021F000CE010E94F70C1813F5CF812FDF91CF91FC +:102200001F9108951F93CF93DF93EC01162F6AEA75 +:1022100085E595ED0E94090D65E58AEA9AEA0E9436 +:10222000090D60EA85E595ED0E94090D612FCE014B +:102230000E94090DCE010E94F70C182F0E940E1863 +:10224000CE010E94F70C1813F5CF812FDF91CF91AB +:102250001F9108950F931F93CF93C82FCA0189012F +:10226000C03109F4A0C070F5C83009F499C0B0F4C9 +:10227000C43009F47AC050F4C13009F46AC008F4DB +:102280005DC0C23009F468C0C0EA5AC0C63009F463 +:102290005CC008F467C00E94A60F59C0CC3009F496 +:1022A00088C040F4CA3009F472C008F46DC00E94BE +:1022B0005A0F4DC0CE3009F46DC008F46EC00E94B4 +:1022C000EB0E45C0C43209F45CC0A8F4C03209F476 +:1022D00050C050F4C23109F46FC008F467C0C33174 +:1022E00099F60E94021133C0C232C9F108F444C009 +:1022F0000E94ED0D2CC0C43809F46DC088F4C138BB +:1023000009F45DC0C23809F460C0C03809F0BCCF20 +:1023100021E0F80120830E94DC0CF801818317C0C2 +:10232000C63809F464C008F45CC0C73809F0ACCF03 +:1023300081E0F901808380919D03F0CF0E94BF0C62 +:102340008C2FCF911F910F9108950E94CE0CC0E069 +:10235000F7CF0E94450DFBCF0E94090DF8CF0E94D8 +:102360001F0DF5CF0E946B0DF2CF40E00E944E0E84 +:10237000EECF40939E03EBCF40939B0390939C033F +:10238000E6CF40939D03E3CF0E946F0EE0CF0E9403 +:10239000970EDDCF0E94BE0EDACF0E941F0FD7CF5F +:1023A0000E94D30FD4CF0E94FA0FD1CF0E942710E2 +:1023B000CECF0E946410CBCF0E94C510C8CF21E0C1 +:1023C000F80120830E94F70CA8CF21E0F8012083B8 +:1023D0000E94310DA2CF21E0F80120830E94590D07 +:1023E0009CCF81E0F901808380919E0397CF82E0AA +:1023F000F901808380919B03818380919C03828378 +:10240000A6CFCF93DF93FB01DC0112962C91222300 +:1024100029F0203479F082ED808308C01082A091E9 +:102420000201B0910301EC018C818C93CF01DF910B +:10243000CF910895108281E08183A0910201B09133 +:1024400003018C918283F2CFE0910201F0910301AC +:1024500080830895E0910201F09103018081089545 +:102460000F931F93D901082F10E00831110508F0D0 +:10247000B7C2F801E25CFD4E0C946C1A7812561249 +:10248000B1120A1354139E13E8138A148F14941470 +:1024900097149B149E14A614AE14B214B514B91458 +:1024A000C214CB14D114D914E214E81446315105E6 +:1024B00008F098C2FA01E15AFD4E0C946C1A75129C +:1024C0007B127F12F214831287128B128F129312D7 +:1024D00097129B129F12A312A712F214F214F21475 +:1024E000F214F214F214F214AD123898409A80E00B +:1024F0001F910F9108953998419A80E0F9CF3A9849 +:10250000429A80E0F5CF3C98449A80E0F1CF3D9824 +:10251000459A80E0EDCF3E98469A80E0E9CF3F981B +:10252000479A80E0E5CF5098589A80E0E1CF5198E3 +:10253000599A80E0DDCF53985B9A80E0D9CF5598C7 +:102540005D9A80E0D5CF56985E9A80E0D1CF5798BB +:102550005F9A3B98439A80E0CBCF5098589A80E09E +:10256000C7CF4631510508F03FC2FA01E654FD4E8F +:102570000C946C1AD012D412D812F414DC12E0129B +:10258000E412E812EC12F012F412F812FC1200132A +:10259000F414F414F414F414F414F414F4140613EA +:1025A0003898409880E0A4CF3998419880E0A0CF37 +:1025B0003A98429880E09CCF3C98449880E098CF2D +:1025C0003D98459880E094CF3E98469880E090CF23 +:1025D0003F98479880E08CCF5098589880E088CFFB +:1025E0005198599880E084CF53985B9880E080CFD1 +:1025F00055985D9880E07CCF56985E9880E078CFC3 +:1026000057985F983B98439880E072CF50985898BD +:1026100080E06ECF4631510508F0E8C1FA01ED5E69 +:10262000FC4E0C946C1A29132C132F13F61432132E +:10263000351338133B133E134113441347134A1306 +:102640004D13F614F614F614F614F614F614F614E4 +:102650005113389A80E04CCF399A80E049CF3A9AAA +:1026600080E046CF3C9A80E043CF3D9A80E040CF67 +:102670003E9A80E03DCF3F9A80E03ACF509A80E08A +:1026800037CF519A80E034CF539A80E031CF559ABA +:1026900080E02ECF569A80E02BCF579A3B9A80E06D +:1026A00027CF509A80E024CF4631510508F0A0C1D1 +:1026B000FA01E35AFC4E0C946C1A731376137913D7 +:1026C000F8147C137F138213851388138B138E13D6 +:1026D000911394139713F814F814F814F814F814C9 +:1026E000F814F8149B13409880E002CF419880E0E2 +:1026F000FFCE429880E0FCCE449880E0F9CE459829 +:1027000080E0F6CE469880E0F3CE479880E0F0CEA9 +:10271000589880E0EDCE599880E0EACE5B9880E052 +:10272000E7CE5D9880E0E4CE5E9880E0E1CE5F98F1 +:10273000439880E0DDCE589880E0DACE46315105EE +:1027400008F058C1FA01E955FC4E0C946C1ABD13FF +:10275000C013C313FA14C613C913CC13CF13D21367 +:10276000D513D813DB13DE13E113FA14FA14FA1499 +:10277000FA14FA14FA14FA14E513409A80E0B8CE69 +:10278000419A80E0B5CE429A80E0B2CE449A80E091 +:10279000AFCE459A80E0ACCE469A80E0A9CE479A6B +:1027A00080E0A6CE589A80E0A3CE599A80E0A0CED1 +:1027B0005B9A80E09DCE5D9A80E09ACE5E9A80E042 +:1027C00097CE5F9A439A80E093CE589A80E090CE5D +:1027D00082E08C934631510508F099C0FA01ED5022 +:1027E000FC4E0C946C1A091412141B148714241434 +:1027F0002D1436143F14481451145A1463146C14D5 +:102800007514871487148714871487148714871402 +:102810007E1486B1817011968C93119712961C923A +:1028200080E066CE86B1827090E012969C938E9383 +:10283000119780E05DCE86B1847090E012969C93F3 +:102840008E93119780E054CE86B1807190E01296FD +:102850009C938E93119780E04BCE86B1807290E06E +:1028600012969C938E93119780E042CE86B180742D +:1028700090E012969C938E93119780E039CE86B1AA +:10288000807890E012969C938E93119780E030CEE2 +:1028900089B1817011968C93119712961C9280E0E9 +:1028A00027CE89B1827090E012969C938E931197F7 +:1028B00080E01ECE89B1887090E012969C938E9332 +:1028C000119780E015CE89B1807290E012969C93AA +:1028D0008E93119780E00CCE89B1807490E01296AF +:1028E0009C938E93119780E003CE89B1807890E01D +:1028F00012969C938E93119780E0FACD89B18170E6 +:1029000011968C93119712961C9280E0F1CD1C9237 +:102910008DE8EECD14B88FEF85B980E0E9CD14B81D +:102920008FEF85B980E0E4CD14B880E0E1CD8FEF82 +:1029300084B980E0DDCD45B980E0DACD83B1119670 +:102940008C93119781E08C9380E0D2CD14B88FEFF7 +:1029500085B93F9A479881B980E0CACD8FEF82B997 +:1029600080E0C6CD11B880E0C3CD8FEF81B980E0A3 +:10297000BFCD42B98FEF84B955B9479A479814B87B +:1029800080E0B6CD14B88FEF85B9579A5F983B9A1F +:10299000439880E0ADCD57985F9A3B98439A80E08A +:1029A000A7CD8FEF84B945B9439A439814B880E016 +:1029B0009FCD14B88FEF85B9579A5F983B9A43988B +:1029C00080E096CD57985F9A3B98439A80E090CDEF +:1029D0008FEF84B945B9439A439814B880E088CD05 +:1029E0008CE886CD8DE884CD8DE882CD8DE880CDD4 +:1029F0008DE87ECD8DE87CCD82B98FEF84B995B915 +:102A0000479A479814B8611101C041984498000052 +:102A100000000000000000000000000000000000B6 +:102A2000000000000000000083B1449A419A08951C +:102A300082B98FEF84B995B9479A479814B884B989 +:102A400065B94598411101C041980000000000009F +:102A500000000000000000000000459A419A14B8F0 +:102A600008959FEF94B985B94598611101C04198C7 +:102A70000000000000000000459A419A14B8089533 +:102A8000CF92DF92EF920F93CF93DF9300D0CDB729 +:102A9000DEB76C018FEF84B965B9479A479814B8CF +:102AA0004498411101C0419822B980E0E1101FC053 +:102AB0000000000000000000000000000000000016 +:102AC0000000000093B1F601E80FF11D90832F5F25 +:102AD00022B98F5F081750F7449A419A0F900F90D0 +:102AE000DF91CF910F91EF90DF90CF9008952A83DF +:102AF00089830E940E1800000000000089812A814D +:102B0000DBCF1F93CF93DF93EC01162F40E06AEAEF +:102B100085E595E50E94181540E065E58AEA9AE2A8 +:102B20000E94181540E060EA85E595E50E941815B9 +:102B300040E0612FCE010E94181560E0CE010E9496 +:102B4000FC14182F0E940E1860E0CE010E94FC14A5 +:102B50001813F3CFDF91CF911F9108951F93CF9357 +:102B6000DF93EC01162F40E06AEA8AEA9AE80E94B5 +:102B7000181540E065E585E595E80E94181540E0E8 +:102B800060EA8AEA9AE80E94181540E0612FCE01B7 +:102B90000E94181560E0CE010E94FC14182F0E94BC +:102BA0000E1860E0CE010E94FC141813F3CFDF91E1 +:102BB000CF911F9108950F931F93CF93DF93782F99 +:102BC000CA01E901072F10E00730110580F5F8016F +:102BD000E451FA4E0C946C1AF3150C16FF150616F8 +:102BE0000916131604169FEF94B985B9439A4398B2 +:102BF00014B8872FDF91CF911F910F91089540E076 +:102C00000E94181570E0F5CF41E0FACF0E948115BF +:102C1000F9CF0E94AE15F6CF21E0288360E00E9434 +:102C2000FC148983EFCF21E0288361E0F8CF7AEAB2 +:102C3000E0CF823099F0833051F1813069F560E066 +:102C400070E0BA01552744274093B8035093B90365 +:102C50006093BA037093BB0380E008958091B8033A +:102C60009091B903A091BA03B091BB03882799272B +:102C700060E070E0842B952BA62BB72B8093B803D4 +:102C80009093B903A093BA03B093BB03E5CF81E05F +:102C900090E0A0E0B0E0F2CF83E808956093B8033D +:102CA0007093B9038093BA039093BB030895CF92B6 +:102CB000DF92EF92FF928091B8039091B903A091B7 +:102CC000BA03B091BB0327E0AC01BD0176956795CF +:102CD000579547956C017D0155E1F694E794D7949B +:102CE000C7945A95D1F74C2548276C017D01CC2417 +:102CF000F7FCC394DD24EE24FF244C254170880F9B +:102D0000991FAA1FBB1F842B2150F1F68093B80393 +:102D10009093B903A093BA03B093BB03FF90EF90D5 +:102D2000DF90CF900895880F991F880F991F20E09A +:102D300030E02817390709F40895000000002F5FDC +:102D40003F4FF7CF20E030E02817390709F4089506 +:102D5000000000002F5F3F4FF7CFCF93DF9380E15C +:102D600090E00E949316C4E0D0E084EF91E00E94CE +:102D7000931684EF91E00E9493162197B1F7C4E077 +:102D8000D0E08AEF90E00E9493168AEF90E00E94D4 +:102D900093162197B1F7DF91CF91089580E190E0EC +:102DA0000C949316CF93DF931F92CDB7DEB7F90142 +:102DB000813171F038F48130C1F078F08230C9F09F +:102DC00082E80FC08132A9F0823299F08231C1F7D6 +:102DD00082E08083128211820AC089830E94AD162C +:102DE00089810F90DF91CF9108950E94CE1680E0E7 +:102DF000F8CF81E080831182FACF482F90E0982F9E +:102E0000882720E0411103C0211180680895209592 +:102E10003FEF340F4323F6CF80E090E0089580E049 +:102E2000089560E070E0CB010895CF93DF931F9287 +:102E3000CDB7DEB7DC018FEF809307011092080158 +:102E400087E091E09093CE038093CD0316968C910A +:102E5000169789831196EC9111974E2F50E0FA0145 +:102E60003197E131F10508F0AFC0E75CF84E0C9402 +:102E70006C1A4A175A1768177617CA17E417DB1720 +:102E800084179217A017AE17E417E417E417E41796 +:102E9000E417BC1714964D915C91159728E031E02A +:102EA00013966C91139712968C910E943012809316 +:102EB00007017CC014964D915C91159728E031E094 +:102EC00013966C91139712968C910E94EC0AEFCF97 +:102ED00014964D915C91159728E031E013966C9112 +:102EE000139712968C910E942A11E1CF14964D915E +:102EF0005C91159728E031E013966C911397129628 +:102F00008C910E94DB15D3CF14964D915C9115974F +:102F100028E031E013966C91139712968C910E94E1 +:102F2000D216C5CF14964D915C91159728E031E0EB +:102F300013966C91139712968C910E94700CB7CFD8 +:102F400014964D915C91159728E031E013966C91A1 +:102F5000139712968C910E949500A9CF14964D91CB +:102F60005C91159728E031E013966C9113971296B7 +:102F70008C910E9441039BCF14964D915C911597C3 +:102F800028E031E013966C91139712968C910E9471 +:102F900019168DCFAE014F5F5F4F67E071E0CD0135 +:102FA0000E947B019093CE038093CD0389810F9083 +:102FB000DF91CF910895AE014F5F5F4F67E071E001 +:102FC000CD010E940112EECF80E871CFE09169033C +:102FD000F0916A03278144815581322F360F2313E4 +:102FE00012C0E0916903F0916A038781860F87839D +:102FF00080913801861B8093380181110DC088E9CA +:10300000838381E00895FC017191CF01FA01E20F01 +:10301000F11D70832F5FE3CF80E00895CF93DF939E +:103020006091CF03635067FD91C08091CC03CCE0E9 +:10303000D0E0C81BD109CD52DC4F8091CB038D323B +:1030400009F0CFC0683009F07FC083EC8093BF03E4 +:103050008AE58093050110920F018881807679F0CE +:10306000CE010E9415178F3F09F466C09F81911110 +:1030700069C09E81981708F065C0892F63C02A81B6 +:103080001092C803998191110AC01092C90328ECCB +:1030900033E082E03093CE032093CD03E7CF953029 +:1030A00029F42093D00328EC33E0F4CF963099F53F +:1030B0009B81913059F48EE890E09093CE038093F9 +:1030C000CD0382E190E490930F01D0CF923019F4B8 +:1030D0008CE790E0F2CF9330A9F7211108C088EE79 +:1030E00090E09093CE038093CD0384E0EBCF21302A +:1030F00041F48EEB90E09093CE038093CD038AE26F +:10310000E1CF2230F9F680EA90E09093CE038093ED +:10311000CD038EE1D7CF983059F0993019F4209330 +:10312000D203C1CF81E09A3009F4BDCF80E0BBCF9C +:1031300022ED33E081E0AECF988197FD8E8190E85B +:1031400090930F01809304011092CF0380910501A9 +:1031500084FF3AC0809104018F3FB1F1C82F8930BC +:1031600008F0C8E08C1B809304018091BF0398E8AD +:1031700089278093BF03CC23D1F08091CD03909118 +:10318000CE0320910F0126FF3FC0A0ECB3E0FC016D +:103190002C2F34913D9331962150D9F701962FEF82 +:1031A0002C0F820F911D9093CE038093CD036C2F33 +:1031B00080EC93E00E942919CC5FCC3019F08FEF9E +:1031C00080930401C093050184E199B1947131F4B5 +:1031D0008150D9F71092D0031092CA03DF91CF919A +:1031E000089580910F0187FFAFCFCE010E94E617AF +:1031F0008F3F21F48EE180930501A6CF882309F447 +:10320000A3CF10920401A0CFE0ECF3E0DC012C2F5F +:103210003D9131932150E1F7C1CFE9E6F0E08081A3 +:1032200082608083E89A0895A82FB92F80E090E00B +:1032300041E050EA609530E009C02D9182279795D2 +:10324000879510F084279527305EC8F36F5FA8F349 +:103250000895EADF8D939D930895CF93CFB7CF93D1 +:10326000DF93C3954C9BE9F74C9B0BC04C9B09C06B +:103270004C9B07C04C9B05C04C9B03C04C9B01C0A2 +:1032800089C06F93C091CC03DD27CD52DC4F2F93C3 +:1032900065E54C9B03C02F916F91E6CF0F931F9371 +:1032A0004F9320E040E15F9309B1047104FB27F9DB +:1032B0003F9350E03BE039C0147140642F77012FF9 +:1032C0005F5F1EC0406819B114712F7752501FC044 +:1032D000406409B12F770471D1F15F5F00C023C052 +:1032E000406219B12F77147191F15F5F00C025C062 +:1032F00004711027515012F45D5F000011502795A2 +:103300002C3F19B1C8F614710127015027952C3FA5 +:10331000C8F64227499309B1047110274F73115021 +:1033200027952C3FA8F64695469519B1147179F06A +:103330000127015027952C3F98F66B5A60F33150C6 +:1033400009B1B0F600C011E01CBB002717C03B500C +:103350003195C31BD04011E01CBB0881033CF9F040 +:103360000B34E9F02091CA031981110F1213EDCF2C +:10337000093651F10D3211F0013E39F70093D103B6 +:103380003F915F914F911F910F912F916F91CCB30E +:10339000C0FD67CFDF91CF91CFBFCF91189520911E +:1033A000D103222369F31091CF03112339F534306F +:1033B0003AF13093CF032093CB031091CC033BE041 +:1033C000311B3093CC031CC00091CF030130B4F407 +:1033D0000AE53091050134FD14C000930501CFEBDF +:1033E000D3E013C0052710E000C000000BB91AC0DD +:1033F000052710E0221F1DC010E021C04AE502C0D1 +:1034000032ED432FC4E1D0E032E01AB114615C9A8E +:103410000BB11AB954E120E865E320FF05270BB989 +:10342000279517951C3FF0F66695B8F7B1F720FF82 +:1034300005270BB9279517951C3FD0F627951795AB +:1034400017FF052700001C3F0BB9B0F629913A95EC +:1034500019F70B7E1091D003110FC651D0400BB954 +:1034600011F01093CA0311E01CBB00611AB11B7E5E +:10347000402F4B7E54E05A95F1F70BB91AB94BB96E +:103480007FCF9EE088E10FB6F894A8958093600006 +:103490000FBE909360000E940D19549A80E08150F5 +:1034A00099F4549878940E941F0A80EF80936C03DB +:1034B000A8950E940E180E94AA0280916C03803F7A +:1034C000B9F30E94FF0BF4CFA895EFE9FFE0319725 +:1034D000F1F700C00000E3CFEE0FFF1F0590F4915D +:0834E000E02D0994F894FFCFE0 +:0634E80069019F03FF5A79 :00000001FF diff --git a/firmware/build_stm6/inlretro_stm.axf b/firmware/build_stm6/inlretro_stm.axf index a6570f3..a074e3c 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 a9d997f..30ed9d8 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 aa18bc7..85e8af2 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 fb2e0dc..e096ed2 100644 --- a/firmware/build_stm6/inlretro_stm.hex +++ b/firmware/build_stm6/inlretro_stm.hex @@ -129,17 +129,17 @@ :1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 :10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D :10081000C858D050FBDC0849084A0020521A02DDB3 -:10082000043A8850FCDC03F029F8000070560008F8 +:10082000043A8850FCDC03F061F80000105700081F :100830000000002030040020300400203807002091 :1008400070B50E4B1A68537A55685C18E4B2A3422F :100850000ED1537A0A48CB1853720378591AC9B289 :1008600001700020814202D198230130D37070BD05 :1008700006780130EE540133DBB2E8E7940400203F :1008800098040020FF23F0B5C04C85B02380837905 -:100890000700009340780138102801D901F0F4FDD9 -:1008A000FFF76AFE1100D405B108EC09980CF20DAF -:1008B000DE0D2F0BB40B1F0C790C460A940ACF0ADD -:1008C000FE0AF20D7C0CB878BA888C231D2826D835 +:100890000700009340780138102801D901F0FEFDCF +:1008A000FFF76AFE1100D405B108F8099F0CFC0D92 +:1008B000E80D390BDC0B260C800C4F0A9D0AD90A77 +:1008C000080BFC0D830CB878BA888C231D2826D819 :1008D000FFF752FE1E0028001E011802E4028303E7 :1008E0000E04CA04E604F204FA0402050B0514051A :1008F00022052A0532053A05AA05AA05AA054A05D0 @@ -331,8 +331,8 @@ :10149000594B1A704B4B594A1360594A1170594AAB :1014A00001311360584A1170584A13600C22584B8E :1014B0001A70B023464A5B0351690B43536101F034 -:1014C000A5FEAEE1082D00D111E200D9A2E0062D63 -:1014D00000D1CEE1072DC9D101F064FF9023012492 +:1014C000DDFEAEE1082D00D111E200D9A2E0062D2B +:1014D00000D1CEE1072DC9D101F09CFF902301245A :1014E000DB051A68384F22431A6010229C61196884 :1014F0000A4304211A60802299611868D2010243CC :101500001A6080229A6180221868520102431A6090 @@ -363,9 +363,9 @@ :101690001140D96063462200034212D1019B2A0007 :1016A00003420ED10299023201420AD10399033258 :1016B000014206D10432074203D1D632064200D09D -:1016C000D13AB24B9A70ACE0B14A137001F06AFEA5 +:1016C000D13AB24B9A70ACE0B14A137001F0A2FE6D :1016D000AE4C2570AF4B0098A2B2240C5A819C816D -:1016E00005B0F0BD01F05EFE9023DB051A682A43C9 +:1016E00005B0F0BD01F096FE9023DB051A682A4391 :1016F0001A6080229D61196852030A431A60802291 :101700000421D2009A621A680A431A6002229A617E :1017100018680E3202431A604022996119680A4320 @@ -373,7 +373,7 @@ :1017300013439B4A4B6113682B401360D468994B49 :101740001C43D460106828401060D0680343D36005 :1017500080234A691B0313434B61934B934A1968D7 -:101760000A431A6000255D61B2E701F01BFE902379 +:101760000A431A6000255D61B2E701F053FE902341 :101770000121DB051A6888480A431A601022996122 :101780001968864E0A431A60042240219A611A6839 :101790000A431A6008229A618022996119685201ED @@ -386,11 +386,11 @@ :101800004A6902404A615A696B490A405A615FE776 :1018100090238022DB051968D2010A431A608022D6 :101820009A61002554E790238022DB051968D201D4 -:101830000A431A6080229A62F3E701F0B3FD902315 +:101830000A431A6080229A62F3E701F0EBFD9023DD :101840000121DB051A680A431A60102299611968A0 :101850000A431A60042240219A611A680A431A60F6 :1018600008229A6180221868520102431A60996125 -:1018700059E701F097FD90230121DB051A68474DD8 +:1018700059E701F0CFFD90230121DB051A68474DA0 :101880000A431A601022996119680A431A600422F7 :101890009A6119683C3211431960082199619A6272 :1018A0009A6180233C49DB024A6913433C4A4B61FD @@ -398,7 +398,7 @@ :1018C00028401060D0680343D36080234A691B031B :1018D00013434B61344B354A19683848114319603A :1018E000196801401960D9680A43DA603AE701F0E3 -:1018F00059FD90230121DB051A680A431A6004226E +:1018F00091FD90230121DB051A680A431A60042236 :101900009961196811431960196811431960102110 :1019100018680143196040219A611A680A431A60E5 :1019200080229D611868520102431A6099618023E8 @@ -411,990 +411,990 @@ :10199000080700200060004000100240FFFFAAAAD4 :1019A000000400480000555500080048555555559D :1019B0005055000003FF0000FFF90000AAAAAAAAE0 -:1019C000100700200C070020B023BF4A5B035169B9 -:1019D00040200B4353619022D2051368BB490B4052 +:1019C000100700200C070020B023B94A5B035169BF +:1019D00040200B4353619022D2051368B5490B4058 :1019E00013608023D1685B011943D16051680143C2 -:1019F0005160906111680B4308211360B44B19705A -:101A0000B44B1A600DE7BE78F978BD880E2E00D170 -:101A1000D2E030D8072E00D1DAE016D8022E00D15D -:101A200098E007D8002E00D186E0012E00D18DE08D -:101A3000A02684E0052E00D1B0E000D981E0042E7C -:101A4000F6D1280001F000FE7EE00A2E00D1AFE0C2 -:101A500008D8082E00D1BFE0092EE9D1280001F0F6 -:101A6000C1FA71E00C2E00D1BEE000D8ACE0280035 -:101A700001F086FA68E0222E70D017D8112E00D11E -:101A8000AEE008D80F2E00D19AE0102ED0D1280059 -:101A900001F0D4F958E0202E00D183E000D984E091 -:101AA000122EC5D1280001F08FF94DE0822E00D111 -:101AB000D1E032D8802E00D19AE000D9C4E0232EA4 -:101AC000B6D1854B9D4202D880231B021D4390272F -:101AD00000F0C6FD6B1CFF339BB20193FF057F4BEB -:101AE0007F4E5D6132687F4B00021343FF223360FB -:101AF0007369134018437061C0460823BB6200F04D -:101B0000AFFD08230135BB61019BADB29D42E6D11B -:101B10003368754A1340336016E0852E00D1A0E08B -:101B2000862E00D1A2E0842E00D081E70123280078 -:101B3000637000F095FF8CE0280001F0F5F9267045 -:101B4000C8E5280001F0CCF90026F8E7280000F0ED -:101B5000A3FFF9E7280001F027F8F5E75F4B022221 -:101B60005D6190235E48DB059A6206685D4A090262 -:101B70003243026042692DB2D2B211434161002D5D -:101B800001DA01229A62C046C04601229A61921887 -:101B90009A610368544A13400360D5E7280000F0B7 -:101BA00037FFD1E7514B1D70CEE7514B1D80CBE77E -:101BB000280000F0D7FFC7E7280001F087FDC3E742 -:101BC000280001F053FDBFE7280001F09FF8BBE7B4 -:101BD000280001F05DF9B7E7280000F0A1FFB3E7A6 -:101BE000280001F059F8AFE7280001F013F8ABE73F -:101BF000012190236170DB051868344E3040186075 -:101C0000DA6802203240DA608022D2009A6299615A -:101C1000986132484561C046C0462DB29A61002D98 -:101C200000DA9962C046C046C046C046C046C046BB -:101C3000902280212A4BD205C9001B6991620121A3 -:101C40001B0A9161A3707FE701232800637001F0F4 -:101C50009BF8A07078E701232800637000F044FF30 -:101C6000F7E701236370214B1B78EBE702236370D6 -:101C70001F4B1B88A3701B0AE37065E7B878F978DF -:101C8000BD88AA23062801D9FEF749FEFEF75AFCB3 -:101C90000445363D414D3B00FF201149AB004A69E8 -:101CA00003401448ED00024013434B619022C021D1 -:101CB000D205C90053690D400F490B401D435561C2 -:101CC0000023FEF72CFEC04600100240FFEFFFFF8E -:101CD000100700200C070020FF1F0000000800482C -:101CE0000004004800005555FFFFAAAA8C040020FC -:101CF0003604002003FF0000FFF900000022280046 -:101D000000F0C6FCDCE70122F9E7280000F006FE3F -:101D1000D6E7280000F0DAFDD2E701230021637046 -:101D2000280000F0E5FCA070CAE701216170F7E728 -:101D3000BA78BB88002A29D0012A44D1C748F9784B -:101D40004361C020C0011B18C5489BB2834202D822 -:101D50009023DB059A62C34BC34A18680902024309 -:101D60001A605A69D2B20A435A6190220821D205F8 -:101D70009162C046C046C0469161073991611A68B8 -:101D8000BA490A401A600023FEF7C9FD0121B34A8F -:101D90006170536190220420D2059062C020C0017E -:101DA0001B18AF489BB2834200D89162C046C04620 -:101DB000C046C0460121AB4B1B6991611B0A033130 -:101DC0009161A370DFE7AF23FEF7A9FDBD78022D77 -:101DD0000BD0032D29D0002D31D10223637001F0E7 -:101DE0009BFBA070000AE07073E4BD88A04BF878FC -:101DF0001D80A04BA04A1870984B000219680A4336 -:101E000098491A600E68984A32430A605D614A69CF -:101E1000D2B202434A6190220121D20591621A682E -:101E200096490A401A60002553E490230122DB05FD -:101E30009A618C4A8D4913680B401360F3E7B02513 -:101E400047E4BA780023012A01D1FEF768FD9A42DF -:101E50001FD0B133022A01D0FEF761FD8421012594 -:101E6000BB887E481943426941617E4992B28D61C7 -:101E70008D62426104228021134090220902D20522 -:101E8000002B03D091610023FEF749FD9162FEF71C -:101E900046FD01236370A933A3701300FEF73FFDD5 -:101EA000B878BB88042829D8FEF74CFB182803080B -:101EB0000C00734A13800023FEF731FD180001F077 -:101EC000B3F8F8E790230222DB059A61C046C046CA -:101ED000C046C046C046013A9A61ECE79022022310 -:101EE0000421D20563709162C046C0465B4B1B69FA -:101EF0009161A3709BB21B0AE370DCE7B223FEF78B -:101F00000EFDBD78FA78B988112D78D007D8012D4B -:101F10004DD0002D0DD0022D5AD082260FE6212D56 -:101F200063D0222D67D0122DF7D1022310206370C9 -:101F300068E00127534B04261B7810209F40FA438A -:101F4000514B01921D68AF626B6813406B6000F0EB -:101F50007CFBAF616B683B436B60FA20400000F094 -:101F600074FBFA20AF626B68019A400013406B600B -:101F700000F06BFBAF616B68013E3B43B6B26B6038 -:101F8000002EEAD10436FA2000F05FFBAF626B68E6 -:101F9000019AFA2013406B6000F057FBAF616B6849 -:101FA000013E3B43B6B26B60002EECD1C7E5354A2B -:101FB000354B12781E689540B56273681020AB43AC -:101FC000736000F042FBB56173682B437360BBE53F -:101FD00001232C4A637012782C4993402A4A9BB201 -:101FE0001268002002F0F4F933E601230020637048 -:101FF00001F094FB2DE6012310206370F8E7022323 -:102000000020637001F0E4FB60809DE5BB78BA8836 -:10201000042B1DD007D8022B40D045D8012B12D05D -:102020008723FEF77CFC072B47D003D8052BF7D17D -:10203000174B37E0082B45D0802BF1D101F0E6F8A3 -:102040000023FEF76CFC134A1278A2706370F7E766 -:10205000114B1B78A3700123F8E7C0460008004825 -:10206000FF1F00000004004800005555FFFFAAAA0A -:102070008A0400208804002055555555AAAAAAAA0A -:10208000A0040020100700200C070020040002001C -:10209000E5040020C4040020E6040020C14B1A70AF -:1020A0008322C14B1A70CBE7BE4BBF4D1A708323FE -:1020B0002B7001F01BF92B78CCE7BC4B1A70120A7D -:1020C0005A70BDE7B94B1A78A2705A78E2709A78C4 -:1020D0002271DA7862711A79A2715B79E371062351 -:1020E000B4E7B878F9780238BA888A23092801D980 -:1020F000FEF715FCFEF726FA050A10151C232F3BE8 -:102100004048AB4B1A800023FEF709FCA84B1B8804 -:102110001B0413439847F6E7FEF72AFB0300FEF77C -:10212000FEFBA448036899B213040B430360EAE77B -:10213000A0490B681B0C1B0413430B60E3E704234B -:1021400063709C4B1B681A0AA370E2701A0C1B0E7A -:1021500022716371D7E7022363705300954A1168B7 -:10216000CB181A88A2701B881B0AE370CBE7914B2F -:1021700049001B68CA52C6E78E4953000A68D31843 -:1021800002220B606270ECE78A4B49001868411824 -:1021900019600A80B7E78823FEF7C1FBBB78BA88CD -:1021A000022B09D0032B0ED0012B10D11304824A2D -:1021B00013600023FEF7B3FB7F490B681B0C1B0465 -:1021C00013430B60F5E701227B4B1A60F1E7832391 -:1021D000FEF7A5FBBA781300303B2F2B1AD8F878FE -:1021E000032814D8FEF7AEF916180211734B512AC2 -:1021F00000D17DE028D8312A57D00FD8002A37D017 -:10220000302A4BD0B423FEF78AFB6D4BEFE7B523A2 -:10221000FEF785FB6B4BEAE76B4BE8E7332A52D0BE -:102220004AD3502AEED1C022D20022801A7AA2705C -:10223000DA78E2705A7A22719A7A62719A78A27187 -:102240005B7CE371FFF746FA7F2A00D984E0702AAD -:102250005DD2602A3CD0612A43D0522AD2D180225A -:102260001B889200A3701B0A2280E370FFF732FAEA -:10227000FF21564BD1540132102AFBD10123514A80 -:102280005B425380504A53804C4A53804C4A53809F -:1022900001224F4B1A700023FEF741FBBA88110A46 -:1022A000D9721A730023FEF73AFBBA88110A5973E0 -:1022B0009A730023FEF733FBBA88110AD9731A7494 -:1022C0000023FEF72CFBBA885A740023FEF727FB85 -:1022D00080235B002380BB883C4AD35CA370FFF75C -:1022E000F9F980235B0023803A4B1B68DB78F5E724 -:1022F000C022D2002280DA7AA2701A7BE2705A7B66 -:1023000022719A7B6271DA7BA2711B7C99E72D4B5B -:1023100038785C682F4B1968CB787F2800D9B6E0F5 -:102320002D48009D0570002B0FD000200090982BA9 -:1023300000D1B2E004E000200090D02B00D1ACE04E -:10234000234B10301870FF2304E0244B19609023B6 -:10235000CB706F330093A0E00720104003281AD8F9 -:10236000FEF7F0F81C1E0217144B802A01D2FFF76B -:10237000B1F9872A34D97032D2B2072A01D9FFF7CE -:10238000A9F900222270FA789A72BA881A80FFF7A7 -:10239000A1F90B4BE9E7B523FEF7C1FA094BE4E7D6 -:1023A000094BE2E7C4040020E6040020C504002035 -:1023B00034040020300400209C040020600400202D -:1023C00074040020380400204C040020E70400209E -:1023D000A40400209004002098040020940400200D -:1023E000B888F978C6B28D19BE22102D2CDC0432C3 -:1023F000002929D0DD78033AFF2D25D19D780132BF -:10240000FF2D21D10022D7B2B94220D82F4D002272 -:10241000AC464F01013F1F727701000A6744987074 -:10242000DA705A729A721A80DA721A735A739A733D -:10243000DA731A745A745F60254B9D19A8540132DF -:10244000D3B28B42FAD300222270FFF743F9013254 -:10245000B7181F4D013FEF5DFF2FD4D0C122F3E726 -:10246000BB78002B04D0402B08D0D223FEF757FABC -:102470002370BA88174B1A70FFF72CF980235B0082 -:102480002380144B1B7829E78023FEF748FAD82BCA -:1024900000D050E780234C68CB7000234B72CB7880 -:1024A000902B01D0FFF716F9712A01D0FFF712F92E -:1024B000094BBA881B6859680A70BA885968120AA9 -:1024C0004A705A7A02325A72FFF704F9F80400206F -:1024D000E7040020A404002094040020F0B51C4D63 -:1024E000040005A8067868690902C0B2084368615B -:1024F00090200421C00581622900002A01D1013207 -:102500008262FF2500204A692D022A401A43114F9A -:102510004A61C046C046C046C046C046C046C046E6 -:10252000C046C046C0463A690133120A22544A697D -:10253000DBB22A4001301A43C0B24A61B042E8D946 -:1025400090230422DB059A61033A9A61F0BDC046EC -:102550000008004800040048F0B5184C0500606908 -:102560000E02C0B23043606180269020F600C005A4 -:1025700049B28661002901DA01218162FF26616981 -:102580003602314011436161C04600200C4FC04605 -:1025900039690132090A29546169D2B231400130E6 -:1025A0001143C0B261619842F1D990238022DB05CA -:1025B000D2009A6201229A61F0BDC046000800482C -:1025C00000040048F0B5174C05000E0060691F2993 -:1025D00025D8802131430902C0B2014361619021B5 -:1025E0000420FF26C9058862616936023140114323 -:1025F0006161C04600200C4FC04639690132090AAA -:1026000029546169D2B2314001301143C0B26161D5 -:102610009842F1D990230422DB059A61F0BDC0B243 -:102620000902DAE70008004800040048002302001D -:102630000002002A04D1002B01D0802318437047E8 -:10264000DB43511EDBB20A40F3E70023800080B277 -:10265000C046C04601339BB29842F9D17047FFFF94 -:1026600030B50722012409490868450D43086B402D -:102670004340C50FDBB26B40013A23404000D2B269 -:102680001843002AF1D10860C0B230BD9C0400207C -:10269000134B10B55861134B13481C6809022043B3 -:1026A00018605869C0B20143596190210820C905DA -:1026B0008862002A01D101328A62C046C046C04603 -:1026C000C046C046C046C046C04690220821D2053A -:1026D0009161073991611A6804490A401A6010BD76 -:1026E000000800480004004800005555FFFFAAAA52 -:1026F0000F4B58619023DB05002901D101229A621A -:1027000004229A62C046C046C046C046C046C04683 -:10271000C046C046C046C046C046C046C046054941 -:1027200008699A61000A033AC0B29A617047C046CC -:102730000008004800040048F7B504000E004D7A78 -:10274000C046C046C046C046C046C046C046C04659 -:10275000C0460022AA215848FFF79AFF00225521BF -:102760005648FFF795FF2402002220215248FFF728 -:102770008FFF23B20193EBB20093337AAB4216D2B0 -:102780008020009B0022737290210002FFF780FFDF -:102790000022802011000002FFF77AFF8020002233 -:1027A000F0210002FFF774FFC0460020FEBD444B3D -:1027B000444A196808200A43FF211A605A690A40EE -:1027C000A02109020A435A6190220121D205906298 -:1027D0009162C046C046C046C046FF2490619161E8 -:1027E0001A6839492C400A401A60019B009A1C4320 -:1027F0007368A4B2995C20000022FFF749FFC0462D -:10280000C046C046C046C046C046C046C046C04698 -:10281000C04600212000FFF76BFF0700C046C046FE -:10282000C046C046C046C046C046C046C0467368A3 -:10283000009A9B5C834217D0C046C046C046C04643 -:10284000C046C046C046C046C04600212000FFF733 -:102850004FFFB8420BD1C046C046C046C046C04636 -:10286000C046C046C046C0460135ADB283E7C0464B -:10287000C046C046C046C046C046C046C046C04628 -:10288000C046C046C046C046C046C046C046C04618 -:10289000C046C046C046C046C046C046C046C04608 -:1028A000C046C046C046C046C04600212000FFF7D3 -:1028B0001FFF0700C9E7C046AA8A0000558500002F -:1028C0000004004800005555FFFFAAAA70B5040097 -:1028D0000D000022AA210F48FFF7DAFE0022552141 -:1028E0000D48FFF7D5FE0022A0210A48FFF7D0FED1 -:1028F000002229002000FFF7CBFE00212000FFF777 -:10290000F7FE0500C04600212000FFF7F1FEA842B7 -:10291000F3D170BDAA8A00005585000070B504008F -:102920000D000022AA210F48FFF7B2FE0022552118 -:102930000D48FFF7ADFE0022A0210A48FFF7A8FED0 -:10294000002229002000FFF7A3FE00212000FFF74E -:10295000CFFE0500C04600212000FFF7C9FEA842B7 -:10296000F3D170BD55550000AA2A0000C9015208D4 -:102970000A43FF21F0B585B00293234B0500586947 -:1029800012B209021140C0B20143902459610121E1 -:10299000E405A1620331A162FF213F2658690902C3 -:1029A000D2B2084010435861B4460020174F01933B -:1029B0000391C046C046C046C046C046C046C04659 -:1029C000C0466346396926698908F6089E4319405E -:1029D000314329543E69411C019BC9B2360A6E54E9 -:1029E0005969039B01321940D2B2019B11435961CD -:1029F0000230029BC0B28342DBD20423A361033BBB -:102A0000A36105B0F0BDC0460008004800040048BE -:102A10000F4B30B59022586180230124D205DB0092 -:102A200093620C4B94621D680B480902284318609E -:102A30005869C0B201435961C04608219162C0463D -:102A400091611968054801401960946130BDC04624 -:102A5000000800480004004800005555FFFFAAAADE -:102A60000B4B10B580215861902301220424DB0513 -:102A7000C90099619A629C62C046C046C04605483A -:102A800000699C61000A9962C0B29A6110BDC0469B -:102A900000080048000400480E4B984202D88023EA -:102AA0001B0218430C4B0D4A58610D4B0902186864 -:102AB00002431A605A69D2B211435961C04690224A -:102AC0000821D2059162C04691611A6805490A4001 -:102AD0001A607047FF1F00000008004800005555AD -:102AE00000040048FFFFAAAA0A4B984202D880239C -:102AF0001B021843084B042258619023DB059A629D -:102B0000C046C046C046C046044908699A61000AEA -:102B1000C0B27047FF1F00000008004800040048D2 -:102B200070B504000D000D48AA21FFF7B5FF55212F -:102B30000B48FFF7B1FFA0210848FFF7ADFF2900C0 -:102B40002000FFF7A9FF2000FFF7CEFF0500C046D9 -:102B50002000FFF7C9FFA842F5D170BD5515000050 -:102B6000AA1A000070B504000D000D48AA21FFF755 -:102B700093FF55210B48FFF78FFFA0210848FFF76F -:102B80008BFF29002000FFF787FF2000FFF7ACFF35 -:102B90000500C0462000FFF7A7FFA842F5D170BD91 -:102BA00055150000AA0A00009023DB0530B51C680B -:102BB000134D09022C401C60DA68124C2A40DA607E -:102BC000114A506102229A62104A00B215682C43E1 -:102BD00014605469E4B2214351618021C9009961B4 -:102BE000002801DA01209862C046C046996201219E -:102BF000996149189961136805490B40136030BD0C -:102C0000FFEFFFFF00005555000800480004004892 -:102C1000FFFFAAAAF7B51C4B07001D781B4B0191BB -:102C20001C88202126002036B6B23000FFF7BCFFFA -:102C3000AA211748FFF730FF2000103080B2102182 -:102C4000FFF7B2FF2D0155211248FFF725FFEDB226 -:102C500020213000FFF7A8FF6419A0210C48FFF7DE -:102C60001BFFA0B22900FFF79FFF01993800FFF773 -:102C700013FF3800FFF738FF0400C0463800FFF7A5 -:102C800033FFA042F5D1F7BD8C04002036040020AC -:102C900055150000AA0A000070B50400B0200E000F -:102CA00000020A21FFF780FFC0200A210002FFF77F -:102CB0007BFFAA211248FFF7EFFE55211148FFF7CD -:102CC000EBFEA0210E48FFF7E7FEB0200E4B0002FE -:102CD0001D782900FFF768FFC02029000002FFF7D8 -:102CE00063FF31002000FFF7D7FE2000FFF7FCFE56 -:102CF0000500C0462000FFF7F7FEA842F5D170BDE1 -:102D000055150000AA0A00008C040020F8B5050043 -:102D10000E00194B02211C88A71CBFB23800FFF718 -:102D200043FFAA211548FFF7B7FE601C80B20121BE -:102D3000FFF73AFF55211248FFF7AEFE0221380097 -:102D4000FFF732FFA0210D48FFF7A6FE0D4B1978C3 -:102D50006418A0B2FFF728FF31002800FFF79CFE9F -:102D60002800FFF7C1FE0400C0462800FFF7BCFEA4 -:102D7000A042F5D1F8BDC04636040020551500002C -:102D8000AA0A00008C0400200D4B80225861902379 -:102D9000D200DB0500B29A61002801DA01229A62B2 -:102DA000C046C046C046C046064B802218699023E4 -:102DB000D200DB059A620122000AC0B29A61704714 -:102DC000000800480004004870B50400C0200D0051 -:102DD00000020121FFF7E8FEAA211548FFF7E4FEF3 -:102DE000C02000210002FFF7DFFE55211148FFF748 -:102DF000DBFEC02001210002FFF7D6FEA0210C4817 -:102E0000FFF7D2FEC0200C4B00021978FFF7CCFE72 -:102E100029002000FFF7C8FE2000FFF7B5FF0500DE -:102E2000C0462000FFF7B0FFA842F5D170BDC046F4 -:102E300055950000AAAA00008C04002070B504007B -:102E40000D001048AA21FFF7AFFE55210E48FFF7ED -:102E5000ABFEA0210B48FFF7A7FE29002000FFF7DB -:102E6000A3FEA020094B00021978FFF79DFE200069 -:102E7000FFF78AFF0500C0462000FFF785FFA84244 -:102E8000F5D170BDAAFA000055F500008C040020B1 -:102E900070B504000D001048AA21FFF785FE5521EA -:102EA0000E48FFF781FEA0210B48FFF77DFE2900A9 -:102EB0002000FFF779FE802000210002FFF774FE5A -:102EC0002000FFF761FF0500C0462000FFF75CFF10 -:102ED000A842F5D170BDC04655D50000AAAA000091 -:102EE0000D4B0E4A58610E4B0902186802431A60D6 -:102EF0005A69D2B21143902259618021D2051068DB -:102F00004901014311604021916291611A680549AC -:102F10000A401A607047C046000800480000555536 -:102F200000040048FFFFAAAA104B114A10B55861CF -:102F30001068104B09020343136053690E4CDBB257 -:102F40001943902351618021DB051868490108432A -:102F5000186040209862186820401860D8680143C3 -:102F6000D960136805490B40136010BD0008004884 -:102F70000004004800005555FFEFFFFFFFFFAAAA1D -:102F800070B505000E00134B00211C882000FFF7D0 -:102F90000BFEAA211048FFF7C7FF55210F48FFF786 -:102FA000C3FFA0210C48FFF7BFFF0D4B1978641831 -:102FB000A0B2FFF7F9FD31002800FFF7B5FF2800A8 -:102FC000FFF7E2FE0400C0462800FFF7DDFEA04246 -:102FD000F5D170BD3604002055550000AA2A000026 -:102FE0008C04002070B504000D000D48AA21FFF7E5 -:102FF0009BFF55210B48FFF797FFA0210848FFF7DB -:1030000093FF29002000FFF78FFF2000FFF7BCFE91 -:103010000500C0462000FFF7B7FEA842F5D170BDFD -:1030200055550000AA2A0000902270B50225D2054D -:103030009561C046C046C046C046C046C046012451 -:10304000094B94611E680949314319600849098890 -:103050005961C04695625861C04694621A68054934 -:103060000A401A6070BDC0460008004855555555C5 -:10307000A0040020AAAAAAAAF0B58BB00992012246 -:1030800008911100354B02901F78354B1B78049343 -:10309000344B1D68344B1B789940344B01911868B0 -:1030A000334BA9621B789A40029B102B4FD182624E -:1030B000012421002F4B05941B6806932E4B1B788F -:1030C00099408BB2210007932C4B1B689C462C4BDC -:1030D0001B789940002303911900029C202C05D1F4 -:1030E000049E059C1E41264236D08261089C202CFD -:1030F0000FD1002B01D11A4C6354069C2669079C02 -:10310000264206D0164C665C059C9C402643144C17 -:103110006654099C013FFFB2002C03D0002F01D15F -:10312000019CAC616446039E0133DBB2A661A662DA -:10313000082B05D101310A4BC9B25B5C0493002313 -:10314000002FCAD1019B8262AB620BB0F0BD029B23 -:10315000112BADD18261ABE78262C7E7E5040020A5 -:10316000C50400202C070020300700201C07002089 -:103170002007002024070020280700201407002033 -:1031800018070020F7B501221A4B1C781A4B196852 -:103190001A4B1B789A40102826D18A6201263500E6 -:1031A000174B01961B680093164B1B789D4000231C -:1031B000AC461D0020280DD1134E019F765D1E41A7 -:1031C0003E4215D08A610133DBB2082B02D10023C5 -:1031D0000135EDB26646009F013CE4B2BE61BE62BD -:1031E000002CE7D18A62F7BD1128D7D18A61D5E7D3 -:1031F0008A62E8E7E50400202C0700203007002061 -:103200001407002018070020C5040020F0B52C4B3F -:1032100085B01B78019301231E00019A1F00964080 -:10322000284A1168284A8E62127802921A0002987F -:10323000824094466046254A126890622448057888 -:103240002448AF4000689D408762046803941C00D6 -:10325000AC402500039C254305604568019CBD43A7 -:1032600045609C401D00A54008681C00284308607C -:103270004868B04348601068029999408C4021002A -:1032800001436046116051688143134851600078E2 -:10329000124A984083401268116899431160D168BE -:1032A0000B43D36080220E4B1A70002319000D4A85 -:1032B00013700D4A99540133202BFBD105B0F0BD9A -:1032C000300700202C070020200700201C070020CA -:1032D00018070020140700202807002024070020DA -:1032E000E6040020E5040020C504002010B52B4BA7 -:1032F0001B78082B4ED013D8294C032B39D006D875 -:10330000012B28D0022B2AD0254BEE223AE0062BA7 -:103310003AD03DD8042BF7D101222021112021E001 -:103320000F2B28D008D81E4C0D2B1FD000220E2B9F -:10333000EAD12021102015E0802B06D0184CFF2B5D -:1033400006D0102BE0D100221FE0FFF75FFF10BD79 -:10335000F0232370FBE72020FFF714FF04E0012295 -:1033600000212020FFF788FE8223F2E700221100CF -:10337000F7E70122DDE7002220211120FFF77CFE84 -:103380008222074B1A70E2E7012220210800E9E7B8 -:103390001020E1E71120FFF7F5FEF1E7C40400205B -:1033A000E6040020BC224D4BD203996AF0B50A43D3 -:1033B0009A629A6A4A490A409A62B022596952034B -:1033C0000A435A6119009023464ADB051278102AF5 -:1033D00003D100221A609A60DA601A684248012418 -:1033E00002401A608022D868D2010243DA601A686B -:1033F0003E483F4F02401A608022D8685203024381 -:103400000420DA601A68A2431A60DA682243DA609C -:103410001A6882431A60DA680243DA6010221D6873 -:1034200095431D60DD682A43DA6040221D6895439C -:103430001D60DD682A43DA601A682E4D2A401A6042 -:103440008022DD68D2042A43DA601A682A4D2A40B5 -:103450001A608022DD68D2052A43DA601A68274D97 -:103460002A4080251A60DA68ED022A43DA60244A8D -:103470001668A6431660D6683443D4601E683E4082 -:103480001E60DC683C40DC6080234C691B032343E6 -:103490004B611C4B1C4C1E681C4F26431E601E6853 -:1034A0003E401E60DE683443DC604B691D434D6165 -:1034B0001368174D2B401360D468164B1C43D4601F -:1034C000116829401160D1680B43D36013688343AE -:1034D0001360D3681843D060F0BDC04600100240AE -:1034E000FFFFA1FF08070020FFBFFFFFFFFFEFFF67 -:1034F000FFEFFFFFFFFFFFFBFFFFFFBFFFFFFBFF34 -:10350000000400480008004855555555AAAAAAAA23 -:10351000FFFFAAAA000055550D480E4A038810B5B2 -:103520000D49934202D10A7801320A709022042494 -:10353000D205013394620380084B18699461084CEA -:103540000B7862691B02D2B2134380B2636110BD73 -:103550008A040020FFFF00008804002000080048C3 -:1035600000040048F7B50D00042701924C7A0002D0 -:1035700003B2A6B200932B7AB34202D26C7200203F -:10358000FEBD00986B682043195D80B2019B98478F -:103590006B681A5D094B824205D01A683A431A607B -:1035A00002229A61E7E71A680134BA431A60DA68BE -:1035B00001363A43DA60E4B2B6B2DCE70004004810 -:1035C000F7B50D001600FF27000203B24C7A0193F5 -:1035D0002A7AE3B2A24202D26B720020FEBD200022 -:1035E0006A683840D15C019B0134184380B2B0470F -:1035F000A4B2EDE7022907D10F4B104A984218D028 -:10360000904209D1180007E0032906D10A4B0B4963 -:103610000B4A98420BD1080070470429FCD1064B95 -:10362000064A984205D006499042F4D0054A88429D -:10363000E6D11000F0E7C046380400204C0400201A -:10364000600400207404002070B506000D000524FD -:103650003000013CFFF798FBE4B229003000FFF78F -:10366000A3FA6D08002CF3D170BDFFFF70B5040004 -:10367000A0200D0000020221FFF7E6FFAA2110485A -:10368000FFF70AFA55210F48FFF706FAA0210C4868 -:10369000FFF702FAA0200C4B00021978FFF7D4FFC5 -:1036A00029002000FFF7F8F92000FFF71DFA0500B8 -:1036B000C0462000FFF718FAA842F5D170BDC046F9 -:1036C00055150000AA0A00008C04002070B5040003 -:1036D000C0200D0000020521FFF7B6FFAA210D480A -:1036E000FFF762FA55210C48FFF75EFAA02109485E -:1036F000FFF75AFA29002000FFF756FA2000FFF7DB -:1037000043FB0500C0462000FFF73EFBA842F5D171 -:1037100070BDC04655550000AAAA0000F7B50123A8 -:103720000225294F01923A780091054393400421E4 -:10373000A020264E2D049BB229433268C00100F020 -:1037400047FE040001283DD13B7809209C400543F9 -:103750007830A3B232682900FF3000F039FE04004F -:1037600001282FD13B7832689C402900A3B2002069 -:1037700000F02EFE0400012824D1009B180AFEF759 -:1037800055FF3B7832689C402900A3B200F020FE30 -:103790000400012816D16B461878FEF747FF220077 -:1037A0003B7829009A4093B2326800F011FE0198EC -:1037B000FEF73CFF3B7832689C402900A3B200F042 -:1037C00007FE0400E0B2FEBD100700200C07002039 -:1037D000F7B501230225274F00903A780191054360 -:1037E00093400421C020244E2D049BB2294332680B -:1037F000800100F0EDFD0400012838D109231D43AC -:103800003B78C0209C403268A3B22900400000F001 -:10381000DFFD040001282AD13B7832689C40290052 -:10382000A3B2002000F0D4FD040001281FD1019BA9 -:10383000180AFEF7FBFE3B7832689C402900A3B2D1 -:1038400000F0C6FD0400012811D16B461879FEF77F -:10385000EDFE22003B789A4093B2009A144309226D -:10386000E1B209041143326800F0B2FD0400A0B2D5 -:10387000FEBDC046100700200C070020C74BC84AF9 -:10388000F0B51A60C74A8BB01A6002225A60A022B3 -:1038900012019A600493049BDB68002BFBD19022F9 -:1038A000049BC14912031960C04B186802431A6097 -:1038B00080220991920219681142FCD001225968B4 -:1038C0000A435A608022596852020A435A60802291 -:1038D000596852030A435A608022196852040A4305 -:1038E0001A608022920419681142FCD01121B04A5A -:1038F000B04C11605A680E398A43110002220A4303 -:103900005A608022196B0A431A638022D969120413 -:103910000A43DA61A84BE381BC231B689847A74B95 -:103920006382A74B238262B6FFF73CFDF022A54BD2 -:103930001A70049B099AA44E1A6032782023110051 -:103940009943D2291BD1A149A148C978C37802243F -:10395000FF2904D1FF3B1C00631E9C41E4B29D4B38 -:10396000DB78FF2B00D003249B4BDB78FF2B00D0B0 -:1039700004249A4B9A4F1C703860D22A56D0337860 -:10398000F22B05D10022023B3370954B1B68DA7095 -:103990003578D02D00D0D6E1914E3068C378802B99 -:1039A00000D0D0E18D4B1978FFF724FE0023306062 -:1039B000C570068804004372C07AF5B2103820281A -:1039C00000D9BEE1FCF7D8FD12014A018D01910139 -:1039D000BD01BD01BD01BD01BD01BD01BD01BD01F7 -:1039E000BD01BD01BD01BD013500420050005500C3 -:1039F000580062006900A600BC00C400BD01BD0102 -:103A0000BD01BD01BD01BD01CB002100FFF7F2FDED -:103A100001230135EDB2A542F7D3002B00D0386069 -:103A200080223B68DA70D0233370A8E70023012599 -:103A3000F1E7E17B0F2900D9A6E109013143237A9F -:103A4000A278C9B26068FEF787FD0BE03C23E17BFA -:103A50000A009A4300D097E1237AA278294360684C -:103A6000FEF7B0FD607262E0237AA278E17B294321 -:103A7000E8E7E17B3F23EBE7227AE17BA378009242 -:103A8000002229436068FEF729FDEBE7E17B227AFB -:103A9000A378294300920122F4E7524BE17B586955 -:103AA00029430E02C0B230436568A278277A586174 -:103AB000902004266031C005C9B286621E001F290D -:103AC00001D801218162FF205969000201401143A0 -:103AD0005961C046444900238C46C046C046C04692 -:103AE000C046C046C046C046614609690132090A5F -:103AF000E9547169D2B2014001331143DBB2716103 -:103B00009F42EAD290220421D2059161033991614A -:103B100063720CE00025267A67687608FFF7FCFCE4 -:103B20000135EDB238800237AE42F7D265722C4BC8 -:103B30001B6819889A7A52181A80D822DA7002E122 -:103B4000E17B237AA27829436068FEF70FFF89E7BB -:103B5000E17B237A29430131A278FF31F4E7A07891 -:103B60002D0228436668277AFFF75EFA1D4A9020E7 -:103B7000002304259446C0058562C046C0466246BF -:103B8000116985618AB2120AF2545A1C0233D2B208 -:103B9000DBB2B1549F42EFD2BAE7C04600300040DA -:103BA000CCCC000055550000AAAA0000001002402D -:103BB00000200240006000403CA5FFFF41080008D3 -:103BC00085080008E6040020A40400204C0400201E -:103BD000380400206004002074040020A2040020A7 -:103BE000900400200008004800040048E37B1E2BDE -:103BF0000BD1C020B6092233F1B200029D43FEF77B -:103C0000D3FF237AA278802131E71C2B0FD1A0208B -:103C10008121C001FEF7C8FF8020F609F1B2000241 -:103C2000FEF7C2FFA0200021C001FEF7BDFF8021EA -:103C3000E27B49421F2A05D00D43EDB2237AA278D8 -:103C40002900FFE67022A02095430D432188C00182 -:103C50000909C9B2EDB2FEF7A7FFEFE7E37BFE2B40 -:103C600000D064E77609F1B2DE48FEF715FF1F21A8 -:103C7000636829409C46DC4B09025A69A678D2B297 -:103C80000A43277A80215A619022C900D2059161A6 -:103C90000121FF209162033191625A6900020240C2 -:103CA00032435A61C0460022D04D0390C046604660 -:103CB00029690136090A815459690398F6B201400D -:103CC00001323143D2B259619742EFD2902304219D -:103CD000DB0599618021C9009962012199616272B5 -:103CE00025E7237AA2786021C1E6E37B002B20D16F -:103CF0008033F6091D43F3B20293FF20029BBB49B8 -:103D00009B004A690340BA48024013434B61C020FC -:103D10009021029BC905C000DB004A690340B548F9 -:103D2000024013434B61227AA378290000920022BB -:103D3000A8E6012BE1D140217604760E31430291B1 -:103D4000DBE7C323E370AC4B1D78F02D00D00DE30F -:103D5000AA4E3468E378982B00D007E3A84B2000E4 -:103D60001978FFF747FC00233060C370E07AE570F4 -:103D700010382678042800D9F6E2FCF7FDFB07008E -:103D8000FB0189029102EA00C423DBE7E37B002BFD -:103D900006D130008038C0B29A4A2100FFF7E2FB1A -:103DA000E37B012B06D130008038C0B2964A210057 -:103DB000FFF706FCE37B032B06D130008038C0B24E -:103DC000924A2100FFF7FCFBE37B042B06D1300075 -:103DD0008038C0B28E4A2100FFF7C4FBE37B0A2B78 -:103DE00006D130008038C0B28A4A2100FFF7E8FBD4 -:103DF000E37BFD2B15D13F20238830409B090593A1 -:103E00006B4680261B7D06430793677ABBB20393FC -:103E100033021BB20893237A039A934200D39FE0A4 -:103E20006772E37B1E2B06D130008038C0B27A4A1D -:103E30002100FFF797FBE37B0C2B17D11F203040AD -:103E400080260643C0202588A5216D09EDB2C0015A -:103E5000FEF7AAFE29007148FEF7A6FE677A350232 -:103E60003D43237ABB4200D3EDE06772E37B1C2B1A -:103E70003BD1A02023888121DB09DBB2C00105935F -:103E8000FEF792FE802005990002FEF78DFEA0202D -:103E90005421C001FEF788FE677AAA21BBB26048B0 -:103EA0000393FEF781FE55215E48FEF77DFE20213B -:103EB0005B48FEF779FE802333431B021BB2079356 -:103EC000237A039A934200D3DAE080209021000203 -:103ED0006772FEF769FE802000210002FEF764FE93 -:103EE0008020F0210002FEF75FFEE37B1F2B30D124 -:103EF000A0202188C0010909C9B2FEF755FEAA21F8 -:103F00004748657AFEF750FE55214648FEF74CFEBD -:103F100043482021FEF748FE702380209E43404204 -:103F2000304340B20302AFB20593237ABB4200D3C1 -:103F3000EEE08020902100026572FEF735FE8020C1 -:103F400000210002FEF730FE8020F0210002FEF783 -:103F50002BFEF4232288E370A37A9B18238005E2CA -:103F600000213148FEF720FEAA213048FEF7B8FFB5 -:103F700055212F48FEF7B4FFA0212C48FEF7B0FFD3 -:103F80006B46187D2B4B0799C01880B2FEF70CFECC -:103F9000089D63683D43ADB2D95D2800FEF7A0FFE0 -:103FA000C0462800FEF7F0FE06902800FEF7ECFE63 -:103FB000069B8342F4D163680699DA5D0B4B8A4213 -:103FC0003AD1039A1968013292B2039204229143C2 -:103FD0001960D96801370A43DA600222FFB29A6297 -:103FE00019E7C046FF3F00000008004800040048F1 -:103FF00003FF0000FFF90000A4040020900400204B -:10400000A2040020E52F0008CD360008812F00080B -:10401000912E00083D2E0008C92D0008FFFF00006A -:10402000AA8A00005585000069FD00005555000072 -:10403000AA2A000069FDFFFF042219680A431A60DA -:1040400002229A61E7E6AA21CF48FEF7ADFD55218D -:10405000CE48FEF7A9FDA021CB48FEF7A5FD636879 -:104060002800D95DFEF7A0FDC0462800FEF78CFEB3 -:1040700003902800FEF788FE039B8342F4D1F0E60C -:10408000A0205421C001FEF78FFD079DA0213D43D4 -:10409000ADB22800FEF788FD63682800D95DFEF701 -:1040A00083FDC0462800FEF76FFE06902800FEF74D -:1040B0006BFE069B8342F4D16368069ADB5DB44DC8 -:1040C00093420FD1039B2A6801339BB203930423CD -:1040D0009A432A60EA6801371343EB600223FFB278 -:1040E000AB62EDE6A0208121C001FEF75DFD8020DE -:1040F00005990002FEF758FDA0205421C001FEF7EB -:1041000053FD04232A6813432B600223AB61D7E6D7 -:10411000059EA0212E43B6B23000FEF745FD636830 -:104120003000595DFEF740FDC0463000FEF72CFE22 -:1041300003903000FEF728FE039B8342F4D16368AE -:1041400003995A5D924B8A420DD104211A680135B8 -:104150008A431A60DA6801370A43DA600222EDB254 -:10416000BFB29A62E1E604211A680A431A60022289 -:104170009A61DAE6E37B002B04D1864A2100300005 -:10418000FFF71EFAE37B012B04D1834A21003000A4 -:10419000FFF716FAE37B022B04D1804A210030009E -:1041A000FFF70EFAE37B042B04D17D4A2100300097 -:1041B000FFF706FAE37B0A2B04D17A4A210030008C -:1041C000FFF7FEF9E37B0B2B04D1774A2100300087 -:1041D000FFF7F6F9E37BFE2B00D0BAE6218873489F -:1041E0004909C9B2FEF758FCAA217148657AFEF761 -:1041F0000FFC55216F48FEF70BFC6D482021FEF7A0 -:1042000007FC1F2030400302AFB20593237ABB4264 -:104210000DD2657290210020FEF7FAFB0021080004 -:10422000FEF7F6FBF0210020FEF7F2FB91E6059E7B -:10423000A0212E433000FEF7EBFB63683000595D90 -:10424000FEF7E6FBC0463000FEF70AFC03903000A4 -:10425000FEF706FC039B8342F4D1636803995A5D21 -:104260004B4B8A420DD104211A6801358A431A60EA -:10427000DA6801370A43DA600222EDB2BFB29A620D -:10428000C4E704211A680A431A6002229A61BDE752 -:1042900030006030484A2100C0B2FFF791F958E67B -:1042A000E37B042B06D130008038C0B2434A2100A2 -:1042B000FFF786F9E37B052B04D1404A210030004B -:1042C000FFF77EF9E37B062B06D130008038C0B2C1 -:1042D0003B4A2100FFF774F9E37B072B04D1384AEE -:1042E00021003000FFF76CF9E37B002B1CD1FF228B -:1042F00080331E4323882648DB09DBB29D004169D9 -:104300002A40304DDB0029400A4342619022C02000 -:10431000D205C000516903402B4801400B43536153 -:1043200021003000FEF708FAE37B012B00D010E6F5 -:104330002388174A5B04580E40230343FF209B0049 -:10434000516903401F4801400B4390215361C90547 -:104350004B691D4A30001A4080239B0013434B6178 -:104360002100FEF7E9F9F4E5C323E370174B1B784E -:10437000F02B01D1FFF7DDFA832B01D0FFF7D9FA3B -:10438000FEF7B4FFFFF7D5FA55D50000AAAA000042 -:1043900000040048652B00086D3600080D2D00084C -:1043A000212B0008992C0008152C0008FF3F000065 -:1043B000AA0A000055050000A92B00081D290008C5 -:1043C000CD28000803FF0000FFF90000E6040020EC -:1043D000F0B5474680B4061C081C000C102801D517 -:1043E000162700E004270007000F8046FF20014049 -:1043F0005468251C1D439C43F60313850AD5C0460B -:10440000C046C046C046C046C046C04694801383DE -:10441000958002E0012000F081F801390AD4381CAF -:1044200000F07CF8C046948013839580C046C04657 -:104430007600E2E7381C013800F070F894801383AE -:104440009580042000F06AF8108A184001D0FF20FF -:1044500061E0C046C046C046C046C046C0469480E3 -:104460009580108A184055D001200226B04552D0C0 -:104470000921168A1E40FCD1012000F04FF89480DB -:10448000C0469580C04603E0C046C046C046C04610 -:10449000948095807600108A1840EFF300804000E9 -:1044A000C00F0643381C023800F038F8948095801D -:1044B000022000F033F80139EAD5138594800120F9 -:1044C00000F02CF813839580301C80210223994042 -:1044D0000E401BD1002341085E4149085E41490856 -:1044E0005E4149085E4149085E4149085E4149080C -:1044F0005E4149085E4149085E41760808D340089C -:10450000FF21084048400002013004E00E2002E094 -:10451000092000E0002080BCB846F0BD0138FDD184 -:104520007047C04603685A0003D45B005B08C0189C -:104530007047802212061343F9E7C046F0B557468C -:104540004E46DE464546E0B5814683B09246002998 -:1045500025D04B1E9B46002701935B46FB18DC0FC2 -:10456000E4184B466410E5005E193000FFF7DAFFEF -:10457000019B8046A3420BD0280008304844FFF737 -:10458000D1FFD04506D80138504509D2671CE4E771 -:10459000504505D9A74202D0631E9B46DDE70026A1 -:1045A000300003B03CBC90469946A246AB46F0BDF5 -:1045B000012809D0022805D0002801D0002070472A -:1045C0000248FCE70248FAE70248F8E7A54C000871 -:1045D000BD4C0008B14C000830B5234B83B005003A -:1045E0008C1E002B26D001A9200000E000BF00286F -:1045F0001CD001992200FFF7A1FF041E16D0FFF77F -:1046000091FF6368A864012B2AD0201D002B23DBB7 -:10461000FFF788FF0023E8642B650368002B0FDB9E -:10462000FFF780FF2861002003B030BD0023092080 -:104630002B61F9E70D480E49091AC9100191D9E714 -:104640001801000FFFF7B4FF2861431E98410823AB -:10465000404298430930E7E70123E8642B65DCE733 -:10466000002305202B61DFE700000000A0550008B3 -:1046700070560008036810B50400DA0705D4483006 -:104680009B070ED500F06CFC23685A070ED51A075D -:1046900013D5DB0604D42000D130FF3000F06CFCD1 -:1046A00010BD00F059FC23685A07F0D42000D03028 -:1046B00000F05AFC23681A07EBD420005130FF3079 -:1046C00000F056FC2368E4E70368002B00D01B18B9 -:1046D00018007047092070477047C04670B5040045 -:1046E0000D0008E02B6C2A00636121000120236982 -:1046F0009847082807D1296C2000FFF76DFF002894 -:10470000F0D000F083FE0728FBD10020296CFFF7D2 -:10471000E3FF281D00F00AFCF0B5CE46474680B501 -:10472000C3682E4C9846A5448369060014000431E2 -:10473000402205A8994600F071FE002304AD0493C1 -:1047400023E0F0222B6C5200736129007CA800F05A -:1047500065FE7CAA31003369200098478A9B0700D8 -:104760006B6403934B4600950193320033002100A4 -:104770000120C04700281FD1F0227CA95200280048 -:1047800000F04CFE0024082F1FD1296C3000FFF7E9 -:1047900023FF611E8C41070009340028D1D0AB6B88 -:1047A00010216B644B462143019300953300320086 -:1047B0000120C047002800D009273800F5239B00BE -:1047C0009D440CBC90469946F0BD072FF4D12000C3 -:1047D000296CFFF781FF05A800F0A8FB2CFCFFFF68 -:1047E000406C704770B5CB6BFAB00B6404000E00E0 -:1047F0004022043103A800F011FE01235B42029322 -:1048000006E002AA210023699847050008280AD17A -:10481000129B200019000193FFF7DEFE0028F0D064 -:1048200009207AB070BD02A8FFF724FF062DF7D14A -:1048300031002000FFF752FF10B58261DA6BC160D2 -:104840001A6419000022FFF767FF10BD436970B5B5 -:104850000B64C36804000D00002B15D10A00236906 -:10486000010002209847072807D0082803D1290013 -:104870002000FFF733FF00F0C9FD0020296CFFF78F -:104880002BFF281D00F052FB0122FFF745FF00F02F -:10489000BDFDC046C36810B5002B05D0CB6B002210 -:1048A0000B64FFF739FF10BDFFF79CFFFBE7C04625 -:1048B0007047C046836810B5002B02D0010001206C -:1048C000984710BD012906D0002906D003390220DF -:1048D000012900D970470120FCE7002B08D10F2ADD -:1048E00006D8920082185268009B00201A60F1E7F7 -:1048F0000220EFE700B585B003AB0A00009300216A -:104900000023FFF7DFFF039805B000BD012906D0A3 -:10491000002906D003390220012900D9704701205F -:10492000FCE7002B08D10F2A06D8009B92001B68D9 -:10493000821853600020F1E70220EFE700B585B050 -:1049400003AB039200930A0000230021FFF7DEFF70 -:1049500005B000BD70B51A4CD36BA54413640600B6 -:104960000D0019A8111D402200F058FD01235B42E3 -:10497000189314E00C2118A802AAFFF7DFFF290002 -:1049800018A8B047002812D1069B18AA02A908301F -:1049900001939847040005280AD0092807D0289BCE -:1049A00002A819000193FFF717FE0028E2D009249E -:1049B00018A8FFF75FFE200090239B009D4470BD68 -:1049C000C0FDFFFFF0B5DE4657464E464546E0B512 -:1049D000160003220D0011008BB01F000193EB6C39 -:1049E00001401C1D009107A91B688B460894002FED -:1049F0006BD01A0C1B045946079302230B72FD332C -:104A000013409B004A72E418009B022B00D1AC6B50 -:104A10002B6DDB0747D40023059308330340029333 -:104A20002768002F00D112E1019B022B49D0638837 -:104A3000278898460434012340469A469843AB6C35 -:104A40000F21994681443000FFF754FF0021814532 -:104A500006D839005346994349448842894149421E -:104A600043465A0002231340012217403B43012BC7 -:104A70003AD0002B30D0022B1BD12368009A5F0064 -:104A80007F08002A67D1002906D0029A002A00D1A7 -:104A90007CE0002F00D1A9E0002B00DA04340137BC -:104AA000BF00E419BCE75946300000F00BFB0028BA -:104AB00010D009200BB03CBC90469946A246AB46AC -:104AC000F0BD636808349846B5E71B0207935B4660 -:104AD0001A8199E70820EDE7009B002B02D00029FE -:104AE00000D08DE004349BE7009B002B1AD10029F5 -:104AF00016D02368DF0F63689A1CDAD02A00583278 -:104B00000692013300D1BDE0201DFFF7DDFD06ABAD -:104B100001003A00280000E000BF002800D082E039 -:104B200008347DE70D2130002F6AFFF7E3FE87424E -:104B3000F6D1AB6A9C42F3D12000FFF7F3FC0F21C2 -:104B400002003000FFF7FAFE30002A000021FFF7D4 -:104B5000F5FE0720AEE72B6A0D2130009846FFF7DF -:104B6000C9FE804501D0236896E7AB6A9C42FAD122 -:104B70000023EB6204332B63231DAF626B63236856 -:104B8000002B00DA86E00123059388E7002F2DD063 -:104B900058239C46AC4463460393231D9946002347 -:104BA000984606AB220004933B004C464746B2466B -:104BB00098462E00914603E004342F00454542D02C -:104BC000039B20000693FFF77FFD049B010000225A -:104BD00030007D1C00E000BF0028EDD04346B84601 -:104BE00035004C4656461F009845BCD10D2130007B -:104BF000FFF780FE069B28626B62AC62062059E7D5 -:104C00002000FFF78FFC04340700AC63280000E0AD -:104C100000BF002800D14CE730003A000F21FFF719 -:104C20008DFE072046E707000D213000FFF762FEEA -:104C30002862022F2BD1069BEB622B002C336B6278 -:104C4000AC62062036E735004C465646CEE759465C -:104C5000300000F037FA002800D02AE7059B002B2F -:104C600000D137E70F213000FFF744FE0E2102008C -:104C70003000FFF763FE3000094A0F21FFF75EFEA8 -:104C8000072017E70D213000FFF734FE2862069B4E -:104C90006B62D5E738000130800020184DE7C04630 -:104CA0000000000010B50023FFF78CFE10BDC046C9 -:104CB00010B50123FFF786FE10BDC04610B50223D4 -:104CC000FFF780FE10BDC046F0B5CE46474680B522 -:104CD0000500C3B014001E00012955D000294BD097 -:104CE000032922D0042949D1002B47D1102A45D8C5 -:104CF000102203681A4200D0F1E020AF380000F023 -:104D00003DF900230120A96B02009A40144203D010 -:104D10000E689A00BE5004310133042BF4D13800E0 -:104D2000A96300F029F9002029E0032B26D11404FF -:104D3000230C160C9846F318102B1FD80822036872 -:104D40001A4200D098E020AF380000F013F9424634 -:104D5000AB6BF6001C00002A08D0D400F21A1C1914 -:104D6000BA181968D15004339C42FAD1AC633800A8 -:104D700000F0FEF8002002E0002B24D0022043B017 -:104D80000CBC90469946F0BD130C14049846240CB4 -:104D9000012E2ED0052EF1D11B19202BEED8424624 -:104DA0000F2A70D9A146002C7ED1AA6B4346AA6374 -:104DB0000F2B00D89AE04B46002BDBD0684600F062 -:104DC000D3F80020DBE700231004A96B000C0136A8 -:104DD00032009A40104204D00F689A00AA18576017 -:104DE00004310133102BF3D10020A304C7D4A963ED -:104DF000C5E71B19102BC1D843460F2BBED82B6813 -:104E00001E4206D00322280093432B60483000F056 -:104E1000A5F820AF380000F0A1F8AA6B002C24D030 -:104E20004346DB00FF180023994664000023A400DA -:104E3000D158F95004339C42FAD14B4612196F46AF -:104E4000002B0FD04046102800D210204B46D9002E -:104E500000231038C0003818D458C4500433994285 -:104E6000FAD15218012EA1D120AF04323800AA6322 -:104E700000F072F8002082E7934303605130FF3066 -:104E800000F078F85FE7102B3BD910225242914690 -:104E900099442B68194208D0022228008B431343FF -:104EA0002B60483000F05EF82B6804221A4221D1B2 -:104EB00043460F2B03D820AF380000F053F86F465D -:104EC000380000F053F810244346AA6BE41A002C73 -:104ED000B8DD434620AFDB006400FF18A6E793432C -:104EE0000360D130FF3000F049F806E720A800F059 -:104EF00037F860E7280093432B60D03000F036F895 -:104F0000D6E72B680B4207D0022228008B431343BD -:104F10002B60483000F026F820AF380000F022F86F -:104F2000A146AA6B002C00D07AE73FE7011C343180 -:104F300038C9043B9C461D60A646011C20313CC973 -:104F400090469946A246AB46011C0831FCC941680F -:104F50000068E54600BDC0467047C0467047C04681 -:104F60007047C0467047C0467047C0467047C0464D -:104F70007047C0467047C0467047C0467047C0463D -:104F800001B401A801B585B0FFB408A841464A465E -:104F900053465C4665463EC001A83EC80F98009047 -:104FA00000230CB401A9FFF71DFC109B12B0184799 -:104FB00001B401A801B585B0FFB408A841464A462E -:104FC00053465C4665463EC001A83EC80F98009017 -:104FD00000230CB401A9FFF739FC109B12B018474D -:104FE00001B401A801B585B0FFB408A841464A46FE -:104FF00053465C4665463EC001A83EC80F980090E7 -:1050000000230CB401A9FFF745FC109B12B0184710 -:1050100001B401A801B585B0FFB408A841464A46CD -:1050200053465C4665463EC001A83EC80F980090B6 -:1050300000230CB401ABFFF7FFFB109B12B0184725 -:1050400001B401A801B585B0FFB408A841464A469D -:1050500053465C4665463EC001A83EC80F98009086 -:1050600000230CB401AAFFF775FC109B12B018477F -:10507000027A0300002A0BD1427A002A0FD0013AAB -:1050800042724268111D416003211268017202E000 -:10509000013A02720268100E12021A607047B020C4 -:1050A000FCE7C04600B585B003AB00930C2200239B -:1050B0000021FFF707FC039805B000BD10B5FFF70E -:1050C000F1FF10BDF0B557464E464546DE4600237B -:1050D000E0B587B003930F339846083B9946802389 -:1050E0001B0306000F009A463800FFF7C1FF0400BB -:1050F000B02800D1C3E003062AD5030042469343FB -:10510000DBB2802B00D171E0902B3DD0A02B00D1E1 -:1051100085E0B02B50D0C02B00D196E003004A466A -:105120009343DBB2D02B0AD15346024001321A43DB -:10513000052301213000FFF7C7FD0028D4D0092442 -:10514000200007B03CBC90469946A246AB46F0BD55 -:10515000FF23820013401D1D05AB9B4600930D22CB -:10516000002300213000FFF7ADFB630620D4059B30 -:105170009C46654405955B460D2200930021002363 -:105180003000FFF7C3FBAFE7833B03400D2BD6D0C6 -:1051900005AD02400095002300213000FFF792FB8F -:1051A000009500230D2200213000FFF7AFFB9BE7A5 -:1051B000059B5D1B0595DEE7B12874D0B22800D1B0 -:1051C000CFE0B32800D184E0FC230340B42BB6D059 -:1051D0004A465346024001321A430121012330005E -:1051E000FFF772FD002800D17EE7A8E7040238002F -:1051F000FFF73EFF802520432D02A8429FD00401E7 -:105200000005020C002300213000FFF75DFD00289F -:1052100095D12C4200D167E70123039364E7FF2374 -:105220004A461B011900824311410A001A40030734 -:1052300002D58023DB011A43002300213000FFF751 -:1052400043FD002800D14FE779E7C6284CD0C72896 -:105250005ED003004A469343DBB2C02B6DD0C82812 -:1052600072D0C92800D06AE73800FFF701FFF023A9 -:1052700002031B03134042460240013257E7039BDF -:105280000024002B00D05BE705AD00950E22002125 -:105290003000FFF717FB009500230F22002130009C -:1052A000FFF734FB4CE73800FFF7E2FE002800D19F -:1052B00045E7030042469343DBB2002B00D03EE7B4 -:1052C000020000213000FFF7FFFC002800D10BE7AF -:1052D00035E73800FFF7CCFEF02302031B03134031 -:1052E00042460240013277E73800FFF7C1FEF02363 -:1052F00002031B0313404246024001321A430323B8 -:1053000003213000FFF7E0FC002800D1ECE616E7AF -:105310003800FFF7ADFE021E00D110E70300414642 -:105320008B43DBB2002B00D009E704213000FFF7EC -:10533000CBFC002800D1D7E601E74346A0221C4061 -:10534000013412032243DAE73800FFF791FE4346A7 -:1053500002009A43D2B210321840120301300243C5 -:10536000E6E605AB00939B460D22002300213000AA -:10537000FFF7A8FA3800FFF77BFE030618D57F2554 -:10538000B03C059B2840A0409C46604405903800F6 -:105390000734FFF76DFE0306F3D481217F238900D4 -:1053A00003408C46A340059A62449B180593E2E6AD -:1053B0000224F2E7030000B5DB6C85B05A680800F0 -:1053C000120201921A0001A908324A6003220A72ED -:1053D000DB794B72FFF776FE05B000BD10B5FFF725 -:1053E0006DFE806C10BDC04610B5FFF767FEC26C45 -:1053F000D3799B000833D01810BDC04610B500F01B -:1054000005F8C04610B5FFF7F9FFC04610B50620F5 -:1054100000F076F8012000F0A5F8C046F0B50F2A9C -:1054200037D90D0005430C000300AD0735D1150039 -:10543000103D2D092E013618103627681F60676849 -:105440005F60A7689F60E7681034DF601033B34285 -:10545000F3D10F2401352D01491914404519032CAE -:105460001DD90023CE58EE500433E61A032EF9D886 -:105470000323043CA4080134A4001A402D1909197F -:10548000002A05D00023CC5CEC5401339342FAD1BE -:10549000F0BD0500002AF5D1FAE70500F2E7220089 -:1054A000F8E7C04670B505000C001F2922D8B723C5 -:1054B0009B00C358002B0ED08A009B181A68002A44 -:1054C00009D0012A10D0511C10D0002120001960F1 -:1054D0009047002070BD280000F030F82200010045 -:1054E000280000F017F8F5E70020F3E71623036023 -:1054F0000120EFE71623036001204042EAE7C0469F -:1055000010B5034B01001868FFF7CCFF10BDC04673 -:1055100000000020002370B5074C050008001100B2 -:10552000236000F017F8431C00D070BD2368002BE7 -:10553000FBD02B60F9E7C0463407002010B500F01F -:1055400001F810BD58220120014B40421A607047FB -:105550003407002058220120014B40421A60704756 -:1055600034070020FEE7C046F8B5C046F8B5C0468F -:1055700074B20181B0AB308000000000800A01816C -:10558000B0B0ABF0000000003F020181B0AB308052 -:105590000000000080060181B0B0ABF00000000008 -:1055A00030EEFF7FB0B0B0807CEFFF7F01000000E5 -:1055B00028F0FF7FB0A90280BCF0FF7FB0B0A880C8 -:1055C00008F1FF7F0100000014F1FF7FB0B0AA8056 -:1055D00048F1FF7F9CFFFF7F08F2FF7F0100000082 -:1055E00004F2FF7FAA3F398050F2FF7FB0B0A8805D -:1055F0005CF2FF7FB0B0AA809CF2FF7FB0B0A880C1 -:10560000B0F2FF7F01000000ACF2FF7FB0B0A880D5 -:10561000B4F2FF7F010000003CF3FF7FAA0FB280CD -:10562000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88018 -:1056300098F6FF7F54FFFF7FF4F8FF7F0100000022 -:1056400064FAFF7F0084048074FAFF7FB0B0A88002 -:1056500074FAFF7F40FFFF7F5CFDFF7F00840480C2 -:105660007CFDFF7FB0B0A88094FDFF7F01000000AB -:10567000080000200000000000000000F4020020EC -:105680005C030020C40300200000000000000000B4 -:10569000000000000000000000000000000000000A -:1056A00000000000000000000000000000000000FA -:1056B00000000000000000000000000000000000EA -:1056C00000000000000000000000000000000000DA -:1056D00000000000000000000000000000000000CA -:1056E00000000000000000000000000000000000BA -:1056F00000000000000000000000000000000000AA -:105700000000000000000000000000000000000099 -:105710000000000000000000000000000000000089 -:1057200001000000000000000E33CDAB34126DE626 -:10573000ECDE05000B00000000000000000000008F +:1019F0005160906111680B4308211360AE4B197060 +:101A0000AE4B1A600DE7BE78F978BD88102E00D174 +:101A100010E131D8082E00D108E117D8042E00D1EA +:101A2000E8E00AD8012E00D1B8E0002E00D1ABE0EA +:101A3000022E00D1B6E0A026A9E0062E00D1A8E033 +:101A400000D8D3E0280001F05BFAA5E00C2E00D10D +:101A5000F8E008D80A2E00D1DCE000D8D6E0280053 +:101A600001F06AF998E00E2E00D1D7E000D8D9E055 +:101A7000280001F033FE8FE0242E00D1C4E03FD8CF +:101A8000202E00D1BAE00AD8122E00D1DEE000D21A +:101A9000D4E0132ECFD1280001F0ACF97CE0222E47 +:101AA00000D183E000D8ACE0854B9D4202D8802372 +:101AB0001B021D43902700F0E5FD6B1CFF339BB21A +:101AC0000193FF057F4B804E5D6132687F4B0002C2 +:101AD0001343FF2233607369134018437061C0469B +:101AE0000823BB6200F0CEFD08230135BB61019BDA +:101AF000ADB29D42E6D13368754A134033604BE086 +:101B0000842E00D1B3E033D8812E00D1A2E0822E02 +:101B100000D1A6E0802E8ED1012190236170DB05DB +:101B20001868644E30401860DA6802203240DA608B +:101B30008022D2009A629961986162484561C046EC +:101B4000C0462DB29A61002D00DA9962C046C046A7 +:101B5000C046C046C046C046902280215A4BD2059E +:101B6000C9001B69916201211B0A9161A37013E0F6 +:101B7000862E00D186E000D27FE0872E00D05AE783 +:101B800001236370534B7BE0280001F005FA2670B7 +:101B9000A0E5280001F0DCF90026F8E7280000F0B5 +:101BA0008DFFF9E7280001F011F8F5E7454B022217 +:101BB0005D6190234448DB059A620668434A090246 +:101BC0003243026042692DB2D2B211434161002D0D +:101BD00001DA01229A62C046C04601229A61921837 +:101BE0009A6103683A4A13400360D5E7280000F081 +:101BF00021FFD1E7280001F05FFDCDE7364B1D70D6 +:101C0000CAE7364B1D80C7E7324BF8E7280001F0E2 +:101C100021FAC1E7280000F0B7FFBDE7280001F076 +:101C20008DFDB9E7280001F0E3F9B5E7280000F0E1 +:101C300089FFB1E7280001F039F9ADE7280001F08C +:101C400041F8A9E7280000F0F7FFA5E7280001F018 +:101C5000F3F8A1E701232800637001F0ABF8A0704E +:101C60009AE701232800637000F050FFF7E7012393 +:101C70002800637000F006FFF1E701236370164B44 +:101C80001B7873E702236370144B1B88A3701B0A35 +:101C9000E37081E7B878F978BD88AA23062801D9CE +:101CA000FEF73DFEFEF74EFC1C42333A3E4A38003A +:101CB00000100240FFEFFFFF100700200C0700207C +:101CC000FF1F0000000800480004004800005555B0 +:101CD000FFFFAAAAA30400208C04002036040020E1 +:101CE000FF20CF49AB004A690340CE48ED000240D7 +:101CF00013434B619022C021D205C90053690D40A6 +:101D0000C9490B401D4355610023FEF708FE002220 +:101D1000280000F0CFFCF7E70122F9E7280000F0E7 +:101D20000FFEF1E7280000F0E3FDEDE701230021BD +:101D30006370280000F0EEFCA070E5E701216170FF +:101D4000F7E7BA78BB88002A29D0012A44D1B748DE +:101D5000F9784361C020C0011B18B5489BB283428B +:101D600002D89023DB059A62AD4BB24A186809028B +:101D700002431A605A69D2B20A435A61902208217A +:101D8000D2059162C046C046C04691610739916153 +:101D90001A68A9490A401A600023FEF7C0FD012114 +:101DA000A24A6170536190220420D2059062C02043 +:101DB000C0011B189E489BB2834200D89162C04666 +:101DC000C046C046C0460121954B1B6991611B0A64 +:101DD00003319161A370DFE7AF23FEF7A0FDBD786B +:101DE000022D0BD0032D29D0002D31D10223637099 +:101DF00001F0CAFBA070000AE0706AE4BD888F4B56 +:101E0000F8781D808E4B8F4A1870884B0002196835 +:101E10000A4383491A600E68864A32430A605D614C +:101E20004A69D2B202434A6190220121D2059162ED +:101E30001A6885490A401A6000254AE49023012265 +:101E4000DB059A61764A7C4913680B401360F3E71F +:101E5000B025FFF73EFCBA780023012A01D1FEF736 +:101E60005EFD9A421FD0B133022A01D0FEF757FD22 +:101E700084210125BB886D48194342694161684945 +:101E800092B28D618D6242610422802113409022C2 +:101E90000902D205002B03D091610023FEF73FFD1C +:101EA0009162FEF73CFD01236370A933A370130018 +:101EB000FEF735FDB878BB88042829D8FEF742FB29 +:101EC000182803080C00614A13800023FEF727FD41 +:101ED000180001F0E1F8F8E790230222DB059A618F +:101EE000C046C046C046C046C046013A9A61ECE7CB +:101EF000902202230421D20563709162C046C0463D +:101F00004A4B1B699161A3709BB21B0AE370DCE72B +:101F1000B223FEF704FDBD78FA78B988112D78D088 +:101F200007D8012D4DD0002D0DD0022D5AD082267C +:101F30002DE6212D63D0222D67D0122DF7D102235B +:101F40001020637068E00127414B04261B781020A5 +:101F50009F40FA433F4B01921D68AF626B6813408C +:101F60006B6000F084FBAF616B683B436B60FA20F1 +:101F7000400000F07CFBFA20AF626B68019A4000E1 +:101F800013406B6000F073FBAF616B68013E3B4335 +:101F9000B6B26B60002EEAD10436FA2000F067FB7F +:101FA000AF626B68019AFA2013406B6000F05FFB30 +:101FB000AF616B68013E3B43B6B26B60002EECD163 +:101FC000E5E5234A234B12781E689540B562736895 +:101FD0001020AB43736000F04AFBB56173682B437C +:101FE0007360D9E501231A4A637012781A49934045 +:101FF000184A9BB21268002002F03AFA2FE6012339 +:102000000020637001F0C2FB29E6012310206370F9 +:10201000F8E702230020637001F012FC6080BBE54A +:102020000004004803FF0000FFF90000000800481A +:10203000FF1F000000005555FFFFAAAA8A040020D8 +:102040008804002055555555AAAAAAAAA004002024 +:10205000100700200C07002004000200BB78BA889B +:10206000042B1DD007D8022B1FD024D8012B12D04F +:102070008723FEF754FC072B26D003D8052BF7D176 +:10208000BD4B16E0082B24D0802BF1D101F0F6F8DF +:102090000023FEF744FCB94A1278A2706370F7E798 +:1020A000B74B1B78A3700123F8E7B44B1A70832257 +:1020B000B34B1A70ECE7B14BB14D1A7083232B7000 +:1020C00001F04CF92B78EDE7AE4B1A70120A5A70FA +:1020D000DEE7AC4B1A78A2705A78E2709A782271D7 +:1020E000DA7862711A79A2715B79E3710623D5E718 +:1020F000B878F9780238BA888A23092801D9FEF716 +:102100000EFCFEF71FFA050A10151C232F3B404852 +:102110009D4B1A800023FEF702FC9B4B1B881B047F +:1021200013439847F6E7FEF723FB0300FEF7F7FBA0 +:102130009648036899B213040B430360EAE7934996 +:102140000B681B0C1B0413430B60E3E70423637051 +:102150008E4B1B681A0AA370E2701A0C1B0E2271B8 +:102160006371D7E7022363705300884A1168CB1864 +:102170001A88A2701B881B0AE370CBE7834B4900C7 +:102180001B68CA52C6E7814953000A68D318022265 +:102190000B606270ECE77D4B4900186841181960CC +:1021A0000A80B7E78823FEF7BAFBBB78BA88022B10 +:1021B00009D0032B0ED0012B10D11304744A1360E5 +:1021C0000023FEF7ACFB72490B681B0C1B04134386 +:1021D0000B60F5E701226E4B1A60F1E78323FEF7EF +:1021E0009EFBBA781300303B2F2B1AD8F8780328BF +:1021F00014D8FEF7A7F916180211664B512A00D120 +:102200007DE028D8312A57D00FD8002A37D0302A7D +:102210004BD0B423FEF783FB5F4BEFE7B523FEF70C +:102220007EFB5E4BEAE75E4BE8E7332A52D04AD3A7 +:10223000502AEED1C022D20022801A7AA270DA7817 +:10224000E2705A7A22719A7A62719A78A2715B7CF2 +:10225000E371FFF73FFA7F2A00D984E0702A5DD24C +:10226000602A3CD0612A43D0522AD2D180221B88D6 +:102270009200A3701B0A2280E370FFF72BFAFF2164 +:10228000484BD1540132102AFBD10123434A5B420F +:102290005380434A53803F4A53803F4A5380012230 +:1022A000414B1A700023FEF73AFBBA88110AD97223 +:1022B0001A730023FEF733FBBA88110A59739A7315 +:1022C0000023FEF72CFBBA88110AD9731A74002375 +:1022D000FEF725FBBA885A740023FEF720FB802303 +:1022E0005B002380BB882F4AD35CA370FFF7F2F911 +:1022F00080235B0023802D4B1B68DB78F5E7C02231 +:10230000D2002280DA7AA2701A7BE2705A7B2271A4 +:102310009A7B6271DA7BA2711B7C99E71F4B38783C +:102320005C68224B1968CB787F2800D9B9E0204837 +:10233000009D0570002B0FD000200090982B00D13D +:10234000B5E004E000200090D02B00D1AFE0164BA8 +:1023500010301870FF2304E0164B19609023CB70E7 +:102360006F330093A3E00720104003283BD8FEF70B +:10237000E9F83D3F2338C046E5040020C4040020AE +:10238000E6040020C50400203404002030040020AE +:102390009C04002060040020740400203804002005 +:1023A0004C040020E7040020A40400209004002036 +:1023B0009804002094040020494B802A01D2FFF7A2 +:1023C00089F9872A16D97032D2B2072A01D9FFF7C4 +:1023D00081F900222270FA789A72BA881A80FFF77F +:1023E00079F9404BE9E7B523FEF799FA3E4BE4E76C +:1023F0003E4BE2E7B888F978C6B28D19BE22102D9F +:102400002CDC0432002929D0DD78033AFF2D25D1B8 +:102410009D780132FF2D21D10022D7B2B94220D8B8 +:10242000334D0022AC464F01013F1F727701000A75 +:1024300067449870DA705A729A721A80DA721A7354 +:102440005A739A73DA731A745A745F60294B9D1920 +:10245000A8540132D3B28B42FAD300222270FFF784 +:1024600039F90132B718234D013FEF5DFF2FD4D06A +:10247000C122F3E7BB78002B04D0402B08D0D22335 +:10248000FEF74DFA2370BA881B4B1A70FFF722F93A +:1024900080235B002380184B1B7826E78023FEF700 +:1024A0003EFAD82B00D04DE780234C68CB70002338 +:1024B0004B72CB78902B01D0FFF70CF9712A01D029 +:1024C000FFF708F90D4BBA881B6859680A70BA887B +:1024D0005968120A4A705A7A02325A72FFF7FAF8A9 +:1024E0006004002074040020380400204C04002004 +:1024F000F8040020E7040020A40400209404002035 +:10250000F0B51C4D040005A8067868690902C0B240 +:102510000843686190200421C00581622900002AD7 +:1025200001D101328262FF2500204A692D022A4032 +:102530001A43114F4A61C046C046C046C046C04615 +:10254000C046C046C046C046C0463A690133120A7A +:1025500022544A69DBB22A4001301A43C0B24A61B0 +:10256000B042E8D990230422DB059A61033A9A61CC +:10257000F0BDC0460008004800040048F0B5184C03 +:10258000050060690E02C0B2304360618026902071 +:10259000F600C00549B28661002901DA0121816295 +:1025A000FF2661693602314011436161C046002057 +:1025B0000C4FC04639690132090A29546169D2B207 +:1025C000314001301143C0B261619842F1D990238A +:1025D0008022DB05D2009A6201229A61F0BDC046DA +:1025E0000008004800040048F0B5174C05000E0034 +:1025F00060691F2925D8802131430902C0B20143F7 +:10260000616190210420FF26C90588626169360254 +:10261000314011436161C04600200C4FC04639690A +:102620000132090A29546169D2B2314001301143A3 +:10263000C0B261619842F1D990230422DB059A610E +:10264000F0BDC0B20902DAE7000800480004004803 +:10265000002302000002002A04D1002B01D08023B5 +:1026600018437047DB43511EDBB20A40F3E70023F7 +:10267000800080B2C046C04601339BB29842F9D177 +:102680007047FFFF30B50722012409490868450D4E +:1026900043086B404340C50FDBB26B40013A234017 +:1026A0004000D2B21843002AF1D10860C0B230BD58 +:1026B0009C040020134B10B55861134B13481C6841 +:1026C0000902204318605869C0B201435961902142 +:1026D0000820C9058862002A01D101328A62C046F9 +:1026E000C046C046C046C046C046C046C04690220E +:1026F0000821D2059161073991611A6804490A409D +:102700001A6010BD0008004800040048000055553C +:10271000FFFFAAAA0F4B58619023DB05002901D1C6 +:1027200001229A6204229A62C046C046C046C04650 +:10273000C046C046C046C046C046C046C046C04669 +:10274000C046054908699A61000A033AC0B29A6115 +:102750007047C0460008004800040048F7B5040070 +:102760000E004D7AC046C046C046C046C046C04670 +:10277000C046C046C0460022AA215848FFF79AFF2B +:10278000002255215648FFF795FF24020022202100 +:102790005248FFF78FFF23B20193EBB20093337AD5 +:1027A000AB4216D28020009B00227372902100025F +:1027B000FFF780FF0022802011000002FFF77AFF60 +:1027C00080200022F0210002FFF774FFC0460020A5 +:1027D000FEBD444B444A196808200A43FF211A6091 +:1027E0005A690A40A02109020A435A619022012134 +:1027F000D20590629162C046C046C046C046FF24E2 +:10280000906191611A6839492C400A401A60019B15 +:10281000009A1C437368A4B2995C20000022FFF761 +:1028200049FFC046C046C046C046C046C046C04636 +:10283000C046C046C04600212000FFF76BFF0700DE +:10284000C046C046C046C046C046C046C046C04658 +:10285000C0467368009A9B5C834217D0C046C0464E +:10286000C046C046C046C046C046C046C04600211D +:102870002000FFF74FFFB8420BD1C046C046C0460C +:10288000C046C046C046C046C046C0460135ADB28F +:1028900083E7C046C046C046C046C046C046C046A4 +:1028A000C046C046C046C046C046C046C046C046F8 +:1028B000C046C046C046C046C046C046C046C046E8 +:1028C000C046C046C046C046C046C046C0460021BD +:1028D0002000FFF71FFF0700C9E7C046AA8A0000D3 +:1028E000558500000004004800005555FFFFAAAAC6 +:1028F00070B504000D000022AA210F48FFF7DAFE90 +:10290000002255210D48FFF7D5FE0022A0210A48DC +:10291000FFF7D0FE002229002000FFF7CBFE0021A8 +:102920002000FFF7F7FE0500C04600212000FFF75A +:10293000F1FEA842F3D170BDAA8A000055850000BF +:1029400070B504000D000022AA210F48FFF7B2FE67 +:10295000002255210D48FFF7ADFE0022A0210A48B4 +:10296000FFF7A8FE002229002000FFF7A3FE0021A8 +:102970002000FFF7CFFE0500C04600212000FFF732 +:10298000C9FEA842F3D170BD55550000AA2A000027 +:10299000C90152080A43FF21F0B585B00293234BC9 +:1029A0000500586912B209021140C0B201439024D7 +:1029B00059610121E405A1620331A162FF213F2693 +:1029C00058690902D2B2084010435861B446002049 +:1029D000174F01930391C046C046C046C046C0464B +:1029E000C046C046C0466346396926698908F6086C +:1029F0009E431940314329543E69411C019BC9B291 +:102A0000360A6E545969039B01321940D2B2019BB8 +:102A1000114359610230029BC0B28342DBD20423CE +:102A2000A361033BA36105B0F0BDC04600080048A8 +:102A3000000400480F4B30B59022586180230124D8 +:102A4000D205DB0093620C4B94621D680B480902AF +:102A5000284318605869C0B201435961C046082133 +:102A60009162C046916119680548014019609461FE +:102A700030BDC0460008004800040048000055551D +:102A8000FFFFAAAA0B4B10B58021586190230122A9 +:102A90000424DB05C90099619A629C62C046C04665 +:102AA000C046054800699C61000A9962C0B29A61FB +:102AB00010BDC04600080048000400480E4B984274 +:102AC00002D880231B0218430C4B0D4A58610D4B52 +:102AD0000902186802431A605A69D2B21143596157 +:102AE000C04690220821D2059162C04691611A68C1 +:102AF00005490A401A607047FF1F0000000800489F +:102B00000000555500040048FFFFAAAA0A4B98424E +:102B100002D880231B021843084B042258619023DB +:102B2000DB059A62C046C046C046C04604490869F3 +:102B30009A61000AC0B27047FF1F000000080048F9 +:102B40000004004870B504000D000D48AA21FFF7ED +:102B5000B5FF55210B48FFF7B1FFA0210848FFF74B +:102B6000ADFF29002000FFF7A9FF2000FFF7CEFFEF +:102B70000500C0462000FFF7C9FFA842F5D170BD8F +:102B800055150000AA1A000070B504000D000D488C +:102B9000AA21FFF793FF55210B48FFF78FFFA021D4 +:102BA0000848FFF78BFF29002000FFF787FF200070 +:102BB000FFF7ACFF0500C0462000FFF7A7FFA842C3 +:102BC000F5D170BD55150000AA0A00009023DB0561 +:102BD00030B51C68134D09022C401C60DA68124C99 +:102BE0002A40DA60114A506102229A62104A00B209 +:102BF00015682C4314605469E4B22143516180216B +:102C0000C9009961002801DA01209862C046C046D7 +:102C100099620121996149189961136805490B402E +:102C2000136030BDFFEFFFFF00005555000800485E +:102C300000040048FFFFAAAAF7B505001C4B01914C +:102C40001E781C4B74001F8820213C19A4B2200060 +:102C5000FFF7BCFFAA211848FFF730FFA01B80B286 +:102C60001021FFF7B3FF55211448FFF727FF20215C +:102C70002000FFF7ABFFA0210F48FFF71FFF104B0D +:102C8000187846430101BE19C9B2B0B2FFF79EFFE2 +:102C900001992800FFF712FF2800FFF737FF040013 +:102CA000C0462800FFF732FFA042F5D1F7BDC0466D +:102CB000A30400203604002055150000AA0A0000D5 +:102CC0008C04002070B50400B0200E0000020A2120 +:102CD000FFF77CFFC0200A210002FFF777FFAA213F +:102CE0001248FFF7EBFE55211148FFF7E7FEA02140 +:102CF0000E48FFF7E3FEB0200E4B00021D782900BE +:102D0000FFF764FFC02029000002FFF75FFF3100DA +:102D10002000FFF7D3FE2000FFF7F8FE0500C046B5 +:102D20002000FFF7F3FEA842F5D170BD5515000055 +:102D3000AA0A00008C040020F8B505000E00194B0B +:102D400002211C88A71CBFB23800FFF73FFFAA2151 +:102D50001548FFF7B3FE601C80B20121FFF736FF74 +:102D600055211248FFF7AAFE02213800FFF72EFF77 +:102D7000A0210D48FFF7A2FE0D4B19786418A0B2F0 +:102D8000FFF724FF31002800FFF798FE2800FFF727 +:102D9000BDFE0400C0462800FFF7B8FEA042F5D1F2 +:102DA000F8BDC0463604002055150000AA0A0000F0 +:102DB0008C0400200D4B802258619023D200DB054B +:102DC00000B29A61002801DA01229A62C046C04628 +:102DD000C046C046064B802218699023D200DB050E +:102DE0009A620122000AC0B29A6170470008004846 +:102DF0000004004870B504000D000D48AA21FFF73B +:102E0000E5FE55210B48FFF7E1FEA0210848FFF73A +:102E1000DDFE29002000FFF7D9FE2000FFF7CAFFE2 +:102E20000500C0462000FFF7C5FFA842F5D170BDE0 +:102E300055D50000AAAA000070B50400C0200D00FE +:102E400000020121FFF7C2FEAA211548FFF7BEFECE +:102E5000C02000210002FFF7B9FE55211148FFF7FD +:102E6000B5FEC02001210002FFF7B0FEA0210C48F2 +:102E7000FFF7ACFEC0200C4B00021978FFF7A6FE4E +:102E800029002000FFF7A2FE2000FFF793FF0500B6 +:102E9000C0462000FFF78EFFA842F5D170BDC046A6 +:102EA00055950000AAAA00008C04002070B504000B +:102EB0000D001048AA21FFF789FE55210E48FFF7A3 +:102EC00085FEA0210B48FFF781FE29002000FFF7B7 +:102ED0007DFEA020094B00021978FFF777FE200045 +:102EE000FFF768FF0500C0462000FFF763FFA84218 +:102EF000F5D170BDAAFA000055F500008C04002041 +:102F000070B504000D001048AA21FFF75FFE55219F +:102F10000E48FFF75BFEA0210B48FFF757FE290084 +:102F20002000FFF753FE802000210002FFF74EFE35 +:102F30002000FFF73FFF0500C0462000FFF73AFFE3 +:102F4000A842F5D170BDC04655D50000AAAA000020 +:102F50000D4B0E4A58610E4B0902186802431A6065 +:102F60005A69D2B21143902259618021D20510686A +:102F70004901014311604021916291611A6805493C +:102F80000A401A607047C0460008004800005555C6 +:102F900000040048FFFFAAAA104B114A10B558615F +:102FA0001068104B09020343136053690E4CDBB2E7 +:102FB0001943902351618021DB05186849010843BA +:102FC000186040209862186820401860D868014353 +:102FD000D960136805490B40136010BD0008004814 +:102FE0000004004800005555FFEFFFFFFFFFAAAAAD +:102FF00070B505000E00134B00211C882000FFF760 +:10300000E5FDAA211048FFF7C7FF55210F48FFF73C +:10301000C3FFA0210C48FFF7BFFF0D4B19786418C0 +:10302000A0B2FFF7D3FD31002800FFF7B5FF28005D +:10303000FFF7C0FE0400C0462800FFF7BBFEA04219 +:10304000F5D170BD3604002055550000AA2A0000B5 +:103050008C04002070B504000D000D48AA21FFF774 +:103060009BFF55210B48FFF797FFA0210848FFF76A +:1030700093FF29002000FFF78FFF2000FFF79AFE43 +:103080000500C0462000FFF795FEA842F5D170BDAF +:1030900055550000AA2A0000902270B50225D205DD +:1030A0009561C046C046C046C046C046C0460124E1 +:1030B000094B94611E680949314319600849098820 +:1030C0005961C04695625861C04694621A680549C4 +:1030D0000A401A6070BDC046000800485555555555 +:1030E000A0040020AAAAAAAAF0B58BB009920122D6 +:1030F00008911100354B02901F78354B1B780493D3 +:10310000344B1D68344B1B789940344B019118683F +:10311000334BA9621B789A40029B102B4FD18262DD +:10312000012421002F4B05941B6806932E4B1B781E +:1031300099408BB2210007932C4B1B689C462C4B6B +:103140001B789940002303911900029C202C05D183 +:10315000049E059C1E41264236D08261089C202C8C +:103160000FD1002B01D11A4C6354069C2669079C91 +:10317000264206D0164C665C059C9C402643144CA7 +:103180006654099C013FFFB2002C03D0002F01D1EF +:10319000019CAC616446039E0133DBB2A661A6626A +:1031A000082B05D101310A4BC9B25B5C04930023A3 +:1031B000002FCAD1019B8262AB620BB0F0BD029BB3 +:1031C000112BADD18261ABE78262C7E7E504002035 +:1031D000C50400202C070020300700201C07002019 +:1031E00020070020240700202807002014070020C3 +:1031F00018070020F7B501221A4B1C781A4B1968E2 +:103200001A4B1B789A40102826D18A620126350075 +:10321000174B01961B680093164B1B789D400023AB +:10322000AC461D0020280DD1134E019F765D1E4136 +:103230003E4215D08A610133DBB2082B02D1002354 +:103240000135EDB26646009F013CE4B2BE61BE624C +:10325000002CE7D18A62F7BD1128D7D18A61D5E762 +:103260008A62E8E7E50400202C07002030070020F0 +:103270001407002018070020C5040020F0B52C4BCF +:1032800085B01B78019301231E00019A1F00964010 +:10329000284A1168284A8E62127802921A0002980F +:1032A000824094466046254A126890622448057818 +:1032B0002448AF4000689D408762046803941C0066 +:1032C000AC402500039C254305604568019CBD4337 +:1032D00045609C401D00A54008681C00284308600C +:1032E0004868B04348601068029999408C402100BA +:1032F0000143604611605168814313485160007872 +:10330000124A984083401268116899431160D1684D +:103310000B43D36080220E4B1A70002319000D4A14 +:1033200013700D4A99540133202BFBD105B0F0BD29 +:10333000300700202C070020200700201C07002059 +:103340001807002014070020280700202407002069 +:10335000E6040020E5040020C504002010B52B4B36 +:103360001B78082B4ED013D8294C032B39D006D804 +:10337000012B28D0022B2AD0254BEE223AE0062B37 +:103380003AD03DD8042BF7D101222021112021E091 +:103390000F2B28D008D81E4C0D2B1FD000220E2B2F +:1033A000EAD12021102015E0802B06D0184CFF2BED +:1033B00006D0102BE0D100221FE0FFF75FFF10BD09 +:1033C000F0232370FBE72020FFF714FF04E0012225 +:1033D00000212020FFF788FE8223F2E7002211005F +:1033E000F7E70122DDE7002220211120FFF77CFE14 +:1033F0008222074B1A70E2E7012220210800E9E748 +:103400001020E1E71120FFF7F5FEF1E7C4040020EA +:10341000E6040020BC224D4BD203996AF0B50A4362 +:103420009A629A6A4A490A409A62B02259695203DA +:103430000A435A6119009023464ADB051278102A84 +:1034400003D100221A609A60DA601A6842480124A7 +:1034500002401A608022D868D2010243DA601A68FA +:103460003E483F4F02401A608022D8685203024310 +:103470000420DA601A68A2431A60DA682243DA602C +:103480001A6882431A60DA680243DA6010221D6803 +:1034900095431D60DD682A43DA6040221D6895432C +:1034A0001D60DD682A43DA601A682E4D2A401A60D2 +:1034B0008022DD68D2042A43DA601A682A4D2A4045 +:1034C0001A608022DD68D2052A43DA601A68274D27 +:1034D0002A4080251A60DA68ED022A43DA60244A1D +:1034E0001668A6431660D6683443D4601E683E4012 +:1034F0001E60DC683C40DC6080234C691B03234376 +:103500004B611C4B1C4C1E681C4F26431E601E68E2 +:103510003E401E60DE683443DC604B691D434D61F4 +:103520001368174D2B401360D468164B1C43D460AE +:10353000116829401160D1680B43D360136883433D +:103540001360D3681843D060F0BDC046001002403D +:10355000FFFFA1FF08070020FFBFFFFFFFFFEFFFF6 +:10356000FFEFFFFFFFFFFFFBFFFFFFBFFFFFFBFFC3 +:10357000000400480008004855555555AAAAAAAAB3 +:10358000FFFFAAAA000055550D480E4A038810B542 +:103590000D49934202D10A7801320A709022042424 +:1035A000D205013394620380084B18699461084C7A +:1035B0000B7862691B02D2B2134380B2636110BD03 +:1035C0008A040020FFFF0000880400200008004853 +:1035D00000040048F7B50D00042701924C7A000260 +:1035E00003B2A6B200932B7AB34202D26C720020CF +:1035F000FEBD00986B682043195D80B2019B98471F +:103600006B681A5D094B824205D01A683A431A600A +:1036100002229A61E7E71A680134BA431A60DA684D +:1036200001363A43DA60E4B2B6B2DCE7000400489F +:10363000F7B50D001600FF27000203B24C7A019384 +:103640002A7AE3B2A24202D26B720020FEBD2000B1 +:103650006A683840D15C019B0134184380B2B0479E +:10366000A4B2EDE7022907D10F4B104A984218D0B7 +:10367000904209D1180007E0032906D10A4B0B49F3 +:103680000B4A98420BD1080070470429FCD1064B25 +:10369000064A984205D006499042F4D0054A88422D +:1036A000E6D11000F0E7C046380400204C040020AA +:1036B000600400207404002070B506000D0005248D +:1036C0003000013CFFF776FBE4B229003000FFF741 +:1036D0007DFA6D08002CF3D170BDFFFF70B50400BA +:1036E000A0200D0000020221FFF7E6FFAA211048EA +:1036F000FFF7E4F955210F48FFF7E0F9A0210C4846 +:10370000FFF7DCF9A0200C4B00021978FFF7D4FF7B +:1037100029002000FFF7D2F92000FFF7F7F9050094 +:10372000C0462000FFF7F2F9A842F5D170BDC046AF +:1037300055150000AA0A00008C04002070B5040092 +:10374000C0200D0000020521FFF7B6FFAA210D4899 +:10375000FFF73CFA55210C48FFF738FAA021094839 +:10376000FFF734FA29002000FFF730FA2000FFF7B6 +:1037700021FB0500C0462000FFF71CFBA842F5D145 +:1037800070BDC04655550000AAAA0000F7B5012338 +:103790000225294F01923A78009105439340042174 +:1037A000A020264E2D049BB229433268C00100F0B0 +:1037B0005FFE040001283DD13B7809209C40054371 +:1037C0007830A3B232682900FF3000F051FE0400C7 +:1037D00001282FD13B7832689C402900A3B20020F9 +:1037E00000F046FE0400012824D1009B180AFEF7D1 +:1037F0002FFF3B7832689C402900A3B200F038FECE +:103800000400012816D16B461878FEF721FF22002C +:103810003B7829009A4093B2326800F029FE019863 +:10382000FEF716FF3B7832689C402900A3B200F0F7 +:103830001FFE0400E0B2FEBD100700200C070020B0 +:10384000F7B501230225274F00903A7801910543EF +:1038500093400421C020244E2D049BB2294332689A +:10386000800100F005FE0400012838D109231D4322 +:103870003B78C0209C403268A3B22900400000F091 +:10388000F7FD040001282AD13B7832689C402900CA +:10389000A3B2002000F0ECFD040001281FD1019B21 +:1038A000180AFEF7D5FE3B7832689C402900A3B287 +:1038B00000F0DEFD0400012811D16B461879FEF7F7 +:1038C000C7FE22003B789A4093B2009A1443092223 +:1038D000E1B209041143326800F0CAFD0400A0B24D +:1038E000FEBDC046100700200C070020C74BC84A89 +:1038F000F0B51A60C74A8BB01A6002225A60A02243 +:1039000012019A600493049BDB68002BFBD1902288 +:10391000049BC14912031960C04B186802431A6026 +:1039200080220991920219681142FCD00122596843 +:103930000A435A608022596852020A435A60802220 +:10394000596852030A435A608022196852040A4394 +:103950001A608022920419681142FCD01121B04AE9 +:10396000B04C11605A680E398A43110002220A4392 +:103970005A608022196B0A431A638022D9691204A3 +:103980000A43DA61A84BE381BC231B689847A74B25 +:103990006382A74B238262B6FFF73CFDF022A54B62 +:1039A0001A70049B099AA44E1A60327820231100E1 +:1039B0009943D2291BD1A149A148C978C3780224CF +:1039C000FF2904D1FF3B1C00631E9C41E4B29D4BC8 +:1039D000DB78FF2B00D003249B4BDB78FF2B00D040 +:1039E00004249A4B9A4F1C703860D22A56D03378F0 +:1039F000F22B05D10022023B3370954B1B68DA7025 +:103A00003578D02D00D0D6E1914E3068C378802B28 +:103A100000D0D0E18D4B1978FFF724FE00233060F1 +:103A2000C570068804004372C07AF5B210382028A9 +:103A300000D9BEE1FCF7A0FD12014A018D01910100 +:103A4000BD01BD01BD01BD01BD01BD01BD01BD0186 +:103A5000BD01BD01BD01BD01350042005000550052 +:103A6000580062006900A600BC00C400BD01BD0191 +:103A7000BD01BD01BD01BD01CB002100FFF7F2FD7D +:103A800001230135EDB2A542F7D3002B00D03860F9 +:103A900080223B68DA70D0233370A8E70023012529 +:103AA000F1E7E17B0F2900D9A6E109013143237A2F +:103AB000A278C9B26068FEF761FD0BE03C23E17BB0 +:103AC0000A009A4300D097E1237AA27829436068DC +:103AD000FEF78AFD607262E0237AA278E17B2943D7 +:103AE000E8E7E17B3F23EBE7227AE17BA3780092D2 +:103AF000002229436068FEF703FDEBE7E17B227AB1 +:103B0000A378294300920122F4E7524BE17B5869E4 +:103B100029430E02C0B230436568A278277A586103 +:103B2000902004266031C005C9B286621E001F299C +:103B300001D801218162FF2059690002014011432F +:103B40005961C046444900238C46C046C046C04621 +:103B5000C046C046C046C046614609690132090AEE +:103B6000E9547169D2B2014001331143DBB2716192 +:103B70009F42EAD290220421D205916103399161DA +:103B800063720CE00025267A67687608FFF7FCFC74 +:103B90000135EDB238800237AE42F7D265722C4B58 +:103BA0001B6819889A7A52181A80D822DA7002E1B2 +:103BB000E17B237AA27829436068FEF7E9FE89E772 +:103BC000E17B237A29430131A278FF31F4E7A07821 +:103BD0002D0228436668277AFFF75EFA1D4A902077 +:103BE000002304259446C0058562C046C04662464F +:103BF000116985618AB2120AF2545A1C0233D2B298 +:103C0000DBB2B1549F42EFD2BAE7C0460030004069 +:103C1000CCCC000055550000AAAA000000100240BC +:103C200000200240006000403CA5FFFF4108000862 +:103C300085080008E6040020A40400204C040020AD +:103C4000380400206004002074040020A204002036 +:103C5000900400200008004800040048E37B1E2B6D +:103C60000BD1C020B6092233F1B200029D43FEF70A +:103C7000ADFF237AA278802131E71C2B0FD1A02041 +:103C80008121C001FEF7A2FF8020F609F1B20002F7 +:103C9000FEF79CFFA0200021C001FEF797FF8021C6 +:103CA000E27B49421F2A05D00D43EDB2237AA27868 +:103CB0002900FFE67022A02095430D432188C00112 +:103CC0000909C9B2EDB2FEF781FFEFE7E37BFE2BF6 +:103CD00000D064E77609F1B2C348FEF7EFFE1F217A +:103CE000636829409C46C14B09025A69A678D2B242 +:103CF0000A43277A80215A619022C900D205916136 +:103D00000121FF209162033191625A690002024051 +:103D100032435A61C0460022B54D0290C04660460B +:103D200029690136090A815459690298F6B201409D +:103D300001323143D2B259619742EFD2902304212C +:103D4000DB0599618021C900996201219961627244 +:103D500025E7237AA2786021C1E6E37B002B20D1FE +:103D60008033F6091D43F3B20393FF20039BA04960 +:103D70009B004A6903409F48024013434B61C020A7 +:103D80009021039BC905C000DB004A6903409A48A3 +:103D9000024013434B61227AA3782900009200224B +:103DA000A8E6012BE1D140217604760E3143039140 +:103DB000DBE7C323E370914B1D78F02D00D037E390 +:103DC0008F4E3468E378982B00D031E38D4B200080 +:103DD0001978FFF747FC00233060C370E07AE57084 +:103DE00010382678042800D920E3FCF7C5FB07002B +:103DF00002029002BB02F600C423DBE7E37B002B48 +:103E000006D130008038C0B27F4A2100FFF7E2FBC4 +:103E1000E37B012B06D130008038C0B27B4A210001 +:103E2000FFF706FCE37B032B06D130008038C0B2DD +:103E3000774A2100FFF7FCFBE37B042B06D130001F +:103E40008038C0B2734A2100FFF7C4FBE37B0A2B22 +:103E500006D130008038C0B26F4A2100FFF7E8FB7E +:103E6000E37BFD2B15D13F20238830409B09059330 +:103E70006B4680261B7D06430793677ABBB202938D +:103E800033021BB20893237A029A934200D3CFE005 +:103E90006772E37B1E2B06D130008038C0B25F4AC8 +:103EA0002100FFF797FBE37B0C2B17D11F2030403D +:103EB00080260643C0202588A5216D09EDB2C001EA +:103EC000FEF784FE29005648FEF780FE677A350229 +:103ED0003D43237ABB4200D3F2E06772E37B1C2BA5 +:103EE0003BD1A02023888121DB09DBB2C0010593EF +:103EF000FEF76CFE802005990002FEF767FEA02009 +:103F00005421C001FEF762FE677AAA21BBB2454880 +:103F10000293FEF75BFE55214348FEF757FE202132 +:103F20004048FEF753FE802333431B021BB2079326 +:103F3000237A029A934200D3DFE08020902100028E +:103F40006772FEF743FE802000210002FEF73EFE6E +:103F50008020F0210002FEF739FEE37B1F2B32D1D7 +:103F6000A020218851330909C9B2C0019E43FEF740 +:103F70002DFE677AAA21BBB22A480293FEF726FEDD +:103F800055212948FEF722FE20212648FEF71EFE75 +:103F900080235B4233435BB21B020693237A029A6F +:103FA000934200D3F1E08020902100026772FEF777 +:103FB0000DFE802000210002FEF708FE8020F02187 +:103FC0000002FEF703FEE37B6F2B06D13000803842 +:103FD000C0B2164A2100FFF7FDFAF4232288E370ED +:103FE000A37A9B18238023E2FF3F000000080048CB +:103FF0000004004803FF0000FFF90000A4040020B3 +:1040000090040020A2040020553000083D3700082D +:10401000F12F0008012F0008AD2E0008392E0008EE +:10402000FFFF0000AA8A000055850000F52D00085A +:104030000021BB48FEF7CAFDAA21BA48FEF788FF57 +:104040005521B948FEF784FFA021B648FEF780FF4E +:104050006B46187DB54B0799C01880B2FEF7B6FDC8 +:10406000089D63683D43ADB2D95D2800FEF770FF3F +:10407000C0462800FEF79EFE06902800FEF79AFE36 +:10408000069B8342F4D163680699DA5DA84B8A42A5 +:104090000FD1029A1968013292B20292042291431E +:1040A0001960D96801370A43DA600222FFB29A62C6 +:1040B000E9E6042219680A431A6002229A61E2E6DC +:1040C000AA219C48FEF782FD55219B48FEF77EFD04 +:1040D000A0219848FEF77AFD63682800D95DFEF7B5 +:1040E00075FDC0462800FEF765FE02902800FEF729 +:1040F00061FE029B8342F4D1EBE6A0205421C00173 +:10410000FEF764FD079DA0213D43ADB22800FEF7F8 +:104110005DFD63682800D95DFEF758FDC0462800A4 +:10412000FEF748FE06902800FEF744FE069B8342F9 +:10413000F4D16368069ADB5D7D4D93420FD1029BFB +:104140002A6801339BB2029304239A432A60EA68E7 +:1041500001371343EB600223FFB2AB62E8E6A02015 +:104160008121C001FEF732FD802005990002FEF793 +:104170002DFDA0205421C001FEF728FD04232A684C +:1041800013432B600223AB61D2E6069DA0213D4381 +:10419000ADB22800FEF71AFD63682800D95DFEF76E +:1041A00015FDC0462800FEF705FE05902800FEF725 +:1041B00001FE059B8342F4D163680599DA5D5C4B8F +:1041C0008A420FD10421029A0137013292B202923F +:1041D0001A68FFB28A431A60DA680A43DA60022278 +:1041E0009A62DBE604211A680A431A6002229A6185 +:1041F000D4E6E37B002B04D1504A21003000FFF7C6 +:1042000017FAE37B012B04D14D4A21003000FFF760 +:104210000FFAE37B022B04D14A4A21003000FFF75A +:1042200007FAE37B042B04D1474A21003000FFF753 +:10423000FFF9E37B0A2B04D1444A21003000FFF749 +:10424000F7F9E37B0B2B04D1414A21003000FFF743 +:10425000EFF9E37BFE2B00D0BFE621883D484909FA +:10426000C9B2FEF72BFCAA213B48657AFEF7E2FBB8 +:1042700055213A48FEF7DEFB37482021FEF7DAFBEE +:104280001F2030400302AFB20593237ABB420DD208 +:10429000657290210020FEF7CDFB00210800FEF79B +:1042A000C9FBF0210020FEF7C5FB96E6059EA02184 +:1042B0002E433000FEF7BEFB63683000595DFEF709 +:1042C000B9FBC0463000FEF7DDFB02903000FEF780 +:1042D000D9FB029B8342F4D1636802995A5D144B67 +:1042E0008A420DD104211A6801358A431A60DA68BE +:1042F00001370A43DA600222EDB2BFB29A62C4E724 +:1043000004211A680A431A6002229A61BDE730004C +:104310006030134A2100C0B2FFF78AF95DE6C0465B +:1043200069FD000055550000AA2A000069FDFFFF45 +:104330000004004855D50000AAAA0000892B0008F7 +:10434000DD360008392D0008452B0008C52C000873 +:10435000392C0008FF3F0000AA0A000055050000A4 +:10436000CD2B0008E37B042B06D130008038C0B28F +:10437000364A2100FFF75CF9E37B052B04D1334A71 +:1043800021003000FFF754F9E37B062B06D1300003 +:104390008038C0B22E4A2100FFF74AF9E37B072B91 +:1043A00004D12B4A21003000FFF742F9E37B002BB8 +:1043B0001CD1FF2280331E4323882648DB09DBB251 +:1043C0009D0041692A40244DDB0029400A43426197 +:1043D0009022C020D205C000516903401F4801400F +:1043E0000B43536121003000FEF7B8F9E37B012B4A +:1043F00000D0F2E52388174A5B04580E402303439C +:10440000FF209B0051690340134801400B4390215A +:104410005361C9054B69114A30001A4080239B0043 +:1044200013434B612100FEF799F9D6E5C323E370EE +:104430000B4B1B78F02B01D1FFF7B3FA832B01D084 +:10444000FFF7AFFAFEF78AFFFFF7ABFA4129000842 +:10445000F12800080004004803FF0000FFF90000F5 +:10446000E6040020FFFFFFFFFFFFFFFFFFFFFFFF4E +:10447000F0B5474680B4061C081C000C102801D576 +:10448000162700E004270007000F8046FF200140A8 +:104490005468251C1D439C43F60313850AD5C0466A +:1044A000C046C046C046C046C046C046948013833E +:1044B000958002E0012000F081F801390AD4381C0F +:1044C00000F07CF8C046948013839580C046C046B7 +:1044D0007600E2E7381C013800F070F8948013830E +:1044E0009580042000F06AF8108A184001D0FF205F +:1044F00061E0C046C046C046C046C046C046948043 +:104500009580108A184055D001200226B04552D01F +:104510000921168A1E40FCD1012000F04FF894803A +:10452000C0469580C04603E0C046C046C046C0466F +:10453000948095807600108A1840EFF30080400048 +:10454000C00F0643381C023800F038F8948095807C +:10455000022000F033F80139EAD513859480012058 +:1045600000F02CF813839580301C802102239940A1 +:104570000E401BD1002341085E4149085E414908B5 +:104580005E4149085E4149085E4149085E4149086B +:104590005E4149085E4149085E41760808D34008FB +:1045A000FF21084048400002013004E00E2002E0F4 +:1045B000092000E0002080BCB846F0BD0138FDD1E4 +:1045C0007047C04603685A0003D45B005B08C018FC +:1045D0007047802212061343F9E7C046F0B55746EC +:1045E0004E46DE464546E0B5814683B092460029F8 +:1045F00025D04B1E9B46002701935B46FB18DC0F22 +:10460000E4184B466410E5005E193000FFF7DAFF4E +:10461000019B8046A3420BD0280008304844FFF796 +:10462000D1FFD04506D80138504509D2671CE4E7D0 +:10463000504505D9A74202D0631E9B46DDE7002600 +:10464000300003B03CBC90469946A246AB46F0BD54 +:10465000012809D0022805D0002801D00020704789 +:104660000248FCE70248FAE70248F8E7454D00082F +:104670005D4D0008514D000830B5234B83B0050057 +:104680008C1E002B26D001A9200000E000BF0028CE +:104690001CD001992200FFF7A1FF041E16D0FFF7DE +:1046A00091FF6368A864012B2AD0201D002B23DB17 +:1046B000FFF788FF0023E8642B650368002B0FDBFE +:1046C000FFF780FF2861002003B030BD00230920E0 +:1046D0002B61F9E70D480E49091AC9100191D9E774 +:1046E0001801000FFFF7B4FF2861431E984108230B +:1046F000404298430930E7E70123E8642B65DCE793 +:10470000002305202B61DFE7000000004056000871 +:1047100010570008036810B50400DA0705D44830C4 +:104720009B070ED500F06CFC23685A070ED51A07BC +:1047300013D5DB0604D42000D130FF3000F06CFC30 +:1047400010BD00F059FC23685A07F0D42000D03087 +:1047500000F05AFC23681A07EBD420005130FF30D8 +:1047600000F056FC2368E4E70368002B00D01B1818 +:1047700018007047092070477047C04670B50400A4 +:104780000D0008E02B6C2A006361210001202369E1 +:104790009847082807D1296C2000FFF76DFF0028F3 +:1047A000F0D000F083FE0728FBD10020296CFFF732 +:1047B000E3FF281D00F00AFCF0B5CE46474680B561 +:1047C000C3682E4C9846A544836906001400043142 +:1047D000402205A8994600F071FE002304AD049321 +:1047E00023E0F0222B6C5200736129007CA800F0BA +:1047F00065FE7CAA31003369200098478A9B070038 +:104800006B6403934B460095019332003300210003 +:104810000120C04700281FD1F0227CA952002800A7 +:1048200000F04CFE0024082F1FD1296C3000FFF748 +:1048300023FF611E8C41070009340028D1D0AB6BE7 +:1048400010216B644B4621430193009533003200E5 +:104850000120C047002800D009273800F5239B001D +:104860009D440CBC90469946F0BD072FF4D1200022 +:10487000296CFFF781FF05A800F0A8FB2CFCFFFFC7 +:10488000406C704770B5CB6BFAB00B6404000E003F +:104890004022043103A800F011FE01235B42029381 +:1048A00006E002AA210023699847050008280AD1DA +:1048B000129B200019000193FFF7DEFE0028F0D0C4 +:1048C00009207AB070BD02A8FFF724FF062DF7D1AA +:1048D00031002000FFF752FF10B58261DA6BC16032 +:1048E0001A6419000022FFF767FF10BD436970B515 +:1048F0000B64C36804000D00002B15D10A00236966 +:10490000010002209847072807D0082803D1290072 +:104910002000FFF733FF00F0C9FD0020296CFFF7EE +:104920002BFF281D00F052FB0122FFF745FF00F08E +:10493000BDFDC046C36810B5002B05D0CB6B00226F +:104940000B64FFF739FF10BDFFF79CFFFBE7C04684 +:104950007047C046836810B5002B02D001000120CB +:10496000984710BD012906D0002906D0033902203E +:10497000012900D970470120FCE7002B08D10F2A3C +:1049800006D8920082185268009B00201A60F1E756 +:104990000220EFE700B585B003AB0A0000930021C9 +:1049A0000023FFF7DFFF039805B000BD012906D003 +:1049B000002906D003390220012900D970470120BF +:1049C000FCE7002B08D10F2A06D8009B92001B6839 +:1049D000821853600020F1E70220EFE700B585B0B0 +:1049E00003AB039200930A0000230021FFF7DEFFD0 +:1049F00005B000BD70B51A4CD36BA5441364060016 +:104A00000D0019A8111D402200F058FD01235B4242 +:104A1000189314E00C2118A802AAFFF7DFFF290061 +:104A200018A8B047002812D1069B18AA02A908307E +:104A300001939847040005280AD0092807D0289B2D +:104A400002A819000193FFF717FE0028E2D00924FD +:104A500018A8FFF75FFE200090239B009D4470BDC7 +:104A6000C0FDFFFFF0B5DE4657464E464546E0B571 +:104A7000160003220D0011008BB01F000193EB6C98 +:104A800001401C1D009107A91B688B460894002F4C +:104A90006BD01A0C1B045946079302230B72FD338B +:104AA00013409B004A72E418009B022B00D1AC6BB0 +:104AB0002B6DDB0747D40023059308330340029393 +:104AC0002768002F00D112E1019B022B49D0638897 +:104AD000278898460434012340469A469843AB6C95 +:104AE0000F21994681443000FFF754FF0021814592 +:104AF00006D839005346994349448842894149427E +:104B000043465A0002231340012217403B43012B26 +:104B10003AD0002B30D0022B1BD12368009A5F00C3 +:104B20007F08002A67D1002906D0029A002A00D106 +:104B30007CE0002F00D1A9E0002B00DA043401371B +:104B4000BF00E419BCE75946300000F00BFB002819 +:104B500010D009200BB03CBC90469946A246AB460B +:104B6000F0BD636808349846B5E71B0207935B46BF +:104B70001A8199E70820EDE7009B002B02D000295D +:104B800000D08DE004349BE7009B002B1AD1002954 +:104B900016D02368DF0F63689A1CDAD02A005832D7 +:104BA0000692013300D1BDE0201DFFF7DDFD06AB0D +:104BB00001003A00280000E000BF002800D082E099 +:104BC00008347DE70D2130002F6AFFF7E3FE8742AE +:104BD000F6D1AB6A9C42F3D12000FFF7F3FC0F2122 +:104BE00002003000FFF7FAFE30002A000021FFF734 +:104BF000F5FE0720AEE72B6A0D2130009846FFF73F +:104C0000C9FE804501D0236896E7AB6A9C42FAD181 +:104C10000023EB6204332B63231DAF626B632368B5 +:104C2000002B00DA86E00123059388E7002F2DD0C2 +:104C300058239C46AC4463460393231D99460023A6 +:104C4000984606AB220004933B004C464746B246CA +:104C500098462E00914603E004342F00454542D08B +:104C6000039B20000693FFF77FFD049B01000022B9 +:104C700030007D1C00E000BF0028EDD04346B84660 +:104C800035004C4656461F009845BCD10D213000DA +:104C9000FFF780FE069B28626B62AC62062059E734 +:104CA0002000FFF78FFC04340700AC63280000E00D +:104CB00000BF002800D14CE730003A000F21FFF779 +:104CC0008DFE072046E707000D213000FFF762FE4A +:104CD0002862022F2BD1069BEB622B002C336B62D8 +:104CE000AC62062036E735004C465646CEE75946BC +:104CF000300000F037FA002800D02AE7059B002B8F +:104D000000D137E70F213000FFF744FE0E210200EB +:104D10003000FFF763FE3000094A0F21FFF75EFE07 +:104D2000072017E70D213000FFF734FE2862069BAD +:104D30006B62D5E738000130800020184DE7C0468F +:104D40000000000010B50023FFF78CFE10BDC04628 +:104D500010B50123FFF786FE10BDC04610B5022333 +:104D6000FFF780FE10BDC046F0B5CE46474680B581 +:104D70000500C3B014001E00012955D000294BD0F6 +:104D8000032922D0042949D1002B47D1102A45D824 +:104D9000102203681A4200D0F1E020AF380000F082 +:104DA0003DF900230120A96B02009A40144203D070 +:104DB0000E689A00BE5004310133042BF4D1380040 +:104DC000A96300F029F9002029E0032B26D114045F +:104DD000230C160C9846F318102B1FD808220368D2 +:104DE0001A4200D098E020AF380000F013F9424694 +:104DF000AB6BF6001C00002A08D0D400F21A1C1974 +:104E0000BA181968D15004339C42FAD1AC63380007 +:104E100000F0FEF8002002E0002B24D0022043B076 +:104E20000CBC90469946F0BD130C14049846240C13 +:104E3000012E2ED0052EF1D11B19202BEED8424683 +:104E40000F2A70D9A146002C7ED1AA6B4346AA63D3 +:104E50000F2B00D89AE04B46002BDBD0684600F0C1 +:104E6000D3F80020DBE700231004A96B000C013607 +:104E700032009A40104204D00F689A00AA18576076 +:104E800004310133102BF3D10020A304C7D4A9634C +:104E9000C5E71B19102BC1D843460F2BBED82B6872 +:104EA0001E4206D00322280093432B60483000F0B6 +:104EB000A5F820AF380000F0A1F8AA6B002C24D090 +:104EC0004346DB00FF180023994664000023A4003A +:104ED000D158F95004339C42FAD14B4612196F460F +:104EE000002B0FD04046102800D210204B46D9008E +:104EF00000231038C0003818D458C45004339942E5 +:104F0000FAD15218012EA1D120AF04323800AA6381 +:104F100000F072F8002082E7934303605130FF30C5 +:104F200000F078F85FE7102B3BD9102252429146EF +:104F300099442B68194208D0022228008B4313435E +:104F40002B60483000F05EF82B6804221A4221D111 +:104F500043460F2B03D820AF380000F053F86F46BC +:104F6000380000F053F810244346AA6BE41A002CD2 +:104F7000B8DD434620AFDB006400FF18A6E793438B +:104F80000360D130FF3000F049F806E720A800F0B8 +:104F900037F860E7280093432B60D03000F036F8F4 +:104FA000D6E72B680B4207D0022228008B4313431D +:104FB0002B60483000F026F820AF380000F022F8CF +:104FC000A146AA6B002C00D07AE73FE7011C3431E0 +:104FD00038C9043B9C461D60A646011C20313CC9D3 +:104FE00090469946A246AB46011C0831FCC941686F +:104FF0000068E54600BDC0467047C0467047C046E1 +:105000007047C0467047C0467047C0467047C046AC +:105010007047C0467047C0467047C0467047C0469C +:1050200001B401A801B585B0FFB408A841464A46BD +:1050300053465C4665463EC001A83EC80F980090A6 +:1050400000230CB401A9FFF71DFC109B12B01847F8 +:1050500001B401A801B585B0FFB408A841464A468D +:1050600053465C4665463EC001A83EC80F98009076 +:1050700000230CB401A9FFF739FC109B12B01847AC +:1050800001B401A801B585B0FFB408A841464A465D +:1050900053465C4665463EC001A83EC80F98009046 +:1050A00000230CB401A9FFF745FC109B12B0184770 +:1050B00001B401A801B585B0FFB408A841464A462D +:1050C00053465C4665463EC001A83EC80F98009016 +:1050D00000230CB401ABFFF7FFFB109B12B0184785 +:1050E00001B401A801B585B0FFB408A841464A46FD +:1050F00053465C4665463EC001A83EC80F980090E6 +:1051000000230CB401AAFFF775FC109B12B01847DE +:10511000027A0300002A0BD1427A002A0FD0013A0A +:1051200042724268111D416003211268017202E05F +:10513000013A02720268100E12021A607047B02023 +:10514000FCE7C04600B585B003AB00930C220023FA +:105150000021FFF707FC039805B000BD10B5FFF76D +:10516000F1FF10BDF0B557464E464546DE460023DA +:10517000E0B587B003930F339846083B99468023E8 +:105180001B0306000F009A463800FFF7C1FF04001A +:10519000B02800D1C3E003062AD50300424693435A +:1051A000DBB2802B00D171E0902B3DD0A02B00D141 +:1051B00085E0B02B50D0C02B00D196E003004A46CA +:1051C0009343DBB2D02B0AD15346024001321A433B +:1051D000052301213000FFF7C7FD0028D4D00924A2 +:1051E000200007B03CBC90469946A246AB46F0BDB5 +:1051F000FF23820013401D1D05AB9B4600930D222B +:10520000002300213000FFF7ADFB630620D4059B8F +:105210009C46654405955B460D22009300210023C2 +:105220003000FFF7C3FBAFE7833B03400D2BD6D025 +:1052300005AD02400095002300213000FFF792FBEE +:10524000009500230D2200213000FFF7AFFB9BE704 +:10525000059B5D1B0595DEE7B12874D0B22800D10F +:10526000CFE0B32800D184E0FC230340B42BB6D0B8 +:105270004A465346024001321A43012101233000BD +:10528000FFF772FD002800D17EE7A8E7040238008E +:10529000FFF73EFF802520432D02A8429FD0040146 +:1052A0000005020C002300213000FFF75DFD0028FF +:1052B00095D12C4200D167E70123039364E7FF23D4 +:1052C0004A461B011900824311410A001A40030794 +:1052D00002D58023DB011A43002300213000FFF7B1 +:1052E00043FD002800D14FE779E7C6284CD0C728F6 +:1052F0005ED003004A469343DBB2C02B6DD0C82872 +:1053000072D0C92800D06AE73800FFF701FFF02308 +:1053100002031B03134042460240013257E7039B3E +:105320000024002B00D05BE705AD00950E22002184 +:105330003000FFF717FB009500230F2200213000FB +:10534000FFF734FB4CE73800FFF7E2FE002800D1FE +:1053500045E7030042469343DBB2002B00D03EE713 +:10536000020000213000FFF7FFFC002800D10BE70E +:1053700035E73800FFF7CCFEF02302031B03134090 +:1053800042460240013277E73800FFF7C1FEF023C2 +:1053900002031B0313404246024001321A43032317 +:1053A00003213000FFF7E0FC002800D1ECE616E70F +:1053B0003800FFF7ADFE021E00D110E703004146A2 +:1053C0008B43DBB2002B00D009E704213000FFF74C +:1053D000CBFC002800D1D7E601E74346A0221C40C1 +:1053E000013412032243DAE73800FFF791FE434607 +:1053F00002009A43D2B21032184012030130024325 +:10540000E6E605AB00939B460D2200230021300009 +:10541000FFF7A8FA3800FFF77BFE030618D57F25B3 +:10542000B03C059B2840A0409C4660440590380055 +:105430000734FFF76DFE0306F3D481217F23890033 +:1054400003408C46A340059A62449B180593E2E60C +:105450000224F2E7030000B5DB6C85B05A6808004F +:10546000120201921A0001A908324A6003220A724C +:10547000DB794B72FFF776FE05B000BD10B5FFF784 +:105480006DFE806C10BDC04610B5FFF767FEC26CA4 +:10549000D3799B000833D01810BDC04610B500F07A +:1054A00005F8C04610B5FFF7F9FFC04610B5062055 +:1054B00000F076F8012000F0A5F8C046F0B50F2AFC +:1054C00037D90D0005430C000300AD0735D1150099 +:1054D000103D2D092E013618103627681F606768A9 +:1054E0005F60A7689F60E7681034DF601033B342E5 +:1054F000F3D10F2401352D01491914404519032C0E +:105500001DD90023CE58EE500433E61A032EF9D8E5 +:105510000323043CA4080134A4001A402D190919DE +:10552000002A05D00023CC5CEC5401339342FAD11D +:10553000F0BD0500002AF5D1FAE70500F2E72200E8 +:10554000F8E7C04670B505000C001F2922D8B72324 +:105550009B00C358002B0ED08A009B181A68002AA3 +:1055600009D0012A10D0511C10D000212000196050 +:105570009047002070BD280000F030F822000100A4 +:10558000280000F017F8F5E70020F3E71623036082 +:105590000120EFE71623036001204042EAE7C046FE +:1055A00010B5034B01001868FFF7CCFF10BDC046D3 +:1055B00000000020002370B5074C05000800110012 +:1055C000236000F017F8431C00D070BD2368002B47 +:1055D000FBD02B60F9E7C0463407002010B500F07F +:1055E00001F810BD58220120014B40421A6070475B +:1055F0003407002058220120014B40421A607047B6 +:1056000034070020FEE7C046F8B5C046F8B5C046EE +:1056100074B20181B0AB308000000000800A0181CB +:10562000B0B0ABF0000000003F020181B0AB3080B1 +:105630000000000080060181B0B0ABF00000000067 +:1056400030EEFF7FB0B0B0807CEFFF7F0100000044 +:1056500028F0FF7FB0A90280BCF0FF7FB0B0A88027 +:1056600008F1FF7F0100000014F1FF7FB0B0AA80B5 +:1056700048F1FF7F9CFFFF7F08F2FF7F01000000E1 +:1056800004F2FF7FAA3F398050F2FF7FB0B0A880BC +:105690005CF2FF7FB0B0AA809CF2FF7FB0B0A88020 +:1056A000B0F2FF7F01000000ACF2FF7FB0B0A88035 +:1056B000B4F2FF7F010000003CF3FF7FAA0FB2802D +:1056C000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88078 +:1056D00098F6FF7F54FFFF7FF4F8FF7F0100000082 +:1056E00064FAFF7F0084048074FAFF7FB0B0A88062 +:1056F00074FAFF7F40FFFF7F5CFDFF7F0084048022 +:105700007CFDFF7FB0B0A88094FDFF7F010000000A +:10571000080000200000000000000000F40200204B +:105720005C030020C4030020000000000000000013 +:105730000000000000000000000000000000000069 :105740000000000000000000000000000000000059 :105750000000000000000000000000000000000049 :105760000000000000000000000000000000000039 @@ -1403,8 +1403,8 @@ :105790000000000000000000000000000000000009 :1057A00000000000000000000000000000000000F9 :1057B00000000000000000000000000000000000E9 -:1057C00000000000000000000000000000000000D9 -:1057D00000000000000000000000000000000000C9 +:1057C00001000000000000000E33CDAB34126DE686 +:1057D000ECDE05000B0000000000000000000000EF :1057E00000000000000000000000000000000000B9 :1057F00000000000000000000000000000000000A9 :105800000000000000000000000000000000000098 @@ -1449,5 +1449,15 @@ :105A70000000000000000000000000000000000026 :105A80000000000000000000000000000000000016 :105A90000000000000000000000000000000000006 +:105AA00000000000000000000000000000000000F6 +:105AB00000000000000000000000000000000000E6 +:105AC00000000000000000000000000000000000D6 +:105AD00000000000000000000000000000000000C6 +:105AE00000000000000000000000000000000000B6 +:105AF00000000000000000000000000000000000A6 +:105B00000000000000000000000000000000000095 +:105B10000000000000000000000000000000000085 +:105B20000000000000000000000000000000000075 +:105B30000000000000000000000000000000000065 :0400000508000805E2 :00000001FF diff --git a/firmware/build_stm6/inlretro_stm.map b/firmware/build_stm6/inlretro_stm.map index 76ef49e..ba90ec9 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\ccA8zOw8.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\cc55YkeK.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\cc7Ghupa.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\ccpDYpEb.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\cc7Ghupa.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file @@ -87,6 +87,7 @@ __lock___malloc_recursive_mutex 0x1 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-lock.o) tdi_base 0x4 source/jtag.o (symbol from plugin) tdo_base 0x4 source/jtag.o (symbol from plugin) +num_prg_banks 0x1 source/nes.o (symbol from plugin) cur_addr_hi 0x1 source/gba.o (symbol from plugin) buff2 0x14 source/buffer.o (symbol from plugin) cur_bank 0x1 source/nes.o (symbol from plugin) @@ -132,39 +133,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\AppData\Local\Temp\ccwjSKJ8.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o .debug_aranges - 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .debug_str 0x00000000 0x68 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .debug_str 0x00000000 0x68 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o .ARM.attributes - 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\cccsJC0R.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .debug_str 0x00000000 0x65 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .debug_str 0x00000000 0x65 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o .ARM.attributes - 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\cc55YkeK.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.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 +428,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\ccwjSKJ8.o -LOAD C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o -LOAD C:\Users\paul\AppData\Local\Temp\ccobfpka.o +LOAD C:\Users\paul\AppData\Local\Temp\cccsJC0R.o +LOAD C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\cc55YkeK.o +LOAD C:\Users\paul\AppData\Local\Temp\ccUfmgJG.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 +445,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 0x5570 +.text 0x08000000 0x5610 *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o 0x08000000 __isr_vector *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o 0x08000198 USB_IRQHandler *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o 0x08000534 TIM1_CC_IRQHandler 0x08000534 TSC_IRQHandler 0x08000534 ADC1_COMP_IRQHandler @@ -493,7 +494,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\cc7Ghupa.ltrans0.ltrans.o + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccpDYpEb.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 +510,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\cc7Ghupa.ltrans0.ltrans.o + .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o 0x00000770 . = 0x770 *fill* 0x080006fc 0x74 ff *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o 0x00000800 . = 0x800 *fill* 0x080007e0 0x20 ff *(.appver) @@ -521,177 +522,180 @@ 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\ccwjSKJ8.o + 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\cccsJC0R.o 0x08000804 Reset_Handler *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x1c58 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .usbFuncSetup 0x08000884 0x1c7c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *(.text*) .text.snes_page_rd_poll.constprop.27 - 0x080024dc 0x7c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002500 0x7c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_cpu_page_rd_poll.constprop.26 - 0x08002558 0x6c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800257c 0x6c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_ppu_page_rd_poll.constprop.23 - 0x080025c4 0x68 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080025e8 0x68 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.append_pairity - 0x0800262c 0x1e C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002650 0x1e C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.delay_us - 0x0800264a 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - *fill* 0x0800265e 0x2 ff - .text.lfsr_32 0x08002660 0x30 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .text.snes_wr 0x08002690 0x60 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .text.snes_rd 0x080026f0 0x48 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800266e 0x14 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + *fill* 0x08002682 0x2 ff + .text.lfsr_32 0x08002684 0x30 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .text.snes_wr 0x080026b4 0x60 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .text.snes_rd 0x08002714 0x48 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.write_page_snes.constprop.34 - 0x08002738 0x194 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800275c 0x194 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.snes_3v_flash_wr - 0x080028cc 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080028f0 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.snes_5v_flash_wr - 0x0800291c 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002940 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.genesis_page_rd - 0x0800296c 0xa4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002990 0xa4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_dualport_wr - 0x08002a10 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002a34 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_dualport_rd - 0x08002a60 0x38 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002a84 0x38 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_ppu_wr - 0x08002a98 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002abc 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_ppu_rd - 0x08002ae8 0x38 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002b0c 0x38 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc3_chrrom_flash_wr - 0x08002b20 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002b44 0x44 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nrom_chrrom_flash_wr - 0x08002b64 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002b88 0x44 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_cpu_wr - 0x08002ba8 0x6c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002bcc 0x6c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.cdream_chrrom_flash_wr - 0x08002c14 0x84 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002c38 0x8c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc4_chrrom_flash_wr - 0x08002c98 0x74 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002cc4 0x74 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.cnrom_chrrom_flash_wr - 0x08002d0c 0x7c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002d38 0x7c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nes_cpu_rd - 0x08002d88 0x40 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002db4 0x40 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .text.gtrom_prgrom_flash_wr + 0x08002df4 0x44 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.map30_prgrom_flash_wr - 0x08002dc8 0x74 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002e38 0x74 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc4_prgrom_sop_flash_wr - 0x08002e3c 0x54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002eac 0x54 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc3_prgrom_flash_wr - 0x08002e90 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002f00 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.disc_push_exp0_prgrom_wr - 0x08002ee0 0x48 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002f50 0x48 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.discrete_exp0_prgrom_wr - 0x08002f28 0x58 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002f98 0x58 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.unrom_prgrom_flash_wr - 0x08002f80 0x64 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08002ff0 0x64 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.nrom_prgrom_flash_wr - 0x08002fe4 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003054 0x44 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.n64_latch_addr - 0x08003028 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003098 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.pbje_scan - 0x08003078 0x10c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080030e8 0x10c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.pbje_state_change - 0x08003184 0x88 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080031f4 0x88 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.jtag_init_pbje - 0x0800320c 0xe0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800327c 0xe0 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.jtag_run_pbje.part.0 - 0x080032ec 0xb8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800335c 0xb8 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.io_reset - 0x080033a4 0x174 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .text.gba_rd 0x08003518 0x4c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003414 0x174 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .text.gba_rd 0x08003588 0x4c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.write_page_verify - 0x08003564 0x5c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080035d4 0x5c C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.write_page - 0x080035c0 0x34 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003630 0x34 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.get_next_buff - 0x080035f4 0x54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003664 0x54 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc1_wr.constprop.12 - 0x08003648 0x22 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - *fill* 0x0800366a 0x2 ff + 0x080036b8 0x22 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + *fill* 0x080036da 0x2 ff .text.mmc1_chrrom_flash_wr - 0x0800366c 0x60 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x080036dc 0x60 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.mmc1_prgrom_flash_wr - 0x080036cc 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800373c 0x50 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.swim_wotf - 0x0800371c 0xb4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800378c 0xb4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.swim_rotf - 0x080037d0 0xac C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x08003840 0xac C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .text.startup.main - 0x0800387c 0xb54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - 0x0800387c main - .text 0x080043d0 0x154 C:\Users\paul\AppData\Local\Temp\ccobfpka.o - 0x080043d0 swim_xfr - .text 0x08004524 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) - 0x080047e0 _Unwind_GetCFA - 0x080047e4 __gnu_Unwind_RaiseException - 0x08004838 __gnu_Unwind_ForcedUnwind - 0x0800484c __gnu_Unwind_Resume - 0x08004894 __gnu_Unwind_Resume_or_Rethrow - 0x080048b0 _Unwind_Complete - 0x080048b4 _Unwind_DeleteException - 0x080048c4 _Unwind_VRS_Get - 0x0800490c _Unwind_VRS_Set - 0x08004954 __gnu_Unwind_Backtrace - 0x08004ca4 __aeabi_unwind_cpp_pr0 - 0x08004cb0 __aeabi_unwind_cpp_pr1 - 0x08004cbc __aeabi_unwind_cpp_pr2 - 0x08004cc8 _Unwind_VRS_Pop - .text 0x08004f2c 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) - 0x08004f2c __restore_core_regs - 0x08004f2c restore_core_regs - 0x08004f58 __gnu_Unwind_Restore_VFP - 0x08004f5c __gnu_Unwind_Save_VFP - 0x08004f60 __gnu_Unwind_Restore_VFP_D - 0x08004f64 __gnu_Unwind_Save_VFP_D - 0x08004f68 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x08004f6c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08004f70 __gnu_Unwind_Restore_WMMXD - 0x08004f74 __gnu_Unwind_Save_WMMXD - 0x08004f78 __gnu_Unwind_Restore_WMMXC - 0x08004f7c __gnu_Unwind_Save_WMMXC - 0x08004f80 ___Unwind_RaiseException - 0x08004f80 _Unwind_RaiseException - 0x08004fb0 _Unwind_Resume - 0x08004fb0 ___Unwind_Resume - 0x08004fe0 _Unwind_Resume_or_Rethrow - 0x08004fe0 ___Unwind_Resume_or_Rethrow - 0x08005010 _Unwind_ForcedUnwind - 0x08005010 ___Unwind_ForcedUnwind - 0x08005040 ___Unwind_Backtrace - 0x08005040 _Unwind_Backtrace - .text 0x08005070 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) - 0x080050c4 __gnu_unwind_execute - 0x080053b4 __gnu_unwind_frame - 0x080053dc _Unwind_GetRegionStart - 0x080053e8 _Unwind_GetLanguageSpecificData - 0x080053fc _Unwind_GetDataRelBase - 0x08005404 _Unwind_GetTextRelBase - .text.abort 0x0800540c 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) - 0x0800540c abort - .text.memcpy 0x0800541c 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) - 0x0800541c memcpy + 0x080038ec 0xb78 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + 0x080038ec main + *fill* 0x08004464 0xc ff + .text 0x08004470 0x154 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o + 0x08004470 swim_xfr + .text 0x080045c4 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) + 0x08004880 _Unwind_GetCFA + 0x08004884 __gnu_Unwind_RaiseException + 0x080048d8 __gnu_Unwind_ForcedUnwind + 0x080048ec __gnu_Unwind_Resume + 0x08004934 __gnu_Unwind_Resume_or_Rethrow + 0x08004950 _Unwind_Complete + 0x08004954 _Unwind_DeleteException + 0x08004964 _Unwind_VRS_Get + 0x080049ac _Unwind_VRS_Set + 0x080049f4 __gnu_Unwind_Backtrace + 0x08004d44 __aeabi_unwind_cpp_pr0 + 0x08004d50 __aeabi_unwind_cpp_pr1 + 0x08004d5c __aeabi_unwind_cpp_pr2 + 0x08004d68 _Unwind_VRS_Pop + .text 0x08004fcc 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) + 0x08004fcc __restore_core_regs + 0x08004fcc restore_core_regs + 0x08004ff8 __gnu_Unwind_Restore_VFP + 0x08004ffc __gnu_Unwind_Save_VFP + 0x08005000 __gnu_Unwind_Restore_VFP_D + 0x08005004 __gnu_Unwind_Save_VFP_D + 0x08005008 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800500c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08005010 __gnu_Unwind_Restore_WMMXD + 0x08005014 __gnu_Unwind_Save_WMMXD + 0x08005018 __gnu_Unwind_Restore_WMMXC + 0x0800501c __gnu_Unwind_Save_WMMXC + 0x08005020 ___Unwind_RaiseException + 0x08005020 _Unwind_RaiseException + 0x08005050 _Unwind_Resume + 0x08005050 ___Unwind_Resume + 0x08005080 _Unwind_Resume_or_Rethrow + 0x08005080 ___Unwind_Resume_or_Rethrow + 0x080050b0 _Unwind_ForcedUnwind + 0x080050b0 ___Unwind_ForcedUnwind + 0x080050e0 ___Unwind_Backtrace + 0x080050e0 _Unwind_Backtrace + .text 0x08005110 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) + 0x08005164 __gnu_unwind_execute + 0x08005454 __gnu_unwind_frame + 0x0800547c _Unwind_GetRegionStart + 0x08005488 _Unwind_GetLanguageSpecificData + 0x0800549c _Unwind_GetDataRelBase + 0x080054a4 _Unwind_GetTextRelBase + .text.abort 0x080054ac 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) + 0x080054ac abort + .text.memcpy 0x080054bc 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) + 0x080054bc memcpy .text._raise_r - 0x080054a4 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) - 0x080054a4 _raise_r - .text.raise 0x08005500 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) - 0x08005500 raise - .text._kill_r 0x08005514 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) - 0x08005514 _kill_r + 0x08005544 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) + 0x08005544 _raise_r + .text.raise 0x080055a0 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) + 0x080055a0 raise + .text._kill_r 0x080055b4 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) + 0x080055b4 _kill_r .text._getpid_r - 0x0800553c 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) - 0x0800553c _getpid_r - .text._getpid 0x08005544 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) - 0x08005544 _getpid - .text._kill 0x08005554 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) - 0x08005554 _kill - .text._exit 0x08005564 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) - 0x08005564 _exit + 0x080055dc 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) + 0x080055dc _getpid_r + .text._getpid 0x080055e4 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) + 0x080055e4 _getpid + .text._kill 0x080055f4 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) + 0x080055f4 _kill + .text._exit 0x08005604 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) + 0x08005604 _exit *(.init) - .init 0x08005568 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 - 0x08005568 _init + .init 0x08005608 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 + 0x08005608 _init *(.fini) - .fini 0x0800556c 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 - 0x0800556c _fini + .fini 0x0800560c 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 + 0x0800560c _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -705,42 +709,42 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.rodata*) *(.eh_frame*) -.glue_7 0x08005570 0x0 - .glue_7 0x08005570 0x0 linker stubs +.glue_7 0x08005610 0x0 + .glue_7 0x08005610 0x0 linker stubs -.glue_7t 0x08005570 0x0 - .glue_7t 0x08005570 0x0 linker stubs +.glue_7t 0x08005610 0x0 + .glue_7t 0x08005610 0x0 linker stubs -.vfp11_veneer 0x08005570 0x0 - .vfp11_veneer 0x08005570 0x0 linker stubs +.vfp11_veneer 0x08005610 0x0 + .vfp11_veneer 0x08005610 0x0 linker stubs -.v4_bx 0x08005570 0x0 - .v4_bx 0x08005570 0x0 linker stubs +.v4_bx 0x08005610 0x0 + .v4_bx 0x08005610 0x0 linker stubs -.iplt 0x08005570 0x0 - .iplt 0x08005570 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o +.iplt 0x08005610 0x0 + .iplt 0x08005610 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o -.ARM.extab 0x08005570 0x30 +.ARM.extab 0x08005610 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08005570 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 0x08005594 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) - 0x080055a0 __exidx_start = . + .ARM.extab 0x08005610 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 0x08005634 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) + 0x08005640 __exidx_start = . -.ARM.exidx 0x080055a0 0xd0 +.ARM.exidx 0x08005640 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x080055a0 0x8 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + .ARM.exidx 0x08005640 0x8 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o 0x10 (size before relaxing) - .ARM.exidx 0x080055a8 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 0x08005648 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 0x08005640 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 0x080056e0 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) - 0x08005670 __exidx_end = . - 0x08005670 __etext = ALIGN (0x4) + 0x08005710 __exidx_end = . + 0x08005710 __etext = ALIGN (0x4) -.rel.dyn 0x08005670 0x0 - .rel.iplt 0x08005670 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o +.rel.dyn 0x08005710 0x0 + .rel.iplt 0x08005710 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o -.data 0x20000000 0x430 load address 0x08005670 +.data 0x20000000 0x430 load address 0x08005710 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -768,76 +772,77 @@ 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 0x08005aa0 - .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o +.igot.plt 0x20000430 0x0 load address 0x08005b40 + .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\cccsJC0R.o -.bss 0x20000430 0x308 load address 0x08005aa0 +.bss 0x20000430 0x308 load address 0x08005b40 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.bank_table - 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.cur_addr_hi - 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000489 0x1 .bss.cur_addr_lo - 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x2000048d 0x3 - .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.cur_usb_load_buff - 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.incoming_bytes_remain - 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000499 0x3 - .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.num_buff.5101 - 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - *fill* 0x200004a3 0x1 + .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.num_buff.5104 + 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.num_prg_banks + 0x200004a3 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.oper_info_struct - 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.pbje_command - 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.pbje_data - 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.pbje_numclk - 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.pbje_status - 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.raw_bank_status - 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x200004f7 0x1 .bss.raw_buffer16 - 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.rv16.4756 - 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.rv16.5021 - 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.rv16.5024 + 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .bss.stm_debug_disable - 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000709 0x3 .bss.swim_base - 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000711 0x3 - .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000719 0x3 - .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000721 0x3 - .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o *fill* 0x20000729 0x3 - .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.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) @@ -864,45 +869,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\cc7Ghupa.ltrans0.ltrans.o + 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .ARM.attributes - 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o .comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o 0x80 (size before relaxing) -.debug_info 0x00000000 0x5499 - .debug_info 0x00000000 0x5473 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .debug_info 0x00005473 0x26 C:\Users\paul\AppData\Local\Temp\ccobfpka.o +.debug_info 0x00000000 0x55a8 + .debug_info 0x00000000 0x5582 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .debug_info 0x00005582 0x26 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o .debug_abbrev 0x00000000 0x6af - .debug_abbrev 0x00000000 0x69b C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .debug_abbrev 0x0000069b 0x14 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + .debug_abbrev 0x00000000 0x69b C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .debug_abbrev 0x0000069b 0x14 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o -.debug_loc 0x00000000 0x55ae - .debug_loc 0x00000000 0x55ae C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o +.debug_loc 0x00000000 0x5608 + .debug_loc 0x00000000 0x5608 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o -.debug_aranges 0x00000000 0x1f0 +.debug_aranges 0x00000000 0x1f8 .debug_aranges - 0x00000000 0x1d0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x00000000 0x1d8 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o .debug_aranges - 0x000001d0 0x20 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + 0x000001d8 0x20 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o -.debug_ranges 0x00000000 0xdd8 - .debug_ranges 0x00000000 0xdd8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o +.debug_ranges 0x00000000 0xde0 + .debug_ranges 0x00000000 0xde0 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o -.debug_line 0x00000000 0x1b37 - .debug_line 0x00000000 0x1a44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - .debug_line 0x00001a44 0xf3 C:\Users\paul\AppData\Local\Temp\ccobfpka.o +.debug_line 0x00000000 0x1b54 + .debug_line 0x00000000 0x1a61 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + .debug_line 0x00001a61 0xf3 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o -.debug_str 0x00000000 0x122f - .debug_str 0x00000000 0x11ce C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o - 0x12eb (size before relaxing) - .debug_str 0x000011ce 0x61 C:\Users\paul\AppData\Local\Temp\ccobfpka.o +.debug_str 0x00000000 0x1248 + .debug_str 0x00000000 0x11e7 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.ltrans0.ltrans.o + 0x1304 (size before relaxing) + .debug_str 0x000011e7 0x61 C:\Users\paul\AppData\Local\Temp\ccUfmgJG.o -.debug_frame 0x00000000 0x5d8 - .debug_frame 0x00000000 0x5d8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o +.debug_frame 0x00000000 0x5f4 + .debug_frame 0x00000000 0x5f4 C:\Users\paul\AppData\Local\Temp\ccpDYpEb.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/flash.c b/firmware/source/flash.c index fe17174..59d044c 100644 --- a/firmware/source/flash.c +++ b/firmware/source/flash.c @@ -460,6 +460,9 @@ uint8_t flash_buff( buffer *buff ) { write_page_tssop( bank, (0x80 | addrH), buff, nes_cpu_wr, nes_cpu_rd ); } + if (buff->mapper == GTROM) { + write_page_verify( (0x80+addrH), buff, gtrom_prgrom_flash_wr); + } break; case CHRROM: //$0000 diff --git a/firmware/source/nes.c b/firmware/source/nes.c index 3f56ba2..2e43df2 100644 --- a/firmware/source/nes.c +++ b/firmware/source/nes.c @@ -16,6 +16,7 @@ //global variables uint8_t cur_bank; //used by some flash algos, must be initialized prior to depending on it uint16_t bank_table; //address offset of bank table for mapper writes with bus conflicts +uint8_t num_prg_banks; //used to determine banktable for mappers like colordreams /* Desc:Function takes an opcode which was transmitted via USB @@ -68,6 +69,9 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r case SET_BANK_TABLE: bank_table = operand; break; + case SET_NUM_PRG_BANKS: + num_prg_banks = operand; + break; case NROM_PRG_FLASH_WR: nrom_prgrom_flash_wr( operand, miscdata ); break; @@ -104,6 +108,9 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r case MAP30_PRG_FLASH_WR: map30_prgrom_flash_wr( operand, miscdata ); break; + case GTROM_PRG_FLASH_WR: + gtrom_prgrom_flash_wr( operand, miscdata ); + break; //8bit return values: @@ -136,6 +143,10 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r rdata[RD0] = bank_table; rdata[RD1] = bank_table>>8; break; + case GET_NUM_PRG_BANKS: + rdata[RD_LEN] = BYTE_LEN; + rdata[RD0] = num_prg_banks; + break; case PPU_PAGE_WR_LFSR: ppu_page_wr_lfsr( operand, miscdata ); break; @@ -1329,23 +1340,31 @@ void mmc4_chrrom_flash_wr( uint16_t addr, uint8_t data ) void cdream_chrrom_flash_wr( uint16_t addr, uint8_t data ) { + uint8_t rv; - //the CHR-ROM bank is in mapper register bits 4-7 - uint8_t mapper_val = cur_bank << 4; + //uint8_t num_prg_banks = 16; // 4: 128KB, 8: 256KB, 16: 512KB + + //select first bank + //nes_cpu_wr(0xFF9E, 0); //unlock the flash - nes_cpu_wr(bank_table+0x20, 0x20); + //nes_cpu_wr(bank_table+0x20, 0x20); //this assumes a 256Byte bank table! + //nes_cpu_wr(bank_table+0x08, 0x20); //this assumes a 128KB PRG-ROM banktable! + // 00 01 02 03 - 10 11 12 13 - 20 21 22 23 - ... + nes_cpu_wr( bank_table+(num_prg_banks*2), 0x20); //need the #2 CHR-ROM bank nes_ppu_wr(0x1555, 0xAA); - nes_cpu_wr(bank_table+0x10, 0x10); + //nes_cpu_wr(bank_table+0x10, 0x10); + nes_cpu_wr( bank_table+(num_prg_banks*1), 0x10); nes_ppu_wr(0x0AAA, 0x55); - nes_cpu_wr(bank_table+0x20, 0x20); + //nes_cpu_wr(bank_table+0x20, 0x20); + nes_cpu_wr( bank_table+(num_prg_banks*2), 0x20); nes_ppu_wr(0x1555, 0xA0); //select desired bank for the write - nes_cpu_wr(bank_table+mapper_val, mapper_val); + nes_cpu_wr( bank_table+(num_prg_banks*cur_bank), (cur_bank<<4)); //write the byte nes_ppu_wr(addr, data); @@ -1389,4 +1408,32 @@ uint8_t map30_prgrom_flash_wr( uint16_t addr, uint8_t data ) } +/* Desc:NES GTROM (mapper 111) PRG-ROM FLASH Write + * Pre: nes_init() setup of io pins + * desired bank already selected + * Post:Byte written and ready for another write + * Rtn: None + */ +uint8_t gtrom_prgrom_flash_wr( uint16_t addr, uint8_t data ) +{ + + uint8_t rv; + + //unlock the flash + nes_cpu_wr(0xD555, 0xAA); + nes_cpu_wr(0xAAAA, 0x55); + nes_cpu_wr(0xD555, 0xA0); + + //write the data + nes_cpu_wr(addr, data); + + do { + rv = nes_cpu_rd(addr); + usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != nes_cpu_rd(addr)); + + return rv; +} + + #endif //NES_CONN diff --git a/firmware/source/nes.h b/firmware/source/nes.h index dde0fc9..06f5251 100644 --- a/firmware/source/nes.h +++ b/firmware/source/nes.h @@ -39,6 +39,7 @@ void mmc4_prgrom_sop_flash_wr( uint16_t addr, uint8_t data ); void mmc4_chrrom_flash_wr( uint16_t addr, uint8_t data ); void cdream_chrrom_flash_wr( uint16_t addr, uint8_t data ); uint8_t map30_prgrom_flash_wr( uint16_t addr, uint8_t data ); +uint8_t gtrom_prgrom_flash_wr( uint16_t addr, uint8_t data ); void ppu_page_wr_lfsr( uint16_t addr, uint8_t data ); diff --git a/firmware/source/pinport_al.h b/firmware/source/pinport_al.h index 9df9bd2..27ad045 100644 --- a/firmware/source/pinport_al.h +++ b/firmware/source/pinport_al.h @@ -1645,7 +1645,8 @@ void software_AXL_CLK(); #endif //STM_CORE -#ifdef STM_NES +#if defined (STM_NES) || defined(STM_ADAPTER) + #define EXT_IP_PU(bank, pin) bank->MODER &= ~(MODER_OP<<(pin*2)); bank->PUPDR |= (PUPDR_PU<<(pin*2)) #define EXT_IP_FL(bank, pin) bank->MODER &= ~(MODER_OP<<(pin*2)); bank->PUPDR &= ~(PUPDR_PU<<(pin*2)) #define EXT_OP(bank, pin) bank->MODER |= (MODER_OP<<(pin*2)) diff --git a/host/scripts/inlretro2.lua b/host/scripts/inlretro2.lua index f066405..641aa63 100644 --- a/host/scripts/inlretro2.lua +++ b/host/scripts/inlretro2.lua @@ -79,7 +79,8 @@ function nes_exec(process_opts, console_opts) mmc4 = require "scripts.nes.mmc4", mmc5 = require "scripts.nes.mmc5", nrom = require "scripts.nes.nrom", - unrom = require "scripts.nes.unrom" + unrom = require "scripts.nes.unrom", + gtrom = require "scripts.nes.gtrom" } dict.io("IO_RESET") diff --git a/host/scripts/nes/gtrom.lua b/host/scripts/nes/gtrom.lua new file mode 100644 index 0000000..1d40abd --- /dev/null +++ b/host/scripts/nes/gtrom.lua @@ -0,0 +1,387 @@ + +-- create the module's table +local gtrom = {} + +-- import required modules +local dict = require "scripts.app.dict" +local nes = require "scripts.app.nes" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local time = require "scripts.app.time" +local files = require "scripts.app.files" +local time = require "scripts.app.time" + +-- file constants & variables +local mapname = "GTROM" + +-- local functions + +--read PRG-ROM flash ID +local function prgrom_manf_id( debug ) + + + if debug then print("reading PRG-ROM manf ID") end + --no bus conflicts + --$5000-5FFF / $7000-7FFF writes to mapper + --$8000-FFFF writes to mapper + -- + --A15 14 - 13 12 + -- 1 1 0 1 : 0x5555 -> $D555 + -- 1 0 1 0 : 0x2AAA -> $AAAA + dict.nes("NES_CPU_WR", 0xD555, 0xAA) + dict.nes("NES_CPU_WR", 0xAAAA, 0x55) + dict.nes("NES_CPU_WR", 0xD555, 0x90) + + rv = dict.nes("NES_CPU_RD", 0x8000) + if debug then print("attempted read PRG-ROM manf ID:", string.format("%X", rv)) end + rv = dict.nes("NES_CPU_RD", 0x8001) + if debug then print("attempted read PRG-ROM prod ID:", string.format("%X", rv)) end + + --exit software + dict.nes("NES_CPU_WR", 0x8000, 0xF0) + +end + +--select different chr-ram banks and verify all 4 banks are present +local function gtrom_chrbank_test() + + dict.nes("NES_CPU_WR", 0x5000, 0x00) --PT & NT bank 0 + dict.nes("NES_PPU_WR", 0x0000, 0xAA) --PT write + dict.nes("NES_PPU_WR", 0x2000, 0xCC) --NT write + + dict.nes("NES_CPU_WR", 0x5000, 0x30) --PT & NT bank 1 + dict.nes("NES_PPU_WR", 0x0000, 0x55) --PT write + dict.nes("NES_PPU_WR", 0x2000, 0x33) --NT write + + --read back + local test = true + dict.nes("NES_CPU_WR", 0x5000, 0x00) --CHR bank 0 + rv = dict.nes("NES_PPU_RD", 0x0000) + if rv ~= 0xAA then + print( "\nFAIL CHR-RAM BANKING TEST!!!\n") + print("PT bank0 read:", string.format("%X", rv)) + test = false + end + rv = dict.nes("NES_PPU_RD", 0x2000) + if rv ~= 0xCC then + print( "\nFAIL CHR-RAM BANKING TEST!!!\n") + print("NT bank0 read:", string.format("%X", rv)) + test = false + end + + dict.nes("NES_CPU_WR", 0x5000, 0x30) --CHR bank 1 + rv = dict.nes("NES_PPU_RD", 0x0000) + if rv ~= 0x55 then + print( "\nFAIL CHR-RAM BANKING TEST!!!\n") + print("PT bank1 read:", string.format("%X", rv)) + test = false + end + rv = dict.nes("NES_PPU_RD", 0x2000) + if rv ~= 0x33 then + print( "\nFAIL CHR-RAM BANKING TEST!!!\n") + print("NT bank1 read:", string.format("%X", rv)) + test = false + end + + if test then + print("CHR-RAM BANKING TEST PASSED") + return true + else + print("CHR-RAM BANKING TEST FAILED") + return false + end +end + + +--dump the PRG ROM +local function dump_prgrom( file, rom_size_KB, debug ) + + local KB_per_read = 32 + local num_reads = rom_size_KB / KB_per_read + local read_count = 0 + local addr_base = 0x80 -- $8000 + + while ( read_count < num_reads ) do + + if debug then print( "dump PRG part ", read_count, " of ", num_reads) end + + --select desired bank(s) to dump + --mapper 30 bank register is $C000-FFFF + dict.nes("NES_CPU_WR", 0x5000, read_count) --32KB @ CPU $8000 + + dump.dumptofile( file, KB_per_read, addr_base, "NESCPU_PAGE", false ) + + read_count = read_count + 1 + end + +end + + +--REQ: addr must be in the first bank $8000-BFFF +local function wr_prg_flash_byte(addr, value, bank, debug) + + if (addr < 0x8000 or addr > 0xFFFF) then + print("\n ERROR! flash write to PRG-ROM", string.format("$%X", addr), "must be $8000-FFFF \n\n") + return + end + + dict.nes("NES_CPU_WR", 0x5000, bank) + + dict.nes("NES_CPU_WR", 0xD555, 0xAA) + dict.nes("NES_CPU_WR", 0xAAAA, 0x55) + dict.nes("NES_CPU_WR", 0xD555, 0xA0) + + dict.nes("NES_CPU_WR", addr, value) + + local rv = dict.nes("NES_CPU_RD", addr) + + local i = 0 + + while ( rv ~= value ) do + rv = dict.nes("NES_CPU_RD", addr) + i = i + 1 + end + if debug then print(i, "naks, done writing byte.") end + + --TODO report error if write failed + +end + + +--this is controlled from the host side one bank at a time +--but requires mapper specific firmware flashing functions +local function flash_prgrom(file, rom_size_KB, debug) + + --init_mapper() + + --test some bytes + --wr_prg_flash_byte(0x0000, 0xA5, 0, true) + --wr_prg_flash_byte(0xFFFF, 0x5A, 1, true) + --if true then return end + + print("\nProgramming PRG-ROM flash") + + local base_addr = 0x8000 --writes occur $8000-9FFF + local bank_size = 32*1024 --UNROM 16KByte per PRG bank + local buff_size = 1 --number of bytes to write at a time + local cur_bank = 0 + 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 PRG bank: ", cur_bank, " of ", total_banks-1) + end + + --select bank to flash + dict.nes("NES_CPU_WR", 0x5000, cur_bank) + + --program the entire bank's worth of data + + --[[ This version of the code programs a single byte at a time but doesn't require + -- mapper 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, cur_bank, false) --0.7KBps + --EASIEST FIRMWARE SPEEDUP: 5x faster, create MMC3 write byte function: + dict.nes("GTROM_PRG_FLASH_WR", base_addr+byte_num, data) --3.8KBps (5.5x faster than above) + + if (true) 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 + 1 + end + --]] + + --Have the device write a banks worth of data + flash.write_file( file, bank_size/1024, mapname, "PRGROM", false ) + + cur_bank = cur_bank + 1 + end + + print("Done Programming PRG-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 test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local rv = nil + local file + -- TODO: Cleanup needed here, support chrrom, make this look more like other mapper scripts. + local prg_size = console_opts["prg_rom_size_kb"] + + --local filetype = "nes" + local filetype = "bin" + +--initialize device i/o for NES + dict.io("IO_RESET") + dict.io("NES_INIT") + + +--test cart by reading manf/prod ID + if test then + print("Testing ", mapname) + + --nes.detect_mapper_mirroring(true) + nes.ppu_ram_sense(0x1000, true) + print("EXP0 pull-up test:", dict.io("EXP0_PULLUP_TEST")) + + prgrom_manf_id( debug ) + + --test CHR-RAM banking + rv = gtrom_chrbank_test() + --exit script if test fails + if not rv then return end + + end + +--dump the cart to dumpfile + if read then + print("\nDumping PRG-ROM...") + file = assert(io.open(dumpfile, "wb")) + + --dump cart into file + time.start() + dump_prgrom(file, prg_size, false) + time.report(prg_size) + + --close file + assert(file:close()) + print("DONE Dumping PRG-ROM") + end + + +--erase the cart + if erase then + + + print("\nerasing", mapname); + + dict.nes("NES_CPU_WR", 0xD555, 0xAA) + dict.nes("NES_CPU_WR", 0xAAAA, 0x55) + dict.nes("NES_CPU_WR", 0xD555, 0x80) + dict.nes("NES_CPU_WR", 0xD555, 0xAA) + dict.nes("NES_CPU_WR", 0xAAAA, 0x55) + dict.nes("NES_CPU_WR", 0xD555, 0x10) + + local i = 0 + + --TODO create some function to pass the read value + --that's smart enough to figure out if the board is actually erasing or not + rv = 0xFF + while ( rv ~= dict.nes("NES_CPU_RD", 0x8000)) do + rv = dict.nes("NES_CPU_RD", 0x8000) + i = i + 1 + end + + --TODO verify erase + --for now we'll just report an error if naks isn't sizable + --AVR is slower so naks are lower, tested was ~60 + if (i < 10) then + print("ERROR flash did not appear to accept erase command, naks:", i) + return + else + print(i, "naks, done erasing prg."); + end + + end + + +--program flashfile to the cart + if program then + + --open file + file = assert(io.open(flashfile, "rb")) + --determine if auto-doubling, deinterleaving, etc, + --needs done to make board compatible with rom + + + if filetype == "nes" then + --advance past the 16byte header + local buffsize = 1 + local byte + local count = 1 + + for byte in file:lines(buffsize) do + local data = string.unpack("B", byte, 1) + --print(string.format("%X", data)) + count = count + 1 + if count == 17 then break end + end + end + + + --flash cart + time.start() + flash_prgrom(file, prg_size, false) + time.report(prg_size) + + --close file + assert(file:close()) + + end + +--verify flashfile is on the cart + if verify then + + file = assert(io.open(verifyfile, "wb")) + + --dump cart into file + time.start() + dump_prgrom(file, prg_size, false) + time.report(prg_size) + + --close file + assert(file:close()) + + --compare the flash file vs post dump file + if (files.compare( verifyfile, flashfile, true ) ) then + print("\nSUCCESS! Flash verified") + else + print("\n\n\n FAILURE! Flash verification did not match") + end + end + + dict.io("IO_RESET") + + return +end + + +-- global variables so other modules can use them + + +-- call functions desired to run when script is called/imported + + +-- functions other modules are able to call +gtrom.process = process + +-- return the module's table +return gtrom diff --git a/shared/shared_dict_buffer.h b/shared/shared_dict_buffer.h index 2d22073..15a87e3 100644 --- a/shared/shared_dict_buffer.h +++ b/shared/shared_dict_buffer.h @@ -172,6 +172,7 @@ #define SUN4 68 #define FME7 69 //SUNSOFT-5 with synth #define HDIVER 78 + #define GTROM 111 #define DxROM 205 #define MM2 253 #define DPROM 254 //just a random mapper number for whatever I need it for diff --git a/shared/shared_dict_nes.h b/shared/shared_dict_nes.h index 5538ddf..75c50ce 100644 --- a/shared/shared_dict_nes.h +++ b/shared/shared_dict_nes.h @@ -59,6 +59,7 @@ #define MMC4_PRG_SOP_FLASH_WR 0x10 //current bank must be selected, & needs cur_bank set prior to calling #define MMC4_CHR_FLASH_WR 0x11 //needs cur_bank set prior to calling #define MAP30_PRG_FLASH_WR 0x12 //needs cur_bank set prior to calling +#define GTROM_PRG_FLASH_WR 0x13 //desired bank must be selected #define SET_CUR_BANK 0x20