Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides)
En el campo de visión por computadora, las redes neuronales convolucionales y el apoyo de los recursos de procesamiento como Google Colab o computadores con ram de 24 o 32 GB, han permitido aplicar modelos para predecir la clasificación de una imagen determinada. En el trabajo actual se utilizaron m...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2021
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/29604
- Acceso en línea:
- http://hdl.handle.net/11349/29604
- Palabra clave:
- Arquitectura Web
Prototipo Web
Redes Neuronales Convolucionales
Clasificación de Imágenes
Plantas Enfermas
Plantas Sanas
Especialización en Ingeniería de Software - Tesis y Disertaciones Académicas
Sistemas automáticos de recolección de datos
Procesamiento de imágenes
Gráficas por computador
Plantas medicinales - Análisis de información
Web Prototype
Convolutional Neural Networks
Image Classification
Deep Learning
Diseased Plants
Healthy Plants
- Rights
- License
- Atribución-NoComercial 2.5 Colombia
id |
UDISTRITA2_1fecf9ee5b2e8ae20cc4c4dff70d2928 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/29604 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
dc.title.titleenglish.spa.fl_str_mv |
Design of a web prototype for the collection and validation of data used to detect diseases in the leaves of medicinal plants with image processing through convolutional neuronal networks. Case study: Calendula and Basil (Cercospora / Colletotrichum Gloeosporioides) |
title |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
spellingShingle |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) Arquitectura Web Prototipo Web Redes Neuronales Convolucionales Clasificación de Imágenes Plantas Enfermas Plantas Sanas Especialización en Ingeniería de Software - Tesis y Disertaciones Académicas Sistemas automáticos de recolección de datos Procesamiento de imágenes Gráficas por computador Plantas medicinales - Análisis de información Web Prototype Convolutional Neural Networks Image Classification Deep Learning Diseased Plants Healthy Plants |
title_short |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
title_full |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
title_fullStr |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
title_full_unstemmed |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
title_sort |
Diseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides) |
dc.contributor.advisor.none.fl_str_mv |
Daza Corredor, Alejandro Paolo |
dc.subject.spa.fl_str_mv |
Arquitectura Web Prototipo Web Redes Neuronales Convolucionales Clasificación de Imágenes Plantas Enfermas Plantas Sanas |
topic |
Arquitectura Web Prototipo Web Redes Neuronales Convolucionales Clasificación de Imágenes Plantas Enfermas Plantas Sanas Especialización en Ingeniería de Software - Tesis y Disertaciones Académicas Sistemas automáticos de recolección de datos Procesamiento de imágenes Gráficas por computador Plantas medicinales - Análisis de información Web Prototype Convolutional Neural Networks Image Classification Deep Learning Diseased Plants Healthy Plants |
dc.subject.lemb.spa.fl_str_mv |
Especialización en Ingeniería de Software - Tesis y Disertaciones Académicas Sistemas automáticos de recolección de datos Procesamiento de imágenes Gráficas por computador Plantas medicinales - Análisis de información |
dc.subject.keyword.spa.fl_str_mv |
Web Prototype Convolutional Neural Networks Image Classification Deep Learning Diseased Plants Healthy Plants |
description |
En el campo de visión por computadora, las redes neuronales convolucionales y el apoyo de los recursos de procesamiento como Google Colab o computadores con ram de 24 o 32 GB, han permitido aplicar modelos para predecir la clasificación de una imagen determinada. En el trabajo actual se utilizaron modelos previamente entrenados que sirvieron para que el prototipo funcional de recolección de imágenes medicinales, desarrollado con django,python y javascript, tuviera implı́cito un filtro autómatico que sugiriera si es por ejemplo una planta o no, que además presentara si ésta se encuentra enferma o sana, según la imagen almacenada. Estas validaciones automáticas se utilizan principalmente para construir datasets de entrenamiento posteriores, con temas similares o que involucren plantas u hojas de plantas y su respectivo aprovechamiento y análisis. Este trabajo contiene la aplicación de estos modelos dentro del prototipo web, asegurando accesibilidad a los datos almacenados, sin embargo no descarga la evaluación manual o del usuario, que es muy importante también, pues los modelos a veces quedan sobreajustados. |
publishDate |
2021 |
dc.date.created.none.fl_str_mv |
2021-11-26 |
dc.date.accessioned.none.fl_str_mv |
2022-07-07T15:01:44Z |
dc.date.available.none.fl_str_mv |
2022-07-07T15:01:44Z |
dc.type.degree.spa.fl_str_mv |
Investigación-Innovación |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.coar.spa.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/29604 |
url |
http://hdl.handle.net/11349/29604 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial 2.5 Colombia |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc/2.5/co/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Atribución-NoComercial 2.5 Colombia http://creativecommons.org/licenses/by-nc/2.5/co/ Abierto (Texto Completo) http://purl.org/coar/access_right/c_abf2 |
dc.format.mimetype.spa.fl_str_mv |
pdf |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
http://repository.udistrital.edu.co/bitstream/11349/29604/1/Beltr%c3%a1nBeltr%c3%a1nN%c3%a9storCamilo2021.pdf http://repository.udistrital.edu.co/bitstream/11349/29604/2/Licencia%20de%20uso%20y%20publicacion.pdf http://repository.udistrital.edu.co/bitstream/11349/29604/3/license_rdf http://repository.udistrital.edu.co/bitstream/11349/29604/4/license.txt http://repository.udistrital.edu.co/bitstream/11349/29604/5/Beltr%c3%a1nBeltr%c3%a1nN%c3%a9storCamilo2021.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/29604/6/Licencia%20de%20uso%20y%20publicacion.pdf.jpg |
bitstream.checksum.fl_str_mv |
f21ca1b7b2103f7fd3ee942bd94f7721 06f3ba90592a814e199b011694da4cb8 40513e59b5d1327fcca263d3c2a2e44a 997daf6c648c962d566d7b082dac908d d554a7ea158adc24bf2b1c6c33e82fc4 d681a686f8d725041afd6e2b9bce40d9 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Distrital - RIUD |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1814111189037219840 |
spelling |
Daza Corredor, Alejandro PaoloRodríguez Mojica, Edda CamilaBeltrán Beltrán, Néstor Camilo2022-07-07T15:01:44Z2022-07-07T15:01:44Z2021-11-26http://hdl.handle.net/11349/29604En el campo de visión por computadora, las redes neuronales convolucionales y el apoyo de los recursos de procesamiento como Google Colab o computadores con ram de 24 o 32 GB, han permitido aplicar modelos para predecir la clasificación de una imagen determinada. En el trabajo actual se utilizaron modelos previamente entrenados que sirvieron para que el prototipo funcional de recolección de imágenes medicinales, desarrollado con django,python y javascript, tuviera implı́cito un filtro autómatico que sugiriera si es por ejemplo una planta o no, que además presentara si ésta se encuentra enferma o sana, según la imagen almacenada. Estas validaciones automáticas se utilizan principalmente para construir datasets de entrenamiento posteriores, con temas similares o que involucren plantas u hojas de plantas y su respectivo aprovechamiento y análisis. Este trabajo contiene la aplicación de estos modelos dentro del prototipo web, asegurando accesibilidad a los datos almacenados, sin embargo no descarga la evaluación manual o del usuario, que es muy importante también, pues los modelos a veces quedan sobreajustados.In the field of computer vision, Convolutional Neural Networks (CNN) and the support of processing resources such Google Colab or computers with 24 or 32 GB ram, have made possible it to apply models to predict the classification of a given image. In the current document, previously trained models were used in the created web prototype for suggesting that an image contains a plant or not, and whether it shows a diseased or healthy plant. These automatic validations are mainly used to build subsequent training datasets, with similar topics or involving plants or plant leaves and their respective use and analysis. The web prototype was built with django, python and javascript. This work contains the application of these models within the web prototype, ensuring accessibility to the stored data, however it does not download the manual or user evaluation, which is also very important, since the models are sometimes over-adjusted.pdfspaAtribución-NoComercial 2.5 Colombiahttp://creativecommons.org/licenses/by-nc/2.5/co/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Arquitectura WebPrototipo WebRedes Neuronales ConvolucionalesClasificación de ImágenesPlantas EnfermasPlantas SanasEspecialización en Ingeniería de Software - Tesis y Disertaciones AcadémicasSistemas automáticos de recolección de datosProcesamiento de imágenesGráficas por computadorPlantas medicinales - Análisis de informaciónWeb PrototypeConvolutional Neural NetworksImage ClassificationDeep LearningDiseased PlantsHealthy PlantsDiseño de un prototipo web de recolección y validación de datos empleados para detectar enfermedades en las hojas de plantas medicinales a través de procesamiento de imágenes mediante redes neuronales convulsiónales caso de estudio: caléndula (Cercospora) y albahaca (Colletotrichum Gloeosporioides)Design of a web prototype for the collection and validation of data used to detect diseases in the leaves of medicinal plants with image processing through convolutional neuronal networks. Case study: Calendula and Basil (Cercospora / Colletotrichum Gloeosporioides)Investigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALBeltránBeltránNéstorCamilo2021.pdfBeltránBeltránNéstorCamilo2021.pdfapplication/pdf5947988http://repository.udistrital.edu.co/bitstream/11349/29604/1/Beltr%c3%a1nBeltr%c3%a1nN%c3%a9storCamilo2021.pdff21ca1b7b2103f7fd3ee942bd94f7721MD51open accessLicencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf760680http://repository.udistrital.edu.co/bitstream/11349/29604/2/Licencia%20de%20uso%20y%20publicacion.pdf06f3ba90592a814e199b011694da4cb8MD52metadata only accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8920http://repository.udistrital.edu.co/bitstream/11349/29604/3/license_rdf40513e59b5d1327fcca263d3c2a2e44aMD53open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/29604/4/license.txt997daf6c648c962d566d7b082dac908dMD54open accessTHUMBNAILBeltránBeltránNéstorCamilo2021.pdf.jpgBeltránBeltránNéstorCamilo2021.pdf.jpgIM Thumbnailimage/jpeg6913http://repository.udistrital.edu.co/bitstream/11349/29604/5/Beltr%c3%a1nBeltr%c3%a1nN%c3%a9storCamilo2021.pdf.jpgd554a7ea158adc24bf2b1c6c33e82fc4MD55open accessLicencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13369http://repository.udistrital.edu.co/bitstream/11349/29604/6/Licencia%20de%20uso%20y%20publicacion.pdf.jpgd681a686f8d725041afd6e2b9bce40d9MD56open access11349/29604oai:repository.udistrital.edu.co:11349/296042023-06-13 14:59:34.487open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |