control de lavarropas automático rev 1

14
; Control de lavarropas automático ; Rev. 01 // 04-OCT-2003 // cprog equ 0x02 ;contador de programa (parte baja) estado equ 0x03 ;Registro de estados del micro ptoa equ 0x05 ;Puertos de E/S ptob equ 0x06 ptoc equ 0x07 tiempo1 equ 0x20 ;Usados para temporizar tiempo2 equ 0x21 tiempo3 equ 0x22 veces equ 0x23 display equ 0x24 ;Resguarda el numero mostrado en el display general equ 0x25 #define RP0 estado, 5 ;Bits de selección de página de memoria #define SELECT ptoa, 0 ;Entrada de selección de programa #define START ptoa, 1 ;Entrada de inicio del proceso #define MEDIA ptoa, 2 ;Entrada de la llave de media carga #define NOCENT ptoa, 3 ;Entrada de la llave de exclusión de centrifugado #define PRES50 ptoa, 4 ;Entrada del presostato a media carga #define PRES100 ptoa, 5 ;Entrada del presostato a carga completa #define BUZZER ptob, 7 ;Control del parlante piezo #define MOTFAST ptob, 6 ;Motor a alta velocidad #define MOTSLOW ptob, 5 ;Motor a baja velocidad #define CALEF ptob, 4 ;Control del sistema de calentamiento del agua #define VALVULA ptob, 3 ;Entrada de agua (electroválvula) #define BOMBA ptob, 2 ;Salida de agua (desagote) #define SERVON ptob, 1 ;Alimentación del servo selector de producto #define SERVPUL ptob, 0 ;Pulsos de control del servo selector de producto #define PAUSA general, 0 ;Indica que entre programa y programa haga una pausa goto INICIO ;Saltea la tabla del display TABLA addwf cprog, 1 ;Genera los números y caracteres en el display retlw b'00111111' ; 0 retlw b'00000110' ; 1 retlw b'01011011' ; 2 retlw b'01001111' ; 3 retlw b'01100110' ; 4 retlw b'01101101' ; 5 retlw b'01111101' ; 6 retlw b'00000111' ; 7 retlw b'01111111' ; 8 retlw b'01101111' ; 9 retlw b'01000000' ; - (10) retlw b'01111001' ; E (11) retlw b'01110001' ; F (12) retlw b'01110011' ; P (13) INICIO clrf ptoa ;Arranca con todo apagado clrf ptob

Upload: isidrocanales

Post on 19-Nov-2015

214 views

Category:

Documents


2 download

DESCRIPTION

electronica

TRANSCRIPT

; Control de lavarropas automtico; Rev. 01 // 04-OCT-2003 //

cprogequ0x02;contador de programa (parte baja)estadoequ0x03;Registro de estados del microptoaequ0x05;Puertos de E/Sptobequ0x06ptocequ0x07tiempo1equ0x20;Usados para temporizartiempo2equ0x21tiempo3equ0x22vecesequ0x23displayequ0x24;Resguarda el numero mostrado en el displaygeneralequ0x25

#defineRP0estado, 5;Bits de seleccin de pgina de memoria#defineSELECTptoa, 0;Entrada de seleccin de programa#defineSTARTptoa, 1;Entrada de inicio del proceso#defineMEDIAptoa, 2;Entrada de la llave de media carga#defineNOCENTptoa, 3;Entrada de la llave de exclusin de centrifugado#definePRES50ptoa, 4;Entrada del presostato a media carga#definePRES100ptoa, 5;Entrada del presostato a carga completa#defineBUZZERptob, 7;Control del parlante piezo#defineMOTFASTptob, 6;Motor a alta velocidad#defineMOTSLOWptob, 5;Motor a baja velocidad#defineCALEFptob, 4;Control del sistema de calentamiento del agua#defineVALVULAptob, 3;Entrada de agua (electrovlvula)#defineBOMBAptob, 2;Salida de agua (desagote)#defineSERVONptob, 1;Alimentacin del servo selector de producto#defineSERVPULptob, 0;Pulsos de control del servo selector de producto#definePAUSAgeneral, 0;Indica que entre programa y programa haga una pausa

gotoINICIO;Saltea la tabla del displayTABLAaddwfcprog, 1;Genera los nmeros y caracteres en el displayretlwb'00111111'; 0retlwb'00000110'; 1retlwb'01011011'; 2retlwb'01001111'; 3retlwb'01100110'; 4retlwb'01101101'; 5retlwb'01111101'; 6retlwb'00000111'; 7retlwb'01111111'; 8retlwb'01101111'; 9retlwb'01000000'; - (10)retlwb'01111001'; E (11)retlwb'01110001'; F (12)retlwb'01110011'; P (13)INICIOclrfptoa;Arranca con todo apagadoclrfptobclrfptocclrfgeneral;Flags en cerobsfRP0;configura los pines de E/Smovlwb'00000110'movwf0x1Fmovlwb'00111111'movwfptoaclrfptobclrfptocbcfRP0

movlwd'10';Coloca el '-' en el display durante 5 segundoscallTABLAmovwfptocmovlwd'10'movwftiempo3bsfptoc, 7;Hace destellar el punto del displaycallDEL250bcfptoc, 7;Hace destellar el punto del displaycallDEL250btfssSTART;Entra en modo pausa al presionar cualquier pulsador durante el -gotoSETPAP;Acciona el mecanismo paso a pasobtfssSELECTgotoSETPAP;Acciona el mecanismo paso a pasodecfsztiempo3, 1goto$ -9gotoAUTOM;Saltea la seccin donde coloca la 'P'SETPAPmovlwd'13';Coloca la P en el displaycallTABLAmovwfptocbsfPAUSA;Acciona el flag de Paso a PasocallBEEPcallDEL250btfssSELECT;Espera que suelte ambos pulsadoresgoto$ -2btfssSTARTgoto$ -4AUTOMbtfscPRES50;Si hay agua en el tanque desagota totalmentegotoSEL1Cmovlwd'11';Coloca el 'E' en el displaycallTABLAmovwfptoccallBEEPcallDEL250callBEEPcallDEL250callBEEPbsfBOMBA;Enciende la bomba de desagotebtfssPRES50;Espera que el presostato indique tanque vacogoto$ -1callDIEZSEGcallDIEZSEGbcfBOMBA;Desconecta la bombaSEL1Cmovlwd'1';Arranca en programa corto 1callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL2CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART1Cgoto$ -4SEL2Cmovlwd'2';Programa corto 2callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL3CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART2Cgoto$ -4SEL3Cmovlwd'3';Programa corto 3callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL4CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART3Cgoto$ -4SEL4Cmovlwd'4';Programa corto 4callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL5CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART4Cgoto$ -4SEL5Cmovlwd'5';Programa corto 5callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL6CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART5Cgoto$ -4SEL6Cmovlwd'6';Programa corto 6callTABLAmovwfptoccallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL1LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART6Cgoto$ -4

SEL1Lmovlwd'1';Programa largo 1callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL2LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART1Lgoto$ -4SEL2Lmovlwd'2';Programa largo 2callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL3LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART2Lgoto$ -4SEL3Lmovlwd'3';Programa largo 3callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL4LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART3Lgoto$ -4SEL4Lmovlwd'4';Programa largo 4callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL5LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART4Lgoto$ -4SEL5Lmovlwd'5';Programa largo 5callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL6LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART5Lgoto$ -4SEL6Lmovlwd'6';Programa largo 6callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL7LbtfssSTART;Controla el pulsador para iniciar el programagotoSTART6Lgoto$ -4SEL7Lmovlwd'7';Programa largo 7callTABLAmovwfptocbsfptoc, 7;Enciende el punto decimal del displaycallBEEPcallDEL250;Evita repeticiones por pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2btfssSELECT;Controla el pulsador para cambiar de programagotoSEL1CbtfssSTART;Controla el pulsador para iniciar el programagotoSTART7Lgoto$ -4

START1CcallBEEPcallBOX1;Selecciona la carga de agua por el box 1 (prelavado)callCARGAR;Carga agua en el tanquemovlwd'6';Ejecuta un ciclo de lavado de 10 min.callLAVARcallVACIAR;Desagota el tanque

START2CcallBEEPmovlwd'2';Muestra el 2 en el displaycallTABLAmovwfptocbtfssPAUSA;Si esta pausado...gotoSIGUE2CbtfscSTART;Espera que presione el pulsadorgoto$ -7SIGUE2CcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'6';Ejecuta un ciclo de lavado de 10 min.callLAVARcallVACIAR;Desagota el tanque

START3CcallBEEPmovlwd'3';Muestra el 3 en el displaycallTABLAmovwfptocbtfssPAUSA;Si esta pausado...gotoSIGUE3CbtfscSTART;Espera que presione el pulsadorgoto$ -7SIGUE3CcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'6';Ejecuta un ciclo de lavado de 10 min.callLAVARcallVACIAR;Desagota el tanque

START4CcallBEEPmovlwd'4';Muestra el 4 en el displaycallTABLAmovwfptocbtfssPAUSA;Si esta pausado...gotoSIGUE4CbtfscSTART;Espera que presione el pulsadorgoto$ -7SIGUE4CcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'51';Ejecuta un ciclo de lavado de 25 min.callLAVARcallVACIAR;Desagota el tanque

START5CcallBEEPmovlwd'5';Muestra el 5 en el displaycallTABLAmovwfptocbtfssPAUSA;Si esta pausado...gotoSIGUE5CbtfscSTART;Espera que presione el pulsadorgoto$ -7SIGUE5CcallBOX3;Selecciona la carga de agua por el box 3 (enjuague)callCARGAR;Carga agua en el tanquemovlwd'24';Ejecuta un ciclo de lavado de 16 min.callLAVARcallVACIAR;Desagota el tanque

START6CcallBEEPmovlwd'6';Muestra el 6 en el displaycallTABLAmovwfptocbtfssPAUSA;Si esta pausado...gotoSIGUE6CbtfscSTART;Espera que presione el pulsadorgoto$ -7SIGUE6CcallCENTRIF;Centrifugadomovlwd'12';Coloca la 'F' en el displaycallTABLAmovwfptoccallBEEPFIN;Hace tres beep's largosbtfscSELECT;Espera que presione el pulsadorgoto$ -1movlwd'10';Coloca el '-' en el displaycallTABLAmovwfptoccallDEL250;Previene rebotes en pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2gotoSEL1C;Vuelve al comienzo del programa 1 corto

START1LcallBEEPcallBOX1;Selecciona la carga de agua por el box 1 (prelavado)callCARGAR;Carga agua en el tanquemovlwd'6';Ejecuta un ciclo de lavado de 10 min.callLAVARcallVACIAR;Desagota el tanque

START2LcallBEEPmovlwd'2';Muestra el 2 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE2LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE2LcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'21';Ejecuta un ciclo de lavado de 15 min.callLAVARcallVACIAR;Desagota el tanque

START3LcallBEEPmovlwd'3';Muestra el 3 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE3LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE3LcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'21';Ejecuta un ciclo de lavado de 15 min.callLAVARcallVACIAR;Desagota el tanque

START4LcallBEEPmovlwd'4';Muestra el 4 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE4LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE4LcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'51';Ejecuta un ciclo de lavado de 25 min.callLAVARcallVACIAR;Desagota el tanque

START5LcallBEEPmovlwd'5';Muestra el 5 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE5LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE5LcallBOX2;Selecciona la carga de agua por el box 2 (jabn)callCARGAR;Carga agua en el tanquemovlwd'21';Ejecuta un ciclo de lavado de 15 min.callLAVARcallVACIAR;Desagota el tanque

START6LcallBEEPmovlwd'6';Muestra el 5 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE6LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE6LcallBOX3;Selecciona la carga de agua por el box 3 (enjuague)callCARGAR;Carga agua en el tanquemovlwd'90';Ejecuta un ciclo de lavado de 38 min.callLAVARcallVACIAR;Desagota el tanque

START7LcallBEEPmovlwd'7';Muestra el 7 en el displaycallTABLAmovwfptocbsfptoc, 7;Enciende el punto del displaybtfssPAUSA;Si esta pausado...gotoSIGUE7LbtfscSTART;Espera que presione el pulsadorgoto$ -8SIGUE7LcallCENTRIF;Centrifugadomovlwd'12';Coloca la 'F' en el displaycallTABLAmovwfptoccallBEEPFIN;Hace tres beep's largosbtfscSELECT;Espera que presione el pulsadorgoto$ -1movlwd'10';Coloca el '-' en el displaycallTABLAmovwfptoccallDEL250;Previene rebotes en pulsadores garchabtfssSELECT;Espera que suelte el pulsadorgoto$ -2gotoSEL1L;Vuelve al comienzo del programa 1 corto

BOX1BOX2BOX3BOX4return

CARGARbsfVALVULA;Conecta la electrovlvulabtfscMEDIA;Verifica si debe cargar a media o completogotoMITADbtfssPRES100;Mira el presostato a 100%gotoLLENO;Si se lleno termina la cargagotoCARGAR;Si no se lleno espera que termine la cargaMITADbtfssPRES50;Mira el presostato al 50%gotoLLENO;Si alcanz el nivel termina la cargagotoCARGAR;Si no alcanz el nivel espera que llegueLLENObcfVALVULA;Desconecta la electrovlvulareturn

;////////////////////////////////////////////////////////////////////////////////////////;PROCESO DE LAVADO;Demora 6 minutos en cargar el agua y dos minutos mas en descargarla;Por lo que el tiempo total del lavado es igual a 8 min + (W * 20 seg);Lavado de 10 min -> W = 6;Lavado de 15 min -> W = 21;Lavado de 16 min -> W = 24;Lavado de 25 min -> W = 51;Lavado de 38 min -> W = 90;////////////////////////////////////////////////////////////////////////////////////////LAVARmovwfveces;Utiliza W para condicionar la cant. de ciclos de lavadoLAVAMASbsfMOTSLOW;Enciende el motor en baja velocidad durante 10 segundosmovfptoc, 0;Resguarda el numero mostrado en el displaymovwfdisplaycallDIEZANIbcfMOTSLOW;Apaga el motor durante 10 segundosmovfdisplay, 0;restaura el display a su estado normalmovwfptoccallDIEZSEGdecfszveces, 1gotoLAVAMASreturnVACIARbsfBOMBA;Acciona la bomba de desagotebtfssPRES50;Espera que se vace completamente el tanquegoto$ -1callDIEZSEG;Espera 20 segundos extracallDIEZSEGbcfBOMBA;Desconecta la bombareturn

CENTRIFbtfscNOCENT;Si esta en modo no-centrifugarreturn;Evita hacerlobtfscPRES50;Mira si hay agua en el tanquegotoCENT2;Si no hay agua va directamente a centrifugarbsfBOMBA;Enciende la bomba de desaguebtfssPRES50goto$ -1callDIEZSEGcallDIEZSEGbcfBOMBA;Una vez que se vacia el tanque apaga la bombaCENT2bsfMOTFAST;Enciende el motor a alta velocidadbsfBOMBA;Activa el desagote (por si con suelte escurre algo)callDIEZSEG;Un minuto con bomba a plenocallDIEZSEGcallDIEZSEGcallDIEZSEGcallDIEZSEGcallDIEZSEGmovlwd'4';Espera 2 minutos y monedas con la bomba intermitentemovwfvecesbsfBOMBA;Enciende la bomba de desagotecallDIEZSEGbcfBOMBA;Apaga la bombacallDIEZSEGcallDIEZSEGcallDIEZSEGdecfszveces, 1goto$ -7bcfMOTFAST;Apaga el motorreturn

DIEZANImovlwd'10'movwftiempo3callANIMdecfsztiempo3, 1goto$ -2returnANIMmovlwb'00100000'movwfptoccallDEL250movlwb'00000001'movwfptoccallDEL250movlwb'00000010'movwfptoccallDEL250movlwb'01000000'movwfptoccallDEL250return

DIEZSEGmovlwd'40';Demora de 10 segundosgoto$ +2UNSEGmovlwd'4';Demora de 1 segundomovwftiempo3callDEL250decfsztiempo3, 1goto$ -2return

DEL250movlwd'250';Demora de 1/4 de segundomovwftiempo2TOP2movlwd'110'movwftiempo1TOP1nopnopnopnopnopnopdecfsztiempo1, 1gotoTOP1decfsztiempo2, 1gotoTOP2return

BEEPFINmovlwd'7';Hace tres beep's largosmovwfvecescallBEEPdecfszveces, 1goto$ -2callDEL250movlwd'7'movwfvecescallBEEPdecfszveces, 1goto$ -2callDEL250movlwd'7'movwfvecescallBEEPdecfszveces, 1goto$ -2returnBEEPmovlwd'75'movwftiempo2bsfBUZZERcallDEL55bcfBUZZERcallDEL55decfsztiempo2, 1goto$ -5returnDEL55movlwd'55';Demora de medio milisegundomovwftiempo1T1nopnopnopnopnopnopdecfsztiempo1, 1gotoT1returnend

hex

:020000040000FA:10000000102882073F3406345B344F3466346D3435:100010007D3407347F346F34403479347134733431:10002000850186018701A501831606309F003F30B8:1000300085008601870183120A30012087000A307B:10004000A2008717F4218713F421851C2C28051C96:100050002C28A20B212836280D30012087002514DA:100060001522F421051C3128851C3128051A462843:100070000B30012087001522F4211522F4211522CE:100080000615051E4128EC21EC2106110130012046:1000900087001522F421051C4A28051C5228851CBE:1000A000E9284D280230012087001522F421051C83:1000B0005628051C5E28851CEF285928033001208E:1000C00087001522F421051C6228051C6A28851C5E:1000D000FC2865280430012087001522F421051C26:1000E0006E28051C7628851C0929712805300120F9:1000F00087001522F421051C7A28051C8228851CFE:1001000016297D280630012087001522F421051CC0:100110008628051C8E28851C23298928013001206A:10012000870087171522F421051C9328051C9B289E:10013000851C39299628023001208700871715224F:10014000F421051CA028051CA828851C3F29A328EC:1001500003300120870087171522F421051CAD28E4:10016000051CB528851C4D29B028043001208700C6:1001700087171522F421051CBA28051CC228851CE6:100180005B29BD2805300120870087171522F4213F:10019000051CC728051CCF28851C6929CA280630DC:1001A0000120870087171522F421051CD428051C7F:1001B000DC28851C7729D72807300120870087177E:1001C0001522F421051CE128051C4628851C8529DB:1001D000E42815229C219D210630A821B421152256:1001E000023001208700251CF7288518EF289C2164:1001F0009D210630A821B42115220330012087005B:10020000251C04298518FC289C219D210630A82145:10021000B4211522043001208700251C11298518DE:1002200009299C219D213330A821B42115220530B4:1002300001208700251C1E29851816299C219D2137:100240001830A821B4211522063001208700251C72:100250002B2985182329BB210C300120870003227C:10026000051830290A3001208700F421051C3529A2:10027000462815229C219D210630A821B421152253:100280000230012087008717251C482985183F293F:100290009C219D211530A821B42115220330012075:1002A00087008717251C562985184D299C219D21DB:1002B0001530A821B42115220430012087008717AA:1002C000251C642985185B299C219D213330A82198:1002D000B42115220530012087008717251C7229BB:1002E000851869299C219D211530A821B42115224A:1002F0000630012087008717251C8029851877295B:100300009C219D215A30A821B421152207300120BB:1003100087008717251C8E2985188529BB210C305D:10032000012087000322051893290A300120870045:10033000F421051C98298E28080086150519A32983:10034000851EA6299D29051EA6299D29861108001E:10035000A30086160708A400D92186122408870066:10036000EC21A30BA92908000615051EB529EC21CF:10037000EC210611080085190800051AC529061583:10038000051EC029EC21EC21061106170615EC21EB:10039000EC21EC21EC21EC21EC210430A30006152A:1003A000EC210611EC21EC21EC21A30BCF29061343:1003B00008000A30A200DF21A20BDB290800203050:1003C0008700F42101308700F42102308700F421F6:1003D00040308700F42108002830EF290430A200C3:1003E000F421A20BF0290800FA30A1006E30A00021:1003F000000000000000000000000000A00BF82931:10040000A10BF62908000730A3001522A30B052A2B:10041000F4210730A3001522A30B0B2AF421073087:10042000A3001522A30B112A08004B30A100861748:100430001E2286131E22A10B172A08003730A000A7:10044000000000000000000000000000A00B202AB7:020450000800A2:00000001FF