Prototipo de CNC controlado por Arduino
Resumen: En este trabajo se realiza el prototipo de una maquina CNC controlada por arduino, cuyo propósito es la optimización de procesos de manufactura que se llevan de una forma manual, siendo este un sistema automatizado lo suficientemente eficiente que mejora el tiempo y precisión de la manufact...
- Autores:
-
Cuervo Cruz, Gustavo
Carvajal Espinosa, Laura
Álvarez Ortiz, Santiago
- Tipo de recurso:
- Fecha de publicación:
- 2016
- Institución:
- Pascual Bravo
- Repositorio:
- Pascual Bravo
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.pascualbravo.edu.co:pascualbravo/465
- Acceso en línea:
- https://repositorio.pascualbravo.edu.co/handle/pascualbravo/465
- Palabra clave:
- Arduino
Motores
Máquina fresadora
- Rights
- License
- Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
id |
Pascual2_ef4884c00ff9b885213ef8fa4add3fb0 |
---|---|
oai_identifier_str |
oai:repositorio.pascualbravo.edu.co:pascualbravo/465 |
network_acronym_str |
Pascual2 |
network_name_str |
Pascual Bravo |
repository_id_str |
|
dc.title.es_ES.fl_str_mv |
Prototipo de CNC controlado por Arduino |
title |
Prototipo de CNC controlado por Arduino |
spellingShingle |
Prototipo de CNC controlado por Arduino Arduino Motores Máquina fresadora |
title_short |
Prototipo de CNC controlado por Arduino |
title_full |
Prototipo de CNC controlado por Arduino |
title_fullStr |
Prototipo de CNC controlado por Arduino |
title_full_unstemmed |
Prototipo de CNC controlado por Arduino |
title_sort |
Prototipo de CNC controlado por Arduino |
dc.creator.fl_str_mv |
Cuervo Cruz, Gustavo Carvajal Espinosa, Laura Álvarez Ortiz, Santiago |
dc.contributor.advisor.none.fl_str_mv |
Agudelo Vegliante, Alfonso Luis |
dc.contributor.author.none.fl_str_mv |
Cuervo Cruz, Gustavo Carvajal Espinosa, Laura Álvarez Ortiz, Santiago |
dc.subject.es_ES.fl_str_mv |
Arduino Motores Máquina fresadora |
topic |
Arduino Motores Máquina fresadora |
description |
Resumen: En este trabajo se realiza el prototipo de una maquina CNC controlada por arduino, cuyo propósito es la optimización de procesos de manufactura que se llevan de una forma manual, siendo este un sistema automatizado lo suficientemente eficiente que mejora el tiempo y precisión de la manufactura que se lleve a cabo. Éste prototipo consta principalmente de una parte mecánica y otra eléctrica; en la parte mecánica, cuenta con una estructura en madera MDF que soporta los ejes X, Y, Z los cuales permiten el desplazamiento tanto del área de trabajo como de la herramienta de fresado. En dichos ejes se encuentran motores paso a paso, ejes roscados, acoples flexibles, rodamientos lineales de bolas, soportes, entre otros; y en la parte eléctrica se tiene como tarjeta madre un Arduino Uno en conjunto de una tarjeta electrónica CNC Shield, cuya función principal es controlar por medio de unos drivers los pasos que se requiere para determinar que tanto se quiere mover los motores (Este es alimentado Por una fuente de 12 Voltios a 3 Amperios). |
publishDate |
2016 |
dc.date.issued.none.fl_str_mv |
2016 |
dc.date.accessioned.none.fl_str_mv |
2021-03-09T21:52:31Z |
dc.date.available.none.fl_str_mv |
2021-03-09T21:52:31Z |
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/465 |
url |
https://repositorio.pascualbravo.edu.co/handle/pascualbravo/465 |
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/465/1/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/2/license.txt https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/3/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.txt https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/4/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.jpg |
bitstream.checksum.fl_str_mv |
3f45f72c07c0979292981e3f8811d6be b3b777f42875f2ba494072c0d3b7f491 1b22b8c0f520b731ca31cc560b39e95e e5e32a686a76422d4e6f50e23e269741 |
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_ |
1814338297422413824 |
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/Agudelo Vegliante, Alfonso LuisCuervo Cruz, GustavoCarvajal Espinosa, LauraÁlvarez Ortiz, Santiago2021-03-09T21:52:31Z2021-03-09T21:52:31Z2016https://repositorio.pascualbravo.edu.co/handle/pascualbravo/465Resumen: En este trabajo se realiza el prototipo de una maquina CNC controlada por arduino, cuyo propósito es la optimización de procesos de manufactura que se llevan de una forma manual, siendo este un sistema automatizado lo suficientemente eficiente que mejora el tiempo y precisión de la manufactura que se lleve a cabo. Éste prototipo consta principalmente de una parte mecánica y otra eléctrica; en la parte mecánica, cuenta con una estructura en madera MDF que soporta los ejes X, Y, Z los cuales permiten el desplazamiento tanto del área de trabajo como de la herramienta de fresado. En dichos ejes se encuentran motores paso a paso, ejes roscados, acoples flexibles, rodamientos lineales de bolas, soportes, entre otros; y en la parte eléctrica se tiene como tarjeta madre un Arduino Uno en conjunto de una tarjeta electrónica CNC Shield, cuya función principal es controlar por medio de unos drivers los pasos que se requiere para determinar que tanto se quiere mover los motores (Este es alimentado Por una fuente de 12 Voltios a 3 Amperios).Abstract: In this work the prototype of a CNC machine controlled by arduino is realized, whose purpose is the optimization of manufacturing processes that are carried out in a manual way, being this an automated system sufficiently efficient that improves the time and precision of the manufacture that is carried out. This prototype consists mainly of a mechanical and an electrical part; In the mechanical part, has a structure in MDF wood that supports the X, Y, Z axes which allow the movement of both the work area and the milling tool. These axes include stepper motors, threaded shafts, flexible couplings, linear ball bearings, supports, among others; And the electrical part has as its motherboard an Arduino Uno in conjunction with an electronic card CNC Shield, whose main function is to control by means of some drivers the steps that is required to determine how much you want to move the motors (This is powered for a source of 12 Volts to 3 Amperes).application/pdfspaArduinoMotoresMáquina fresadoraPrototipo de CNC controlado por Arduinoinfo: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 en Mecánica IndustrialInstitución Universitaria Pascual BravoPregradoTecnólogo (a) en Mecánica IndustrialORIGINALRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdfRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdfapplication/pdf2981733https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/1/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf3f45f72c07c0979292981e3f8811d6beMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-815204https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/2/license.txtb3b777f42875f2ba494072c0d3b7f491MD52TEXTRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.txtRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.txtExtracted texttext/plain121249https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/3/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.txt1b22b8c0f520b731ca31cc560b39e95eMD53THUMBNAILRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.jpgRep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.jpgGenerated Thumbnailimage/jpeg1402https://repositorio.pascualbravo.edu.co/bitstream/pascualbravo/465/4/Rep_IUPB_Tec_Mec_Ind_CNC_Controlado.pdf.jpge5e32a686a76422d4e6f50e23e269741MD54pascualbravo/465oai:repositorio.pascualbravo.edu.co:pascualbravo/4652022-09-14 06:54:52.209Institucion Universitaria Pascual Bravorepositorio@pascualbravo.edu.coUXVlZGEgdW4gw7psdGltbyBwYXNvOiBwYXJhIHBlcm1pdGlyIGEgRFNwYWNlIHJlcHJvZHVjaXIsIHRyYWR1Y2lyIHkgZGlzdHJpYnVpciBzdSBlbnbDrW8gYSB0cmF2w6lzIGRlbCBtdW5kbywgbmVjZXNpdGFtb3Mgc3UgY29uZm9ybWlkYWQgZW4gbG9zIHNpZ3VpZW50ZXMgdMOpcm1pbm9zLgoKQ29uY2VkYSBsYSBsaWNlbmNpYSBkZSBkaXN0cmlidWNpw7NuIGVzdMOhbmRhciBzZWxlY2Npb25hbmRvICdDb25jZWRlciBsaWNlbmNpYScgeSBwdWxzYW5kbyAnQ29tcGxldGFyIGVudsOtbycuCgpMQSBPQlJBIChUQUwgWSBDT01PIFNFIERFRklORSBNw4FTIEFERUxBTlRFKSBTRSBPVE9SR0EgQkFKTyBMT1MgVEVSTUlOT1MgREUgRVNUQSBMSUNFTkNJQSBQw5pCTElDQSBERSBDUkVBVElWRSBDT01NT05TICjigJxMUEND4oCdIE8g4oCcTElDRU5DSUHigJ0pLiBMQSBPQlJBIEVTVMOBIFBST1RFR0lEQSBQT1IgREVSRUNIT1MgREUgQVVUT1IgWS9VIE9UUkFTIExFWUVTIEFQTElDQUJMRVMuIFFVRURBIFBST0hJQklETyBDVUFMUVVJRVIgVVNPIFFVRSBTRSBIQUdBIERFIExBIE9CUkEgUVVFIE5PIENVRU5URSBDT04gTEEgQVVUT1JJWkFDScOTTiBQRVJUSU5FTlRFIERFIENPTkZPUk1JREFEIENPTiBMT1MgVMOJUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgWSBERSBMQSBMRVkgREUgREVSRUNITyBERSBBVVRPUi4KCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4gMS4gRGVmaW5pY2lvbmVzCgphLiBPYnJhIENvbGVjdGl2YSBlcyB1bmEgb2JyYSwgdGFsIGNvbW8gdW5hIHB1YmxpY2FjacOzbiBwZXJpw7NkaWNhLCB1bmEgYW50b2xvZ8OtYSwgbyB1bmEgZW5jaWNsb3BlZGlhLCBlbiBsYSBxdWUgbGEgb2JyYSBlbiBzdSB0b3RhbGlkYWQsIHNpbiBtb2RpZmljYWNpw7NuIGFsZ3VuYSwganVudG8gY29uIHVuIGdydXBvIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzIHF1ZSBjb25zdGl0dXllbiBvYnJhcyBzZXBhcmFkYXMgZSBpbmRlcGVuZGllbnRlcyBlbiBzw60gbWlzbWFzLCBzZSBpbnRlZ3JhbiBlbiB1biB0b2RvIGNvbGVjdGl2by4gVW5hIE9icmEgcXVlIGNvbnN0aXR1eWUgdW5hIG9icmEgY29sZWN0aXZhIG5vIHNlIGNvbnNpZGVyYXLDoSB1bmEgT2JyYSBEZXJpdmFkYSAoY29tbyBzZSBkZWZpbmUgYWJham8pIHBhcmEgbG9zIHByb3DDs3NpdG9zIGRlIGVzdGEgbGljZW5jaWEuIGFxdWVsbGEgcHJvZHVjaWRhIHBvciB1biBncnVwbyBkZSBhdXRvcmVzLCBlbiBxdWUgbGEgT2JyYSBzZSBlbmN1ZW50cmEgc2luIG1vZGlmaWNhY2lvbmVzLCBqdW50byBjb24gdW5hIGNpZXJ0YSBjYW50aWRhZCBkZSBvdHJhcyBjb250cmlidWNpb25lcywgcXVlIGNvbnN0aXR1eWVuIGVuIHPDrSBtaXNtb3MgdHJhYmFqb3Mgc2VwYXJhZG9zIGUgaW5kZXBlbmRpZW50ZXMsIHF1ZSBzb24gaW50ZWdyYWRvcyBhbCB0b2RvIGNvbGVjdGl2bywgdGFsZXMgY29tbyBwdWJsaWNhY2lvbmVzIHBlcmnDs2RpY2FzLCBhbnRvbG9nw61hcyBvIGVuY2ljbG9wZWRpYXMuCgpiLiBPYnJhIERlcml2YWRhIHNpZ25pZmljYSB1bmEgb2JyYSBiYXNhZGEgZW4gbGEgb2JyYSBvYmpldG8gZGUgZXN0YSBsaWNlbmNpYSBvIGVuIMOpc3RhIHkgb3RyYXMgb2JyYXMgcHJlZXhpc3RlbnRlcywgdGFsZXMgY29tbyB0cmFkdWNjaW9uZXMsIGFycmVnbG9zIG11c2ljYWxlcywgZHJhbWF0aXphY2lvbmVzLCDigJxmaWNjaW9uYWxpemFjaW9uZXPigJ0sIHZlcnNpb25lcyBwYXJhIGNpbmUsIOKAnGdyYWJhY2lvbmVzIGRlIHNvbmlkb+KAnSwgcmVwcm9kdWNjaW9uZXMgZGUgYXJ0ZSwgcmVzw7ptZW5lcywgY29uZGVuc2FjaW9uZXMsIG8gY3VhbHF1aWVyIG90cmEgZW4gbGEgcXVlIGxhIG9icmEgcHVlZGEgc2VyIHRyYW5zZm9ybWFkYSwgY2FtYmlhZGEgbyBhZGFwdGFkYSwgZXhjZXB0byBhcXVlbGxhcyBxdWUgY29uc3RpdHV5YW4gdW5hIG9icmEgY29sZWN0aXZhLCBsYXMgcXVlIG5vIHNlcsOhbiBjb25zaWRlcmFkYXMgdW5hIG9icmEgZGVyaXZhZGEgcGFyYSBlZmVjdG9zIGRlIGVzdGEgbGljZW5jaWEuIChQYXJhIGV2aXRhciBkdWRhcywgZW4gZWwgY2FzbyBkZSBxdWUgbGEgT2JyYSBzZWEgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsIG8gdW5hIGdyYWJhY2nDs24gc29ub3JhLCBwYXJhIGxvcyBlZmVjdG9zIGRlIGVzdGEgTGljZW5jaWEgbGEgc2luY3Jvbml6YWNpw7NuIHRlbXBvcmFsIGRlIGxhIE9icmEgY29uIHVuYSBpbWFnZW4gZW4gbW92aW1pZW50byBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgcGFyYSBsb3MgZmluZXMgZGUgZXN0YSBsaWNlbmNpYSkuCgpjLiBMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgoKZC4gQXV0b3Igb3JpZ2luYWwsIGVzIGVsIGluZGl2aWR1byBxdWUgY3Jlw7MgbGEgT2JyYS4KCmUuIE9icmEsIGVzIGFxdWVsbGEgb2JyYSBzdXNjZXB0aWJsZSBkZSBwcm90ZWNjacOzbiBwb3IgZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciB5IHF1ZSBlcyBvZnJlY2lkYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEKCmYuIFVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoKMi4gRGVyZWNob3MgZGUgVXNvcyBIb25yYWRvcyB5IGV4Y2VwY2lvbmVzIExlZ2FsZXMuIE5hZGEgZW4gZXN0YSBMaWNlbmNpYSBwb2Ryw6Egc2VyIGludGVycHJldGFkbyBjb21vIHVuYSBkaXNtaW51Y2nDs24sIGxpbWl0YWNpw7NuIG8gcmVzdHJpY2Npw7NuIGRlIGxvcyBkZXJlY2hvcyBkZXJpdmFkb3MgZGVsIHVzbyBob25yYWRvIHkgb3RyYXMgbGltaXRhY2lvbmVzIG8gZXhjZXBjaW9uZXMgYSBsb3MgZGVyZWNob3MgZGVsIGF1dG9yIGJham8gZWwgcsOpZ2ltZW4gbGVnYWwgdmlnZW50ZSBvIGRlcml2YWRvIGRlIGN1YWxxdWllciBvdHJhIG5vcm1hIHF1ZSBzZSBsZSBhcGxpcXVlLgoKMy4gQ29uY2VzacOzbiBkZSBsYSBMaWNlbmNpYS4gQmFqbyBsb3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgZWwgTGljZW5jaWFudGUgb3RvcmdhIGEgVXN0ZWQgdW5hIGxpY2VuY2lhIG11bmRpYWwsIGxpYnJlIGRlIHJlZ2Fsw61hcywgbm8gZXhjbHVzaXZhIHkgcGVycGV0dWEgKGR1cmFudGUgdG9kbyBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IpIHBhcmEgZWplcmNlciBlc3RvcyBkZXJlY2hvcyBzb2JyZSBsYSBPYnJhIHRhbCB5IGNvbW8gc2UgaW5kaWNhIGEgY29udGludWFjacOzbjoKCmEuIFJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXMuCgpiLiBEaXN0cmlidWlyIGNvcGlhcyBvIGZvbm9ncmFtYXMgZGUgbGFzIE9icmFzLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLCBpbmNsdXnDqW5kb2xhcyBjb21vIGluY29ycG9yYWRhcyBlbiBPYnJhcyBDb2xlY3RpdmFzLCBzZWfDum4gY29ycmVzcG9uZGEuCgpjLiBEaXN0cmlidWlyIGNvcGlhcyBkZSBsYXMgT2JyYXMgRGVyaXZhZGFzIHF1ZSBzZSBnZW5lcmVuLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBMb3MgZGVyZWNob3MgbWVuY2lvbmFkb3MgYW50ZXJpb3JtZW50ZSBwdWVkZW4gc2VyIGVqZXJjaWRvcyBlbiB0b2RvcyBsb3MgbWVkaW9zIHkgZm9ybWF0b3MsIGFjdHVhbG1lbnRlIGNvbm9jaWRvcyBvIHF1ZSBzZSBpbnZlbnRlbiBlbiBlbCBmdXR1cm8uIExvcyBkZXJlY2hvcyBhbnRlcyBtZW5jaW9uYWRvcyBpbmNsdXllbiBlbCBkZXJlY2hvIGEgcmVhbGl6YXIgZGljaGFzIG1vZGlmaWNhY2lvbmVzIGVuIGxhIG1lZGlkYSBxdWUgc2VhbiB0w6ljbmljYW1lbnRlIG5lY2VzYXJpYXMgcGFyYSBlamVyY2VyIGxvcyBkZXJlY2hvcyBlbiBvdHJvIG1lZGlvIG8gZm9ybWF0b3MsIHBlcm8gZGUgb3RyYSBtYW5lcmEgdXN0ZWQgbm8gZXN0w6EgYXV0b3JpemFkbyBwYXJhIHJlYWxpemFyIG9icmFzIGRlcml2YWRhcy4gVG9kb3MgbG9zIGRlcmVjaG9zIG5vIG90b3JnYWRvcyBleHByZXNhbWVudGUgcG9yIGVsIExpY2VuY2lhbnRlIHF1ZWRhbiBwb3IgZXN0ZSBtZWRpbyByZXNlcnZhZG9zLCBpbmNsdXllbmRvIHBlcm8gc2luIGxpbWl0YXJzZSBhIGFxdWVsbG9zIHF1ZSBzZSBtZW5jaW9uYW4gZW4gbGFzIHNlY2Npb25lcyA0KGQpIHkgNChlKS4KCjQuIFJlc3RyaWNjaW9uZXMuIExhIGxpY2VuY2lhIG90b3JnYWRhIGVuIGxhIGFudGVyaW9yIFNlY2Npw7NuIDMgZXN0w6EgZXhwcmVzYW1lbnRlIHN1amV0YSB5IGxpbWl0YWRhIHBvciBsYXMgc2lndWllbnRlcyByZXN0cmljY2lvbmVzOgoKYS4gVXN0ZWQgcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgc8OzbG8gYmFqbyBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgeSBVc3RlZCBkZWJlIGluY2x1aXIgdW5hIGNvcGlhIGRlIGVzdGEgbGljZW5jaWEgbyBkZWwgSWRlbnRpZmljYWRvciBVbml2ZXJzYWwgZGUgUmVjdXJzb3MgZGUgbGEgbWlzbWEgY29uIGNhZGEgY29waWEgZGUgbGEgT2JyYSBxdWUgZGlzdHJpYnV5YSwgZXhoaWJhIHDDumJsaWNhbWVudGUsIGVqZWN1dGUgcMO6YmxpY2FtZW50ZSBvIHBvbmdhIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBObyBlcyBwb3NpYmxlIG9mcmVjZXIgbyBpbXBvbmVyIG5pbmd1bmEgY29uZGljacOzbiBzb2JyZSBsYSBPYnJhIHF1ZSBhbHRlcmUgbyBsaW1pdGUgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgbyBlbCBlamVyY2ljaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGxvcyBkZXN0aW5hdGFyaW9zIG90b3JnYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gTm8gZXMgcG9zaWJsZSBzdWJsaWNlbmNpYXIgbGEgT2JyYS4gVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RvcyB0b2RvcyBsb3MgYXZpc29zIHF1ZSBoYWdhbiByZWZlcmVuY2lhIGEgZXN0YSBMaWNlbmNpYSB5IGEgbGEgY2zDoXVzdWxhIGRlIGxpbWl0YWNpw7NuIGRlIGdhcmFudMOtYXMuIFVzdGVkIG5vIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIGNvbiBhbGd1bmEgbWVkaWRhIHRlY25vbMOzZ2ljYSBxdWUgY29udHJvbGUgZWwgYWNjZXNvIG8gbGEgdXRpbGl6YWNpw7NuIGRlIGVsbGEgZGUgdW5hIGZvcm1hIHF1ZSBzZWEgaW5jb25zaXN0ZW50ZSBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIExvIGFudGVyaW9yIHNlIGFwbGljYSBhIGxhIE9icmEgaW5jb3Jwb3JhZGEgYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHBlcm8gZXN0byBubyBleGlnZSBxdWUgbGEgT2JyYSBDb2xlY3RpdmEgYXBhcnRlIGRlIGxhIG9icmEgbWlzbWEgcXVlZGUgc3VqZXRhIGEgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIFNpIFVzdGVkIGNyZWEgdW5hIE9icmEgQ29sZWN0aXZhLCBwcmV2aW8gYXZpc28gZGUgY3VhbHF1aWVyIExpY2VuY2lhbnRlIGRlYmUsIGVuIGxhIG1lZGlkYSBkZSBsbyBwb3NpYmxlLCBlbGltaW5hciBkZSBsYSBPYnJhIENvbGVjdGl2YSBjdWFscXVpZXIgcmVmZXJlbmNpYSBhIGRpY2hvIExpY2VuY2lhbnRlIG8gYWwgQXV0b3IgT3JpZ2luYWwsIHNlZ8O6biBsbyBzb2xpY2l0YWRvIHBvciBlbCBMaWNlbmNpYW50ZSB5IGNvbmZvcm1lIGxvIGV4aWdlIGxhIGNsw6F1c3VsYSA0KGMpLgoKYi4gVXN0ZWQgbm8gcHVlZGUgZWplcmNlciBuaW5ndW5vIGRlIGxvcyBkZXJlY2hvcyBxdWUgbGUgaGFuIHNpZG8gb3RvcmdhZG9zIGVuIGxhIFNlY2Npw7NuIDMgcHJlY2VkZW50ZSBkZSBtb2RvIHF1ZSBlc3TDqW4gcHJpbmNpcGFsbWVudGUgZGVzdGluYWRvcyBvIGRpcmVjdGFtZW50ZSBkaXJpZ2lkb3MgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuIEVsIGludGVyY2FtYmlvIGRlIGxhIE9icmEgcG9yIG90cmFzIG9icmFzIHByb3RlZ2lkYXMgcG9yIGRlcmVjaG9zIGRlIGF1dG9yLCB5YSBzZWEgYSB0cmF2w6lzIGRlIHVuIHNpc3RlbWEgcGFyYSBjb21wYXJ0aXIgYXJjaGl2b3MgZGlnaXRhbGVzIChkaWdpdGFsIGZpbGUtc2hhcmluZykgbyBkZSBjdWFscXVpZXIgb3RyYSBtYW5lcmEgbm8gc2Vyw6EgY29uc2lkZXJhZG8gY29tbyBlc3RhciBkZXN0aW5hZG8gcHJpbmNpcGFsbWVudGUgbyBkaXJpZ2lkbyBkaXJlY3RhbWVudGUgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEsIHNpZW1wcmUgcXVlIG5vIHNlIHJlYWxpY2UgdW4gcGFnbyBtZWRpYW50ZSB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgZW4gcmVsYWNpw7NuIGNvbiBlbCBpbnRlcmNhbWJpbyBkZSBvYnJhcyBwcm90ZWdpZGFzIHBvciBlbCBkZXJlY2hvIGRlIGF1dG9yLgoKYy4gU2kgdXN0ZWQgZGlzdHJpYnV5ZSwgZXhoaWJlIHDDumJsaWNhbWVudGUsIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBvIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBlbiBmb3JtYSBkaWdpdGFsIGxhIE9icmEgbyBjdWFscXVpZXIgT2JyYSBEZXJpdmFkYSB1IE9icmEgQ29sZWN0aXZhLCBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdGEgdG9kYSBsYSBpbmZvcm1hY2nDs24gZGUgZGVyZWNobyBkZSBhdXRvciBkZSBsYSBPYnJhIHkgcHJvcG9yY2lvbmFyLCBkZSBmb3JtYSByYXpvbmFibGUgc2Vnw7puIGVsIG1lZGlvIG8gbWFuZXJhIHF1ZSBVc3RlZCBlc3TDqSB1dGlsaXphbmRvOiAoaSkgZWwgbm9tYnJlIGRlbCBBdXRvciBPcmlnaW5hbCBzaSBlc3TDoSBwcm92aXN0byAobyBzZXVkw7NuaW1vLCBzaSBmdWVyZSBhcGxpY2FibGUpLCB5L28gKGlpKSBlbCBub21icmUgZGUgbGEgcGFydGUgbyBsYXMgcGFydGVzIHF1ZSBlbCBBdXRvciBPcmlnaW5hbCB5L28gZWwgTGljZW5jaWFudGUgaHViaWVyZW4gZGVzaWduYWRvIHBhcmEgbGEgYXRyaWJ1Y2nDs24gKHYuZy4sIHVuIGluc3RpdHV0byBwYXRyb2NpbmFkb3IsIGVkaXRvcmlhbCwgcHVibGljYWNpw7NuKSBlbiBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlbCBMaWNlbmNpYW50ZSwgdMOpcm1pbm9zIGRlIHNlcnZpY2lvcyBvIGRlIG90cmFzIGZvcm1hcyByYXpvbmFibGVzOyBlbCB0w610dWxvIGRlIGxhIE9icmEgc2kgZXN0w6EgcHJvdmlzdG87IGVuIGxhIG1lZGlkYSBkZSBsbyByYXpvbmFibGVtZW50ZSBmYWN0aWJsZSB5LCBzaSBlc3TDoSBwcm92aXN0bywgZWwgSWRlbnRpZmljYWRvciBVbmlmb3JtZSBkZSBSZWN1cnNvcyAoVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyKSBxdWUgZWwgTGljZW5jaWFudGUgZXNwZWNpZmljYSBwYXJhIHNlciBhc29jaWFkbyBjb24gbGEgT2JyYSwgc2Fsdm8gcXVlIHRhbCBVUkkgbm8gc2UgcmVmaWVyYSBhIGxhIG5vdGEgc29icmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIG8gYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgbGljZW5jaWFtaWVudG8gZGUgbGEgT2JyYTsgeSBlbiBlbCBjYXNvIGRlIHVuYSBPYnJhIERlcml2YWRhLCBhdHJpYnVpciBlbCBjcsOpZGl0byBpZGVudGlmaWNhbmRvIGVsIHVzbyBkZSBsYSBPYnJhIGVuIGxhIE9icmEgRGVyaXZhZGEgKHYuZy4sICJUcmFkdWNjacOzbiBGcmFuY2VzYSBkZSBsYSBPYnJhIGRlbCBBdXRvciBPcmlnaW5hbCwiIG8gIkd1acOzbiBDaW5lbWF0b2dyw6FmaWNvIGJhc2FkbyBlbiBsYSBPYnJhIG9yaWdpbmFsIGRlbCBBdXRvciBPcmlnaW5hbCIpLiBUYWwgY3LDqWRpdG8gcHVlZGUgc2VyIGltcGxlbWVudGFkbyBkZSBjdWFscXVpZXIgZm9ybWEgcmF6b25hYmxlOyBlbiBlbCBjYXNvLCBzaW4gZW1iYXJnbywgZGUgT2JyYXMgRGVyaXZhZGFzIHUgT2JyYXMgQ29sZWN0aXZhcywgdGFsIGNyw6lkaXRvIGFwYXJlY2Vyw6EsIGNvbW8gbcOtbmltbywgZG9uZGUgYXBhcmVjZSBlbCBjcsOpZGl0byBkZSBjdWFscXVpZXIgb3RybyBhdXRvciBjb21wYXJhYmxlIHkgZGUgdW5hIG1hbmVyYSwgYWwgbWVub3MsIHRhbiBkZXN0YWNhZGEgY29tbyBlbCBjcsOpZGl0byBkZSBvdHJvIGF1dG9yIGNvbXBhcmFibGUuCgpkLiBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIGVzIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbDoKCmkuIFJlZ2Fsw61hcyBwb3IgaW50ZXJwcmV0YWNpw7NuIHkgZWplY3VjacOzbiBiYWpvIGxpY2VuY2lhcyBnZW5lcmFsZXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSB5IGRlIHJlY29sZWN0YXIsIHNlYSBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBTQVlDTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvIFdlYmNhc3QpIGxpY2VuY2lhZGEgYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLCBzaSBsYSBpbnRlcnByZXRhY2nDs24gbyBlamVjdWNpw7NuIGRlIGxhIG9icmEgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIG9yaWVudGFkYSBwb3IgbyBkaXJpZ2lkYSBhIGxhIG9idGVuY2nDs24gZGUgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgppaS4gUmVnYWzDrWFzIHBvciBGb25vZ3JhbWFzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIGxvcyBjb25zYWdyYWRvcyBwb3IgbGEgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KCmUuIEdlc3Rpw7NuIGRlIERlcmVjaG9zIGRlIEF1dG9yIHNvYnJlIEludGVycHJldGFjaW9uZXMgeSBFamVjdWNpb25lcyBEaWdpdGFsZXMgKFdlYkNhc3RpbmcpLiBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIHNlYSB1biBmb25vZ3JhbWEsIGVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCkgeSBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBBQ0lOUFJPKSwgbGFzIHJlZ2Fsw61hcyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSwgc3VqZXRhIGEgbGFzIGRpc3Bvc2ljaW9uZXMgYXBsaWNhYmxlcyBkZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciwgc2kgZXN0YSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KCjUuIFJlcHJlc2VudGFjaW9uZXMsIEdhcmFudMOtYXMgeSBMaW1pdGFjaW9uZXMgZGUgUmVzcG9uc2FiaWxpZGFkLiBBIE1FTk9TIFFVRSBMQVMgUEFSVEVTIExPIEFDT1JEQVJBTiBERSBPVFJBIEZPUk1BIFBPUiBFU0NSSVRPLCBFTCBMSUNFTkNJQU5URSBPRlJFQ0UgTEEgT0JSQSAoRU4gRUwgRVNUQURPIEVOIEVMIFFVRSBTRSBFTkNVRU5UUkEpIOKAnFRBTCBDVUFM4oCdLCBTSU4gQlJJTkRBUiBHQVJBTlTDjUFTIERFIENMQVNFIEFMR1VOQSBSRVNQRUNUTyBERSBMQSBPQlJBLCBZQSBTRUEgRVhQUkVTQSwgSU1QTMONQ0lUQSwgTEVHQUwgTyBDVUFMUVVJRVJBIE9UUkEsIElOQ0xVWUVORE8sIFNJTiBMSU1JVEFSU0UgQSBFTExBUywgR0FSQU5Uw41BUyBERSBUSVRVTEFSSURBRCwgQ09NRVJDSUFCSUxJREFELCBBREFQVEFCSUxJREFEIE8gQURFQ1VBQ0nDk04gQSBQUk9Qw5NTSVRPIERFVEVSTUlOQURPLCBBVVNFTkNJQSBERSBJTkZSQUNDScOTTiwgREUgQVVTRU5DSUEgREUgREVGRUNUT1MgTEFURU5URVMgTyBERSBPVFJPIFRJUE8sIE8gTEEgUFJFU0VOQ0lBIE8gQVVTRU5DSUEgREUgRVJST1JFUywgU0VBTiBPIE5PIERFU0NVQlJJQkxFUyAoUFVFREFOIE8gTk8gU0VSIEVTVE9TIERFU0NVQklFUlRPUykuIEFMR1VOQVMgSlVSSVNESUNDSU9ORVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBHQVJBTlTDjUFTIElNUEzDjUNJVEFTLCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgoKNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLiBBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgoKNy4gVMOpcm1pbm8uCgphLiBFc3RhIExpY2VuY2lhIHkgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBlbiB2aXJ0dWQgZGUgZWxsYSB0ZXJtaW5hcsOhbiBhdXRvbcOhdGljYW1lbnRlIHNpIFVzdGVkIGluZnJpbmdlIGFsZ3VuYSBjb25kaWNpw7NuIGVzdGFibGVjaWRhIGVuIGVsbGEuIFNpbiBlbWJhcmdvLCBsb3MgaW5kaXZpZHVvcyBvIGVudGlkYWRlcyBxdWUgaGFuIHJlY2liaWRvIE9icmFzIERlcml2YWRhcyBvIENvbGVjdGl2YXMgZGUgVXN0ZWQgZGUgY29uZm9ybWlkYWQgY29uIGVzdGEgTGljZW5jaWEsIG5vIHZlcsOhbiB0ZXJtaW5hZGFzIHN1cyBsaWNlbmNpYXMsIHNpZW1wcmUgcXVlIGVzdG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgc2lnYW4gY3VtcGxpZW5kbyDDrW50ZWdyYW1lbnRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhcyBsaWNlbmNpYXMuIExhcyBTZWNjaW9uZXMgMSwgMiwgNSwgNiwgNywgeSA4IHN1YnNpc3RpcsOhbiBhIGN1YWxxdWllciB0ZXJtaW5hY2nDs24gZGUgZXN0YSBMaWNlbmNpYS4KCmIuIFN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgoKOC4gVmFyaW9zLgoKYS4gQ2FkYSB2ZXogcXVlIFVzdGVkIGRpc3RyaWJ1eWEgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIG8gdW5hIE9icmEgQ29sZWN0aXZhLCBlbCBMaWNlbmNpYW50ZSBvZnJlY2Vyw6EgYWwgZGVzdGluYXRhcmlvIHVuYSBsaWNlbmNpYSBlbiBsb3MgbWlzbW9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIHF1ZSBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhIFVzdGVkIGJham8gZXN0YSBMaWNlbmNpYS4KCmIuIFNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgoKYy4gTmluZ8O6biB0w6lybWlubyBvIGRpc3Bvc2ljacOzbiBkZSBlc3RhIExpY2VuY2lhIHNlIGVzdGltYXLDoSByZW51bmNpYWRhIHkgbmluZ3VuYSB2aW9sYWNpw7NuIGRlIGVsbGEgc2Vyw6EgY29uc2VudGlkYSBhIG1lbm9zIHF1ZSBlc2EgcmVudW5jaWEgbyBjb25zZW50aW1pZW50byBzZWEgb3RvcmdhZG8gcG9yIGVzY3JpdG8geSBmaXJtYWRvIHBvciBsYSBwYXJ0ZSBxdWUgcmVudW5jaWUgbyBjb25zaWVudGEuCgpkLiBFc3RhIExpY2VuY2lhIHJlZmxlamEgZWwgYWN1ZXJkbyBwbGVubyBlbnRyZSBsYXMgcGFydGVzIHJlc3BlY3RvIGEgbGEgT2JyYSBhcXXDrSBsaWNlbmNpYWRhLiBObyBoYXkgYXJyZWdsb3MsIGFjdWVyZG9zIG8gZGVjbGFyYWNpb25lcyByZXNwZWN0byBhIGxhIE9icmEgcXVlIG5vIGVzdMOpbiBlc3BlY2lmaWNhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBFbCBMaWNlbmNpYW50ZSBubyBzZSB2ZXLDoSBsaW1pdGFkbyBwb3IgbmluZ3VuYSBkaXNwb3NpY2nDs24gYWRpY2lvbmFsIHF1ZSBwdWVkYSBzdXJnaXIgZW4gYWxndW5hIGNvbXVuaWNhY2nDs24gZW1hbmFkYSBkZSBVc3RlZC4gRXN0YSBMaWNlbmNpYSBubyBwdWVkZSBzZXIgbW9kaWZpY2FkYSBzaW4gZWwgY29uc2VudGltaWVudG8gbXV0dW8gcG9yIGVzY3JpdG8gZGVsIExpY2VuY2lhbnRlIHkgVXN0ZWQuCgpTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4K |