Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect.
La detección de objetos es un problema fundamental en la visión artificial, en la actualidad existen diversas técnicas para resolver este problema. Sistemas automáticos de reconocimiento y métodos de extracción de características son soluciones para localizar un objeto de una imagen. El análisis aut...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2016
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/4656
- Acceso en línea:
- http://hdl.handle.net/11349/4656
- Palabra clave:
- Kinect
Matlab
correlación
mapa de profundidad
Kinect
Matlab
correlation
depth map
- Rights
- License
- Atribución-NoComercial-SinDerivadas 4.0 Internacional
id |
UDISTRITA2_aab1e03f14b0c817652312a4f1c4509b |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/4656 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
dc.title.titleenglish.spa.fl_str_mv |
Automatic detection of victim with partially obstructed body using Kinect. |
title |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
spellingShingle |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. Kinect Matlab correlación mapa de profundidad Kinect Matlab correlation depth map |
title_short |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
title_full |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
title_fullStr |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
title_full_unstemmed |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
title_sort |
Detección automática de victima con cuerpo parcialmente obstruido utilizando Kinect. |
dc.contributor.advisor.spa.fl_str_mv |
Perez Pereira, Miguel Ricardo |
dc.subject.spa.fl_str_mv |
Kinect Matlab correlación mapa de profundidad |
topic |
Kinect Matlab correlación mapa de profundidad Kinect Matlab correlation depth map |
dc.subject.keyword.spa.fl_str_mv |
Kinect Matlab correlation depth map |
description |
La detección de objetos es un problema fundamental en la visión artificial, en la actualidad existen diversas técnicas para resolver este problema. Sistemas automáticos de reconocimiento y métodos de extracción de características son soluciones para localizar un objeto de una imagen. El análisis automático de imágenes utiliza diferentes sensores para interpretar el escenario y las características que desea extraer. Estos sensores más conocidos como cámaras, existen de diferentes tipos y para cada aplicación. El rastreo de personas es una de las aplicaciones más comunes en la visión artificial, donde hay diferentes métodos y algoritmos para identificarlas. Estos métodos y algoritmos están más enfocados en identificar personas de pie porque es lo más común en casi todas las situaciones, pero un cuerpo acostado no es normal llevarlo al estudio, pero en casos de algunas catástrofes naturales donde es de vital importancia rescatar personas o en el peor de los casos sacar cadáveres, estos cuerpos normalmente están atrapados en la oscuridad dentro de escombros y acostados. Todos estos aspectos son también de estudio donde se necesita una herramienta que trabaje en la oscuridad y que detecte cuerpos acostados, una herramienta que puede ayudar a solucionar este problema es el Kinect. El sensor Kinect es un herramienta de visión artificial que se utiliza normalmente para los videojuegos, más exactamente para el Xbox pero en los últimos años se lanzó una versión para computadoras a través del sistema operativo Windows, para que los desarrolladores puedan crear proyectos y se amplié el rango de usuarios a los que pretenden llegar. Hoy en día ya hay una base de datos con proyectos implementados con Kinect lo que facilita la investigación y desarrollo. El Kinect cuenta con un proyector de laser infrarrojo y un par de cámaras, estos captores son sensores de imágenes CMOS, uno es una cámara a color RGB y el otro también es una cámara pero este detecta los reflejos del haz infrarrojo. [1], [2] Los algoritmos que ya trae en la programación es el reconocimiento del esqueleto el cual es el que más se utiliza, pero el cuerpo de la persona tiene que estar de pie o sentado, este proyecto pretende brindar una solución, de algún caso de que el cuerpo no se encuentre en la posición por defecto si no que se encuentre acostado y que se pueda visualizar alguna parte del cuerpo, debido a que se pueden dar algunos escenarios con estas características, esta aplicación puede ser de gran ayuda en algunos escenarios de catástrofes naturales. Debido a esto, se logró implementar un sistema para detectar un cuerpo en posición acostada y parcialmente obstruido, utilizando técnicas como la correlación cruzada y normalizada, proporcionando una solución en este tipo de escenarios. |
publishDate |
2016 |
dc.date.accessioned.none.fl_str_mv |
2016-12-19T16:24:14Z |
dc.date.available.none.fl_str_mv |
2016-12-19T16:24:14Z |
dc.date.created.spa.fl_str_mv |
2016-05-06 |
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/4656 |
url |
http://hdl.handle.net/11349/4656 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional |
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-nd/4.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional http://creativecommons.org/licenses/by-nc-nd/4.0/ 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/4656/3/UribeBermudezJuanCarlos2016.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudezJuanCarlos2016.pdf http://repository.udistrital.edu.co/bitstream/11349/4656/2/license.txt |
bitstream.checksum.fl_str_mv |
c72344f42b6d209739b00ccf758e1bb0 4b3e841024baa48e71b3955b1f323ee7 b204d61d4cc8bf0ee3a2b0e84c5755dd |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Distrital - RIUD |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1814111070167498752 |
spelling |
Perez Pereira, Miguel RicardoUribe Bermudez, Juan Carlos2016-12-19T16:24:14Z2016-12-19T16:24:14Z2016-05-06http://hdl.handle.net/11349/4656La detección de objetos es un problema fundamental en la visión artificial, en la actualidad existen diversas técnicas para resolver este problema. Sistemas automáticos de reconocimiento y métodos de extracción de características son soluciones para localizar un objeto de una imagen. El análisis automático de imágenes utiliza diferentes sensores para interpretar el escenario y las características que desea extraer. Estos sensores más conocidos como cámaras, existen de diferentes tipos y para cada aplicación. El rastreo de personas es una de las aplicaciones más comunes en la visión artificial, donde hay diferentes métodos y algoritmos para identificarlas. Estos métodos y algoritmos están más enfocados en identificar personas de pie porque es lo más común en casi todas las situaciones, pero un cuerpo acostado no es normal llevarlo al estudio, pero en casos de algunas catástrofes naturales donde es de vital importancia rescatar personas o en el peor de los casos sacar cadáveres, estos cuerpos normalmente están atrapados en la oscuridad dentro de escombros y acostados. Todos estos aspectos son también de estudio donde se necesita una herramienta que trabaje en la oscuridad y que detecte cuerpos acostados, una herramienta que puede ayudar a solucionar este problema es el Kinect. El sensor Kinect es un herramienta de visión artificial que se utiliza normalmente para los videojuegos, más exactamente para el Xbox pero en los últimos años se lanzó una versión para computadoras a través del sistema operativo Windows, para que los desarrolladores puedan crear proyectos y se amplié el rango de usuarios a los que pretenden llegar. Hoy en día ya hay una base de datos con proyectos implementados con Kinect lo que facilita la investigación y desarrollo. El Kinect cuenta con un proyector de laser infrarrojo y un par de cámaras, estos captores son sensores de imágenes CMOS, uno es una cámara a color RGB y el otro también es una cámara pero este detecta los reflejos del haz infrarrojo. [1], [2] Los algoritmos que ya trae en la programación es el reconocimiento del esqueleto el cual es el que más se utiliza, pero el cuerpo de la persona tiene que estar de pie o sentado, este proyecto pretende brindar una solución, de algún caso de que el cuerpo no se encuentre en la posición por defecto si no que se encuentre acostado y que se pueda visualizar alguna parte del cuerpo, debido a que se pueden dar algunos escenarios con estas características, esta aplicación puede ser de gran ayuda en algunos escenarios de catástrofes naturales. Debido a esto, se logró implementar un sistema para detectar un cuerpo en posición acostada y parcialmente obstruido, utilizando técnicas como la correlación cruzada y normalizada, proporcionando una solución en este tipo de escenarios.Object detection is a fundamental problem in computer vision, at present there are several techniques to solve this problem. Automatic recognition systems and feature extraction methods are solutions for locating an object in an image. The automatic image analysis uses different sensors to interpret the stage and the features you want to extract. These more known sensors such as cameras, are of different types and for each application. Tracking people is one of the most common applications in machine vision, where there are different methods and algorithms to identify them. These methods and algorithms are more focused on identifying people standing because it is most common in almost all situations, but lying body is not normal to take it to the studio, but in cases of some natural disasters which is vital rescue people or the worst out bodies, these bodies are usually trapped in the dark and lying in rubble. All these aspects are also study where a tool that works in the dark and detect lying bodies, a tool that can help solve this problem is the Kinect is required. The Kinect sensor is a tool of artificial vision that is usually used for video games, more precisely for the Xbox but in recent years a version for computers was launched through the Windows operating system, so that developers can create projects and expand the range of users who intend to reach. Today there is already a database with projects implemented with Kinect which facilitates research and development. The Kinect has an infrared laser projector and a pair of cameras, these captors are CMOS image sensors, one is a color RGB camera and the other is also a camera but this detects reflections of the infrared beam. [1], [2] The algorithms that already brings in programming is the recognition of the skeleton which is the most widely used, but the body of the person must be standing or sitting, this project aims to provide a solution, in a case the body it is not in the default position if you are lying and you can visualize any part of the body, because it may give some scenarios with these features, this application can be helpful in some scenarios of natural disasters. Because of this, it was possible to implement a system to detect a body lying position and partially obstructed, using techniques such as cross-correlation and normalized, providing a solution in this type of scenario.pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2KinectMatlabcorrelaciónmapa de profundidadKinectMatlabcorrelationdepth mapDetección automática de victima con cuerpo parcialmente obstruido utilizando Kinect.Automatic detection of victim with partially obstructed body using Kinect.info:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILUribeBermudezJuanCarlos2016.pdf.jpgUribeBermudezJuanCarlos2016.pdf.jpgIM Thumbnailimage/jpeg4980http://repository.udistrital.edu.co/bitstream/11349/4656/3/UribeBermudezJuanCarlos2016.pdf.jpgc72344f42b6d209739b00ccf758e1bb0MD53open accessORIGINALUribeBermudezJuanCarlos2016.pdfUribeBermudezJuanCarlos2016.pdfapplication/pdf2220871http://repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudezJuanCarlos2016.pdf4b3e841024baa48e71b3955b1f323ee7MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-85896http://repository.udistrital.edu.co/bitstream/11349/4656/2/license.txtb204d61d4cc8bf0ee3a2b0e84c5755ddMD52open access11349/4656oai:repository.udistrital.edu.co:11349/46562023-06-13 14:40:53.983open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyAgREUgQ09OVEVOSURPUyBFTiBFTCBSRVBPU0lUT1JJTyBJTlNUSVRVQ0lPTkFMIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTApUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gIHBhcmEgcHVibGljYWNpw7NuIGRlIG9icmFzIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRC4KCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCAgY29uZmllcm8gKGVyaW1vcykgYSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB1bmEgbGljZW5jaWEgcGFyYSB1c28gIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSAgaW50ZWdyYXLDoSAgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBhY3VlcmRvIGEgbGFzIHNpZ3VpZW50ZXMgcmVnbGFzLCAgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpIEVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSAgZW4gcXVlIHNlIGluY2x1eWEgIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgeSBoYXN0YSAgcG9yIHVuIHBsYXpvIGRlICBkaWV6ICgxMCkgIEHDsW9zLCAgcHJvcnJvZ2FibGUgIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyAgbGEgY3VhbCBwb2Ryw6EgICBkYXJzZSAgcG9yIHRlcm1pbmFkYSAgcHJldmlhICBzb2xpY2l0dWQgICBhIGxhIFVuaXZlcnNpZGFkIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvICBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLiAgCgpiKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSAgcG9yIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsICBMYSBVbml2ZXJzaWRhZCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsICBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zICBkaWZlcmVudGVzIGFsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHVuYSB2ZXogZWwob3MpIGF1dG9yKGVzKSAgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUmVwb3NpdG9yaW8gZGUgbGEgVW5pdmVyc2lkYWQsIGRhZG8gcXVlICBsYSBtaXNtYSBzZXLDoSBwdWJsaWNhZGEgZW4gIEludGVybmV0LiAKCmMpIExhIGF1dG9yaXphY2nDs24gc2UgaGFjZSBhIHTDrXR1bG8gZ3JhdHVpdG8sIHBvciBsbyB0YW50bywgbG9zIGF1dG9yZXMgcmVudW5jaWFuIGEgcmVjaWJpciBiZW5lZmljaW8gYWxndW5vIHBvciBsYSBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24sIGNvbXVuaWNhY2nDs24gIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSAgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKSBMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgc29uICBvYnJhKHMpIG9yaWdpbmFsKGVzKSBzb2JyZSBsYSAgY3VhbChlcykgIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zICBkZXJlY2hvcyBkZSBhdXRvciwgYXN1bWVuIHRvdGFsIHJlc3BvbnNhYmlsaWRhZCBwb3IgZWwgY29udGVuaWRvIGRlIHN1IG9icmEgYW50ZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IGFudGUgdGVyY2Vyb3MuIEVuIHRvZG8gY2FzbyBsYSBVbml2ZXJzaWRhZCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkgTGEgIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHBvZHLDoSAgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgpmKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgY29udmVydGlyIGxhIG9icmEgIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluICBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4KQ29uIGJhc2UgZW4gbG8gYW50ZXJpb3IgYXV0b3JpesOzIGxhIHB1YmxpY2FjacOzbiB5IGNvbnN1bHRhIGRlIGxhIG9icmEgIHRpdHVsYWRhIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiBBIGZhdm9yIGRlbCAgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5ICBkZSBzdXMgdXN1YXJpb3MsICAgY3V5byhzKSAgYXV0b3IoZXMpIHNvbjogCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCgphKSBBdXRvcml6byBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGF1dG9yaXphZG9zIGVuIGxvcyBsaXRlcmFsZXMgYW50ZXJpb3JlcywgIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgZW4gbGFzIOKAnENvbmRpY2lvbmVzIGRlIHVzbyBkZSBlc3RyaWN0byBjdW1wbGltaWVudG/igJ0gZGUgbG9zIHJlY3Vyc29zIHB1YmxpY2Fkb3MgZW4gUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBSSVVELCBjdXlvIHRleHRvIGNvbXBsZXRvIHNlIHB1ZWRlIGNvbnN1bHRhciBlbiBodHRwOi8vcmVwb3NpdG9yeS51ZGlzdHJpdGFsLmVkdS5jby8KCmIpIENvbm96Y28geSBhY2VwdG8gcXVlIG90b3JnbyB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIG9idGVuaWRvIHVuYSBjb3BpYS4KCmMpICBNYW5pZmllc3RvIG1pIHRvdGFsIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSB1c28geSBwdWJsaWNhY2nDs24gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBxdWUgc2UgZGVzY3JpYmVuIHkgZXhwbGljYW4gZW4gZWwgcHJlc2VudGUgZG9jdW1lbnRvLgoKZykgUXVlIGNvbm96Y28gICBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyByZWxhdGl2byBhIHByb3BpZWRhZCAgaW50ZWxlY3R1YWwgcmVndWxhZGEgcG9yIGVsIEFjdWVyZG8gMDA0IGRlIDIwMTIgZGVsIENTVSwgQWN1ZXJkbyAwMjMgZGUgMjAxMiBkZWwgQ1NVIHNvYnJlIFBvbMOtdGljYSBFZGl0b3JpYWwsIEFjdWVyZG8gMDI2ICBkZWwgMzEgZGUganVsaW8gZGUgMjAxMiBzb2JyZSBlbCBwcm9jZWRpbWllbnRvIHBhcmEgbGEgcHVibGljYWNpw7NuIGRlIHRlc2lzIGRlIHBvc3RncmFkbyBkZSBsb3MgZXN0dWRpYW50ZXMgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsICBBY3VlcmRvIDAzMCBkZWwgMDMgZGUgZGljaWVtYnJlIGRlIDIwMTMgcG9yIG1lZGlvIGRlbCBjdWFsIHNlIGNyZWEgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0by4gRXN0b3MgZG9jdW1lbnRvcyBwb2Ryw6FuIHNlciBjb25zdWx0YWRvcyB5IGRlc2NhcmdhZG9zIGVuIGVsIHBvcnRhbCB3ZWIgZGUgbGEgYmlibGlvdGVjYSBodHRwOi8vc2lzdGVtYWRlYmlibGlvdGVjYXMudWRpc3RyaXRhbC5lZHUuY28vICAKClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIApERVJFQ0hPUyBZIE9CTElHQUNJT05FUyBSRVFVRVJJRE9TIFBPUiBFTCBSRVNQRUNUSVZPIENPTlRSQVRPIE8gQUNVRVJETy4KRW4gY29uc3RhbmNpYSBkZSBsbyBhbnRlcmlvciwgZmlybW8gKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50byBhIGxvcyAKCkZJUk1BIERFIExPUyBUSVRVTEFSRVMgREUgREVSRUNIT1MgREUgQVVUT1IKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIEF1dG9yIChlcyk6CkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb3RhOiBFbiBjYXNvIHF1ZSBubyBlc3TDqSBkZSBhY3VlcmRvIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEsIGp1c3RpZmlxdWUgbG9zIG1vdGl2b3MgcG9yIGxvcyBjdWFsZXMgZWwgZG9jdW1lbnRvIHkgc3VzIGFuZXhvcyBubyBwdWVkZW4gc2VyIHB1YmxpY2Fkb3MgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBSSVVECg== |