/Designs/STOPWATCH02A/SW/main.c
1,6 → 1,5
#include "main.h"
 
unsigned int position;
unsigned int32 section[4];
unsigned int32 time; // pocitadlo preteceni casovace
 
22,11 → 21,20
 
#include <lcd.c>
 
#define BUTTON1 PIN_D0
#define BUTTON2 PIN_D1
#define BUTTON3 PIN_D2
#define BUTTON1 PIN_D0
#define BUTTON2 PIN_D1
#define BUTTON3 PIN_D2
#define BUTTON4 PIN_D3
 
#define START1 PIN_B0
#define STOP1 PIN_B1
#define START2 PIN_B2
#define STOP2 PIN_B3
#define START3 PIN_B4
#define STOP3 PIN_B5
#define START4 PIN_B6
#define STOP4 PIN_B7
 
#define BEEPER PIN_C0
 
unsigned int32 run;
53,7 → 61,7
lcd_gotoxy(5,2);
Output_toggle(PIN_A0);
delay_ms(100);
printf(lcd_putc,"%d %d %d %d",bit_test(input_b(),0), bit_test(input_b(),1), bit_test(input_b(),2), bit_test(input_b(),3));
printf(lcd_putc,"%x",input_b());
}
}
void send_measuring()
63,10 → 71,6
 
void main()
{
unsigned int8 last, input;
unsigned int16 timer;
int exception;
 
setup_adc_ports(NO_ANALOGS|VSS_VDD);
port_b_pullups(TRUE);
setup_adc(ADC_OFF);
95,7 → 99,7
lcd_gotoxy(1,2);
printf(lcd_putc,"TEST");
 
while(!usb_cdc_connected()) if(!input(BUTTON1)) test_mode();
while(!usb_cdc_connected()) if(!input(BUTTON1)) test_mode(); // pockej nez se pripoji seriovy port PC
lcd_gotoxy(1,1);
printf(lcd_putc,"\f PC connected...");
106,41 → 110,16
{
run++;
printf(lcd_putc,"\f\nSTART");
section[0]=0;
section[1]=0;
section[2]=0;
section[3]=0;
last!=input_b();
while(input(BUTTON1)); // ceka na zmacknuti startovaciho tlacitka
printf(lcd_putc,"\f\n STOP"); //
 
while(input(BUTTON1));
printf(lcd_putc,"\f\n STOP");
while((!input(START1)) && (input(BUTTON2))); // cekame na tlacitko stop nebo na preruseni paprsku
time = 0;
set_timer0(0);
position = 0;
exception = 0;
 
while((position < 4) && (input(BUTTON2))) // cekame na tlacitko stop nebo na preruseni vsech paprsku
{
if(last!=(input=input_b())) // pri preruseni nektereho z paprsku zjistime ktery to byl
{
timer=get_timer0();
if(bit_test(last ^ input, position))section[position] = (time << 16) + timer; // kontroluje, jestli jsou paprsky preruseny ve spravnem poradi.
else exception=INORDER;
time=0;
set_timer0(0);
position++;
}
last=input_b();
}
if (exception == INORDER)
{
printf(lcd_putc,"\fInorder! Send?");
lcd_gotoxy(1,2);
printf(lcd_putc,"YES NO");
While(input(BUTTON1) && input(BUTTON4));
if(!input(BUTTON1)) send_measuring();
if(!input(BUTTON4)) continue;
}
else send_measuring();
while((input(STOP1)) && (input(BUTTON2)))
section[0] = (time << 16) + get_timer0();
send_measuring();
}
}
/Designs/STOPWATCH02A/SW/main.hex
1,12 → 1,12
:020000040000FA
:0400000042EF0CF0CF
:04000000A8EF0BF06A
:08000800056ED8CF06F0E0CF31
:1000100007F00001E9CF0DF0EACF08F0E1CF09F0D9
:10002000E2CF0AF0D9CF0BF0DACF0CF0F3CF14F017
:10003000F4CF15F0FACF16F000C00FF001C010F0A9
:1000400002C011F003C012F004C013F0F2AA2CEFAA
:1000500000F0F2B4E7EF01F0A0AA32EF00F0A1BA8D
:10006000F2EF08F00FC000F010C001F011C002F074
:1000500000F0F2B4BCEF01F0A0AA32EF00F0A1BAB8
:10006000C7EF08F00FC000F010C001F011C002F09F
:1000700012C003F013C004F00DC0E9FF08C0EAFF8E
:10008000088E09C0E1FF0AC0E2FF0BC0D9FF0CC017
:10009000DAFF14C0F3FF15C0F4FF16C0FAFF0550D5
55,389 → 55,357
:10034000F7220900F5500EBEF28E12000C0A53542B
:1003500041525400F2CF0EF0F29EF76A6E0FF66E25
:10036000030EF7220900F5500EBEF28E12000C0AA1
:1003700020202053544F5000F2CF0EF0F29EF76A27
:10038000920FF66E030EF7220900F5500EBEF28EA4
:1003900012000C496E6F72646572212053656E64A1
:1003A0003F00F2CF0EF0F29EF76ABC0FF66E030E1E
:1003B000F7220900F5500EBEF28E12005945532067
:1003C000202020202020202020204E4F0000010E41
:1003D0002A26D8B02B2AD8B42C2AD8B42D2AF294A5
:1003E00032EF00F06D92699468A402D06894FCD753
:1003F000FDEF08F0400E0401016F040E036F180EAC
:10040000026F880E006F046B040E076F580E066FA4
:100410000001000C70A002D0EDDF7090689A06EF2A
:1004200009F06A6A68920CEF09F0C851CA03F3CF69
:1004300001F0F4CF00F0CB03F3500026C951CA03FA
:10044000F3500020026E000C036AC251700FE96E77
:100450000F0E0320EA6EEF6AC96BC2C0C8F0CB6B07
:10046000080ECA6FE2DF01C0E9FF040E0224EA6E43
:10047000EF6AC96BC2C0C8F0CB6B080ECA6FD5DF7C
:1004800002C0C4F001C0C3F0040EC327000EC42391
:10049000C3C0E9FF040EC425EA6EEF6A000C010E2A
:1004A000C16FC1510F0805E3C1C0C2F0CDDFC12B40
:1004B000F8D7000C436A426A250E416E800E406EEA
:1004C000446A456A080E466E966B9591486A476A7B
:1004D000916B9291000CB76BB75101080AE3036A64
:1004E000B7513E0FE96E000E0320EA6EEF6AB72B9C
:1004F000F3D7E0DF336A010E346E326A000C68967F
:1005000000D000D000D0000C6A6A686A9F0E6B6E43
:100510003D0E696E6E6AC3DFDEDF160E706E68A672
:1005200002D0EDDFFCD76D9865DF030E396E12EF58
:1005300009F0698468986D8218EF09F0689C1EEFD5
:1005400009F0BCC03AF0000CFF0E3A6E000CBA6B1A
:100550003D5237E0BA513F0834E3355005E0020A16
:100560000DE0010A15E01ED0036A3C50F2CFBCF04A
:10057000F29EFADDBCBFF28EBB6F14D0036A3C5012
:10058000F2CFBCF0F29E40DEBCBFF28EBB6F0AD051
:10059000036A3C50F2CFBCF0F29E25DEBCBFF28E67
:1005A000BB6F00D03C2A3D06BA51BA2B580F036AE4
:1005B000D8B0032AE96E040E0324EA6EBBC0EFFF35
:1005C000C7D73D5204E1BA51400801E0326ABAC0CF
:1005D000BCF0B7DF000C3C6A356A04011B51010A0C
:1005E000000107E0030A0AE0010A0BE0220A20E00A
:1005F0003AD0120E3D6E030E356E37D0430E3D6E6F
:1006000034D0020E356E036A04011A51360FE96EBA
:10061000000E0320EA6EEFCF3CF0036A3C50F2CFAD
:10062000B9F0F29E0001F0DDB9BFF28E3D6E1DD033
:10063000036A04011A51F2CFB9F0F29E0001C7DD3E
:10064000B9BFF28E3C6E3C3C01D00BD0036A3C50EB
:10065000F2CFB9F0F29E88DDB9BFF28E3D6E05D0C3
:1006600002D072DF0ED070DF0CD004011F5305E101
:100670003D501E5D02E21EC43DF0010E326E0001CF
:1006800066DF81EF04F0B95304E1040E396E07DF31
:10069000E7D0050E396E040EBC6F980EBB6F010ECD
:1006A000BA6FBA510F08D8A0DBD0BAC0C2F0CCDE06
:1006B000BD6B036ABA51F2CFC1F0F29E15DDC1BF26
:1006C000F28EFF0863E0040EBD6FD890BA35036A5E
:1006D000F2CFC1F0F29E30DD0900F5CF03F0C1BFCB
:1006E000F28EBE6F03C0BFF0C96BBAC0C8F0CB6B4F
:1006F000080ECA6F9ADE01C0C1F0010E0124016E1E
:10070000000E0220036E01C0E9FF040E0324EA6E0E
:10071000BEC0EFFFC96BBAC0C8F0CB6B080ECA6F82
:1007200084DE01C0C1F0020E0124016E000E022021
:10073000036E01C0E9FF040E0324EA6EBCC0ECFFA7
:10074000ED52BBC0EFFFD890BA35036AF2CFC1F0CB
:10075000F29EF2DC0900F5CF03F0C1BFF28EBB2799
:100760000350BC23880EC06FBFB1C081BFB3C0832C
:10077000C96BBAC0C8F0CB6B080ECA6F56DE01C099
:10078000E9FF040E0224EA6EC0C0EFFF036ABA510B
:10079000F2CFC1F0F29E98DCC1BFF28EFF0845E0B7
:1007A000BD83C96BBAC0C8F0CB6B080ECA6F3DDE03
:1007B00002C0C2F001C0C1F0040EC127000EC22366
:1007C000020EC125016E000EC221036E01C0E9FFB9
:1007D000040E0324EA6EBCC0ECFFED52BBC0EFFF79
:1007E000D890BA35036AF2CFC1F0F29E8DDC0900D1
:1007F000F5CF03F0C1BFF28EBB270350BC23C96BFA
:10080000BAC0C8F0CB6B080ECA6F0FDE02C0C2F0D0
:1008100001C0C1F0040EC127000EC223C1C0E9FF10
:10082000040EC225EA6E400EEF6EBD51060802E1CD
:100830000E0EBD6F036ABA51F2CFC1F0F29E44DCD6
:10084000C1BFF28E0108D8A4BD89036ABA51700FE6
:10085000E96E0F0E0320EA6EBDC0EFFFBA2B21D761
:100860007BEF04F00401195100010DE0010A14E0CE
:10087000020A1EE0060A27E0030A2CE00E0A2BE01B
:10088000010A2FE03CD034C058F40401596B020E29
:100890000001BC6F56DE35D004011A2D06D0010EC2
:1008A00034160001BC6B4DDE02D000014DDE29D0B4
:1008B00004011A2D05D034820001BC6B42DE02D047
:1008C000000142DE1ED0020E326E1AC43BF0BC6B39
:1008D00038DE17D080D633C058F4010EBC6F31DE3D
:1008E00010D004011A51010808E31AC433F01AC4E5
:1008F000B9F00001C8D6BC6B24DE000102D024DEB2
:1009000000D01CEF06F033C0B9F00401195100010A
:1009100005E00A0A0BE0010A2BE03CD00401586B09
:10092000596B020E0001BC6F0CDE36D0B9531EE0CD
:10093000010EB95D036AF2CFBAF0F29E3FDCBABF96
:10094000F28E016E04011C5DD8A002D000010ED011
:10095000036A1C513E0FE96E000E0320EA6EEFCFD2
:1009600058F4010E0001BC6FECDD01D0EDDD14D0B8
:10097000B9530EE0036A04011C513E0FE96E000EEC
:100980000320EA6E1AC4EFFF0001BC6BDADD01D070
:10099000DBDD02D0D9DD00D01CEF06F0BA91B9BF83
:1009A000BA81B99FBAA111D0036AB951F2CFBBF095
:1009B000F29E64EC00F0BBBFF28EFF0802E1000E75
:1009C00001D0010E016E11D010D0036AB951F2CFDF
:1009D000BBF0F29E74EC00F0BBBFF28EFF0802E1A8
:1009E000000E01D0010E016E00D088EF05F0BA9123
:1009F000B9BFBA81B99FBAA117D0C96BB9C0C8F045
:100A0000CB6B080ECA6F11DD02C0BCF001C0BBF099
:100A1000040EBB27000EBC23BBC0E9FF040EBC259F
:100A2000EA6E880EEF6E0DD0C96BB9C0C8F0CB6B03
:100A3000080ECA6FFADC01C0E9FF040E0224EA6E58
:100A4000EF6A97EF05F0BA91B9BFBA81B99FBAA121
:100A500017D0C96BB9C0C8F0CB6B080ECA6FE5DC04
:100A600002C0BCF001C0BBF0040EBB27000EBC23CB
:100A7000BBC0E9FF040EBC25EA6E840EEF6E0ED0FB
:100A8000C96BB9C0C8F0CB6B080ECA6FCEDC01C011
:100A9000E9FF040E0224EA6E840EEF6E9DEF05F06E
:100AA000BA91B9BFBA81B99FBAA117D0C96BB9C001
:100AB000C8F0CB6B080ECA6FB8DC02C0BDF001C035
:100AC000BCF0040EBC27000EBD23BCC0E9FF040E21
:100AD000BD25EA6EEFCFBBF00ED0C96BB9C0C8F030
:100AE000CB6B080ECA6FA1DC01C0E9FF040E022423
:100AF000EA6EEFCFBBF0BBAF02D0BBB502D0000EA9
:100B000001D0010E016EA7EF05F01CC4B9F046D765
:100B1000015229E004011951010A000105E0020A0D
:100B200009E0030A0DE01DD01CC4B9F060D7BC6B0E
:100B300008DD19D01CC4B9F086D7BC6B02DD13D018
:100B40000401586B596B1CC4B9F00001A9D70152BC
:100B500004E0010E0401586F0001020EBC6FF1DCCD
:100B600002D0F2DC00D01CEF06F0FE0E3A6E000C54
:100B700004011C2D01D002D01C5348E11951000181
:100B80000BE0010A0DE0210A1CE0010A1FE0030A44
:100B90002EE0010A31E037D0010E986FE6DF35D044
:100BA000040EEA6E580EE96EE26A490EE16E080E16
:100BB000016EE6CFEEFF012EFCD71EC4BCF0C1DCF7
:100BC00024D0020E986F9581D0DF1FD0040EEA6EFC
:100BD000580EE96EE26A400EE16E070E016EE6CF36
:100BE000EEFF012EFCD7070EBC6FABDC0ED01AC493
:100BF00096F0BC6BA6DC09D01AC448F01BC447F0C1
:100C0000BC6B9FDC02D0A0DC00D0040100011CEF13
:100C100006F0326A040118517F0B000107E0010A57
:100C200006E0030A05E0230A04E004D01BD66BD6D5
:100C30006CD79ED789DC00D040EF08F0C96BB9C0F3
:100C4000C8F0CB6B080ECA6F15EC02F001C0E9FFCB
:100C5000040E0224EA6EEFCFBBF0BA51020806E19F
:100C6000BBAD02D0BA6B02D0010EBA6FBA51030805
:100C70001AE1840EBB6FC96BB9C0C8F0CB6B080E0C
:100C8000CA6F15EC02F002C0BFF001C0BEF0040E46
:100C9000BE27000EBF23BEC0E9FF040EBF25EA6ECB
:100CA000840EEF6E07D0BA2D03D0C80EBB6F02D0F2
:100CB000880EBB6FD890B935036AF2CFBEF0F29EB2
:100CC0009CEC00F00900F5CF03F0BEBFF28EBC6FC4
:100CD00003C0BDF0C96BB9C0C8F0CB6B080ECA6FBA
:100CE00015EC02F001C0BEF0010E0124016E000EF1
:100CF0000220036E01C0E9FF040E0324EA6EBCC0AB
:100D0000EFFFBDB1BB81BDB3BB83C96BB9C0C8F038
:100D1000CB6B080ECA6F15EC02F001C0E9FF040EA0
:100D20000224EA6EBBC0EFFF000C036AC751700FCC
:100D3000E96E0F0E0320EA6EEF5219E0C96BC7C0CF
:100D4000C8F0CB6B080ECA6F15EC02F002C0C9F0F8
:100D500001C0C8F0040EC827000EC923C8C0E9FFAF
:100D6000040EC925EA6EEFCFC8F0C8AF02D0000E5E
:100D700001D0010E016E000CC2C0C7F0D6DF0152D7
:100D8000D8B47CD0C96BC2C0C8F0CB6B080ECA6F98
:100D900015EC02F002C0C8F001C0C7F0040EC7276E
:100DA000000EC823010EC725016E000EC821036E78
:100DB00001C0E9FF040E0324EA6EC3C0EFFFC55172
:100DC00002081EE1C96BC2C0C8F0CB6B080ECA6F27
:100DD00015EC02F002C0C8F001C0C7F0040EC7272E
:100DE000000EC823C7C0E9FF040EC825EA6EEFCF86
:100DF000C6F0C6AD02D0C56B02D0010EC56F18D0CB
:100E0000C551040815E1C96BC2C0C8F0CB6B080E10
:100E1000CA6F15EC02F001C0E9FF040E0224EA6E6D
:100E2000EFCFC6F0C6AD03D0010EC56F01D0C56BC4
:100E3000C52D03D0C80EC66F02D0880EC66FC4B1D0
:100E4000C681C4B3C683C96BC2C0C8F0CB6B080EE1
:100E5000CA6F15EC02F002C0C8F001C0C7F0040E62
:100E6000C727000EC823C7C0E9FF040EC825EA6ED5
:100E7000C6C0EFFF010E016E03D000D0000E016E60
:100E8000000C9851010A03E0030A13E024D0EA6A37
:100E9000490EE96E040EE26E180EE16E080E016E48
:100EA000E6CFEEFF012EFCD7BC6BA1EC02F0986BF5
:100EB00016D0EA6A400EE96E040EE26E180EE16E7C
:100EC000070E016EE6CFEEFF012EFCD7986BBC6BD0
:100ED000A1EC02F004D0986BFAEC01F000D09BEF8B
:100EE00007F0C96BBAC0C8F0CB6B080ECA6F15EC1F
:100EF00002F002C0BCF001C0BBF0010E0124016E83
:100F0000000E0220036E01C0E9FF040E0324EA6E06
:100F1000036AEFCF01F003C002F094EF07F0928173
:100F2000946B020EBA6FDDD701C093F0A0EF07F00B
:100F3000B95302E1A6D704D0B951020801E1EFD7B5
:100F4000000CBAC06EFFBA5303E0040E396E02D033
:100F5000020E396EB1EF07F0336A326A3BC0BAF065
:100F6000F0D720EF08F0BAC0C7F0DFDE015246E04C
:100F7000C96BBAC0C8F0CB6B080ECA6F15EC02F093
:100F800002C0C3F001C0C2F0040EC227000EC3238A
:100F9000020EC225016E000EC321036E01C0E9FFDF
:100FA000040E0324EA6EECCF03F0ED52EFCFC0F055
:100FB00003C0C1F0C1C0EAFFC0C0E9FFBCC0E2FF8E
:100FC000BBC0E1FFBEC002F0BDC001F0015202E0B3
:100FD000022A02D0025206E0E6CFEEFF012EFCD735
:100FE000022EFAD7BAC0C2F0BEC0C4F0BDC0C3F072
:100FF000BFC0C5F0C1DE015003D000D0000E016EAD
:10100000000C020EBA6FBC6B510EBB6FBE6B91C071
:10101000BDF0020EBF6FA7DF91C097F0916B000C7F
:10102000915301E0EEDF25EF08F0B9530AE1322CCD
:1010300003D0A7EC02F004D03250020801E18CD7B3
:1010400004D0B951020801E1EBD7000C6C30B76F46
:10105000B733B7331F0EB7176C5240E1040100518C
:101060003C0B0001B86F430E0401001700017FEC38
:1010700002F0B85134081BE10401046B0001C9D52A
:101080006D983A3C05D0B96B030EBA6FD7DD0ED020
:10109000B96B020EBA6FD2DD3A50FE0807E0C26BA0
:1010A000C46B3AC0C3F0040EC56F66DE16D0B851EB
:1010B000040813E1B96B3CDFB96B020EBA6FBEDDF9
:1010C0003A50FE080AE03A3C01D007D0C26BC46B2C
:1010D0003AC0C3F0010EC56F4FDE82D06C500408D9
:1010E00018E1430E0401041700017FEC02F0FF0E2B
:1010F0003A6EB96B9ADF3A3C01D008D0C26BC46B30
:101100003AC0C3F0020EC56F37DE02D0FAEC01F030
:1011100067D06CB42CD0C96BB7C0C8F0CB6B080ECD
:10112000CA6F15EC02F001C0B9F001C001F0040E65
:101130000224036E01C0B9F0BA6FC96BB7C0C8F022
:10114000CB6B080ECA6F15EC02F001C0E9FF040E6C
:101150000224EA6EEF50430BBAC0EAFFB9C0E9FFC0
:10116000EF6E7FEC02F0B7C0B9F0E2DE39D0C96BA8
:10117000B7C0C8F0CB6B080ECA6F15EC02F002C006
:10118000BAF001C0B9F0040EB927000EBA23B9C0F5
:1011900001F0040EBA25036EB9C0B9F0BA6FC96B7D
:1011A000B7C0C8F0CB6B080ECA6F15EC02F002C0D6
:1011B000BCF001C0BBF0040EBB27000EBC23BBC0BB
:1011C000E9FF040EBC25EA6EEF50430BBAC0EAFFFC
:1011D000B9C0E9FFEF6E7FEC02F0B7C0B9F025DFD0
:1011E00024EF09F0395201E135D0685233E068A4A8
:1011F00004D069A402D0F2EF01F06DA201D02AD090
:1012000068AA04D069AA02D00AEF02F068A204D04A
:1012100069A202D011EF02F068A004D069A002D048
:1012200084EF02F068A804D069A802D099EF02F018
:1012300068AC04D069AC02D09EEF02F0B66B68A631
:1012400004D069A602D002D701D004D0B651B62B83
:101250000308F5E2A19A32EF00F0EA6AA90EE96EFE
:10126000EF500EE00F0E016E006A002EFED7012E29
:10127000FBD78F0E006E002EFED70000EF2EF2D7A8
:10128000000CB0B102D08C9801D08C889598B0B386
:1012900002D08C9A01D08C8A959AB0B502D08C9CE1
:1012A00001D08C8C959CB0B702D08C9E01D08C8ED6
:1012B000959E00008D809690070E006E002EFED742
:1012C00000D08D909690000CB16B9588000E83B87D
:1012D000010EB113958A000E83BA010E006ED890EC
:1012E00000360050B113958C000E83BC010E006EC9
:1012F00000360036FC0E00160050B113958E000E1D
:1013000083BE010E006E003600360036F80E001661
:101310000050B113B1C001F0000C9588958A958CEE
:10132000958E8D84969400008D8096900000CCDF81
:1013300001C0B0F08D90969000008D809690030EC5
:10134000006E002EFED700D0BFDF01C0AFF08D9041
:1013500096909598959A959C959EB039006EF00E52
:1013600000160050AF11016EB9EF09F08D92969200
:10137000D4D701C0AFF001BEFBD7AD5302E18D92CF
:1013800001D08D82969200008D94969400008D90ED
:101390009690AE39AF6F0F0EAF17AFC0B0F071DFE0
:1013A000AE510F0BAF6FB06F6CDF000C9598959A34
:1013B000959C959E9690969296948D9296928D94E9
:1013C00096948D9096900F0EA96F47DF010E9E6F39
:1013D0009E51030808E3030EB06F53DF050EA96F9B
:1013E0003CDF9E2BF5D7020EB06F4BDF9E6B9E51FC
:1013F00003080FE3036A9E51F2CF9FF0F29E55EC73
:1014000000F09FBFF28E9F6FAD6BAE6FAFDF9E2B74
:10141000EED787EF0CF06D6A696A080E6F6E945014
:101420003009946E396A186AF2BE188EF29E6BEC1F
:1014300002F018BEF28E1EEF0AF0EDD744EF0AF06C
:10144000186AF2BE188EF29E6BEC02F018BEF28E95
:101450006D6A140E6F6E696A6D86010E396E34EF17
:101460000AF06DB601D0ECD7392C0BD06DBA09D08B
:10147000686A696AA08AC00EF212110E696E020EC5
:10148000396E45EF0AF0D9D7ECD739500208FCE1A4
:1014900088EF0CF0AA2D01D003D0400EAB6F01D025
:1014A000AB6B010EA95DAB27AB518009AC6FAD6B87
:1014B000AE6F5CDF000CA8510C0A05E0060A0BE0D9
:1014C000020A0FE013D0AD6B010EAE6F4FDF020EBC
:1014D000A96FC3DE11D0010EA96F020EAA6FDADF69
:1014E0000BD0AD6B100EAE6F41DF06D0010EAD6FAD
:1014F000A8C0AEF03BDF00D0000CA951016AA85D86
:1015000003E2A8C000F00CD0006A080EAA6FA8374A
:101510000036A951005CD8B0006E0136AA2FF7D76B
:10152000000C200EA3A9300EA46FA2C000F0A2AF41
:1015300007D0001E002A00C0A2F02D0EA46FA38FBA
:101540000150A2C0A8F0640EA96FD7DF00C0A2F0BE
:10155000300E0124A56FA2C0A8F00A0EA96FCDDF3E
:10156000300E0024A76F300E0124A66FA4C000F037
:10157000A3A702D0A3AFA395A3B90BD0A3AF22D04A
:10158000A3B520D000C0A5F0A3B31CD000C0A6F026
:1015900019D0300EA55D16E100C0A5F0200EA46F95
:1015A000A3A704D0A395A383A3AFA393300EA65DF6
:1015B00009E100C0A6F0200EA56FA3A7F7D7A3935B
:1015C000A3AFA391A3A503D0A4C0A8F074DFA3A3E5
:1015D00003D0A5C0A8F06FDFA3A103D0A6C0A8F0D8
:1015E0006ADFA7C0A8F067DF000C9E6B9E511EEC5F
:1015F00001F09E2B006EA86F5EDF0D0E9E5DF6E182
:10160000010EA96F020EAA6F45DF450EA86F53DFCA
:10161000530EA86F50DF430EA86F4DDF958083A057
:1016200040D0050EA96F020EAA6F34DF9290897028
:10163000640EA96F12DEFF0E936E000E81B0010ED4
:101640009E6FFF0E936E000E81B2010E9F6FFF0E14
:10165000936E000E81B4010EA06FFF0E936E000E0C
:1016600081B6010EA16F9EC0A2F01F0EA36F59DFBD
:10167000200EA86F20DF9FC0A2F01F0EA36F51DFC6
:10168000200EA86F18DFA0C0A2F01F0EA36F49DFC5
:10169000200EA86F10DFA1C0A2F01F0EA36F41DFC4
:1016A000BDD7D3EF0CF0010EA15F0CE3EA6AA10EE7
:1016B000E96EEF5007E0020E006E002EFED700D05C
:1016C000EF2EF9D76EEF0BF09E519F110EE0949024
:1016D0008B70040EA06FC80EA16FE5D7A02FFBD7AB
:1016E0009E51D8B49F079E07EFD7E7EF0CF0A29169
:1016F000F2BEA281F29E91513F0802E23F0E916F2D
:101700009151912B036A510FE96E000E0320EA6E8E
:10171000A1C0EFFFF29EA2B1F28E186AF2BE188E3F
:10172000F29E020EC76F95EC06F018BEF28E0152C3
:1017300007E0186AF2BE188EF29E63DC18BEF28EC5
:10174000BCEF0BF091513F0814E2186AF2BE188EFC
:10175000F29E020EC76F95EC06F018BEF28E015293
:1017600007E0186AF2BE188EF29E4BDC18BEF28EAD
:10177000E9D7A0C0A1F0BBD7000C01509EC0A8F0D3
:10178000640EA96FBADE00C09EF00150300E07E172
:101790009FA30CD09FB70AD09FB9200E03D09F976C
:1017A0009F999F81012601C0A0F0CCDF9EC0A8F0C8
:1017B0000A0EA96FA2DE00C09EF00150300E06E1B5
:1017C0009FB708D09FA106D09FB9200E012601C067
:1017D000A0F0B8DF300E9E279EC0A0F0B3DF000C53
:1017E0000A0EA06FAFDF0D0EA06FACDF200EA06F52
:1017F000A9DF020E9E6F200EA06FA4DF9E2FFBD7E5
:101800002EC09EF0130E9F6FB8DF200EA06F9ADFE0
:10181000020E9E6F200EA06F95DF9E2FFBD71AC081
:101820009EF0130E9F6FA9DF200EA06F8BDF020EBC
:101830009E6F200EA06F86DF9E2FFBD71EC09EF0EE
:10184000130E9F6F9ADF200EA06F7CDF020E9E6F3B
:10185000200EA06F77DF9E2FFBD722C09EF0130EC5
:101860009F6F8BDF200EA06F6DDF020E9E6F200E2C
:10187000A06F68DF9E2FFBD726C09EF0130E9F6FD0
:101880007CDF000CF86AD09E088EEA6AE96AB886A6
:10189000E10EAF6E040EB06EA60EAC6E900EAB6E87
:1018A000C150C00B0F09C16E070EB46E366A040E2C
:1018B000376E0C0E386E396A3D6A916B986BC15069
:1018C000C00B0F09C16EF19EC290B098C69A949E4B
:1018D00093809392010EC66E000EC76ED190870E54
:1018E000D56ECD6A000ECA6E000ECB6EB16A070EC1
:1018F000B46E9250926E270E006E002EFED700D06E
:10190000B450A19CB56AF28AC00EF2124FD5BBD575
:10191000010EA96FAA6FBEDD9E6B9E5132EC01F0E5
:101920009E2B006EA86FC7DD0E0E9E5DF6E1010EC8
:10193000A96F020EAA6FAEDD9E6B9E5147EC01F0BF
:101940009E2B006EA86FB7DD0D0E9E5DF6E1040EB6
:101950009E6FFA0EA96F81DC9E2FFBD7010EA96F37
:10196000AA6F98DD9E6B9E515BEC01F09E2B006E82
:10197000A86FA1DD140E9E5DF6E1010EA96F020EA7
:10198000AA6F88DD9E6B9E5173EC01F09E2B006E5A
:10199000A86F91DD040E9E5DF6E195B105D09580AE
:1019A00083B001D022D6F9D7010EA96FAA6F72DDDC
:1019B0009E6B9E5183EC01F09E2B006EA86F7BDD29
:1019C000110E9E5DF6E19F6B0A0E9E6F7DD6316A09
:1019D000306A2F6A2E6A010E2E26D8B02F2AD8B46C
:1019E000302AD8B4312A9E6B9E5199EC01F09E2B7F
:1019F000006EA86F60DD070E9E5DF6E11D6A1C6A31
:101A00001B6A1A6A216A206A1F6A1E6A256A246A8A
:101A1000236A226A296A286A276A266AFF0E936E59
:101A20008150995D02E1000E00D0958083B0FDD712
:101A30009E6B9E51AAEC01F09E2B006EA86F3BDDC1
:101A4000090E9E5DF6E12D6A2C6A2B6A2A6AD76A16
:101A5000D66A196A9D6B1950030841E3958283A2E7
:101A60003ED0FF0E936E81CF9AF09A51995D32E08D
:101A7000D6509B6FD7CF9CF099519A199E6F006EEC
:101A80001950016E04E0D8900032012EFCD700A05E
:101A900018D01950040DF350036A1A0FE96E000EA6
:101AA0000320EA6EA16BA26B9B51A125EF6E9C51A6
:101AB000A221EC6E000E2A20EC6E000E2B20EC6EA4
:101AC00002D0010E9D6F2D6A2C6A2B6A2A6AD76A92
:101AD000D66A192AFF0E936E81CF99F0BCD79D2D3F
:101AE0002AD09E6B9E51BCEC01F09E2B006EA86F1D
:101AF000E2DC0F0E9E5DF6E1010EA96F020EAA6FE9
:101B0000C9DC9E6B9E51D1EC01F09E2B006EA86F3C
:101B1000D2DC100E9E5DF6E1958083A003D0958601
:101B200083B6FAD7958083B001D05ADE958683B606
:0C1B300001D051D701D054DE4ED7030085
:1003700020202053544F5000010E2926D8B02A2A9D
:10038000D8B42B2AD8B42C2AF29432EF00F06D9214
:10039000699468A402D06894FCD7D2EF08F0400EAC
:1003A0000401016F040E036F180E026F880E006FB8
:1003B000046B040E076F580E066F0001000C70A04E
:1003C00002D0EDDF7090689ADBEF08F06A6A6892FD
:1003D000E1EF08F0C251C403F3CF01F0F4CF00F015
:1003E000C503F3500026C351C403F3500020026E2E
:1003F000000C036ABC51700FE96E0F0E0320EA6E09
:10040000EF6AC36BBCC0C2F0C56B080EC46FE2DFFD
:1004100001C0E9FF040E0224EA6EEF6AC36BBCC0A0
:10042000C2F0C56B080EC46FD5DF02C0BEF001C0BC
:10043000BDF0040EBD27000EBE23BDC0E9FF040EB3
:10044000BE25EA6EEF6A000C010EBB6FBB510F08B0
:1004500005E3BBC0BCF0CDDFBB2BF8D7000C426A74
:10046000416A250E406E800E3F6E436A446A080E54
:10047000456E956B9491476A466A906B9191000C1A
:10048000B16BB15101080AE3036AB1513D0FE96E46
:10049000000E0320EA6EEF6AB12BF3D7E0DF326A79
:1004A000010E336E316A000C689600D000D000D087
:1004B000000C6A6A686A9F0E6B6E3D0E696E6E6A0A
:1004C000C3DFDEDF160E706E68A602D0EDDFFCD74C
:1004D0006D9865DF030E386EE7EF08F06984689861
:1004E0006D82EDEF08F0689CF3EF08F0B6C039F0CC
:1004F000000CFF0E396E000CB46B3C5237E0B45167
:100500003F0834E3345005E0020A0DE0010A15E02B
:100510001ED0036A3B50F2CFB6F0F29E25DEB6BF86
:10052000F28EB56F14D0036A3B50F2CFB6F0F29E54
:100530006BDEB6BFF28EB56F0AD0036A3B50F2CFC6
:10054000B6F0F29E50DEB6BFF28EB56F00D03B2AF9
:100550003C06B451B42B580F036AD8B0032AE96E95
:10056000040E0324EA6EB5C0EFFFC7D73C5204E186
:10057000B451400801E0316AB4C0B6F0B7DF000CF6
:100580003B6A346A04011B51010A000107E0030AB7
:100590000AE0010A0BE0220A20E03AD0120E3C6E7B
:1005A000030E346E37D0430E3C6E34D0020E346EE0
:1005B000036A04011A51350FE96E000E0320EA6E3A
:1005C000EFCF3BF0036A3B50F2CFB3F0F29E000155
:1005D0001BDEB3BFF28E3C6E1DD0036A04011A51BC
:1005E000F2CFB3F0F29E0001F2DDB3BFF28E3B6EAC
:1005F0003B3C01D00BD0036A3B50F2CFB3F0F29EEC
:10060000B3DDB3BFF28E3C6E05D002D072DF0ED0E8
:1006100070DF0CD004011F5305E13C501E5D02E267
:100620001EC43CF0010E316E000166DF56EF04F08F
:10063000B35304E1040E386E07DFE7D0050E386EC1
:10064000040EB66F980EB56F010EB46FB4510F085B
:10065000D8A0DBD0B4C0BCF0CCDEB76B036AB45119
:10066000F2CFBBF0F29E40DDBBBFF28EFF0863E02D
:10067000040EB76FD890B435036AF2CFBBF0F29E88
:100680005BDD0900F5CF03F0BBBFF28EB86F03C08E
:10069000B9F0C36BB4C0C2F0C56B080EC46F9ADE6C
:1006A00001C0BBF0010E0124016E000E0220036E9A
:1006B00001C0E9FF040E0324EA6EB8C0EFFFC36B6C
:1006C000B4C0C2F0C56B080EC46F84DE01C0BBF0BD
:1006D000020E0124016E000E0220036E01C0E9FF2C
:1006E000040E0324EA6EB6C0ECFFED52B5C0EFFF76
:1006F000D890B435036AF2CFBBF0F29E1DDD09003D
:10070000F5CF03F0BBBFF28EB5270350B623880E9A
:10071000BA6FB9B1BA81B9B3BA83C36BB4C0C2F00E
:10072000C56B080EC46F56DE01C0E9FF040E02243B
:10073000EA6EBAC0EFFF036AB451F2CFBBF0F29E8B
:10074000C3DCBBBFF28EFF0845E0B783C36BB4C008
:10075000C2F0C56B080EC46F3DDE02C0BCF001C024
:10076000BBF0040EBB27000EBC23020EBB25016E9E
:10077000000EBC21036E01C0E9FF040E0324EA6EE3
:10078000B6C0ECFFED52B5C0EFFFD890B435036AA8
:10079000F2CFBBF0F29EB8DC0900F5CF03F0BBBF8F
:1007A000F28EB5270350B623C36BB4C0C2F0C56B3D
:1007B000080EC46F0FDE02C0BCF001C0BBF0040E17
:1007C000BB27000EBC23BBC0E9FF040EBC25EA6EAC
:1007D000400EEF6EB751060802E10E0EB76F036AC6
:1007E000B451F2CFBBF0F29E6FDCBBBFF28E0108BA
:1007F000D8A4B789036AB451700FE96E0F0E0320B5
:10080000EA6EB7C0EFFFB42B21D750EF04F004011C
:10081000195100010DE0010A14E0020A1EE0060A67
:1008200027E0030A2CE00E0A2BE0010A2FE03CD05F
:1008300033C058F40401596B020E0001B66F56DE46
:1008400035D004011A2D06D0010E33160001B66B07
:100850004DDE02D000014DDE29D004011A2D05D055
:1008600033820001B66B42DE02D0000142DE1ED0B0
:10087000020E316E1AC43AF0B66B38DE17D080D64D
:1008800032C058F4010EB66F31DE10D004011A5197
:10089000010808E31AC432F01AC4B3F00001C8D644
:1008A000B66B24DE000102D024DE00D0F1EF05F0AB
:1008B00032C0B3F004011951000105E00A0A0BE04F
:1008C000010A2BE03CD00401586B596B020E000169
:1008D000B66F0CDE36D0B3531EE0010EB35D036A73
:1008E000F2CFB4F0F29E6ADCB4BFF28E016E040166
:1008F0001C5DD8A002D000010ED0036A1C513D0F30
:10090000E96E000E0320EA6EEFCF58F4010E0001ED
:10091000B66FECDD01D0EDDD14D0B3530EE0036A09
:1009200004011C513D0FE96E000E0320EA6E1AC44B
:10093000EFFF0001B66BDADD01D0DBDD02D0D9DDDF
:1009400000D0F1EF05F0B491B3BFB481B39FB4A16F
:1009500011D0036AB351F2CFB5F0F29E64EC00F00F
:10096000B5BFF28EFF0802E1000E01D0010E016E4C
:1009700011D010D0036AB351F2CFB5F0F29E74ECEF
:1009800000F0B5BFF28EFF0802E1000E01D0010EAB
:10099000016E00D05DEF05F0B491B3BFB481B39F99
:1009A000B4A117D0C36BB3C0C2F0C56B080EC46F3F
:1009B00011DD02C0B6F001C0B5F0040EB527000E7F
:1009C000B623B5C0E9FF040EB625EA6E880EEF6EB9
:1009D0000DD0C36BB3C0C2F0C56B080EC46FFADC98
:1009E00001C0E9FF040E0224EA6EEF6A6CEF05F025
:1009F000B491B3BFB481B39FB4A117D0C36BB3C0DC
:100A0000C2F0C56B080EC46FE5DC02C0B6F001C0D1
:100A1000B5F0040EB527000EB623B5C0E9FF040EED
:100A2000B625EA6E840EEF6E0ED0C36BB3C0C2F073
:100A3000C56B080EC46FCEDC01C0E9FF040E0224B2
:100A4000EA6E840EEF6E72EF05F0B491B3BFB4811D
:100A5000B39FB4A117D0C36BB3C0C2F0C56B080E6F
:100A6000C46FB8DC02C0B7F001C0B6F0040EB62700
:100A7000000EB723B6C0E9FF040EB725EA6EEFCF2C
:100A8000B5F00ED0C36BB3C0C2F0C56B080EC46F17
:100A9000A1DC01C0E9FF040E0224EA6EEFCFB5F03D
:100AA000B5AF02D0B5B502D0000E01D0010E016E77
:100AB0007CEF05F01CC4B3F046D7015229E00401D5
:100AC0001951010A000105E0020A09E0030A0DE0DC
:100AD0001DD01CC4B3F060D7B66B08DD19D01CC4A0
:100AE000B3F086D7B66B02DD13D00401586B596B97
:100AF0001CC4B3F00001A9D7015204E0010E0401A7
:100B0000586F0001020EB66FF1DC02D0F2DC00D0AB
:100B1000F1EF05F0FE0E396E000C04011C2D01D022
:100B200002D01C5348E1195100010BE0010A0DE00D
:100B3000210A1CE0010A1FE0030A2EE0010A31E04D
:100B400037D0010E976FE6DF35D0040EEA6E580EEF
:100B5000E96EE26A480EE16E080E016EE6CFEEFF26
:100B6000012EFCD71EC4B6F0C1DC24D0020E976F54
:100B70009481D0DF1FD0040EEA6E580EE96EE26A4F
:100B80003F0EE16E070E016EE6CFEEFF012EFCD7A1
:100B9000070EB66FABDC0ED01AC495F0B66BA6DCB0
:100BA00009D01AC447F01BC446F0B66B9FDC02D0D4
:100BB000A0DC00D004010001F1EF05F0316A04016E
:100BC00018517F0B000107E0010A06E0030A05E067
:100BD000230A04E004D01BD66BD66CD79ED789DCE1
:100BE00000D015EF08F0C36BB3C0C2F0C56B080EA0
:100BF000C46FEAEC01F001C0E9FF040E0224EA6EC2
:100C0000EFCFB5F0B451020806E1B5AD02D0B46B38
:100C100002D0010EB46FB45103081AE1840EB56F0F
:100C2000C36BB3C0C2F0C56B080EC46FEAEC01F031
:100C300002C0B9F001C0B8F0040EB827000EB92305
:100C4000B8C0E9FF040EB925EA6E840EEF6E07D036
:100C5000B42D03D0C80EB56F02D0880EB56FD890F2
:100C6000B335036AF2CFB8F0F29E9CEC00F00900B5
:100C7000F5CF03F0B8BFF28EB66F03C0B7F0C36B09
:100C8000B3C0C2F0C56B080EC46FEAEC01F001C03E
:100C9000B8F0010E0124016E000E0220036E01C0A7
:100CA000E9FF040E0324EA6EB6C0EFFFB7B1B581C9
:100CB000B7B3B583C36BB3C0C2F0C56B080EC46FC6
:100CC000EAEC01F001C0E9FF040E0224EA6EB5C0AF
:100CD000EFFF000C036AC151700FE96E0F0E032085
:100CE000EA6EEF5219E0C36BC1C0C2F0C56B080ECB
:100CF000C46FEAEC01F002C0C3F001C0C2F0040E00
:100D0000C227000EC323C2C0E9FF040EC325EA6E4A
:100D1000EFCFC2F0C2AF02D0000E01D0010E016EC3
:100D2000000CBCC0C1F0D6DF0152D8B47CD0C36B7C
:100D3000BCC0C2F0C56B080EC46FEAEC01F002C083
:100D4000C2F001C0C1F0040EC127000EC223010E83
:100D5000C125016E000EC221036E01C0E9FF040E21
:100D60000324EA6EBDC0EFFFBF5102081EE1C36B52
:100D7000BCC0C2F0C56B080EC46FEAEC01F002C043
:100D8000C2F001C0C1F0040EC127000EC223C1C0D1
:100D9000E9FF040EC225EA6EEFCFC0F0C0AD02D06D
:100DA000BF6B02D0010EBF6F18D0BF51040815E110
:100DB000C36BBCC0C2F0C56B080EC46FEAEC01F097
:100DC00001C0E9FF040E0224EA6EEFCFC0F0C0AD0F
:100DD00003D0010EBF6F01D0BF6BBF2D03D0C80E73
:100DE000C06F02D0880EC06FBEB1C081BEB3C083D9
:100DF000C36BBCC0C2F0C56B080EC46FEAEC01F057
:100E000002C0C2F001C0C1F0040EC127000EC2230F
:100E1000C1C0E9FF040EC225EA6EC0C0EFFF010E9B
:100E2000016E03D000D0000E016E000C9751010A34
:100E300003E0030A13E024D0EA6A480EE96E040EC8
:100E4000E26E180EE16E080E016EE6CFEEFF012E87
:100E5000FCD7B66B76EC02F0976B16D0EA6A3F0EC1
:100E6000E96E040EE26E180EE16E070E016EE6CF1B
:100E7000EEFF012EFCD7976BB66B76EC02F004D038
:100E8000976BCFEC01F000D070EF07F0C36BB4C0EC
:100E9000C2F0C56B080EC46FEAEC01F002C0B6F0F8
:100EA00001C0B5F0010E0124016E000E0220036E98
:100EB00001C0E9FF040E0324EA6E036AEFCF01F0DC
:100EC00003C002F069EF07F09181936B020EB46FDB
:100ED000DDD701C092F075EF07F0B35302E1A6D75A
:100EE00004D0B351020801E1EFD7000CB4C06EFF8B
:100EF000B45303E0040E386E02D0020E386E86EF53
:100F000007F0326A316A3AC0B4F0F0D7F5EF07F073
:100F1000B4C0C1F0DFDE015246E0C36BB4C0C2F022
:100F2000C56B080EC46FEAEC01F002C0BDF001C051
:100F3000BCF0040EBC27000EBD23020EBC25016EC2
:100F4000000EBD21036E01C0E9FF040E0324EA6E0A
:100F5000ECCF03F0ED52EFCFBAF003C0BBF0BBC053
:100F6000EAFFBAC0E9FFB6C0E2FFB5C0E1FFB8C012
:100F700002F0B7C001F0015202E0022A02D0025290
:100F800006E0E6CFEEFF012EFCD7022EFAD7B4C062
:100F9000BCF0B8C0BEF0B7C0BDF0B9C0BFF0C1DE94
:100FA000015003D000D0000E016E000C020EB46F91
:100FB000B66B500EB56FB86B90C0B7F0020EB96F3C
:100FC000A7DF90C096F0906B000C905301E0EEDF2D
:100FD000FAEF07F0B3530AE1312C03D07CEC02F0B6
:100FE00004D03150020801E18CD704D0B35102087B
:100FF00001E1EBD7000C6C30B16FB133B1331F0E90
:10100000B1176C5240E1040100513C0B0001B26F7A
:10101000430E04010017000154EC02F0B2513408F1
:101020001BE10401046B0001C9D56D98393C05D062
:10103000B36B030EB46FD7DD0ED0B36B020EB46F7B
:10104000D2DD3950FE0807E0BC6BBE6B39C0BDF085
:10105000040EBF6F66DE16D0B251040813E1B36B05
:101060003CDFB36B020EB46FBEDD3950FE080AE000
:10107000393C01D007D0BC6BBE6B39C0BDF0010E4E
:10108000BF6F4FDE82D06C50040818E1430E04019C
:101090000417000154EC02F0FF0E396EB36B9ADFB7
:1010A000393C01D008D0BC6BBE6B39C0BDF0020E1C
:1010B000BF6F37DE02D0CFEC01F067D06CB42CD01C
:1010C000C36BB1C0C2F0C56B080EC46FEAEC01F08F
:1010D00001C0B3F001C001F0040E0224036E01C090
:1010E000B3F0B46FC36BB1C0C2F0C56B080EC46F70
:1010F000EAEC01F001C0E9FF040E0224EA6EEF50B1
:10110000430BB4C0EAFFB3C0E9FFEF6E54EC02F04A
:10111000B1C0B3F0E2DE39D0C36BB1C0C2F0C56B71
:10112000080EC46FEAEC01F002C0B4F001C0B3F0E5
:10113000040EB327000EB423B3C001F0040EB4258F
:10114000036EB3C0B3F0B46FC36BB1C0C2F0C56B74
:10115000080EC46FEAEC01F002C0B6F001C0B5F0B1
:10116000040EB527000EB623B5C0E9FF040EB62560
:10117000EA6EEF50430BB4C0EAFFB3C0E9FFEF6E75
:1011800054EC02F0B1C0B3F025DFF9EF08F03852AB
:1011900001E135D0685233E068A404D069A402D0DC
:1011A000C7EF01F06DA201D02AD068AA04D069AAC5
:1011B00002D0DFEF01F068A204D069A202D0E6EF0E
:1011C00001F068A004D069A002D059EF02F068A82D
:1011D00004D069A802D06EEF02F068AC04D069AC0C
:1011E00002D073EF02F0B06B68A604D069A602D0FB
:1011F00002D701D004D0B051B02B0308F5E2A19A78
:1012000032EF00F0EA6A9C0EE96EEF500EE00F0E2E
:10121000016E006A002EFED7012EFBD78F0E006EE6
:10122000002EFED70000EF2EF2D7000CA3B102D0A3
:101230008C9801D08C889598A3B302D08C9A01D059
:101240008C8A959AA3B502D08C9C01D08C8C959CED
:10125000A3B702D08C9E01D08C8E959E00008D800D
:101260009690070E006E002EFED700D08D909690BF
:10127000000CA46B9588000E83B8010EA413958A08
:10128000000E83BA010E006ED89000360050A413F1
:10129000958C000E83BC010E006E00360036FC0EED
:1012A00000160050A413958E000E83BE010E006E32
:1012B000003600360036F80E00160050A413A4C005
:1012C00001F0000C9588958A958C958E8D84969466
:1012D00000008D8096900000CCDF01C0A3F08D90BF
:1012E000969000008D809690030E006E002EFED723
:1012F00000D0BFDF01C0A2F08D9096909598959A8E
:10130000959C959EA339006EF00E00160050A21118
:10131000016E8EEF09F08D929692D4D701C0A2F0A3
:1013200001BEFBD7A05302E18D9201D08D8296922F
:1013300000008D94969400008D909690A139A26F34
:101340000F0EA217A2C0A3F071DFA1510F0BA26F65
:10135000A36F6CDF000C9598959A959C959E96903E
:10136000969296948D9296928D9496948D90969056
:101370000F0E9C6F47DF010E986F9851030808E32A
:10138000030EA36F53DF050E9C6F3CDF982BF5D740
:10139000020EA36F4BDF986B985103080FE3036AAB
:1013A0009851F2CF99F0F29E55EC00F099BFF28E71
:1013B000996FA06BA16FAFDF982BEED7EDEF0BF01D
:1013C0006D6A696A080E6F6E94503009946E386ABF
:1013D000186AF2BE188EF29E40EC02F018BEF28E31
:1013E000F3EF09F0EDD719EF0AF0186AF2BE188E84
:1013F000F29E40EC02F018BEF28E6D6A140E6F6E13
:10140000696A6D86010E386E09EF0AF06DB601D07B
:10141000ECD7382C0BD06DBA09D0686A696AA08AFB
:10142000C00EF212110E696E020E386E1AEF0AF03B
:10143000D9D7ECD738500208FCE1EEEF0BF09D2D28
:1014400001D003D0400E9E6F01D09E6B010E9C5DBB
:101450009E279E5180099F6FA06BA16F5CDF000CDF
:101460009B510C0A05E0060A0BE0020A0FE013D0BC
:10147000A06B010EA16F4FDF020E9C6FC3DE11D077
:10148000010E9C6F020E9D6FDADF0BD0A06B100E69
:10149000A16F41DF06D0010EA06F9BC0A1F03BDF22
:1014A00000D0000C9ABF0FD00F0E006E99390016B5
:1014B0000A0E005C03E2300E002602D09A5100268C
:1014C00000C09BF0CDDF0F0E99170A0E995D02E266
:1014D000300E02D09A9F9A51992799C09BF0C0DF95
:1014E000A1EF0AF0986B98511EEC01F0982B006E5A
:1014F0009B6FB6DF0D0E985DF6E1010E9C6F020E3C
:101500009D6F9DDF450E9B6FABDF530E9B6FA8DF7A
:10151000430E9B6FA5DF958083A014D0050E9C6FB2
:10152000020E9D6F8CDF92908970640E9C6F6ADE54
:10153000FF0E936E81CF98F081CF99F0570E9A6F7E
:10154000B1D7E9D739EF0CF0010E9B5F0CE3EA6AE3
:101550009B0EE96EEF5007E0020E006E002EFED7E4
:1015600000D0EF2EF9D7BFEF0AF0985199110EE095
:1015700094908B70040E9A6FC80E9B6FE5D79A2FCC
:10158000FBD79851D8B499079807EFD74DEF0CF0D7
:101590009C91F2BE9C81F29E90513F0802E23F0E68
:1015A000906F9051902B036A500FE96E000E03204C
:1015B000EA6E9BC0EFFFF29E9CB1F28E186AF2BEFB
:1015C000188EF29E020EC16F6AEC06F018BEF28E03
:1015D000015207E0186AF2BE188EF29EE7DC18BED0
:1015E000F28E0DEF0BF090513F0814E2186AF2BE34
:1015F000188EF29E020EC16F6AEC06F018BEF28ED3
:10160000015207E0186AF2BE188EF29ECFDC18BEB7
:10161000F28EE9D79AC09BF0BBD7000C9B51016AB0
:101620009A5D03E29AC000F00CD0006A080E9C6F2D
:101630009A3700369B51005CD8B0006E01369C2F63
:10164000F7D7000C015098C09AF0640E9B6FE6DF4C
:1016500000C098F00150300E07E199A30CD099B763
:101660000AD099B9200E03D09997999999810126AA
:1016700001C09AF0B8DF98C09AF00A0E9B6FCEDFD7
:1016800000C098F00150300E06E199B708D099A13A
:1016900006D099B9200E012601C09AF0A4DF300EC1
:1016A000982798C09AF09FDF000C0A0E9A6F9BDF74
:1016B0000D0E9A6F98DF200E9A6F95DF020E986FCD
:1016C000200E9A6F90DF982FFBD72DC098F0130E45
:1016D000996FB8DF200E9A6F86DF020E986F200E8A
:1016E0009A6F81DF982FFBD719C098F0130E996F6E
:1016F000A9DF200E9A6F77DF020E986F200E9A6F87
:1017000072DF982FFBD71DC098F0130E996F9ADFE8
:10171000200E9A6F68DF020E986F200E9A6F63DFBB
:10172000982FFBD721C098F0130E996F8BDF200EF6
:101730009A6F59DF020E986F200E9A6F54DF982F20
:10174000FBD725C098F0130E996F7CDF9AEF0CF051
:10175000F86AD09E088EEA6AE96AB886E10EAF6E32
:10176000040EB06EA60EAC6E900EAB6EC150C00BE8
:101770000F09C16E070EB46E356A040E366E0C0E7C
:10178000376E386A3C6A906B976BC150C00B0F097B
:10179000C16EF19EC290B098C69A949E9380939227
:1017A000010EC66E000EC76ED190870ED56ECD6A43
:1017B000000ECA6E000ECB6EB16A070EB46E925068
:1017C000926E270E006E002EFED700D0B450A19C62
:1017D000B56AF28AC00EF212BED52AD6010E9C6FEF
:1017E0009D6F2DDE986B985132EC01F0982B006EB6
:1017F0009B6F36DE0E0E985DF6E1010E9C6F020EB9
:101800009D6F1DDE986B985147EC01F0982B006E90
:101810009B6F26DE0D0E985DF6E1040E986FFA0EB2
:101820009C6FF0DC982FFBD7010E9C6F9D6F07DE3D
:10183000986B98515BEC01F0982B006E9B6F10DE5B
:10184000140E985DF6E1010E9C6F020E9D6FF7DDA0
:10185000986B985173EC01F0982B006E9B6F00DE33
:10186000040E985DF6E194B105D0958083B001D067
:1018700039D6F9D7010E9C6F9D6FE1DD986B9851B9
:1018800083EC01F0982B006E9B6FEADD110E985DE2
:10189000F6E1996B0A0E986F68D6306A2F6A2E6A45
:1018A0002D6A010E2D26D8B02E2AD8B42F2AD8B4EE
:1018B000302A986B985199EC01F0982B006E9B6F31
:1018C000CFDD070E985DF6E1958083B0FDD7986B6C
:1018D0009851AAEC01F0982B006E9B6FC1DD090EA8
:1018E000985DF6E1938081B003D0958283B2FAD7F8
:1018F0002C6A2B6A2A6A296AD76AD66A938281A2DD
:1019000018D0958283A215D02AC09CF029C09BF0E4
:10191000996B9A6BD650D7CF03F09925196ED75093
:101920009A211A6E000E29201B6E000E2A201C6EB2
:08193000E5D7BBD6B6D70300D2
:020000040030CA
:0E00000024CE390E0005A1000FC00FE00F4006
:00000001FF
;PIC18F4550
;CRC=CF9E CREATED="24-I-10 01:16"
;CRC=EE1F CREATED="14-II-10 00:08"