Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21

Los microcontroladores son circuitos integrados que en su interior contienen una unidad central de procesamiento (CPU), unidad de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estos componentes están interconectados dentro del microcontrolador, y en conjunto se denomina microcomput...

Full description

Autores:
González Hernández, Leidy Natalia
Leal Cortés, Daniel Esteban
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93129
Acceso en línea:
http://hdl.handle.net/11349/93129
Palabra clave:
Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
Tecnología en Electricidad -- Tesis y Disertaciones Académicas
Microcontroladores
Circuitos integrados
Microcontroladores pic
Circuitos electrónicos
Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_6f1a7e95200f7dd55094df925f60c0ba
oai_identifier_str oai:repository.udistrital.edu.co:11349/93129
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
dc.title.titleenglish.none.fl_str_mv Development of the Oled display module by I2C for the Aixt platform using the Raspberry Pi Pico and Xiao Sam21 Microcontrollers
title Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
spellingShingle Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
Tecnología en Electricidad -- Tesis y Disertaciones Académicas
Microcontroladores
Circuitos integrados
Microcontroladores pic
Circuitos electrónicos
Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
title_short Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
title_full Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
title_fullStr Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
title_full_unstemmed Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
title_sort Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21
dc.creator.fl_str_mv González Hernández, Leidy Natalia
Leal Cortés, Daniel Esteban
dc.contributor.advisor.none.fl_str_mv Martínez Santa, Fernando
dc.contributor.author.none.fl_str_mv González Hernández, Leidy Natalia
Leal Cortés, Daniel Esteban
dc.subject.none.fl_str_mv Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
topic Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
Tecnología en Electricidad -- Tesis y Disertaciones Académicas
Microcontroladores
Circuitos integrados
Microcontroladores pic
Circuitos electrónicos
Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
dc.subject.lemb.none.fl_str_mv Tecnología en Electricidad -- Tesis y Disertaciones Académicas
Microcontroladores
Circuitos integrados
Microcontroladores pic
Circuitos electrónicos
dc.subject.keyword.none.fl_str_mv Oled
I2c
Aixt
Raspberry pi pico
Xiao- samd21
description Los microcontroladores son circuitos integrados que en su interior contienen una unidad central de procesamiento (CPU), unidad de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estos componentes están interconectados dentro del microcontrolador, y en conjunto se denomina microcomputadora. El propósito fundamental de los microcontroladores es leer y ejecutar los programas proporcionados por el usuario. Su naturaleza programable simplifica el diseño de circuitos electrónicos, ofreciendo versatilidad y flexibilidad. Permitiendo así que un mismo circuito sea capaz de desempeñar diversas funciones con solo ajustar el programa del microcontrolador. Un módulo OLED (Organic Led Emitting Diode) es un dispositivo que puede mostrar texto, gráficos e imágenes en una pantalla delgada y flexible utilizando materiales orgánicos que emiten luz cuando se aplica corriente eléctrica. Son un tipo de pantalla relativamente nuevo que ha ganado popularidad en una amplia gama de dispositivos electrónicos, como televisores, teléfonos inteligentes, tabletas inteligentes, entre otros. Este tipo de pantallas son conocidas por su alta calidad de imagen, flexibilidad y menor consumo de energía. La pasantía tiene como objetivo principal el desarrollo de un código en lenguaje V, con el fin de implementar un módulo OLED en la plataforma Aixt. Esta implementación permitirá ampliar las funcionalidades con las que cuenta actualmente la API de los microcontroladores RASPBERRY PI PICO y XIAO-SAMD21, ofreciendo soporte para este tipo de pantallas. El soporte para módulos OLED no solo facilitará el desarrollo de proyectos que requieran pantallas, sino que también brindará nuevas opciones para los desarrolladores, permitiéndoles crear soluciones mas interactivas y visuales con mayor eficiencia directamente desde la plataforma Aixt. Esto ampliara significativamente las capacidades de la plataforma, proporcionando más herramientas para proyectos futuros.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-03-03T17:37:15Z
dc.date.available.none.fl_str_mv 2025-03-03T17:37:15Z
dc.date.created.none.fl_str_mv 2025-02-24
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Pasantía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/93129
url http://hdl.handle.net/11349/93129
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Fernando Martínez Santa (2022). Microcontrollers Programming Framework based on a V-like programming Language
Fernando Martínez Santa, «Aixt,» 2022. [Online] https://github.com/fermarsan/aixt
Santa Fernando, Orjuela Santiago, Martines H Fredy (2022). Microcontrollers Programming Framework base don a V-like Programming Language. https://thesai.org/Publications/ViewPaper?Volume=13&Issue=12&Code=IJACSA&Serial No=5
Martinez Santa Fernando (2011). Profe Santa [canal de YouTube]. https://www.youtube.com/@fernandomartinezsanta7153
Raspberry Pi (2020-2024). Raspberry Pi Pico Datasheet. https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
Seeed Studio XIAO Series. System-on-Modules (SoM), User Manual. https://files.seeedstudio.com/wiki/XIAO/Seeed-Studio-XIAO-Series-SOM Datasheet.pdf
SunFounder (2024). Módulo de pantalla OLED. https://docs.sunfounder.com/projects/ultimate-sensor kit/en/latest/components_basic/22-component_oled.html
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.none.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/fe5cf9ab-cce4-45eb-ab16-2a775ac75972/download
https://repository.udistrital.edu.co/bitstreams/5736fed5-ccff-4858-819c-93ead96c1096/download
https://repository.udistrital.edu.co/bitstreams/db689b2f-50bf-4de9-a183-8a10e46ba892/download
https://repository.udistrital.edu.co/bitstreams/a3f14473-00d8-4b30-90b8-2a088c7957d1/download
https://repository.udistrital.edu.co/bitstreams/f5b2c12a-0adc-4956-ab30-f0312a6285de/download
bitstream.checksum.fl_str_mv 997daf6c648c962d566d7b082dac908d
50ea973c899f2191f0139c3abecc27c1
6ed51595b5653a829a1655a70d570c4a
3effcc816505830eb021ce369d1c44fc
ecaf8f71859a31fc07986bf19a664a69
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837006948343480320
spelling Martínez Santa, FernandoGonzález Hernández, Leidy NataliaLeal Cortés, Daniel Esteban2025-03-03T17:37:15Z2025-03-03T17:37:15Z2025-02-24http://hdl.handle.net/11349/93129Los microcontroladores son circuitos integrados que en su interior contienen una unidad central de procesamiento (CPU), unidad de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estos componentes están interconectados dentro del microcontrolador, y en conjunto se denomina microcomputadora. El propósito fundamental de los microcontroladores es leer y ejecutar los programas proporcionados por el usuario. Su naturaleza programable simplifica el diseño de circuitos electrónicos, ofreciendo versatilidad y flexibilidad. Permitiendo así que un mismo circuito sea capaz de desempeñar diversas funciones con solo ajustar el programa del microcontrolador. Un módulo OLED (Organic Led Emitting Diode) es un dispositivo que puede mostrar texto, gráficos e imágenes en una pantalla delgada y flexible utilizando materiales orgánicos que emiten luz cuando se aplica corriente eléctrica. Son un tipo de pantalla relativamente nuevo que ha ganado popularidad en una amplia gama de dispositivos electrónicos, como televisores, teléfonos inteligentes, tabletas inteligentes, entre otros. Este tipo de pantallas son conocidas por su alta calidad de imagen, flexibilidad y menor consumo de energía. La pasantía tiene como objetivo principal el desarrollo de un código en lenguaje V, con el fin de implementar un módulo OLED en la plataforma Aixt. Esta implementación permitirá ampliar las funcionalidades con las que cuenta actualmente la API de los microcontroladores RASPBERRY PI PICO y XIAO-SAMD21, ofreciendo soporte para este tipo de pantallas. El soporte para módulos OLED no solo facilitará el desarrollo de proyectos que requieran pantallas, sino que también brindará nuevas opciones para los desarrolladores, permitiéndoles crear soluciones mas interactivas y visuales con mayor eficiencia directamente desde la plataforma Aixt. Esto ampliara significativamente las capacidades de la plataforma, proporcionando más herramientas para proyectos futuros.Microcontrollers are integrated circuits that contain a unit inside central processing unit (CPU), memory unit (RAM and ROM), input ports, and output and peripherals. These components are interconnected within the microcontroller, and together it is called a microcomputer. The fundamental purpose of the Microcontrollers is to read and execute the programs provided by the user. His Programmable nature simplifies the design of electronic circuits, offering versatility and flexibility. Thus allowing the same circuit to be able to perform several functions by simply adjusting the microcontroller program. An OLED (Organic Led Emitting Diode) module is a device that can display text, graphics and images on a thin, flexible screen using organic materials that They emit light when electric current is applied. They are a relatively new type of display which has gained popularity in a wide range of electronic devices, such as televisions, smartphones, smart tablets, among others. These types of screens are known for their high image quality, flexibility, and lower power consumption. The main objective of the internship is the development of a code in the V language, in order to implement an OLED module on the Aixt platform. This implementation will allow expand the functionalities currently available to the microcontroller API RASPBERRY PI PICO and XIAO-SAMD21, offering support for this type of display. Support for OLED modules will not only facilitate the development of projects that require screens, but it will also provide new options for developers, allowing them to create more interactive and visual solutions with greater efficiency directly from the Aixt platform. This will significantly expand the capabilities of platform, providing more tools for future projects.pdfspaUniversidad Distrital Francisco José de CaldasOledI2cAixtRaspberry pi picoXiao- samd21Tecnología en Electricidad -- Tesis y Disertaciones AcadémicasMicrocontroladoresCircuitos integradosMicrocontroladores picCircuitos electrónicosOledI2cAixtRaspberry pi picoXiao- samd21Desarrollo del módulo de visualización Oled por I2C para la plataforma Aixt usando los Microcontroladores Raspberry Pi Pico y Xiao Sam21Development of the Oled display module by I2C for the Aixt platform using the Raspberry Pi Pico and Xiao Sam21 MicrocontrollersbachelorThesisPasantíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Fernando Martínez Santa (2022). Microcontrollers Programming Framework based on a V-like programming LanguageFernando Martínez Santa, «Aixt,» 2022. [Online] https://github.com/fermarsan/aixtSanta Fernando, Orjuela Santiago, Martines H Fredy (2022). Microcontrollers Programming Framework base don a V-like Programming Language. https://thesai.org/Publications/ViewPaper?Volume=13&Issue=12&Code=IJACSA&Serial No=5Martinez Santa Fernando (2011). Profe Santa [canal de YouTube]. https://www.youtube.com/@fernandomartinezsanta7153Raspberry Pi (2020-2024). Raspberry Pi Pico Datasheet. https://datasheets.raspberrypi.com/pico/pico-datasheet.pdfSeeed Studio XIAO Series. System-on-Modules (SoM), User Manual. https://files.seeedstudio.com/wiki/XIAO/Seeed-Studio-XIAO-Series-SOM Datasheet.pdfSunFounder (2024). Módulo de pantalla OLED. https://docs.sunfounder.com/projects/ultimate-sensor kit/en/latest/components_basic/22-component_oled.htmlLICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/fe5cf9ab-cce4-45eb-ab16-2a775ac75972/download997daf6c648c962d566d7b082dac908dMD51ORIGINALGonzalezHernandezLeidyNatalia2025.pdfGonzalezHernandezLeidyNatalia2025.pdfapplication/pdf1260083https://repository.udistrital.edu.co/bitstreams/5736fed5-ccff-4858-819c-93ead96c1096/download50ea973c899f2191f0139c3abecc27c1MD52Licencia de uso y publicación.pdfLicencia de uso y publicación.pdfapplication/pdf688299https://repository.udistrital.edu.co/bitstreams/db689b2f-50bf-4de9-a183-8a10e46ba892/download6ed51595b5653a829a1655a70d570c4aMD53THUMBNAILGonzalezHernandezLeidyNatalia2025.pdf.jpgGonzalezHernandezLeidyNatalia2025.pdf.jpgIM Thumbnailimage/jpeg10877https://repository.udistrital.edu.co/bitstreams/a3f14473-00d8-4b30-90b8-2a088c7957d1/download3effcc816505830eb021ce369d1c44fcMD54Licencia de uso y publicación.pdf.jpgLicencia de uso y publicación.pdf.jpgIM Thumbnailimage/jpeg9583https://repository.udistrital.edu.co/bitstreams/f5b2c12a-0adc-4956-ab30-f0312a6285de/downloadecaf8f71859a31fc07986bf19a664a69MD5511349/93129oai:repository.udistrital.edu.co:11349/931292025-03-12 13:55:46.924open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK