From ffda2219f1380f7bbc04ee024ef16c9e8b5778a2 Mon Sep 17 00:00:00 2001 From: larsm Date: Fri, 31 May 2019 19:06:47 +0200 Subject: [PATCH] Added Motor-Test-Mode: Sweep motors slowly forward and backward without any input. Better config-validation. Fixed board temperature calculation and serial output when speed > 50. --- Inc/config.h | 52 ++- Src/main.c | 19 +- build/hover.hex | 834 ++++++++++++++++++++++++------------------------ 3 files changed, 478 insertions(+), 427 deletions(-) diff --git a/Inc/config.h b/Inc/config.h index 2ecac25..319ae81 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -12,7 +12,7 @@ // ############################### GENERAL ############################### -// How to calibrate: connect GND and RX of a 3.3v uart-usb adapter to the right sensor board cable (be careful not to use the red wire of the cable. 15v will destroye verything.). if you are using nunchuck, disable it temporarily. enable DEBUG_SERIAL_USART3 and DEBUG_SERIAL_ASCII use asearial terminal. +// How to calibrate: connect GND and RX of a 3.3v uart-usb adapter to the right sensor board cable (be careful not to use the red wire of the cable. 15v will destroy everything.). if you are using nunchuck, disable it temporarily. enable DEBUG_SERIAL_USART3 and DEBUG_SERIAL_ASCII use asearial terminal. // Battery voltage calibration: connect power source. see . write value nr 5 to BAT_CALIB_ADC. make and flash firmware. then you can verify voltage on value 6 (devide it by 100.0 to get calibrated voltage). #define BAT_CALIB_REAL_VOLTAGE 43.0 // input voltage measured by multimeter @@ -47,7 +47,7 @@ #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #define DEBUG_BAUD 115200 // UART baud rate -//#define DEBUG_SERIAL_SERVOTERM +//#define DEBUG_SERIAL_SERVOTERM // Software for plotting graphs: https://github.com/STMBL/Servoterm-app #define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n" // ############################### INPUT ############################### @@ -58,13 +58,13 @@ // for Arduino, use void loop(void){ Serial.write((uint8_t *) &steer, sizeof(steer)); Serial.write((uint8_t *) &speed, sizeof(speed));delay(20); } // ###### CONTROL VIA RC REMOTE ###### -// left sensor board cable. Channel 1: steering, Channel 2: speed. +// left sensor board cable. Channel 1: steering, Channel 2: speed. Use a very short cable! //#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! //#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. // ###### CONTROL VIA TWO POTENTIOMETERS ###### // ADC-calibration to cover the full poti-range: connect potis to left sensor board cable (0 to 3.3V) (do NOT use the red 15V wire in the cable!). see . turn the potis to minimum position, write value 1 to ADC1_MIN and value 2 to ADC2_MIN. turn to maximum position and repeat it for ADC?_MAX. make, flash and test it. -#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2! +//#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2! #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) #define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095) #define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095) @@ -74,6 +74,11 @@ // left sensor board cable. keep cable short, use shielded cable, use ferrits, stabalize voltage in nunchuck, use the right one of the 2 types of nunchucks, add i2c pullups. use original nunchuck. most clones does not work very well. //#define CONTROL_NUNCHUCK // use nunchuck as input. disable DEBUG_SERIAL_USART3! +// ###### MOTOR TEST MODE ###### +// slowly move both wheels forward and backward, ignoring all inputs +#define CONTROL_MOTOR_TEST +#define CONTROL_MOTOR_TEST_MAX_SPEED 300 // sweep slowly from -MAX_SPEED to MAX_SPEED (0 - 1000) + // ############################### DRIVING BEHAVIOR ############################### // inputs: @@ -149,6 +154,41 @@ else {\ #error DEBUG_I2C_LCD and DEBUG_SERIAL_USART3 not allowed. it is on the same cable. #endif -#if defined CONTROL_PPM && defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_ADC || defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_NUNCHUCK - #error only 1 input method allowed. use CONTROL_PPM or CONTROL_ADC or CONTROL_NUNCHUCK. +#ifdef CONTROL_SERIAL_USART2 + #if defined CONTROL_DEFINED + #error select exactly 1 input method in config.h! + #endif + #define CONTROL_DEFINED +#endif + +#ifdef CONTROL_PPM + #if defined CONTROL_DEFINED + #error select exactly 1 input method in config.h! + #endif + #define CONTROL_DEFINED +#endif + +#ifdef CONTROL_ADC + #if defined CONTROL_DEFINED + #error select exactly 1 input method in config.h! + #endif + #define CONTROL_DEFINED +#endif + +#ifdef CONTROL_NUNCHUCK + #if defined CONTROL_DEFINED + #error select exactly 1 input method in config.h! + #endif + #define CONTROL_DEFINED +#endif + +#ifdef CONTROL_MOTOR_TEST + #if defined CONTROL_DEFINED + #error select exactly 1 input method in config.h! + #endif + #define CONTROL_DEFINED +#endif + +#ifndef CONTROL_DEFINED + #error select exactly 1 input method in config.h! #endif diff --git a/Src/main.c b/Src/main.c index b737a77..96b2bef 100644 --- a/Src/main.c +++ b/Src/main.c @@ -67,6 +67,9 @@ extern volatile uint32_t timeout; // global variable for timeout extern float batteryVoltage; // global variable for battery voltage uint32_t inactivity_timeout_counter; +uint32_t main_loop_counter; + +int32_t motor_test_direction = 1; extern uint8_t nunchuck_data[6]; #ifdef CONTROL_PPM @@ -77,7 +80,9 @@ int milli_vel_error_sum = 0; void poweroff() { + #ifndef CONTROL_MOTOR_TEST if (abs(speed) < 20) { + #endif buzzerPattern = 0; enable = 0; for (int i = 0; i < 8; i++) { @@ -86,7 +91,9 @@ void poweroff() { } HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 0); while(1) {} + #ifndef CONTROL_MOTOR_TEST } + #endif } @@ -218,6 +225,14 @@ int main(void) { timeout = 0; #endif + #ifdef CONTROL_MOTOR_TEST + // if (main_loop_counter % 2 == 0) { + if (motor_test_direction == 1) cmd2 += 1; + else cmd2 -= 1; + if (abs(cmd2) > CONTROL_MOTOR_TEST_MAX_SPEED) motor_test_direction = -motor_test_direction; + // } + timeout = 0; + #endif // ####### LOW-PASS FILTER ####### steer = steer * (1.0 - FILTER) + cmd1 * FILTER; @@ -252,7 +267,7 @@ int main(void) { lastSpeedR = speedR; - if (inactivity_timeout_counter % 25 == 0) { + if (main_loop_counter % 25 == 0) { // ####### CALC BOARD TEMPERATURE ####### board_temp_adc_filtered = board_temp_adc_filtered * 0.99 + (float)adc_buffer.temp * 0.01; board_temp_deg_c = ((float)TEMP_CAL_HIGH_DEG_C - (float)TEMP_CAL_LOW_DEG_C) / ((float)TEMP_CAL_HIGH_ADC - (float)TEMP_CAL_LOW_ADC) * (board_temp_adc_filtered - (float)TEMP_CAL_LOW_ADC) + (float)TEMP_CAL_LOW_DEG_C; @@ -310,6 +325,8 @@ int main(void) { if (inactivity_timeout_counter > (INACTIVITY_TIMEOUT * 60 * 1000) / (DELAY_IN_MAIN_LOOP + 1)) { // rest of main loop needs maybe 1ms poweroff(); } + + main_loop_counter += 1; } } diff --git a/build/hover.hex b/build/hover.hex index 20d6a41..b4b5281 100644 --- a/build/hover.hex +++ b/build/hover.hex @@ -1,23 +1,23 @@ :020000040800F2 -:1000000000C00020913D0008753D0008773D0008C4 -:10001000793D00087B3D00087D3D000800000000A0 -:100020000000000000000000000000007F3D00080C -:10003000813D000800000000833D0008853D000868 -:10004000D93D0008D93D0008D93D0008D93D000838 -:10005000D93D0008D93D0008D93D0008D93D000828 -:10006000D93D0008D93D0008D93D0008A135000858 -:10007000D93D0008D93D0008D93D0008D93D000808 -:10008000D93D0008D93D0008D93D0008D93D0008F8 -:10009000D93D0008D93D0008D93D0008D93D0008E8 -:1000A000D93D0008D93D0008D93D0008D93D0008D8 -:1000B000D93D0008D93D0008D93D0008D93D0008C8 -:1000C000D93D0008D93D0008D93D0008D93D0008B8 -:1000D000D93D0008D93D0008D93D0008D93D0008A8 -:1000E000D93D0008D93D0008D93D0008D93D000898 -:1000F000D93D0008D93D0008D93D0008D93D000888 -:10010000D93D0008D93D0008D93D0008D93D000877 -:10011000D93D0008D93D0008D93D0008D93D000867 -:10012000D93D0008D93D0008D93D0008D93D000857 +:1000000000C00020293D00080D3D00080F3D0008FC +:10001000113D0008133D0008153D000800000000D8 +:10002000000000000000000000000000173D000874 +:10003000193D0008000000001B3D00081D3D0008A0 +:10004000713D0008713D0008713D0008713D0008D8 +:10005000713D0008713D0008713D0008713D0008C8 +:10006000713D0008713D0008713D000839350008F8 +:10007000713D0008713D0008713D0008713D0008A8 +:10008000713D0008713D0008713D0008713D000898 +:10009000713D0008713D0008713D0008713D000888 +:1000A000713D0008713D0008713D0008713D000878 +:1000B000713D0008713D0008713D0008713D000868 +:1000C000713D0008713D0008713D0008713D000858 +:1000D000713D0008713D0008713D0008713D000848 +:1000E000713D0008713D0008713D0008713D000838 +:1000F000713D0008713D0008713D0008713D000828 +:10010000713D0008713D0008713D0008713D000817 +:10011000713D0008713D0008713D0008713D000807 +:10012000713D0008713D0008713D0008713D0008F7 :1001300000000000000000000000000000000000BF :1001400000000000000000000000000000000000AF :10015000000000000000000000000000000000009F @@ -31,9 +31,9 @@ :1001D000000000000000000000000000000000001F :0401E0005FF8E0F1F3 :1001E80010B5054C237833B9044B13B10448AFF369 -:1001F80000800123237010BD88000020000000004B -:100208007046000808B5034B1BB103490348AFF318 -:10021800008008BD000000008C0000207046000827 +:1001F80000800123237010BD8C0000200000000047 +:100208000846000808B5034B1BB103490348AFF380 +:10021800008008BD0000000090000020084600088B :10022800034613F8012B002AFBD1181A013870472E :1002380081F0004102E000BF83F0004330B54FEA8F :1002480041044FEA430594EA050F08BF90EA020FFC @@ -354,7 +354,7 @@ :1015F800624412F8100C13F4803F05D10C4B03FB26 :1016080000F007B010BC7047084B5B68C3F3404359 :10161800634413F8142C074BB3FBF2F300FB03F0FD -:10162800EFE70448EDE700BF8846000800100240D5 +:10162800EFE70448EDE700BF20460008001002403D :1016380000093D0000127A00594B1B6803F00703AC :101648008B420CD2564A136823F007030B431360EE :10165800136803F007038B4201D00120704770B56F @@ -378,12 +378,12 @@ :1017780023F46053296943EAC1035360FFF724FF48 :10178800084B5B68C3F30313074AD35CD840074B85 :101798001860002000F03EFD002070BD0120FCE72D -:1017A80000200240001002409C4600080000002073 +:1017A80000200240001002403446000800000020DB :1017B800014B1868704700BF0000002008B5FFF70C :1017C800F7FF044B5B68C3F30223034AD35CD8409A -:1017D80008BD00BF00100240AC46000808B5FFF77E +:1017D80008BD00BF001002404446000808B5FFF7E6 :1017E800E7FF044B5B68C3F3C223034AD35CD840CA -:1017F80008BD00BF00100240AC46000830B4036AC0 +:1017F80008BD00BF001002404446000830B4036A28 :1018080023F001030362056A4268846924F07304C3 :101818000B681C4325F002058B682B43104DA8422A :1018280003D005F50065A84205D123F00803CD686B @@ -551,7 +551,7 @@ :1022480008B5074A136843F0100313600320FFF72B :10225800CDFD0020FFF7DEFFFFF7DAFF002008BD05 :1022680000200240024A136801331360704700BF20 -:10227800E0000020014B1868704700BFE000002014 +:10227800E4000020014B1868704700BFE40000200C :1022880030B583B00190FFF7F5FF0546019CB4F126 :10229800FF3F00D00134FFF7EDFF401BA042FAD307 :1022A80003B030BD7047000030B482B00023019302 @@ -729,7 +729,7 @@ :102D68003046FEF785FF21463046FEF7ABFF0421CB :102D78003046FEF7A7FF39463046FEF7A3FF2B681B :102D880001221A633268136843F00103136019B013 -:102D9800BDE8F08F00100240AC0100203C03002089 +:102D9800BDE8F08F00100240B00100204003002081 :102DA800002C0140003401402DE9F04186B0424E2C :102DB800B36943F40073B361B36903F40073009318 :102DC800009B3E4C3E4B23604FF48073A36000256C @@ -747,9 +747,9 @@ :102E8800019B114B1D60C3F80480104A9A60104AD8 :102E9800DA6040F6A2221A601A6842F001021A604B :102EA8002A4629463846FEF7B3FF3846FEF7E4FFC0 -:102EB80006B0BDE8F08100BF001002407402002097 +:102EB80006B0BDE8F08100BF001002407802002093 :102EC8000024014000000140080002404C24014059 -:102ED800E8020020F0B585B0284B9A6942F4806278 +:102ED800EC020020F0B585B0284B9A6942F4806274 :102EE8009A619B6903F480630093009B244C254BF3 :102EF80023604FF48073A3600023E36063614FF4A1 :102F08006022E2616360052626612046FFF744FBE4 @@ -760,394 +760,388 @@ :102F5800FFF7AAF9072303930197029601A92046D0 :102F6800FFF7A2F923689A6842F480729A609A6817 :102F780042F001029A6005B0F0BD00BF00100240A7 -:102F880028010020002801400D4B1B681333262B15 -:102F980014D810B500240B4B1C700B4B1C7005E0AB -:102FA8000A4B1C706420FFF76BF90134072CF7DD1E -:102FB800002220210648FFF796F8FEE7704700BF79 -:102FC80094030020A8000020B4000020A4000020E2 -:102FD8000008014030B597B002250C9501231093E5 -:102FE800102311931395002414944FF46013159330 -:102FF8000CA8FEF7FBF80F230793089509944FF4E4 -:1030080080630A930B94294607A8FEF715FB0195E0 -:103018004FF44043039301A8FFF770F8FEF7C8FB8D -:10302800084BA3FB00308009FEF732FF0420FEF7AF -:1030380045FF224621464FF0FF30FEF7E9FE17B064 -:1030480030BD00BFD34D62102DE9F04F85B0FFF7BA -:10305800F7F8B34CA36943F00103A361A36903F034 -:1030680001030393039B0320FEF7C0FE00221146D1 -:103078006FF00B00FEF7CCFE002211466FF00A003D -:10308800FEF7C6FE002211466FF00900FEF7C0FEEB -:10309800002211466FF00400FEF7BAFE0022114626 -:1030A8006FF00300FEF7B4FE002211466FF0010036 -:1030B800FEF7AEFE002211464FF0FF30FEF7A8FEE5 -:1030C800FFF788FF636923F001036361FFF772FC70 -:1030D800FFF772FDFFF768FEFFF7FCFEFFF71EFC27 -:1030E800012220218F48FEF7FEFF8F48FFF7B8F92D -:1030F8008E48FFF7B5F9082405E08D4B1C70642055 -:10310800FFF7BEF8013C002CF7DA4FF0000A884BB5 -:1031180083F800A0012204218648FEF7E4FF864BCD -:10312800188AFDF709FE0190844B01221A70D346D4 -:103138004FE14FF47A7861E14FF47A7473E14FF418 -:103148007A7642464B4620462946FDF777F80446EC -:103158000D4600227A4BFDF7B7FC80B96AA3D3E984 -:10316800002320462946FDF791FC00285DD1204622 -:103178002946FDF7B3FC074603E0724EE1E74FF43A -:103188007A77714B1A68714BA3FB0213DB0803EBC8 -:10319800830303EB83039A4249D00AF13203BB420B -:1031A80014DDAAF1320ABA4510DA0BF13203B34240 -:1031B8000CDDABF1320BB34508DA654B1B68042B09 -:1031C80004D8644B1E607B42634A13600221554851 -:1031D800FEF782FF38B1614B1B6823B9604B1B684F -:1031E800002B00F082805F4B1C685F492046FDF78A -:1031F80099FF28B15D4B1B681333262B40F2818061 -:103208005B492046FDF78EFF002800F0BD80564937 -:103218002046FDF7A5FF002800F0B680444B0522A4 -:103228001A70544B06221A70BAE0464FA9E7019863 -:10323800FDF762F936A3D3E90023FDF7B5F9044693 -:103248000D46DFF8F480B8F81000FDF775FDFDF7BE -:1032580053F931A3D3E90023FDF7A6F902460B463B -:1032680020462946FCF7EAFFFDF760FC0546019079 -:103278004149FDF7AFFC4149FDF7B6FD4049FDF76F -:10328800ABFC0446B8F80E10002000F029FDB8F891 -:103298001210012000F024FD3146022000F020FD2C -:1032A8003946032000F01CFDB8F80C10042000F08B -:1032B80017FD34492B4B1868FDF796FDFDF75AFFAB -:1032C8000146052000F00CFD2846FDF753FF014696 -:1032D800062000F005FD2046FDF74CFF01460720BB -:1032E80000F0FEFC00F002FD57E7144B00221A70B4 -:1032F80002210C48FEF7F0FE0028F9D1FFF744FE42 -:1033080071E7FFF741FE4BE00000000000408FC06E -:10331800AE47E17A14AEEF3F7B14AE47E17A843FC3 -:10332800001002400008014074020020280100201B -:10333800A4000020000C0140E8020020B400002096 -:1033480000408F4018FCFFFF7C0300201F85EB51D5 -:1033580004000020C8000020C4000020D000002085 -:10336800CC00002008000020CCCC064294030020AA -:1033780000000C42A800002000E0CE44083748BEF8 -:1033880033330F420000C842734B1B6813F1320FEE -:1033980080F2CA80714B05221A70714B01221A7093 -:1033A80087EAE773A3EBE773322B06DC86EAE6735A -:1033B800A3EBE673322B40F3BD806A4B00221A6000 -:1033C800684B1A68684B9A4201D9FFF7DDFDB3468E -:1033D800BA460220FEF754FF644BDB899BB2B3F573 -:1033E800805FBFF4A6AE614BDA89D889FDF7A8FCE7 -:1033F8005F49FDF7ADFDFDF7BDFE80465D4BC3F8A7 -:1034080000805A4B5B8A9BB2B3F5805FBFF494AEE1 -:10341800564B5A8A588AFDF793FC5549FDF798FD93 -:10342800FDF7A8FE0446544B1C60504AD3899BB252 -:10343800B3F5FA6F94BF0023012350490B70538AE8 -:103448009BB2B3F5FA6F94BF002301234C4A137063 -:103458004C4B00221A604C4D2868FDF73BF838A306 -:10346800D3E90023FDF7A0F806460F464046FDF7CE -:1034780031F835A3D3E90023FDF796F802460B4649 -:1034880030463946FCF7DAFEFDF728FB0646286089 -:10349800314D2868FDF71EF829A3D3E90023FDF76D -:1034A80083F8804689462046FDF714F826A3D3E919 -:1034B8000023FDF779F802460B4640464946FCF7DB -:1034C800BDFEFDF70BFB2860FDF704F800222F4B2B -:1034D800FDF76AF804460D463046FCF7FBFF00226C -:1034E8002A4BFDF761F88046894602460B4620467E -:1034F8002946FCF7A1FE06460F460022244BFDF79D -:10350800E3FA00287FF41BAE11A3D3E90023304669 -:103518003946FDF7BBFA00287FF42FAE304639460E -:10352800FDF7DCFA06460CE600230C4A13700C4A39 -:10353800137035E70B4A13680133136040E700BF87 -:10354800CDCCCCCCCCCCEC3F9A9999999999B93FF0 -:103558000000000000408FC094030020A400002059 -:10356800A80000207C03002000710200E80200206F -:103578003D0A83409C030020880300209803002014 -:1035880084030020040000208C0300200000E03F9A -:1035980000408F4000000000774B02225A60774BB2 -:1035A8001B68B3F57A7F5EDB2DE9F041744B1A682E -:1035B800744BA3FB02139B094FF47A7101FB13238D -:1035C8000BBB714C2068FCF797FF65A3D3E9002378 -:1035D800FCF7EAFF06460F466C4B9889FDF7ACFBF3 -:1035E8006B49FDF701FCFCF787FF5FA3D3E90023D4 -:1035F800FCF7DAFF02460B4630463946FCF71EFE5A -:10360800FDF794FA2060614B5889624B1C68001BD7 -:10361800FCF760FF56A3D3E90023FCF7C5FF00229F -:103628000023FDF733FA002852D1584B5889001B64 -:10363800FCF750FF4EA3D3E90023FCF7B5FF0022A7 -:10364800554BFDF741FA002852D1544B1B68052B06 -:103658004ED8534B1B78002B4AD0524A536C43F434 -:103668000043536449E00133444A1360474A908851 -:103678004D490B68034403EBD3735B100B60D08890 -:103688004A490B68034403EBD3735B100B60108843 -:1036980047490B68034403EBD3735B100B605088F6 -:1036A80044490B68034403EBD3735B100B605089E8 -:1036B80038490B68034403EBD3735B100B60118923 -:1036C8003D4A13680B4403EBD3735B1013607047D8 -:1036D8002E4B5889001BFCF7FDFE25A3D3E90023D8 -:1036E800FCF762FF0022354BFDF7D0F90028ACD07B -:1036F8002C4A536C23F400435364244B18892E4BF3 -:103708001C68001BFCF7E6FE19A3D3E90023FCF7AD -:103718004BFF00220023FDF7B9F9002852D11B4BBB -:103728001889001BFCF7D6FE11A3D3E90023FCF788 -:103738003BFF0022184BFDF7C7F9002852D1174B61 -:103748001B68052B4ED8164B1B78002B4AD01C4AF9 -:10375800536C43F40043536449E000BFAFF3008067 -:10376800AE47E17A14AEEF3F7B14AE47E17A843F6F -:103778007B14AE47E17A943F00000240B800002075 -:10378800AC000020D34D621008000020E8020020A1 -:1037980017B9CE3C0C00002000002E400400002089 -:1037A800B40000200034014014000020180000205C -:1037B8001C000020200000201000002000002EC067 -:1037C800002C0140904B1889001BFCF783FE8CA34A -:1037D800D3E90023FCF7E8FE00228C4BFDF756F9ED -:1037E8000028ACD08A4A536C23F4004353648949B7 -:1037F8008B6813F0200F0CBF012300238A6812F096 -:10380800400F0CBF01220022896811F0800F0CBF05 -:10381800012500258049886810F4806F0CBF0120BD -:1038280000208C6814F4006F0CBF01240024896800 -:1038380011F4805F02EB450203EB4203774EF35C21 -:1038480077490B600B6803F102030B600D68754B39 -:1038580083FB0572A2EBE57202EB42024FEA4207D4 -:10386800A5EB07020A600CBF02220022224400EBEB -:103878004202B05C6C4A1060106802301060106838 -:1038880083FB0043A3EBE07303EB43035C00031BE0 -:10389800136009685C488388644A12689A1AC38866 -:1038A800634800681B1A052934D8DFE801F00323B0 -:1038B80026292C2FD31A5F4A13605F4A13680133F5 -:1038C80013605E4A14684CB35D4AA2FB0312120BE4 -:1038D8005C4909680131B2FBF1F001FB1022EAB939 -:1038E800B3FBF4F204FB1233EBB910215648FEF790 -:1038F80000FC18E04F4B1A60DFE74E4B1A60DCE71C -:103908004C4A1360D9E74B4A1360D6E79B1A494AD9 -:103918001360D2E7474B00221A60CEE7002210213D -:103928004948FEF7E0FB494BD3F800C03C4B1B6805 -:10393800052B2BD8DFE803F00312171C2226CCF145 -:10394800000064469C46424B1968374B1B68052BA0 -:1039580052D8DFE803F01F3F43474B4E6446CCF193 -:10396800000C0020EFE76046CCF1000C0024EAE7E9 -:10397800CCF1000460464FF0000CE4E7CCF1000401 -:103988000020E0E7CCF100000024DCE7002004463A -:103998008446D8E74E420F4619462C4B1B68002B2D -:1039A80040F398802B4B1D681D4B1B6805331D4A3F -:1039B80082FB03E2A2EBE37202EB42024FEA420E01 -:1039C800A3EB0E02052A00F2B980DFE802F0456A8F -:1039D8006F74797E0F4649420026DEE70E4649425B -:1039E8000027DAE74F420E460021D6E74F4200266D -:1039F800D3E74E420027D0E7002637463146CCE7CA -:103A08007B14AE47E17A943FE802002000002EC004 -:103A1800002C0140000C014000100140B446000891 -:103A2800BC000020ABAAAA2AC00000201400002075 -:103A380018000020B0000020AC000020A4000020E6 -:103A48005917B7D1A800002000080140C400002081 -:103A5800C8000020CC000020C5F10008AE4615467D -:103A6800654474444044964B1B68002B40F3D78050 -:103A7800944B1B68944A126802F1050C934A82FB26 -:103A88000CE2A2EBEC7202EB42024FEA420EACEB04 -:103A98000E02052A00F2F980DFE802F058A8ADB25C -:103AA800B7BCAE466D424FF00008D9E7A8466D4254 -:103AB8004FF0000ED4E7C5F1000EA8460025CFE769 -:103AC800C5F1000E4FF00008CAE7C5F100084FF035 -:103AD800000EC5E77E4B1D68C5F1000E7D4B1A68C8 -:103AE80001327A4B83FB0283A3EBE27303EB4303BC -:103AF8004FEA4308A2EB0803052B1AD8DFE803F0C6 -:103B08000323060A0E14A8461D46A9E7F0464FF0FF -:103B1800000EA5E7F046AE460025A1E72B46754600 -:103B28009E464FF000089BE7A84675464FF0000EEA -:103B380096E74FF00008C646454691E74FF0000863 -:103B4800C64645468CE74FF0000889E7C3F10008F0 -:103B58009E461346194407EB0E0206EB080305F5CB -:103B68007A7540F2C676B54200F397800A2DB8BF41 -:103B78000A25594E756304F57A7440F2C675AC424D -:103B880000F38E800A2CB8BF0A24534DAC6300F5AD -:103B98007A7040F2C674A04200F385800A28B8BF44 -:103BA8000A204D4CE06301F57A7140F2C6708142FB -:103BB8007CDC0A29B8BF0A214848416302F57A72B9 -:103BC80040F2C6718A4274DC0A2AB8BF0A22434905 -:103BD8008A6303F57A7340F2C67293426CDC0A2B4F -:103BE800B8BF0A233D4AD363BDE8F0819E465B42D5 -:103BF8004FF00008AEE798465B424FF0000EA9E789 -:103C0800C3F1000E98460023A4E7C3F1000E4FF05D -:103C180000089FE7C3F100084FF0000E9AE7294B10 -:103C28001B68C3F1000E284A12680132DFF89CC0F5 -:103C38008CFB028CACEBE27C0CEB4C0C4FEA4C0896 -:103C4800A2EB080CBCF1050F1AD8DFE80CF003232F -:103C5800060A0E14984663467CE7F0464FF0000EBD -:103C680078E7F0469E46002374E71A467346964660 -:103C78004FF000086EE7984673464FF0000E69E76C -:103C88004FF00008C646434664E74FF00008C646B2 -:103C980043465FE74FF000085CE740F2C67568E707 -:103CA80040F2C67471E740F2C6707AE740F2C67116 -:103CB80082E740F2C6728AE740F2C67392E700BF15 -:103CC800C8000020D0000020C0000020ABAAAA2A0B -:103CD800CC000020BC00002000340140002C014032 -:103CE800014B23F81010704704040020F0B587B08A -:103CF8001A4F64220021384600F090F818490A88C3 -:103D0800B1F802C0888800B2CC8824B20D892DB2DF -:103D18004E8936B28B891BB2C98909B205910493C1 -:103D280003960295019400900FFA8CF312B20D4994 -:103D3800384600F07BF80C4B5B686BB90A4C23687B -:103D480023F0010323603846FCF76AFA6060E760F5 -:103D5800236843F00103236007B0F0BDA0030020EF -:103D680004040020BC4600081C0002407047FEE71F -:103D7800FEE7FEE7FEE770477047704708B5FEF7B5 -:103D880071FAFEF7ACF808BD002103E00B4B5B5855 -:103D9800435004310A480B4B42189A42F6D30A4A58 -:103DA80002E0002342F8043B084B9A42F9D3FEF79D -:103DB8008FFD00F00FF8FFF747F970472447000818 -:103DC800000000208800002088000020180400203F -:103DD800FEE7000070B500250C4E0D4CA41BA41086 -:103DE800A54209D100F040FC00250A4E0A4CA41B4C -:103DF800A410A54205D170BD56F825309847013565 -:103E0800EEE756F8253098470135F2E71C470008D9 -:103E18001C4700081C4700082047000803460244C6 -:103E2800934200D1704703F8011BF9E70EB46FF015 -:103E3800004100B59CB01DAB02900690079104911B -:103E48000848094953F8042B0591006802A9019311 -:103E580000F066F80022029B1A701CB05DF804EBB3 -:103E680003B07047240000200802FFFF2DE9F04747 -:103E78008E6882469E420C469046994637D88A8973 -:103E880012F4906F31D00223256809696F1A6569A9 -:103E980005EB450595FBF3F509F101033B449D420C -:103EA80038BF1D46530530D5294600F035FB064678 -:103EB80050B90C234FF0FF30CAF80030A38943F003 -:103EC8004003A381BDE8F0873A46216900F0B4FABF -:103ED800A38923F4906343F08003A38126613E44C1 -:103EE80026604E466561ED1BA5604E4500D94E46DD -:103EF80032464146206800F0AAFAA36800209B1BBE -:103F0800A36023681E442660DCE72A4600F05EFBB7 -:103F180006460028E2D12169504600F0B1FAC8E708 -:103F28002DE9F04F9DB003938B8980461D060C4602 -:103F380016460FD50B696BB9402100F0EDFA2060E9 -:103F4800206128B90C23C8F800304FF0FF30C7E0D3 -:103F5800402363610023099320238DF829303023FF -:103F68004FF0010B8DF82A3037463D4615F8013BD6 -:103F78000BB1252B3ED1B7EB060A0BD05346324680 -:103F880021464046FFF772FF013000F0A480099BEC -:103F9800534409933B78002B00F09D8000234FF099 -:103FA800FF32CDE90523049307938DF853301A9314 -:103FB8002F46052217F8011B4F4800F02FFA049BE3 -:103FC800D0B9D90644BF20228DF853201A0744BF20 -:103FD8002B228DF853202A782A2A15D02F46002024 -:103FE8000A25079A394611F8013B303B092B4DD970 -:103FF800B8B10FE02F46B8E73F4A3D46801A0BFAA2 -:1040080000F018430490D3E7039A111D1268039136 -:10401800002A01DB079204E0524243F002030792B0 -:1040280004933B782E2B0CD17B782A2B33D1039B1E -:1040380002371A1D1B680392002BB8BF4FF0FF33DD -:1040480005932E4D03223978284600F0E7F938B158 -:104058004023401B03FA00F0049B013703430493F9 -:104068003978062226487E1C8DF8281000F0D6F9EB -:10407800002838D0234B13BB039B073323F00703D7 -:1040880008330393099B4B4409936DE705FB023200 -:1040980001200F46A6E700230A2519460137059394 -:1040A800384610F8012B303A092A03D9002BC8D01A -:1040B8000591C6E705FB012101230746F0E703AB9D -:1040C80000932246104B04A94046AFF30080B0F19C -:1040D800FF3F8146D6D1A3895B063FF536AF0998E5 -:1040E8001DB0BDE8F08F03AB00932246064B04A930 -:1040F800404600F081F8EAE7E8460008EE46000886 -:10410800F246000800000000753E00082DE9F0475F -:1041180091461F468A680B6906469342B8BF134604 -:10412800C9F8003091F843200C46DDF8208012B120 -:104138000133C9F800302368990642BFD9F8003026 -:104148000233C9F80030256815F0060507D104F1D7 -:10415800190AE368D9F800209B1AAB4229DC94F8C5 -:1041680043302268003318BF012392062ED404F18D -:10417800430239463046C047013021D02368E568FC -:1041880003F00603042B18BF0025D9F800204FF0D0 -:10419800000908BFAD1AA368226908BF25EAE575BA -:1041A8009342C4BF9B1AED181A344D451AD100200A -:1041B80008E00123524639463046C047013003D152 -:1041C8004FF0FF30BDE8F0870135C2E73020E11835 -:1041D80081F843005A1C94F845102244023382F8AF -:1041E8004310C4E70123224639463046C047013010 -:1041F800E6D009F10109D8E72DE9F04301F1430CB4 -:104208000C46097E85B06E291746064698460C9AD4 -:1042180000F0B38022D8632936D00AD8002900F0EC -:10422800B980582900F0838004F1420584F84210CF -:1042380032E0642901D06929F6D12068136805069F -:1042480003F104012AD51B681160002B03DA2D2223 -:104258005B4284F843206F480A2239E0732900F052 -:104268009D8008D86F2920D07029DDD1236843F0BC -:104278002003236003E0752917D07829D4D1782347 -:10428800654884F8453055E0136804F14205191D66 -:104298001B68116084F8423001238CE01B6810F021 -:1042A800400F116018BF1BB2CFE713682568181DAF -:1042B8001060280601D51B6802E06806FBD51B883C -:1042C8006F2914BF0A2208225248002184F843109B -:1042D8006568002DA560C0F29580216821F0040171 -:1042E8002160002B3DD1002D40F08E806546082AC4 -:1042F8000BD12368DB0708D5236962689A42DEBFC1 -:10430800302305F8013C05F1FF35ACEB05032361CB -:10431800CDF800803B4603AA21463046FFF7F6FE5B -:1043280001304DD14FF0FF3005B0BDE8F08339487A -:1043380084F84510136821681D1D1B6815600A065E -:104348000BD5CA0744BF41F0200121601BB9226880 -:1043580022F0200222601022B7E74D0648BF9BB228 -:10436800EFE76546B3FBF2F102FB1133C35C05F8D6 -:10437800013D0B460029F5D1B9E713682568181DDA -:104388006169106028061B6801D5196002E06A0699 -:10439800FBD51980002365462361B9E71368191D09 -:1043A80011601D6862680021284600F037F808B1DE -:1043B800401B606063682361002384F84330A7E7EB -:1043C80023692A4639463046C0470130AAD02368B7 -:1043D8009B0713D4E068039B9842B8BF1846A3E72D -:1043E80001234A4639463046C04701309AD0013544 -:1043F800E368039A9B1AAB42F2DCEBE7002504F171 -:104408001909F5E7002BACD1037804F1420584F8CB -:1044180042306CE7F94600080A47000810B5C9B2EF -:1044280002449042034601D1002303E01C78013086 -:104438008C42F6D1184610BD10B5431E0A4491426D -:1044480000D110BD11F8014B03F8014FF7E788427E -:1044580010B501EB020307D8421E99420AD011F8A1 -:10446800014B02F8014FF8E78342F5D98118D21AB7 -:10447800D34200D110BD13F8014D01F8014DF7E703 -:1044880038B50546002943D051F8043C0C1F002BD1 -:10449800B8BFE41800F0D0F81E4A1368104633B9C4 -:1044A800636014602846BDE8384000F0C6B8A342EF -:1044B8000BD921686218934201BF1A685B685218C9 -:1044C800226063600460EDE713465A680AB1A242AD -:1044D800FAD919685818A0420BD120680144581815 -:1044E80082421960DED110685268014419605A602E -:1044F800D8E702D90C232B60D4E7206821188A4218 -:1045080001BF116852680918216062605C60C9E7E0 -:1045180038BD00BFD400002070B5CD1C25F00305C0 -:1045280008350C2D38BF0C25002D064601DBA942A5 -:1045380003D90C233360002070BD00F07DF8214AB8 -:104548001468214691B9204C23681BB9304600F005 -:1045580063F820602946304600F05EF8431C24D1F9 -:104568000C233046336000F068F8E4E70B685B1B07 -:1045780018D40B2B0FD90B60CC18CD50304600F057 -:104588005CF804F10B00231D20F00700C31AD3D0F8 -:104598005A42E250D0E74B688C4216BF6360136002 -:1045A8000C46EBE70C464968CCE7C41C24F003042E -:1045B800A04205D0211A304600F02EF80130CFD0A5 -:1045C8002560DBE7D4000020D8000020F8B50746B6 -:1045D80014460E4621B9BDE8F8401146FFF79CBFC6 -:1045E80022B9FFF74DFF25462846F8BD00F026F80A -:1045F800A0420FD221463846FFF78EFF0546002815 -:10460800F2D031462246FFF717FF31463846FFF70A -:1046180037FFE9E73546E7E738B50023054C054697 -:104628000846236000F012F8431C02D1236803B146 -:104638002B6038BD140400207047704751F8043CC3 -:10464800181F002BBCBF0B58C0187047044A0549F7 -:104658001368002B08BF0B461844106018467047B3 -:10466800DC00002018040020F8B500BFF8BC08BC26 -:104678009E467047F8B500BFF8BC08BC9E46704718 -:1046880002030405060708090A0B0C0D0E0F10108B -:104698000102000000000000000000000102030405 -:1046A80006070809000000000102030400000201D7 -:1046B80004050300313A256920323A256920333A46 -:1046C800256920343A256920353A256920363A2566 -:1046D8006920373A256920383A25690D0A00000013 -:1046E800232D302B2000686C4C00656667454647D3 -:1046F8000030313233343536373839414243444556 -:1047080046003031323334353637383961626364C4 -:0447180065660000D2 -:04471C000D02000882 -:04472000E9010008A3 -:1047240000A24A046400000000002042D0070000F8 -:10473400D0070000D0070000D0070000D007000019 -:10474400D007000028000020000000000000000046 -:104754000000000000000000000000000000000055 -:104764000000000000000000000000000000000045 -:104774000000000000000000000000000000000035 -:104784000000000000000000000000000000000025 -:104794000000000000000000000000000000000015 -:0847A40000000000000000000D -:0400000508003D9121 +:102F88002C0100200028014010B50024094B1C70BA +:102F9800094B1C7005E0094B1C706420FFF770F9A1 +:102FA8000134072CF7DD002220210548FFF79BF8A4 +:102FB800FEE700BFAC000020B8000020A8000020F9 +:102FC8000008014030B597B002250C9501231093F5 +:102FD800102311931395002414944FF46013159340 +:102FE8000CA8FEF703F90F230793089509944FF4EB +:102FF80080630A930B94294607A8FEF71DFB0195E9 +:103008004FF44043039301A8FFF778F8FEF7D0FB8D +:10301800084BA3FB00308009FEF73AFF0420FEF7B7 +:103028004DFF224621464FF0FF30FEF7F1FE17B064 +:1030380030BD00BFD34D62102DE9F04F85B0FFF7CA +:10304800FFF8AB4CA36943F00103A361A36903F044 +:1030580001030393039B0320FEF7C8FE00221146D9 +:103068006FF00B00FEF7D4FE002211466FF00A0045 +:10307800FEF7CEFE002211466FF00900FEF7C8FEEB +:10308800002211466FF00400FEF7C2FE002211462E +:103098006FF00300FEF7BCFE002211466FF001003E +:1030A800FEF7B6FE002211464FF0FF30FEF7B0FEE5 +:1030B800FFF788FF636923F001036361FFF77AFC78 +:1030C800FFF77AFDFFF770FEFFF704FFFFF726FC16 +:1030D800012220218748FFF706F88748FFF7C0F943 +:1030E8008648FFF7BDF9082405E0854B1C7064206D +:1030F800FFF7C6F8013C002CF7DA4FF0000A804BC6 +:1031080083F800A0012204217E48FEF7ECFF7E4BE5 +:10311800188AFDF711FE01907C4B01221A70D346E4 +:1031280044E17B490A6801320A604BE14FF47A783E +:1031380032463B4620462946FDF780F804460D46B0 +:103148000022744BFDF7C0FC88B963A3D3E90023C0 +:1031580020462946FDF79AFC00285DD120462946DD +:10316800FDF7BCFC044604E0DFF8DC81E0E74FF43F +:103178007A740AF13203A34215DDAAF1320AA24594 +:1031880011DA0BF1320343450DDDABF1320BC345C8 +:1031980009DA614B1B68042B05D8604BC3F8008023 +:1031A80063425F4A13605F4B1A685F4BA3FB0213CD +:1031B800DB0803EB830303EB83039A422ED002213F +:1031C8004C48FEF789FF30B1584B1B681BB9584B68 +:1031D8001B68002B73D0574B1D6857492846FDF7CD +:1031E800A1FF20B1554B1B681333262B72D95449C4 +:1031F8002846FDF797FF002800F0B0804E49284682 +:10320800FDF7AEFF002800F0A9803D4B05221A709B +:103218004C4B06221A70ADE04B4CAAE70198FDF71B +:103228006BF92FA3D3E90023FDF7BEF906460F4635 +:10323800354D288AFDF780FDFDF75EF92AA3D3E90D +:103248000023FDF7B1F902460B4630463946FCF734 +:10325800F5FFFDF76BFC074601903C49FDF7BAFC0A +:103268003B49FDF7C1FD3B49FDF7B6FC0646414623 +:10327800022000F001FD2146032000F0FDFCA98991 +:10328800042000F0F9FC34492A4B1868FDF7ACFD1E +:10329800FDF770FF0146052000F0EEFC3846FDF70B +:1032A80069FF0146062000F0E7FC3046FDF762FFA3 +:1032B8000146072000F0E0FC00F0E4FC7FE7134B38 +:1032C80000221A7002210B48FEF706FF0028F9D1E8 +:1032D800FFF75AFEFFF758FE0000000000408FC0BD +:1032E800AE47E17A14AEEF3F7B14AE47E17A843FF4 +:1032F8000010024000080140780200202C01002044 +:10330800A8000020000C0140EC020020B8000020BA +:103318009003002000408F4004000020CC000020D3 +:10332800C8000020800300201F85EB51D400002036 +:10333800D00000200C0000208FC221429C030020F6 +:1033480000002842AC00002018FCFFFF00E0CE443B +:10335800083748BE33330F420000C842664B1B682B +:1033680013F1320F80F2AD80644B05221A70644B62 +:1033780001221A7084EAE473A3EBE473322B06DCAF +:1033880088EAE873A3EBE873322B40F3A0805D4B27 +:1033980000221A605B4B1A685B4B9A4200F29C80D1 +:1033A8005A4A136801331360A246C3460520FEF744 +:1033B80067FF574B1B68012B3FF4B3AE55490A68AA +:1033C800013A0A60534A176887EAE772A2EBE77284 +:1033D800B2F5967F02DD5B424D4A13604E4B0022E8 +:1033E8001A60DFF84481D8F80000FDF773F83CA3B1 +:1033F800D3E90023FDF7D8F804460D46474B186873 +:10340800FDF768F838A3D3E90023FDF7CDF80246A5 +:103418000B4620462946FCF711FFFDF75FFB0646E1 +:10342800C8F80000DFF8D080D8F80000FDF752F89F +:103438002BA3D3E90023FDF7B7F804460D46384619 +:10344800FDF748F828A3D3E90023FDF7ADF80246B5 +:103458000B4620462946FCF7F1FEFDF73FFBC8F86E +:103468000000FDF737F800222D4BFDF79DF80446C4 +:103478000D463046FDF72EF80022294BFDF794F84B +:1034880006460F4602460B4620462946FCF7D4FE60 +:10349800804689460022234BFDF716FB00287FF45F +:1034A80045AE13A3D3E9002340464946FDF7EEFA9B +:1034B80000287FF459AE40464946FDF70FFB804689 +:1034C80036E600230D4A13700D4A137052E70D4A71 +:1034D8001368013313605DE7FFF756FDAFF3008013 +:1034E800666666666666EE3F9A9999999999A93FC4 +:1034F8000000000000408FC09C030020A8000020AE +:10350800AC000020840300208038010080030020E4 +:10351800080000209003002004000020A4030020DD +:103528000000E03F00408F409403002000000000AE +:10353800774B02225A60774B1B68B3F57A7F5EDBC4 +:103548002DE9F041744B1A68744BA3FB02139B09D5 +:103558004FF47A7101FB13230BBB714C2068FCF705 +:10356800CBFF65A3D3E90023FDF71EF806460F46F7 +:103578006C4B9889FDF7E0FB6B49FDF735FCFCF7D0 +:10358800BBFF5FA3D3E90023FDF70EF802460B4605 +:1035980030463946FCF752FEFDF7C8FA2060614B09 +:1035A8005889624B1C68001BFCF794FF56A3D3E9AB +:1035B8000023FCF7F9FF00220023FDF767FA002833 +:1035C80052D1584B5889001BFCF784FF4EA3D3E90E +:1035D8000023FCF7E9FF0022554BFDF775FA002898 +:1035E80052D1544B1B68052B4ED8534B1B78002BDC +:1035F8004AD0524A536C43F40043536449E00133C0 +:10360800444A1360474A90884D490B68034403EBCA +:10361800D3735B100B60D0884A490B68034403EBF3 +:10362800D3735B100B60108847490B68034403EBA6 +:10363800D3735B100B60508844490B68034403EB59 +:10364800D3735B100B60508938490B68034403EB54 +:10365800D3735B100B6011893D4A13680B4403EB6D +:10366800D3735B10136070472E4B5889001BFCF70F +:1036780031FF25A3D3E90023FCF796FF0022354B41 +:10368800FDF704FA0028ACD02C4A536C23F400430D +:103698005364244B18892E4B1C68001BFCF71AFF37 +:1036A80019A3D3E90023FCF77FFF00220023FDF7CD +:1036B800EDF9002852D11B4B1889001BFCF70AFFB3 +:1036C80011A3D3E90023FCF76FFF0022184BFDF785 +:1036D800FBF9002852D1174B1B68052B4ED8164B07 +:1036E8001B78002B4AD01C4A536C43F400435364A4 +:1036F80049E000BFAFF30080AE47E17A14AEEF3F78 +:103708007B14AE47E17A843F7B14AE47E17A943F5D +:1037180000000240BC000020B0000020D34D621021 +:103728000C000020EC02002017B9CE3C100000204D +:1037380000002E4004000020B800002000340140A2 +:10374800180000201C000020200000202400002079 +:103758001400002000002EC0002C0140904B188956 +:10376800001BFCF7B7FE8CA3D3E90023FCF71CFF72 +:1037780000228C4BFDF78AF90028ACD08A4A536C9A +:1037880023F40043536489498B6813F0200F0CBF5E +:10379800012300238A6812F0400F0CBF0122002287 +:1037A800896811F0800F0CBF0125002580498868C1 +:1037B80010F4806F0CBF012000208C6814F4006F97 +:1037C8000CBF01240024896811F4805F02EB4502D4 +:1037D80003EB4203774EF35C77490B600B6803F108 +:1037E80002030B600D68754B83FB0572A2EBE57253 +:1037F80002EB42024FEA4207A5EB07020A600CBF40 +:1038080002220022224400EB4202B05C6C4A1060A3 +:10381800106802301060106883FB0043A3EBE0736C +:1038280003EB43035C00031B136009685C4883884F +:10383800644A12689A1AC388634800681B1A0529E3 +:1038480034D8DFE801F0032326292C2FD31A5F4A46 +:1038580013605F4A1368013313605E4A14684CB3FF +:103868005D4AA2FB0312120B5C4909680131B2FBE5 +:10387800F1F001FB1022EAB9B3FBF4F204FB1233B6 +:10388800EBB910215648FEF734FC18E04F4B1A608C +:10389800DFE74E4B1A60DCE74C4A1360D9E74B4A26 +:1038A8001360D6E79B1A494A1360D2E7474B0022B8 +:1038B8001A60CEE7002210214948FEF714FC494B54 +:1038C800D3F800C03C4B1B68052B2BD8DFE803F06E +:1038D8000312171C2226CCF1000064469C46424B7A +:1038E8001968374B1B68052B52D8DFE803F01F3FD8 +:1038F80043474B4E6446CCF1000C0020EFE760468E +:10390800CCF1000C0024EAE7CCF1000460464FF04B +:10391800000CE4E7CCF100040020E0E7CCF1000063 +:103928000024DCE7002004468446D8E74E420F46D0 +:1039380019462C4B1B68002B40F398802B4B1D68B5 +:103948001D4B1B6805331D4A82FB03E2A2EBE372A1 +:1039580002EB42024FEA420EA3EB0E02052A00F2E6 +:10396800B980DFE802F0456A6F74797E0F464942F4 +:103978000026DEE70E4649420027DAE74F420E46A8 +:103988000021D6E74F420026D3E74E420027D0E772 +:10399800002637463146CCE77B14AE47E17A943FA0 +:1039A800EC02002000002EC0002C0140000C014059 +:1039B800001001404C460008C0000020ABAAAA2A0B +:1039C800C4000020180000201C000020B4000020C3 +:1039D800B0000020A80000205917B7D1AC00002083 +:1039E80000080140C8000020CC000020D0000020C2 +:1039F800C5F10008AE461546654474444044964BEC +:103A08001B68002B40F3D780944B1B68944A1268BC +:103A180002F1050C934A82FB0CE2A2EBEC7202EB7A +:103A280042024FEA420EACEB0E02052A00F2F98080 +:103A3800DFE802F058A8ADB2B7BCAE466D424FF011 +:103A48000008D9E7A8466D424FF0000ED4E7C5F14B +:103A5800000EA8460025CFE7C5F1000E4FF000087C +:103A6800CAE7C5F100084FF0000EC5E77E4B1D6898 +:103A7800C5F1000E7D4B1A6801327A4B83FB028335 +:103A8800A3EBE27303EB43034FEA4308A2EB0803FB +:103A9800052B1AD8DFE803F00323060A0E14A846FC +:103AA8001D46A9E7F0464FF0000EA5E7F046AE46E2 +:103AB8000025A1E72B4675469E464FF000089BE778 +:103AC800A84675464FF0000E96E74FF00008C64628 +:103AD800454691E74FF00008C64645468CE74FF04B +:103AE800000889E7C3F100089E461346194407EB0E +:103AF8000E0206EB080305F57A7540F2C676B54264 +:103B080000F397800A2DB8BF0A25594E756304F54E +:103B18007A7440F2C675AC4200F38E800A2CB8BFA6 +:103B28000A24534DAC6300F57A7040F2C674A04283 +:103B380000F385800A28B8BF0A204D4CE06301F5E0 +:103B48007A7140F2C67081427CDC0A29B8BF0A212A +:103B58004848416302F57A7240F2C6718A4274DCC1 +:103B68000A2AB8BF0A2243498A6303F57A7340F2E6 +:103B7800C67293426CDC0A2BB8BF0A233D4AD36352 +:103B8800BDE8F0819E465B424FF00008AEE79846DC +:103B98005B424FF0000EA9E7C3F1000E98460023E0 +:103BA800A4E7C3F1000E4FF000089FE7C3F1000837 +:103BB8004FF0000E9AE7294B1B68C3F1000E284A04 +:103BC80012680132DFF89CC08CFB028CACEBE27C03 +:103BD8000CEB4C0C4FEA4C08A2EB080CBCF1050F9F +:103BE8001AD8DFE80CF00323060A0E149846634639 +:103BF8007CE7F0464FF0000E78E7F0469E4600233B +:103C080074E71A46734696464FF000086EE79846E2 +:103C180073464FF0000E69E74FF00008C64643466A +:103C280064E74FF00008C64643465FE74FF00008D8 +:103C38005CE740F2C67568E740F2C67471E740F287 +:103C4800C6707AE740F2C67182E740F2C6728AE728 +:103C580040F2C67392E700BFCC000020D4000020D9 +:103C6800C4000020ABAAAA2AD0000020C00000206F +:103C780000340140002C0140014B23F8101070471C +:103C88000C040020F0B587B01A4F64220021384692 +:103C980000F090F818490A88B1F802C0888800B284 +:103CA800CC8824B20D892DB24E8936B28B891BB2CD +:103CB800C98909B20591049303960295019400906D +:103CC8000FFA8CF312B20D49384600F07BF80C4B12 +:103CD8005B686BB90A4C236823F0010323603846FC +:103CE800FCF79EFA6060E760236843F001032360F5 +:103CF80007B0F0BDA80300200C04002054460008BB +:103D08001C0002407047FEE7FEE7FEE7FEE770474B +:103D18007047704708B5FEF7A5FAFEF7E0F808BD4A +:103D2800002103E00B4B5B58435004310A480B4B0E +:103D380042189A42F6D30A4A02E0002342F8043BAA +:103D4800084B9A42F9D3FEF7C3FD00F00FF8FFF7CE +:103D580073F97047BC460008000000208C00002062 +:103D68008C00002020040020FEE7000070B500252C +:103D78000C4E0D4CA41BA410A54209D100F040FC28 +:103D880000250A4E0A4CA41BA410A54205D170BDFB +:103D980056F8253098470135EEE756F8253098470C +:103DA8000135F2E7B4460008B4460008B4460008F6 +:103DB800B846000803460244934200D1704703F80E +:103DC800011BF9E70EB46FF0004100B59CB01DABC4 +:103DD80002900690079104910848094953F8042B6A +:103DE8000591006802A9019300F066F80022029B81 +:103DF8001A701CB05DF804EB03B07047280000206F +:103E08000802FFFF2DE9F0478E6882469E420C4665 +:103E18009046994637D88A8912F4906F31D0022398 +:103E2800256809696F1A656905EB450595FBF3F582 +:103E380009F101033B449D4238BF1D46530530D567 +:103E4800294600F035FB064650B90C234FF0FF30E9 +:103E5800CAF80030A38943F04003A381BDE8F08786 +:103E68003A46216900F0B4FAA38923F4906343F039 +:103E78008003A38126613E4426604E466561ED1BA2 +:103E8800A5604E4500D94E4632464146206800F0AE +:103E9800AAFAA36800209B1BA36023681E4426601F +:103EA800DCE72A4600F05EFB06460028E2D12169DD +:103EB800504600F0B1FAC8E72DE9F04F9DB00393E2 +:103EC8008B8980461D060C4616460FD50B696BB9C3 +:103ED800402100F0EDFA2060206128B90C23C8F8D1 +:103EE80000304FF0FF30C7E040236361002309939F +:103EF80020238DF8293030234FF0010B8DF82A301C +:103F080037463D4615F8013B0BB1252B3ED1B7EBA3 +:103F1800060A0BD05346324621464046FFF772FF49 +:103F2800013000F0A480099B534409933B78002B8F +:103F380000F09D8000234FF0FF32CDE90523049364 +:103F480007938DF853301A932F46052217F8011B53 +:103F58004F4800F02FFA049BD0B9D90644BF20225D +:103F68008DF853201A0744BF2B228DF853202A7846 +:103F78002A2A15D02F4600200A25079A394611F813 +:103F8800013B303B092B4DD9B8B10FE02F46B8E7BC +:103F98003F4A3D46801A0BFA00F018430490D3E7D5 +:103FA800039A111D12680391002A01DB079204E0AD +:103FB800524243F00203079204933B782E2B0CD114 +:103FC8007B782A2B33D1039B02371A1D1B68039277 +:103FD800002BB8BF4FF0FF3305932E4D03223978DD +:103FE800284600F0E7F938B14023401B03FA00F0F7 +:103FF800049B0137034304933978062226487E1C24 +:104008008DF8281000F0D6F9002838D0234B13BBC0 +:10401800039B073323F0070308330393099B4B449F +:1040280009936DE705FB023201200F46A6E700233E +:104038000A25194601370593384610F8012B303AFE +:10404800092A03D9002BC8D00591C6E705FB012131 +:1040580001230746F0E703AB00932246104B04A95F +:104068004046AFF30080B0F1FF3F8146D6D1A38927 +:104078005B063FF536AF09981DB0BDE8F08F03AB7E +:1040880000932246064B04A9404600F081F8EAE76F +:1040980080460008864600088A460008000000009E +:1040A8000D3E00082DE9F04791461F468A680B69C6 +:1040B80006469342B8BF1346C9F8003091F843202A +:1040C8000C46DDF8208012B10133C9F800302368AE +:1040D800990642BFD9F800300233C9F80030256884 +:1040E80015F0060507D104F1190AE368D9F800208C +:1040F8009B1AAB4229DC94F843302268003318BF7E +:10410800012392062ED404F1430239463046C047B3 +:10411800013021D02368E56803F00603042B18BF9B +:104128000025D9F800204FF0000908BFAD1AA36890 +:10413800226908BF25EAE5759342C4BF9B1AED18AA +:104148001A344D451AD1002008E001235246394659 +:104158003046C047013003D14FF0FF30BDE8F0874B +:104168000135C2E73020E11881F843005A1C94F861 +:1041780045102244023382F84310C4E70123224643 +:1041880039463046C0470130E6D009F10109D8E781 +:104198002DE9F04301F1430C0C46097E85B06E29E8 +:1041A8001746064698460C9A00F0B38022D8632931 +:1041B80036D00AD8002900F0B980582900F0838049 +:1041C80004F1420584F8421032E0642901D06929DB +:1041D800F6D120681368050603F104012AD51B6887 +:1041E8001160002B03DA2D225B4284F843206F48CC +:1041F8000A2239E0732900F09D8008D86F2920D061 +:104208007029DDD1236843F02003236003E075297A +:1042180017D07829D4D17823654884F8453055E0FB +:10422800136804F14205191D1B68116084F84230B7 +:1042380001238CE01B6810F0400F116018BF1BB2FF +:10424800CFE713682568181D1060280601D51B687C +:1042580002E06806FBD51B886F2914BF0A220822D2 +:104268005248002184F843106568002DA560C0F20B +:104278009580216821F004012160002B3DD1002D9B +:1042880040F08E806546082A0BD12368DB0708D5E5 +:10429800236962689A42DEBF302305F8013C05F1C4 +:1042A800FF35ACEB05032361CDF800803B4603AA3C +:1042B80021463046FFF7F6FE01304DD14FF0FF3072 +:1042C80005B0BDE8F083394884F8451013682168C3 +:1042D8001D1D1B6815600A060BD5CA0744BF41F0AF +:1042E800200121601BB9226822F0200222601022DE +:1042F800B7E74D0648BF9BB2EFE76546B3FBF2F15F +:1043080002FB1133C35C05F8013D0B460029F5D1CA +:10431800B9E713682568181D6169106028061B68CD +:1043280001D5196002E06A06FBD5198000236546AD +:104338002361B9E71368191D11601D6862680021BF +:10434800284600F037F808B1401B606063682361B5 +:10435800002384F84330A7E723692A4639463046C4 +:10436800C0470130AAD023689B0713D4E068039B99 +:104378009842B8BF1846A3E701234A463946304653 +:10438800C04701309AD00135E368039A9B1AAB42C3 +:10439800F2DCEBE7002504F11909F5E7002BACD1B5 +:1043A800037804F1420584F842306CE7914600082E +:1043B800A246000810B5C9B202449042034601D192 +:1043C800002303E01C7801308C42F6D1184610BD5A +:1043D80010B5431E0A44914200D110BD11F8014B9B +:1043E80003F8014FF7E7884210B501EB020307D83D +:1043F800421E99420AD011F8014B02F8014FF8E722 +:104408008342F5D98118D21AD34200D110BD13F8CE +:10441800014D01F8014DF7E738B50546002943D0AD +:1044280051F8043C0C1F002BB8BFE41800F0D0F87A +:104438001E4A1368104633B9636014602846BDE805 +:10444800384000F0C6B8A3420BD9216862189342DD +:1044580001BF1A685B685218226063600460EDE768 +:1044680013465A680AB1A242FAD919685818A042E4 +:104478000BD120680144581882421960DED11068B7 +:104488005268014419605A60D8E702D90C232B609E +:10449800D4E7206821188A4201BF116852680918B8 +:1044A800216062605C60C9E738BD00BFD8000020A9 +:1044B80070B5CD1C25F0030508350C2D38BF0C252B +:1044C800002D064601DBA94203D90C2333600020E6 +:1044D80070BD00F07DF8214A1468214691B9204C3E +:1044E80023681BB9304600F063F82060294630463F +:1044F80000F05EF8431C24D10C233046336000F0F2 +:1045080068F8E4E70B685B1B18D40B2B0FD90B601A +:10451800CC18CD50304600F05CF804F10B00231D98 +:1045280020F00700C31AD3D05A42E250D0E74B68B4 +:104538008C4216BF636013600C46EBE70C46496873 +:10454800CCE7C41C24F00304A04205D0211A30464D +:1045580000F02EF80130CFD02560DBE7D80000202E +:10456800DC000020F8B5074614460E4621B9BDE820 +:10457800F8401146FFF79CBF22B9FFF74DFF2546CB +:104588002846F8BD00F026F8A0420FD2214638464A +:10459800FFF78EFF05460028F2D031462246FFF786 +:1045A80017FF31463846FFF737FFE9E73546E7E7B3 +:1045B80038B50023054C05460846236000F012F87C +:1045C800431C02D1236803B12B6038BD1C040020B2 +:1045D8007047704751F8043C181F002BBCBF0B589C +:1045E800C0187047044A05491368002B08BF0B46DA +:1045F8001844106018467047E0000020200400208E +:10460800F8B500BFF8BC08BC9E467047F8B500BFB7 +:08461800F8BC08BC9E46704787 +:1046200002030405060708090A0B0C0D0E0F1010F3 +:10463000010200000000000000000000010203046D +:10464000060708090000000001020304000002013F +:1046500004050300313A256920323A256920333AAE +:10466000256920343A256920353A256920363A25CE +:104670006920373A256920383A25690D0A0000007B +:10468000232D302B2000686C4C006566674546473B +:1046900000303132333435363738394142434445BE +:1046A000460030313233343536373839616263642D +:0446B000656600003B +:0446B4000D020008EB +:0446B800E90100080C +:1046BC0000A24A0464000000010000000000404217 +:1046CC00D0070000D0070000D0070000D007000082 +:1046DC00D0070000D00700002C00002000000000D4 +:1046EC0000000000000000000000000000000000BE +:1046FC0000000000000000000000000000000000AE +:10470C00000000000000000000000000000000009D +:10471C00000000000000000000000000000000008D +:10472C00000000000000000000000000000000007D +:0C473C0000000000000000000000000071 +:0400000508003D2989 :00000001FF