Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial

A pesar de que existen diferentes métodos de inteligencia artificial para la detección y clasificación de los daños de la infraestructura vial, se evidencia la ausencia de investigación en la gestión y mantenimiento de pavimentos rígidos. La presente investigación se enfoca en establecer un modelo d...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/35545
Acceso en línea:
http://hdl.handle.net/11349/35545
Palabra clave:
Clasificación de imágenes
Aprendizaje profundo
Daños en pavimentos
Firmes
Fisuras
Imagen digital
Imagen de pavimentos
Índice de condición del pavimento (PCI)
Lógica difusa
Mantenimiento vial
Patologías
Pavimento
Python
Procesamiento de imágenes
Redes neuronales artificiales
Rehabilitación vial
Ingeniería Civil -- Tesis y disertaciones académicas
Inteligencia artificial
Infraestructura vial
Pavimentos rígidos
Redes neuronales convolucionales
Image classification
Deep learning
Damage to pavements
Firm
Fissures
Digital image
Image of pavements
Pavement condition index (PCI)
Diffuse logic
Road maintenance
Pathologies
Pavement
Python
Image processing
Artificial neural networks
Road rehabilitation
Rights
License
CC0 1.0 Universal
id UDISTRITA2_a408246a9dae52261625f9fd23dcd35c
oai_identifier_str oai:repository.udistrital.edu.co:11349/35545
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
dc.title.titleenglish.spa.fl_str_mv Classification of the surface state of rigid pavements with digital images and artificial intelligence techniques
title Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
spellingShingle Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
Clasificación de imágenes
Aprendizaje profundo
Daños en pavimentos
Firmes
Fisuras
Imagen digital
Imagen de pavimentos
Índice de condición del pavimento (PCI)
Lógica difusa
Mantenimiento vial
Patologías
Pavimento
Python
Procesamiento de imágenes
Redes neuronales artificiales
Rehabilitación vial
Ingeniería Civil -- Tesis y disertaciones académicas
Inteligencia artificial
Infraestructura vial
Pavimentos rígidos
Redes neuronales convolucionales
Image classification
Deep learning
Damage to pavements
Firm
Fissures
Digital image
Image of pavements
Pavement condition index (PCI)
Diffuse logic
Road maintenance
Pathologies
Pavement
Python
Image processing
Artificial neural networks
Road rehabilitation
title_short Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
title_full Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
title_fullStr Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
title_full_unstemmed Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
title_sort Clasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificial
dc.contributor.advisor.none.fl_str_mv Fernández Gómez, Wilmar Darío
dc.contributor.orcid.spa.fl_str_mv 0000-0001-6339-8050
dc.contributor.orcid.none.fl_str_mv Fernández Gómez, Wilmar Darío [0000-0001-6339-8050]
dc.subject.spa.fl_str_mv Clasificación de imágenes
Aprendizaje profundo
Daños en pavimentos
Firmes
Fisuras
Imagen digital
Imagen de pavimentos
Índice de condición del pavimento (PCI)
Lógica difusa
Mantenimiento vial
Patologías
Pavimento
Python
Procesamiento de imágenes
Redes neuronales artificiales
Rehabilitación vial
topic Clasificación de imágenes
Aprendizaje profundo
Daños en pavimentos
Firmes
Fisuras
Imagen digital
Imagen de pavimentos
Índice de condición del pavimento (PCI)
Lógica difusa
Mantenimiento vial
Patologías
Pavimento
Python
Procesamiento de imágenes
Redes neuronales artificiales
Rehabilitación vial
Ingeniería Civil -- Tesis y disertaciones académicas
Inteligencia artificial
Infraestructura vial
Pavimentos rígidos
Redes neuronales convolucionales
Image classification
Deep learning
Damage to pavements
Firm
Fissures
Digital image
Image of pavements
Pavement condition index (PCI)
Diffuse logic
Road maintenance
Pathologies
Pavement
Python
Image processing
Artificial neural networks
Road rehabilitation
dc.subject.lemb.spa.fl_str_mv Ingeniería Civil -- Tesis y disertaciones académicas
Inteligencia artificial
Infraestructura vial
Pavimentos rígidos
Redes neuronales convolucionales
dc.subject.keyword.spa.fl_str_mv Image classification
Deep learning
Damage to pavements
Firm
Fissures
Digital image
Image of pavements
Pavement condition index (PCI)
Diffuse logic
Road maintenance
Pathologies
Pavement
Python
Image processing
Artificial neural networks
Road rehabilitation
description A pesar de que existen diferentes métodos de inteligencia artificial para la detección y clasificación de los daños de la infraestructura vial, se evidencia la ausencia de investigación en la gestión y mantenimiento de pavimentos rígidos. La presente investigación se enfoca en establecer un modelo de inteligencia artificial para la evaluación de deterioros del pavimento rígido por medio de la estimación del índice de serviciabilidad presente (PSI). Se desarrolló un algoritmo de inteligencia artificial, el que procesa datos de imágenes para obtener un valor del índice. Esta investigación se abordó mediante 3 ejes: Se captaron 69 vídeos de diferentes sectores de Bogotá D.C, de los que se obtuvieron una biblioteca de imágenes de 5046 diferentes estados de pavimento rígido. Las cuales fueron clasificadas en grupos de 200 imágenes, por un grupo de Ingenieros con experiencia en la gestión de pavimentos y permitieron alimentar las redes neuronales convolucionales (VGG16, Resnet 50, PROPIA, EfficientNetB0). Las mejores métricas de desempeño, precisión de 75% y perdida de 0.68 se obtuvieron de la implementación de la red preentrenada EfficientNetB0. Este trabajo es un punto de partida para la gestión y mantenimiento de pavimentos rígidos con herramientas tecnológicas novedosas mejorando la cantidad de tiempo y esfuerzo humano empleado cotidianamente.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-04-14
dc.date.accessioned.none.fl_str_mv 2024-05-24T17:50:21Z
dc.date.available.none.fl_str_mv 2024-05-24T17:50:21Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.fl_str_mv Monografía
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/35545
url http://hdl.handle.net/11349/35545
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv CC0 1.0 Universal
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_16ec
dc.rights.uri.*.fl_str_mv http://creativecommons.org/publicdomain/zero/1.0/
dc.rights.acceso.spa.fl_str_mv Restringido (Solo Referencia)
rights_invalid_str_mv CC0 1.0 Universal
http://creativecommons.org/publicdomain/zero/1.0/
Restringido (Solo Referencia)
http://purl.org/coar/access_right/c_16ec
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/35545/6/LandechoMuzuzuGabriellAlejandra2023%20%281%29.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/35545/7/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/35545/4/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/35545/5/license.txt
http://repository.udistrital.edu.co/bitstream/11349/35545/3/LandechoMuzuzuGabriellAlejandra2023%20%281%29.pdf
http://repository.udistrital.edu.co/bitstream/11349/35545/2/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf
bitstream.checksum.fl_str_mv ba7f7ed0aeab9c6e36aea4f3e04ad6ca
139c000244a7dcf1398b650b246886db
42fd4ad1e89814f5e4a476b409eb708c
997daf6c648c962d566d7b082dac908d
4b69300c35878251916c1b5fc51fbb02
54249a593f972c7411b719be79062875
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_ 1814111266739847168
spelling Fernández Gómez, Wilmar Darío0000-0001-6339-8050Fernández Gómez, Wilmar Darío [0000-0001-6339-8050]Landecho Muzuzu, Gabriell AlejandraPérez Quintero, Jeferson Stive2024-05-24T17:50:21Z2024-05-24T17:50:21Z2023-04-14http://hdl.handle.net/11349/35545A pesar de que existen diferentes métodos de inteligencia artificial para la detección y clasificación de los daños de la infraestructura vial, se evidencia la ausencia de investigación en la gestión y mantenimiento de pavimentos rígidos. La presente investigación se enfoca en establecer un modelo de inteligencia artificial para la evaluación de deterioros del pavimento rígido por medio de la estimación del índice de serviciabilidad presente (PSI). Se desarrolló un algoritmo de inteligencia artificial, el que procesa datos de imágenes para obtener un valor del índice. Esta investigación se abordó mediante 3 ejes: Se captaron 69 vídeos de diferentes sectores de Bogotá D.C, de los que se obtuvieron una biblioteca de imágenes de 5046 diferentes estados de pavimento rígido. Las cuales fueron clasificadas en grupos de 200 imágenes, por un grupo de Ingenieros con experiencia en la gestión de pavimentos y permitieron alimentar las redes neuronales convolucionales (VGG16, Resnet 50, PROPIA, EfficientNetB0). Las mejores métricas de desempeño, precisión de 75% y perdida de 0.68 se obtuvieron de la implementación de la red preentrenada EfficientNetB0. Este trabajo es un punto de partida para la gestión y mantenimiento de pavimentos rígidos con herramientas tecnológicas novedosas mejorando la cantidad de tiempo y esfuerzo humano empleado cotidianamente.Although there are different artificial intelligence methods for the detection and classification of damages to road infrastructure, the absence of research in the management and maintenance of rigid pavements is evident. This research focuses on establishing an artificial intelligence model for the evaluation of deterioration in rigid pavements by estimating the present serviceability index (PSI). An artificial intelligence algorithm was developed that processes image data to obtain a PSI value. This research was approached through 3 axes: 69 videos were captured from different sectors of Bogotá D.C., from which a library of 5046 images of different states of rigid pavement was obtained. These were classified into groups of 200 images by a group of engineers experienced in pavement management and allowed for the training of convolutional neural networks (VGG16, Resnet 50, OWN, EfficientNetB0). The best performance metrics, precision of 75% and loss of 0.68, were obtained from the implementation of the pre-trained EfficientNetB0 network. This work is a starting point for the management and maintenance of rigid pavements with novel technological tools, improving the amount of time and human effort employed daily.pdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Restringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecClasificación de imágenesAprendizaje profundoDaños en pavimentosFirmesFisurasImagen digitalImagen de pavimentosÍndice de condición del pavimento (PCI)Lógica difusaMantenimiento vialPatologíasPavimentoPythonProcesamiento de imágenesRedes neuronales artificialesRehabilitación vialIngeniería Civil -- Tesis y disertaciones académicasInteligencia artificialInfraestructura vialPavimentos rígidosRedes neuronales convolucionalesImage classificationDeep learningDamage to pavementsFirmFissuresDigital imageImage of pavementsPavement condition index (PCI)Diffuse logicRoad maintenancePathologiesPavementPythonImage processingArtificial neural networksRoad rehabilitationClasificación del estado superficial de pavimentos rígidos con imágenes digitales y técnicas de inteligencia artificialClassification of the surface state of rigid pavements with digital images and artificial intelligence techniquesbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILLandechoMuzuzuGabriellAlejandra2023 (1).pdf.jpgLandechoMuzuzuGabriellAlejandra2023 (1).pdf.jpgIM Thumbnailimage/jpeg11526http://repository.udistrital.edu.co/bitstream/11349/35545/6/LandechoMuzuzuGabriellAlejandra2023%20%281%29.pdf.jpgba7f7ed0aeab9c6e36aea4f3e04ad6caMD56open accessLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdf.jpgLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdf.jpgIM Thumbnailimage/jpeg13037http://repository.udistrital.edu.co/bitstream/11349/35545/7/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf.jpg139c000244a7dcf1398b650b246886dbMD57open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701http://repository.udistrital.edu.co/bitstream/11349/35545/4/license_rdf42fd4ad1e89814f5e4a476b409eb708cMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/35545/5/license.txt997daf6c648c962d566d7b082dac908dMD55open accessORIGINALLandechoMuzuzuGabriellAlejandra2023 (1).pdfLandechoMuzuzuGabriellAlejandra2023 (1).pdfTrabajo de gradoapplication/pdf2948330http://repository.udistrital.edu.co/bitstream/11349/35545/3/LandechoMuzuzuGabriellAlejandra2023%20%281%29.pdf4b69300c35878251916c1b5fc51fbb02MD53metadata only accessLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdfLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdfLicencia de uso y publicaciónapplication/pdf583967http://repository.udistrital.edu.co/bitstream/11349/35545/2/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf54249a593f972c7411b719be79062875MD52metadata only access11349/35545oai:repository.udistrital.edu.co:11349/355452024-05-25 01:03:57.119metadata only accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK