avr/motor_ctrl: handicap: sep forward, backward
authorErik Andresen <erik@vontaene.de>
Sat, 13 Jun 2015 07:52:01 +0000 (09:52 +0200)
committerErik Andresen <erik@vontaene.de>
Sat, 13 Jun 2015 07:52:01 +0000 (09:52 +0200)
avr/motor_ctrl/main.c
avr/motor_ctrl/main.hex

index 83022cb..1fd8292 100644 (file)
@@ -87,8 +87,8 @@
  * 0x91 Motor 2 switch
  * 0x92 Motor 3 switch
  * 0x93 Motor 4 switch
- * 0x94 Front Handicap
- * 0x95 Aft Handicap
+ * 0x94 Front Handicap backward
+ * 0x95 Aft Handicap forward
  * free
  * 0xA0 Reset reason
  * 0xA1 TLE Error status
@@ -158,8 +158,8 @@ static volatile ufloat_t angle={0.0};
 static volatile float cur_speed_lin=0;
 static volatile float cur_speed_rot=0;
 static volatile uint8_t count_test=0;
-static volatile uint8_t front_handicap=0;
-static volatile uint8_t aft_handicap=0;
+static volatile uint8_t front_handicap_bwd=0;
+static volatile uint8_t aft_handicap_fwd=0;
 
 ISR(TWI_vect)
 {
@@ -344,12 +344,12 @@ ISR(TWI_vect)
                                        motor4_switch = TWDR;
                                        TWI_ACK;
                                        break;
-                               case 0x94: // Front Handicap
-                                       front_handicap = TWDR;
+                               case 0x94: // Front Handicap backward
+                                       front_handicap_bwd = TWDR;
                                        TWI_ACK;
                                        break;
-                               case 0x95: // Aft Handicap
-                                       aft_handicap = TWDR;
+                               case 0x95: // Aft Handicap forward
+                                       aft_handicap_fwd = TWDR;
                                        TWI_ACK;
                                        break;
                                case 0xff: // bootloader
@@ -963,10 +963,26 @@ int main(void) {
                        speed_wish_left*=STEP_PER_M;
                        speed_wish_right*=STEP_PER_M;
 
-                       speed1_wish = speed_wish_left * (100-aft_handicap)/100.0;
-                       speed2_wish = speed_wish_left * (100-front_handicap)/100.0;
-                       speed3_wish = speed_wish_right * (100-front_handicap)/100.0;
-                       speed4_wish = speed_wish_right * (100-aft_handicap)/100.0;
+                       if (speed1_wish > 0 && aft_handicap_fwd > 0) {
+                               speed1_wish = speed_wish_left * (100-aft_handicap_fwd)/100.0;
+                       } else {
+                               speed1_wish = speed_wish_left;
+                       }
+                       if (speed2_wish > 0 && front_handicap_bwd > 0) {
+                               speed2_wish = speed_wish_left * (100-front_handicap_bwd)/100.0;
+                       } else {
+                               speed2_wish = speed_wish_left;
+                       }
+                       if (speed3_wish > 0 && front_handicap_bwd > 0) {
+                               speed3_wish = speed_wish_right * (100-front_handicap_bwd)/100.0;
+                       } else {
+                               speed3_wish = speed_wish_right;
+                       }
+                       if (speed4_wish > 0 && aft_handicap_fwd > 0) {
+                               speed4_wish = speed_wish_right * (100-aft_handicap_fwd)/100.0;
+                       } else {
+                               speed4_wish = speed_wish_right;
+                       }
                        motor1_mode = MOTOR_PID;
                        motor2_mode = MOTOR_PID;
                        motor3_mode = MOTOR_PID;
index 2a08e6a..621cdcf 100644 (file)
@@ -7,10 +7,10 @@
 :100060000C50B9918688083CA6AAAA2ABE000000B6\r
 :10007000803F45464765666700202B2D2E30313284\r
 :100080003334353637383968000011241FBECFE5C8\r
-:10009000D8E0DEBFCDBF10E0A0E6B0E0E2EBF6E2D4\r
+:10009000D8E0DEBFCDBF10E0A0E6B0E0E2E2F7E2DC\r
 :1000A00002C005900D92A837B107D9F721E0A8E763\r
 :1000B000B0E001C01D92A736B207E1F70E94220608\r
-:1000C0000C9457130C9400001F920F920FB60F92CE\r
+:1000C0000C948F130C9400001F920F920FB60F9296\r
 :1000D00011242F933F934F935F936F937F938F934D\r
 :1000E0009F93AF93BF93EF93FF9381B1887F803845\r
 :1000F00081F040F4803609F0BFC385EC86BF1092D2\r
@@ -57,7 +57,7 @@
 :100380009091A300A091A400B091A5006627782FBA\r
 :10039000892F9A2F622B6093A2007093A300809301\r
 :1003A000A4009093A5002AE931E043E555E40E94BA\r
-:1003B0000C100E94EC0E7093CE006093CD007093F1\r
+:1003B00044100E94240F7093CE006093CD00709380\r
 :1003C000CC006093CB0081E08093D6008093D50071\r
 :1003D00043C283B190E0A0E0B0E0C6CF83B190E02B\r
 :1003E000A0E0B0E00EC023B180919E0090919F00EC\r
 :100AA0009F918F910F900FBE0F901F9018959C01F2\r
 :100AB0008AB188618AB9579A80B5866080BD40E066\r
 :100AC00050E084E0220F331F441F551F8A95D1F751\r
-:100AD00060E079E08DE390E00E94B910DA01C9018D\r
+:100AD00060E079E08DE390E00E94F110DA01C90155\r
 :100AE0000197A109B109892F9A2FAB2FBB27A7FD29\r
 :100AF000BA9580BD215029B986EF90E09093F3001C\r
 :100B00008093F2009093F5008093F40008955D9B2C\r
 :100B4000CE012196FC012081222319F00E94870505\r
 :100B5000F7CFDF91CF9108955F9BFECF8CB190E0EE\r
 :100B600008950C94AC0561EB75E08DE895E00C946C\r
-:100B70000511CF93DF93FC01E253FF4FA081B181B8\r
+:100B70003D11CF93DF93FC01E253FF4FA081B18180\r
 :100B8000EC01C453DF4F28813981A217B307A1F0CC\r
 :100B90005D9B12C02C912CB920813181AC01455351\r
 :100BA0005F4F2417350718F42F5F3F4F03C09C0198\r
 :100C700080E895E20E9457050E94B30580E582B99D\r
 :100C800086B78B7E86BF85EC86BF81EF8FBD89E0FE\r
 :100C90008EBD1BBC1ABC19BC18BC89E785BD13BC32\r
-:100CA00083BF1CBE8EE690E00E94821185B78F78CC\r
+:100CA00083BF1CBE8EE690E00E94BA1185B78F7894\r
 :100CB00085BF84E089BF789474E6272E312C80911B\r
 :100CC000E8008F3F41F48091E700853A21F4F894E1\r
-:100CD000E0E0F8E109958091F100882309F4C7C0AC\r
-:100CE000F894C090E900D090EA00E090EB00F0901A\r
+:100CD000E0E0F8E109958091F100882309F4FFC074\r
+:100CE000F8948090E9009090EA00A090EB00B0901A\r
 :100CF000EC006091ED007091EE008091EF0090911A\r
 :100D0000F0001092F10078942BED3FE049E450E4BC\r
-:100D10000E940C1025E236E041E85EE30E940C10D0\r
-:100D200020E030E040E05FE30E940C10A701960154\r
-:100D30000E94190E4B015C01A7019601C701B60183\r
-:100D40000E94190EA50194010E94180E2AE931E0B3\r
-:100D500043E555E40E940C106B017C012AE931E067\r
-:100D600043E555E4C501B4010E940C104B015C0140\r
-:100D70008091A7009101281B3109B901882777FDCF\r
-:100D80008095982F0E941F0F9B01AC01C701B601EF\r
-:100D90000E940C1020E030E048EC52E40E94840EE7\r
-:100DA0000E94EC0E7093CE006093CD008091A8005D\r
-:100DB000A101481B5109BA01882777FD8095982F1A\r
-:100DC0000E941F0F9B01AC01C701B6010E940C10CD\r
-:100DD00020E030E048EC52E40E94840E0E94EC0EC9\r
-:100DE0007093CC006093CB008091A800B101681B88\r
-:100DF0007109882777FD8095982F0E941F0F9B010E\r
-:100E0000AC01C501B4010E940C1020E030E048ECB8\r
-:100E100052E40E94840E0E94EC0E7093CA0060930C\r
-:100E2000C9008091A700B101681B7109882777FD6F\r
-:100E30008095982F0E941F0F9B01AC01C501B40142\r
-:100E40000E940C1020E030E048EC52E40E94840E36\r
-:100E50000E94EC0E7093C8006093C70051E050935D\r
-:100E6000D6005093D5005093D4005093D300809176\r
-:100E7000C6008C3908F487C51092C600F89480919A\r
-:100E8000DD009091DE009A838983E091DB00F09190\r
-:100E9000DC00FC83EB832091D9003091DA003E83A3\r
-:100EA0002D834091D7005091D80058874F83789474\r
-:100EB0008091960090919700A980BA80A81AB90AEB\r
-:100EC00080919400909195008F01081B190B8091DF\r
-:100ED0009200909193007901E81AF90A80919000AC\r
-:100EE000909191006A01C81AD90AB501882777FD47\r
-:100EF0008095982F0E941F0F2AE037ED43E25CE3B4\r
-:100F00000E94840E0E94EC0E69877A878B879C87EB\r
-:100F1000B801882777FD8095982F0E941F0F2AE03F\r
-:100F200037ED43E25CE30E94840E0E94EC0E6D8775\r
-:100F30007E878F87988BB701882777FD8095982FBC\r
-:100F40000E941F0F2AE037ED43E25CE30E94840E0B\r
-:100F50000E94EC0E698B7A8B8B8B9C8BB601882759\r
-:100F600077FD8095982F0E941F0F2AE037ED43E20E\r
-:100F70005CE30E94840E0E94EC0E6D8B7E8B8F8B47\r
-:100F8000988FB501600F711F882777FD8095982F86\r
-:100F90000E941F0F2AE931E043ED55E40E94840EC0\r
-:100FA0004B015C01B7016C0D7D1D882777FD809595\r
-:100FB000982F0E941F0F2AE931E043ED55E40E946B\r
-:100FC000840E2B013C01C090B200D090B300E090A1\r
-:100FD000B400F090B500A50194010E94180E25E21E\r
-:100FE00036E041E85EE30E94840E9B01AC01C7013C\r
-:100FF000B6010E94190E6B017C012BED3FE049EC1C\r
-:1010000050E40E9408102BED3FE049EC50E4181624\r
-:101010002CF4C701B6010E94180E0EC0C701B6011C\r
-:101020000E947D0E87FF0AC02BED3FE049EC50E4A3\r
-:10103000C701B6010E94190E6B017C01A301920148\r
-:10104000C501B4010E94190E20E030E040E05FE3EA\r
-:101050000E940C104B015C014090BA005090BB0004\r
-:101060006090BC007090BD00C701B6010E94810E67\r
-:10107000A50194010E940C109B01AC01C301B201B7\r
-:101080000E94190E698F7A8F8B8F9C8F4090B600CB\r
-:101090005090B7006090B8007090B900C701B601D9\r
-:1010A0000E946F10A50194010E940C109B01AC01DD\r
-:1010B000C301B2010E94190E2B013C010D851E8552\r
-:1010C00089859A85080F191F17FF02C00F5F1F4FF0\r
-:1010D000159507954D895E89E989FA894E0F5F1F3D\r
-:1010E00057FF02C04F5F5F4F9A01359527953E8F9E\r
-:1010F0002D8FB901600F711F882777FD8095982F7C\r
-:101100000E941F0F2AE931E043ED55E40E94840E4E\r
-:101110004B015C016D8D7E8D601B710B882777FD07\r
-:101120008095982F0E941F0F2BEB3CE047E255E47F\r
-:101130000E94840EF894C092B200D092B300E09264\r
-:10114000B400F092B500298D3A8D4B8D5C8D2093C3\r
-:10115000BA003093BB004093BC005093BD00409256\r
-:10116000B6005092B7006092B8007092B9004985FD\r
-:101170005A855093C5004093C400ED85FE85F093D9\r
-:10118000C300E093C20029893A893093C1002093BB\r
-:10119000C0004D895E895093BF004093BE0080928D\r
-:1011A000AE009092AF00A092B000B092B1006093F8\r
-:1011B000AA007093AB008093AC009093AD0078943C\r
-:1011C00089819A819093970080939600EB81FC81AE\r
-:1011D000F0939500E09394002D813E81309393002D\r
-:1011E000209392004F815885509391004093900036\r
-:1011F0008091D600813009F0ABC08091CD009091F4\r
-:10120000CE00892B89F41092E6001092E50010922E\r
-:101210008F0010928E0010928A0010928B00109214\r
-:101220008C0010928D0094C00091CD001091CE00E2\r
-:101230008091C4009091C500081B190B28016624F9\r
-:1012400057FC6094762CC0908A00D0908B00E09080\r
-:101250008C00F0908D00C40CD51CE61CF71CC092CD\r
-:101260008A00D0928B00E0928C00F0928D008091E9\r
-:10127000E5009091E600BC01882777FD8095982FC6\r
-:101280000E941F0F4B015C01C301B2010E941F0F9E\r
-:101290002CEB34E743E15CE30E940C102B013C0192\r
-:1012A000C701B6010E941F0F2BE631ED46E05AE35D\r
-:1012B0000E940C109B01AC01C301B2010E94190EE7\r
-:1012C0006B017C0180918E0090918F00F801E81BEA\r
-:1012D000F90BBF01882777FD8095982F0E941F0F7B\r
-:1012E0002CE234ED4AE15DE30E940C109B01AC015D\r
-:1012F000C701B6010E94190E9B01AC01C501B401E2\r
-:101300000E94190E0E94EC0E7093E6006093E500B7\r
-:1013100010938F0000938E008091E5009091E6007D\r
-:101320008F3F910541F03CF02FEF30E03093E60025\r
-:101330002093E5000DC08091E5009091E60081309A\r
-:101340009F4F34F441E05FEF5093E6004093E50097\r
-:101350008091D500813009F0ABC08091CB00909195\r
-:10136000CC00892B89F41092E4001092E3001092D3\r
-:1013700089001092880010928400109285001092CB\r
-:1013800086001092870094C00091CB001091CC0091\r
-:101390008091C2009091C300081B190B280166249C\r
-:1013A00057FC6094762CC0908400D0908500E0902B\r
-:1013B0008600F0908700C40CD51CE61CF71CC09278\r
-:1013C0008400D0928500E0928600F09287008091A0\r
-:1013D000E3009091E400BC01882777FD8095982F69\r
-:1013E0000E941F0F4B015C01C301B2010E941F0F3D\r
-:1013F0002CEB34E743E15CE30E940C102B013C0131\r
-:10140000C701B6010E941F0F2BE631ED46E05AE3FB\r
-:101410000E940C109B01AC01C301B2010E94190E85\r
-:101420006B017C018091880090918900F801E81B94\r
-:10143000F90BBF01882777FD8095982F0E941F0F19\r
-:101440002CE234ED4AE15DE30E940C109B01AC01FB\r
-:10145000C701B6010E94190E9B01AC01C501B40180\r
-:101460000E94190E0E94EC0E7093E4006093E3005A\r
-:1014700010938900009388008091E3009091E4002C\r
-:101480008F3F910541F03CF02FEF30E03093E400C6\r
-:101490002093E3000DC08091E3009091E40081303F\r
-:1014A0009F4F34F441E05FEF5093E4004093E3003A\r
-:1014B0008091D400813009F0ABC08091C900909137\r
-:1014C000CA00892B89F41092E2001092E100109278\r
-:1014D00083001092820010927E0010927F00109282\r
-:1014E00080001092810094C00091C9001091CA0040\r
-:1014F0008091C0009091C100081B190B280166243F\r
-:1015000057FC6094762CC0907E00D0907F00E090D5\r
-:101510008000F0908100C40CD51CE61CF71CC09222\r
-:101520007E00D0927F00E0928000F0928100809156\r
-:10153000E1009091E200BC01882777FD8095982F0B\r
-:101540000E941F0F4B015C01C301B2010E941F0FDB\r
-:101550002CEB34E743E15CE30E940C102B013C01CF\r
-:10156000C701B6010E941F0F2BE631ED46E05AE39A\r
-:101570000E940C109B01AC01C301B2010E94190E24\r
-:101580006B017C018091820090918300F801E81B3F\r
-:10159000F90BBF01882777FD8095982F0E941F0FB8\r
-:1015A0002CE234ED4AE15DE30E940C109B01AC019A\r
-:1015B000C701B6010E94190E9B01AC01C501B4011F\r
-:1015C0000E94190E0E94EC0E7093E2006093E100FD\r
-:1015D00010938300009382008091E1009091E200DB\r
-:1015E0008F3F910541F03CF02FEF30E03093E20067\r
-:1015F0002093E1000DC08091E1009091E2008130E4\r
-:101600009F4F34F441E05FEF5093E2004093E100DC\r
-:101610008091D300813009F0ABC08091C7009091D8\r
-:10162000C800892B89F41092E0001092DF0010921C\r
-:101630007D0010927C001092780010927900109238\r
-:101640007A0010927B0094C00091C7001091C800EE\r
-:101650008091BE009091BF00081B190B28016624E1\r
-:1016600057FC6094762CC0907800D0907900E09080\r
-:101670007A00F0907B00C40CD51CE61CF71CC092CD\r
-:101680007800D0927900E0927A00F0927B0080910D\r
-:10169000DF009091E000BC01882777FD8095982FAE\r
-:1016A0000E941F0F4B015C01C301B2010E941F0F7A\r
-:1016B0002CEB34E743E15CE30E940C102B013C016E\r
-:1016C000C701B6010E941F0F2BE631ED46E05AE339\r
-:1016D0000E940C109B01AC01C301B2010E94190EC3\r
-:1016E0006B017C0180917C0090917D00F801E81BEA\r
-:1016F000F90BBF01882777FD8095982F0E941F0F57\r
-:101700002CE234ED4AE15DE30E940C109B01AC0138\r
-:10171000C701B6010E94190E9B01AC01C501B401BD\r
-:101720000E94190E0E94EC0E7093E0006093DF009F\r
-:1017300010937D0000937C008091DF009091E00089\r
-:101740008F3F910541F03CF02FEF30E03093E00007\r
-:101750002093DF000DC08091DF009091E000813088\r
-:101760009F4F34F441E05FEF5093E0004093DF007F\r
-:101770008091E5009091E60020916600309167002D\r
-:1017800028173907B9F18091E5009091E600892B7F\r
-:1017900019F485B38C6017C08091D200811107C005\r
-:1017A0008091E5009091E6001816190654F080919A\r
-:1017B000D200882351F08091E5009091E60097FFD8\r
-:1017C00004C085B3837F85BB02C0AA98AB9A809181\r
-:1017D000E5009091E6009093670080936600809109\r
-:1017E000E5009091E60097FF03C0919581959109DE\r
-:1017F0009BBD8ABD8091E3009091E400209164003C\r
-:101800003091650028173907B9F18091E300909174\r
-:10181000E400892B19F485B3806317C08091D1004F\r
-:10182000811107C08091E3009091E4001816190619\r
-:1018300054F08091D100882351F08091E300909181\r
-:10184000E40097FF04C085B38F7C85BB02C0AC98D1\r
-:10185000AD9A8091E3009091E400909365008093AD\r
-:1018600064008091E3009091E40097FF03C091959C\r
-:101870008195910999BD88BD8091E1009091E20028\r
-:10188000209162003091630028173907B1F18091EF\r
-:10189000E1009091E200892B19F485B3806C17C0A8\r
-:1018A0008091D000811107C08091E1009091E20009\r
-:1018B0001816190654F08091D000882351F08091B9\r
-:1018C000E1009091E20097FF04C085B38F7385BB60\r
-:1018D00002C0AE98AF9A8091E1009091E20090939F\r
-:1018E0006300809362008091E1009091E20097FF95\r
-:1018F00003C091958195910983BD8091DF009091FE\r
-:10190000E000209160003091610028173907B1F1A3\r
-:101910008091DF009091E000892B19F482B38C60F4\r
-:1019200017C08091CF00811107C08091DF00909196\r
-:10193000E0001816190654F08091CF00882351F06A\r
-:101940008091DF009091E00097FF04C082B3837F15\r
-:1019500082BB02C09298939A8091DF009091E00040\r
-:1019600090936100809360008091DF009091E0008F\r
-:1019700097FF03C09195819591098CBF8091A90033\r
-:101980008F5F8093A90085B7806885BF889585B7EC\r
-:101990008F7785BF94C96F927F929F92AF92BF92CB\r
-:1019A000CF92DF92EF92FF920F931F93CF93DF932B\r
-:1019B000CDB7DEB72C970FB6F894DEBF0FBECDBF04\r
-:1019C0008C017B013A01FC0117821682838181FF21\r
-:1019D00019C1CE0101965C01F801D380F701D3FC57\r
-:1019E0002591D3FE21917F01222309F407C12532DD\r
-:1019F00049F4D3FC2591D3FE21917F01253211F0CA\r
-:101A0000912C1BC0B801822F90E00E9450116301FD\r
-:101A10003601E2CF222309F4F1C0622F70E089E79A\r
-:101A200090E02C870E94FA102C85892B49F0F70151\r
-:101A3000D3FC2591D3FE21917F0197FEEBCF0CC003\r
-:101A4000233221F4F92DF0619F2EF1CF2C3639F499\r
-:101A5000292D2068922EEBCF222309F4CFC0622FCC\r
-:101A600070E082E790E02C870E94FA102C85892B89\r
-:101A700041F06301F4E0CF0ED11CB8018FE390E098\r
-:101A800012C0233641F0233789F0233521F5F92D93\r
-:101A9000F1609F2E0BC0630122E0C20ED11CB80181\r
-:101AA000F301808191810E945011B2CF630122E045\r
-:101AB000C20ED11CF30160807180F30190FC85910E\r
-:101AC00090FE81913F01882309F4A2CFB80190E0F4\r
-:101AD0000E945011F2CF243611F0293639F56301F6\r
-:101AE00097FE09C0F4E0CF0ED11CF3016081718133\r
-:101AF000828193810AC0F2E0CF0ED11CF301608194\r
-:101B00007181882777FD8095982FF92DFF7E9F2E74\r
-:101B100097FF09C090958095709561957F4F8F4F85\r
-:101B20009F4FF0649F2E2AE030E038C02037A1F0AC\r
-:101B300040F42835D1F02F3609F060C028E030E0BD\r
-:101B400019C0253719F0283751F058C0292D2F7E9C\r
-:101B5000922E2AE030E00EC0892D8061982E992DBA\r
-:101B60009462992E20E130E005C0E92DE4609E2EBC\r
-:101B700020E132E0630197FE09C0F4E0CF0ED11CF2\r
-:101B8000F301608171818281938108C0F2E0CF0E00\r
-:101B9000D11CF3016081718180E090E0A5010E9479\r
-:101BA000AF11782E7A1896FE05C0B8018DE290E04C\r
-:101BB0000E94501194FE16C0FE01E70DF11D8081B8\r
-:101BC000803381F0B80180E390E00E94501192FED2\r
-:101BD00009C0292D2072822F90E0B801885A9F4FAA\r
-:101BE0000E9450117A94F501E70DF11D8081B80132\r
-:101BF00090E00E9450117110F5CF0ACFF801868154\r
-:101C0000978102C08FEF9FEF2C960FB6F894DEBF3E\r
-:101C10000FBECDBFDF91CF911F910F91FF90EF903D\r
-:101C2000DF90CF90BF90AF909F907F906F9008957E\r
-:101C30005058BB27AA270ED0A0C169D130F06ED171\r
-:101C400020F031F49F3F11F41EF45EC10EF4E095D4\r
-:101C5000E7FB54C1E92FB3D180F3BA1762077307CA\r
-:101C60008407950718F071F49EF5CBC10EF4E0954A\r
-:101C70000B2EBA2FA02D0B01B90190010C01CA0146\r
-:101C8000A0011124FF27591B99F0593F50F4503EF1\r
-:101C900068F11A16F040A22F232F342F4427585FE3\r
-:101CA000F3CF469537952795A795F0405395C9F7FB\r
-:101CB0007EF41F16BA0B620B730B840BBAF09150B3\r
-:101CC000A1F0FF0FBB1F661F771F881FC2F70EC052\r
-:101CD000BA0F621F731F841F48F487957795679525\r
-:101CE000B795F7959E3F08F0B3CF9395880F08F00E\r
-:101CF0009927EE0F979587950895DCD008F481E039\r
-:101D0000089514D1E3954AC10CD037C107D140F0F2\r
-:101D1000FED030F021F45F3F19F0F0C0511172C1D4\r
-:101D2000F3C04DD198F39923C9F35523B1F3951B13\r
-:101D3000550BBB27AA2762177307840738F09F5FEC\r
-:101D40005F4F220F331F441FAA1FA9F333D00E2E5B\r
-:101D50003AF0E0E830D091505040E695001CCAF7C8\r
-:101D600029D0FE2F27D0660F771F881FBB1F26178D\r
-:101D700037074807AB07B0E809F0BB0B802DBF0160\r
-:101D8000FF2793585F4F2AF09E3F510568F0B6C079\r
-:101D900039C15F3FECF3983EDCF386957795679504\r
-:101DA000B795F7959F5FC9F7880F911D9695879511\r
-:101DB00097F90895E1E0660F771F881FBB1F621730\r
-:101DC00073078407BA0720F0621B730B840BBA0BEE\r
-:101DD000EE1F88F7E095089504D06894B11112C100\r
-:101DE0000895F5D088F09F5790F0B92F9927B751F3\r
-:101DF000A0F0D1F0660F771F881F991F1AF0BA95CF\r
-:101E0000C9F712C0B13081F0FCD0B1E00895F9C03B\r
-:101E1000672F782F8827B85F39F0B93FCCF38695C4\r
-:101E200077956795B395D9F73EF490958095709521\r
-:101E300061957F4F8F4F9F4F0895E89409C097FB9E\r
-:101E40003EF490958095709561957F4F8F4F9F4F91\r
-:101E50009923A9F0F92F96E9BB279395F6958795D5\r
-:101E600077956795B795F111F8CFFAF4BB0F11F498\r
-:101E700060FF1BC06F5F7F4F8F4F9F4F16C088233F\r
-:101E800011F096E911C0772321F09EE8872F762F75\r
-:101E900005C0662371F096E8862F70E060E02AF0B6\r
-:101EA0009A95660F771F881FDAF7880F96958795A2\r
-:101EB00097F90895990F0008550FAA0BE0E8FEEF77\r
-:101EC00016161706E807F907C0F012161306E407FE\r
-:101ED000F50798F0621B730B840B950B39F40A26F7\r
-:101EE00061F0232B242B252B21F408950A2609F4D5\r
-:101EF000A140A6958FEF811D811D089597F99F67D9\r
-:101F000080E870E060E008959FEF80EC0895002481\r
-:101F10000A941616170618060906089500240A944E\r
-:101F200012161306140605060895EECF50D0E8F3F6\r
-:101F3000E894E0E0BB279F57F0F02AED3FE049EC42\r
-:101F400006C0EE0FBB0F661F771F881F28F0B23A3E\r
-:101F500062077307840728F0B25A620B730B840B75\r
-:101F6000E3959A9572F7803830F49A95BB0F661F07\r
-:101F7000771F881FD2F79048BAC0092E0394000C2F\r
-:101F800011F4882352F0BB0F40F4BF2B11F460FF13\r
-:101F900004C06F5F7F4F8F4F9F4F0895EF93E0FF17\r
-:101FA00006C0A2EA2AED3FE049EC5FEB53DEE5DF35\r
-:101FB0000F90039401FC9058E4E5F0E0A4C057FDB5\r
-:101FC0009058440F551F59F05F3F71F04795880FA7\r
-:101FD00097FB991F61F09F3F79F08795089512163E\r
-:101FE00013061406551FF2CF4695F1DF08C01616EA\r
-:101FF00017061806991FF1CF86957105610508949B\r
-:102000000895E894BB2766277727CB0197F90895B1\r
-:1020100051DF08F48FEF08950BD0AFCF78DF28F0B1\r
-:102020007DDF18F0952309F069CF6ECF1124EACF38\r
-:10203000C6DFA0F3959FD1F3950F50E0551F629F27\r
-:10204000F001729FBB27F00DB11D639FAA27F00D11\r
-:10205000B11DAA1F649F6627B00DA11D661F829F38\r
-:102060002227B00DA11D621F739FB00DA11D621F1D\r
-:10207000839FA00D611D221F749F3327A00D611D3A\r
-:10208000231F849F600D211D822F762F6A2F11241C\r
-:102090009F5750408AF0E1F088234AF0EE0FFF1F6F\r
-:1020A000BB1F661F771F881F91505040A9F79E3FA6\r
-:1020B000510570F023CFA6CF5F3FECF3983EDCF3E1\r
-:1020C000869577956795B795F795E7959F5FC1F7E3\r
-:1020D000FE2B880F911D9695879597F908959F93EC\r
-:1020E00025DF0F9007FCEE5F59CF9F3F31F09150F5\r
-:1020F00020F4879577956795B795880F911D9695EC\r
-:10210000879597F908959F938F937F936F93FF938C\r
-:10211000EF939B01AC0180DFEF91FF9105D02F91F0\r
-:102120003F914F915F9178CFDF93CF931F930F93A0\r
-:10213000FF92EF92DF927B018C01689405C0DA2E4A\r
-:10214000EF0176DFFE01E894A59125913591459147\r
-:102150005591AEF3EF017EDDFE019701A801DA94FF\r
-:1021600079F7DF90EF90FF900F911F91CF91DF9162\r
-:102170000895052E97FB1EF400940E94D01057FD81\r
-:1021800007D00E94D81007FC03D04EF40C94D01056\r
-:1021900050954095309521953F4F4F4F5F4F089593\r
-:1021A00090958095709561957F4F8F4F9F4F0895C3\r
-:1021B000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F4B\r
-:1021C000EE1FFF1FA217B307E407F50720F0A21BBD\r
-:1021D000B30BE40BF50B661F771F881F991F1A942A\r
-:1021E00069F760957095809590959B01AC01BD0154\r
-:1021F000CF010895FC010590061621F00020D9F7C3\r
-:10220000C00108953197CF0108950F931F93CF9385\r
-:10221000DF93EC018B01009731F46115710519F41E\r
-:1022200080E090E038C06EE070E081E090E00E94D5\r
-:102230000D12FC010097A1F380E8838301151105BD\r
-:1022400071F01387028781E8838380915D0190910B\r
-:102250005E01892B21F4F0935E01E0935D012097EC\r
-:10226000C9F0D187C08783818260838380915F01B9\r
-:1022700090916001892B71F4F0936001E0935F010C\r
-:102280008091610190916201892B21F4F0936201A8\r
-:10229000E0936101CF01DF91CF911F910F910895DC\r
-:1022A0000F931F93CF93DF93182F092FEB018B818F\r
-:1022B00081FD03C08FEF9FEF20C082FF10C04E81D1\r
-:1022C0005F812C813D81421753077CF4E881F981BD\r
-:1022D0009F012F5F3F4F39832883108306C0E88515\r
-:1022E000F985812F0995892B29F72E813F812F5F51\r
-:1022F0003F4F3F832E83812F902FDF91CF911F91EE\r
-:102300000F9108950F931F93CF93DF93E0915F0197\r
-:10231000F0916001238121FF1BC0EC0100E010E07F\r
-:10232000899160915F0170916001DB011896ED91D8\r
-:10233000FC911997882331F00995892B89F30FEFC8\r
-:102340001FEFEECF8AE00995892B11F4C80102C076\r
-:102350008FEF9FEFDF91CF911F910F910895FA01B9\r
-:10236000AA27283051F1203181F1E8946F936E7FD4\r
-:102370006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E0C5\r
-:102380003CD0670F781F891F9A1FA11D680F791F06\r
-:102390008A1F911DA11D6A0F711D811D911DA11D17\r
-:1023A00020D009F468943F912AE0269F1124301927\r
-:1023B000305D3193DEF6CF010895462F4770405DC2\r
-:1023C0004193B3E00FD0C9F7F6CF462F4F70405D71\r
-:1023D0004A3318F0495D31FD4052419302D0A9F7CC\r
-:1023E000EACFB4E0A6959795879577956795BA95C6\r
-:1023F000C9F700976105710508959B01AC010A2E8C\r
-:1024000006945795479537952795BA95C9F7620F62\r
-:10241000731F841F951FA01D08950F931F93CF93C3\r
-:10242000DF93869F8001879F100D969F100D1124CA\r
-:10243000C8010E942912EC01009729F0A80160E070\r
-:1024400070E00E945013CE01DF91CF911F910F9148\r
-:102450000895CF93DF938230910510F482E090E0ED\r
-:10246000E0916501F091660120E030E0A0E0B0E08D\r
-:10247000309739F14081518148175907B8F0481712\r
-:10248000590771F482819381109729F013969C93D8\r
-:102490008E9312972CC0909366018093650127C09C\r
-:1024A0002115310531F04217530718F0A901DB015E\r
-:1024B00001C0EF019A01BD01DF010280F381E02D2F\r
-:1024C000D7CF21153105F9F0281B390B2430310500\r
-:1024D00080F48A819B816115710521F0FB01938352\r
-:1024E000828304C09093660180936501FE01329659\r
-:1024F00044C0FE01E20FF31F8193919322503109F2\r
-:10250000398328833AC02091630130916401232BE1\r
-:1025100041F420916A0030916B0030936401209364\r
-:10252000630120916800309169002115310541F463\r
-:102530002DB73EB740916C0050916D00241B350BB8\r
-:10254000E0916301F0916401E217F307A0F42E1B00\r
-:102550003F0B2817390778F0AC014E5F5F4F241707\r
-:10256000350748F04E0F5F1F50936401409363019D\r
-:102570008193919302C0E0E0F0E0CF01DF91CF9131\r
-:102580000895CF93DF93009709F487C0FC01329739\r
-:1025900013821282C0916501D0916601209781F467\r
-:1025A00020813181280F391F80916301909164014E\r
-:1025B0008217930779F5F0936401E09363016DC08E\r
-:1025C000DE0120E030E0AE17BF0750F412964D91C7\r
-:1025D0005C9113979D014115510509F1DA01F3CF83\r
-:1025E000B383A28340815181840F951F8A179B0773\r
-:1025F00071F48D919C911197840F951F0296918390\r
-:10260000808312968D919C911397938382832115D9\r
-:10261000310529F4F0936601E09365013EC0D901CC\r
-:102620001396FC93EE9312974D915D91A40FB51FF5\r
-:10263000EA17FB0779F480819181840F951F029638\r
-:10264000D90111969C938E938281938113969C93CA\r
-:102650008E931297E0E0F0E08A819B81009719F059\r
-:10266000FE01EC01F9CFCE01029628813981820F5B\r
-:10267000931F20916301309164012817390769F491\r
-:10268000309729F4109266011092650102C01382FE\r
-:102690001282D0936401C0936301DF91CF910895BA\r
-:1026A000DC0101C06D9341505040E0F70895F8946B\r
-:0226B000FFCF5A\r
-:1026B20000800080008000800000670120000D0A79\r
-:0826C20053746172740D0000F5\r
+:100D10000E94441025E236E041E85EE30E94441060\r
+:100D200020E030E040E05FE30E944410A501940120\r
+:100D30000E94510E6B017C01A5019401C501B40113\r
+:100D40000E94510EA70196010E94500E2AE931E03F\r
+:100D500043E555E40E9444104B015C012AE931E06F\r
+:100D600043E555E4C701B6010E9444106B017C01C4\r
+:100D70008091CD009091CE0018161906ECF4809168\r
+:100D8000A7008823C9F08091A7009101281B310991\r
+:100D9000B901882777FD8095982F0E94570F9B01F6\r
+:100DA000AC01C501B4010E94441020E030E048ECE1\r
+:100DB00052E40E94BC0E02C0C501B4010E94240F7F\r
+:100DC0007093CE006093CD008091CB009091CC00C9\r
+:100DD00018161906ECF48091A8008823C9F08091B8\r
+:100DE000A800A101481B5109BA01882777FD809509\r
+:100DF000982F0E94570F9B01AC01C501B4010E94BE\r
+:100E0000441020E030E048EC52E40E94BC0E02C0E6\r
+:100E1000C501B4010E94240F7093CC006093CB00F5\r
+:100E20008091C9009091CA0018161906E4F48091C7\r
+:100E3000A8008823C1F08091A800B101681B710946\r
+:100E4000882777FD8095982F0E94570F9B01AC0152\r
+:100E5000C701B6010E94441020E030E048EC52E4A3\r
+:100E60000E94BC0E02C0C701B6010E94240F7093FD\r
+:100E7000CA006093C9008091C7009091C8001816FD\r
+:100E80001906E4F48091A7008823C1F08091A7009F\r
+:100E9000B101681B7109882777FD8095982F0E9402\r
+:100EA000570F9B01AC01C701B6010E94441020E01E\r
+:100EB00030E048EC52E40E94BC0E02C0C701B6010B\r
+:100EC0000E94240F7093C8006093C70051E05093B4\r
+:100ED000D6005093D5005093D4005093D300809106\r
+:100EE000C6008C3908F487C51092C600F89480912A\r
+:100EF000DD009091DE009A838983E091DB00F09120\r
+:100F0000DC00FC83EB832091D9003091DA003E8332\r
+:100F10002D834091D7005091D80058874F83789403\r
+:100F20008091960090919700A980BA80A81AB90A7A\r
+:100F300080919400909195008F01081B190B80916E\r
+:100F40009200909193007901E81AF90A809190003B\r
+:100F5000909191006A01C81AD90AB501882777FDD6\r
+:100F60008095982F0E94570F2AE037ED43E25CE30B\r
+:100F70000E94BC0E0E94240F69877A878B879C870A\r
+:100F8000B801882777FD8095982F0E94570F2AE097\r
+:100F900037ED43E25CE30E94BC0E0E94240F6D8794\r
+:100FA0007E878F87988BB701882777FD8095982F4C\r
+:100FB0000E94570F2AE037ED43E25CE30E94BC0E2B\r
+:100FC0000E94240F698B7A8B8B8B9C8BB6018827B0\r
+:100FD00077FD8095982F0E94570F2AE037ED43E266\r
+:100FE0005CE30E94BC0E0E94240F6D8B7E8B8F8B66\r
+:100FF000988FB501600F711F882777FD8095982F16\r
+:101000000E94570F2AE931E043ED55E40E94BC0EDF\r
+:101010004B015C01B7016C0D7D1D882777FD809524\r
+:10102000982F0E94570F2AE931E043ED55E40E94C2\r
+:10103000BC0E2B013C01C090B200D090B300E090F8\r
+:10104000B400F090B500A50194010E94500E25E275\r
+:1010500036E041E85EE30E94BC0E9B01AC01C70193\r
+:10106000B6010E94510E6B017C012BED3FE049EC73\r
+:1010700050E40E9440102BED3FE049EC50E418167C\r
+:101080002CF4C701B6010E94500E0EC0C701B60174\r
+:101090000E94B50E87FF0AC02BED3FE049EC50E4FB\r
+:1010A000C701B6010E94510E6B017C01A3019201A0\r
+:1010B000C501B4010E94510E20E030E040E05FE342\r
+:1010C0000E9444104B015C014090BA005090BB005C\r
+:1010D0006090BC007090BD00C701B6010E94B90EBF\r
+:1010E000A50194010E9444109B01AC01C301B2010F\r
+:1010F0000E94510E698F7A8F8B8F9C8F4090B60023\r
+:101100005090B7006090B8007090B900C701B60168\r
+:101110000E94A710A50194010E9444109B01AC01FC\r
+:10112000C301B2010E94510E2B013C010D851E85A9\r
+:1011300089859A85080F191F17FF02C00F5F1F4F7F\r
+:10114000159507954D895E89E989FA894E0F5F1FCC\r
+:1011500057FF02C04F5F5F4F9A01359527953E8F2D\r
+:101160002D8FB901600F711F882777FD8095982F0B\r
+:101170000E94570F2AE931E043ED55E40E94BC0E6E\r
+:101180004B015C016D8D7E8D601B710B882777FD97\r
+:101190008095982F0E94570F2BEB3CE047E255E4D7\r
+:1011A0000E94BC0EF894C092B200D092B300E092BC\r
+:1011B000B400F092B500298D3A8D4B8D5C8D209353\r
+:1011C000BA003093BB004093BC005093BD004092E6\r
+:1011D000B6005092B7006092B8007092B90049858D\r
+:1011E0005A855093C5004093C400ED85FE85F09369\r
+:1011F000C300E093C20029893A893093C10020934B\r
+:10120000C0004D895E895093BF004093BE0080921C\r
+:10121000AE009092AF00A092B000B092B100609387\r
+:10122000AA007093AB008093AC009093AD007894CB\r
+:1012300089819A819093970080939600EB81FC813D\r
+:10124000F0939500E09394002D813E8130939300BC\r
+:10125000209392004F8158855093910040939000C5\r
+:101260008091D600813009F0ABC08091CD00909183\r
+:10127000CE00892B89F41092E6001092E5001092BE\r
+:101280008F0010928E0010928A0010928B001092A4\r
+:101290008C0010928D0094C00091CD001091CE0072\r
+:1012A0008091C4009091C500081B190B2801662489\r
+:1012B00057FC6094762CC0908A00D0908B00E09010\r
+:1012C0008C00F0908D00C40CD51CE61CF71CC0925D\r
+:1012D0008A00D0928B00E0928C00F0928D00809179\r
+:1012E000E5009091E600BC01882777FD8095982F56\r
+:1012F0000E94570F4B015C01C301B2010E94570FBE\r
+:101300002CEB34E743E15CE30E9444102B013C01E9\r
+:10131000C701B6010E94570F2BE631ED46E05AE3B4\r
+:101320000E9444109B01AC01C301B2010E94510E06\r
+:101330006B017C0180918E0090918F00F801E81B79\r
+:10134000F90BBF01882777FD8095982F0E94570FD2\r
+:101350002CE234ED4AE15DE30E9444109B01AC01B4\r
+:10136000C701B6010E94510E9B01AC01C501B40139\r
+:101370000E94510E0E94240F7093E6006093E500D6\r
+:1013800010938F0000938E008091E5009091E6000D\r
+:101390008F3F910541F03CF02FEF30E03093E600B5\r
+:1013A0002093E5000DC08091E5009091E60081302A\r
+:1013B0009F4F34F441E05FEF5093E6004093E50027\r
+:1013C0008091D500813009F0ABC08091CB00909125\r
+:1013D000CC00892B89F41092E4001092E300109263\r
+:1013E000890010928800109284001092850010925B\r
+:1013F00086001092870094C00091CB001091CC0021\r
+:101400008091C2009091C300081B190B280166242B\r
+:1014100057FC6094762CC0908400D0908500E090BA\r
+:101420008600F0908700C40CD51CE61CF71CC09207\r
+:101430008400D0928500E0928600F092870080912F\r
+:10144000E3009091E400BC01882777FD8095982FF8\r
+:101450000E94570F4B015C01C301B2010E94570F5C\r
+:101460002CEB34E743E15CE30E9444102B013C0188\r
+:10147000C701B6010E94570F2BE631ED46E05AE353\r
+:101480000E9444109B01AC01C301B2010E94510EA5\r
+:101490006B017C018091880090918900F801E81B24\r
+:1014A000F90BBF01882777FD8095982F0E94570F71\r
+:1014B0002CE234ED4AE15DE30E9444109B01AC0153\r
+:1014C000C701B6010E94510E9B01AC01C501B401D8\r
+:1014D0000E94510E0E94240F7093E4006093E30079\r
+:1014E00010938900009388008091E3009091E400BC\r
+:1014F0008F3F910541F03CF02FEF30E03093E40056\r
+:101500002093E3000DC08091E3009091E4008130CE\r
+:101510009F4F34F441E05FEF5093E4004093E300C9\r
+:101520008091D400813009F0ABC08091C9009091C6\r
+:10153000CA00892B89F41092E2001092E100109207\r
+:1015400083001092820010927E0010927F00109211\r
+:1015500080001092810094C00091C9001091CA00CF\r
+:101560008091C0009091C100081B190B28016624CE\r
+:1015700057FC6094762CC0907E00D0907F00E09065\r
+:101580008000F0908100C40CD51CE61CF71CC092B2\r
+:101590007E00D0927F00E0928000F09281008091E6\r
+:1015A000E1009091E200BC01882777FD8095982F9B\r
+:1015B0000E94570F4B015C01C301B2010E94570FFB\r
+:1015C0002CEB34E743E15CE30E9444102B013C0127\r
+:1015D000C701B6010E94570F2BE631ED46E05AE3F2\r
+:1015E0000E9444109B01AC01C301B2010E94510E44\r
+:1015F0006B017C018091820090918300F801E81BCF\r
+:10160000F90BBF01882777FD8095982F0E94570F0F\r
+:101610002CE234ED4AE15DE30E9444109B01AC01F1\r
+:10162000C701B6010E94510E9B01AC01C501B40176\r
+:101630000E94510E0E94240F7093E2006093E1001B\r
+:1016400010938300009382008091E1009091E2006A\r
+:101650008F3F910541F03CF02FEF30E03093E200F6\r
+:101660002093E1000DC08091E1009091E200813073\r
+:101670009F4F34F441E05FEF5093E2004093E1006C\r
+:101680008091D300813009F0ABC08091C700909168\r
+:10169000C800892B89F41092E0001092DF001092AC\r
+:1016A0007D0010927C0010927800109279001092C8\r
+:1016B0007A0010927B0094C00091C7001091C8007E\r
+:1016C0008091BE009091BF00081B190B2801662471\r
+:1016D00057FC6094762CC0907800D0907900E09010\r
+:1016E0007A00F0907B00C40CD51CE61CF71CC0925D\r
+:1016F0007800D0927900E0927A00F0927B0080919D\r
+:10170000DF009091E000BC01882777FD8095982F3D\r
+:101710000E94570F4B015C01C301B2010E94570F99\r
+:101720002CEB34E743E15CE30E9444102B013C01C5\r
+:10173000C701B6010E94570F2BE631ED46E05AE390\r
+:101740000E9444109B01AC01C301B2010E94510EE2\r
+:101750006B017C0180917C0090917D00F801E81B79\r
+:10176000F90BBF01882777FD8095982F0E94570FAE\r
+:101770002CE234ED4AE15DE30E9444109B01AC0190\r
+:10178000C701B6010E94510E9B01AC01C501B40115\r
+:101790000E94510E0E94240F7093E0006093DF00BE\r
+:1017A00010937D0000937C008091DF009091E00019\r
+:1017B0008F3F910541F03CF02FEF30E03093E00097\r
+:1017C0002093DF000DC08091DF009091E000813018\r
+:1017D0009F4F34F441E05FEF5093E0004093DF000F\r
+:1017E0008091E5009091E6002091660030916700BD\r
+:1017F00028173907B9F18091E5009091E600892B0F\r
+:1018000019F485B38C6017C08091D200811107C094\r
+:101810008091E5009091E6001816190654F0809129\r
+:10182000D200882351F08091E5009091E60097FF67\r
+:1018300004C085B3837F85BB02C0AA98AB9A809110\r
+:10184000E5009091E6009093670080936600809198\r
+:10185000E5009091E60097FF03C09195819591096D\r
+:101860009BBD8ABD8091E3009091E40020916400CB\r
+:101870003091650028173907B9F18091E300909104\r
+:10188000E400892B19F485B3806317C08091D100DF\r
+:10189000811107C08091E3009091E40018161906A9\r
+:1018A00054F08091D100882351F08091E300909111\r
+:1018B000E40097FF04C085B38F7C85BB02C0AC9861\r
+:1018C000AD9A8091E3009091E4009093650080933D\r
+:1018D00064008091E3009091E40097FF03C091952C\r
+:1018E0008195910999BD88BD8091E1009091E200B8\r
+:1018F000209162003091630028173907B1F180917F\r
+:10190000E1009091E200892B19F485B3806C17C037\r
+:101910008091D000811107C08091E1009091E20098\r
+:101920001816190654F08091D000882351F0809148\r
+:10193000E1009091E20097FF04C085B38F7385BBEF\r
+:1019400002C0AE98AF9A8091E1009091E20090932E\r
+:101950006300809362008091E1009091E20097FF24\r
+:1019600003C091958195910983BD8091DF0090918D\r
+:10197000E000209160003091610028173907B1F133\r
+:101980008091DF009091E000892B19F482B38C6084\r
+:1019900017C08091CF00811107C08091DF00909126\r
+:1019A000E0001816190654F08091CF00882351F0FA\r
+:1019B0008091DF009091E00097FF04C082B3837FA5\r
+:1019C00082BB02C09298939A8091DF009091E000D0\r
+:1019D00090936100809360008091DF009091E0001F\r
+:1019E00097FF03C09195819591098CBF8091A900C3\r
+:1019F0008F5F8093A90085B7806885BF889585B77C\r
+:101A00008F7785BF5CC96F927F929F92AF92BF9292\r
+:101A1000CF92DF92EF92FF920F931F93CF93DF93BA\r
+:101A2000CDB7DEB72C970FB6F894DEBF0FBECDBF93\r
+:101A30008C017B013A01FC0117821682838181FFB0\r
+:101A400019C1CE0101965C01F801D380F701D3FCE6\r
+:101A50002591D3FE21917F01222309F407C125326C\r
+:101A600049F4D3FC2591D3FE21917F01253211F059\r
+:101A7000912C1BC0B801822F90E00E948811630155\r
+:101A80003601E2CF222309F4F1C0622F70E089E72A\r
+:101A900090E02C870E9432112C85892B49F0F701A8\r
+:101AA000D3FC2591D3FE21917F0197FEEBCF0CC093\r
+:101AB000233221F4F92DF0619F2EF1CF2C3639F429\r
+:101AC000292D2068922EEBCF222309F4CFC0622F5C\r
+:101AD00070E082E790E02C870E9432112C85892BE0\r
+:101AE00041F06301F4E0CF0ED11CB8018FE390E028\r
+:101AF00012C0233641F0233789F0233521F5F92D23\r
+:101B0000F1609F2E0BC0630122E0C20ED11CB80110\r
+:101B1000F301808191810E948811B2CF630122E09C\r
+:101B2000C20ED11CF30160807180F30190FC85919D\r
+:101B300090FE81913F01882309F4A2CFB80190E083\r
+:101B40000E948811F2CF243611F0293639F563014D\r
+:101B500097FE09C0F4E0CF0ED11CF30160817181C2\r
+:101B6000828193810AC0F2E0CF0ED11CF301608123\r
+:101B70007181882777FD8095982FF92DFF7E9F2E04\r
+:101B800097FF09C090958095709561957F4F8F4F15\r
+:101B90009F4FF0649F2E2AE030E038C02037A1F03C\r
+:101BA00040F42835D1F02F3609F060C028E030E04D\r
+:101BB00019C0253719F0283751F058C0292D2F7E2C\r
+:101BC000922E2AE030E00EC0892D8061982E992D4A\r
+:101BD0009462992E20E130E005C0E92DE4609E2E4C\r
+:101BE00020E132E0630197FE09C0F4E0CF0ED11C82\r
+:101BF000F301608171818281938108C0F2E0CF0E90\r
+:101C0000D11CF3016081718180E090E0A5010E9408\r
+:101C1000E711782E7A1896FE05C0B8018DE290E0A3\r
+:101C20000E94881194FE16C0FE01E70DF11D80810F\r
+:101C3000803381F0B80180E390E00E94881192FE29\r
+:101C400009C0292D2072822F90E0B801885A9F4F39\r
+:101C50000E9488117A94F501E70DF11D8081B80189\r
+:101C600090E00E9488117110F5CF0ACFF8018681AB\r
+:101C7000978102C08FEF9FEF2C960FB6F894DEBFCE\r
+:101C80000FBECDBFDF91CF911F910F91FF90EF90CD\r
+:101C9000DF90CF90BF90AF909F907F906F9008950E\r
+:101CA0005058BB27AA270ED0A0C169D130F06ED101\r
+:101CB00020F031F49F3F11F41EF45EC10EF4E09564\r
+:101CC000E7FB54C1E92FB3D180F3BA17620773075A\r
+:101CD0008407950718F071F49EF5CBC10EF4E095DA\r
+:101CE0000B2EBA2FA02D0B01B90190010C01CA01D6\r
+:101CF000A0011124FF27591B99F0593F50F4503E81\r
+:101D000068F11A16F040A22F232F342F4427585F72\r
+:101D1000F3CF469537952795A795F0405395C9F78A\r
+:101D20007EF41F16BA0B620B730B840BBAF0915042\r
+:101D3000A1F0FF0FBB1F661F771F881FC2F70EC0E1\r
+:101D4000BA0F621F731F841F48F4879577956795B4\r
+:101D5000B795F7959E3F08F0B3CF9395880F08F09D\r
+:101D60009927EE0F979587950895DCD008F481E0C8\r
+:101D7000089514D1E3954AC10CD037C107D140F082\r
+:101D8000FED030F021F45F3F19F0F0C0511172C164\r
+:101D9000F3C04DD198F39923C9F35523B1F3951BA3\r
+:101DA000550BBB27AA2762177307840738F09F5F7C\r
+:101DB0005F4F220F331F441FAA1FA9F333D00E2EEB\r
+:101DC0003AF0E0E830D091505040E695001CCAF758\r
+:101DD00029D0FE2F27D0660F771F881FBB1F26171D\r
+:101DE00037074807AB07B0E809F0BB0B802DBF01F0\r
+:101DF000FF2793585F4F2AF09E3F510568F0B6C009\r
+:101E000039C15F3FECF3983EDCF386957795679593\r
+:101E1000B795F7959F5FC9F7880F911D96958795A0\r
+:101E200097F90895E1E0660F771F881FBB1F6217BF\r
+:101E300073078407BA0720F0621B730B840BBA0B7D\r
+:101E4000EE1F88F7E095089504D06894B11112C18F\r
+:101E50000895F5D088F09F5790F0B92F9927B75182\r
+:101E6000A0F0D1F0660F771F881F991F1AF0BA955E\r
+:101E7000C9F712C0B13081F0FCD0B1E00895F9C0CB\r
+:101E8000672F782F8827B85F39F0B93FCCF3869554\r
+:101E900077956795B395D9F73EF4909580957095B1\r
+:101EA00061957F4F8F4F9F4F0895E89409C097FB2E\r
+:101EB0003EF490958095709561957F4F8F4F9F4F21\r
+:101EC0009923A9F0F92F96E9BB279395F695879565\r
+:101ED00077956795B795F111F8CFFAF4BB0F11F428\r
+:101EE00060FF1BC06F5F7F4F8F4F9F4F16C08823CF\r
+:101EF00011F096E911C0772321F09EE8872F762F05\r
+:101F000005C0662371F096E8862F70E060E02AF045\r
+:101F10009A95660F771F881FDAF7880F9695879531\r
+:101F200097F90895990F0008550FAA0BE0E8FEEF06\r
+:101F300016161706E807F907C0F012161306E4078D\r
+:101F4000F50798F0621B730B840B950B39F40A2686\r
+:101F500061F0232B242B252B21F408950A2609F464\r
+:101F6000A140A6958FEF811D811D089597F99F6768\r
+:101F700080E870E060E008959FEF80EC0895002411\r
+:101F80000A941616170618060906089500240A94DE\r
+:101F900012161306140605060895EECF50D0E8F386\r
+:101FA000E894E0E0BB279F57F0F02AED3FE049ECD2\r
+:101FB00006C0EE0FBB0F661F771F881F28F0B23ACE\r
+:101FC00062077307840728F0B25A620B730B840B05\r
+:101FD000E3959A9572F7803830F49A95BB0F661F97\r
+:101FE000771F881FD2F79048BAC0092E0394000CBF\r
+:101FF00011F4882352F0BB0F40F4BF2B11F460FFA3\r
+:1020000004C06F5F7F4F8F4F9F4F0895EF93E0FFA6\r
+:1020100006C0A2EA2AED3FE049EC5FEB53DEE5DFC4\r
+:102020000F90039401FC9058E4E5F0E0A4C057FD44\r
+:102030009058440F551F59F05F3F71F04795880F36\r
+:1020400097FB991F61F09F3F79F0879508951216CD\r
+:1020500013061406551FF2CF4695F1DF08C0161679\r
+:1020600017061806991FF1CF86957105610508942A\r
+:102070000895E894BB2766277727CB0197F9089541\r
+:1020800051DF08F48FEF08950BD0AFCF78DF28F041\r
+:102090007DDF18F0952309F069CF6ECF1124EACFC8\r
+:1020A000C6DFA0F3959FD1F3950F50E0551F629FB7\r
+:1020B000F001729FBB27F00DB11D639FAA27F00DA1\r
+:1020C000B11DAA1F649F6627B00DA11D661F829FC8\r
+:1020D0002227B00DA11D621F739FB00DA11D621FAD\r
+:1020E000839FA00D611D221F749F3327A00D611DCA\r
+:1020F000231F849F600D211D822F762F6A2F1124AC\r
+:102100009F5750408AF0E1F088234AF0EE0FFF1FFE\r
+:10211000BB1F661F771F881F91505040A9F79E3F35\r
+:10212000510570F023CFA6CF5F3FECF3983EDCF370\r
+:10213000869577956795B795F795E7959F5FC1F772\r
+:10214000FE2B880F911D9695879597F908959F937B\r
+:1021500025DF0F9007FCEE5F59CF9F3F31F0915084\r
+:1021600020F4879577956795B795880F911D96957B\r
+:10217000879597F908959F938F937F936F93FF931C\r
+:10218000EF939B01AC0180DFEF91FF9105D02F9180\r
+:102190003F914F915F9178CFDF93CF931F930F9330\r
+:1021A000FF92EF92DF927B018C01689405C0DA2EDA\r
+:1021B000EF0176DFFE01E894A591259135914591D7\r
+:1021C0005591AEF3EF017EDDFE019701A801DA948F\r
+:1021D00079F7DF90EF90FF900F911F91CF91DF91F2\r
+:1021E0000895052E97FB1EF400940E94081157FDD8\r
+:1021F00007D00E94101107FC03D04EF40C94081174\r
+:1022000050954095309521953F4F4F4F5F4F089522\r
+:1022100090958095709561957F4F8F4F9F4F089552\r
+:10222000A1E21A2EAA1BBB1BFD010DC0AA1FBB1FDA\r
+:10223000EE1FFF1FA217B307E407F50720F0A21B4C\r
+:10224000B30BE40BF50B661F771F881F991F1A94B9\r
+:1022500069F760957095809590959B01AC01BD01E3\r
+:10226000CF010895FC010590061621F00020D9F752\r
+:10227000C00108953197CF0108950F931F93CF9315\r
+:10228000DF93EC018B01009731F46115710519F4AE\r
+:1022900080E090E038C06EE070E081E090E00E9465\r
+:1022A0004512FC010097A1F380E883830115110515\r
+:1022B00071F01387028781E8838380915D0190919B\r
+:1022C0005E01892B21F4F0935E01E0935D0120977C\r
+:1022D000C9F0D187C08783818260838380915F0149\r
+:1022E00090916001892B71F4F0936001E0935F019C\r
+:1022F0008091610190916201892B21F4F093620138\r
+:10230000E0936101CF01DF91CF911F910F9108956B\r
+:102310000F931F93CF93DF93182F092FEB018B811E\r
+:1023200081FD03C08FEF9FEF20C082FF10C04E8160\r
+:102330005F812C813D81421753077CF4E881F9814C\r
+:102340009F012F5F3F4F39832883108306C0E885A4\r
+:10235000F985812F0995892B29F72E813F812F5FE0\r
+:102360003F4F3F832E83812F902FDF91CF911F917D\r
+:102370000F9108950F931F93CF93DF93E0915F0127\r
+:10238000F0916001238121FF1BC0EC0100E010E00F\r
+:10239000899160915F0170916001DB011896ED9168\r
+:1023A000FC911997882331F00995892B89F30FEF58\r
+:1023B0001FEFEECF8AE00995892B11F4C80102C006\r
+:1023C0008FEF9FEFDF91CF911F910F910895FA0149\r
+:1023D000AA27283051F1203181F1E8946F936E7F64\r
+:1023E0006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E055\r
+:1023F0003CD0670F781F891F9A1FA11D680F791F96\r
+:102400008A1F911DA11D6A0F711D811D911DA11DA6\r
+:1024100020D009F468943F912AE0269F11243019B6\r
+:10242000305D3193DEF6CF010895462F4770405D51\r
+:102430004193B3E00FD0C9F7F6CF462F4F70405D00\r
+:102440004A3318F0495D31FD4052419302D0A9F75B\r
+:10245000EACFB4E0A6959795879577956795BA9555\r
+:10246000C9F700976105710508959B01AC010A2E1B\r
+:1024700006945795479537952795BA95C9F7620FF2\r
+:10248000731F841F951FA01D08950F931F93CF9353\r
+:10249000DF93869F8001879F100D969F100D11245A\r
+:1024A000C8010E946112EC01009729F0A80160E0C8\r
+:1024B00070E00E948813CE01DF91CF911F910F91A0\r
+:1024C0000895CF93DF938230910510F482E090E07D\r
+:1024D000E0916501F091660120E030E0A0E0B0E01D\r
+:1024E000309739F14081518148175907B8F04817A2\r
+:1024F000590771F482819381109729F013969C9368\r
+:102500008E9312972CC0909366018093650127C02B\r
+:102510002115310531F04217530718F0A901DB01ED\r
+:1025200001C0EF019A01BD01DF010280F381E02DBE\r
+:10253000D7CF21153105F9F0281B390B243031058F\r
+:1025400080F48A819B816115710521F0FB019383E1\r
+:10255000828304C09093660180936501FE013296E8\r
+:1025600044C0FE01E20FF31F819391932250310981\r
+:10257000398328833AC02091630130916401232B71\r
+:1025800041F420916A0030916B00309364012093F4\r
+:10259000630120916800309169002115310541F4F3\r
+:1025A0002DB73EB740916C0050916D00241B350B48\r
+:1025B000E0916301F0916401E217F307A0F42E1B90\r
+:1025C0003F0B2817390778F0AC014E5F5F4F241797\r
+:1025D000350748F04E0F5F1F50936401409363012D\r
+:1025E0008193919302C0E0E0F0E0CF01DF91CF91C1\r
+:1025F0000895CF93DF93009709F487C0FC013297C9\r
+:1026000013821282C0916501D0916601209781F4F6\r
+:1026100020813181280F391F8091630190916401DD\r
+:102620008217930779F5F0936401E09363016DC01D\r
+:10263000DE0120E030E0AE17BF0750F412964D9156\r
+:102640005C9113979D014115510509F1DA01F3CF12\r
+:10265000B383A28340815181840F951F8A179B0702\r
+:1026600071F48D919C911197840F951F029691831F\r
+:10267000808312968D919C91139793838283211569\r
+:10268000310529F4F0936601E09365013EC0D9015C\r
+:102690001396FC93EE9312974D915D91A40FB51F85\r
+:1026A000EA17FB0779F480819181840F951F0296C8\r
+:1026B000D90111969C938E938281938113969C935A\r
+:1026C0008E931297E0E0F0E08A819B81009719F0E9\r
+:1026D000FE01EC01F9CFCE01029628813981820FEB\r
+:1026E000931F20916301309164012817390769F421\r
+:1026F000309729F4109266011092650102C013828E\r
+:102700001282D0936401C0936301DF91CF91089549\r
+:10271000DC0101C06D9341505040E0F70895F894FA\r
+:02272000FFCFE9\r
+:1027220000800080008000800000670120000D0A08\r
+:0827320053746172740D000084\r
 :00000001FF\r