Diseño y construcción de un robot cartesiano con un control de posición punto a punto

En el presente proyecto se realiza el diseño, modelamiento y construcción de un robot cartesiano con un control punto a punto básico para que en trabajos futuros mecanice espuma de poliuretano expandido. Se realizan los cálculos estructurales y el modelo mediante SolidWorks para simular el comportam...

Full description

Autores:
Rodríguez Rodríguez, Cristian Leonardo
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2017
Institución:
Universidad Libre
Repositorio:
RIU - Repositorio Institucional UniLibre
Idioma:
spa
OAI Identifier:
oai:repository.unilibre.edu.co:10901/11249
Acceso en línea:
https://hdl.handle.net/10901/11249
Palabra clave:
Tesis
Tesis ingeniería
Facultad de ingeniería
Ingeniería ambiental
Robótica
Inteligencia artificial
Manufactura
Taller de reparación
Manufactura
Automática
Robot cartesiano
Motor a paso
Sensor
Manipuladores
Interruptor final de carrera
Esfuerzo directo
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
id RULIBRE2_7c432c7b6851a1fadb3b372e9d489f63
oai_identifier_str oai:repository.unilibre.edu.co:10901/11249
network_acronym_str RULIBRE2
network_name_str RIU - Repositorio Institucional UniLibre
repository_id_str
dc.title.spa.fl_str_mv Diseño y construcción de un robot cartesiano con un control de posición punto a punto
title Diseño y construcción de un robot cartesiano con un control de posición punto a punto
spellingShingle Diseño y construcción de un robot cartesiano con un control de posición punto a punto
Tesis
Tesis ingeniería
Facultad de ingeniería
Ingeniería ambiental
Robótica
Inteligencia artificial
Manufactura
Taller de reparación
Manufactura
Automática
Robot cartesiano
Motor a paso
Sensor
Manipuladores
Interruptor final de carrera
Esfuerzo directo
title_short Diseño y construcción de un robot cartesiano con un control de posición punto a punto
title_full Diseño y construcción de un robot cartesiano con un control de posición punto a punto
title_fullStr Diseño y construcción de un robot cartesiano con un control de posición punto a punto
title_full_unstemmed Diseño y construcción de un robot cartesiano con un control de posición punto a punto
title_sort Diseño y construcción de un robot cartesiano con un control de posición punto a punto
dc.creator.fl_str_mv Rodríguez Rodríguez, Cristian Leonardo
dc.contributor.advisor.none.fl_str_mv Vivas González, Edilberto Carlos
dc.contributor.author.none.fl_str_mv Rodríguez Rodríguez, Cristian Leonardo
dc.subject.lemb.spa.fl_str_mv Tesis
Tesis ingeniería
Facultad de ingeniería
Ingeniería ambiental
Robótica
Inteligencia artificial
Manufactura
Taller de reparación
topic Tesis
Tesis ingeniería
Facultad de ingeniería
Ingeniería ambiental
Robótica
Inteligencia artificial
Manufactura
Taller de reparación
Manufactura
Automática
Robot cartesiano
Motor a paso
Sensor
Manipuladores
Interruptor final de carrera
Esfuerzo directo
dc.subject.proposal.spa.fl_str_mv Manufactura
Automática
Robot cartesiano
Motor a paso
Sensor
Manipuladores
Interruptor final de carrera
Esfuerzo directo
description En el presente proyecto se realiza el diseño, modelamiento y construcción de un robot cartesiano con un control punto a punto básico para que en trabajos futuros mecanice espuma de poliuretano expandido. Se realizan los cálculos estructurales y el modelo mediante SolidWorks para simular el comportamiento de este. El robot cuenta con tres grados de libertad y los ejes x, y y z son movidos por motores paso a paso Nema 17 acoplados a una varilla roscada de ½ pulgada. Se realizó un control punto a punto utilizando un Arduino mega 2560, drivers Pololu A4988 para darle movimiento a los motores y finales de carrera para establecer el cero de la máquina y los límites del robot. El control se realizó mediante software Arduino y la interfaz gráfica se hizo mediante Guide-Matlab
publishDate 2017
dc.date.created.none.fl_str_mv 2017-07
dc.date.accessioned.none.fl_str_mv 2018-03-13T17:50:06Z
dc.date.available.none.fl_str_mv 2018-03-13T17:50:06Z
dc.type.local.spa.fl_str_mv Tesis de Pregrado
dc.type.hasversion.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10901/11249
dc.identifier.instname.spa.fl_str_mv instname:Universidad Libre
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional Universidad Libre
url https://hdl.handle.net/10901/11249
identifier_str_mv instname:Universidad Libre
reponame:Repositorio Institucional Universidad Libre
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.Spa.fl_str_mv ACUÑA, Fausto y SANCHEZ, Wilson. (2005). Diseño y Construcción de un prototipo de una maquina taladradora de control numérico computarizado.
AMESTOY, M. (2007). Principios de Mecanizado y Planificación de Procesos.
ARANGO, John y ZULUAGA, Carlos. (2012). Diseño de los sistemas eléctrico y de control para una mesa cartesiana XYZ.
BAUTISTA, Doris y TUFIÑO, Rodrigo. (2007). Diseño y Construcción de un Robot Cartesiano para la Manipulación e Identificación de Figuras geométricas a través de medios ópticos utilizando redes neuronales.
CARVAJAL, Jaime; GODOY, Rubén y RODRIGUEZ Willy. (2009). Proyecto mecatrónico de brazo robot cartesiano integrado a una celda de almacenamiento y recuperación automatizada AS / RS de un Sistema Flexible de Manufactura FMS.
CAZAR, Marco. (2008). Diseño y construcción de una fresadora de 3 ejes y su software de control para el mecanizado de figuras geométricas formadas por líneas rectas en superficies de madera.
CERDA, L. (2014). Instalaciones electicas y automatismos. En L. CERDA, Instalaciones electicas y automatismos. (pág. 265). España: Paraninfo
GALARZA, Juan y DAVILA, Miguel. (2010). Diseño y Construcción de un taladro XYZ controlado por microcontrolador con interfaz gráfica mediante LabVIEW para la fabricación de circuitos compuestos.
GROOVER, Mikell. (1997). Fundamentos de manufactura moderna. Prentice Hall.
HERNANDEZ, Alejandro. (2014). Control de Una Fresadora CNC de uso Didactico.
INCA, Javier y RENGIFO, Paul. (2015). Diseño e Implementación de un sistema HMI para un prototipo de maquina fresadora utilizando control numérico computacional para elaborar placas de circuitos electrónicos.
MARTINEZ, Luis; RONQUILLO, Felipe y ZUÑIGA, Manuel. ((s.f.)). Robot Cartesiano.
MAURO, Andrés y ANIGSTEN, Mauricio. (2013). Sobre el sistema de control de un robot cartesiano.
MOTT, R. (2009). Resistencia de Materiales. Mexico.
NTC 5613. (s.f.). Referencias Bibliográficas Contenido Forma Y Estructura.
PALLÁS, Ramon. (2003). Sensores digitales y acondicionadores de señal. En R. PALLÁS, Sensores digitales y acondicionadores de señal. (pág. 3). España: Marcombo.
RAMERA, J. y. (1997). Autómatas programables. España. En J. y. RAMERA, Autómatas programables. España (págs. 121-122). España: Marcombo.
RAMIREZ, Juan; CORREA, Julio y FLOREZ Santiago. . (2013). Diseño de la Plataforma mecánica de una mesa cartesiana XYZ automatizada
Robots industriales. (s.f.). (Recuperado el 20 de agosto de 2015, de http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/robotica/industrial.h tm).
ROJAS, Jorge; MAHLA Ingeborg; MUÑOZ Gerardo y CASTRO Daniel. . (2003). Diseño de un sistema robótico cartesiano para aplicaciones industriales
Sistemas Digitales y electronica digital, practicas de laboratorio. ((s.f.)). En Anonimo, Sistemas Digitales y electronica digital, practicas de laboratorio. (pág. 192). Mexico: Pearson.
ALONZO, C. (2010) Implementación del sistema de controles de producción para la elaboración de la espuma de poliuretano, para la industria manufacturera.
Espumas. (s.f.). (Recuperado el 20 de agosto de 2017, de http://www.eis.uva.es/~macromol/curso05-06/pu/espuma.htm
Aprendizaje (s.f.). (Recuperado el 20 de agosto de 2017, de http://www.aprendizaje.com.mx/Curso/Proceso2/Temario2_VII.html
AEN/CTN 116. (s.f.). -Sistemas Industriales Automatizados.
GODOY, Rubén y RODRIGUEZ, Willy. (2007). Diseño y Modelamiento de un Robot Cartesiano para el Posicionamiento de Piezas
Introduccion a la ingenieria Industrial. (1988). En V. R.C, Introduccion a la ingenieria Industrial (pág. 78). Barcelona: Reverte 2 ed.
MENA, Alex. (2010). Propuesta de diseño de un manipulador cartesiano.
NTC 1486. (s.f.). Documentación. Presentación De Tesis, Trabajos De Grado Y Otros Trabajos De Investigación
OLIER, Iván; AVILES, Oscar y HERNANDEZ, Juan. (1999). Una introducción a la robótica industrial.
PONSA, Pere y GRANOLLERS, Antoni. ((s.f.)). Diseño y automatixzacion industrial
dc.relation.references.Eng.fl_str_mv ANSI RIA R15.06 . (s.f.). - Robot and Robot System Safety
ISO 10218:1992 . (s.f.). – Manipulating Industrial Robots – Safety
CEN 310. (s.f.). – Advanced Automation Technologies and Their Applications
DE PAIVA, Lamartine. (2008). Projeto de Controle Numèrico para uma Mesa de Coordenadas.
ISO 9283: 1998. (s.f.). - Performance Criteria and Related Test Methods
ISO TC 184. (s.f.). - Automation Systems and Integration
ROSS, L., STEPHEN, F., & JAMES, M. y. (2011). Robotics: Theory and Industrial Applications.
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.license.*.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
Atribución-NoComercial-SinDerivadas 2.5 Colombia
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv PDF
dc.format.mimetype.none.fl_str_mv application/pdf
dc.coverage.spatial.spa.fl_str_mv Bogotá
institution Universidad Libre
bitstream.url.fl_str_mv http://repository.unilibre.edu.co/bitstream/10901/11249/4/DISE%c3%91O%20Y%20CONSTRUCCI%c3%93N%20DE%20UN%20ROBOT%20CARTESIANO%20CON%20UN%20CONTROL%20DE%20POSICI%c3%93N%20PUNTO%20A%20PUNTO.pdf.jpg
http://repository.unilibre.edu.co/bitstream/10901/11249/1/DISE%c3%91O%20Y%20CONSTRUCCI%c3%93N%20DE%20UN%20ROBOT%20CARTESIANO%20CON%20UN%20CONTROL%20DE%20POSICI%c3%93N%20PUNTO%20A%20PUNTO.pdf
http://repository.unilibre.edu.co/bitstream/10901/11249/3/license.txt
bitstream.checksum.fl_str_mv 65289a8ba005258e79d5b633ac60a955
c66ecf2807c054e4ad2680e17eb64d87
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Unilibre
repository.mail.fl_str_mv repositorio@unilibrebog.edu.co
_version_ 1814090418889949184
spelling Vivas González, Edilberto CarlosRodríguez Rodríguez, Cristian LeonardoBogotá2018-03-13T17:50:06Z2018-03-13T17:50:06Z2017-07https://hdl.handle.net/10901/11249instname:Universidad Librereponame:Repositorio Institucional Universidad LibreEn el presente proyecto se realiza el diseño, modelamiento y construcción de un robot cartesiano con un control punto a punto básico para que en trabajos futuros mecanice espuma de poliuretano expandido. Se realizan los cálculos estructurales y el modelo mediante SolidWorks para simular el comportamiento de este. El robot cuenta con tres grados de libertad y los ejes x, y y z son movidos por motores paso a paso Nema 17 acoplados a una varilla roscada de ½ pulgada. Se realizó un control punto a punto utilizando un Arduino mega 2560, drivers Pololu A4988 para darle movimiento a los motores y finales de carrera para establecer el cero de la máquina y los límites del robot. El control se realizó mediante software Arduino y la interfaz gráfica se hizo mediante Guide-MatlabPDFapplication/pdfspahttp://creativecommons.org/licenses/by-nc-nd/2.5/co/Atribución-NoComercial-SinDerivadas 2.5 Colombiainfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Diseño y construcción de un robot cartesiano con un control de posición punto a puntoTesisTesis ingenieríaFacultad de ingenieríaIngeniería ambientalRobóticaInteligencia artificialManufacturaTaller de reparaciónManufacturaAutomáticaRobot cartesianoMotor a pasoSensorManipuladoresInterruptor final de carreraEsfuerzo directoTesis de Pregradoinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:eu-repo/semantics/bachelorThesisACUÑA, Fausto y SANCHEZ, Wilson. (2005). Diseño y Construcción de un prototipo de una maquina taladradora de control numérico computarizado.AMESTOY, M. (2007). Principios de Mecanizado y Planificación de Procesos.ARANGO, John y ZULUAGA, Carlos. (2012). Diseño de los sistemas eléctrico y de control para una mesa cartesiana XYZ.BAUTISTA, Doris y TUFIÑO, Rodrigo. (2007). Diseño y Construcción de un Robot Cartesiano para la Manipulación e Identificación de Figuras geométricas a través de medios ópticos utilizando redes neuronales.CARVAJAL, Jaime; GODOY, Rubén y RODRIGUEZ Willy. (2009). Proyecto mecatrónico de brazo robot cartesiano integrado a una celda de almacenamiento y recuperación automatizada AS / RS de un Sistema Flexible de Manufactura FMS.CAZAR, Marco. (2008). Diseño y construcción de una fresadora de 3 ejes y su software de control para el mecanizado de figuras geométricas formadas por líneas rectas en superficies de madera.CERDA, L. (2014). Instalaciones electicas y automatismos. En L. CERDA, Instalaciones electicas y automatismos. (pág. 265). España: ParaninfoGALARZA, Juan y DAVILA, Miguel. (2010). Diseño y Construcción de un taladro XYZ controlado por microcontrolador con interfaz gráfica mediante LabVIEW para la fabricación de circuitos compuestos.GROOVER, Mikell. (1997). Fundamentos de manufactura moderna. Prentice Hall.HERNANDEZ, Alejandro. (2014). Control de Una Fresadora CNC de uso Didactico.INCA, Javier y RENGIFO, Paul. (2015). Diseño e Implementación de un sistema HMI para un prototipo de maquina fresadora utilizando control numérico computacional para elaborar placas de circuitos electrónicos.MARTINEZ, Luis; RONQUILLO, Felipe y ZUÑIGA, Manuel. ((s.f.)). Robot Cartesiano.MAURO, Andrés y ANIGSTEN, Mauricio. (2013). Sobre el sistema de control de un robot cartesiano.MOTT, R. (2009). Resistencia de Materiales. Mexico.NTC 5613. (s.f.). Referencias Bibliográficas Contenido Forma Y Estructura.PALLÁS, Ramon. (2003). Sensores digitales y acondicionadores de señal. En R. PALLÁS, Sensores digitales y acondicionadores de señal. (pág. 3). España: Marcombo.RAMERA, J. y. (1997). Autómatas programables. España. En J. y. RAMERA, Autómatas programables. España (págs. 121-122). España: Marcombo.RAMIREZ, Juan; CORREA, Julio y FLOREZ Santiago. . (2013). Diseño de la Plataforma mecánica de una mesa cartesiana XYZ automatizadaRobots industriales. (s.f.). (Recuperado el 20 de agosto de 2015, de http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/robotica/industrial.h tm).ROJAS, Jorge; MAHLA Ingeborg; MUÑOZ Gerardo y CASTRO Daniel. . (2003). Diseño de un sistema robótico cartesiano para aplicaciones industrialesSistemas Digitales y electronica digital, practicas de laboratorio. ((s.f.)). En Anonimo, Sistemas Digitales y electronica digital, practicas de laboratorio. (pág. 192). Mexico: Pearson.ALONZO, C. (2010) Implementación del sistema de controles de producción para la elaboración de la espuma de poliuretano, para la industria manufacturera.Espumas. (s.f.). (Recuperado el 20 de agosto de 2017, de http://www.eis.uva.es/~macromol/curso05-06/pu/espuma.htmAprendizaje (s.f.). (Recuperado el 20 de agosto de 2017, de http://www.aprendizaje.com.mx/Curso/Proceso2/Temario2_VII.htmlAEN/CTN 116. (s.f.). -Sistemas Industriales Automatizados.GODOY, Rubén y RODRIGUEZ, Willy. (2007). Diseño y Modelamiento de un Robot Cartesiano para el Posicionamiento de PiezasIntroduccion a la ingenieria Industrial. (1988). En V. R.C, Introduccion a la ingenieria Industrial (pág. 78). Barcelona: Reverte 2 ed.MENA, Alex. (2010). Propuesta de diseño de un manipulador cartesiano.NTC 1486. (s.f.). Documentación. Presentación De Tesis, Trabajos De Grado Y Otros Trabajos De InvestigaciónOLIER, Iván; AVILES, Oscar y HERNANDEZ, Juan. (1999). Una introducción a la robótica industrial.PONSA, Pere y GRANOLLERS, Antoni. ((s.f.)). Diseño y automatixzacion industrialANSI RIA R15.06 . (s.f.). - Robot and Robot System SafetyISO 10218:1992 . (s.f.). – Manipulating Industrial Robots – SafetyCEN 310. (s.f.). – Advanced Automation Technologies and Their ApplicationsDE PAIVA, Lamartine. (2008). Projeto de Controle Numèrico para uma Mesa de Coordenadas.ISO 9283: 1998. (s.f.). - Performance Criteria and Related Test MethodsISO TC 184. (s.f.). - Automation Systems and IntegrationROSS, L., STEPHEN, F., & JAMES, M. y. (2011). Robotics: Theory and Industrial Applications.THUMBNAILDISEÑO Y CONSTRUCCIÓN DE UN ROBOT CARTESIANO CON UN CONTROL DE POSICIÓN PUNTO A PUNTO.pdf.jpgDISEÑO Y CONSTRUCCIÓN DE UN ROBOT CARTESIANO CON UN CONTROL DE POSICIÓN PUNTO A PUNTO.pdf.jpgimage/png10580http://repository.unilibre.edu.co/bitstream/10901/11249/4/DISE%c3%91O%20Y%20CONSTRUCCI%c3%93N%20DE%20UN%20ROBOT%20CARTESIANO%20CON%20UN%20CONTROL%20DE%20POSICI%c3%93N%20PUNTO%20A%20PUNTO.pdf.jpg65289a8ba005258e79d5b633ac60a955MD54ORIGINALDISEÑO Y CONSTRUCCIÓN DE UN ROBOT CARTESIANO CON UN CONTROL DE POSICIÓN PUNTO A PUNTO.pdfDISEÑO Y CONSTRUCCIÓN DE UN ROBOT CARTESIANO CON UN CONTROL DE POSICIÓN PUNTO A PUNTO.pdfRodríguezRodríguezCristianLeonardo2017application/pdf14403292http://repository.unilibre.edu.co/bitstream/10901/11249/1/DISE%c3%91O%20Y%20CONSTRUCCI%c3%93N%20DE%20UN%20ROBOT%20CARTESIANO%20CON%20UN%20CONTROL%20DE%20POSICI%c3%93N%20PUNTO%20A%20PUNTO.pdfc66ecf2807c054e4ad2680e17eb64d87MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repository.unilibre.edu.co/bitstream/10901/11249/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD5310901/11249oai:repository.unilibre.edu.co:10901/112492024-09-02 16:16:19.841Repositorio Institucional Unilibrerepositorio@unilibrebog.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=