Programa OpenCV Python para detección de vehículos en un cuadro de video
La congestión vehicular es un problema creciente en las calles y autopistas de Colombia Los sistemas de gestión de transporte actuales no son suficientes para mejorar la movilidad urbana. Para mejorar la movilidad urbana, es necesario implementar sistemas de gestión de transporte que sean más integr...
- Autores:
-
Pérez Rozo, Juan Sebastian
García Diosa, Carlos Alberto
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2024
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/42136
- Acceso en línea:
- http://hdl.handle.net/11349/42136
- Palabra clave:
- Detección
OpenCV
Programa
Vehículo
Videos
Ingeniería en Control -- Tesis y disertaciones académicas
Innovaciones educativas
Realidad aumentada
Robótica
Detection
OpenCV
Program
Vehicle
Videos
- Rights
- License
- Abierto (Texto Completo)
id |
UDISTRITA2_e4f3ee9224328d616136281e55a83c45 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/42136 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.none.fl_str_mv |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
dc.title.titleenglish.none.fl_str_mv |
OpenCV Python program for vehicle detection on a video frame |
title |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
spellingShingle |
Programa OpenCV Python para detección de vehículos en un cuadro de video Detección OpenCV Programa Vehículo Videos Ingeniería en Control -- Tesis y disertaciones académicas Innovaciones educativas Realidad aumentada Robótica Detection OpenCV Program Vehicle Videos |
title_short |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
title_full |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
title_fullStr |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
title_full_unstemmed |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
title_sort |
Programa OpenCV Python para detección de vehículos en un cuadro de video |
dc.creator.fl_str_mv |
Pérez Rozo, Juan Sebastian García Diosa, Carlos Alberto |
dc.contributor.advisor.none.fl_str_mv |
Giraldo Ramos, Frank Nixon |
dc.contributor.author.none.fl_str_mv |
Pérez Rozo, Juan Sebastian García Diosa, Carlos Alberto |
dc.contributor.orcid.none.fl_str_mv |
Giraldo Ramos, Frank Nixon [0000-0001-8407-1831] |
dc.subject.none.fl_str_mv |
Detección OpenCV Programa Vehículo Videos |
topic |
Detección OpenCV Programa Vehículo Videos Ingeniería en Control -- Tesis y disertaciones académicas Innovaciones educativas Realidad aumentada Robótica Detection OpenCV Program Vehicle Videos |
dc.subject.lemb.none.fl_str_mv |
Ingeniería en Control -- Tesis y disertaciones académicas Innovaciones educativas Realidad aumentada Robótica |
dc.subject.keyword.none.fl_str_mv |
Detection OpenCV Program Vehicle Videos |
description |
La congestión vehicular es un problema creciente en las calles y autopistas de Colombia Los sistemas de gestión de transporte actuales no son suficientes para mejorar la movilidad urbana. Para mejorar la movilidad urbana, es necesario implementar sistemas de gestión de transporte que sean más integrales y que tengan en cuenta factores como la demanda de transporte, la infraestructura vial, la seguridad vial y la sostenibilidad ambiental. Estos sistemas deben utilizar tecnologías inteligentes para recopilar datos, analizarlos y tomar decisiones en tiempo real. Por esta razón el presente proyecto describe el proceso de desarrollo de un programa capaz de detectar y seguir vehículos en un cuadro de video, que permita la identificación y análisis de patrones de movimiento de vehículos. La propuesta se desarrollará utilizando el software de Python® y librería de OpenCv la cual se basará en la computación visual para el procesamiento de imágenes, tendrá un tiempo de desarrollo de 6 meses con un costo de $20.800.000 los cuales estarán divididos en el gasto del personal, equipo y adquisición de software. Será presentado en la modalidad de monografía. |
publishDate |
2024 |
dc.date.accessioned.none.fl_str_mv |
2024-10-24T23:30:27Z |
dc.date.available.none.fl_str_mv |
2024-10-24T23:30:27Z |
dc.date.created.none.fl_str_mv |
2024-08-27 |
dc.type.none.fl_str_mv |
bachelorThesis |
dc.type.degree.none.fl_str_mv |
Monografí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/42136 |
url |
http://hdl.handle.net/11349/42136 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.relation.references.none.fl_str_mv |
L. Hincapié, desarrollo de una herramienta sistémica basada en procesamiento digital de video para el conteo de flujo vehicular, velocidad y tipo de automotor, Universidad Autónoma de Occidente, Facultad de Ingeniería, Departamento de Automática y Electrónica, Programa de Ingeniería Electrónica y Telecomunicaciones, Santiago de Cali, 2014. Peña Quintero, Dario. Desarrollo de sistema de análisis de flujo vehicular para la recolección de variables de tránsito en la ciudad Santiago de Cali. Santiago de Cali: Institución Universitaria Antonio José Camacho. 2019 D. F. Londoño & D. Álvarez Sistema Inteligente de Semaforización Basado en Procesamiento de Imágenes/Video Programado en Raspberry. [online]. Disponible en: http://hdl.handle.net/20.500.11912/10975. Peña Merino & Juimy Milton Sistema de detección y conteo de vehículos utilizando visión artificial Ciudad de Piura – Perú: Universidad Nacional de Piura S. Torres, H. Cueva, W. Muñoz, Análisis, monitoreo e implementación de un algoritmo para el conteo del tráfico vehicular aplicando visión artificial Universidad del Azuay [online]. http://dspace.uazuay.edu.ec/handle/datos/6914 Niño-Rondón, C. V., Castellano-Carvajal, D. A., Castro-Casadiego, S. A., Medina-Delgado, B., Guevara-Ibarra, D. (2021), Detección de placas vehiculares mediante modelo de clasificador en cascada basado en lenguaje Python. Eco Matemático, 12 (1), 41-53 J. L. Porta La higuera, “Contaje de vehículos a través de cámaras de TV,” Projecte/Treball Final de Carrera, UPC, Escola Politècnica Superior d'Enginyeria de Vilanova i la Geltrú, Departament de Llenguatges i Sistemes Informàtics, 2013. Fernández Mc Cann, David Stephen, Salgado Duque Santiago “Proyecto de automatización de aforamiento vehicular” Universidad de Antioquia Medellín [online] https://hdl.handle.net/10495/15943 https://www.iso-39001.es/blog/86-que-es-la-norma-iso-39001 https://fotodeteccion.ansv.gov.co/ubicaciones-aprobadas.html https://www.normas-iso.com/iso-iec-15504-spice/ http://noticias.juridicas.com/base_datos/Admin/rd1407-1992.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 |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
https://repository.udistrital.edu.co/bitstreams/b7f12464-3a75-4a03-969b-34210eabf93b/download https://repository.udistrital.edu.co/bitstreams/382e4595-2969-41e4-bb24-442d1e6339e1/download https://repository.udistrital.edu.co/bitstreams/9eed3892-1b17-4ace-8224-2d1d2d8fb104/download https://repository.udistrital.edu.co/bitstreams/1390d336-4ea7-4097-a857-b8b34179d840/download https://repository.udistrital.edu.co/bitstreams/cbea5cdc-e8b4-4509-b79a-43dbd59ebd0a/download |
bitstream.checksum.fl_str_mv |
fc686949971d125a4f238b29c8e5e8a1 84eb905c53270827872234074f63bbfa 997daf6c648c962d566d7b082dac908d efaa0294eb7917addf42aa571d8978c3 49ca5ebd378f6467f424ac27929e645a |
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_ |
1837006984728018944 |
spelling |
Giraldo Ramos, Frank NixonPérez Rozo, Juan SebastianGarcía Diosa, Carlos AlbertoGiraldo Ramos, Frank Nixon [0000-0001-8407-1831]2024-10-24T23:30:27Z2024-10-24T23:30:27Z2024-08-27http://hdl.handle.net/11349/42136La congestión vehicular es un problema creciente en las calles y autopistas de Colombia Los sistemas de gestión de transporte actuales no son suficientes para mejorar la movilidad urbana. Para mejorar la movilidad urbana, es necesario implementar sistemas de gestión de transporte que sean más integrales y que tengan en cuenta factores como la demanda de transporte, la infraestructura vial, la seguridad vial y la sostenibilidad ambiental. Estos sistemas deben utilizar tecnologías inteligentes para recopilar datos, analizarlos y tomar decisiones en tiempo real. Por esta razón el presente proyecto describe el proceso de desarrollo de un programa capaz de detectar y seguir vehículos en un cuadro de video, que permita la identificación y análisis de patrones de movimiento de vehículos. La propuesta se desarrollará utilizando el software de Python® y librería de OpenCv la cual se basará en la computación visual para el procesamiento de imágenes, tendrá un tiempo de desarrollo de 6 meses con un costo de $20.800.000 los cuales estarán divididos en el gasto del personal, equipo y adquisición de software. Será presentado en la modalidad de monografía.Traffic congestion is a growing problem on Colombia's streets and highways Current transportation management systems are not sufficient to improve urban mobility. To improve urban mobility, it is necessary to implement transport management systems that are more comprehensive and take into account factors such as transport demand, road infrastructure, road safety, and environmental sustainability. These systems must use intelligent technologies to collect data, analyze it, and make decisions in real time. For this reason, the present project describes the development process of a program capable of detecting and tracking vehicles in a video frame, allowing the identification and analysis of vehicle movement patterns. The proposal will be developed using Python® software and OpenCv library which will be based on visual computing for image processing, will have a development time of 6 months with a cost of $ 20,800,000 which will be divided into the cost of personnel, equipment and software acquisition. It will be presented as a monograph.pdfspaDetecciónOpenCVProgramaVehículoVideosIngeniería en Control -- Tesis y disertaciones académicasInnovaciones educativasRealidad aumentadaRobóticaDetectionOpenCVProgramVehicleVideosPrograma OpenCV Python para detección de vehículos en un cuadro de videoOpenCV Python program for vehicle detection on a video framebachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2L. Hincapié, desarrollo de una herramienta sistémica basada en procesamiento digital de video para el conteo de flujo vehicular, velocidad y tipo de automotor, Universidad Autónoma de Occidente, Facultad de Ingeniería, Departamento de Automática y Electrónica, Programa de Ingeniería Electrónica y Telecomunicaciones, Santiago de Cali, 2014.Peña Quintero, Dario. Desarrollo de sistema de análisis de flujo vehicular para la recolección de variables de tránsito en la ciudad Santiago de Cali. Santiago de Cali: Institución Universitaria Antonio José Camacho. 2019D. F. Londoño & D. Álvarez Sistema Inteligente de Semaforización Basado en Procesamiento de Imágenes/Video Programado en Raspberry. [online]. Disponible en: http://hdl.handle.net/20.500.11912/10975.Peña Merino & Juimy Milton Sistema de detección y conteo de vehículos utilizando visión artificial Ciudad de Piura – Perú: Universidad Nacional de PiuraS. Torres, H. Cueva, W. Muñoz, Análisis, monitoreo e implementación de un algoritmo para el conteo del tráfico vehicular aplicando visión artificial Universidad del Azuay [online]. http://dspace.uazuay.edu.ec/handle/datos/6914Niño-Rondón, C. V., Castellano-Carvajal, D. A., Castro-Casadiego, S. A., Medina-Delgado, B., Guevara-Ibarra, D. (2021), Detección de placas vehiculares mediante modelo de clasificador en cascada basado en lenguaje Python. Eco Matemático, 12 (1), 41-53J. L. Porta La higuera, “Contaje de vehículos a través de cámaras de TV,” Projecte/Treball Final de Carrera, UPC, Escola Politècnica Superior d'Enginyeria de Vilanova i la Geltrú, Departament de Llenguatges i Sistemes Informàtics, 2013.Fernández Mc Cann, David Stephen, Salgado Duque Santiago “Proyecto de automatización de aforamiento vehicular” Universidad de Antioquia Medellín [online] https://hdl.handle.net/10495/15943https://www.iso-39001.es/blog/86-que-es-la-norma-iso-39001https://fotodeteccion.ansv.gov.co/ubicaciones-aprobadas.htmlhttps://www.normas-iso.com/iso-iec-15504-spice/http://noticias.juridicas.com/base_datos/Admin/rd1407-1992.htmlORIGINALTrabajo de grado Trabajo de grado application/pdf1099750https://repository.udistrital.edu.co/bitstreams/b7f12464-3a75-4a03-969b-34210eabf93b/downloadfc686949971d125a4f238b29c8e5e8a1MD51Licencia de uso y autorizaciónLicencia de uso y autorizaciónapplication/pdf210098https://repository.udistrital.edu.co/bitstreams/382e4595-2969-41e4-bb24-442d1e6339e1/download84eb905c53270827872234074f63bbfaMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/9eed3892-1b17-4ace-8224-2d1d2d8fb104/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILTrabajo de grado .jpgTrabajo de grado .jpgIM Thumbnailimage/jpeg3679https://repository.udistrital.edu.co/bitstreams/1390d336-4ea7-4097-a857-b8b34179d840/downloadefaa0294eb7917addf42aa571d8978c3MD55Licencia de uso y autorización.jpgLicencia de uso y autorización.jpgIM Thumbnailimage/jpeg9498https://repository.udistrital.edu.co/bitstreams/cbea5cdc-e8b4-4509-b79a-43dbd59ebd0a/download49ca5ebd378f6467f424ac27929e645aMD5611349/42136oai:repository.udistrital.edu.co:11349/421362025-02-03 01:13:10.537open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |