Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee

Resumen: El propósito de este proyecto es el diseño e implementación de un prototipo de red inalámbrica con topología tipo malla basada en el estándar ZigBee para comunicar de una manera efectiva, confiable y segura, la información recolectada por las unidades remotas hacia una unidad principal del...

Full description

Autores:
Londoño Roldán, Deisy Jomara
Tipo de recurso:
Fecha de publicación:
2018
Institución:
Pascual Bravo
Repositorio:
Pascual Bravo
Idioma:
spa
OAI Identifier:
oai:repositorio.pascualbravo.edu.co:pascualbravo/378
Acceso en línea:
https://repositorio.pascualbravo.edu.co/handle/pascualbravo/378
Palabra clave:
Alertas tempranas
Sensores
Red inalámbrica
Automatización
Rights
License
Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
id Pascual2_203be4338f1a7ebcd2af6d5d957e8434
oai_identifier_str oai:repositorio.pascualbravo.edu.co:pascualbravo/378
network_acronym_str Pascual2
network_name_str Pascual Bravo
repository_id_str
dc.title.es_ES.fl_str_mv Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
title Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
spellingShingle Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
Alertas tempranas
Sensores
Red inalámbrica
Automatización
title_short Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
title_full Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
title_fullStr Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
title_full_unstemmed Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
title_sort Prototipo de una red inalámbrica con topología tipo malla utilizando módulos XBee
dc.creator.fl_str_mv Londoño Roldán, Deisy Jomara
dc.contributor.advisor.none.fl_str_mv Ruiz Obando, Sergio Hernando
dc.contributor.author.none.fl_str_mv Londoño Roldán, Deisy Jomara
dc.subject.es_ES.fl_str_mv Alertas tempranas
Sensores
Red inalámbrica
Automatización
topic Alertas tempranas
Sensores
Red inalámbrica
Automatización
description Resumen: El propósito de este proyecto es el diseño e implementación de un prototipo de red inalámbrica con topología tipo malla basada en el estándar ZigBee para comunicar de una manera efectiva, confiable y segura, la información recolectada por las unidades remotas hacia una unidad principal del proyecto de investigación “Prototipo de un sistema de alerta temprana” que actualmente se está desarrollando en la Institución Universitaria Pascual Bravo. Para obtener los datos se utiliza un dispositivo terminal equipado con sensores para medir variables físicas como el nivel del agua, estos permiten al sistema obtener datos y enviarlos hacia un dispositivo principal utilizando la topología de comunicación inalámbrica mencionada. Para el desarrollo de esta investigación se llevaron a cabo varias fases, en donde la principal fue recolectar toda la información acerca de cómo funcionan los transceptores XBee, sus principales características y de qué manera se configura el tipo de red seleccionada para establecer todos los parámetros necesarios. En el desarrollo del proyecto se halló que para este tipo de red tipo malla es necesario configurar sólo un coordinador y los demás dispositivos como enrutadores; esto permite transmitir la información en ambos sentidos, lo que es ideal para el tipo de red. De esta manera se puede ubicar cada XBee en puntos estratégicos formando una malla para garantizar la efectiva comunicación entre todos los nodos de la red.
publishDate 2018
dc.date.issued.none.fl_str_mv 2018
dc.date.accessioned.none.fl_str_mv 2021-02-18T20:51:20Z
dc.date.available.none.fl_str_mv 2021-02-18T20:51:20Z
dc.type.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.local.spa.fl_str_mv Tesis/Trabajo de grado - Monografía - Pregrado
dc.identifier.uri.none.fl_str_mv https://repositorio.pascualbravo.edu.co/handle/pascualbravo/378
url https://repositorio.pascualbravo.edu.co/handle/pascualbravo/378
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.accessrights.spa.fl_str_mv http://purl.org/coar/access_right/c_16ec
dc.rights.creativecommons.spa.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
http://purl.org/coar/access_right/c_16ec
https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.place.spa.fl_str_mv Medellín, Colombia
institution Pascual Bravo
bitstream.url.fl_str_mv https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/1/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf
https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/2/license.txt
https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/3/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf.txt
https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/4/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf.jpg
bitstream.checksum.fl_str_mv 82fec038f64535943f0f4634da61bac5
b3b777f42875f2ba494072c0d3b7f491
3dafe4f4d779ac0b88e7e2ef70aafb22
ed3e548fc11cd1c08c6a5e50f2ea728d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Institucion Universitaria Pascual Bravo
repository.mail.fl_str_mv repositorio@pascualbravo.edu.co
_version_ 1814338307944873984
spelling Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autores.Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)http://creativecommons.org/licenses/by-nc-nd/2.5/co/http://purl.org/coar/access_right/c_16echttps://creativecommons.org/licenses/by-nc-nd/4.0/Ruiz Obando, Sergio HernandoLondoño Roldán, Deisy Jomara2021-02-18T20:51:20Z2021-02-18T20:51:20Z2018https://repositorio.pascualbravo.edu.co/handle/pascualbravo/378Resumen: El propósito de este proyecto es el diseño e implementación de un prototipo de red inalámbrica con topología tipo malla basada en el estándar ZigBee para comunicar de una manera efectiva, confiable y segura, la información recolectada por las unidades remotas hacia una unidad principal del proyecto de investigación “Prototipo de un sistema de alerta temprana” que actualmente se está desarrollando en la Institución Universitaria Pascual Bravo. Para obtener los datos se utiliza un dispositivo terminal equipado con sensores para medir variables físicas como el nivel del agua, estos permiten al sistema obtener datos y enviarlos hacia un dispositivo principal utilizando la topología de comunicación inalámbrica mencionada. Para el desarrollo de esta investigación se llevaron a cabo varias fases, en donde la principal fue recolectar toda la información acerca de cómo funcionan los transceptores XBee, sus principales características y de qué manera se configura el tipo de red seleccionada para establecer todos los parámetros necesarios. En el desarrollo del proyecto se halló que para este tipo de red tipo malla es necesario configurar sólo un coordinador y los demás dispositivos como enrutadores; esto permite transmitir la información en ambos sentidos, lo que es ideal para el tipo de red. De esta manera se puede ubicar cada XBee en puntos estratégicos formando una malla para garantizar la efectiva comunicación entre todos los nodos de la red.Abstract: The purpose of this Project is the design and implementation of a prototype of a wireless network with mesh typology using the ZigBee standard to communicate in an effective way, confidently and securely, the information collected by the remote units towards a principal unit the project of the investigation “Prototype of an early alert system” that is currently being developed at the Pascual Bravo University Institution. To obtain the data a terminal device equipped with sensors to measure physical variables in the water level is used, these permit the system to obtain data and send it to the primary device utilizing the wireless communication typology mentioned. For the development of this investigation several phases were undergone, of which the primary was to collect information about how the XBee transceivers function, their primary characteristics and in what manner the type of network selected is configured to establish all of the necessary parameters. It was found in the development of the project that for this type of mesh type network it is necessary to configure only one coordinator and the other devices as routers; this allows information to be transmitted in both directions, which is ideal for this type of network. In this manner each XBee can be located in strategic points forming a mesh to guarantee effective communication between all of the nodes of the network.application/pdfspaAlertas tempranasSensoresRed inalámbricaAutomatizaciónPrototipo de una red inalámbrica con topología tipo malla utilizando módulos XBeeinfo:eu-repo/semantics/bachelorThesisTexthttp://purl.org/coar/resource_type/c_7a1fhttps://purl.org/redcol/resource_type/TPTesis/Trabajo de grado - Monografía - PregradoPregradoMedellín, ColombiaFacultad de Ingeniería. Tecnología ElectrónicaInstitución Universitaria Pascual BravoPregradoTecnólogo (a) ElectrónicoORIGINALRep_IUPB_Tec_Electro_Red_Inalámbrica.pdfRep_IUPB_Tec_Electro_Red_Inalámbrica.pdfapplication/pdf1368862https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/1/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf82fec038f64535943f0f4634da61bac5MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-815204https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/2/license.txtb3b777f42875f2ba494072c0d3b7f491MD52TEXTRep_IUPB_Tec_Electro_Red_Inalámbrica.pdf.txtRep_IUPB_Tec_Electro_Red_Inalámbrica.pdf.txtExtracted texttext/plain48173https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/3/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf.txt3dafe4f4d779ac0b88e7e2ef70aafb22MD53THUMBNAILRep_IUPB_Tec_Electro_Red_Inalámbrica.pdf.jpgRep_IUPB_Tec_Electro_Red_Inalámbrica.pdf.jpgGenerated Thumbnailimage/jpeg1198https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/378/4/Rep_IUPB_Tec_Electro_Red_Inal%c3%a1mbrica.pdf.jpged3e548fc11cd1c08c6a5e50f2ea728dMD54pascualbravo/378oai:repositorio.pascualbravo.edu.co:pascualbravo/3782022-09-14 06:08:43.163Institucion Universitaria Pascual Bravorepositorio@pascualbravo.edu.coUXVlZGEgdW4gw7psdGltbyBwYXNvOiBwYXJhIHBlcm1pdGlyIGEgRFNwYWNlIHJlcHJvZHVjaXIsIHRyYWR1Y2lyIHkgZGlzdHJpYnVpciBzdSBlbnbDrW8gYSB0cmF2w6lzIGRlbCBtdW5kbywgbmVjZXNpdGFtb3Mgc3UgY29uZm9ybWlkYWQgZW4gbG9zIHNpZ3VpZW50ZXMgdMOpcm1pbm9zLgoKQ29uY2VkYSBsYSBsaWNlbmNpYSBkZSBkaXN0cmlidWNpw7NuIGVzdMOhbmRhciBzZWxlY2Npb25hbmRvICdDb25jZWRlciBsaWNlbmNpYScgeSBwdWxzYW5kbyAnQ29tcGxldGFyIGVudsOtbycuCgpMQSBPQlJBIChUQUwgWSBDT01PIFNFIERFRklORSBNw4FTIEFERUxBTlRFKSBTRSBPVE9SR0EgQkFKTyBMT1MgVEVSTUlOT1MgREUgRVNUQSBMSUNFTkNJQSBQw5pCTElDQSBERSBDUkVBVElWRSBDT01NT05TICjigJxMUEND4oCdIE8g4oCcTElDRU5DSUHigJ0pLiBMQSBPQlJBIEVTVMOBIFBST1RFR0lEQSBQT1IgREVSRUNIT1MgREUgQVVUT1IgWS9VIE9UUkFTIExFWUVTIEFQTElDQUJMRVMuIFFVRURBIFBST0hJQklETyBDVUFMUVVJRVIgVVNPIFFVRSBTRSBIQUdBIERFIExBIE9CUkEgUVVFIE5PIENVRU5URSBDT04gTEEgQVVUT1JJWkFDScOTTiBQRVJUSU5FTlRFIERFIENPTkZPUk1JREFEIENPTiBMT1MgVMOJUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgWSBERSBMQSBMRVkgREUgREVSRUNITyBERSBBVVRPUi4KCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4gMS4gRGVmaW5pY2lvbmVzCgphLiBPYnJhIENvbGVjdGl2YSBlcyB1bmEgb2JyYSwgdGFsIGNvbW8gdW5hIHB1YmxpY2FjacOzbiBwZXJpw7NkaWNhLCB1bmEgYW50b2xvZ8OtYSwgbyB1bmEgZW5jaWNsb3BlZGlhLCBlbiBsYSBxdWUgbGEgb2JyYSBlbiBzdSB0b3RhbGlkYWQsIHNpbiBtb2RpZmljYWNpw7NuIGFsZ3VuYSwganVudG8gY29uIHVuIGdydXBvIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzIHF1ZSBjb25zdGl0dXllbiBvYnJhcyBzZXBhcmFkYXMgZSBpbmRlcGVuZGllbnRlcyBlbiBzw60gbWlzbWFzLCBzZSBpbnRlZ3JhbiBlbiB1biB0b2RvIGNvbGVjdGl2by4gVW5hIE9icmEgcXVlIGNvbnN0aXR1eWUgdW5hIG9icmEgY29sZWN0aXZhIG5vIHNlIGNvbnNpZGVyYXLDoSB1bmEgT2JyYSBEZXJpdmFkYSAoY29tbyBzZSBkZWZpbmUgYWJham8pIHBhcmEgbG9zIHByb3DDs3NpdG9zIGRlIGVzdGEgbGljZW5jaWEuIGFxdWVsbGEgcHJvZHVjaWRhIHBvciB1biBncnVwbyBkZSBhdXRvcmVzLCBlbiBxdWUgbGEgT2JyYSBzZSBlbmN1ZW50cmEgc2luIG1vZGlmaWNhY2lvbmVzLCBqdW50byBjb24gdW5hIGNpZXJ0YSBjYW50aWRhZCBkZSBvdHJhcyBjb250cmlidWNpb25lcywgcXVlIGNvbnN0aXR1eWVuIGVuIHPDrSBtaXNtb3MgdHJhYmFqb3Mgc2VwYXJhZG9zIGUgaW5kZXBlbmRpZW50ZXMsIHF1ZSBzb24gaW50ZWdyYWRvcyBhbCB0b2RvIGNvbGVjdGl2bywgdGFsZXMgY29tbyBwdWJsaWNhY2lvbmVzIHBlcmnDs2RpY2FzLCBhbnRvbG9nw61hcyBvIGVuY2ljbG9wZWRpYXMuCgpiLiBPYnJhIERlcml2YWRhIHNpZ25pZmljYSB1bmEgb2JyYSBiYXNhZGEgZW4gbGEgb2JyYSBvYmpldG8gZGUgZXN0YSBsaWNlbmNpYSBvIGVuIMOpc3RhIHkgb3RyYXMgb2JyYXMgcHJlZXhpc3RlbnRlcywgdGFsZXMgY29tbyB0cmFkdWNjaW9uZXMsIGFycmVnbG9zIG11c2ljYWxlcywgZHJhbWF0aXphY2lvbmVzLCDigJxmaWNjaW9uYWxpemFjaW9uZXPigJ0sIHZlcnNpb25lcyBwYXJhIGNpbmUsIOKAnGdyYWJhY2lvbmVzIGRlIHNvbmlkb+KAnSwgcmVwcm9kdWNjaW9uZXMgZGUgYXJ0ZSwgcmVzw7ptZW5lcywgY29uZGVuc2FjaW9uZXMsIG8gY3VhbHF1aWVyIG90cmEgZW4gbGEgcXVlIGxhIG9icmEgcHVlZGEgc2VyIHRyYW5zZm9ybWFkYSwgY2FtYmlhZGEgbyBhZGFwdGFkYSwgZXhjZXB0byBhcXVlbGxhcyBxdWUgY29uc3RpdHV5YW4gdW5hIG9icmEgY29sZWN0aXZhLCBsYXMgcXVlIG5vIHNlcsOhbiBjb25zaWRlcmFkYXMgdW5hIG9icmEgZGVyaXZhZGEgcGFyYSBlZmVjdG9zIGRlIGVzdGEgbGljZW5jaWEuIChQYXJhIGV2aXRhciBkdWRhcywgZW4gZWwgY2FzbyBkZSBxdWUgbGEgT2JyYSBzZWEgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsIG8gdW5hIGdyYWJhY2nDs24gc29ub3JhLCBwYXJhIGxvcyBlZmVjdG9zIGRlIGVzdGEgTGljZW5jaWEgbGEgc2luY3Jvbml6YWNpw7NuIHRlbXBvcmFsIGRlIGxhIE9icmEgY29uIHVuYSBpbWFnZW4gZW4gbW92aW1pZW50byBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgcGFyYSBsb3MgZmluZXMgZGUgZXN0YSBsaWNlbmNpYSkuCgpjLiBMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgoKZC4gQXV0b3Igb3JpZ2luYWwsIGVzIGVsIGluZGl2aWR1byBxdWUgY3Jlw7MgbGEgT2JyYS4KCmUuIE9icmEsIGVzIGFxdWVsbGEgb2JyYSBzdXNjZXB0aWJsZSBkZSBwcm90ZWNjacOzbiBwb3IgZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciB5IHF1ZSBlcyBvZnJlY2lkYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEKCmYuIFVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoKMi4gRGVyZWNob3MgZGUgVXNvcyBIb25yYWRvcyB5IGV4Y2VwY2lvbmVzIExlZ2FsZXMuIE5hZGEgZW4gZXN0YSBMaWNlbmNpYSBwb2Ryw6Egc2VyIGludGVycHJldGFkbyBjb21vIHVuYSBkaXNtaW51Y2nDs24sIGxpbWl0YWNpw7NuIG8gcmVzdHJpY2Npw7NuIGRlIGxvcyBkZXJlY2hvcyBkZXJpdmFkb3MgZGVsIHVzbyBob25yYWRvIHkgb3RyYXMgbGltaXRhY2lvbmVzIG8gZXhjZXBjaW9uZXMgYSBsb3MgZGVyZWNob3MgZGVsIGF1dG9yIGJham8gZWwgcsOpZ2ltZW4gbGVnYWwgdmlnZW50ZSBvIGRlcml2YWRvIGRlIGN1YWxxdWllciBvdHJhIG5vcm1hIHF1ZSBzZSBsZSBhcGxpcXVlLgoKMy4gQ29uY2VzacOzbiBkZSBsYSBMaWNlbmNpYS4gQmFqbyBsb3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgZWwgTGljZW5jaWFudGUgb3RvcmdhIGEgVXN0ZWQgdW5hIGxpY2VuY2lhIG11bmRpYWwsIGxpYnJlIGRlIHJlZ2Fsw61hcywgbm8gZXhjbHVzaXZhIHkgcGVycGV0dWEgKGR1cmFudGUgdG9kbyBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IpIHBhcmEgZWplcmNlciBlc3RvcyBkZXJlY2hvcyBzb2JyZSBsYSBPYnJhIHRhbCB5IGNvbW8gc2UgaW5kaWNhIGEgY29udGludWFjacOzbjoKCmEuIFJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXMuCgpiLiBEaXN0cmlidWlyIGNvcGlhcyBvIGZvbm9ncmFtYXMgZGUgbGFzIE9icmFzLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLCBpbmNsdXnDqW5kb2xhcyBjb21vIGluY29ycG9yYWRhcyBlbiBPYnJhcyBDb2xlY3RpdmFzLCBzZWfDum4gY29ycmVzcG9uZGEuCgpjLiBEaXN0cmlidWlyIGNvcGlhcyBkZSBsYXMgT2JyYXMgRGVyaXZhZGFzIHF1ZSBzZSBnZW5lcmVuLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBMb3MgZGVyZWNob3MgbWVuY2lvbmFkb3MgYW50ZXJpb3JtZW50ZSBwdWVkZW4gc2VyIGVqZXJjaWRvcyBlbiB0b2RvcyBsb3MgbWVkaW9zIHkgZm9ybWF0b3MsIGFjdHVhbG1lbnRlIGNvbm9jaWRvcyBvIHF1ZSBzZSBpbnZlbnRlbiBlbiBlbCBmdXR1cm8uIExvcyBkZXJlY2hvcyBhbnRlcyBtZW5jaW9uYWRvcyBpbmNsdXllbiBlbCBkZXJlY2hvIGEgcmVhbGl6YXIgZGljaGFzIG1vZGlmaWNhY2lvbmVzIGVuIGxhIG1lZGlkYSBxdWUgc2VhbiB0w6ljbmljYW1lbnRlIG5lY2VzYXJpYXMgcGFyYSBlamVyY2VyIGxvcyBkZXJlY2hvcyBlbiBvdHJvIG1lZGlvIG8gZm9ybWF0b3MsIHBlcm8gZGUgb3RyYSBtYW5lcmEgdXN0ZWQgbm8gZXN0w6EgYXV0b3JpemFkbyBwYXJhIHJlYWxpemFyIG9icmFzIGRlcml2YWRhcy4gVG9kb3MgbG9zIGRlcmVjaG9zIG5vIG90b3JnYWRvcyBleHByZXNhbWVudGUgcG9yIGVsIExpY2VuY2lhbnRlIHF1ZWRhbiBwb3IgZXN0ZSBtZWRpbyByZXNlcnZhZG9zLCBpbmNsdXllbmRvIHBlcm8gc2luIGxpbWl0YXJzZSBhIGFxdWVsbG9zIHF1ZSBzZSBtZW5jaW9uYW4gZW4gbGFzIHNlY2Npb25lcyA0KGQpIHkgNChlKS4KCjQuIFJlc3RyaWNjaW9uZXMuIExhIGxpY2VuY2lhIG90b3JnYWRhIGVuIGxhIGFudGVyaW9yIFNlY2Npw7NuIDMgZXN0w6EgZXhwcmVzYW1lbnRlIHN1amV0YSB5IGxpbWl0YWRhIHBvciBsYXMgc2lndWllbnRlcyByZXN0cmljY2lvbmVzOgoKYS4gVXN0ZWQgcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgc8OzbG8gYmFqbyBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgeSBVc3RlZCBkZWJlIGluY2x1aXIgdW5hIGNvcGlhIGRlIGVzdGEgbGljZW5jaWEgbyBkZWwgSWRlbnRpZmljYWRvciBVbml2ZXJzYWwgZGUgUmVjdXJzb3MgZGUgbGEgbWlzbWEgY29uIGNhZGEgY29waWEgZGUgbGEgT2JyYSBxdWUgZGlzdHJpYnV5YSwgZXhoaWJhIHDDumJsaWNhbWVudGUsIGVqZWN1dGUgcMO6YmxpY2FtZW50ZSBvIHBvbmdhIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBObyBlcyBwb3NpYmxlIG9mcmVjZXIgbyBpbXBvbmVyIG5pbmd1bmEgY29uZGljacOzbiBzb2JyZSBsYSBPYnJhIHF1ZSBhbHRlcmUgbyBsaW1pdGUgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgbyBlbCBlamVyY2ljaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGxvcyBkZXN0aW5hdGFyaW9zIG90b3JnYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gTm8gZXMgcG9zaWJsZSBzdWJsaWNlbmNpYXIgbGEgT2JyYS4gVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RvcyB0b2RvcyBsb3MgYXZpc29zIHF1ZSBoYWdhbiByZWZlcmVuY2lhIGEgZXN0YSBMaWNlbmNpYSB5IGEgbGEgY2zDoXVzdWxhIGRlIGxpbWl0YWNpw7NuIGRlIGdhcmFudMOtYXMuIFVzdGVkIG5vIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIGNvbiBhbGd1bmEgbWVkaWRhIHRlY25vbMOzZ2ljYSBxdWUgY29udHJvbGUgZWwgYWNjZXNvIG8gbGEgdXRpbGl6YWNpw7NuIGRlIGVsbGEgZGUgdW5hIGZvcm1hIHF1ZSBzZWEgaW5jb25zaXN0ZW50ZSBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIExvIGFudGVyaW9yIHNlIGFwbGljYSBhIGxhIE9icmEgaW5jb3Jwb3JhZGEgYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHBlcm8gZXN0byBubyBleGlnZSBxdWUgbGEgT2JyYSBDb2xlY3RpdmEgYXBhcnRlIGRlIGxhIG9icmEgbWlzbWEgcXVlZGUgc3VqZXRhIGEgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIFNpIFVzdGVkIGNyZWEgdW5hIE9icmEgQ29sZWN0aXZhLCBwcmV2aW8gYXZpc28gZGUgY3VhbHF1aWVyIExpY2VuY2lhbnRlIGRlYmUsIGVuIGxhIG1lZGlkYSBkZSBsbyBwb3NpYmxlLCBlbGltaW5hciBkZSBsYSBPYnJhIENvbGVjdGl2YSBjdWFscXVpZXIgcmVmZXJlbmNpYSBhIGRpY2hvIExpY2VuY2lhbnRlIG8gYWwgQXV0b3IgT3JpZ2luYWwsIHNlZ8O6biBsbyBzb2xpY2l0YWRvIHBvciBlbCBMaWNlbmNpYW50ZSB5IGNvbmZvcm1lIGxvIGV4aWdlIGxhIGNsw6F1c3VsYSA0KGMpLgoKYi4gVXN0ZWQgbm8gcHVlZGUgZWplcmNlciBuaW5ndW5vIGRlIGxvcyBkZXJlY2hvcyBxdWUgbGUgaGFuIHNpZG8gb3RvcmdhZG9zIGVuIGxhIFNlY2Npw7NuIDMgcHJlY2VkZW50ZSBkZSBtb2RvIHF1ZSBlc3TDqW4gcHJpbmNpcGFsbWVudGUgZGVzdGluYWRvcyBvIGRpcmVjdGFtZW50ZSBkaXJpZ2lkb3MgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuIEVsIGludGVyY2FtYmlvIGRlIGxhIE9icmEgcG9yIG90cmFzIG9icmFzIHByb3RlZ2lkYXMgcG9yIGRlcmVjaG9zIGRlIGF1dG9yLCB5YSBzZWEgYSB0cmF2w6lzIGRlIHVuIHNpc3RlbWEgcGFyYSBjb21wYXJ0aXIgYXJjaGl2b3MgZGlnaXRhbGVzIChkaWdpdGFsIGZpbGUtc2hhcmluZykgbyBkZSBjdWFscXVpZXIgb3RyYSBtYW5lcmEgbm8gc2Vyw6EgY29uc2lkZXJhZG8gY29tbyBlc3RhciBkZXN0aW5hZG8gcHJpbmNpcGFsbWVudGUgbyBkaXJpZ2lkbyBkaXJlY3RhbWVudGUgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEsIHNpZW1wcmUgcXVlIG5vIHNlIHJlYWxpY2UgdW4gcGFnbyBtZWRpYW50ZSB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgZW4gcmVsYWNpw7NuIGNvbiBlbCBpbnRlcmNhbWJpbyBkZSBvYnJhcyBwcm90ZWdpZGFzIHBvciBlbCBkZXJlY2hvIGRlIGF1dG9yLgoKYy4gU2kgdXN0ZWQgZGlzdHJpYnV5ZSwgZXhoaWJlIHDDumJsaWNhbWVudGUsIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBvIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBlbiBmb3JtYSBkaWdpdGFsIGxhIE9icmEgbyBjdWFscXVpZXIgT2JyYSBEZXJpdmFkYSB1IE9icmEgQ29sZWN0aXZhLCBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdGEgdG9kYSBsYSBpbmZvcm1hY2nDs24gZGUgZGVyZWNobyBkZSBhdXRvciBkZSBsYSBPYnJhIHkgcHJvcG9yY2lvbmFyLCBkZSBmb3JtYSByYXpvbmFibGUgc2Vnw7puIGVsIG1lZGlvIG8gbWFuZXJhIHF1ZSBVc3RlZCBlc3TDqSB1dGlsaXphbmRvOiAoaSkgZWwgbm9tYnJlIGRlbCBBdXRvciBPcmlnaW5hbCBzaSBlc3TDoSBwcm92aXN0byAobyBzZXVkw7NuaW1vLCBzaSBmdWVyZSBhcGxpY2FibGUpLCB5L28gKGlpKSBlbCBub21icmUgZGUgbGEgcGFydGUgbyBsYXMgcGFydGVzIHF1ZSBlbCBBdXRvciBPcmlnaW5hbCB5L28gZWwgTGljZW5jaWFudGUgaHViaWVyZW4gZGVzaWduYWRvIHBhcmEgbGEgYXRyaWJ1Y2nDs24gKHYuZy4sIHVuIGluc3RpdHV0byBwYXRyb2NpbmFkb3IsIGVkaXRvcmlhbCwgcHVibGljYWNpw7NuKSBlbiBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlbCBMaWNlbmNpYW50ZSwgdMOpcm1pbm9zIGRlIHNlcnZpY2lvcyBvIGRlIG90cmFzIGZvcm1hcyByYXpvbmFibGVzOyBlbCB0w610dWxvIGRlIGxhIE9icmEgc2kgZXN0w6EgcHJvdmlzdG87IGVuIGxhIG1lZGlkYSBkZSBsbyByYXpvbmFibGVtZW50ZSBmYWN0aWJsZSB5LCBzaSBlc3TDoSBwcm92aXN0bywgZWwgSWRlbnRpZmljYWRvciBVbmlmb3JtZSBkZSBSZWN1cnNvcyAoVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyKSBxdWUgZWwgTGljZW5jaWFudGUgZXNwZWNpZmljYSBwYXJhIHNlciBhc29jaWFkbyBjb24gbGEgT2JyYSwgc2Fsdm8gcXVlIHRhbCBVUkkgbm8gc2UgcmVmaWVyYSBhIGxhIG5vdGEgc29icmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIG8gYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgbGljZW5jaWFtaWVudG8gZGUgbGEgT2JyYTsgeSBlbiBlbCBjYXNvIGRlIHVuYSBPYnJhIERlcml2YWRhLCBhdHJpYnVpciBlbCBjcsOpZGl0byBpZGVudGlmaWNhbmRvIGVsIHVzbyBkZSBsYSBPYnJhIGVuIGxhIE9icmEgRGVyaXZhZGEgKHYuZy4sICJUcmFkdWNjacOzbiBGcmFuY2VzYSBkZSBsYSBPYnJhIGRlbCBBdXRvciBPcmlnaW5hbCwiIG8gIkd1acOzbiBDaW5lbWF0b2dyw6FmaWNvIGJhc2FkbyBlbiBsYSBPYnJhIG9yaWdpbmFsIGRlbCBBdXRvciBPcmlnaW5hbCIpLiBUYWwgY3LDqWRpdG8gcHVlZGUgc2VyIGltcGxlbWVudGFkbyBkZSBjdWFscXVpZXIgZm9ybWEgcmF6b25hYmxlOyBlbiBlbCBjYXNvLCBzaW4gZW1iYXJnbywgZGUgT2JyYXMgRGVyaXZhZGFzIHUgT2JyYXMgQ29sZWN0aXZhcywgdGFsIGNyw6lkaXRvIGFwYXJlY2Vyw6EsIGNvbW8gbcOtbmltbywgZG9uZGUgYXBhcmVjZSBlbCBjcsOpZGl0byBkZSBjdWFscXVpZXIgb3RybyBhdXRvciBjb21wYXJhYmxlIHkgZGUgdW5hIG1hbmVyYSwgYWwgbWVub3MsIHRhbiBkZXN0YWNhZGEgY29tbyBlbCBjcsOpZGl0byBkZSBvdHJvIGF1dG9yIGNvbXBhcmFibGUuCgpkLiBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIGVzIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbDoKCmkuIFJlZ2Fsw61hcyBwb3IgaW50ZXJwcmV0YWNpw7NuIHkgZWplY3VjacOzbiBiYWpvIGxpY2VuY2lhcyBnZW5lcmFsZXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSB5IGRlIHJlY29sZWN0YXIsIHNlYSBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBTQVlDTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvIFdlYmNhc3QpIGxpY2VuY2lhZGEgYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLCBzaSBsYSBpbnRlcnByZXRhY2nDs24gbyBlamVjdWNpw7NuIGRlIGxhIG9icmEgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIG9yaWVudGFkYSBwb3IgbyBkaXJpZ2lkYSBhIGxhIG9idGVuY2nDs24gZGUgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgppaS4gUmVnYWzDrWFzIHBvciBGb25vZ3JhbWFzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIGxvcyBjb25zYWdyYWRvcyBwb3IgbGEgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KCmUuIEdlc3Rpw7NuIGRlIERlcmVjaG9zIGRlIEF1dG9yIHNvYnJlIEludGVycHJldGFjaW9uZXMgeSBFamVjdWNpb25lcyBEaWdpdGFsZXMgKFdlYkNhc3RpbmcpLiBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIHNlYSB1biBmb25vZ3JhbWEsIGVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCkgeSBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBBQ0lOUFJPKSwgbGFzIHJlZ2Fsw61hcyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSwgc3VqZXRhIGEgbGFzIGRpc3Bvc2ljaW9uZXMgYXBsaWNhYmxlcyBkZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciwgc2kgZXN0YSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KCjUuIFJlcHJlc2VudGFjaW9uZXMsIEdhcmFudMOtYXMgeSBMaW1pdGFjaW9uZXMgZGUgUmVzcG9uc2FiaWxpZGFkLiBBIE1FTk9TIFFVRSBMQVMgUEFSVEVTIExPIEFDT1JEQVJBTiBERSBPVFJBIEZPUk1BIFBPUiBFU0NSSVRPLCBFTCBMSUNFTkNJQU5URSBPRlJFQ0UgTEEgT0JSQSAoRU4gRUwgRVNUQURPIEVOIEVMIFFVRSBTRSBFTkNVRU5UUkEpIOKAnFRBTCBDVUFM4oCdLCBTSU4gQlJJTkRBUiBHQVJBTlTDjUFTIERFIENMQVNFIEFMR1VOQSBSRVNQRUNUTyBERSBMQSBPQlJBLCBZQSBTRUEgRVhQUkVTQSwgSU1QTMONQ0lUQSwgTEVHQUwgTyBDVUFMUVVJRVJBIE9UUkEsIElOQ0xVWUVORE8sIFNJTiBMSU1JVEFSU0UgQSBFTExBUywgR0FSQU5Uw41BUyBERSBUSVRVTEFSSURBRCwgQ09NRVJDSUFCSUxJREFELCBBREFQVEFCSUxJREFEIE8gQURFQ1VBQ0nDk04gQSBQUk9Qw5NTSVRPIERFVEVSTUlOQURPLCBBVVNFTkNJQSBERSBJTkZSQUNDScOTTiwgREUgQVVTRU5DSUEgREUgREVGRUNUT1MgTEFURU5URVMgTyBERSBPVFJPIFRJUE8sIE8gTEEgUFJFU0VOQ0lBIE8gQVVTRU5DSUEgREUgRVJST1JFUywgU0VBTiBPIE5PIERFU0NVQlJJQkxFUyAoUFVFREFOIE8gTk8gU0VSIEVTVE9TIERFU0NVQklFUlRPUykuIEFMR1VOQVMgSlVSSVNESUNDSU9ORVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBHQVJBTlTDjUFTIElNUEzDjUNJVEFTLCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgoKNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLiBBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgoKNy4gVMOpcm1pbm8uCgphLiBFc3RhIExpY2VuY2lhIHkgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBlbiB2aXJ0dWQgZGUgZWxsYSB0ZXJtaW5hcsOhbiBhdXRvbcOhdGljYW1lbnRlIHNpIFVzdGVkIGluZnJpbmdlIGFsZ3VuYSBjb25kaWNpw7NuIGVzdGFibGVjaWRhIGVuIGVsbGEuIFNpbiBlbWJhcmdvLCBsb3MgaW5kaXZpZHVvcyBvIGVudGlkYWRlcyBxdWUgaGFuIHJlY2liaWRvIE9icmFzIERlcml2YWRhcyBvIENvbGVjdGl2YXMgZGUgVXN0ZWQgZGUgY29uZm9ybWlkYWQgY29uIGVzdGEgTGljZW5jaWEsIG5vIHZlcsOhbiB0ZXJtaW5hZGFzIHN1cyBsaWNlbmNpYXMsIHNpZW1wcmUgcXVlIGVzdG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgc2lnYW4gY3VtcGxpZW5kbyDDrW50ZWdyYW1lbnRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhcyBsaWNlbmNpYXMuIExhcyBTZWNjaW9uZXMgMSwgMiwgNSwgNiwgNywgeSA4IHN1YnNpc3RpcsOhbiBhIGN1YWxxdWllciB0ZXJtaW5hY2nDs24gZGUgZXN0YSBMaWNlbmNpYS4KCmIuIFN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgoKOC4gVmFyaW9zLgoKYS4gQ2FkYSB2ZXogcXVlIFVzdGVkIGRpc3RyaWJ1eWEgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIG8gdW5hIE9icmEgQ29sZWN0aXZhLCBlbCBMaWNlbmNpYW50ZSBvZnJlY2Vyw6EgYWwgZGVzdGluYXRhcmlvIHVuYSBsaWNlbmNpYSBlbiBsb3MgbWlzbW9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIHF1ZSBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhIFVzdGVkIGJham8gZXN0YSBMaWNlbmNpYS4KCmIuIFNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgoKYy4gTmluZ8O6biB0w6lybWlubyBvIGRpc3Bvc2ljacOzbiBkZSBlc3RhIExpY2VuY2lhIHNlIGVzdGltYXLDoSByZW51bmNpYWRhIHkgbmluZ3VuYSB2aW9sYWNpw7NuIGRlIGVsbGEgc2Vyw6EgY29uc2VudGlkYSBhIG1lbm9zIHF1ZSBlc2EgcmVudW5jaWEgbyBjb25zZW50aW1pZW50byBzZWEgb3RvcmdhZG8gcG9yIGVzY3JpdG8geSBmaXJtYWRvIHBvciBsYSBwYXJ0ZSBxdWUgcmVudW5jaWUgbyBjb25zaWVudGEuCgpkLiBFc3RhIExpY2VuY2lhIHJlZmxlamEgZWwgYWN1ZXJkbyBwbGVubyBlbnRyZSBsYXMgcGFydGVzIHJlc3BlY3RvIGEgbGEgT2JyYSBhcXXDrSBsaWNlbmNpYWRhLiBObyBoYXkgYXJyZWdsb3MsIGFjdWVyZG9zIG8gZGVjbGFyYWNpb25lcyByZXNwZWN0byBhIGxhIE9icmEgcXVlIG5vIGVzdMOpbiBlc3BlY2lmaWNhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBFbCBMaWNlbmNpYW50ZSBubyBzZSB2ZXLDoSBsaW1pdGFkbyBwb3IgbmluZ3VuYSBkaXNwb3NpY2nDs24gYWRpY2lvbmFsIHF1ZSBwdWVkYSBzdXJnaXIgZW4gYWxndW5hIGNvbXVuaWNhY2nDs24gZW1hbmFkYSBkZSBVc3RlZC4gRXN0YSBMaWNlbmNpYSBubyBwdWVkZSBzZXIgbW9kaWZpY2FkYSBzaW4gZWwgY29uc2VudGltaWVudG8gbXV0dW8gcG9yIGVzY3JpdG8gZGVsIExpY2VuY2lhbnRlIHkgVXN0ZWQuCgpTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4K