ADD: make unlock and make flash to Makefile

This commit is contained in:
Niklas Fauth 2018-04-25 19:27:15 +02:00
parent 4ac8b72fb0
commit 0172976057
4 changed files with 394 additions and 369 deletions

View File

@ -15,7 +15,7 @@
#define PWM_FREQ 16000 // PWM frequency in Hz
#define DEAD_TIME 32 // PWM deadtime
#define DC_CUR_LIMIT 35 // Motor DC current limit in amps
#define DC_CUR_LIMIT 25 // Motor DC current limit in amps
#define BAT_LOW_LVL1 36.0 // gently beeps at this voltage level
#define BAT_LOW_LVL2 33.0 // your battery is almost empty. Charge now!
@ -54,6 +54,19 @@
// #define SPEED_COEFFICIENT -1
// #define STEER_COEFFICIENT 0
// #define ADDITIONAL_CODE \
if (button1 && speedR < 300) { \
speedR = speedR * -0.2f; \
speedL = speedL * -0.2f; } \
else { \
direction = 1; } \
if (button1 && speedR > 700) { /* field weakening at high speeds */ \
weakl = speedR - 600; /* weak should never exceed 400 or 450 MAX!! */ \
weakr = speedR - 600; } \
else { \
weakl = 0; \
weakr = 0; }
// ###### ARMCHAIR ######
// #define FILTER 0.05
// #define SPEED_COEFFICIENT 0.5

View File

@ -162,6 +162,12 @@ format:
clean:
-rm -fR .dep $(BUILD_DIR)
flash:
st-flash --reset write $(BUILD_DIR)/$(TARGET).bin 0x8000000
unlock:
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f1x unlock 0"
#######################################
# dependencies
#######################################

View File

@ -139,7 +139,7 @@ int main(void) {
#ifdef CONTROL_ADC
cmd1 = CLAMP(adc_buffer.l_rx2 - 700, 0, 2350) / 2.35; // ADC values range 0-4095, however full range of our poti only covers 650 - 3050
//uint8_t button1 = (uint8_t)(adc_buffer.l_tx2 > 2000);
uint8_t button1 = (uint8_t)(adc_buffer.l_tx2 > 2000);
timeout = 0;
#endif
@ -158,10 +158,15 @@ int main(void) {
setScopeChannel(2, (int)speedR);
setScopeChannel(3, (int)speedL);
// ####### ADDITIONAL CODE #######
#ifdef ADDITIONAL_CODE
ADDITIONAL_CODE;
#endif
// ####### SET OUTPUTS #######
if ((speedL < lastSpeedL + 50 && speedL > lastSpeedL - 50) && (speedR < lastSpeedR + 50 && speedR > lastSpeedR - 50) && timeout < 50) {
pwmr = speedR;
pwml = speedL;
pwml = -speedL;
}
lastSpeedL = speedL;

View File

@ -1,23 +1,23 @@
:020000040800F2
:1000000000C00020B5450008894500088D4500085E
:10001000914500089545000899450008000000003A
:100020000000000000000000000000009D450008E6
:10003000A145000800000000A5450008A9450008EA
:10004000FD450008FD450008FD450008FD45000888
:10005000FD450008FD450008FD450008FD45000878
:10006000FD450008FD450008FD450008F93D000874
:10007000FD450008FD450008FD450008FD45000858
:10008000FD450008FD450008FD450008FD45000848
:10009000FD450008FD450008FD450008FD45000838
:1000A000FD450008FD450008FD450008FD45000828
:1000B000FD450008FD450008FD450008FD45000818
:1000C000FD450008FD450008FD450008FD45000808
:1000D000FD450008FD450008FD450008FD450008F8
:1000E000FD450008FD450008FD450008FD450008E8
:1000F000FD450008FD450008FD450008FD450008D8
:10010000FD450008FD450008FD450008FD450008C7
:10011000FD450008FD450008FD450008FD450008B7
:10012000FD450008FD450008FD450008FD450008A7
:1000000000C00020BD450008914500089545000846
:10001000994500089D450008A14500080000000022
:10002000000000000000000000000000A5450008DE
:10003000A945000800000000AD450008B1450008D2
:100040000546000805460008054600080546000864
:100050000546000805460008054600080546000854
:10006000054600080546000805460008013E000850
:100070000546000805460008054600080546000834
:100080000546000805460008054600080546000824
:100090000546000805460008054600080546000814
:1000A0000546000805460008054600080546000804
:1000B00005460008054600080546000805460008F4
:1000C00005460008054600080546000805460008E4
:1000D00005460008054600080546000805460008D4
:1000E00005460008054600080546000805460008C4
:1000F00005460008054600080546000805460008B4
:1001000005460008054600080546000805460008A3
:100110000546000805460008054600080546000893
:100120000546000805460008054600080546000883
:1001300000000000000000000000000000000000BF
:1001400000000000000000000000000000000000AF
:10015000000000000000000000000000000000009F
@ -36,10 +36,10 @@
:10021800034B03B11847704788000020880000206E
:100228000000000010B5064C237843B9FFF7D8FF4B
:10023800044B13B10448AFF300800123237010BDB1
:100248008800002000000000B04E000808B5084BE8
:100248008800002000000000B84E000808B5084BE0
:100258001BB108480849AFF300800848036813B980
:10026800BDE80840CCE7064B002BF9D09847F7E7E4
:1002780000000000B04E00088C000020880000201C
:1002780000000000B84E00088C0000208800002014
:100288000000000081F0004102E000BF83F000435D
:1002980030B54FEA41044FEA430594EA050F08BF19
:1002A80090EA020F1FBF54EA000C55EA020C7FEADD
@ -314,7 +314,7 @@
:10137800C2F3834306A90B4413F8103C12F4803FD0
:101388000CD00B4A5268C2F340420A4412F8140CBB
:10139800084AB2FBF0F003FB00F004E0064800FB4B
:1013A80003F000E0034806B030BC7047C84E0008A0
:1013A80003F000E0034806B030BC7047D04E000898
:1013B8000010024000127A0000093D0070B55C4B35
:1013C8001B6803F007038B420BD2594A136823F0BA
:1013D80007030B431360136803F007038B4240F0C5
@ -339,12 +339,12 @@
:10150800D8400E4B1860002000F062FD002070BD2E
:10151800012070BD012070BD012070BD012070BD8B
:10152800032070BD032070BD032070BD012070BD75
:101538000020024000100240DC4E0008000000209D
:101538000020024000100240E44E00080000002095
:10154800014B1868704700BF0000002008B5FFF77E
:10155800F7FF044B5B68C3F30223034AD35CD8400C
:1015680008BD00BF00100240EC4E000808B5FFF7A8
:1015680008BD00BF00100240F44E000808B5FFF7A0
:10157800E7FF044B5B68C3F3C223034AD35CD8403C
:1015880008BD00BF00100240EC4E000830B4036AEA
:1015880008BD00BF00100240F44E000830B4036AE2
:1015980023F001030362036A4468826922F073023C
:1015A8000D682A4323F002038D682B43104DA8428F
:1015B80003D005F50065A84205D123F00803CD68DE
@ -927,7 +927,7 @@
:1039C80000308009FEF740F90420FEF753F94FF064
:1039D800FF3021462246FEF7F9F817B030BD00BF88
:1039E800D34D6210000000002DE9F04F85B0FEF7BE
:1039F80005FBC14CA36943F00103A361A36903F06C
:1039F80005FBC34CA36943F00103A361A36903F06A
:103A080001030393039B0320FEF7CEF86FF00B002E
:103A180000210A46FEF7DAF86FF00A0000210A468C
:103A2800FEF7D4F86FF0090000210A46FEF7CEF839
@ -936,348 +936,349 @@
:103A5800FEF7BCF84FF0FF3000210A46FEF7B6F833
:103A6800FFF786FF636923F001036361FFF756FCE4
:103A7800FFF756FDFFF74CFEFFF7DEFEFFF758FB9A
:103A88009E4820210122FEF70DFA9D48FEF7C0FB53
:103A98009C48FEF7BDFB082405E09B4B1C70642086
:103AA800FEF7CCFA013C002CF7DA0024964B1C7088
:103AB800964804210122FEF7F5F9FFF785FBFFF789
:103AC80013FF0122924B1A70A24601E0AA4634461F
:103AD8000220FEF7B3FAFFF71FFF8E4B1B78A3F106
:103AE8007F0505EB85035B00B3F57A7F04DC8A4D1F
:103AF8009D42B8BF1D4601E04FF47A75874B1D60A3
:103B0800844B5B78A3F17F0707EB87035B00B3F572
:103B18007A7F04DC804F9F42B8BF1F4601E04FF414
:103B28007A777F4B1F604FF0000B7E4BC3F800B0D5
:103B38007D4E3068FCF7F8FC69A3D3E90023FCF755
:103B480059FD804689462846FCF7EEFC66A3D3E972
:103A8800A04820210122FEF70DFA9F48FEF7C0FB4F
:103A98009E48FEF7BDFB082405E09D4B1C70642082
:103AA800FEF7CCFA013C002CF7DA0024984B1C7086
:103AB800984804210122FEF7F5F9FFF785FBFFF787
:103AC80013FF0122944B1A70A24601E0AA4634461D
:103AD8000220FEF7B3FAFFF71FFF904B1B78A3F104
:103AE8007F0505EB85035B00B3F57A7F04DC8C4D1D
:103AF8009D42B8BF1D4601E04FF47A75894B1D60A1
:103B0800864B5B78A3F17F0707EB87035B00B3F570
:103B18007A7F04DC824F9F42B8BF1F4601E04FF412
:103B28007A77814B1F604FF0000B804BC3F800B0D1
:103B38007F4E3068FCF7F8FC6BA3D3E90023FCF751
:103B480059FD804689462846FCF7EEFC68A3D3E970
:103B58000023FCF74FFD02460B4640464946FCF75A
:103B680097FBFCF7E1FF80463060704D2868FCF752
:103B7800DBFC5BA3D3E90023FCF73CFDCDE90001A6
:103B88003846FCF7D1FC58A3D3E90023FCF732FDF3
:103B680097FBFCF7E1FF80463060724D2868FCF750
:103B7800DBFC5DA3D3E90023FCF73CFDCDE90001A4
:103B88003846FCF7D1FC5AA3D3E90023FCF732FDF1
:103B980002460B46DDE90001FCF77AFBFCF7C4FF9F
:103BA80028605846414600F0B1FC0120296800F021
:103BB800ADFC3068FCF7B8FC00225D4BFCF71AFD41
:103BC80006460F462868FCF7AFFC0022584BFCF766
:103BA80028605846414600F0B5FC0120296800F01D
:103BB800B1FC3068FCF7B8FC00225F4BFCF71AFD3B
:103BC80006460F462868FCF7AFFC00225A4BFCF764
:103BD80011FD804689463046394642464B46FCF739
:103BE80055FBCDE900010022524BFCF793FF78B951
:103BF800DDE900013EA3D3E90023FCF76DFF28B9F6
:103C0800DDE90001FCF790FF054603E0424D01E0C5
:103BE80055FBCDE900010022544BFCF793FF78B94F
:103BF800DDE9000140A3D3E90023FCF76DFF28B9F4
:103C0800DDE90001FCF790FF054603E0444D01E0C3
:103C18004FF47A753046394642464B46FCF738FB36
:103C280006460F460022434BFCF774FF78B930462E
:103C380039462FA3D3E90023FCF74EFF28B93046B5
:103C48003946FCF771FF064603E0334E01E04FF4B6
:103C58007A760220294600F059FC0320314600F00C
:103C680055FC04F132039E4212DA323CA6420FDDC3
:103C78000AF132039D420BDAAAF1320A554507DDF3
:103C8800284B1B68312B03D82B4B1D602B4B1E6018
:103C980000F042FC0022234B1A6018480221FEF76C
:103CA800F9F800284ED00022194B1A701348022147
:103CB800FEF7F0F80028F9D10024134B1C70204BB4
:103CC8001C7005E0104B1C706420FEF7B7F9013436
:103CD800072CF7DD094820210022FEF7E3F8FEE76C
:103CE800CDCCCCCCCCCCEC3F9A9999999999B93F49
:103CF8000000000000408FC0001002400008014092
:103D080038020020EC000020CC000020000C01400C
:103D1800C4000020A400002018FCFFFF14030020AA
:103D280004030020040000201003002008030020E2
:103D38000000E03F00408F40D0000020C800002075
:103D4800B0000020214B1C6820462149FDF7C0F82F
:103D580058B120461F49FDF7D9F830B105221E4B4E
:103D68001A7008221D4B1A70B0E620461949FDF753
:103D7800AFF858B120461A49FDF7C8F830B1052206
:103D8800154B1A700122154B1A709FE620461449EC
:103D9800FDF79EF898B10024104B1C70114B1C7055
:103DA80005E00D4B1C706420FEF748F90134072C20
:103DB800F7DD0D4820210022FEF774F8FEE7002306
:103DC800054A1370054A137080E600BF18000020EA
:103DD8000000104200000442CC000020B000002087
:103DE8000000F041C400002000080140000000006D
:103DF8000222854B5A60854B1B68B3F57A7F3ADA05
:103E08000133824A1360824A938899B281480368D1
:103E18000B4403EBD3735B100360D38899B27E48DD
:103E280003680B4403EBD3735B100360138899B2E8
:103E38007A4803680B4403EBD3735B100360538821
:103E480099B2774803680B4403EBD3735B100360A4
:103E5800538999B2734803680B4403EBD3735B101F
:103E6800036013899AB270490B68134403EBD37348
:103E78005B100B6070472DE9F0416C4B1C886C4B54
:103E8800A3FB04235B09642202FB13439BB223BBFD
:103E9800684D2868FCF75AFB53A3D3E90023FCF7C5
:103EA800A9FB06460F465A4B988980B2FCF76AFF71
:103EB800FCF74CFB4EA3D3E90023FCF79BFB4EA376
:103EC800D3E90023FCF796FB02460B4630463946F9
:103ED800FCF7DEF9FCF750FE28604D4B588980B29C
:103EE800504B1D68401BFCF71FFB45A3D3E900237B
:103EF800FCF780FB00220023FCF7EEFD80B1444B69
:103F0800588980B2401BFCF70FFB3DA3D3E900237F
:103F1800FCF770FB0022484BFCF7DEFDB8B90FE058
:103F28003B4B588980B2401BFCF7FEFA34A3D3E917
:103F38000023FCF75FFB0022404BFCF7EBFD30B998
:103F48003F4B1B68322B02D83E4B1B782BB93E4A9D
:103F5800536C23F40043536404E03B4A536C43F42A
:103F6800004353642A4B188980B22F4B1D68401BAD
:103F7800FCF7DAFA22A3D3E90023FCF73BFB002283
:103F88000023FCF7A9FD80B1214B188980B2401BA2
:103F9800FCF7CAFA1AA3D3E90023FCF72BFB00228B
:103FA800254BFCF799FDC0B90FE0194B188980B271
:103FB800401BFCF7B9FA12A3D3E90023FCF71AFB5C
:103FC80000221E4BFCF7A6FD38B91D4B1B68322B8F
:103FD80003D81C4B1B78002B3AD11C4A536C23F492
:103FE8000043536439E000BF2B8716D9CEF7EF3F63
:103FF800F5E4E827181C9B3FFCA9F1D24D62503F1D
:104008007B14AE47E17A943F00000240AC000020E8
:10401800680200200C000020080000201400002086
:10402800100000201C00002020000020D4000020E8
:104038001F85EB5118000020008041C000804140DE
:1040480004000020C400002000340140002C01407E
:10405800914A536C43F40043536490498B6813F0BE
:10406800200F0CBF012200228B6813F0400F0CBFF9
:1040780001230023896811F0800F0CBF012500255A
:104088008749886810F4806F0CBF012000208E6873
:1040980016F4006F0CBF01270027896811F4805FB0
:1040A80003EB450302EB43037E4EF35C7E490B6052
:1040B8000B6803F102030B600D687C4B83FB05E280
:1040C800A2EBE57202EB42024FEA4202A5EB0202C2
:1040D8000A600CBF022200223A4400EB4202B05CA4
:1040E800734A1060106802301060106883FB005338
:1040F800A3EBE07303EB43035B00C31A1360096887
:104108006C4883889BB26C4A12689A1AC3889BB21F
:104118006A4800681B1A052918D8DFE801F0030768
:104128000A0D1013D31A664A136012E0644B1A6022
:104138000FE0634B1A600CE0614A136009E0604AC3
:10414800136006E09B1A5E4A136002E000225C4B93
:104158001A600134A4B25B4B1C805B4B1878A8B181
:104168005A4BA3FB04231B0B594A1278013293FBC9
:10417800F2F102FB11334BB994FBF0F300FB13444B
:104188004CB954481021FDF793FE04E05148102122
:104198000022FDF787FE504BD3F800E0424B1B6826
:1041A800052B22D8DFE803F003080E12161C74460C
:1041B800CEF1000E00251CE0CEF1000574464FF04C
:1041C800000E16E0CEF10005002412E0CEF1000446
:1041D80000250EE0CEF1000475464FF0000E08E011
:1041E8007546CEF1000E002403E04FF0000E744631
:1041F80075463A4B1E682E4B1B68052B1AD8DFE80C
:1042080003F003070B0E111532467642002114E025
:1042180071423246002610E0714200220DE07242DF
:1042280000210AE072423146002606E03146764215
:10423800002202E0002632463146274B1B68002B3D
:1042480050DD274B1868184B1F680537174B83FB41
:1042580007C3A3EBE77303EB43035B00FB1A052BD0
:104268006FD8DFE803F003070B0E1115074640422D
:1042780000236BE043420746002067E043420027E3
:1042880064E04742002361E04742034600205DE0C6
:1042980003464042002759E0002C0140000C014031
:1042A80000100140F44E0008B8000020ABAAAA2A6A
:1042B800C0000020680200200C0000200800002038
:1042C800D8000020D4000020CC0000205917B7D116
:1042D800B000002000080140C8000020D0000020E5
:1042E800B4000020814B18684742814B1B6803F1DA
:1042F800010C804B83FB0C83A3EBEC7303EB4303B0
:104308005B00C3EB0C03052B04D8DFE803F01E07A2
:104318000A0E131700200746034617E0034600203D
:1043280014E003463846002710E03B460746184687
:1043380000230BE03B460746002007E03B460027EA
:1043480004E000200746034600E000231D443C44E7
:104358007044694B1B68002B33DD684BD3F800E0D1
:10436800674B1F680537634B83FB07C3A3EBE773F2
:1043780003EB43035B00FB1A052B56D8DFE803F079
:1043880003080E12161C7746CEF1000E002352E0E9
:10439800CEF1000377464FF0000E4CE0CEF100035B
:1043A800002748E0CEF10007002344E0CEF10007E3
:1043B80073464FF0000E3EE07346CEF1000E002724
:1043C80039E04E4BD3F800E0CEF100074C4B1B68A8
:1043D80003F1010C474B83FB0C83A3EBEC7303EB5A
:1043E80043035B00C3EB0C03052B04D8DFE803F0A1
:1043F80022080C10151A4FF0000E774673461AE083
:1044080073464FF0000E16E07346BE46002712E0D2
:104418003B4677469E4600230DE03B4677464FF0E5
:10442800000E08E03B46002705E04FF0000E7746F7
:10443800734600E0002319443A440EEB060305F5E1
:104448007A7540F2C676B54203DC0A2DB8BF0A2554
:1044580001E040F2C6752B4E756304F57A7440F29C
:10446800C675AC4203DC0A2CB8BF0A2401E040F24E
:10447800C674244DAC6300F57A7040F2C674A0424D
:1044880003DC0A28B8BF0A2001E040F2C6701D4CC0
:10449800E06301F57A7140F2C670814203DC0A29B3
:1044A800B8BF0A2101E040F2C6711748416302F51E
:1044B8007A7240F2C6718A4203DC0A2AB8BF0A221D
:1044C80001E040F2C67210498A6303F57A7340F23C
:1044D800C672934203DC0A2BB8BF0A2301E040F2FC
:1044E800C673094AD363BDE8F08100BFB400002059
:1044F800B8000020ABAAAA2AD0000020BC000020E7
:10450800C000002000340140002C0140014B23F87A
:10451800101070477C03002030B583B0144C20463F
:104528000021642200F08EF812490A884B88888896
:10453800C98800B2009009B2019120460E4912B212
:104548001BB200F087F80D4B5B6873B90B4C2368FE
:1045580023F001032360064D284600F09FF86060B1
:10456800E560236843F00103236003B030BD00BF5A
:10457800180300207C030020FC4E00088000024045
:10458800704700BFFEE700BFFEE700BFFEE700BFC1
:10459800FEE700BF704700BF704700BF704700BF0D
:1045A80008B5FDF73DFDFDF777FB08BD002103E0E9
:1045B8000B4B5B58435004310A480B4B42189A4244
:1045C800F6D30A4A02E0002342F8043B084B9A4219
:1045D800F9D3FEF787FD00F00FF8FFF705FA7047EB
:1045E8004C4F0008000000208800002088000020B0
:1045F800D0030020FEE700000E4B70B51E460E4C9F
:104608000025E41AA410A54204D056F8253098478E
:104618000135F8E700F048FC084B094C1E46E41A3F
:10462800A4100025A54204D056F825309847013536
:10463800F8E770BD444F0008444F0008444F000895
:10464800484F000803460244934202D003F8011B76
:10465800FAE770470EB400B54FF402719CB0ADF89C
:1046680014106FF00041049107914FF6FF711DABD4
:10467800ADF81610084953F8042B02900690086804
:1046880002A9019300F06CF8029B00221A701CB07A
:104698005DF804EB03B0704784000020034613F86C
:1046A800012B002AFBD1181A013870472DE9F04771
:1046B8008E688246B3420C469046994640D38A8912
:1046C80012F4906F3AD02568096902236F1A656958
:1046D80005EB450595FBF3F57B1C4B449D4238BF24
:1046E8001D4653050FD5294600F03AFB064698B1FA
:1046F80021693A4600F0CAFAA38923F4906343F08B
:104708008003A38113E02A4600F080FB064670B9B7
:104718005046216900F0E0FA0C23CAF80030A3895A
:104728004FF0FF3043F04003A381BDE8F0872661D6
:104738003E4426604E466561ED1BA560B14500D23A
:104748004E4632462068414600F0ABFAA368002086
:104758009B1BA36023681E442660BDE8F087000009
:104768002DE9F0439DB003938B8906461C060D4640
:1047780090460CD50B6953B9402100F0F1FA286036
:10478800286110B90C233360CCE040236B6100230F
:10479800099320238DF8293030238DF82A30434699
:1047A8001C4613F8012B1AB9B4EB08090FD002E024
:1047B800252AF5D1F8E73046294642464B46FFF709
:1047C80075FF013000F0A980099B4B4409932378B9
:1047D800002B00F0A28000234FF0FF3204930793D0
:1047E800059206938DF853301A9304F10108444654
:1047F800DFF8489121784846052200F039FA08F197
:104808000108049B30B1C9EB000001228240134328
:104818000493ECE7D80644BF20228DF853201907EB
:1048280044BF2B228DF8532022782A2A02D00799D8
:1048380023460EE0039A0134111D12680391002AE1
:10484800BBBF524243F0020307920792B8BF0493DA
:104858000AE01C4622780133303A092A03D80A2094
:1048680000FB0121F5E7079123782E2B1AD16378F5
:104878002A2B0AD1039B02341A1D1B680392002BB2
:10488800B8BF4FF0FF3305930CE0611C00220C46C3
:1048980023780131303B092B03D80A2000FB023270
:1048A800F5E70592DFF8988021784046032200F06A
:1048B800DFF938B1049AC8EB000040238340134362
:1048C8000493013421781A48062204F101088DF86E
:1048D800281000F0CDF988B1164B33B9039B073384
:1048E80023F007030833039313E003AB0093304628
:1048F80004A92A46104BAFF3008007E003AB0093EE
:10490800304604A92A460C4B00F092F8421C074690
:1049180003D0099B3B44099341E7AB895B0601D46B
:10492800099801E04FF0FF301DB0BDE8F08300BFEB
:10493800184F000800000000B54600080E4F000898
:10494800144F00082DE9F84391461F468A680B6901
:1049580006469342B8BF1346C9F8003091F8432081
:104968000C46DDF8208012B10133C9F80030236805
:10497800990642BFD9F800300233C9F800302568DB
:1049880015F006051CD094F843302268003318BF90
:10499800012392061FD5E118302081F843005A1CE4
:1049A80094F845102244023382F8431013E030464D
:1049B800394604F119020123C047013007D00135F7
:1049C800E368D9F800209B1A9D42F0DBDBE74FF043
:1049D800FF30BDE8F8833046394604F14302C0474A
:1049E8000130F4D02268D9F80050E36802F00602DA
:1049F800042A08BF5D1B2269A3680CBF25EAE57578
:104A080000259342C4BF9B1AED184FF00009A94531
:104A18000ADA3046394604F11A020123C047013048
:104A2800D5D009F10109F2E70020BDE8F8830000BC
:104A38002DE9FF410C461746227E98466E2A064607
:104A48000A9B01F1430100F0B08012D8632A23D0F9
:104A58000AD8002A00F0BD80582A40F0CC8084F89B
:104A68004520DFF804E257E0642A1ED0692A1CD0EA
:104A7800C1E0732A00F0B18009D86F2A2ED0702ABD
:104A880040F0B980226842F0200222603FE0752A97
:104A980024D0782A3BD0AEE01A6804F14205111DF3
:104AA8001960136884F84230A9E020681A6810F089
:104AB800800F02D0101D186008E010F0400F02F1BE
:104AC8000400186002D0B2F9003000E01368002B2F
:104AD8003EDA2D225B4284F8432039E020681A68C8
:104AE80010F0800F02D0101D186007E010F0400F82
:104AF80002F10400186001D0138800E01368227ED8
:104B0800DFF864E16F2A0CBF08220A221CE0782231
:104B1800DFF858E184F845202268186812F0800F01
:104B280000F104051D6003D1550601D5038800E096
:104B38000368D00744BF42F0200222601BB92268F4
:104B480022F0200222601022002084F8430002E0B4
:104B5800DFF814E10A226568002DA8BF2068A56067
:104B6800A4BF20F00400206003B965B10D46B3FB73
:104B7800F2F002FB10331EF8033005F8013D03463E
:104B88000028F4D100E00D46082A0BD12368DA0783
:104B980008D5236962689A42DEBF302305F8013CD4
:104BA80005F1FF35491B21612EE025681A6815F0CB
:104BB800800F606903D0151D1D60136808E015F0AB
:104BC800400F02F104051D60136801D0188000E051
:104BD8001860002323610D4616E01A68111D19603C
:104BE800156800212846626800F042F808B1401BA9
:104BF8006060636804E004F1420584F84220012300
:104C08002361002384F84330CDF8008030462146E4
:104C180003AA3B46FFF796FE013002D14FF0FF3062
:104C28001FE0304639462A462369C0470130F5D08F
:104C380023689B0705D4E068039B9842B8BF1846D1
:104C48000FE00025E368039A9B1A9D42F3DA304689
:104C5800394604F119020123C0470130DED001357D
:104C6800F0E704B0BDE8F0811F4F0008304F00089E
:104C780010B5C9B202449042034605D01C780130F1
:104C88008C42F8D1184610BD002010BD10B5431E47
:104C98000A44914204D011F8014B03F8014FF8E798
:104CA80010BD814210B501EB020301D3421E0BE097
:104CB8009842FBD28118D21AD34204D013F8014D7E
:104CC80001F8014DF8E710BD994204D011F8014BE5
:104CD80002F8014FF8E710BD30B500293CD051F873
:104CE800042C0B1F1D49002AB8BF9B180A680C46E4
:104CF80012B95A600B6030BD93420DD2196858182A
:104D0800904201BF5A5852181A60426823605A608C
:104D180030BD994203D80A4651680029F9D1146870
:104D280015199D420AD11B682344D0188842136084
:104D380012D10868034413604B680CE002D90C23B5
:104D4800036030BD1C681819884201BF08684968AB
:104D5800001918605960536030BD00BFE0000020A2
:104D680070B5CC1C24F0030408340C2C38BF0C2478
:104D7800002C064603DA0C233360002070BD8C42F9
:104D8800F9D3204A136810461946A1B10A68121BC4
:104D98000ED40B2A03D90A608B188C501FE08B4263
:104DA8000BBF5A684A6802605A6018BF0B4616E083
:104DB8000B464968E9E7144D2B681BB9304600F0EB
:104DC8004BF828603046214600F046F8421C03465E
:104DD800D1D0C51C25F0030585420AD11C6003F11A
:104DE8000B001A1D20F00700821A0AD05142995070
:104DF80070BD3046E91A00F02FF80130BBD02B46C1
:104E0800ECE770BDE0000020DC000020F8B50746A4
:104E180015460E4621B91146BDE8F840FFF7A0BF78
:104E28001AB9FFF759FF2846F8BD00F025F8A8423F
:104E38000ED238462946FFF793FF044650B1314653
:104E48002A46FFF723FF38463146FFF745FF01E0C2
:104E58003046F8BD2046F8BD38B5064C0023054657
:104E68000846236000F012F8431C02D1236803B1FE
:104E78002B6038BDCC03002051F8040C0028BEBFBD
:104E8800091851F8043CC01804387047044A054909
:104E98001368002B08BF0B4618441060184670476B
:104EA800E4000020D0030020F8B500BFF8BC08BC1F
:104EB8009E467047F8B500BFF8BC08BC9E467047D0
:104EC80002030405060708090A0B0C0D0E0F101043
:104ED80001020000000000000000000001020304BD
:104EE800060708090000000001020304000002018F
:104EF8000405030025693B25693B25693B25690AAB
:104F08000D0000004300232D302B2000686C4C005E
:104F180065666745464700303132333435363738B1
:104F2800394142434445460030313233343536370F
:0C4F3800383961626364656600000000A7
:044F4400550200080A
:044F48002D0200082E
:104F4C0000A24A0464000000D0070000D007000053
:104F5C00D0070000D007000000002042D00700005E
:104F6C00D00700000000000000000000000000005E
:104F7C000000000000000000000000000000000025
:104F8C00000000000C4F00080000000000000000B2
:104F9C000000000000000000000000000000000005
:104FAC0000000000000000000000000000000000F5
:104FBC0000000000000000000000000000000000E5
:084FCC00000000002400002099
:04000005080045B5F5
:103C280006460F460022454BFCF774FF78B930462C
:103C3800394631A3D3E90023FCF74EFF28B93046B3
:103C48003946FCF771FF064603E0354E01E04FF4B4
:103C58007A760220294600F05DFC0320314600F008
:103C680059FC04F132039E4213DA323CA64210DDBD
:103C78000AF132039D420CDAAAF1320A554508DDF1
:103C88002A4B1B68312B04D82D4B1D6073422D4ADB
:103C9800136000F045FC0022244B1A6019480221E9
:103CA800FEF7F8F8002851D000221B4B1A7015486F
:103CB8000221FEF7EFF80028F9D10024144B1C70FC
:103CC800214B1C7005E0124B1C706420FEF7B6F9FE
:103CD8000134072CF7DD0B4820210022FEF7E2F81B
:103CE800FEE700BFAFF30080CDCCCCCCCCCCEC3F12
:103CF8009A9999999999B93F0000000000408FC09E
:103D0800001002400008014038020020EC000020AA
:103D1800CC000020000C0140C4000020A4000020BA
:103D280018FCFFFF140300200403002004000020F7
:103D380010030020080300200000E03F00408F40EF
:103D4800D0000020C8000020B0000020214B1C68D3
:103D580020462149FDF7BCF858B120461F49FDF718
:103D6800D5F830B105221E4B1A7008221D4B1A7067
:103D7800ACE620461949FDF7ABF858B120461A4978
:103D8800FDF7C4F830B10522154B1A700122154B06
:103D98001A709BE620461449FDF79AF898B100245A
:103DA800104B1C70114B1C7005E00D4B1C706420EF
:103DB800FEF744F90134072CF7DD0D4820210022D5
:103DC800FEF770F8FEE70023054A1370054A1370E2
:103DD8007CE600BF180000200000104200000442EA
:103DE800CC000020B00000200000F041C4000020FA
:103DF80000080140000000000222854B5A60854BF4
:103E08001B68B3F57A7F3ADA0133824A1360824A33
:103E1800938899B2814803680B4403EBD3735B1012
:103E28000360D38899B27E4803680B4403EBD373CD
:103E38005B100360138899B27A4803680B4403EB5C
:103E4800D3735B100360538899B2774803680B44B7
:103E580003EBD3735B100360538999B2734803680B
:103E68000B4403EBD3735B10036013899AB2704958
:103E78000B68134403EBD3735B100B6070472DE999
:103E8800F0416C4B1C886C4BA3FB04235B09642238
:103E980002FB13439BB223BB684D2868FCF756FB13
:103EA80053A3D3E90023FCF7A5FB06460F465A4B5C
:103EB800988980B2FCF766FFFCF748FB4EA3D3E96C
:103EC8000023FCF797FB4EA3D3E90023FCF792FBF2
:103ED80002460B4630463946FCF7DAF9FCF74CFE49
:103EE80028604D4B588980B2504B1D68401BFCF729
:103EF8001BFB45A3D3E90023FCF77CFB002200232E
:103F0800FCF7EAFD80B1444B588980B2401BFCF7AE
:103F18000BFB3DA3D3E90023FCF76CFB0022484BC5
:103F2800FCF7DAFDB8B90FE03B4B588980B2401B6B
:103F3800FCF7FAFA34A3D3E90023FCF75BFB002271
:103F4800404BFCF7E7FD30B93F4B1B68322B02D8DA
:103F58003E4B1B782BB93E4A536C23F40043536401
:103F680004E03B4A536C43F4004353642A4B1889DA
:103F780080B22F4B1D68401BFCF7D6FA22A3D3E969
:103F88000023FCF737FB00220023FCF7A5FD80B1D6
:103F9800214B188980B2401BFCF7C6FA1AA3D3E953
:103FA8000023FCF727FB0022254BFCF795FDC0B941
:103FB8000FE0194B188980B2401BFCF7B5FA12A321
:103FC800D3E90023FCF716FB00221E4BFCF7A2FDE9
:103FD80038B91D4B1B68322B03D81C4B1B78002BA0
:103FE8003AD11C4A536C23F40043536439E000BFB0
:103FF8002B8716D9CEF7EF3FF5E4E827181C9B3F2F
:10400800FCA9F1D24D62503F7B14AE47E17A943F50
:1040180000000240AC000020680200200C000020D4
:104028000800002014000020100000201C000020C0
:1040380020000020D40000201F85EB51180000202C
:10404800000039C00000394004000020C4000020EE
:1040580000340140002C0140914A536C43F4004362
:10406800536490498B6813F0200F0CBF0122002283
:104078008B6813F0400F0CBF01230023896811F0EF
:10408800800F0CBF012500258749886810F4806FD0
:104098000CBF012000208E6816F4006F0CBF0127AA
:1040A8000027896811F4805F03EB450302EB4303A3
:1040B8007E4EF35C7E490B600B6803F102030B60D4
:1040C8000D687C4B83FB05E2A2EBE57202EB420232
:1040D8004FEA4202A5EB02020A600CBF022200224C
:1040E8003A4400EB4202B05C734A10601068023038
:1040F8001060106883FB0053A3EBE07303EB4303EA
:104108005B00C31A136009686C4883889BB26C4AC9
:1041180012689A1AC3889BB26A4800681B1A052954
:1041280018D8DFE801F003070A0D1013D31A664AFE
:10413800136012E0644B1A600FE0634B1A600CE0E6
:10414800614A136009E0604A136006E09B1A5E4A00
:10415800136002E000225C4B1A600134A4B25B4B8E
:104168001C805B4B1878A8B15A4BA3FB04231B0B8C
:10417800594A1278013293FBF2F102FB11334BB921
:1041880094FBF0F300FB13444CB954481021FDF79D
:104198008FFE04E0514810210022FDF783FE504BAA
:1041A800D3F800E0424B1B68052B22D8DFE803F068
:1041B80003080E12161C7446CEF1000E00251CE0F2
:1041C800CEF1000574464FF0000E16E0CEF1000562
:1041D800002412E0CEF1000400250EE0CEF1000428
:1041E80075464FF0000E08E07546CEF1000E00242B
:1041F80003E04FF0000E744675463A4B1E682E4B8E
:104208001B68052B1AD8DFE803F003070B0E1115FE
:1042180032467642002114E071423246002610E010
:10422800714200220DE0724200210AE072423146DA
:10423800002606E031467642002202E00026324699
:104248003146274B1B68002B50DD274B1868184B4D
:104258001F680537174B83FB07C3A3EBE77303EB13
:1042680043035B00FB1A052B6FD8DFE803F0030755
:104278000B0E11150746404200236BE043420746E8
:10428800002067E04342002764E04742002361E0E2
:104298004742034600205DE003464042002759E0BC
:1042A800002C0140000C014000100140FC4E0008A9
:1042B800B8000020ABAAAA2AC0000020680200208B
:1042C8000C00002008000020D8000020D4000020A6
:1042D800CC0000205917B7D1B000002000080140D9
:1042E800C8000020D0000020B4000020814B1868CE
:1042F8004742814B1B6803F1010C804B83FB0C8305
:10430800A3EBEC7303EB43035B00C3EB0C03052B3C
:1043180004D8DFE803F01E070A0E1317002007462B
:10432800034617E00346002014E0034638460027FA
:1043380010E03B460746184600230BE03B4607467D
:10434800002007E03B46002704E00020074603461C
:1043580000E000231D443C447044694B1B68002B5B
:1043680033DD684BD3F800E0674B1F680537634BB4
:1043780083FB07C3A3EBE77303EB43035B00FB1A61
:10438800052B56D8DFE803F003080E12161C7746F3
:10439800CEF1000E002352E0CEF1000377464FF035
:1043A800000E4CE0CEF10003002748E0CEF10007F4
:1043B800002344E0CEF1000773464FF0000E3EE0C4
:1043C8007346CEF1000E002739E04E4BD3F800E0DB
:1043D800CEF100074C4B1B6803F1010C474B83FBE4
:1043E8000C83A3EBEC7303EB43035B00C3EB0C03FD
:1043F800052B04D8DFE803F022080C10151A4FF03B
:10440800000E774673461AE073464FF0000E16E02A
:104418007346BE46002712E03B4677469E46002379
:104428000DE03B4677464FF0000E08E03B4600277C
:1044380005E04FF0000E7746734600E0002319446C
:104448003A440EEB060305F57A7540F2C676B54296
:1044580003DC0A2DB8BF0A2501E040F2C6752B4ED1
:10446800756304F57A7440F2C675AC4203DC0A2C15
:10447800B8BF0A2401E040F2C674244DAC6300F5CD
:104488007A7040F2C674A04203DC0A28B8BF0A203A
:1044980001E040F2C6701D4CE06301F57A7140F20C
:1044A800C670814203DC0A29B8BF0A2101E040F244
:1044B800C6711748416302F57A7240F2C6718A42A2
:1044C80003DC0A2AB8BF0A2201E040F2C67210498A
:1044D8008A6303F57A7340F2C672934203DC0A2BAF
:1044E800B8BF0A2301E040F2C673094AD363BDE8A6
:1044F800F08100BFB4000020B8000020ABAAAA2AAF
:10450800D0000020BC000020C00000200034014082
:10451800002C0140014B23F8101070477C03002049
:1045280030B583B0144C20460021642200F08EF888
:1045380012490A884B888888C98800B2009009B255
:10454800019120460E4912B21BB200F087F80D4BBC
:104558005B6873B90B4C236823F001032360064D95
:10456800284600F09FF86060E560236843F0010387
:10457800236003B030BD00BF180300207C03002077
:10458800044F000880000240704700BFFEE700BFEC
:10459800FEE700BFFEE700BFFEE700BF704700BFB1
:1045A800704700BF704700BF08B5FDF739FDFDF73C
:1045B80073FB08BD002103E00B4B5B5843500431EB
:1045C8000A480B4B42189A42F6D30A4A02E00023E3
:1045D80042F8043B084B9A42F9D3FEF783FD00F0FA
:1045E8000FF8FFF701FA7047544F00080000002049
:1045F8008800002088000020D0030020FEE700008B
:104608000E4B70B51E460E4C0025E41AA410A542A8
:1046180004D056F8253098470135F8E700F048FCF3
:10462800084B094C1E46E41AA4100025A54204D0E4
:1046380056F8253098470135F8E770BD4C4F00080B
:104648004C4F00084C4F0008504F000803460244E6
:10465800934202D003F8011BFAE770470EB400B585
:104668004FF402719CB0ADF814106FF00041049142
:1046780007914FF6FF711DABADF81610084953F8B6
:10468800042B02900690086802A9019300F06CF8C8
:10469800029B00221A701CB05DF804EB03B070474F
:1046A80084000020034613F8012B002AFBD1181AB6
:1046B800013870472DE9F0478E688246B3420C46B0
:1046C8009046994640D38A8912F4906F3AD025686B
:1046D800096902236F1A656905EB450595FBF3F532
:1046E8007B1C4B449D4238BF1D4653050FD52946B8
:1046F80000F03AFB064698B121693A4600F0CAFA3A
:10470800A38923F4906343F08003A38113E02A462E
:1047180000F080FB064670B95046216900F0E0FAC7
:104728000C23CAF80030A3894FF0FF3043F0400350
:10473800A381BDE8F08726613E4426604E46656148
:10474800ED1BA560B14500D24E4632462068414671
:1047580000F0ABFAA36800209B1BA36023681E44EB
:104768002660BDE8F08700002DE9F0439DB0039373
:104778008B8906461C060D4690460CD50B6953B925
:10478800402100F0F1FA2860286110B90C23336049
:10479800CCE040236B610023099320238DF8293056
:1047A80030238DF82A3043461C4613F8012B1AB9DA
:1047B800B4EB08090FD002E0252AF5D1F8E7304616
:1047C800294642464B46FFF775FF013000F0A980A5
:1047D800099B4B4409932378002B00F0A280002307
:1047E8004FF0FF3204930793059206938DF85330E8
:1047F8001A9304F101084446DFF8489121784846A5
:10480800052200F039FA08F10108049B30B1C9EB20
:1048180000000122824013430493ECE7D80644BF0A
:1048280020228DF85320190744BF2B228DF85320DE
:1048380022782A2A02D0079923460EE0039A0134E7
:10484800111D12680391002ABBBF524243F00203B4
:1048580007920792B8BF04930AE01C4622780133F6
:10486800303A092A03D80A2000FB0121F5E707910D
:1048780023782E2B1AD163782A2B0AD1039B023472
:104888001A1D1B680392002BB8BF4FF0FF33059326
:104898000CE0611C00220C4623780131303B092BC7
:1048A80003D80A2000FB0232F5E70592DFF898806A
:1048B80021784046032200F0DFF938B1049AC8EBAA
:1048C80000004023834013430493013421781A489D
:1048D800062204F101088DF8281000F0CDF988B1FE
:1048E800164B33B9039B073323F0070308330393AD
:1048F80013E003AB0093304604A92A46104BAFF3EC
:10490800008007E003AB0093304604A92A460C4B0D
:1049180000F092F8421C074603D0099B3B440993D8
:1049280041E7AB895B0601D4099801E04FF0FF30FD
:104938001DB0BDE8F08300BF204F00080000000054
:10494800BD460008164F00081C4F00082DE9F84323
:1049580091461F468A680B6906469342B8BF1346BC
:10496800C9F8003091F843200C46DDF8208012B1D8
:104978000133C9F800302368990642BFD9F80030DE
:104988000233C9F80030256815F006051CD094F8E4
:1049980043302268003318BF012392061FD5E1185F
:1049A800302081F843005A1C94F845102244023301
:1049B80082F8431013E03046394604F11902012306
:1049C800C047013007D00135E368D9F800209B1AA9
:1049D8009D42F0DBDBE74FF0FF30BDE8F88330465F
:1049E800394604F14302C0470130F4D02268D9F8AF
:1049F8000050E36802F00602042A08BF5D1B226922
:104A0800A3680CBF25EAE57500259342C4BF9B1A2D
:104A1800ED184FF00009A9450ADA3046394604F185
:104A28001A020123C0470130D5D009F10109F2E784
:104A38000020BDE8F88300002DE9FF410C46174629
:104A4800227E98466E2A06460A9B01F1430100F031
:104A5800B08012D8632A23D00AD8002A00F0BD807B
:104A6800582A40F0CC8084F84520DFF804E257E06B
:104A7800642A1ED0692A1CD0C1E0732A00F0B180D4
:104A880009D86F2A2ED0702A40F0B980226842F0E7
:104A9800200222603FE0752A24D0782A3BD0AEE07D
:104AA8001A6804F14205111D1960136884F8423030
:104AB800A9E020681A6810F0800F02D0101D186055
:104AC80008E010F0400F02F10400186002D0B2F9BB
:104AD800003000E01368002B3EDA2D225B4284F898
:104AE800432039E020681A6810F0800F02D0101DAA
:104AF800186007E010F0400F02F10400186001D0C0
:104B0800138800E01368227EDFF864E16F2A0CBF87
:104B180008220A221CE07822DFF858E184F84520B0
:104B28002268186812F0800F00F104051D6003D197
:104B3800550601D5038800E00368D00744BF42F05A
:104B4800200222601BB9226822F020022260102273
:104B5800002084F8430002E0DFF814E10A226568C7
:104B6800002DA8BF2068A560A4BF20F00400206025
:104B780003B965B10D46B3FBF2F002FB10331EF822
:104B8800033005F8013D03460028F4D100E00D4646
:104B9800082A0BD12368DA0708D5236962689A4284
:104BA800DEBF302305F8013C05F1FF35491B2161C3
:104BB8002EE025681A6815F0800F606903D0151D6E
:104BC8001D60136808E015F0400F02F104051D6030
:104BD800136801D0188000E01860002323610D4697
:104BE80016E01A68111D19601568002128466268C8
:104BF80000F042F808B1401B6060636804E004F10B
:104C0800420584F8422001232361002384F84330BD
:104C1800CDF800803046214603AA3B46FFF796FEB2
:104C2800013002D14FF0FF301FE0304639462A46A6
:104C38002369C0470130F5D023689B0705D4E06895
:104C4800039B9842B8BF18460FE00025E368039A13
:104C58009B1A9D42F3DA3046394604F119020123C2
:104C6800C0470130DED00135F0E704B0BDE8F0817F
:104C7800274F0008384F000810B5C9B202449042C7
:104C8800034605D01C7801308C42F8D1184610BD77
:104C9800002010BD10B5431E0A44914204D011F8FB
:104CA800014B03F8014FF8E710BD814210B501EB45
:104CB800020301D3421E0BE09842FBD28118D21A9C
:104CC800D34204D013F8014D01F8014DF8E710BDA7
:104CD800994204D011F8014B02F8014FF8E710BDD2
:104CE80030B500293CD051F8042C0B1F1D49002A6F
:104CF800B8BF9B180A680C4612B95A600B6030BDE1
:104D080093420DD219685818904201BF5A58521848
:104D18001A60426823605A6030BD994203D80A4637
:104D280051680029F9D1146815199D420AD11B68E8
:104D38002344D0188842136012D1086803441360D2
:104D48004B680CE002D90C23036030BD1C681819AD
:104D5800884201BF086849680019186059605360A3
:104D680030BD00BFE000002070B5CC1C24F0030467
:104D780008340C2C38BF0C24002C064603DA0C230C
:104D88003360002070BD8C42F9D3204A1368104666
:104D98001946A1B10A68121B0ED40B2A03D90A605E
:104DA8008B188C501FE08B420BBF5A684A68026010
:104DB8005A6018BF0B4616E00B464968E9E7144DE0
:104DC8002B681BB9304600F04BF828603046214666
:104DD80000F046F8421C0346D1D0C51C25F0030557
:104DE80085420AD11C6003F10B001A1D20F0070050
:104DF800821A0AD05142995070BD3046E91A00F023
:104E08002FF80130BBD02B46ECE770BDE000002046
:104E1800DC000020F8B5074615460E4621B91146B4
:104E2800BDE8F840FFF7A0BF1AB9FFF759FF2846B9
:104E3800F8BD00F025F8A8420ED238462946FFF7FB
:104E480093FF044650B131462A46FFF723FF384600
:104E58003146FFF745FF01E03046F8BD2046F8BD72
:104E680038B5064C002305460846236000F012F8C2
:104E7800431C02D1236803B12B6038BDCC0300204A
:104E880051F8040C0028BEBF091851F8043CC0189A
:104E980004387047044A05491368002B08BF0B46BD
:104EA8001844106018467047E4000020D003002022
:104EB800F8B500BFF8BC08BC9E467047F8B500BFFF
:084EC800F8BC08BC9E467047CF
:104ED00002030405060708090A0B0C0D0E0F10103B
:104EE00001020000000000000000000001020304B5
:104EF0000607080900000000010203040000020187
:104F00000405030025693B25693B25693B25690AA2
:104F10000D0000004300232D302B2000686C4C0056
:104F200065666745464700303132333435363738A9
:104F30003941424344454600303132333435363707
:0C4F40003839616263646566000000009F
:044F4C005502000802
:044F50002D02000826
:104F540000A24A0464000000D0070000D00700004B
:104F6400D0070000D007000000002042D007000056
:104F7400D007000000000000000000000000000056
:104F8400000000000000000000000000000000001D
:104F940000000000144F00080000000000000000A2
:104FA40000000000000000000000000000000000FD
:104FB40000000000000000000000000000000000ED
:104FC40000000000000000000000000000000000DD
:084FD400000000002400002091
:04000005080045BDED
:00000001FF