Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos

El reciclaje es una estrategia que permite mejorar el trato de los residuos sólidos que pueden ser útiles en otros aspectos, pero su correcta clasificación no siempre resulta satisfactoria. El problema se presenta cuando se desconoce cómo deshacerse de los desperdicios que ya no representan un valor...

Full description

Autores:
Suescun Vera, Paula Linned
Nocua Enciso, Paola Roció
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Francisco de Paula Santander
Repositorio:
Repositorio Digital UFPS
Idioma:
spa
OAI Identifier:
oai:repositorio.ufps.edu.co:ufps/6770
Acceso en línea:
https://repositorio.ufps.edu.co/handle/ufps/6770
Palabra clave:
Residuos sólidos
Reciclaje
Herramientas vosk
Reciclaje
Herramienta Vosk
Residuos sólidos
Redes neuronales
Reconocimiento de voz
Rights
openAccess
License
Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
id RUFPS2_645ea876e797d715bde63e0c80e84d53
oai_identifier_str oai:repositorio.ufps.edu.co:ufps/6770
network_acronym_str RUFPS2
network_name_str Repositorio Digital UFPS
repository_id_str
dc.title.spa.fl_str_mv Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
title Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
spellingShingle Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
Residuos sólidos
Reciclaje
Herramientas vosk
Reciclaje
Herramienta Vosk
Residuos sólidos
Redes neuronales
Reconocimiento de voz
title_short Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
title_full Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
title_fullStr Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
title_full_unstemmed Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
title_sort Sistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidos
dc.creator.fl_str_mv Suescun Vera, Paula Linned
Nocua Enciso, Paola Roció
dc.contributor.advisor.none.fl_str_mv Illera Bustos, Mario Joaquin
Barbosa Casanova, Geiner Giovanny
dc.contributor.author.none.fl_str_mv Suescun Vera, Paula Linned
Nocua Enciso, Paola Roció
dc.contributor.corporatename.spa.fl_str_mv Universidad Francisco de Paula Santander
dc.contributor.jury.none.fl_str_mv Castro Casadiego, Sergio Alexander
Tarazona Anteliz, Julián Orlando
dc.subject.lemb.none.fl_str_mv Residuos sólidos
Reciclaje
Herramientas vosk
topic Residuos sólidos
Reciclaje
Herramientas vosk
Reciclaje
Herramienta Vosk
Residuos sólidos
Redes neuronales
Reconocimiento de voz
dc.subject.proposal.spa.fl_str_mv Reciclaje
Herramienta Vosk
Residuos sólidos
Redes neuronales
Reconocimiento de voz
description El reciclaje es una estrategia que permite mejorar el trato de los residuos sólidos que pueden ser útiles en otros aspectos, pero su correcta clasificación no siempre resulta satisfactoria. El problema se presenta cuando se desconoce cómo deshacerse de los desperdicios que ya no representan un valor útil, esta falta de conocimiento y de la poca participación en actividades de reciclaje conlleva al aumento de la contaminación ambiental. Por esta razón, en este trabajo se presenta un prototipo de un sistema de contenedores controlado por voz con capacidad de 12 litros como herramienta de apoyo en el proceso de clasificación de los residuos sólidos, el cual fue implementado sobre el sistema embebido Raspberry Pi 3B+ y codificado en el lenguaje Python. Dicha codificación basó su funcionamiento de voz. En sus pruebas de funcionamiento se obtuvo un porcentaje de aciertos del 92.64% en el reconocimiento de los comandos de voz, se obtuvo una taza de error de palabra (wer) del 5.41% para el modelo utilizado en el procesamiento digital de voz.
publishDate 2023
dc.date.issued.none.fl_str_mv 2023-03-03
dc.date.accessioned.none.fl_str_mv 2024-04-01T14:25:04Z
dc.date.available.none.fl_str_mv 2024-04-01T14:25:04Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
format http://purl.org/coar/resource_type/c_7a1f
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.ufps.edu.co/handle/ufps/6770
url https://repositorio.ufps.edu.co/handle/ufps/6770
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 87 páginas. ilustraciones,(Trabajo completo) 4.158 KB
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.place.spa.fl_str_mv San José de Cúcuta
dc.publisher.program.spa.fl_str_mv Ingeniería Electrónica
dc.source.spa.fl_str_mv https://catalogobiblioteca.ufps.edu.co/descargas/tesis/1161512_1161540 .pdf
institution Universidad Francisco de Paula Santander
bitstream.url.fl_str_mv https://repositorio.ufps.edu.co/bitstream/ufps/6770/1/1161512_1161540%20.pdf
https://repositorio.ufps.edu.co/bitstream/ufps/6770/2/license.txt
https://repositorio.ufps.edu.co/bitstream/ufps/6770/3/1161512_1161540%20.pdf.txt
https://repositorio.ufps.edu.co/bitstream/ufps/6770/4/1161512_1161540%20.pdf.jpg
bitstream.checksum.fl_str_mv fa6b0506277a9cff1547af93386c7c4b
2f9959eaf5b71fae44bbf9ec84150c7a
4639fc5653a48f98395e1908536d401f
d89c2dbf536338c2b34242fa3d354caf
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Francisco de Paula Santander
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1814095035692482560
spelling Illera Bustos, Mario Joaquin6a7070d3d9eef5d453c4c55834170f46600Barbosa Casanova, Geiner Giovannyacf681c44c4bbd6be1355736cd5e6802600Suescun Vera, Paula Linned8548471e75788d3f9aaaccda9df07891600Nocua Enciso, Paola Rociófbe8e31927651d6e6a20e525592196faUniversidad Francisco de Paula SantanderCastro Casadiego, Sergio AlexanderTarazona Anteliz, Julián Orlando2024-04-01T14:25:04Z2024-04-01T14:25:04Z2023-03-03https://repositorio.ufps.edu.co/handle/ufps/6770El reciclaje es una estrategia que permite mejorar el trato de los residuos sólidos que pueden ser útiles en otros aspectos, pero su correcta clasificación no siempre resulta satisfactoria. El problema se presenta cuando se desconoce cómo deshacerse de los desperdicios que ya no representan un valor útil, esta falta de conocimiento y de la poca participación en actividades de reciclaje conlleva al aumento de la contaminación ambiental. Por esta razón, en este trabajo se presenta un prototipo de un sistema de contenedores controlado por voz con capacidad de 12 litros como herramienta de apoyo en el proceso de clasificación de los residuos sólidos, el cual fue implementado sobre el sistema embebido Raspberry Pi 3B+ y codificado en el lenguaje Python. Dicha codificación basó su funcionamiento de voz. En sus pruebas de funcionamiento se obtuvo un porcentaje de aciertos del 92.64% en el reconocimiento de los comandos de voz, se obtuvo una taza de error de palabra (wer) del 5.41% para el modelo utilizado en el procesamiento digital de voz.1. DESCRIPCIÓN DEL PROBLEMA .............................................................................. 13 1.1. Planteamiento del problema .................................................................................... 13 1.2. Justificación ............................................................................................................ 14 1.2.1. Beneficios Tecnológicos ..................................................................................... 15 1.2.2. Beneficios Económicos ....................................................................................... 15 1.2.3. Beneficios Sociales ............................................................................................. 16 1.2.4. Beneficios Institucionales ................................................................................... 16 1.3. Alcances .................................................................................................................. 16 1.3.1. Tipo de proyecto.................................................................................................. 16 1.4. Delimitaciones ........................................................................................................ 17 1.5. Objetivos ................................................................................................................. 17 1.5.1. Objetivo General ................................................................................................. 17 1.5.2. Objetivos Específicos .......................................................................................... 17 2. MARCO TEÓRICO ....................................................................................................... 18 2.1. Generación de residuos sólidos ............................................................................... 18 2.2. Procesamiento digital de señales ............................................................................ 19 2.3. Software de procesamiento de voz ......................................................................... 20 2.4. Contenedores autónomos ........................................................................................ 20 2.5. Sistemas de control ................................................................................................. 21 2.6. Sistemas embebidos ................................................................................................ 21 2.7. Sensores .................................................................................................................. 22 2.8. Actuadores .............................................................................................................. 23 2.9. Aprendizaje automático .......................................................................................... 23 2.10. Técnicas de procesamiento digital de voz .............................................................. 24 2.10.1. Programación dinámica ....................................................................................... 24 2.10.2. Modelos ocultos de Markov ................................................................................ 25 2.10.3. Redes neuronales ................................................................................................. 25 2.11. Redes Neuronales Profundas (DNN) ...................................................................... 26 2.12. Vosk ........................................................................................................................ 26 3. ESTADO DEL ARTE .................................................................................................... 27 3.1. Software .................................................................................................................. 27 3.2. Hardware ................................................................................................................. 30 4. SELECCIÓN DE COMPONENTES ELECTRÓNICOS Y SOFTWARE ................... 36 4.1. Elección de los componentes electrónicos .............................................................. 36 4.2. Elección del software .............................................................................................. 38 5. ALGORITMO Y CODIFICACIÓN DEL SISTEMA ................................................... 41 5.1. Diagrama de flujo ................................................................................................... 41 5.2. Encuesta .................................................................................................................. 41 5.3. Codificación del sistema ......................................................................................... 44 6. PRUEBAS DE FUNCIONAMIENTO .......................................................................... 48 6.1. Prueba 1 .................................................................................................................. 48 6.2. Prueba 2 .................................................................................................................. 52 6.3. Prueba 3 .................................................................................................................. 54 6.4. Prueba 4 .................................................................................................................. 57 7. CONCLUSIONES ......................................................................................................... 59 8. TRABAJOS FUTUROS ................................................................................................ 61 REFERENCIAS..................................................................................................................... 62 ANEXOS ............................................................................................................................... 71PregradoIngeniero(a) Electrónico(a)87 páginas. ilustraciones,(Trabajo completo) 4.158 KBapplication/pdfspahttps://catalogobiblioteca.ufps.edu.co/descargas/tesis/1161512_1161540 .pdfSistema de contenedores controlado por voz para la correcta clasificación de los residuos sólidosTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Facultad de IngenieríaSan José de CúcutaIngeniería Electrónicainfo:eu-repo/semantics/openAccessAtribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)http://purl.org/coar/access_right/c_abf2Residuos sólidosReciclajeHerramientas voskReciclajeHerramienta VoskResiduos sólidosRedes neuronalesReconocimiento de vozÁ. Segura, L. Rojas, and Y. Pulido, "Sistemas de gestión de residuos sólidos," Espacios, vol. 41, no. 17, p. 22, 2020.A. Savino, G. Solórzano, C. Quispe, and M. Correal, "Perspectiva de la Gestión de Residuos en América Latina y el Caribe," Oct. 2018. https://wedocs.unep.org/handle/20.500.11822/26448 (accessed Jul. 08, 2021).J. C. Sayago Ortega, G. A. Carrillo Soto, and J. P. Rojas Suárez, “Management of urban solid waste in the two first decades of the XXI century in the city of San José de Cúcuta, Colombia," J. Phys. Conf. Ser., vol. 1388, no. 1, Nov. 2019, doi: 10.1088/1742- 6596/1388/1/012010.J. A. Astaiza and M. S. Cerón, "Estrategia didáctica basada en TIC para la descripción del proceso de la separación de residuos sólidos aprovechables en la fuente," Uniautónoma del Cauca. Facultad de Ingeniería. Programa de Ingeniería de Sistemas Informáticos, Cauca, 2020.L. Ortega, D. Borrero, and C. Pérez, “Diseño, ensamble y puesta en funcionamiento de depósito colector de residuos sólidos automatizado," Universidad Piloto de Colombia, Bogotá D.C, 2020.Corporación Punto Azul, "Colombia solo recicla 17% de sus residuos y la meta es 40% a 2030," Sep. 29, 2020. https://www.puntoazul.com.co/noticias/colombia-recicla-17-de-sus- residuos-y-la-meta-es-llegar-al-40-a-2030/ (accessed Aug. 17, 2021).Corponor, "Residuos sólidos promovemos el manejo integral," Territ. Verde, no. 3, May 2018, Accessed: Aug. 17, 2021. [Online]. Available: https://corponor.gov.co/e/images/Tercera_Edición_Gaceta.pdf.ONU, "Objetivo 12: Garantizar modalidades de consumo y producción sostenible," Sep. 25, 2015. https://www.un.org/sustainabledevelopment/es/sustainable-consumption- production/ (accessed Mar. 06, 2023).S. Hernández Flechas and L. R. Corredor González, "Reflexiones sobre la importancia económica y ambiental del manejo de residuos en el siglo XXI," Rev. Tecnol., vol. 15, no. 1, pp. 57–76, 2016, Accessed: Oct. 29, 2021. [Online]. Available: https://dialnet.unirioja.es/servlet/articulo?codigo=6041529&info=resumen&idioma=SPA. [Banco Mundial, "Los desechos: un análisis actualizado del futuro de la gestión de los desechos sólidos," Sep. 20, 2018. https://www.bancomundial.org/es/news/immersive- story/2018/09/20/what-a-waste-an-updated-look-into-the-future-of-solid-waste- management (accessed Oct. 29, 2021).S. Kaza, L. Yao, P. Bhada-Tata, and F. Van Woerden, What a Waste 2.0: A Global Snapshot of Solid Waste Management to 2050, 1st ed. Washington: World Bank, 2018.S. Smith, "The Breadth and Depth of DSP," in The Scientist and Engineer's Guide to Digital Signal Processing, 1st ed., San Diego: California Technical Publishing, 1997, pp. 1-10.B. A. Shenoi, Introduction to digital signal processing and filter design, 1st ed. New Jersey: John Wiley & Sons, 2006.G. Pajares, Análisis y reconocimiento de voz, 1st ed. RC Libros, 2017.MATLAB & Simulink, "Audio Toolbox," 2017. https://la.mathworks.com/products/audio.html (accessed Nov. 07, 2021).P.. R. Hill, AUDIO AND SPEECH PROCESSING WITH MATLAB, 1st ed. Taylor & Francis Group, 2019.D. Amos, "The Ultimate Guide To Speech Recognition With Python," 2018. Accessed: Nov. 07, 2021. [Online]. Available: https://realpython.com/python-speech-recognition/.M. Ángeles, "IRBin; el robot que educa sobre reciclaje," 2019. https://departamento.pucp.edu.pe/ingenieria/2020/02/17/irbin-el-robot-que-educa-sobre- reciclaje/ (accessed Nov. 07, 2021).C. Smith and A. Corripio, "Introducción - Un sistema de control de procesos," in Control automático de procesos, 2nd ed., LIMUSA S.A, Ed. México: LIMUSA S.A, 2014, pp. 1– 3.K. Ogata, "Introducción a los sistemas de control," in Ingeniería de control moderna, 5th ed., PEARSON EDUCACIÓN S.A., Ed. Madrid: PEARSON EDUCACIÓN S.A., 2010, PP. 7-8.A. de señales análogas y digitales Ambardar, "Señales Analógicas," in Procesamiento de señales análogas y digitales, 2nd ed., THOMSON EDITORES S.A, Ed. México: EDAMSA S.A, 2002, p. 8.D. M. Auslander, "Digital Controllers," Encycl. Phys. Sci. Technol., pp. 441–460, Jan. 2003, doi: 10.1016/B0-12-227410-5/00175-7.K. Ogata, "Introducción a los sistemas de control discreto," in Sistemas de control tiempo discreto, 2nd ed., Prentice Hall, Ed. Juárez: Prentice Hall, 1996, pp. 1-4.D. Pérez, "Sistemas Embebidos y Sistemas Operativos Embebidos," Lect. en Ciencias la Comput.. pp. 4-10. Oct. 2009.S. Salas Arriarán, "Conceptos básicos: Sistemas embebidos," in Todo sobre sistemas embebidos, 1st ed., D. Félix, Ed. Lima: Universidad Peruana de Ciencias Aplicadas, 2015, pp. 38-39.G. Galeano, "Introducción- ¿Que es un sistema embebido?," in SISTEMAS EMBEBIDOS en C, 1st ed., México: Alfaomega, 2009, pp. 8-10.F. Ebel and S. Nestel, "Notas generales - La importancia de la tecnología de los sensores," in Sensores para la técnica de procesos y manipulación., 1st ed., Esslingen: Festo Didactic KG, 1993, pp. 12-13.L. Corona, G. Abarca, and J. Mares, Sensores y Actuadores. Aplicaciones con Arduino, 1st ed. Azcapotzalco: PATRIA S.A, 2014.J. Guarella, J. P. Heredia, L. Rodríguez, and I. Bagatto, "Sensores y actuadores con motores," Universidad Nacional de la plata, Buenos Aires, 2011.A. Géron, Hands-on Machine Learning whith Scikit-Learing, Keras and Tensorfow, 2nd ed. Sebastopol: O'reilly, 2019.S. Russell and P. Norving, Artificial intelligence: A modern approach, 4th ed. Upper Saddle River: Person, 2021.B. Mahesh, "Machine Learning Algorithms-A Review," Int. J. Sci. Res., vol. 9, no. 1, pp. 381-386, Jan. 2020, doi: 10.21275/ART20203995.G. Hinton and T. Sejnowski, Unsupervised learning: Foundations of neural computation. Cambridg: MIT Press, 1999.I. El Naqa and M. J. Murphy, "Machine Learning in Radiation Oncology," Mach. Learn. Radiat. Oncol., pp. 3-11, 2015, doi: 10.1007/978-3-319-18305-3.J. Colás Pasamontes, "2.4.1.4 Técnicas más utilizadas aplicadas al Reconocimiento de Habla," Estud. Lingüística del Español, vol. 12, 2001, Accessed: Dec. 13, 2022. [Online]. Available: http://elies.rediris.es/elies12/cap2414.htm.S. Clovis, "Sistema de reconocimiento automático del habla," Bit@Bit, vol. 3, no. 5, pp. 69-75, Jun. 2021, [Online]. Available: http://dicyt.uajms.edu.bo/revistas/index.php/bitabit/article/view/872/872.J. J. Morales, "Elaboración, evaluación y optimización de modelos ocultos de markov para la transliteración de palabras del inglés a katakana," Escuela Politécnica Nacional, Quito, 2022.G. Portillo Ramírez, "Reconocimiento de placas basado en modelos ocultos de Markov," Benemérita Universidad Autónoma de Puebla, Puebla, México, 2021.K. Gurney, An Introduction to Neural Networks, 1st ed. 2017.Y. Bengio, A. Courville, and P. Vincent, "Representation Learning: A Review and New Perspectives," IEEE Trans. Pattern Anal. Mach. Intell., vol. 35, pp. 1798-1828, Aug. 2013, doi: 10.1109/TPAMI.2013.5Microsoft, "¿Qué es el aprendizaje profundo?" https://azure.microsoft.com/es- es/resources/cloud-computing-dictionary/what-is-deep-learning/ (accessed Dec. 21, 2022).Alpha Cephei, "VOSK Offline Speech Recognition API," Jan. 02, 2020. https://alphacephei.com/vosk/ (accessed Sep. 09, 2022).E. Demirel, "Deep neural networks for automatic lyrics transcription," Queen Mary University, Londres, 2022.B. Tarján, G. Szaszák, T. Fegyó, and P. Mihajlik, "Investigation on N-Gram Approximated RNNLMs for Recognition of Morphologically Rich Speech," International Conference on Statistical Language and Speech Processing, Springer Science and Business Media Deutschland GmbH, pp. 223-234, Sep. 2019.H. Phan, L. Hertel, M. Maass, P. Koch, R. Mazur, and A. Mertins, “Improved Audio Scene Classification Based on Label-Tree Embeddings and Convolutional Neural Networks," IEEE/ACM Trans. Audio Speech Lang. Process., vol. 25, no. 6, pp. 1278– 1290, 2017, doi: 10.1109/TASLP.2017.2690564.V. T. Tran and W. H. Tsai, "Stethoscope-Sensed Speech and Breath-Sounds for Person Identification with Sparse Training Data," IEEE Sens. J., vol. 20, no. 2, pp. 848-859, 2020, doi: 10.1109/JSEN.2019.2945364.N. Ziafat, H. F. Ahmad, I. Fatima, M. Zia, A. Alhumam, and K. Rajpoot, "Correct pronunciation detection of the arabic alphabet using deep learning,” Appl. Sci., vol. 11, no. 6, pp. 1-19, 2021, doi: 10.3390/app11062508.F. C. Ribeiro, R. T. S. Carvalho, P. C. Cortez, V. H. C. De Albuquerque, and P. P. R. Filho, "Binary Neural Networks for Classification of Voice Commands from Throat Microphone," IEEE Access, vol. 6, pp. 70130-70144, 2018, doi: 10.1109/ACCESS.2018.2881199.S. Fernández and K. Ramos, “Implementación de un sistema con inteligencia computacional para identificar dificultad respiratoria a partir del procesamiento digital de señales de voz,” Universidad Antonio Nariño, 2021.M. Smit and A. N. Al-Assimi, "Cascade Deep Neural Networks Classifiers for Phonemes Recognition," ARPN J. Eng. Appl. Sci., vol. 15, no. 7, pp. 1664–1670, 2020, doi: 10.36478/JEASCI.2020.1664.1670.P. Arce, D. Salvo, G. Piñero, and A. Gonzalez, "FIWARE based low-cost wireless acoustic sensor network for monitoring and classification of urban soundscape," Comput.Networks, vol. 196, p. 108199, 2021, doi: 10.1016/j.comnet.2021.108199.B. da Silva, A. W. Happi, A. Bracken, and A. Touhafi, “Evaluation of classical Machine Learning techniques towards urban sound recognition on embedded systems,” Appl. Sci., vol. 9, no. 18, 2019, doi: 10.3390/app9183885.E. Cerezuela-Escudero, A. Jimenez-Fernandez, R. Paz-Vicente, M. Dominguez-Morales, A. Linares-Barranco, and G. Jimenez-Moreno, "Musical notes classification with neuromorphic auditory system using FPGA and a convolutional spiking network," Proc. Int. Jt. Conf. Neural Networks, vol. 2015-Septe, 2015, doi: 10.1109/IJCNN.2015.7280619.P. P. Patange and J. S. R. Alex, "Implementation of ANN based speech recognition system on an embedded board," 2017 Int. Conf. Nextgen Electron. Technol. Silicon to Software, ICNETS2 2017, pp. 408-412, 2017, doi: 10.1109/ICNETS2.2017.8067968.M. Bakouri et al., "Steering a Robotic Wheelchair Based on Voice Recognition System Using Convolutional Neural Networks," Electron., vol. 11, no. 1, pp. 1-17, 2022, doi: 10.3390/electronics11010168.M. S. I. Sharifuddin, S. Nordin, and A. M. Ali, "Voice control intelligent wheelchair movement using CNNs," Proc. - 2019 1st Int. Conf. Artif. Intell. Data Sci. AiDAS 2019, pp. 40-43, 2019, doi: 10.1109/AiDAS47888.2019.8970865.Spyder Website Contributors, “Spyder IDE." https://www.spyder-ide.org/ (accessed Dec. 09, 2022).MINISTERIO DE AMBIENTE Y DESARROLLO SOSTENIBLE, "Resolución 2184 de 2019," Dec. 26, 2019. https://www.minambiente.gov.co/wp- content/uploads/2021/08/resolucion-2184-de-2019.pdf (accessed Nov. 05, 2021).P. López and S. Fachelli, “Producción. El diseño de la muestra," in Metodología de la Investigación Social Cuantitativa, Bellaterra, España, 2017.M. Geier, "Python-sounddevice. Release 0.4.5-1-g841e0a1," Aug. 2022. Accessed: Oct. 01, 2022. [Online]. Available: https://docs.conda.io/miniconda.html.J. A. Cienfuegos, “Desarrollo de un asistente de voz para la generación de un cuaderno de bitácora digital," Centro Universitario de la Defensa, Vigo, España, 2021.M. Boada Oriols and J. A. Gómez Gutierrez, El gran libro angular, 1st ed. Barcelona: Marcombo S.A, 2018.Python, "JSON encoder and decoder," Dec. 18, 2020. https://docs.python.org/3.5/library/json.html (accessed Nov. 02, 2022).TowerPro, "MG946R." https://www.towerpro.com.tw/product/mg946r/ (accessed Dec. 10, 2022).Samer I. Mohamed & Amr Abdelnabi, "Agent-Based Convolution and Reinforcement Learning," BEST Int. J. Manag. Inf. Technol. Eng. (BEST IJMITE), vol. 5, no. 12, pp. 17- 28, 2017.Samer I. Mohamed & Amr Abdelnabi, "Agent-Based Convolution and Reinforcement Learning," BEST Int. J. Manag. Inf. Technol. Eng. (BEST IJMITE), vol. 5, no. 12, pp. 17- 28, 2017.J. J. Peralta, C. A. Narváez, M. P. Orellana, P. A. Patiño, and P. Cedillo, "Evaluación del reconocimiento de voz entre los servicios de Google y Amazon aplicado al Sistema Integrado de Seguridad ECU 911," Rev. Tecnológica-ESPOL, vol. 33, no. 2, pp. 147-158, Oct. 2021. doi: https://doi.org/10.37815/rte.v33n2.840.R. Errattahi, A. El Hannani, and H. Ouahmane, “Automatic speech recognition errors detection and correction: A review," Procedia Comput. Sci., vol. 128, pp. 32-37, 2018, doi: 10.1016/j.procs.2018.03.005.Azure-Microsoft, "Prueba de la precisión de un modelo de Habla personalizada," Nov. 29, 2022. https://learn.microsoft.com/es-es/azure/cognitive-services/speech-service/how-to- custom-speech-evaluate-data?pivots-speech-studio (accessed Dec. 12, 2022).ORIGINAL1161512_1161540 .pdf1161512_1161540 .pdfProyecto de gradoapplication/pdf4256799https://repositorio.ufps.edu.co/bitstream/ufps/6770/1/1161512_1161540%20.pdffa6b0506277a9cff1547af93386c7c4bMD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://repositorio.ufps.edu.co/bitstream/ufps/6770/2/license.txt2f9959eaf5b71fae44bbf9ec84150c7aMD52open accessTEXT1161512_1161540 .pdf.txt1161512_1161540 .pdf.txtExtracted texttext/plain106147https://repositorio.ufps.edu.co/bitstream/ufps/6770/3/1161512_1161540%20.pdf.txt4639fc5653a48f98395e1908536d401fMD53open accessTHUMBNAIL1161512_1161540 .pdf.jpg1161512_1161540 .pdf.jpgGenerated Thumbnailimage/jpeg13303https://repositorio.ufps.edu.co/bitstream/ufps/6770/4/1161512_1161540%20.pdf.jpgd89c2dbf536338c2b34242fa3d354cafMD54open accessufps/6770oai:repositorio.ufps.edu.co:ufps/67702024-04-02 03:00:33.592open accessRepositorio Universidad Francisco de Paula Santanderbdigital@metabiblioteca.comTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=0000-0002-6888-67478548471e75788d3f9aaaccda9df07891600