Browse Source

Initial commit

master
Ruel 8 years ago
parent
commit
bf05baf171
4 changed files with 675 additions and 0 deletions
  1. +15
    -0
      delay.h
  2. +96
    -0
      lcd.bin.hex
  3. +377
    -0
      lcd.c
  4. +187
    -0
      lcd.hex

+ 15
- 0
delay.h View File

@ -0,0 +1,15 @@
#define delay_ms(x) __mydelay_loop_((long) x*80)
//79.681 would be correct
#define delay_us(x) __mydelay_loop_((long) x)
//actually 12.55uS Temic 80c31 11.0592MHz
//extern void __delay_loop_(signed long);
void __mydelay_loop_(signed long);
void __mydelay_loop_(signed long val)
{
for(;val;val--);
}

+ 96
- 0
lcd.bin.hex View File

@ -0,0 +1,96 @@
02000602028c75810d1209dee58260030200037900e94400601b7a00900b
40780175a000e493f2a308b8000205a0d9f4daf275a0ffe4787ff6d8fd78
00e84400600a790175a000e4f309d8fc7800e84400600c7900900001e4f0
a3d8fcd9fa020003ac82ad83aef0ffec4d4e4f600f1cbcff091dbdff051e
beff011f80eb22906d60e4f5f01200627590ff900640e4f5f01200627590
137590039004b0e4f5f0120062759013759003900190e4f5f01200627590
13759003900190e4f5f0120062759012759002900190e4f5f0020062e582
ffc4540ffe53060f74104ef590900190e4f5f0c007c006120062d0068e90
900190e4f5f0120062d00753070f74104ff5908f9022ad82ae83aff08d82
8e838ff01209c2fc700122ecc4540f30e30244f0fc740f5c4430f5909000
50e4f5f0c007c006c005120062d005d006d0078d828e838ff01209c2fcc4
540f30e30244f0fc740f5c4420f590900050e4f5f0c007c006c005120062
d005d006d0078d828e838ff01209c2fc740f5c4430f590900050e4f5f0c0
07c006c005120062d005d006d0078d828e838ff01209c2fca3ad82ae8374
0f5c4420f590900050e4f5f0c007c006c005120062d005d006d00702010c
7582281200d075820f1200d07582061200d07582011200d07582021200d0
7582800200d07e8e7f0175088c75090f8e0a8f0b750c14750d0085088285
0983c007c006120999a882a983d006d007e849605175b0558e028f037c00
7d008a828b838cf0edc007c006c005c004c003c002c001c000120062d000
d001d002d003d004d00575b0aa8a828b838cf0edc001c000120062d000d0
01d006d00718b8ff011980ab1ebeff011fe50824fbf508e50934fff50915
0a74ffb50a02150bc37402950ae4950b50030201f42212007f1201c29009
e275f08012010690388075f001e41200621201c29009e275f08012010675
b0ff90710075f002e41200627582801200d09009f275f08012010675b000
90388075f001e412006275b0ff90388075f001e41200627582801200d090
0a0375f08012010675b00090710075f002e41200627582c01200d0900a14
75f08012010675b0aa90388075f001e41200627582c01200d0900a2575f0
8012010675b05590388075f001e41200627582c01200d0900a3675f08012
01067f6475b055900190e4f5f0c00712006275b0aa900190e4f5f0120062
d007dfe27582c01200d0900a4875f0801201067f1875b055900fa0e4f5f0
c00712006275b0aa900fa0e4f5f0120062d007dfe27f0a75b055900190e4
f5f0c00712006275b0aa900190e4f5f0120062d007dfe27582c01200d090
0a5975f0801201067fdc75b0559000fae4f5f0c00712006275b0aa9000fa
e4f5f0120062d007dfe27582c01200d0900a6a75f0801201067ef77f0075
b0559000a1e4f5f0c007c00612006275b0aa9000a1e4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900a7b75f0801201067e067f0175
b055900098e4f5f0c007c00612006275b0aa900098e4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900a8c75f0801201067e267f0175
b055900088e4f5f0c007c00612006275b0aa900087e4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900a9c75f0801201067e497f0175
b055900079e4f5f0c007c00612006275b0aa900079e4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900aac75f0801201067e727f0175
b05590006ce4f5f0c007c00612006275b0aa90006be4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900abc75f0801201067e9f7f0175
b055900060e4f5f0c007c00612006275b0aa900060e4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900acc75f0801201067eb87f0175
b05590005be4f5f0c007c00612006275b0aa90005be4f5f0120062d006d0
071ebeff011fee4f70d77582c01200d0900adc75f08012010675b000909c
40e4f5f01200627582c01200d0900aed75f0801201067ea17f1d75b05590
0012e4f5f0c007c00612006275b0aa900012e4f5f0120062d006d0071ebe
ff011fee4f70d77582801200d0900afe75f0801201067582c01200d0900b
0e75f0801201067eb87f0175b05590005be4f5f0c007c00612006275b0aa
90005be4f5f0120062d006d0071ebeff011fee4f70d77e0b7f0275b05590
004ce4f5f0c007c00612006275b0aa90004ce4f5f0120062d006d0071ebe
ff011fee4f70d77e937f0275b05590003ce4f5f0c007c00612006275b0aa
90003ce4f5f0120062d006d0071ebeff011fee4f70d77e707f0375b05590
002ce4f5f0c007c00612006275b0aa90002ce4f5f0120062d006d0071ebe
ff011fee4f70d77e6eff75b05590005be4f5f0c007c00612006275b0aa90
005be4f5f0120062d006d0071ebeff011fee4f70d77e83ff75b05590004c
e4f5f0c007c00612006275b0aa90004ce4f5f0120062d006d0071ebeff01
1fee4f70d77ea5ff75b05590003ce4f5f0c007c00612006275b0aa90003c
e4f5f0120062d006d0071ebeff011fee4f70d77edcff75b05590002ce4f5
f0c007c00612006275b0aa90002ce4f5f0120062d006d0071ebeff011fee
4f70d77e6eff75b05590005be4f5f0c007c00612006275b0aa90005be4f5
f0120062d006d0071ebeff011fee4f70d77e83ff75b05590004ce4f5f0c0
07c00612006275b0aa90004ce4f5f0120062d006d0071ebeff011fee4f70
d77ea5ff75b05590003ce4f5f0c007c00612006275b0aa90003ce4f5f012
0062d006d0071ebeff011fee4f70d77edcff75b05590002ce4f5f0c007c0
0612006275b0aa90002ce4f5f0120062d006d0071ebeff011fee4f70d77e
6eff75b05590005be4f5f0c007c00612006275b0aa90005be4f5f0120062
d006d0071ebeff011fee4f70d77e83ff75b05590004ce4f5f0c007c00612
006275b0aa90004ce4f5f0120062d006d0071ebeff011fee4f70d77ea5ff
75b05590003ce4f5f0c007c00612006275b0aa90003ce4f5f0120062d006
d0071ebeff011fee4f70d77edcff75b05590002ce4f5f0c007c006120062
75b0aa90002ce4f5f0120062d006d0071ebeff011fee4f70d77e6eff75b0
5590005be4f5f0c007c00612006275b0aa90005be4f5f0120062d006d007
1ebeff011fee4f70d77e83ff75b05590004ce4f5f0c007c00612006275b0
aa90004ce4f5f0120062d006d0071ebeff011fee4f70d77ea5ff75b05590
003ce4f5f0c007c00612006275b0aa90003ce4f5f0120062d006d0071ebe
ff011fee4f70d77edcff75b05590002ce4f5f0c007c00612006275b0aa90
002ce4f5f0120062d006d0071ebeff011fee4f70d77582801200d0900b1f
75f0801201067582c01200d0900b3075f0801201061201e602029b7a10e4
fbfce58225e0f582e58333f583eb33fbec33fceb950cf5f0ec950d4006fc
abf0438201dadd2220f71430f6148883a88220f507e6a88375830022e280
f7e49322e02275820022205b5275684e6574204c6162735d20005f496e74
656c2038303531204d43555f003e4c45442f417564696f20546573743c00
28506f72742050333a203078414129200028506f72742050333a20307835
35292000503320726174653a207e313030487a202000503320726174653a
207e3130487a202000503320726174653a207e323230487a200050332072
6174653a207e323437487a2000503320726174653a207e323632487a2000
503320726174653a207e323934487a00503320726174653a207e33323948
7a00503320726174653a207e333730487a00503320726174653a207e3431
35487a00503320726174653a207e343430487a005761697420666f722069
742e2e2e2020004672756974466c792032313637487a21007e43686f7264
3a2041204d616a6f720041202d3e204323202d3e20452d3e204100467265
7175656e63792053776565703a00313030487a207e7e7e2031306b487a00

+ 377
- 0
lcd.c View File

@ -0,0 +1,377 @@
//LCD 4 Bit Mode 8051
#include <8051.h>
#include "delay.h"
#define LCD P1
#define ENABLE 0x10
#define REG_SL 0x20
/*
LCD: DB4|DB5|DB6|DB7|EN |RS RW
P1: 0 1 2 3 4 5 GND
*/
void lcd_reset() //Reset sequence as stated in the LCD datasheet
{
delay_ms(350);
LCD = 0xFF;
delay_ms(20);
LCD = 0x03|ENABLE;
LCD = 0x03;
delay_ms(15);
LCD = 0x03|ENABLE;
LCD = 0x03;
delay_ms(5);
LCD = 0x03|ENABLE;
LCD = 0x03;
delay_ms(5);
LCD = 0x02|ENABLE;
LCD = 0x02;
delay_ms(5);
}
void lcd_cmd(unsigned char cmd) //Subroutine to send command
{
LCD = ((cmd>>4)&0x0F)|ENABLE; //Sending higher nibble by shifting with Pulsing Enable high
delay_ms(5);
LCD = ((cmd>>4)&0x0F);
delay_ms(5);
LCD = (cmd & 0x0F)|ENABLE; //Sending lower nibble Enable low
LCD = (cmd & 0x0F);
}
void lcd_data (char *dat) //Subroutine to send data
{
while(*dat != '\0') {
LCD = (((*dat>>4)&0x0F)|ENABLE|REG_SL); //Sending data by making RS=1
delay_ms(1);
LCD = (((*dat>>4)&0x0F)|REG_SL);
delay_ms(1);
LCD = ((*dat & 0x0F)|ENABLE|REG_SL);
delay_ms(1);
LCD = ((*dat & 0x0F)|REG_SL);
delay_ms(1);
dat++;
}
}
void lcd_init ()
{
lcd_cmd(0x28); // 4-bit mode - 2 line - 5x7 font.
lcd_cmd(0x0F); // Display cursor with blink.
lcd_cmd(0x06); // Automatic Increment - No Display shift.
lcd_cmd(0x01);
lcd_cmd(0x02); //Clear screen and return home
lcd_cmd(0x80); // First row first column
}
void sweep(void)
{
unsigned int freq;
unsigned int z;
unsigned int notes;
unsigned int cycles;
freq=398;
z=3980;
for(notes=398;notes>2;notes--) {
for(cycles=z/20;cycles>0;cycles--) {
P3=0x55;
delay_us(freq);
P3=0xAA;
delay_us(freq);
}
freq--;
z=z-5;
}
}
void main()
{
unsigned char x;
unsigned int y;
lcd_reset();
lcd_init();
lcd_data(" [RuhNet Labs] ");
while(1) {
delay_ms(1000);
lcd_init(); //Clear screen and return home
lcd_data(" [RuhNet Labs] ");
P3 = 0xFF; //turn all P3 outputs on
delay_ms(2000);
lcd_cmd(0x80); // First row first column
lcd_data("_Intel 8051 MCU_");
P3 = 0x00;
delay_ms(1000);
P3 = 0xFF;
delay_ms(1000);
lcd_cmd(0x80); // First row first column
lcd_data(">LED/Audio Test<");
P3 = 0x00;
delay_ms(2000);
lcd_cmd(0xC0); // Second row first column
lcd_data("(Port P3: 0xAA) ");
P3 = 0xAA;
delay_ms(1000);
lcd_cmd(0xC0); // Second row first column
lcd_data("(Port P3: 0x55) ");
P3 = 0x55;
delay_ms(1000);
lcd_cmd(0xC0); // Second row first column
lcd_data("P3 rate: ~100Hz ");
for(x=100;x>0;x--) { //2 seconds, 100Hz
P3=0x55;
delay_ms(5);
P3=0xAA;
delay_ms(5);
}
lcd_cmd(0xC0); // Second row first column
lcd_data("P3 rate: ~10Hz ");
for (x=24;x>0;x--) { //4.8 seconds, 10Hz
P3=0x55;
delay_ms(50);
P3=0xAA;
delay_ms(50);
}
for(x=10;x>0;x--) { //0.2 seconds,
P3=0x55;
delay_ms(5);
P3=0xAA;
delay_ms(5);
}
lcd_cmd(0xC0); // Second row first column
lcd_data("P3 rate: ~220Hz ");
for(x=220;x>0;x--) { //2 sec, 200Hz
P3=0x55;
delay_us(250);
P3=0xAA;
delay_us(250);
}
lcd_cmd(0xC0); // Second row first column
lcd_data("P3 rate: ~247Hz ");
for(y=247;y>0;y--) { //2 sec, 250Hz
P3=0x55;
delay_us(161);
P3=0xAA;
delay_us(161);
}
lcd_cmd(0xC0); // Second row first column
lcd_data("P3 rate: ~262Hz ");
for(y=262;y>0;y--) {
P3=0x55;
delay_us(152);
P3=0xAA;
delay_us(152);
}
lcd_cmd(0xC0);
lcd_data("P3 rate: ~294Hz");
for(y=294;y>0;y--) {
P3=0x55;
delay_us(136);
P3=0xAA;
delay_us(135);
}
lcd_cmd(0xC0);
lcd_data("P3 rate: ~329Hz");
for(y=329;y>0;y--) {
P3=0x55;
delay_us(121);
P3=0xAA;
delay_us(121);
}
lcd_cmd(0xC0);
lcd_data("P3 rate: ~370Hz");
for(y=370;y>0;y--) {
P3=0x55;
delay_us(108);
P3=0xAA;
delay_us(107);
}
lcd_cmd(0xC0);
lcd_data("P3 rate: ~415Hz");
for(y=415;y>0;y--) {
P3=0x55;
delay_us(96);
P3=0xAA;
delay_us(96);
}
lcd_cmd(0xC0);
lcd_data("P3 rate: ~440Hz");
for(y=440;y>0;y--) {
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
lcd_cmd(0xC0);
lcd_data("Wait for it... ");
P3=0x00;
delay_ms(500);
lcd_cmd(0xC0); // Second row first column
lcd_data("FruitFly 2167Hz!");
for(y=7585;y>0;y--) {
P3=0x55;
delay_us(18);
P3=0xAA;
delay_us(18);
}
lcd_cmd(0x80);
lcd_data("~Chord: A Major");
lcd_cmd(0xC0); // Second row first column
lcd_data("A -> C# -> E-> A");
for(y=440;y>0;y--) { //1 sec, A 440Hz
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
for(y=523;y>0;y--) { //1 sec, C# 523Hz
P3=0x55;
delay_us(76);
P3=0xAA;
delay_us(76);
}
for(y=659;y>0;y--) { //1 sec, E 659Hz
P3=0x55;
delay_us(60);
P3=0xAA;
delay_us(60);
}
for(y=880;y>0;y--) { //1 sec, A 880Hz
P3=0x55;
delay_us(44);
P3=0xAA;
delay_us(44);
}
for(y=110;y>0;y--) { //0.25 sec, A 440Hz
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
for(y=131;y>0;y--) { //0.25 sec, C# 523Hz
P3=0x55;
delay_us(76);
P3=0xAA;
delay_us(76);
}
for(y=165;y>0;y--) { //0.25 sec, E 659Hz
P3=0x55;
delay_us(60);
P3=0xAA;
delay_us(60);
}
for(y=220;y>0;y--) { //0.25 sec, A 880Hz
P3=0x55;
delay_us(44);
P3=0xAA;
delay_us(44);
}
for(y=110;y>0;y--) { //0.25 sec, A 440Hz
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
for(y=131;y>0;y--) { //0.25 sec, C# 523Hz
P3=0x55;
delay_us(76);
P3=0xAA;
delay_us(76);
}
for(y=165;y>0;y--) { //0.25 sec, E 659Hz
P3=0x55;
delay_us(60);
P3=0xAA;
delay_us(60);
}
for(y=220;y>0;y--) { //0.25 sec, A 880Hz
P3=0x55;
delay_us(44);
P3=0xAA;
delay_us(44);
}
for(y=110;y>0;y--) { //0.25 sec, A 440Hz
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
for(y=131;y>0;y--) { //0.25 sec, C# 523Hz
P3=0x55;
delay_us(76);
P3=0xAA;
delay_us(76);
}
for(y=165;y>0;y--) { //0.25 sec, E 659Hz
P3=0x55;
delay_us(60);
P3=0xAA;
delay_us(60);
}
for(y=220;y>0;y--) { //0.25 sec, A 880Hz
P3=0x55;
delay_us(44);
P3=0xAA;
delay_us(44);
}
for(y=110;y>0;y--) { //0.25 sec, A 440Hz
P3=0x55;
delay_us(91);
P3=0xAA;
delay_us(91);
}
for(y=131;y>0;y--) { //0.25 sec, C# 523Hz
P3=0x55;
delay_us(76);
P3=0xAA;
delay_us(76);
}
for(y=165;y>0;y--) { //0.25 sec, E 659Hz
P3=0x55;
delay_us(60);
P3=0xAA;
delay_us(60);
}
for(y=220;y>0;y--) { //0.25 sec, A 880Hz
P3=0x55;
delay_us(44);
P3=0xAA;
delay_us(44);
}
lcd_cmd(0x80);
lcd_data("Frequency Sweep:");
lcd_cmd(0xC0); // Second row first column
lcd_data("100Hz ~~~ 10kHz ");
sweep();
}
}

+ 187
- 0
lcd.hex View File

@ -0,0 +1,187 @@
:03000000020006F5
:03005F0002000399
:0300030002028C6A
:10006200AC82AD83AEF0FFEC4D4E4F600F1CBCFF77
:10007200091DBDFF051EBEFF011F80EB22906D60B2
:10008200E4F5F01200627590FF900640E4F5F0127C
:1000920000627590137590039004B0E4F5F01200BD
:1000A20062759013759003900190E4F5F01200626E
:1000B200759013759003900190E4F5F0120062754B
:1000C2009012759002900190E4F5F0020062E582D0
:1000D200FFC4540FFE53060F74104EF5909001901A
:1000E200E4F5F0C007C006120062D0068E909001BF
:1000F20090E4F5F0120062D00753070F74104FF529
:10010200908F9022AD82AE83AFF08D828E838FF07E
:100112001209C2FC700122ECC4540F30E30244F015
:10012200FC740F5C4430F590900050E4F5F0C00789
:10013200C006C005120062D005D006D0078D828E9F
:10014200838FF01209C2FCC4540F30E30244F0FC66
:10015200740F5C4420F590900050E4F5F0C007C0A5
:1001620006C005120062D005D006D0078D828E83AC
:100172008FF01209C2FC740F5C4430F5909000506D
:10018200E4F5F0C007C006C005120062D005D00633
:10019200D0078D828E838FF01209C2FCA3AD82AE8E
:1001A20083740F5C4420F590900050E4F5F0C00792
:1001B200C006C005120062D005D006D00702010CAD
:1001C2007582281200D075820F1200D07582061235
:1001D20000D07582011200D07582021200D07582A1
:1001E200800200D07E8E7F0175088C75090F8E0A01
:1001F2008F0B750C14750D00850882850983C00765
:10020200C006120999A882A983D006D007E84960DE
:100212005175B0558E028F037C007D008A828B83DC
:100222008CF0EDC007C006C005C004C003C002C008
:1002320001C000120062D000D001D002D003D0046D
:10024200D00575B0AA8A828B838CF0EDC001C00004
:10025200120062D000D001D006D00718B8FF0119F1
:1002620080AB1EBEFF011FE50824FBF508E509343B
:10027200FFF509150A74FFB50A02150BC37402953E
:100282000AE4950B50030201F42212007F1201C20C
:100292009009E275F08012010690388075F001E451
:1002A2001200621201C29009E275F0801201067515
:1002B200B0FF90710075F002E41200627582801244
:1002C20000D09009F275F08012010675B0009038E6
:1002D2008075F001E412006275B0FF90388075F00D
:1002E20001E41200627582801200D0900A0375F058
:1002F2008012010675B00090710075F002E41200E0
:10030200627582C01200D0900A1475F08012010644
:1003120075B0AA90388075F001E41200627582C04F
:100322001200D0900A2575F08012010675B0559022
:10033200388075F001E41200627582C01200D0901C
:100342000A3675F0801201067F6475B055900190EF
:10035200E4F5F0C00712006275B0AA900190E4F5CE
:10036200F0120062D007DFE27582C01200D0900A5C
:100372004875F0801201067F1875B055900FA0E401
:10038200F5F0C00712006275B0AA900FA0E4F5F074
:10039200120062D007DFE27F0A75B055900190E447
:1003A200F5F0C00712006275B0AA900190E4F5F072
:1003B200120062D007DFE27582C01200D0900A59A3
:1003C20075F0801201067FDC75B0559000FAE4F5F5
:1003D200F0C00712006275B0AA9000FAE4F5F012BC
:1003E2000062D007DFE27582C01200D0900A6A75FF
:1003F200F0801201067EF77F0075B0559000A1E4EF
:10040200F5F0C007C00612006275B0AA9000A1E420
:10041200F5F0120062D006D0071EBEFF011FEE4F9C
:1004220070D77582C01200D0900A7B75F0801201DD
:10043200067E067F0175B055900098E4F5F0C0077E
:10044200C00612006275B0AA900098E4F5F012009E
:1004520062D006D0071EBEFF011FEE4F70D7758215
:10046200C01200D0900A8C75F0801201067E267FA1
:100472000175B055900088E4F5F0C007C00612007F
:100482006275B0AA900087E4F5F0120062D006D03F
:10049200071EBEFF011FEE4F70D77582C01200D03B
:1004A200900A9C75F0801201067E497F0175B05555
:1004B200900079E4F5F0C007C00612006275B0AA98
:1004C200900079E4F5F0120062D006D0071EBEFF5C
:1004D200011FEE4F70D77582C01200D0900AAC7522
:1004E200F0801201067E727F0175B05590006CE4B7
:1004F200F5F0C007C00612006275B0AA90006BE466
:10050200F5F0120062D006D0071EBEFF011FEE4FAB
:1005120070D77582C01200D0900ABC75F0801201AB
:10052200067E9F7F0175B055900060E4F5F0C0072C
:10053200C00612006275B0AA900060E4F5F01200E5
:1005420062D006D0071EBEFF011FEE4F70D7758224
:10055200C01200D0900ACC75F0801201067EB87FDE
:100562000175B05590005BE4F5F0C007C0061200BB
:100572006275B0AA90005BE4F5F0120062D006D07A
:10058200071EBEFF011FEE4F70D77582C01200D04A
:10059200900ADC75F08012010675B000909C40E470
:1005A200F5F01200627582C01200D0900AED75F06B
:1005B200801201067EA17F1D75B055900012E4F5F0
:1005C200F0C007C00612006275B0AA900012E4F5EE
:1005D200F0120062D006D0071EBEFF011FEE4F7060
:1005E200D77582801200D0900AFE75F08012010643
:1005F2007582C01200D0900B0E75F0801201067E3B
:10060200B87F0175B05590005BE4F5F0C007C006F5
:1006120012006275B0AA90005BE4F5F0120062D09D
:1006220006D0071EBEFF011FEE4F70D77E0B7F0262
:1006320075B05590004CE4F5F0C007C00612006298
:1006420075B0AA90004CE4F5F0120062D006D00713
:100652001EBEFF011FEE4F70D77E937F0275B0550D
:1006620090003CE4F5F0C007C00612006275B0AA23
:1006720090003CE4F5F0120062D006D0071EBEFFE7
:10068200011FEE4F70D77E707F0375B05590002C1E
:10069200E4F5F0C007C00612006275B0AA90002C03
:1006A200E4F5F0120062D006D0071EBEFF011FEE75
:1006B2004F70D77E6EFF75B05590005BE4F5F0C0C9
:1006C20007C00612006275B0AA90005BE4F5F01252
:1006D2000062D006D0071EBEFF011FEE4F70D77E0C
:1006E20083FF75B05590004CE4F5F0C007C00612C8
:1006F200006275B0AA90004CE4F5F0120062D006D8
:10070200D0071EBEFF011FEE4F70D77EA5FF75B04A
:100712005590003CE4F5F0C007C00612006275B0C7
:10072200AA90003CE4F5F0120062D006D0071EBE8B
:10073200FF011FEE4F70D77EDCFF75B05590002C85
:10074200E4F5F0C007C00612006275B0AA90002C52
:10075200E4F5F0120062D006D0071EBEFF011FEEC4
:100762004F70D77E6EFF75B05590005BE4F5F0C018
:1007720007C00612006275B0AA90005BE4F5F012A1
:100782000062D006D0071EBEFF011FEE4F70D77E5B
:1007920083FF75B05590004CE4F5F0C007C0061217
:1007A200006275B0AA90004CE4F5F0120062D00627
:1007B200D0071EBEFF011FEE4F70D77EA5FF75B09A
:1007C2005590003CE4F5F0C007C00612006275B017
:1007D200AA90003CE4F5F0120062D006D0071EBEDB
:1007E200FF011FEE4F70D77EDCFF75B05590002CD5
:1007F200E4F5F0C007C00612006275B0AA90002CA2
:10080200E4F5F0120062D006D0071EBEFF011FEE13
:100812004F70D77E6EFF75B05590005BE4F5F0C067
:1008220007C00612006275B0AA90005BE4F5F012F0
:100832000062D006D0071EBEFF011FEE4F70D77EAA
:1008420083FF75B05590004CE4F5F0C007C0061266
:10085200006275B0AA90004CE4F5F0120062D00676
:10086200D0071EBEFF011FEE4F70D77EA5FF75B0E9
:100872005590003CE4F5F0C007C00612006275B066
:10088200AA90003CE4F5F0120062D006D0071EBE2A
:10089200FF011FEE4F70D77EDCFF75B05590002C24
:1008A200E4F5F0C007C00612006275B0AA90002CF1
:1008B200E4F5F0120062D006D0071EBEFF011FEE63
:1008C2004F70D77E6EFF75B05590005BE4F5F0C0B7
:1008D20007C00612006275B0AA90005BE4F5F01240
:1008E2000062D006D0071EBEFF011FEE4F70D77EFA
:1008F20083FF75B05590004CE4F5F0C007C00612B6
:10090200006275B0AA90004CE4F5F0120062D006C5
:10091200D0071EBEFF011FEE4F70D77EA5FF75B038
:100922005590003CE4F5F0C007C00612006275B0B5
:10093200AA90003CE4F5F0120062D006D0071EBE79
:10094200FF011FEE4F70D77EDCFF75B05590002C73
:10095200E4F5F0C007C00612006275B0AA90002C40
:10096200E4F5F0120062D006D0071EBEFF011FEEB2
:100972004F70D77582801200D0900B1F75F08012D5
:1009820001067582C01200D0900B3075F080120102
:07099200061201E602029BC0
:1009E200205B5275684E6574204C6162735D200015
:1009F2005F496E74656C2038303531204D43555F48
:100A0200003E4C45442F417564696F2054657374F0
:100A12003C0028506F72742050333A2030784141A4
:100A220029200028506F72742050333A20307835D4
:100A320035292000503320726174653A207E3130AE
:100A420030487A202000503320726174653A207E4B
:100A52003130487A202000503320726174653A2088
:100A62007E323230487A2000503320726174653A07
:100A7200207E323437487A20005033207261746508
:100A82003A207E323632487A200050332072617426
:100A9200653A207E323934487A00503320726174CC
:100AA200653A207E333239487A00503320726174BD
:100AB200653A207E333730487A00503320726174B1
:100AC200653A207E343135487A00503320726174A1
:100AD200653A207E343430487A0057616974206662
:100AE2006F722069742E2E2E202000467275697452
:100AF200466C792032313637487A21007E43686F5E
:100B020072643A2041204D616A6F720041202D3E8D
:100B1200204323202D3E20452D3E20410046726574
:100B22007175656E63792053776565703A0031306F
:0E0B320030487A207E7E7E2031306B487A007B
:100999007A10E4FBFCE58225E0F582E58333F583F3
:1009A900EB33FBEC33FCEB950CF5F0EC950D4006C5
:0909B900FCABF0438201DADD22FF
:06003500E4787FF6D8FD1F
:100013007900E94400601B7A00900B40780175A0D9
:1000230000E493F2A308B8000205A0D9F4DAF2754C
:02003300A0FF2C
:10003B007800E84400600A790175A000E4F309D860
:10004B00FC7800E84400600C7900900001E4F0A318
:04005B00D8FCD9FAFA
:0D00060075810D1209DEE582600302000322
:1009C20020F71430F6148883A88220F507E6A8835E
:1009D20075830022E280F7E49322E02275820022EE
:00000001FF

Loading…
Cancel
Save